Function at 0x14008aa90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x938
movaps xmmword [rsp + 0x920], xmm6
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x30], rcx
mov rax, qword [0x140162028]
xor rax, rsp
mov qword [rsp + 0x918], rax
lea rsi, [rsp + 0x260]
mov r14d, 0xf
lea r12, [0x140137490]
lea rcx, [rsp + 0xf8]
mov rdx, r12
call fcn.1400989d0
lea rdx, [r12 + 0x20]
lea rcx, [rsp + 0x58]
call fcn.1400989d0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r13, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x100]
lea r9, [r13 + rax]
lea r10, [r8 + rcx]
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x108]
mov rbp, r14
lea r14, [r11 + rdx]
mov rdi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x110]
mov qword [rsi - 0x50], r9
lea r9, [r15 + rdi]
mov qword [rsi - 0x48], r10
mov rbx, qword [rsp + 0x78]
mov qword [rsi - 0x40], r14
mov r14, rbp
mov r10, qword [rsp + 0x118]
mov qword [rsi - 0x38], r9
lea rbp, [r10 + rbx]
mov qword [rsi - 0x30], rbp
movabs rbp, 0xffffffffffffe
add rax, rbp
sub rax, r13
movabs rbp, 0xffffffffffffe
add rcx, rbp
sub rcx, r8
add rdx, rbp
sub rdx, r11
add rdi, rbp
sub rdi, r15
add rbx, rbp
sub rbx, r10
add rax, 0xffffffffffffffdc
mov qword [rsi - 0x28], rax
mov qword [rsi - 0x20], rcx
mov qword [rsi - 0x18], rdx
mov qword [rsi - 0x10], rdi
mov qword [rsi - 8], rbx
mov rcx, rsi
lea rdx, [rsp + 0xf8]
lea r8, [rsp + 0x58]
call fcn.140098310
mov rcx, rsi
mov rdx, rsi
lea r8, [0x140137460]
call fcn.140098310
add rsi, 0x78
add r12, 0x40
dec r14
jne 0x14008aadc
xorps xmm6, xmm6
mov rcx, qword [rsp + 0x30]
movups xmmword [rcx + 0x10], xmm6
movups xmmword [rcx], xmm6
xor eax, eax
mov qword [rcx + 0x20], rax
lea rdx, [rcx + 0x28]
mov qword [rsp + 0x48], rdx
movups xmmword [rcx + 0x30], xmm6
movups xmmword [rcx + 0x40], xmm6
mov edx, 1
mov qword [rcx + 0x28], rdx
lea rbp, [rcx + 0x50]
mov qword [rsp + 0x40], rbp
movups xmmword [rcx + 0x58], xmm6
movups xmmword [rcx + 0x68], xmm6
mov qword [rcx + 0x50], rdx
lea rdx, [rcx + 0x78]
mov qword [rsp + 0x38], rdx
movups xmmword [rcx + 0x78], xmm6
movups xmmword [rcx + 0x88], xmm6
mov qword [rcx + 0x98], rax
mov ecx, 0x3f
lea r14, [rsp + 0x198]
mov r12, qword [rsp + 0x30]
mov eax, ecx
shr rax, 3
mov rbx, qword [rsp + 0x50]
movzx edx, byte [rbx + rax]
mov dword [rsp + 0x2c], ecx
and cl, 7
shr edx, cl
and edx, 1
movzx ebp, byte [rbx + rax + 8]
shr ebp, cl
movzx edi, byte [rbx + rax + 0x10]
shr edi, cl
and ebp, 1
lea edx, [rdx + rbp*2]
and edi, 1
lea edx, [rdx + rdi*4]
movzx eax, byte [rbx + rax + 0x18]
shr eax, cl
and eax, 1
lea r13d, [rdx + rax*8]
lea rcx, [rsp + 0x1a0]
movups xmmword [rcx + 0x10], xmm6
movups xmmword [rcx], xmm6
mov eax, 1
mov qword [rsp + 0x198], rax
movups xmmword [rcx + 0x38], xmm6
movups xmmword [rcx + 0x28], xmm6
mov qword [rsp + 0x1c0], rax
movups xmmword [rcx + 0x58], xmm6
movups xmmword [rcx + 0x48], xmm6
mov qword [rcx + 0x68], 0
mov rdi, 0xfffffffffffffff1
lea rbp, [rsp + 0x210]
lea r8d, [rdi + 0x10]
xor r8d, r13d
dec r8d
shr r8d, 0x1f
mov rcx, r14
mov rdx, rbp
call fcn.14008af10
add rbp, 0x78
inc rdi
jne 0x14008acec
mov rax, qword [r12 + 0x28]
mov rbx, qword [r12]
mov r9, qword [r12 + 8]
lea r8, [rbx + rax]
mov rcx, qword [r12 + 0x30]
mov rdx, qword [r12 + 0x38]
mov r13, qword [r12 + 0x10]
mov rbp, qword [r12 + 0x40]
mov r10, qword [r12 + 0x18]
mov rdi, qword [r12 + 0x48]
mov r11, qword [r12 + 0x20]
mov qword [rsp + 0xf8], r8
lea rsi, [r9 + rcx]
mov qword [rsp + 0x100], rsi
lea rsi, [r13 + rdx]
mov qword [rsp + 0x108], rsi
lea rsi, [r10 + rbp]
mov qword [rsp + 0x110], rsi
lea rsi, [r11 + rdi]
mov qword [rsp + 0x118], rsi
movabs rsi, 0xffffffffffffe
add rax, rsi
sub rax, rbx
add rcx, rsi
sub rcx, r9
add rdx, rsi
sub rdx, r13
add rbp, rsi
sub rbp, r10
add rdi, rsi
sub rdi, r11
add rax, 0xffffffffffffffdc
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rbp
mov qword [rsp + 0x140], rdi
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi + 0x20]
lea rcx, [rsp + 0x148]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rcx, [rsp + 0x170]
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
lea r8, [0x140137460]
call fcn.140098310
lea r13, [rsp + 0x58]
mov rcx, r13
mov rdx, r12
lea r8, [rsp + 0xf8]
call fcn.14008a750
mov rcx, r12
mov rdx, r13
lea r15, [rsp + 0xd0]
mov r8, r15
call fcn.140098310
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
lea rax, [rsp + 0x80]
mov rdx, rax
lea rbp, [rsp + 0xa8]
mov r8, rbp
call fcn.140098310
mov rcx, rdi
mov rdx, rbp
mov r8, r15
call fcn.140098310
mov rcx, rbx
mov rdx, r13
lea r8, [rsp + 0x80]
call fcn.140098310
mov rcx, r13
mov rdx, r12
mov r8, r14
call fcn.14008af60
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.140098310
mov rcx, rsi
lea rsi, [rsp + 0x80]
mov rdx, rsi
mov r8, rbp
call fcn.140098310
mov rcx, rdi
mov rdx, rbp
mov r8, r15
call fcn.140098310
mov rcx, rbx
mov rdx, r13
mov r8, rsi
call fcn.140098310
mov ecx, dword [rsp + 0x2c]
dec ecx
cmp ecx, 0x40
jb 0x14008ac5e
mov rcx, qword [rsp + 0x918]
xor rcx, rsp
call fcn.1400f0560
movaps xmm6, xmmword [rsp + 0x920]
add rsp, 0x938
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret