Function at 0x14005ee80
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0xa0
movaps xmmword [rax - 0x48], xmm6
movaps xmm6, xmm3
mov esi, r8d
mov r14d, edx
mov r8, rcx
mov rcx, qword [0x1401b9550]
mov qword [rbp - 0x59], rcx
movzx r9d, r8b
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rdx, 0x100000001b3
imul r9, rdx
movzx r10d, byte [rbp + 0x58]
xor r9, r10
imul r9, rdx
movzx r11d, byte [rbp + 0x59]
xor r9, r11
imul r9, rdx
movzx ebx, byte [rbp + 0x5a]
xor r9, rbx
imul r9, rdx
movzx edi, byte [rbp + 0x5b]
xor r9, rdi
imul r9, rdx
movzx r15d, byte [rbp + 0x5c]
xor r9, r15
imul r9, rdx
movzx r12d, byte [rbp + 0x5d]
xor r9, r12
imul r9, rdx
movzx r13d, byte [rbp + 0x5e]
xor r9, r13
imul r9, rdx
mov rdx, qword [rcx + 0x30]
and rdx, r9
mov r9, qword [rcx + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r9 + rax*8 + 8]
mov rax, qword [rbp - 0x59]
cmp rcx, qword [rax + 8]
je 0x14005ef72
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x14005ef74
cmp rcx, rax
je 0x14005ef72
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x14005ef61
jmp 0x14005ef74
xor ecx, ecx
test rcx, rcx
jne 0x14005f093
xor ebx, ebx
mov qword [rbp - 0x29], rbx
mov ecx, 0x58
call fcn.14006a2f4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x31], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rbx
mov qword [rbp - 9], 7
mov qword [rbp - 1], 8
mov dword [rbp - 0x39], 0x3f800000
mov r8, rax
mov edx, send
lea rcx, [rbp - 0x21]
call fcn.14002c340
nop
lea r9, [rbp - 0x39]
lea r8, [rbp + 0x57]
lea rdx, [rbp - 0x49]
mov rcx, qword [rbp - 0x59]
call fcn.140031570
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14005f029
mov rax, qword [rbp - 0x11]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f024
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005f26e
call fcn.14006a0ac
mov r15, qword [rbp - 0x31]
mov rax, qword [r15 + 8]
mov qword [rax], rbx
mov rdi, qword [r15]
test rdi, rdi
je 0x14005f061
nop dword [rax]
mov rbx, qword [rdi]
lea rcx, [rdi + 0x18]
call fcn.140031400
mov edx, 0x58
mov rcx, rdi
call fcn.14006a0ac
mov rdi, rbx
test rbx, rbx
jne 0x14005f040
mov edx, 0x58
mov rcx, r15
call fcn.14006a0ac
mov r8, qword [rbp + 0x57]
movzx r13d, byte [rbp + 0x5e]
movzx r12d, byte [rbp + 0x5d]
movzx r15d, byte [rbp + 0x5c]
movzx edi, byte [rbp + 0x5b]
movzx ebx, byte [rbp + 0x5a]
movzx r11d, byte [rbp + 0x59]
movzx r10d, byte [rbp + 0x58]
movzx ecx, r8b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, r10b
xor rcx, rax
imul rcx, rdx
movzx eax, r11b
xor rcx, rax
imul rcx, rdx
movzx eax, bl
xor rcx, rax
imul rcx, rdx
movzx eax, dil
xor rcx, rax
imul rcx, rdx
movzx eax, r15b
xor rcx, rax
imul rcx, rdx
movzx eax, r12b
xor rcx, rax
mov r12, rdx
imul rcx, rdx
movzx eax, r13b
xor rcx, rax
imul rcx, rdx
mov r10, qword [rbp - 0x59]
mov rdx, qword [r10 + 0x30]
and rdx, rcx
mov r9, qword [r10 + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r9 + rax*8 + 8]
cmp rcx, qword [r10 + 8]
je 0x14005f5c5
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x14005f145
cmp rcx, rax
je 0x14005f5c5
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x14005f132
lea rdi, [rcx + 0x18]
movzx ecx, r14b
movabs r13, 0xcbf29ce484222325
xor rcx, r13
imul rcx, r12
movzx r8d, byte [rbp + 0x60]
xor rcx, r8
imul rcx, r12
movzx r9d, byte [rbp + 0x61]
xor rcx, r9
imul rcx, r12
movzx r10d, byte [rbp + 0x62]
xor rcx, r10
imul rcx, r12
mov rdx, qword [rdi + 0x30]
and rdx, rcx
mov r11, qword [rdi + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r11 + rax*8 + 8]
cmp rcx, qword [rdi + 8]
jne 0x14005f1a6
xor r15d, r15d
mov ecx, r15d
jmp 0x14005f1c5
add rdx, rdx
mov rax, qword [r11 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x14005f1c2
cmp rcx, rax
je 0x14005f19e
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x14005f1b3
xor r15d, r15d
test rcx, rcx
jne 0x14005f2a4
mov qword [rbp - 0x29], r15
mov ecx, 0x28
call fcn.14006a2f4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x31], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], 7
mov qword [rbp - 1], 8
mov dword [rbp - 0x39], 0x3f800000
mov r8, rax
mov edx, send
lea rcx, [rbp - 0x21]
call fcn.14002c340
nop
lea r9, [rbp - 0x39]
lea r8, [rbp + 0x5f]
lea rdx, [rbp - 0x49]
mov rcx, rdi
call fcn.140031920
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14005f27a
mov rax, qword [rbp - 0x11]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f275
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f275
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006a0ac
mov rdx, qword [rbp - 0x31]
call fcn.140031e80
mov edx, 0x28
mov rcx, qword [rbp - 0x31]
call fcn.14006a0ac
mov r14d, dword [rbp + 0x5f]
movzx r10d, byte [rbp + 0x62]
movzx r9d, byte [rbp + 0x61]
movzx r8d, byte [rbp + 0x60]
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 [rdi + 0x30]
and rdx, rcx
mov r8, qword [rdi + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [rdi + 8]
je 0x14005f5c5
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x14005f313
nop dword [rax]
cmp rcx, rax
je 0x14005f5c5
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x14005f300
lea rdi, [rcx + 0x18]
movzx ecx, sil
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbp + 0x68]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x69]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x6a]
xor rcx, rax
imul rcx, r12
mov rdx, qword [rdi + 0x30]
and rdx, rcx
mov r8, qword [rdi + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r8 + rax*8 + 8]
cmp rcx, qword [rdi + 8]
je 0x14005f380
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp esi, dword [rcx + 0x10]
je 0x14005f383
nop dword [rax + rax]
cmp rcx, rax
je 0x14005f380
mov rcx, qword [rcx + 8]
cmp esi, dword [rcx + 0x10]
jne 0x14005f370
jmp 0x14005f383
mov rcx, r15
mov r14d, 0xffffffff
test rcx, rcx
jne 0x14005f479
mov ecx, WSACleanup
call fcn.14006a2f4
mov rdx, rax
mov qword [rbp - 0x59], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_linear_color_animation_.0
mov qword [rdx], rax
lea rcx, [rdx + 0x10]
mov byte [rcx + 8], 0
mov dword [rcx + 0xc], 0x964401f1
mov word [rcx + 0x10], 0x100
mov qword [rcx + 0x18], r15
mov byte [rcx + 0x20], 1
mov dword [rcx + 0x28], r15d
mov dword [rcx + 0x2c], 0x3f800000
movss xmm1, dword [rcx + 0x2c]
maxss xmm1, xmm0
movss dword [rcx + 0x30], xmm1
movss dword [rcx + 0x34], xmm6
mov byte [rcx + 0x38], 0
mov rax, qword [rbp + 0x77]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x40], xmm0
mov rax, qword [rbp + 0x7f]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x50], xmm0
lea rax, vtable.linear_color_animation.0
mov qword [rcx], rax
mov qword [rbp - 0x59], rcx
mov qword [rbp - 0x51], rdx
lea r9, [rbp - 0x59]
lea r8, [rbp + 0x67]
lea rdx, [rbp - 0x49]
mov rcx, rdi
call fcn.140031c30
nop
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x14005f476
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14005f476
mov rbx, qword [rbp - 0x51]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14005f476
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rbp + 0x67]
movzx ecx, sil
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbp + 0x68]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x69]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x6a]
xor rcx, rax
imul rcx, r12
and rcx, qword [rdi + 0x30]
mov r8, qword [rdi + 0x18]
mov rax, rcx
add rax, rax
mov rdx, qword [r8 + rax*8 + 8]
cmp rdx, qword [rdi + 8]
je 0x14005f5c5
add rcx, rcx
mov rax, qword [r8 + rcx*8]
cmp esi, dword [rdx + 0x10]
je 0x14005f4e2
nop
cmp rdx, rax
je 0x14005f5c5
mov rdx, qword [rdx + 8]
cmp esi, dword [rdx + 0x10]
jne 0x14005f4d0
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x14005f4ef
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, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov rsi, rax
test rax, rax
je 0x14005f52b
test rbx, rbx
je 0x14005f526
lock inc dword [rbx + 8]
mov rdi, rbx
jmp 0x14005f540
xorps xmm1, xmm1
xorps xmm0, xmm0
psrldq xmm0, 8
movq rdi, xmm0
movq rsi, xmm1
test rdi, rdi
je 0x14005f570
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14005f570
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14005f570
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + htons]
test rbx, rbx
je 0x14005f59f
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005f59f
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14005f59f
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + htons]
mov rax, rsi
mov rbx, qword [rsp + 0xf8]
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.invalid_unordered_map_K__T__key
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3