Function at 0x1400374e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x70
lea rbp, [rcx + 0x68]
lea rcx, [0x1402b2d38]
call qword [sym.imp.VCRUNTIME140.dll___std_type_info_hash]
mov r8, rax
mov qword [rsp + 0x20], rax
movzx edx, al
movabs r15, 0xcbf29ce484222325
xor rdx, r15
movabs r14, 0x100000001b3
imul rdx, r14
movzx ecx, byte [rsp + 0x21]
xor rdx, rcx
imul rdx, r14
movzx eax, byte [rsp + 0x22]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x23]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x24]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x25]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x26]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x27]
xor rdx, rax
imul rdx, r14
mov rcx, qword [rbp + 0x30]
and rcx, rdx
mov r9, qword [rbp + 0x18]
mov rax, rcx
add rax, rax
mov rax, qword [r9 + rax*8 + 8]
mov rdx, qword [rbp + 8]
xor ebx, ebx
cmp rax, rdx
je 0x1400375c2
add rcx, rcx
mov rcx, qword [r9 + rcx*8]
cmp r8, qword [rax + 0x10]
je 0x1400375c5
cmp rax, rcx
je 0x1400375c2
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x1400375b1
jmp 0x1400375c5
mov rax, rbx
test rax, rax
cmove rax, rdx
cmp rax, rdx
jne 0x1400377df
mov ecx, 0x50
call fcn.1401e0de0
mov rsi, rax
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
lea rcx, [0x1402b2d38]
call qword [sym.imp.VCRUNTIME140.dll___std_type_info_hash]
mov qword [rsi + 8], rax
lea rax, vtable.Core::ComponentSparseTable_struct_ToggleButtonCheck_.0
mov qword [rsi], rax
lea rdi, [rsi + 0x10]
mov qword [rsp + 0x40], rdi
mov dword [rdi], ebx
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rbx
mov ecx, 0x20
call fcn.1401e0de0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi + 8], rax
lea rcx, [rdi + 0x18]
mov qword [rcx], rbx
mov qword [rcx + 8], rbx
mov qword [rcx + 0x10], rbx
mov qword [rdi + 0x30], 7
mov qword [rdi + 0x38], 8
mov dword [rdi], 0x3f800000
mov r8, qword [rdi + 8]
mov edx, 0x10
call fcn.140005620
nop
lea rcx, [0x1402b2d38]
call qword [sym.imp.VCRUNTIME140.dll___std_type_info_hash]
mov rdi, rax
mov qword [rsp + 0x40], rsi
mov ecx, 0x18
call fcn.1401e0de0
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_class_Core::StaticComponentContainer_.0
mov qword [rax], rcx
mov qword [rax + 0x10], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rax
movdqu xmmword [rsp + 0x48], xmm0
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x58]
mov rcx, rbp
call fcn.14000be40
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140037720
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140037720
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140037720
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [0x1402b2d38]
call qword [sym.imp.VCRUNTIME140.dll___std_type_info_hash]
mov r8, rax
mov qword [rsp + 0x20], rax
movzx edx, al
xor rdx, r15
imul rdx, r14
movzx ecx, byte [rsp + 0x21]
xor rdx, rcx
imul rdx, r14
movzx ecx, byte [rsp + 0x22]
xor rdx, rcx
imul rdx, r14
movzx eax, byte [rsp + 0x23]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x24]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x25]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x26]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rsp + 0x27]
xor rdx, rax
imul rdx, r14
and rdx, qword [rbp + 0x30]
mov r9, qword [rbp + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r9 + rax*8 + 8]
mov r10, qword [rbp + 8]
cmp rcx, r10
je 0x1400377d2
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x1400377cf
nop dword [rax]
cmp rcx, rax
je 0x1400377d2
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x1400377c0
mov rbx, rcx
test rbx, rbx
cmove rbx, r10
lea rax, [rbx + 0x18]
jmp 0x1400377e3
add rax, 0x18
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret