Function at 0x1400a9b00
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x38
call fcn.140103e70
sub rsp, rax
mov eax, dword [rcx + 0x18]
mov r10d, dword [rcx + 0x14]
mov rbp, rcx
mov ecx, dword [rcx + 0x1c]
mov ebx, dword [rbp + 0xc]
mov r11d, dword [rbp]
mov edi, dword [rbp + 4]
mov esi, dword [rbp + 8]
mov r15, r8
mov r8d, dword [rbp + 0x20]
mov r12d, eax
mov r13d, ecx
shr r12d, 2
shr r13d, 2
mov r14d, r8d
shr r14d, 2
add r12d, eax
add r13d, ecx
add r14d, r8d
mov r9, rdx
mov edx, dword [rbp + 0x10]
mov dword [rsp], ebx
cmp r15, 0x10
jb 0x1400a9e18
mov qword [rsp + 0x20], r10
lea r10, [r9 + 6]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x10], rcx
mov qword [rsp + 8], rax
shr r15, 4
mov qword [rsp + 0x18], r10
mov ebp, edx
nop dword [rax]
movzx eax, byte [r10 - 4]
movzx ebx, byte [r10 - 3]
movzx r8d, byte [r10 + 5]
movzx edx, byte [r10 + 9]
shl r8d, 8
shl ebx, 8
or ebx, eax
movzx eax, byte [r10 - 5]
shl edx, 8
shl ebx, 8
or ebx, eax
movzx eax, byte [r9]
movzx r9d, byte [r10 + 1]
shl r9d, 8
shl ebx, 8
or rbx, rax
mov eax, r11d
add rbx, rax
movzx eax, byte [r10]
or r9d, eax
movzx eax, byte [r10 - 1]
mov ecx, ebx
shl r9d, 8
or r9d, eax
movzx eax, byte [r10 - 2]
shl r9d, 8
or r9, rax
mov rax, rbx
shr rax, 0x20
add r9, rax
mov eax, edi
add r9, rax
movzx eax, byte [r10 + 4]
or r8d, eax
movzx eax, byte [r10 + 3]
shl r8d, 8
or r8d, eax
movzx eax, byte [r10 + 2]
shl r8d, 8
or r8, rax
mov rax, r9
shr rax, 0x20
add r8, rax
mov eax, esi
mov esi, ebx
add r8, rax
movzx eax, byte [r10 + 8]
mov ebx, r13d
or edx, eax
movzx eax, byte [r10 + 7]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + 6]
mov r10d, r9d
shl edx, 8
mov r9d, r8d
or rdx, rax
mov rax, r8
mov r8d, r12d
shr rax, 0x20
add rdx, rax
mov eax, dword [rsp]
add rdx, rax
mov rax, rdx
mov r11d, edx
mov rdx, qword [rsp + 0x20]
shr rax, 0x20
add eax, dword [rsp + 0x98]
imul rsi, rdx
add ebp, eax
mov rax, r11
mov edi, ebp
imul rax, r8
mov r8d, r14d
add rsi, rax
mov rax, r9
imul rax, rbx
add rsi, rax
mov rax, r10
imul rax, r8
add rsi, rax
mov rax, qword [rsp + 8]
imul edi, r12d
imul rax, rcx
add rdi, rax
mov rax, r10
imul rax, rdx
add rdi, rax
mov rax, r11
imul rax, rbx
mov ebx, ebp
imul ebx, r13d
add rdi, rax
mov rax, r9
imul rax, r8
add rdi, rax
mov rax, rsi
shr rax, 0x20
add rdi, rax
mov rax, qword [rsp + 8]
imul rax, r10
add rbx, rax
mov rax, qword [rsp + 0x10]
imul rax, rcx
add rbx, rax
mov rax, r9
imul r9, qword [rsp + 8]
imul rax, rdx
add rbx, rax
mov rax, r11
imul r11, rdx
imul rax, r8
mov r8d, ebp
imul r8d, r14d
imul ebp, edx
add rbx, rax
mov rax, rdi
shr rax, 0x20
add rbx, rax
mov rax, qword [rsp + 0x10]
imul rax, r10
add r8, rax
mov rax, qword [rsp + 0x28]
imul rax, rcx
add r8, rax
mov rax, rbx
shr rax, 0x20
add r8, r9
add r8, r11
add r8, rax
mov rax, r8
shr rax, 0x20
add ebp, eax
mov ecx, ebp
mov eax, ebp
mov edx, ebp
and eax, 0xfffffffc
shr ecx, 2
add ecx, eax
lea r11d, [rcx + rsi]
mov eax, r11d
sub eax, ecx
xor eax, ecx
xor ecx, r11d
or eax, ecx
xor eax, r11d
shr eax, 0x1f
add edi, eax
mov ecx, edi
sub ecx, eax
xor ecx, eax
xor eax, edi
or ecx, eax
xor ecx, edi
shr ecx, 0x1f
lea esi, [rcx + rbx]
mov eax, esi
sub eax, ecx
xor eax, ecx
xor ecx, esi
or eax, ecx
xor eax, esi
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x18]
shr eax, 0x1f
lea ebx, [rax + r8]
and edx, 3
add r9, 0x10
add r10, 0x10
mov ebp, ebx
mov dword [rsp], ebx
sub ebp, eax
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x18], r10
xor ebp, eax
xor eax, ebx
or ebp, eax
xor ebp, ebx
shr ebp, 0x1f
add ebp, edx
sub r15, 1
jne 0x1400a9ba0
mov dword [rsp + 0x90], ebp
mov rbp, qword [rsp + 0x80]
mov edx, dword [rsp + 0x90]
mov dword [rbp], r11d
mov dword [rbp + 4], edi
mov dword [rbp + 8], esi
mov dword [rbp + 0xc], ebx
mov dword [rbp + 0x10], edx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret