Function at 0x10036a20
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov ebx, dword [ebp + 8]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x10], 0
je 0x10036a4a
cmp byte [ecx + 0x568], 0
jne 0x10036a51
jmp 0x10036b61
mov byte [ecx + 0x568], 1
cmp byte [ecx + 0x1ac], 0
je 0x10036b61
mov dword [ebp - 0x50], ecx
mov edi, dword [ecx + 0xb0]
mov ebx, dword [edi]
cmp ebx, edi
je 0x10036a8d
mov eax, dword [ebp - 0x50]
lea esi, [eax + 0x12c]
lea eax, [ebx + 8]
mov ecx, esi
lea edx, [ebp - 0x30]
push eax
call fcn.1003b440
add esp, 4
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x10036a76
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xb4]
test eax, eax
je 0x10036ca9
mov edx, dword [edi + 0xb0]
mov ecx, dword [edi + 0xc8]
shr ecx, 3
cmp ecx, eax
jbe 0x10036b74
mov esi, dword [edx]
cmp esi, edx
je 0x10036ca9
mov dword [ebp - 0x4c], edx
mov edx, dword [edi + 0xb8]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [esi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edi + 0xc4]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x60], ecx
lea ecx, [eax + eax]
lea edi, [edx + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], edi
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov edi, esi
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0xb4]
cmp ebx, dword [ebp - 0x5c]
je 0x10036bdd
mov ecx, dword [ebp - 0x4c]
cmp edi, ecx
jne 0x10036b58
cmp dword [ebp - 0x64], esi
je 0x10036c8e
cmp edi, ecx
jne 0x10036b28
jmp 0x10036c9b
mov dword [ebx], 0x3000
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
jmp 0x1003778f
mov eax, dword [edx + 4]
mov dword [eax], 0
mov eax, dword [edx]
test eax, eax
je 0x10036b97
mov esi, dword [sym.imp.mozglue.dll_free]
mov edi, dword [eax]
push eax
call esi
add esp, 4
mov eax, edi
test edi, edi
jne 0x10036b89
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xb0]
mov dword [eax], eax
mov eax, dword [edi + 0xb0]
mov dword [eax + 4], eax
mov dword [edi + 0xb4], 0
mov eax, dword [edi + 0xb8]
mov ecx, dword [edi + 0xbc]
cmp eax, ecx
je 0x10036ca9
mov edx, dword [edi + 0xb0]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x10036bcf
jmp 0x10036ca9
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x64], esi
mov edx, dword [ebp - 0x4c]
jne 0x10036bef
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov eax, edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x68]
mov dword [ecx + esi*4], eax
cmp edi, edx
je 0x10036c9b
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [edi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x50]
and eax, dword [ecx + 0xc4]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x58]
lea ebx, [edx + eax*8]
mov dword [ebp - 0x54], ebx
lea esi, [eax + eax]
inc esi
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0xb4]
cmp ebx, dword [ebp - 0x5c]
je 0x10036c76
cmp edi, dword [ebp - 0x4c]
jne 0x10036c53
jmp 0x10036c93
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov dword [eax + esi*4], ecx
cmp edi, ecx
jne 0x10036c00
jmp 0x10036c9b
mov eax, dword [ebp - 0x54]
jmp 0x10036c99
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x50]
mov edi, dword [edi + 0xd0]
mov ebx, dword [edi]
cmp ebx, edi
je 0x10036cd5
mov eax, dword [ebp - 0x50]
lea esi, [eax + 0x14c]
lea eax, [ebx + 8]
mov ecx, esi
lea edx, [ebp - 0x30]
push eax
call fcn.1003b440
add esp, 4
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x10036cbe
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xd4]
test eax, eax
je 0x10036ede
mov edx, dword [edi + 0xd0]
mov ecx, dword [edi + 0xe8]
shr ecx, 3
cmp ecx, eax
jbe 0x10036da9
mov esi, dword [edx]
cmp esi, edx
je 0x10036ede
mov dword [ebp - 0x4c], edx
mov edx, dword [edi + 0xd8]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [esi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edi + 0xe4]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x60], ecx
lea ecx, [eax + eax]
lea edi, [edx + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], edi
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov edi, esi
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0xd4]
cmp ebx, dword [ebp - 0x5c]
je 0x10036e12
mov ecx, dword [ebp - 0x4c]
cmp edi, ecx
jne 0x10036da0
cmp dword [ebp - 0x64], esi
je 0x10036ec3
cmp edi, ecx
jne 0x10036d70
jmp 0x10036ed0
mov eax, dword [edx + 4]
mov dword [eax], 0
mov eax, dword [edx]
test eax, eax
je 0x10036dcc
mov esi, dword [sym.imp.mozglue.dll_free]
mov edi, dword [eax]
push eax
call esi
add esp, 4
mov eax, edi
test edi, edi
jne 0x10036dbe
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xd0]
mov dword [eax], eax
mov eax, dword [edi + 0xd0]
mov dword [eax + 4], eax
mov dword [edi + 0xd4], 0
mov eax, dword [edi + 0xd8]
mov ecx, dword [edi + 0xdc]
cmp eax, ecx
je 0x10036ede
mov edx, dword [edi + 0xd0]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x10036e04
jmp 0x10036ede
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x64], esi
mov edx, dword [ebp - 0x4c]
jne 0x10036e24
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov eax, edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x68]
mov dword [ecx + esi*4], eax
cmp edi, edx
je 0x10036ed0
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [edi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x50]
and eax, dword [ecx + 0xe4]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x58]
lea ebx, [edx + eax*8]
mov dword [ebp - 0x54], ebx
lea esi, [eax + eax]
inc esi
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0xd4]
cmp ebx, dword [ebp - 0x5c]
je 0x10036eab
cmp edi, dword [ebp - 0x4c]
jne 0x10036e88
jmp 0x10036ec8
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov dword [eax + esi*4], ecx
cmp edi, ecx
jne 0x10036e35
jmp 0x10036ed0
mov eax, dword [ebp - 0x54]
jmp 0x10036ece
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x50]
mov edi, dword [edi + 0x30]
mov ebx, dword [edi]
cmp ebx, edi
je 0x10036f07
mov eax, dword [ebp - 0x50]
lea esi, [eax + 0x16c]
lea eax, [ebx + 8]
mov ecx, esi
lea edx, [ebp - 0x30]
push eax
call fcn.1003b440
add esp, 4
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x10036ef0
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0x34]
test eax, eax
je 0x100370e2
mov edx, dword [edi + 0x30]
mov ecx, dword [edi + 0x48]
shr ecx, 3
cmp ecx, eax
jbe 0x10036fc5
mov esi, dword [edx]
cmp esi, edx
je 0x100370e2
mov dword [ebp - 0x4c], edx
mov edx, dword [edi + 0x38]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [esi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edi + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x60], ecx
lea ecx, [eax + eax]
lea edi, [edx + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], edi
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov edi, esi
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0x34]
cmp ebx, dword [ebp - 0x5c]
je 0x1003701c
mov ecx, dword [ebp - 0x4c]
cmp edi, ecx
jne 0x10036fbc
cmp dword [ebp - 0x64], esi
je 0x100370c7
cmp edi, ecx
jne 0x10036f93
jmp 0x100370d4
mov eax, dword [edx + 4]
mov dword [eax], 0
mov eax, dword [edx]
test eax, eax
je 0x10036fe8
mov esi, dword [sym.imp.mozglue.dll_free]
mov edi, dword [eax]
push eax
call esi
add esp, 4
mov eax, edi
test edi, edi
jne 0x10036fda
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0x30]
mov dword [eax], eax
mov eax, dword [edi + 0x30]
mov dword [eax + 4], eax
mov dword [edi + 0x34], 0
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
cmp eax, ecx
je 0x100370e2
mov edx, dword [edi + 0x30]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1003700e
jmp 0x100370e2
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x64], esi
mov edx, dword [ebp - 0x4c]
jne 0x1003702e
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov eax, edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x68]
mov dword [ecx + esi*4], eax
cmp edi, edx
je 0x100370d4
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [edi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x50]
and eax, dword [ecx + 0x44]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x58]
lea ebx, [edx + eax*8]
mov dword [ebp - 0x54], ebx
lea esi, [eax + eax]
inc esi
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0x34]
cmp ebx, dword [ebp - 0x5c]
je 0x100370af
cmp edi, dword [ebp - 0x4c]
jne 0x1003708f
jmp 0x100370cc
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov dword [eax + esi*4], ecx
cmp edi, ecx
jne 0x1003703f
jmp 0x100370d4
mov eax, dword [ebp - 0x54]
jmp 0x100370d2
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x50]
mov edi, dword [edi + 0xf0]
mov ebx, dword [edi]
cmp ebx, edi
je 0x1003710e
mov eax, dword [ebp - 0x50]
lea esi, [eax + 0x18c]
lea eax, [ebx + 8]
mov ecx, esi
lea edx, [ebp - 0x30]
push eax
call fcn.1003b440
add esp, 4
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x100370f7
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x10037317
mov edx, dword [edi + 0xf0]
mov ecx, dword [edi + 0x108]
shr ecx, 3
cmp ecx, eax
jbe 0x100371e2
mov esi, dword [edx]
cmp esi, edx
je 0x10037317
mov dword [ebp - 0x4c], edx
mov edx, dword [edi + 0xf8]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [esi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edi + 0x104]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x60], ecx
lea ecx, [eax + eax]
lea edi, [edx + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], edi
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov edi, esi
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0xf4]
cmp ebx, dword [ebp - 0x5c]
je 0x1003724b
mov ecx, dword [ebp - 0x4c]
cmp edi, ecx
jne 0x100371d9
cmp dword [ebp - 0x64], esi
je 0x100372fc
cmp edi, ecx
jne 0x100371a9
jmp 0x10037309
mov eax, dword [edx + 4]
mov dword [eax], 0
mov eax, dword [edx]
test eax, eax
je 0x10037205
mov esi, dword [sym.imp.mozglue.dll_free]
mov edi, dword [eax]
push eax
call esi
add esp, 4
mov eax, edi
test edi, edi
jne 0x100371f7
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0xf0]
mov dword [eax], eax
mov eax, dword [edi + 0xf0]
mov dword [eax + 4], eax
mov dword [edi + 0xf4], 0
mov eax, dword [edi + 0xf8]
mov ecx, dword [edi + 0xfc]
cmp eax, ecx
je 0x10037317
mov edx, dword [edi + 0xf0]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1003723d
jmp 0x10037317
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x64], esi
mov edx, dword [ebp - 0x4c]
jne 0x1003725d
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov eax, edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x68]
mov dword [ecx + esi*4], eax
cmp edi, edx
je 0x10037309
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [edi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x50]
and eax, dword [ecx + 0x104]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x58]
lea ebx, [edx + eax*8]
mov dword [ebp - 0x54], ebx
lea esi, [eax + eax]
inc esi
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0xf4]
cmp ebx, dword [ebp - 0x5c]
je 0x100372e4
cmp edi, dword [ebp - 0x4c]
jne 0x100372c1
jmp 0x10037301
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov dword [eax + esi*4], ecx
cmp edi, ecx
jne 0x1003726e
jmp 0x10037309
mov eax, dword [ebp - 0x54]
jmp 0x10037307
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x50]
lea eax, [edi + 0xc]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x28], 0
mov ebx, edi
mov edi, dword [sym.imp.mozglue.dll_moz_xmalloc]
push 0xc
call edi
add esp, 4
mov esi, eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x30], 0x3f800000
push 0x40
call edi
add esp, 4
mov dword [ebp - 0x24], eax
lea ecx, [eax + 0x40]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], esi
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], esi
mov edi, dword [ebx + 0x10]
mov esi, dword [edi]
cmp esi, edi
je 0x100373ff
mov eax, dword [ebp - 0x50]
lea ebx, [eax + 0x10c]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx + 0x2210]
test eax, eax
je 0x100373d6
cmp dword [ebp + 0x10], 2
jne 0x100373da
dec eax
mov dword [ecx + 0x2210], eax
push dword [ebp - 0x50]
lea eax, [ebp - 0x40]
push eax
call fcn.1000ea40
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x100373f4
mov ecx, ebx
jmp 0x100373dd
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x34]
push eax
call fcn.100377c0
add esp, 4
mov esi, dword [esi]
cmp esi, edi
jne 0x100373a6
jmp 0x100373ff
lea ecx, [ebp - 0x38]
push eax
call fcn.10213ea0
jmp 0x100373d6
lea ecx, [ebp - 0x30]
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0x14]
cmp dword [ebp - 0x4c], ecx
je 0x100374dc
test eax, eax
mov ebx, dword [ebp + 8]
je 0x100375f6
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0x28]
shr ecx, 3
cmp ecx, eax
jbe 0x100374e4
mov eax, dword [esi]
cmp eax, esi
je 0x100375f6
mov edx, dword [edi + 0x18]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
mov ecx, dword [ebp - 0x4c]
movzx ecx, byte [ecx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x4c]
movzx ecx, byte [ecx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x4c]
movzx ecx, byte [ecx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edi + 0x24]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x60], ecx
lea ecx, [eax + eax]
lea edi, [edx + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], edx
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], edi
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov edi, dword [ebp - 0x4c]
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0x14]
cmp ebx, dword [ebp - 0x5c]
je 0x1003753b
cmp edi, esi
mov eax, dword [ebp - 0x4c]
jne 0x100374d3
cmp dword [ebp - 0x64], eax
je 0x100375e3
cmp edi, esi
jne 0x100374aa
jmp 0x100375e8
mov ebx, dword [ebp + 8]
jmp 0x10037650
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
test eax, eax
je 0x10037507
mov esi, dword [sym.imp.mozglue.dll_free]
mov edi, dword [eax]
push eax
call esi
add esp, 4
mov eax, edi
test edi, edi
jne 0x100374f9
mov edi, dword [ebp - 0x50]
mov eax, dword [edi + 0x10]
mov dword [eax], eax
mov eax, dword [edi + 0x10]
mov dword [eax + 4], eax
mov dword [edi + 0x14], 0
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
cmp eax, ecx
je 0x100375f6
mov edx, dword [edi + 0x10]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1003752d
jmp 0x100375f6
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x4c]
jne 0x1003754d
mov eax, dword [ebp - 0x54]
mov dword [eax], esi
mov eax, esi
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x68]
mov dword [ecx + edx*4], eax
cmp edi, esi
je 0x100375e8
movzx eax, byte [edi + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [edi + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x50]
and eax, dword [ecx + 0x24]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x58]
lea ebx, [edx + eax*8]
mov dword [ebp - 0x54], ebx
lea eax, [eax + eax + 1]
mov dword [ebp - 0x5c], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x4c], eax
mov ebx, edi
mov edi, dword [edi]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x50]
dec dword [eax + 0x14]
cmp ebx, dword [ebp - 0x4c]
je 0x100375d0
cmp edi, esi
jne 0x100375b1
jmp 0x100375e3
mov eax, dword [ebp - 0x54]
mov dword [eax], esi
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + ecx*4], esi
jmp 0x10037556
mov eax, dword [ebp - 0x54]
mov dword [eax], esi
mov eax, dword [ebp - 0x60]
mov dword [eax], esi
mov dword [esi + 4], eax
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x2c]
mov dword [edi + 0x10], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [edi + 0x14]
mov eax, dword [ebp - 0x28]
mov dword [edi + 0x14], eax
mov dword [ebp - 0x28], ecx
mov ecx, dword [edi + 0x18]
mov edx, dword [ebp - 0x24]
mov dword [edi + 0x18], edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [edi + 0x1c], edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [edi + 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [edi + 0x20], edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edi + 0x24]
mov edx, dword [ebp - 0x18]
mov dword [edi + 0x24], edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x28]
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x28], edx
mov dword [ebp - 0x14], ecx
test eax, eax
je 0x10037669
mov dword [ebx], 0x3000
mov dword [ebx + 4], 0
add ebx, 8
jmp 0x10037724
lea ecx, [edi + 0x2ec]
call fcn.1004e700
lea ecx, [edi + 0x2f0]
call fcn.1004e700
lea ecx, [edi + 0x27c]
xor eax, eax
push eax
push eax
call fcn.100038e0
mov ecx, edi
mov edx, ebx
call fcn.10036430
cmp dword [ebx], 0x3000
jne 0x1003772d
mov eax, ebx
add ebx, 8
mov eax, dword [eax + 8]
test eax, eax
jne 0x100377a5
lea ecx, [edi + 0xa4]
call fcn.1000b7b0
mov esi, dword [edi + 0x264]
test esi, esi
je 0x100376e9
cmp dword [esi + 8], 0
je 0x100376e9
mov ecx, esi
call fcn.10032510
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [edi + 0x264], 0
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x50], eax
mov eax, dword [eax]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [section..00cfg]
mov ecx, dword [ebp - 0x50]
call esi
mov word [edi + 0x1ac], 0
xor esi, esi
mov dword [0x103a3078], esi
push edi
call sym.libGLESv2.dll__ANGLEResetDisplayPlatform_4
mov eax, dword [ebp + 8]
mov dword [eax], 0x3000
mov dword [eax + 4], esi
mov dword [ebx], 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
cmp ecx, 0x1000
jb 0x1003774c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x100377b2
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
mov dword [edx], eax
mov eax, dword [ecx]
test eax, eax
je 0x10037783
mov esi, dword [sym.imp.mozglue.dll_free]
mov edi, dword [eax]
push eax
call esi
add esp, 4
mov eax, edi
test edi, edi
jne 0x10037775
push dword [ebp - 0x2c]
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, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov ecx, ebx
push eax
call fcn.10213ea0
jmp 0x100376b3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3