Function at 0x14004a910
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 [0x1400ee020]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r13, r9
mov qword [rsp + 0x70], r8
mov r12, rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xor edi, edi
mov dword [rbp - 0x6c], edi
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x50], rdi
call fcn.140024040
mov rbx, rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], dil
lea rdx, [0x1400d75e0]
lea rcx, [rsp + 0x50]
call fcn.140006a18
nop
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004bcb0
test rax, rax
sete bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004a9e0
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004a9db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004ad76
call fcn.14006a794
test bl, bl
je 0x14004a9ee
mov eax, 0xc0000138
jmp 0x14004ad46
call fcn.140024040
mov rbx, rax
mov r14, r12
cmp qword [r12 + 0x18], 8
jb 0x14004aa05
mov r14, qword [r12]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, str.RtlInitUnicodeString
lea rcx, [rsp + 0x50]
call fcn.140006a18
nop
call fcn.140046300
lea r15, [rbx + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
movabs rsi, 0xcbf29ce484222325
mov r9, rsi
mov rcx, rdi
movabs r10, 0x100000001b3
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x14004aa84
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14004aa71
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.140025670
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004aaa5
mov rax, qword [rbx + 8]
jmp 0x14004aaac
mov rcx, qword [rbx + 8]
mov rax, rcx
cmp rcx, rax
je 0x14004aace
mov rbx, qword [rcx + 0x30]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14004aad8
mov rdx, r14
lea rcx, [rbp - 0x48]
call rbx
jmp 0x14004aad8
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004ab15
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ab10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004ad7c
call fcn.14006a794
lea rax, [rbp - 0x30]
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x70], 0x1fe0000
cmp r13, 0xffffffffffffffff
je 0x14004ab37
lea rdx, [rbp - 0x50]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
call fcn.140024040
mov rbx, rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [0x1400d75e0]
lea rcx, [rsp + 0x50]
call fcn.140006a18
nop
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004bcb0
test rax, rax
je 0x14004abac
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x70]
xor r8d, r8d
lea rdx, [rbp - 0x48]
lea ecx, [r8 + 1]
call rax
mov ebx, eax
jmp 0x14004abb1
mov ebx, 0xc0000138
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004abee
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004abe9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004ad82
call fcn.14006a794
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x14004ac05
cmp r13, 0xffffffffffffffff
je 0x14004ac05
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeactivateActCtx]
test ebx, ebx
jne 0x14004ac36
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], bl
je 0x14004ac21
mov eax, 0xc015001d
jmp 0x14004ad46
mov rdx, qword [rbp - 0x78]
mov rdx, qword [rdx + 8]
mov rcx, r12
call fcn.1400068b8
jmp 0x14004ad44
cmp qword [rbp - 0x58], 0
je 0x14004ad44
call fcn.140024040
mov r14, rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, str.RtlFreeUnicodeString
lea rcx, [rsp + 0x50]
call fcn.140006a18
nop
call fcn.140046300
lea rcx, [r14 + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14004acb5
movabs r8, 0x100000001b3
movzx eax, byte [rdi + rcx]
xor rsi, rax
imul rsi, r8
inc rdi
cmp rdi, rdx
jb 0x14004aca2
mov r9, rsi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.140025670
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004acd9
mov rax, qword [r14 + 8]
jmp 0x14004ace0
mov rcx, qword [r14 + 8]
mov rax, rcx
cmp rcx, rax
je 0x14004ad00
mov rdi, qword [rcx + 0x30]
lea rcx, [r14 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x14004ad0b
lea rcx, [rbp - 0x60]
call rdi
jmp 0x14004ad0b
lea rcx, [r14 + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14004ad44
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ad3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004ad70
call fcn.14006a794
mov eax, ebx
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.14006a770
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140095e24
int3
call fcn.140095e24
int3
call fcn.140095e24
int3
call fcn.140095e24
int3