Function at 0x140003a18
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov edx, 0x9e3779b9
xor eax, eax
mov r14, rcx
mov qword [rcx + 0x808], rax
mov dword [rcx + 0x804], eax
mov r11d, edx
mov ebx, edx
mov edi, edx
lea ecx, [rax + 4]
mov esi, edx
mov r8d, edx
mov r9d, edx
mov r10d, edx
mov eax, r9d
add r9d, r8d
shl eax, 0xb
xor r10d, eax
mov eax, r8d
shr eax, 2
add esi, r10d
xor r9d, eax
add r8d, esi
add edi, r9d
mov eax, esi
shl eax, 8
add esi, edi
xor r8d, eax
mov eax, edi
shr eax, 0x10
add ebx, r8d
xor esi, eax
add edi, ebx
add r11d, esi
mov eax, ebx
shl eax, 0xa
add ebx, r11d
xor edi, eax
mov eax, r11d
shr eax, 4
add edx, edi
xor ebx, eax
add r11d, edx
add r10d, ebx
mov eax, edx
shl eax, 8
add edx, r10d
xor r11d, eax
mov eax, r10d
shr eax, 9
add r9d, r11d
xor edx, eax
add r10d, r9d
add r8d, edx
sub rcx, 1
jne 0x140003a5c
lea rbp, [r14 + 0xc]
lea r15d, [rcx + 0x20]
add r8d, dword [rbp]
add r9d, dword [rbp - 4]
add r10d, dword [rbp - 8]
lea rbp, [rbp + 0x20]
mov eax, r9d
add r9d, r8d
shl eax, 0xb
xor r10d, eax
mov eax, dword [rbp - 0x1c]
add eax, r10d
add esi, eax
mov eax, r8d
shr eax, 2
add r8d, esi
xor r9d, eax
mov eax, dword [rbp - 0x18]
add eax, r9d
add edi, eax
mov eax, esi
shl eax, 8
add esi, edi
xor r8d, eax
mov eax, dword [rbp - 0x14]
add eax, r8d
add ebx, eax
mov eax, edi
shr eax, 0x10
add edi, ebx
xor esi, eax
mov eax, dword [rbp - 0x10]
add eax, esi
add r11d, eax
mov eax, ebx
shl eax, 0xa
add ebx, r11d
xor edi, eax
mov eax, dword [rbp - 0xc]
add eax, edi
mov dword [rbp + 0x3e4], esi
add edx, eax
mov dword [rbp + 0x3e8], edi
mov eax, r11d
add r11d, edx
shr eax, 4
xor ebx, eax
mov eax, edx
shl eax, 8
add r10d, ebx
xor r11d, eax
mov dword [rbp + 0x3ec], ebx
add edx, r10d
mov dword [rbp + 0x3f0], r11d
add r9d, r11d
mov eax, r10d
shr eax, 9
add r10d, r9d
xor edx, eax
mov dword [rbp + 0x3d8], r10d
add r8d, edx
mov dword [rbp + 0x3dc], r9d
mov dword [rbp + 0x3e0], r8d
mov dword [rbp + 0x3f4], edx
sub r15, 1
jne 0x140003ad7
lea r15, [r14 + 0x40c]
mov ebp, 0x20
add r8d, dword [r15]
add r9d, dword [r15 - 4]
add r10d, dword [r15 - 8]
mov eax, r9d
mov ecx, dword [r15 + 4]
add r9d, r8d
shl eax, 0xb
xor r10d, eax
mov eax, r8d
shr eax, 2
add ecx, r10d
xor r9d, eax
add esi, ecx
mov eax, dword [r15 + 8]
add r8d, esi
mov ecx, dword [r15 + 0x14]
add eax, r9d
add edi, eax
mov eax, esi
shl eax, 8
add esi, edi
xor r8d, eax
mov eax, dword [r15 + 0xc]
add eax, r8d
add ebx, eax
mov eax, edi
shr eax, 0x10
add edi, ebx
xor esi, eax
mov eax, dword [r15 + 0x10]
add eax, esi
mov dword [r15 + 4], esi
add r11d, eax
mov eax, ebx
shl eax, 0xa
add ebx, r11d
xor edi, eax
mov eax, r11d
shr eax, 4
add ecx, edi
xor ebx, eax
mov dword [r15 + 8], edi
add edx, ecx
mov dword [r15 + 0xc], ebx
add r11d, edx
add r10d, ebx
mov eax, edx
add edx, r10d
shl eax, 8
xor r11d, eax
mov eax, r10d
add r9d, r11d
shr eax, 9
xor edx, eax
mov dword [r15 - 4], r9d
add r8d, edx
mov dword [r15 + 0x10], r11d
add r10d, r9d
mov dword [r15], r8d
mov dword [r15 - 8], r10d
mov dword [r15 + 0x14], edx
lea r15, [r15 + 0x20]
sub rbp, 1
jne 0x140003bb7
mov rcx, r14
call fcn.1400037a0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov dword [r14], 0x100
add rsp, 0x20
pop r15
pop r14
pop rdi
ret