Function at 0x14000aea0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x21b0]
mov eax, 0x22b0
call fcn.140014640
sub rsp, rax
mov rax, qword [0x14005b1f0]
xor rax, rsp
mov qword [rbp + 0x21a0], rax
mov rbx, rcx
lea rdi, [rbp + 0x120]
xor eax, eax
mov r14d, 0x1f
mov ecx, 0x20
mov esi, 4
rep stosd dword [rdi], eax
mov dword [rbp + 0x1a0], 1
lea rdi, [rbp + 0x1a4]
mov ecx, r14d
mov r13, r8
rep stosd dword [rdi], eax
mov dword [rbp + 0x220], 1
lea rdi, [rbp + 0x224]
mov ecx, r14d
rep stosd dword [rdi], eax
lea rdi, [rbp + 0x2a0]
mov ecx, 0x20
rep stosd dword [rdi], eax
lea rcx, [rbp + 0x320]
mov edi, esi
mov rax, rdx
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdi, 1
jne 0x14000af40
lea rcx, [rsp + 0x20]
call fcn.14000a4d0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x520]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x5a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x620]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x6a0]
call fcn.14000c6f0
lea r8, [rbp + 0x520]
lea rdx, [rbp + 0x320]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x720]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x7a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x820]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x8a0]
call fcn.14000c6f0
lea rax, [rbp + 0x920]
mov rdx, rsi
lea rcx, [0x140036b60]
nop word [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x14000b080
lea r8, [rbp + 0x920]
lea rdx, [rbp + 0x320]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xb20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xba0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xc20]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xca0]
call fcn.14000c6f0
lea r8, [rbp + 0x920]
lea rdx, [rbp + 0x520]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xd20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xda0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xe20]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xea0]
call fcn.14000c6f0
lea r8, [rbp + 0x920]
lea rdx, [rbp + 0x720]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xf20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xfa0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1020]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x10a0]
call fcn.14000c6f0
lea rdx, [0x140036b60]
lea rcx, [rsp + 0x20]
call fcn.14000a4d0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1120]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x11a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1220]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x12a0]
call fcn.14000c6f0
lea r8, [rbp + 0x1120]
lea rdx, [rbp + 0x320]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1320]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x13a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1420]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x14a0]
call fcn.14000c6f0
lea rdx, [rbp + 0xb20]
lea rcx, [rsp + 0x20]
call fcn.14000a4d0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1520]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x15a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1620]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x16a0]
call fcn.14000c6f0
lea r8, [rbp + 0x1120]
lea rdx, [rbp + 0x720]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1720]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x17a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1820]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x18a0]
call fcn.14000c6f0
lea r8, [rbp + 0x1120]
lea rdx, [rbp + 0x920]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1920]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x19a0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1a20]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1aa0]
call fcn.14000c6f0
lea r8, [rbp + 0x1920]
lea rdx, [rbp + 0x320]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1b20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x1ba0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1c20]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1ca0]
call fcn.14000c6f0
lea r8, [rbp + 0x1920]
lea rdx, [rbp + 0x520]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1d20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x1da0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x1e20]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1ea0]
call fcn.14000c6f0
lea r8, [rbp + 0x1920]
lea rdx, [rbp + 0x720]
lea rcx, [rsp + 0x20]
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x1f20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x1fa0]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x2020]
call fcn.14000c6f0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x20a0]
call fcn.14000c6f0
mov rax, qword [rbp + 0x2210]
lea r9, [rbp + 0x2120]
mov r10, r13
lea r11, [rbp + 0x2121]
lea r15, [rbp + 0x2122]
sub r9, rax
sub r10, rax
lea r12, [rbp + 0x2123]
sub r11, rax
sub r15, rax
sub r12, rax
mov r8, rax
nop dword [rax]
mov edi, dword [r8]
mov edx, dword [r10 + r8]
movzx ecx, byte [r8]
movzx eax, byte [r10 + r8]
lea r8, [r8 + 4]
and cl, 3
and al, 3
shl cl, 2
xor cl, al
mov eax, edx
mov byte [r9 + r8 - 4], cl
mov ecx, edi
shr ecx, 2
and cl, 3
shr eax, 2
shl cl, 2
and al, 3
xor cl, al
mov eax, edx
mov byte [r11 + r8 - 4], cl
mov ecx, edi
shr ecx, 4
shr edi, 6
and cl, 3
and dil, 3
shr eax, 4
shr edx, 6
and al, 3
shl cl, 2
and dl, 3
shl dil, 2
xor cl, al
xor dil, dl
mov byte [r15 + r8 - 4], cl
mov byte [r12 + r8 - 4], dil
sub r14, 1
jne 0x14000b5d0
mov rdx, qword [rbp + 0x2210]
movzx eax, byte [r13 + 0x7c]
and al, 3
movzx ecx, byte [rdx + 0x7c]
mov edi, dword [rdx + 0x7c]
and cl, 3
mov edx, dword [r13 + 0x7c]
shl cl, 2
xor cl, al
mov eax, edx
mov byte [rbp + 0x219c], cl
mov ecx, edi
shr ecx, 2
shr edi, 4
and cl, 3
shr eax, 2
and dil, 3
and al, 3
shl cl, 2
xor cl, al
shr edx, 4
shl dil, 2
and dl, 3
xor dil, dl
mov byte [rbp + 0x219d], cl
movzx eax, dil
mov rcx, rbx
mov byte [rbp + 0x219e], al
shl rax, 9
lea rax, [rbp + rax + 0x120]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rsi, 1
jne 0x14000b6b2
lea edi, [rsi + 0x7d]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000a4d0
lea r8, [rbp + 0xa0]
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbx + 0x80]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbx + 0x100]
call fcn.14000c6f0
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000a4d0
movzx r15d, byte [rbp + rdi + 0x2120]
test r15b, r15b
je 0x14000b7ea
lea r8, [rbp + 0xa0]
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbx + 0x80]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbx + 0x100]
call fcn.14000c6f0
lea rcx, [rbx + 0x180]
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
call fcn.14000c6f0
movzx eax, r15b
lea r8, [rbp + 0x120]
shl rax, 9
lea rcx, [rsp + 0x20]
add r8, rax
mov rdx, rbx
call fcn.14000a2f0
lea r8, [rbp + 0xa0]
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.14000c6f0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
lea rcx, [rbx + 0x80]
call fcn.14000c6f0
lea r8, [rbp + 0xa0]
lea rdx, [rbp - 0x60]
lea rcx, [rbx + 0x100]
call fcn.14000c6f0
test rdi, rdi
jne 0x14000b843
lea rcx, [rbx + 0x180]
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x20]
call fcn.14000c6f0
sub rdi, 1
jns 0x14000b710
mov rcx, qword [rbp + 0x21a0]
xor rcx, rsp
call fcn.140014060
mov rbx, qword [rsp + 0x2300]
add rsp, 0x22b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret