Function at 0x14004aa40
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x140169040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r14, rcx
mov rdx, qword [0x1401df9c0]
mov rdi, qword [0x1401df9e8]
test rdx, rdx
je 0x14004af2b
test rdi, rdi
je 0x14004af2b
mov dword [rsp + 0x60], 0
add rdx, 0x2c8
mov r9d, 4
lea r8, [rsp + 0x60]
call fcn.140048f90
lea r15, [r14 + 0x110]
mov edx, dword [rsp + 0x60]
mov dword [r15], edx
mov dword [rsp + 0x34], 0xc8
mov dword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
test edx, edx
cmovns rcx, r15
lea rax, [rsp + 0x34]
cmp edx, 0xc8
cmovle rax, rcx
movsxd rcx, dword [rax]
mov dword [r15], ecx
cmp ecx, 0xc8
ja 0x14004af2b
mov r8, rcx
mov r9, qword [r14 + 8]
mov rdx, qword [r14]
mov rcx, r9
sub rcx, rdx
sar rcx, 3
cmp r8, rcx
jae 0x14004ab1a
lea rax, [rdx + r8*8]
mov qword [r14 + 8], rax
jmp 0x14004ab56
jbe 0x14004ab56
mov rax, qword [r14 + 0x10]
sub rax, rdx
sar rax, 3
cmp r8, rax
jbe 0x14004ab39
mov rdx, r8
mov rcx, r14
call fcn.14004e470
jmp 0x14004ab56
sub r8, rcx
lea r8, [r8*8]
lea rbx, [r9 + r8]
xor edx, edx
mov rcx, r9
call sub.VCRUNTIME140.dll_memset
mov qword [r14 + 8], rbx
movsxd r9, dword [r15]
shl r9, 3
mov r8, qword [r14]
mov rdx, rdi
call fcn.140048f90
lea rdi, [r14 + 0x58]
mov qword [rsp + 0x38], rdi
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14004ab8a
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [rdi + 0x4c]
cmp eax, 0x7fffffff
jne 0x14004aba5
dec eax
mov dword [rdi + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
xor ebp, ebp
movabs rcx, 0xcbf29ce484222325
movabs r12, 0x100000001b3
cmp dword [r15], ebp
jbe 0x14004add8
xor r12d, r12d
movabs rdi, 0x100000001b3
mov rax, qword [r14]
mov rsi, qword [r12 + rax]
mov qword [rsp + 0x58], rsi
mov rax, rsi
shr rax, 8
movzx edx, al
movzx eax, sil
xor rax, rcx
imul rax, rdi
xor rdx, rax
imul rdx, rdi
mov rax, rsi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, rsi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, rsi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, rsi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, rsi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, rdi
mov rax, rsi
shr rax, 0x38
xor rdx, rax
imul rdx, rdi
mov r8, qword [r14 + 0x48]
and r8, rdx
mov rdx, qword [r14 + 0x30]
mov rax, r8
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
mov rax, qword [r14 + 0x20]
cmp rcx, rax
je 0x14004ac99
add r8, r8
mov rdx, qword [rdx + r8*8]
cmp rsi, qword [rcx + 0x10]
je 0x14004ac9b
cmp rcx, rdx
je 0x14004ac99
mov rcx, qword [rcx + 8]
cmp rsi, qword [rcx + 0x10]
jne 0x14004ac88
jmp 0x14004ac9b
xor ecx, ecx
test rcx, rcx
je 0x14004aca9
cmp rcx, rax
jne 0x14004adad
lea rdx, str.Create_Entity:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140037d30
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x140037f00]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0xa48
call fcn.14011e4d0
mov rbx, rax
mov qword [rsp + 0x40], rax
mov qword [rax], 0
mov qword [rax + 8], rsi
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], rsi
mov qword [rax + 0x30], rsi
mov qword [rax + 0x38], rsi
mov qword [rax + 0x40], rsi
mov qword [rax + 0x48], rsi
mov qword [rax + 0x50], rsi
mov qword [rax + 0x58], rsi
mov qword [rax + 0x60], rsi
mov qword [rax + 0x68], rsi
mov qword [rax + 0x70], 0x3f800000
mov qword [rax + 0x78], rsi
mov byte [rax + 0x81], sil
lea rcx, [rax + 0x88]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rsi
xor r8d, r8d
lea rdx, [0x140143d09]
call fcn.1400224d0
nop
lea rcx, [rbx + 0xa8]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rsi
xor r8d, r8d
lea rdx, [0x140143d09]
call fcn.1400224d0
lea rcx, [rbx + 0xc8]
call fcn.14004a180
nop
mov qword [rsp + 0x60], rbx
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
lea rcx, [r14 + 0x18]
call fcn.14004d7a0
inc rbp
add r12, 8
movsxd rax, dword [r15]
cmp rbp, rax
movabs rcx, 0xcbf29ce484222325
jb 0x14004abd1
lea rdi, [r14 + 0x58]
movabs r12, 0x100000001b3
mov rax, qword [r14 + 0x20]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14004af22
movabs rbp, 0xcbf29ce484222325
mov rcx, qword [r14]
movsxd rax, dword [r14 + 0x110]
lea rdx, [rcx + rax*8]
mov r8, qword [rbx + 0x10]
call fcn.14011e440
mov rcx, qword [r14]
movsxd rdx, dword [r14 + 0x110]
lea rcx, [rcx + rdx*8]
cmp rax, rcx
jne 0x14004af15
lea rdx, str.Delete_Entity:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140037d30
mov rdx, qword [rbx + 0x10]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x140037f00]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movzx ecx, byte [rbx + 0x10]
xor rcx, rbp
imul rcx, r12
movzx eax, byte [rbx + 0x11]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x12]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x13]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x14]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x15]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x16]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x17]
xor rcx, rax
imul rcx, r12
mov rdx, qword [r14 + 0x48]
and rdx, rcx
add rdx, rdx
mov r8, qword [r14 + 0x30]
lea rcx, [r8 + rdx*8]
mov rax, qword [r8 + rdx*8]
cmp qword [rcx + 8], rbx
jne 0x14004aee1
cmp rax, rbx
jne 0x14004aed7
mov rax, qword [r14 + 0x20]
mov qword [r8 + rdx*8], rax
mov qword [rcx + 8], rax
jmp 0x14004aeed
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
jmp 0x14004aeed
cmp rax, rbx
jne 0x14004aeed
mov rax, qword [rbx]
mov qword [r8 + rdx*8], rax
mov rsi, qword [rbx]
dec qword [r14 + 0x28]
mov rax, qword [rbx + 8]
mov qword [rax], rsi
mov rax, qword [rbx + 8]
mov qword [rsi + 8], rax
mov edx, 0x20
mov rcx, rbx
call fcn.14011e824
mov rbx, rsi
jmp 0x14004af18
mov rbx, qword [rbx]
cmp rbx, qword [r14 + 0x20]
jne 0x14004adf2
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14011e4b0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret