Function at 0x14005d990
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 [0x1401b7550]
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 0x14005da82
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x14005da84
cmp rcx, rax
je 0x14005da82
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x14005da71
jmp 0x14005da84
xor ecx, ecx
test rcx, rcx
jne 0x14005dba3
xor ebx, ebx
mov qword [rbp - 0x29], rbx
mov ecx, 0x58
call fcn.140068e14
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 0x14005db39
mov rax, qword [rbp - 0x11]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005db34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005dd7e
call fcn.140068bcc
mov r15, qword [rbp - 0x31]
mov rax, qword [r15 + 8]
mov qword [rax], rbx
mov rdi, qword [r15]
test rdi, rdi
je 0x14005db71
nop dword [rax]
mov rbx, qword [rdi]
lea rcx, [rdi + 0x18]
call fcn.140031400
mov edx, 0x58
mov rcx, rdi
call fcn.140068bcc
mov rdi, rbx
test rbx, rbx
jne 0x14005db50
mov edx, 0x58
mov rcx, r15
call fcn.140068bcc
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 0x14005e0d5
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x14005dc55
cmp rcx, rax
je 0x14005e0d5
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x14005dc42
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 0x14005dcb6
xor r15d, r15d
mov ecx, r15d
jmp 0x14005dcd5
add rdx, rdx
mov rax, qword [r11 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x14005dcd2
cmp rcx, rax
je 0x14005dcae
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x14005dcc3
xor r15d, r15d
test rcx, rcx
jne 0x14005ddb4
mov qword [rbp - 0x29], r15
mov ecx, 0x28
call fcn.140068e14
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 0x14005dd8a
mov rax, qword [rbp - 0x11]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005dd85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005dd85
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140068bcc
mov rdx, qword [rbp - 0x31]
call fcn.140031e80
mov edx, 0x28
mov rcx, qword [rbp - 0x31]
call fcn.140068bcc
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 0x14005e0d5
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x14005de23
nop dword [rax]
cmp rcx, rax
je 0x14005e0d5
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x14005de10
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 0x14005de90
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp esi, dword [rcx + 0x10]
je 0x14005de93
nop dword [rax + rax]
cmp rcx, rax
je 0x14005de90
mov rcx, qword [rcx + 8]
cmp esi, dword [rcx + 0x10]
jne 0x14005de80
jmp 0x14005de93
mov rcx, r15
mov r14d, 0xffffffff
test rcx, rcx
jne 0x14005df89
mov ecx, WSACleanup
call fcn.140068e14
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 0x14005df86
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14005df86
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 0x14005df86
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 0x14005e0d5
add rcx, rcx
mov rax, qword [r8 + rcx*8]
cmp esi, dword [rdx + 0x10]
je 0x14005dff2
nop
cmp rdx, rax
je 0x14005e0d5
mov rdx, qword [rdx + 8]
cmp esi, dword [rdx + 0x10]
jne 0x14005dfe0
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x14005dfff
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 0x14005e03b
test rbx, rbx
je 0x14005e036
lock inc dword [rbx + 8]
mov rdi, rbx
jmp 0x14005e050
xorps xmm1, xmm1
xorps xmm0, xmm0
psrldq xmm0, 8
movq rdi, xmm0
movq rsi, xmm1
test rdi, rdi
je 0x14005e080
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14005e080
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14005e080
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + htons]
test rbx, rbx
je 0x14005e0af
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005e0af
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14005e0af
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