Function at 0x18008aca0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0x78
mov rax, qword [0x1800f3188]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov ebp, r9d
mov rsi, r8
mov rbx, rdx
mov r14, rcx
test r9d, r9d
je 0x18008ad2e
cmp dword [rcx + 0x40], r12d
jbe 0x18008ad2e
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.18008af60
mov eax, dword [r14 + 0x40]
lea r8, [rsp + 0x60]
sub r8, rax
mov r9, rsi
sub r8, rbx
mov edx, r12d
sub r9, rbx
mov rcx, rbx
nop
cmp edx, dword [r14 + 0x40]
jae 0x18008ad1a
movzx eax, byte [r8 + rcx]
inc edx
xor al, byte [rcx]
mov byte [r9 + rcx], al
inc rcx
cmp edx, ebp
jb 0x18008ad00
sub dword [r14 + 0x40], edx
jne 0x18008ad24
inc dword [r14 + 0x30]
mov eax, edx
sub ebp, edx
add rsi, rax
add rbx, rax
mov r13d, 0x40
cmp ebp, r13d
jb 0x18008ae2c
mov qword [rsp + 0xb8], rdi
lea rdi, [rsi + 0x3f]
mov qword [rsp + 0x70], r15
mov r15d, ebp
shr r15, 6
nop word [rax + rax]
mov rdx, r14
lea rcx, [rsp + 0x20]
call fcn.18008af60
inc dword [r14 + 0x30]
lea rax, [rbx + 0x3f]
cmp rsi, rax
ja 0x18008ad7f
cmp rdi, rbx
jae 0x18008ad93
lea rax, [rsp + 0x5f]
cmp rsi, rax
ja 0x18008adcb
lea rax, [rsp + 0x20]
cmp rdi, rax
jb 0x18008adcb
lea rax, [rsp + 0x20]
mov r8, r13
nop dword [rax + rax]
lea rdx, [rsp + 0x30]
mov rcx, rax
sub rcx, rdx
lea r9, [rsp + 0x5f]
movzx edx, byte [rcx + rbx + 0x10]
mov rcx, rax
xor dl, byte [rax]
sub rcx, r9
inc rax
mov byte [rcx + rdi], dl
sub r8, 1
jne 0x18008ada0
jmp 0x18008ae09
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
pxor xmm0, xmmword [rsp + 0x20]
pxor xmm1, xmmword [rsp + 0x30]
movdqu xmmword [rsi], xmm0
movdqu xmm0, xmmword [rbx + 0x20]
movdqu xmmword [rdi - 0x2f], xmm1
movdqu xmm1, xmmword [rbx + 0x30]
pxor xmm0, xmmword [rsp + 0x40]
pxor xmm1, xmmword [rsp + 0x50]
movdqu xmmword [rdi - 0x1f], xmm0
movdqu xmmword [rdi - 0xf], xmm1
add ebp, 0xffffffc0
add rsi, r13
add rdi, r13
add rbx, r13
sub r15, 1
jne 0x18008ad60
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0xb8]
test ebp, ebp
je 0x18008af3b
mov rdx, r14
lea rcx, [rsp + 0x20]
call fcn.18008af60
test ebp, ebp
je 0x18008af34
cmp ebp, r13d
jb 0x18008aefe
lea eax, [rbp - 1]
mov ecx, eax
lea rdx, [rax + rsi]
add rax, rbx
cmp rsi, rax
ja 0x18008ae6c
cmp rdx, rbx
jae 0x18008aefe
lea rax, [rsp + 0x20]
add rax, rcx
cmp rsi, rax
ja 0x18008ae83
lea rax, [rsp + 0x20]
cmp rdx, rax
jae 0x18008aefe
mov edx, ebp
and edx, 0xffffffc0
mov r8d, 0x20
nop
movdqu xmm0, xmmword [rsp + r12 + 0x20]
lea eax, [r8 - 0x10]
movdqu xmm1, xmmword [r12 + rbx]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmmword [r12 + rsi], xmm1
add r12d, r13d
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
mov eax, r8d
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r8 + 0x10]
add r8d, r13d
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rsp + rax + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp r12d, edx
jb 0x18008ae90
cmp r12d, ebp
jae 0x18008af34
mov eax, r12d
lea rcx, [rsp + 0x20]
add rcx, rax
mov edx, ebp
lea rax, [rsp + 0x20]
sub rbx, rax
lea rax, [rsp + 0x20]
sub rsi, rax
sub edx, r12d
mov r12d, ebp
movzx eax, byte [rcx + rbx]
xor al, byte [rcx]
mov byte [rcx + rsi], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x18008af21
sub r13d, r12d
mov dword [r14 + 0x40], r13d
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1800a1bf0
add rsp, 0x78
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret