Function at 0x14005c820
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.1400524e0
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x30
call fcn.1400848ec
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 [0x14009d920]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14009d930]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], bl
call fcn.14006c8c0
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 0x14005c900
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140052dd0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005c943
cmp rcx, qword [r14 + 8]
je 0x14005c943
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14005c94f
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, rbx
mov edx, 0x30
mov rcx, rsi
call fcn.140084b70
test r14, r14
jne 0x14005c96b
mov eax, 0xc0000138
jmp 0x14005cccd
call fcn.1400524e0
mov r14, rax
mov r15, r13
cmp qword [r13 + 0x18], 7
jbe 0x14005c981
mov r15, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x20
call fcn.1400848ec
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 [0x14009dc98]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
call fcn.14006c8c0
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 0x14005c9f0
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140052dd0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005ca42
cmp rcx, qword [r14 + 8]
je 0x14005ca42
mov r14, qword [rcx + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14005ca4c
mov rdx, r15
lea rcx, [rbp - 0x40]
call r14
jmp 0x14005ca4c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov edx, 0x20
mov rcx, rsi
call fcn.140084b70
lea rax, [rbp - 0x30]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], 0x1fe0000
mov r12, qword [rsp + 0x70]
cmp r12, 0xffffffffffffffff
je 0x14005ca80
lea rdx, [rbp - 0x48]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
call fcn.1400524e0
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x30
call fcn.1400848ec
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 [0x14009d920]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14009d930]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], 0
call fcn.14006c8c0
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 0x14005cb00
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140052dd0
mov rcx, qword [rax + 8]
test rcx, rcx
mov r12, qword [rsp + 0x70]
je 0x14005cb84
cmp rcx, qword [r14 + 8]
je 0x14005cb84
mov r14, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x14005cb8d
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 0x14005cb93
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14d, 0xc0000138
mov edx, 0x30
mov rcx, rsi
call fcn.140084b70
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x14005cbb7
cmp r12, 0xffffffffffffffff
je 0x14005cbb7
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test r14d, r14d
jne 0x14005cbea
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r14b
je 0x14005cbd5
mov eax, 0xc015001d
jmp 0x14005cccd
mov rdx, qword [rbp - 0x70]
mov rdx, qword [rdx + 8]
mov rcx, r13
call fcn.1400507c0
jmp 0x14005ccca
cmp qword [rbp - 0x50], 0
je 0x14005ccca
call fcn.1400524e0
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, 0x20
call fcn.1400848ec
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 [0x14009dcb0]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
call fcn.14006c8c0
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 0x14005cc60
mov r9, rdi
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rcx, r13
call fcn.140052dd0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14005ccb2
cmp rdx, qword [r13 + 8]
je 0x14005ccb2
mov rbx, qword [rdx + 0x30]
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14005ccbd
lea rcx, [rbp - 0x58]
call rbx
jmp 0x14005ccbd
lea rcx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov edx, 0x20
mov rcx, rsi
call fcn.140084b70
mov eax, r14d
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.140084e30
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret