Function at 0x1404204a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
test rdx, rdx
je 0x1404206ce
mov rbx, r9
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov rax, qword [rcx + 0x80]
xor r13d, r13d
nop
cmp rax, 0x3f
ja 0x140420501
movzx eax, byte [rsi + rax + 0x40]
xor al, byte [rdi + r13]
mov byte [rbx + r13], al
mov rax, qword [rsi + 0x80]
inc rax
mov qword [rsi + 0x80], rax
inc r13
cmp r14, r13
jne 0x1404204d0
jmp 0x1404206ce
mov r12, r14
sub r12, r13
cmp r12, 0x40
jb 0x1404205b7
lea r15, [rsi + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, r15
call fcn.140420910
inc dword [rsi + 0x30]
mov rax, qword [rsi + 0x40]
xor rax, qword [rdi + r13]
mov qword [rbx + r13], rax
mov rax, qword [rsi + 0x48]
xor rax, qword [rdi + r13 + 8]
mov qword [rbx + r13 + 8], rax
mov rax, qword [rsi + 0x50]
xor rax, qword [rdi + r13 + 0x10]
mov qword [rbx + r13 + 0x10], rax
mov rax, qword [rsi + 0x58]
xor rax, qword [rdi + r13 + 0x18]
mov qword [rbx + r13 + 0x18], rax
mov rax, qword [rsi + 0x60]
xor rax, qword [rdi + r13 + 0x20]
mov qword [rbx + r13 + 0x20], rax
mov rax, qword [rsi + 0x68]
xor rax, qword [rdi + r13 + 0x28]
mov qword [rbx + r13 + 0x28], rax
mov rax, qword [rsi + 0x70]
xor rax, qword [rdi + r13 + 0x30]
mov qword [rbx + r13 + 0x30], rax
mov rax, qword [rsi + 0x78]
xor rax, qword [rdi + r13 + 0x38]
mov qword [rbx + r13 + 0x38], rax
add r13, 0x40
add r12, 0xffffffffffffffc0
cmp r12, 0x3f
ja 0x140420520
cmp r13, r14
je 0x1404206ce
lea r14, [rsi + 0x40]
mov rcx, rsi
mov rdx, r14
call fcn.140420910
inc dword [rsi + 0x30]
lea rax, [rdi + r13]
lea rcx, [rbx + r13]
cmp r12, 8
jae 0x1404205db
xor edx, edx
jmp 0x14042061f
cmp r12, 0x10
mov r10d, 0xf
cmovae r10, r12
add r10, 0xfffffffffffffff8
mov r8d, 8
cmp r10, 0x78
jae 0x1404206e4
xor r9d, r9d
mov rdx, qword [r14 + r9]
xor rdx, qword [rax + r9]
mov qword [rcx + r9], rdx
mov r9, r8
add r8, 8
cmp r8, r12
jbe 0x140420600
add r8, 0xfffffffffffffff8
mov rdx, r8
mov r8, r12
sub r8, rdx
jbe 0x1404206c7
cmp r8, 0x10
jae 0x1404207bf
mov r9d, r12d
sub r9d, edx
mov r8, rdx
not r8
add r8, r12
and r9, 3
je 0x140420665
nop word [rax + rax]
movzx r10d, byte [r14 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rcx + rdx], r10b
inc rdx
dec r9
jne 0x140420650
cmp r8, 3
jb 0x1404206c7
lea rax, [rbx + r13]
add rax, 3
lea rcx, [rdi + r13]
add rcx, 3
nop dword [rax + rax]
movzx r8d, byte [rsi + rdx + 0x40]
xor r8b, byte [rcx + rdx - 3]
mov byte [rax + rdx - 3], r8b
movzx r8d, byte [rsi + rdx + 0x41]
xor r8b, byte [rcx + rdx - 2]
mov byte [rax + rdx - 2], r8b
movzx r8d, byte [rsi + rdx + 0x42]
xor r8b, byte [rcx + rdx - 1]
mov byte [rax + rdx - 1], r8b
movzx r8d, byte [rsi + rdx + 0x43]
xor r8b, byte [rcx + rdx]
mov byte [rax + rdx], r8b
add rdx, 4
cmp r12, rdx
jne 0x140420680
mov qword [rsi + 0x80], r12
xor eax, eax
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov rdx, rcx
sub rdx, rax
xor r9d, r9d
cmp rdx, 0x80
jb 0x140420600
mov rdx, rcx
sub rdx, rsi
add rdx, 0xffffffffffffffc0
cmp rdx, 0x80
jb 0x140420600
shr r10, 3
inc r10
mov rdx, r10
and rdx, 0xfffffffffffffff0
lea r9, [rdx*8]
lea r8, [rdx*8 + 8]
lea r11, [rdi + r13]
add r11, 0x60
lea r15, [rbx + r13]
add r15, 0x60
xor ebp, ebp
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rsi + rbp*8 + 0x40]
vmovups ymm1, ymmword [rsi + rbp*8 + 0x60]
vmovups ymm2, ymmword [rsi + rbp*8 + 0x80]
vmovups ymm3, ymmword [rsi + rbp*8 + 0xa0]
vxorps ymm0, ymm0, ymmword [r11 + rbp*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r11 + rbp*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r11 + rbp*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r11 + rbp*8]
vmovups ymmword [r15 + rbp*8 - 0x60], ymm0
vmovups ymmword [r15 + rbp*8 - 0x40], ymm1
vmovups ymmword [r15 + rbp*8 - 0x20], ymm2
vmovups ymmword [r15 + rbp*8], ymm3
add rbp, 0x10
cmp rdx, rbp
jne 0x140420750
cmp r10, rdx
jne 0x140420600
shl rdx, 3
jmp 0x14042061f
lea r10, [rdx + r13]
lea r15, [r10 + rbx]
lea rbp, [r10 + rdi]
mov r9, r15
sub r9, rbp
cmp r9, 0x80
jb 0x140420635
mov r11, r15
sub r11, rdx
sub r11, rsi
add r11, 0xffffffffffffffc0
cmp r11, 0x80
jb 0x140420635
cmp r8, 0x80
jae 0x140420809
xor r11d, r11d
jmp 0x1404208b4
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x30], r15
mov r11, r8
and r11, 0xffffffffffffff80
lea r15, [rdi + r10]
add r15, 0x60
lea rbp, [rdx + rsi]
add rbp, 0xa0
add r10, rbx
add r10, 0x60
xor r9d, r9d
nop word [rax + rax]
vmovups ymm0, ymmword [rbp + r9 - 0x60]
vmovups ymm1, ymmword [rbp + r9 - 0x40]
vmovups ymm2, ymmword [rbp + r9 - 0x20]
vmovups ymm3, ymmword [rbp + r9]
vxorps ymm0, ymm0, ymmword [r15 + r9 - 0x60]
vxorps ymm1, ymm1, ymmword [r15 + r9 - 0x40]
vxorps ymm2, ymm2, ymmword [r15 + r9 - 0x20]
vxorps ymm3, ymm3, ymmword [r15 + r9]
vmovups ymmword [r10 + r9 - 0x60], ymm0
vmovups ymmword [r10 + r9 - 0x40], ymm1
vmovups ymmword [r10 + r9 - 0x20], ymm2
vmovups ymmword [r10 + r9], ymm3
sub r9, 0xffffffffffffff80
cmp r11, r9
jne 0x140420840
cmp r8, r11
je 0x1404206c7
test r8b, 0x70
je 0x1404208fa
mov r15, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x28]
mov r9, r8
and r9, 0xfffffffffffffff0
lea r10, [rdx + rsi]
add r10, 0x40
add rdx, r9
nop word cs:[rax + rax]
vmovups xmm0, xmmword [r10 + r11]
vxorps xmm0, xmm0, xmmword [rbp + r11]
vmovups xmmword [r15 + r11], xmm0
add r11, 0x10
cmp r9, r11
jne 0x1404208d0
cmp r8, r9
jne 0x140420635
jmp 0x1404206c7
add rdx, r11
jmp 0x140420635