Function at 0x14007c0d0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
xor eax, eax
cmp qword [rcx + 0x38], 0
jne 0x14007c23e
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rcx + 0x30]
add rcx, r8
setb dl
movabs r9, 0x2000000000000000
cmp rcx, r9
ja 0x14007c23e
test dl, dl
jne 0x14007c23e
mov qword [rsi + 0x30], rcx
mov eax, dword [rsi + 0x184]
test eax, eax
je 0x14007c167
test r8, r8
je 0x14007c233
nop dword [rax + rax]
movzx ecx, byte [rdi]
mov edx, eax
xor byte [rsi + rdx + 0x40], cl
inc rdi
lea r14, [r8 - 1]
inc eax
and eax, 0xf
je 0x14007c150
cmp r8, 1
mov r8, r14
jne 0x14007c130
test eax, eax
jne 0x14007c233
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
call fcn.14007bbf0
jmp 0x14007c16a
mov r14, r8
mov rbx, r14
and rbx, 0xfffffffffffffff0
je 0x14007c18d
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
mov r8, rdi
mov r9, rbx
call fcn.14007bd20
add rdi, rbx
and r14d, 0xf
test r14, r14
je 0x14007c231
lea rax, [rsi + 0x40]
cmp r14, 8
jb 0x14007c1be
lea rcx, [rdi + r14]
cmp rax, rcx
jae 0x14007c248
lea rcx, [r14 + rsi]
add rcx, 0x40
cmp rdi, rcx
jae 0x14007c248
xor ecx, ecx
mov rdx, rcx
not rdx
add rdx, r14
mov r8, r14
and r8, 3
je 0x14007c1f1
nop word cs:[rax + rax]
movzx r9d, byte [rdi + rcx]
xor byte [rax + rcx], r9b
inc rcx
dec r8
jne 0x14007c1e0
cmp rdx, 3
jb 0x14007c22c
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
xor byte [rsi + rcx + 0x40], al
movzx eax, byte [rdi + rcx + 1]
xor byte [rsi + rcx + 0x41], al
movzx eax, byte [rdi + rcx + 2]
xor byte [rsi + rcx + 0x42], al
movzx eax, byte [rdi + rcx + 3]
xor byte [rsi + rcx + 0x43], al
add rcx, 4
cmp r14, rcx
jne 0x14007c200
mov eax, r14d
jmp 0x14007c233
xor eax, eax
mov dword [rsi + 0x184], eax
mov eax, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
cmp r14, 0x20
jae 0x14007c255
xor ecx, ecx
jmp 0x14007c308
lea rcx, [r14 - 0x20]
mov r8, rcx
shr r8, 5
inc r8
cmp rcx, 0x20
jae 0x14007c26d
xor edx, edx
jmp 0x14007c2c7
mov rcx, r8
and rcx, 0xfffffffffffffffe
xor edx, edx
movups xmm0, xmmword [rdi + rdx]
movups xmm1, xmmword [rdi + rdx + 0x10]
movups xmm2, xmmword [rsi + rdx + 0x40]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rdx + 0x50]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rdx + 0x60]
movups xmm3, xmmword [rsi + rdx + 0x70]
movups xmmword [rsi + rdx + 0x40], xmm2
movups xmmword [rsi + rdx + 0x50], xmm0
movups xmm0, xmmword [rdi + rdx + 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rdx + 0x30]
xorps xmm1, xmm3
movups xmmword [rsi + rdx + 0x60], xmm0
movups xmmword [rsi + rdx + 0x70], xmm1
add rdx, 0x40
add rcx, 0xfffffffffffffffe
jne 0x14007c276
mov rcx, r14
and rcx, 0xffffffffffffffe0
test r8b, 1
je 0x14007c2f5
movups xmm0, xmmword [rdi + rdx]
movups xmm1, xmmword [rdi + rdx + 0x10]
movups xmm2, xmmword [rax + rdx]
xorps xmm2, xmm0
movups xmm0, xmmword [rax + rdx + 0x10]
xorps xmm0, xmm1
movups xmmword [rax + rdx], xmm2
movups xmmword [rax + rdx + 0x10], xmm0
cmp r14, rcx
je 0x14007c22c
test r14b, 0x18
je 0x14007c1c0
mov rdx, rcx
mov rcx, r14
and rcx, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov r8, qword [rdi + rdx]
xor qword [rax + rdx], r8
add rdx, 8
cmp rcx, rdx
jne 0x14007c320
cmp r14, rcx
je 0x14007c22c
jmp 0x14007c1c0