Function at 0x1401d1e20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x130], xmm7
mov r9d, 4
lea r13, [0x140293000]
mov ebp, 0xff
lea r12, [r13 + 0x24000]
mov r15d, 6
mov r8, rdx
mov edx, 0x21
lea rsi, [rsp + 0x20]
mov qword [rsp + 0x190], rcx
lea rcx, [rsp + 0x40]
lea r14, [rsp + 0x8f]
call fcn.1401dd380
movzx edx, byte [rsp + 0x40]
mov r8d, 0xff
and r14, 0xffffffffffffffe0
lea rbx, [r14 + 0x60]
lea rdi, [r14 + 0x80]
add edx, edx
and edx, 0xfe
mov rax, rdx
sub r8, rdx
shr rax, 7
mov rcx, rax
neg rcx
and rcx, r8
lea r8, [rax - 1]
not rax
and rdx, r8
and rax, r8
or rdx, rcx
sar rax, 0x3f
mov rcx, rdx
and edx, 1
movq xmm7, rax
not rax
shr rcx, 1
movq xmm6, rax
punpcklqdq xmm7, xmm7
lea r8, [rcx + rdx]
lea rdx, [0x140292000]
punpcklqdq xmm6, xmm6
mov rcx, rbx
call fcn.1401b86e0
mov rdx, rdi
mov rcx, rsi
call fcn.1401b6d80
movdqa xmm0, xmmword [rsp + 0x20]
movdqa xmm1, xmmword [r14 + 0x80]
movdqa xmm2, xmmword [r14 + 0x60]
movdqa xmm3, xmmword [r14 + 0x70]
pand xmm0, xmm6
pand xmm1, xmm7
pand xmm6, xmmword [rsp + 0x30]
movdqa xmm4, xmmword [r14 + 0x60]
pxor xmm0, xmm1
movdqa xmm5, xmmword [r14 + 0x70]
movdqa xmm1, xmmword [r14 + 0x90]
movaps xmmword [r14 + 0x80], xmm0
pand xmm1, xmm7
movaps xmmword [r14 + 0x20], xmm0
por xmm0, xmm2
pxor xmm1, xmm6
movaps xmmword [r14], xmm4
movaps xmmword [r14 + 0x90], xmm1
movaps xmmword [r14 + 0x30], xmm1
por xmm1, xmm3
por xmm0, xmm1
movaps xmmword [r14 + 0x10], xmm5
movdqa xmm1, xmm0
psrldq xmm1, 8
por xmm0, xmm1
movq rax, xmm0
mov rdx, rax
sub rax, 1
not rdx
and rax, rdx
sar rax, 0x3f
movq xmm1, rax
not rax
movq xmm0, rax
punpcklqdq xmm1, xmm1
mov rdx, rax
punpcklqdq xmm0, xmm0
pand xmm0, xmmword [0x140290980]
pand xmm2, xmm1
and edx, 0xfffffffe
movq xmm4, rdx
pand xmm1, xmm3
pxor xmm0, xmm2
movaps xmmword [r14 + 0x40], xmm0
movq xmm0, rax
punpcklqdq xmm0, xmm4
pxor xmm0, xmm1
movaps xmmword [r14 + 0x50], xmm0
nop dword [rax]
mov rax, r15
mov ecx, r15d
add r15, 7
shr rax, 3
and ecx, 7
movzx r8d, byte [rsp + rax + 0x41]
movzx eax, byte [rsp + rax + 0x40]
shl r8d, 8
or r8d, eax
movsxd r8, r8d
shr r8, cl
mov rcx, rbp
movzx r8d, r8b
mov rax, r8
sub rcx, r8
shr rax, 7
mov rdx, rax
neg rdx
and rdx, rcx
lea rcx, [rax - 1]
not rax
and r8, rcx
and rax, rcx
mov rcx, rbx
or r8, rdx
sar rax, 0x3f
mov rdx, r8
and r8d, 1
movq xmm7, rax
not rax
shr rdx, 1
movq xmm6, rax
punpcklqdq xmm7, xmm7
add r8, rdx
mov rdx, r13
punpcklqdq xmm6, xmm6
add r13, 0x1000
call fcn.1401b86e0
mov rdx, rdi
mov rcx, rsi
call fcn.1401b6d80
mov r8, rbx
mov rdx, r14
mov rcx, r14
movdqa xmm1, xmmword [r14 + 0x90]
movdqa xmm0, xmmword [rsp + 0x30]
pand xmm1, xmm7
pand xmm0, xmm6
pand xmm6, xmmword [rsp + 0x20]
pand xmm7, xmmword [r14 + 0x80]
pxor xmm0, xmm1
movaps xmmword [r14 + 0x90], xmm0
pxor xmm6, xmm7
movaps xmmword [r14 + 0x80], xmm6
call fcn.1401b9740
cmp r13, r12
jne 0x1401d1ff8
mov rax, qword [rsp + 0x190]
movdqa xmm5, xmmword [r14]
movdqa xmm3, xmmword [r14 + 0x10]
movdqa xmm4, xmmword [r14 + 0x20]
movups xmmword [rax], xmm5
movdqa xmm2, xmmword [r14 + 0x40]
movdqa xmm5, xmmword [r14 + 0x30]
movups xmmword [rax + 0x10], xmm3
mov rsi, qword [rsp + 0x190]
mov rdx, qword [r14 + 0x58]
movups xmmword [rax + 0x20], xmm4
movups xmmword [rax + 0x30], xmm5
movups xmmword [rax + 0x40], xmm2
mov rax, qword [r14 + 0x50]
mov qword [rsi + 0x58], rdx
mov qword [rsi + 0x50], rax
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret