Function at 0x10026b30
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 dword [esp + 8], edx
mov edi, ecx
mov edx, dword [ebp + 8]
mov eax, dword [0x100a500c]
xor eax, ebp
mov dword [esp + 0xb0], eax
test edx, edx
je 0x1002caee
mov eax, dword [0x100a580c]
cmp dword [esp + 8], 0
mov dword [esp + 0x20], edx
je 0x10026ef3
test eax, eax
je 0x1002cb1d
mov eax, dword [esp + 8]
mov ebx, eax
and ebx, 0xfff00000
cmp ebx, eax
mov dword [esp + 0x10], ebx
je 0x1002bcca
shr eax, 0xc
movzx eax, al
lea eax, [eax + eax*2]
mov eax, dword [ebx + eax*4 + 0x18]
mov edx, eax
and edx, 0xfffff000
test al, 2
jne 0x10026bb0
mov eax, dword [edx]
mov edx, dword [eax + 8]
cmp edx, 0xfd000
ja 0x1002bd03
mov esi, dword [ebx]
mov eax, dword [edi]
test eax, eax
mov ebx, dword [esp + 0x20]
je 0x10026bd0
cmp esi, eax
jne 0x1002cbde
cmp ebx, 0xfd000
ja 0x1002b985
cmp ebx, 8
jbe 0x10027b80
cmp ebx, 0x1f0
ja 0x1002703e
lea edi, [ebx + 0xf]
and edi, 0xfffffff0
xor eax, eax
cmp edi, edx
sete cl
cmp edx, 0xfd001
jae 0x10029866
test cl, cl
jne 0x10027270
lea ecx, [edx - 0xf01]
cmp ecx, 0xfc100
setae cl
xor al, 1
or al, cl
mov dword [esp + 0x24], edx
je 0x1002769e
cmp byte [esi + 0x41], 0
mov ecx, esi
mov dword [esp + 0x14], esi
jne 0x1002715e
cmp ebx, 0x1f1
jae 0x10027158
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1002cbf3
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1002cbfd
cmp ebx, 9
mov dword [esp + 0x1c], ecx
jb 0x10027bac
cmp ebx, 0x1f1
jae 0x100272a4
lea edi, [ebx + 0xf]
mov eax, edi
and eax, 0xfffffff0
mov dword [esp + 0x28], eax
shr edi, 4
shl edi, 5
cmp byte [ecx + 0x40], 0
mov dword [esp + 0xc], edi
je 0x10026cc3
cmp dword [ecx + 0x44], 0
je 0x1002c4d6
lea eax, [ecx + edi]
add eax, 0x5c
lea ebx, [ecx + 0xc]
cmp dword [ecx + 0x24], 0
jne 0x10026ce1
push ebx
mov esi, eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, esi
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax]
test esi, esi
mov dword [esp + 0x34], ebx
je 0x100272dc
cmp dword [esi + 8], 0
je 0x100272dc
mov eax, dword [esi + 4]
mov edx, dword [esi + eax*4 + 0xc]
test edx, edx
je 0x100275d2
mov edi, dword [ecx + 0x44]
test edi, edi
jne 0x1002705b
tzcnt ebx, edx
mov edi, eax
shl edi, 5
or edi, ebx
btc edx, ebx
mov ebx, eax
mov eax, dword [esp + 0xc]
imul edi, dword [ecx + eax + 0x64]
mov eax, dword [ecx + eax + 0x70]
mov dword [esi + ebx*4 + 0xc], edx
add eax, esi
add edi, eax
dec dword [esi + 8]
test edi, edi
je 0x1002cb86
mov eax, dword [esp + 0x28]
add dword [ecx + 0x30], eax
xor ebx, ebx
mov esi, dword [esp + 0x14]
cmp dword [ecx + 0x24], 0
jne 0x10026d60
push dword [esp + 0x34]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test bl, bl
mov ebx, dword [esp + 0x20]
jne 0x1002d867
test edi, edi
je 0x1002d867
mov eax, dword [esp + 0x24]
cmp eax, ebx
cmovb ebx, eax
push ebx
mov ebx, dword [esp + 0xc]
push ebx
mov dword [esp + 0xc], edi
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
and ebx, 0xfffff
je 0x1002c220
mov edx, dword [esp + 0x10]
cmp dword [edx], esi
jne 0x1002cb32
mov edi, esi
mov esi, ebx
shr esi, 0xc
lea eax, [esi + esi*2]
mov dword [esp + 0x24], eax
mov ecx, dword [edx + eax*4 + 0x18]
mov eax, ecx
and eax, 0xfffff000
test cl, 2
mov dword [esp + 0xc], ebx
jne 0x10026dcf
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x24]
lea ecx, [edx + ecx*4]
add ecx, 0x18
mov dword [esp + 0x20], ecx
push eax
push 0xe5
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, edi
lea ebx, [edi + 0xc]
cmp dword [edi + 0x24], 0
jne 0x10026e01
push ebx
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test al, 0x20
jne 0x1002cb47
mov dword [esp + 0x1c], ebx
test al, 1
je 0x1002cb5c
mov ebx, eax
and ebx, 0xfffff000
test al, 2
jne 0x100277cf
mov edx, dword [ebx]
mov ecx, dword [edx + 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0x14]
add ecx, ebx
mov esi, dword [esp + 8]
sub esi, ecx
mov dword [esp + 0x20], edx
movzx edx, word [edx + 0x1c]
imul edx, esi
mov ecx, edx
shr ecx, 0x11
shr edx, 0x16
cmp edx, dword [ebx + 4]
jb 0x1002762c
mov esi, dword [ebx + edx*4 + 0xc]
mov edi, 1
shl edi, cl
bt esi, ecx
jb 0x1002cb71
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 + 0x20]
cmp edx, dword [esi + 0xc]
mov edx, esi
je 0x10027dd4
mov dword [esp + 8], 0
test ecx, ecx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
je 0x1002717d
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
sub dword [esi + 0x30], eax
cmp dword [esi + 0x24], 0
jne 0x10026ebd
push ebx
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x1002bb27
mov dword [esp + 8], edi
mov eax, dword [esp + 8]
mov esi, eax
test eax, eax
je 0x1002d867
mov ecx, dword [esp + 0xb0]
xor ecx, ebp
call fcn.1004fb50
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test eax, eax
je 0x1002c62a
mov esi, dword [edi]
test esi, esi
jne 0x10028916
cmp edx, 0x1f1
jae 0x10028910
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1002cb8f
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x1002cb9d
cmp edx, 9
jb 0x10027beb
cmp edx, 0x1f1
jae 0x100272c0
add edx, 0xf
mov eax, edx
and eax, 0xfffffff0
mov dword [esp + 0x10], eax
shr edx, 4
shl edx, 5
cmp byte [esi + 0x40], 0
mov dword [esp + 0x20], edx
mov dword [esp + 4], esi
je 0x10026f89
cmp dword [esi + 0x44], 0
je 0x1002c557
lea ecx, [esi + edx]
add ecx, 0x5c
lea ebx, [esi + 0xc]
cmp dword [esi + 0x24], 0
jne 0x10026fa3
push ebx
mov edi, ecx
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, edi
mov edx, dword [ecx]
test edx, edx
mov dword [esp + 0x14], ebx
je 0x100273a7
cmp dword [edx + 8], 0
je 0x100273a7
mov eax, dword [edx + 4]
mov dword [esp + 8], edx
mov edx, dword [edx + eax*4 + 0xc]
test edx, edx
je 0x10027634
mov esi, dword [esi + 0x44]
test esi, esi
jne 0x100270d4
tzcnt ebx, edx
mov esi, dword [esp + 4]
mov edi, eax
shl edi, 5
or edi, ebx
btc edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x20]
imul edi, dword [esi + eax + 0x64]
mov eax, dword [esi + eax + 0x70]
mov ecx, dword [esp + 8]
mov dword [ecx + ebx*4 + 0xc], edx
mov edx, ecx
add eax, ecx
add edi, eax
dec dword [edx + 8]
mov dword [esp + 8], edi
test edi, edi
je 0x1002cdf9
mov eax, dword [esp + 0x10]
add dword [esi + 0x30], eax
xor ebx, ebx
mov edi, dword [esp + 0x14]
cmp dword [esi + 0x24], 0
jne 0x10027031
push edi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test bl, bl
je 0x10026ecd
jmp 0x1002d867
cmp ebx, 0xf00
ja 0x10027145
lea edi, [ebx + 0xff]
and edi, 0xffffff00
jmp 0x10026bf7
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], esi
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov ebx, eax
shld ebx, ecx, 0x17
mov esi, ecx
shl esi, 0x17
xor esi, ecx
mov ecx, dword [edi + 0xc]
xor ebx, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, ebx
mov dword [esp + 4], ebx
shr ebx, 0x11
xor ebx, eax
mov eax, dword [edi + 8]
mov dword [edi + 4], ecx
shld dword [esp + 4], esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, dword [esp + 4]
mov dword [edi], eax
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ecx
add ecx, eax
mov esi, edx
ror esi, cl
test esi, esi
je 0x10027290
tzcnt ebx, esi
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
add ebx, ecx
and ebx, 0x1f
mov ecx, dword [esp + 0x1c]
jmp 0x10026d17
mov dword [esp + 0x1c], eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebx, eax
shld ebx, ecx, 0x17
mov edi, ecx
shl edi, 0x17
xor edi, ecx
mov ecx, dword [esi + 0xc]
xor ebx, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, ebx
mov dword [esp + 0x24], ebx
shr ebx, 0x11
xor ebx, eax
mov eax, dword [esi + 8]
mov dword [esi + 4], ecx
shld dword [esp + 0x24], edi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, edi
xor ecx, dword [esp + 0x24]
mov dword [esi], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ecx
add ecx, eax
mov esi, edx
ror esi, cl
test esi, esi
je 0x1002729a
tzcnt ebx, esi
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x1c]
add ebx, ecx
and ebx, 0x1f
jmp 0x10026fe1
lea edi, [ebx + 0xfff]
and edi, 0x1ff000
mov al, 1
jmp 0x10026bf9
mov ecx, dword [0x100a5744]
cmp ebx, 0xf00
jbe 0x10026c84
mov edx, ebx
push 0
call fcn.1003a880
add esp, 4
mov edi, eax
jmp 0x10026d6c
mov ecx, dword [edx]
cmp ecx, ebx
je 0x10026ea5
test ecx, ecx
je 0x10028adc
cmp ebx, ecx
jae 0x10027716
cmp dword [ecx + 8], 0
je 0x10028adc
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 0x10028485
lea ecx, [esp + 0x88]
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x10027229
mov edx, dword [ecx + 4]
test dl, 1
je 0x10027229
mov edi, dword [ecx]
test edi, edi
je 0x1002720f
test byte [edi + 4], 1
jne 0x10027235
mov ecx, eax
mov edi, dword [esp + 4]
cmp ecx, dword [esp + 0xc]
seta dl
jbe 0x1002722d
mov eax, dword [ecx]
test eax, eax
jne 0x100271e9
jmp 0x10028a4f
mov ecx, eax
jmp 0x10027215
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
jmp 0x10027220
and edx, 0xfffffffe
mov dword [eax], edx
mov edi, eax
and edi, 0xfffffffe
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
and esi, 1
or esi, edi
mov dword [ecx + 4], esi
test edx, edx
je 0x1002cc6d
and byte [edx + 4], 0xfe
mov edx, dword [esp + 0x10]
cmp dword [edx], eax
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
jne 0x100289c0
mov dword [edx], ecx
jmp 0x10027215
sub edx, ebx
jbe 0x10026ecd
add ebx, dword [esp + 8]
push edx
push 0xe5
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x10026ecd
mov ebx, 0x20
jmp 0x100270be
mov ebx, 0x20
jmp 0x10027133
lea edi, [ebx + 0xff]
mov eax, edi
and eax, 0x1f00
mov dword [esp + 0x28], eax
shr edi, 8
add edi, 0x1e
jmp 0x10026cac
add edx, 0xff
mov eax, edx
and eax, 0x1f00
mov dword [esp + 0x10], eax
shr edx, 8
add edx, 0x1e
jmp 0x10026f6e
mov dword [esp + 0x3c], eax
mov edx, dword [ecx + edi + 0x60]
test edx, edx
je 0x10028f5c
lea ebx, [ecx + edi]
add ebx, 0x60
mov eax, edx
mov edi, eax
mov eax, dword [eax]
test eax, eax
jne 0x100272f4
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], 0
xor esi, esi
dec esi
xor eax, eax
cmp edx, edi
setb al
cmova eax, esi
cmp eax, 0xffffffff
mov dword [esp + 0x18], edi
jne 0x10028009
mov ecx, dword [edx]
test ecx, ecx
je 0x1002c8f1
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], 0
test al, 1
jne 0x1002dabb
mov esi, dword [ecx]
test esi, esi
je 0x10027355
test byte [esi + 4], 1
jne 0x1002dabb
mov dword [esp + 0x2c], ebx
or eax, 1
mov dword [ecx + 4], eax
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0xfffffffe
je 0x1002c927
mov ecx, dword [eax]
test ecx, ecx
je 0x1002737f
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x10029875
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
mov ebx, dword [esp + 0x2c]
jmp 0x1002dabb
mov edi, dword [esp + 0x20]
mov edx, dword [esi + edi + 0x60]
test edx, edx
mov dword [esp + 0x1c], ecx
je 0x10028fd4
lea eax, [esi + edi]
add eax, 0x60
mov dword [esp + 0x24], eax
mov eax, edx
mov esi, eax
mov eax, dword [eax]
test eax, eax
jne 0x100273c7
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], 0
xor edi, edi
dec edi
xor eax, eax
cmp edx, esi
setb al
cmova eax, edi
cmp eax, 0xffffffff
jne 0x10028033
mov ecx, dword [edx]
test ecx, ecx
je 0x1002c91b
mov eax, dword [ecx + 4]
mov dword [esp + 0xc], 0
test al, 1
je 0x10027b64
mov eax, edx
mov edx, ecx
xor ecx, ecx
cmp edx, esi
setb cl
cmova ecx, edi
cmp ecx, 0xffffffff
jne 0x100274a0
test edx, edx
je 0x10029454
mov ecx, dword [edx]
test ecx, ecx
je 0x10029454
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x10027414
mov dword [esp + 8], eax
mov eax, dword [ecx]
test eax, eax
je 0x10027451
test byte [eax + 4], 1
jne 0x10027414
or ebx, 1
mov dword [ecx + 4], ebx
mov edi, dword [edx + 4]
mov ebx, edi
and ebx, 0xfffffffe
je 0x1002c8dc
mov ecx, dword [ebx]
test ecx, ecx
je 0x10027476
mov eax, dword [ecx + 4]
test al, 1
jne 0x10028b7d
or edi, 1
mov dword [edx + 4], edi
mov eax, dword [ebx]
or eax, 1
mov dword [edx + 4], eax
mov dword [ebx], edx
mov ecx, ebx
mov eax, dword [esp + 8]
cmp dword [eax], edx
mov edi, 0xffffffff
jne 0x1002cdd9
mov dword [eax], ecx
jmp 0x10027416
test ecx, ecx
jne 0x100274c0
xor ecx, ecx
test edx, edx
je 0x10027591
mov ebx, dword [edx + 4]
mov dword [esp + 0xc], eax
cmp ebx, 1
jbe 0x10027587
jmp 0x100274cb
test edx, edx
je 0x1002ccd6
mov ebx, dword [edx + 4]
mov dword [esp + 8], eax
mov ecx, ebx
and ecx, 0xfffffffe
je 0x100274e6
mov eax, dword [ecx]
test eax, eax
je 0x100274e6
test byte [eax + 4], 1
jne 0x10027414
mov eax, dword [edx]
test eax, eax
je 0x1002ccd6
mov ecx, dword [eax + 4]
test cl, 1
je 0x10028ec9
and ecx, 0xfffffffe
je 0x1002cce5
mov edi, dword [ecx]
test edi, edi
je 0x10027515
test byte [edi + 4], 1
jne 0x100294fc
and ebx, 1
or ebx, ecx
mov dword [eax + 4], ebx
or byte [ecx + 4], 1
mov ecx, dword [edx]
test ecx, ecx
je 0x1002ccfa
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov edi, dword [ecx + 4]
and edi, 1
or edi, eax
mov dword [ecx + 4], edi
mov edi, dword [edx + 4]
mov ebx, edi
and ebx, 0xfffffffe
je 0x1002cd0f
mov eax, dword [ebx]
and eax, 0xfffffffe
and edi, 1
or edi, eax
mov dword [edx + 4], edi
mov dword [ebx], edx
mov eax, dword [ecx + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
or byte [edx + 4], 1
xor edi, edi
dec edi
mov ebx, dword [esp + 8]
cmp dword [ebx], edx
jne 0x10028fbd
mov dword [ebx], ecx
mov edx, ebx
jmp 0x10027414
mov ebx, dword [edx]
test ebx, ebx
jne 0x10028829
cmp dword [eax], edx
mov edi, dword [esp + 0x14]
jne 0x10028e0f
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
mov dword [edx], eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov edx, 0xfffff000
and edx, dword [esi + 8]
mov dword [ecx], edx
test edx, edx
mov esi, dword [esp + 4]
jne 0x10026fbb
jmp 0x1002b46b
mov ecx, dword [ecx + edi + 0x6c]
mov edi, eax
shl edi, 5
inc eax
cmp eax, ecx
jae 0x1002cd8d
mov edx, dword [esi + eax*4 + 0xc]
add edi, 0x20
test edx, edx
je 0x100275db
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 0x44]
test ebx, ebx
jne 0x10027c28
tzcnt ebx, edx
add edi, ebx
mov eax, dword [esp + 0xc]
imul edi, dword [ecx + eax + 0x64]
mov eax, dword [ecx + eax + 0x70]
add eax, esi
add edi, eax
btc edx, ebx
mov eax, dword [esp + 0x18]
mov dword [esi + eax*4 + 0xc], edx
mov dword [esi + 4], eax
jmp 0x10026d38
mov dword [ebx + 4], edx
jmp 0x10026e5b
mov edx, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + eax + 0x6c]
mov eax, edx
mov edi, edx
shl edi, 5
mov edx, dword [esp + 8]
inc eax
cmp eax, ecx
jae 0x1002cdf6
mov ebx, dword [edx + eax*4 + 0xc]
add edi, 0x20
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x10027649
mov dword [esp + 0x1c], eax
mov ebx, dword [esi + 0x44]
test ebx, ebx
jne 0x10027ca5
mov ecx, dword [esp + 0x24]
tzcnt ebx, ecx
add edi, ebx
mov eax, dword [esp + 0x20]
imul edi, dword [esi + eax + 0x64]
mov eax, dword [esi + eax + 0x70]
add eax, edx
add edi, eax
btc ecx, ebx
mov eax, dword [esp + 0x1c]
mov dword [edx + eax*4 + 0xc], ecx
mov dword [edx + 4], eax
jmp 0x10027008
mov eax, edi
sub eax, edx
mov dword [esp + 0xc], eax
jb 0x10028395
mov eax, dword [esp + 8]
shr eax, 0xc
movzx eax, al
mov dword [esp + 0x1c], eax
mov ebx, edx
shr ebx, 0xc
lea edx, [esi + 0xc]
cmp dword [esi + 0x24], 0
mov dword [esp + 4], edx
jne 0x100276d7
push edx
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edx, dword [esp + 4]
add ebx, dword [esp + 0x1c]
cmp ebx, 0xfe
ja 0x100276f6
lea ecx, [ebx + ebx*2]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + ecx*4 + 0x18]
test al, 1
je 0x10027d1c
xor ebx, ebx
cmp dword [edx + 0x18], 0
jne 0x10027705
push edx
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test bl, bl
mov ebx, dword [esp + 0x20]
je 0x10026c2f
jmp 0x10026ecd
mov ecx, dword [esp + 0x10]
sub eax, ecx
shr eax, 0xc
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
test eax, eax
je 0x100287e9
lea ecx, [esp + 0x88]
xor edx, edx
mov dword [esp + 0xc], edx
mov edx, ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x1002778c
mov ebx, dword [ecx + 4]
test bl, 1
je 0x1002778c
mov edi, dword [ecx]
test edi, edi
je 0x10027772
test byte [edi + 4], 1
jne 0x10027798
mov ecx, eax
mov edi, dword [esp + 4]
cmp ecx, dword [esp + 0x10]
seta bl
jbe 0x10027790
mov eax, dword [ecx]
test eax, eax
jne 0x10027752
jmp 0x10028cf5
mov ecx, eax
jmp 0x10027778
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
jmp 0x10027783
and ebx, 0xfffffffe
mov dword [eax], ebx
mov esi, eax
and esi, 0xfffffffe
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
and edi, 1
or edi, esi
mov dword [ecx + 4], edi
test ebx, ebx
je 0x1002cca9
and byte [ebx + 4], 0xfe
cmp dword [edx], eax
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
jne 0x10028c80
mov dword [edx], ecx
jmp 0x10027778
sub dword [edi + 0x34], ebx
cmp dword [esp + 0xc], 0xff000
jae 0x1002ce17
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test al, 2
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x28], esi
je 0x1002828f
mov ecx, eax
and ecx, 0xfffff000
mov dword [esp + 8], ecx
shr eax, 0xc
test eax, eax
je 0x100278b9
lea ecx, [eax - 1]
movd xmm0, ecx
pshufd xmm0, xmm0, 0
mov ecx, dword [esp + 0x24]
lea ecx, [ebx + ecx*4]
add ecx, 0x3c
lea edx, [eax*4 + 0xc]
and edx, 0xfffffff0
lea edx, [edx + edx*2]
movdqa xmm1, xmmword [0x10093120]
xor esi, esi
movdqa xmm2, xmmword [0x10093130]
pxor xmm0, xmm2
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x10093140]
movdqa xmm5, xmm1
pxor xmm5, xmm2
pcmpgtd xmm5, xmm0
movd ebx, xmm5
not ebx
test bl, 1
je 0x10027871
mov dword [ecx + esi - 0x24], 8
pxor xmm5, xmm3
pextrw ebx, xmm5, 2
test bl, 1
je 0x10027887
mov dword [ecx + esi - 0x18], 8
pextrw ebx, xmm5, 4
test bl, 1
je 0x10027899
mov dword [ecx + esi - 0xc], 8
pextrw ebx, xmm5, 6
test bl, 1
je 0x100278aa
mov dword [ecx + esi], 8
paddd xmm1, xmm4
add esi, 0x30
cmp edx, esi
mov ebx, dword [esp + 0x10]
jne 0x10027852
mov ecx, dword [ebx + 0xc]
test ecx, ecx
mov edx, dword [esp + 0x14]
je 0x100286ae
add ecx, eax
mov dword [ebx + 0xc], ecx
add dword [edx + 0x48], eax
mov edx, 0xfff
mov edi, ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx]
and ecx, edx
mov esi, dword [esp + 8]
or ecx, esi
mov dword [ebx], ecx
mov ebx, edi
add eax, dword [esp + 0x28]
lea ecx, [eax + eax*2]
and edx, dword [edi + ecx*4 + 0xc]
or edx, esi
mov dword [edi + ecx*4 + 0xc], edx
cmp eax, 0xfe
ja 0x100296da
mov eax, dword [ebx + ecx*4 + 0x18]
test al, 1
mov edi, dword [esp + 4]
je 0x10028075
cmp dword [esp + 0xc], 0x3000
jb 0x100296fa
mov eax, dword [esp + 0x24]
mov eax, dword [ebx + eax*4 + 0xc]
test al, 1
mov edx, dword [esp + 0x14]
je 0x100284a2
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
lea ecx, [ebx + eax*4]
add ecx, 0x10
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0x58]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x1002885f
mov edx, ebx
lea ebx, [esp + 0x88]
lea eax, [edx + eax*4]
add eax, 0x18
mov dword [esp + 8], eax
xor esi, esi
mov eax, esi
mov esi, ebx
mov ebx, dword [ecx]
test ebx, ebx
je 0x10027998
mov edx, dword [ebx + 4]
test dl, 1
je 0x10027998
mov edi, dword [ebx]
test edi, edi
je 0x10027998
test byte [edi + 4], 1
jne 0x100279f1
mov ebx, ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov edx, ecx
mov eax, 0xfffff000
and edx, eax
mov edi, dword [ebx + 8]
and edi, eax
xor eax, eax
cmp edx, edi
seta al
mov edx, 0xffffffff
cmovb eax, edx
cmp eax, 0xffffffff
mov edi, dword [esp + 4]
je 0x100279e3
xor edx, edx
inc edx
test eax, eax
jne 0x10027a25
test cl, 0x10
mov eax, 0
cmove eax, dword [esp + 0x20]
xor edx, edx
cmp eax, ebx
seta al
jae 0x10027a23
mov ecx, dword [ebx]
xor edx, edx
dec edx
test ecx, ecx
jne 0x1002797a
jmp 0x10027ac8
mov dword [esp + 0x24], eax
and edx, 0xfffffffe
mov dword [ecx], edx
mov edi, ecx
and edi, 0xfffffffe
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
and eax, 1
or eax, edi
mov dword [ebx + 4], eax
test edx, edx
je 0x1002ccc7
and byte [edx + 4], 0xfe
cmp dword [esi], ecx
jne 0x10027a2d
mov dword [esi], ebx
jmp 0x1002799a
mov dl, al
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x100279e8
and ebx, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
lea eax, [ecx + ebx]
mov dword [esi + 4], eax
test ebx, ebx
je 0x1002ccb8
mov eax, dword [ebx]
and eax, 0xfffffffe
or eax, ecx
mov dword [esi + 4], eax
mov dword [ebx], esi
mov eax, dword [esi + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [esi + 4], 1
mov eax, dword [esp + 0x24]
test eax, eax
mov edi, dword [esp + 4]
je 0x1002c97b
cmp dword [eax], esi
je 0x10028b4b
jmp 0x10028c6e
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, edx
mov ecx, 0xfffff000
and eax, ecx
mov esi, dword [ebx + 8]
and esi, ecx
xor ecx, ecx
cmp eax, esi
seta cl
mov eax, 0xffffffff
cmovb ecx, eax
test ecx, ecx
jne 0x1002887c
jmp 0x10028e2c
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov eax, dword [esp + 0x24]
mov esi, ebx
test ecx, ecx
jne 0x1002797e
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [eax], 0
mov dword [eax + 4], 1
cmp edx, 1
je 0x10027d81
mov dword [ebx], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002ce2c
mov esi, dword [esp + 0x14]
lea edx, [esi + 0x58]
and byte [eax + 4], 0xfe
mov dword [edx], eax
mov eax, 0xfffff001
and eax, dword [ecx + 0x30]
xor ebx, ebx
mov dword [esp + 8], 0
cmp eax, 0xfd000
je 0x1002b5cf
mov ecx, dword [0x100a5754]
test ecx, ecx
je 0x10027b44
setle al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x50]
test eax, eax
cmovne ecx, eax
test ecx, ecx
js 0x1002b0fd
mov ebx, ecx
mov edx, dword [esi + 0x4c]
mov ecx, ebx
shl edx, cl
cmp dword [esi + 0x48], edx
mov ebx, dword [esp + 0x1c]
jbe 0x10026eb0
mov ecx, esi
call fcn.10032270
jmp 0x10026eb0
mov edi, dword [ecx]
test edi, edi
je 0x10028424
test byte [edi + 4], 1
je 0x10028424
xor edi, edi
dec edi
jmp 0x10027414
mov eax, ebx
dec eax
je 0x10028061
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
jmp 0x10026bf7
mov eax, ebx
dec eax
je 0x1002806b
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 + 0x28], edx
mov eax, edx
shr eax, 3
or eax, 1
bsr edi, eax
mov ecx, dword [esp + 0x1c]
jmp 0x10026cac
mov eax, edx
mov edi, edx
dec eax
je 0x10028285
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 edi, 2
cmovb edx, eax
mov dword [esp + 0x10], edx
mov eax, edx
shr eax, 3
or eax, 1
bsr edx, eax
jmp 0x10026f6e
mov dword [esp + 0x30], esi
mov dword [esp + 4], edi
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
mov dword [esp + 0x3c], edx
mov edx, edi
shld edx, eax, 0x17
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [ebx + 0xc]
xor edx, edi
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, edx
mov edi, edx
shr edx, 0x11
xor edx, eax
mov eax, dword [ebx + 8]
mov dword [ebx + 4], ecx
shld edi, esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, edi
mov dword [ebx], eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 8], ecx
add ecx, eax
mov edx, dword [esp + 0x3c]
mov eax, edx
ror edx, cl
test edx, edx
je 0x10028471
tzcnt ebx, edx
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x30]
add ebx, ecx
and ebx, 0x1f
mov ecx, dword [esp + 0x1c]
mov edx, eax
jmp 0x10027606
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0xc], edx
shld edx, eax, 0x17
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [ebx + 0xc]
xor edx, dword [esp + 0xc]
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, edx
mov dword [esp + 0xc], edx
shr edx, 0x11
xor edx, eax
mov eax, dword [ebx + 8]
mov dword [ebx + 4], ecx
shld dword [esp + 0xc], esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, dword [esp + 0xc]
mov dword [ebx], eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 8], ecx
add ecx, eax
mov edx, dword [esp + 0x24]
ror edx, cl
test edx, edx
je 0x1002847b
tzcnt ebx, edx
mov edx, dword [esp + 8]
add ebx, ecx
and ebx, 0x1f
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x24]
jmp 0x10027678
mov dword [esp + 0x28], ecx
and eax, 0xfffff000
mov ecx, dword [esp + 0xc]
cmp eax, ecx
jb 0x100276f6
mov eax, ecx
shl ebx, 0xc
add ebx, dword [esp + 0x10]
mov ecx, esi
mov edx, ebx
push eax
mov ebx, eax
call fcn.1003c690
add esp, 4
test al, al
je 0x1002d018
or edi, 3
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax*4 + 0x18], edi
mov eax, dword [esp + 0x28]
lea eax, [ecx + eax*4]
add eax, 0x18
mov dword [eax], 3
add dword [esi + 0x34], ebx
mov bl, 1
mov edx, dword [esp + 4]
jmp 0x100276f8
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x20]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x20]
or byte [ebx + 4], 1
cmp dword [esi], ebx
jne 0x10028806
mov dword [esi], eax
jmp 0x10027ae4
cmp dword [edx], ebx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
je 0x10028d87
test ecx, ecx
je 0x100282de
mov ecx, dword [esp + 0x10]
sub eax, ecx
shr eax, 0xc
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4]
add ecx, 0x10
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], 0
xor eax, eax
mov dword [esp + 0x10], ecx
cmp edx, ecx
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x100293a7
test edx, edx
je 0x1002ca58
mov ecx, dword [edx]
test ecx, ecx
je 0x1002ca58
mov eax, dword [ecx + 4]
mov dword [esp + 0xc], 0
test al, 1
je 0x10028ae3
mov dword [esp + 8], edx
mov esi, dword [esp + 0x10]
mov edx, ecx
xor eax, eax
cmp ecx, esi
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x10027ee2
test edx, edx
je 0x1002b08d
mov ecx, dword [edx]
test ecx, ecx
je 0x1002b08d
mov eax, dword [ecx + 4]
test al, 1
je 0x10027e91
mov dword [esp + 8], edx
jmp 0x10027e5c
mov esi, dword [ecx]
test esi, esi
je 0x10027e9d
test byte [esi + 4], 1
jne 0x10027e54
or eax, 1
mov dword [ecx + 4], eax
mov eax, dword [edx + 4]
mov esi, eax
and esi, 0xfffffffe
je 0x1002c966
mov ecx, dword [esi]
test ecx, ecx
jne 0x10027f02
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 + 0x10]
jne 0x1002d01f
mov dword [edx], ecx
jmp 0x10027e5c
test eax, eax
jne 0x10027f1f
xor ecx, ecx
test edx, edx
je 0x100282b1
mov esi, dword [edx + 4]
mov eax, dword [esp + 8]
cmp esi, 1
jbe 0x100282a7
jmp 0x10027f2e
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x34], ecx
test cl, 1
mov ecx, dword [esp + 0x28]
je 0x10027eb7
jmp 0x100295f6
test edx, edx
je 0x1002ce68
mov esi, dword [edx + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov ecx, esi
and ecx, 0xfffffffe
je 0x10027f49
mov eax, dword [ecx]
test eax, eax
je 0x10027f49
test byte [eax + 4], 1
jne 0x10027e54
mov edi, dword [edx]
test edi, edi
je 0x1002ce68
mov ecx, dword [edi + 4]
test cl, 1
je 0x10029997
and ecx, 0xfffffffe
je 0x1002ce77
mov eax, dword [ecx]
test eax, eax
je 0x10027f78
test byte [eax + 4], 1
jne 0x1002ad85
and esi, 1
or esi, ecx
mov dword [edi + 4], esi
or byte [ecx + 4], 1
mov ecx, dword [edx]
test ecx, ecx
je 0x1002ce8c
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 + 0x28], esi
and esi, 0xfffffffe
mov edi, dword [esp + 4]
je 0x1002cea1
mov eax, dword [esi]
and eax, 0xfffffffe
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
and eax, 1
add eax, dword [esp + 0x34]
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 0x10028b44
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 0x10027e54
test eax, eax
jne 0x1002888d
mov eax, dword [edx + 4]
cmp eax, 1
ja 0x1002b2ac
mov eax, dword [edx]
test eax, eax
jne 0x1002b2d3
mov dword [esp + 0x88], eax
jmp 0x1002da1a
test eax, eax
jne 0x10028943
mov eax, dword [edx + 4]
cmp eax, 1
ja 0x1002b4e8
mov eax, dword [edx]
test eax, eax
mov edi, dword [esp + 0x14]
jne 0x1002b565
mov dword [esp + 0x88], eax
jmp 0x100275a3
mov ecx, 0x20
jmp 0x10027b8f
mov ecx, 0x20
jmp 0x10027bbb
mov dword [esp + 0x30], eax
lea esi, [ebx + ecx*4]
add esi, 0x18
mov edx, 0xfffff000
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x34], esi
mov ebx, dword [esi]
mov dword [esp + 0x3c], ebx
and ebx, edx
mov esi, dword [eax + 8]
and esi, edx
xor edx, edx
cmp ebx, esi
mov ebx, dword [esp + 0x10]
seta dl
lea ecx, [ebx + ecx*4 + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, 0xffffffff
cmovb edx, ecx
test edx, edx
je 0x10029373
cmp edx, 0xffffffff
jne 0x10028bf2
mov edx, dword [eax]
test edx, edx
je 0x1002d040
mov ecx, dword [edx + 4]
mov dword [esp + 0x3c], 0
test cl, 1
je 0x10028d92
mov edi, eax
mov eax, edx
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov ebx, edx
mov ecx, 0xfffff000
and ebx, ecx
mov esi, dword [eax + 8]
and esi, ecx
xor ecx, ecx
cmp ebx, esi
seta cl
mov esi, 0xffffffff
cmovb ecx, esi
test ecx, ecx
mov ebx, dword [esp + 0x10]
je 0x10028153
cmp ecx, 0xffffffff
jne 0x1002816d
mov edx, dword [eax]
test edx, edx
je 0x10029b01
mov ecx, dword [edx + 4]
test cl, 1
jne 0x100280f8
mov esi, dword [edx]
test esi, esi
je 0x1002823e
test byte [esi + 4], 1
jne 0x100280f8
jmp 0x1002823e
test dl, 0x10
mov edx, 0
cmove edx, dword [esp + 0x18]
xor ecx, ecx
cmp edx, eax
seta dl
jb 0x1002812c
mov cl, dl
jmp 0x10028127
test ecx, ecx
je 0x10028229
mov esi, dword [eax + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x1002818f
mov ecx, dword [edx]
test ecx, ecx
je 0x1002818f
test byte [ecx + 4], 1
jne 0x100280f8
mov ecx, dword [eax]
test ecx, ecx
je 0x1002cf25
mov edx, dword [ecx + 4]
test dl, 1
je 0x100293f5
and edx, 0xfffffffe
je 0x1002c990
mov ebx, dword [edx]
test ebx, ebx
je 0x100281be
test byte [ebx + 4], 1
jne 0x10029b86
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1002cef2
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 0x1002cf07
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
or byte [eax + 4], 1
cmp dword [edi], eax
jne 0x100294ab
mov dword [edi], edx
mov eax, edi
jmp 0x100280f8
mov esi, dword [eax + 4]
mov dword [esp + 0x3c], edi
cmp esi, 1
jbe 0x100282fc
jmp 0x10028178
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002c906
mov edx, dword [ecx]
test edx, edx
je 0x10028264
mov ebx, dword [edx + 4]
test bl, 1
jne 0x10029ab2
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
cmp dword [edi], eax
jne 0x1002d0b8
mov dword [edi], edx
jmp 0x100280fa
mov ecx, 0x20
jmp 0x10027bfc
mov eax, dword [esp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x1e]
mov ecx, eax
shl ecx, 0xc
mov dword [esp + 8], ecx
jmp 0x10027805
mov esi, dword [edx]
test esi, esi
jne 0x100298ef
mov eax, dword [esp + 8]
cmp dword [eax], edx
mov edx, eax
jne 0x10029cc5
mov dword [edx], ecx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x88]
mov dword [edx + 4], eax
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov ecx, esi
mov edx, ebx
push 1
call fcn.10030740
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
dec dword [eax + 0x18]
jmp 0x10026ea5
mov ecx, dword [eax]
test ecx, ecx
je 0x1002832d
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
cmp dword [edi], eax
jne 0x10029360
mov dword [edi], ecx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 4]
mov dword [esi + 0x58], edx
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x30]
mov ecx, 0xfffff000
and eax, ecx
mov edx, dword [esp + 8]
add edx, eax
mov eax, 0xfff
mov esi, dword [esp + 0x20]
mov ecx, dword [esi]
and ecx, eax
or ecx, edx
mov dword [esi], ecx
mov ecx, edx
shr ecx, 0xc
add ecx, dword [esp + 0x28]
lea ecx, [ecx + ecx*2]
and eax, dword [ebx + ecx*4 + 0xc]
mov dword [esp + 8], edx
or eax, edx
mov dword [ebx + ecx*4 + 0xc], eax
jmp 0x10027915
mov eax, edx
sub eax, ebx
add ebx, dword [esp + 8]
push eax
push 0xe5
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ebx, [esi + 0xc]
cmp dword [esi + 0x24], 0
jne 0x100283bc
push ebx
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esp + 8]
shr eax, 0xc
movzx eax, al
mov ecx, edi
or ecx, 3
lea edx, [eax + eax*2]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x10]
mov dword [ebx + edx*4 + 0x18], ecx
mov ecx, edi
shr ecx, 0xc
add ecx, eax
mov edx, dword [esp + 0x24]
sub edx, edi
or edx, 3
lea eax, [ecx + ecx*2]
mov dword [ebx + eax*4 + 0x18], edx
mov ebx, dword [esp + 0x20]
add edi, dword [esp + 8]
mov ecx, esi
mov edx, edi
push 1
call fcn.10030740
add esp, 4
mov eax, dword [esp + 0xc]
add dword [esi + 0x34], eax
cmp dword [ebx + 0x18], 0
jne 0x10026ecd
push ebx
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x10026ecd
or eax, 1
mov dword [ecx + 4], eax
mov edi, dword [edx + 4]
mov eax, edi
and eax, 0xfffffffe
je 0x1002c93c
mov ecx, dword [eax]
test ecx, ecx
je 0x1002844a
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x10029921
or edi, 1
mov dword [edx + 4], edi
mov ecx, dword [eax]
or ecx, 1
mov dword [edx + 4], ecx
mov dword [eax], edx
mov ecx, eax
xor edi, edi
dec edi
and byte [ecx + 4], 0xfe
lea edx, [esp + 0x88]
mov dword [edx], ecx
jmp 0x10027414
mov ebx, 0x20
jmp 0x10027c8d
mov ebx, 0x20
jmp 0x10027d06
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 1
lea ecx, [esp + 0x88]
jmp 0x10028ac4
mov dword [esp + 0x24], eax
shr eax, 0xc
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov dword [esp + 0x28], ecx
lea eax, [ecx + ecx*2]
lea ecx, [ebx + eax*4]
add ecx, 0x10
mov eax, dword [edx + 0x58]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x20], ecx
mov ebx, dword [ecx + 8]
mov dword [esp + 0xc], ebx
mov ecx, 0xfffff000
and ebx, ecx
mov esi, dword [eax + 8]
and esi, ecx
xor edx, edx
dec edx
xor ecx, ecx
cmp ebx, esi
seta cl
cmovb ecx, edx
test ecx, ecx
je 0x100294d5
cmp ecx, 0xffffffff
jne 0x10028e4d
mov edx, dword [eax]
test edx, edx
je 0x1002d0a9
mov ecx, dword [edx + 4]
mov dword [esp + 0xc], 0
test cl, 1
je 0x10028f02
mov edi, eax
mov eax, edx
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx + 8]
mov ecx, ebx
mov edx, 0xfffff000
and ecx, edx
mov esi, dword [eax + 8]
and esi, edx
xor edx, edx
cmp ecx, esi
seta dl
mov ecx, 0xffffffff
cmovb edx, ecx
test edx, edx
je 0x1002857c
cmp edx, 0xffffffff
jne 0x10028596
mov edx, dword [eax]
test edx, edx
je 0x10029cd8
mov ebx, dword [edx + 4]
test bl, 1
jne 0x10028524
mov ecx, dword [edx]
test ecx, ecx
je 0x10028667
test byte [ecx + 4], 1
jne 0x10028524
jmp 0x10028667
test bl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x20]
xor edx, edx
cmp ecx, eax
seta cl
jb 0x10028555
mov dl, cl
jmp 0x10028550
test edx, edx
je 0x10028652
mov esi, dword [eax + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x100285b8
mov ecx, dword [edx]
test ecx, ecx
je 0x100285b8
test byte [ecx + 4], 1
jne 0x10028524
mov ebx, dword [eax]
test ebx, ebx
je 0x1002cfd6
mov edx, dword [ebx + 4]
test dl, 1
je 0x100295bc
and edx, 0xfffffffe
je 0x1002c9ef
mov ecx, dword [edx]
test ecx, ecx
je 0x100285e7
test byte [ecx + 4], 1
jne 0x1002abe5
and esi, 1
or esi, edx
mov dword [ebx + 4], esi
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1002cfa3
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 esi, ebx
and esi, 0xfffffffe
je 0x1002cfb8
mov ecx, dword [esi]
and ecx, 0xfffffffe
and ebx, 1
or ebx, ecx
mov dword [eax + 4], ebx
mov dword [esi], eax
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, esi
mov dword [edx + 4], ecx
or byte [eax + 4], 1
cmp dword [edi], eax
jne 0x100296e3
mov dword [edi], edx
mov eax, edi
jmp 0x10028524
mov esi, dword [eax + 4]
mov dword [esp + 0xc], edi
cmp esi, 1
jbe 0x10028750
jmp 0x100285a1
or ebx, 1
mov dword [edx + 4], ebx
mov ebx, dword [eax + 4]
mov esi, ebx
and esi, 0xfffffffe
je 0x1002c951
mov edx, dword [esi]
test edx, edx
je 0x1002868d
mov ecx, dword [edx + 4]
test cl, 1
jne 0x10029c76
or ebx, 1
mov dword [eax + 4], ebx
mov ecx, dword [esi]
or ecx, 1
mov dword [eax + 4], ecx
mov dword [esi], eax
mov edx, esi
cmp dword [edi], eax
jne 0x1002d1c5
mov dword [edi], edx
jmp 0x10028526
mov ebx, dword [edx + 0x38]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], 0
test ebx, ebx
je 0x100293d7
lea ecx, [esp + 0x88]
xor esi, esi
mov dword [esp + 0x34], esi
mov esi, ecx
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100286f6
mov edx, dword [ecx + 8]
test dl, 1
je 0x100286f6
mov edi, dword [ecx + 4]
test edi, edi
je 0x100286f6
test byte [edi + 8], 1
jne 0x10028717
mov ecx, ebx
mov edx, dword [esp + 0x10]
cmp ecx, edx
seta dl
jbe 0x1002870f
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x100286d4
jmp 0x10029778
mov ebx, dword [ecx + 8]
and ebx, 0xfffffffe
jmp 0x10028706
and edx, 0xfffffffe
mov dword [ebx + 4], edx
mov edx, ebx
and edx, 0xfffffffe
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 4]
mov edi, dword [ecx + 8]
and edi, 1
add edi, dword [esp + 0x18]
mov dword [ecx + 8], edi
test edx, edx
je 0x1002ce4a
and byte [edx + 8], 0xfe
cmp dword [esi + 4], ebx
jne 0x10029703
mov dword [esi + 4], ecx
jmp 0x100286f8
mov edx, dword [eax]
test edx, edx
je 0x10028781
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]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
or byte [eax + 4], 1
and dword [edx + 4], 1
cmp dword [edi], eax
mov ebx, dword [esp + 0x10]
jne 0x100294c2
mov dword [edi], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x24]
mov eax, 0xfffff000
and esi, eax
add esi, dword [esp + 8]
mov dword [ecx + 0x58], edx
xor eax, eax
mov edx, dword [esp + 0x20]
mov dword [edx], eax
mov dword [edx + 4], eax
mov eax, 0xfff
mov ecx, dword [edx + 8]
and ecx, eax
or ecx, esi
mov dword [edx + 8], ecx
mov ecx, esi
shr ecx, 0xc
add ecx, dword [esp + 0x28]
lea ecx, [ecx + ecx*2]
and eax, dword [ebx + ecx*4 + 0xc]
or eax, esi
mov edx, dword [esp + 0x14]
mov dword [ebx + ecx*4 + 0xc], eax
jmp 0x10027937
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 1
lea ecx, [esp + 0x88]
jmp 0x10028d62
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp ebx, ecx
mov ecx, dword [esp + 0x10]
jne 0x10027ae8
and eax, 1
or eax, dword [esp + 0x20]
mov dword [esi + 4], eax
jmp 0x10027ae8
mov edi, eax
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov eax, edi
mov dword [ebx + 4], ecx
or byte [edx + 4], 1
and dword [ebx + 4], 1
mov ecx, ebx
jmp 0x10027591
mov eax, dword [esp + 0x20]
mov dword [eax], 0
mov dword [eax + 4], 1
lea ebx, [esp + 0x88]
jmp 0x10027ae2
xor edx, edx
inc edx
cmp ecx, 0xffffffff
jne 0x10027ab2
jmp 0x1002942f
mov eax, dword [edx + 4]
mov dword [esp + 0x30], 0
mov ecx, eax
and ecx, 0xfffffffe
je 0x100288af
mov esi, dword [ecx]
test esi, esi
je 0x100288af
test byte [esi + 4], 1
jne 0x1002dabb
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d1e9
test byte [ecx + 4], 1
jne 0x10029b5a
mov dword [esp + 0x2c], ebx
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x100288df
mov ebx, dword [eax + 4]
test bl, 1
jne 0x1002afbc
or byte [ecx + 4], 1
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002d341
mov esi, dword [ecx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [edx + 4], eax
mov dword [ecx], edx
mov ebx, dword [esp + 0x2c]
lea edx, [esp + 0x88]
jmp 0x1002da49
mov esi, dword [0x100a5744]
cmp edx, 0xf00
jbe 0x10026f4a
mov ecx, esi
cmp edx, 0xfd000
ja 0x10029c0d
push 0
call fcn.1003a880
add esp, 4
mov dword [esp + 8], eax
jmp 0x10026ecd
mov eax, dword [edx + 4]
mov dword [esp + 0xc], 0
mov ecx, eax
and ecx, 0xfffffffe
je 0x10028965
mov edi, dword [ecx]
test edi, edi
je 0x10028965
test byte [edi + 4], 1
jne 0x10027b78
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d234
test byte [ecx + 4], 1
jne 0x10029b74
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x10028991
mov ebx, dword [eax + 4]
test bl, 1
jne 0x1002b019
or byte [ecx + 4], 1
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002d35f
mov edi, dword [ecx]
and edi, 0xfffffffe
and eax, 1
or eax, edi
mov dword [edx + 4], eax
mov dword [ecx], edx
lea edx, [esp + 0x88]
mov dword [edx], ecx
jmp 0x10027b78
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], eax
lea edx, [eax + ecx]
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
test ecx, ecx
je 0x1002cc7c
mov edx, dword [ecx]
and edx, 0xfffffffe
add edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, dword [eax + 4]
and edx, 1
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
add edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
or byte [eax + 4], 1
mov edx, dword [esp + 0x28]
test edx, edx
je 0x1002cc5e
cmp dword [edx], eax
mov eax, dword [esp + 0xc]
jne 0x10029393
mov dword [edx], ecx
cmp eax, ecx
setb dl
jb 0x10029439
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [esp + 0x10], ecx
test eax, eax
jne 0x100271f5
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 1
test dl, dl
jne 0x10028ac0
cmp ecx, eax
mov edx, dword [esp + 0x20]
jae 0x10028ac4
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 + 0x10]
cmp dword [edx], ecx
jne 0x10028b52
mov dword [edx], eax
mov edx, dword [esp + 0x20]
jmp 0x10028ac6
mov edx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002cd7e
and byte [eax + 4], 0xfe
mov dword [edx + 4], eax
mov dword [edx], ebx
jmp 0x10026ea5
mov esi, dword [ecx]
test esi, esi
je 0x10028af3
test byte [esi + 4], 1
jne 0x10027e54
or eax, 1
mov dword [ecx + 4], eax
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002ca67
mov dword [esp + 8], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x10028b23
mov esi, dword [ecx + 4]
mov dword [esp + 0x28], esi
test byte [esp + 0x28], 1
jne 0x1002ba3a
mov ecx, dword [esp + 8]
or ecx, 1
mov dword [edx + 4], ecx
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 0x10027e54
mov dword [eax], ebx
jmp 0x10027a82
mov eax, dword [edx + 4]
mov dword [esp + 0x10], edx
mov edx, eax
and edx, 0xfffffffe
cmp ecx, edx
mov edx, dword [esp + 0x20]
jne 0x10028ac6
and eax, 1
or eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
jmp 0x10028ac6
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, dword [ecx + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
lea eax, [edi + ecx]
mov dword [edx + 4], eax
test ecx, ecx
je 0x1002cc4f
mov eax, dword [ecx]
and eax, 0xfffffffe
or eax, edi
mov dword [edx + 4], eax
mov dword [ecx], edx
mov edi, dword [edx + 4]
and edi, 0xfffffffe
je 0x10028e24
mov eax, dword [edi + 4]
test al, 1
je 0x10028e24
and eax, 0xfffffffe
mov dword [edi + 4], eax
mov edi, dword [edx + 4]
mov eax, edi
or eax, 1
mov dword [edx + 4], eax
and edi, 0xfffffffe
je 0x1002cc40
mov eax, dword [edi]
or eax, 1
mov dword [edx + 4], eax
mov dword [edi], edx
mov dword [ecx], edi
jmp 0x10027488
test edx, edx
je 0x1002956a
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x10028c1c
mov esi, dword [edx]
test esi, esi
je 0x10028c1c
test byte [esi + 4], 1
jne 0x100280f8
mov edx, dword [eax]
test edx, edx
je 0x1002d249
test byte [edx + 4], 1
jne 0x1002ace5
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x10028c48
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002b472
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d332
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10028dde
mov ecx, eax
mov eax, dword [eax + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
jmp 0x10027a82
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea esi, [eax + ecx]
mov dword [edx + 4], esi
test ecx, ecx
je 0x1002cc9a
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, 1
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
or esi, eax
mov dword [ecx + 4], esi
or byte [edx + 4], 1
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x1002cc8b
cmp dword [ebx], edx
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
jne 0x10029440
mov dword [ebx], ecx
cmp eax, ecx
setb bl
jb 0x100294f5
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov edx, ecx
test eax, eax
jne 0x10027758
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 1
test bl, bl
jne 0x10028d62
cmp ecx, eax
mov ebx, dword [esp + 0x1c]
jae 0x10028d66
mov eax, dword [ecx + 4]
and eax, 1
mov esi, eax
or esi, dword [esp + 0x10]
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x10]
mov esi, dword [esi]
and esi, 0xfffffffe
or esi, eax
mov dword [ecx + 4], esi
mov eax, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, dword [ecx + 4]
and eax, 1
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 4]
and esi, 0xfffffffe
or esi, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], esi
or byte [ecx + 4], 1
cmp dword [edx], ecx
jne 0x10028dec
mov dword [edx], eax
mov esi, dword [esp + 0x14]
jmp 0x10028d68
mov ebx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002ce08
and byte [eax + 4], 0xfe
mov ecx, dword [esp + 0x20]
mov dword [ecx + 4], eax
jmp 0x10026ea9
mov dword [edx], 0
jmp 0x100282de
mov esi, dword [edx]
test esi, esi
je 0x10028da2
test byte [esi + 4], 1
jne 0x100280f8
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002ca04
mov edx, dword [ecx]
test edx, edx
je 0x10028dc8
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002b516
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 0x100280f8
mov eax, dword [edx + 4]
mov esi, eax
and esi, 0xfffffffe
cmp ecx, esi
mov esi, dword [esp + 0x14]
jne 0x10028d68
and eax, 1
or eax, dword [esp + 0x10]
mov dword [edx + 4], eax
jmp 0x10028d68
and ecx, 0xfffffffe
mov edx, eax
mov eax, dword [eax + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x1002759f
mov dword [edx + 4], edi
jmp 0x10027488
test dl, 0x10
mov eax, 0
cmove eax, dword [esp + 0x20]
xor edx, edx
cmp eax, ebx
seta cl
jb 0x1002942f
mov dl, cl
jmp 0x10027ab2
test ecx, ecx
je 0x10029810
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x10028e77
mov esi, dword [edx]
test esi, esi
je 0x10028e77
test byte [esi + 4], 1
jne 0x10028524
mov edx, dword [eax]
test edx, edx
je 0x1002d30e
test byte [edx + 4], 1
jne 0x1002afa8
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x10028ea3
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002b86b
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d395
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10028f4e
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x10028ee0
mov eax, dword [ecx + 4]
test al, 1
jne 0x10029685
mov edi, dword [edx + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002cd1e
mov eax, dword [ecx]
and eax, 0xfffffffe
and edi, 1
or edi, eax
mov dword [edx + 4], edi
mov dword [ecx], edx
jmp 0x1002756f
mov esi, dword [edx]
test esi, esi
je 0x10028f12
test byte [esi + 4], 1
jne 0x10028524
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002ca43
mov edx, dword [ecx]
test edx, edx
je 0x10028f38
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002b936
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 0x10028524
movzx eax, byte [ecx + edi + 0x7a]
mov dword [esp + 0x44], eax
lea eax, [ecx + 0x58]
mov dword [esp + 0x4c], eax
mov ecx, dword [ecx + 0x58]
test ecx, ecx
je 0x1002acf9
mov edx, dword [esp + 0x44]
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 0x10028fac
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10028f83
jmp 0x10029035
cmp ebx, 1
jne 0x1002d142
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x10028fa3
mov eax, ecx
and eax, 0xfffffffe
mov edx, dword [ebx + 4]
and edx, 1
or edx, eax
mov dword [ebx + 4], edx
mov edx, ebx
jmp 0x10027414
movzx eax, byte [esi + edi + 0x7a]
mov dword [esp + 0x34], eax
lea eax, [esi + 0x58]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x58]
test ecx, ecx
je 0x1002adfb
mov edx, dword [esp + 0x34]
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 0x10029024
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10028ffb
jmp 0x100291cf
cmp ebx, 1
jne 0x1002d1be
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x1002901b
test eax, eax
je 0x1002acf9
mov ecx, eax
and ecx, 0xfff00000
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
mov esi, edx
and esi, 0xfffffff8
shl esi, 9
add esi, ecx
mov edx, esi
and edx, 0xfff00000
mov eax, dword [edx + 0xc]
mov dword [esp + 0x60], eax
mov eax, esi
shr eax, 0xc
movzx ebx, al
lea eax, [ebx*4]
lea eax, [eax + eax*2]
or eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x44]
test edi, edi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
mov dword [esp + 4], ebx
mov dword [esp + 0x30], esi
je 0x10029d38
xor eax, eax
inc eax
cmp edi, 2
cmovae eax, edi
mov dword [esp + 0x40], eax
lea eax, [ebx + ebx*2]
lea eax, [edx + eax*4]
add eax, 0x18
mov dword [esp + 0x50], 0
xor ebx, ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 4]
lea edi, [ebx + eax]
lea eax, [edi + edi*2]
test byte [edx + eax*4 + 0x18], 0x60
jne 0x10029104
inc ebx
cmp ebx, dword [esp + 0x44]
setae al
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x2c]
dec edi
mov eax, dword [esp + 0x18]
add eax, 0xc
cmp ebx, dword [esp + 0x40]
jne 0x100290c8
jmp 0x10029d3e
mov dword [esp + 0x5c], edi
mov dword [esp + 0x6c], ebx
cmp ebx, dword [esp + 0x44]
jae 0x1002b509
xor edx, edx
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
mov ecx, dword [eax]
test cl, 0x60
je 0x10029136
and ecx, 0xffffff9f
mov dword [eax], ecx
inc edx
add eax, 0xc
cmp esi, edx
jne 0x10029120
mov edx, esi
mov dword [esp + 0x54], edx
mov edi, edx
shl edi, 0xc
jne 0x1002ad62
jmp 0x1002917f
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x5c], eax
push 4
push 0x1000
push ebx
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1002c9a5
add esi, ebx
sub edi, ebx
mov eax, 0x100000
cmp edi, eax
mov ebx, 0x100000
cmovb ebx, edi
test edi, edi
jne 0x10029147
mov al, 1
cmp dword [esp + 0x54], 0
je 0x100291a7
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
or dword [edx], ecx
add edx, 0xc
dec esi
jne 0x1002919f
test al, al
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
je 0x1002a319
mov eax, dword [esp + 0x54]
add dword [ecx + 0x2c], eax
mov ebx, dword [esp + 0x6c]
jmp 0x100290e1
test eax, eax
mov esi, dword [esp + 4]
je 0x1002adfb
mov ecx, eax
and ecx, 0xfff00000
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
and edx, 0xfffffff8
shl edx, 9
add edx, ecx
mov ecx, edx
and ecx, 0xfff00000
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x50], eax
mov eax, edx
shr eax, 0xc
movzx edi, al
lea eax, [edi*4]
lea eax, [eax + eax*2]
or eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x34]
test esi, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x30], edi
je 0x1002a4a4
xor eax, eax
inc eax
cmp esi, 2
cmovae eax, esi
mov dword [esp + 0x3c], eax
lea eax, [edi + edi*2]
lea eax, [ecx + eax*4]
add eax, 0x18
xor ebx, ebx
xor edi, edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
lea esi, [edi + eax]
lea eax, [esi + esi*2]
test byte [ecx + eax*4 + 0x18], 0x60
jne 0x10029292
inc edi
cmp edi, dword [esp + 0x34]
setae bl
mov esi, dword [esp + 0xc]
dec esi
mov eax, dword [esp + 0x24]
add eax, 0xc
cmp edi, dword [esp + 0x3c]
jne 0x1002925a
jmp 0x1002a4a6
mov dword [esp + 0x48], esi
cmp edi, dword [esp + 0x34]
mov dword [esp + 0x40], edi
jae 0x1002b627
mov dword [esp + 0x44], ebx
xor edx, edx
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0xc]
mov ecx, dword [eax]
test cl, 0x60
je 0x100292c8
and ecx, 0xffffff9f
mov dword [eax], ecx
inc edx
add eax, 0xc
cmp esi, edx
jne 0x100292b2
mov edx, esi
mov dword [esp + 0x4c], edx
mov esi, edx
shl esi, 0xc
jne 0x1002ae69
jmp 0x10029311
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x48], eax
push 4
push 0x1000
push edi
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1002c9ca
add ebx, edi
sub esi, edi
mov eax, 0x100000
cmp esi, eax
mov edi, 0x100000
cmovb edi, esi
test esi, esi
jne 0x100292d9
mov al, 1
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x10029338
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 0x24]
mov edi, ebx
or dword [edx], ecx
add edx, 0xc
dec edi
jne 0x10029330
test al, al
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
je 0x1002aa24
mov eax, dword [esp + 4]
add dword [eax + 0x2c], ebx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
jmp 0x10029273
and ecx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
or eax, ecx
mov dword [edi + 4], eax
jmp 0x10028337
xor ecx, ecx
test byte [esp + 0x3c], 0x10
cmove ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, eax
seta cl
jb 0x100280da
mov dl, cl
jmp 0x100280d1
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0xc]
jmp 0x10028a2a
test eax, eax
jne 0x100299d5
xor ecx, ecx
test edx, edx
je 0x100293cb
mov eax, dword [edx + 4]
cmp eax, 1
ja 0x1002c12b
mov eax, dword [edx]
test eax, eax
jne 0x1002c13b
mov dword [esp + 0x88], ecx
jmp 0x100282c5
mov ebx, dword [esp + 0x10]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
lea ecx, [esp + 0x88]
jmp 0x100297d5
or edx, 1
mov dword [ecx + 4], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x1002940d
mov edx, dword [ecx + 4]
test dl, 1
jne 0x10029a5d
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002cf34
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10028218
mov ecx, dword [ebx]
xor edx, edx
dec edx
jmp 0x10027ab8
mov eax, dword [ecx]
jmp 0x10028a3b
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x10]
jmp 0x10028cd6
mov edi, dword [esp + 0xc]
test edi, edi
je 0x1002d20d
cmp dword [edi], esi
jne 0x10029bf4
mov dword [edi], edx
test edx, edx
mov edi, dword [esp + 0x14]
je 0x1002d21c
mov ebx, eax
mov eax, dword [esi]
mov dword [edx], eax
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov eax, dword [esi + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
cmp dword [ebx], edx
jne 0x1002d22b
mov dword [ebx], 0
jmp 0x1002759f
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov eax, edi
jmp 0x100280f8
and edx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
or eax, edx
mov dword [edi + 4], eax
jmp 0x1002878f
xor esi, esi
test byte [esp + 0xc], 0x10
cmove esi, dword [esp + 0x20]
xor ecx, ecx
cmp esi, eax
seta dl
jb 0x10028506
mov cl, dl
jmp 0x100284fd
mov eax, dword [ecx]
jmp 0x10028ce7
and ebx, 1
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
or eax, ebx
mov ebx, dword [esp + 0x28]
mov dword [ecx + 4], eax
and byte [edi + 4], 0xfe
mov edi, dword [ebx + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002cd2d
mov eax, dword [ecx]
and eax, 0xfffffffe
and edi, 1
or edi, eax
mov dword [ebx + 4], edi
mov dword [ecx], ebx
mov dword [edx], ecx
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov edi, dword [ecx + 4]
and edi, 1
or edi, eax
mov dword [ecx + 4], edi
mov edi, dword [edx + 4]
mov ebx, edi
and ebx, 0xfffffffe
jne 0x10027551
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1002ba2a
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov esi, dword [esp + 0x14]
je 0x10028346
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
mov esi, dword [esp + 0x14]
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x10028346
or edx, 1
mov dword [ebx + 4], edx
mov edx, dword [ebx]
test edx, edx
je 0x100295d4
mov ebx, dword [edx + 4]
test bl, 1
jne 0x10029c21
mov esi, dword [eax + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x1002cfe5
mov ecx, dword [edx]
and ecx, 0xfffffffe
and esi, 1
or esi, ecx
mov dword [eax + 4], esi
mov dword [edx], eax
jmp 0x10028641
mov eax, dword [esp + 0x34]
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 0x1002cdca
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 0x1002986d
mov esi, dword [eax + 4]
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], eax
mov eax, esi
test al, 1
mov eax, dword [esp + 0x28]
je 0x1002986d
mov esi, dword [esp + 0x34]
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 0x1002cdbb
mov esi, dword [eax]
or esi, 1
mov dword [edx + 4], esi
mov dword [eax], edx
mov dword [ecx], eax
mov edi, dword [esp + 4]
jmp 0x10027ec9
and eax, 0xfffffffe
mov dword [ecx + 4], eax
mov ecx, dword [edx]
test ecx, ecx
je 0x1002cd3c
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov edi, dword [ecx + 4]
and edi, 1
or edi, eax
mov dword [ecx + 4], edi
mov ebx, dword [edx + 4]
mov edi, ebx
and edi, 0xfffffffe
je 0x1002cd51
mov eax, dword [edi]
and eax, 0xfffffffe
and ebx, 1
or ebx, eax
mov dword [edx + 4], ebx
mov dword [edi], edx
mov eax, dword [ecx + 4]
and eax, 1
or eax, edi
mov dword [ecx + 4], eax
jmp 0x1002756f
mov edi, dword [esp + 4]
jmp 0x10027915
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov eax, edi
jmp 0x10028524
mov edx, dword [esp + 0x14]
jmp 0x10027937
and ecx, 0xfffffffe
mov edx, dword [esi + 8]
and edx, 1
lea edi, [edx + ecx]
mov dword [esi + 8], edi
test ecx, ecx
mov ebx, dword [esp + 0x10]
je 0x1002ce59
mov edi, dword [ecx + 4]
and edi, 0xfffffffe
or edi, edx
mov dword [esi + 8], edi
mov dword [ecx + 4], esi
mov edx, dword [esi + 8]
and edx, 1
mov edi, dword [ecx + 8]
and edi, 0xfffffffe
or edi, edx
mov dword [ecx + 8], edi
or byte [esi + 8], 1
mov edx, dword [esp + 0x34]
test edx, edx
je 0x1002ce3b
cmp dword [edx + 4], esi
jne 0x1002ad50
mov dword [edx + 4], ecx
cmp ecx, ebx
seta dl
ja 0x1002aea3
mov ebx, dword [ecx + 8]
and ebx, 0xfffffffe
mov esi, ecx
test ebx, ebx
jne 0x100286da
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x1002d09a
cmp ecx, ebx
setae dh
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
or dl, dh
jne 0x100297d5
mov edx, dword [ecx + 8]
and edx, 1
mov edi, edx
or edi, ebx
mov dword [ecx + 8], edi
mov edi, dword [ebx + 4]
and edi, 0xfffffffe
or edi, edx
mov dword [ecx + 8], edi
mov dword [ebx + 4], ecx
mov edx, dword [ecx + 8]
and edx, 1
mov edi, dword [ebx + 8]
and edi, 0xfffffffe
or edi, edx
mov dword [ebx + 8], edi
or byte [ecx + 8], 1
cmp dword [esi + 4], ecx
jne 0x100297fa
mov dword [esi + 4], ebx
jmp 0x100297d8
mov dword [ecx + 4], ebx
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x1002d04f
and byte [ecx + 8], 0xfe
mov edx, dword [esp + 0x14]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebx + 0xc]
jmp 0x100278c8
mov edx, dword [esi + 8]
mov edi, edx
and edi, 0xfffffffe
cmp ecx, edi
jne 0x100297d8
and edx, 1
or edx, ebx
mov dword [esi + 8], edx
jmp 0x100297d8
mov ecx, dword [eax + 4]
cmp ecx, 1
mov ebx, dword [esp + 0x10]
ja 0x1002bc79
mov esi, dword [eax]
xor edx, edx
test esi, esi
mov ecx, dword [esp + 0x14]
je 0x1002879e
mov edx, dword [esi + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, eax
and ecx, 0xfffffffe
mov edx, esi
mov esi, dword [esi + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x14]
or byte [eax + 4], 1
and dword [edx + 4], 1
jmp 0x1002879e
xor ecx, ecx
jmp 0x10026c0a
mov dword [edx + 4], eax
jmp 0x10027ec9
and ebx, 0xfffffffe
mov dword [eax], ebx
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 0x1002d323
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 0x10029b52
mov ebx, dword [eax + 4]
test bl, 1
je 0x10029b52
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov eax, dword [edx + 4]
mov esi, eax
or esi, 1
mov dword [edx + 4], esi
and eax, 0xfffffffe
je 0x1002d404
mov esi, dword [eax]
or esi, 1
mov dword [edx + 4], esi
mov dword [eax], edx
mov dword [ecx], eax
mov edi, dword [esp + 0x18]
jmp 0x10027391
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 0x100282b1
and ebx, 0xfffffffe
mov dword [eax], ebx
mov edi, dword [ecx + 4]
and edi, 1
or edi, eax
mov dword [ecx + 4], edi
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea edi, [eax + ecx]
mov dword [edx + 4], edi
test ecx, ecx
je 0x1002d350
mov edi, dword [ecx]
and edi, 0xfffffffe
or edi, eax
mov dword [edx + 4], edi
mov dword [ecx], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
je 0x10029b6c
mov ebx, dword [eax + 4]
test bl, 1
je 0x10029b6c
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov eax, dword [edx + 4]
mov edi, eax
or edi, 1
mov dword [edx + 4], edi
and eax, 0xfffffffe
je 0x1002d437
mov edi, dword [eax]
or edi, 1
mov dword [edx + 4], edi
mov dword [eax], edx
mov dword [ecx], eax
jmp 0x1002845c
or ecx, 1
mov dword [edi + 4], ecx
mov eax, dword [edi]
test eax, eax
je 0x100299af
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002aeab
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002ceb0
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 + 4]
jmp 0x10027fe2
test edx, edx
je 0x1002d36e
mov eax, dword [edx + 4]
mov dword [esp + 0xc], 0
mov ecx, eax
and ecx, 0xfffffffe
je 0x100299ff
mov esi, dword [ecx]
test esi, esi
je 0x100299ff
test byte [esi + 4], 1
jne 0x10027e54
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d495
test byte [ecx + 4], 1
jne 0x1002bbc2
or eax, 1
mov dword [edx + 4], eax
mov edi, dword [ecx]
test edi, edi
je 0x10029a2a
mov eax, dword [edi + 4]
test al, 1
jne 0x1002c01f
or byte [ecx + 4], 1
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002d58f
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 + 4]
jmp 0x10027e54
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1002cf43
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 0x1002cf58
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 0x10028218
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 0x1002cd6f
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 0x10029af9
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002b9ff
mov dword [eax + 4], ecx
jmp 0x10028276
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x1002d37d
mov ecx, dword [esp + 0x18]
cmp dword [edx], ecx
jne 0x1002b2bc
mov dword [edx], eax
mov esi, dword [esp + 0x18]
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
cmp dword [edi], eax
jne 0x1002d38c
mov dword [edi], 0
jmp 0x10028337
mov dword [edx + 4], eax
jmp 0x10027391
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.10001010
mov ecx, dword [esi]
jmp 0x10028904
mov dword [edx + 4], eax
jmp 0x1002845c
lea edi, [esp + 0x70]
mov ecx, edi
call fcn.10001010
mov ecx, dword [edi]
jmp 0x100289b2
and esi, 1
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, esi
mov dword [edx + 4], ebx
mov edx, dword [esp + 0x2c]
and byte [edx + 4], 0xfe
mov esi, dword [ecx + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x1002cf16
mov ebx, dword [edx]
and ebx, 0xfffffffe
and esi, 1
or esi, ebx
mov dword [ecx + 4], esi
mov dword [edx], ecx
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
jne 0x100281fa
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov ebx, eax
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov eax, ebx
mov dword [edi + 4], ecx
jmp 0x1002946a
push 0
push 0x100000
call fcn.100029a0
add esp, 8
jmp 0x1002893a
and ebx, 0xfffffffe
mov dword [edx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1002cff4
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 esi, ebx
and esi, 0xfffffffe
je 0x1002d009
mov ecx, dword [esi]
and ecx, 0xfffffffe
and ebx, 1
or ebx, ecx
mov dword [eax + 4], ebx
mov dword [esi], eax
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, esi
mov dword [edx + 4], ecx
jmp 0x10028641
and ecx, 0xfffffffe
mov dword [esi], ecx
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, esi
mov dword [edx + 4], ecx
and edx, 0xfffffffe
mov esi, dword [eax + 4]
and esi, 1
lea ecx, [esi + edx]
mov dword [eax + 4], ecx
test edx, edx
je 0x1002cdac
mov ecx, dword [edx]
and ecx, 0xfffffffe
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
mov esi, dword [eax + 4]
and esi, 0xfffffffe
je 0x10029cbd
mov ecx, dword [esi + 4]
test cl, 1
jne 0x1002bc0d
mov dword [eax + 4], esi
jmp 0x1002869f
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x100282c1
mov esi, dword [esp + 0xc]
test esi, esi
je 0x1002d3a4
mov ecx, dword [esp + 0x20]
cmp dword [esi], ecx
jne 0x1002b842
mov dword [esi], eax
mov esi, dword [esp + 0x20]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi + 4]
and edx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
or ecx, edx
mov dword [eax + 4], ecx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, edx
mov dword [eax + 4], ecx
cmp dword [edi], eax
jne 0x1002d3b3
mov dword [edi], 0
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
jmp 0x1002879a
mov al, 1
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x48]
lea eax, [ecx + 0x10]
mov dword [esp + 0x2c], eax
add ecx, 0x18
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x48], ecx
mov edx, dword [ecx]
mov esi, 0xfffff000
mov ebx, edx
and ebx, esi
and esi, dword [eax + 8]
xor edi, edi
dec edi
xor ecx, ecx
cmp ebx, esi
seta cl
cmovb ecx, edi
test ecx, ecx
je 0x1002a486
cmp ecx, 0xffffffff
jne 0x1002a3b0
mov edx, dword [eax]
test edx, edx
je 0x1002d1da
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], 0
test cl, 1
mov edi, dword [esp + 0x48]
jne 0x10029e07
mov esi, dword [edx]
test esi, esi
je 0x10029dbe
test byte [esi + 4], 1
jne 0x10029e07
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002caa6
mov edx, dword [ecx]
test edx, edx
je 0x10029de4
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002bf2c
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
mov edi, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, edx
mov edx, dword [edi]
mov ebx, edx
mov ecx, 0xfffff000
and ebx, ecx
mov esi, dword [eax + 8]
and esi, ecx
xor ecx, ecx
cmp ebx, esi
seta cl
mov esi, 0xffffffff
cmovb ecx, esi
test ecx, ecx
mov ebx, dword [esp + 4]
je 0x10029e60
cmp ecx, 0xffffffff
jne 0x10029e7a
mov edx, dword [eax]
test edx, edx
je 0x1002b771
mov ecx, dword [edx + 4]
test cl, 1
jne 0x10029e07
mov esi, dword [edx]
test esi, esi
je 0x10029f53
test byte [esi + 4], 1
jne 0x10029e07
jmp 0x10029f53
test dl, 0x10
mov edx, 0
cmove edx, dword [esp + 0x2c]
xor ecx, ecx
cmp edx, eax
seta dl
jb 0x10029e39
mov cl, dl
jmp 0x10029e34
test ecx, ecx
je 0x10029f3e
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x10029e9c
mov esi, dword [edx]
test esi, esi
je 0x10029e9c
test byte [esi + 4], 1
jne 0x10029e07
mov edi, dword [eax]
test edi, edi
je 0x1002d100
mov edx, dword [edi + 4]
test dl, 1
je 0x1002ac71
and edx, 0xfffffffe
je 0x1002ca7c
mov esi, dword [edx]
test esi, esi
je 0x10029ecb
test byte [esi + 4], 1
jne 0x1002b999
and ecx, 1
or ecx, edx
mov dword [edi + 4], ecx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1002d0cd
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002d0e2
mov esi, dword [ecx]
and esi, 0xfffffffe
and edi, 1
or edi, esi
mov dword [eax + 4], edi
mov dword [ecx], eax
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
or byte [eax + 4], 1
mov ecx, dword [esp + 0x18]
cmp dword [ecx], eax
mov eax, ecx
mov edi, dword [esp + 0x48]
jne 0x1002ae50
mov dword [eax], edx
jmp 0x10029e07
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
cmp ecx, 1
jbe 0x10029fa0
jmp 0x10029e85
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002ca19
mov edx, dword [ecx]
test edx, edx
je 0x10029f79
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002b6ae
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 ecx, dword [esp + 0x18]
cmp dword [ecx], eax
mov eax, ecx
jne 0x1002d27c
mov dword [eax], edx
jmp 0x10029e0b
mov ecx, dword [eax]
test ecx, ecx
je 0x10029fd1
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, dword [esp + 0x18]
cmp dword [edx], eax
mov eax, edx
mov edi, dword [esp + 0x4c]
jne 0x1002a471
mov dword [eax], ecx
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x58]
shr ecx, 0xc
mov dword [edi], edx
xor eax, eax
mov edx, dword [esp + 0x2c]
mov dword [edx], eax
mov dword [edx + 4], eax
mov edx, dword [esp + 0x44]
cmp ecx, edx
jne 0x1002a10b
test dl, dl
je 0x1002a053
mov eax, dword [esp + 0x30]
or eax, 1
xor ecx, ecx
inc ecx
cmp edx, 2
cmovae ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
lea edx, [ebx + ebx*2]
mov esi, dword [esp + 0x38]
lea edx, [esi + edx*4]
add edx, 0x18
xor esi, esi
test byte [edx + esi], 8
je 0x1002a049
mov edi, dword [esp + 0x38]
dec dword [edi + 0xc]
mov edi, dword [esp + 0x1c]
dec dword [edi + 0x48]
mov dword [edx + esi], eax
add esi, 0xc
cmp ecx, esi
jne 0x1002a035
mov edx, dword [esp + 0x38]
cmp dword [edx + 0xc], 0
jne 0x1002a30d
cmp dword [esp + 0x60], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
je 0x1002a319
mov esi, dword [ecx + 0x38]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], 0
xor ecx, ecx
dec ecx
xor eax, eax
cmp esi, edx
setb al
cmova eax, ecx
cmp eax, 0xffffffff
mov edx, esi
je 0x1002b12c
test eax, eax
je 0x1002bd8f
test edx, edx
je 0x1002cad0
mov ecx, dword [edx + 8]
mov dword [esp + 4], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x1002a0d8
mov esi, dword [eax + 4]
test esi, esi
je 0x1002a0d8
test byte [esi + 8], 1
jne 0x1002b151
mov eax, dword [edx + 4]
test eax, eax
je 0x1002d5b3
test byte [eax + 8], 1
je 0x1002c0a1
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.100329e0
mov eax, dword [esi]
lea ecx, [esp + 0x88]
mov edx, ecx
mov dword [ecx + 4], eax
jmp 0x1002b151
lea eax, [ebx + ecx]
mov dword [esp + 0x18], eax
sub ecx, edx
shl ecx, 0xc
lea eax, [ebx + edx]
lea ebx, [eax + eax*2]
mov edi, dword [esp + 0x38]
lea eax, [edi + ebx*4]
add eax, 0x10
mov edx, 0xfff
mov esi, dword [eax + 8]
and esi, edx
or esi, ecx
mov dword [esp + 0x2c], eax
mov dword [eax + 8], esi
mov eax, dword [esp + 0x18]
lea esi, [eax + eax*2]
and edx, dword [edi + esi*4 + 0xc]
or edx, ecx
mov dword [edi + esi*4 + 0xc], edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x1002b4c7
lea eax, [edi + ebx*4]
add eax, 0x18
mov dword [esp + 0x18], eax
lea edi, [esp + 0x88]
xor edx, edx
mov esi, edx
mov edx, edi
mov edi, dword [ecx]
test edi, edi
je 0x1002a19f
mov eax, dword [edi + 4]
test al, 1
je 0x1002a19f
mov dword [esp + 0x40], esi
mov esi, dword [edi]
test esi, esi
je 0x1002a19f
test byte [esi + 4], 1
jne 0x1002a1f8
mov edi, ecx
mov eax, dword [esp + 0x18]
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 0x1002a1e6
xor eax, eax
inc eax
test ebx, ebx
jne 0x1002a228
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x2c]
xor eax, eax
cmp ecx, edi
seta cl
jae 0x1002a226
mov ecx, dword [edi]
xor eax, eax
dec eax
test ecx, ecx
mov ebx, dword [esp + 4]
jne 0x1002a17e
jmp 0x1002a2cb
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 0x1002d05e
and byte [eax + 4], 0xfe
cmp dword [edx], ecx
jne 0x1002a230
mov dword [edx], edi
jmp 0x1002a1a1
mov al, cl
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
jmp 0x1002a1eb
and edi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [edx + 4], ecx
test edi, edi
je 0x1002d06d
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
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x1002caff
cmp dword [ecx], edx
je 0x1002b652
jmp 0x1002b761
mov eax, dword [esp + 0x18]
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 0x1002b4f8
jmp 0x1002bb3b
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
mov edx, edi
test ecx, ecx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x40]
jne 0x1002a182
mov edx, esi
mov ecx, dword [esp + 0x2c]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1002a42c
mov eax, dword [esp + 0x2c]
mov dword [edi], eax
mov eax, dword [esp + 0x88]
test eax, eax
mov ecx, dword [esp + 0x4c]
je 0x1002d25e
and byte [eax + 4], 0xfe
mov dword [ecx], eax
mov edx, dword [esp + 0x44]
jmp 0x1002a00c
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
test byte [esp + 0x50], 1
je 0x1002b29f
test esi, esi
je 0x1002b29f
cmp dword [eax], esi
mov edi, dword [esp + 0xc]
je 0x1002da32
mov dword [esi], eax
cmp dword [ecx + edi + 0x6c], 1
mov edx, 0
mov ebx, esi
je 0x1002a363
mov ecx, dword [esp + 0x1c]
add ecx, edi
add ecx, 0x6c
xor edx, edx
mov dword [ebx + edx*4 + 0xc], 0xffffffff
inc edx
mov esi, dword [ecx]
dec esi
cmp edx, esi
jb 0x1002a353
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov esi, ebx
mov ebx, dword [edi + ecx + 0x68]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor eax, eax
dec eax
shr eax, cl
mov ecx, edi
mov edi, dword [esp + 0xc]
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 + 0x68]
mov dword [esi + 8], eax
inc dword [ecx + edi + 0x74]
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
jmp 0x10026cf9
test ecx, ecx
je 0x1002af00
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x1002a3da
mov esi, dword [edx]
test esi, esi
je 0x1002a3da
test byte [esi + 4], 1
jne 0x10029e03
mov edx, dword [eax]
test edx, edx
je 0x1002d3da
test byte [edx + 4], 1
jne 0x1002bc89
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002a406
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002bebe
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d4fb
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10029dfa
mov eax, dword [edi + 4]
and eax, 1
mov ecx, eax
mov esi, dword [esp + 0x2c]
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 0x1002b06e
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
jmp 0x1002a2eb
and ecx, 0xfffffffe
mov edx, eax
mov eax, dword [eax + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10029fe5
xor esi, esi
test dl, 0x10
cmove esi, dword [esp + 0x2c]
xor ecx, ecx
cmp esi, eax
seta dl
jb 0x10029d94
mov cl, dl
jmp 0x10029d8b
mov bl, 1
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 0x10]
mov dword [esp + 0x24], eax
add ecx, 0x18
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x28], ecx
mov edx, dword [ecx]
mov esi, 0xfffff000
mov ebx, edx
and ebx, esi
and esi, dword [eax + 8]
xor edi, edi
dec edi
xor ecx, ecx
cmp ebx, esi
seta cl
cmovb ecx, edi
test ecx, ecx
je 0x1002ac53
cmp ecx, 0xffffffff
jne 0x1002aaba
mov edx, dword [eax]
test edx, edx
je 0x1002d1fe
mov ecx, dword [edx + 4]
mov dword [esp + 0xc], 0
test cl, 1
je 0x1002ab33
mov esi, eax
mov eax, edx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov ebx, edx
mov ecx, 0xfffff000
and ebx, ecx
mov edi, dword [eax + 8]
and edi, ecx
xor ecx, ecx
cmp ebx, edi
seta cl
mov edi, 0xffffffff
cmovb ecx, edi
test ecx, ecx
je 0x1002a575
cmp ecx, 0xffffffff
jne 0x1002a58f
mov edx, dword [eax]
test edx, edx
je 0x1002b8c0
mov ecx, dword [edx + 4]
test cl, 1
jne 0x1002a51e
mov edi, dword [edx]
test edi, edi
je 0x1002a65c
test byte [edi + 4], 1
jne 0x1002a51e
jmp 0x1002a65c
test dl, 0x10
mov edx, 0
cmove edx, dword [esp + 0x24]
xor ecx, ecx
cmp edx, eax
seta dl
jb 0x1002a54e
mov cl, dl
jmp 0x1002a549
test ecx, ecx
je 0x1002a64b
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002a5b1
mov edi, dword [edx]
test edi, edi
je 0x1002a5b1
test byte [edi + 4], 1
jne 0x1002a51e
mov ebx, dword [eax]
test ebx, ebx
je 0x1002d17c
mov edx, dword [ebx + 4]
test dl, 1
je 0x1002acab
and edx, 0xfffffffe
je 0x1002ca91
mov edi, dword [edx]
test edi, edi
je 0x1002a5e0
test byte [edi + 4], 1
jne 0x1002bab9
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1002d149
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov ebx, dword [eax + 4]
mov ecx, ebx
and ecx, 0xfffffffe
je 0x1002d15e
mov edi, dword [ecx]
and edi, 0xfffffffe
and ebx, 1
or ebx, edi
mov dword [eax + 4], ebx
mov dword [ecx], eax
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
or byte [eax + 4], 1
cmp dword [esi], eax
jne 0x1002ae8c
mov dword [esi], edx
mov eax, esi
jmp 0x1002a51e
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], esi
cmp ecx, 1
jbe 0x1002a6a3
jmp 0x1002a59a
or ecx, 1
mov dword [edx + 4], ecx
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002ca2e
mov edx, dword [ecx]
test edx, edx
je 0x1002a682
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002b7f3
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
cmp dword [esi], eax
jne 0x1002d2f9
mov dword [esi], edx
jmp 0x1002a520
mov ecx, dword [eax]
test ecx, ecx
mov edi, dword [esp + 0x14]
je 0x1002a6dc
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 + 0x14]
or byte [eax + 4], 1
and dword [ecx + 4], 1
cmp dword [esi], eax
jne 0x1002abd2
mov dword [esi], ecx
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x38]
shr esi, 0xc
mov ecx, dword [esp + 0x2c]
mov dword [ecx], edx
xor eax, eax
mov edx, dword [esp + 0x24]
mov dword [edx], eax
mov dword [edx + 4], eax
mov edx, dword [esp + 0x34]
cmp esi, edx
jne 0x1002a818
test dl, dl
je 0x1002a760
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 edx, dword [esp + 0x30]
lea edx, [edx + edx*2]
mov esi, dword [esp + 0x18]
lea edx, [esi + edx*4]
add edx, 0x18
xor esi, esi
test byte [edx + esi], 8
je 0x1002a756
mov edi, dword [esp + 0x18]
dec dword [edi + 0xc]
mov edi, dword [esp + 4]
dec dword [edi + 0x48]
mov edi, dword [esp + 0x14]
mov dword [edx + esi], eax
add esi, 0xc
cmp ecx, esi
jne 0x1002a73e
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0
jne 0x1002aa1c
cmp dword [esp + 0x50], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
je 0x1002aa24
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], 0
xor ecx, ecx
dec ecx
xor eax, eax
cmp edi, dword [esp + 0x18]
setb al
cmova eax, ecx
cmp eax, 0xffffffff
je 0x1002b307
test eax, eax
je 0x1002be44
test edi, edi
je 0x1002cadf
mov ecx, dword [edi + 8]
mov dword [esp + 0x24], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x1002a7e5
mov edx, dword [eax + 4]
test edx, edx
je 0x1002a7e5
test byte [edx + 8], 1
jne 0x1002b32c
mov eax, dword [edi + 4]
test eax, eax
je 0x1002d5dd
test byte [eax + 8], 1
je 0x1002c0e2
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, edi
call fcn.100329e0
mov eax, dword [esi]
lea edi, [esp + 0x88]
mov dword [edi + 4], eax
jmp 0x1002b32c
mov eax, dword [esp + 0x30]
lea ecx, [eax + esi]
sub esi, edx
shl esi, 0xc
add eax, edx
lea eax, [eax + eax*2]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x24], eax
lea ebx, [edi + eax*4 + 0x10]
mov edx, 0xfff
mov eax, esi
mov esi, dword [ebx + 8]
and esi, edx
or esi, eax
mov dword [esp + 0x28], ebx
mov dword [ebx + 8], esi
lea ecx, [ecx + ecx*2]
and edx, dword [edi + ecx*4 + 0xc]
or edx, eax
mov dword [edi + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x1002b59d
mov eax, dword [esp + 0x24]
lea eax, [edi + eax*4]
add eax, 0x18
mov dword [esp + 0x24], eax
lea esi, [esp + 0x88]
xor edx, edx
mov dword [esp + 0xc], edx
mov edx, esi
mov esi, dword [ecx]
test esi, esi
je 0x1002a8ad
mov eax, dword [esi + 4]
test al, 1
je 0x1002a8ad
mov edi, dword [esi]
test edi, edi
je 0x1002a8ad
test byte [edi + 4], 1
jne 0x1002a906
mov esi, ecx
mov eax, dword [esp + 0x24]
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 + 0x14]
je 0x1002a8f8
xor eax, eax
inc eax
test ebx, ebx
jne 0x1002a936
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x28]
xor eax, eax
cmp ecx, esi
seta cl
jae 0x1002a934
mov ecx, dword [esi]
xor eax, eax
dec eax
test ecx, ecx
jne 0x1002a88e
jmp 0x1002a9da
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 0x1002d07c
and byte [eax + 4], 0xfe
cmp dword [edx], ecx
jne 0x1002a93e
mov dword [edx], esi
jmp 0x1002a8af
mov al, cl
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
jmp 0x1002a8fd
and esi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + esi]
mov dword [edx + 4], ecx
test esi, esi
je 0x1002d08b
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 + 0xc], 0
je 0x1002cb0e
mov eax, dword [esp + 0xc]
cmp dword [eax], edx
je 0x1002b701
jmp 0x1002b857
mov eax, dword [esp + 0x24]
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 0x1002b5be
jmp 0x1002bb5b
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov edx, esi
test ecx, ecx
mov edi, dword [esp + 0x14]
jne 0x1002a894
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1002ab8d
mov eax, dword [esp + 0x28]
mov dword [esi], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1002d26d
and byte [eax + 4], 0xfe
mov dword [ecx], eax
mov edx, dword [esp + 0x34]
jmp 0x1002a711
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
test byte [esp + 0x44], 1
mov esi, dword [esp + 4]
je 0x1002b465
test edx, edx
je 0x1002b465
cmp dword [ecx], edx
je 0x100275bf
mov dword [edx], ecx
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp dword [esi + ecx + 0x6c], 1
mov edi, edx
mov edx, 0
je 0x1002aa74
add ecx, esi
add ecx, 0x6c
xor edx, edx
mov dword [edi + edx*4 + 0xc], 0xffffffff
inc edx
mov esi, dword [ecx]
dec esi
cmp edx, esi
mov esi, dword [esp + 4]
jb 0x1002aa60
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + ecx + 0x68]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor esi, esi
dec esi
shr esi, cl
cmp ebx, 1
mov ecx, dword [esp + 0x20]
sbb eax, eax
or eax, esi
mov esi, dword [esp + 4]
mov dword [edi + edx*4 + 0xc], eax
mov dword [edi + 4], 0
mov eax, dword [esi + ecx + 0x68]
mov dword [edi + 8], eax
inc dword [esi + ecx + 0x74]
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
mov edx, edi
jmp 0x10026fbb
test ecx, ecx
je 0x1002af52
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x1002aae4
mov esi, dword [edx]
test esi, esi
je 0x1002aae4
test byte [esi + 4], 1
jne 0x1002a51e
mov edx, dword [eax]
test edx, edx
je 0x1002d3ef
test byte [edx + 4], 1
jne 0x1002bcb6
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002ab10
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002bf7b
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d50a
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x1002ab7f
mov esi, dword [edx]
test esi, esi
je 0x1002ab43
test byte [esi + 4], 1
jne 0x1002a51e
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1002cabb
mov edx, dword [ecx]
test edx, edx
je 0x1002ab69
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1002bfd0
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 0x1002a51e
mov eax, dword [esi + 4]
and eax, 1
mov ecx, eax
mov ebx, dword [esp + 0x28]
or ecx, ebx
mov dword [esi + 4], ecx
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [ebx], esi
mov eax, dword [esi + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [esi + 4], 1
cmp dword [edx], esi
jne 0x1002b109
mov eax, dword [esp + 0x28]
mov dword [edx], eax
jmp 0x1002a9fa
and ecx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
jmp 0x1002a6e6
and esi, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
or ecx, esi
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x34]
and byte [ecx + 4], 0xfe
mov esi, dword [ebx + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x1002cfc7
mov ecx, dword [edx]
and ecx, 0xfffffffe
and esi, 1
or esi, ecx
mov dword [ebx + 4], esi
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 esi, ebx
and esi, 0xfffffffe
jne 0x10028623
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
xor esi, esi
test dl, 0x10
cmove esi, dword [esp + 0x24]
xor ecx, ecx
cmp esi, eax
seta dl
jb 0x1002a500
mov cl, dl
jmp 0x1002a4f7
or edx, 1
mov dword [edi + 4], edx
mov ecx, dword [edi]
test ecx, ecx
je 0x1002ac89
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002b659
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d10f
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10029f25
or edx, 1
mov dword [ebx + 4], edx
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002acc3
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002b70c
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d18b
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x1002a63a
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, eax
call fcn.10032030
mov edx, dword [esi]
jmp 0x10028dde
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x3c]
test edx, edx
jne 0x1002b605
lea eax, [esp + 0x88]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10050c80
add esp, 8
test eax, eax
je 0x1002d4aa
mov esi, eax
movzx eax, byte [esp + 0x88]
mov ecx, dword [esp + 0x1c]
mov edx, esi
push eax
call fcn.10050ba0
add esp, 4
add esi, 0x2000
jmp 0x1002905e
mov esi, edx
mov edx, dword [edx + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
jmp 0x10029759
mov esi, dword [esp + 0x5c]
shl esi, 0xc
mov eax, esi
and eax, 0xff000
mov ebx, 0x100000
sub ebx, eax
cmp ebx, edi
cmovae ebx, edi
add esi, dword [esp + 0x38]
jmp 0x10029147
and esi, 1
mov dword [esp + 0x28], 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 + 0x28]
mov edi, eax
mov eax, dword [eax + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002cebf
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 + 0x28], esi
and esi, 0xfffffffe
mov edi, dword [esp + 4]
jne 0x10027fba
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x1002b62e
lea eax, [esp + 0x88]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10050c80
add esp, 8
test eax, eax
je 0x1002d4b7
mov esi, eax
movzx eax, byte [esp + 0x88]
mov ecx, dword [esp + 4]
mov edx, esi
push eax
call fcn.10050ba0
mov edx, esi
add esp, 4
add edx, 0x2000
jmp 0x100291fa
mov esi, eax
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 0x10029e07
mov ebx, dword [esp + 0x48]
shl ebx, 0xc
mov eax, ebx
and eax, 0xff000
mov edi, 0x100000
sub edi, eax
cmp edi, esi
cmovae edi, esi
add ebx, dword [esp + 0x18]
jmp 0x100292d9
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 0x1002a51e
mov ebx, dword [ecx + 4]
jmp 0x1002976a
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002cece
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 0x1002cee3
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 0x100299cc
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1002c1aa
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x4c]
je 0x10029fec
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x10029fec
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1002c1e5
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
je 0x1002a6f1
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
mov esi, dword [esp + 0x38]
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x1002a6f1
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, eax
call fcn.10032030
mov edx, dword [esi]
jmp 0x10028f4e
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d413
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 0x1002d428
mov ebx, dword [eax]
and ebx, 0xfffffffe
and esi, 1
or esi, ebx
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
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
jmp 0x10028904
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d446
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov edi, dword [ecx + 4]
and edi, 1
or edi, eax
mov dword [ecx + 4], edi
mov edi, dword [edx + 4]
mov eax, edi
and eax, 0xfffffffe
je 0x1002d45b
mov ebx, dword [eax]
and ebx, 0xfffffffe
and edi, 1
or edi, ebx
mov dword [edx + 4], edi
mov dword [eax], edx
mov edx, dword [ecx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
jmp 0x100289b2
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp edi, ecx
jne 0x1002a2eb
and eax, 1
or eax, dword [esp + 0x2c]
mov dword [edx + 4], eax
jmp 0x1002a2eb
cmp dword [esp + 0xc], 0
je 0x1002d46a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp dword [ecx], eax
jne 0x1002bc9d
mov eax, dword [esp + 0xc]
mov dword [eax], edx
test edx, edx
je 0x1002d479
mov esi, dword [esp + 0x10]
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 0x1002d488
mov eax, dword [esp + 8]
mov dword [eax], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
jmp 0x100282c5
mov edx, dword [esi + 0x4c]
neg cl
shr edx, cl
jmp 0x10027b4b
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp esi, ecx
mov ecx, dword [esp + 0x2c]
jne 0x1002a9fe
and eax, 1
or eax, dword [esp + 0x28]
mov dword [edx + 4], eax
jmp 0x1002a9fe
test esi, esi
je 0x1002bb8e
mov eax, dword [esi + 4]
test eax, eax
je 0x1002bb8e
mov dword [esp + 4], 0
test byte [eax + 8], 1
je 0x1002bb7b
mov ebx, dword [esp + 0x38]
mov esi, edx
mov edi, esi
mov esi, eax
xor eax, eax
cmp esi, ebx
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1002b1a7
test esi, esi
je 0x1002c240
mov eax, dword [esi + 4]
test eax, eax
je 0x1002c240
mov ecx, dword [eax + 8]
test cl, 1
jne 0x1002b157
mov edx, dword [eax + 4]
test edx, edx
je 0x1002bd3b
test byte [edx + 8], 1
je 0x1002bd3b
mov edi, esi
mov ebx, dword [esp + 0x38]
jmp 0x1002b159
test eax, eax
jne 0x1002b1c3
xor ecx, ecx
test esi, esi
je 0x1002b25a
mov eax, dword [esi + 8]
mov dword [esp + 4], edi
cmp eax, 1
jbe 0x1002b225
jmp 0x1002b1d2
mov eax, esi
test esi, esi
je 0x1002caf8
mov esi, eax
mov eax, dword [eax + 8]
and eax, 0xfffffffe
je 0x1002b1ec
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002b1ec
test byte [ecx + 8], 1
mov ebx, dword [esp + 0x38]
jne 0x1002b157
lea ecx, [esp + 0x84]
mov edx, esi
call fcn.100329e0
mov eax, dword [esp + 0x84]
cmp dword [edi + 4], esi
je 0x1002c123
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
mov esi, edi
mov ebx, dword [esp + 0x38]
jmp 0x1002b157
mov eax, dword [esi + 4]
test eax, eax
je 0x1002b25a
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [esi + 8], 1
and dword [eax + 8], 1
mov ecx, eax
cmp dword [edi + 4], esi
jne 0x1002b7e0
mov dword [edi + 4], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x38], eax
mov edx, dword [esp + 0x38]
test edx, edx
je 0x1002d3bc
xor eax, eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov esi, dword [esp + 0x30]
test esi, esi
setne al
test byte [esp + 0x50], al
mov eax, dword [esp + 0x3c]
jne 0x1002a32c
mov dword [eax], 0
mov bl, 1
jmp 0x10026d4c
lea ecx, [esp + 0x88]
mov dword [esp + 0x30], ecx
jmp 0x10028898
mov ecx, eax
and ecx, 0xfffffffe
mov esi, edx
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x10029b1b
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 ecx, dword [esp + 0x1c]
mov dword [eax + 4], esi
or byte [edx + 4], 1
and dword [eax + 4], 1
jmp 0x10028027
test edi, edi
je 0x1002bbe5
mov eax, dword [edi + 4]
test eax, eax
je 0x1002bbe5
mov dword [esp + 0x24], 0
test byte [eax + 8], 1
je 0x1002bbd4
mov esi, edi
mov ecx, dword [esp + 0x18]
mov edi, eax
xor eax, eax
cmp edi, ecx
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1002b379
test edi, edi
je 0x1002c30e
mov eax, dword [edi + 4]
test eax, eax
je 0x1002c30e
mov ecx, dword [eax + 8]
test cl, 1
jne 0x1002b32c
mov edx, dword [eax + 4]
test edx, edx
je 0x1002bde8
test byte [edx + 8], 1
jne 0x1002b32c
jmp 0x1002bde8
test eax, eax
jne 0x1002b395
xor ecx, ecx
test edi, edi
je 0x1002b41c
mov eax, dword [edi + 8]
mov dword [esp + 0x24], esi
cmp eax, 1
jbe 0x1002b3e7
jmp 0x1002b39c
test edi, edi
je 0x1002b3b2
mov eax, dword [edi + 8]
and eax, 0xfffffffe
je 0x1002b3b2
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002b3b2
test byte [ecx + 8], 1
jne 0x1002b32c
lea ecx, [esp + 0x84]
mov edx, edi
call fcn.100329e0
mov eax, dword [esp + 0x84]
cmp dword [esi + 4], edi
je 0x1002c171
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 0x1002b32c
mov eax, dword [edi + 4]
test eax, eax
je 0x1002b41c
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 0x1002b923
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 4]
mov dword [esi + 0x38], eax
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x1002d3cb
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 + 0x44], al
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
jne 0x1002aa3b
mov dword [ecx], 0
mov bl, 1
jmp 0x10027024
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1002d4c8
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 0x1002d4dd
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10028dde
mov eax, dword [esp + 0x2c]
mov dword [eax], 0
mov dword [eax + 4], 1
lea edi, [esp + 0x88]
mov ebx, dword [esp + 4]
jmp 0x1002a2e5
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], ecx
jmp 0x1002894e
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x1002a2b1
jmp 0x1002be3a
mov dword [esp + 0x54], 0
jmp 0x100291bf
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 0x1002d4ec
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 0x1002b55d
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002c076
mov dword [eax + 4], ecx
jmp 0x10028dda
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov edi, dword [eax + 4]
and edi, 1
or edi, ecx
mov dword [eax + 4], edi
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x14]
or byte [edx + 4], 1
and dword [eax + 4], 1
jmp 0x10028055
mov eax, dword [esp + 0x28]
mov dword [eax], 0
mov dword [eax + 4], 1
lea esi, [esp + 0x88]
mov edi, dword [esp + 0x14]
jmp 0x1002a9f4
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x1002a9c2
jmp 0x1002be9b
mov dword [esp + 8], edx
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x1002bc38
mov edi, dword [esp + 0x10]
lea edx, [edi + 0x28]
mov ecx, dword [esp + 8]
call fcn.10032c30
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x3c]
mov dword [esp + 8], eax
mov dword [esi + 0x3c], edi
mov edi, dword [esp + 4]
jmp 0x10027b21
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3c], 0
lea esi, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x4c]
call fcn.10051170
jmp 0x1002905e
xor ebx, ebx
jmp 0x1002934c
mov eax, dword [esp + 4]
mov dword [eax + 0x3c], 0
lea esi, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x2c]
call fcn.10051170
mov edx, esi
jmp 0x100291fa
mov dword [ecx], edi
jmp 0x1002a281
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1002d11e
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 0x1002d133
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
jmp 0x10029f25
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 0x1002cf76
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 0x1002b6f5
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002c17b
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x48]
jmp 0x10029f8b
mov eax, dword [esp + 0xc]
mov dword [eax], esi
jmp 0x1002a992
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1002d19a
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002d1af
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 [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
jmp 0x1002a63a
mov eax, dword [ecx + 4]
and eax, 1
or eax, edi
mov dword [ecx + 4], eax
jmp 0x1002a281
cmp dword [esp + 0x40], 0
je 0x1002d519
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
cmp dword [edx], ecx
jne 0x1002bea5
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov esi, dword [esp + 0x2c]
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 + 0x18]
cmp dword [ecx], eax
jne 0x1002d528
mov eax, dword [esp + 0x18]
mov dword [eax], 0
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 4]
jmp 0x10029fec
and ecx, 0xfffffffe
mov eax, dword [edi + 8]
and eax, 1
or eax, ecx
mov dword [edi + 8], eax
jmp 0x1002b266
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 0x1002cf94
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 0x1002b83a
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002c1ba
mov dword [eax + 4], ecx
jmp 0x1002a694
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x10029cf2
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
and eax, 1
or eax, esi
mov dword [ecx + 4], eax
jmp 0x1002a992
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1002d535
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 0x1002d54a
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10028f4e
cmp dword [esp + 0xc], 0
je 0x1002d559
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp dword [edx], ecx
jne 0x1002bf13
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
mov edi, dword [esp + 0x24]
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 0x1002d568
mov dword [esi], 0
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x14]
jmp 0x1002a6ed
and ecx, 0xfffffffe
mov eax, dword [esi + 8]
and eax, 1
or eax, ecx
mov dword [esi + 8], eax
jmp 0x1002b428
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 0x1002d571
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 0x1002b97d
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002c1f5
mov dword [eax + 4], ecx
jmp 0x10028f4a
mov ecx, esi
mov eax, edx
mov edx, dword [esp + 8]
push eax
push ebx
call fcn.10003200
jmp 0x10029c19
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 [edi + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d0f1
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [edi + 4], ecx
mov dword [edx], edi
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
jne 0x10029f07
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
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 0x1002cd60
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x10028276
lea edx, [esp + 0x88]
mov dword [esp + 0x3c], edx
jmp 0x10028c05
mov esi, dword [esp + 0x28]
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 0x1002d580
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 0x1002bbb6
mov eax, dword [edi + 4]
test al, 1
je 0x1002bbb6
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 0x1002d658
mov esi, dword [eax]
or esi, 1
mov dword [edx + 4], esi
mov dword [eax], edx
mov dword [ecx], eax
mov edi, dword [esp + 4]
jmp 0x10028b39
and ecx, 1
mov dword [esp + 0x3c], edi
mov edi, dword [edx + 4]
and edi, 0xfffffffe
or edi, ecx
mov dword [edx + 4], edi
mov ecx, dword [esp + 0x3c]
and byte [ecx + 4], 0xfe
mov ecx, dword [ebx + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1002d16d
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
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 edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov ebx, dword [eax + 4]
mov ecx, ebx
and ecx, 0xfffffffe
jne 0x1002a61c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov edx, 0x100000
push 2
call fcn.10001850
add esp, 4
jmp 0x10026ec9
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x2c]
xor eax, eax
cmp ecx, edi
seta cl
jb 0x1002be3a
mov al, cl
jmp 0x1002a2b1
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x28]
xor eax, eax
cmp ecx, esi
seta cl
jb 0x1002be9b
mov al, cl
jmp 0x1002a9c2
mov ecx, dword [eax + 4]
test ecx, ecx
mov esi, edx
je 0x1002bb8e
test byte [ecx + 8], 1
jne 0x1002b151
lea edi, [esp + 0x70]
mov ecx, edi
mov edx, esi
call fcn.10001630
mov eax, dword [edi]
test eax, eax
je 0x1002d6a9
and byte [eax + 8], 0xfe
mov dword [esp + 4], 0
jmp 0x1002a0fa
mov dword [edx + 4], edi
mov edi, dword [esp + 4]
jmp 0x10028b39
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.10001010
mov ecx, dword [esi]
jmp 0x10029a4b
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002bbe5
test byte [ecx + 8], 1
jne 0x1002b32c
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, edi
call fcn.10001630
mov eax, dword [esi]
test eax, eax
je 0x1002d6d6
and byte [eax + 8], 0xfe
mov dword [esp + 0x24], 0
jmp 0x1002a809
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
or ecx, 1
mov dword [eax + 4], ecx
and esi, 0xfffffffe
je 0x1002cd9d
mov ecx, dword [esi]
or ecx, 1
mov dword [eax + 4], ecx
mov dword [esi], eax
mov dword [edx], esi
jmp 0x1002869f
cmp dword [edx + 0xc], 0
je 0x1002c234
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
add ecx, 0x38
call fcn.10032410
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + 0xc]
sub dword [esi + 0x48], edx
sub eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x28], 0xfff00000
add eax, 0xfffffffe
mov dword [ecx + 0x2c], eax
jmp 0x1002b5de
lea edx, [esp + 0x88]
mov dword [esp + 0xc], edx
jmp 0x10028e60
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, eax
call fcn.10032030
mov edx, dword [esi]
jmp 0x10029dfa
mov eax, edx
and eax, 0xfffffffe
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002b0ae
lea esi, [esp + 0x70]
mov ecx, esi
mov edx, eax
call fcn.10032030
mov edx, dword [esi]
jmp 0x1002ab7f
push 0x100a5778
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ebx, dword [0x100a5790]
xor eax, eax
dec eax
mov edx, dword [esp + 8]
xor ecx, ecx
cmp dword [ebx + 0x10], edx
setb cl
cmova ecx, eax
test ecx, ecx
je 0x1002bd26
cmp ecx, 0xffffffff
je 0x1002bcfe
mov ebx, dword [ebx + 0xc]
and ebx, 0xfffffffe
jmp 0x1002bce2
mov ebx, dword [ebx + 8]
jmp 0x1002bce2
mov eax, dword [ebx]
mov esi, dword [ebx + 0x18]
cmp eax, dword [esi + 8]
je 0x10026bbe
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode__mArenaId__mNode__mArena__mId_
int3
mov esi, dword [ebx + 0x14]
push 0x100a5778
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov edx, esi
jmp 0x10026bb0
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [esi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1002d2c6
mov eax, dword [ecx + 4]
test eax, eax
je 0x1002bd62
mov ebx, dword [eax + 8]
test bl, 1
jne 0x1002c3d8
or edx, 1
mov ebx, esi
mov dword [esi + 8], edx
mov eax, dword [ecx + 4]
or eax, 1
mov dword [esi + 8], eax
mov dword [ecx + 4], esi
mov eax, ecx
cmp dword [edi + 4], esi
jne 0x1002d59e
mov dword [edi + 4], eax
mov esi, eax
mov ebx, dword [esp + 0x38]
jmp 0x1002b15b
xor esi, esi
test edx, edx
je 0x1002bdd8
mov ecx, dword [edx + 8]
cmp ecx, 1
ja 0x1002c5d8
mov eax, dword [edx + 4]
test eax, eax
je 0x1002bdd8
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov esi, edx
mov dword [edx + 4], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [esi + 8], 1
and dword [eax + 8], 1
mov esi, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x38], esi
mov edx, dword [esp + 0x38]
jmp 0x1002b280
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [edi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1002d293
mov eax, dword [ecx + 4]
test eax, eax
je 0x1002be0f
mov ebx, dword [eax + 8]
test bl, 1
jne 0x1002c459
or edx, 1
mov dword [edi + 8], edx
mov eax, dword [ecx + 4]
or eax, 1
mov dword [edi + 8], eax
mov dword [ecx + 4], edi
mov eax, ecx
cmp dword [esi + 4], edi
jne 0x1002d5c8
mov dword [esi + 4], eax
mov edi, eax
mov ecx, dword [esp + 0x18]
jmp 0x1002b334
mov ecx, dword [edi]
xor eax, eax
dec eax
jmp 0x1002a2b7
xor edx, edx
test edi, edi
je 0x1002be8b
mov ecx, dword [edi + 8]
cmp ecx, 1
ja 0x1002c5e8
mov eax, dword [edi + 4]
test eax, eax
je 0x1002be8b
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 esi, dword [esp + 4]
mov dword [esi + 0x38], edx
mov ecx, dword [esp + 0x18]
jmp 0x1002b442
mov ecx, dword [esi]
xor eax, eax
dec eax
jmp 0x1002a9c8
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [esp + 0x40]
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x1002b792
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1002d5f2
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 0x1002d607
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10029dfa
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 4]
and edx, 1
or edx, ecx
mov dword [edi + 4], edx
jmp 0x1002b8e1
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 0x1002d616
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 0x1002bf73
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002c42e
mov dword [eax + 4], ecx
jmp 0x10029df6
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1002d625
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 0x1002d63a
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x1002ab7f
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 0x1002d649
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 0x1002c017
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002c4ab
mov dword [eax + 4], ecx
jmp 0x1002ab7b
mov esi, eax
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov ecx, dword [edx]
test ecx, ecx
je 0x1002d667
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 0x1002d67c
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 0x10029a4b
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 0x1002d68b
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x10028dda
or ecx, 1
mov dword [edx + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002c0ba
mov ebx, dword [ecx + 8]
test bl, 1
jne 0x1002c2b3
or byte [eax + 8], 1
mov ecx, dword [edx + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d69a
mov esi, dword [eax + 4]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [edx + 8], ecx
mov dword [eax + 4], edx
jmp 0x1002a0fa
or ecx, 1
mov dword [edi + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1002c0fb
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002c37f
or byte [eax + 8], 1
mov ecx, dword [edi + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1002d6b8
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 0x1002a809
mov dword [edi + 4], eax
jmp 0x1002b21a
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], ecx
jmp 0x100299e8
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 esi, dword [esp + 0x14]
or byte [edx + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x100293cb
mov dword [esi + 4], eax
mov edi, esi
jmp 0x1002b32c
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 0x1002cf67
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
mov edi, dword [esp + 0x48]
jmp 0x10029f8b
lea edx, [esp + 0x88]
mov dword [esp + 0x40], edx
jmp 0x1002a3c3
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 0x1002cf85
mov edi, dword [ecx]
or edi, 1
mov dword [eax + 4], edi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1002a694
lea edx, [esp + 0x88]
mov dword [esp + 0xc], edx
jmp 0x1002aacd
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 0x1002d6c7
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x10028f4a
mov ecx, dword [esp + 8]
mov edx, esi
call fcn.10001740
mov esi, dword [esp + 4]
jmp 0x10026edb
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
jmp 0x1002bc63
cmp dword [esp + 4], 0
je 0x1002d6e5
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 4]
cmp dword [ecx + 4], eax
jne 0x1002c5f8
mov eax, dword [esp + 4]
mov dword [eax + 4], esi
cmp dword [esp + 0x38], 0
je 0x1002d700
test esi, esi
je 0x1002d718
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 4]
mov ebx, esi
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
and eax, 0xfffffffe
mov ecx, dword [esi + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
cmp dword [edi + 4], esi
jne 0x1002d727
mov dword [edi + 4], 0
jmp 0x1002b266
and ebx, 0xfffffffe
mov dword [ecx + 8], ebx
mov eax, dword [edx + 4]
test eax, eax
je 0x1002d730
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov esi, edx
mov dword [edx + 4], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov edi, dword [eax + 8]
and edi, 1
or edi, ecx
mov dword [eax + 8], edi
mov edi, dword [edx + 8]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1002d746
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
and edi, 1
or edi, esi
mov dword [edx + 8], edi
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x1002a0fa
cmp dword [esp + 0x24], 0
je 0x1002d755
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 4], eax
jne 0x1002c611
mov eax, dword [esp + 0x24]
mov dword [eax + 4], edi
cmp dword [esp + 0x18], 0
je 0x1002d770
test edi, edi
je 0x1002d78f
mov edx, dword [esp + 0x18]
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 0x1002d786
mov dword [esi + 4], 0
jmp 0x1002b428
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x1002d79e
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 0x1002d7b4
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 0x1002a809
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
and eax, 0xfffffffe
mov ebx, esi
mov ecx, dword [esi + 8]
and ecx, 1
lea edx, [ecx + eax]
mov dword [esi + 8], edx
test eax, eax
je 0x1002d2db
mov edx, dword [eax + 4]
and edx, 0xfffffffe
or edx, ecx
mov ecx, esi
mov dword [esi + 8], edx
mov dword [eax + 4], esi
mov ecx, dword [esi + 8]
and ecx, 0xfffffffe
je 0x1002c426
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002c87c
mov dword [esi + 8], ecx
jmp 0x1002bd78
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 0x1002d7c3
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x10029df6
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
and eax, 0xfffffffe
mov ecx, dword [edi + 8]
and ecx, 1
lea edx, [ecx + eax]
mov dword [edi + 8], edx
test eax, eax
je 0x1002d2a8
mov edx, dword [eax + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [edi + 8], edx
mov dword [eax + 4], edi
mov ecx, dword [edi + 8]
and ecx, 0xfffffffe
je 0x1002c4a3
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002c8ae
mov dword [edi + 8], ecx
jmp 0x1002be23
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 0x1002d7d2
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1002ab7b
mov byte [ecx + 0x40], 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.10011e30
xor edx, edx
cmp byte [esi + 8], 0
mov ecx, 0
mov esi, 0
je 0x1002c51b
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
cmp byte [esp + 0x90], 0
mov edi, 0
je 0x1002c538
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 + 0x1c]
mov dword [ecx + 0x44], eax
mov byte [ecx + 0x40], 1
mov edi, dword [esp + 0xc]
jmp 0x10026cc3
mov byte [esi + 0x40], 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.10011e30
xor edx, edx
cmp byte [esi + 8], 0
mov ecx, 0
mov esi, 0
je 0x1002c59c
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
cmp byte [esp + 0x90], 0
mov edi, 0
je 0x1002c5b9
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 esi, dword [esp + 4]
mov dword [esi + 0x44], eax
mov byte [esi + 0x40], 1
mov edx, dword [esp + 0x20]
jmp 0x10026f89
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
jmp 0x1002a0c0
lea eax, [esp + 0x88]
mov dword [esp + 0x24], eax
jmp 0x1002a7cd
mov eax, esi
and eax, 0xfffffffe
mov edx, dword [esp + 4]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1002c263
mov eax, edi
and eax, 0xfffffffe
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1002c331
push 0x100a5810
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
cmp dword [0x100a580c], 0
jne 0x1002c868
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1002d809
mov eax, dword [0x100a5818]
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x1002c6b4
push 0x100a5818
call fcn.1004fb5e
add esp, 4
cmp dword [0x100a5818], 0xffffffff
jne 0x1002c6b4
lea esi, [esp + 0x88]
push esi
call dword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [esi + 4]
mov dword [0x100a5814], eax
push 0x100a5818
call fcn.1004fb5e
add esp, 4
mov eax, 0x1000
xor edx, edx
div dword [0x100a5814]
test edx, edx
jne 0x1002d813
mov ebx, 0x100a581c
push 0x40
push ebx
push str.MALLOC_OPTIONS
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableA]
test eax, eax
cmove ebx, eax
je 0x1002c731
mov al, byte [ebx]
test al, al
je 0x1002c731
mov dword [esp + 8], 0
movsx eax, al
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1002d87a
xor esi, esi
inc esi
mov eax, dword [esp + 8]
mov al, byte [ebx + eax]
movsx ecx, al
cmp ecx, 0x72
jne 0x1002d7e1
mov byte [0x100a5774], 1
dec esi
jne 0x1002c703
mov ecx, dword [esp + 8]
mov al, byte [ebx + ecx + 1]
inc ecx
mov dword [esp + 8], ecx
test al, al
jne 0x1002c6f1
xor esi, esi
mov dword [0x100a57d8], esi
mov eax, 0x1388
mov ebx, dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
push eax
push 0x100a57b8
call ebx
mov dword [0x100a57d0], esi
mov dword [0x100a57d4], esi
mov eax, 0x1388
push eax
push 0x100a5778
call ebx
mov dword [0x100a5790], esi
mov dword [0x100a5794], esi
mov dword [0x100a5798], esi
mov eax, 0x1388
push eax
push 0x100a57dc
call ebx
mov dword [0x100a5808], esi
mov dword [0x100a5800], esi
mov dword [0x100a574c], esi
mov dword [0x100a5750], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], esi
mov eax, dword [0x100a5024]
mov dword [esp + 0x88], eax
mov eax, 0x1388
push eax
push 0x100a572c
call ebx
test eax, eax
je 0x1002d837
lea edx, [esp + 0x88]
xor ecx, ecx
call fcn.10041370
mov dword [0x100a5744], eax
test eax, eax
je 0x1002d85c
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 8], 0
je 0x1002d843
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 0xc], eax
push 0x1388
push 0x100a579c
call dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x4000
call fcn.10011e30
test eax, eax
je 0x1002d852
mov esi, eax
push 0x4000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x100a57b4], esi
xor eax, eax
inc eax
xchg dword [0x100a580c], eax
call fcn.10001250
push 0x100a5810
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov edx, dword [esp + 0x20]
jmp 0x10026efb
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov ebx, esi
mov ecx, dword [esi + 8]
mov edx, ecx
or edx, 1
mov dword [esi + 8], edx
and ecx, 0xfffffffe
je 0x1002d2ea
mov edx, dword [ecx + 4]
or edx, 1
mov ebx, esi
mov dword [esi + 8], edx
mov dword [ecx + 4], esi
mov dword [eax + 4], ecx
jmp 0x1002bd78
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov ecx, dword [edi + 8]
mov edx, ecx
or edx, 1
mov dword [edi + 8], edx
and ecx, 0xfffffffe
je 0x1002d2b7
mov edx, dword [ecx + 4]
or edx, 1
mov dword [edi + 8], edx
mov dword [ecx + 4], edi
mov dword [eax + 4], ecx
jmp 0x1002be23
or edi, 1
mov dword [edx + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or esi, 1
mov dword [edx + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or edi, 1
mov dword [edx + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or ebx, 1
mov dword [eax + 4], ebx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
and esi, 1
mov dword [ecx + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [esp + 0x64], ebx
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1002d924
cmp eax, 8
je 0x1002d924
xor eax, eax
jmp 0x10029181
mov dword [esp + 0x58], edi
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1002d97b
cmp eax, 8
je 0x1002d97b
xor eax, eax
jmp 0x10029313
and esi, 1
mov dword [ebx + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or edi, 1
mov dword [eax + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or ecx, 1
mov dword [edx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
and ecx, 1
mov dword [edi + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
and ecx, 1
mov dword [ebx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov edx, 1
jmp 0x10026b5e
mov esi, eax
jmp 0x1002b1ec
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
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
mov bl, 1
xor edi, edi
jmp 0x10026d4c
mov esi, edx
call fcn.1004f684
mov edx, esi
jmp 0x10026f2d
mov esi, dword [0x100a5744]
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
jne 0x1002cbc0
call fcn.1004f684
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov dword [eax + 0xc], esi
mov edx, dword [esp + 0x20]
jmp 0x10026f4a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__mArena__arena__mArena_
int3
call fcn.1004f684
jmp 0x10026c67
mov esi, dword [0x100a5744]
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
jne 0x1002cc20
call fcn.1004f684
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [eax + 0xc], esi
mov ebx, dword [esp + 0x20]
jmp 0x10026c84
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
and ebx, 1
mov dword [eax + 4], ebx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
dec dword [esi + 8]
mov bl, 1
xor edi, edi
mov ecx, dword [esp + 0x1c]
jmp 0x10026d4c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov eax, ecx
and eax, 0xfffffffe
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 0x10027416
dec dword [edx + 8]
mov bl, 1
mov dword [esp + 8], 0
jmp 0x10027020
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
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 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
and esi, 1
mov dword [edi + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
xor ebx, ebx
jmp 0x10027d78
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 0x10027e5c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x100280fa
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov eax, ecx
jmp 0x1002903d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov eax, ecx
jmp 0x100291db
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x10028526
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
and dword [ebx + 4], 1
jmp 0x1002759f
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov esi, eax
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10029e0b
or edx, 1
mov dword [edi + 8], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or edx, 1
mov dword [esi + 8], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x1002a520
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
and dword [edi + 4], 1
jmp 0x10028337
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
and dword [edi + 4], 1
jmp 0x10029d24
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov eax, dword [esp + 8]
and dword [eax + 4], 1
jmp 0x1002b0f0
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
jmp 0x1002b29f
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
jmp 0x1002b465
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov eax, dword [esp + 0x18]
and dword [eax + 4], 1
jmp 0x1002b7cc
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
and dword [esi + 4], 1
jmp 0x1002b913
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
jmp 0x1002bd84
or ecx, 1
mov dword [edx + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
jmp 0x1002be2f
or ecx, 1
mov dword [edi + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test esi, esi
je 0x1002d718
mov eax, esi
mov dword [esi + 4], 0
and dword [esi + 8], 1
xor ecx, ecx
jmp 0x1002c29b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
and dword [edi + 8], 1
jmp 0x1002b266
mov dword [edx + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test edi, edi
je 0x1002d78f
mov dword [edi + 4], 0
and dword [edi + 8], 1
xor ecx, ecx
jmp 0x1002c367
and dword [esi + 8], 1
jmp 0x1002b428
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edi + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
cmp ecx, 0x46
jne 0x1002d8a5
mov eax, dword [0x100a5024]
test eax, eax
je 0x1002d8c6
add eax, eax
je 0x1002c71d
mov dword [0x100a5024], eax
jmp 0x1002c71d
call fcn.1004f684
jmp 0x1002c65e
mov ecx, str._jemalloc_
mov edx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.10054c10
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov dword [0x100a5744], 0
jmp 0x1002d85c
call fcn.1004f684
mov eax, dword [0x100a5744]
jmp 0x1002c80a
mov dword [0x100a57b4], 0
push 0x100a5810
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
xor esi, esi
jmp 0x10026edb
xor esi, esi
lea ecx, [esi + esi*4]
lea esi, [eax + ecx*2]
mov ecx, dword [esp + 8]
movsx eax, byte [ebx + ecx + 1]
inc ecx
mov dword [esp + 8], ecx
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1002d87c
test esi, esi
je 0x1002c720
jmp 0x1002c703
cmp ecx, 0x52
jne 0x1002d8b6
mov byte [0x100a5774], 0
jmp 0x1002c71d
cmp ecx, 0x66
jne 0x1002d8d5
shr dword [0x100a5024], 1
jmp 0x1002c71d
mov dword [0x100a5024], 1
jmp 0x1002c71d
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, 0x1009afc9
call fcn.10054c10
jmp 0x1002c71d
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea ebx, [eax + eax*4]
add ebx, 5
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x6c]
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x68], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x68], 0
jne 0x1002d9d2
cmp eax, 0x5af
je 0x1002d971
cmp eax, 8
jne 0x1002c9c3
xor eax, eax
dec ebx
jne 0x1002d936
jmp 0x10029181
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 ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x60], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x60], 0
jne 0x1002d9f6
cmp eax, 0x5af
je 0x1002d9c8
cmp eax, 8
jne 0x1002c9e8
xor eax, eax
dec edi
jne 0x1002d98d
jmp 0x10029313
cmp eax, 0x5af
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
je 0x1002d9ea
cmp eax, 8
jne 0x10029168
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10029168
cmp eax, 0x5af
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
je 0x1002da0e
cmp eax, 8
jne 0x100292fa
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x100292fa
mov eax, dword [esp + 0x88]
mov dword [ebx], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov esi, 0xfffff000
and esi, dword [edi + 8]
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
test esi, esi
mov edi, dword [esp + 0xc]
jne 0x10026cf9
jmp 0x1002b2a5
mov dword [edx], ecx
jmp 0x1002dabb
int3
mov eax, ecx
and eax, 0xfffffffe
mov esi, ebx
mov ebx, edx
mov edx, dword [edx + 4]
and edx, 1
or edx, eax
mov dword [ebx + 4], edx
mov ebx, esi
mov edi, dword [esp + 0x18]
nop word cs:[eax + eax]
mov edx, ecx
xor eax, eax
cmp ecx, edi
setb al
mov ecx, 0xffffffff
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1002dac1
test edx, edx
je 0x1002de03
mov ecx, dword [edx]
test ecx, ecx
je 0x1002de03
mov eax, dword [ecx + 4]
test al, 1
jne 0x1002dabb
mov esi, dword [ecx]
test esi, esi
je 0x1002dae9
test byte [esi + 4], 1
je 0x1002dae9
mov dword [esp + 4], edx
jmp 0x1002da80
test eax, eax
jne 0x1002db3e
mov esi, ebx
xor ecx, ecx
test edx, edx
je 0x1002de8b
mov eax, dword [edx + 4]
mov ebx, dword [esp + 4]
mov dword [esp + 0x30], ebx
cmp eax, 1
mov ebx, esi
jbe 0x1002dc24
jmp 0x1002db49
mov dword [esp + 0x2c], ebx
or eax, 1
mov dword [ecx + 4], eax
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0xfffffffe
je 0x1002de76
mov ecx, dword [eax]
test ecx, ecx
je 0x1002db13
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1002dc4b
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
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 4]
cmp dword [eax], edx
mov edx, eax
jne 0x1002da58
mov dword [edx], ecx
jmp 0x1002da80
test edx, edx
je 0x1002defc
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [esp + 0x18]
je 0x1002db64
mov esi, dword [ecx]
test esi, esi
je 0x1002db64
test byte [esi + 4], 1
jne 0x1002dabb
mov esi, dword [edx]
test esi, esi
je 0x1002defc
mov ecx, dword [esi + 4]
test cl, 1
je 0x1002dcf3
mov dword [esp + 0x44], esi
and ecx, 0xfffffffe
je 0x1002deb0
mov esi, dword [ecx]
test esi, esi
mov dword [esp + 0x2c], ebx
je 0x1002db9b
test byte [esi + 4], 1
jne 0x1002dd40
and eax, 1
or eax, ecx
mov esi, dword [esp + 0x44]
mov dword [esi + 4], eax
or byte [ecx + 4], 1
mov ecx, dword [edx]
test ecx, ecx
je 0x1002dec9
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 ebx, dword [edx + 4]
mov eax, ebx
and eax, 0xfffffffe
je 0x1002dede
mov esi, dword [eax]
and esi, 0xfffffffe
and ebx, 1
or ebx, esi
mov dword [edx + 4], ebx
mov dword [eax], edx
mov esi, dword [ecx + 4]
and esi, 1
or esi, eax
mov dword [ecx + 4], esi
or byte [edx + 4], 1
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 4]
cmp dword [eax], edx
mov edx, eax
je 0x1002da49
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 0x1002dabb
mov eax, dword [edx]
test eax, eax
jne 0x1002dcc1
mov eax, dword [esp + 4]
cmp dword [eax], edx
mov edx, eax
jne 0x1002dd2d
mov dword [edx], ecx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
jmp 0x1002da1a
and ebx, 0xfffffffe
mov dword [eax], ebx
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 0x1002dea1
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 0x1002dcb9
mov ebx, dword [eax + 4]
test bl, 1
je 0x1002dcb9
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov eax, dword [edx + 4]
mov esi, eax
or esi, 1
mov dword [edx + 4], esi
and eax, 0xfffffffe
je 0x1002de92
mov esi, dword [eax]
or esi, 1
mov dword [edx + 4], esi
mov dword [eax], edx
mov dword [ecx], eax
jmp 0x1002db25
mov dword [edx + 4], eax
jmp 0x1002db25
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
or byte [edx + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x1002dc2e
or ecx, 1
mov dword [esi + 4], ecx
mov eax, dword [esi]
test eax, eax
je 0x1002dd0b
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1002ddaa
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002df0b
mov esi, dword [ecx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [edx + 4], eax
mov dword [ecx], edx
jmp 0x1002dbfd
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x1002dc3e
and eax, 1
mov ebx, dword [ecx + 4]
and ebx, 0xfffffffe
or ebx, eax
mov dword [ecx + 4], ebx
and byte [esi + 4], 0xfe
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx + 4]
mov ecx, eax
and ecx, 0xfffffffe
je 0x1002deed
mov esi, dword [ecx]
and esi, 0xfffffffe
and eax, 1
or eax, esi
mov dword [ebx + 4], eax
mov dword [ecx], ebx
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 ebx, dword [edx + 4]
mov eax, ebx
and eax, 0xfffffffe
jne 0x1002dbdb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1002df1a
mov dword [esp + 0x2c], ebx
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 0x1002df2f
mov ebx, dword [eax]
and ebx, 0xfffffffe
and esi, 1
or esi, ebx
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 0x1002dbf9
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x1002df3e
cmp dword [ecx], edi
jne 0x1002de58
mov dword [ecx], edx
test edx, edx
je 0x1002df4d
mov eax, dword [edi]
mov dword [edx], eax
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 4]
cmp dword [eax], edx
jne 0x1002df5c
mov dword [eax], 0
mov ecx, dword [esp + 0x1c]
jmp 0x1002da1a
mov eax, edx
and eax, 0xfffffffe
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 4]
and ecx, 1
or ecx, eax
mov eax, dword [esp + 0x30]
mov dword [eax + 4], ecx
jmp 0x1002de15
or esi, 1
mov dword [edx + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov ebx, esi
jmp 0x1002dc2e
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
and eax, 1
mov ecx, dword [esp + 0x44]
mov dword [ecx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c8fb
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002c985
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1002da4d
and dword [eax + 4], 1
jmp 0x1002de4f