Function at 0x140044ab0
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 [0x1400c1060]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, qword gs:[0x60]
test rax, rax
je 0x140044b49
mov rbx, qword [rax + 0x18]
add rbx, 0x10
mov r10, qword [rbx]
cmp r10, rbx
je 0x140044b49
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 0x140044b3e
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 0x140044b10
cmp r9d, 0xbd6d9917
je 0x140044b43
mov r10, qword [r10]
jmp 0x140044ae7
mov rbx, qword [r10 + 0x30]
jmp 0x140044b4b
xor ebx, ebx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call fcn.14004f950
nop
mov rcx, rbx
call fcn.14004fb80
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.14004fb80
mov rsi, rax
mov r8d, Ordinal_27
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x140044bf5
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_27
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_27
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x140044bf5
mov byte [0x1401a7ecc], 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 0x140044bff
mov rcx, rbx
call fcn.14004fc90
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.14004fc90
mov rsi, rax
mov r8d, Ordinal_27
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x140044c90
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_27
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_27
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x140044c90
mov byte [0x1401a7ecc], 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 0x140044c9a
mov rcx, rbx
call fcn.14004fda0
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.14004fda0
mov rsi, rax
mov r8d, Ordinal_27
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x140044d2b
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_27
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_27
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x140044d2b
mov byte [0x1401a7ecc], 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, [0x1400a2c26]
call rdi
nop
jmp 0x140044d3c
mov rcx, rbx
call fcn.14004feb0
mov rdi, rax
mov rcx, qword [rsp + 0x28]
call fcn.14004feb0
mov rsi, rax
mov r8d, Ordinal_27
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x140044dcd
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_27
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_27
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x140044dcd
mov byte [0x1401a7ecc], 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 0x140044ddc
mov rcx, rbx
call fcn.14004ffc0
mov rbx, rax
mov rcx, qword [rsp + 0x28]
call fcn.14004ffc0
mov rdi, rax
mov r8d, Ordinal_27
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
je 0x140044e6d
mov dword [rsp + 0x30], 0
lea r9, [rsp + 0x30]
mov edx, Ordinal_27
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_27
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ntdll.dll_RtlCompareMemory]
cmp eax, 0x18
jne 0x140044e6d
mov byte [0x1401a7ecc], 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.140092b30
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret