Function at 0x100135b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov ebx, ecx
movzx eax, byte [ebp + 8]
mov ecx, dword [0x1038000c]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebx + 0x1368]
lea edx, [ebx + 0x134e]
lea edi, [ebp - 0x28]
push eax
push edx
push dword [ebx + 0x1d14]
push edi
call fcn.10076f30
mov eax, dword [edi]
xor esi, esi
test eax, eax
je 0x10013a26
mov dword [ebp - 0x48], edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x1368]
mov dword [ebp - 0x44], eax
push eax
call fcn.10076790
mov ecx, eax
push 0
push edi
mov edi, eax
push ebx
mov ebx, dword [ebp - 0x3c]
call fcn.1007c280
mov ecx, edi
push ebx
call fcn.1007c750
mov ecx, dword [ebx + 0x1368]
push dword [ebx + 0x1d14]
lea eax, [ebp - 0x28]
push eax
call fcn.100776d0
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x10013a13
mov ecx, dword [ebx + 0x1368]
cmp dword [ecx + 0x54], esi
mov dword [ebp - 0x38], esi
jbe 0x1001366d
mov eax, dword [ecx + 0x58]
mov eax, dword [eax + esi*4]
xor ecx, ecx
cmp eax, 0xffffffff
cmovne ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x10013724
mov dword [ebp - 0x34], edi
mov edx, esi
shr edx, 0x10
mov eax, esi
shr eax, 8
mov edi, 0xff
mov ebx, esi
and ebx, edi
and eax, edi
and edx, edi
mov edi, esi
shr edi, 0x18
mov dword [ebp - 0x40], ebx
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, eax
imul ebx, ebx, 0x1000193
xor ebx, edx
imul ebx, ebx, 0x1000193
xor ebx, edi
imul edi, ebx, 0x1000193
and edi, dword [ecx + 0x74]
mov ebx, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x68]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ecx + edi*8 + 4]
mov dword [ebp - 0x30], 0
cmp ecx, ebx
je 0x100136f4
mov dword [ebp - 0x4c], ebx
and esi, 0xff000000
shl edx, 0x10
or edx, esi
shl eax, 8
or eax, edx
add eax, dword [ebp - 0x40]
cmp eax, dword [ecx + 8]
jne 0x100136fc
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
jmp 0x10013719
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
jmp 0x10013724
add edi, edi
mov edx, dword [ebp - 0x50]
mov edx, dword [edx + edi*4]
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
cmp ecx, edx
je 0x10013724
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x1001370d
cmp ecx, dword [ebp - 0x4c]
je 0x10013724
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x30], eax
mov ecx, edi
push ebx
call fcn.1007ab00
cmp dword [edi + 0x100], 2
jne 0x100137f6
mov esi, ebx
mov ebx, dword [ebp - 0x30]
mov ecx, ebx
push 1
call fcn.1005b9d0
movzx eax, byte [edi + 0x120]
mov dword [ebx + eax*4 + 0x64], edi
inc dword [edi + 0x124]
mov ecx, ebx
push esi
call fcn.10057dc0
test eax, eax
je 0x10013791
mov ecx, dword [esi + 0x1368]
lea eax, [ecx + 0x2c]
push dword [ebp - 0x44]
push eax
push esi
call fcn.10077490
mov ecx, dword [esi + 0x1368]
lea eax, [ecx + 0x54]
push dword [ebp - 0x38]
push eax
push esi
call fcn.10077c20
xor esi, esi
jmp 0x10013a26
cmp dword [ebx + 0x160], 0
mov eax, ebx
mov ebx, esi
je 0x100137ea
cmp dword [eax + 0x158], 0
je 0x100137b2
mov ecx, eax
push ebx
call fcn.100599c0
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x154], 0
je 0x100137da
lea ecx, [ebx + 8]
push eax
push ebx
mov esi, ebx
mov ebx, eax
call fcn.10086e00
cmp eax, 1
je 0x10013764
lea ecx, [ebx + 4]
push 0xa
call fcn.1004f1a0
mov ebx, esi
lea ecx, [ebx + 0x1fe0]
mov edx, ebx
call fcn.10015de0
mov eax, dword [ebp - 0x30]
mov ecx, eax
push edi
push ebx
call fcn.100573a0
mov esi, dword [ebp - 0x38]
mov ecx, dword [edi + 0x13c]
cmp dword [edi + 0x140], 0x10
mov eax, dword [ebp - 0x30]
jb 0x10013810
mov edi, dword [edi + 0x12c]
jmp 0x10013816
add edi, 0x12c
mov edx, dword [eax + 0xe4]
cmp ecx, 0xf
ja 0x1001382f
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
mov eax, 0xf
jmp 0x1001388f
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x30], ecx
or ecx, 0xf
mov eax, 0x7fffffff
cmp ecx, eax
cmovae ecx, eax
cmp ecx, 0xfff
mov dword [ebp - 0x34], ecx
jb 0x10013867
lea eax, [ecx + 0x24]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x10013874
lea eax, [ecx + 1]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x30]
inc ecx
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
mov edi, dword [edx + 0x30]
test edi, edi
jne 0x100139bb
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
push 0xb0
mov dword [ebp - 0x40], edx
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov edi, eax
mov dword [eax], 0x102c3444
mov dword [eax + 0x10], 0x102c344c
lea ecx, [eax + 0x68]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [edi + 0x68], 0x102c3458
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov ecx, 0x102c3454
mov dword [edi + eax], ecx
mov eax, dword [edi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [edi + eax - 4], ecx
lea esi, [edi + 0x18]
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov dword [edi + eax], 0x102c3460
mov eax, dword [edi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [edi + eax - 4], ecx
xor ebx, ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ebx
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
push ebx
push esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov dword [edi + eax + 0x10], 0x102c3464
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [edi + eax + 0xc], ecx
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov dword [edi + eax], 0x102c345c
mov eax, dword [edi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x20]
mov dword [edi + eax - 4], ecx
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov ecx, 0x102c3454
mov dword [edi + eax], ecx
mov eax, dword [edi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [edi + eax - 4], ecx
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov edx, dword [ebp - 0x40]
mov dword [edi + 0x18], 0x102c3470
mov dword [edi + 0x50], ebx
mov dword [edi + 0x54], ebx
mov eax, dword [edx + 0x30]
mov dword [edx + 0x30], edi
test eax, eax
je 0x100139af
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
lea esi, [eax + ecx]
mov eax, dword [eax + ecx]
mov ebx, dword [eax]
mov ecx, ebx
mov edi, edx
call dword [section..00cfg]
mov ecx, esi
push 1
call ebx
mov edi, dword [edi + 0x30]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], edi
add edi, 0x10
cmp eax, 0x10
jb 0x100139cc
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
push ecx
push dword [ebp - 0x48]
push edi
call fcn.1002dbf0
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.10013b20
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x10013a13
mov eax, dword [ebp - 0x28]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x10013a09
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x10013a3c
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebx + 0x1368]
lea eax, [ecx + 0x2c]
push dword [ebp - 0x44]
push eax
push ebx
call fcn.10077490
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, esi
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3