Function at 0x14042b340
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 0x14042b56e
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 0x14042b3a1
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 0x14042b370
jmp 0x14042b56e
mov r12, r14
sub r12, r13
cmp r12, 0x40
jb 0x14042b457
lea r15, [rsi + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, r15
call fcn.14042b7b0
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 0x14042b3c0
cmp r13, r14
je 0x14042b56e
lea r14, [rsi + 0x40]
mov rcx, rsi
mov rdx, r14
call fcn.14042b7b0
inc dword [rsi + 0x30]
lea rax, [rdi + r13]
lea rcx, [rbx + r13]
cmp r12, 8
jae 0x14042b47b
xor edx, edx
jmp 0x14042b4bf
cmp r12, 0x10
mov r10d, 0xf
cmovae r10, r12
add r10, 0xfffffffffffffff8
mov r8d, 8
cmp r10, 0x78
jae 0x14042b584
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 0x14042b4a0
add r8, 0xfffffffffffffff8
mov rdx, r8
mov r8, r12
sub r8, rdx
jbe 0x14042b567
cmp r8, 0x10
jae 0x14042b65f
mov r9d, r12d
sub r9d, edx
mov r8, rdx
not r8
add r8, r12
and r9, 3
je 0x14042b505
nop word [rax + rax]
movzx r10d, byte [r14 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rcx + rdx], r10b
inc rdx
dec r9
jne 0x14042b4f0
cmp r8, 3
jb 0x14042b567
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 0x14042b520
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 0x14042b4a0
mov rdx, rcx
sub rdx, rsi
add rdx, 0xffffffffffffffc0
cmp rdx, 0x80
jb 0x14042b4a0
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 0x14042b5f0
cmp r10, rdx
jne 0x14042b4a0
shl rdx, 3
jmp 0x14042b4bf
lea r10, [rdx + r13]
lea r15, [r10 + rbx]
lea rbp, [r10 + rdi]
mov r9, r15
sub r9, rbp
cmp r9, 0x80
jb 0x14042b4d5
mov r11, r15
sub r11, rdx
sub r11, rsi
add r11, 0xffffffffffffffc0
cmp r11, 0x80
jb 0x14042b4d5
cmp r8, 0x80
jae 0x14042b6a9
xor r11d, r11d
jmp 0x14042b754
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 0x14042b6e0
cmp r8, r11
je 0x14042b567
test r8b, 0x70
je 0x14042b79a
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 0x14042b770
cmp r8, r9
jne 0x14042b4d5
jmp 0x14042b567
add rdx, r11
jmp 0x14042b4d5