Function at 0x1002b8d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa8
mov dword [ebp - 0xa8], ecx
mov ebx, dword [ebp + 8]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x9c]
mov dword [eax + 0x80], eax
mov dword [eax + 0x84], 0
mov dword [eax + 0x88], 0x10
cmp ebx, 0x11
jb 0x1002b97e
mov eax, 0x10
mov esi, eax
add eax, eax
cmp esi, ebx
jb 0x1002b919
lea eax, [esi*8]
xor ecx, ecx
dec ecx
cmp esi, 0x20000000
cmovb ecx, eax
push ecx
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x1002b960
shl ecx, 3
xor edx, edx
movsd xmm0, qword [eax + edx]
movsd qword [edi + edx], xmm0
add edx, 8
cmp ecx, edx
jne 0x1002b94f
lea ecx, [ebp - 0x9c]
cmp eax, ecx
je 0x1002b978
test eax, eax
je 0x1002b978
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x1002baa9
xor edi, edi
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + edi*4]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x136c]
cmp dword [ecx + 0x2c], esi
jbe 0x1002b9b8
mov eax, dword [ecx + 0x30]
mov ecx, dword [eax + esi*4]
cmp ecx, 0xffffffff
mov eax, 0
cmove ecx, eax
jmp 0x1002ba9a
mov dword [ebp - 0xa4], edi
mov eax, esi
shr eax, 0x18
mov dword [ebp - 0xa0], eax
mov ebx, esi
shr ebx, 0x10
mov eax, esi
shr eax, 8
mov edx, esi
mov edi, 0xff
and edx, edi
mov dword [ebp - 0xb4], edx
xor edx, 0x811c9dc5
imul edi, edx, 0x1000193
mov edx, 0xff
and eax, edx
xor edi, eax
imul edi, edi, 0x1000193
and ebx, edx
xor edi, ebx
imul edx, edi, 0x1000193
xor edx, dword [ebp - 0xa0]
imul edx, edx, 0x1000193
and edx, dword [ecx + 0x4c]
mov edi, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x40]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], ecx
mov edx, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov dword [ebp - 0xa0], edi
cmp edx, edi
je 0x1002ba5e
and esi, 0xff000000
shl ebx, 0x10
or ebx, esi
shl eax, 8
or eax, ebx
add eax, dword [ebp - 0xb4]
cmp eax, dword [edx + 8]
jne 0x1002ba69
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0xa4]
jmp 0x1002ba8f
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0xa4]
jmp 0x1002ba9a
mov esi, dword [ebp - 0xb0]
add esi, esi
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebx + esi*4]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0xa4]
cmp edx, esi
je 0x1002ba9a
mov edx, dword [edx + 4]
cmp eax, dword [edx + 8]
jne 0x1002ba83
cmp edx, dword [ebp - 0xa0]
je 0x1002ba9a
mov ecx, dword [edx + 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [eax + edi*8], ecx
inc edi
cmp edi, ebx
jne 0x1002b98b
mov esi, dword [ebp - 0xa8]
mov edi, dword [esi + 0x1d14]
mov eax, dword [edi]
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0xa0], ecx
call dword [section..00cfg]
mov ecx, edi
lea eax, [ebp - 0x9c]
push eax
push esi
call dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x1c]
test ebx, ebx
je 0x1002baf6
cmp eax, 1
je 0x1002baf6
mov eax, dword [ebp + 0x10]
xor edx, edx
mov esi, dword [ecx + edx*8 + 4]
mov dword [eax + edx*4], esi
inc edx
cmp ebx, edx
jne 0x1002baea
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x9c]
cmp ecx, eax
je 0x1002bb15
test ecx, ecx
je 0x1002bb15
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret 0xc