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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x140303960]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, qword gs:[0x60]
test rax, rax
je 0x14008e879
mov rbx, qword [rax + 0x18]
add rbx, 0x10
mov r10, qword [rbx]
cmp r10, rbx
je 0x14008e879
mov r8, qword [r10 + 0x60]
movzx eax, word [r10 + 0x58]
shr rax, 1
lea r11, [r8 + rax*2]
mov r9d, 0x811c9dc5
cmp r8, r11
je 0x14008e86e
nop word [rax + rax]
movsx eax, byte [r8]
mov ecx, eax
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
add r8, 2
cmp r8, r11
jne 0x14008e840
cmp r9d, 0xbd6d9917
je 0x14008e873
mov r10, qword [r10]
jmp 0x14008e817
mov rbx, qword [r10 + 0x30]
jmp 0x14008e87b
xor ebx, ebx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call fcn.140099a40
nop
mov rcx, rbx
call fcn.140099c70
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.140099c70
mov rsi, rax
mov r8d, Ordinal_26
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x14008e925
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_26
lea r8d, [rdx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [rdi + 0x10], xmm1
mov r8d, Ordinal_26
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x14008e925
mov byte [0x1406c9eb8], 1
lea r9, [rsp + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call rdi
nop
jmp 0x14008e92f
mov rcx, rbx
call fcn.140099d80
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.140099d80
mov rsi, rax
mov r8d, Ordinal_26
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x14008e9c0
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_26
lea r8d, [rdx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [rdi + 0x10], xmm1
mov r8d, Ordinal_26
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x14008e9c0
mov byte [0x1406c9eb8], 1
lea r9, [rsp + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call rdi
nop
jmp 0x14008e9ca
mov rcx, rbx
call fcn.140099e90
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.140099e90
mov rsi, rax
mov r8d, Ordinal_26
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x14008ea5b
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_26
lea r8d, [rdx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [rdi + 0x10], xmm1
mov r8d, Ordinal_26
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x14008ea5b
mov byte [0x1406c9eb8], 1
lea r9, [rsp + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea rcx, [0x1402e04d0]
call rdi
nop
jmp 0x14008ea6c
mov rcx, rbx
call fcn.140099fa0
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.140099fa0
mov rsi, rax
mov r8d, Ordinal_26
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x14008eafd
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_26
lea r8d, [rdx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [rdi + 0x10], xmm1
mov r8d, Ordinal_26
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x14008eafd
mov byte [0x1406c9eb8], 1
lea r9, [rsp + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea rcx, [rsp + 0x38]
call rdi
nop
jmp 0x14008eb0c
mov rcx, rbx
call fcn.14009a0b0
mov rbx, rax
mov rcx, qword [rsp + 0x28]
call fcn.14009a0b0
mov rdi, rax
mov r8d, Ordinal_26
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x14008eb9d
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_26
lea r8d, [rdx + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
mov r8d, Ordinal_26
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x14008eb9d
mov byte [0x1406c9eb8], 1
lea r9, [rsp + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea rcx, [rsp + 0x48]
call rbx
nop
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1402376c0
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret