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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14008d030]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rdx
xor r15d, r15d
mov dword [rbp - 0x1c], r15d
mov eax, dword [0x1400905cc]
test eax, eax
je 0x14001eb31
cmp eax, 6
ja 0x14001e8d0
jb 0x14001eb31
cmp dword [0x1400905d0], 2
jb 0x14001eb31
call fcn.140010200
mov rsi, rax
mov qword [rbp - 0x60], rax
mov rcx, rbx
call fcn.140003d90
mov qword [rbp - 0x30], rax
lea rdx, str.RtlInitUnicodeString
lea rcx, [rbp - 0x50]
call fcn.140003230
nop
call fcn.140025990
lea r12, [rsi + 0x40]
mov qword [rbp - 0x58], r12
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rbp - 0x50]
call fcn.140003ea0
mov rbx, rax
lea rcx, [rbp - 0x50]
call fcn.140003eb0
movabs r13, 0xcbf29ce484222325
mov rdx, r13
mov r8, r15
movabs r14, 0x100000001b3
test rbx, rbx
je 0x14001e964
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax + r8]
xor rdx, rcx
imul rdx, r14
inc r8
cmp r8, rbx
jb 0x14001e950
mov rax, qword [rsi + 0x30]
and rax, rdx
add rax, rax
mov rcx, qword [rsi + 0x18]
mov rdi, qword [rcx + rax*8 + 8]
cmp rdi, qword [rsi + 8]
je 0x14001e9e2
mov rax, qword [rcx + rax*8]
mov qword [rbp - 0x28], rax
nop word [rax + rax]
lea rcx, [rdi + 0x10]
mov rbx, qword [rcx + 0x10]
call fcn.140004b00
mov r12, rax
mov rsi, qword [rbp - 0x40]
lea rcx, [rbp - 0x50]
call fcn.140004b00
cmp rsi, rbx
jne 0x14001e9c4
mov r8, rsi
mov rdx, r12
mov rcx, rax
call fcn.1400416b0
test eax, eax
je 0x14001e9d0
cmp rdi, qword [rbp - 0x28]
je 0x14001e9da
mov rdi, qword [rdi + 8]
jmp 0x14001e990
mov rsi, qword [rbp - 0x60]
mov r12, qword [rbp - 0x58]
jmp 0x14001e9e5
mov rsi, qword [rbp - 0x60]
mov r12, qword [rbp - 0x58]
mov rdi, r15
test rdi, rdi
je 0x14001ea0e
cmp rdi, qword [rsi + 8]
je 0x14001ea0e
mov rbx, qword [rdi + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14001ea18
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp - 0x18]
call rbx
jmp 0x14001ea18
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
lea rcx, [rbp - 0x50]
call fcn.1400040b0
call fcn.140010200
mov rsi, rax
mov qword [rbp - 0x58], rax
lea rdx, str.RtlHashUnicodeString
lea rcx, [rbp - 0x50]
call fcn.140003230
nop
call fcn.140025990
lea r12, [rsi + 0x40]
mov qword [rbp - 0x60], r12
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rbp - 0x50]
call fcn.140003ea0
mov rbx, rax
lea rcx, [rbp - 0x50]
call fcn.140003eb0
mov rdx, r15
test rbx, rbx
je 0x14001ea84
movzx ecx, byte [rax + rdx]
xor r13, rcx
imul r13, r14
inc rdx
cmp rdx, rbx
jb 0x14001ea71
mov rax, qword [rsi + 0x30]
and rax, r13
add rax, rax
mov rcx, qword [rsi + 0x18]
mov rdi, qword [rcx + rax*8 + 8]
cmp rdi, qword [rsi + 8]
je 0x14001eaeb
mov r12, qword [rcx + rax*8]
lea rcx, [rdi + 0x10]
mov rbx, qword [rcx + 0x10]
call fcn.140004b00
mov r14, rax
mov rsi, qword [rbp - 0x40]
lea rcx, [rbp - 0x50]
call fcn.140004b00
cmp rsi, rbx
jne 0x14001ead5
mov r8, rsi
mov rdx, r14
mov rcx, rax
call fcn.1400416b0
test eax, eax
je 0x14001eae0
cmp rdi, r12
je 0x14001eae3
mov rdi, qword [rdi + 8]
jmp 0x14001eaa1
mov r15, rdi
mov r12, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
test r15, r15
je 0x14001eb19
cmp r15, qword [rsi + 8]
je 0x14001eb19
mov rbx, qword [r15 + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14001eb23
lea r9, [rbp - 0x1c]
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x18]
call rbx
jmp 0x14001eb23
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
lea rcx, [rbp - 0x50]
call fcn.1400040b0
jmp 0x14001ed07
mov rcx, rbx
call fcn.140004700
mov rsi, rax
mov qword [rbp - 0x60], rax
mov rcx, rbx
call fcn.140004700
mov rcx, qword [rbx + 0x10]
lea r14, [rax + rcx*2]
mov qword [rbp - 0x58], r14
cmp rsi, r14
je 0x14001ed07
mov edx, 4
mov rcx, qword gs:[0x58]
mov rax, qword [rcx]
mov qword [rbp - 0x30], rax
movabs rdi, 0x100000001b3
movabs r13, 0xcbf29ce484222325
lea rbx, [0x140090550]
nop dword [rax]