Function at 0x1401457f0
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 0x140145860
mov ebx, dword [rcx + 0x40]
test ebx, ebx
je 0x140145860
cmp r9d, ebx
mov rdx, rcx
lea rcx, [rsp + 0x20]
cmovb ebx, r9d
call fcn.140145b30
mov eax, dword [r14 + 0x40]
lea r8, [rsp + 0x60]
sub r8, rax
mov r9d, ebx
mov rdx, rbp
mov rcx, rsi
call fcn.140145ec0
sub dword [r14 + 0x40], ebx
jne 0x140145855
inc dword [r14 + 0x30]
mov eax, ebx
sub r15d, ebx
add rsi, rax
add rbp, rax
mov r13d, 0x40
cmp r15d, r13d
jb 0x140145ae9
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.140145b30
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 0x1401459df
lea rcx, [rsp + 0x20]
and ecx, 7
cmp rdx, rcx
jne 0x1401459df
test rdx, rdx
je 0x140145900
nop word [rax + rax]
test r10d, r10d
je 0x140145900
movzx ecx, byte [r9]
dec r10d
xor cl, byte [r8]
inc r9
mov byte [rax], cl
inc r8
inc rax
test r8b, 7
jne 0x1401458e0
mov r11d, r10d
xor ebx, ebx
shr r11d, 3
test r11d, r11d
je 0x1401459db
cmp r11d, 8
jb 0x1401459b2
lea ecx, [r11 - 1]
mov edx, ecx
lea rdi, [rax + rcx*8]
lea rcx, [r8 + rcx*8]
cmp rax, rcx
ja 0x140145934
cmp rdi, r8
jae 0x1401459b2
lea rcx, [r9 + rdx*8]
cmp rax, rcx
ja 0x140145942
cmp rdi, r9
jae 0x1401459b2
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 0x140145950
cmp ebx, r11d
jae 0x1401459db
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 0x1401459c0
and r10d, 7
xor r11d, r11d
test r10d, r10d
je 0x140145ac4
cmp r10d, r13d
jb 0x140145a99
lea ecx, [r10 - 1]
mov edx, ecx
lea rbx, [rcx + rax]
add rcx, r8
cmp rax, rcx
ja 0x140145a0f
cmp rbx, r8
jae 0x140145a99
lea rcx, [rdx + r9]
cmp rax, rcx
ja 0x140145a21
cmp rbx, r9
jae 0x140145a99
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 0x140145a30
cmp r11d, r10d
jae 0x140145ac4
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 0x140145ab0
add r15d, 0xffffffc0
add rsi, r13
add rbp, 0x40
sub r12, 1
jne 0x140145890
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
test r15d, r15d
je 0x140145b1d
mov rdx, r14
lea rcx, [rsp + 0x20]
call fcn.140145b30
mov r9d, r15d
lea r8, [rsp + 0x20]
mov rdx, rbp
mov rcx, rsi
call fcn.140145ec0
sub r13d, r15d
mov dword [r14 + 0x40], r13d
add rsp, 0x60
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret