Function at 0x18005f950
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x1801443c0]
xor rax, rsp
mov qword [rbp - 0x38], rax
mov r15, r8
mov rdi, rdx
mov r12, rcx
mov esi, dword [rbp + 0x70]
xor r14d, r14d
mov rcx, qword [0x1801478b0]
mov rax, qword [rcx + 0x1ae0]
movss xmm7, dword [rax + 0x270]
subss xmm7, dword [rax + 0x268]
movss xmm0, dword [rcx + 0x15a8]
addss xmm0, dword [rcx + 0x1598]
subss xmm7, xmm0
mov rcx, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x18005f9dd
mov rcx, qword [r12]
call fcn.1800431e0
mov rax, qword [0x1801478b0]
movss xmm0, dword [rax + 0x159c]
movaps xmm2, xmm7
subss xmm2, dword [0x180130584]
addss xmm0, xmm0
addss xmm0, dword [rax + 0x1980]
subss xmm2, xmm0
movss xmm9, dword [0x18013064c]
movaps xmm1, xmm9
movaps xmm0, xmm2
call fcn.180027750
movzx r8d, byte [rdi]
movabs rax, 0xcbf29ce484222325
xor r8, rax
movabs r13, 0x100000001b3
imul r8, r13
movzx eax, byte [rdi + 1]
xor r8, rax
imul r8, r13
movzx eax, byte [rdi + 2]
xor r8, rax
imul r8, r13
movzx eax, byte [rdi + 3]
xor r8, rax
imul r8, r13
mov rcx, qword [r15 + 0x30]
and rcx, r8
add rcx, rcx
mov rax, qword [r15 + 0x18]
mov rdx, qword [rax + rcx*8 + 8]
cmp rdx, qword [r15 + 8]
je 0x18005ff08
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdi]
cmp eax, dword [rdx + 0x10]
je 0x18005faa2
nop dword [rax]
cmp rdx, rcx
je 0x18005ff08
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x18005fa90
add rdx, 0x18
lea rcx, [rbp - 0x58]
call fcn.180012040
nop
lea rax, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rax, qword [rbp - 0x58]
mov rbx, qword [0x1801478b0]
test rax, rax
jne 0x18005fad0
xorps xmm8, xmm8
jmp 0x18005fb22
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm9
movss xmm3, dword [0x18013062c]
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x1978]
call fcn.18003da50
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x1801303e4]
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
movss xmm1, dword [rbx + 0x159c]
addss xmm1, xmm1
addss xmm1, dword [rbx + 0x1980]
movaps xmm6, xmm1
unpcklps xmm6, xmm1
mov r8, r12
lea rdx, [0x18012a5b8]
lea rcx, [rsp + 0x68]
call fcn.180013260
nop
mov r8d, 5
lea rdx, str._left
mov rcx, rax
call fcn.180016fa0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x48]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0xf
cmova rcx, rdx
movq r8, xmm6
xor edx, edx
call fcn.1800440e0
movzx ebx, al
lea rcx, [rsp + 0x48]
call fcn.180012210
nop
lea rcx, [rsp + 0x68]
call fcn.180012210
test bl, bl
je 0x18005fcbe
mov eax, dword [rdi]
dec eax
mov ecx, eax
mov dword [rdi], ecx
shr eax, 8
mov r8d, ecx
shr r8d, 0x10
mov edx, ecx
mov r9d, ecx
shr r9, 0x18
test ecx, ecx
jns 0x18005fbfd
mov dword [rdi], r14d
xor cl, cl
xor al, al
xor r8b, r8b
mov edx, r14d
mov r9, r14
movzx ecx, cl
movabs r10, 0xcbf29ce484222325
xor rcx, r10
imul rcx, r13
movzx eax, al
xor rcx, rax
imul rcx, r13
movzx eax, r8b
xor rcx, rax
imul rcx, r13
xor rcx, r9
imul rcx, r13
mov r8, qword [r15 + 0x30]
and r8, rcx
add r8, r8
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx + r8*8 + 8]
cmp rax, qword [r15 + 8]
je 0x18005fefb
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x18005fc65
cmp rax, rcx
je 0x18005fefb
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x18005fc53
lea r9, [rax + 0x18]
lea rax, [rbp - 0x58]
cmp rax, r9
je 0x18005fcbe
mov r14, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x18005fc80
mov r9, qword [r9]
mov rax, qword [rbp - 0x40]
cmp r14, rax
ja 0x18005fcaf
lea rbx, [rbp - 0x58]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x58]
mov qword [rbp - 0x48], r14
mov r8, r14
mov rdx, r9
mov rcx, rbx
call fcn.1800ce3a0
mov byte [rbx + r14], 0
jmp 0x18005fcbb
mov rdx, r14
lea rcx, [rbp - 0x58]
call fcn.1800133c0
xor r14d, r14d
movaps xmm0, xmm7
subss xmm0, dword [0x180130540]
mulss xmm8, dword [0x1801303a0]
subss xmm0, xmm8
movaps xmm1, xmm9
call fcn.180027750
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rcx, qword [rbp - 0x58]
call fcn.1800431e0
movaps xmm1, xmm9
movaps xmm0, xmm7
call fcn.180027750
mov rax, qword [0x1801478b0]
movss xmm1, dword [rax + 0x159c]
addss xmm1, xmm1
addss xmm1, dword [rax + 0x1980]
movaps xmm6, xmm1
unpcklps xmm6, xmm1
mov r8, r12
lea rdx, [0x18012a5b8]
lea rcx, [rbp - 0x78]
call fcn.180013260
nop
mov r8d, 6
lea rdx, str._right
mov rcx, rax
call fcn.180016fa0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x48]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0xf
cmova rcx, rdx
movq r8, xmm6
mov edx, 1
call fcn.1800440e0
movzx ebx, al
lea rcx, [rsp + 0x48]
call fcn.180012210
nop
lea rcx, [rbp - 0x78]
call fcn.180012210
test bl, bl
je 0x18005fea9
mov eax, dword [rdi]
inc eax
mov ecx, eax
mov dword [rdi], eax
mov r8d, eax
shr r8d, 8
mov r9d, eax
shr r9d, 0x10
mov r10d, eax
shr r10d, 0x18
mov edx, eax
cmp eax, esi
jle 0x18005fdf3
mov dword [rdi], esi
movzx ecx, sil
mov r8d, esi
shr r8d, 8
mov r9d, esi
shr r9d, 0x10
mov r10d, esi
shr r10d, 0x18
mov edx, esi
movzx ecx, cl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, r13
movzx eax, r8b
xor rcx, rax
imul rcx, r13
movzx eax, r9b
xor rcx, rax
imul rcx, r13
movzx eax, r10b
xor rcx, rax
imul rcx, r13
mov r8, qword [r15 + 0x30]
and r8, rcx
add r8, r8
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx + r8*8 + 8]
cmp rax, qword [r15 + 8]
je 0x18005fefb
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x18005fe62
nop
cmp rax, rcx
je 0x18005fefb
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x18005fe50
lea r9, [rax + 0x18]
lea rax, [rbp - 0x58]
cmp rax, r9
je 0x18005fea9
mov rdi, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x18005fe7d
mov r9, qword [r9]
mov rax, qword [rbp - 0x40]
cmp rdi, rax
ja 0x18005feed
lea rbx, [rbp - 0x58]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x58]
mov qword [rbp - 0x48], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.1800ce3a0
mov byte [rbx + rdi], 0
lea rcx, [rbp - 0x58]
call fcn.180012210
mov rcx, qword [rbp - 0x38]
xor rcx, rsp
call fcn.18009aae0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.1800133c0
jmp 0x18005fea9
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1800998d0
nop
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1800998d0
int3