Function at 0x14021b980
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x448]
sub rsp, 0x510
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x14046e3c8]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov r15, rcx
mov qword [rsp + 0x50], r8
sub rdx, rcx
mov rax, r15
lea rcx, [rsp + 0x60]
sub rcx, r15
test r9d, r9d
je 0x14021ba3f
sub r8, r15
mov r9d, 0x40
movdqu xmm1, xmmword [rdx + rax]
pxor xmm1, xmmword [rax]
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [r8 + rax]
pxor xmm0, xmm1
movdqu xmmword [rcx + rax], xmm0
lea rax, [rax + 0x10]
sub r9, 1
jne 0x14021ba17
jmp 0x14021ba61
mov r8d, 0x40
movdqu xmm0, xmmword [rax + rdx]
pxor xmm0, xmmword [rax]
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + rcx], xmm0
lea rax, [rax + 0x10]
sub r8, 1
jne 0x14021ba45
xor r13d, r13d
lea eax, [r13*8]
lea r14d, [rax + 2]
mov r11d, eax
add r14, r14
mov r8d, eax
add r11, r11
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
movdqu xmm8, xmmword [r15 + r14*8]
movdqu xmm0, xmmword [r15 + r11*8]
movdqa xmmword [rsp + 0x30], xmm8
movdqa xmmword [rsp + 0x20], xmm0
call fcn.14021ab1c
movdqa xmm13, xmm0
movdqu xmmword [r15 + r11*8], xmm0
lea esi, [rax + 3]
lea r10d, [rax + 1]
add rsi, rsi
add r10, r10
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
movdqu xmm6, xmmword [r15 + rsi*8]
movdqu xmm0, xmmword [r15 + r10*8]
movdqa xmmword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14021ab1c
movdqa xmm12, xmm0
movdqu xmmword [r15 + r10*8], xmm0
movdqa xmm1, xmm13
lea edi, [rax + 7]
add rdi, rdi
lea ebx, [rax + 6]
add rbx, rbx
lea r9d, [rax + 4]
add r9, r9
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
pxor xmm0, xmmword [r15 + rdi*8]
pxor xmm1, xmmword [r15 + rbx*8]
pshufd xmm11, xmm0, 0xb1
movdqu xmm0, xmmword [r15 + r9*8]
pshufd xmm7, xmm1, 0xb1
movdqa xmmword [rsp + 0x30], xmm0
movdqu xmmword [r15 + rbx*8], xmm7
movdqu xmmword [r15 + rdi*8], xmm11
movdqa xmmword [rsp + 0x20], xmm7
call fcn.14021ab1c
add r8d, 5
movdqu xmmword [r15 + r9*8], xmm0
add r8, r8
movdqa xmmword [rsp + 0x20], xmm11
lea rdx, [rsp + 0x20]
movdqa xmm10, xmm0
lea rcx, [rsp + 0x30]
movdqu xmm1, xmmword [r15 + r8*8]
movdqa xmmword [rsp + 0x30], xmm1
call fcn.14021ab1c
movdqa xmm1, xmm10
movdqu xmmword [r15 + r8*8], xmm0
pxor xmm1, xmm8
movdqa xmmword [rsp + 0x30], xmm13
movdqa xmm8, xmm1
lea rdx, [rsp + 0x20]
movdqa xmm2, xmm0
psrlq xmm1, 0x18
pxor xmm2, xmm6
psllq xmm8, 0x28
movdqa xmm6, xmm2
lea rcx, [rsp + 0x30]
pxor xmm8, xmm1
psrlq xmm2, 0x18
psllq xmm6, 0x28
movdqa xmm9, xmm0
pxor xmm6, xmm2
movdqu xmmword [r15 + r14*8], xmm8
movdqu xmmword [r15 + rsi*8], xmm6
movdqa xmmword [rsp + 0x20], xmm8
call fcn.14021ab1c
movdqa xmm13, xmm0
movdqu xmmword [r15 + r11*8], xmm0
movdqa xmmword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm12
lea rcx, [rsp + 0x30]
call fcn.14021ab1c
movdqa xmm1, xmm13
movdqu xmmword [r15 + r10*8], xmm0
pxor xmm1, xmm7
movdqa xmmword [rsp + 0x30], xmm10
pshuflw xmm1, xmm1, 0x39
lea rdx, [rsp + 0x20]
pshufhw xmm14, xmm1, 0x39
lea rcx, [rsp + 0x30]
movdqa xmm1, xmm0
movdqu xmmword [r15 + rbx*8], xmm14
pxor xmm1, xmm11
movdqa xmmword [rsp + 0x20], xmm14
pshuflw xmm1, xmm1, 0x39
movdqa xmm12, xmm0
pshufhw xmm7, xmm1, 0x39
movdqu xmmword [r15 + rdi*8], xmm7
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r15 + r9*8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmm15, xmm0
movdqa xmmword [rsp + 0x30], xmm9
call fcn.14021ab1c
movdqa xmm2, xmm0
movdqu xmmword [r15 + r8*8], xmm0
pxor xmm2, xmm6
movdqa xmmword [rsp + 0x30], xmm13
movdqa xmm10, xmm0
lea rdx, [rsp + 0x20]
movdqa xmm6, xmm7
lea rcx, [rsp + 0x30]
punpcklqdq xmm7, xmm7
movdqa xmm1, xmm15
pxor xmm1, xmm8
movdqa xmm0, xmm14
punpcklqdq xmm0, xmm14
movdqa xmm8, xmm2
paddq xmm8, xmm2
punpckhqdq xmm6, xmm0
movdqa xmm3, xmm1
punpckhqdq xmm14, xmm7
paddq xmm3, xmm1
psrlq xmm2, 0x3f
pxor xmm8, xmm2
psrlq xmm1, 0x3f
pxor xmm3, xmm1
movdqu xmmword [r15 + rbx*8], xmm6
movdqa xmm7, xmm3
movdqu xmmword [r15 + rdi*8], xmm14
movdqa xmm0, xmm8
punpcklqdq xmm3, xmm3
punpcklqdq xmm0, xmm8
punpckhqdq xmm7, xmm0
punpckhqdq xmm8, xmm3
movdqu xmmword [r15 + r14*8], xmm7
movdqa xmmword [rsp + 0x20], xmm7
movdqu xmmword [r15 + rsi*8], xmm8
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r15 + r11*8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmm11, xmm0
movdqa xmmword [rsp + 0x30], xmm12
call fcn.14021ab1c
movdqa xmm1, xmm11
movdqu xmmword [r15 + r10*8], xmm0
pxor xmm1, xmm6
movdqa xmm9, xmm0
pshufd xmm12, xmm1, 0xb1
movdqa xmm1, xmm0
pxor xmm1, xmm14
movdqu xmmword [r15 + rbx*8], xmm12
pshufd xmm14, xmm1, 0xb1
movdqu xmmword [r15 + rdi*8], xmm14
movdqa xmmword [rsp + 0x20], xmm12
lea rdx, [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm10
lea rcx, [rsp + 0x30]
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r15 + r8*8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm14
movdqa xmm13, xmm0
movdqa xmmword [rsp + 0x30], xmm15
call fcn.14021ab1c
movdqa xmm1, xmm13
movdqu xmmword [r15 + r9*8], xmm0
pxor xmm1, xmm7
movdqa xmmword [rsp + 0x30], xmm11
movdqa xmm2, xmm0
lea rdx, [rsp + 0x20]
pxor xmm2, xmm8
lea rcx, [rsp + 0x30]
movdqa xmm8, xmm1
movdqa xmm7, xmm2
psrlq xmm1, 0x18
movdqa xmm10, xmm0
psrlq xmm2, 0x18
psllq xmm8, 0x28
pxor xmm8, xmm1
psllq xmm7, 0x28
pxor xmm7, xmm2
movdqu xmmword [r15 + r14*8], xmm8
movdqu xmmword [r15 + rsi*8], xmm7
movdqa xmmword [rsp + 0x20], xmm8
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r15 + r11*8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x30], xmm9
call fcn.14021ab1c
movdqu xmmword [r15 + r10*8], xmm0
lea rdx, [rsp + 0x20]
pxor xmm0, xmm14
movdqa xmmword [rsp + 0x30], xmm13
pshuflw xmm0, xmm0, 0x39
lea rcx, [rsp + 0x30]
pshufhw xmm9, xmm0, 0x39
pxor xmm6, xmm12
pshuflw xmm1, xmm6, 0x39
pshufhw xmm11, xmm1, 0x39
movdqu xmmword [r15 + rdi*8], xmm9
movdqu xmmword [r15 + rbx*8], xmm11
movdqa xmmword [rsp + 0x20], xmm11
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r15 + r8*8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm9
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x30], xmm10
call fcn.14021ab1c
movdqu xmmword [r15 + r9*8], xmm0
pxor xmm6, xmm8
pxor xmm0, xmm7
movdqa xmm3, xmm6
movdqa xmm2, xmm0
paddq xmm3, xmm6
paddq xmm2, xmm0
psrlq xmm6, 0x3f
pxor xmm3, xmm6
psrlq xmm0, 0x3f
pxor xmm2, xmm0
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm3
movdqa xmm0, xmm2
punpckhqdq xmm0, xmm1
movdqa xmm1, xmm9
punpcklqdq xmm2, xmm2
punpckhqdq xmm3, xmm2
movdqu xmmword [r15 + rsi*8], xmm3
punpcklqdq xmm1, xmm9
movdqu xmmword [r15 + r14*8], xmm0
movdqa xmm0, xmm11
inc r13d
punpcklqdq xmm11, xmm11
punpckhqdq xmm9, xmm11
punpckhqdq xmm0, xmm1
movdqu xmmword [r15 + rdi*8], xmm9
movdqu xmmword [r15 + rbx*8], xmm0
cmp r13d, 8
jb 0x14021ba64
mov r13, qword [rsp + 0x50]
lea rax, [r15 + 0x280]
mov r12d, 0x40
mov r8, r15
lea r9d, [r12 - 0x38]
movdqu xmm0, xmmword [r8]
lea rdx, [rsp + 0x20]
movdqu xmm6, xmmword [rax - 0x180]
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14021ab1c
movdqu xmm1, xmmword [rax - 0x200]
lea rdx, [rsp + 0x20]
movdqu xmm7, xmmword [rax - 0x100]
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm14, xmm0
movdqu xmmword [r8], xmm0
movdqa xmmword [rsp + 0x20], xmm7
call fcn.14021ab1c
movdqa xmm1, xmm14
movdqu xmmword [rax - 0x200], xmm0
pxor xmm1, xmmword [rax + 0x80]
lea rdx, [rsp + 0x20]
pshufd xmm11, xmm1, 0xb1
lea rcx, [rsp + 0x30]
movdqa xmm1, xmm0
movdqu xmmword [rax + 0x80], xmm11
pxor xmm1, xmmword [rax + 0x100]
movdqa xmm13, xmm0
movdqu xmm0, xmmword [rax - 0x80]
pshufd xmm12, xmm1, 0xb1
movdqu xmmword [rax + 0x100], xmm12
movdqa xmmword [rsp + 0x20], xmm11
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14021ab1c
movdqu xmm1, xmmword [rax]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm10, xmm0
movdqu xmmword [rax - 0x80], xmm0
movdqa xmmword [rsp + 0x20], xmm12
call fcn.14021ab1c
pxor xmm6, xmm10
movdqu xmmword [rax], xmm0
movdqa xmm8, xmm6
movdqa xmmword [rsp + 0x30], xmm14
psrlq xmm6, 0x18
lea rdx, [rsp + 0x20]
pxor xmm7, xmm0
psllq xmm8, 0x28
pxor xmm8, xmm6
lea rcx, [rsp + 0x30]
movdqa xmm6, xmm7
movdqu xmmword [rax - 0x180], xmm8
psllq xmm6, 0x28
movdqa xmm9, xmm0
psrlq xmm7, 0x18
pxor xmm6, xmm7
movdqa xmmword [rsp + 0x20], xmm8
movdqu xmmword [rax - 0x100], xmm6
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm6
movdqa xmm14, xmm0
movdqa xmmword [rsp + 0x30], xmm13
call fcn.14021ab1c
movdqa xmm1, xmm14
movdqu xmmword [rax - 0x200], xmm0
pxor xmm1, xmm11
movdqa xmmword [rsp + 0x30], xmm10
pshuflw xmm1, xmm1, 0x39
lea rdx, [rsp + 0x20]
pshufhw xmm11, xmm1, 0x39
movdqa xmm13, xmm0
movdqa xmm1, xmm0
movdqu xmmword [rax + 0x80], xmm11
pxor xmm1, xmm12
movdqa xmmword [rsp + 0x20], xmm11
pshuflw xmm1, xmm1, 0x39
pshufhw xmm7, xmm1, 0x39
movdqu xmmword [rax + 0x100], xmm7
lea rcx, [rsp + 0x30]
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [rax - 0x80], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmm15, xmm0
movdqa xmmword [rsp + 0x30], xmm9
call fcn.14021ab1c
movdqa xmm2, xmm0
movdqu xmmword [rax], xmm0
pxor xmm2, xmm6
movdqa xmmword [rsp + 0x30], xmm14
movdqa xmm9, xmm0
lea rdx, [rsp + 0x20]
movdqa xmm0, xmm11
lea rcx, [rsp + 0x30]
punpcklqdq xmm0, xmm11
movdqa xmm10, xmm2
paddq xmm10, xmm2
movdqa xmm1, xmm15
pxor xmm1, xmm8
psrlq xmm2, 0x3f
pxor xmm10, xmm2
movdqa xmm3, xmm1
paddq xmm3, xmm1
movdqa xmm6, xmm7
punpckhqdq xmm6, xmm0
movdqa xmm0, xmm10
punpcklqdq xmm0, xmm10
psrlq xmm1, 0x3f
pxor xmm3, xmm1
punpcklqdq xmm7, xmm7
punpckhqdq xmm11, xmm7
movdqu xmmword [rax + 0x100], xmm11
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmm11, xmm3
punpckhqdq xmm11, xmm0
punpcklqdq xmm3, xmm3
punpckhqdq xmm10, xmm3
movdqu xmmword [rax - 0x180], xmm11
movdqa xmmword [rsp + 0x20], xmm11
movdqu xmmword [rax + 0x80], xmm6
movdqa xmmword [rsp + 0x40], xmm10
movdqu xmmword [rax - 0x100], xmm10
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmm8, xmm0
movdqa xmmword [rsp + 0x30], xmm13
call fcn.14021ab1c
movdqa xmm7, xmm0
movdqu xmmword [rax - 0x200], xmm0
movdqa xmm0, xmmword [rsp + 0x50]
lea rdx, [rsp + 0x20]
pxor xmm0, xmm7
movdqa xmmword [rsp + 0x30], xmm9
pshufd xmm13, xmm0, 0xb1
lea rcx, [rsp + 0x30]
pxor xmm6, xmm8
movdqu xmmword [rax + 0x100], xmm13
pshufd xmm12, xmm6, 0xb1
movdqu xmmword [rax + 0x80], xmm12
movdqa xmmword [rsp + 0x20], xmm12
call fcn.14021ab1c
lea rdx, [rsp + 0x20]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm13
movdqa xmm10, xmm0
movdqa xmmword [rsp + 0x30], xmm15
call fcn.14021ab1c
movdqa xmm9, xmm0
movdqu xmmword [rax - 0x80], xmm0
movdqa xmm0, xmmword [rsp + 0x40]
pxor xmm11, xmm10
movdqa xmm14, xmm11
pxor xmm0, xmm9
psllq xmm14, 0x28
psrlq xmm11, 0x18
lea rdx, [rsp + 0x40]
pxor xmm14, xmm11
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmm11, xmm0
movdqu xmmword [rax - 0x180], xmm14
psrlq xmm0, 0x18
lea rcx, [rsp + 0x20]
psllq xmm11, 0x28
pxor xmm11, xmm0
movdqa xmmword [rsp + 0x40], xmm14
movdqu xmmword [rax - 0x100], xmm11
call fcn.14021ab1c
lea rdx, [rsp + 0x40]
movdqu xmmword [r8], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x40], xmm11
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x20], xmm7
call fcn.14021ab1c
pxor xmm13, xmm0
movdqu xmmword [rax - 0x200], xmm0
pshuflw xmm0, xmm13, 0x39
lea rdx, [rsp + 0x40]
pshufhw xmm7, xmm0, 0x39
lea rcx, [rsp + 0x20]
pxor xmm12, xmm6
movdqu xmmword [rax + 0x100], xmm7
pshuflw xmm1, xmm12, 0x39
pshufhw xmm8, xmm1, 0x39
movdqu xmmword [rax + 0x80], xmm8
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x20], xmm10
call fcn.14021ab1c
lea rdx, [rsp + 0x40]
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x20]
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x20], xmm9
call fcn.14021ab1c
movdqu xmmword [rax - 0x80], xmm0
pxor xmm11, xmm0
lea rax, [rax + 0x10]
pxor xmm14, xmm6
lea r8, [r8 + 0x10]
movdqa xmm3, xmm14
paddq xmm3, xmm14
movdqa xmm2, xmm11
psrlq xmm14, 0x3f
paddq xmm2, xmm11
psrlq xmm11, 0x3f
pxor xmm3, xmm14
movdqa xmm1, xmm3
pxor xmm2, xmm11
punpcklqdq xmm1, xmm3
movdqa xmm0, xmm2
punpckhqdq xmm0, xmm1
movdqa xmm1, xmm7
movdqu xmmword [rax - 0x190], xmm0
movdqa xmm0, xmm8
punpcklqdq xmm1, xmm7
punpcklqdq xmm8, xmm8
punpcklqdq xmm2, xmm2
punpckhqdq xmm7, xmm8
punpckhqdq xmm3, xmm2
punpckhqdq xmm0, xmm1
movdqu xmmword [rax + 0xf0], xmm7
movdqu xmmword [rax - 0x110], xmm3
movdqu xmmword [rax + 0x70], xmm0
sub r9, 1
jne 0x14021bf90
lea rax, [rsp + 0x60]
sub rax, r15
sub r13, r15
movdqu xmm0, xmmword [rax + r15]
pxor xmm0, xmmword [r15]
movdqu xmmword [r15], xmm0
movdqu xmmword [r15 + r13], xmm0
lea r15, [r15 + 0x10]
sub r12, 1
jne 0x14021c4b5
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1400106c0
lea r11, [rsp + 0x510]
mov rbx, qword [r11 + 0x48]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret