Function at 0x1403b9b50
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 [0x14059d380]
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.140419220
test eax, eax
je 0x1403b9bbb
mov ebp, eax
mov edx, 0x10
mov rcx, r14
call fcn.14041a6a0
jmp 0x1403ba445
mov rcx, qword [rsp + 0xb0]
cmp dword [rbx + 0x1a0], 0
je 0x1403b9cad
mov rax, qword [rsp + 0xb8]
lea rdx, [r14 + r13]
cmp rsi, 8
jae 0x1403b9bef
xor r8d, r8d
cmp r8, rsi
jb 0x1403b9c48
jmp 0x1403ba166
cmp rsi, 0x10
mov r11d, 0xf
cmovae r11, rsi
add r11, 0xfffffffffffffff8
mov r9d, 8
cmp r11, 0x78
jae 0x1403b9cd1
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 0x1403b9c20
add r9, 0xfffffffffffffff8
mov r8, r9
cmp r8, rsi
jae 0x1403ba166
mov r9, rsi
sub r9, r8
cmp r9, 0x10
jb 0x1403ba0cc
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 0x1403b9e7c
lea r15, [r8 + rcx]
mov rbx, r10
sub rbx, r15
cmp rbx, 0x80
jb 0x1403b9e7c
cmp r9, 0x80
jae 0x1403b9e86
xor r12d, r12d
mov rbx, qword [rsp + 0x28]
jmp 0x1403b9f21
lea rax, [rbx + r13]
add rax, 0x190
cmp rsi, 8
jae 0x1403b9d9d
xor edx, edx
cmp rdx, rsi
jb 0x1403b9e24
jmp 0x1403b9bd0
mov r8, rax
sub r8, rdx
xor r10d, r10d
cmp r8, 0x80
jb 0x1403b9c20
mov r8, rax
sub r8, rcx
cmp r8, 0x80
jb 0x1403b9c20
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 0x1403b9d30
cmp r11, r8
jne 0x1403b9c20
shl r8, 3
cmp r8, rsi
jb 0x1403b9c48
jmp 0x1403ba166
cmp rsi, 0x10
mov r9d, 0xf
cmovae r9, rsi
mov edx, 0xf
add r9, 0xfffffffffffffff8
mov r8d, 8
cmp r9, 0x98
jb 0x1403b9df2
cmp rsi, 0x10
cmovae rdx, rsi
and rdx, 0xfffffffffffffff8
lea r10, [rcx + rdx]
cmp rax, r10
jae 0x1403b9f59
add rdx, r13
add rdx, rbx
add rdx, 0x190
cmp rdx, rcx
jbe 0x1403b9f59
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 0x1403b9e00
add r8, 0xfffffffffffffff8
mov rdx, r8
cmp rdx, rsi
jae 0x1403b9bd0
mov r8, rsi
sub r8, rdx
cmp r8, 0x10
jb 0x1403ba46b
lea rdi, [rdx + r13]
lea r9, [rbx + rdi]
add r9, 0x190
lea r10, [rcx + rdx]
lea r11, [rcx + rsi]
cmp r9, r11
jae 0x1403b9e67
lea r11, [rsi + r13]
add r11, rbx
add r11, 0x190
cmp r10, r11
jb 0x1403ba46b
cmp r8, 0x80
jae 0x1403ba001
xor r11d, r11d
jmp 0x1403ba08d
mov rbx, qword [rsp + 0x28]
jmp 0x1403ba0cc
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 0x1403b9eb0
cmp r9, r12
mov r13, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
je 0x1403ba166
test r9b, 0x70
je 0x1403ba0c9
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 0x1403b9f30
cmp r9, rdi
jne 0x1403ba0cc
jmp 0x1403ba166
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 0x1403b9f90
cmp r9, rdx
jne 0x1403b9e00
shl rdx, 3
cmp rdx, rsi
jb 0x1403b9e24
jmp 0x1403b9bd0
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 0x1403ba020
cmp r8, r11
je 0x1403b9bd0
test r8b, 0x70
je 0x1403ba468
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 0x1403ba0a0
cmp r8, rdi
jne 0x1403ba46b
jmp 0x1403b9bd0
add r8, r12
mov r10d, esi
sub r10d, r8d
mov r9, r8
not r9
add r9, rsi
and r10, 3
je 0x1403ba105
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 0x1403ba0f0
cmp r9, 3
jb 0x1403ba166
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 0x1403ba120
xor ebp, ebp
cmp dword [rbx + 0x1a0], 1
jne 0x1403ba445
xor edx, edx
lea rcx, [rbx + r13]
add rcx, 0x190
cmp rsi, 8
jb 0x1403ba1fb
cmp rsi, 0x10
mov r9d, 0xf
cmovae r9, rsi
mov edx, 0xf
add r9, 0xfffffffffffffff8
mov r8d, 8
cmp r9, 0x98
jb 0x1403ba1dd
cmp rsi, 0x10
cmovae rdx, rsi
and rdx, 0xfffffffffffffff8
lea r10, [rax + rdx]
cmp rcx, r10
jae 0x1403ba25c
add rdx, r13
add rdx, rbx
add rdx, 0x190
cmp rdx, rax
jbe 0x1403ba25c
xor r10d, r10d
mov rdx, qword [rax + r10]
xor qword [rcx + r10], rdx
mov r10, r8
add r8, 8
cmp r8, rsi
jbe 0x1403ba1e0
add r8, 0xfffffffffffffff8
mov rdx, r8
cmp rdx, rsi
jae 0x1403ba443
mov r8, rsi
sub r8, rdx
cmp r8, 0x10
jb 0x1403ba3ca
lea rdi, [rdx + r13]
lea r9, [rbx + rdi]
add r9, 0x190
lea r10, [rax + rdx]
lea r11, [rax + rsi]
cmp r9, r11
jae 0x1403ba247
lea r11, [rsi + r13]
add r11, rbx
add r11, 0x190
cmp r10, r11
jb 0x1403ba3ca
cmp r8, 0x80
jae 0x1403ba301
xor r11d, r11d
jmp 0x1403ba38a
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 0x1403ba290
cmp r9, rdx
jne 0x1403ba1e0
shl rdx, 3
cmp rdx, rsi
jb 0x1403ba204
jmp 0x1403ba443
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 0x1403ba320
xor ebp, ebp
cmp r8, r11
je 0x1403ba445
mov rbx, r15
test r8b, 0x70
je 0x1403ba3c7
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 0x1403ba3a0
xor ebp, ebp
cmp r8, rdi
jne 0x1403ba3ca
jmp 0x1403ba445
add rdx, r11
mov r9d, esi
sub r9d, edx
mov r8, rdx
not r8
add r8, rsi
and r9, 3
je 0x1403ba3f1
nop
movzx r10d, byte [rax + rdx]
xor byte [rcx + rdx], r10b
inc rdx
dec r9
jne 0x1403ba3e0
cmp r8, 3
jb 0x1403ba443
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 0x1403ba410
xor ebp, ebp
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
vzeroupper
call fcn.140428330
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 0x1403ba491
movzx r10d, byte [rcx + rdx]
xor byte [rax + rdx], r10b
inc rdx
dec r9
jne 0x1403ba480
cmp r8, 3
jb 0x1403b9bd0
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 0x1403ba4b0
jmp 0x1403b9bd0