Function at 0x14012baf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movdqa xmmword [rsp + 0x80], xmm6
mov r8, rcx
mov rcx, qword [rcx + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x14012c461
mov rbp, qword [r8 + 8]
lea r14, [rbp + 1]
mov rax, r14
shr rax, 3
mov r9, r14
and r9, 0xfffffffffffffff8
sub r9, rax
cmp rbp, 8
cmovb r9, rbp
movdqa xmm6, xmmword [rdx]
mov rax, r9
shr rax, 1
cmp rcx, rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r8
jae 0x14012bb84
mov rbx, qword [r8]
mov rcx, r14
shr rcx, 4
xor eax, eax
test r14b, 0xf
setne al
add rax, rcx
je 0x14012beea
cmp rax, 1
jne 0x14012be7e
xor ecx, ecx
jmp 0x14012bed4
lea rax, [rcx + 1]
inc r9
cmp rax, r9
cmova r9, rax
cmp r9, 8
jae 0x14012bbab
xor eax, eax
cmp r9, 4
setae al
lea rdi, [rax*4 + 4]
jmp 0x14012bbef
mov rax, r9
shr rax, 0x3d
jne 0x14012c461
shl r9, 3
movabs rcx, 0x2492492492492493
mov rax, r9
mul rcx
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 2
dec r9
bsr rcx, r9
not ecx
mov rdi, 0xffffffffffffffff
shr rdi, cl
inc rdi
mov ecx, 0x30
mov rax, rdi
mul rcx
jo 0x14012c461
mov r15, rax
lea r12, [rdi + 0x10]
mov rbx, rax
add rbx, r12
jb 0x14012c461
movabs rax, 0x7ffffffffffffff1
cmp rbx, rax
jae 0x14012c461
movzx eax, byte [0x14019f308]
xor ecx, ecx
mov rdx, rbx
call fcn.1400e7f40
test rax, rax
je 0x14012c466
mov r13, rax
lea rsi, [rdi - 1]
mov rax, rdi
shr rax, 3
mov rcx, rdi
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rdi, 9
cmovb rcx, rsi
mov qword [rsp + 0x48], rcx
lea rbx, [r13 + r15]
mov rcx, rbx
mov dl, 0xff
mov r8, r12
call fcn.140121230
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012be12
mov qword [rsp + 0x40], r14
lea rax, [r15 + r13]
add rax, 0xffffffffffffffd0
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
mov r14, qword [rax]
movdqa xmm0, xmmword [r14]
pmovmskb r12d, xmm0
not r12d
lea r9, [r14 - 0x30]
xor edi, edi
mov qword [rsp + 0x38], r14
mov r15, rcx
mov qword [rsp + 0x20], r9
jmp 0x14012bd3e
lea ecx, [r12 - 1]
and ecx, r12d
dec r15
shr rax, 0x39
lea r8, [rdx - 0x10]
and r8, rsi
mov byte [rbx + rdx], al
mov byte [rbx + r8 + 0x10], al
shl r13, 4
lea rax, [r13*2]
add rax, r13
mov r8, r9
sub r8, rax
shl rdx, 4
lea rax, [rdx + rdx*2]
mov rdx, qword [rsp + 0x50]
sub rdx, rax
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqu xmm2, xmmword [r8 + 0x20]
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
mov r12d, ecx
test r15, r15
je 0x14012be01
test r12w, r12w
jne 0x14012bd6f
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r14 + 0x10]
add r14, 0x10
pmovmskb r12d, xmm0
add rdi, 0x10
cmp r12d, 0xffff
je 0x14012bd50
not r12d
tzcnt r13d, r12d
add r13, rdi
mov rax, r13
neg rax
lea rax, [rax + rax*2]
shl rax, 4
mov rdx, qword [r9 + rax + 8]
mov r8, qword [r9 + rax + 0x10]
movdqa xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
call fcn.14010f840
mov rcx, rax
and rcx, rsi
movdqu xmm0, xmmword [rbx + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x14012bdd7
mov r8d, 0x10
nop dword [rax + rax]
add rcx, r8
and rcx, rsi
movdqu xmm0, xmmword [rbx + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x14012bdc0
mov r9, qword [rsp + 0x20]
tzcnt edx, edx
add rdx, rcx
and rdx, rsi
cmp byte [rbx + rdx], 0
js 0x14012bcd0
movdqa xmm0, xmmword [rbx]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x14012bcd0
mov rax, qword [rsp + 0x28]
mov r14, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
jmp 0x14012be1a
mov rax, qword [rsp + 0x28]
mov r8, qword [rax]
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x30]
movabs rdx, 0x1ffffffffffffffe
and rdx, rax
xor ecx, ecx
movdqa xmm0, xmmword [0x14012e770]
nop word cs:[rax + rax]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + rcx]
por xmm1, xmm0
movdqa xmmword [rbx + rcx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + rcx + 0x10]
por xmm1, xmm0
movdqa xmmword [rbx + rcx + 0x10], xmm1
add rcx, 0x20
add rdx, 0xfffffffffffffffe
jne 0x14012bea0
test al, 1
je 0x14012beea
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [rbx + rcx]
por xmm0, xmmword [0x14012e770]
movdqa xmmword [rbx + rcx], xmm0
mov qword [rsp + 0x58], r9
cmp r14, 0x10
jae 0x14012bf38
lea rcx, [rbx + 0x10]
mov rdx, rbx
mov r8, r14
call fcn.140120b90
test r14, r14
jne 0x14012bf42
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rbx + r14], xmm0
movq qword [rbx + rsi], mm0
call fcn.1400231d0
mov rcx, rbx
call fcn.140023210
int3