Function at 0x1403cbf20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r9
mov r13, r8
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x1405b8180]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
lea rdx, [rcx + 0x180]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r8d, 0x10
mov r9, r14
call fcn.14042d350
test eax, eax
je 0x1403cbf8b
mov ebp, eax
mov edx, 0x10
mov rcx, r14
call fcn.14042e7d0
jmp 0x1403cc815
mov rcx, qword [rsp + 0xb0]
cmp dword [rbx + 0x1a0], 0
je 0x1403cc07d
mov rax, qword [rsp + 0xb8]
lea rdx, [r14 + r13]
cmp rsi, 8
jae 0x1403cbfbf
xor r8d, r8d
cmp r8, rsi
jb 0x1403cc018
jmp 0x1403cc536
cmp rsi, 0x10
mov r11d, 0xf
cmovae r11, rsi
add r11, 0xfffffffffffffff8
mov r9d, 8
cmp r11, 0x78
jae 0x1403cc0a1
xor r10d, r10d
nop word cs:[rax + rax]
mov r8, qword [rcx + r10]
xor r8, qword [rdx + r10]
mov qword [rax + r10], r8
mov r10, r9
add r9, 8
cmp r9, rsi
jbe 0x1403cbff0
add r9, 0xfffffffffffffff8
mov r8, r9
cmp r8, rsi
jae 0x1403cc536
mov r9, rsi
sub r9, r8
cmp r9, 0x10
jb 0x1403cc49c
mov qword [rsp + 0x28], rbx
lea r10, [r8 + rax]
lea rdi, [r8 + r13]
lea r11, [rdi + r14]
mov rbx, r10
sub rbx, r11
cmp rbx, 0x80
jb 0x1403cc24c
lea r15, [r8 + rcx]
mov rbx, r10
sub rbx, r15
cmp rbx, 0x80
jb 0x1403cc24c
cmp r9, 0x80
jae 0x1403cc256
xor r12d, r12d
mov rbx, qword [rsp + 0x28]
jmp 0x1403cc2f1
lea rax, [rbx + r13]
add rax, 0x190
cmp rsi, 8
jae 0x1403cc16d
xor edx, edx
cmp rdx, rsi
jb 0x1403cc1f4
jmp 0x1403cbfa0
mov r8, rax
sub r8, rdx
xor r10d, r10d
cmp r8, 0x80
jb 0x1403cbff0
mov r8, rax
sub r8, rcx
cmp r8, 0x80
jb 0x1403cbff0
shr r11, 3
inc r11
mov r8, r11
and r8, 0xfffffffffffffff0
lea r10, [r8*8]
lea r9, [r8*8 + 8]
lea r15, [r14 + r13]
add r15, 0x60
xor edi, edi
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rcx + rdi*8]
vmovups ymm1, ymmword [rcx + rdi*8 + 0x20]
vmovups ymm2, ymmword [rcx + rdi*8 + 0x40]
vmovups ymm3, ymmword [rcx + rdi*8 + 0x60]
vxorps ymm0, ymm0, ymmword [r15 + rdi*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r15 + rdi*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r15 + rdi*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r15 + rdi*8]
vmovups ymmword [rax + rdi*8], ymm0
vmovups ymmword [rax + rdi*8 + 0x20], ymm1
vmovups ymmword [rax + rdi*8 + 0x40], ymm2
vmovups ymmword [rax + rdi*8 + 0x60], ymm3
add rdi, 0x10
cmp r8, rdi
jne 0x1403cc100
cmp r11, r8
jne 0x1403cbff0
shl r8, 3
cmp r8, rsi
jb 0x1403cc018
jmp 0x1403cc536
cmp rsi, 0x10
mov r9d, 0xf
cmovae r9, rsi
mov edx, 0xf
add r9, 0xfffffffffffffff8
mov r8d, 8
cmp r9, 0x98
jb 0x1403cc1c2
cmp rsi, 0x10
cmovae rdx, rsi
and rdx, 0xfffffffffffffff8
lea r10, [rcx + rdx]
cmp rax, r10
jae 0x1403cc329
add rdx, r13
add rdx, rbx
add rdx, 0x190
cmp rdx, rcx
jbe 0x1403cc329
xor r10d, r10d
nop word cs:[rax + rax]
mov rdx, qword [rcx + r10]
xor qword [rax + r10], rdx
mov r10, r8
add r8, 8
cmp r8, rsi
jbe 0x1403cc1d0
add r8, 0xfffffffffffffff8
mov rdx, r8
cmp rdx, rsi
jae 0x1403cbfa0
mov r8, rsi
sub r8, rdx
cmp r8, 0x10
jb 0x1403cc83b
lea rdi, [rdx + r13]
lea r9, [rbx + rdi]
add r9, 0x190
lea r10, [rcx + rdx]
lea r11, [rcx + rsi]
cmp r9, r11
jae 0x1403cc237
lea r11, [rsi + r13]
add r11, rbx
add r11, 0x190
cmp r10, r11
jb 0x1403cc83b
cmp r8, 0x80
jae 0x1403cc3d1
xor r11d, r11d
jmp 0x1403cc45d
mov rbx, qword [rsp + 0x28]
jmp 0x1403cc49c
mov qword [rsp + 0x30], r13
mov r12, r9
and r12, 0xffffffffffffff80
lea r13, [r14 + rdi]
add r13, 0x60
lea rbp, [rcx + r8]
add rbp, 0x60
lea rdi, [rax + r8]
add rdi, 0x60
xor ebx, ebx
nop dword [rax]
vmovups ymm0, ymmword [rbp + rbx - 0x60]
vmovups ymm1, ymmword [rbp + rbx - 0x40]
vmovups ymm2, ymmword [rbp + rbx - 0x20]
vmovups ymm3, ymmword [rbp + rbx]
vxorps ymm0, ymm0, ymmword [r13 + rbx - 0x60]
vxorps ymm1, ymm1, ymmword [r13 + rbx - 0x40]
vxorps ymm2, ymm2, ymmword [r13 + rbx - 0x20]
vxorps ymm3, ymm3, ymmword [r13 + rbx]
vmovups ymmword [rdi + rbx - 0x60], ymm0
vmovups ymmword [rdi + rbx - 0x40], ymm1
vmovups ymmword [rdi + rbx - 0x20], ymm2
vmovups ymmword [rdi + rbx], ymm3
sub rbx, 0xffffffffffffff80
cmp r12, rbx
jne 0x1403cc280
cmp r9, r12
mov r13, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
je 0x1403cc536
test r9b, 0x70
je 0x1403cc499
mov rdi, r9
and rdi, 0xfffffffffffffff0
add r8, rdi
nop dword [rax + rax]
vmovups xmm0, xmmword [r15 + r12]
vxorps xmm0, xmm0, xmmword [r11 + r12]
vmovups xmmword [r10 + r12], xmm0
add r12, 0x10
cmp rdi, r12
jne 0x1403cc300
cmp r9, rdi
jne 0x1403cc49c
jmp 0x1403cc536
shr r9, 3
inc r9
mov rdx, r9
and rdx, 0xfffffffffffffff0
lea r10, [rdx*8]
lea r8, [rdx*8 + 8]
lea r11, [rbx + r13]
add r11, 0x1f0
xor edi, edi
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rcx + rdi*8]
vmovups ymm1, ymmword [rcx + rdi*8 + 0x20]
vmovups ymm2, ymmword [rcx + rdi*8 + 0x40]
vmovups ymm3, ymmword [rcx + rdi*8 + 0x60]
vxorps ymm0, ymm0, ymmword [r11 + rdi*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r11 + rdi*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r11 + rdi*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r11 + rdi*8]
vmovups ymmword [r11 + rdi*8 - 0x60], ymm0
vmovups ymmword [r11 + rdi*8 - 0x40], ymm1
vmovups ymmword [r11 + rdi*8 - 0x20], ymm2
vmovups ymmword [r11 + rdi*8], ymm3
add rdi, 0x10
cmp rdx, rdi
jne 0x1403cc360
cmp r9, rdx
jne 0x1403cc1d0
shl rdx, 3
cmp rdx, rsi
jb 0x1403cc1f4
jmp 0x1403cbfa0
mov r11, r8
and r11, 0xffffffffffffff80
lea r15, [rbx + rdi]
add r15, 0x1f0
lea r12, [rdx + rcx]
add r12, 0x60
xor edi, edi
nop dword [rax]
vmovups ymm0, ymmword [r12 + rdi - 0x60]
vmovups ymm1, ymmword [r12 + rdi - 0x40]
vmovups ymm2, ymmword [r12 + rdi - 0x20]
vmovups ymm3, ymmword [r12 + rdi]
vxorps ymm0, ymm0, ymmword [r15 + rdi - 0x60]
vxorps ymm1, ymm1, ymmword [r15 + rdi - 0x40]
vxorps ymm2, ymm2, ymmword [r15 + rdi - 0x20]
vxorps ymm3, ymm3, ymmword [r15 + rdi]
vmovups ymmword [r15 + rdi - 0x60], ymm0
vmovups ymmword [r15 + rdi - 0x40], ymm1
vmovups ymmword [r15 + rdi - 0x20], ymm2
vmovups ymmword [r15 + rdi], ymm3
sub rdi, 0xffffffffffffff80
cmp r11, rdi
jne 0x1403cc3f0
cmp r8, r11
je 0x1403cbfa0
test r8b, 0x70
je 0x1403cc838
mov rdi, r8
and rdi, 0xfffffffffffffff0
add rdx, rdi
nop word [rax + rax]
vmovups xmm0, xmmword [r10 + r11]
vxorps xmm0, xmm0, xmmword [r9 + r11]
vmovups xmmword [r9 + r11], xmm0
add r11, 0x10
cmp rdi, r11
jne 0x1403cc470
cmp r8, rdi
jne 0x1403cc83b
jmp 0x1403cbfa0
add r8, r12
mov r10d, esi
sub r10d, r8d
mov r9, r8
not r9
add r9, rsi
and r10, 3
je 0x1403cc4d5
nop word cs:[rax + rax]
movzx r11d, byte [rcx + r8]
xor r11b, byte [rdx + r8]
mov byte [rax + r8], r11b
inc r8
dec r10
jne 0x1403cc4c0
cmp r9, 3
jb 0x1403cc536
lea rdx, [r14 + r13]
add rdx, 3
nop word cs:[rax + rax]
movzx r9d, byte [rcx + r8]
xor r9b, byte [rdx + r8 - 3]
mov byte [rax + r8], r9b
movzx r9d, byte [rcx + r8 + 1]
xor r9b, byte [rdx + r8 - 2]
mov byte [rax + r8 + 1], r9b
movzx r9d, byte [rcx + r8 + 2]
xor r9b, byte [rdx + r8 - 1]
mov byte [rax + r8 + 2], r9b
movzx r9d, byte [rcx + r8 + 3]
xor r9b, byte [rdx + r8]
mov byte [rax + r8 + 3], r9b
add r8, 4
cmp rsi, r8
jne 0x1403cc4f0
xor ebp, ebp
cmp dword [rbx + 0x1a0], 1
jne 0x1403cc815
xor edx, edx
lea rcx, [rbx + r13]
add rcx, 0x190
cmp rsi, 8
jb 0x1403cc5cb
cmp rsi, 0x10
mov r9d, 0xf
cmovae r9, rsi
mov edx, 0xf
add r9, 0xfffffffffffffff8
mov r8d, 8
cmp r9, 0x98
jb 0x1403cc5ad
cmp rsi, 0x10
cmovae rdx, rsi
and rdx, 0xfffffffffffffff8
lea r10, [rax + rdx]
cmp rcx, r10
jae 0x1403cc62c
add rdx, r13
add rdx, rbx
add rdx, 0x190
cmp rdx, rax
jbe 0x1403cc62c
xor r10d, r10d
mov rdx, qword [rax + r10]
xor qword [rcx + r10], rdx
mov r10, r8
add r8, 8
cmp r8, rsi
jbe 0x1403cc5b0
add r8, 0xfffffffffffffff8
mov rdx, r8
cmp rdx, rsi
jae 0x1403cc813
mov r8, rsi
sub r8, rdx
cmp r8, 0x10
jb 0x1403cc79a
lea rdi, [rdx + r13]
lea r9, [rbx + rdi]
add r9, 0x190
lea r10, [rax + rdx]
lea r11, [rax + rsi]
cmp r9, r11
jae 0x1403cc617
lea r11, [rsi + r13]
add r11, rbx
add r11, 0x190
cmp r10, r11
jb 0x1403cc79a
cmp r8, 0x80
jae 0x1403cc6d1
xor r11d, r11d
jmp 0x1403cc75a
shr r9, 3
inc r9
mov rdx, r9
and rdx, 0xfffffffffffffff0
lea r10, [rdx*8]
lea r8, [rdx*8 + 8]
lea r11, [rbx + r13]
add r11, 0x1f0
xor edi, edi
nop word [rax + rax]
vmovups ymm0, ymmword [rax + rdi*8]
vmovups ymm1, ymmword [rax + rdi*8 + 0x20]
vmovups ymm2, ymmword [rax + rdi*8 + 0x40]
vmovups ymm3, ymmword [rax + rdi*8 + 0x60]
vxorps ymm0, ymm0, ymmword [r11 + rdi*8 - 0x60]
vxorps ymm1, ymm1, ymmword [r11 + rdi*8 - 0x40]
vxorps ymm2, ymm2, ymmword [r11 + rdi*8 - 0x20]
vxorps ymm3, ymm3, ymmword [r11 + rdi*8]
vmovups ymmword [r11 + rdi*8 - 0x60], ymm0
vmovups ymmword [r11 + rdi*8 - 0x40], ymm1
vmovups ymmword [r11 + rdi*8 - 0x20], ymm2
vmovups ymmword [r11 + rdi*8], ymm3
add rdi, 0x10
cmp rdx, rdi
jne 0x1403cc660
cmp r9, rdx
jne 0x1403cc5b0
shl rdx, 3
cmp rdx, rsi
jb 0x1403cc5d4
jmp 0x1403cc813
mov r11, r8
and r11, 0xffffffffffffff80
mov r15, rbx
lea r14, [rbx + rdi]
add r14, 0x1f0
lea rdi, [rdx + rax]
add rdi, 0x60
xor ebx, ebx
vmovups ymm0, ymmword [rdi + rbx - 0x60]
vmovups ymm1, ymmword [rdi + rbx - 0x40]
vmovups ymm2, ymmword [rdi + rbx - 0x20]
vmovups ymm3, ymmword [rdi + rbx]
vxorps ymm0, ymm0, ymmword [r14 + rbx - 0x60]
vxorps ymm1, ymm1, ymmword [r14 + rbx - 0x40]
vxorps ymm2, ymm2, ymmword [r14 + rbx - 0x20]
vxorps ymm3, ymm3, ymmword [r14 + rbx]
vmovups ymmword [r14 + rbx - 0x60], ymm0
vmovups ymmword [r14 + rbx - 0x40], ymm1
vmovups ymmword [r14 + rbx - 0x20], ymm2
vmovups ymmword [r14 + rbx], ymm3
sub rbx, 0xffffffffffffff80
cmp r11, rbx
jne 0x1403cc6f0
xor ebp, ebp
cmp r8, r11
je 0x1403cc815
mov rbx, r15
test r8b, 0x70
je 0x1403cc797
mov rdi, r8
and rdi, 0xfffffffffffffff0
add rdx, rdi
nop word cs:[rax + rax]
vmovups xmm0, xmmword [r10 + r11]
vxorps xmm0, xmm0, xmmword [r9 + r11]
vmovups xmmword [r9 + r11], xmm0
add r11, 0x10
cmp rdi, r11
jne 0x1403cc770
xor ebp, ebp
cmp r8, rdi
jne 0x1403cc79a
jmp 0x1403cc815
add rdx, r11
mov r9d, esi
sub r9d, edx
mov r8, rdx
not r8
add r8, rsi
and r9, 3
je 0x1403cc7c1
nop
movzx r10d, byte [rax + rdx]
xor byte [rcx + rdx], r10b
inc rdx
dec r9
jne 0x1403cc7b0
cmp r8, 3
jb 0x1403cc813
lea rcx, [rbx + r13]
add rcx, 0x193
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rcx + rdx - 3], r8b
movzx r8d, byte [rax + rdx + 1]
xor byte [rcx + rdx - 2], r8b
movzx r8d, byte [rax + rdx + 2]
xor byte [rcx + rdx - 1], r8b
movzx r8d, byte [rax + rdx + 3]
xor byte [rcx + rdx], r8b
add rdx, 4
cmp rsi, rdx
jne 0x1403cc7e0
xor ebp, ebp
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
vzeroupper
call fcn.14043bf40
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rdx, r11
mov r9d, esi
sub r9d, edx
mov r8, rdx
not r8
add r8, rsi
and r9, 3
je 0x1403cc861
movzx r10d, byte [rcx + rdx]
xor byte [rax + rdx], r10b
inc rdx
dec r9
jne 0x1403cc850
cmp r8, 3
jb 0x1403cbfa0
lea rax, [rbx + r13]
add rax, 0x193
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rdx - 3], r8b
movzx r8d, byte [rcx + rdx + 1]
xor byte [rax + rdx - 2], r8b
movzx r8d, byte [rcx + rdx + 2]
xor byte [rax + rdx - 1], r8b
movzx r8d, byte [rcx + rdx + 3]
xor byte [rax + rdx], r8b
add rdx, 4
cmp rsi, rdx
jne 0x1403cc880
jmp 0x1403cbfa0