Function at 0x1000da20
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp byte [ecx + 0x1fb8], 0
je 0x1000db24
mov edi, ecx
mov ecx, dword [ecx + 0x1360]
lea eax, [ebp - 0x14]
mov dword [eax], edi
add ecx, 0x14
push eax
call fcn.10032c90
mov ecx, dword [edi + 0x1fb4]
test ecx, ecx
je 0x1000da6d
lea eax, [edi + 8]
push eax
push edi
call fcn.100420f0
sub esp, 4
mov ecx, edi
push esi
call fcn.1000ea40
cmp dword [esi], 0x3000
jne 0x1000ea29
mov dword [ebp - 0x18], edi
lea edi, [esi + 8]
mov eax, dword [esi + 8]
test eax, eax
jne 0x1000deba
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x18]
mov ecx, dword [esi + 0x2218]
push esi
call fcn.1003d620
mov ebx, dword [esi + 0x2218]
mov dword [esi + 0x2218], 0
test ebx, ebx
je 0x1000dacc
mov ecx, ebx
call fcn.1003d450
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [esi + 0x1e58]
mov eax, dword [esi + 0x1e64]
mov dword [ebp - 0x24], eax
mov edx, dword [eax]
xor ebx, ebx
mov edi, 0
test ecx, ecx
mov dword [ebp - 0x1c], ecx
je 0x1000db3e
mov ebx, edx
mov eax, dword [esi + 0x1e5c]
xor edi, edi
mov cl, 1
mov edx, dword [eax + edi*4]
inc edx
cmp edx, 1
ja 0x1000db0c
inc edi
cmp edi, dword [ebp - 0x1c]
setb cl
jne 0x1000daf7
mov edi, dword [ebp - 0x1c]
mov edx, ebx
xor ebx, ebx
cmp edi, dword [ebp - 0x1c]
cmovae edi, dword [ebp - 0x1c]
test cl, 1
je 0x1000db3b
lea eax, [eax + edi*4]
mov ecx, dword [ebp - 0x1c]
jmp 0x1000db46
mov dword [esi], 0x3000
mov dword [esi + 4], 0
mov eax, esi
add eax, 8
jmp 0x1000ea23
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], edx
je 0x1000db48
lea eax, [edx + 0xc]
mov ebx, dword [eax]
mov eax, ecx
cmp edi, ecx
jne 0x1000db57
cmp edx, dword [ebp - 0x24]
je 0x1000dc1d
test ebx, ebx
mov dword [ebp - 0x20], ebx
je 0x1000dbb3
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], edx
mov edi, dword [ebx + 4]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push dword [ebp - 0x18]
call esi
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x1000db94
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 1
call esi
mov ebx, dword [ebp - 0x20]
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x1e58]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
cmp edi, eax
jae 0x1000dbef
mov ebx, edx
lea edx, [eax - 1]
mov ecx, eax
cmp edi, edx
je 0x1000dbde
mov edx, dword [esi + 0x1e5c]
inc edi
mov ecx, edi
mov esi, dword [edx + ecx*4]
inc esi
cmp esi, 1
ja 0x1000dbdb
inc ecx
cmp eax, ecx
jne 0x1000dbcb
mov ecx, eax
mov esi, dword [ebp - 0x18]
cmp ecx, eax
cmovae ecx, eax
mov edi, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
jmp 0x1000dbf1
mov edx, dword [edx]
cmp edi, eax
jae 0x1000dc04
lea ecx, [edi*4]
add ecx, dword [esi + 0x1e5c]
jmp 0x1000dc13
cmp edx, dword [esi + 0x1e64]
je 0x1000db4a
lea ecx, [edx + 0xc]
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x1c]
jmp 0x1000db4a
mov eax, dword [esi + 0x1e5c]
pcmpeqd xmm0, xmm0
movdqu xmmword [eax + 0x70], xmm0
movdqu xmmword [eax + 0x60], xmm0
movdqu xmmword [eax + 0x50], xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
mov dword [esi + 0x1e58], 0x20
mov eax, dword [esi + 0x1e68]
test eax, eax
je 0x1000de54
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx + 0x1e64]
mov ecx, dword [ecx + 0x1e7c]
shr ecx, 3
cmp ecx, eax
jbe 0x1000dd2d
mov ebx, dword [esi]
cmp ebx, esi
je 0x1000de54
mov edx, dword [ebp - 0x18]
mov edi, dword [edx + 0x1e6c]
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edx + 0x1e78]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x30], ecx
lea ecx, [eax + eax]
lea edx, [edi + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1e68]
cmp edi, dword [ebp - 0x1c]
je 0x1000dd99
cmp ebx, esi
jne 0x1000dd24
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
je 0x1000de47
cmp ebx, esi
jne 0x1000dcf4
jmp 0x1000de4c
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
test eax, eax
je 0x1000dd50
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 0x1000dd42
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1e64]
mov dword [eax], eax
mov eax, dword [ecx + 0x1e64]
mov dword [eax + 4], eax
mov dword [ecx + 0x1e68], 0
mov eax, dword [ecx + 0x1e6c]
mov ecx, dword [ecx + 0x1e70]
cmp eax, ecx
je 0x1000de54
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x1e64]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1000dd8b
jmp 0x1000de54
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x20]
jne 0x1000ddab
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, esi
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov dword [ecx + edx*4], eax
cmp ebx, esi
je 0x1000de4c
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x18]
and eax, dword [ecx + 0x1e78]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x2c]
lea edi, [edx + eax*8]
mov dword [ebp - 0x24], edi
lea eax, [eax + eax + 1]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1e68]
cmp edi, dword [ebp - 0x1c]
je 0x1000de34
cmp ebx, esi
jne 0x1000de12
jmp 0x1000de47
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], esi
jmp 0x1000ddb4
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x18]
mov edx, dword [esi + 0x1ea4]
mov eax, dword [esi + 0x1eb0]
mov dword [ebp - 0x28], eax
mov ecx, dword [eax]
xor ebx, ebx
mov edi, 0
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x1000deb3
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x1ea8]
xor edi, edi
mov cl, 1
mov edx, dword [eax + edi*4]
inc edx
cmp edx, 1
ja 0x1000de9b
inc edi
mov edx, dword [ebp - 0x1c]
cmp edi, edx
setb cl
jne 0x1000de83
mov edi, edx
jmp 0x1000de9e
mov edx, dword [ebp - 0x1c]
cmp edi, edx
cmovae edi, edx
test cl, 1
je 0x1000deb0
lea eax, [eax + edi*4]
mov ecx, dword [ebp - 0x20]
jmp 0x1000deca
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x28], ecx
jne 0x1000dec7
jmp 0x1000decc
mov ecx, edi
push eax
call fcn.10213ea0
jmp 0x1000da95
lea eax, [ecx + 0xc]
mov ebx, dword [eax]
cmp edi, edx
jne 0x1000ded9
cmp ecx, dword [ebp - 0x28]
je 0x1000df7e
test ebx, ebx
je 0x1000df14
dec dword [ebx + 4]
jne 0x1000df14
mov eax, dword [ebx]
mov esi, dword [eax]
mov dword [ebp - 0x20], ecx
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push dword [ebp - 0x18]
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 1
call esi
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x1ea4]
cmp edi, eax
jae 0x1000df55
mov dword [ebp - 0x20], ecx
lea edx, [eax - 1]
mov ecx, eax
cmp edi, edx
je 0x1000df46
mov edx, dword [esi + 0x1ea8]
inc edi
mov ecx, edi
mov esi, dword [edx + ecx*4]
inc esi
cmp esi, 1
ja 0x1000df43
inc ecx
cmp eax, ecx
jne 0x1000df33
mov ecx, eax
mov esi, dword [ebp - 0x18]
cmp ecx, eax
cmovae ecx, eax
mov edi, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
jmp 0x1000df57
mov ecx, dword [ecx]
cmp edi, eax
jb 0x1000df6c
cmp ecx, dword [esi + 0x1eb0]
jne 0x1000dec7
jmp 0x1000decc
lea eax, [edi*4]
add eax, dword [esi + 0x1ea8]
jmp 0x1000deca
mov eax, dword [esi + 0x1ea8]
pcmpeqd xmm0, xmm0
movdqu xmmword [eax + 0x70], xmm0
movdqu xmmword [eax + 0x60], xmm0
movdqu xmmword [eax + 0x50], xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
mov dword [esi + 0x1ea4], 0x20
mov eax, dword [esi + 0x1eb4]
test eax, eax
je 0x1000e1b5
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx + 0x1eb0]
mov ecx, dword [ecx + 0x1ec8]
shr ecx, 3
cmp ecx, eax
jbe 0x1000e08e
mov ebx, dword [esi]
cmp ebx, esi
je 0x1000e1b5
mov edx, dword [ebp - 0x18]
mov edi, dword [edx + 0x1eb8]
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edx + 0x1ec4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x30], ecx
lea ecx, [eax + eax]
lea edx, [edi + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1eb4]
cmp edi, dword [ebp - 0x1c]
je 0x1000e0fa
cmp ebx, esi
jne 0x1000e085
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
je 0x1000e1a8
cmp ebx, esi
jne 0x1000e055
jmp 0x1000e1ad
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
test eax, eax
je 0x1000e0b1
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 0x1000e0a3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1eb0]
mov dword [eax], eax
mov eax, dword [ecx + 0x1eb0]
mov dword [eax + 4], eax
mov dword [ecx + 0x1eb4], 0
mov eax, dword [ecx + 0x1eb8]
mov ecx, dword [ecx + 0x1ebc]
cmp eax, ecx
je 0x1000e1b5
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x1eb0]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1000e0ec
jmp 0x1000e1b5
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x20]
jne 0x1000e10c
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, esi
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov dword [ecx + edx*4], eax
cmp ebx, esi
je 0x1000e1ad
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x18]
and eax, dword [ecx + 0x1ec4]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x2c]
lea edi, [edx + eax*8]
mov dword [ebp - 0x24], edi
lea eax, [eax + eax + 1]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1eb4]
cmp edi, dword [ebp - 0x1c]
je 0x1000e195
cmp ebx, esi
jne 0x1000e173
jmp 0x1000e1a8
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], esi
jmp 0x1000e115
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1ef0]
mov eax, dword [eax + 0x1efc]
mov dword [ebp - 0x28], eax
mov ebx, dword [eax]
xor edx, edx
mov esi, 0
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1000e20d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1ef4]
xor esi, esi
mov cl, 1
mov edx, dword [eax + esi*4]
inc edx
cmp edx, 1
ja 0x1000e1f9
inc esi
cmp esi, dword [ebp - 0x1c]
setb cl
jne 0x1000e1e4
mov esi, dword [ebp - 0x1c]
xor edx, edx
mov edi, dword [ebp - 0x1c]
cmp esi, edi
cmovae esi, edi
test cl, 1
je 0x1000e20d
lea eax, [eax + esi*4]
jmp 0x1000e215
cmp dword [ebp - 0x28], ebx
je 0x1000e217
lea eax, [ebx + 0xc]
mov edx, dword [eax]
cmp esi, dword [ebp - 0x1c]
jne 0x1000e224
mov eax, dword [ebp - 0x1c]
jmp 0x1000e2ad
mov eax, dword [ebp - 0x1c]
test edx, edx
je 0x1000e246
mov ecx, edx
mov dword [ebp - 0x20], ebx
mov edi, dword [ebp - 0x18]
push edi
mov ebx, edx
call fcn.1009cd00
mov edx, ebx
mov eax, dword [edi + 0x1ef0]
mov ebx, dword [ebp - 0x20]
cmp esi, eax
jae 0x1000e27c
mov edi, edx
lea edx, [eax - 1]
mov ecx, eax
cmp esi, edx
je 0x1000e271
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x1ef4]
inc esi
mov ecx, esi
mov esi, dword [edx + ecx*4]
inc esi
cmp esi, 1
ja 0x1000e271
inc ecx
cmp eax, ecx
jne 0x1000e261
mov ecx, eax
cmp ecx, eax
cmovae ecx, eax
mov esi, ecx
mov edx, edi
jmp 0x1000e27e
mov ebx, dword [ebx]
cmp esi, eax
jae 0x1000e294
lea ecx, [esi*4]
mov edx, dword [ebp - 0x18]
add ecx, dword [edx + 0x1ef4]
jmp 0x1000e2a2
mov ecx, dword [ebp - 0x18]
cmp ebx, dword [ecx + 0x1efc]
je 0x1000e2a4
lea ecx, [ebx + 0xc]
mov edx, dword [ecx]
cmp esi, dword [ebp - 0x1c]
jne 0x1000e227
cmp ebx, dword [ebp - 0x28]
jne 0x1000e227
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1ef4]
pcmpeqd xmm0, xmm0
movdqu xmmword [eax + 0x70], xmm0
movdqu xmmword [eax + 0x60], xmm0
movdqu xmmword [eax + 0x50], xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
mov dword [ecx + 0x1ef0], 0x20
mov eax, dword [ecx + 0x1f00]
test eax, eax
je 0x1000e4f0
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx + 0x1efc]
mov ecx, dword [ecx + 0x1f14]
shr ecx, 3
cmp ecx, eax
jbe 0x1000e3c9
mov ebx, dword [esi]
cmp ebx, esi
je 0x1000e4f0
mov edx, dword [ebp - 0x18]
mov edi, dword [edx + 0x1f04]
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edx + 0x1f10]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x30], ecx
lea ecx, [eax + eax]
lea edx, [edi + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1f00]
cmp edi, dword [ebp - 0x1c]
je 0x1000e435
cmp ebx, esi
jne 0x1000e3c0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
je 0x1000e4e3
cmp ebx, esi
jne 0x1000e390
jmp 0x1000e4e8
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
test eax, eax
je 0x1000e3ec
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 0x1000e3de
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1efc]
mov dword [eax], eax
mov eax, dword [ecx + 0x1efc]
mov dword [eax + 4], eax
mov dword [ecx + 0x1f00], 0
mov eax, dword [ecx + 0x1f04]
mov ecx, dword [ecx + 0x1f08]
cmp eax, ecx
je 0x1000e4f0
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x1efc]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1000e427
jmp 0x1000e4f0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x20]
jne 0x1000e447
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, esi
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov dword [ecx + edx*4], eax
cmp ebx, esi
je 0x1000e4e8
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x18]
and eax, dword [ecx + 0x1f10]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x2c]
lea edi, [edx + eax*8]
mov dword [ebp - 0x24], edi
lea eax, [eax + eax + 1]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1f00]
cmp edi, dword [ebp - 0x1c]
je 0x1000e4d0
cmp ebx, esi
jne 0x1000e4ae
jmp 0x1000e4e3
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], esi
jmp 0x1000e450
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x18]
mov edx, dword [esi + 0x1f3c]
mov eax, dword [esi + 0x1f48]
mov dword [ebp - 0x28], eax
mov ecx, dword [eax]
xor ebx, ebx
mov edi, 0
test edx, edx
mov dword [ebp - 0x1c], edx
je 0x1000e54f
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x1f40]
xor edi, edi
mov cl, 1
mov edx, dword [eax + edi*4]
inc edx
cmp edx, 1
ja 0x1000e537
inc edi
mov edx, dword [ebp - 0x1c]
cmp edi, edx
setb cl
jne 0x1000e51f
mov edi, edx
jmp 0x1000e53a
mov edx, dword [ebp - 0x1c]
cmp edi, edx
cmovae edi, edx
test cl, 1
je 0x1000e54c
lea eax, [eax + edi*4]
mov ecx, dword [ebp - 0x20]
jmp 0x1000e557
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x28], ecx
je 0x1000e559
lea eax, [ecx + 0xc]
mov ebx, dword [eax]
cmp edi, edx
jne 0x1000e566
cmp ecx, dword [ebp - 0x28]
je 0x1000e60b
test ebx, ebx
je 0x1000e5a1
dec dword [ebx + 4]
jne 0x1000e5a1
mov eax, dword [ebx]
mov esi, dword [eax]
mov dword [ebp - 0x20], ecx
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push dword [ebp - 0x18]
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 1
call esi
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x1f3c]
cmp edi, eax
jae 0x1000e5e2
mov dword [ebp - 0x20], ecx
lea edx, [eax - 1]
mov ecx, eax
cmp edi, edx
je 0x1000e5d3
mov edx, dword [esi + 0x1f40]
inc edi
mov ecx, edi
mov esi, dword [edx + ecx*4]
inc esi
cmp esi, 1
ja 0x1000e5d0
inc ecx
cmp eax, ecx
jne 0x1000e5c0
mov ecx, eax
mov esi, dword [ebp - 0x18]
cmp ecx, eax
cmovae ecx, eax
mov edi, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
jmp 0x1000e5e4
mov ecx, dword [ecx]
cmp edi, eax
jb 0x1000e5f9
cmp ecx, dword [esi + 0x1f48]
jne 0x1000e554
jmp 0x1000e559
lea eax, [edi*4]
add eax, dword [esi + 0x1f40]
jmp 0x1000e557
mov eax, dword [esi + 0x1f40]
pcmpeqd xmm0, xmm0
movdqu xmmword [eax + 0x70], xmm0
movdqu xmmword [eax + 0x60], xmm0
movdqu xmmword [eax + 0x50], xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
mov dword [esi + 0x1f3c], 0x20
mov eax, dword [esi + 0x1f4c]
test eax, eax
je 0x1000e842
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx + 0x1f48]
mov ecx, dword [ecx + 0x1f60]
shr ecx, 3
cmp ecx, eax
jbe 0x1000e71b
mov ebx, dword [esi]
cmp ebx, esi
je 0x1000e842
mov edx, dword [ebp - 0x18]
mov edi, dword [edx + 0x1f50]
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
and eax, dword [edx + 0x1f5c]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x30], ecx
lea ecx, [eax + eax]
lea edx, [edi + eax*8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1f4c]
cmp edi, dword [ebp - 0x1c]
je 0x1000e787
cmp ebx, esi
jne 0x1000e712
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
je 0x1000e835
cmp ebx, esi
jne 0x1000e6e2
jmp 0x1000e83a
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
test eax, eax
je 0x1000e73e
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 0x1000e730
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1f48]
mov dword [eax], eax
mov eax, dword [ecx + 0x1f48]
mov dword [eax + 4], eax
mov dword [ecx + 0x1f4c], 0
mov eax, dword [ecx + 0x1f50]
mov ecx, dword [ecx + 0x1f54]
cmp eax, ecx
je 0x1000e842
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 0x1f48]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x1000e779
jmp 0x1000e842
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x20]
jne 0x1000e799
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, esi
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov dword [ecx + edx*4], eax
cmp ebx, esi
je 0x1000e83a
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + 9]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xa]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + 0xb]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x18]
and eax, dword [ecx + 0x1f5c]
lea ecx, [eax + eax]
mov edx, dword [ebp - 0x2c]
lea edi, [edx + eax*8]
mov dword [ebp - 0x24], edi
lea eax, [eax + eax + 1]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x1c], eax
mov edi, ebx
mov ebx, dword [ebx]
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [ebp - 0x18]
dec dword [eax + 0x1f4c]
cmp edi, dword [ebp - 0x1c]
je 0x1000e822
cmp ebx, esi
jne 0x1000e800
jmp 0x1000e835
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], esi
jmp 0x1000e7a2
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov dword [esi + 4], eax
mov edi, 0x1e04
mov esi, dword [ebp - 0x18]
mov ebx, dword [esi + edi]
test ebx, ebx
je 0x1000e886
mov dword [esi + edi], 0
dec dword [ebx + 4]
jne 0x1000e886
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push dword [ebp - 0x18]
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 1
call esi
mov esi, dword [ebp - 0x18]
add edi, 8
cmp edi, 0x1e5c
jne 0x1000e84a
mov ebx, dword [esi + 0x1df8]
mov dword [esi + 0x1df8], 0
test ebx, ebx
je 0x1000e8d3
dec dword [ebx + 4]
jne 0x1000e8d3
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push dword [ebp - 0x18]
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 1
call esi
mov esi, dword [ebp - 0x18]
lea ecx, [esi + 8]
push esi
call fcn.10083b20
mov ecx, dword [esi + 0x1364]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1380]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1368]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x136c]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1370]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1374]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1378]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x137c]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1384]
push esi
call fcn.10076650
mov ecx, dword [esi + 0x1388]
push esi
call fcn.10076650
xor edi, edi
mov dword [esi + 0x21e4], edi
mov ebx, dword [esi + 0x21e8]
mov dword [esi + 0x21e8], edi
test ebx, ebx
je 0x1000e99f
lock dec dword [ebx + 4]
jne 0x1000e99f
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov esi, dword [ebp - 0x18]
lock dec dword [ebx + 8]
jne 0x1000e99f
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov esi, dword [ebp - 0x18]
mov dword [esi + 0x21ec], edi
mov ebx, dword [esi + 0x21f0]
mov dword [esi + 0x21f0], edi
test ebx, ebx
je 0x1000e9e8
lock dec dword [ebx + 4]
jne 0x1000e9e8
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov esi, dword [ebp - 0x18]
lock dec dword [ebx + 8]
jne 0x1000e9e8
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov esi, dword [ebp - 0x18]
mov edi, esi
mov esi, dword [esi + 0x1d14]
mov eax, dword [esi]
mov ebx, dword [eax + 0x48]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push edi
call ebx
mov ecx, dword [edi + 0x1360]
push dword [ebp + 0xc]
call fcn.10032d70
mov esi, dword [ebp + 8]
mov dword [esi], 0x3000
mov dword [esi + 4], 0
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, esi
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret 8