Function at 0x14007e6a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x14023f780]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r13, qword [rcx + 0x150]
xor ebp, ebp
mov qword [rsp + 0x28], rdx
xorps xmm0, xmm0
mov rsi, r9
mov r14, r8
mov r15, rdx
mov rbx, rcx
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x40], xmm0
mov qword [rcx + 0x30], rbp
mov qword [rcx + 0x38], rbp
mov qword [rcx + 0x170], rbp
cmp r9, 0xc
jne 0x14007e713
movsd xmm0, qword [r8]
lea edi, [rbp + 1]
movsd qword [rcx], xmm0
mov eax, dword [r8 + 8]
mov dword [rcx + 8], eax
mov byte [rcx + 0xf], 1
jmp 0x14007e8e5
mov qword [rsp + 0x48], r12
mov r12d, 2
mov qword [rsp + 0x20], rsi
mov rdi, rsi
cmp rsi, 0x10
jb 0x14007e78f
mov r15, rsi
mov rdi, r14
shr r15, 4
sub rdi, rbx
mov rax, r15
shl rax, 4
add r14, rax
imul rax, r15, 0xfffffffffffffff0
add rsi, rax
nop word [rax + rax]
mov rax, rbx
mov rdx, r12
nop word [rax + rax]
mov rcx, qword [rdi + rax]
xor qword [rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x14007e760
lea rdx, [rbx + 0x50]
mov rcx, rbx
call r13
add rdi, 0x10
sub r15, 1
jne 0x14007e750
mov rdi, qword [rsp + 0x20]
mov r15, qword [rsp + 0x28]
test rsi, rsi
je 0x14007e89b
cmp rsi, 8
jb 0x14007e873
lea rcx, [rbx - 1]
lea rax, [r14 - 1]
add rcx, rsi
add rax, rsi
cmp rbx, rax
ja 0x14007e7be
cmp rcx, r14
jae 0x14007e873
cmp rsi, 0x40
jb 0x14007e83e
mov rdx, rsi
mov r8, rsi
and edx, 0x3f
sub r8, rdx
mov rcx, r14
lea rax, [rbx + 0x10]
sub rcx, rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rbp, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rax + rcx]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rcx + rax - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rcx + rax - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rbp, r8
jb 0x14007e7e0
cmp rdx, 8
jb 0x14007e86e
mov rcx, rsi
and rcx, 0xfffffffffffffff8
mov rdx, r14
lea rax, [rbx + rbp]
sub rdx, rbx
nop
movq xmm0, qword [rax]
add rbp, 8
movq xmm1, qword [rdx + rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp rbp, rcx
jb 0x14007e850
cmp rbp, rsi
jae 0x14007e891
sub r14, rbx
lea rcx, [rbx + rbp]
sub rsi, rbp
nop dword [rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rsi, 1
jne 0x14007e880
lea rdx, [rbx + 0x50]
mov rcx, rbx
call r13
xor eax, eax
lea rdx, [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rcx, rbx
lea rax, [rdi*8]
sub rdx, rbx
bswap rax
mov qword [rsp + 0x30], rax
nop dword [rax]
mov rax, qword [rdx + rcx]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r12, 1
jne 0x14007e8c0
mov r12, qword [rsp + 0x48]
lea rdx, [rbx + 0x50]
mov rcx, rbx
call r13
mov edi, dword [rbx + 0xc]
bswap edi
lea rdx, [rbx + 0x20]
mov r8, r15
mov rcx, rbx
call qword [rbx + 0x160]
lea eax, [rdi + 1]
bswap eax
mov dword [rbx + 0xc], eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14018eb60
add rsp, 0x50
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret