Function at 0x14012e940
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1401fd1c0]
xor rax, rsp
mov qword [rbp + 0xa0], rax
movdqa xmm5, xmmword [0x140160e70]
mov r13, rcx
movsx r9, r8b
movzx eax, r8b
mov rcx, r9
xorps xmm0, xmm0
shr rcx, 0x3f
mov r14, 0xffffffffffffffa3
neg cl
and al, cl
mov qword [rsp + 0x20], rcx
add al, al
xor ecx, ecx
sub r8b, al
mov qword [rbp + 0x51], rcx
lea rax, [r9 - 1]
mov dword [rbp + 0x59], ecx
shr rax, 0x3f
not r9
shr r9, 0x3f
lea ebx, [rcx + 1]
and al, r9b
mov word [rbp + 0x5d], cx
neg al
mov byte [rbp + 0x5f], cl
and al, 1
movzx esi, r8b
mov byte [rbp + 0x40], al
lea edi, [rbx + 7]
mov byte [rbp + 0x60], al
xor eax, eax
mov qword [rbp + 0x71], rax
mov qword [rbp + 0x79], rax
mov qword [rbp + 0x91], rax
mov dword [rbp + 0x99], eax
mov word [rbp + 0x9d], ax
mov byte [rbp + 0x9f], al
movsxd rax, edx
movups xmmword [rbp + 0x41], xmm0
movups xmmword [rbp + 0x61], xmm0
lea rcx, [rax + rax*2]
shl rcx, 8
lea rax, [rbp + 0x40]
mov r9, rcx
sub r9, rax
lea rax, [0x140161620]
add r9, rax
lea r10, [rax + 0x5f]
lea rax, [rbp + 0x40]
add r10, rcx
sub r14, rax
xor r12d, r12d
movups xmmword [rbp + 0x81], xmm0
nop dword [rax + rax]
movsxd r8, ebx
lea rcx, [rbp + 0x40]
xor r8, rsi
mov rax, r12
movq xmm3, r8
punpcklqdq xmm3, xmm3
cmp rcx, r10
ja 0x14012ea9f
lea rcx, [r10 - 0x5f]
lea rdx, [rbp + 0x9f]
cmp rdx, rcx
jb 0x14012ea9f
lea rcx, [r8 - 1]
not r8
shr r8, 0x3f
shr rcx, 0x3f
and r8b, cl
neg r8b
lea rdx, [rbp + 0x40]
add rdx, rax
inc rax
movzx ecx, byte [r9 + rdx]
and cl, r8b
xor byte [rdx], cl
cmp rax, 0x60
jb 0x14012ea80
jmp 0x14012eb67
movdqa xmm0, xmmword [0x140160e70]
lea r11, [r14 + r10]
paddq xmm0, xmm3
andnps xmm3, xmm5
psrlq xmm0, 0x3f
pshufd xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
psrlq xmm3, 0x3f
pshufd xmm0, xmm3, 0xd8
pshufhw xmm2, xmm1, 0xd8
pshuflw xmm1, xmm0, 0xd8
xorps xmm0, xmm0
pshufd xmm4, xmm2, 0xd8
andps xmm4, xmmword [0x140167a90]
pshufhw xmm2, xmm1, 0xd8
pshufd xmm3, xmm2, 0xd8
andps xmm3, xmmword [0x140167a90]
packuswb xmm3, xmm3
packuswb xmm4, xmm4
andps xmm4, xmm3
psubb xmm0, xmm4
movdqa xmmword [rsp + 0x30], xmm0
movzx r8d, word [rsp + 0x30]
movd xmm0, r8d
lea rdx, [rbp + 0x40]
add rdx, rax
add rax, 4
movzx ecx, word [r9 + rdx]
movd xmm1, ecx
movzx ecx, word [rdx]
andps xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movd xmm0, r8d
movd ecx, xmm1
mov word [rdx], cx
movzx ecx, word [r11 + rdx]
movd xmm1, ecx
movzx ecx, word [rdx + 2]
andps xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movd ecx, xmm1
mov word [rdx + 2], cx
cmp rax, 0x60
jb 0x14012eb10
inc ebx
add r10, 0x60
add r9, 0x60
sub rdi, 1
jne 0x14012ea40
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x18]
call fcn.14012af30
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x10]
call fcn.14012af30
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x40]
call fcn.14012af30
mov r15, qword [rbp - 0x18]
mov r14, qword [rbp - 0x10]
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp]
mov rbx, qword [rbp + 8]
mov r11, qword [rbp + 0x10]
mov r9, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
mov r10, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
movdqa xmm2, xmmword [0x140167a80]
mov qword [r13], r15
mov qword [r13 + 8], r14
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], rdi
mov qword [r13 + 0x20], rbx
mov qword [r13 + 0x28], r11
mov qword [r13 + 0x30], r9
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], rdx
mov qword [r13 + 0x48], rcx
mov qword [r13 + 0x50], r10
mov qword [r13 + 0x58], rax
mov rax, qword [rbp - 0x30]
mov qword [r13 + 0x60], rax
mov rax, qword [rbp - 0x28]
mov qword [r13 + 0x68], rax
mov rax, qword [rbp - 0x20]
mov qword [r13 + 0x70], rax
movabs rax, 0xfffffffffffda
sub rax, r10
mov qword [rsp + 0x40], r11
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + r12 - 0x38]
movdqa xmm1, xmm2
psubq xmm1, xmm0
movdqu xmmword [rbp + r12 - 0x68], xmm1
add r12, 0x10
cmp r12, 0x20
jl 0x14012ec70
movzx edx, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
xor rcx, r15
shr rdx, 7
neg rdx
and rcx, rdx
xor rcx, r15
mov qword [r13], rcx
mov rcx, qword [rsp + 0x48]
xor rcx, r14
and rcx, rdx
xor rcx, r14
mov qword [r13 + 8], rcx
mov rcx, qword [rsp + 0x50]
xor rcx, rsi
and rcx, rdx
xor rcx, rsi
mov qword [r13 + 0x10], rcx
mov rcx, rdi
xor rcx, qword [rsp + 0x58]
and rcx, rdx
xor rcx, rdi
mov qword [r13 + 0x18], rcx
mov rcx, rbx
xor rcx, qword [rsp + 0x60]
and rcx, rdx
xor rcx, rbx
mov qword [r13 + 0x20], rcx
mov rcx, r11
xor rcx, qword [rsp + 0x68]
and rcx, rdx
xor rcx, r11
mov qword [r13 + 0x28], rcx
mov rcx, r9
xor rcx, qword [rsp + 0x70]
and rcx, rdx
xor rcx, r9
mov qword [r13 + 0x30], rcx
mov rcx, r8
xor rcx, qword [rsp + 0x78]
and rcx, rdx
xor rcx, r8
mov qword [r13 + 0x38], rcx
mov rcx, qword [r13 + 0x40]
xor rcx, qword [rbp - 0x80]
and rcx, rdx
xor qword [r13 + 0x40], rcx
mov rcx, qword [r13 + 0x48]
xor rcx, qword [rbp - 0x78]
and rcx, rdx
xor qword [r13 + 0x48], rcx
mov rcx, r10
xor rcx, qword [rbp - 0x70]
and rcx, rdx
xor rcx, r10
mov qword [r13 + 0x50], rcx
mov rcx, qword [r13 + 0x58]
xor rcx, qword [rbp - 0x68]
and rcx, rdx
xor qword [r13 + 0x58], rcx
mov rcx, qword [r13 + 0x60]
xor rcx, qword [rbp - 0x60]
and rcx, rdx
xor qword [r13 + 0x60], rcx
mov rcx, qword [r13 + 0x68]
xor rcx, qword [rbp - 0x58]
and rcx, rdx
xor qword [r13 + 0x68], rcx
mov rcx, qword [r13 + 0x70]
xor rcx, qword [rbp - 0x50]
and rcx, rdx
xor qword [r13 + 0x70], rcx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1401321a0
mov rbx, qword [rsp + 0x1f8]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret