Function at 0x1403e2970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov rbx, rcx
mov rax, qword [0x14057e8d8]
xor rax, rsp
mov qword [rsp + 0x58], rax
test rcx, rcx
setne al
test rdx, rdx
setne cl
xor cl, al
mov rax, rbx
or rax, rdx
sete al
or al, cl
jne 0x1403e2c5f
mov rsi, r8
mov rdi, rdx
movabs r13, 0x14e6a87677183263
mov rax, qword [0x140581768]
add rax, r13
add rax, 0x20
cmp r8, rax
je 0x1403e2c5b
xor r14d, r14d
cmp byte [0x14058f564], 0
jne 0x1403e2b3e
cmp rsi, 8
jb 0x1403e2b3e
mov rax, rdi
sub rax, rbx
cmp rax, 0x20
jb 0x1403e2b3e
cmp rsi, 0x20
jae 0x1403e2a1d
xor r14d, r14d
jmp 0x1403e2ab5
mov rax, qword [0x140581768]
mov rcx, r13
xor rcx, rax
and rax, r13
lea r14, [rcx + rax*2]
and r14, rsi
lea r15, [rbx + 0x10]
mov ebp, 0x20
lea r12, [rsp + 0x40]
movaps xmm6, xmmword [0x140479020]
nop dword [rax]
movups xmm7, xmmword [r15 - 0x10]
mov r9d, dword [0x140581770]
lea r8d, [r9 - 0xa96fbde]
add r9d, 0xe9d9da24
mov rcx, r15
mov rdx, r12
call fcn.1403e4390
movaps xmm0, xmmword [rsp + 0x40]
xorps xmm7, xmm6
movaps xmm1, xmm6
andnps xmm1, xmm0
andnps xmm0, xmm6
orps xmm0, xmm1
movups xmmword [rdi + rbp - 0x20], xmm7
movups xmmword [rdi + rbp - 0x10], xmm0
cmp r14, rbp
je 0x1403e2aa2
add r15, 0x20
add rbp, 0x20
jmp 0x1403e2a50
cmp r14, rsi
je 0x1403e2c5b
test sil, 0x18
je 0x1403e2b3e
mov r15, r14
mov r14, rsi
and r14, 0xfffffffffffffff8
lea r12, [rsp + 0x40]
movabs rbp, 0x6767676767676767
nop
mov eax, dword [0x140581770]
lea r9d, [rax - 0x6626dee5]
add eax, 0xef3cfac3
mov dword [rsp + 0x20], eax
mov rcx, rbx
mov rdx, r15
mov r8, r12
call fcn.1403e4340
mov rax, qword [rsp + 0x40]
xor rax, rbp
mov qword [rdi + r15], rax
add r15, 8
mov r9d, dword [0x140581770]
lea r8d, [r9 - 0x4e9d0125]
add r9d, 0x516650bb
mov rcx, r15
mov rdx, r14
call fcn.1402a7f50
test al, 1
je 0x1403e2ad0
cmp byte [0x14058f5c8], 0
jne 0x1403e2c5b
cmp r14, rsi
je 0x1403e2c5b
mov rcx, r14
not rcx
movabs rax, 0x247c8e59ee48c9d1
sub rcx, rax
add rax, rsi
add rax, rcx
mov rcx, rsi
not rcx
mov rdx, rsi
xor rdx, 3
and rcx, 0xfffffffffffffffc
or rcx, rdx
cmp rcx, 0xffffffffffffffff
je 0x1403e2b9b
inc r14
add rcx, 2
nop dword [rax + rax]
movzx edx, byte [rbx + r14 - 1]
xor dl, 0x67
mov byte [rdi + r14 - 1], dl
test rcx, rcx
je 0x1403e2b9b
inc r14
inc rcx
jmp 0x1403e2b80
cmp rax, 3
jb 0x1403e2c5b
lea r15, [rsp + 0x40]
lea r12, [rsp + 0x57]
nop
movzx eax, byte [rbx + r14]
xor al, 0x67
mov byte [rdi + r14], al
lea r8, [r14 + 1]
movzx ecx, byte [rbx + r14 + 1]
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x30], 0x7e3dea36
mov dword [rsp + 0x28], 0x4d7c47d
mov rdx, rdi
mov r9, r12
call fcn.1403e4370
movzx eax, byte [rsp + 0x57]
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
lea rdx, [r14 + 2]
mov dword [rsp + 0x20], 0x8b3d06ca
mov rcx, rbx
mov r8, r15
mov r9d, 0x74a06eb4
call fcn.1400abf60
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax]
xor al, 0x67
mov byte [rdi + r14 + 2], al
mov rax, qword [0x140581768]
add rax, r13
add rax, r14
movzx ecx, byte [rbx + rax + 0x23]
xor cl, 0x67
mov byte [rdi + rax + 0x23], cl
mov rcx, r14
mov rdx, r15
mov r8d, 0x55931182
mov r9d, 0xd530163c
call fcn.1403e4350
mov r14, qword [rsp + 0x40]
cmp r14, rsi
jne 0x1403e2bb0
mov byte [rdi + rsi], 0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140405570
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret