Function at 0x140046d00
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, [0x1402e2988]
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 0x140046d8d
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, [0x1402e2950]
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 0x140046de1
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_Transform__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 0x140046e35
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
call fcn.14002eaf0
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 0x140046ec5
add r8, r8
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x140046ec7
cmp rax, rcx
je 0x140046ec5
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140046eb5
jmp 0x140046ec7
xor eax, eax
test rax, rax
jne 0x140046f9c
lea ecx, [rax + 0x30]
call fcn.14026cc5c
lea rcx, vtable.Component_struct_Transform_.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 0x140046f66
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