Function at 0x100760e0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov edi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [0x1038100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
add ecx, 4
call fcn.10050500
mov esi, eax
mov dword [ebx], eax
push 0x190
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, eax
push esi
mov dword [ebp - 0x1c], edi
push edi
push dword [ebp + 0xc]
call fcn.10058a80
cmp esi, 0x3fff
ja 0x100761be
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x60]
cmp eax, esi
ja 0x100761b3
mov ebx, edi
mov edi, eax
add eax, eax
cmp edi, esi
jbe 0x1007613c
xor ecx, ecx
dec ecx
mov edx, 4
mov eax, edi
mul edx
cmovo eax, ecx
mov ecx, dword [ebx + 0x64]
mov dword [ebp - 0x24], ecx
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebx + 0x64], eax
mov ebx, dword [ebx + 0x60]
lea edx, [eax + ebx*4]
mov ecx, edi
sub ecx, ebx
shl ecx, 2
push ecx
push 0xff
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
shl ebx, 2
push ebx
mov ebx, dword [ebp - 0x24]
push ebx
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x60], edi
mov edi, ecx
test eax, eax
mov ebx, dword [ebp + 8]
je 0x100761b3
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
shl esi, 2
add esi, dword [edi + 0x64]
jmp 0x100762b9
mov ecx, esi
shr ecx, 0x10
mov eax, esi
shr eax, 8
mov edx, 0xff
mov edi, esi
and edi, edx
and eax, edx
and ecx, edx
mov edx, esi
shr edx, 0x18
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
xor edi, ecx
imul edi, edi, 0x1000193
xor edi, edx
mov ebx, dword [ebp - 0x1c]
lea edx, [ebx + 0x68]
mov dword [ebp - 0x20], edx
imul edx, edi, 0x1000193
and edx, dword [ebx + 0x80]
shl ecx, 0x10
and esi, 0xff0000ff
or esi, ecx
mov ecx, dword [ebx + 0x74]
shl eax, 8
mov edi, esi
or edi, eax
mov ebx, dword [ecx + edx*8]
lea eax, [edx + edx]
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x6c]
mov esi, ebx
cmp eax, ebx
je 0x10076242
mov edx, dword [ebp - 0x24]
mov edx, dword [ecx + edx*4]
mov edx, dword [edx]
jmp 0x10076244
mov edx, ebx
cmp esi, edx
je 0x10076255
cmp dword [esi + 8], edi
je 0x10076251
mov esi, dword [esi]
jmp 0x10076234
cmp esi, eax
jne 0x100762b3
mov esi, dword [eax]
mov ebx, dword [esi + 4]
push 0x10
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
test esi, esi
mov ecx, esi
cmove ecx, eax
mov dword [eax], ecx
mov ecx, ebx
cmove ecx, eax
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x70]
cmp ecx, 0xffffffe
je 0x100762d4
inc ecx
mov dword [edx + 0x70], ecx
mov dword [esi + 4], eax
mov dword [ebx], eax
mov eax, dword [edx + 0x6c]
mov eax, dword [eax]
lea esi, [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov edx, esi
push eax
add eax, 8
push eax
call fcn.10032990
add esp, 8
mov esi, dword [esi]
add esi, 0xc
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov dword [esi], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 8
push str.list_T__too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3