Function at 0x100274e0
Capabilities:
Get system information on windows
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x1009a00c]
xor eax, ebp
mov dword [esp + 0xb0], eax
test ebx, ebx
je 0x1002d1b4
mov eax, dword [0x1009a804]
test ecx, ecx
je 0x10027613
test eax, eax
je 0x1002d1be
mov edi, ecx
and edi, 0xfff00000
cmp edi, ecx
mov dword [esp + 8], edi
je 0x1002c516
mov eax, ecx
shr eax, 0xc
movzx eax, al
lea eax, [eax + eax*2]
mov eax, dword [edi + eax*4 + 0x18]
mov edx, eax
and edx, 0xfffff000
test al, 2
jne 0x10027554
mov eax, dword [edx]
mov edx, dword [eax + 8]
cmp edx, 0xfd000
ja 0x1002c54e
mov eax, dword [edi]
mov dword [esp + 0x10], eax
cmp ebx, 0xfd000
ja 0x1002c057
cmp ebx, 8
jbe 0x1002837b
mov edi, ebx
cmp ebx, 0x1f0
ja 0x10027703
add ebx, 0xf
and ebx, 0xfffffff0
xor eax, eax
cmp ebx, edx
sete cl
cmp edx, 0xfd001
jae 0x10029c77
test cl, cl
jne 0x10027a82
lea ecx, [edx - 0xf01]
cmp ecx, 0xfc100
setae cl
xor al, 1
or al, cl
mov dword [esp + 0x1c], edx
je 0x10027e3e
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x3d], 0
mov ebx, edi
jne 0x100277ae
cmp ebx, 0x1f1
jae 0x100277a8
mov eax, dword [0x1009a3c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x100277ba
lea eax, [eax + 8]
mov ecx, dword [0x1009a744]
mov dword [eax], ecx
jmp 0x100277ba
test eax, eax
je 0x1002cd90
cmp ebx, 0x1f0
ja 0x10029057
mov eax, dword [0x1009a3c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 8]
test edi, edi
je 0x1002d227
cmp ebx, 9
jb 0x100283e8
add ebx, 0xf
mov eax, ebx
and eax, 0xfffffff0
mov dword [esp + 0x2c], eax
shr ebx, 4
shl ebx, 5
lea esi, [edi + ebx]
add esi, 0x58
cmp byte [edi + 0x3c], 0
mov dword [esp + 0x10], edi
je 0x10027679
cmp dword [edi + 0x40], 0
je 0x1002cce1
lea eax, [edi + 0xc]
mov dword [esp + 0x20], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esi]
test edx, edx
je 0x10027c5a
cmp dword [edx + 8], 0
je 0x10027c5a
mov eax, dword [edx + 4]
mov dword [esp + 8], edx
mov edx, dword [edx + eax*4 + 0xc]
test edx, edx
je 0x10027dce
mov esi, dword [edi + 0x40]
test esi, esi
jne 0x10027720
tzcnt edi, edx
mov esi, eax
shl esi, 5
or esi, edi
btc edx, edi
mov ecx, dword [esp + 0x10]
imul esi, dword [ecx + ebx + 0x60]
mov edi, ebx
mov ebx, eax
mov eax, dword [ecx + edi + 0x6c]
mov edi, dword [esp + 8]
mov dword [edi + ebx*4 + 0xc], edx
mov edx, edi
add eax, edi
add esi, eax
dec dword [edx + 8]
test esi, esi
je 0x1002b5f3
mov eax, dword [esp + 0x2c]
add dword [ecx + 0x2c], eax
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100279dc
cmp ebx, 0xf00
ja 0x10027795
add ebx, 0xff
and ebx, 0xffffff00
jmp 0x1002758f
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebx
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov edi, eax
shld edi, ecx, 0x17
mov ebx, ecx
shl ebx, 0x17
xor ebx, ecx
mov ecx, dword [esi + 0xc]
xor edi, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, edi
mov dword [esp + 0x1c], edi
shr edi, 0x11
xor edi, eax
mov eax, dword [esi + 8]
mov dword [esi + 4], ecx
shld dword [esp + 0x1c], ebx, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, ebx
xor ecx, dword [esp + 0x1c]
mov dword [esi], eax
mov dword [esi + 0xc], edi
mov dword [esi + 8], ecx
add ecx, eax
mov esi, edx
ror esi, cl
test esi, esi
je 0x10027b91
tzcnt edi, esi
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0xc]
add edi, ecx
and edi, 0x1f
jmp 0x100276b9
add ebx, 0xfff
and ebx, 0x1ff000
mov al, 1
jmp 0x10027591
mov ecx, dword [0x1009a744]
cmp ebx, 0xf00
ja 0x10027a6f
cmp ebx, 9
mov dword [esp + 0x2c], ecx
jb 0x100283a9
cmp ebx, 0x1f1
jae 0x10027d2a
lea edi, [ebx + 0xf]
mov eax, edi
and eax, 0xfffffff0
mov dword [esp + 0x24], eax
shr edi, 4
shl edi, 5
lea eax, [ecx + edi]
add eax, 0x58
mov dword [esp + 0x20], eax
cmp byte [ecx + 0x3c], 0
mov dword [esp + 0x18], edi
je 0x10027803
cmp dword [ecx + 0x40], 0
je 0x1002cc60
lea eax, [ecx + 0xc]
mov dword [esp + 0x14], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
test edx, edx
mov dword [esp + 4], ebx
je 0x10027b9b
cmp dword [edx + 8], 0
je 0x10027b9b
mov ebx, dword [edx + 4]
mov dword [esp + 0xc], edx
mov esi, dword [edx + ebx*4 + 0xc]
test esi, esi
je 0x10027d46
mov edi, dword [ecx + 0x40]
test edi, edi
jne 0x100279fe
tzcnt edi, esi
mov eax, ebx
shl eax, 5
or eax, edi
btc esi, edi
mov edi, eax
mov eax, dword [esp + 0x18]
imul edi, dword [ecx + eax + 0x60]
mov eax, dword [ecx + eax + 0x6c]
mov edx, dword [esp + 0xc]
mov dword [edx + ebx*4 + 0xc], esi
add eax, edx
add edi, eax
mov ebx, dword [esp + 4]
dec dword [edx + 8]
test edi, edi
je 0x1002b4f0
mov eax, dword [esp + 0x24]
add dword [ecx + 0x2c], eax
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
mov eax, dword [esp + 0x1c]
je 0x1002b5fd
cmp eax, ebx
cmovb ebx, eax
push ebx
mov ebx, dword [ebp + 8]
push ebx
mov dword [esp + 0x28], edi
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, ebx
and edi, 0xfffff
je 0x1002ca4c
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
cmp dword [eax], ecx
jne 0x1002d1d3
mov esi, edi
shr esi, 0xc
lea ecx, [esi + esi*2]
lea edx, [eax + ecx*4]
add edx, 0x18
mov dword [esp + 4], edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + ecx*4 + 0x18]
mov eax, ecx
and eax, 0xfffff000
test cl, 2
jne 0x10027904
mov eax, dword [eax]
mov eax, dword [eax + 8]
push eax
push 0xe5
push dword [ebp + 8]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x10]
lea ebx, [eax + 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 4]
mov eax, dword [eax]
test al, 0x20
jne 0x1002d1e8
mov dword [esp + 0x2c], ebx
test al, 1
je 0x1002d1fd
mov ebx, eax
and ebx, 0xfffff000
test al, 2
jne 0x10027fcc
mov edi, dword [ebx]
mov ecx, dword [edi + 8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0x14]
add ecx, ebx
mov esi, dword [ebp + 8]
sub esi, ecx
mov dword [esp + 4], edi
movzx edx, word [edi + 0x1c]
imul edx, esi
mov ecx, edx
shr ecx, 0x11
shr edx, 0x16
cmp edx, dword [ebx + 4]
jb 0x10027efb
mov esi, dword [ebx + edx*4 + 0xc]
mov edi, 1
shl edi, cl
bt esi, ecx
jb 0x1002d212
or esi, edi
mov dword [ebx + edx*4 + 0xc], esi
mov ecx, dword [ebx + 8]
lea edx, [ecx + 1]
mov dword [ebx + 8], edx
mov esi, dword [esp + 4]
cmp edx, dword [esi + 0xc]
mov edx, esi
je 0x1002856b
xor esi, esi
test ecx, ecx
mov edi, dword [esp + 0x20]
je 0x10027a92
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
sub dword [eax + 0x2c], ecx
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
jne 0x1002c1c4
mov esi, edi
mov eax, esi
test esi, esi
je 0x1002b5fd
mov ecx, dword [esp + 0xb0]
xor ecx, ebp
call fcn.100468e0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x34], ebx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov ebx, eax
shld ebx, ecx, 0x17
mov edx, ecx
shl edx, 0x17
xor edx, ecx
mov ecx, dword [edi + 0xc]
xor ebx, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, ebx
mov dword [esp + 0x20], ebx
shr ebx, 0x11
xor ebx, eax
mov eax, dword [edi + 8]
mov dword [edi + 4], ecx
shld dword [esp + 0x20], edx, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, edx
xor ecx, dword [esp + 0x20]
mov dword [edi], eax
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ecx
add ecx, eax
mov eax, esi
ror eax, cl
test eax, eax
je 0x10027b87
tzcnt edi, eax
mov ebx, dword [esp + 0x34]
add edi, ecx
and edi, 0x1f
mov ecx, dword [esp + 0x2c]
jmp 0x10027853
mov edx, ebx
push 0
call fcn.1001acc0
add esp, 4
mov edi, eax
jmp 0x10027898
sub edx, edi
ja 0x10028fef
mov esi, dword [ebp + 8]
jmp 0x100279dc
mov ecx, dword [edx]
cmp ecx, ebx
je 0x100279bc
test ecx, ecx
je 0x1002929f
cmp ebx, ecx
jae 0x10027f03
cmp dword [ecx + 8], 0
je 0x1002929f
mov eax, ecx
and eax, 0xfff00000
shr ecx, 0xa
and ecx, 0x3fc
lea ecx, [ecx + ecx*2]
or ecx, eax
add ecx, 0x10
mov dword [esp + 0xc], ecx
mov eax, dword [edx + 4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
test eax, eax
je 0x10028c68
lea ecx, [esp + 0x88]
mov dword [esp + 8], 0
mov edx, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 8], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x10027b3e
mov edx, dword [ecx + 4]
test dl, 1
je 0x10027b3e
mov edi, dword [ecx]
test edi, edi
je 0x10027b24
test byte [edi + 4], 1
jne 0x10027b4a
mov ecx, eax
mov edi, dword [esp + 0x20]
cmp ecx, dword [esp + 0xc]
seta dl
jbe 0x10027b42
mov eax, dword [ecx]
test eax, eax
jne 0x10027afe
jmp 0x10029212
mov ecx, eax
jmp 0x10027b2a
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
jmp 0x10027b35
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov dword [esp + 0x14], edx
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
and edi, 1
add edi, dword [esp + 0x14]
mov dword [ecx + 4], edi
test edx, edx
je 0x1002d2a3
and byte [edx + 4], 0xfe
mov edx, dword [esp + 8]
cmp dword [edx], eax
mov edi, dword [esp + 0x20]
jne 0x10029183
mov dword [edx], ecx
jmp 0x10027b2a
mov edi, 0x20
jmp 0x10027a5d
mov edi, 0x20
jmp 0x10027783
mov eax, dword [ecx + edi + 0x5c]
test eax, eax
je 0x1002960b
add ecx, edi
add ecx, 0x5c
mov dword [esp + 0x34], ecx
mov ecx, eax
mov edi, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10027bb2
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
xor edx, edx
dec edx
xor ecx, ecx
cmp eax, edi
setb cl
cmova ecx, edx
cmp ecx, 0xffffffff
jne 0x100287a6
mov edx, dword [eax]
test edx, edx
je 0x1002d34e
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], 0
test cl, 1
jne 0x1002dfdf
mov esi, dword [edx]
test esi, esi
je 0x10027c10
test byte [esi + 4], 1
jne 0x1002dfdf
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002cfc8
mov edx, dword [ecx]
test edx, edx
je 0x10027c36
mov ebx, dword [edx + 4]
test bl, 1
jne 0x10029e26
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 + 0x88]
mov dword [eax], edx
jmp 0x1002dfdf
mov eax, dword [edi + ebx + 0x5c]
test eax, eax
mov dword [esp + 0xc], esi
je 0x1002966c
lea ecx, [edi + ebx]
add ecx, 0x5c
mov dword [esp + 0x18], ecx
mov ecx, eax
mov esi, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10027c76
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
xor edx, edx
dec edx
xor ecx, ecx
cmp eax, esi
setb cl
cmova ecx, edx
cmp ecx, 0xffffffff
mov dword [esp + 0x1c], esi
jne 0x100287d0
mov esi, dword [eax]
test esi, esi
je 0x1002d35d
mov ecx, dword [esi + 4]
mov dword [esp + 0x14], 0
test cl, 1
jne 0x1002e56f
mov edi, dword [esi]
test edi, edi
je 0x10027cd8
test byte [edi + 4], 1
jne 0x1002e56f
mov dword [esp + 4], ebx
or ecx, 1
mov dword [esi + 4], ecx
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002cfdd
mov esi, dword [ecx]
test esi, esi
je 0x10027d02
mov ebx, dword [esi + 4]
test bl, 1
jne 0x10029e9c
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
and byte [esi + 4], 0xfe
lea eax, [esp + 0x88]
mov dword [eax], esi
mov ebx, dword [esp + 4]
jmp 0x1002e56f
lea edi, [ebx + 0xff]
mov eax, edi
and eax, 0x1f00
mov dword [esp + 0x24], eax
shr edi, 8
add edi, 0x1e
jmp 0x100277e2
mov ecx, dword [ecx + edi + 0x68]
mov esi, ebx
mov eax, ebx
shl eax, 5
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
inc esi
cmp esi, ecx
jae 0x1002d39f
mov edi, dword [edx + esi*4 + 0xc]
add eax, 0x20
test edi, edi
je 0x10027d59
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x40]
test edi, edi
jne 0x10028432
mov esi, dword [esp + 0x28]
tzcnt eax, esi
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x20]
add edi, eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
imul edi, dword [edx + eax + 0x60]
mov eax, dword [edx + eax + 0x6c]
add eax, dword [esp + 0xc]
add edi, eax
mov eax, dword [esp + 0x28]
btc esi, eax
mov ecx, edx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov dword [edx + eax*4 + 0xc], esi
mov dword [edx + 4], eax
jmp 0x1002787c
mov ecx, dword [edi + ebx + 0x68]
mov dword [esp + 0xc], ecx
mov esi, eax
shl esi, 5
mov edx, dword [esp + 8]
inc eax
cmp eax, dword [esp + 0xc]
jae 0x1002d3a7
mov ecx, dword [edx + eax*4 + 0xc]
add esi, 0x20
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x10027ddf
mov dword [esp + 0xc], eax
mov edi, dword [edi + 0x40]
test edi, edi
jne 0x1002849d
mov edi, dword [esp + 0x1c]
tzcnt ecx, edi
mov dword [esp + 8], ecx
add esi, ecx
mov ecx, dword [esp + 0x10]
imul esi, dword [ecx + ebx + 0x60]
mov eax, dword [ecx + ebx + 0x6c]
add eax, edx
add esi, eax
mov eax, dword [esp + 8]
btc edi, eax
mov eax, dword [esp + 0xc]
mov dword [edx + eax*4 + 0xc], edi
mov dword [edx + 4], eax
jmp 0x100276e2
mov eax, ebx
sub eax, edx
mov dword [esp + 0x20], eax
jb 0x10028add
mov eax, dword [ebp + 8]
shr eax, 0xc
movzx eax, al
mov dword [esp + 0x2c], eax
mov esi, edx
shr esi, 0xc
mov eax, dword [esp + 0x10]
add eax, 0xc
mov dword [esp + 0xc], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, esi
mov eax, dword [esp + 0x2c]
add edx, eax
cmp edx, 0xfe
mov ecx, dword [esp + 8]
ja 0x10028423
lea esi, [edx + edx*2]
mov eax, dword [ecx + esi*4 + 0x18]
test al, 1
jne 0x10028423
and eax, 0xfffff000
cmp eax, dword [esp + 0x20]
jb 0x10028423
shl edx, 0xc
add edx, ecx
mov ecx, dword [esp + 0x10]
push dword [esp + 0x20]
call fcn.1002e9d0
mov ecx, dword [esp + 0xc]
add esp, 4
test al, al
je 0x10028423
or ebx, 3
mov eax, dword [esp + 0x2c]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4 + 0x18], ebx
lea eax, [ecx + esi*4]
add eax, 0x18
mov dword [eax], 3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
add dword [eax + 0x30], ecx
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10027a8a
mov dword [ebx + 4], edx
jmp 0x1002797c
mov ecx, dword [esp + 8]
sub eax, ecx
shr eax, 0xc
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
add eax, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
test eax, eax
je 0x10029008
lea ecx, [esp + 0x88]
mov dword [esp + 8], 0
mov ebx, dword [esp + 8]
mov dword [esp + 0x18], ebx
mov dword [esp + 8], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x10027f85
mov ebx, dword [ecx + 4]
test bl, 1
je 0x10027f85
mov edi, dword [ecx]
test edi, edi
je 0x10027f6b
test byte [edi + 4], 1
jne 0x10027f91
mov ecx, eax
mov edi, dword [esp + 0x20]
cmp ecx, dword [esp + 0xc]
seta bl
jbe 0x10027f89
mov eax, dword [ecx]
test eax, eax
jne 0x10027f45
jmp 0x1002945a
mov ecx, eax
jmp 0x10027f71
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
jmp 0x10027f7c
and ebx, 0xfffffffe
mov dword [eax], ebx
mov edi, eax
and edi, 0xfffffffe
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
and edx, 1
or edx, edi
mov dword [ecx + 4], edx
test ebx, ebx
je 0x1002d303
and byte [ebx + 4], 0xfe
mov ebx, dword [esp + 8]
cmp dword [ebx], eax
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 4]
jne 0x100293dd
mov dword [ebx], ecx
jmp 0x10027f71
mov eax, dword [esp + 0x10]
sub dword [eax + 0x30], ebx
cmp edi, 0xff000
jae 0x1002d3eb
mov eax, dword [esp + 4]
mov eax, dword [eax]
test al, 2
mov ecx, dword [ebp + 8]
mov dword [esp + 0xc], esi
je 0x10028ac9
mov ecx, eax
and ecx, 0xfffff000
mov dword [esp + 0x18], ecx
shr eax, 0xc
test eax, eax
je 0x100280b7
lea ecx, [eax - 1]
movd xmm0, ecx
pshufd xmm0, xmm0, 0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1c]
lea ecx, [ecx + edx*4]
add ecx, 0x3c
lea edx, [eax*4 + 0xc]
and edx, 0xfffffff0
lea edx, [edx + edx*2]
movdqa xmm1, xmmword [0x10088110]
xor esi, esi
movdqa xmm2, xmmword [0x10088120]
pxor xmm0, xmm2
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x10088130]
movdqa xmm5, xmm1
pxor xmm5, xmm2
pcmpgtd xmm5, xmm0
movd ebx, xmm5
not ebx
test bl, 1
je 0x10028073
mov dword [ecx + esi - 0x24], 8
pxor xmm5, xmm3
pextrw ebx, xmm5, 2
test bl, 1
je 0x10028089
mov dword [ecx + esi - 0x18], 8
pextrw ebx, xmm5, 4
test bl, 1
je 0x1002809b
mov dword [ecx + esi - 0xc], 8
pextrw ebx, xmm5, 6
test bl, 1
je 0x100280ac
mov dword [ecx + esi], 8
paddd xmm1, xmm4
add esi, 0x30
cmp edx, esi
jne 0x10028054
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 8]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
mov esi, dword [esp + 0x10]
je 0x10028e8d
mov eax, dword [esp + 0x14]
add ecx, eax
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x10], esi
add dword [esi + 0x44], eax
mov edx, 0xfff
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
and ecx, edx
or ecx, dword [esp + 0x18]
mov esi, ebx
mov ebx, dword [esp + 4]
mov dword [ebx], ecx
add eax, dword [esp + 0xc]
lea ecx, [eax + eax*2]
and edx, dword [esi + ecx*4 + 0xc]
or edx, dword [esp + 0x18]
mov dword [esi + ecx*4 + 0xc], edx
cmp eax, 0xfe
ja 0x10029fca
mov eax, dword [esi + ecx*4 + 0x18]
test al, 1
je 0x10028818
mov ebx, dword [esp + 8]
cmp edi, 0x3000
jb 0x1002b073
mov eax, dword [esp + 0x1c]
mov eax, dword [ebx + eax*4 + 0xc]
test al, 1
mov esi, dword [esp + 0x10]
je 0x10028c85
mov eax, dword [esp + 0xc]
lea eax, [eax + eax*2]
lea ecx, [ebx + eax*4]
add ecx, 0x10
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x1002903a
lea eax, [ebx + eax*4]
add eax, 0x18
mov dword [esp + 4], eax
lea ebx, [esp + 0x88]
xor edi, edi
mov edx, edi
mov edi, ebx
mov ebx, dword [ecx]
test ebx, ebx
je 0x100281a7
mov eax, dword [ebx + 4]
test al, 1
je 0x100281a7
mov dword [esp + 0xc], edx
mov edx, dword [ebx]
test edx, edx
je 0x100281a7
test byte [edx + 4], 1
jne 0x10028211
mov ebx, ecx
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov edx, eax
and edx, 0xfffff000
mov esi, dword [ebx + 8]
mov ecx, 0xfffff000
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
cmp ecx, 0xffffffff
je 0x100281ee
test ecx, ecx
jne 0x10028200
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x1c]
xor eax, eax
cmp ecx, ebx
seta cl
jae 0x10028243
mov ecx, dword [ebx]
xor eax, eax
dec eax
mov esi, dword [esp + 0x10]
test ecx, ecx
jne 0x10028186
jmp 0x100282da
mov eax, 1
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x100281f7
and eax, 0xfffffffe
mov dword [ecx], eax
mov edx, ecx
and edx, 0xfffffffe
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
and esi, 1
or esi, edx
mov dword [ebx + 4], esi
test eax, eax
je 0x1002d2e5
and byte [eax + 4], 0xfe
cmp dword [edi], ecx
mov edx, dword [esp + 0xc]
jne 0x10028247
mov dword [edi], ebx
jmp 0x100281a9
mov al, cl
jmp 0x10028205
and ebx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [edi + 4], ecx
test ebx, ebx
je 0x1002d2f4
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov dword [ebx], edi
mov eax, dword [edi + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [edi + 4], 1
test edx, edx
je 0x1002cf9e
cmp dword [edx], edi
je 0x100292a6
jmp 0x10029340
mov eax, dword [esp + 4]
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 0x10029025
jmp 0x1002950c
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov edx, dword [esp + 0xc]
mov edi, ebx
test ecx, ecx
jne 0x1002818a
mov edi, edx
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x10028518
mov dword [ebx], ecx
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002d400
lea edx, [esi + 0x54]
and byte [eax + 4], 0xfe
mov dword [edx], eax
mov eax, 0xfffff001
and eax, dword [ecx + 0x30]
xor ebx, ebx
mov esi, 0
cmp eax, 0xfd000
mov edi, dword [esp + 0x20]
je 0x1002bc8f
mov ecx, dword [0x1009a754]
test ecx, ecx
je 0x10028357
setle al
movzx eax, al
mov edx, dword [esp + 0x10]
mov eax, dword [edx + eax*4 + 0x4c]
test eax, eax
cmovne ecx, eax
test ecx, ecx
js 0x1002b940
mov ebx, ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x48]
mov ecx, ebx
shl edx, cl
cmp dword [eax + 0x44], edx
mov ebx, dword [esp + 0x2c]
jbe 0x100279cb
mov ecx, eax
call fcn.10036c10
jmp 0x100279cb
mov eax, ebx
mov edi, ebx
dec eax
je 0x100287fa
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor ebx, ebx
inc ebx
shl ebx, cl
cmp ebx, 9
mov eax, 8
cmovb ebx, eax
cmp edi, 2
cmovb ebx, eax
jmp 0x1002758f
mov eax, ebx
dec eax
je 0x10028804
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor edi, edi
inc edi
shl edi, cl
cmp edi, 9
mov eax, 8
cmovb edi, eax
cmp ebx, 2
cmovb edi, eax
mov dword [esp + 0x24], edi
mov eax, edi
shr eax, 3
or eax, 1
bsr edi, eax
mov ecx, dword [esp + 0x2c]
jmp 0x100277e2
mov eax, ebx
dec eax
je 0x1002880e
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor edx, edx
inc edx
shl edx, cl
cmp edx, 9
mov eax, 8
cmovb edx, eax
cmp ebx, 2
cmovb edx, eax
mov dword [esp + 0x2c], edx
mov eax, edx
shr eax, 3
or eax, 1
bsr ebx, eax
jmp 0x1002765c
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100275c7
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov ebx, ecx
mov edx, ecx
shld ebx, eax, 0x17
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [edi + 0xc]
xor ebx, edx
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, ebx
mov edx, ebx
shr ebx, 0x11
xor ebx, eax
mov eax, dword [edi + 8]
mov dword [edi + 4], ecx
shld edx, esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, edx
mov dword [edi], eax
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ecx
add ecx, eax
mov esi, dword [esp + 0x28]
ror esi, cl
test esi, esi
je 0x10028c54
tzcnt eax, esi
mov ebx, dword [esp + 4]
add eax, ecx
and eax, 0x1f
mov esi, dword [esp + 0x28]
jmp 0x10027d90
mov dword [esp + 0x18], esi
mov dword [esp + 4], ebx
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov edx, ebx
shld edx, eax, 0x17
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [edi + 0xc]
xor edx, ebx
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, edx
mov ebx, edx
shr edx, 0x11
xor edx, eax
mov eax, dword [edi + 8]
mov dword [edi + 4], ecx
shld ebx, esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, ebx
mov dword [edi], eax
mov dword [edi + 0xc], edx
mov dword [edi + 8], ecx
add ecx, eax
mov eax, dword [esp + 0x1c]
mov edx, eax
ror edx, cl
test edx, edx
je 0x10028c5e
tzcnt edi, edx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 8]
add edi, ecx
mov ecx, edi
and ecx, 0x1f
mov edi, eax
jmp 0x10027e10
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x1c]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
or byte [ebx + 4], 1
cmp dword [edi], ebx
jne 0x10028fcc
mov dword [edi], eax
jmp 0x100282f6
cmp dword [edx], ebx
mov edi, dword [esp + 0x20]
je 0x100293ce
test ecx, ecx
mov ecx, dword [esp + 0x10]
je 0x10028b9d
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 8]
sub eax, edx
shr eax, 0xc
lea eax, [eax + eax*2]
lea esi, [edx + eax*4]
add esi, 0x10
mov dword [esp + 0xc], esi
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], 0
xor ecx, ecx
dec ecx
xor eax, eax
cmp edx, esi
setb al
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x10029a35
test edx, edx
je 0x1002d511
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d511
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], 0
test al, 1
je 0x100292ad
mov dword [esp + 8], edx
mov esi, dword [esp + 0xc]
mov edx, ecx
xor eax, eax
cmp ecx, esi
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1002867f
test edx, edx
je 0x1002b9c1
mov ecx, dword [edx]
test ecx, ecx
je 0x1002b9c1
mov eax, dword [ecx + 4]
test al, 1
je 0x1002862e
mov dword [esp + 8], edx
jmp 0x100285f9
mov esi, dword [ecx]
test esi, esi
je 0x1002863a
test byte [esi + 4], 1
jne 0x100285f1
or eax, 1
mov dword [ecx + 4], eax
mov eax, dword [edx + 4]
mov esi, eax
and esi, 0xfffffffe
je 0x1002d007
mov ecx, dword [esi]
test ecx, ecx
jne 0x1002869f
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [esi]
or eax, 1
mov dword [edx + 4], eax
mov dword [esi], edx
mov ecx, esi
mov eax, dword [esp + 8]
cmp dword [eax], edx
mov edx, eax
mov esi, dword [esp + 0xc]
jne 0x1002d5d1
mov dword [edx], ecx
jmp 0x100285f9
test eax, eax
jne 0x100286bc
xor ecx, ecx
test edx, edx
je 0x10028b70
mov esi, dword [edx + 4]
mov eax, dword [esp + 8]
cmp esi, 1
jbe 0x10028b66
jmp 0x100286cb
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
test cl, 1
mov ecx, dword [esp + 0x14]
je 0x10028654
jmp 0x10029c7e
test edx, edx
je 0x1002d4cf
mov esi, dword [edx + 4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov ecx, esi
and ecx, 0xfffffffe
je 0x100286e6
mov eax, dword [ecx]
test eax, eax
je 0x100286e6
test byte [eax + 4], 1
jne 0x100285f1
mov edi, dword [edx]
test edi, edi
je 0x1002d4cf
mov ecx, dword [edi + 4]
test cl, 1
je 0x1002a00b
and ecx, 0xfffffffe
je 0x1002d4de
mov eax, dword [ecx]
test eax, eax
je 0x10028715
test byte [eax + 4], 1
jne 0x1002b4f9
and esi, 1
or esi, ecx
mov dword [edi + 4], esi
or byte [ecx + 4], 1
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d264
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
mov esi, dword [edx + 4]
mov dword [esp + 0x14], esi
and esi, 0xfffffffe
mov edi, dword [esp + 0x20]
je 0x1002d4b1
mov eax, dword [esi]
and eax, 0xfffffffe
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
and eax, 1
add eax, dword [esp + 0x24]
mov dword [edx + 4], eax
mov dword [esi], edx
mov eax, dword [ecx + 4]
and eax, 1
or eax, esi
mov dword [ecx + 4], eax
or byte [edx + 4], 1
mov eax, dword [esp + 8]
cmp dword [eax], edx
mov edx, eax
je 0x1002930e
mov eax, ecx
and eax, 0xfffffffe
mov esi, edx
mov edx, dword [edx + 4]
and edx, 1
or edx, eax
mov dword [esi + 4], edx
mov edx, esi
jmp 0x100285f1
test ecx, ecx
jne 0x1002908a
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1002bb60
mov ecx, dword [eax]
test ecx, ecx
jne 0x1002bc16
mov dword [esp + 0x88], ecx
jmp 0x1002e12a
test ecx, ecx
jne 0x100290fe
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1002bbba
mov ecx, dword [eax]
test ecx, ecx
jne 0x1002bc46
mov dword [esp + 0x88], ecx
jmp 0x1002e597
mov ecx, 0x20
jmp 0x1002838c
mov ecx, 0x20
jmp 0x100283b8
mov ecx, 0x20
jmp 0x100283f7
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
lea edx, [eax + ecx*4]
add edx, 0x18
mov eax, 0xfffff000
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x54]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x24], edx
mov ebx, dword [edx]
mov dword [esp + 0x14], ebx
and ebx, eax
mov edx, dword [esi + 8]
and edx, eax
xor eax, eax
cmp ebx, edx
seta al
mov edx, dword [esp + 8]
lea ecx, [edx + ecx*4 + 0x10]
mov dword [esp + 0x34], ecx
mov ecx, 0xffffffff
cmovb eax, ecx
test eax, eax
je 0x10029ad2
cmp eax, 0xffffffff
jne 0x10029350
mov ebx, dword [esi]
test ebx, ebx
je 0x1002d607
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], 0
test al, 1
jne 0x100288eb
mov ecx, dword [ebx]
test ecx, ecx
je 0x100288a6
test byte [ecx + 4], 1
jne 0x100288eb
or eax, 1
mov dword [ebx + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002cff2
mov ebx, dword [eax]
test ebx, ebx
je 0x100288cc
mov edx, dword [ebx + 4]
test dl, 1
jne 0x1002bd59
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ebx, eax
and byte [ebx + 4], 0xfe
lea esi, [esp + 0x88]
mov dword [esi], ebx
mov dword [esp + 0x14], esi
mov esi, ebx
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
mov ecx, edx
mov eax, 0xfffff000
and ecx, eax
mov ebx, dword [ebx + 8]
and ebx, eax
xor eax, eax
cmp ecx, ebx
seta al
mov ecx, 0xffffffff
cmovb eax, ecx
test eax, eax
je 0x10028943
cmp eax, 0xffffffff
jne 0x1002895d
mov ebx, dword [esi]
test ebx, ebx
je 0x1002a0e1
mov eax, dword [ebx + 4]
test al, 1
jne 0x100288eb
mov ecx, dword [ebx]
test ecx, ecx
je 0x10028a44
test byte [ecx + 4], 1
jne 0x100288eb
jmp 0x10028a44
test dl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x34]
xor eax, eax
cmp ecx, esi
seta cl
jb 0x1002891d
mov al, cl
jmp 0x10028918
test eax, eax
je 0x10028a2b
mov edx, dword [esi + 4]
mov ebx, edx
and ebx, 0xfffffffe
je 0x1002897f
mov eax, dword [ebx]
test eax, eax
je 0x1002897f
test byte [eax + 4], 1
jne 0x100288eb
mov eax, dword [esi]
test eax, eax
je 0x1002d46f
mov ebx, dword [eax + 4]
test bl, 1
je 0x10028a8f
and ebx, 0xfffffffe
je 0x1002d076
mov ecx, dword [ebx]
test ecx, ecx
je 0x100289ae
test byte [ecx + 4], 1
jne 0x10029f12
and edx, 1
or edx, ebx
mov dword [eax + 4], edx
or byte [ebx + 4], 1
mov ebx, dword [esi]
test ebx, ebx
je 0x1002d43c
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov edx, dword [esi + 4]
mov eax, edx
and eax, 0xfffffffe
je 0x1002d451
mov ecx, dword [eax]
and ecx, 0xfffffffe
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov dword [eax], esi
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
or byte [esi + 4], 1
mov eax, dword [esp + 0x14]
cmp dword [eax], esi
mov esi, eax
je 0x100288e9
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x100288eb
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
cmp edx, 1
jbe 0x10028bb7
jmp 0x10028968
or eax, 1
mov dword [ebx + 4], eax
mov edx, dword [esi + 4]
mov eax, edx
and eax, 0xfffffffe
je 0x1002cf89
mov ebx, dword [eax]
test ebx, ebx
je 0x10028a6a
mov ecx, dword [ebx + 4]
test cl, 1
jne 0x10029bd3
or edx, 1
mov dword [esi + 4], edx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ebx, eax
mov edx, dword [esp + 0x14]
cmp dword [edx], esi
jne 0x1002d5f2
mov dword [edx], ebx
jmp 0x100288ef
or ebx, 1
mov dword [eax + 4], ebx
mov eax, dword [eax]
test eax, eax
je 0x10028aa7
mov edx, dword [eax + 4]
test dl, 1
jne 0x10029c22
mov eax, dword [esi + 4]
mov ebx, eax
and ebx, 0xfffffffe
je 0x1002d47e
mov ecx, dword [ebx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov dword [ebx], esi
jmp 0x10028a08
mov eax, dword [ecx]
movzx eax, byte [eax + 0x1e]
mov ecx, eax
shl ecx, 0xc
mov dword [esp + 0x18], ecx
jmp 0x10028003
mov eax, edx
sub eax, edi
mov ecx, dword [ebp + 8]
add edi, ecx
push eax
push 0xe5
push edi
mov edi, edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x10]
add eax, 0xc
mov dword [esp + 4], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 8]
shr eax, 0xc
movzx esi, al
mov ecx, ebx
or ecx, 3
lea edx, [esi + esi*2]
mov eax, dword [esp + 8]
mov dword [eax + edx*4 + 0x18], ecx
mov edx, eax
mov ecx, ebx
shr ecx, 0xc
add ecx, esi
sub edi, ebx
or edi, 3
lea eax, [ecx + ecx*2]
mov dword [edx + eax*4 + 0x18], edi
mov edi, dword [ebp + 8]
add ebx, edi
mov esi, dword [esp + 0x10]
mov ecx, esi
mov edx, ebx
push 1
call fcn.10035100
add esp, 4
mov eax, dword [esp + 0x20]
add dword [esi + 0x30], eax
mov esi, edi
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100279dc
mov esi, dword [edx]
test esi, esi
jne 0x10029fd9
mov eax, dword [esp + 8]
cmp dword [eax], edx
mov edx, eax
jne 0x1002b293
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
mov dword [edx + 4], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov edx, ebx
push 1
call fcn.10035100
add esp, 4
mov esi, eax
mov eax, dword [esp + 4]
dec dword [eax + 0x18]
jmp 0x100279bc
mov eax, dword [esi]
test eax, eax
je 0x10028be8
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, esi
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
or byte [esi + 4], 1
and dword [eax + 4], 1
mov edx, dword [esp + 0x14]
cmp dword [edx], esi
jne 0x10029aab
mov dword [edx], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x54], ecx
xor eax, eax
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x28]
mov ecx, 0xfffff000
and eax, ecx
mov edx, dword [esp + 0x18]
add edx, eax
mov eax, 0xfff
mov esi, dword [esp + 4]
mov ecx, dword [esi]
and ecx, eax
or ecx, edx
mov dword [esi], ecx
mov ecx, edx
shr ecx, 0xc
add ecx, dword [esp + 0xc]
lea ecx, [ecx + ecx*2]
mov ebx, dword [esp + 8]
and eax, dword [ebx + ecx*4 + 0xc]
mov dword [esp + 0x18], edx
or eax, edx
mov dword [ebx + ecx*4 + 0xc], eax
jmp 0x10028125
mov eax, 0x20
jmp 0x1002848b
mov edi, 0x20
jmp 0x100284fe
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 1
lea ecx, [esp + 0x88]
jmp 0x10029287
mov dword [esp + 0x1c], eax
shr eax, 0xc
mov ecx, dword [esp + 0xc]
sub ecx, eax
mov dword [esp + 0xc], ecx
lea eax, [ecx + ecx*2]
lea eax, [ebx + eax*4]
add eax, 0x10
mov esi, dword [esi + 0x54]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], 0
mov dword [esp + 4], eax
mov ecx, dword [eax + 8]
mov edx, ecx
mov eax, 0xfffff000
and edx, eax
mov edi, dword [esi + 8]
and edi, eax
xor ebx, ebx
dec ebx
xor eax, eax
cmp edx, edi
seta al
cmovb eax, ebx
test eax, eax
je 0x10029b2a
cmp eax, 0xffffffff
jne 0x10029530
mov edi, dword [esi]
test edi, edi
je 0x1002d670
mov eax, dword [edi + 4]
test al, 1
je 0x100295a9
mov dword [esp + 0x14], 0
mov ebx, esi
mov esi, edi
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov edx, ecx
mov eax, 0xfffff000
and edx, eax
mov edi, dword [edi + 8]
and edi, eax
xor eax, eax
cmp edx, edi
seta al
mov edx, 0xffffffff
cmovb eax, edx
test eax, eax
je 0x10028d5b
cmp eax, 0xffffffff
jne 0x10028d75
mov edi, dword [esi]
test edi, edi
je 0x1002b242
mov eax, dword [edi + 4]
test al, 1
jne 0x10028d04
mov ecx, dword [edi]
test ecx, ecx
je 0x10028e46
test byte [ecx + 4], 1
jne 0x10028d04
jmp 0x10028e46
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 4]
xor eax, eax
cmp ecx, esi
seta cl
jb 0x10028d35
mov al, cl
jmp 0x10028d30
test eax, eax
je 0x10028e31
mov edx, dword [esi + 4]
mov edi, edx
and edi, 0xfffffffe
je 0x10028d97
mov eax, dword [edi]
test eax, eax
je 0x10028d97
test byte [eax + 4], 1
jne 0x10028d04
mov eax, dword [esi]
test eax, eax
je 0x1002d58f
mov ecx, dword [eax + 4]
test cl, 1
je 0x10029b4f
and ecx, 0xfffffffe
je 0x1002d09a
mov edi, dword [ecx]
test edi, edi
je 0x10028dc6
test byte [edi + 4], 1
jne 0x1002b2cc
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
or byte [ecx + 4], 1
mov edi, dword [esi]
test edi, edi
je 0x1002d55c
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d571
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
or byte [esi + 4], 1
cmp dword [ebx], esi
jne 0x10029d0d
mov dword [ebx], edi
mov esi, ebx
jmp 0x10028d04
mov edx, dword [esi + 4]
mov dword [esp + 0x14], ebx
cmp edx, 1
jbe 0x10028f39
jmp 0x10028d80
or eax, 1
mov dword [edi + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002cfb3
mov edi, dword [eax]
test edi, edi
je 0x10028e6c
mov edx, dword [edi + 4]
test dl, 1
jne 0x1002b090
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov edi, eax
cmp dword [ebx], esi
jne 0x1002d77b
mov dword [ebx], edi
jmp 0x10028d06
mov ebx, dword [esi + 0x34]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0
test ebx, ebx
je 0x10029a6d
lea ecx, [esp + 0x88]
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, ecx
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10028edd
mov edx, dword [ecx + 8]
test dl, 1
je 0x10028edd
mov esi, dword [ecx + 4]
test esi, esi
je 0x10028ed5
test byte [esi + 8], 1
jne 0x10028efc
mov ecx, ebx
mov esi, dword [esp + 0x10]
jmp 0x10028edf
mov ecx, ebx
cmp ecx, dword [esp + 8]
seta dl
jbe 0x10028ef4
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x10028eb3
jmp 0x10029d9b
mov ebx, dword [ecx + 8]
and ebx, 0xfffffffe
jmp 0x10028eeb
and edx, 0xfffffffe
mov dword [ebx + 4], edx
mov edx, ebx
and edx, 0xfffffffe
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 4]
mov esi, dword [ecx + 8]
and esi, 1
add esi, dword [esp + 0x34]
mov dword [ecx + 8], esi
test edx, edx
je 0x1002d40f
and byte [edx + 8], 0xfe
cmp dword [eax + 4], ebx
mov esi, dword [esp + 0x10]
jne 0x10029d24
mov dword [eax + 4], ecx
jmp 0x10028edf
mov eax, dword [esi]
test eax, eax
je 0x10028f6a
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, esi
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
or byte [esi + 4], 1
and dword [eax + 4], 1
cmp dword [ebx], esi
jne 0x10029b17
mov dword [ebx], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x1c]
mov eax, 0xfffff000
and edx, eax
add edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [edi + 0x54], ecx
xor eax, eax
mov esi, dword [esp + 4]
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, 0xfff
mov ecx, dword [esi + 8]
and ecx, eax
or ecx, edx
mov dword [esi + 8], ecx
mov esi, edi
mov ecx, edx
shr ecx, 0xc
add ecx, dword [esp + 0xc]
lea ecx, [ecx + ecx*2]
mov ebx, dword [esp + 8]
and eax, dword [ebx + ecx*4 + 0xc]
or eax, edx
mov dword [ebx + ecx*4 + 0xc], eax
jmp 0x10028145
mov eax, dword [edi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp ebx, ecx
mov ecx, dword [esp + 8]
jne 0x100282fa
and eax, 1
or eax, dword [esp + 0x1c]
mov dword [edi + 4], eax
jmp 0x100282fa
mov esi, dword [ebp + 8]
add edi, esi
push edx
push 0xe5
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x100279dc
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 1
lea ecx, [esp + 0x88]
jmp 0x100294c7
xor eax, eax
inc eax
cmp ecx, 0xffffffff
mov esi, dword [esp + 0x10]
jne 0x100282c4
jmp 0x10029af2
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea ebx, [esp + 0x88]
jmp 0x100282f4
mov edi, dword [0x1009a744]
cmp ebx, 0xf01
jb 0x100296d7
mov ecx, edi
mov edx, ebx
cmp ebx, 0xfd000
ja 0x1002b07c
push 0
call fcn.1001acc0
add esp, 4
mov esi, eax
jmp 0x100279dc
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x100290ac
mov esi, dword [edx]
test esi, esi
je 0x100290ac
test byte [esi + 4], 1
jne 0x1002dfdf
mov edx, dword [eax]
test edx, edx
je 0x1002d7c3
test byte [edx + 4], 1
jne 0x1002a136
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x100290d8
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002b7ed
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d847
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10027c4c
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], 0
mov esi, ecx
and esi, 0xfffffffe
je 0x10029120
mov edi, dword [esi]
test edi, edi
je 0x10029120
test byte [edi + 4], 1
jne 0x1002e56f
mov edx, dword [eax]
test edx, edx
je 0x1002d7d8
test byte [edx + 4], 1
jne 0x1002a14a
mov dword [esp + 4], ebx
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x10029150
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002b842
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov esi, ecx
and esi, 0xfffffffe
je 0x1002d856
mov edi, dword [esi]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [eax + 4], ecx
mov dword [esi], eax
mov ebx, dword [esp + 4]
lea eax, [esp + 0x88]
mov dword [eax], esi
jmp 0x1002e56f
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
mov dword [esp + 8], edx
mov dword [esp + 0x14], eax
lea edx, [eax + ecx]
mov eax, dword [esp + 8]
mov dword [eax + 4], edx
test ecx, ecx
je 0x1002d2b2
mov edx, dword [ecx]
and edx, 0xfffffffe
add edx, dword [esp + 0x14]
mov eax, dword [esp + 8]
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, dword [eax + 4]
and edx, 1
mov dword [esp + 0x14], edx
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
add edx, dword [esp + 0x14]
mov dword [ecx + 4], edx
or byte [eax + 4], 1
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1002d2c1
cmp dword [edx], eax
mov eax, dword [esp + 0xc]
jne 0x10029abe
mov dword [edx], ecx
cmp eax, ecx
setb dl
jb 0x10029afc
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [esp + 8], ecx
test eax, eax
jne 0x10027b0a
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 1
test dl, dl
jne 0x10029283
cmp ecx, eax
mov edx, dword [esp + 4]
jae 0x10029287
mov eax, dword [ecx + 4]
and eax, 1
mov edx, eax
or edx, dword [esp + 0xc]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0xc]
mov dword [eax], ecx
mov eax, dword [ecx + 4]
and eax, 1
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 4]
and edx, 0xfffffffe
or edx, eax
mov eax, dword [esp + 0xc]
mov dword [eax + 4], edx
or byte [ecx + 4], 1
mov edx, dword [esp + 8]
cmp dword [edx], ecx
jne 0x10029315
mov dword [edx], eax
mov edx, dword [esp + 4]
jmp 0x10029289
mov edx, dword [esp + 4]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002d3af
and byte [eax + 4], 0xfe
mov dword [edx + 4], eax
mov dword [edx], ebx
jmp 0x100279bc
mov dword [edx], ebx
jmp 0x10028294
mov esi, dword [ecx]
test esi, esi
je 0x100292bd
test byte [esi + 4], 1
jne 0x100285f1
or eax, 1
mov dword [ecx + 4], eax
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0xfffffffe
je 0x1002d0d6
mov ecx, dword [eax]
test ecx, ecx
je 0x100292f1
mov dword [esp + 0x14], esi
mov esi, dword [ecx + 4]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x14]
test byte [esp + 8], 1
jne 0x1002bfd8
or esi, 1
mov dword [edx + 4], esi
mov ecx, dword [eax]
or ecx, 1
mov dword [edx + 4], ecx
mov dword [eax], edx
mov ecx, eax
and byte [ecx + 4], 0xfe
lea edx, [esp + 0x88]
mov dword [edx], ecx
jmp 0x100285f1
mov eax, dword [edx + 4]
mov dword [esp + 8], edx
mov edx, eax
and edx, 0xfffffffe
cmp ecx, edx
mov edx, dword [esp + 4]
jne 0x10029289
and eax, 1
or eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [ecx + 4], eax
jmp 0x10029289
mov eax, dword [edx + 4]
and eax, 1
or eax, ebx
mov dword [edx + 4], eax
jmp 0x10028294
test eax, eax
je 0x10029b89
mov eax, dword [esi + 4]
mov dword [esp + 0x3c], 0
mov ebx, eax
and ebx, 0xfffffffe
je 0x1002937a
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002937a
test byte [ecx + 4], 1
jne 0x100288eb
mov ecx, dword [esi]
test ecx, ecx
je 0x1002d05b
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002b1ca
or eax, 1
mov dword [esi + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x100293a8
mov edx, dword [eax + 4]
test dl, 1
jne 0x1002baaf
or byte [ecx + 4], 1
mov eax, dword [esi + 4]
mov ebx, eax
and ebx, 0xfffffffe
je 0x1002d971
mov ecx, dword [ebx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov dword [ebx], esi
jmp 0x100288e2
mov dword [edx], 0
mov ecx, dword [esp + 0x10]
jmp 0x10028b9d
and ecx, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
lea edx, [eax + ecx]
mov dword [ebx + 4], edx
test ecx, ecx
je 0x1002d312
mov edx, dword [ecx]
and edx, 0xfffffffe
or edx, eax
mov dword [ebx + 4], edx
mov dword [ecx], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 4], edx
or byte [ebx + 4], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1002d321
cmp dword [eax], ebx
mov ebx, eax
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc]
jne 0x10029b03
mov dword [ebx], ecx
cmp eax, ecx
setb bl
jb 0x10029b48
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [esp + 8], ecx
test eax, eax
jne 0x10027f51
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 1
test bl, bl
jne 0x100294c7
cmp ecx, eax
mov ebx, dword [esp + 0x2c]
jae 0x100294cb
mov eax, dword [ecx + 4]
and eax, 1
mov edx, eax
or edx, dword [esp + 0xc]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0xc]
mov dword [eax], ecx
mov eax, dword [ecx + 4]
and eax, 1
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 4]
and edx, 0xfffffffe
or edx, eax
mov eax, dword [esp + 0xc]
mov dword [eax + 4], edx
or byte [ecx + 4], 1
mov edx, dword [esp + 8]
cmp dword [edx], ecx
jne 0x100294e8
mov dword [edx], eax
mov edx, dword [esp + 4]
jmp 0x100294cd
mov ebx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002d3dc
and byte [eax + 4], 0xfe
mov dword [edx + 4], eax
jmp 0x100279c0
mov dword [esp + 8], edx
mov eax, dword [edx + 4]
mov edx, eax
and edx, 0xfffffffe
cmp ecx, edx
mov edx, dword [esp + 4]
jne 0x100294cd
and eax, 1
or eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [ecx + 4], eax
jmp 0x100294cd
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x1c]
xor eax, eax
cmp ecx, ebx
seta cl
mov esi, dword [esp + 0x10]
jb 0x10029af2
mov al, cl
jmp 0x100282c4
test eax, eax
je 0x10029f80
mov eax, dword [esi + 4]
xor edx, edx
mov edi, eax
and edi, 0xfffffffe
mov dword [esp + 0x14], edx
je 0x10029558
mov ecx, dword [edi]
test ecx, ecx
je 0x10029558
test byte [ecx + 4], 1
jne 0x10028d04
mov ebx, dword [esi]
test ebx, ebx
je 0x1002d088
mov ecx, dword [ebx + 4]
test cl, 1
jne 0x1002b618
or eax, 1
mov dword [esi + 4], eax
mov eax, dword [ebx]
test eax, eax
je 0x10029586
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002bf5b
or byte [ebx + 4], 1
mov eax, dword [esi + 4]
mov edi, eax
and edi, 0xfffffffe
je 0x1002d998
mov ecx, dword [edi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov dword [edi], esi
jmp 0x100295fd
mov ecx, dword [edi]
test ecx, ecx
je 0x100295b9
test byte [ecx + 4], 1
jne 0x10028cfc
or eax, 1
mov dword [edi + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d046
mov dword [esp + 0x14], 0
mov edi, dword [eax]
test edi, edi
je 0x100295e7
mov edx, dword [edi + 4]
test dl, 1
jne 0x1002c0eb
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov edi, eax
and byte [edi + 4], 0xfe
lea esi, [esp + 0x88]
mov dword [esi], edi
jmp 0x10028d04
movzx eax, byte [ecx + edi + 0x76]
mov dword [esp + 0x3c], eax
lea eax, [ecx + 0x54]
mov dword [esp + 0x44], eax
mov ecx, dword [ecx + 0x54]
test ecx, ecx
je 0x1002b402
mov edx, dword [esp + 0x3c]
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 0x1002965b
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10029632
jmp 0x100296f3
cmp ebx, 1
jne 0x1002d769
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x10029652
mov dword [esp + 4], ebx
movzx eax, byte [edi + ebx + 0x76]
mov dword [esp + 0x34], eax
lea eax, [edi + 0x54]
mov dword [esp + 0x48], eax
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x1002b435
mov edi, dword [esp + 0x34]
shl edi, 0xc
xor eax, eax
mov edx, esi
mov esi, dword [ecx + 8]
mov ebx, 0xfffff000
and esi, ebx
xor ebx, ebx
cmp edi, esi
seta bl
mov esi, 0xffffffff
cmovb ebx, esi
lea esi, [ebx + 1]
cmp esi, 2
jae 0x100296c6
mov eax, ecx
mov ecx, dword [ecx]
mov esi, edx
test ecx, ecx
jne 0x10029694
jmp 0x1002988f
cmp ebx, 1
jne 0x1002d770
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x100296bb
add ebx, 0xff
mov eax, ebx
and eax, 0x1f00
mov dword [esp + 0x2c], eax
shr ebx, 8
add ebx, 0x1e
jmp 0x1002765c
test eax, eax
je 0x1002b402
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, edx
and esi, 0xfff00000
mov eax, dword [esi + 0xc]
mov dword [esp + 0x60], eax
mov eax, edx
shr eax, 0xc
movzx ecx, al
lea eax, [ecx*4]
lea eax, [eax + eax*2]
or eax, esi
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x3c]
test edi, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x40], ecx
je 0x1002a15e
xor eax, eax
inc eax
cmp edi, 2
cmovae eax, edi
mov dword [esp + 0x4c], eax
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*4]
add eax, 0x18
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], edi
xor edi, edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
lea ecx, [edi + eax]
lea eax, [ecx + ecx*2]
test byte [esi + eax*4 + 0x18], 0x60
jne 0x100297bb
inc edi
cmp edi, dword [esp + 0x3c]
setae al
mov dword [esp + 0x48], eax
dec dword [esp + 0x38]
mov eax, dword [esp + 0x28]
add eax, 0xc
cmp edi, dword [esp + 0x4c]
jne 0x10029784
jmp 0x1002a164
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edi
cmp edi, dword [esp + 0x3c]
jae 0x1002ba97
xor edi, edi
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
mov ecx, dword [eax]
test cl, 0x60
je 0x1002cc59
and ecx, 0xffffff9f
mov dword [eax], ecx
mov ecx, edi
inc ecx
add eax, 0xc
mov edi, ecx
cmp esi, ecx
jne 0x100297d7
mov ecx, esi
mov dword [esp + 0x6c], ecx
shl ecx, 0xc
jne 0x1002b3b4
jmp 0x10029844
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x68], eax
push 4
push 0x1000
push edi
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
je 0x1002d865
add esi, edi
mov ecx, dword [esp + 0x5c]
sub ecx, edi
mov eax, 0x100000
cmp ecx, eax
mov edi, 0x100000
cmovb edi, ecx
mov dword [esp + 0x5c], ecx
test ecx, ecx
jne 0x10029804
mov al, 1
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x1002986b
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 0x28]
mov esi, edi
or dword [edx], ecx
add edx, 0xc
dec esi
jne 0x10029863
test al, al
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
je 0x1002a814
add dword [ecx + 0x28], edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x58]
jmp 0x10029799
test eax, eax
mov edi, dword [esp + 0x10]
je 0x1002b435
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 ebx, dword [esp + 4]
mov ecx, edx
and ecx, 0xfff00000
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x4c], eax
mov eax, edx
shr eax, 0xc
movzx eax, al
mov dword [esp + 0x28], eax
lea eax, [eax*4]
lea eax, [eax + eax*2]
or eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x34]
test esi, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 8], edx
je 0x1002a92b
xor eax, eax
inc eax
cmp esi, 2
cmovae eax, esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
add eax, 0x18
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], esi
xor esi, esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
add eax, esi
mov dword [esp + 0x38], eax
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x14]
test byte [ecx + eax*4 + 0x18], 0x60
mov eax, dword [esp + 0x34]
jne 0x1002996c
inc esi
cmp esi, eax
setae al
mov dword [esp + 0x3c], eax
dec dword [esp + 0x30]
mov eax, dword [esp + 0x24]
add eax, 0xc
cmp esi, dword [esp + 0x40]
jne 0x1002992c
jmp 0x1002a931
mov dword [esp + 0x60], esi
cmp esi, eax
jae 0x1002baa2
xor edi, edi
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov ecx, dword [eax]
test cl, 0x60
je 0x10029998
and ecx, 0xffffff9f
mov dword [eax], ecx
inc edi
add eax, 0xc
cmp esi, edi
jne 0x10029982
mov edi, esi
mov dword [esp + 0x44], edi
mov ecx, edi
shl ecx, 0xc
jne 0x1002b3db
jmp 0x100299e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x5c], eax
push 4
push 0x1000
push esi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
je 0x1002d8db
add edi, esi
mov ecx, dword [esp + 0x50]
sub ecx, esi
mov eax, 0x100000
cmp ecx, eax
mov esi, 0x100000
cmovb esi, ecx
mov dword [esp + 0x50], ecx
test ecx, ecx
jne 0x100299a9
mov al, 1
cmp dword [esp + 0x44], 0
je 0x10029a11
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x44]
or dword [edx], ecx
add edx, 0xc
dec edi
jne 0x10029a09
test al, al
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 8]
je 0x1002afe2
mov eax, dword [esp + 0x44]
add dword [edi + 0x28], eax
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x60]
jmp 0x1002994c
test eax, eax
jne 0x1002a049
xor esi, esi
test edx, edx
je 0x1002d7ed
mov eax, dword [edx + 4]
cmp eax, 1
mov ecx, dword [esp + 0x10]
ja 0x1002c8ef
mov eax, dword [edx]
test eax, eax
jne 0x1002c8ff
mov dword [esp + 0x88], esi
jmp 0x10028b84
mov ebx, dword [esp + 8]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
lea ecx, [esp + 0x88]
mov dword [ecx + 4], ebx
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x1002d616
and byte [ecx + 8], 0xfe
mov dword [esi + 0x34], ecx
mov ebx, dword [esp + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x100280ce
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x10028bf6
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0xc]
jmp 0x100291ed
xor ecx, ecx
test byte [esp + 0x14], 0x10
cmove ecx, dword [esp + 0x34]
xor eax, eax
cmp ecx, esi
seta cl
jb 0x10028881
mov al, cl
jmp 0x10028878
mov ecx, dword [ebx]
xor eax, eax
dec eax
jmp 0x100282ca
mov eax, dword [ecx]
jmp 0x100291fe
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xc]
jmp 0x10029435
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x10028f74
xor edx, edx
test cl, 0x10
cmove edx, dword [esp + 4]
xor eax, eax
cmp edx, esi
seta cl
jb 0x10028ce7
mov al, cl
jmp 0x10028cde
mov eax, dword [ecx]
jmp 0x10029446
or ecx, 1
mov dword [eax + 4], ecx
mov eax, dword [eax]
test eax, eax
je 0x10029b67
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002b175
mov eax, dword [esi + 4]
mov edi, eax
and edi, 0xfffffffe
je 0x1002d59e
mov ecx, dword [edi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov dword [edi], esi
jmp 0x10028e20
mov eax, dword [esi + 4]
cmp eax, 1
ja 0x1002c13a
mov eax, dword [esi]
xor ecx, ecx
test eax, eax
je 0x10028bfd
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, esi
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
or byte [esi + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x10028bfd
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
and ebx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [esi + 4], ecx
test ebx, ebx
je 0x1002d330
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, 0xfffffffe
je 0x10029c1a
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002b996
mov dword [esi + 4], eax
jmp 0x10028a7c
and edx, 0xfffffffe
mov dword [eax + 4], edx
mov ebx, dword [esi]
test ebx, ebx
je 0x1002d48d
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov edx, dword [esi + 4]
mov eax, edx
and eax, 0xfffffffe
je 0x1002d4a2
mov ecx, dword [eax]
and ecx, 0xfffffffe
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov dword [eax], esi
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x10028a08
xor ecx, ecx
jmp 0x100275a2
mov eax, dword [esp + 0x24]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, dword [ecx + 4]
and eax, 1
or eax, esi
mov dword [ecx + 4], eax
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea esi, [eax + ecx]
mov dword [edx + 4], esi
test ecx, ecx
je 0x1002d3be
mov esi, dword [ecx]
and esi, 0xfffffffe
or esi, eax
mov dword [edx + 4], esi
mov dword [ecx], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
je 0x10029fd1
mov esi, dword [eax + 4]
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], eax
mov eax, esi
test al, 1
mov eax, dword [esp + 0x14]
je 0x10029fd1
mov esi, dword [esp + 0x24]
and esi, 0xfffffffe
mov dword [eax + 4], esi
mov eax, dword [edx + 4]
mov esi, eax
or esi, 1
mov dword [edx + 4], esi
and eax, 0xfffffffe
je 0x1002d3cd
mov esi, dword [eax]
or esi, 1
mov dword [edx + 4], esi
mov dword [eax], edx
mov dword [ecx], eax
mov edi, dword [esp + 0x20]
jmp 0x10028666
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov esi, ebx
jmp 0x10028d04
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
lea esi, [edx + ecx]
mov dword [eax + 8], esi
test ecx, ecx
je 0x1002d41e
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
or esi, edx
mov dword [eax + 8], esi
mov dword [ecx + 4], eax
mov edx, dword [eax + 8]
and edx, 1
mov esi, dword [ecx + 8]
and esi, 0xfffffffe
or esi, edx
mov dword [ecx + 8], esi
or byte [eax + 8], 1
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x1002d42d
cmp dword [ebx + 4], eax
mov esi, dword [esp + 0x10]
jne 0x1002b460
mov dword [ebx + 4], ecx
cmp ecx, dword [esp + 8]
seta dl
ja 0x1002b610
mov ebx, dword [ecx + 8]
and ebx, 0xfffffffe
mov eax, ecx
test ebx, ebx
jne 0x10028eb9
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x1002d661
cmp ecx, ebx
setae dh
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
or dl, dh
jne 0x10029a86
mov edx, dword [ecx + 8]
and edx, 1
mov esi, edx
or esi, ebx
mov dword [ecx + 8], esi
mov esi, dword [ebx + 4]
and esi, 0xfffffffe
or esi, edx
mov dword [ecx + 8], esi
mov dword [ebx + 4], ecx
mov edx, dword [ecx + 8]
and edx, 1
mov esi, dword [ebx + 8]
and esi, 0xfffffffe
or esi, edx
mov dword [ebx + 8], esi
or byte [ecx + 8], 1
cmp dword [eax + 4], ecx
jne 0x10029e03
mov dword [eax + 4], ebx
mov esi, dword [esp + 0x10]
jmp 0x10029a89
mov edx, dword [eax + 8]
mov esi, edx
and esi, 0xfffffffe
cmp ecx, esi
mov esi, dword [esp + 0x10]
jne 0x10029a89
and edx, 1
or edx, dword [esp + 8]
mov dword [eax + 8], edx
jmp 0x10029a89
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 0x1002d829
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 0x1002a0d1
mov ebx, dword [ecx + 4]
test bl, 1
je 0x1002a0d1
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 0x1002da61
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x10027c48
and ebx, 0xfffffffe
mov dword [ecx], ebx
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 0x1002d838
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 0x1002a0d9
mov ebx, dword [ecx + 4]
test bl, 1
je 0x1002a0d9
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov ecx, dword [eax + 4]
mov edi, ecx
or edi, 1
mov dword [eax + 4], edi
and ecx, 0xfffffffe
je 0x1002da70
mov edi, dword [ecx]
or edi, 1
mov dword [eax + 4], edi
mov dword [ecx], eax
mov dword [esi], ecx
jmp 0x10027d14
and edx, 1
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, edx
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x30]
and byte [ecx + 4], 0xfe
mov edx, dword [eax + 4]
mov ebx, edx
and ebx, 0xfffffffe
je 0x1002d460
mov ecx, dword [ebx]
and ecx, 0xfffffffe
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov dword [ebx], eax
mov dword [esi], ebx
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov edx, dword [esi + 4]
mov eax, edx
and eax, 0xfffffffe
jne 0x100289ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, dword [esi + 4]
cmp eax, 1
ja 0x1002c347
mov eax, dword [esi]
xor ecx, ecx
test eax, eax
je 0x10028f7b
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, esi
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
or byte [esi + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x10028f7b
mov ebx, esi
jmp 0x10028125
mov dword [edx + 4], eax
jmp 0x10028666
mov eax, dword [esi + 4]
and eax, 0xfffffffe
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]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
or byte [edx + 4], 1
and dword [esi + 4], 1
mov ecx, esi
jmp 0x10028b70
or ecx, 1
mov dword [edi + 4], ecx
mov eax, dword [edi]
test eax, eax
je 0x1002a023
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002b6a5
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002d4f3
mov esi, dword [ecx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [edx + 4], eax
mov dword [ecx], edx
mov edi, dword [esp + 0x20]
jmp 0x1002877f
test edx, edx
je 0x1002d0eb
mov eax, dword [edx + 4]
mov dword [esp + 0x18], 0
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002a073
mov esi, dword [ecx]
test esi, esi
je 0x1002a073
test byte [esi + 4], 1
jne 0x100285f1
mov ecx, dword [edx]
test ecx, ecx
je 0x1002da9d
test byte [ecx + 4], 1
jne 0x1002c335
or eax, 1
mov dword [edx + 4], eax
mov edi, dword [ecx]
test edi, edi
je 0x1002a09e
mov eax, dword [edi + 4]
test al, 1
jne 0x1002c79a
or byte [ecx + 4], 1
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002db84
mov esi, dword [ecx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [edx + 4], eax
mov dword [ecx], edx
lea edx, [esp + 0x88]
mov dword [edx], ecx
mov edi, dword [esp + 0x20]
jmp 0x100285f1
mov dword [eax + 4], ecx
jmp 0x10027c48
mov dword [eax + 4], ecx
jmp 0x10027d14
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x1002d959
mov eax, dword [esp + 0x34]
cmp dword [edx], eax
jne 0x1002bc7a
mov dword [edx], esi
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x14]
cmp dword [eax], esi
jne 0x1002d968
mov dword [eax], 0
jmp 0x10028bf6
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, eax
call fcn.10001f00
mov edx, dword [esi]
jmp 0x10027c4c
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, eax
call fcn.10001f00
mov esi, dword [esi]
jmp 0x10029175
mov al, 1
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 0x10]
mov dword [esp + 0x38], eax
add ecx, 0x18
mov eax, dword [esp + 0x44]
mov edi, dword [eax]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x34], ecx
mov ecx, dword [ecx]
mov edx, 0xfffff000
mov ebx, ecx
and ebx, edx
and edx, dword [edi + 8]
xor esi, esi
dec esi
xor eax, eax
cmp ebx, edx
seta al
cmovb eax, esi
test eax, eax
je 0x1002b33a
cmp eax, 0xffffffff
jne 0x1002a8ad
mov edx, dword [edi]
test edx, edx
je 0x1002d7a5
mov eax, dword [edx + 4]
mov dword [esp + 0x4c], 0
test al, 1
jne 0x1002a224
mov ecx, dword [edx]
test ecx, ecx
je 0x1002a1df
test byte [ecx + 4], 1
jne 0x1002a224
or eax, 1
mov dword [edx + 4], eax
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d0ac
mov edx, dword [eax]
test edx, edx
je 0x1002a205
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002c6fc
or ecx, 1
mov dword [edi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [edi + 4], ecx
mov dword [eax], edi
mov edx, eax
and byte [edx + 4], 0xfe
lea edi, [esp + 0x88]
mov dword [edi], edx
mov dword [esp + 0x28], edi
mov edi, edx
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, ecx
mov eax, 0xfffff000
and edx, eax
mov esi, dword [edi + 8]
and esi, eax
xor eax, eax
cmp edx, esi
seta al
mov edx, 0xffffffff
cmovb eax, edx
test eax, eax
je 0x1002a27c
cmp eax, 0xffffffff
jne 0x1002a296
mov edx, dword [edi]
test edx, edx
je 0x1002be88
mov eax, dword [edx + 4]
test al, 1
jne 0x1002a224
mov ecx, dword [edx]
test ecx, ecx
je 0x1002a37d
test byte [ecx + 4], 1
jne 0x1002a224
jmp 0x1002a37d
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x38]
xor eax, eax
cmp ecx, edi
seta cl
jb 0x1002a256
mov al, cl
jmp 0x1002a251
test eax, eax
je 0x1002a364
mov ecx, dword [edi + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002a2b8
mov eax, dword [edx]
test eax, eax
je 0x1002a2b8
test byte [eax + 4], 1
jne 0x1002a224
mov eax, dword [edi]
test eax, eax
je 0x1002d67f
mov edx, dword [eax + 4]
test dl, 1
je 0x1002a3c8
and edx, 0xfffffffe
je 0x1002d124
mov esi, dword [edx]
test esi, esi
je 0x1002a2e7
test byte [esi + 4], 1
jne 0x1002ba31
and ecx, 1
or ecx, edx
mov dword [eax + 4], ecx
or byte [edx + 4], 1
mov edx, dword [edi]
test edx, edx
je 0x1002d68e
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [edi], eax
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d6a3
mov esi, dword [eax]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [edi + 4], ecx
mov dword [eax], edi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
or byte [edi + 4], 1
mov eax, dword [esp + 0x28]
cmp dword [eax], edi
mov edi, eax
je 0x1002a222
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x1002a224
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
cmp ecx, 1
jbe 0x1002a402
jmp 0x1002a2a1
or eax, 1
mov dword [edx + 4], eax
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d01c
mov edx, dword [eax]
test edx, edx
je 0x1002a3a3
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002b79e
or ecx, 1
mov dword [edi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [edi + 4], ecx
mov dword [eax], edi
mov edx, eax
mov esi, dword [esp + 0x28]
cmp dword [esi], edi
jne 0x1002d790
mov dword [esi], edx
jmp 0x1002a228
or edx, 1
mov dword [eax + 4], edx
mov eax, dword [eax]
test eax, eax
je 0x1002a3e0
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002b897
mov eax, dword [edi + 4]
mov edx, eax
and edx, 0xfffffffe
je 0x1002d6b2
mov ecx, dword [edx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edi + 4], eax
mov dword [edx], edi
jmp 0x1002a341
mov eax, dword [edi]
test eax, eax
je 0x1002a433
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edi], ecx
mov ecx, edi
and ecx, 0xfffffffe
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 edx, dword [esp + 0x28]
cmp dword [edx], edi
jne 0x1002b2a6
mov dword [edx], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x50]
shr edx, 0xc
mov eax, dword [esp + 0x44]
mov dword [eax], ecx
xor eax, eax
mov esi, dword [esp + 0x38]
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, dword [esp + 0x3c]
cmp edx, eax
mov esi, dword [esp + 0x40]
jne 0x1002a5fb
test al, al
je 0x1002a4b9
mov edx, eax
mov eax, dword [esp + 0xc]
or eax, 1
xor ecx, ecx
inc ecx
cmp edx, 2
cmovae ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
lea edx, [esi + esi*2]
mov esi, dword [esp + 0x30]
lea edx, [esi + edx*4]
add edx, 0x18
xor esi, esi
test byte [edx + esi], 8
je 0x1002a4af
mov edi, dword [esp + 0x30]
dec dword [edi + 0xc]
mov edi, dword [esp + 0x2c]
dec dword [edi + 0x44]
mov dword [edx + esi], eax
add esi, 0xc
cmp ecx, esi
jne 0x1002a49b
mov eax, dword [esp + 0x30]
cmp dword [eax + 0xc], 0
jne 0x1002a808
cmp dword [esp + 0x60], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
je 0x1002a814
mov ebx, dword [ecx + 0x34]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0
xor ecx, ecx
dec ecx
xor eax, eax
cmp ebx, dword [esp + 0x30]
setb al
cmova eax, ecx
cmp eax, 0xffffffff
je 0x1002bcc5
test eax, eax
je 0x1002c4bf
test ebx, ebx
je 0x1002d181
mov ecx, dword [ebx + 8]
xor esi, esi
mov eax, ecx
and eax, 0xfffffffe
je 0x1002c3fa
mov edx, dword [eax + 4]
test edx, edx
je 0x1002c3fa
test byte [edx + 8], 1
je 0x1002c3fa
mov edi, ebx
mov ecx, dword [esp + 0x30]
mov ebx, eax
xor eax, eax
cmp ebx, ecx
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1002a58b
test ebx, ebx
je 0x1002ca6d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002ca6d
test byte [eax + 8], 1
jne 0x1002a540
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002c82d
test byte [ecx + 8], 1
jne 0x1002a540
jmp 0x1002c82d
test eax, eax
jne 0x1002a5a9
xor ecx, ecx
test ebx, ebx
je 0x1002b4a5
mov eax, dword [ebx + 8]
mov esi, edi
cmp eax, 1
jbe 0x1002b470
jmp 0x1002a5b0
test ebx, ebx
je 0x1002a5c6
mov eax, dword [ebx + 8]
and eax, 0xfffffffe
je 0x1002a5c6
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002a5c6
test byte [ecx + 8], 1
jne 0x1002a540
lea ecx, [esp + 0x80]
mov edx, ebx
call fcn.1001ce60
mov eax, dword [esp + 0x80]
cmp dword [edi + 4], ebx
je 0x1002c8db
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
mov ebx, edi
jmp 0x1002a540
lea ecx, [esi + edx]
mov dword [esp + 0x34], ecx
sub edx, eax
shl edx, 0xc
add eax, esi
lea eax, [eax + eax*2]
mov ecx, edx
mov dword [esp + 0x50], edx
mov edi, dword [esp + 0x30]
mov dword [esp + 0x38], eax
lea eax, [edi + eax*4]
add eax, 0x10
mov edx, 0xfff
mov esi, dword [eax + 8]
and esi, edx
or esi, ecx
mov dword [esp + 0x28], eax
mov dword [eax + 8], esi
mov eax, dword [esp + 0x34]
lea ecx, [eax + eax*2]
and edx, dword [edi + ecx*4 + 0xc]
add edx, dword [esp + 0x50]
mov dword [edi + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x1002bb26
mov eax, dword [esp + 0x38]
lea eax, [edi + eax*4]
add eax, 0x18
mov dword [esp + 0x34], eax
lea edi, [esp + 0x88]
xor edx, edx
mov esi, edx
mov edx, edi
mov edi, dword [ecx]
test edi, edi
je 0x1002a69e
mov eax, dword [edi + 4]
test al, 1
je 0x1002a69e
mov dword [esp + 0x38], esi
mov esi, dword [edi]
test esi, esi
je 0x1002a69e
test byte [esi + 4], 1
jne 0x1002a6f3
mov edi, ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov eax, ecx
mov ebx, 0xfffff000
and eax, ebx
mov esi, dword [edi + 8]
and esi, ebx
xor ebx, ebx
cmp eax, esi
seta bl
mov eax, 0xffffffff
cmovb ebx, eax
cmp ebx, 0xffffffff
je 0x1002a6e5
xor eax, eax
inc eax
test ebx, ebx
jne 0x1002a720
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x28]
xor eax, eax
cmp ecx, edi
seta cl
jae 0x1002a71e
mov ecx, dword [edi]
xor eax, eax
dec eax
test ecx, ecx
jne 0x1002a67d
jmp 0x1002a7c2
and eax, 0xfffffffe
mov dword [ecx], eax
mov esi, ecx
and esi, 0xfffffffe
mov eax, dword [edi]
mov ebx, dword [edi + 4]
and ebx, 1
or ebx, esi
mov dword [edi + 4], ebx
test eax, eax
je 0x1002d625
and byte [eax + 4], 0xfe
cmp dword [edx], ecx
jne 0x1002a728
mov dword [edx], edi
jmp 0x1002a6a0
mov al, cl
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
jmp 0x1002a6ea
and edi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [edx + 4], ecx
test edi, edi
je 0x1002d634
mov ecx, dword [edi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 4], ecx
mov dword [edi], edx
mov eax, dword [edx + 4]
and eax, 1
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
or byte [edx + 4], 1
cmp dword [esp + 0x38], 0
je 0x1002d14e
mov eax, dword [esp + 0x38]
cmp dword [eax], edx
je 0x1002be4c
jmp 0x1002bfb0
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov esi, dword [edi + 8]
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1002bb04
jmp 0x1002c2ca
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
mov edx, edi
test ecx, ecx
mov esi, dword [esp + 0x38]
jne 0x1002a681
mov edx, esi
mov ecx, dword [esp + 0x28]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1002b0df
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x88]
test eax, eax
mov esi, dword [esp + 0x40]
je 0x1002d7f6
and byte [eax + 4], 0xfe
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
jmp 0x1002a470
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
test byte [esp + 0x48], 1
je 0x1002b4ea
test edx, edx
je 0x1002b4ea
cmp dword [eax], edx
mov edi, dword [esp + 0x18]
je 0x1002e14a
mov dword [edx], eax
cmp dword [ecx + edi + 0x68], 1
mov ebx, edx
mov edx, 0
je 0x1002a85e
mov ecx, dword [esp + 0x2c]
add ecx, edi
add ecx, 0x68
xor edx, edx
mov dword [ebx + edx*4 + 0xc], 0xffffffff
inc edx
mov esi, dword [ecx]
dec esi
cmp edx, esi
jb 0x1002a84e
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov esi, ebx
mov ebx, dword [edi + ecx + 0x64]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor eax, eax
dec eax
shr eax, cl
mov ecx, edi
mov edi, dword [esp + 0x18]
cmp ebx, 1
mov ebx, 0
sbb ebx, ebx
or ebx, eax
mov dword [esi + edx*4 + 0xc], ebx
mov dword [esi + 4], 0
mov eax, dword [ecx + edi + 0x64]
mov dword [esi + 8], eax
inc dword [ecx + edi + 0x70]
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov edx, esi
jmp 0x10027831
test eax, eax
je 0x1002b6fa
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], 0
mov edx, eax
and edx, 0xfffffffe
je 0x1002a8d7
mov ecx, dword [edx]
test ecx, ecx
je 0x1002a8d7
test byte [ecx + 4], 1
jne 0x1002a224
mov ecx, dword [edi]
test ecx, ecx
je 0x1002d0fa
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002c1da
or eax, 1
mov dword [edi + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x1002a905
mov edx, dword [eax + 4]
test dl, 1
jne 0x1002c620
or byte [ecx + 4], 1
mov eax, dword [edi + 4]
mov edx, eax
and edx, 0xfffffffe
je 0x1002dba2
mov ecx, dword [edx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edi + 4], eax
mov dword [edx], edi
jmp 0x1002a21b
mov al, 1
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x10]
mov dword [esp + 0x30], eax
add ecx, 0x18
mov eax, dword [esp + 0x48]
mov esi, dword [eax]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx]
mov edx, 0xfffff000
mov ebx, ecx
and ebx, edx
and edx, dword [esi + 8]
xor edi, edi
dec edi
xor eax, eax
cmp ebx, edx
seta al
cmovb eax, edi
test eax, eax
je 0x1002b358
cmp eax, 0xffffffff
jne 0x1002a9f7
mov edx, dword [esi]
test edx, edx
je 0x1002d7b4
mov eax, dword [edx + 4]
mov dword [esp + 0x40], 0
test al, 1
mov ebx, dword [esp + 4]
jne 0x1002aa2d
mov ecx, dword [edx]
test ecx, ecx
je 0x1002a9b0
test byte [ecx + 4], 1
jne 0x1002aa2d
or eax, 1
mov dword [edx + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d0c1
mov edx, dword [eax]
test edx, edx
je 0x1002a9d6
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002c74b
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov edx, eax
and byte [edx + 4], 0xfe
lea esi, [esp + 0x88]
mov dword [esi], edx
jmp 0x1002aa29
test eax, eax
je 0x1002b744
mov eax, dword [esi + 4]
mov dword [esp + 0x40], 0
mov edx, eax
and edx, 0xfffffffe
je 0x1002b8ec
mov ecx, dword [edx]
test ecx, ecx
je 0x1002b8ec
test byte [ecx + 4], 1
je 0x1002b8ec
mov ebx, dword [esp + 4]
mov dword [esp + 0x24], esi
mov esi, edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, ecx
mov eax, 0xfffff000
and edx, eax
mov edi, dword [esi + 8]
and edi, eax
xor eax, eax
cmp edx, edi
seta al
mov edx, 0xffffffff
cmovb eax, edx
test eax, eax
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
je 0x1002aa8d
cmp eax, 0xffffffff
jne 0x1002aaa7
mov edx, dword [esi]
test edx, edx
je 0x1002bee8
mov eax, dword [edx + 4]
test al, 1
jne 0x1002aa2d
mov ecx, dword [edx]
test ecx, ecx
je 0x1002ab7c
test byte [ecx + 4], 1
jne 0x1002aa2d
jmp 0x1002ab7c
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x30]
xor eax, eax
cmp ecx, esi
seta cl
jb 0x1002aa67
mov al, cl
jmp 0x1002aa62
test eax, eax
je 0x1002ab67
mov ecx, dword [esi + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002aac9
mov eax, dword [edx]
test eax, eax
je 0x1002aac9
test byte [eax + 4], 1
jne 0x1002aa2d
mov eax, dword [esi]
test eax, eax
je 0x1002d727
mov edx, dword [eax + 4]
test dl, 1
je 0x1002b376
and edx, 0xfffffffe
je 0x1002d139
mov edi, dword [edx]
test edi, edi
je 0x1002aaf8
test byte [edi + 4], 1
jne 0x1002c081
and ecx, 1
or ecx, edx
mov dword [eax + 4], ecx
or byte [edx + 4], 1
mov edx, dword [esi]
test edx, edx
je 0x1002d6f4
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d709
mov edi, dword [eax]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
or byte [esi + 4], 1
mov eax, dword [esp + 0x24]
cmp dword [eax], esi
mov esi, eax
jne 0x1002b690
mov dword [esi], edx
jmp 0x1002aa2d
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
cmp ecx, 1
jbe 0x1002abcd
jmp 0x1002aab2
or eax, 1
mov dword [edx + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d031
mov edx, dword [eax]
test edx, edx
je 0x1002aba2
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002bda8
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov edx, eax
mov eax, dword [esp + 0x24]
cmp dword [eax], esi
mov esi, eax
mov ebx, dword [esp + 4]
jne 0x1002d814
mov dword [esi], edx
jmp 0x1002aa31
mov eax, dword [esi]
test eax, eax
je 0x1002ac02
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, esi
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 edx, dword [esp + 0x18]
or byte [esi + 4], 1
and dword [eax + 4], 1
mov ecx, dword [esp + 0x24]
cmp dword [ecx], esi
mov esi, ecx
jne 0x1002b2b9
mov dword [esi], eax
mov ecx, dword [esp + 0x88]
shr edx, 0xc
mov eax, dword [esp + 0x48]
mov dword [eax], ecx
xor eax, eax
mov esi, dword [esp + 0x30]
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, dword [esp + 0x34]
cmp edx, eax
mov esi, dword [esp + 0x28]
jne 0x1002adc0
test al, al
je 0x1002ac88
mov edx, eax
mov eax, dword [esp + 8]
or eax, 1
xor ecx, ecx
inc ecx
cmp edx, 2
cmovae ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x1c], ecx
lea edx, [esi + esi*2]
mov esi, dword [esp + 0x14]
lea edx, [esi + edx*4]
add edx, 0x18
xor esi, esi
mov ecx, dword [esp + 0x14]
test byte [edx + esi], 8
je 0x1002ac7c
dec dword [ecx + 0xc]
dec dword [edi + 0x44]
mov dword [edx + esi], eax
add esi, 0xc
cmp dword [esp + 0x1c], esi
jne 0x1002ac70
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xc], 0
jne 0x1002afde
cmp dword [esp + 0x4c], 0
mov edx, dword [esp + 8]
je 0x1002afe2
mov edi, dword [edi + 0x34]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], 0
xor edx, edx
dec edx
xor eax, eax
cmp edi, ecx
setb al
cmova eax, edx
cmp eax, 0xffffffff
je 0x1002bd0f
test eax, eax
je 0x1002c58a
test edi, edi
je 0x1002d190
mov ecx, dword [edi + 8]
xor ebx, ebx
mov eax, ecx
and eax, 0xfffffffe
je 0x1002c450
mov edx, dword [eax + 4]
test edx, edx
je 0x1002c450
test byte [edx + 8], 1
je 0x1002c450
mov esi, edi
mov ecx, dword [esp + 0x14]
mov edi, eax
xor eax, eax
cmp edi, ecx
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1002ad50
test edi, edi
je 0x1002cad3
mov eax, dword [edi + 4]
test eax, eax
je 0x1002cad3
test byte [eax + 8], 1
jne 0x1002ad05
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002c859
test byte [ecx + 8], 1
jne 0x1002ad05
jmp 0x1002c859
test eax, eax
jne 0x1002ad6e
xor ecx, ecx
test edi, edi
je 0x1002b5a4
mov eax, dword [edi + 8]
mov ebx, esi
cmp eax, 1
jbe 0x1002b56f
jmp 0x1002ad75
test edi, edi
je 0x1002ad8b
mov eax, dword [edi + 8]
and eax, 0xfffffffe
je 0x1002ad8b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002ad8b
test byte [ecx + 8], 1
jne 0x1002ad05
lea ecx, [esp + 0x80]
mov edx, edi
call fcn.1001ce60
mov eax, dword [esp + 0x80]
cmp dword [esi + 4], edi
je 0x1002c8e5
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
mov edi, esi
jmp 0x1002ad05
lea ecx, [esi + edx]
mov dword [esp + 0x1c], ecx
sub edx, eax
shl edx, 0xc
mov dword [esp + 0x18], edx
add eax, esi
lea esi, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esi
lea ecx, [eax + esi*4]
add ecx, 0x10
mov edx, 0xfff
mov esi, dword [ecx + 8]
and esi, edx
add esi, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [ecx + 8], esi
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
and edx, dword [eax + ecx*4 + 0xc]
add edx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x1002bb43
mov eax, dword [esp + 0x30]
lea eax, [edx + eax*4]
add eax, 0x18
mov dword [esp + 0x1c], eax
lea esi, [esp + 0x88]
xor edx, edx
mov dword [esp + 0x18], edx
mov edx, esi
mov esi, dword [ecx]
test esi, esi
je 0x1002ae63
mov eax, dword [esi + 4]
test al, 1
je 0x1002ae63
mov edi, dword [esi]
test edi, edi
je 0x1002ae63
test byte [edi + 4], 1
jne 0x1002aec0
mov esi, ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, ecx
mov ebx, 0xfffff000
and eax, ebx
mov edi, dword [esi + 8]
and edi, ebx
xor ebx, ebx
cmp eax, edi
seta bl
mov eax, 0xffffffff
cmovb ebx, eax
cmp ebx, 0xffffffff
mov edi, dword [esp + 0x10]
je 0x1002aeae
xor eax, eax
inc eax
test ebx, ebx
jne 0x1002aef0
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x24]
xor eax, eax
cmp ecx, esi
seta cl
jae 0x1002aeee
mov ecx, dword [esi]
xor eax, eax
dec eax
test ecx, ecx
mov ebx, dword [esp + 4]
jne 0x1002ae44
jmp 0x1002af98
and eax, 0xfffffffe
mov dword [ecx], eax
mov edi, ecx
and edi, 0xfffffffe
mov eax, dword [esi]
mov ebx, dword [esi + 4]
and ebx, 1
or ebx, edi
mov dword [esi + 4], ebx
test eax, eax
je 0x1002d643
and byte [eax + 4], 0xfe
cmp dword [edx], ecx
jne 0x1002aef8
mov dword [edx], esi
jmp 0x1002ae65
mov al, cl
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
jmp 0x1002aeb3
and esi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + esi]
mov dword [edx + 4], ecx
test esi, esi
je 0x1002d652
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
cmp dword [esp + 0x18], 0
je 0x1002d15d
mov eax, dword [esp + 0x18]
cmp dword [eax], edx
je 0x1002be57
jmp 0x1002bfc4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov edi, dword [esi + 8]
and edi, ecx
xor ecx, ecx
cmp edx, edi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1002bb15
jmp 0x1002c2ea
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov edx, esi
test ecx, ecx
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x10]
jne 0x1002ae4a
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1002b124
mov eax, dword [esp + 0x24]
mov dword [esi], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x88]
test eax, eax
mov esi, dword [esp + 0x28]
je 0x1002d805
and byte [eax + 4], 0xfe
mov dword [ecx], eax
mov eax, dword [esp + 0x34]
jmp 0x1002ac3d
mov edx, dword [esp + 8]
test byte [esp + 0x3c], 1
je 0x1002b5e9
test edx, edx
je 0x1002b5e9
mov eax, dword [esp + 0xc]
cmp dword [eax], edx
je 0x1002e5b3
mov dword [edx], eax
xor eax, eax
cmp dword [edi + ebx + 0x68], 1
mov edx, 0
je 0x1002b02d
lea ecx, [edi + ebx]
add ecx, 0x68
xor edx, edx
mov esi, dword [esp + 8]
mov dword [esi + edx*4 + 0xc], 0xffffffff
inc edx
mov esi, dword [ecx]
dec esi
cmp edx, esi
jb 0x1002b019
mov ecx, dword [esp + 4]
mov ebx, dword [edi + ecx + 0x64]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor esi, esi
dec esi
shr esi, cl
cmp ebx, 1
mov ebx, dword [esp + 4]
sbb eax, eax
or eax, esi
mov ecx, dword [esp + 8]
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + 4], 0
mov eax, dword [edi + ebx + 0x64]
mov dword [ecx + 8], eax
inc dword [edi + ebx + 0x70]
mov eax, dword [esp + 0xc]
mov dword [eax], ecx
mov edx, ecx
jmp 0x1002769b
mov esi, dword [esp + 0x10]
jmp 0x10028145
push 0
push 0x100000
call fcn.10003720
add esp, 8
jmp 0x10029083
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
and edi, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [esi + 4], ecx
test edi, edi
je 0x1002d390
mov ecx, dword [edi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [edi], esi
mov eax, dword [esi + 4]
and eax, 0xfffffffe
je 0x1002b0d7
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002c30a
mov dword [esi + 4], eax
jmp 0x10028e7e
mov eax, dword [edi + 4]
and eax, 1
mov ecx, eax
mov esi, dword [esp + 0x28]
or ecx, esi
mov dword [edi + 4], ecx
mov ecx, dword [esi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov dword [esi], edi
mov eax, dword [edi + 4]
and eax, 1
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
or byte [edi + 4], 1
cmp dword [edx], edi
jne 0x1002b950
mov eax, dword [esp + 0x28]
mov dword [edx], eax
jmp 0x1002a7e2
mov eax, dword [esi + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x24]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x24]
mov dword [eax], esi
mov ecx, dword [esi + 4]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
add ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
or byte [esi + 4], 1
cmp dword [edx], esi
jne 0x1002b973
mov eax, dword [esp + 0x24]
mov dword [edx], eax
jmp 0x1002afb8
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov edi, dword [esi]
test edi, edi
je 0x1002d5ad
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d5c2
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x10028e20
and edx, 0xfffffffe
je 0x1002d16c
mov ebx, dword [edx]
test ebx, ebx
je 0x1002b1e3
test byte [ebx + 4], 1
jne 0x1002c14a
and eax, 1
or eax, edx
mov dword [ecx + 4], eax
or byte [edx + 4], 1
mov ebx, dword [esi]
test ebx, ebx
je 0x1002d9a7
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d9bc
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
or byte [esi + 4], 1
jmp 0x100288e2
mov edx, dword [esp + 0x14]
test edx, edx
je 0x1002d980
mov eax, dword [esp + 4]
cmp dword [edx], eax
jne 0x1002c06c
mov dword [edx], esi
mov edx, dword [esp + 4]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
cmp dword [ebx], esi
jne 0x1002d98f
mov dword [ebx], 0
jmp 0x10028f74
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10028b80
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002a441
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002ac12
and edx, 1
mov dword [esp + 0x24], edi
mov edi, dword [ecx + 4]
and edi, 0xfffffffe
or edi, edx
mov dword [ecx + 4], edi
mov ecx, dword [esp + 0x24]
and byte [ecx + 4], 0xfe
mov ecx, dword [eax + 4]
mov edi, ecx
and edi, 0xfffffffe
je 0x1002d580
mov edx, dword [edi]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [eax + 4], ecx
mov dword [edi], eax
mov dword [esi], edi
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x10028e02
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
xor edx, edx
test cl, 0x10
cmove edx, dword [esp + 0x38]
xor eax, eax
cmp edx, edi
seta cl
jb 0x1002a1ba
mov al, cl
jmp 0x1002a1b1
xor edx, edx
test cl, 0x10
cmove edx, dword [esp + 0x30]
xor eax, eax
cmp edx, esi
seta cl
jb 0x1002a983
mov al, cl
jmp 0x1002a97e
or edx, 1
mov dword [eax + 4], edx
mov eax, dword [eax]
test eax, eax
je 0x1002b38e
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002bdf7
mov eax, dword [esi + 4]
mov edx, eax
and edx, 0xfffffffe
je 0x1002d736
mov ecx, dword [edx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov dword [edx], esi
mov ebx, dword [esp + 4]
jmp 0x1002ab52
mov esi, dword [esp + 0x54]
shl esi, 0xc
mov eax, esi
and eax, 0xff000
mov edi, 0x100000
sub edi, eax
cmp edi, ecx
mov dword [esp + 0x5c], ecx
cmovae edi, ecx
add esi, dword [esp + 0x30]
jmp 0x10029804
mov edi, dword [esp + 0x38]
shl edi, 0xc
mov eax, edi
and eax, 0xff000
mov esi, 0x100000
sub esi, eax
cmp esi, ecx
mov dword [esp + 0x50], ecx
cmovae esi, ecx
add edi, dword [esp + 0x14]
jmp 0x100299a9
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x38]
test edx, edx
je 0x1002bb70
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x38], 0
lea esi, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x44]
call fcn.10047dd0
mov edx, esi
jmp 0x1002971a
mov edx, dword [edi + 0x38]
test edx, edx
je 0x1002bbca
mov dword [edi + 0x38], 0
lea ebx, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x48]
call fcn.10047dd0
mov edx, ebx
jmp 0x100298ba
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [ebx + 8], edx
jmp 0x10029d7a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002b4a5
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [ebx + 8], 1
and dword [eax + 8], 1
mov ecx, eax
cmp dword [edi + 4], ebx
jne 0x1002be62
mov dword [edi + 4], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 0x34], eax
mov edx, dword [esp + 0x30]
test edx, edx
je 0x1002d9cb
xor eax, eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov edx, dword [esp + 0xc]
test edx, edx
setne al
test byte [esp + 0x48], al
mov eax, dword [esp + 0x20]
jne 0x1002a827
mov dword [eax], 0
push dword [esp + 0x14]
jmp 0x1002b5f7
and esi, 1
mov dword [esp + 0x14], edi
mov edi, dword [ecx + 4]
and edi, 0xfffffffe
or edi, esi
mov dword [ecx + 4], edi
and byte [eax + 4], 0xfe
mov eax, dword [esp + 0x14]
mov edi, eax
mov eax, dword [eax + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002d4c0
mov esi, dword [ecx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [edi + 4], eax
mov dword [ecx], edi
mov dword [edx], ecx
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
mov esi, dword [edx + 4]
mov dword [esp + 0x14], esi
and esi, 0xfffffffe
mov edi, dword [esp + 0x20]
jne 0x10028757
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, dword [edi + 4]
test eax, eax
je 0x1002b5a4
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 [esi + 4], edi
jne 0x1002be75
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x10]
mov dword [edi + 0x34], eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002d9da
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov edx, dword [esp + 8]
test edx, edx
setne al
test byte [esp + 0x3c], al
mov ebx, dword [esp + 4]
jne 0x1002aff5
mov eax, dword [esp + 0xc]
mov dword [eax], 0
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
xor esi, esi
jmp 0x100279e6
mov ebx, dword [ecx + 4]
jmp 0x10029d8d
and ecx, 0xfffffffe
je 0x1002d19f
mov edx, dword [ecx]
test edx, edx
je 0x1002b631
test byte [edx + 4], 1
jne 0x1002c394
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
or byte [ecx + 4], 1
mov edi, dword [esi]
test edi, edi
je 0x1002da3d
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002da52
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
or byte [esi + 4], 1
jmp 0x100295fd
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002aa2d
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d2d0
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0xfffffffe
je 0x1002d502
mov edi, dword [eax]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [edx + 4], esi
mov dword [eax], edx
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
jmp 0x1002a040
mov eax, dword [edi + 4]
cmp eax, 1
ja 0x1002c935
mov eax, dword [edi]
xor ecx, ecx
test eax, eax
je 0x1002a448
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edi], ecx
mov ecx, edi
and ecx, 0xfffffffe
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 0x1002a448
mov eax, dword [esi + 4]
cmp eax, 1
ja 0x1002c945
mov eax, dword [esi]
xor ecx, ecx
test eax, eax
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
je 0x1002ac19
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, esi
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 edx, dword [esp + 0x18]
or byte [esi + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x1002ac19
and ebx, 0xfffffffe
mov dword [eax], ebx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
and edx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
lea ecx, [eax + edx]
mov dword [edi + 4], ecx
test edx, edx
je 0x1002d54d
mov ecx, dword [edx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov dword [edx], edi
mov eax, dword [edi + 4]
and eax, 0xfffffffe
je 0x1002b7e5
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002c5f5
mov dword [edi + 4], eax
jmp 0x1002a3b5
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1002d279
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 0x1002da7f
mov ebx, dword [ecx]
and ebx, 0xfffffffe
and esi, 1
or esi, ebx
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 0x10027c4c
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov esi, dword [eax]
test esi, esi
je 0x1002d28e
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002da8e
mov ebx, dword [ecx]
and ebx, 0xfffffffe
and edi, 1
or edi, ebx
mov dword [eax + 4], edi
mov dword [ecx], eax
mov eax, dword [esi + 4]
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
jmp 0x10029171
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov edx, dword [edi]
test edx, edx
je 0x1002d6c1
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [edi], eax
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d6d6
mov esi, dword [eax]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [edi + 4], ecx
mov dword [eax], edi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002a341
mov ecx, dword [esi]
test ecx, ecx
je 0x1002d10f
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002c252
or eax, 1
mov dword [esi + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x1002b91a
mov edx, dword [eax + 4]
test dl, 1
jne 0x1002c675
or byte [ecx + 4], 1
mov eax, dword [esi + 4]
mov edx, eax
and edx, 0xfffffffe
je 0x1002dbb1
mov ecx, dword [edx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov dword [edx], esi
jmp 0x1002a9ec
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x48]
neg cl
shr edx, cl
jmp 0x10028362
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp edi, ecx
mov ecx, dword [esp + 0x44]
jne 0x1002a7e6
and eax, 1
or eax, dword [esp + 0x28]
mov dword [edx + 4], eax
jmp 0x1002a7e6
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp esi, ecx
mov ecx, dword [esp + 0x48]
jne 0x1002afbc
and eax, 1
or eax, dword [esp + 0x24]
mov dword [edx + 4], eax
jmp 0x1002afbc
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1002d33f
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [ebx], eax
jmp 0x10028a7c
cmp dword [esp + 0x18], 0
je 0x1002dab2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp dword [ecx], eax
jne 0x1002c4a6
mov eax, dword [esp + 0x18]
mov dword [eax], edx
test edx, edx
je 0x1002dac1
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi + 4]
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 8]
cmp dword [eax], edx
jne 0x1002dad0
mov eax, dword [esp + 8]
mov dword [eax], 0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
jmp 0x10028b84
and ecx, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, ecx
mov dword [edx + 4], ebx
and byte [esi + 4], 0xfe
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d6e5
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
mov dword [edi], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [edi], eax
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x1002a323
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
xor edi, edi
mov ecx, dword [esp + 0x2c]
jmp 0x1002987f
mov dword [esp + 0x44], 0
jmp 0x10029a21
and edx, 0xfffffffe
mov dword [eax + 4], edx
mov ebx, dword [esi]
test ebx, ebx
je 0x1002dadd
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002daf2
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x100288e2
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x1002a7ac
jmp 0x1002c5e1
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x1002af7c
jmp 0x1002c5eb
mov eax, dword [esp + 0x28]
mov dword [eax], 0
mov dword [eax + 4], 1
lea edi, [esp + 0x88]
jmp 0x1002a7dc
mov eax, dword [esp + 0x24]
mov dword [eax], 0
mov dword [eax + 4], 1
lea esi, [esp + 0x88]
jmp 0x1002afb2
lea edx, [esp + 0x88]
mov dword [esp + 0x28], edx
jmp 0x10029095
lea eax, [esp + 0x88]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10047a20
add esp, 8
test eax, eax
je 0x1002db01
mov esi, eax
movzx eax, byte [esp + 0x88]
mov ecx, dword [esp + 0x2c]
mov edx, esi
push eax
call fcn.10047940
mov edx, esi
add esp, 4
add edx, 0x2000
jmp 0x1002971a
lea edx, [esp + 0x88]
mov dword [esp + 0x14], edx
jmp 0x10029109
lea eax, [esp + 0x88]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10047a20
add esp, 8
test eax, eax
je 0x1002b5e9
mov esi, eax
movzx eax, byte [esp + 0x88]
mov edi, dword [esp + 0x10]
mov ecx, edi
mov edx, esi
push eax
call fcn.10047940
mov edx, esi
add esp, 4
add edx, 0x2000
jmp 0x100298ba
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 0x100287c4
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
mov edi, dword [esp + 0x10]
or byte [eax + 4], 1
and dword [ecx + 4], 1
jmp 0x100287ee
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002a0fb
mov dword [esp + 4], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
test edx, edx
jne 0x1002c353
mov edi, dword [esp + 8]
lea edx, [edi + 0x28]
mov ecx, dword [esp + 4]
call fcn.10037270
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x38]
mov dword [eax + 0x38], edi
mov edi, dword [esp + 0x20]
jmp 0x10028330
test ebx, ebx
je 0x1002bced
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002bced
xor esi, esi
test byte [eax + 8], 1
jne 0x1002a540
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002bced
test byte [ecx + 8], 1
jne 0x1002a540
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, ebx
call fcn.10001010
mov eax, dword [esi]
test eax, eax
je 0x1002dd58
and byte [eax + 8], 0xfe
xor esi, esi
jmp 0x1002c800
test edi, edi
je 0x1002bd37
mov eax, dword [edi + 4]
test eax, eax
je 0x1002bd37
xor ebx, ebx
test byte [eax + 8], 1
jne 0x1002ad05
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002bd37
test byte [ecx + 8], 1
jne 0x1002ad05
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, edi
call fcn.10001010
mov eax, dword [esi]
test eax, eax
je 0x1002dd67
and byte [eax + 8], 0xfe
xor ebx, ebx
jmp 0x1002c81e
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
and ebx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [esi + 4], ecx
test ebx, ebx
je 0x1002db0a
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, 0xfffffffe
je 0x1002bda0
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002c885
mov dword [esi + 4], eax
jmp 0x100288de
and ebx, 0xfffffffe
mov dword [eax], ebx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
and edx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + edx]
mov dword [esi + 4], ecx
test edx, edx
je 0x1002d520
mov ecx, dword [edx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [edx], esi
mov eax, dword [esi + 4]
and eax, 0xfffffffe
je 0x1002bdef
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002c8b0
mov dword [esi + 4], eax
jmp 0x1002abb4
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov edx, dword [esi]
test edx, edx
je 0x1002d745
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d75a
mov edi, dword [eax]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002b3ab
mov eax, dword [esp + 0x38]
mov dword [eax], edi
jmp 0x1002a77c
mov eax, dword [esp + 0x18]
mov dword [eax], esi
jmp 0x1002af4c
and ecx, 0xfffffffe
mov eax, dword [edi + 8]
and eax, 1
or eax, ecx
mov dword [edi + 8], eax
jmp 0x1002b4b1
and ecx, 0xfffffffe
mov eax, dword [esi + 8]
and eax, 1
or eax, ecx
mov dword [esi + 8], eax
jmp 0x1002b5b0
cmp dword [esp + 0x4c], 0
je 0x1002db19
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
cmp dword [ecx], eax
jne 0x1002c6ca
mov eax, dword [esp + 0x4c]
mov dword [eax], edi
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov dword [edi], eax
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov eax, dword [esp + 0x28]
cmp dword [eax], edi
jne 0x1002db28
mov eax, dword [esp + 0x28]
mov dword [eax], 0
jmp 0x1002a441
cmp dword [esp + 0x40], 0
je 0x1002db35
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
cmp dword [ecx], eax
jne 0x1002c6e3
mov eax, dword [esp + 0x40]
mov dword [eax], esi
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x24]
cmp dword [eax], esi
jne 0x1002db44
mov eax, dword [esp + 0x24]
mov dword [eax], 0
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jmp 0x1002ac19
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov edi, dword [esi]
test edi, edi
je 0x1002db51
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002db66
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x100295fd
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
and eax, 1
or eax, edi
mov dword [ecx + 4], eax
jmp 0x1002a77c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
and eax, 1
or eax, esi
mov dword [ecx + 4], eax
jmp 0x1002af4c
mov esi, dword [esp + 8]
and esi, 0xfffffffe
mov dword [eax], esi
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea esi, [eax + ecx]
mov dword [edx + 4], esi
test ecx, ecx
je 0x1002db75
mov esi, dword [ecx]
and esi, 0xfffffffe
or esi, eax
mov dword [edx + 4], esi
mov dword [ecx], edx
mov edi, dword [edx + 4]
and edi, 0xfffffffe
je 0x1002c1b8
mov eax, dword [edi + 4]
test al, 1
je 0x1002c1b8
mov esi, eax
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov eax, dword [edx + 4]
mov esi, eax
or esi, 1
mov dword [edx + 4], esi
and eax, 0xfffffffe
je 0x1002dc98
mov esi, dword [eax]
or esi, 1
mov dword [edx + 4], esi
mov dword [eax], edx
mov dword [ecx], eax
mov edi, dword [esp + 0x20]
jmp 0x10029303
mov ecx, dword [esp + 0x10]
mov eax, edx
mov edx, dword [ebp + 8]
push eax
push ebx
call fcn.100038c0
jmp 0x1002b088
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002b25c
and ecx, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, ecx
mov dword [edx + 4], ebx
and byte [edi + 4], 0xfe
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d718
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [eax + 4], ecx
mov dword [edx], eax
mov dword [esi], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
mov ebx, dword [esp + 4]
jne 0x1002ab34
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
and edi, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [esi + 4], ecx
test edi, edi
je 0x1002db93
mov ecx, dword [edi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [edi], esi
mov eax, dword [esi + 4]
and eax, 0xfffffffe
je 0x1002c132
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002ca21
mov dword [esi + 4], eax
jmp 0x100295f9
lea ecx, [esp + 0x88]
mov dword [esp + 0x3c], ecx
jmp 0x10029363
and eax, 1
mov dword [esp + 0x14], ebx
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, eax
mov dword [edx + 4], ebx
mov eax, dword [esp + 0x14]
and byte [eax + 4], 0xfe
mov eax, dword [ecx + 4]
mov ebx, eax
and ebx, 0xfffffffe
je 0x1002dbc0
mov edx, dword [ebx]
and edx, 0xfffffffe
and eax, 1
or eax, edx
mov dword [ecx + 4], eax
mov dword [ebx], ecx
mov dword [esi], ebx
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x1002b21f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [edx + 4], edi
mov edi, dword [esp + 0x20]
jmp 0x10029303
mov ecx, esi
mov edx, 0x100000
push 2
call fcn.10003c40
add esp, 4
jmp 0x100279da
and edx, 0xfffffffe
je 0x1002d23a
mov esi, dword [edx]
test esi, esi
je 0x1002c1f3
test byte [esi + 4], 1
jne 0x1002c955
and eax, 1
or eax, edx
mov dword [ecx + 4], eax
or byte [edx + 4], 1
mov edx, dword [edi]
test edx, edx
je 0x1002dbcf
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [edi], eax
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002dbe4
mov esi, dword [eax]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [edi + 4], ecx
mov dword [eax], edi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
or byte [edi + 4], 1
jmp 0x1002a21b
and edx, 0xfffffffe
je 0x1002d24f
mov edi, dword [edx]
test edi, edi
je 0x1002c26b
test byte [edi + 4], 1
jne 0x1002c9bb
and eax, 1
or eax, edx
mov dword [ecx + 4], eax
or byte [edx + 4], 1
mov edx, dword [esi]
test edx, edx
je 0x1002dbf3
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002dc08
mov edi, dword [eax]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
or byte [esi + 4], 1
jmp 0x1002a9ec
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x28]
xor eax, eax
cmp ecx, edi
seta cl
jb 0x1002c5e1
mov al, cl
jmp 0x1002a7ac
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x24]
xor eax, eax
cmp ecx, esi
seta cl
jb 0x1002c5eb
mov al, cl
jmp 0x1002af7c
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1002d381
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [edi], eax
jmp 0x10028e7e
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.10001f00
mov ecx, dword [esi]
jmp 0x1002a0bf
lea edx, [esp + 0x88]
jmp 0x1002953d
cmp dword [edx + 0xc], 0
je 0x1002ca61
mov eax, dword [esp + 8]
mov ecx, dword [eax]
add ecx, 0x34
call fcn.10036da0
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + 0xc]
sub dword [esi + 0x44], edx
sub eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x10]
add dword [ecx + 0x24], 0xfff00000
add eax, 0xfffffffe
mov dword [ecx + 0x28], eax
jmp 0x1002bca2
and eax, 1
mov edi, dword [ecx + 4]
and edi, 0xfffffffe
or edi, eax
mov dword [ecx + 4], edi
and byte [edx + 4], 0xfe
mov eax, dword [ebx + 4]
mov edi, eax
and edi, 0xfffffffe
je 0x1002dc17
mov ecx, dword [edi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
mov dword [edi], ebx
mov dword [esi], edi
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x1002b66d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002dc26
test byte [eax + 8], 1
jne 0x1002c7f1
or ecx, 1
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002c428
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002cb39
or byte [eax + 8], 1
mov ecx, dword [ebx + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002dcc5
mov edx, dword [eax + 4]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 8], ecx
mov dword [eax + 4], ebx
jmp 0x1002c800
mov eax, dword [edi + 4]
test eax, eax
je 0x1002dc3b
test byte [eax + 8], 1
jne 0x1002c80f
or ecx, 1
mov dword [edi + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002c47e
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002cb92
or byte [eax + 8], 1
mov ecx, dword [edi + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002dcd4
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 0x1002c81e
mov eax, edx
and eax, 0xfffffffe
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002b9e2
xor edx, edx
test ebx, ebx
je 0x1002c506
mov ecx, dword [ebx + 8]
cmp ecx, 1
ja 0x1002cbeb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002c506
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [ebx + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 0x34], edx
mov edx, dword [esp + 0x30]
jmp 0x1002b4cb
push 0x1009a770
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x1009a788]
xor eax, eax
dec eax
xor ecx, ecx
mov edx, dword [ebp + 8]
cmp dword [edi + 0x10], edx
setb cl
cmova ecx, eax
test ecx, ecx
je 0x1002c575
cmp ecx, 0xffffffff
je 0x1002c549
mov edi, dword [edi + 0xc]
and edi, 0xfffffffe
jmp 0x1002c52a
mov edi, dword [edi + 8]
jmp 0x1002c52a
mov eax, dword [edi]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x10], ecx
cmp eax, dword [ecx + 8]
je 0x10027566
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode__mArenaId__mNode__mArena__mId_
int3
mov esi, dword [edi + 0x14]
push 0x1009a770
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, esi
jmp 0x10027554
xor edx, edx
test edi, edi
je 0x1002c5d1
mov ecx, dword [edi + 8]
cmp ecx, 1
ja 0x1002cbf7
mov eax, dword [edi + 4]
test eax, eax
je 0x1002c5d1
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 edi, dword [esp + 0x10]
mov dword [edi + 0x34], edx
mov ecx, dword [esp + 0x14]
jmp 0x1002b5ca
mov ecx, dword [edi]
xor eax, eax
dec eax
jmp 0x1002a7b2
mov ecx, dword [esi]
xor eax, eax
dec eax
jmp 0x1002af82
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
mov ecx, eax
or ecx, 1
mov dword [edi + 4], ecx
and eax, 0xfffffffe
je 0x1002d53e
mov ecx, dword [eax]
or ecx, 1
mov dword [edi + 4], ecx
mov dword [eax], edi
mov dword [edx], eax
jmp 0x1002a3b5
and edx, 0xfffffffe
mov dword [eax + 4], edx
mov edx, dword [edi]
test edx, edx
je 0x1002dc50
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [edi], eax
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002dc65
mov esi, dword [eax]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [edi + 4], ecx
mov dword [eax], edi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002a21b
and edx, 0xfffffffe
mov dword [eax + 4], edx
mov edx, dword [esi]
test edx, edx
je 0x1002dc74
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002dc89
mov edi, dword [eax]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002a9ec
mov eax, edi
and eax, 0xfffffffe
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002bea9
mov eax, esi
and eax, 0xfffffffe
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1002bf09
and ebx, 0xfffffffe
mov dword [eax], ebx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
and edx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
lea ecx, [eax + edx]
mov dword [edi + 4], ecx
test edx, edx
je 0x1002dca7
mov ecx, dword [edx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov dword [edx], edi
mov eax, dword [edi + 4]
and eax, 0xfffffffe
je 0x1002c743
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002cc03
mov dword [edi + 4], eax
jmp 0x1002a217
and ebx, 0xfffffffe
mov dword [eax], ebx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
and edx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + edx]
mov dword [esi + 4], ecx
test edx, edx
je 0x1002dcb6
mov ecx, dword [edx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [edx], esi
mov eax, dword [esi + 4]
and eax, 0xfffffffe
je 0x1002c792
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002cc2e
mov dword [esi + 4], eax
jmp 0x1002a9e8
mov esi, eax
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d36c
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0xfffffffe
je 0x1002dce3
mov edi, dword [eax]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [edx + 4], esi
mov dword [eax], edx
mov edx, dword [ecx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
jmp 0x1002a0bf
lea edi, [esp + 0x70]
mov ecx, edi
mov edx, ebx
call fcn.1001ce60
mov eax, dword [edi]
lea ebx, [esp + 0x88]
mov dword [ebx + 4], eax
jmp 0x1002a540
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, edi
call fcn.1001ce60
mov eax, dword [esi]
lea edi, [esp + 0x88]
mov dword [edi + 4], eax
jmp 0x1002ad05
lea ecx, [esp + 0x84]
mov edx, ebx
call fcn.10001010
mov eax, dword [esp + 0x84]
cmp dword [edi + 4], ebx
jne 0x1002dcf2
mov dword [edi + 4], eax
mov ebx, eax
mov ecx, dword [esp + 0x30]
jmp 0x1002a548
lea ecx, [esp + 0x84]
mov edx, edi
call fcn.10001010
mov eax, dword [esp + 0x84]
cmp dword [esi + 4], edi
jne 0x1002dd07
mov dword [esi + 4], eax
mov edi, eax
mov ecx, dword [esp + 0x14]
jmp 0x1002ad0d
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1002dd1c
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [ebx], eax
jmp 0x100288de
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1002d52f
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [edx], eax
jmp 0x1002abb4
mov dword [edi + 4], eax
mov ebx, edi
jmp 0x1002a540
mov dword [esi + 4], eax
mov edi, esi
jmp 0x1002ad05
lea ecx, [esp + 0x88]
mov dword [esp + 0x18], ecx
jmp 0x1002a05c
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov esi, dword [eax + 4]
and esi, 1
or esi, ecx
mov dword [eax + 4], esi
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [eax + 4], esi
mov ecx, dword [esp + 0x10]
or byte [edx + 4], 1
and dword [eax + 4], 1
mov esi, eax
jmp 0x10029a61
lea ecx, [esp + 0x88]
mov dword [esp + 0x4c], ecx
jmp 0x1002a8c0
lea ecx, [esp + 0x88]
mov dword [esp + 0x40], ecx
jmp 0x1002aa0a
and eax, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, eax
mov dword [edx + 4], ebx
and byte [esi + 4], 0xfe
mov eax, dword [ecx + 4]
mov edx, eax
and edx, 0xfffffffe
je 0x1002dd2b
mov esi, dword [edx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [ecx + 4], eax
mov dword [edx], ecx
mov dword [edi], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [edi], eax
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x1002c22f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and eax, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, eax
mov dword [edx + 4], ebx
and byte [edi + 4], 0xfe
mov eax, dword [ecx + 4]
mov edx, eax
and edx, 0xfffffffe
je 0x1002dd3a
mov edi, dword [edx]
and edi, 0xfffffffe
and eax, 1
or eax, edi
mov dword [ecx + 4], eax
mov dword [edx], ecx
mov dword [esi], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x1002c2a7
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1002dd49
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [edi], eax
jmp 0x100295f9
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x10]
call fcn.10003b30
mov esi, dword [esp + 0x20]
jmp 0x100279e6
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
jmp 0x1002c37e
test esi, esi
je 0x1002dd76
mov eax, dword [esp + 0x30]
cmp dword [esi + 4], eax
jne 0x1002cd66
mov dword [esi + 4], ebx
cmp dword [esp + 0x30], 0
je 0x1002dd91
test ebx, ebx
je 0x1002ddb0
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
mov dword [ebx + 4], eax
mov eax, dword [edx + 8]
and eax, 0xfffffffe
mov ecx, dword [ebx + 8]
and ecx, 1
or ecx, eax
mov dword [ebx + 8], ecx
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [ebx + 8], ecx
cmp dword [edi + 4], ebx
jne 0x1002dda7
mov dword [edi + 4], 0
jmp 0x1002b4b1
test ebx, ebx
je 0x1002ddbf
mov eax, dword [esp + 0x14]
cmp dword [ebx + 4], eax
jne 0x1002cd7b
mov dword [ebx + 4], edi
cmp dword [esp + 0x14], 0
je 0x1002ddda
test edi, edi
je 0x1002ddf9
mov edx, dword [esp + 0x14]
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 [esi + 4], edi
jne 0x1002ddf0
mov dword [esi + 4], 0
jmp 0x1002b5b0
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002de08
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1002de1e
mov edi, dword [ecx + 4]
and edi, 0xfffffffe
and edx, 1
or edx, edi
mov dword [ebx + 8], edx
mov dword [ecx + 4], ebx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x1002c800
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x1002de2d
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 0x1002de43
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 0x1002c81e
lea esi, [esp + 0x88]
jmp 0x1002a520
lea ebx, [esp + 0x88]
jmp 0x1002ace5
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
mov ecx, eax
or ecx, 1
mov dword [edi + 4], ecx
and eax, 0xfffffffe
je 0x1002de52
mov ecx, dword [eax]
or ecx, 1
mov dword [edi + 4], ecx
mov dword [eax], edi
mov dword [edx], eax
jmp 0x1002a217
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1002de61
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [edx], eax
jmp 0x1002a9e8
mov ecx, edi
jmp 0x100297f5
mov byte [ecx + 0x3c], 0
lea eax, [esp + 0x88]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea esi, [esp + 0x70]
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.1000c400
xor edx, edx
cmp byte [esi + 8], 0
mov ecx, 0
mov esi, 0
je 0x1002cca5
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
cmp byte [esp + 0x90], 0
mov edi, 0
je 0x1002ccc2
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x3c], 1
mov edi, dword [esp + 0x18]
jmp 0x10027803
mov dword [esp + 0xc], esi
mov byte [edi + 0x3c], 0
lea eax, [esp + 0x88]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea esi, [esp + 0x70]
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.1000c400
xor edx, edx
cmp byte [esi + 8], 0
mov ecx, 0
mov esi, 0
je 0x1002cd2a
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
cmp byte [esp + 0x90], 0
mov edi, 0
je 0x1002cd47
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov edi, dword [esp + 0x10]
mov dword [edi + 0x40], eax
mov byte [edi + 0x3c], 1
mov esi, dword [esp + 0xc]
jmp 0x10027679
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [esi + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
jmp 0x1002ca85
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [ebx + 8]
and ecx, 1
or ecx, eax
mov dword [ebx + 8], ecx
jmp 0x1002caeb
mov dword [esp + 4], ebx
push 0x1009a808
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x1009a804]
test eax, eax
jne 0x1002cf75
mov eax, dword [0x1009a3c8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1009a810]
mov dword [esp + 0x10], ecx
cmp eax, dword [ecx + 4]
jle 0x1002ce05
push 0x1009a810
call fcn.10046148
add esp, 4
cmp dword [0x1009a810], 0xffffffff
jne 0x1002ce05
lea esi, [esp + 0x88]
push esi
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esi + 4]
mov dword [0x1009a80c], eax
push 0x1009a810
call fcn.100460fe
add esp, 4
mov eax, 0x1000
xor edx, edx
div dword [0x1009a80c]
test edx, edx
jne 0x1002de98
mov ebx, 0x1009a814
push 0x40
push ebx
push str.MALLOC_OPTIONS
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
cmove ebx, eax
je 0x1002ce70
mov al, byte [ebx]
test al, al
je 0x1002ce70
xor esi, esi
movsx eax, al
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1002dee2
xor edi, edi
inc edi
mov al, byte [ebx + esi]
movsx ecx, al
cmp ecx, 0x72
jne 0x1002de70
mov byte [0x1009a76c], 1
dec edi
jne 0x1002ce4e
mov al, byte [ebx + esi + 1]
inc esi
test al, al
jne 0x1002ce3c
mov dword [0x1009a7d0], 0
mov edi, 0x1388
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
push edi
push 0x1009a7b0
call esi
xor ebx, ebx
mov dword [0x1009a7c8], ebx
mov dword [0x1009a7cc], ebx
push edi
push 0x1009a770
call esi
mov dword [0x1009a788], ebx
mov dword [0x1009a78c], ebx
mov dword [0x1009a790], ebx
push edi
push 0x1009a7d4
call esi
mov dword [0x1009a800], ebx
mov dword [0x1009a7f8], ebx
mov dword [0x1009a74c], ebx
mov dword [0x1009a750], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x94], ebx
mov eax, dword [0x1009a024]
mov dword [esp + 0x88], eax
push edi
push 0x1009a72c
call esi
test eax, eax
je 0x1002debc
lea edx, [esp + 0x88]
xor ecx, ecx
call fcn.1003b4f0
mov dword [0x1009a744], eax
test eax, eax
je 0x1002ded2
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + 8]
mov dword [ecx], eax
push 0x1388
push 0x1009a794
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x4000
call fcn.1000c400
test eax, eax
je 0x1002dec8
mov esi, eax
push 0x4000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x1009a7ac], esi
xor eax, eax
inc eax
xchg dword [0x1009a804], eax
call fcn.10002140
push 0x1009a808
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ebx, dword [esp + 4]
jmp 0x1002761b
or edx, 1
mov dword [esi + 4], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
or ecx, 1
mov dword [esi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or edi, 1
mov dword [eax + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or ecx, 1
mov dword [esi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or ecx, 1
mov dword [edi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or ecx, 1
mov dword [esi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or ecx, 1
mov dword [esi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or eax, 1
mov dword [esi + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
and edx, 1
mov dword [eax + 4], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or eax, 1
mov dword [esi + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and edx, 1
mov dword [eax + 4], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or ecx, 1
mov dword [edi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or ecx, 1
mov dword [esi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or esi, 1
mov dword [edx + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or eax, 1
mov dword [edi + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or eax, 1
mov dword [esi + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
and eax, 1
mov dword [ecx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and eax, 1
mov dword [ebx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov ebx, 1
jmp 0x1002750b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_malloc_initialized_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__aArena__arena__aArena_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__mapelm__bits____size_t_0x20U____0___Freeing_in_decommitted_page._
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__mapelm__bits____size_t_0x01U_____0___Double_free__
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__run__mRegionsMask_elm____1U____bit____0___Double_free__
int3
lea eax, [eax + 8]
mov edi, dword [0x1009a744]
mov dword [eax], edi
jmp 0x10027644
and eax, 1
mov dword [ecx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and eax, 1
mov dword [ecx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
dec dword [edx + 8]
jmp 0x1002b4f0
dec dword [edx + 8]
jmp 0x1002b5f3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_run_ind___gChunkNumPages___1_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and esi, 1
mov dword [edi + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, ecx
and eax, 0xfffffffe
mov dword [esp + 8], edx
mov edx, dword [esp + 8]
mov edx, dword [edx + 4]
and edx, 1
or edx, eax
mov eax, dword [esp + 8]
mov dword [eax + 4], edx
jmp 0x100285f9
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x100288ef
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [edi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [edi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, ecx
jmp 0x100296fb
mov eax, ecx
mov edi, dword [esp + 0x10]
jmp 0x1002989b
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x10028d06
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002a228
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov ecx, dword [esp + 0x10]
jmp 0x10029a61
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002aa31
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esp + 0x64], edi
mov dword [esp + 0x54], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x1002d87f
cmp eax, 8
jne 0x1002d8d4
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea esi, [eax + eax*4]
add esi, 5
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x6c]
push dword [esp + 0x60]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test edi, edi
jne 0x1002d9e9
cmp eax, 0x5af
je 0x1002d8ca
cmp eax, 8
jne 0x1002d8d4
xor eax, eax
dec esi
jne 0x1002d891
jmp 0x10029846
xor eax, eax
jmp 0x10029846
mov dword [esp + 0x58], esi
mov dword [esp + 0x38], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5af
je 0x1002d8f5
cmp eax, 8
jne 0x1002d94e
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea edi, [eax + eax*4]
add edi, 5
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x60]
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x1002da11
cmp eax, 0x5af
je 0x1002d940
cmp eax, 8
jne 0x1002d94e
xor eax, eax
dec edi
mov ebx, dword [esp + 4]
jne 0x1002d907
jmp 0x100299eb
xor eax, eax
mov ebx, dword [esp + 4]
jmp 0x100299eb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
and dword [eax + 4], 1
jmp 0x10028bf6
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
and dword [ebx + 4], 1
jmp 0x10028f74
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
cmp eax, 0x5af
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
je 0x1002da05
cmp eax, 8
jne 0x10029825
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10029825
cmp eax, 0x5af
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
je 0x1002da31
cmp eax, 8
jne 0x100299ca
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x100299ca
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, dword [esp + 8]
and dword [eax + 4], 1
jmp 0x1002ba24
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov eax, dword [esp + 0x20]
jmp 0x1002b4ea
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov eax, dword [esp + 0x28]
and dword [eax + 4], 1
jmp 0x1002a441
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov eax, dword [esp + 0x24]
and dword [eax + 4], 1
jmp 0x1002bf43
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [edi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
or ecx, 1
mov dword [ebx + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
or ecx, 1
mov dword [edi + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [edi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [esi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
jmp 0x1002c84e
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
jmp 0x1002c87a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test ebx, ebx
je 0x1002ddb0
mov dword [ebx + 4], 0
and dword [ebx + 8], 1
xor ecx, ecx
jmp 0x1002cabb
and dword [edi + 8], 1
jmp 0x1002b4b1
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test edi, edi
je 0x1002ddf9
mov dword [edi + 4], 0
and dword [edi + 8], 1
xor ecx, ecx
jmp 0x1002cb21
and dword [esi + 8], 1
jmp 0x1002b5b0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [ebx + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [edi + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
cmp ecx, 0x46
jne 0x1002df05
mov eax, dword [0x1009a024]
test eax, eax
je 0x1002df26
add eax, eax
je 0x1002ce64
mov dword [0x1009a024], eax
jmp 0x1002ce64
mov ecx, str._jemalloc_
mov edx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.1004cde0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov dword [0x1009a744], 0
jmp 0x1002ded2
mov dword [0x1009a7ac], 0
push 0x1009a808
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1002b5fd
xor edi, edi
lea ecx, [edi + edi*4]
lea edi, [eax + ecx*2]
movsx eax, byte [ebx + esi + 1]
inc esi
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1002dee4
test edi, edi
je 0x1002ce67
jmp 0x1002ce4e
cmp ecx, 0x52
jne 0x1002df16
mov byte [0x1009a76c], 0
jmp 0x1002ce64
cmp ecx, 0x66
jne 0x1002df35
shr dword [0x1009a024], 1
jmp 0x1002ce64
mov dword [0x1009a024], 1
jmp 0x1002ce64
lea ecx, [esp + 0x88]
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 + 0x88]
mov edx, 0x10090196
call fcn.1004cde0
jmp 0x1002ce64
int3
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov eax, edx
xor ecx, ecx
cmp edx, edi
setb cl
mov edx, 0xffffffff
cmova ecx, edx
cmp ecx, 0xffffffff
jne 0x1002dfe3
test eax, eax
je 0x1002e272
mov edx, dword [eax]
test edx, edx
je 0x1002e272
mov ecx, dword [edx + 4]
test cl, 1
jne 0x1002dfdf
mov dword [esp + 0xc], esi
mov esi, dword [edx]
test esi, esi
je 0x1002e003
test byte [esi + 4], 1
je 0x1002e003
mov esi, eax
jmp 0x1002df9f
test ecx, ecx
jne 0x1002e04e
xor edx, edx
test eax, eax
je 0x1002e120
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], esi
cmp ecx, 1
jbe 0x1002e11a
jmp 0x1002e059
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002e3a1
mov edx, dword [ecx]
test edx, edx
je 0x1002e029
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002e198
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 + 0xc]
cmp dword [esi], eax
jne 0x1002df8f
mov dword [esi], edx
jmp 0x1002df9f
test eax, eax
je 0x1002e3fe
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], esi
mov edx, ecx
and edx, 0xfffffffe
je 0x1002e074
mov esi, dword [edx]
test esi, esi
je 0x1002e074
test byte [esi + 4], 1
jne 0x1002dfdf
mov esi, dword [eax]
test esi, esi
je 0x1002e3fe
mov edx, dword [esi + 4]
test dl, 1
je 0x1002e221
mov dword [esp + 0x3c], esi
and edx, 0xfffffffe
je 0x1002e40d
mov esi, dword [edx]
test esi, esi
je 0x1002e0a7
test byte [esi + 4], 1
jne 0x1002e2c3
and ecx, 1
or ecx, edx
mov esi, dword [esp + 0x3c]
mov dword [esi + 4], ecx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1002e3b6
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 ebx, dword [eax + 4]
mov ecx, ebx
and ecx, 0xfffffffe
je 0x1002e426
mov esi, dword [ecx]
and esi, 0xfffffffe
and ebx, 1
or ebx, esi
mov dword [eax + 4], ebx
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 esi, dword [esp + 0xc]
cmp dword [esi], eax
jne 0x1002e25b
mov dword [esi], edx
mov eax, esi
jmp 0x1002dfdf
mov ecx, dword [eax]
test ecx, ecx
jne 0x1002e161
cmp dword [esi], eax
jne 0x1002e206
mov dword [esi], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov dword [edx], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov edx, 0xfffff000
and edx, dword [edi + 8]
mov eax, dword [esp + 0x20]
mov dword [eax], edx
test edx, edx
mov edi, dword [esp + 0x18]
jne 0x10027831
jmp 0x1002b4f0
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov dword [esp + 0xc], esi
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
mov esi, dword [esp + 0xc]
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x1002e120
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 0x1002e3ef
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 0x1002e219
mov ebx, dword [ecx + 4]
test bl, 1
je 0x1002e219
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 0x1002e3e0
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1002e03b
and edx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
or eax, edx
mov dword [esi + 4], eax
jmp 0x1002e12a
mov dword [eax + 4], ecx
jmp 0x1002e03b
or edx, 1
mov dword [esi + 4], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x1002e239
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002e32d
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002e435
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x1002e105
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 0x1002dfdf
mov edx, dword [esp + 0x28]
test edx, edx
je 0x1002e462
cmp dword [edx], edi
jne 0x1002e382
mov dword [edx], eax
test eax, eax
je 0x1002e471
mov ecx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
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
cmp dword [esi], eax
jne 0x1002e480
mov dword [esi], 0
jmp 0x1002e12a
and ecx, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, ecx
mov dword [edx + 4], ebx
and byte [esi + 4], 0xfe
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebx + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002e444
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [ebx + 4], ecx
mov dword [edx], ebx
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 ebx, dword [eax + 4]
mov ecx, ebx
and ecx, 0xfffffffe
jne 0x1002e0e7
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1002e3cb
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 0x1002e453
mov ebx, dword [ecx]
and ebx, 0xfffffffe
and esi, 1
or esi, ebx
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
jmp 0x1002e105
mov ecx, eax
and ecx, 0xfffffffe
mov dword [esp + 0xc], esi
mov esi, edx
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov esi, dword [esp + 0xc]
jmp 0x1002e288
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and ecx, 1
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and dword [esi + 4], 1
jmp 0x1002e12a
mov dword [esp + 8], eax
mov eax, esi
mov esi, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, esi
setb cl
mov edx, 0xffffffff
cmova ecx, edx
cmp ecx, 0xffffffff
jne 0x1002e522
test eax, eax
je 0x1002e77c
mov esi, dword [eax]
test esi, esi
je 0x1002e77c
mov ecx, dword [esi + 4]
test cl, 1
jne 0x1002e489
mov edi, dword [esi]
test edi, edi
je 0x1002e4d1
test byte [edi + 4], 1
jne 0x1002e56f
mov dword [esp + 4], ebx
or ecx, 1
mov dword [esi + 4], ecx
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002e8b7
mov edx, dword [ecx]
test edx, edx
mov esi, dword [esp + 0x1c]
jne 0x1002e542
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 edx, ecx
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp dword [ecx], eax
mov edi, dword [esp + 0x10]
jne 0x1002e97d
mov dword [ecx], edx
mov eax, edx
jmp 0x1002e493
test ecx, ecx
jne 0x1002e54f
mov ecx, esi
test eax, eax
je 0x1002e974
mov edx, dword [eax + 4]
mov esi, dword [esp + 8]
mov dword [esp + 0x14], esi
cmp edx, 1
jbe 0x1002e578
jmp 0x1002e55a
mov ebx, dword [edx + 4]
test bl, 1
je 0x1002e4f3
jmp 0x1002e6a2
test eax, eax
je 0x1002e914
mov edx, dword [eax + 4]
mov esi, edx
and esi, 0xfffffffe
mov ecx, edx
je 0x1002e5c6
mov edi, dword [esi]
test edi, edi
je 0x1002e5c6
test byte [edi + 4], 1
je 0x1002e5c6
mov edi, dword [esp + 0x10]
jmp 0x1002e489
mov esi, ecx
mov ecx, dword [eax]
test ecx, ecx
mov edx, 0
jne 0x1002e66c
mov ecx, dword [esp + 8]
cmp dword [ecx], eax
jne 0x1002e710
mov dword [ecx], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x88]
mov dword [ecx], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov edx, 0xfffff000
and edx, dword [esi + 8]
mov eax, dword [esp + 0xc]
mov dword [eax], edx
test edx, edx
jne 0x1002769b
jmp 0x1002b5f3
mov esi, dword [eax]
test esi, esi
je 0x1002e914
mov edx, dword [esi + 4]
test dl, 1
je 0x1002e72b
and edx, 0xfffffffe
je 0x1002e923
mov edi, dword [edx]
test edi, edi
mov dword [esp + 4], ebx
je 0x1002e5f9
test byte [edi + 4], 1
jne 0x1002e7d5
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
or byte [edx + 4], 1
mov esi, dword [eax]
test esi, esi
je 0x1002e8cc
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002e938
mov ebx, dword [ecx]
and ebx, 0xfffffffe
and edi, 1
or edi, ebx
mov dword [eax + 4], edi
mov dword [ecx], eax
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
or byte [eax + 4], 1
mov ebx, dword [esp + 4]
mov edi, dword [esp + 8]
cmp dword [edi], eax
jne 0x1002e765
mov dword [edi], esi
mov eax, edi
jmp 0x1002e56f
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
mov edi, dword [esp + 0x10]
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x1002e589
and ebx, 0xfffffffe
mov dword [ecx], ebx
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
and edx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea edi, [ecx + edx]
mov dword [eax + 4], edi
test edx, edx
je 0x1002e905
mov edi, dword [edx]
and edi, 0xfffffffe
or edi, ecx
mov dword [eax + 4], edi
mov dword [edx], eax
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
je 0x1002e723
mov ebx, dword [ecx + 4]
test bl, 1
je 0x1002e723
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov ecx, dword [eax + 4]
mov edi, ecx
or edi, 1
mov dword [eax + 4], edi
and ecx, 0xfffffffe
je 0x1002e8f6
mov edi, dword [ecx]
or edi, 1
mov dword [eax + 4], edi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1002e505
and edx, 0xfffffffe
mov eax, dword [ecx + 4]
and eax, 1
or eax, edx
mov dword [ecx + 4], eax
jmp 0x1002e597
mov dword [eax + 4], ecx
jmp 0x1002e505
or edx, 1
mov dword [esi + 4], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x1002e743
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002e83d
mov ecx, dword [eax + 4]
mov esi, ecx
and esi, 0xfffffffe
je 0x1002e947
mov edi, dword [esi]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [eax + 4], ecx
mov dword [esi], eax
jmp 0x1002e657
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov eax, edi
jmp 0x1002e56f
mov edx, dword [esp + 0x14]
test edx, edx
je 0x1002e99a
mov esi, dword [esp + 0x1c]
cmp dword [edx], esi
jne 0x1002e896
mov dword [edx], eax
test eax, eax
je 0x1002e9a9
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 + 8]
cmp dword [ecx], eax
jne 0x1002e9b8
mov dword [ecx], 0
jmp 0x1002e597
and ecx, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, ecx
mov dword [edx + 4], ebx
and byte [edi + 4], 0xfe
mov ecx, dword [esi + 4]
mov edx, esi
mov esi, ecx
and esi, 0xfffffffe
je 0x1002e956
mov edi, dword [esi]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [edx + 4], ecx
mov dword [esi], edx
mov dword [eax], esi
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
jne 0x1002e635
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov esi, dword [eax]
test esi, esi
je 0x1002e8e1
mov dword [esp + 4], ebx
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002e965
mov ebx, dword [ecx]
and ebx, 0xfffffffe
and edi, 1
or edi, ebx
mov dword [eax + 4], edi
mov dword [ecx], eax
mov edi, dword [esi + 4]
and edi, 1
or edi, ecx
mov dword [esi + 4], edi
jmp 0x1002e653
mov ecx, eax
and ecx, 0xfffffffe
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], edx
jmp 0x1002e796
or edi, 1
mov dword [eax + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
and ecx, 1
mov dword [esi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002d06b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
mov esi, ecx
xor edx, edx
jmp 0x1002e589
mov eax, edx
and eax, 0xfffffffe
mov esi, ecx
mov ecx, dword [ecx + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov esi, dword [esp + 0x1c]
mov eax, edx
jmp 0x1002e493
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002cfa8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002df84
and dword [ecx + 4], 1
jmp 0x1002e597