Function at 0x10082650
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov esi, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [esp + 0x68], eax
mov ebx, dword [ecx + 0x1d14]
mov eax, dword [ebx]
mov edi, dword [eax + 0xf0]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
mov dword [esp + 8], eax
lea edi, [esp + 0x20]
mov ecx, edi
push dword [esi + 0x64]
call fcn.100a2bc0
lea ecx, [esi + 0x13f0]
push edi
call fcn.100a2c60
xorps xmm0, xmm0
movups xmmword [esi + 0x1384], xmm0
or byte [esi + 0x1c84], 4
mov ecx, 0x3f800000
mov dword [esi + 0x1394], ecx
xor eax, eax
mov dword [esi + 0x1398], eax
mov byte [esi + 0x13b4], al
mov dword [esi + 0x14a0], eax
mov dword [esi + 0x14a4], eax
mov byte [esi + 0x1449], al
movups xmmword [esi + 0x13b8], xmm0
movups xmmword [esi + 0x1438], xmm0
mov dword [esi + 0x144c], ecx
mov word [esi + 0x1450], 0
mov edx, dword [esi + 0x80]
mov dword [esi + 0x1454], edx
mov dword [esi + 0x1458], 0xffffffff
mov edx, 0x1100
mov dword [esi + 0x14ac], edx
mov dword [esi + 0x14b0], edx
mov dword [esi + 0x14b4], edx
mov dword [esi + 0x14a8], ecx
movups xmmword [esi + 0x14bc], xmm0
movaps xmm0, xmmword [0x102cc050]
movups xmmword [esi + 0x14cc], xmm0
mov dword [esi + 0x1514], eax
mov edi, dword [esi + 0x238]
mov eax, dword [esi + 0x1504]
mov ecx, dword [esi + 0x1500]
mov edx, eax
sub edx, ecx
sar edx, 2
imul ebx, edx, 0xcccccccd
cmp edi, ebx
mov dword [esp], esi
jae 0x10082784
lea eax, [edi + edi*4]
lea eax, [ecx + eax*4]
mov dword [esi + 0x1504], eax
mov edx, esi
jmp 0x10082909
mov edx, esi
jbe 0x10082909
mov edx, dword [edx + 0x1508]
sub edx, ecx
sar edx, 2
imul ecx, edx, 0xcccccccd
cmp ecx, edi
jae 0x1008280f
cmp edi, 0xccccccd
jae 0x10083af0
mov esi, ecx
shr esi, 1
mov eax, 0xccccccc
mov edx, 0xccccccc
sub edx, esi
add esi, ecx
cmp esi, edi
cmovbe esi, edi
cmp ecx, edx
cmova esi, eax
cmp esi, 0xccccccd
jae 0x10083ae0
lea eax, [esi*4]
lea eax, [eax + eax*4]
cmp esi, 0xcd
jb 0x10082838
cmp esi, 0xccccccc
jae 0x10083ae0
add eax, 0x23
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [esp + 4], ecx
mov dword [ecx - 4], eax
jmp 0x10082846
cmp edi, ebx
je 0x10082900
sub ebx, edi
movaps xmm0, xmmword [0x102cb920]
mov edx, dword [esp]
mov dword [eax + 0x10], 6
movups xmmword [eax], xmm0
add eax, 0x14
inc ebx
jne 0x10082823
jmp 0x10082903
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 4], eax
cmp edi, ebx
mov edx, dword [esp]
je 0x10082875
mov eax, ebx
sub eax, edi
lea ecx, [ebx + ebx*4]
mov ebx, dword [esp + 4]
lea ecx, [ebx + ecx*4]
add ecx, 0x10
movaps xmm0, xmmword [0x102cb920]
mov dword [ecx], 6
movups xmmword [ecx - 0x10], xmm0
add ecx, 0x14
inc eax
jne 0x10082865
mov ecx, dword [edx + 0x1500]
mov eax, dword [edx + 0x1504]
cmp ecx, eax
je 0x100828a8
mov edx, dword [esp + 4]
mov ebx, dword [ecx + 0x10]
mov dword [edx + 0x10], ebx
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
add edx, 0x14
add ecx, 0x14
cmp ecx, eax
jne 0x10082889
mov edx, dword [esp]
mov eax, dword [edx + 0x1500]
test eax, eax
je 0x100828dc
mov ecx, dword [edx + 0x1508]
sub ecx, eax
cmp ecx, 0x1000
jb 0x100828cf
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x10083ae5
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edx, dword [esp]
mov ecx, dword [esp + 4]
mov dword [edx + 0x1500], ecx
lea eax, [edi + edi*4]
lea eax, [ecx + eax*4]
mov dword [edx + 0x1504], eax
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov dword [edx + 0x1508], eax
jmp 0x10082909
mov edx, dword [esp]
mov dword [edx + 0x1504], eax
mov dword [edx + 0x1510], 0xffffffff
lea ecx, [edx + 0x17ec]
mov eax, edx
mov edx, dword [edx + 0x27c]
mov edi, dword [eax + 0x17f0]
mov ebx, dword [eax + 0x17ec]
mov eax, edi
sub eax, ebx
sar eax, 4
cmp edx, eax
jae 0x10082971
shl edx, 4
add ebx, edx
mov dword [esp + 4], ebx
cmp ebx, edi
je 0x10082962
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 0x10
cmp ebx, edi
jne 0x10082949
mov esi, dword [esp]
mov eax, dword [esp + 4]
mov dword [esi + 0x17f0], eax
jmp 0x100829b5
mov esi, dword [esp]
jbe 0x100829b5
mov esi, dword [esi + 0x17f4]
sub esi, ebx
sar esi, 4
cmp esi, edx
jae 0x1008298f
call fcn.1008a360
mov esi, dword [esp]
jmp 0x100829b5
cmp edx, eax
je 0x100829ac
sub eax, edx
xor ecx, ecx
mov dword [edi + 4], ecx
mov dword [edi], 0x102c3400
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ecx
add edi, 0x10
inc eax
jne 0x10082997
mov esi, dword [esp]
mov dword [esi + 0x17f0], edi
lea ecx, [esi + 0x1518]
mov edx, dword [esi + 0x298]
mov edi, dword [esi + 0x151c]
mov esi, dword [esi + 0x1518]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10082a0f
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10082a00
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x100829e7
mov ebx, dword [esp]
mov eax, dword [esp + 4]
mov dword [ebx + 0x151c], eax
jmp 0x10082a4f
mov ebx, dword [esp]
jbe 0x10082a4f
mov ebx, dword [ebx + 0x1520]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10082a2d
call fcn.1008a4f0
mov ebx, dword [esp]
jmp 0x10082a4f
cmp edx, eax
je 0x10082a46
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10082a33
mov ebx, dword [esp]
mov dword [ebx + 0x151c], edi
lea ecx, [ebx + 0x156c]
mov edx, dword [ebx + 0x298]
mov edi, dword [ebx + 0x1570]
mov esi, dword [ebx + 0x156c]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10082aa9
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10082a9a
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x10082a81
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1570], ecx
jmp 0x10082ae6
jbe 0x10082ae6
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x1574]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10082ac4
call fcn.1008a4f0
jmp 0x10082ae6
cmp edx, eax
je 0x10082add
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10082aca
mov eax, dword [esp]
mov dword [eax + 0x1570], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 2
ja 0x10082afd
mov eax, dword [esp + 8]
cmp byte [eax + 0x75], 0
je 0x10082c4b
mov eax, dword [esp]
lea ecx, [eax + 0x1548]
mov edx, dword [eax + 0x298]
mov edi, dword [eax + 0x154c]
mov esi, dword [eax + 0x1548]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10082b5a
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10082b4b
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x10082b32
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x154c], ecx
jmp 0x10082b97
jbe 0x10082b97
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x1550]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10082b75
call fcn.1008a4f0
jmp 0x10082b97
cmp edx, eax
je 0x10082b8e
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10082b7b
mov eax, dword [esp]
mov dword [eax + 0x154c], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 3
jb 0x10082c4b
mov eax, dword [esp]
lea ecx, [eax + 0x1524]
mov edx, dword [eax + 0x298]
mov edi, dword [eax + 0x1528]
mov esi, dword [eax + 0x1524]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10082c01
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10082bf2
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x10082bd9
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1528], ecx
jmp 0x10082c3e
jbe 0x10082c3e
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x152c]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10082c1c
call fcn.1008a4f0
jmp 0x10082c3e
cmp edx, eax
je 0x10082c35
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10082c22
mov eax, dword [esp]
mov dword [eax + 0x1528], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 3
jae 0x10082cd6
mov eax, dword [esp + 8]
cmp byte [eax + 0xca], 0
mov edx, dword [esp]
je 0x10082f22
lea ecx, [edx + 0x1530]
mov eax, edx
mov edx, dword [edx + 0x298]
mov edi, dword [eax + 0x1534]
mov esi, dword [eax + 0x1530]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10082cbb
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10082cac
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x10082c93
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1534], ecx
jmp 0x10082d1d
jbe 0x10082d1d
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x1538]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10082cfb
call fcn.1008a4f0
jmp 0x10082d1d
mov edx, dword [esp]
jne 0x10082c5f
cmp dword [edi + 0x20], 0
jne 0x10082c5f
mov eax, dword [esp + 8]
cmp byte [eax + 0xca], 0
je 0x10082f22
jmp 0x10082c5f
cmp edx, eax
je 0x10082d14
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10082d01
mov eax, dword [esp]
mov dword [eax + 0x1534], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 3
mov edx, dword [esp]
jb 0x10082f22
jne 0x10082d39
cmp dword [edi + 0x20], 0
je 0x10082f22
lea ecx, [edx + 0x153c]
mov eax, edx
mov edx, dword [edx + 0x298]
mov edi, dword [eax + 0x1540]
mov esi, dword [eax + 0x153c]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10082d95
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10082d86
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x10082d6d
mov ebx, dword [esp]
mov eax, dword [esp + 4]
mov dword [ebx + 0x1540], eax
jmp 0x10082dd5
mov ebx, dword [esp]
jbe 0x10082dd5
mov ebx, dword [ebx + 0x1544]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10082db3
call fcn.1008a4f0
mov ebx, dword [esp]
jmp 0x10082dd5
cmp edx, eax
je 0x10082dcc
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10082db9
mov ebx, dword [esp]
mov dword [ebx + 0x1540], edi
lea ecx, [ebx + 0x17f8]
mov edx, dword [ebx + 0x2a4]
mov edi, dword [ebx + 0x17fc]
mov ebx, dword [ebx + 0x17f8]
mov eax, edi
sub eax, ebx
sar eax, 4
cmp edx, eax
jae 0x10082e31
shl edx, 4
add ebx, edx
mov dword [esp + 4], ebx
cmp ebx, edi
je 0x10082e22
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 0x10
cmp ebx, edi
jne 0x10082e09
mov esi, dword [esp]
mov eax, dword [esp + 4]
mov dword [esi + 0x17fc], eax
jmp 0x10082e75
mov esi, dword [esp]
jbe 0x10082e75
mov esi, dword [esi + 0x1800]
sub esi, ebx
sar esi, 4
cmp esi, edx
jae 0x10082e4f
call fcn.1008a360
mov esi, dword [esp]
jmp 0x10082e75
cmp edx, eax
je 0x10082e6c
sub eax, edx
xor ecx, ecx
mov dword [edi + 4], ecx
mov dword [edi], 0x102c3400
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ecx
add edi, 0x10
inc eax
jne 0x10082e57
mov esi, dword [esp]
mov dword [esi + 0x17fc], edi
lea ecx, [esi + 0x1804]
mov edx, dword [esi + 0x2bc]
mov edi, dword [esi + 0x1808]
mov ebx, dword [esi + 0x1804]
mov eax, edi
sub eax, ebx
sar eax, 4
cmp edx, eax
jae 0x10082ed1
shl edx, 4
add ebx, edx
mov dword [esp + 4], ebx
cmp ebx, edi
je 0x10082ec2
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 0x10
cmp ebx, edi
jne 0x10082ea9
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1808], ecx
jmp 0x10082f12
jbe 0x10082f12
mov esi, dword [esp]
mov esi, dword [esi + 0x180c]
sub esi, ebx
sar esi, 4
cmp esi, edx
jae 0x10082eec
call fcn.1008a360
jmp 0x10082f12
cmp edx, eax
je 0x10082f09
sub eax, edx
xor ecx, ecx
mov dword [edi + 4], ecx
mov dword [edi], 0x102c3400
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ecx
add edi, 0x10
inc eax
jne 0x10082ef4
mov eax, dword [esp]
mov dword [eax + 0x1808], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x1c], 3
mov edx, dword [esp]
jae 0x1008303c
cmp byte [edx + 0x1333], 0
je 0x10083154
mov esi, dword [edi + 0x1d14]
mov eax, dword [esi]
mov ebx, dword [eax + 0xf8]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
call ebx
mov edx, dword [esp]
dec eax
cmp eax, 1
ja 0x10083154
mov edi, dword [edx + 0x2b4]
mov ebx, dword [edx + 0x1744]
mov eax, dword [edx + 0x1740]
mov ecx, ebx
sub ecx, eax
sar ecx, 2
imul esi, ecx, 0xb6db6db7
cmp edi, esi
jae 0x10082fa4
lea ecx, [edi + edi*8]
lea ecx, [ecx + ecx*2]
add eax, edi
add eax, ecx
cmp eax, ebx
je 0x10082f96
mov ecx, eax
mov dword [ecx], 0x102c3400
add ecx, 0x1c
cmp ecx, ebx
jne 0x10082f89
mov dword [edx + 0x1744], eax
mov edi, dword [ebp + 8]
jmp 0x10083154
mov dword [esp + 4], edi
mov edi, dword [ebp + 8]
jbe 0x10083154
mov ecx, dword [edx + 0x1748]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xb6db6db7
mov eax, dword [esp + 4]
cmp ecx, eax
jae 0x10083051
cmp eax, 0x924924a
jae 0x10083afa
mov ebx, eax
mov eax, ecx
shr eax, 1
mov edx, 0x9249249
mov edi, 0x9249249
sub edi, eax
add eax, ecx
cmp eax, ebx
cmovbe eax, ebx
cmp ecx, edi
cmova eax, edx
cmp eax, 0x924924a
jae 0x10083ae0
lea ecx, [eax + eax*8]
lea ecx, [ecx + ecx*2]
add ecx, eax
cmp eax, 0x93
mov dword [esp + 0x10], ecx
jb 0x10083072
cmp eax, 0x9249248
jae 0x10083ae0
lea eax, [ecx + 0x23]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [esp + 0xc], ecx
mov dword [ecx - 4], eax
jmp 0x10083080
jne 0x10082f56
cmp dword [edi + 0x20], 0
jne 0x10082f56
jmp 0x10082f22
cmp eax, esi
je 0x10083064
sub esi, eax
mov ecx, ebx
call fcn.100a2b50
add ebx, 0x1c
inc esi
jne 0x10083057
mov edx, dword [esp]
mov dword [edx + 0x1744], ebx
jmp 0x10083154
push ecx
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [esp + 4], esi
je 0x100830a5
lea eax, [esi + esi*8]
lea ebx, [eax + eax*2]
mov eax, dword [esp + 0xc]
add eax, esi
add ebx, eax
sub esi, dword [esp + 4]
mov ecx, ebx
call fcn.100a2b50
add ebx, 0x1c
inc esi
jne 0x10083098
mov edx, dword [esp]
mov edi, dword [edx + 0x1740]
mov ebx, dword [edx + 0x1744]
cmp edi, ebx
je 0x100830d7
mov esi, dword [esp + 0xc]
mov ecx, esi
push edi
call fcn.100a2b80
add esi, 0x1c
add edi, 0x1c
cmp edi, ebx
jne 0x100830bc
mov edx, dword [esp]
mov ebx, dword [edx + 0x1740]
test ebx, ebx
mov edi, dword [ebp + 8]
je 0x1008312a
mov eax, dword [edx + 0x1744]
cmp ebx, eax
je 0x100830fb
mov dword [ebx], 0x102c3400
add ebx, 0x1c
cmp ebx, eax
jne 0x100830e8
mov ebx, dword [edx + 0x1740]
mov eax, dword [edx + 0x1748]
sub eax, ebx
cmp eax, 0x1000
jb 0x1008311d
mov eax, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, eax
cmp ebx, 0x20
jae 0x10083ae5
mov ebx, eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edx, dword [esp]
mov esi, dword [esp + 0xc]
mov dword [edx + 0x1740], esi
mov ecx, dword [esp + 4]
lea eax, [ecx + ecx*8]
lea eax, [eax + eax*2]
add eax, ecx
add eax, esi
mov dword [edx + 0x1744], eax
mov eax, dword [esp + 0x10]
add eax, esi
mov dword [edx + 0x1748], eax
mov eax, dword [edi + 0x1c]
cmp eax, 3
jb 0x10083164
jne 0x10083176
cmp dword [edi + 0x20], 1
ja 0x10083176
mov cl, byte [edx + 0x12f5]
or cl, byte [edx + 0x12f6]
je 0x10083215
lea ecx, [edx + 0x1578]
mov eax, edx
mov edx, dword [edx + 0x298]
mov edi, dword [eax + 0x157c]
mov esi, dword [eax + 0x1578]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x100831d2
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x100831c3
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x100831aa
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x157c], ecx
jmp 0x1008320f
jbe 0x1008320f
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x1580]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x100831ed
call fcn.1008a4f0
jmp 0x1008320f
cmp edx, eax
je 0x10083206
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x100831f3
mov eax, dword [esp]
mov dword [eax + 0x157c], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
cmp eax, 3
jb 0x10083225
jne 0x1008323a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 1
ja 0x1008323a
mov ecx, dword [esp]
mov al, byte [ecx + 0x12e8]
or al, byte [ecx + 0x12e9]
je 0x100832d4
mov eax, dword [esp]
lea ecx, [eax + 0x1590]
mov edx, dword [eax + 0x298]
mov edi, dword [eax + 0x1594]
mov esi, dword [eax + 0x1590]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10083297
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10083288
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x1008326f
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1594], ecx
jmp 0x100832d4
jbe 0x100832d4
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x1598]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x100832b2
call fcn.1008a4f0
jmp 0x100832d4
cmp edx, eax
je 0x100832cb
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x100832b8
mov eax, dword [esp]
mov dword [eax + 0x1594], edi
mov eax, dword [esp + 8]
cmp byte [eax + 0xcb], 0
je 0x1008337f
mov eax, dword [esp]
lea ecx, [eax + 0x1560]
mov edx, dword [eax + 0x298]
mov edi, dword [eax + 0x1564]
mov esi, dword [eax + 0x1560]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10083342
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x10083333
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x1008331a
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1564], ecx
jmp 0x1008337f
jbe 0x1008337f
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x1568]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x1008335d
call fcn.1008a4f0
jmp 0x1008337f
cmp edx, eax
je 0x10083376
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x10083363
mov eax, dword [esp]
mov dword [eax + 0x1564], edi
mov ecx, dword [esp + 8]
mov al, byte [ecx + 0x2b]
or al, byte [ecx + 0x2f]
je 0x10083429
mov eax, dword [esp]
lea ecx, [eax + 0x1554]
mov edx, dword [eax + 0x298]
mov edi, dword [eax + 0x1558]
mov esi, dword [eax + 0x1554]
mov eax, edi
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x100833ec
lea eax, [esi + edx*8]
mov dword [esp + 4], eax
cmp eax, edi
je 0x100833dd
mov ebx, dword [esp + 4]
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 0
call esi
add ebx, 8
cmp ebx, edi
jne 0x100833c4
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [eax + 0x1558], ecx
jmp 0x10083429
jbe 0x10083429
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x155c]
sub ebx, esi
sar ebx, 3
cmp ebx, edx
jae 0x10083407
call fcn.1008a4f0
jmp 0x10083429
cmp edx, eax
je 0x10083420
sub eax, edx
mov dword [edi + 4], 0
mov dword [edi], 0x102c3400
add edi, 8
inc eax
jne 0x1008340d
mov eax, dword [esp]
mov dword [eax + 0x1558], edi
mov eax, dword [esp + 8]
cmp byte [eax + 0x9e], 0
je 0x100834d4
mov eax, dword [esp]
lea ecx, [eax + 0x1584]
mov edx, dword [eax + 0x298]
mov ebx, dword [eax + 0x1588]
mov esi, dword [eax + 0x1584]
mov eax, ebx
sub eax, esi
sar eax, 3
cmp edx, eax
jae 0x10083497
lea eax, [esi + edx*8]
mov dword [esp + 8], eax
cmp eax, ebx
je 0x10083488
mov edi, dword [esp + 8]
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 0
call esi
add edi, 8
cmp edi, ebx
jne 0x1008346f
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov dword [eax + 0x1588], ecx
jmp 0x100834d4
jbe 0x100834d4
mov edi, dword [esp]
mov edi, dword [edi + 0x158c]
sub edi, esi
sar edi, 3
cmp edi, edx
jae 0x100834b2
call fcn.1008a4f0
jmp 0x100834d4
cmp edx, eax
je 0x100834cb
sub eax, edx
mov dword [ebx + 4], 0
mov dword [ebx], 0x102c3400
add ebx, 8
inc eax
jne 0x100834b8
mov eax, dword [esp]
mov dword [eax + 0x1588], ebx
mov edx, dword [esp]
mov esi, dword [edx + 0x298]
mov eax, dword [edx + 0x1724]
mov ecx, dword [edx + 0x171c]
sub eax, ecx
sar eax, 4
cmp eax, esi
jae 0x10083603
cmp esi, 0x10000000
jae 0x10083aeb
mov edx, dword [edx + 0x1720]
mov eax, esi
shl eax, 4
cmp esi, 0x100
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
jb 0x10083545
cmp esi, 0xffffffe
jae 0x10083ae0
add eax, 0x23
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x10083551
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov esi, eax
mov edx, dword [esp]
mov edi, dword [edx + 0x171c]
mov ebx, dword [edx + 0x1720]
cmp edi, ebx
mov dword [esp + 0x10], esi
je 0x10083583
mov ecx, esi
push edi
call fcn.1004f250
add esi, 0x10
add edi, 0x10
cmp edi, ebx
jne 0x10083568
mov edx, dword [esp]
mov ebx, dword [edx + 0x171c]
test ebx, ebx
je 0x100835d7
mov esi, dword [edx + 0x1720]
cmp ebx, esi
je 0x100835a8
mov ecx, ebx
call fcn.1004f200
add ebx, 0x10
cmp ebx, esi
jne 0x10083591
mov edx, dword [esp]
mov ebx, dword [edx + 0x171c]
mov eax, dword [edx + 0x1724]
sub eax, ebx
cmp eax, 0x1000
jb 0x100835ca
mov eax, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, eax
cmp ebx, 0x20
jae 0x10083ae5
mov ebx, eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edx, dword [esp]
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov dword [edx + 0x171c], ecx
add eax, ecx
mov dword [edx + 0x1720], eax
mov eax, dword [esp + 4]
add eax, ecx
mov dword [edx + 0x1724], eax
mov esi, dword [edx + 0x298]
test esi, esi
jle 0x1008381c
mov eax, dword [ebp + 8]
lea ebx, [eax + 4]
test eax, eax
cmove ebx, eax
mov edi, dword [edx + 0x1720]
xor eax, eax
mov dword [esp + 0x10], ebx
cmp edi, dword [edx + 0x1724]
je 0x10083651
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
mov dword [edi], 0x102cbacc
mov dword [edi + 0xc], 0
mov edi, dword [edx + 0x1720]
add edi, 0x10
mov dword [edx + 0x1720], edi
jmp 0x1008380d
mov dword [esp + 8], eax
mov esi, edi
sub esi, dword [edx + 0x171c]
sar esi, 4
lea edx, [esi + 1]
mov eax, esi
shr eax, 1
mov ecx, 0xfffffff
sub ecx, eax
add eax, esi
cmp eax, edx
cmovbe eax, edx
cmp esi, ecx
mov ecx, 0xfffffff
cmova eax, ecx
cmp eax, 0x10000000
jae 0x10083ae0
mov ebx, esi
mov esi, eax
shl esi, 4
cmp eax, 0x100
mov dword [esp + 0x1c], edx
jb 0x100836bf
cmp eax, 0xffffffe
jae 0x10083ae0
lea eax, [esi + 0x23]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x100836cb
push esi
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
shl ebx, 4
mov eax, dword [esp + 0x10]
mov dword [ecx + ebx + 4], eax
mov eax, dword [esp + 8]
mov dword [ecx + ebx + 8], eax
mov dword [ecx + ebx], 0x102cbacc
mov dword [esp + 4], ecx
mov dword [esp + 0x18], ebx
mov dword [ecx + ebx + 0xc], 0
mov edx, dword [esp]
mov ebx, dword [edx + 0x171c]
mov ecx, dword [edx + 0x1720]
mov dword [esp + 0x14], ecx
cmp ecx, edi
mov dword [esp + 0xc], esi
je 0x10083761
cmp ebx, edi
je 0x10083737
mov esi, dword [esp + 4]
mov ecx, esi
push ebx
call fcn.1004f250
add esi, 0x10
add ebx, 0x10
cmp ebx, edi
jne 0x10083718
mov eax, dword [esp]
mov eax, dword [eax + 0x1720]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x14]
cmp ebx, edi
je 0x1008377b
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
lea esi, [eax + ecx]
add esi, 0x10
mov ecx, esi
push edi
call fcn.1004f250
add edi, 0x10
add esi, 0x10
cmp edi, ebx
jne 0x1008374d
jmp 0x1008377b
cmp ebx, edi
je 0x1008378c
mov esi, dword [esp + 4]
mov ecx, esi
push ebx
call fcn.1004f250
add esi, 0x10
add ebx, 0x10
cmp ebx, edi
jne 0x10083769
mov edx, dword [esp]
mov edi, dword [edx + 0x171c]
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xc]
test edi, edi
mov ebx, dword [esp + 0x10]
je 0x100837ec
mov esi, dword [edx + 0x1720]
cmp edi, esi
je 0x100837b5
mov ecx, edi
call fcn.1004f200
add edi, 0x10
cmp edi, esi
jne 0x1008379e
mov edx, dword [esp]
mov edi, dword [edx + 0x171c]
mov eax, dword [edx + 0x1724]
sub eax, edi
cmp eax, 0x1000
mov esi, dword [esp + 0xc]
jb 0x100837db
mov eax, dword [edi - 4]
add edi, 0xfffffffc
sub edi, eax
cmp edi, 0x20
jae 0x10083ae5
mov edi, eax
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [edx + 0x171c], ecx
mov edi, dword [esp + 0x1c]
shl edi, 4
add edi, ecx
mov dword [edx + 0x1720], edi
add esi, ecx
mov dword [edx + 0x1724], esi
inc eax
mov esi, dword [edx + 0x298]
cmp eax, esi
jl 0x10083622
mov ecx, dword [edx + 0x1734]
mov ebx, dword [edx + 0x1738]
mov edi, ebx
sub edi, ecx
sar edi, 3
cmp esi, edi
jae 0x1008386d
lea eax, [ecx + esi*8]
mov dword [esp + 8], eax
cmp eax, ebx
je 0x1008385b
mov edi, dword [esp + 8]
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 0
call esi
add edi, 8
cmp edi, ebx
jne 0x10083842
mov edx, dword [esp]
mov eax, dword [esp + 8]
mov dword [edx + 0x1738], eax
jmp 0x10083a03
jbe 0x10083a03
mov eax, dword [edx + 0x173c]
sub eax, ecx
sar eax, 3
cmp eax, esi
jae 0x100838e9
cmp esi, 0x20000000
jae 0x10083af5
mov ebx, eax
shr ebx, 1
mov ecx, 0x1fffffff
mov edx, 0x1fffffff
sub edx, ebx
add ebx, eax
cmp ebx, esi
cmovbe ebx, esi
cmp eax, edx
cmova ebx, ecx
cmp ebx, 0x20000000
jae 0x10083ae0
lea eax, [ebx*8]
cmp ebx, 0x200
jb 0x1008390d
cmp ebx, 0x1ffffffc
jae 0x10083ae0
add eax, 0x23
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x10083919
cmp esi, edi
je 0x10083902
sub edi, esi
mov dword [ebx + 4], 0
mov dword [ebx], 0x102c3400
add ebx, 8
inc edi
jne 0x100838ef
mov dword [edx + 0x1738], ebx
jmp 0x10083a03
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
mov dword [esp + 0xc], ebx
cmp esi, edi
mov edx, dword [esp]
je 0x10083938
mov dword [ecx + edi*8 + 4], 0
mov dword [ecx + edi*8], 0x102c3400
inc edi
cmp esi, edi
jne 0x10083924
mov eax, dword [edx + 0x1734]
mov ebx, dword [edx + 0x1738]
cmp eax, ebx
mov dword [esp + 4], ecx
je 0x1008397c
mov dword [ecx], 0x102c3400
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
test edx, edx
je 0x1008395f
inc dword [edx + 4]
mov dword [ecx], 0x102c3400
add eax, 8
add ecx, 8
cmp eax, ebx
jne 0x1008394c
mov edx, dword [esp]
mov ebx, dword [edx + 0x1734]
mov ecx, dword [esp + 4]
test ebx, ebx
je 0x100839e7
mov eax, dword [edx + 0x1738]
cmp ebx, eax
je 0x100839b4
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov edi, dword [eax]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
push 0
call edi
mov eax, dword [esp + 8]
add ebx, 8
cmp ebx, eax
jne 0x1008398e
mov edx, dword [esp]
mov ebx, dword [edx + 0x1734]
mov eax, dword [edx + 0x173c]
sub eax, ebx
cmp eax, 0x1000
jb 0x100839d6
mov eax, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, eax
cmp ebx, 0x20
jae 0x10083ae5
mov ebx, eax
push ebx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edx, dword [esp]
mov ecx, dword [esp + 4]
mov dword [edx + 0x1734], ecx
lea eax, [ecx + esi*8]
mov dword [edx + 0x1738], eax
mov eax, dword [esp + 0xc]
lea eax, [ecx + eax*8]
mov dword [edx + 0x173c], eax
mov ebx, 0x2ea
mov edi, dword [edx + ebx*8]
mov dword [edx + ebx*8], 0
test edi, edi
je 0x10083a44
dec dword [edi + 4]
jne 0x10083a44
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push dword [ebp + 8]
call esi
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 1
call esi
mov edx, dword [esp]
inc ebx
cmp ebx, 0x2f1
jne 0x10083a08
xor eax, eax
mov dword [edx + 0x14ec], eax
mov dword [edx + 0x14f8], eax
mov dword [edx + 0x14dc], eax
mov dword [edx + 0x14e0], eax
mov byte [edx + 0x1864], 0
mov ecx, dword [edx + 0x338]
mov dword [edx + 0x1888], ecx
mov word [edx + 0x189c], 1
mov dword [edx + 0x18a0], eax
mov al, 1
mov esi, dword [ebp + 8]
cmp byte [esi + 0x1353], 0
jne 0x10083a9d
mov al, byte [esi + 0x1345]
mov byte [edx + 0x1cca], al
mov al, byte [esi + 0x1354]
mov byte [edx + 0x13c8], al
cmp dword [esi + 0x1c], 2
jb 0x10083abe
cmp dword [edx + 4], 0x30a2
jne 0x10083acb
lea ecx, [edx + 0x18bc]
push edx
push esi
call fcn.10049230
mov ecx, dword [esp + 0x68]
xor ecx, ebp
call fcn.10212780
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
call fcn.102133d0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.1000be20
call fcn.1000be20
call fcn.1000be20
call fcn.1000be20
int3