Function at 0x7ff6051968f0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x7ff60566c600]
xor rax, rsp
mov qword [rbp + 8], rax
mov edi, r8d
mov r14d, edx
mov rsi, rcx
mov qword [rbp - 0x10], rcx
mov rbx, rcx
shr rbx, 0x38
mov rax, rcx
shr rax, 0x30
movzx r11d, al
mov rax, rcx
shr rax, 0x28
movzx r10d, al
mov rax, rcx
shr rax, 0x20
movzx r9d, al
mov rax, rcx
shr rax, 0x18
movzx r8d, al
mov rax, rcx
shr rax, 0x10
movzx edx, al
mov rax, rcx
shr rax, 8
movzx ecx, al
movzx r15d, sil
mov dword [rbp], r14d
mov dword [rbp - 8], edi
mov r13, qword [0x7ff60574b258]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs r12, 0x100000001b3
imul r15, r12
xor r15, rcx
imul r15, r12
xor r15, rdx
imul r15, r12
xor r15, r8
imul r15, r12
xor r15, r9
imul r15, r12
xor r15, r10
imul r15, r12
xor r15, r11
imul r15, r12
xor r15, rbx
imul r15, r12
and r15, qword [r13 + 0x30]
mov rdx, qword [r13 + 0x18]
mov rax, r15
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, qword [r13 + 8]
jne 0x7ff6051969ed
xor r15d, r15d
mov ecx, r15d
jmp 0x7ff605196a12
add r15, r15
mov rax, qword [rdx + r15*8]
cmp rsi, qword [rcx + 0x10]
je 0x7ff605196a0f
nop word [rax + rax]
cmp rcx, rax
je 0x7ff6051969e5
mov rcx, qword [rcx + 8]
cmp rsi, qword [rcx + 0x10]
jne 0x7ff605196a00
xor r15d, r15d
test rcx, rcx
jne 0x7ff605196a91
mov qword [rsp + 0x50], r15
mov ecx, 0x58
call fcn.7ff60542adf8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x78], 8
mov dword [rsp + 0x40], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rsp + 0x58]
call fcn.7ff605191670
nop
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x40]
mov rcx, r13
call fcn.7ff605197f10
nop
lea rcx, [rsp + 0x40]
call fcn.7ff605197690
mov rsi, qword [rbp - 0x10]
movzx ecx, sil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 0xf]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 0xe]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 0xd]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 0xc]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 0xb]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 0xa]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 9]
xor rcx, rax
imul rcx, r12
mov rdx, qword [r13 + 0x30]
and rdx, rcx
mov r8, qword [r13 + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [r13 + 8]
je 0x7ff605196fd4
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp rsi, qword [rcx + 0x10]
je 0x7ff605196b33
cmp rcx, rax
je 0x7ff605196fd4
mov rcx, qword [rcx + 8]
cmp rsi, qword [rcx + 0x10]
jne 0x7ff605196b20
lea rbx, [rcx + 0x18]
movzx ecx, r14b
movabs r13, 0xcbf29ce484222325
xor rcx, r13
imul rcx, r12
movzx r8d, byte [rbp + 1]
xor rcx, r8
imul rcx, r12
movzx r9d, byte [rbp + 2]
xor rcx, r9
imul rcx, r12
movzx r10d, byte [rbp + 3]
xor rcx, r10
imul rcx, r12
mov rdx, qword [rbx + 0x30]
and rdx, rcx
mov r11, qword [rbx + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r11 + rax*8 + 8]
cmp rcx, qword [rbx + 8]
je 0x7ff605196bb1
add rdx, rdx
mov rax, qword [r11 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x7ff605196bb4
nop dword [rax]
cmp rcx, rax
je 0x7ff605196bb1
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x7ff605196ba0
jmp 0x7ff605196bb4
mov rcx, r15
test rcx, rcx
jne 0x7ff605196c40
mov qword [rbp - 0x70], r15
mov ecx, 0x28
call fcn.7ff60542adf8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x48], 8
mov dword [rbp - 0x80], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp - 0x68]
call fcn.7ff605191670
nop
lea r9, [rbp - 0x80]
lea r8, [rbp]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.7ff6051982b0
nop
lea rcx, [rbp - 0x80]
call fcn.7ff605197710
mov r14d, dword [rbp]
movzx r10d, byte [rbp + 3]
movzx r9d, byte [rbp + 2]
movzx r8d, byte [rbp + 1]
nop dword [rax]
movzx ecx, r14b
xor rcx, r13
imul rcx, r12
movzx eax, r8b
xor rcx, rax
imul rcx, r12
movzx eax, r9b
xor rcx, rax
imul rcx, r12
movzx eax, r10b
xor rcx, rax
imul rcx, r12
mov rdx, qword [rbx + 0x30]
and rdx, rcx
mov r8, qword [rbx + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [rbx + 8]
je 0x7ff605196fd4
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x7ff605196cb3
nop dword [rax]
cmp rcx, rax
je 0x7ff605196fd4
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x7ff605196ca0
lea r14, [rcx + 0x18]
movzx ecx, dil
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbp - 7]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 6]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 5]
xor rcx, rax
imul rcx, r12
mov rdx, qword [r14 + 0x30]
and rdx, rcx
mov r8, qword [r14 + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [r14 + 8]
je 0x7ff605196d20
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp edi, dword [rcx + 0x10]
je 0x7ff605196d23
nop dword [rax + rax]
cmp rcx, rax
je 0x7ff605196d20
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x7ff605196d10
jmp 0x7ff605196d23
mov rcx, r15
mov esi, 0xffffffff
test rcx, rcx
jne 0x7ff605196e83
mov ecx, 0xb0
call fcn.7ff60542adf8
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, fcn.7ff605161e10
mov qword [rax], rcx
lea rdx, [rax + 0x10]
mov rcx, qword [0x7ff605749b08]
mov byte [rdx + 8], 0
mov dword [rdx + 0xc], 0x964401f1
mov word [rdx + 0x10], 0x100
mov qword [rdx + 0x18], r15
mov byte [rdx + 0x20], 1
mov dword [rdx + 0x28], r15d
mov dword [rdx + 0x2c], 0x3f800000
movss xmm1, dword [rdx + 0x2c]
maxss xmm1, xmm0
movss dword [rdx + 0x30], xmm1
mov dword [rdx + 0x34], 0x40400000
mov byte [rdx + 0x38], 0
lea r8, [0x7ff60562bec8]
mov qword [rdx], r8
movups xmm0, xmmword [rcx + 0x3b34]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x3b34]
movups xmmword [rdx + 0x50], xmm0
lea r8, [0x7ff60562beb0]
mov qword [rdx], r8
movups xmm0, xmmword [rcx + 0x3b34]
movups xmmword [rdx + 0x60], xmm0
movups xmm0, xmmword [rcx + 0x3b44]
movups xmmword [rdx + 0x70], xmm0
movups xmm0, xmmword [rcx + 0x3b54]
movups xmmword [rdx + 0x80], xmm0
mov dword [rdx + 0x90], 0x40400000
mov dword [rdx + 0x94], 0x40c00000
mov byte [rdx + 0x98], 0
mov qword [rdx], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x30]
lea r8, [rbp - 8]
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.7ff6051985b0
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x7ff605196e80
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x7ff605196e80
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x7ff605196e80
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
nop dword [rax]
nop dword [rax + rax]
mov edi, dword [rbp - 8]
movzx ecx, dil
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbp - 7]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 6]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp - 5]
xor rcx, rax
imul rcx, r12
mov r8, qword [r14 + 0x30]
and r8, rcx
mov rcx, qword [r14 + 0x18]
mov rax, r8
add rax, rax
mov rdx, qword [rcx + rax*8 + 8]
cmp rdx, qword [r14 + 8]
je 0x7ff605196fd4
add r8, r8
mov rax, qword [rcx + r8*8]
cmp edi, dword [rdx + 0x10]
je 0x7ff605196ef2
nop dword [rax + rax]
cmp rdx, rax
je 0x7ff605196fd4
mov rdx, qword [rdx + 8]
cmp edi, dword [rdx + 0x10]
jne 0x7ff605196ee0
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x7ff605196eff
lock inc dword [rax + 8]
mov rcx, qword [rdx + 0x18]
mov rbx, qword [rdx + 0x20]
mov byte [rcx + 0x10], 1
mov dword [rsp + 0x20], r15d
lea r9, [0x7ff605744510]
lea r8, [0x7ff6057444a8]
xor edx, edx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov r14, rax
test rax, rax
je 0x7ff605196f3b
test rbx, rbx
je 0x7ff605196f36
lock inc dword [rbx + 8]
mov rdi, rbx
jmp 0x7ff605196f50
xorps xmm1, xmm1
xorps xmm0, xmm0
psrldq xmm0, 8
movq rdi, xmm0
movq r14, xmm1
test rdi, rdi
je 0x7ff605196f7e
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x7ff605196f7e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x7ff605196f7e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
test rbx, rbx
je 0x7ff605196faa
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x7ff605196faa
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x7ff605196faa
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 8]
mov rax, r14
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.7ff60542acb0
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x7ff60562be70]
call qword [sym.imp.msvcp140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3