Function at 0x140086580
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x200
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1404fa650]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r9, r8
mov r15, rdx
mov rdi, rcx
mov r11, qword [r8]
mov r8, qword [r11]
test r8, r8
je 0x140086c66
mov r8, qword [r8 + 0x40]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r10, 0x100000001b3
imul rdx, r10
mov rax, r8
shr rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r8
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r8
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r8
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r8
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r8
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r8
shr rax, 0x38
xor rdx, rax
imul rdx, r10
mov r10, qword [rdi + 0x30]
mov rcx, r10
and rcx, rdx
mov rsi, qword [rdi + 0x18]
add rcx, rcx
mov rax, qword [rsi + rcx*8 + 8]
lea r12, [rdi + 8]
mov rbx, qword [r12]
cmp rax, rbx
je 0x1400866a2
mov rdx, qword [rsi + rcx*8]
cmp r8, qword [rax + 0x10]
je 0x140086c92
cmp rax, rdx
jne 0x140086d0d
mov rax, qword [r11]
mov rdx, qword [rax + 0x40]
mov qword [rbp - 0x40], rdx
mov qword [rbp], rdx
mov rax, qword [r9 + 0x10]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x10], rax
lea rax, vtable.sense::cyberData::GenericEtwPropertyEntity.0
mov qword [rbp + 8], rax
movzx eax, byte [r9 + 0x18]
mov byte [rsp + 0x20], al
mov byte [rbp + 0x18], al
movzx eax, word [r9 + 0x1a]
mov word [rsp + 0x24], ax
mov word [rbp + 0x1a], ax
movups xmm6, xmmword [r9 + 0x20]
movaps xmmword [rbp + 0x20], xmm6
movups xmm7, xmmword [r9 + 0x30]
movdqa xmmword [rbp + 0x30], xmm7
xor r14d, r14d
mov qword [r9 + 0x30], r14
mov qword [r9 + 0x38], 7
mov word [r9 + 0x20], r14w
movzx eax, word [r9 + 0x40]
mov word [rsp + 0x26], ax
mov word [rbp + 0x40], ax
mov r13, qword [r9 + 0x48]
mov qword [rbp + 0x48], r13
mov rax, qword [r9 + 0x50]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x50], rax
mov rax, qword [r9 + 0x58]
mov qword [rbp + 0x58], rax
mov qword [r9 + 0x48], r14
mov qword [r9 + 0x50], r14
mov qword [r9 + 0x58], r14
movzx eax, byte [r9 + 0x60]
mov byte [rsp + 0x21], al
mov byte [rbp + 0x60], al
movzx eax, byte [r9 + 0x61]
mov byte [rsp + 0x22], al
mov byte [rbp + 0x61], al
movzx eax, byte [r9 + 0x62]
mov byte [rsp + 0x23], al
mov byte [rbp + 0x62], al
mov eax, dword [r9 + 0x64]
mov dword [rsp + 0x58], eax
mov dword [rbp + 0x64], eax
mov rax, qword [r9 + 0x68]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x68], rax
mov r8, qword [r9 + 0x70]
mov qword [rsp + 0x30], r8
mov qword [rbp + 0x70], r8
mov qword [r9 + 0x68], r14
mov qword [r9 + 0x70], r14
mov rax, qword [r9 + 0x78]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x78], rax
mov r10, qword [r9 + 0x80]
mov qword [rsp + 0x28], r10
mov qword [rbp + 0x80], r10
mov qword [r9 + 0x78], r14
mov qword [r9 + 0x80], r14
mov rax, qword [r9 + 0x88]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x88], rax
mov r10, qword [r9 + 0x90]
mov qword [rsp + 0x70], r10
mov qword [rbp + 0x90], r10
mov qword [r9 + 0x88], r14
mov qword [r9 + 0x90], r14
mov rax, qword [r9 + 0x98]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x98], rax
mov r10, qword [r9 + 0xa0]
mov qword [rsp + 0x68], r10
mov qword [rbp + 0xa0], r10
mov qword [r9 + 0x98], r14
mov qword [r9 + 0xa0], r14
mov rax, qword [r9 + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp + 0xa8], rax
mov r10, qword [r9 + 0xb0]
mov qword [rsp + 0x50], r10
mov qword [rbp + 0xb0], r10
mov qword [r9 + 0xa8], r14
mov qword [r9 + 0xb0], r14
mov rax, qword [r9 + 0xb8]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0xb8], rax
mov r11, qword [r9 + 0xc0]
mov qword [rsp + 0x60], r11
mov qword [rbp + 0xc0], r11
mov qword [r9 + 0xb8], r14
mov qword [r9 + 0xc0], r14
movzx esi, dl
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs r8, 0x100000001b3
imul rsi, r8
mov rax, rdx
shr rax, 8
movzx ecx, al
xor rsi, rcx
imul rsi, r8
mov rax, rdx
shr rax, 0x10
movzx ecx, al
xor rsi, rcx
imul rsi, r8
mov rax, rdx
shr rax, 0x18
movzx ecx, al
xor rsi, rcx
imul rsi, r8
mov rax, rdx
shr rax, 0x20
movzx ecx, al
xor rsi, rcx
imul rsi, r8
mov rax, rdx
shr rax, 0x28
movzx ecx, al
xor rsi, rcx
imul rsi, r8
mov rax, rdx
shr rax, 0x30
movzx ecx, al
xor rsi, rcx
imul rsi, r8
mov rax, rdx
shr rax, 0x38
xor rsi, rax
imul rsi, r8
mov rcx, rsi
and rcx, qword [rdi + 0x30]
add rcx, rcx
mov r8, qword [rdi + 0x18]
mov rbx, qword [r8 + rcx*8 + 8]
mov rax, qword [r12]
mov qword [rbp - 0x80], rax
cmp rbx, rax
je 0x140086950
cmp rdx, qword [rbx + 0x10]
je 0x140086d1f
cmp rbx, qword [r8 + rcx*8]
jne 0x140086d16
mov qword [rbp - 0x80], rbx
movabs rax, 0x12f684bda12f684
cmp qword [rdi + 0x10], rax
je 0x140086e3f
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r14
mov ecx, 0xd8
call fcn.140157bbc
mov rbx, rax
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x40]
mov qword [rbx + 0x10], rax
mov rax, qword [rbp - 0x38]
mov qword [rbx + 0x20], rax
lea rax, vtable.sense::cyberData::GenericEtwPropertyEntity.0
mov qword [rbx + 0x18], rax
movzx eax, byte [rsp + 0x20]
mov byte [rbx + 0x28], al
movzx eax, word [rsp + 0x24]
mov word [rbx + 0x2a], ax
movups xmmword [rbx + 0x30], xmm6
movups xmmword [rbx + 0x40], xmm7
movdqa xmm0, xmmword [0x1403bae20]
movdqa xmmword [rbp + 0x30], xmm0
mov word [rbp + 0x20], r14w
movzx eax, word [rsp + 0x26]
mov word [rbx + 0x50], ax
mov qword [rbx + 0x58], r13
mov rax, qword [rbp - 0x30]
mov qword [rbx + 0x60], rax
mov rax, qword [rbp + 0x58]
mov qword [rbx + 0x68], rax
mov r13, r14
mov qword [rbp + 0x48], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x50], xmm0
movzx eax, byte [rsp + 0x21]
mov byte [rbx + 0x70], al
movzx eax, byte [rsp + 0x22]
mov byte [rbx + 0x71], al
movzx eax, byte [rsp + 0x23]
mov byte [rbx + 0x72], al
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x74], eax
mov rax, qword [rbp - 0x28]
mov qword [rbx + 0x78], rax
mov rcx, qword [rsp + 0x30]
mov qword [rbx + 0x80], rcx
mov qword [rbp + 0x68], r14
mov rax, r14
mov qword [rsp + 0x30], rax
mov qword [rbp + 0x70], rax
mov rax, qword [rbp - 0x20]
mov qword [rbx + 0x88], rax
mov rcx, qword [rsp + 0x28]
mov qword [rbx + 0x90], rcx
mov qword [rbp + 0x78], r14
mov rax, r14
mov qword [rsp + 0x28], rax
mov qword [rbp + 0x80], rax
mov rax, qword [rbp - 0x18]
mov qword [rbx + 0x98], rax
mov rcx, qword [rsp + 0x70]
mov qword [rbx + 0xa0], rcx
mov qword [rbp + 0x88], r14
mov rax, r14
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x90], rax
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0xa8], rax
mov rcx, qword [rsp + 0x68]
mov qword [rbx + 0xb0], rcx
mov qword [rbp + 0x98], r14
mov rax, r14
mov qword [rsp + 0x68], rax
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp - 0x50]
mov qword [rbx + 0xb8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0xc0], rax
mov qword [rbp + 0xa8], r14
mov r10, r14
mov qword [rsp + 0x50], r14
mov qword [rbp + 0xb0], r14
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0xc8], rax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0xd0], rax
mov qword [rbp + 0xb8], r14
mov r11, r14
mov qword [rsp + 0x60], r14
mov qword [rbp + 0xc0], r14
mov r8, qword [rdi + 0x10]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x140086ec5
cvtsi2ss xmm0, rcx
mov rcx, qword [rdi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x140086edf
cvtsi2ss xmm1, rcx
divss xmm0, xmm1
comiss xmm0, dword [rdi]
ja 0x140086d6f
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rcx + 8]
lea rax, [r8 + 1]
mov qword [rdi + 0x10], rax
mov qword [rbx], rcx
mov qword [rbx + 8], rdx
mov qword [rdx], rbx
mov qword [rcx + 8], rbx
mov rax, qword [rdi + 0x18]
and rsi, qword [rdi + 0x30]
add rsi, rsi
mov r8, qword [rax + rsi*8]
cmp r8, qword [r12]
jne 0x140086d45
mov qword [rax + rsi*8], rbx
mov qword [rax + rsi*8 + 8], rbx
mov al, 1
mov qword [r15], rbx
mov byte [r15 + 8], al
test r11, r11
jne 0x140086dc0
test r10, r10
jne 0x140086eae
mov rcx, qword [rsp + 0x68]
test rcx, rcx
jne 0x140086ebb
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x140086e94
mov rcx, qword [rsp + 0x28]
test rcx, rcx
jne 0x140086db6
mov rcx, qword [rsp + 0x30]
test rcx, rcx
jne 0x140086d57
test r13, r13
je 0x140086c03
mov rdx, qword [rbp + 0x58]
sub rdx, r13
mov rax, r13
cmp rdx, 0x1000
jae 0x140086e53
mov rcx, r13
call fcn.140157b74
mov rax, qword [rbp + 0x38]
cmp rax, 8
jb 0x140086c2e
lea rdx, [rax*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jae 0x140086e79
call fcn.140157b74
mov rax, r15
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.140157600
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.cant_insert_a_null_property_name
lea rcx, [rbp - 0x70]
call fcn.140086f9c
lea rax, vtable.std::invalid_argument.0
mov qword [rbp - 0x70], rax
lea rdx, [0x1404c5870]
lea rcx, [rbp - 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
test rax, rax
je 0x1400866a2
cmp rax, rbx
je 0x1400866a2
lea r13, [r9 + 8]
mov rax, qword [r11]
mov r11, qword [rax + 0x40]
mov qword [rsp + 0x30], r11
lea rdx, [rsp + 0x30]
call fcn.140086fe0
mov qword [rsp + 0x28], rax
and r10, rax
add r10, r10
mov r14, qword [rsi + r10*8 + 8]
cmp r14, rbx
je 0x140086ce5
mov rax, qword [rsi + r10*8]
cmp r11, qword [r14 + 0x10]
je 0x140086d2c
cmp r14, rax
jne 0x140086d26
mov rbx, r14
movabs rax, 0x12f684bda12f684
cmp qword [rdi + 0x10], rax
jne 0x140086ef9
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop dword [rax + rax]
int3
mov rax, qword [rax + 8]
jmp 0x14008668f
mov rbx, qword [rbx + 8]
jmp 0x140086938
xor al, al
jmp 0x140086b8e
mov r14, qword [r14 + 8]
jmp 0x140086cd7
lea rcx, [r14 + 0x18]
mov rdx, r13
call fcn.140086458
mov qword [r15], r14
mov byte [r15 + 8], 0
jmp 0x140086c2e
cmp r8, rcx
jne 0x140086e9e
mov qword [rax + rsi*8], rbx
jmp 0x140086b8c
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
je 0x140086dd2
mov r13, qword [rbp + 0x48]
jmp 0x140086bdf
mov rcx, rdi
call fcn.1400f27a8
mov rax, rsi
and rax, qword [rdi + 0x30]
add rax, rax
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdx + rax*8 + 8]
mov r8, qword [r12]
cmp rcx, r8
je 0x140086dfc
mov r8, qword [rdx + rax*8]
mov rax, qword [rbx + 0x10]
cmp rax, qword [rcx + 0x10]
je 0x140086e30
cmp rcx, r8
jne 0x140086e27
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], r14
jmp 0x140086e06
call fcn.14008a1a0
jmp 0x140086bd1
mov rcx, r11
call fcn.14008a1a0
mov r10, qword [rsp + 0x50]
jmp 0x140086b9e
mov rbx, qword [rbp + 0x70]
mov rax, qword [rbx]
movabs r10, 0xa545274f70dcb170
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140084480.0]
mov rcx, rbx
call fcn.140084460
jmp 0x140086d66
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r14
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x50], xmm0
mov r8, qword [rdi + 0x10]
mov rcx, qword [rbp - 0x50]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
jmp 0x140086b50
mov rcx, qword [rcx + 8]
jmp 0x140086d9b
mov rax, qword [rcx]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
jmp 0x140086e06
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop dword [rax + rax]
nop
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140086bfb
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
nop dword [rax + rax]
int3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140086c29
jmp 0x140086e6c
call fcn.14008a1a0
jmp 0x140086bc3
cmp qword [rax + rsi*8 + 8], rdx
je 0x140086b87
jmp 0x140086b8c
mov rcx, r10
call fcn.14008a1a0
jmp 0x140086ba7
call fcn.14008a1a0
jmp 0x140086bb5
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x140086b2a
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x140086b3f
mov qword [rsp + 0x40], r12
xor r14d, r14d
mov qword [rsp + 0x48], r14
mov ecx, 0xd8
call fcn.1400e0580
mov rsi, rax
mov qword [rsp + 0x48], rax
mov r8, r13
lea rdx, [rsp + 0x30]
lea rcx, [rax + 0x10]
call fcn.1400f6b60
nop
mov rcx, rdi
call fcn.14007394c
test al, al
je 0x140086f63
mov rcx, rdi
call fcn.1400f27a8
mov r10, qword [rsp + 0x28]
mov r9, r10
lea r8, [rsi + 0x10]
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400b6a70
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
mov rbx, qword [rbp - 0x70]
jmp 0x140086f68
mov r10, qword [rsp + 0x28]
mov qword [rsp + 0x48], r14
mov r9, rsi
mov r8, rbx
mov rdx, r10
mov rcx, rdi
call fcn.14011c164
mov qword [r15], rax
mov byte [r15 + 8], 1
lea rcx, [rsp + 0x40]
call fcn.140154594
jmp 0x140086c2e