Function at 0x1400579f0
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, [0x1402fcee8]
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 0x140057a7d
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, [0x1402fceb0]
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 0x140057ad1
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_PowerupComponent__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 0x140057b25
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
call fcn.1400744a0
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 0x140057bb5
add r8, r8
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x140057bb7
cmp rax, rcx
je 0x140057bb5
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x140057ba5
jmp 0x140057bb7
xor eax, eax
test rax, rax
jne 0x140057c8c
lea ecx, [rax + 0x30]
call fcn.14028654c
lea rcx, vtable.Component_struct_PowerupComponent_.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 0x140057c56
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