Function at 0x14001b650
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rdi
push r12
push r13
push r14
sub rsp, 0xe0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
mov rax, qword [0x140045948]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r10, qword [rsp + 0x120]
mov r14d, 0xf
mov rbx, r9
mov r11, rcx
test r14b, r9b
jne 0x14001b8f2
test r14b, r10b
jne 0x14001b8f2
cmp dword [0x14005a138], 3
jl 0x14001b8f2
mov ecx, dword [rcx + 0x14]
mov rax, qword [r11 + 0x28]
mov rdi, qword [r11 + 8]
imul ecx, r8d
mov rbp, qword [r11]
add ecx, edx
xor r8d, r8d
movsxd r13, dword [rax + rcx*4]
mov r9d, r8d
mov rdx, r8
lea r12d, [r14 + 1]
mov eax, dword [rdi + rdx*4]
inc rdx
add eax, dword [rdi + r13*4]
mov ecx, dword [rbp + rax*4]
mov eax, r9d
mov byte [rsp + rdx + 0x3f], cl
shr ecx, 8
shl eax, 4
mov byte [rsp + rdx + 0xf], cl
mov ecx, dword [rdi + rax*4]
mov eax, r9d
add ecx, dword [rdi + r13*4]
shl eax, 8
mov ecx, dword [rbp + rcx*4]
mov byte [rsp + rdx + 0x1f], cl
shr ecx, 8
mov byte [rsp + rdx + 0x2f], cl
mov ecx, dword [rdi + rax*4]
mov eax, r9d
add ecx, dword [rdi + r13*4]
shl eax, 0xc
inc r9d
mov ecx, dword [rbp + rcx*4]
mov byte [rsp + rdx + 0x5f], cl
shr ecx, 8
mov byte [rsp + rdx + 0x4f], cl
mov ecx, dword [rdi + rax*4]
add ecx, dword [rdi + r13*4]
mov ecx, dword [rbp + rcx*4]
mov byte [rsp + rdx - 1], cl
shr ecx, 8
mov byte [rsp + rdx + 0x6f], cl
cmp r9d, r12d
jb 0x14001b6ed
mov r9, qword [rsp + 0x128]
mov eax, 0xff
cwde
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm10, xmm0, 0
movd xmm0, r14d
punpcklbw xmm0, xmm0
punpcklbw xmm0, xmm0
pshufd xmm9, xmm0, 0
movdqa xmm8, xmm9
psllw xmm8, 4
cmp r9, 0x20
jb 0x14001b8b2
mov rcx, rbx
lea rdx, [r10 + 0x10]
sub rcx, r10
sub r12, r10
movdqa xmm6, xmmword [r8 + rbx]
movdqa xmm1, xmmword [rcx + rdx]
movdqa xmm5, xmmword [rsp + 0x40]
add r8, 0x20
movdqa xmm2, xmmword [rsp + 0x10]
movdqa xmm0, xmm1
movdqa xmm7, xmm6
pand xmm1, xmm10
pand xmm6, xmm10
psrlw xmm0, 8
packuswb xmm6, xmm1
psrlw xmm7, 8
movdqa xmm1, xmmword [rsp + 0x60]
movdqa xmm4, xmm6
packuswb xmm7, xmm0
movdqa xmm0, xmmword [rsp + 0x20]
pand xmm4, xmm9
movdqa xmm3, xmm7
pshufb xmm5, xmm4
pshufb xmm2, xmm4
pand xmm3, xmm9
pshufb xmm1, xmm3
pand xmm6, xmm8
pand xmm7, xmm8
psrlw xmm6, 4
psrlw xmm7, 4
pshufb xmm0, xmm6
pxor xmm5, xmm0
pxor xmm5, xmm1
movdqa xmm0, xmmword [rsp]
movdqa xmm1, xmmword [rsp + 0x50]
pshufb xmm0, xmm7
pshufb xmm1, xmm3
pxor xmm5, xmm0
movdqa xmm0, xmmword [rsp + 0x30]
pshufb xmm0, xmm6
pxor xmm2, xmm0
pxor xmm2, xmm1
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmm5
pshufb xmm0, xmm7
pxor xmm2, xmm0
punpcklbw xmm1, xmm2
punpckhbw xmm5, xmm2
movdqa xmm0, xmmword [rdx - 0x10]
pxor xmm0, xmm1
movdqa xmmword [rdx - 0x10], xmm0
movdqa xmm0, xmmword [rdx]
pxor xmm0, xmm5
movdqa xmmword [rdx], xmm0
add rdx, 0x20
lea rax, [r12 + rdx]
cmp rax, r9
jbe 0x14001b7b3
cmp r8, r9
jae 0x14001b8ee
sub r9, r8
sub rbx, r10
lea rax, [r10 + r8]
dec r9
shr r9, 1
inc r9
movzx ecx, word [rax + rbx]
mov r8, qword [r11 + 8]
mov edx, dword [r8 + rcx*4]
mov rcx, qword [r11]
add edx, dword [r8 + r13*4]
movzx edx, word [rcx + rdx*4]
xor word [rax], dx
add rax, 2
sub r9, 1
jne 0x14001b8ca
mov al, 1
jmp 0x14001b8f4
xor al, al
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14002c700
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r14
pop r13
pop r12
ret