Function at 0x1401466e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x90], rbx
mov r15d, r9d
mov rsi, r8
mov rbp, rdx
mov r14, rcx
test r9d, r9d
je 0x140146750
mov ebx, dword [rcx + 0x40]
test ebx, ebx
je 0x140146750
cmp r9d, ebx
mov rdx, rcx
lea rcx, [rsp + 0x20]
cmovb ebx, r9d
call fcn.140146a20
mov eax, dword [r14 + 0x40]
lea r8, [rsp + 0x60]
sub r8, rax
mov r9d, ebx
mov rdx, rbp
mov rcx, rsi
call fcn.140146db0
sub dword [r14 + 0x40], ebx
jne 0x140146745
inc dword [r14 + 0x30]
mov eax, ebx
sub r15d, ebx
add rsi, rax
add rbp, rax
mov r13d, 0x40
cmp r15d, r13d
jb 0x1401469d9
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r12
mov r12d, r15d
shr r12, 6
nop word [rax + rax]
mov rdx, r14
lea rcx, [rsp + 0x20]
call fcn.140146a20
inc dword [r14 + 0x30]
lea r9, [rsp + 0x20]
mov rdx, rbp
mov rcx, rsi
and edx, 7
and ecx, 7
mov r10d, r13d
mov rax, rsi
mov r8, rbp
cmp rcx, rdx
jne 0x1401468cf
lea rcx, [rsp + 0x20]
and ecx, 7
cmp rdx, rcx
jne 0x1401468cf
test rdx, rdx
je 0x1401467f0
nop word [rax + rax]
test r10d, r10d
je 0x1401467f0
movzx ecx, byte [r9]
dec r10d
xor cl, byte [r8]
inc r9
mov byte [rax], cl
inc r8
inc rax
test r8b, 7
jne 0x1401467d0
mov r11d, r10d
xor ebx, ebx
shr r11d, 3
test r11d, r11d
je 0x1401468cb
cmp r11d, 8
jb 0x1401468a2
lea ecx, [r11 - 1]
mov edx, ecx
lea rdi, [rax + rcx*8]
lea rcx, [r8 + rcx*8]
cmp rax, rcx
ja 0x140146824
cmp rdi, r8
jae 0x1401468a2
lea rcx, [r9 + rdx*8]
cmp rax, rcx
ja 0x140146832
cmp rdi, r9
jae 0x1401468a2
mov ecx, r11d
and ecx, 0xfffffff8
nop dword [rax + rax]
movdqu xmm0, xmmword [r8]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x30]
add r8, r13
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm1, xmmword [r9 + 0x30]
add r9, r13
xorps xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, r13
cmp ebx, ecx
jb 0x140146840
cmp ebx, r11d
jae 0x1401468cb
sub r11d, ebx
mov edx, r11d
nop dword [rax + rax]
mov rcx, qword [r9]
add r9, 8
xor rcx, qword [r8]
add r8, 8
mov qword [rax], rcx
add rax, 8
sub rdx, 1
jne 0x1401468b0
and r10d, 7
xor r11d, r11d
test r10d, r10d
je 0x1401469b4
cmp r10d, r13d
jb 0x140146989
lea ecx, [r10 - 1]
mov edx, ecx
lea rbx, [rcx + rax]
add rcx, r8
cmp rax, rcx
ja 0x1401468ff
cmp rbx, r8
jae 0x140146989
lea rcx, [rdx + r9]
cmp rax, rcx
ja 0x140146911
cmp rbx, r9
jae 0x140146989
mov ebx, r10d
and ebx, 0xffffffc0
mov edi, 0x20
nop dword [rax]
movdqu xmm0, xmmword [r11 + r8]
lea ecx, [rdi - 0x10]
movdqu xmm1, xmmword [r11 + r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rcx + r8]
movdqu xmmword [r11 + rax], xmm1
add r11d, r13d
movdqu xmm1, xmmword [rcx + r9]
xorps xmm1, xmm0
movdqu xmmword [rcx + rax], xmm1
mov ecx, edi
movdqu xmm0, xmmword [rcx + r8]
movdqu xmm1, xmmword [rcx + r9]
xorps xmm1, xmm0
movdqu xmmword [rcx + rax], xmm1
lea ecx, [rdi + 0x10]
add edi, r13d
movdqu xmm1, xmmword [rcx + r9]
movdqu xmm0, xmmword [rcx + r8]
xorps xmm1, xmm0
movdqu xmmword [rcx + rax], xmm1
cmp r11d, ebx
jb 0x140146920
cmp r11d, r10d
jae 0x1401469b4
sub r9, r8
mov edx, r11d
add rdx, r8
sub rax, r8
sub r10d, r11d
mov r8d, r10d
nop dword [rax + rax]
movzx ecx, byte [r9 + rdx]
xor cl, byte [rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1401469a0
add r15d, 0xffffffc0
add rsi, r13
add rbp, 0x40
sub r12, 1
jne 0x140146780
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
test r15d, r15d
je 0x140146a0d
mov rdx, r14
lea rcx, [rsp + 0x20]
call fcn.140146a20
mov r9d, r15d
lea r8, [rsp + 0x20]
mov rdx, rbp
mov rcx, rsi
call fcn.140146db0
sub r13d, r15d
mov dword [r14 + 0x40], r13d
add rsp, 0x60
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret