Function at 0x1001fde0
Capabilities:
Get system information on windows
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov eax, dword [0x100a500c]
xor eax, ebp
mov dword [esp + 0x98], eax
cmp dword [0x100a580c], 0
je 0x10021549
mov eax, dword [ebp + 8]
test eax, eax
je 0x100211c2
mov edi, eax
cmp edi, 0x1f0
ja 0x1001ffdb
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x100218e3
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0xc]
mov esi, eax
test eax, eax
je 0x1002130d
mov edx, edi
cmp edi, 9
jb 0x1002014d
add edx, 0xf
mov eax, edx
and eax, 0xfffffff0
mov dword [esp + 0x1c], eax
shr edx, 4
shl edx, 5
mov dword [esp + 0x18], edx
cmp byte [esi + 0x40], 0
je 0x1001fe8f
cmp dword [esi + 0x44], 0
je 0x1002149e
mov eax, dword [esp + 0x18]
lea ebx, [esi + eax]
add ebx, 0x5c
lea eax, [esi + 0xc]
mov dword [esp + 0x34], eax
mov dword [esp + 0xc], esi
cmp dword [esi + 0x24], 0
jne 0x1001feb4
push dword [esp + 0x34]
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002000b
cmp dword [ecx + 8], 0
je 0x1002000b
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
mov edx, dword [ecx + eax*4 + 0xc]
test edx, edx
je 0x100200df
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x44]
test ebx, ebx
jne 0x1001ff6e
tzcnt ebx, edx
mov esi, dword [esp + 8]
mov edi, esi
shl edi, 5
or edi, ebx
btc edx, ebx
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
imul edi, dword [ebx + eax + 0x64]
mov eax, dword [ebx + eax + 0x70]
mov dword [ecx + esi*4 + 0xc], edx
add eax, ecx
add edi, eax
dec dword [ecx + 8]
mov dword [esp + 8], edi
test edi, edi
je 0x10021903
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
add dword [ecx + 0x30], eax
xor ebx, ebx
cmp dword [ecx + 0x24], 0
jne 0x1001ff41
push dword [esp + 0x34]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test bl, bl
jne 0x10023cc5
cmp dword [esp + 8], 0
je 0x10023cc5
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.1004fb50
mov eax, dword [esp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], ecx
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, eax
shld edi, ecx, 0x17
mov esi, ecx
shl esi, 0x17
xor esi, ecx
mov ecx, dword [ebx + 0xc]
xor edi, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, edi
mov dword [esp], edi
shr edi, 0x11
xor edi, eax
mov eax, dword [ebx + 8]
mov dword [ebx + 4], ecx
shld dword [esp], esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, dword [esp]
mov dword [ebx], eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 8], ecx
add ecx, eax
mov esi, edx
ror esi, cl
test esi, esi
je 0x1001ffd4
tzcnt ebx, esi
add ebx, ecx
and ebx, 0x1f
mov ecx, dword [esp + 4]
jmp 0x1001feee
mov ebx, 0x20
jmp 0x1001ffc6
mov esi, dword [0x100a5744]
mov edx, edi
cmp edi, 0xf01
jae 0x1002022e
add edx, 0xff
mov eax, edx
and eax, 0x1f00
mov dword [esp + 0x1c], eax
shr edx, 8
add edx, 0x1e
jmp 0x1001fe78
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov eax, dword [edx + ecx + 0x60]
test eax, eax
mov dword [esp + 8], ebx
je 0x10020615
add ecx, edx
add ecx, 0x60
mov dword [esp], ecx
mov ecx, eax
nop dword [eax]
mov ebx, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10020030
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
xor edx, edx
cmp eax, ebx
setb dl
mov ecx, 0xffffffff
cmovbe ecx, edx
cmp ecx, 0xffffffff
jne 0x10020200
mov edx, dword [eax]
test edx, edx
je 0x10021785
mov ecx, dword [edx + 4]
mov dword [esp + 4], 0
test cl, 1
jne 0x100221e0
mov esi, dword [edx]
test esi, esi
je 0x1002008a
test byte [esi + 4], 1
jne 0x100221e0
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002179a
mov edx, dword [ecx]
test edx, edx
je 0x100200be
mov edi, dword [edx + 4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ecx
mov ecx, edi
test cl, 1
mov ecx, dword [esp + 0x10]
jne 0x100208ca
or esi, 1
mov dword [eax + 4], esi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, ecx
and byte [edx + 4], 0xfe
lea eax, [esp + 0x70]
mov dword [eax], edx
jmp 0x100221e0
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + eax + 0x6c]
mov edx, dword [esp + 8]
mov edi, edx
shl edi, 5
mov eax, dword [esp + 4]
inc edx
cmp edx, ecx
jae 0x100218fc
mov esi, dword [eax + edx*4 + 0xc]
add edi, 0x20
test esi, esi
je 0x100200fc
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xc]
mov ebx, dword [ecx + 0x44]
test ebx, ebx
jne 0x1002018a
tzcnt ebx, esi
add edi, ebx
mov eax, dword [esp + 0x18]
imul edi, dword [ecx + eax + 0x64]
mov eax, dword [ecx + eax + 0x70]
mov ecx, dword [esp + 4]
add eax, ecx
add edi, eax
btc esi, ebx
mov eax, dword [esp + 8]
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + 4], eax
jmp 0x1001ff15
mov eax, edx
dec eax
je 0x100201f6
bsr ecx, eax
xor ecx, 0x1f
neg cl
mov edx, 1
shl edx, cl
cmp edx, 9
mov eax, 8
cmovb edx, eax
cmp edi, 2
cmovb edx, eax
mov dword [esp + 0x1c], edx
mov eax, edx
shr eax, 3
or eax, 1
bsr edx, eax
jmp 0x1001fe78
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp], edx
shld edx, eax, 0x17
mov dword [esp + 0x10], esi
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [ebx + 0xc]
xor edx, dword [esp]
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, edx
mov dword [esp], edx
shr edx, 0x11
xor edx, eax
mov eax, dword [ebx + 8]
mov dword [ebx + 4], ecx
shld dword [esp], esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
mov esi, dword [esp + 0x10]
xor ecx, dword [esp]
mov dword [ebx], eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 8], ecx
add ecx, eax
mov edx, esi
ror edx, cl
test edx, edx
je 0x10020227
tzcnt ebx, edx
add ebx, ecx
and ebx, 0x1f
mov ecx, dword [esp + 0xc]
jmp 0x10020123
mov ecx, 0x20
jmp 0x1002015c
test ecx, ecx
jne 0x10020521
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x10021119
mov ecx, dword [eax]
test ecx, ecx
jne 0x10021126
mov dword [esp + 0x70], ecx
jmp 0x100221fd
mov ebx, 0x20
jmp 0x100201e8
cmp edx, 0xfd000
ja 0x10021455
add edx, 0xfff
mov dword [esp + 0x18], edx
mov ecx, esi
lea eax, [esi + 0xc]
cmp dword [esi + 0x24], 0
mov dword [esp + 0x28], eax
jne 0x1002025a
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x18]
and eax, 0xfffff000
mov dword [esp + 0x34], eax
mov edx, dword [esi + 0x58]
test edx, edx
mov dword [esp + 0xc], esi
je 0x1002084a
xor eax, eax
mov ecx, 0xfffff000
mov esi, edx
mov edx, 0xffffffff
mov dword [esp + 4], esi
mov edi, dword [esi + 8]
and edi, ecx
xor ebx, ebx
cmp dword [esp + 0x34], edi
seta bl
cmovb ebx, edx
lea edi, [ebx + 1]
cmp edi, 2
jae 0x100202ab
mov eax, esi
mov esi, dword [esi]
test esi, esi
jne 0x10020288
jmp 0x100202be
cmp ebx, 1
jne 0x10021916
mov esi, dword [esi + 4]
and esi, 0xfffffffe
test esi, esi
jne 0x10020288
test eax, eax
je 0x1002191d
mov ecx, eax
and ecx, 0xfff00000
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
and edx, 0xfffffff8
shl edx, 9
add edx, ecx
mov esi, dword [esp + 0xc]
mov edi, edx
and edi, 0xfff00000
mov eax, dword [edi + 0xc]
mov dword [esp + 0x38], eax
mov dword [esp + 8], edx
mov eax, edx
shr eax, 0xc
movzx edx, al
lea eax, [edx*4]
lea eax, [eax + eax*2]
or eax, edi
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
shr ecx, 0xc
cmp dword [esp + 0x34], 0
mov dword [esp], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
je 0x10020816
xor eax, eax
inc eax
cmp ecx, 2
cmovae eax, ecx
mov dword [esp + 0x14], eax
lea eax, [edx + edx*2]
lea eax, [edi + eax*4]
add eax, 0x18
xor ebx, ebx
mov esi, ecx
xor edx, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
lea edi, [edx + eax]
lea eax, [edi + edi*2]
mov ecx, dword [esp]
test byte [ecx + eax*4 + 0x18], 0x60
jne 0x10020387
inc edx
cmp edx, dword [esp + 0x18]
setae bl
dec esi
mov eax, dword [esp + 4]
add eax, 0xc
cmp edx, dword [esp + 0x14]
jne 0x10020354
jmp 0x1002044a
mov dword [esp + 0x30], edx
cmp edx, dword [esp + 0x18]
mov eax, dword [esp + 4]
jae 0x100209ad
mov edx, edi
xor edi, edi
mov ecx, dword [eax]
test cl, 0x60
je 0x100203b3
and ecx, 0xffffff9f
mov dword [eax], ecx
inc edi
add eax, 0xc
cmp esi, edi
jne 0x1002039d
mov edi, esi
mov ecx, edi
shl ecx, 0xc
mov dword [esp + 0x2c], ebx
jne 0x100208aa
jmp 0x1002040f
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], ecx
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x44], eax
push 4
push 0x1000
push dword [esp + 0x2c]
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x10021764
mov eax, dword [esp + 0x24]
add ebx, eax
mov ecx, dword [esp + 0x48]
sub ecx, eax
mov eax, 0x100000
cmp ecx, eax
mov edx, 0x100000
cmovb edx, ecx
test ecx, ecx
jne 0x100203c4
mov al, 1
test edi, edi
je 0x10020432
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 4]
mov ebx, edi
or dword [edx], ecx
add edx, 0xc
dec ebx
jne 0x1002042a
test al, al
je 0x10023778
mov eax, dword [esp + 0xc]
add dword [eax + 0x2c], edi
mov edx, dword [esp + 0x30]
jmp 0x1002036c
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0xc]
mov esi, eax
mov ecx, dword [eax + 0x58]
mov eax, dword [esp + 0x1c]
lea edx, [eax + 0x10]
mov dword [esp + 0x14], edx
add eax, 0x18
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
mov dword [esp + 0x1c], eax
mov ebx, dword [eax]
mov edx, 0xfffff000
mov edi, ebx
and ebx, edx
mov dword [esp + 4], ecx
and edx, dword [ecx + 8]
xor ecx, ecx
dec ecx
xor eax, eax
cmp ebx, edx
seta al
cmovb eax, ecx
test eax, eax
je 0x10020825
cmp eax, 0xffffffff
mov edx, dword [esp + 4]
jne 0x10020595
mov esi, dword [edx]
test esi, esi
je 0x10021b00
mov eax, dword [esi + 4]
mov dword [esp + 0x24], 0
test al, 1
jne 0x10023561
mov ecx, dword [esi]
test ecx, ecx
je 0x100204d6
test byte [ecx + 4], 1
jne 0x10023561
or eax, 1
mov dword [esi + 4], eax
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x10021845
mov esi, dword [eax]
test esi, esi
je 0x100204fc
mov edx, dword [esi + 4]
test dl, 1
jne 0x1002122d
or ecx, 1
mov edx, dword [esp + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [edx + 4], ecx
mov dword [eax], edx
mov esi, eax
and byte [esi + 4], 0xfe
lea edx, [esp + 0x70]
mov dword [edx], esi
jmp 0x10023561
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x10020543
mov esi, dword [edx]
test esi, esi
je 0x10020543
test byte [esi + 4], 1
jne 0x100221e0
mov edx, dword [eax]
test edx, edx
je 0x10021b43
test byte [edx + 4], 1
jne 0x10020999
or ecx, 1
mov dword [eax + 4], ecx
mov edi, dword [edx]
test edi, edi
je 0x1002056f
mov ecx, dword [edi + 4]
test cl, 1
jne 0x1002105e
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x10021bcb
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x100200d4
test eax, eax
je 0x10020942
mov eax, dword [edx + 4]
mov dword [esp + 0x24], 0
mov esi, eax
and esi, 0xfffffffe
je 0x100205bf
mov ecx, dword [esi]
test ecx, ecx
je 0x100205bf
test byte [ecx + 4], 1
jne 0x10023561
mov ecx, dword [edx]
test ecx, ecx
je 0x10021bda
test byte [ecx + 4], 1
jne 0x10021107
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x100205eb
mov edx, dword [eax + 4]
test dl, 1
jne 0x100211cc
or byte [ecx + 4], 1
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
mov esi, eax
and esi, 0xfffffffe
je 0x10021c3f
mov ecx, dword [esi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov dword [esi], edx
jmp 0x10020516
movzx eax, byte [edx + ecx + 0x7a]
mov dword [esp + 0x14], eax
lea eax, [edx + 0x58]
mov dword [esp + 0x30], eax
mov ecx, dword [edx + 0x58]
test ecx, ecx
je 0x10020ed8
mov edx, dword [esp + 0x14]
shl edx, 0xc
xor eax, eax
xor edi, edi
dec edi
mov esi, dword [ecx + 8]
mov ebx, 0xfffff000
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
cmovb ebx, edi
lea esi, [ebx + 1]
cmp esi, 2
jae 0x10020666
mov eax, ecx
mov ecx, dword [ecx]
mov ebx, dword [esp + 8]
test ecx, ecx
jne 0x1002063c
jmp 0x10020677
cmp ebx, 1
jne 0x10021b0f
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x1002065c
test eax, eax
mov edx, dword [esp + 0xc]
je 0x10020ed8
mov ecx, eax
and ecx, 0xfff00000
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
and edx, 0xfffffff8
shl edx, 9
add edx, ecx
mov ecx, edx
mov edx, ecx
and edx, 0xfff00000
mov eax, dword [edx + 0xc]
mov dword [esp + 0x44], eax
mov eax, ecx
shr eax, 0xc
movzx eax, al
mov dword [esp + 0x38], eax
lea eax, [eax*4]
lea eax, [eax + eax*2]
or eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x20], edx
mov dword [esp + 4], ecx
je 0x100209f5
xor edi, edi
inc edi
cmp eax, 2
cmovae edi, eax
mov dword [esp + 0x28], edi
mov edi, eax
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*2]
lea eax, [edx + eax*4 + 0x18]
mov dword [esp + 0x2c], 0
mov edx, edi
mov esi, dword [esp + 0x38]
xor ebx, ebx
mov dword [esp + 0x10], edx
mov dword [esp], eax
lea edi, [ebx + esi]
lea eax, [edi + edi*2]
mov edx, dword [esp + 0x20]
test byte [edx + eax*4 + 0x18], 0x60
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jne 0x10020750
inc ebx
cmp ebx, eax
setae al
mov dword [esp + 0x2c], eax
dec edx
mov eax, dword [esp]
add eax, 0xc
cmp ebx, dword [esp + 0x28]
jne 0x10020714
jmp 0x100209fb
cmp ebx, eax
jae 0x10021156
xor esi, esi
mov eax, dword [esp]
mov ecx, dword [eax]
test cl, 0x60
je 0x10020773
and ecx, 0xffffff9f
mov dword [eax], ecx
inc esi
add eax, 0xc
cmp edx, esi
jne 0x1002075d
mov esi, edx
mov ecx, esi
shl ecx, 0xc
mov dword [esp + 0x3c], esi
jne 0x10020f27
jmp 0x100207c7
mov dword [esp + 0x40], edx
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x54], eax
push 4
push 0x1000
push dword [esp + 0x48]
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x100217af
mov eax, dword [esp + 0x40]
add esi, eax
sub edi, eax
mov eax, 0x100000
cmp edi, eax
mov edx, 0x100000
cmovb edx, edi
test edi, edi
jne 0x10020784
mov al, 1
cmp dword [esp + 0x3c], 0
je 0x100207ee
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp]
mov esi, dword [esp + 0x3c]
or dword [edx], ecx
add edx, 0xc
dec esi
jne 0x100207e6
test al, al
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
je 0x10022b9d
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x3c]
add dword [esi + 0x2c], edi
mov esi, dword [esp + 0x38]
jmp 0x10020734
mov al, 1
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 4]
jmp 0x10020457
xor edx, edx
mov eax, edi
test al, 0x10
cmove edx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 4]
cmp edx, ecx
mov edx, ecx
seta cl
jb 0x100204a9
mov al, cl
jmp 0x1002049c
mov ecx, esi
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x100209b4
push 0x100a57b8
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a57d0]
test eax, eax
je 0x10020f94
xor ebx, ebx
xor ecx, ecx
dec ecx
mov esi, dword [eax + 0x14]
xor edx, edx
cmp esi, 0x100000
setb dl
cmova edx, ecx
cmp edx, 0xffffffff
jne 0x10020897
mov ebx, eax
mov eax, dword [eax]
test eax, eax
jne 0x10020874
jmp 0x10020b6a
test edx, edx
jne 0x10021cd9
cmp dword [eax + 0x10], 0
jne 0x1002088a
jmp 0x10021ce9
mov ebx, edx
shl ebx, 0xc
mov eax, ebx
and eax, 0xff000
mov edx, 0x100000
sub edx, eax
cmp edx, ecx
cmovae edx, ecx
add ebx, dword [esp]
jmp 0x100203c4
mov edi, dword [esp + 0x14]
and edi, 0xfffffffe
mov dword [ecx], edi
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
and edx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea esi, [ecx + edx]
mov dword [eax + 4], esi
test edx, edx
je 0x10021bbc
mov esi, dword [edx]
and esi, 0xfffffffe
or esi, ecx
mov dword [eax + 4], esi
mov dword [edx], eax
mov edi, dword [eax + 4]
and edi, 0xfffffffe
je 0x10020991
mov ecx, dword [edi + 4]
test cl, 1
je 0x10020991
mov esi, ecx
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov ecx, dword [eax + 4]
mov esi, ecx
or esi, 1
mov dword [eax + 4], esi
and ecx, 0xfffffffe
je 0x10021d24
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x100200d0
mov eax, dword [edx + 4]
cmp eax, 1
mov ebx, dword [esp]
ja 0x100212e9
mov eax, dword [edx]
xor ecx, ecx
test eax, eax
je 0x100236f9
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov edi, edx
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [edi + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
or byte [edi + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x100236f9
mov dword [eax + 4], edi
jmp 0x100200d0
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, eax
call fcn.10001010
mov edx, dword [esi]
jmp 0x100200d4
xor edi, edi
jmp 0x1002043a
xor eax, eax
mov dword [ecx + 0x3c], eax
lea ecx, [esp + 0x70]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [edx + 0x28], eax
lea eax, [edx + 0x28]
mov dword [edx + 0x2c], 1
lea edi, [edx + 0x2000]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10021c5f
and byte [eax + 4], 0xfe
mov dword [esp + 4], eax
mov dword [esi + 0x58], eax
mov edx, edi
jmp 0x100202e9
mov al, 1
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 0x10]
mov dword [esp + 0x10], eax
add ecx, 0x18
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x24], ecx
mov edx, dword [ecx]
mov esi, 0xfffff000
mov ebx, edx
and ebx, esi
and esi, dword [eax + 8]
xor edi, edi
dec edi
xor ecx, ecx
cmp ebx, esi
seta cl
cmovb ecx, edi
test ecx, ecx
je 0x10020b4c
cmp ecx, 0xffffffff
jne 0x10020a6e
mov edx, dword [eax]
test edx, edx
je 0x10021b34
mov ecx, dword [edx + 4]
test cl, 1
mov edi, dword [esp + 0x24]
je 0x10020aed
mov dword [esp + 0x28], 0
jmp 0x100226c4
test ecx, ecx
je 0x10020f4a
mov ecx, dword [eax + 4]
xor ebx, ebx
mov edi, dword [esp + 0x24]
mov edx, ecx
and edx, 0xfffffffe
mov dword [esp + 0x28], ebx
je 0x10020a9a
mov esi, dword [edx]
test esi, esi
je 0x10020a9a
test byte [esi + 4], 1
jne 0x100226c4
mov edx, dword [eax]
test edx, edx
je 0x10021d0f
test byte [edx + 4], 1
jne 0x100212d5
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x10020ac6
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002136b
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x10021d66
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
mov edi, dword [esp + 0x24]
jmp 0x10020b41
mov esi, dword [edx]
test esi, esi
je 0x10020afd
test byte [esi + 4], 1
jne 0x10020a61
mov dword [esp + 0x28], 0
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x100218ce
mov edx, dword [ecx]
test edx, edx
je 0x10020b2b
mov ebx, dword [edx + 4]
test bl, 1
jne 0x100213c0
or esi, 1
mov dword [eax + 4], esi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, ecx
and byte [edx + 4], 0xfe
lea eax, [esp + 0x70]
mov dword [eax], edx
jmp 0x100226c4
xor esi, esi
test dl, 0x10
cmove esi, dword [esp + 0x10]
xor ecx, ecx
cmp esi, eax
seta dl
jb 0x10020a47
mov cl, dl
jmp 0x10020a42
test ebx, ebx
je 0x10020f94
mov esi, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
mov dword [esp], edx
lea edi, [edx + 0xfffff]
mov eax, 0xfff00000
and edi, eax
mov ecx, edi
sub ecx, edx
sub esi, ecx
add esi, eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 4], eax
mov ecx, ebx
call fcn.10002520
mov ecx, 0x100a57d4
mov dword [esp + 0x1c], ebx
mov edx, ebx
call fcn.100020d0
mov dword [esp + 8], edi
mov eax, edi
sub eax, dword [esp]
jne 0x10021c8b
test esi, esi
je 0x10021185
mov eax, dword [esp + 8]
add eax, 0x100000
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], esi
mov eax, dword [esp + 4]
mov dword [edi + 0x18], eax
mov ecx, edi
call fcn.10001e40
mov ecx, 0x100a57d4
mov edx, edi
call fcn.10001bb0
lock add dword [0x100a57d8], 0xfff00000
mov eax, 0x100a57b8
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
push 4
push 0x1000
push 0x100000
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x100217d0
test edi, edi
je 0x10020f9f
push 0x100a579c
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a57b4]
test eax, eax
je 0x10021c0d
mov esi, dword [esp + 8]
mov ecx, esi
shr ecx, 0x14
mov dword [eax + ecx*4], esi
push 0x100a579c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0xc]
add dword [eax + 0x28], 0x100000
mov dword [esi], eax
xor eax, eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], 0x20
mov dword [esi + 0x30], 0xfd024
mov eax, 0x60
mov dword [esi + eax - 0x24], 0x24
mov dword [esi + eax - 0x18], 0x24
mov dword [esi + eax - 0xc], 0x24
cmp eax, 0xc00
je 0x10020cba
mov dword [esi + eax], 0x24
add eax, 0x30
jmp 0x10020c8f
mov dword [esi + 0xc00], 0xfd024
mov dword [esi + 0xc0c], 0x20
lea edi, [esi + 0x1000]
mov eax, edi
and eax, 0xfffff
mov ebx, 0x100000
sub ebx, eax
mov esi, 0xff000
cmp ebx, esi
cmovae ebx, esi
push 0x4000
push ebx
push edi
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x10021ba7
add edi, ebx
sub esi, ebx
mov eax, 0x100000
cmp esi, eax
mov ebx, 0x100000
cmovb ebx, esi
test esi, esi
jne 0x10020cec
mov esi, dword [esp + 0xc]
add dword [esi + 0x2c], 2
mov eax, dword [esp + 8]
add eax, 0x28
mov dword [esp], eax
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x100212a9
lea eax, [esp + 0x70]
xor edi, edi
mov ebx, eax
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx]
test eax, eax
je 0x10020d67
mov edx, dword [eax + 4]
test dl, 1
je 0x10020d67
mov ebx, dword [eax]
test ebx, ebx
je 0x10020d67
test byte [ebx + 4], 1
jne 0x10020dc4
mov eax, ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x30]
mov edx, ecx
mov ebx, 0xfffff000
and edx, ebx
mov esi, dword [eax + 8]
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
cmp ebx, 0xffffffff
mov esi, dword [esp + 0xc]
je 0x10020db2
xor edx, edx
inc edx
test ebx, ebx
jne 0x10020df8
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp]
xor edx, edx
cmp ecx, eax
seta cl
jae 0x10020df6
mov ecx, dword [eax]
xor edx, edx
dec edx
test ecx, ecx
mov edi, dword [esp + 0x1c]
jne 0x10020d47
jmp 0x10020e92
and edx, 0xfffffffe
mov dword [ecx], edx
mov ebx, ecx
and ebx, 0xfffffffe
mov edx, dword [eax]
mov esi, dword [eax + 4]
and esi, 1
or esi, ebx
mov dword [eax + 4], esi
test edx, edx
je 0x10021b16
and byte [edx + 4], 0xfe
mov esi, dword [esp + 0x1c]
cmp dword [esi], ecx
jne 0x10020e00
mov dword [esi], eax
jmp 0x10020d69
mov dl, cl
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
jmp 0x10020db7
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
lea edx, [ecx + eax]
mov dword [esi + 4], edx
test eax, eax
je 0x10021b25
mov edx, dword [eax]
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 4], edx
mov dword [eax], esi
mov ecx, dword [esi + 4]
and ecx, 1
mov edx, dword [eax + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [eax + 4], edx
or byte [esi + 4], 1
test edi, edi
je 0x100218ed
cmp dword [edi], esi
je 0x100212f6
jmp 0x100212fd
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x30]
mov edx, ecx
mov ebx, 0xfffff000
and edx, ebx
mov esi, dword [eax + 8]
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
test ebx, ebx
jne 0x100212c4
jmp 0x1002134b
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov ebx, eax
test ecx, ecx
mov esi, dword [esp + 0xc]
jne 0x10020d49
mov ecx, dword [esp + 8]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 1
cmp edx, 1
je 0x100210b5
mov ecx, dword [esp]
mov dword [eax], ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10021c30
and byte [eax + 4], 0xfe
mov dword [esp + 4], eax
mov dword [esi + 0x58], eax
mov edx, dword [esp + 8]
add edx, 0x2000
jmp 0x100202e9
mov edx, dword [edx + 0x3c]
test edx, edx
jne 0x10021163
lea eax, [esp + 0x70]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10050c80
add esp, 8
test eax, eax
je 0x10022d51
mov edi, eax
movzx eax, byte [esp + 0x70]
mov ecx, dword [esp + 0xc]
mov edx, edi
push eax
call fcn.10050ba0
add esp, 4
add edi, 0x2000
mov ecx, edi
jmp 0x100206a4
mov esi, edi
shl esi, 0xc
mov eax, esi
and eax, 0xff000
mov edx, 0x100000
sub edx, eax
cmp edx, ecx
cmovae edx, ecx
add esi, dword [esp + 0x20]
mov edi, ecx
jmp 0x10020784
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x10021419
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
je 0x1002280e
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x1002280e
push 0x100a57b8
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
sub esp, 0x10
movaps xmm0, xmmword [0x10093150]
movups xmmword [esp], xmm0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1002185e
mov dword [esp + 8], eax
test eax, 0xfffff
je 0x10020c38
push 0x8000
push 0
push dword [esp + 0x10]
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x10021de8
mov esi, dword [sym.imp.kernel32.dll_VirtualFree]
xor ecx, ecx
mov edx, 0x1ff000
push 0x3000
call fcn.100510b0
add esp, 4
test eax, eax
je 0x10023cb7
mov ecx, eax
add ecx, 0xfffff
and ecx, 0xfff00000
mov dword [esp + 8], ecx
push 0x8000
push 0
push eax
call esi
test eax, eax
je 0x10021dba
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x100000
push 0x3000
call fcn.100510b0
add esp, 4
cmp eax, edi
jne 0x1002150f
cmp dword [esp + 8], 0
jne 0x10020c38
jmp 0x10020ff1
mov esi, ecx
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov edx, dword [eax]
test edx, edx
je 0x10021d33
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x10021d48
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x100200d4
mov dword [esp + 0x1c], edi
mov ebx, dword [esp]
and ebx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea edx, [ecx + ebx]
mov dword [eax + 4], edx
test ebx, ebx
je 0x10021d57
mov edx, dword [ebx]
and edx, 0xfffffffe
or edx, ecx
mov dword [eax + 4], edx
mov dword [ebx], eax
mov ecx, dword [eax + 4]
and ecx, 1
mov edx, dword [ebx + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebx + 4], edx
or byte [eax + 4], 1
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], eax
jne 0x10021288
mov dword [ecx], ebx
jmp 0x10020eb2
lea esi, [esp + 0x58]
mov ecx, esi
call fcn.10032030
mov esi, dword [esi]
jmp 0x10020516
lea edx, [esp + 0x70]
mov dword [esp + 4], edx
jmp 0x1002052c
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
jmp 0x1002021e
mov dword [esp + 0x3c], 0
jmp 0x10020802
mov eax, dword [esp + 0xc]
mov dword [eax + 0x3c], 0
lea edi, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x30]
call fcn.10051170
jmp 0x10020f20
lock add dword [0x100a57d8], 0xfff00000
push 0x100a57b8
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push 0x100a57dc
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, 0x100a57dc
mov ecx, dword [0x100a5760]
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
mov dword [0x100a5760], edx
jmp 0x10020c02
mov edi, 1
jmp 0x1001fe17
and edx, 0xfffffffe
mov dword [eax + 4], edx
mov eax, dword [esp + 4]
mov esi, dword [eax]
test esi, esi
je 0x10021d83
mov eax, dword [esi + 4]
and eax, 0xfffffffe
mov edx, dword [esp + 4]
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x10021d9c
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov edx, dword [esp + 4]
mov dword [edx + 4], ecx
mov dword [eax], edx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10020516
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
and esi, 0xfffffffe
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + esi]
mov dword [edx + 4], ecx
test esi, esi
je 0x10021dab
mov ecx, dword [esi]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [esi], eax
mov eax, dword [eax + 4]
and eax, 0xfffffffe
je 0x1002127c
mov ecx, dword [eax + 4]
test cl, 1
jne 0x10021422
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
jmp 0x10020512
mov ecx, dword [ecx + 4]
mov edx, ecx
and edx, 0xfffffffe
cmp eax, edx
jne 0x10020eb2
and ecx, 1
or ecx, ebx
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], ecx
jmp 0x10020eb2
mov eax, dword [esp + 8]
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 1
lea eax, [esp + 0x70]
jmp 0x10020ead
xor edx, edx
inc edx
cmp ebx, 0xffffffff
jne 0x10020e7e
jmp 0x1002140f
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, eax
call fcn.10032030
mov edx, dword [esi]
jmp 0x10020b41
lea ecx, [esp + 0x70]
mov dword [esp + 0x24], ecx
jmp 0x100205a8
mov dword [edi], eax
jmp 0x10020e4d
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x10020e4d
mov esi, dword [0x100a5744]
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x10021dfc
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [eax + 0xc], esi
jmp 0x1001fe5e
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp]
xor edx, edx
cmp ecx, eax
seta cl
jb 0x1002140f
mov dl, cl
jmp 0x10020e7e
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x10021e06
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x10021e1b
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10020ae7
and ebx, 0xfffffffe
mov dword [ecx], ebx
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
and edx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea esi, [ecx + edx]
mov dword [eax + 4], esi
test edx, edx
je 0x10021e2a
mov esi, dword [edx]
and esi, 0xfffffffe
or esi, ecx
mov dword [eax + 4], esi
mov dword [edx], eax
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
je 0x10021403
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002146f
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x24]
jmp 0x10020b3d
mov ecx, dword [eax]
xor edx, edx
dec edx
jmp 0x10020e84
lea ebx, [esp + 0x70]
jmp 0x10020a7b
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
mov ecx, eax
or ecx, 1
mov dword [edx + 4], ecx
and eax, 0xfffffffe
je 0x10021e39
mov ecx, dword [eax]
or ecx, 1
mov edx, dword [esp + 4]
mov dword [edx + 4], ecx
mov dword [eax], edx
mov dword [esi], eax
jmp 0x10020512
mov ecx, esi
push 0
push 0x100000
call fcn.100029a0
add esp, 8
mov dword [esp + 8], eax
jmp 0x1001ff49
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov ecx, dword [eax + 4]
mov esi, ecx
or esi, 1
mov dword [eax + 4], esi
and ecx, 0xfffffffe
je 0x10021e48
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
mov edi, dword [esp + 0x24]
jmp 0x10020b3d
mov ebx, esi
mov byte [esi + 0x40], 0
lea eax, [esp + 0x70]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea esi, [esp + 0x58]
push esi
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
mov ecx, 0x10
call fcn.10011e30
xor edx, edx
cmp byte [esi + 8], 0
mov ecx, 0
mov esi, 0
je 0x100214e2
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp byte [esp + 0x78], 0
mov edi, 0
je 0x100214f6
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov esi, ebx
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x40], 1
jmp 0x1001fe8f
mov dword [esp + 8], 0
test eax, eax
je 0x10021051
push 0x8000
push 0
push eax
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
jne 0x10021051
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054c10
jmp 0x10021051
push 0x100a5810
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
cmp dword [0x100a580c], 0
jne 0x10021754
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x10021ea5
mov eax, dword [0x100a5818]
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x100215d0
push 0x100a5818
call fcn.1004fb5e
add esp, 4
cmp dword [0x100a5818], 0xffffffff
jne 0x100215d0
lea esi, [esp + 0x70]
push esi
call dword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [esi + 4]
mov dword [0x100a5814], eax
push 0x100a5818
call fcn.1004fb5e
add esp, 4
mov eax, 0x1000
xor edx, edx
div dword [0x100a5814]
test edx, edx
jne 0x10021eaf
mov edi, 0x100a581c
push 0x40
push edi
push str.MALLOC_OPTIONS
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableA]
test eax, eax
cmove edi, eax
je 0x1002163b
mov al, byte [edi]
test al, al
je 0x1002163b
xor ebx, ebx
movsx eax, al
add eax, 0xffffffd0
cmp eax, 9
jbe 0x10021ee2
xor esi, esi
inc esi
mov al, byte [edi + ebx]
movsx ecx, al
cmp ecx, 0x72
jne 0x10021e57
mov byte [0x100a5774], 1
dec esi
jne 0x10021619
mov al, byte [edi + ebx + 1]
inc ebx
test al, al
jne 0x10021607
xor ebx, ebx
mov dword [0x100a57d8], ebx
mov edi, 0x1388
mov esi, dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
push edi
push 0x100a57b8
call esi
mov dword [0x100a57d0], ebx
mov dword [0x100a57d4], ebx
push edi
push 0x100a5778
call esi
mov dword [0x100a5790], ebx
mov dword [0x100a5794], ebx
mov dword [0x100a5798], ebx
push edi
push 0x100a57dc
call esi
mov dword [0x100a5808], ebx
mov dword [0x100a5800], ebx
mov dword [0x100a574c], ebx
mov dword [0x100a5750], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov eax, dword [0x100a5024]
mov dword [esp + 0x70], eax
push edi
push 0x100a572c
call esi
test eax, eax
je 0x10021e7f
lea edx, [esp + 0x70]
xor ecx, ecx
call fcn.10041370
mov dword [0x100a5744], eax
test eax, eax
je 0x10021e95
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 8], 0
je 0x10021ed3
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 0xc], eax
push 0x1388
push 0x100a579c
call dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x4000
call fcn.10011e30
test eax, eax
je 0x10021e8b
mov esi, eax
push 0x4000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x100a57b4], esi
xor eax, eax
inc eax
xchg dword [0x100a580c], eax
call fcn.10001250
push 0x100a5810
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x1001fe0a
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x10021f35
cmp eax, 8
je 0x10021f35
xor eax, eax
jmp 0x10020411
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x10021ffc
cmp eax, 8
je 0x10021ffc
xor eax, eax
jmp 0x100207c9
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x100217e6
cmp eax, 8
jne 0x10020f9f
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea ebx, [eax + eax*4]
add ebx, 5
mov edi, dword [sym.imp.kernel32.dll_Sleep]
push 0x32
call edi
push 4
push 0x1000
push 0x100000
push dword [esp + 0x14]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x1c], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x1c], 0
jne 0x1002207a
cmp eax, 0x5af
je 0x1002183d
cmp eax, 8
jne 0x10020f9f
dec ebx
jne 0x100217fe
jmp 0x10020f9f
or ecx, 1
mov eax, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x10021874
cmp eax, 8
jne 0x10023cb7
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea ebx, [eax + eax*4]
add ebx, 5
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
sub esp, 0x10
movaps xmm0, xmmword [0x10093150]
movups xmmword [esp], xmm0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov edi, eax
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 8], edi
test edi, edi
jne 0x1002209a
cmp eax, 0x5af
je 0x100218c6
cmp eax, 8
jne 0x10023cb7
dec ebx
jne 0x10021886
jmp 0x10023cb7
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
call fcn.1004f684
jmp 0x1001fe3f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov eax, dword [esp + 4]
dec dword [eax + 8]
mov bl, 1
mov dword [esp + 8], 0
mov ecx, dword [esp + 0xc]
jmp 0x1001ff31
mov eax, esi
jmp 0x100202c6
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x10020857
xor esi, esi
mov dword [eax + 0x3c], esi
mov eax, dword [esp + 0x1c]
lea edi, [eax + 0x2000]
add eax, 0x28
lea ecx, [esp + 0x70]
mov edx, dword [esp + 4]
mov dword [ecx], edx
mov dword [esp + 8], 0
mov dword [ecx + 4], esi
mov edx, dword [esp + 8]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x10021980
mov edx, dword [ecx + 4]
test dl, 1
je 0x10021980
mov ebx, dword [ecx]
test ebx, ebx
je 0x10021980
test byte [ebx + 4], 1
jne 0x100219e1
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1c]
mov ebx, dword [edx + 0x30]
mov dword [esp], ebx
mov edx, 0xfffff000
and ebx, edx
mov esi, dword [ecx + 8]
and esi, edx
xor edx, edx
cmp ebx, esi
seta dl
mov esi, 0xffffffff
cmovb edx, esi
cmp edx, 0xffffffff
je 0x100219c8
xor esi, esi
inc esi
test edx, edx
jne 0x10021a23
test byte [esp], 0x10
mov edx, 0
cmove edx, eax
cmp edx, ecx
seta dl
jae 0x10021a1d
mov edx, dword [ecx]
mov dword [esp + 4], edx
xor esi, esi
dec esi
cmp dword [esp + 4], 0
jne 0x10021957
jmp 0x10021ae0
and edx, 0xfffffffe
mov ebx, dword [esp + 4]
mov dword [ebx], edx
and ebx, 0xfffffffe
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
and esi, 1
or esi, ebx
mov dword [ecx + 4], esi
test edx, edx
je 0x100220d1
and byte [edx + 4], 0xfe
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
cmp dword [esi], edx
jne 0x10021a2f
mov edx, dword [esp + 8]
mov dword [edx], ecx
jmp 0x10021984
xor ebx, ebx
mov bl, dl
mov esi, ebx
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [esp + 4], edx
jmp 0x100219d1
and ecx, 0xfffffffe
mov ebx, dword [esp + 8]
mov edx, dword [ebx + 4]
and edx, 1
lea esi, [edx + ecx]
mov dword [ebx + 4], esi
test ecx, ecx
je 0x100220e0
mov esi, dword [ecx]
and esi, 0xfffffffe
or esi, edx
mov ebx, dword [esp + 8]
mov dword [ebx + 4], esi
mov dword [ecx], ebx
mov edx, dword [ebx + 4]
and edx, 1
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
or esi, edx
mov dword [ecx + 4], esi
or byte [ebx + 4], 1
cmp dword [esp], 0
je 0x100220b6
mov edx, dword [esp + 8]
mov esi, dword [esp]
cmp dword [esi], edx
je 0x10021c6e
jmp 0x10021c78
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 0x30]
mov dword [esp + 8], edx
mov ebx, 0xfffff000
and edx, ebx
mov esi, dword [ecx + 8]
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
test ebx, ebx
jne 0x10021c4e
jmp 0x10021cf0
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
cmp dword [esp + 4], 0
jne 0x10021962
mov edx, dword [esp]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 1
cmp esi, 1
je 0x10021b58
mov esi, dword [esp + 0xc]
jmp 0x100209d5
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov eax, ecx
jmp 0x10020683
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
and eax, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
lea esi, [edx + eax]
mov dword [ecx + 4], esi
test eax, eax
je 0x100220c5
mov esi, dword [eax]
and esi, 0xfffffffe
or esi, edx
mov dword [ecx + 4], esi
mov dword [eax], ecx
mov edx, dword [ecx + 4]
and edx, 1
mov esi, dword [eax + 4]
and esi, 0xfffffffe
or esi, edx
mov dword [eax + 4], esi
or byte [ecx + 4], 1
mov edx, dword [esp + 8]
cmp dword [edx], ecx
jne 0x10021bef
mov ecx, dword [esp + 8]
mov dword [ecx], eax
mov esi, dword [esp + 0xc]
jmp 0x100209d7
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov edx, dword [esp + 8]
mov edx, dword [edx + 4]
mov esi, edx
and esi, 0xfffffffe
cmp ecx, esi
jne 0x10021b9e
and edx, 1
or edx, eax
mov eax, dword [esp + 8]
mov dword [eax + 4], edx
jmp 0x10021b9e
push 0x100a579c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 8]
mov edx, 0x100000
push 0
call fcn.10001850
add esp, 4
jmp 0x10023cb7
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
xor esi, esi
inc esi
cmp ebx, 0xffffffff
jne 0x10021ac0
jmp 0x10021d75
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov edx, dword [esp]
mov dword [edx], ecx
jmp 0x10021a8d
mov esi, dword [esp]
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x10021a8d
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x14], eax
mov ecx, edi
call fcn.10001e40
mov ecx, 0x100a57d4
mov edx, edi
call fcn.10001bb0
test esi, esi
je 0x10020bf2
push 0x100a57b8
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call fcn.10054c60
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10021dce
push 0x100a57b8
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
jmp 0x10020bc5
cmp edx, 1
jne 0x10021ce9
mov eax, dword [eax + 4]
and eax, 0xfffffffe
jmp 0x1002088e
mov ebx, eax
jmp 0x10020b75
test byte [esp + 8], 0x10
mov edx, 0
cmove edx, eax
cmp edx, ecx
seta dl
jb 0x10021d75
xor ebx, ebx
mov bl, dl
mov esi, ebx
jmp 0x10021ac0
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov edx, dword [ecx]
mov dword [esp + 4], edx
xor esi, esi
dec esi
jmp 0x10021aca
mov eax, dword [esp + 4]
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054c10
jmp 0x10021031
mov ecx, dword [esp + 8]
mov edx, 0x100000
push dword [esp + 4]
call fcn.10001850
add esp, 4
jmp 0x10020f9f
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054c10
jmp 0x10020feb
call fcn.1004f684
jmp 0x1002132f
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
cmp ecx, 0x46
jne 0x10021f05
mov eax, dword [0x100a5024]
test eax, eax
je 0x10021f26
add eax, eax
je 0x1002162f
mov dword [0x100a5024], eax
jmp 0x1002162f
mov dword [0x100a5744], 0
jmp 0x10021e95
mov dword [0x100a57b4], 0
push 0x100a5810
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x10023cc5
call fcn.1004f684
jmp 0x1002157d
mov ecx, str._jemalloc_
mov edx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.10054c10
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
call fcn.1004f684
mov eax, dword [0x100a5744]
jmp 0x100216f6
xor esi, esi
lea ecx, [esi + esi*4]
lea esi, [eax + ecx*2]
movsx eax, byte [edi + ebx + 1]
inc ebx
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x10021ee4
test esi, esi
je 0x10021632
jmp 0x10021619
cmp ecx, 0x52
jne 0x10021f16
mov byte [0x100a5774], 0
jmp 0x1002162f
cmp ecx, 0x66
jne 0x10021f93
shr dword [0x100a5024], 1
jmp 0x1002162f
mov dword [0x100a5024], 1
jmp 0x1002162f
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea eax, [eax + eax*4]
add eax, 5
mov dword [esp + 0x40], eax
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x2c]
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x3c], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x3c], 0
jne 0x10021fdc
cmp eax, 0x5af
je 0x10021f86
cmp eax, 8
jne 0x1002177e
xor eax, eax
dec dword [esp + 0x40]
jne 0x10021f4b
jmp 0x10020411
lea ecx, [esp + 0x70]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov eax, 2
push 0xa
push str._jemalloc_
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
add esp, 0xc
push 0x35
push str.:__malloc__Unsupported_character_in_malloc_options:_
mov eax, 2
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
add esp, 0xc
lea ecx, [esp + 0x70]
mov edx, 0x1009afc9
call fcn.10054c10
jmp 0x1002162f
cmp eax, 0x5af
mov ecx, dword [esp + 0x44]
je 0x10021ff0
cmp eax, 8
jne 0x100203f0
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x100203f0
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea eax, [eax + eax*4]
add eax, 5
mov dword [esp + 0x4c], eax
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x48]
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x50], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x50], 0
jne 0x1002205a
cmp eax, 0x5af
je 0x1002204d
cmp eax, 8
jne 0x100217c9
xor eax, eax
dec dword [esp + 0x4c]
jne 0x10022012
jmp 0x100207c9
cmp eax, 0x5af
mov ecx, dword [esp + 0x54]
je 0x1002206e
cmp eax, 8
jne 0x100207ac
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x100207ac
cmp eax, 0x5af
mov edi, dword [esp + 8]
je 0x1002208e
cmp eax, 8
jne 0x10020c30
push esi
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10020c30
cmp eax, 0x5af
je 0x100220a6
cmp eax, 8
jne 0x100220ad
push esi
call dword [sym.imp.kernel32.dll_SetLastError]
mov eax, dword [esp + 8]
jmp 0x10020fc3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
xor ecx, ecx
cmp eax, ebx
setb cl
cmova ecx, edi
cmp ecx, 0xffffffff
jne 0x10022199
test eax, eax
je 0x100223f6
mov edx, dword [eax]
test edx, edx
je 0x100223f6
mov ecx, dword [edx + 4]
test cl, 1
jne 0x10022190
mov edi, dword [edx]
test edi, edi
je 0x1002213d
test byte [edi + 4], 1
jne 0x100221e0
mov dword [esp + 0x10], esi
or ecx, 1
mov dword [edx + 4], ecx
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x10022535
mov esi, dword [ecx]
test esi, esi
jne 0x100221b1
or edi, 1
mov dword [eax + 4], edi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov esi, ecx
mov edx, dword [esp + 0x10]
cmp dword [edx], eax
mov edi, 0xffffffff
jne 0x100225f3
mov dword [edx], esi
mov eax, esi
mov esi, edx
jmp 0x10022100
mov esi, eax
mov eax, edx
jmp 0x10022100
test ecx, ecx
jne 0x100221c2
xor edx, edx
test eax, eax
je 0x100221f3
mov ecx, dword [eax + 4]
mov dword [esp + 4], esi
cmp ecx, 1
jbe 0x100221e9
jmp 0x100221cd
mov edx, dword [esi + 4]
mov dword [esp + 0x14], edx
test dl, 1
je 0x1002215b
jmp 0x10022318
test eax, eax
je 0x100225e4
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002222e
mov edi, dword [edx]
test edi, edi
je 0x1002222e
test byte [edi + 4], 1
je 0x1002222e
mov esi, eax
mov edi, 0xffffffff
jmp 0x10022192
mov ecx, dword [eax]
test ecx, ecx
jne 0x100222e6
cmp dword [esi], eax
jne 0x1002238a
mov dword [esi], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp]
mov dword [ecx], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov ecx, 0xfffff000
and ecx, dword [ebx + 8]
mov eax, dword [esp + 8]
mov dword [eax], ecx
test ecx, ecx
jne 0x1001fec8
jmp 0x10022637
mov edi, dword [eax]
test edi, edi
je 0x100225e4
mov edx, dword [edi + 4]
test dl, 1
je 0x100223a5
mov dword [esp + 0x10], edi
and edx, 0xfffffffe
je 0x1002259b
mov edi, dword [edx]
mov dword [esp + 0x14], edi
test edi, edi
je 0x10022269
mov edi, dword [esp + 0x14]
test byte [edi + 4], 1
jne 0x10022447
and ecx, 1
or ecx, edx
mov edi, dword [esp + 0x10]
mov dword [edi + 4], ecx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x10022586
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
and ecx, 0xfffffffe
je 0x10022577
mov edi, dword [ecx]
mov dword [esp + 0x10], edi
and dword [esp + 0x10], 0xfffffffe
mov edi, dword [esp + 0x14]
and edi, 1
add edi, dword [esp + 0x10]
mov dword [eax + 4], edi
mov dword [ecx], eax
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
or byte [eax + 4], 1
cmp dword [esi], eax
jne 0x100223df
mov dword [esi], edx
mov eax, esi
jmp 0x100221e0
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov edi, dword [ecx + 4]
and edi, 1
or edi, edx
mov dword [ecx + 4], edi
mov edi, dword [eax + 4]
and edi, 1
or edi, edx
mov dword [ecx + 4], edi
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x100221f3
mov edx, dword [esp + 0x14]
and edx, 0xfffffffe
mov dword [ecx], edx
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
and esi, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea edi, [ecx + esi]
mov dword [eax + 4], edi
test esi, esi
je 0x10022559
mov edi, dword [esi]
and edi, 0xfffffffe
or edi, ecx
mov dword [eax + 4], edi
mov dword [esi], eax
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
je 0x1002239d
mov edx, dword [ecx + 4]
test dl, 1
je 0x1002239d
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov ecx, dword [eax + 4]
mov edi, ecx
or edi, 1
mov dword [eax + 4], edi
and ecx, 0xfffffffe
je 0x1002254a
mov edi, dword [ecx]
or edi, 1
mov dword [eax + 4], edi
mov dword [ecx], eax
mov dword [esi], ecx
jmp 0x1002216d
and edx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
or eax, edx
mov dword [esi + 4], eax
jmp 0x100221fd
mov dword [eax + 4], ecx
jmp 0x1002216d
or edx, 1
mov dword [edi + 4], edx
mov ecx, dword [edi]
test ecx, ecx
je 0x100223bd
mov edx, dword [ecx + 4]
test dl, 1
jne 0x100224bb
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x100225d5
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x100222d5
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov eax, esi
jmp 0x100221e0
mov edx, dword [esp + 4]
test edx, edx
je 0x10022608
cmp dword [edx], ebx
jne 0x1002251e
mov dword [edx], eax
test eax, eax
je 0x10022614
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
cmp dword [esi], eax
jne 0x10022623
mov dword [esi], 0
jmp 0x100221fd
and ecx, 1
mov edi, dword [edx + 4]
and edi, 0xfffffffe
or edi, ecx
mov dword [edx + 4], edi
mov ecx, dword [esp + 0x14]
and byte [ecx + 4], 0xfe
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x10022568
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov edi, dword [esp + 0x10]
mov dword [edi + 4], ecx
mov dword [edx], edi
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
and ecx, 0xfffffffe
jne 0x100222ab
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x100225c3
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
and ecx, 0xfffffffe
je 0x100225b4
mov edi, dword [ecx]
mov dword [esp + 0x10], edi
and dword [esp + 0x10], 0xfffffffe
mov edi, dword [esp + 0x14]
and edi, 1
add edi, dword [esp + 0x10]
mov dword [eax + 4], edi
mov dword [ecx], eax
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
jmp 0x100222d5
mov ecx, eax
and ecx, 0xfffffffe
mov edi, edx
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov dword [edi + 4], edx
jmp 0x1002240c
or edi, 1
mov dword [eax + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
and ecx, 1
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x10022180
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
and dword [esi + 4], 1
jmp 0x100221fd
int3
mov bl, 1
mov ecx, dword [esp + 0xc]
jmp 0x1001ff31
mov eax, edx
mov edx, dword [edi]
mov ebx, edx
and ebx, 0xfffff000
mov esi, dword [eax + 8]
mov ecx, 0xfffff000
and esi, ecx
xor ecx, ecx
cmp ebx, esi
seta cl
mov esi, 0xffffffff
cmovb ecx, esi
test ecx, ecx
je 0x10022690
cmp ecx, 0xffffffff
jne 0x100226aa
mov edx, dword [eax]
test edx, edx
je 0x10022edd
mov ecx, dword [edx + 4]
test cl, 1
jne 0x100226c4
mov esi, dword [edx]
test esi, esi
je 0x100226e1
test byte [esi + 4], 1
jne 0x100226c4
jmp 0x100226e1
test dl, 0x10
mov edx, 0
cmove edx, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
seta dl
jb 0x10022670
mov cl, dl
jmp 0x1002266b
test ecx, ecx
je 0x100226cc
mov ebx, dword [eax + 4]
mov edx, ebx
and edx, 0xfffffffe
je 0x1002272b
mov ecx, dword [edx]
test ecx, ecx
je 0x1002272b
test byte [ecx + 4], 1
je 0x1002272b
mov dword [esp], eax
jmp 0x10022642
mov ebx, dword [eax + 4]
mov ecx, dword [esp]
mov dword [esp + 0x28], ecx
cmp ebx, 1
jbe 0x100227cc
jmp 0x100226b1
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x100232a9
mov edx, dword [ecx]
test edx, edx
je 0x10022707
mov ebx, dword [edx + 4]
test bl, 1
jne 0x10022e7a
or esi, 1
mov dword [eax + 4], esi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, ecx
mov esi, dword [esp]
cmp dword [esi], eax
jne 0x100233b1
mov dword [esi], edx
jmp 0x10022642
mov ecx, dword [eax]
test ecx, ecx
je 0x10023360
mov edx, dword [ecx + 4]
test dl, 1
je 0x10022c9d
and edx, 0xfffffffe
je 0x100232be
mov esi, dword [edx]
test esi, esi
je 0x1002275a
test byte [esi + 4], 1
jne 0x10022f44
and ebx, 1
or ebx, edx
mov dword [ecx + 4], ebx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1002332d
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
mov ebx, dword [esp]
je 0x10023342
mov esi, dword [ecx]
and esi, 0xfffffffe
and edi, 1
or edi, esi
mov dword [eax + 4], edi
mov dword [ecx], eax
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
or byte [eax + 4], 1
mov edi, dword [esp + 0x24]
cmp dword [ebx], eax
jne 0x10022d5c
mov dword [ebx], edx
mov eax, ebx
jmp 0x100226c4
mov ecx, dword [eax]
test ecx, ecx
je 0x100227fd
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, dword [esp]
cmp dword [edx], eax
jne 0x10022c8a
mov dword [edx], ecx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
shr ebx, 0xc
mov edi, dword [esp + 0x30]
mov dword [edi], edx
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
cmp ebx, eax
jne 0x100229b5
test al, al
mov ebx, dword [esp + 0x20]
je 0x1002287b
mov edx, eax
mov eax, dword [esp + 4]
or eax, 1
xor ecx, ecx
inc ecx
cmp edx, 2
cmovae ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x38]
lea edx, [edx + edx*2]
lea edx, [ebx + edx*4]
add edx, 0x18
xor esi, esi
mov edi, dword [esp + 0xc]
test byte [edx + esi], 8
je 0x10022871
dec dword [ebx + 0xc]
dec dword [edi + 0x48]
mov dword [edx + esi], eax
add esi, 0xc
cmp ecx, esi
jne 0x10022865
cmp dword [ebx + 0xc], 0
jne 0x10022b99
cmp dword [esp + 0x44], 0
mov ecx, dword [esp + 4]
je 0x10022b9d
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0
xor edx, edx
dec edx
xor eax, eax
cmp edi, ebx
setb al
cmova eax, edx
cmp eax, 0xffffffff
je 0x10022d96
mov ebx, edx
test eax, eax
je 0x1002304d
test edi, edi
je 0x100232d3
mov ecx, dword [edi + 8]
mov dword [esp], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x1002301d
mov edx, dword [eax + 4]
test edx, edx
je 0x1002301d
test byte [edx + 8], 1
je 0x1002301d
mov edx, ebx
mov ebx, edi
mov edi, eax
xor eax, eax
cmp edi, dword [esp + 0x20]
setb al
cmova eax, edx
cmp eax, 0xffffffff
jne 0x10022947
test edi, edi
je 0x10023143
mov eax, dword [edi + 4]
test eax, eax
je 0x10023143
mov ecx, dword [eax + 8]
test cl, 1
jne 0x100228fb
mov edx, dword [eax + 4]
test edx, edx
je 0x10022fcd
test byte [edx + 8], 1
je 0x10022fcd
mov ebx, edi
xor edx, edx
dec edx
jmp 0x100228fd
test eax, eax
jne 0x10022966
xor ecx, ecx
test edi, edi
je 0x10022d0f
mov eax, dword [edi + 8]
mov dword [esp], ebx
cmp eax, 1
jbe 0x10022cda
jmp 0x1002296d
test edi, edi
je 0x10022983
mov eax, dword [edi + 8]
and eax, 0xfffffffe
je 0x10022983
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10022983
test byte [ecx + 8], 1
jne 0x100228fb
lea ecx, [esp + 0x6c]
mov edx, edi
call fcn.100329e0
mov eax, dword [esp + 0x6c]
cmp dword [ebx + 4], edi
je 0x1002310c
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [ebx + 8], edx
mov edi, ebx
xor edx, edx
dec edx
jmp 0x100228fb
mov edx, dword [esp + 0x38]
lea ecx, [edx + ebx]
sub ebx, eax
shl ebx, 0xc
add eax, edx
lea eax, [eax + eax*2]
mov edi, dword [esp + 0x20]
mov dword [esp], eax
lea eax, [edi + eax*4]
add eax, 0x10
mov edx, 0xfff
mov esi, dword [eax + 8]
and esi, edx
or esi, ebx
mov dword [esp + 0x10], eax
mov dword [eax + 8], esi
lea ecx, [ecx + ecx*2]
and edx, dword [edi + ecx*4 + 0xc]
or edx, ebx
mov dword [edi + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x10022dec
mov eax, dword [esp]
lea eax, [edi + eax*4]
add eax, 0x18
mov dword [esp], eax
lea ebx, [esp + 0x70]
xor esi, esi
mov edi, esi
mov esi, ebx
mov ebx, dword [ecx]
test ebx, ebx
je 0x10022a3c
mov eax, dword [ebx + 4]
test al, 1
je 0x10022a3c
mov edx, dword [ebx]
test edx, edx
je 0x10022a3c
test byte [edx + 4], 1
jne 0x10022a90
mov ebx, ecx
mov eax, dword [esp]
mov ecx, dword [eax]
mov eax, ecx
mov edx, 0xfffff000
and eax, edx
mov edi, dword [ebx + 8]
and edi, edx
xor edx, edx
cmp eax, edi
seta dl
mov eax, 0xffffffff
cmovb edx, eax
cmp edx, 0xffffffff
je 0x10022a82
xor eax, eax
inc eax
test edx, edx
jne 0x10022ac8
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, ebx
seta cl
jae 0x10022ac6
mov ecx, dword [ebx]
xor eax, eax
dec eax
test ecx, ecx
jne 0x10022a1f
jmp 0x10022b5e
mov dword [esp + 0x28], edi
and eax, 0xfffffffe
mov dword [ecx], eax
mov edx, ecx
and edx, 0xfffffffe
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
and edi, 1
or edi, edx
mov dword [ebx + 4], edi
test eax, eax
je 0x1002330f
and byte [eax + 4], 0xfe
cmp dword [esi], ecx
mov edi, dword [esp + 0x28]
jne 0x10022ad0
mov dword [esi], ebx
jmp 0x10022a3e
mov al, cl
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x10022a87
and ebx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [esi + 4], ecx
test ebx, ebx
je 0x1002331e
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [ebx], esi
mov eax, dword [esi + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [esi + 4], 1
test edi, edi
je 0x100232e2
cmp dword [edi], esi
je 0x10022e17
jmp 0x10022ecd
mov eax, dword [esp]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov esi, dword [ebx + 8]
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x10022e06
jmp 0x10022fad
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov esi, ebx
test ecx, ecx
jne 0x10022a23
mov esi, edi
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x10022c37
mov dword [ebx], ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x100233a2
and byte [eax + 4], 0xfe
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
jmp 0x10022832
mov ecx, dword [esp + 4]
test byte [esp + 0x2c], 1
mov ebx, dword [esp + 8]
je 0x10022d51
test ecx, ecx
je 0x10022d51
cmp dword [ebx], ecx
je 0x1002221b
mov dword [ecx], ebx
xor eax, eax
mov edi, ecx
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
cmp dword [ebx + ecx + 0x6c], 1
mov edx, 0
je 0x10022bf1
mov ecx, dword [esp + 0x18]
add ecx, ebx
add ecx, 0x6c
xor edx, edx
mov dword [edi + edx*4 + 0xc], 0xffffffff
inc edx
mov esi, dword [ecx]
dec esi
cmp edx, esi
jb 0x10022be1
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + ecx + 0x68]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor esi, esi
dec esi
shr esi, cl
cmp ebx, 1
sbb eax, eax
or eax, esi
mov ecx, dword [esp + 0xc]
mov dword [edi + edx*4 + 0xc], eax
mov dword [edi + 4], 0
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx + 0x68]
mov dword [edi + 8], eax
inc dword [ecx + edx + 0x74]
mov eax, dword [esp + 8]
mov dword [eax], edi
mov ecx, edi
jmp 0x1001fec8
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x10]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x10]
mov dword [eax], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x10]
or byte [ebx + 4], 1
cmp dword [esi], ebx
jne 0x10022d73
mov dword [esi], eax
jmp 0x10022b7a
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x1002280a
or edx, 1
mov dword [ecx + 4], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x10022cb5
mov edx, dword [ecx + 4]
test dl, 1
jne 0x10022e1e
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
mov ebx, dword [esp]
je 0x1002336f
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x100227bb
mov eax, dword [edi + 4]
test eax, eax
je 0x10022d0f
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [edi + 4], ecx
mov ecx, edi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [edi + 8], 1
and dword [eax + 8], 1
mov ecx, eax
cmp dword [ebx + 4], edi
jne 0x10022f31
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x38], eax
mov edx, dword [esp + 0x20]
test edx, edx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 4]
je 0x100233f9
xor eax, eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
test ecx, ecx
setne al
test byte [esp + 0x2c], al
jne 0x10022bb4
mov dword [ebx], 0
jmp 0x10022637
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, ebx
jmp 0x100226c4
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp ebx, ecx
mov ecx, dword [esp + 0x30]
jne 0x10022b7e
and eax, 1
or eax, dword [esp + 0x10]
mov dword [esi + 4], eax
jmp 0x10022b7e
test edi, edi
je 0x10022dc3
mov eax, dword [edi + 4]
test eax, eax
je 0x10022dc3
mov dword [esp], 0
test byte [eax + 8], 1
jne 0x100228fb
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10022dc3
test byte [ecx + 8], 1
jne 0x100228fb
mov ebx, edx
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, edi
call fcn.10001630
mov eax, dword [esi]
test eax, eax
je 0x10023459
and byte [eax + 8], 0xfe
mov dword [esp], 0
jmp 0x10023041
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea ebx, [esp + 0x70]
jmp 0x10022b78
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x10022b4c
jmp 0x100230ac
mov dword [edi], ebx
jmp 0x10022b1d
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1002337e
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x10023393
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [esp + 0x24]
mov ebx, dword [esp]
jmp 0x100227bb
and ebx, 0xfffffffe
mov dword [ecx], ebx
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
and edx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea esi, [ecx + edx]
mov dword [eax + 4], esi
test edx, edx
je 0x10023300
mov esi, dword [edx]
and esi, 0xfffffffe
or esi, ecx
mov dword [eax + 4], esi
mov dword [edx], eax
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
je 0x10022ec1
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x10023114
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x24]
jmp 0x10022719
mov eax, dword [edi + 4]
and eax, 1
or eax, ebx
mov dword [edi + 4], eax
jmp 0x10022b1d
mov esi, dword [esp + 0x28]
test esi, esi
je 0x10023408
mov ecx, dword [esp + 0x10]
cmp dword [esi], ecx
jne 0x100230b6
mov dword [esi], eax
mov esi, dword [esp + 0x10]
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov ecx, dword [esp]
cmp dword [ecx], eax
jne 0x10023417
mov dword [ecx], 0
jmp 0x1002280a
and ecx, 0xfffffffe
mov eax, dword [ebx + 8]
and eax, 1
or eax, ecx
mov dword [ebx + 8], eax
jmp 0x10022d1b
and ebx, 1
mov edi, dword [edx + 4]
and edi, 0xfffffffe
or edi, ebx
mov dword [edx + 4], edi
and byte [esi + 4], 0xfe
mov esi, dword [ecx + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x10023351
mov edi, dword [edx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [ecx + 4], esi
mov dword [edx], ecx
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
mov ebx, dword [esp]
jne 0x10022799
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, ebx
seta cl
jb 0x100230ac
mov al, cl
jmp 0x10022b4c
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [edi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x100233c6
mov esi, dword [ecx + 4]
test esi, esi
je 0x10022ff3
mov eax, dword [esi + 8]
test al, 1
jne 0x1002320a
or edx, 1
mov dword [edi + 8], edx
mov eax, dword [ecx + 4]
or eax, 1
mov dword [edi + 8], eax
mov dword [ecx + 4], edi
mov esi, ecx
cmp dword [ebx + 4], edi
jne 0x10023420
mov dword [ebx + 4], esi
mov edi, esi
xor edx, edx
dec edx
jmp 0x100228ff
mov eax, dword [edi + 4]
test eax, eax
je 0x10023435
test byte [eax + 8], 1
je 0x100230cb
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, edi
call fcn.100329e0
mov eax, dword [esi]
lea edi, [esp + 0x70]
mov dword [edi + 4], eax
jmp 0x100228f9
xor edx, edx
test edi, edi
je 0x10023094
mov ecx, dword [edi + 8]
cmp ecx, 1
ja 0x10023257
mov eax, dword [edi + 4]
test eax, eax
je 0x10023094
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [edi + 4], ecx
mov ecx, edi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [edi + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x38], edx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
jmp 0x10022d3a
mov ecx, dword [ebx]
xor eax, eax
dec eax
jmp 0x10022b52
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x10022ef7
or ecx, 1
mov dword [edi + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x100230e4
mov edx, dword [ecx + 8]
test dl, 1
jne 0x100231b1
or byte [eax + 8], 1
mov ecx, dword [edi + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002344a
mov edx, dword [eax + 4]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [edi + 8], ecx
mov dword [eax + 4], edi
jmp 0x10023041
mov dword [ebx + 4], eax
jmp 0x100229ab
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov ecx, dword [eax + 4]
mov esi, ecx
or esi, 1
mov dword [eax + 4], esi
and ecx, 0xfffffffe
je 0x100232f1
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
mov edi, dword [esp + 0x24]
jmp 0x10022719
cmp dword [esp], 0
je 0x10023468
mov eax, dword [esp + 0x20]
mov ecx, dword [esp]
cmp dword [ecx + 4], eax
jne 0x10023263
mov eax, dword [esp]
mov dword [eax + 4], edi
cmp dword [esp + 0x20], 0
je 0x10023483
test edi, edi
je 0x10023499
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx + 8]
and eax, 0xfffffffe
mov ecx, dword [edi + 8]
and ecx, 1
or ecx, eax
mov dword [edi + 8], ecx
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edi + 8], ecx
cmp dword [ebx + 4], edi
jne 0x100234a8
mov dword [ebx + 4], 0
jmp 0x10022d1b
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x100234b1
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [edi + 4], ecx
mov ecx, edi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [edi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x100234c7
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
and edx, 1
or edx, esi
mov dword [edi + 8], edx
mov dword [ecx + 4], edi
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x10023041
and eax, 0xfffffffe
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
and eax, 1
or eax, ecx
mov dword [esi + 8], eax
and esi, 0xfffffffe
mov ecx, dword [edi + 8]
and ecx, 1
lea eax, [ecx + esi]
mov dword [edi + 8], eax
test esi, esi
je 0x100233db
mov eax, dword [esi + 4]
and eax, 0xfffffffe
or eax, ecx
mov dword [edi + 8], eax
mov dword [esi + 4], edi
mov ecx, dword [edi + 8]
and ecx, 0xfffffffe
je 0x1002324f
mov eax, dword [ecx + 8]
test al, 1
jne 0x1002327b
mov dword [edi + 8], ecx
jmp 0x10023007
lea eax, [esp + 0x70]
mov dword [esp], eax
jmp 0x100228d9
mov eax, edi
and eax, 0xfffffffe
mov edx, dword [esp]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x10023163
and eax, 0xfffffffe
mov dword [ecx + 8], eax
mov ecx, dword [edi + 8]
mov eax, ecx
or eax, 1
mov dword [edi + 8], eax
and ecx, 0xfffffffe
je 0x100233ea
mov eax, dword [ecx + 4]
or eax, 1
mov dword [edi + 8], eax
mov dword [ecx + 4], edi
mov dword [esi + 4], ecx
jmp 0x10023007
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
and ebx, 1
mov dword [ecx + 4], ebx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10022642
or edx, 1
mov dword [edi + 8], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
and dword [ecx + 4], 1
jmp 0x1002280a
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 8]
and ecx, 1
or ecx, eax
mov dword [ebx + 8], ecx
jmp 0x10023013
or ecx, 1
mov dword [edi + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test edi, edi
je 0x10023499
mov dword [edi + 4], 0
and dword [edi + 8], 1
xor ecx, ecx
jmp 0x10023199
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
and dword [ebx + 8], 1
jmp 0x10022d1b
mov dword [edi + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, ecx
and edx, 0xfffff000
mov ebx, esi
mov esi, dword [esi + 8]
mov eax, 0xfffff000
and esi, eax
xor eax, eax
cmp edx, esi
seta al
mov edx, 0xffffffff
cmovb eax, edx
test eax, eax
je 0x10023529
cmp eax, 0xffffffff
mov edx, ebx
jne 0x10023547
mov esi, dword [edx]
test esi, esi
je 0x10023d89
mov eax, dword [esi + 4]
test al, 1
jne 0x10023561
mov ecx, dword [esi]
test ecx, ecx
je 0x10023580
test byte [ecx + 4], 1
jne 0x10023561
jmp 0x10023580
mov edx, dword [esp + 0x14]
test cl, 0x10
jne 0x10024128
xor eax, eax
mov ecx, ebx
cmp edx, ebx
mov edx, ebx
seta cl
jb 0x1002350a
mov al, cl
jmp 0x10023503
test eax, eax
je 0x1002356a
mov ecx, dword [edx + 4]
mov esi, ecx
and esi, 0xfffffffe
je 0x100235cd
mov eax, dword [esi]
test eax, eax
je 0x100235cd
test byte [eax + 4], 1
je 0x100235cd
mov dword [esp + 4], edx
jmp 0x100234d6
mov ecx, dword [edx + 4]
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
cmp ecx, 1
jbe 0x100236ad
jmp 0x1002354e
or eax, 1
mov dword [esi + 4], eax
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x10024113
mov esi, dword [eax]
test esi, esi
je 0x100235a6
mov edx, dword [esi + 4]
test dl, 1
jne 0x10023ac6
or ecx, 1
mov edx, ebx
mov dword [ebx + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov esi, eax
mov ebx, dword [esp + 4]
cmp dword [ebx], edx
jne 0x10024213
mov dword [ebx], esi
jmp 0x100234d6
mov edx, dword [edx]
test edx, edx
je 0x100241d1
mov eax, dword [edx + 4]
test al, 1
je 0x10023676
and eax, 0xfffffffe
je 0x1002412f
mov edi, dword [eax]
test edi, edi
je 0x100235fb
test byte [edi + 4], 1
jne 0x10023cde
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
or byte [eax + 4], 1
mov esi, dword [ebx]
test esi, esi
je 0x1002419e
mov eax, dword [esi + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x100241b3
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
or byte [ebx + 4], 1
mov edx, dword [esp + 4]
cmp dword [edx], ebx
je 0x1002051a
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x10023561
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [edx]
test eax, eax
je 0x1002368e
mov ecx, dword [eax + 4]
test cl, 1
jne 0x10023a71
mov eax, dword [ebx + 4]
mov esi, eax
and esi, 0xfffffffe
je 0x100241e0
mov ecx, dword [esi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
mov dword [esi], ebx
jmp 0x10023655
mov ecx, dword [edx]
test ecx, ecx
je 0x100236e0
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
mov edx, ebx
or byte [ebx + 4], 1
and dword [ecx + 4], 1
mov ebx, dword [esp + 4]
cmp dword [ebx], edx
mov esi, dword [esp + 0xc]
jne 0x100239f8
mov dword [ebx], ecx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp]
mov edx, dword [esp + 0x20]
shr edx, 0xc
mov dword [esi + 0x58], ecx
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], eax
cmp edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
jne 0x100237b3
cmp dword [esp + 0x34], 0
je 0x1002375d
xor eax, eax
inc eax
mov edx, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 2
cmovae eax, ecx
shl eax, 2
lea eax, [eax + eax*2]
lea ecx, [edx + edx*2]
lea ecx, [ebx + ecx*4]
add ecx, 0x18
xor edx, edx
test byte [ecx + edx], 8
je 0x1002374f
dec dword [ebx + 0xc]
dec dword [esi + 0x48]
mov dword [ecx + edx], 3
add edx, 0xc
cmp eax, edx
jne 0x10023743
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
or dword [ecx], eax
cmp dword [ebx + 0xc], 0
jne 0x10023778
cmp dword [esp + 0x38], 0
jne 0x10023a0b
test byte [esp + 0x2c], 1
je 0x10023cb7
cmp dword [esp + 8], 0
je 0x10023cb7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
add dword [eax + 0x34], ecx
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x18], 0
jne 0x1001ff49
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x1001ff49
mov eax, edx
mov edx, ecx
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
shl ecx, 0xc
add eax, edx
lea edi, [eax + eax*2]
lea eax, [ebx + edi*4]
add eax, 0x10
mov edx, 0xfff
mov esi, dword [eax + 8]
and esi, edx
or esi, ecx
mov dword [esp + 0x20], eax
mov dword [eax + 8], esi
mov eax, dword [esp + 4]
lea esi, [eax + eax*2]
and edx, dword [ebx + esi*4 + 0xc]
or edx, ecx
mov dword [ebx + esi*4 + 0xc], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x10023d44
lea eax, [ebx + edi*4]
add eax, 0x18
mov dword [esp + 0x14], eax
lea esi, [esp + 0x70]
xor edi, edi
mov edx, esi
mov dword [esp + 4], edx
mov esi, dword [ecx]
test esi, esi
je 0x10023841
mov eax, dword [esi + 4]
test al, 1
je 0x10023841
mov ebx, dword [esi]
test ebx, ebx
je 0x10023841
test byte [ebx + 4], 1
jne 0x100238ad
mov esi, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov edx, eax
and edx, 0xfffff000
mov ebx, dword [esi + 8]
mov ecx, 0xfffff000
and ebx, ecx
xor ecx, ecx
cmp edx, ebx
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
cmp ecx, 0xffffffff
je 0x10023888
test ecx, ecx
jne 0x1002389d
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, esi
seta cl
jae 0x100238df
mov ecx, dword [esi]
xor eax, eax
dec eax
mov ebx, dword [esp]
mov edi, dword [esp + 4]
test ecx, ecx
jne 0x10023822
jmp 0x10023970
mov eax, 1
mov ebx, dword [esp]
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
jmp 0x10023890
and eax, 0xfffffffe
mov dword [ecx], eax
mov ebx, ecx
and ebx, 0xfffffffe
mov eax, dword [esi]
mov edx, dword [esi + 4]
and edx, 1
or edx, ebx
mov dword [esi + 4], edx
test eax, eax
je 0x10024180
and byte [eax + 4], 0xfe
mov edx, dword [esp + 4]
cmp dword [edx], ecx
jne 0x100238e3
mov dword [edx], esi
jmp 0x10023843
mov al, cl
jmp 0x100238a2
and esi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + esi]
mov dword [edx + 4], ecx
test esi, esi
je 0x1002418f
mov ecx, dword [esi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 4], ecx
mov dword [esi], edx
mov eax, dword [edx + 4]
and eax, 1
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
or byte [edx + 4], 1
test edi, edi
je 0x10024153
cmp dword [edi], edx
je 0x10023d72
jmp 0x10023d79
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov ebx, dword [esi + 8]
and ebx, ecx
xor ecx, ecx
cmp edx, ebx
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x10023d5e
jmp 0x10023df5
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov edx, esi
test ecx, ecx
jne 0x10023824
mov ecx, dword [esp + 0x20]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x100239a8
mov dword [esi], ecx
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10024228
and byte [eax + 4], 0xfe
mov dword [esi + 0x58], eax
jmp 0x1002371c
mov eax, dword [esi + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x20]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov eax, dword [esi + 4]
and eax, 1
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x20]
or byte [esi + 4], 1
cmp dword [edi], esi
jne 0x10023b17
mov dword [edi], eax
jmp 0x10023988
and ecx, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
jmp 0x100236f2
mov esi, dword [esi + 0x38]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
xor edx, edx
dec edx
xor eax, eax
cmp esi, ebx
setb al
cmova eax, edx
cmp eax, 0xffffffff
je 0x10023b3e
test eax, eax
je 0x10023ead
test esi, esi
je 0x10024144
mov ecx, dword [esi + 8]
xor ebx, ebx
mov eax, ecx
and eax, 0xfffffffe
mov dword [esp + 0x18], ebx
je 0x10023e7d
mov edx, dword [eax + 4]
test edx, edx
je 0x10023e7d
test byte [edx + 8], 1
je 0x10023e7d
xor edx, edx
dec edx
jmp 0x10023b63
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov esi, dword [ebx]
test esi, esi
je 0x100241ef
mov eax, dword [esi + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x10024204
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10023655
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
and esi, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
lea ecx, [eax + esi]
mov dword [ebx + 4], ecx
test esi, esi
je 0x10024171
mov edx, ebx
mov ecx, dword [esi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov dword [esi], ebx
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
je 0x10023b0f
mov ecx, dword [eax + 4]
test cl, 1
jne 0x10023f11
mov dword [edx + 4], eax
jmp 0x100235ba
mov eax, dword [edi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp esi, ecx
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jne 0x10023990
and eax, 1
or eax, dword [esp + 0x20]
mov dword [edi + 4], eax
jmp 0x10023990
test esi, esi
je 0x10023e29
mov eax, dword [esi + 4]
test eax, eax
je 0x10023e29
test byte [eax + 8], 1
je 0x10023e18
mov dword [esp + 0x18], 0
mov ebx, esi
mov esi, eax
xor eax, eax
cmp esi, dword [esp]
setb al
cmova eax, edx
cmp eax, 0xffffffff
jne 0x10023ba6
test esi, esi
je 0x10023fef
mov eax, dword [esi + 4]
test eax, eax
je 0x10023fef
mov ecx, dword [eax + 8]
test cl, 1
jne 0x10023b63
mov edx, dword [eax + 4]
test edx, edx
je 0x10023bf4
test byte [edx + 8], 1
je 0x10023bf4
mov ebx, esi
xor edx, edx
dec edx
jmp 0x10023b65
test eax, eax
jne 0x10023bc6
xor ecx, ecx
test esi, esi
je 0x10023c79
mov eax, dword [esi + 8]
mov dword [esp + 0x18], ebx
cmp eax, 1
jbe 0x10023c44
jmp 0x10023bd1
test esi, esi
je 0x10023e4e
mov eax, dword [esi + 8]
and eax, 0xfffffffe
je 0x10023e4e
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10023e4e
test byte [ecx + 8], 1
jne 0x10023b63
jmp 0x10023e4e
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [esi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x10024255
mov edi, dword [ecx + 4]
test edi, edi
je 0x10023c1a
mov eax, dword [edi + 8]
test al, 1
jne 0x10023f9e
or edx, 1
mov dword [esi + 8], edx
mov eax, dword [ecx + 4]
or eax, 1
mov dword [esi + 8], eax
mov dword [ecx + 4], esi
mov edi, ecx
cmp dword [ebx + 4], esi
jne 0x10024291
mov dword [ebx + 4], edi
mov esi, edi
xor edx, edx
dec edx
jmp 0x10023b67
mov eax, dword [esi + 4]
test eax, eax
je 0x10023c79
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [esi + 8], 1
and dword [eax + 8], 1
mov ecx, eax
cmp dword [ebx + 4], esi
jne 0x10023de2
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x38], eax
mov ecx, dword [esp]
test ecx, ecx
mov edx, dword [esp + 0x2c]
je 0x1002426a
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
cmp dword [esp + 8], 0
setne al
test dl, al
jne 0x1002378e
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x18], 0
je 0x10024106
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
mov dword [esp + 8], 0
jmp 0x1001ff54
and ecx, 1
mov esi, dword [eax + 4]
and esi, 0xfffffffe
or esi, ecx
mov dword [eax + 4], esi
and byte [edi + 4], 0xfe
mov eax, dword [edx + 4]
mov esi, eax
and esi, 0xfffffffe
je 0x100241c2
mov ecx, dword [esi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov dword [esi], edx
mov dword [ebx], esi
mov eax, dword [esi + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x10023637
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov ecx, dword [esp + 0x20]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea esi, [esp + 0x70]
jmp 0x10023986
xor eax, eax
inc eax
cmp ecx, 0xffffffff
mov ebx, dword [esp]
jne 0x10023960
jmp 0x10023f07
mov dword [edi], esi
jmp 0x10023930
mov eax, dword [edi + 4]
and eax, 1
or eax, esi
mov dword [edi + 4], eax
jmp 0x10023930
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10024279
mov eax, dword [esp + 0x14]
cmp dword [ecx], eax
mov esi, dword [esp + 0xc]
jne 0x10023f3e
mov dword [ecx], edx
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx]
mov dword [edx], eax
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 4]
cmp dword [eax], edx
jne 0x10024288
mov dword [eax], 0
jmp 0x100236f2
and ecx, 0xfffffffe
mov eax, dword [ebx + 8]
and eax, 1
or eax, ecx
mov dword [ebx + 8], eax
jmp 0x10023c85
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, esi
seta cl
mov ebx, dword [esp]
jb 0x10023f07
mov al, cl
jmp 0x10023960
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10023e29
test byte [ecx + 8], 1
jne 0x10023b5b
lea edi, [esp + 0x58]
mov ecx, edi
mov edx, esi
call fcn.10001630
mov eax, dword [edi]
test eax, eax
je 0x100242ca
and byte [eax + 8], 0xfe
mov dword [esp + 0x18], 0
jmp 0x10023ea1
lea ecx, [esp + 0x6c]
mov edx, esi
call fcn.100329e0
mov eax, dword [esp + 0x6c]
cmp dword [ebx + 4], esi
je 0x10023f96
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [ebx + 8], edx
mov esi, ebx
jmp 0x10023a69
mov eax, dword [esi + 4]
test eax, eax
je 0x100242a6
test byte [eax + 8], 1
je 0x10023f55
lea edi, [esp + 0x58]
mov ecx, edi
mov edx, esi
call fcn.100329e0
mov eax, dword [edi]
lea esi, [esp + 0x70]
mov dword [esi + 4], eax
jmp 0x10023a69
xor edx, edx
test esi, esi
je 0x10023ef4
mov ecx, dword [esi + 8]
cmp ecx, 1
ja 0x100240b6
mov eax, dword [esi + 4]
test eax, eax
je 0x10023ef4
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [esi + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x38], edx
mov ecx, dword [esp]
mov edx, dword [esp + 0x2c]
jmp 0x10023c9f
mov ecx, dword [esi]
xor eax, eax
dec eax
jmp 0x10023966
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [edx + 4]
mov ecx, eax
or ecx, 1
mov dword [edx + 4], ecx
and eax, 0xfffffffe
je 0x10024162
mov ecx, dword [eax]
or ecx, 1
mov edx, ebx
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov dword [esi], eax
jmp 0x100235ba
mov eax, edx
and eax, 0xfffffffe
mov ebx, ecx
mov ecx, dword [ecx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x10023da7
or ecx, 1
mov dword [esi + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10023f6e
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002405d
or byte [eax + 8], 1
mov ecx, dword [esi + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x100242bb
mov edx, dword [eax + 4]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 8], ecx
mov dword [eax + 4], esi
jmp 0x10023ea1
mov dword [ebx + 4], eax
jmp 0x10023e76
and eax, 0xfffffffe
mov dword [ecx + 4], eax
mov eax, dword [edi + 8]
and eax, 1
or eax, ecx
mov dword [edi + 8], eax
and edi, 0xfffffffe
mov ecx, dword [esi + 8]
and ecx, 1
lea eax, [ecx + edi]
mov dword [esi + 8], eax
test edi, edi
je 0x10024246
mov eax, dword [edi + 4]
and eax, 0xfffffffe
or eax, ecx
mov dword [esi + 8], eax
mov dword [edi + 4], esi
mov ecx, dword [esi + 8]
and ecx, 0xfffffffe
je 0x10023fe7
mov eax, dword [ecx + 8]
test al, 1
jne 0x100240d8
mov dword [esi + 8], ecx
jmp 0x10023c2e
cmp dword [esp + 0x18], 0
je 0x100242d9
mov eax, dword [esp]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], eax
jne 0x100240bf
mov eax, dword [esp + 0x18]
mov dword [eax + 4], esi
cmp dword [esp], 0
je 0x100242f3
test esi, esi
je 0x10024309
mov edx, dword [esp]
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
and eax, 0xfffffffe
mov ecx, dword [esi + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
cmp dword [ebx + 4], esi
jne 0x10024318
mov dword [ebx + 4], 0
jmp 0x10023c85
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [esi + 4]
test eax, eax
je 0x10024321
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x10024337
mov ebx, dword [ecx + 4]
and ebx, 0xfffffffe
and edx, 1
or edx, ebx
mov dword [esi + 8], edx
mov dword [ecx + 4], esi
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x10023ea1
lea ebx, [esp + 0x70]
jmp 0x10023a45
mov eax, esi
and eax, 0xfffffffe
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x10024011
and eax, 0xfffffffe
mov dword [ecx + 8], eax
mov ecx, dword [esi + 8]
mov eax, ecx
or eax, 1
mov dword [esi + 8], eax
and ecx, 0xfffffffe
je 0x10024237
mov eax, dword [ecx + 4]
or eax, 1
mov dword [esi + 8], eax
mov dword [ecx + 4], esi
mov dword [edi + 4], ecx
jmp 0x10023c2e
mov dword [esp + 8], 0
jmp 0x100237a7
or ecx, 1
mov dword [ebx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
xor edx, edx
jmp 0x10023536
and ecx, 1
mov dword [edx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [ebx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [ebx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x100234d6
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
or edx, 1
mov dword [esi + 8], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
and dword [eax + 4], 1
jmp 0x100236f2
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [ebx + 8]
and ecx, 1
or ecx, eax
mov dword [ebx + 8], ecx
jmp 0x10023c3a
or ecx, 1
mov dword [esi + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002178f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test esi, esi
je 0x10024309
mov dword [esi + 4], 0
and dword [esi + 8], 1
xor ecx, ecx
jmp 0x10024045
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea
and dword [ebx + 8], 1
jmp 0x10023c85
mov dword [esi + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002262c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x100220ea