Function at 0x14002adb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbp
push r12
push r14
push r15
sub rsp, 0x20
mov rbp, rdx
xor r12d, r12d
mov edx, dword [rcx + 0x60]
mov r14d, r8d
mov r15, rcx
cmp edx, 0x40
jb 0x14002a308
mov eax, 0xffffff7c
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov ecx, dword [rcx + 0x64]
mov qword [rsp + 0x48], rsi
lea eax, [rcx + r8]
mov dword [r15 + 0x64], eax
cmp eax, ecx
jae 0x14002a320
inc dword [r15 + 0x68]
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + 0x20]
test edx, edx
je 0x14002a392
mov qword [rsp + 0x50], rdi
lea rcx, [rsi + rdx]
mov edi, 0x40
sub edi, edx
mov rdx, rbp
cmp r14d, edi
cmovb edi, r14d
mov r8d, edi
mov ebx, edi
call fcn.14007e5e0
add dword [r15 + 0x60], edi
sub r14d, edi
mov rdi, qword [rsp + 0x50]
add rbp, rbx
cmp dword [r15 + 0x60], 0x40
jne 0x14002a392
mov r8d, 0x40
mov rdx, rsi
mov rcx, rsi
call fcn.14002a160
mov rdx, rsi
mov rcx, r15
call fcn.14002a5f0
mov r12d, eax
test eax, eax
jne 0x14002a5c4
mov dword [r15 + 0x60], eax
cmp r14d, 0x40
jb 0x14002a5ad
mov rbx, rsi
and ebx, 3
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbp]
add r14d, 0xffffffc0
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rsi + 0x20], xmm0
movups xmm1, xmmword [rbp + 0x30]
add rbp, 0x40
movups xmmword [rsi + 0x30], xmm1
test rbx, rbx
jne 0x14002a560
mov ecx, dword [rsi]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi], ecx
mov ecx, dword [rsi + 4]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 4], ecx
mov ecx, dword [rsi + 8]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 8], ecx
mov ecx, dword [rsi + 0xc]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0xc], ecx
mov ecx, dword [rsi + 0x10]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x10], ecx
mov ecx, dword [rsi + 0x14]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x14], ecx
mov ecx, dword [rsi + 0x18]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x18], ecx
mov ecx, dword [rsi + 0x1c]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x1c], ecx
mov ecx, dword [rsi + 0x20]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x20], ecx
mov ecx, dword [rsi + 0x24]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x24], ecx
mov ecx, dword [rsi + 0x28]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x28], ecx
mov ecx, dword [rsi + 0x2c]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x2c], ecx
mov ecx, dword [rsi + 0x30]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x30], ecx
mov ecx, dword [rsi + 0x34]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x34], ecx
mov ecx, dword [rsi + 0x38]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x38], ecx
mov ecx, dword [rsi + 0x3c]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x3c], ecx
jmp 0x14002a591
mov rax, rsi
mov r8d, 0x10
nop dword [rax]
mov edx, dword [rax]
lea rax, [rax + 4]
mov ecx, edx
rol edx, 8
ror ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, ecx
mov dword [rax - 4], edx
sub r8, 1
jne 0x14002a570
mov rdx, rsi
mov rcx, r15
call fcn.14002a5f0
mov r12d, eax
test eax, eax
jne 0x14002a5c4
cmp r14d, 0x40
jae 0x14002a3b0
test r14d, r14d
je 0x14002a5c4
mov r8d, r14d
mov rdx, rbp
mov rcx, rsi
call fcn.14007e5e0
mov dword [r15 + 0x60], r14d
mov rsi, qword [rsp + 0x48]
mov eax, r12d
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
test rcx, rcx
je 0x14002adca
test rdx, rdx
jne 0x14002adc5
neg r8d
sbb eax, eax
and eax, 0xffffff53
ret
jmp 0x14002a2d0
mov eax, 0xffffff53
ret