Function at 0x140046fd0
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 [0x140332240]
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, [0x140359100]
mov rcx, rdi
call fcn.14003f870
mov rdx, qword [rax]
add rdx, 0x30
lea rax, [0x1402e28e0]
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.140072820
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14004705d
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, [0x140359140]
call fcn.14003f870
mov rdx, qword [rax]
add rdx, 0x30
lea rax, [0x1402e28a8]
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.140072820
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400470b1
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, [0x1403591c0]
call fcn.14003f870
mov rdx, qword [rax]
add rdx, 0x30
lea rax, vtable.std::_Func_impl_no_alloc_class__public:_void___cdecl_ECS::RegisterComponent_struct_BaseInfo__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.140072820
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140047105
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
call fcn.1400307e0
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 [0x140359410]
mov rax, r8
add rax, rax
mov rcx, qword [0x1403593f8]
mov rax, qword [rcx + rax*8 + 8]
cmp rax, qword [0x1403593e8]
je 0x140047195
add r8, r8
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x140047197
cmp rax, rcx
je 0x140047195
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140047185
jmp 0x140047197
xor eax, eax
test rax, rax
jne 0x14004726c
lea ecx, [rax + 0x30]
call fcn.14026cc5c
lea rcx, vtable.Component_struct_BaseInfo_.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, [0x1403593e0]
call fcn.140055e10
lea r8, [rbp + 0x28]
lea rdx, [rsp + 0x30]
lea rcx, [0x1403593e0]
call fcn.140030840
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 0x140047236
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.140016990
lea rdx, [rsp + 0x40]
mov rcx, rdi
call rsi
lea r9, [rbp + 0x28]
mov r8, rbx
lea rdx, [rsp + 0x30]
lea rcx, [0x140359420]
call fcn.140056060
inc dword [0x1403592f8]
mov rcx, rbx
call fcn.140016e20
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.14026cac0
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