Function at 0x140056870
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x140353240]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rbx, rdx
mov qword [rbp + 0x20], rdx
mov r8, rdx
lea rdx, [rsp + 0x20]
lea rdi, [0x14037d160]
mov rcx, rdi
call fcn.14004bb80
mov rdx, qword [rax]
add rdx, 0x30
lea rax, [0x1402fd2d8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdi
lea rax, [rsp + 0x60]
mov qword [rbp - 0x68], rax
lea rcx, [rsp + 0x60]
call fcn.1400836d0
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400568fd
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x14037d1a0]
call fcn.14004bb80
mov rdx, qword [rax]
add rdx, 0x30
lea rax, [0x1402fd2a0]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdi
lea rax, [rbp - 0x60]
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x60]
call fcn.1400836d0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140056951
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x14037d220]
call fcn.14004bb80
mov rdx, qword [rax]
add rdx, 0x30
lea rax, vtable.std::_Func_impl_no_alloc_class__public:_void___cdecl_ECS::RegisterComponent_struct_Logic__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64::_2::_lambda_3___void__unsigned_int_const____ptr64_.0
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdi
lea rax, [rbp - 0x20]
mov qword [rbp + 0x18], rax
lea rcx, [rbp - 0x20]
call fcn.1400836d0
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x1400569a5
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
call fcn.14006f210
mov edx, eax
mov dword [rbp + 0x28], edx
shr eax, 8
movzx r8d, al
movzx eax, dl
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
xor r8, rax
imul r8, r9
mov eax, edx
shr eax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, r9
mov eax, edx
shr rax, 0x18
xor r8, rax
imul r8, r9
and r8, qword [0x14037d470]
mov rax, r8
add rax, rax
mov rcx, qword [0x14037d458]
mov rax, qword [rcx + rax*8 + 8]
cmp rax, qword [0x14037d448]
je 0x140056a35
add r8, r8
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x140056a37
cmp rax, rcx
je 0x140056a35
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140056a25
jmp 0x140056a37
xor eax, eax
test rax, rax
jne 0x140056b0c
lea ecx, [rax + 0x30]
call fcn.14028654c
lea rcx, vtable.Component_struct_Logic_.0
mov qword [rax], rcx
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0xf
mov byte [rax + 8], 0
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x20]
lea r8, [rbp + 0x28]
lea rdx, [rsp + 0x30]
lea rcx, [0x14037d440]
call fcn.140064940
lea r8, [rbp + 0x28]
lea rdx, [rsp + 0x30]
lea rcx, [0x14037d440]
call fcn.14003c330
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov rax, qword [rdi]
mov rsi, qword [rax + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140056ad6
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.1400223f0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call rsi
lea r9, [rbp + 0x28]
mov r8, rbx
lea rdx, [rsp + 0x30]
lea rcx, [0x14037d480]
call fcn.140064b90
inc dword [0x14037d358]
mov rcx, rbx
call fcn.140022880
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1402863b0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret