Function at 0x100444c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f79f5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x10143964]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi]
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.10047e60
mov ecx, dword [ebp - 0x2c]
sub esp, 0x20
mov eax, esp
mov dword [ebp - 4], 0
mov dword [eax + 0x24], 0
call sym.datachannel.dll_public:_void___thiscall_rtc::WebSocketServer::onClient_class_std::function_void____cdecl___class_std::shared_ptr_class_rtc::WebSocket____
mov ecx, dword [ebp - 0x2c]
call sym.datachannel.dll_public:_void___thiscall_rtc::WebSocketServer::stop_void_
mov eax, dword [edi]
mov esi, 0x1014a5f8
push esi
mov dword [ebp - 0x24], esi
mov ebx, dword [eax]
mov eax, ebx
shr eax, 0x10
mov edi, ebx
mov dword [ebp - 0x18], eax
mov eax, ebx
shr eax, 8
mov dword [ebp - 0x10], ebx
shr edi, 0x18
mov dword [ebp - 0x14], eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
jne 0x1004468e
movzx eax, bl
xor eax, 0x811c9dc5
mov byte [ebp - 4], 1
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x14]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x18]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1014a708
xor eax, edi
imul ebx, eax, 0x1000193
lea eax, [ebp - 0x10]
push ebx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1003ac50
mov edi, dword [eax + 4]
test edi, edi
je 0x10044673
mov ecx, dword [0x1014a720]
mov eax, dword [0x1014a714]
and ecx, ebx
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
cmp dword [ecx + 4], edi
jne 0x100445d2
cmp eax, edi
jne 0x100445ca
mov eax, dword [0x1014a70c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x100445da
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
jmp 0x100445da
cmp eax, edi
jne 0x100445da
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [edi]
dec dword [0x1014a710]
mov eax, dword [edi + 4]
mov dword [eax], ecx
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x10044615
or eax, 0xffffffff
lock xadd dword [ebx + 4], eax
jne 0x10044615
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
jne 0x10044615
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push 0x14
push edi
call fcn.100f01b2
add esp, 8
lea eax, [ebp - 0x10]
mov ecx, 0x1014a728
push eax
call fcn.10047020
push esi
call sub.MSVCP140.dll__Mtx_unlock
mov esi, dword [ebp - 0x28]
add esp, 4
test esi, esi
je 0x1004465f
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1004465f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1004465f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.WebSocketServer_ID_does_not_exist
lea ecx, [ebp - 0x20]
call fcn.100058f0
push 0x1011e954
lea eax, [ebp - 0x20]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
int3