Function at 0x1800aef68
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
and qword [rbp - 0x30], 0
mov r14, rdx
and qword [rbp - 0x28], 0
lea rdx, [rcx + 0x124]
mov r13d, r8d
mov rbx, rcx
lea rcx, [rbp - 0x10]
mov r8d, 0x10
mov r12, r9
call fcn.1800baef0
mov r15d, 2
lea r10, [rbp - 0x10]
mov r8d, r15d
movabs r9, 0xff00ff00ff00ff
movabs r11, 0xffff0000ffff
mov rcx, qword [r10]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, r9
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
shl rdx, 0x10
and rcx, r11
xor rcx, rdx
rol rcx, 0x20
mov qword [r10], rcx
lea r10, [r10 + 8]
sub r8, 1
jne 0x1800aefd6
test r13d, r13d
je 0x1800af1c6
test r14, r14
je 0x1800af1c6
mov edi, r13d
mov esi, r13d
shr edi, 4
and esi, 0xf
test edi, edi
je 0x1800af0e5
mov r13, r9
mov r12, r11
dec edi
lea rcx, [rbp - 0x20]
mov r8d, 0x10
mov rdx, r14
call fcn.1800baef0
lea r8, [rbp - 0x20]
mov r9, r15
mov rcx, qword [r8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, r13
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
shl rdx, 0x10
and rcx, r12
xor rcx, rdx
rol rcx, 0x20
mov qword [r8], rcx
lea r8, [r8 + 8]
sub r9, 1
jne 0x1800af067
movdqu xmm1, xmmword [rbp - 0x30]
lea rdx, [rbp - 0x10]
movdqu xmm0, xmmword [rbp - 0x20]
lea rcx, [rbp - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x30], xmm1
call fcn.1800aeeac
add r14, 0x10
test edi, edi
jne 0x1800af04c
mov r12, qword [rbp + 0x58]
mov r13d, dword [rbp + 0x50]
test esi, esi
je 0x1800af198
xor edx, edx
lea rcx, [rbp - 0x20]
lea r8d, [rdx + 0x10]
call fcn.1800bb5a0
mov r8d, esi
lea rcx, [rbp - 0x20]
mov rdx, r14
call fcn.1800baef0
lea r8, [rbp - 0x20]
mov r9, r15
movabs r13, 0xff00ff00ff00ff
movabs r12, 0xffff0000ffff
mov rcx, qword [r8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, r13
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
shl rdx, 0x10
and rcx, r12
xor rcx, rdx
rol rcx, 0x20
mov qword [r8], rcx
lea r8, [r8 + 8]
sub r9, 1
jne 0x1800af126
movdqu xmm1, xmmword [rbp - 0x30]
lea rdx, [rbp - 0x10]
movdqu xmm0, xmmword [rbp - 0x20]
lea rcx, [rbp - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x30], xmm1
call fcn.1800aeeac
mov r12, qword [rbp + 0x58]
mov r13d, dword [rbp + 0x50]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
mov dword [rbx + 0x138], ecx
mov rcx, qword [rbp - 0x28]
shr rax, 0x20
mov dword [rbx + 0x134], eax
mov rax, rcx
shr rax, 0x20
mov dword [rbx + 0x13c], eax
mov dword [rbx + 0x140], ecx
mov r14d, dword [rbp + 0x60]
test r14d, r14d
je 0x1800af381
test r12, r12
je 0x1800af381
mov edi, r14d
mov esi, r14d
shr edi, 4
and esi, 0xf
cmp dword [rbx + 0x144], 0
je 0x1800af21f
mov eax, dword [rbx + 0x138]
mov ecx, dword [rbx + 0x134]
shl rcx, 0x20
or rcx, rax
mov eax, dword [rbx + 0x140]
mov qword [rbp - 0x30], rcx
mov ecx, dword [rbx + 0x13c]
shl rcx, 0x20
or rcx, rax
mov qword [rbp - 0x28], rcx
test edi, edi
je 0x1800af2d4
movabs r14, 0xff00ff00ff00ff
movabs r13, 0xffff0000ffff
dec edi
lea rcx, [rbp - 0x20]
mov r8d, 0x10
mov rdx, r12
call fcn.1800baef0
lea r8, [rbp - 0x20]
mov r9, r15
mov rcx, qword [r8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, r14
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
shl rdx, 0x10
and rcx, r13
xor rcx, rdx
rol rcx, 0x20
mov qword [r8], rcx
lea r8, [r8 + 8]
sub r9, 1
jne 0x1800af256
movdqu xmm0, xmmword [rbp - 0x30]
lea rdx, [rbp - 0x10]
movdqu xmm1, xmmword [rbp - 0x20]
lea rcx, [rbp - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x30], xmm1
call fcn.1800aeeac
add r12, 0x10
test edi, edi
jne 0x1800af23b
mov r14d, dword [rbp + 0x60]
mov r13d, dword [rbp + 0x50]
test esi, esi
je 0x1800af381
xor edx, edx
lea rcx, [rbp - 0x20]
lea r8d, [rdx + 0x10]
call fcn.1800bb5a0
mov r8d, esi
lea rcx, [rbp - 0x20]
mov rdx, r12
call fcn.1800baef0
lea r8, [rbp - 0x20]
mov r9, r15
movabs rdi, 0xff00ff00ff00ff
movabs rsi, 0xffff0000ffff
mov rcx, qword [r8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rdi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
shl rdx, 0x10
and rcx, rsi
xor rcx, rdx
rol rcx, 0x20
mov qword [r8], rcx
lea r8, [r8 + 8]
sub r9, 1
jne 0x1800af315
movdqu xmm0, xmmword [rbp - 0x30]
lea rdx, [rbp - 0x10]
movdqu xmm1, xmmword [rbp - 0x20]
lea rcx, [rbp - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x30], xmm1
call fcn.1800aeeac
jmp 0x1800af395
movabs rdi, 0xff00ff00ff00ff
movabs rsi, 0xffff0000ffff
mov eax, r13d
mov qword [rbp - 0x20], rax
mov eax, r14d
mov qword [rbp - 0x18], rax
mov eax, dword [rbx + 0x144]
test eax, eax
je 0x1800af3b1
mov qword [rbp - 0x20], rax
movdqu xmm1, xmmword [rbp - 0x20]
mov eax, 3
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
movd xmm0, eax
psllq xmm1, xmm0
movdqu xmm0, xmmword [rbp - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x30], xmm1
call fcn.1800aeeac
lea r8, [rbp - 0x30]
mov rcx, qword [r8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rdi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
shl rdx, 0x10
and rcx, rsi
xor rcx, rdx
rol rcx, 0x20
mov qword [r8], rcx
lea r8, [r8 + 8]
sub r15, 1
jne 0x1800af3e2
mov r8d, dword [rbp + 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [rbp + 0x68]
call fcn.1800baef0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret