Function at 0x100383b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, dword [ebp + 8]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], ecx
mov esi, dword [ecx + 0x6c]
mov eax, dword [esi]
mov ebx, dword [eax + 0x48]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
call ebx
test al, al
je 0x10038404
mov ecx, dword [ebp - 0x20]
mov edx, edi
call fcn.10037e40
cmp dword [edi], 0x3000
mov ebx, edi
jne 0x100385dc
mov eax, dword [ebx + 8]
test eax, eax
jne 0x1003861b
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
lea eax, [edi - 0x30b1]
cmp eax, 7
ja 0x10038436
mov eax, dword [esi + 0x136c]
cmp dword [eax + 0x2c], ebx
jbe 0x1003846d
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + ebx*4]
xor eax, eax
cmp ecx, 0xffffffff
cmovne eax, ecx
jmp 0x10038546
xor ebx, ebx
cmp edi, 0x3483
jg 0x10038507
cmp edi, 0x30b9
je 0x100385f2
cmp edi, 0x3140
je 0x1003851f
cmp edi, 0x3270
je 0x1003851f
jmp 0x10038551
mov esi, ebx
shr esi, 0x10
mov ecx, ebx
shr ecx, 8
mov edx, 0xff
mov edi, ebx
and edi, edx
and ecx, edx
and esi, edx
mov edx, ebx
shr edx, 0x18
mov dword [ebp - 0x2c], edi
mov ebx, edi
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, ecx
imul ebx, ebx, 0x1000193
xor ebx, esi
imul ebx, ebx, 0x1000193
xor ebx, edx
imul ebx, ebx, 0x1000193
and ebx, dword [eax + 0x4c]
mov edi, dword [eax + 0x38]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x24], eax
mov edx, dword [eax + ebx*8 + 4]
xor eax, eax
mov dword [ebp - 0x28], edi
cmp edx, edi
je 0x10038543
mov edi, dword [ebp + 0x14]
and edi, 0xff000000
shl esi, 0x10
or esi, edi
shl ecx, 8
or ecx, esi
add ecx, dword [ebp - 0x2c]
cmp ecx, dword [edx + 8]
je 0x100384fa
add ebx, ebx
mov esi, dword [ebp - 0x24]
mov esi, dword [esi + ebx*4]
cmp edx, esi
je 0x10038543
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x100384ee
cmp edx, dword [ebp - 0x28]
mov esi, dword [ebp + 0xc]
je 0x10038546
mov eax, dword [edx + 0xc]
jmp 0x10038546
cmp edi, 0x3484
je 0x1003851f
cmp edi, 0x34a7
je 0x1003851f
cmp edi, 0x34d3
jne 0x10038551
push 0x64
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ebx, eax
mov ecx, eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edi
push esi
mov eax, dword [ebp - 0x20]
push dword [eax + 0x6c]
call fcn.1004bca0
jmp 0x10038551
mov esi, dword [ebp + 0xc]
lea ebx, [eax + 0x18]
test eax, eax
cmove ebx, eax
mov edi, dword [ebp + 0x10]
push 0x9c
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov edx, esi
mov esi, eax
mov ecx, eax
push dword [ebp + 0x18]
push ebx
push edi
push edx
mov edi, dword [ebp - 0x20]
push dword [edi + 0x6c]
call fcn.1004be80
mov ecx, esi
push edi
mov ebx, dword [ebp + 8]
push ebx
call fcn.1004c290
cmp dword [ebx], 0x3000
jne 0x100385c3
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebx + 8]
test eax, eax
jne 0x1003860d
lea eax, [ebp - 0x14]
mov dword [eax], esi
mov dword [edi], esi
inc dword [esi + 4]
mov ecx, dword [ebp - 0x20]
add ecx, 0xac
lea edx, [ebp - 0x1c]
push eax
call fcn.1003b440
add esp, 4
mov dword [ebx], 0x3000
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
jmp 0x100385dc
mov ecx, esi
push edi
call fcn.1004c0c0
mov ecx, esi
call fcn.1004c190
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
mov ecx, dword [esi + 0x1370]
push dword [ebp + 0x14]
call fcn.10076790
lea ebx, [eax + 0x18]
test eax, eax
cmove ebx, eax
jmp 0x10038551
lea ecx, [ebx + 8]
push eax
call fcn.10213ea0
jmp 0x10038594
lea ecx, [ebx + 8]
push eax
call fcn.10213ea0
jmp 0x10038404