Function at 0x140037f20
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 - 0x5f]
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 - 0x49], rcx
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r9, 0x100000001b3
imul rdx, r9
movzx r10d, byte [rbp + 0x68]
xor rdx, r10
imul rdx, r9
movzx r11d, byte [rbp + 0x69]
xor rdx, r11
imul rdx, r9
movzx ebx, byte [rbp + 0x6a]
xor rdx, rbx
imul rdx, r9
movzx edi, byte [rbp + 0x6b]
xor rdx, rdi
imul rdx, r9
movzx r15d, byte [rbp + 0x6c]
xor rdx, r15
imul rdx, r9
movzx r12d, byte [rbp + 0x6d]
xor rdx, r12
imul rdx, r9
movzx r13d, byte [rbp + 0x6e]
xor rdx, r13
imul rdx, r9
and rdx, qword [rcx + 0x30]
mov r9, qword [rcx + 0x18]
mov rax, rdx
add rax, rax
mov rcx, qword [r9 + rax*8 + 8]
mov rax, qword [rbp - 0x49]
cmp rcx, qword [rax + 8]
je 0x140038011
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x140038013
nop
cmp rcx, rax
je 0x140038011
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x140038000
jmp 0x140038013
xor ecx, ecx
test rcx, rcx
jne 0x140038133
xor ebx, ebx
mov qword [rbp - 0x19], rbx
mov ecx, 0x58
call fcn.140068e14
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x21], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], rbx
mov qword [rbp + 7], 7
mov qword [rbp + 0xf], 8
mov dword [rbp - 0x29], 0x3f800000
mov r8, rax
mov edx, send
lea rcx, [rbp - 0x11]
call fcn.14002c340
nop
lea r9, [rbp - 0x29]
lea r8, [rbp + 0x67]
lea rdx, [rbp - 0x39]
mov rcx, qword [rbp - 0x49]
call fcn.140031570
nop
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1400380c8
mov rax, qword [rbp - 1]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400380c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003830e
call fcn.140068bcc
mov r15, qword [rbp - 0x21]
mov rax, qword [r15 + 8]
mov qword [rax], rbx
mov rdi, qword [r15]
test rdi, rdi
je 0x140038101
nop dword [rax + 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 0x1400380e0
mov edx, 0x58
mov rcx, r15
call fcn.140068bcc
mov r8, qword [rbp + 0x67]
movzx r13d, byte [rbp + 0x6e]
movzx r12d, byte [rbp + 0x6d]
movzx r15d, byte [rbp + 0x6c]
movzx edi, byte [rbp + 0x6b]
movzx ebx, byte [rbp + 0x6a]
movzx r11d, byte [rbp + 0x69]
movzx r10d, byte [rbp + 0x68]
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 - 0x49]
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 0x14003866a
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x1400381e5
cmp rcx, rax
je 0x14003866a
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x1400381d2
lea rdi, [rcx + 0x18]
movzx ecx, r14b
movabs r13, 0xcbf29ce484222325
xor rcx, r13
imul rcx, r12
movzx r8d, byte [rbp + 0x70]
xor rcx, r8
imul rcx, r12
movzx r9d, byte [rbp + 0x71]
xor rcx, r9
imul rcx, r12
movzx r10d, byte [rbp + 0x72]
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 0x140038246
xor r15d, r15d
mov ecx, r15d
jmp 0x140038265
add rdx, rdx
mov rax, qword [r11 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x140038262
cmp rcx, rax
je 0x14003823e
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x140038253
xor r15d, r15d
test rcx, rcx
jne 0x140038344
mov qword [rbp - 0x19], r15
mov ecx, 0x28
call fcn.140068e14
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x21], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], r15
mov qword [rbp + 7], 7
mov qword [rbp + 0xf], 8
mov dword [rbp - 0x29], 0x3f800000
mov r8, rax
mov edx, send
lea rcx, [rbp - 0x11]
call fcn.14002c340
nop
lea r9, [rbp - 0x29]
lea r8, [rbp + 0x6f]
lea rdx, [rbp - 0x39]
mov rcx, rdi
call fcn.140031920
nop
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x14003831a
mov rax, qword [rbp - 1]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038315
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140038315
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 - 0x21]
call fcn.140031e80
mov edx, 0x28
mov rcx, qword [rbp - 0x21]
call fcn.140068bcc
mov r14d, dword [rbp + 0x6f]
movzx r10d, byte [rbp + 0x72]
movzx r9d, byte [rbp + 0x71]
movzx r8d, byte [rbp + 0x70]
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 0x14003866a
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp r14d, dword [rcx + 0x10]
je 0x1400383b3
nop dword [rax]
cmp rcx, rax
je 0x14003866a
mov rcx, qword [rcx + 8]
cmp r14d, dword [rcx + 0x10]
jne 0x1400383a0
lea rdi, [rcx + 0x18]
movzx ecx, sil
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbp + 0x78]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x79]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x7a]
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 0x140038420
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp esi, dword [rcx + 0x10]
je 0x140038423
nop dword [rax + rax]
cmp rcx, rax
je 0x140038420
mov rcx, qword [rcx + 8]
cmp esi, dword [rcx + 0x10]
jne 0x140038410
jmp 0x140038423
mov rcx, r15
mov r14d, 0xffffffff
test rcx, rcx
jne 0x140038520
mov ecx, WSACleanup
call fcn.140068e14
mov qword [rbp - 0x49], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_obj2_class_linear_color_animation_.0
mov qword [rax], rcx
lea rcx, [rax + 0x10]
movdqa xmm3, xmmword [0x140190710]
movups xmmword [rbp - 0x39], xmm3
movdqa xmm2, xmmword [0x140190550]
movups xmmword [rbp - 0x39], xmm2
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
movups xmmword [rcx + 0x40], xmm2
movups xmmword [rcx + 0x50], xmm3
lea rdx, vtable.linear_color_animation.0
mov qword [rcx], rdx
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x41], rax
lea r9, [rbp - 0x49]
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x39]
mov rcx, rdi
call fcn.140031c30
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x14003851d
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14003851d
mov rbx, qword [rbp - 0x41]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14003851d
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rbp + 0x77]
movzx ecx, sil
xor rcx, r13
imul rcx, r12
movzx eax, byte [rbp + 0x78]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x79]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbp + 0x7a]
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 0x14003866a
add rcx, rcx
mov rax, qword [r8 + rcx*8]
cmp esi, dword [rdx + 0x10]
je 0x140038587
cmp rdx, rax
je 0x14003866a
mov rdx, qword [rdx + 8]
cmp esi, dword [rdx + 0x10]
jne 0x140038575
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x140038594
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 0x1400385d0
test rbx, rbx
je 0x1400385cb
lock inc dword [rbx + 8]
mov rdi, rbx
jmp 0x1400385e5
xorps xmm1, xmm1
xorps xmm0, xmm0
psrldq xmm0, 8
movq rdi, xmm0
movq rsi, xmm1
test rdi, rdi
je 0x140038615
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140038615
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140038615
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + htons]
test rbx, rbx
je 0x140038644
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140038644
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140038644
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