Function at 0x14004cad0
Capabilities:
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
lea rbp, [rsp - 0x1180]
mov eax, 0x1280
call fcn.1400513f0
sub rsp, rax
mov rax, qword [0x140065040]
xor rax, rsp
mov qword [rbp + 0x1170], rax
mov eax, 0x1ff
lea r9, [0x140000000]
mov r15, rdx
mov r14, rdx
shr r15, 0x27
mov r13, rdx
and r15w, ax
shr r14, 0x1e
and r14w, ax
movzx edi, r15w
mov rax, rdx
shr r13, 0x15
and eax, 0xfff
mov rsi, rdx
shr rsi, 0xc
mov rbx, rdx
cmp byte [rdi + r9 + 0x2b6260], 0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x40], rax
je 0x14004cfb8
imul r12, rdi, 0x1208
movabs rcx, 0xffffffffff000
cmp byte [r12 + r9 + 0x75460], 0
jne 0x14004cc7f
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1200
call sub.VCRUNTIME140.dll_memset
lea rax, [0x140000000]
mov r8d, 0x1200
lea rsi, [rax + 0x74260]
add rsi, r12
lea rdx, [rsp + 0x70]
mov rcx, rsi
cmp byte [rsi + 0x1200], 0
je 0x14004cbc7
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14004cbd3
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + 0x1200], 1
mov rcx, qword [0x1402b6f50]
lea rax, [0x140000000]
mov r8, qword [rax + rdi*8 + 0x2b5260]
mov r9, rsi
movabs rax, 0xffffffffff000
mov qword [rsp + 0x30], 1
and r8, rax
mov dword [rsp + 0x58], 0
lea rax, [rsp + 0x58]
mov edx, 0xffffffff
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1000
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
lea r9, [0x140000000]
mov r8d, 0x100
lea rcx, [r9 + 0x75261]
add rcx, r12
lea rdx, [r9 + 0x74268]
add rdx, r12
nop dword [rax + rax]
movzx eax, byte [rdx - 8]
lea rcx, [rcx + 2]
and al, 1
lea rdx, [rdx + 0x10]
mov byte [rcx - 3], al
movzx eax, byte [rdx - 0x10]
and al, 1
mov byte [rcx - 2], al
sub r8, 1
jne 0x14004cc50
mov rsi, qword [rsp + 0x60]
movabs rcx, 0xffffffffff000
movzx r11d, r14w
mov qword [rsp + 0x68], r11
lea rax, [r11 + r12]
cmp byte [rax + r9 + 0x75260], 0
je 0x14004cfb8
imul rax, rdi, 0x241
add rax, r11
mov r8, qword [r9 + rax*8 + 0x74260]
test r8b, r8b
jns 0x14004ccc6
and ebx, 0x3fffffff
and r8, rcx
or rbx, r8
mov rax, rbx
jmp 0x14004cfba
mov r10, qword [0x1402b6d78]
movabs r12, 0x100000001b3
movzx ecx, r15w
shl ecx, 9
movzx eax, r14w
or ecx, eax
movabs rax, 0xcbf29ce484222325
mov r9d, ecx
movzx edx, cl
xor rdx, rax
mov dword [rsp + 0x60], r9d
imul rdx, r12
mov eax, ecx
shr eax, 8
movzx ecx, al
mov eax, r9d
xor rdx, rcx
shr rax, 0x10
imul rdx, r12
xor rdx, rax
movabs rax, 0x366000002e329
imul rdx, rax
mov rax, qword [0x1402b6d88]
and rdx, qword [0x1402b6da0]
add rdx, rdx
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r10
jne 0x14004cd4a
xor r14d, r14d
mov ecx, r14d
jmp 0x14004cd66
mov rax, qword [rax + rdx*8]
cmp r9d, dword [rcx + 0x10]
je 0x14004cd63
cmp rcx, rax
je 0x14004cd42
mov rcx, qword [rcx + 8]
cmp r9d, dword [rcx + 0x10]
jne 0x14004cd54
xor r14d, r14d
test rcx, rcx
mov rax, r10
movabs r15, 0xffffffffff000
cmovne rax, rcx
cmp rax, r10
jne 0x14004ce05
mov rcx, qword [0x1402b6f50]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], 1
lea r9, [rsp + 0x70]
mov qword [rsp + 0x28], rax
and r8, r15
mov edx, 0xffffffff
mov dword [rsp + 0x20], 0x1000
mov dword [rsp + 0x58], r14d
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
mov rcx, r14
movzx eax, byte [rsp + rcx*8 + 0x70]
and al, 1
mov byte [rbp + rcx + 0xf70], al
movzx eax, byte [rsp + rcx*8 + 0x78]
and al, 1
mov byte [rbp + rcx + 0xf71], al
add rcx, 2
cmp rcx, 0x200
jb 0x14004cdc0
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x48]
call fcn.14004eb60
mov r11, qword [rsp + 0x68]
mov rax, qword [rax]
and r13d, 0x1ff
cmp byte [rax + r13 + 0x1018], 0
je 0x14004cfb8
mov r8, qword [rax + r13*8 + 0x18]
test r8b, r8b
jns 0x14004ce39
and r8, r15
and ebx, 0x1fffff
or r8, rbx
mov rax, r8
jmp 0x14004cfba
shl rdi, 9
movabs rax, 0xcbf29ce484222325
or rdi, r11
shl rdi, 9
or rdi, r13
movzx edx, dil
xor rdx, rax
mov qword [rsp + 0x68], rdi
imul rdx, r12
mov rax, rdi
shr rax, 8
movzx ecx, al
mov rax, rdi
xor rdx, rcx
shr rax, 0x10
imul rdx, r12
movzx ecx, al
mov rax, rdi
xor rdx, rcx
shr rax, 0x18
imul rdx, r12
xor rdx, rax
movabs rax, 0xcaee32a7d4f6a63
imul rdx, rax
mov rax, qword [0x1402b6dc8]
and rdx, qword [0x1402b6de0]
shl rdx, 4
add rax, rdx
mov rdx, qword [0x1402b6db8]
mov rcx, qword [rax + 8]
cmp rcx, rdx
je 0x14004cee1
mov rax, qword [rax]
cmp rdi, qword [rcx + 0x10]
je 0x14004cee4
nop dword [rax]
cmp rcx, rax
je 0x14004cee1
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x14004ced0
jmp 0x14004cee4
mov rcx, r14
test rcx, rcx
mov rax, rdx
cmovne rax, rcx
cmp rax, rdx
jne 0x14004cf81
mov rcx, qword [0x1402b6f50]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], 1
lea r9, [rsp + 0x70]
mov qword [rsp + 0x28], rax
and r8, r15
mov edx, 0xffffffff
mov dword [rsp + 0x20], 0x1000
mov dword [rsp + 0x60], r14d
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
mov rax, r14
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rsp + rax*8 + 0x70]
and cl, 1
mov byte [rbp + rax + 0xf70], cl
movzx ecx, byte [rsp + rax*8 + 0x78]
and cl, 1
mov byte [rbp + rax + 0xf71], cl
add rax, 2
cmp rax, 0x200
jb 0x14004cf40
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x48]
call fcn.14004ee70
mov rax, qword [rax]
and esi, 0x1ff
cmp byte [rsi + rax + 0x1018], 0
je 0x14004cfb8
mov rax, qword [rax + rsi*8 + 0x18]
movabs rdx, 0x7fffffffeffd
and rax, r15
or rax, qword [rsp + 0x40]
lea rcx, [rax - 0x1001]
cmp rcx, rdx
cmova rax, r14
jmp 0x14004cfba
xor eax, eax
mov rcx, qword [rbp + 0x1170]
xor rcx, rsp
call fcn.14004faf0
lea r11, [rsp + 0x1280]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret