Function at 0x14005ca70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1400af040]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r8
mov r13, rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor ebx, ebx
mov dword [rbp - 0x64], ebx
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x48], rbx
call fcn.140052730
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x30
call fcn.140084afc
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x28
mov qword [rsp + 0x68], 0x2f
movups xmm0, xmmword [str.RtlDosApplyFileIsolationRedirection_Ustr]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14009d910]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14009d920]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], bl
call fcn.14006cb10
lea r15, [r14 + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov ecx, ebx
movabs rdx, 0x100000001b3
nop dword [rax]
movzx eax, byte [rsi + rcx]
xor r9, rax
imul r9, rdx
inc rcx
cmp rcx, 0x28
jb 0x14005cb50
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140053020
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005cb93
cmp rcx, qword [r14 + 8]
je 0x14005cb93
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14005cb9f
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, rbx
mov edx, 0x30
mov rcx, rsi
call fcn.140084d80
test r14, r14
jne 0x14005cbbb
mov eax, 0xc0000138
jmp 0x14005cf1d
call fcn.140052730
mov r14, rax
mov r15, r13
cmp qword [r13 + 0x18], 7
jbe 0x14005cbd1
mov r15, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x20
call fcn.140084afc
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x14
mov qword [rsp + 0x68], 0x1f
movups xmm0, xmmword [str.RtlInitUnicodeString]
movups xmmword [rax], xmm0
mov ecx, dword [0x14009dc88]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
call fcn.14006cb10
lea r12, [r14 + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, rdi
mov rcx, rbx
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
xor r9, rax
imul r9, rdx
inc rcx
cmp rcx, 0x14
jb 0x14005cc40
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140053020
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005cc92
cmp rcx, qword [r14 + 8]
je 0x14005cc92
mov r14, qword [rcx + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14005cc9c
mov rdx, r15
lea rcx, [rbp - 0x40]
call r14
jmp 0x14005cc9c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov edx, 0x20
mov rcx, rsi
call fcn.140084d80
lea rax, [rbp - 0x30]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], 0x1fe0000
mov r12, qword [rsp + 0x70]
cmp r12, 0xffffffffffffffff
je 0x14005ccd0
lea rdx, [rbp - 0x48]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
call fcn.140052730
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x30
call fcn.140084afc
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x28
mov qword [rsp + 0x68], 0x2f
movups xmm0, xmmword [str.RtlDosApplyFileIsolationRedirection_Ustr]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14009d910]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14009d920]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], 0
call fcn.14006cb10
lea r15, [r14 + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, rdi
mov rcx, rbx
movabs r12, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rsi]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, 0x28
jb 0x14005cd50
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140053020
mov rcx, qword [rax + 8]
test rcx, rcx
mov r12, qword [rsp + 0x70]
je 0x14005cdd4
cmp rcx, qword [r14 + 8]
je 0x14005cdd4
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14005cddd
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
xor r8d, r8d
lea rdx, [rbp - 0x40]
mov ecx, 1
call r14
mov r14d, eax
jmp 0x14005cde3
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14d, 0xc0000138
mov edx, 0x30
mov rcx, rsi
call fcn.140084d80
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14005ce07
cmp r12, 0xffffffffffffffff
je 0x14005ce07
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test r14d, r14d
jne 0x14005ce3a
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r14b
je 0x14005ce25
mov eax, 0xc015001d
jmp 0x14005cf1d
mov rdx, qword [rbp - 0x70]
mov rdx, qword [rdx + 8]
mov rcx, r13
call fcn.140050a10
jmp 0x14005cf1a
cmp qword [rbp - 0x50], 0
je 0x14005cf1a
call fcn.140052730
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x20
call fcn.140084afc
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x14
mov qword [rsp + 0x68], 0x1f
movups xmm0, xmmword [str.RtlFreeUnicodeString]
movups xmmword [rax], xmm0
mov ecx, dword [0x14009dca0]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
call fcn.14006cb10
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movabs r15, 0x100000001b3
nop dword [rax]
movzx eax, byte [rsi + rbx]
xor rdi, rax
imul rdi, r15
inc rbx
cmp rbx, 0x14
jb 0x14005ceb0
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r13
call fcn.140053020
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14005cf02
cmp rdx, qword [r13 + 8]
je 0x14005cf02
mov rbx, qword [rdx + 0x30]
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14005cf0d
lea rcx, [rbp - 0x58]
call rbx
jmp 0x14005cf0d
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov edx, 0x20
mov rcx, rsi
call fcn.140084d80
mov eax, r14d
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.140085040
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret