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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov eax, dword [0x100a500c]
xor eax, ebp
mov dword [esp + 0xa0], eax
cmp dword [0x100a580c], 0
je 0x1004b580
push 0x100a572c
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edi, dword [0x100a5750]
test edi, edi
je 0x10048cb5
mov eax, dword [ebp + 8]
mov ecx, 0xffffffff
xor edx, edx
cmp dword [edi + 8], eax
setb dl
cmova edx, ecx
test edx, edx
je 0x10048cca
cmp edx, 0xffffffff
jne 0x10048eb4
mov edi, dword [edi]
test edi, edi
jne 0x10048c97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_result_
int3
push 0x100a572c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
cmp dword [0x100a580c], 0
je 0x1004b148
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1004ab1f
mov esi, eax
test edi, edi
jne 0x10048fb5
cmp esi, 0x1f1
jae 0x10048faf
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1004b587
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x1004ad79
mov eax, esi
cmp esi, 9
jb 0x1004926e
cmp eax, 0x1f1
jae 0x10048ebf
add eax, 0xf
mov ecx, eax
and ecx, 0xfffffff0
mov dword [esp + 0x14], ecx
shr eax, 4
shl eax, 5
mov dword [esp + 0x20], eax
cmp byte [edi + 0x40], 0
je 0x10048d78
cmp dword [edi + 0x44], 0
je 0x1004b0a5
mov eax, dword [esp + 0x20]
lea ebx, [edi + eax]
add ebx, 0x5c
lea eax, [edi + 0xc]
mov dword [esp + 0x44], eax
cmp dword [edi + 0x24], 0
jne 0x10048d99
push dword [esp + 0x44]
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [ebx]
test ecx, ecx
je 0x10048edb
cmp dword [ecx + 8], 0
je 0x10048edb
mov eax, dword [ecx + 4]
mov edx, dword [ecx + eax*4 + 0xc]
test edx, edx
je 0x100491f8
mov ebx, dword [edi + 0x44]
test ebx, ebx
jne 0x10048e34
tzcnt ebx, edx
mov esi, eax
shl esi, 5
or esi, ebx
btc edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x20]
imul esi, dword [edi + eax + 0x64]
mov eax, dword [edi + eax + 0x70]
mov dword [ecx + ebx*4 + 0xc], edx
add eax, ecx
add esi, eax
dec dword [ecx + 8]
test esi, esi
je 0x1004b598
mov eax, dword [esp + 0x14]
add dword [edi + 0x30], eax
xor ebx, ebx
cmp dword [edi + 0x24], 0
jne 0x10048e0c
push dword [esp + 0x44]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test bl, bl
jne 0x1004cd10
test esi, esi
je 0x1004cd10
mov ecx, dword [esp + 0xa0]
xor ecx, ebp
call fcn.1004fb50
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 8], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov esi, eax
shld esi, ecx, 0x17
mov edi, ecx
shl edi, 0x17
xor edi, ecx
mov ecx, dword [ebx + 0xc]
xor esi, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, esi
mov dword [esp + 4], esi
shr esi, 0x11
xor esi, eax
mov eax, dword [ebx + 8]
mov dword [ebx + 4], ecx
shld dword [esp + 4], edi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, edi
xor ecx, dword [esp + 4]
mov dword [ebx], eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 8], ecx
add ecx, eax
mov esi, edx
ror esi, cl
test esi, esi
je 0x10048ead
tzcnt ebx, esi
mov eax, dword [esp + 8]
add ebx, ecx
and ebx, 0x1f
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x10048dc7
mov ebx, 0x20
jmp 0x10048e97
mov edi, dword [edi + 4]
and edi, 0xfffffffe
jmp 0x10048cb1
add eax, 0xff
mov ecx, eax
and ecx, 0x1f00
mov dword [esp + 0x14], ecx
shr eax, 8
add eax, 0x1e
jmp 0x10048d61
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + ecx + 0x60]
test eax, eax
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], edi
je 0x10049647
add ecx, edi
add ecx, 0x60
mov dword [esp + 0x18], ecx
mov ecx, eax
nop
mov ebx, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10048f00
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0
xor edx, edx
cmp eax, ebx
setb dl
mov ecx, 0xffffffff
cmovbe ecx, edx
cmp ecx, 0xffffffff
jne 0x100493f5
mov edx, dword [eax]
test edx, edx
je 0x1004b3d2
mov ecx, dword [edx + 4]
mov dword [esp + 8], 0
test cl, 1
jne 0x1004c090
mov esi, dword [edx]
test esi, esi
je 0x10048f5a
test byte [esi + 4], 1
jne 0x1004c090
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004b3e1
mov edx, dword [ecx]
test edx, edx
je 0x10048f8e
mov dword [esp + 0x10], esi
mov esi, dword [edx + 4]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x10]
test byte [esp + 0xc], 1
jne 0x10049d2a
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 + 0x78]
mov dword [eax], edx
jmp 0x1004c090
mov edi, dword [0x100a5744]
cmp esi, 0xf00
jbe 0x10048d3c
mov edx, esi
cmp esi, 0xfd000
ja 0x1004ae6e
add edx, 0xfff
mov dword [esp + 0x20], edx
lea eax, [edi + 0xc]
cmp dword [edi + 0x24], 0
mov dword [esp + 0x28], eax
jne 0x10048fed
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x20]
and eax, 0xfffff000
mov dword [esp + 0x44], eax
mov edx, dword [edi + 0x58]
test edx, edx
mov dword [esp + 0x1c], edi
je 0x1004955d
xor eax, eax
mov ecx, 0xfffff000
mov edi, edx
mov edx, 0xffffffff
mov dword [esp + 4], edi
mov esi, dword [edi + 8]
and esi, ecx
xor ebx, ebx
cmp dword [esp + 0x44], esi
seta bl
cmovb ebx, edx
lea esi, [ebx + 1]
cmp esi, 2
jae 0x1004903e
mov eax, edi
mov edi, dword [edi]
test edi, edi
jne 0x1004901b
jmp 0x10049051
cmp ebx, 1
jne 0x1004b5a1
mov edi, dword [edi + 4]
and edi, 0xfffffffe
test edi, edi
jne 0x1004901b
test eax, eax
je 0x1004b5a8
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 edi, dword [esp + 0x1c]
mov edx, esi
and edx, 0xfff00000
mov eax, dword [edx + 0xc]
mov dword [esp + 0x48], 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 + 0x14], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x20]
shr ecx, 0xc
cmp dword [esp + 0x44], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], ecx
je 0x10049528
xor eax, eax
inc eax
cmp ecx, 2
cmovae eax, ecx
mov dword [esp + 0x10], eax
lea eax, [ebx + ebx*2]
lea eax, [edx + eax*4]
add eax, 0x18
xor ebx, ebx
mov edi, ecx
xor edx, edx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
lea ecx, [edx + eax]
lea eax, [ecx + ecx*2]
mov edi, dword [esp + 0x18]
test byte [edi + eax*4 + 0x18], 0x60
mov edi, dword [esp + 8]
jne 0x10049122
inc edx
cmp edx, dword [esp + 0x20]
setae bl
dec edi
mov eax, dword [esp + 4]
add eax, 0xc
cmp edx, dword [esp + 0x10]
jne 0x100490e6
jmp 0x100492a7
mov dword [esp + 0x24], ecx
mov dword [esp + 0x40], edx
cmp edx, dword [esp + 0x20]
mov eax, dword [esp + 4]
jae 0x10049857
xor edx, edx
mov ecx, dword [eax]
test cl, 0x60
je 0x10049150
and ecx, 0xffffff9f
mov dword [eax], ecx
inc edx
add eax, 0xc
cmp edi, edx
jne 0x1004913a
mov edx, edi
mov ecx, edx
shl ecx, 0xc
mov dword [esp + 0x38], ebx
jne 0x100495bb
jmp 0x1004985e
mov dword [esp + 0x24], edx
mov dword [esp + 0x50], ecx
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x3c], eax
push 4
push 0x1000
push dword [esp + 0x2c]
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b3a3
mov eax, dword [esp + 0x24]
add ebx, eax
mov ecx, dword [esp + 0x50]
sub ecx, eax
mov eax, 0x100000
cmp ecx, eax
mov edx, 0x100000
cmovb edx, ecx
test ecx, ecx
je 0x100495e2
jmp 0x10049164
mov eax, edx
test edx, edx
je 0x100491db
cmp byte [esp + 0x30], 0
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 4]
mov ebx, eax
or dword [edx], ecx
add edx, 0xc
dec ebx
jne 0x100491d3
cmp byte [esp + 0x30], 0
mov edx, eax
je 0x1004c796
mov eax, dword [esp + 0x1c]
add dword [eax + 0x2c], edx
mov edx, dword [esp + 0x40]
jmp 0x10049107
mov dword [esp + 0x18], ecx
mov edx, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + eax + 0x6c]
mov eax, edx
mov esi, edx
shl esi, 5
inc eax
cmp eax, ecx
jae 0x1004b591
mov edx, eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + edx*4 + 0xc]
add esi, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, edx
je 0x1004920d
mov dword [esp + 8], eax
mov ebx, dword [edi + 0x44]
test ebx, ebx
jne 0x1004937e
mov edx, dword [esp + 4]
tzcnt ebx, edx
add esi, ebx
mov eax, dword [esp + 0x20]
imul esi, dword [edi + eax + 0x64]
mov eax, dword [edi + eax + 0x70]
mov ecx, dword [esp + 0x18]
add eax, ecx
add esi, eax
btc edx, ebx
mov eax, dword [esp + 8]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + 4], eax
jmp 0x10048de8
dec eax
je 0x1004941c
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 esi, 2
cmovb edx, eax
mov dword [esp + 0x14], edx
mov eax, edx
shr eax, 3
or eax, 1
bsr eax, eax
jmp 0x10048d61
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x58]
mov eax, dword [esp + 0x14]
lea edx, [eax + 0x10]
mov dword [esp + 8], edx
add eax, 0x18
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x14], eax
mov ebx, dword [eax]
mov edx, 0xfffff000
mov dword [esp + 0x10], ebx
and ebx, edx
mov dword [esp + 4], ecx
and edx, dword [ecx + 8]
xor ecx, ecx
dec ecx
xor eax, eax
cmp ebx, edx
seta al
cmovb eax, ecx
test eax, eax
je 0x10049537
cmp eax, 0xffffffff
mov edx, dword [esp + 4]
jne 0x10049426
mov edi, dword [edx]
test edi, edi
je 0x1004b791
mov eax, dword [edi + 4]
mov dword [esp + 0x10], 0
test al, 1
jne 0x1004c580
mov ecx, dword [edi]
test ecx, ecx
je 0x10049333
test byte [ecx + 4], 1
jne 0x1004c580
or eax, 1
mov dword [edi + 4], eax
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004b466
mov edi, dword [eax]
test edi, edi
je 0x10049359
mov edx, dword [edi + 4]
test dl, 1
jne 0x1004a644
or ecx, 1
mov edx, dword [esp + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [edx + 4], ecx
mov dword [eax], edx
mov edi, eax
and byte [edi + 4], 0xfe
lea edx, [esp + 0x78]
mov dword [edx], edi
jmp 0x1004c580
mov dword [esp + 0x1c], edi
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0xc], edx
shld edx, eax, 0x17
mov edi, eax
shl edi, 0x17
xor edi, 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], edi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, edi
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 + 4]
ror edx, cl
test edx, edx
je 0x100494a6
tzcnt ebx, edx
add ebx, ecx
and ebx, 0x1f
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 4]
jmp 0x10049244
test ecx, ecx
jne 0x100494b0
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1004a9ce
mov ecx, dword [eax]
test ecx, ecx
jne 0x1004a9db
mov dword [esp + 0x78], ecx
jmp 0x1004c0b1
mov ecx, 0x20
jmp 0x1004927b
test eax, eax
je 0x100495f1
mov eax, dword [edx + 4]
mov dword [esp + 0x10], 0
mov edi, eax
and edi, 0xfffffffe
je 0x10049450
mov ecx, dword [edi]
test ecx, ecx
je 0x10049450
test byte [ecx + 4], 1
jne 0x1004c580
mov ecx, dword [edx]
test ecx, ecx
je 0x1004b8e2
test byte [ecx + 4], 1
jne 0x10049d18
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x1004947c
mov edx, dword [eax + 4]
test dl, 1
jne 0x10049e07
or byte [ecx + 4], 1
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
mov edi, eax
and edi, 0xfffffffe
je 0x1004b94c
mov ecx, dword [edi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov dword [edi], edx
jmp 0x10049373
mov ebx, 0x20
jmp 0x100493e3
mov ecx, dword [eax + 4]
mov dword [esp + 8], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x100494d2
mov esi, dword [edx]
test esi, esi
je 0x100494d2
test byte [esi + 4], 1
jne 0x1004c090
mov edx, dword [eax]
test edx, edx
je 0x1004b995
test byte [edx + 4], 1
jne 0x10049db6
or ecx, 1
mov dword [eax + 4], ecx
mov esi, dword [edx]
test esi, esi
je 0x10049502
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], ecx
test cl, 1
jne 0x1004a8d7
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004babb
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10048fa4
mov al, 1
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 4]
jmp 0x100492b2
xor edx, edx
test byte [esp + 0x10], 0x10
cmove edx, dword [esp + 8]
xor eax, eax
mov ecx, dword [esp + 4]
cmp edx, ecx
mov edx, ecx
seta cl
jb 0x10049306
mov al, cl
jmp 0x100492f9
mov edx, dword [edi + 0x3c]
test edx, edx
jne 0x10049869
push 0x100a57b8
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a57d0]
test eax, eax
je 0x10049c08
xor ebx, ebx
xor ecx, ecx
dec ecx
mov edi, dword [eax + 0x14]
xor edx, edx
cmp edi, 0x100000
setb dl
cmova edx, ecx
cmp edx, 0xffffffff
jne 0x100495a8
mov ebx, eax
mov eax, dword [eax]
test eax, eax
jne 0x10049585
jmp 0x100498a8
test edx, edx
jne 0x1004ba1b
cmp dword [eax + 0x10], 0
jne 0x1004959b
jmp 0x1004ba2b
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x24]
shl ebx, 0xc
mov eax, ebx
and eax, 0xff000
mov edx, 0x100000
sub edx, eax
cmp edx, ecx
cmovae edx, ecx
add ebx, dword [esp + 0x18]
jmp 0x10049164
mov al, 1
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x34]
jmp 0x100491b5
mov eax, dword [edx + 4]
cmp eax, 1
mov ebx, dword [esp + 0x18]
ja 0x1004a861
mov eax, dword [edx]
xor ecx, ecx
test eax, eax
je 0x1004c717
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 4]
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 4]
or byte [ecx + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x1004c717
movzx eax, byte [edi + ecx + 0x7a]
mov dword [esp + 0x38], eax
lea eax, [edi + 0x58]
mov dword [esp + 0x40], eax
mov ecx, dword [edi + 0x58]
test ecx, ecx
je 0x1004a718
mov edx, dword [esp + 0x38]
shl edx, 0xc
xor eax, eax
xor esi, esi
dec esi
mov edi, dword [ecx + 8]
mov ebx, 0xfffff000
and edi, ebx
xor ebx, ebx
cmp edx, edi
seta bl
cmovb ebx, esi
lea edi, [ebx + 1]
cmp edi, 2
jae 0x10049698
mov eax, ecx
mov ecx, dword [ecx]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x1004966e
jmp 0x100496a9
cmp ebx, 1
jne 0x1004b8d7
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x1004968e
test eax, eax
mov edi, dword [esp + 0x1c]
je 0x1004a718
mov ecx, eax
and ecx, 0xfff00000
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
and edx, 0xfffffff8
shl edx, 9
add edx, ecx
mov ecx, edx
mov edx, ecx
and edx, 0xfff00000
mov eax, dword [edx + 0xc]
mov dword [esp + 0x50], eax
mov eax, ecx
shr eax, 0xc
movzx ebx, al
lea eax, [ebx*4]
lea eax, [eax + eax*2]
or eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ecx
je 0x10049e62
xor esi, esi
inc esi
cmp eax, 2
cmovae esi, eax
mov dword [esp + 0x30], esi
mov esi, eax
lea eax, [ebx + ebx*2]
lea eax, [edx + eax*4]
add eax, 0x18
mov dword [esp + 0x48], 0
mov dword [esp + 0x24], esi
xor ebx, ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
lea esi, [ebx + eax]
lea eax, [esi + esi*2]
test byte [edx + eax*4 + 0x18], 0x60
mov eax, dword [esp + 0x38]
jne 0x1004977b
inc ebx
cmp ebx, eax
setae al
mov dword [esp + 0x48], eax
dec dword [esp + 0x24]
mov eax, dword [esp + 8]
add eax, 0xc
cmp ebx, dword [esp + 0x30]
jne 0x10049742
jmp 0x10049e68
mov dword [esp + 0x34], esi
cmp ebx, eax
jae 0x1004aa3e
xor esi, esi
mov eax, dword [esp + 8]
mov ecx, dword [eax]
test cl, 0x60
je 0x1004b126
and ecx, 0xffffff9f
mov dword [eax], ecx
inc esi
add eax, 0xc
cmp dword [esp + 0x24], esi
jne 0x1004978d
mov ecx, dword [esp + 0x24]
mov eax, ecx
shl eax, 0xc
mov esi, dword [esp + 0x34]
mov dword [esp + 0x3c], ecx
jne 0x1004a765
jmp 0x1004aa4b
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], ecx
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x5c], eax
push 4
push 0x1000
push esi
push dword [esp + 0x40]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b4eb
mov edx, dword [esp + 0x34]
add edx, esi
mov ecx, dword [esp + 0x4c]
sub ecx, esi
mov eax, 0x100000
cmp ecx, eax
mov esi, 0x100000
cmovb esi, ecx
test ecx, ecx
je 0x1004a78f
jmp 0x100497c3
test ecx, ecx
je 0x10049837
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x3c]
or dword [edx], ecx
add edx, 0xc
dec esi
jne 0x1004982f
test al, al
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
je 0x1004a473
mov esi, dword [esp + 0x3c]
add dword [edi + 0x2c], esi
jmp 0x1004975b
xor edx, edx
jmp 0x100491e8
mov al, 1
mov dword [esp + 0x30], eax
jmp 0x100491b5
xor eax, eax
mov dword [edi + 0x3c], eax
lea ecx, [esp + 0x78]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [edx + 0x28], eax
lea eax, [edx + 0x28]
mov dword [edx + 0x2c], 1
lea esi, [edx + 0x2000]
mov dword [ecx], eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x1004b96c
and byte [eax + 4], 0xfe
mov dword [esp + 4], eax
mov dword [edi + 0x58], eax
jmp 0x1004907e
test ebx, ebx
je 0x10049c08
mov edi, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
mov dword [esp + 4], edx
lea esi, [edx + 0xfffff]
mov eax, 0xfff00000
and esi, eax
mov ecx, esi
sub ecx, edx
sub edi, ecx
add edi, eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.10002520
mov ecx, 0x100a57d4
mov dword [esp + 0x14], ebx
mov edx, ebx
call fcn.100020d0
mov eax, esi
sub eax, dword [esp + 4]
jne 0x1004b9be
test edi, edi
je 0x10049dca
lea eax, [esi + 0x100000]
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edi
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x18], eax
mov ecx, ebx
call fcn.10001e40
mov ecx, 0x100a57d4
mov edx, ebx
call fcn.10001bb0
lock add dword [0x100a57d8], 0xfff00000
mov eax, 0x100a57b8
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
push 4
push 0x1000
push 0x100000
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b3f6
test esi, esi
je 0x10049c13
push 0x100a579c
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a57b4]
test eax, eax
je 0x1004b91c
mov ecx, esi
shr ecx, 0x14
mov dword [eax + ecx*4], esi
push 0x100a579c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 0x100000
mov dword [esi], eax
xor eax, eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], 0x20
mov dword [esi + 0x30], 0xfd024
mov eax, 0x60
mov dword [esi + eax - 0x24], 0x24
mov dword [esi + eax - 0x18], 0x24
mov dword [esi + eax - 0xc], 0x24
cmp eax, 0xc00
je 0x100499eb
mov dword [esi + eax], 0x24
add eax, 0x30
jmp 0x100499c0
mov dword [esi + 0xc00], 0xfd024
mov dword [esi + 0xc0c], 0x20
lea ecx, [esi + 0x1000]
mov eax, ecx
and eax, 0xfffff
mov ebx, 0x100000
sub ebx, eax
mov edi, 0xff000
cmp ebx, edi
cmovae ebx, edi
push 0x4000
push ebx
mov dword [esp + 0x1c], ecx
push ecx
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x1004b84d
mov ecx, dword [esp + 0x14]
add ecx, ebx
sub edi, ebx
mov eax, 0x100000
cmp edi, eax
mov ebx, 0x100000
cmovb ebx, edi
test edi, edi
jne 0x10049a1d
mov edi, dword [esp + 0x1c]
add dword [edi + 0x2c], 2
lea edx, [esi + 0x28]
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
test ecx, ecx
je 0x1004a79a
mov dword [esp + 0x18], edx
lea eax, [esp + 0x78]
xor ebx, ebx
mov dword [esp + 4], ebx
mov ebx, eax
mov dword [esp + 0x14], ebx
mov eax, dword [ecx]
test eax, eax
je 0x10049aa1
mov edx, dword [eax + 4]
test dl, 1
je 0x10049aa1
mov ebx, dword [eax]
test ebx, ebx
je 0x10049aa1
test byte [ebx + 4], 1
jne 0x10049afb
mov eax, ecx
mov ecx, dword [esi + 0x30]
mov edx, ecx
mov ebx, 0xfffff000
and edx, ebx
mov edi, dword [eax + 8]
and edi, ebx
xor ebx, ebx
cmp edx, edi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
cmp ebx, 0xffffffff
mov edi, dword [esp + 0x1c]
je 0x10049ae9
xor edx, edx
inc edx
test ebx, ebx
jne 0x10049b2f
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, eax
seta cl
jae 0x10049b2d
mov ecx, dword [eax]
xor edx, edx
dec edx
test ecx, ecx
mov ebx, dword [esp + 0x14]
jne 0x10049a7d
jmp 0x10049bc9
and edx, 0xfffffffe
mov dword [ecx], edx
mov ebx, ecx
and ebx, 0xfffffffe
mov edx, dword [eax]
mov edi, dword [eax + 4]
and edi, 1
or edi, ebx
mov dword [eax + 4], edi
test edx, edx
je 0x1004b7be
and byte [edx + 4], 0xfe
mov edi, dword [esp + 0x14]
cmp dword [edi], ecx
jne 0x10049b37
mov dword [edi], eax
jmp 0x10049aa3
mov dl, cl
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
jmp 0x10049aee
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
lea edx, [ecx + eax]
mov dword [edi + 4], edx
test eax, eax
je 0x1004b7cd
mov edx, dword [eax]
and edx, 0xfffffffe
or edx, ecx
mov dword [edi + 4], edx
mov dword [eax], edi
mov ecx, dword [edi + 4]
and ecx, 1
mov edx, dword [eax + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [eax + 4], edx
or byte [edi + 4], 1
mov edx, dword [esp + 4]
test edx, edx
je 0x1004b562
cmp dword [edx], edi
je 0x1004a86e
jmp 0x1004a8c7
mov ecx, dword [esi + 0x30]
mov edx, ecx
mov ebx, 0xfffff000
and edx, ebx
mov edi, dword [eax + 8]
and edi, ebx
xor ebx, ebx
cmp edx, edi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
test ebx, ebx
jne 0x1004a835
jmp 0x1004a9a9
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov ebx, eax
test ecx, ecx
jne 0x10049a83
mov ebx, dword [esp + 4]
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 1
cmp edx, 1
je 0x10049cc3
mov edx, dword [esp + 0x18]
mov dword [eax], edx
mov eax, dword [esp + 0x78]
test eax, eax
je 0x1004b93d
and byte [eax + 4], 0xfe
mov dword [esp + 4], eax
mov dword [edi + 0x58], eax
add esi, 0x2000
jmp 0x1004907e
push 0x100a57b8
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
sub esp, 0x10
movaps xmm0, xmmword [0x10093150]
movups xmmword [esp], xmm0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov esi, eax
test eax, eax
je 0x1004b47f
test esi, 0xfffff
je 0x1004996d
push 0x8000
push 0
push esi
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x1004bb46
mov edi, dword [sym.imp.kernel32.dll_VirtualFree]
xor ecx, ecx
mov edx, 0x1ff000
push 0x3000
call fcn.100510b0
add esp, 4
test eax, eax
je 0x1004cd02
mov esi, eax
add esi, 0xfffff
and esi, 0xfff00000
push 0x8000
push 0
push eax
call edi
test eax, eax
je 0x1004bb1a
mov ecx, esi
mov edx, 0x100000
push 0x3000
call fcn.100510b0
add esp, 4
cmp eax, esi
jne 0x1004af08
test esi, esi
jne 0x1004996d
jmp 0x10049c61
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
and ebx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea edx, [ecx + ebx]
mov dword [eax + 4], edx
test ebx, ebx
je 0x1004ba9d
mov edx, dword [ebx]
and edx, 0xfffffffe
or edx, ecx
mov dword [eax + 4], edx
mov dword [ebx], eax
mov ecx, dword [eax + 4]
and ecx, 1
mov edx, dword [ebx + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebx + 4], edx
or byte [eax + 4], 1
mov ecx, dword [esp + 0x14]
cmp dword [ecx], eax
jne 0x1004a6b7
mov edx, ebx
mov dword [ecx], ebx
jmp 0x10049be6
lea edi, [esp + 0x60]
mov ecx, edi
call fcn.10032030
mov edi, dword [edi]
jmp 0x10049373
mov esi, dword [esp + 0xc]
and esi, 0xfffffffe
mov dword [ecx], esi
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 0x1004baac
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 0x10049dae
mov esi, dword [ecx + 4]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov ecx, esi
test cl, 1
mov ecx, dword [esp + 0xc]
je 0x10049dae
mov esi, dword [esp + 0x10]
and esi, 0xfffffffe
mov dword [ecx + 4], esi
mov ecx, dword [eax + 4]
mov esi, ecx
or esi, 1
mov dword [eax + 4], esi
and ecx, 0xfffffffe
je 0x1004bb6f
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x10048fa0
mov dword [eax + 4], ecx
jmp 0x10048fa0
lea esi, [esp + 0x60]
mov ecx, esi
mov edx, eax
call fcn.10001010
mov edx, dword [esi]
jmp 0x10048fa4
lock add dword [0x100a57d8], 0xfff00000
push 0x100a57b8
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push 0x100a57dc
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, 0x100a57dc
mov ecx, dword [0x100a5760]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
mov dword [0x100a5760], edx
jmp 0x1004993b
and edx, 0xfffffffe
mov dword [eax + 4], edx
mov edx, dword [esp + 4]
mov edi, dword [edx]
test edi, edi
je 0x1004bad8
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004baed
mov ebx, edx
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x10049373
mov al, 1
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 0x10]
mov dword [esp + 0x24], eax
add ecx, 0x18
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0xc], ecx
mov ebx, dword [ecx]
mov esi, 0xfffff000
mov dword [esp + 8], ebx
and ebx, esi
and esi, dword [eax + 8]
xor edx, edx
dec edx
xor ecx, ecx
cmp ebx, esi
seta cl
cmovb ecx, edx
test ecx, ecx
je 0x1004a697
cmp ecx, 0xffffffff
jne 0x1004a50a
mov edx, dword [eax]
test edx, edx
je 0x1004b97b
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], 0
test cl, 1
je 0x1004a587
mov dword [esp + 8], eax
mov eax, edx
mov ecx, dword [esp + 0xc]
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 esi, dword [esp + 0x2c]
je 0x10049f35
cmp ecx, 0xffffffff
jne 0x10049f4f
mov edx, dword [eax]
test edx, edx
je 0x1004ab39
mov ecx, dword [edx + 4]
test cl, 1
jne 0x10049ed8
mov esi, dword [edx]
test esi, esi
je 0x1004a028
test byte [esi + 4], 1
jne 0x10049ed8
jmp 0x1004a028
test dl, 0x10
mov edx, 0
cmove edx, dword [esp + 0x24]
xor ecx, ecx
cmp edx, eax
seta dl
jb 0x10049f0e
mov cl, dl
jmp 0x10049f09
test ecx, ecx
je 0x1004a013
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x10049f71
mov esi, dword [edx]
test esi, esi
je 0x10049f71
test byte [esi + 4], 1
jne 0x10049ed8
mov ebx, dword [eax]
test ebx, ebx
je 0x1004b895
mov edx, dword [ebx + 4]
test dl, 1
je 0x1004a6da
and edx, 0xfffffffe
je 0x1004b529
mov esi, dword [edx]
test esi, esi
je 0x10049fa0
test byte [esi + 4], 1
jne 0x1004aba9
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1004b862
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
mov ebx, dword [esp + 8]
je 0x1004b877
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
or byte [eax + 4], 1
mov edi, dword [esp + 0x1c]
cmp dword [ebx], eax
jne 0x1004a84a
mov dword [ebx], edx
mov eax, ebx
jmp 0x10049ed8
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x30], ebx
cmp ecx, 1
jbe 0x1004a073
jmp 0x10049f5a
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004b514
mov edx, dword [ecx]
test edx, edx
je 0x1004a04e
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1004aad0
or esi, 1
mov dword [eax + 4], esi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, ecx
mov esi, dword [esp + 8]
cmp dword [esi], eax
jne 0x1004ba88
mov dword [esi], edx
jmp 0x10049edc
mov ecx, dword [eax]
test ecx, ecx
je 0x1004a0a8
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 + 0x2c]
or byte [eax + 4], 1
and dword [ecx + 4], 1
cmp dword [ebx], eax
jne 0x1004a631
mov dword [ebx], ecx
mov edx, dword [esp + 0x78]
shr esi, 0xc
mov ecx, dword [esp + 0x40]
mov dword [ecx], edx
xor eax, eax
mov edx, dword [esp + 0x24]
mov dword [edx], eax
mov dword [edx + 4], eax
mov eax, dword [esp + 0x38]
cmp esi, eax
mov edx, dword [esp + 0x10]
jne 0x1004a26e
test al, al
je 0x1004a121
mov esi, edx
mov edx, eax
mov eax, dword [esp + 0x18]
or eax, 1
xor ecx, ecx
inc ecx
cmp edx, 2
cmovae ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
lea edx, [esi + esi*2]
mov esi, dword [esp + 0x28]
lea edx, [esi + edx*4]
add edx, 0x18
xor esi, esi
mov ebx, dword [esp + 0x28]
test byte [edx + esi], 8
je 0x1004a117
dec dword [ebx + 0xc]
dec dword [edi + 0x48]
mov dword [edx + esi], eax
add esi, 0xc
cmp ecx, esi
jne 0x1004a10b
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0xc], 0
jne 0x1004a46f
cmp dword [esp + 0x50], 0
mov ecx, dword [esp + 0x18]
je 0x1004a473
mov esi, dword [edi + 0x38]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], 0
xor edx, edx
dec edx
xor eax, eax
cmp esi, ebx
setb al
cmova eax, edx
cmp eax, 0xffffffff
je 0x1004a953
test eax, eax
je 0x1004ad10
test esi, esi
je 0x1004b553
mov edx, esi
mov ecx, dword [esi + 8]
mov dword [esp + 0xc], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x1004ace2
mov esi, dword [eax + 4]
test esi, esi
je 0x1004ace2
test byte [esi + 8], 1
je 0x1004ace2
mov esi, edx
xor edx, edx
dec edx
mov dword [esp + 8], esi
mov esi, eax
xor eax, eax
cmp esi, dword [esp + 0x28]
setb al
cmova eax, edx
cmp eax, 0xffffffff
jne 0x1004a1f8
test esi, esi
je 0x1004af91
mov eax, dword [esi + 4]
test eax, eax
je 0x1004af91
mov ecx, dword [eax + 8]
test cl, 1
jne 0x1004a1a8
mov edx, dword [eax + 4]
test edx, edx
je 0x1004ac41
test byte [edx + 8], 1
je 0x1004ac41
mov dword [esp + 8], esi
xor edx, edx
dec edx
jmp 0x1004a1ac
test eax, eax
jne 0x1004a21c
xor ecx, ecx
test esi, esi
je 0x1004a7e6
mov eax, dword [esi + 8]
mov ebx, dword [esp + 8]
mov dword [esp + 0xc], ebx
cmp eax, 1
jbe 0x1004a7b1
jmp 0x1004a223
test esi, esi
je 0x1004a239
mov eax, dword [esi + 8]
and eax, 0xfffffffe
je 0x1004a239
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004a239
test byte [ecx + 8], 1
jne 0x1004a1a8
lea ecx, [esp + 0x74]
mov edx, esi
call fcn.100329e0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 8]
cmp dword [ecx + 4], esi
je 0x1004aec7
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [esp + 8]
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
jmp 0x1004a1a5
lea ecx, [edx + esi]
mov dword [esp + 8], ecx
sub esi, eax
shl esi, 0xc
add eax, edx
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
lea eax, [ebx + eax*4 + 0x10]
mov edx, 0xfff
mov ecx, esi
mov dword [esp + 0x2c], esi
mov esi, dword [eax + 8]
and esi, edx
or esi, ecx
mov dword [esp + 0xc], eax
mov dword [eax + 8], esi
mov eax, dword [esp + 8]
lea ecx, [eax + eax*2]
and edx, dword [ebx + ecx*4 + 0xc]
add edx, dword [esp + 0x2c]
mov dword [ebx + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
test ecx, ecx
je 0x1004aa0b
mov eax, dword [esp + 0x24]
lea eax, [ebx + eax*4]
add eax, 0x18
mov dword [esp + 8], eax
lea ebx, [esp + 0x78]
xor esi, esi
mov dword [esp + 0x2c], esi
mov esi, ebx
mov ebx, dword [ecx]
test ebx, ebx
je 0x1004a304
mov eax, dword [ebx + 4]
test al, 1
je 0x1004a304
mov edx, dword [ebx]
test edx, edx
je 0x1004a304
test byte [edx + 4], 1
jne 0x1004a361
mov ebx, ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, ecx
mov edx, 0xfffff000
and eax, edx
mov edi, dword [ebx + 8]
and edi, edx
xor edx, edx
cmp eax, edi
seta dl
mov eax, 0xffffffff
cmovb edx, eax
cmp edx, 0xffffffff
mov edi, dword [esp + 0x1c]
je 0x1004a34f
xor eax, eax
inc eax
test edx, edx
jne 0x1004a393
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, ebx
seta cl
jae 0x1004a391
mov ecx, dword [ebx]
xor eax, eax
dec eax
test ecx, ecx
mov edx, dword [esp + 0x10]
jne 0x1004a2e5
jmp 0x1004a434
and eax, 0xfffffffe
mov dword [ecx], eax
mov edx, ecx
and edx, 0xfffffffe
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
and edi, 1
or edi, edx
mov dword [ebx + 4], edi
test eax, eax
je 0x1004b7dc
and byte [eax + 4], 0xfe
mov edx, esi
cmp dword [esi], ecx
jne 0x1004a39b
mov dword [edx], ebx
jmp 0x1004a306
mov al, cl
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x1004a354
and ebx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [edx + 4], ecx
test ebx, ebx
je 0x1004b7eb
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 4], ecx
mov dword [ebx], edx
mov eax, dword [edx + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [edx + 4], 1
mov ecx, dword [esp + 0x2c]
test ecx, ecx
mov edi, dword [esp + 0x1c]
je 0x1004b571
cmp dword [ecx], edx
je 0x1004aa70
jmp 0x1004ab29
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov esi, dword [ebx + 8]
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1004aa29
jmp 0x1004ac13
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov esi, ebx
test ecx, ecx
jne 0x1004a2eb
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1004a5de
mov dword [ebx], ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x1004ba0c
and byte [eax + 4], 0xfe
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
jmp 0x1004a0da
mov ecx, dword [esp + 0x18]
test byte [esp + 0x48], 1
mov ebx, dword [esp + 4]
je 0x1004a828
test ecx, ecx
je 0x1004a828
cmp dword [ebx], ecx
je 0x1004c0d0
mov dword [ecx], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x20]
cmp dword [edi + ecx + 0x6c], 1
mov edx, 0
je 0x1004a4c1
mov ecx, dword [esp + 0x20]
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 0x1004a4b1
mov esi, ebx
mov eax, dword [esp + 0x20]
mov ebx, dword [edi + eax + 0x68]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor eax, eax
dec eax
shr eax, cl
cmp ebx, 1
mov ecx, 0
sbb ecx, ecx
or ecx, eax
mov dword [esi + edx*4 + 0xc], ecx
mov dword [esi + 4], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + ecx + 0x68]
mov dword [esi + 8], eax
inc dword [edi + ecx + 0x74]
mov eax, dword [esp + 4]
mov dword [eax], esi
mov ecx, esi
jmp 0x10048dad
test ecx, ecx
je 0x1004a875
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x1004a534
mov esi, dword [edx]
test esi, esi
je 0x1004a534
test byte [esi + 4], 1
jne 0x10049ed8
mov edx, dword [eax]
test edx, edx
je 0x1004bb5a
test byte [edx + 4], 1
jne 0x1004ac9f
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1004a560
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1004adca
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004bba2
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
mov edi, dword [esp + 0x1c]
jmp 0x1004a5d3
mov esi, dword [edx]
test esi, esi
je 0x1004a597
test byte [esi + 4], 1
jne 0x10049ed8
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004b53e
mov edx, dword [ecx]
test edx, edx
je 0x1004a5bd
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1004ae1f
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 + 0x78]
mov dword [eax], edx
jmp 0x10049ed8
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0xc]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0xc]
mov dword [eax], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0xc]
or byte [ebx + 4], 1
cmp dword [esi], ebx
jne 0x1004a930
mov dword [esi], eax
jmp 0x1004a450
and ecx, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
jmp 0x1004a0b2
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
and edi, 0xfffffffe
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [edx + 4], ecx
test edi, edi
je 0x1004bafc
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, 0xfffffffe
je 0x1004a68f
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1004acb3
mov dword [edx + 4], eax
jmp 0x1004936f
xor esi, esi
test byte [esp + 8], 0x10
cmove esi, dword [esp + 0x24]
xor ecx, ecx
cmp esi, eax
seta dl
jb 0x10049eba
mov cl, dl
jmp 0x10049eb1
mov edx, dword [ecx + 4]
mov dword [esp + 4], edx
and edx, 0xfffffffe
cmp eax, edx
jne 0x10049be6
mov eax, dword [esp + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
jmp 0x10049be6
or edx, 1
mov dword [ebx + 4], edx
mov ecx, dword [ebx]
test ecx, ecx
je 0x1004a6f2
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1004aa77
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004b8a4
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
mov ebx, dword [esp + 8]
jmp 0x1004a002
mov edx, dword [edi + 0x3c]
test edx, edx
jne 0x1004aa52
lea eax, [esp + 0x78]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10050c80
add esp, 8
test eax, eax
je 0x1004a828
mov esi, eax
movzx eax, byte [esp + 0x78]
mov ecx, edi
mov edx, esi
push eax
call fcn.10050ba0
add esp, 4
add esi, 0x2000
mov ecx, esi
jmp 0x100496d6
shl esi, 0xc
mov dword [esp + 0x34], esi
mov ecx, esi
and ecx, 0xff000
mov esi, 0x100000
sub esi, ecx
cmp esi, eax
cmovae esi, eax
mov ecx, dword [esp + 0x34]
add ecx, edx
mov edx, ecx
mov ecx, eax
jmp 0x100497c3
mov al, 1
mov ecx, dword [esp + 0x3c]
jmp 0x10049814
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 1
lea eax, [esp + 0x78]
jmp 0x10049be4
mov eax, dword [esi + 4]
test eax, eax
je 0x1004a7e6
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
mov edx, dword [esp + 8]
cmp dword [edx + 4], esi
jne 0x1004ab96
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x38], eax
mov edx, dword [esp + 0x28]
test edx, edx
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x18]
je 0x1004bb0b
xor eax, eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
test ecx, ecx
setne al
test byte [esp + 0x48], al
jne 0x1004a48a
mov dword [ebx], 0
mov bl, 1
jmp 0x10048dfc
xor edx, edx
inc edx
cmp ebx, 0xffffffff
mov edi, dword [esp + 0x1c]
jne 0x10049bb5
jmp 0x1004ac37
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, ebx
jmp 0x10049ed8
lea ecx, [esp + 0x78]
mov dword [esp + 0x10], ecx
jmp 0x10049439
mov dword [edx], eax
jmp 0x10049b88
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1004aefb
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov esi, dword [esp + 0x2c]
je 0x1004a0b6
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 + 0x2c]
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x1004a0b6
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x10049b88
mov ecx, dword [esp + 0xc]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov edx, dword [eax]
test edx, edx
je 0x1004bb7e
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 0x1004bb93
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 0x10048fa4
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp ebx, ecx
mov ecx, dword [esp + 0x40]
jne 0x1004a454
and eax, 1
or eax, dword [esp + 0xc]
mov dword [esi + 4], eax
jmp 0x1004a454
test esi, esi
je 0x1004a981
mov eax, dword [esi + 4]
test eax, eax
je 0x1004a981
mov dword [esp + 0xc], 0
test byte [eax + 8], 1
jne 0x1004a1a8
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004a981
test byte [ecx + 8], 1
jne 0x1004a1a8
lea ebx, [esp + 0x60]
mov ecx, ebx
mov edx, esi
call fcn.10001630
mov eax, dword [ebx]
test eax, eax
je 0x1004bc52
and byte [eax + 8], 0xfe
mov dword [esp + 0xc], 0
jmp 0x1004ad04
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, eax
seta cl
mov edi, dword [esp + 0x1c]
jb 0x1004ac37
mov dl, cl
jmp 0x10049bb5
lea edx, [esp + 0x78]
mov dword [esp + 8], edx
jmp 0x100494bb
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
jmp 0x10049413
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea ebx, [esp + 0x78]
mov edx, dword [esp + 0x10]
jmp 0x1004a44e
xor eax, eax
inc eax
cmp ecx, 0xffffffff
mov edx, dword [esp + 0x10]
jne 0x1004a420
jmp 0x1004ad6f
mov dword [esp + 0x3c], 0
jmp 0x1004984b
mov al, 1
jmp 0x10049814
mov dword [edi + 0x3c], 0
lea esi, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x40]
call fcn.10051170
jmp 0x1004a75e
mov dword [ecx], ebx
jmp 0x1004a3f0
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1004b8b3
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 0x1004b8c8
mov ebx, edi
mov edi, dword [ecx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [eax + 4], esi
mov dword [ecx], eax
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, ebx
jmp 0x1004a70f
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 0x1004b7af
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 0x1004ab17
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1004aed0
mov dword [eax + 4], ecx
jmp 0x1004a060
mov esi, 1
jmp 0x10048cef
mov eax, dword [ecx + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
jmp 0x1004a3f0
mov esi, dword [esp + 0x30]
test esi, esi
je 0x1004bbb1
mov ecx, dword [esp + 0x24]
cmp dword [esi], ecx
jne 0x1004adb5
mov dword [esi], eax
mov esi, dword [esp + 0x24]
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 8]
cmp dword [ecx], eax
jne 0x1004bbc0
mov dword [ecx], 0
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x2c]
jmp 0x1004a0b6
and ecx, 0xfffffffe
mov eax, dword [edx + 8]
and eax, 1
or eax, ecx
mov dword [edx + 8], eax
jmp 0x1004a7f6
and ecx, 1
mov edi, dword [edx + 4]
and edi, 0xfffffffe
or edi, ecx
mov dword [edx + 4], edi
and byte [esi + 4], 0xfe
mov ecx, dword [ebx + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004b886
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [ebx + 4], ecx
mov dword [edx], ebx
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
mov ebx, dword [esp + 8]
jne 0x10049fe0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, ebx
seta cl
mov edx, dword [esp + 0x10]
jb 0x1004ad6f
mov al, cl
jmp 0x1004a420
mov ecx, dword [eax]
xor edx, edx
dec edx
jmp 0x10049bbb
or ecx, 1
mov dword [eax + 8], ecx
mov edi, esi
mov edx, dword [esi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004ba55
mov esi, dword [ecx + 4]
test esi, esi
je 0x1004ac69
mov eax, dword [esi + 8]
test al, 1
jne 0x1004af3c
or edx, 1
mov esi, edi
mov dword [edi + 8], edx
mov eax, dword [ecx + 4]
or eax, 1
mov dword [edi + 8], eax
mov dword [ecx + 4], edi
mov esi, ecx
mov eax, dword [esp + 8]
cmp dword [eax + 4], edi
jne 0x1004bbc9
mov eax, dword [esp + 8]
mov dword [eax + 4], esi
mov edi, dword [esp + 0x1c]
xor edx, edx
dec edx
jmp 0x1004a1ae
lea esi, [esp + 0x60]
mov ecx, esi
mov edx, eax
call fcn.10032030
mov edx, dword [esi]
jmp 0x1004a5d3
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [edx + 4]
mov ecx, eax
or ecx, 1
mov dword [edx + 4], ecx
and eax, 0xfffffffe
je 0x1004bbe2
mov ecx, dword [eax]
or ecx, 1
mov edx, dword [esp + 4]
mov dword [edx + 4], ecx
mov dword [eax], edx
mov dword [edi], eax
jmp 0x1004936f
mov eax, dword [edx + 4]
test eax, eax
je 0x1004bbf1
test byte [eax + 8], 1
je 0x1004ae86
lea esi, [esp + 0x60]
mov ecx, esi
call fcn.100329e0
mov eax, dword [esi]
lea esi, [esp + 0x78]
mov dword [esi + 4], eax
jmp 0x1004a1a5
xor ebx, ebx
test esi, esi
je 0x1004ad5b
mov edx, esi
mov ecx, dword [esi + 8]
cmp ecx, 1
ja 0x1004b119
mov eax, dword [edx + 4]
test eax, eax
je 0x1004ad5b
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 ebx, eax
mov dword [edi + 0x38], ebx
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
jmp 0x1004a811
mov ecx, dword [ebx]
xor eax, eax
dec eax
jmp 0x1004a426
mov edi, dword [0x100a5744]
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1004bc06
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov dword [eax + 0xc], edi
jmp 0x10048d3c
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x1004ab53
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1004bc10
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 0x1004bc25
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 0x1004a581
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 0x1004bc34
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 0x1004ae66
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1004b07a
mov dword [eax + 4], ecx
jmp 0x1004a5cf
mov ecx, edi
push 0
push 0x100000
call fcn.100029a0
add esp, 8
mov esi, eax
jmp 0x10048e14
or ecx, 1
mov dword [edx + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004ae9f
mov ebx, dword [ecx + 8]
test bl, 1
jne 0x1004b01d
or byte [eax + 8], 1
mov ecx, dword [edx + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004bc43
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 0x1004ad04
mov esi, dword [esp + 8]
jmp 0x1004ad08
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 0x1004b7a0
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1004a060
lea edx, [esp + 0x78]
mov dword [esp + 0x30], edx
jmp 0x1004a51d
xor esi, esi
test eax, eax
je 0x10049cb9
push 0x8000
push 0
push eax
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
jne 0x10049cb9
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054c10
jmp 0x10049cb9
and eax, 0xfffffffe
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
and eax, 1
or eax, ecx
mov dword [esi + 8], eax
and esi, 0xfffffffe
mov edx, edi
mov ecx, dword [edi + 8]
and ecx, 1
lea eax, [ecx + esi]
mov dword [edi + 8], eax
test esi, esi
je 0x1004ba6a
mov eax, dword [esi + 4]
and eax, 0xfffffffe
or eax, ecx
mov ecx, edi
mov dword [edi + 8], eax
mov dword [esi + 4], edi
mov ecx, dword [edi + 8]
and ecx, 0xfffffffe
je 0x1004af89
mov eax, dword [ecx + 8]
test al, 1
jne 0x1004b371
mov dword [edi + 8], ecx
jmp 0x1004ac7f
mov dword [esp + 0x10], esi
cmp dword [esp + 0xc], 0
je 0x1004bc61
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 4], eax
jne 0x1004b12d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], eax
cmp dword [esp + 0x28], 0
je 0x1004bc7c
cmp dword [esp + 0x10], 0
je 0x1004bc99
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov esi, dword [esp + 0x10]
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 eax, dword [esp + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 8]
cmp dword [ecx + 4], eax
jne 0x1004bca8
mov eax, dword [esp + 8]
mov dword [eax + 4], 0
jmp 0x1004a7f6
and ebx, 0xfffffffe
mov dword [ecx + 8], ebx
mov eax, dword [edx + 4]
test eax, eax
je 0x1004bcb5
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]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004bccb
mov ebx, esi
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
and edx, 1
or edx, esi
mov dword [ebx + 8], edx
mov dword [ecx + 4], ebx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x1004ad04
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 0x1004bcda
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1004a5cf
mov ebx, edi
mov byte [edi + 0x40], 0
lea eax, [esp + 0x78]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea esi, [esp + 0x60]
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 0x1004b0e9
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
cmp byte [esp + 0x80], 0
mov edi, 0
je 0x1004b100
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov edi, ebx
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x40], 1
jmp 0x10048d78
lea eax, [esp + 0x78]
mov dword [esp + 0xc], eax
jmp 0x1004a183
mov ecx, esi
jmp 0x100497ab
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1004afbc
mov dword [esp + 0x1c], edi
push 0x100a5810
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
cmp dword [0x100a580c], 0
jne 0x1004b35d
mov eax, dword [0x100a53c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1004bd37
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 0x1004b1d3
push 0x100a5818
call fcn.1004fb5e
add esp, 4
cmp dword [0x100a5818], 0xffffffff
jne 0x1004b1d3
lea esi, [esp + 0x78]
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 0x1004bd41
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 0x1004b23e
mov al, byte [ebx]
test al, al
je 0x1004b23e
xor esi, esi
movsx eax, al
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1004bddb
xor edi, edi
inc edi
mov al, byte [ebx + esi]
movsx ecx, al
cmp ecx, 0x72
jne 0x1004bce9
mov byte [0x100a5774], 1
dec edi
jne 0x1004b21c
mov al, byte [ebx + esi + 1]
inc esi
test al, al
jne 0x1004b20a
xor ebx, ebx
mov dword [0x100a57d8], ebx
mov edi, 0x1388
mov esi, dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
push edi
push 0x100a57b8
call esi
mov dword [0x100a57d0], ebx
mov dword [0x100a57d4], ebx
push edi
push 0x100a5778
call esi
mov dword [0x100a5790], ebx
mov dword [0x100a5794], ebx
mov dword [0x100a5798], ebx
push edi
push 0x100a57dc
call esi
mov dword [0x100a5808], ebx
mov dword [0x100a5800], ebx
mov dword [0x100a574c], ebx
mov dword [0x100a5750], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], ebx
mov eax, dword [0x100a5024]
mov dword [esp + 0x78], eax
push edi
push 0x100a572c
call esi
test eax, eax
je 0x1004bd11
lea edx, [esp + 0x78]
xor ecx, ecx
call fcn.10041370
mov dword [0x100a5744], eax
test eax, eax
je 0x1004bd27
mov ecx, dword [0x100a53c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 8], 0
je 0x1004bd65
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 0x1004bd1d
mov edi, eax
push 0x4000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x100a57b4], edi
xor eax, eax
inc eax
xchg dword [0x100a580c], eax
call fcn.10001250
push 0x100a5810
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov edi, dword [esp + 0x1c]
jmp 0x10048ce2
and eax, 0xfffffffe
mov dword [ecx + 8], eax
mov edx, edi
mov ecx, dword [edi + 8]
mov eax, ecx
or eax, 1
mov dword [edi + 8], eax
and ecx, 0xfffffffe
je 0x1004ba79
mov eax, dword [ecx + 4]
or eax, 1
mov edx, edi
mov dword [edi + 8], eax
mov dword [ecx + 4], edi
mov dword [esi + 4], ecx
jmp 0x1004ac7f
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004bd74
cmp eax, 8
je 0x1004bd74
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 8]
jmp 0x100491b5
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004b40c
cmp eax, 8
jne 0x10049c13
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 0x100000
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x14], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x14], 0
jne 0x1004befd
cmp eax, 0x5af
je 0x1004b45e
cmp eax, 8
jne 0x10049c13
dec ebx
jne 0x1004b41e
jmp 0x10049c13
or ecx, 1
mov eax, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004b495
cmp eax, 8
jne 0x1004cd02
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea ebx, [eax + eax*4]
add ebx, 5
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
sub esp, 0x10
movaps xmm0, xmmword [0x10093150]
movups xmmword [esp], xmm0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov esi, eax
call dword [sym.imp.kernel32.dll_GetLastError]
test esi, esi
jne 0x1004bf19
cmp eax, 0x5af
je 0x1004b4e3
cmp eax, 8
jne 0x1004cd02
dec ebx
jne 0x1004b4a7
jmp 0x1004cd02
mov dword [esp + 0x54], esi
mov esi, edi
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004be9b
cmp eax, 8
je 0x1004be9b
xor eax, eax
mov edi, esi
jmp 0x1004a791
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
and ecx, 1
mov dword [ebx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
xor edi, edi
jmp 0x10048cd5
call fcn.1004f684
jmp 0x10048d1f
mov eax, dword [esp + 0x18]
dec dword [eax + 8]
mov bl, 1
xor esi, esi
jmp 0x10048dfc
mov eax, edi
jmp 0x10049059
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x10049568
xor edi, edi
mov dword [eax + 0x3c], edi
mov eax, dword [esp + 0x18]
lea esi, [eax + 0x2000]
add eax, 0x28
lea ecx, [esp + 0x78]
mov edx, dword [esp + 4]
mov dword [ecx], edx
mov dword [esp + 0x14], 0
mov dword [ecx + 4], edi
mov edx, dword [esp + 0x14]
mov dword [esp + 8], edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x1004b60c
mov edx, dword [ecx + 4]
test dl, 1
je 0x1004b60c
mov ebx, dword [ecx]
test ebx, ebx
je 0x1004b60c
test byte [ebx + 4], 1
jne 0x1004b66f
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 0x30]
mov dword [esp + 4], ebx
mov edx, 0xfffff000
and ebx, edx
mov edi, dword [ecx + 8]
and edi, edx
xor edx, edx
cmp ebx, edi
seta dl
mov edi, 0xffffffff
cmovb edx, edi
cmp edx, 0xffffffff
je 0x1004b656
xor edi, edi
inc edi
test edx, edx
jne 0x1004b6b1
test byte [esp + 4], 0x10
mov edx, 0
cmove edx, eax
cmp edx, ecx
seta dl
jae 0x1004b6ab
mov edx, dword [ecx]
mov dword [esp + 4], edx
xor edi, edi
dec edi
cmp dword [esp + 4], 0
jne 0x1004b5e2
jmp 0x1004b771
and edx, 0xfffffffe
mov ebx, dword [esp + 4]
mov dword [ebx], edx
and ebx, 0xfffffffe
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
and edi, 1
or edi, ebx
mov dword [ecx + 4], edi
test edx, edx
je 0x1004bf6a
and byte [edx + 4], 0xfe
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x14]
cmp dword [edi], edx
jne 0x1004b6bd
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
jmp 0x1004b610
xor ebx, ebx
mov bl, dl
mov edi, ebx
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [esp + 4], edx
jmp 0x1004b65f
and ecx, 0xfffffffe
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx + 4]
and edx, 1
lea edi, [edx + ecx]
mov dword [ebx + 4], edi
test ecx, ecx
je 0x1004bf76
mov edi, dword [ecx]
and edi, 0xfffffffe
or edi, edx
mov ebx, dword [esp + 0x14]
mov dword [ebx + 4], edi
mov dword [ecx], ebx
mov edx, dword [ebx + 4]
and edx, 1
mov edi, dword [ecx + 4]
and edi, 0xfffffffe
or edi, edx
mov dword [ecx + 4], edi
or byte [ebx + 4], 1
cmp dword [esp + 8], 0
je 0x1004bf5b
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 8]
cmp dword [edi], edx
je 0x1004b98a
jmp 0x1004b9aa
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x30]
mov dword [esp + 0x14], edx
mov ebx, 0xfffff000
and edx, ebx
mov edi, dword [ecx + 8]
and edi, ebx
xor ebx, ebx
cmp edx, edi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
test ebx, ebx
jne 0x1004b95b
jmp 0x1004ba32
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [esp + 4], edx
mov dword [esp + 0x14], ecx
cmp dword [esp + 4], 0
jne 0x1004b5ee
mov edx, dword [esp + 8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x18]
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 1
cmp edi, 1
je 0x1004b7fa
mov edi, dword [esp + 0x1c]
jmp 0x1004988a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
and eax, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
lea edi, [edx + eax]
mov dword [ecx + 4], edi
test eax, eax
je 0x1004bf82
mov edi, dword [eax]
and edi, 0xfffffffe
or edi, edx
mov dword [ecx + 4], edi
mov dword [eax], ecx
mov edx, dword [ecx + 4]
and edx, 1
mov edi, dword [eax + 4]
and edi, 0xfffffffe
or edi, edx
mov dword [eax + 4], edi
or byte [ecx + 4], 1
mov edx, dword [esp + 0x14]
cmp dword [edx], ecx
jne 0x1004b8f7
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov edi, dword [esp + 0x1c]
jmp 0x1004988c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov eax, ecx
mov edi, dword [esp + 0x1c]
jmp 0x100496b5
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov edi, edx
and edi, 0xfffffffe
cmp ecx, edi
jne 0x1004b844
and edx, 1
or edx, eax
mov eax, dword [esp + 0x14]
mov dword [eax + 4], edx
jmp 0x1004b844
push 0x100a579c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, esi
mov edx, 0x100000
push 0
call fcn.10001850
add esp, 4
jmp 0x1004cd02
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
xor edi, edi
inc edi
cmp ebx, 0xffffffff
jne 0x1004b750
jmp 0x1004baca
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov edx, dword [esp + 8]
mov dword [edx], ecx
jmp 0x1004b71d
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov edi, dword [esp + 8]
mov edx, dword [edi + 4]
and edx, 1
or edx, ecx
mov dword [edi + 4], edx
jmp 0x1004b71d
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x14], eax
mov ecx, ebx
call fcn.10001e40
mov ecx, 0x100a57d4
mov edx, ebx
call fcn.10001bb0
test edi, edi
je 0x1004992b
push 0x100a57b8
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call fcn.10054c60
mov dword [esp + 0x14], eax
test eax, eax
je 0x1004bb2e
push 0x100a57b8
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
jmp 0x10049901
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
cmp edx, 1
jne 0x1004ba2b
mov eax, dword [eax + 4]
and eax, 0xfffffffe
jmp 0x1004959f
mov ebx, eax
jmp 0x100498b3
test byte [esp + 0x14], 0x10
mov edx, 0
cmove edx, eax
cmp edx, ecx
seta dl
jb 0x1004baca
xor ebx, ebx
mov bl, dl
mov edi, ebx
jmp 0x1004b750
or edx, 1
mov dword [edi + 8], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10049edc
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov edx, dword [ecx]
mov dword [esp + 4], edx
xor edi, edi
dec edi
jmp 0x1004b75a
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054c10
jmp 0x10049c9d
mov ecx, esi
mov edx, 0x100000
push dword [esp + 0x18]
call fcn.10001850
add esp, 4
jmp 0x10049c13
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054c10
jmp 0x10049c5b
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
and dword [ecx + 4], 1
jmp 0x1004ab89
mov eax, esi
and eax, 0xfffffffe
mov edx, dword [esp + 8]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1004ac93
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
or ecx, 1
mov dword [edx + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
call fcn.1004f684
jmp 0x1004ad9b
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
cmp dword [esp + 0x10], 0
je 0x1004bc99
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 0
and dword [eax + 8], 1
xor ecx, ecx
jmp 0x1004aff9
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov eax, dword [esp + 8]
and dword [eax + 8], 1
jmp 0x1004a7f6
mov dword [edx + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
cmp ecx, 0x46
jne 0x1004bdfe
mov eax, dword [0x100a5024]
test eax, eax
je 0x1004be43
add eax, eax
je 0x1004b232
mov dword [0x100a5024], eax
jmp 0x1004b232
mov dword [0x100a5744], 0
jmp 0x1004bd27
mov dword [0x100a57b4], 0
push 0x100a5810
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x1004cd10
call fcn.1004f684
jmp 0x1004b180
mov ecx, str._jemalloc_
mov edx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.10054c10
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
call fcn.1004f684
mov eax, dword [0x100a5744]
jmp 0x1004b2ff
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea eax, [eax + eax*4]
add eax, 5
mov dword [esp + 0x4c], eax
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x2c]
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov edi, eax
call dword [sym.imp.kernel32.dll_GetLastError]
test edi, edi
jne 0x1004be0f
cmp eax, 0x5af
je 0x1004bdc0
cmp eax, 8
jne 0x1004b3bd
mov dword [esp + 0x30], 0
dec dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 8]
jne 0x1004bd8a
jmp 0x100491b5
xor edi, edi
lea ecx, [edi + edi*4]
lea edi, [eax + ecx*2]
movsx eax, byte [ebx + esi + 1]
inc esi
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1004bddd
test edi, edi
je 0x1004b235
jmp 0x1004b21c
cmp ecx, 0x52
jne 0x1004be33
mov byte [0x100a5774], 0
jmp 0x1004b232
cmp eax, 0x5af
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x3c]
je 0x1004be27
cmp eax, 8
jne 0x10049190
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10049190
cmp ecx, 0x66
jne 0x1004be52
shr dword [0x100a5024], 1
jmp 0x1004b232
mov dword [0x100a5024], 1
jmp 0x1004b232
lea ecx, [esp + 0x78]
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 + 0x78]
mov edx, 0x1009afc9
call fcn.10054c10
jmp 0x1004b232
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea eax, [eax + eax*4]
add eax, 5
mov dword [esp + 0x58], eax
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x5c]
push dword [esp + 0x40]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov edi, eax
call dword [sym.imp.kernel32.dll_GetLastError]
test edi, edi
jne 0x1004bf35
cmp eax, 0x5af
je 0x1004beea
cmp eax, 8
jne 0x1004b50b
xor eax, eax
dec dword [esp + 0x58]
mov edi, esi
mov ecx, dword [esp + 0x3c]
jne 0x1004beb1
jmp 0x10049814
cmp eax, 0x5af
je 0x1004bf0d
cmp eax, 8
jne 0x10049965
push edi
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10049965
cmp eax, 0x5af
je 0x1004bf29
cmp eax, 8
jne 0x10049c39
push edi
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10049c39
cmp eax, 0x5af
mov edi, esi
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
je 0x1004bf4f
cmp eax, 8
jne 0x100497ef
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x100497ef
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
int3
xor ecx, ecx
cmp eax, ebx
setb cl
cmova ecx, esi
cmp ecx, 0xffffffff
jne 0x1004c049
test eax, eax
je 0x1004c2ab
mov edx, dword [eax]
test edx, edx
je 0x1004c2ab
mov ecx, dword [edx + 4]
test cl, 1
jne 0x1004c040
mov esi, dword [edx]
test esi, esi
je 0x1004bfed
test byte [esi + 4], 1
jne 0x1004c090
mov dword [esp + 0xc], edi
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004c3ea
mov edi, dword [ecx]
test edi, edi
jne 0x1004c061
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 edi, ecx
mov edx, dword [esp + 0xc]
cmp dword [edx], eax
mov esi, 0xffffffff
jne 0x1004c4a5
mov dword [edx], edi
mov eax, edi
mov edi, edx
jmp 0x1004bfb0
mov edi, eax
mov eax, edx
jmp 0x1004bfb0
test ecx, ecx
jne 0x1004c072
xor edx, edx
test eax, eax
je 0x1004c0a3
mov ecx, dword [eax + 4]
mov dword [esp + 8], edi
cmp ecx, 1
jbe 0x1004c099
jmp 0x1004c07d
mov edx, dword [edi + 4]
mov dword [esp + 0x10], edx
test dl, 1
je 0x1004c00b
jmp 0x1004c1cd
test eax, eax
je 0x1004c496
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004c0e3
mov esi, dword [edx]
test esi, esi
je 0x1004c0e3
test byte [esi + 4], 1
je 0x1004c0e3
mov edi, eax
mov esi, 0xffffffff
jmp 0x1004c042
mov ecx, dword [eax]
test ecx, ecx
jne 0x1004c19b
cmp dword [edi], eax
jne 0x1004c23f
mov dword [edi], edx
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov ecx, 0xfffff000
and ecx, dword [ebx + 8]
mov eax, dword [esp + 4]
mov dword [eax], ecx
test ecx, ecx
jne 0x10048dad
jmp 0x1004a82e
mov esi, dword [eax]
test esi, esi
je 0x1004c496
mov edx, dword [esi + 4]
test dl, 1
je 0x1004c25a
mov dword [esp + 0xc], esi
and edx, 0xfffffffe
je 0x1004c43b
mov esi, dword [edx]
mov dword [esp + 0x10], esi
test esi, esi
je 0x1004c11e
mov esi, dword [esp + 0x10]
test byte [esi + 4], 1
jne 0x1004c2fc
and ecx, 1
or ecx, edx
mov esi, dword [esp + 0xc]
mov dword [esi + 4], ecx
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1004c454
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 ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
and ecx, 0xfffffffe
je 0x1004c41d
mov esi, dword [ecx]
mov dword [esp + 0xc], esi
and dword [esp + 0xc], 0xfffffffe
mov esi, dword [esp + 0x10]
and esi, 1
add esi, dword [esp + 0xc]
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 0x1004c294
mov dword [edi], edx
mov eax, edi
jmp 0x1004c090
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 0x1004c0a3
mov edx, dword [esp + 0x10]
and edx, 0xfffffffe
mov dword [ecx], edx
mov esi, dword [edi + 4]
and esi, 1
or esi, ecx
mov dword [edi + 4], esi
and edi, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea esi, [ecx + edi]
mov dword [eax + 4], esi
test edi, edi
je 0x1004c40e
mov esi, dword [edi]
and esi, 0xfffffffe
or esi, ecx
mov dword [eax + 4], esi
mov dword [edi], eax
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
je 0x1004c252
mov edx, dword [ecx + 4]
test dl, 1
je 0x1004c252
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov ecx, dword [eax + 4]
mov esi, ecx
or esi, 1
mov dword [eax + 4], esi
and ecx, 0xfffffffe
je 0x1004c3ff
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edi], ecx
jmp 0x1004c01d
and edx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
or eax, edx
mov dword [edi + 4], eax
jmp 0x1004c0ad
mov dword [eax + 4], ecx
jmp 0x1004c01d
or edx, 1
mov dword [esi + 4], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x1004c272
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1004c370
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004c475
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x1004c18a
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 0x1004c090
mov edx, dword [esp + 8]
test edx, edx
je 0x1004c4ba
cmp dword [edx], ebx
jne 0x1004c3d3
mov dword [edx], eax
test eax, eax
je 0x1004c4c6
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
cmp dword [edi], eax
jne 0x1004c4d5
mov dword [edi], 0
jmp 0x1004c0ad
and ecx, 1
mov esi, dword [edx + 4]
and esi, 0xfffffffe
or esi, ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x10]
and byte [ecx + 4], 0xfe
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004c42c
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov esi, dword [esp + 0xc]
mov dword [esi + 4], ecx
mov dword [edx], esi
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 ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
and ecx, 0xfffffffe
jne 0x1004c160
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1004c484
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 ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
and ecx, 0xfffffffe
je 0x1004c466
mov esi, dword [ecx]
mov dword [esp + 0xc], esi
and dword [esp + 0xc], 0xfffffffe
mov esi, dword [esp + 0x10]
and esi, 1
add esi, dword [esp + 0xc]
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 0x1004c18a
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 0x1004c2c1
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
and ecx, 1
mov eax, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1004c030
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
and dword [edi + 4], 1
jmp 0x1004c0ad
int3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, ecx
and edx, 0xfffff000
mov ebx, edi
mov edi, dword [edi + 8]
mov eax, 0xfffff000
and edi, eax
xor eax, eax
cmp edx, edi
seta al
mov edx, 0xffffffff
cmovb eax, edx
test eax, eax
je 0x1004c543
cmp eax, 0xffffffff
mov edx, ebx
jne 0x1004c561
mov edi, dword [edx]
test edi, edi
je 0x1004cdd7
mov eax, dword [edi + 4]
test al, 1
jne 0x1004c580
mov ecx, dword [edi]
test ecx, ecx
je 0x1004c59f
test byte [ecx + 4], 1
jne 0x1004c580
jmp 0x1004c59f
mov edx, dword [esp + 8]
test cl, 0x10
jne 0x1004d1a7
xor eax, eax
mov ecx, ebx
cmp edx, ebx
mov edx, ebx
seta cl
jb 0x1004c524
mov al, cl
jmp 0x1004c51d
test eax, eax
je 0x1004c589
mov ecx, dword [edx + 4]
mov edi, ecx
and edi, 0xfffffffe
je 0x1004c5ea
mov eax, dword [edi]
test eax, eax
je 0x1004c5ea
test byte [eax + 4], 1
je 0x1004c5ea
nop dword [eax + eax]
mov dword [esp + 4], edx
jmp 0x1004c4f0
mov ecx, dword [edx + 4]
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
cmp ecx, 1
jbe 0x1004c6ca
jmp 0x1004c568
or eax, 1
mov dword [edi + 4], eax
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004d192
mov edi, dword [eax]
test edi, edi
je 0x1004c5c5
mov edx, dword [edi + 4]
test dl, 1
jne 0x1004cafe
or ecx, 1
mov dword [ebx + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov edi, eax
mov edx, dword [esp + 4]
cmp dword [edx], ebx
jne 0x1004d292
mov dword [edx], edi
jmp 0x1004c4f0
mov edx, dword [edx]
test edx, edx
je 0x1004d250
mov eax, dword [edx + 4]
test al, 1
je 0x1004c693
and eax, 0xfffffffe
je 0x1004d1ae
mov edi, dword [eax]
test edi, edi
je 0x1004c618
test byte [edi + 4], 1
jne 0x1004cd23
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
or byte [eax + 4], 1
mov edi, dword [ebx]
test edi, edi
je 0x1004d21d
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004d232
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
or byte [ebx + 4], 1
mov edx, dword [esp + 4]
cmp dword [edx], ebx
je 0x10049377
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1004c580
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [edx]
test eax, eax
je 0x1004c6ab
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1004caa9
mov eax, dword [ebx + 4]
mov edi, eax
and edi, 0xfffffffe
je 0x1004d25f
mov ecx, dword [edi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
mov dword [edi], ebx
jmp 0x1004c672
mov ecx, dword [edx]
test ecx, ecx
je 0x1004c6fd
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
mov edx, ebx
or byte [ebx + 4], 1
and dword [ecx + 4], 1
mov ebx, dword [esp + 4]
cmp dword [ebx], edx
mov edi, dword [esp + 0x1c]
jne 0x1004ca2b
mov dword [ebx], ecx
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
shr edx, 0xc
mov dword [edi + 0x58], ecx
xor eax, eax
mov ecx, dword [esp + 8]
mov dword [ecx], eax
mov dword [ecx + 4], eax
cmp edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
jne 0x1004c7ce
cmp dword [esp + 0x44], 0
je 0x1004c77b
xor eax, eax
inc eax
mov edx, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, 2
cmovae eax, ecx
shl eax, 2
lea eax, [eax + eax*2]
lea ecx, [edx + edx*2]
lea ecx, [ebx + ecx*4]
add ecx, 0x18
xor edx, edx
test byte [ecx + edx], 8
je 0x1004c76d
dec dword [ebx + 0xc]
dec dword [edi + 0x48]
mov dword [ecx + edx], 3
add edx, 0xc
cmp eax, edx
jne 0x1004c761
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
or dword [ecx], eax
cmp dword [ebx + 0xc], 0
jne 0x1004c796
cmp dword [esp + 0x48], 0
jne 0x1004ca3e
test byte [esp + 0x38], 1
je 0x1004cd02
test esi, esi
je 0x1004cd02
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add dword [eax + 0x34], ecx
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x18], 0
jne 0x10048e14
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x10048e14
mov eax, edx
mov edx, ecx
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, eax
mov eax, dword [esp + 0x20]
sub ecx, eax
shl ecx, 0xc
add eax, edx
lea eax, [eax + eax*2]
mov dword [esp + 8], eax
lea eax, [ebx + eax*4]
add eax, 0x10
mov edx, 0xfff
mov edi, dword [eax + 8]
and edi, edx
or edi, ecx
mov dword [esp + 0x10], eax
mov dword [eax + 8], edi
mov eax, dword [esp + 4]
lea edi, [eax + eax*2]
and edx, dword [ebx + edi*4 + 0xc]
or edx, ecx
mov dword [ebx + edi*4 + 0xc], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
test ecx, ecx
je 0x1004cd91
mov eax, dword [esp + 8]
lea eax, [ebx + eax*4]
add eax, 0x18
mov dword [esp + 8], eax
lea edi, [esp + 0x78]
xor edx, edx
mov dword [esp + 0x2c], edx
mov edx, edi
mov dword [esp + 4], edx
mov edi, dword [ecx]
test edi, edi
je 0x1004c868
mov eax, dword [edi + 4]
test al, 1
je 0x1004c868
mov ebx, dword [edi]
test ebx, ebx
je 0x1004c868
test byte [ebx + 4], 1
jne 0x1004c8d8
mov edi, ecx
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov edx, eax
and edx, 0xfffff000
mov ebx, dword [edi + 8]
mov ecx, 0xfffff000
and ebx, ecx
xor ecx, ecx
cmp edx, ebx
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
cmp ecx, 0xffffffff
je 0x1004c8af
test ecx, ecx
jne 0x1004c8c7
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, edi
seta cl
jae 0x1004c90a
mov ecx, dword [edi]
mov eax, 0xffffffff
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 4]
test ecx, ecx
jne 0x1004c845
jmp 0x1004c9a3
mov eax, 1
mov ebx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
jmp 0x1004c8ba
and eax, 0xfffffffe
mov dword [ecx], eax
mov ebx, ecx
and ebx, 0xfffffffe
mov eax, dword [edi]
mov edx, dword [edi + 4]
and edx, 1
or edx, ebx
mov dword [edi + 4], edx
test eax, eax
je 0x1004d20e
and byte [eax + 4], 0xfe
mov edx, dword [esp + 4]
cmp dword [edx], ecx
jne 0x1004c90e
mov dword [edx], edi
jmp 0x1004c86a
mov al, cl
jmp 0x1004c8cc
and edi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [edx + 4], ecx
test edi, edi
je 0x1004d1ff
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 + 0x2c]
test ecx, ecx
je 0x1004d1d2
cmp dword [ecx], edx
je 0x1004cdc0
jmp 0x1004cdc7
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov ebx, dword [edi + 8]
and ebx, ecx
xor ecx, ecx
cmp edx, ebx
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1004cdab
jmp 0x1004ce43
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
mov edx, edi
test ecx, ecx
jne 0x1004c84b
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1004c9db
mov dword [edi], ecx
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x1004d2a7
and byte [eax + 4], 0xfe
mov dword [edi + 0x58], eax
jmp 0x1004c73a
mov eax, dword [edi + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x10]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov eax, dword [esp + 0x10]
mov dword [eax], edi
mov eax, dword [edi + 4]
and eax, 1
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x10]
or byte [edi + 4], 1
cmp dword [edx], edi
jne 0x1004cb4d
mov dword [edx], eax
jmp 0x1004c9bb
and ecx, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
jmp 0x1004c70f
mov edi, dword [edi + 0x38]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], 0
xor edx, edx
dec edx
xor eax, eax
cmp edi, ebx
setb al
cmova eax, edx
cmp eax, 0xffffffff
je 0x1004cb74
test eax, eax
je 0x1004cf07
test edi, edi
je 0x1004d1c3
mov ecx, dword [edi + 8]
mov dword [esp + 0x14], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x1004ced2
mov edx, dword [eax + 4]
test edx, edx
je 0x1004ced2
test byte [edx + 8], 1
je 0x1004ced2
xor edx, edx
dec edx
jmp 0x1004cb99
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov edi, dword [ebx]
test edi, edi
je 0x1004d26e
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004d283
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
jmp 0x1004c672
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
and edi, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [ebx + 4], ecx
test edi, edi
je 0x1004d1f0
mov ecx, dword [edi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov dword [edi], ebx
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
je 0x1004cb45
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1004cf64
mov dword [ebx + 4], eax
jmp 0x1004c5d7
mov eax, dword [edx + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp edi, ecx
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
jne 0x1004c9c3
and eax, 1
or eax, dword [esp + 0x10]
mov dword [edx + 4], eax
jmp 0x1004c9c3
test edi, edi
je 0x1004ce78
mov eax, dword [edi + 4]
test eax, eax
je 0x1004ce78
mov dword [esp + 0x14], 0
test byte [eax + 8], 1
je 0x1004ce67
mov dword [esp + 0x20], edi
mov edi, eax
xor eax, eax
cmp edi, ebx
setb al
cmova eax, edx
cmp eax, 0xffffffff
jne 0x1004cbdf
test edi, edi
je 0x1004d047
mov eax, dword [edi + 4]
test eax, eax
je 0x1004d047
mov ecx, dword [eax + 8]
test cl, 1
jne 0x1004cb99
mov edx, dword [eax + 4]
test edx, edx
je 0x1004cc33
test byte [edx + 8], 1
je 0x1004cc33
mov dword [esp + 0x20], edi
xor edx, edx
dec edx
jmp 0x1004cb9d
test eax, eax
jne 0x1004cc05
test edi, edi
je 0x1004d2e9
mov ecx, edx
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x14], edx
cmp eax, 1
mov edx, ecx
jbe 0x1004cc8e
jmp 0x1004cc10
test edi, edi
je 0x1004ce9f
mov eax, dword [edi + 8]
and eax, 0xfffffffe
je 0x1004ce9f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004ce9f
test byte [ecx + 8], 1
jne 0x1004cb99
jmp 0x1004ce9f
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [edi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004d2d4
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004cc5a
mov ebx, dword [eax + 8]
test bl, 1
jne 0x1004cfef
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
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 4], edi
mov edi, ecx
mov ebx, dword [esp + 0x18]
mov edx, 0xffffffff
jne 0x1004d317
mov dword [edi + 4], eax
jmp 0x1004cb9d
mov eax, dword [edi + 4]
test eax, eax
mov ecx, 0
je 0x1004ccc8
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
mov edx, dword [esp + 0x20]
cmp dword [edx + 4], edi
jne 0x1004ce30
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x38], eax
test ebx, ebx
je 0x1004d2f0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
test esi, esi
setne al
test byte [esp + 0x38], al
jne 0x1004c7a9
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x18], 0
je 0x1004d18b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
xor esi, esi
jmp 0x10048e1c
and ecx, 1
mov dword [esp + 0x24], edi
mov edi, dword [eax + 4]
and edi, 0xfffffffe
or edi, ecx
mov dword [eax + 4], edi
mov eax, dword [esp + 0x24]
and byte [eax + 4], 0xfe
mov eax, dword [edx + 4]
mov edi, eax
and edi, 0xfffffffe
je 0x1004d241
mov ecx, dword [edi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov dword [edi], edx
mov dword [ebx], edi
mov eax, dword [edi + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
or ecx, eax
mov dword [edi + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
jne 0x1004c654
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea edi, [esp + 0x78]
jmp 0x1004c9b9
xor eax, eax
inc eax
cmp ecx, 0xffffffff
mov ebx, dword [esp + 0x18]
jne 0x1004c98f
jmp 0x1004cf5a
mov dword [ecx], edi
jmp 0x1004c95f
mov eax, dword [ecx + 4]
and eax, 1
or eax, edi
mov dword [ecx + 4], eax
jmp 0x1004c95f
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x1004d2ff
mov eax, dword [esp + 8]
cmp dword [ecx], eax
mov edi, dword [esp + 0x1c]
jne 0x1004cf8f
mov dword [ecx], edx
mov ebx, dword [esp + 8]
mov eax, dword [ebx]
mov dword [edx], eax
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 4]
cmp dword [eax], edx
jne 0x1004d30e
mov dword [eax], 0
jmp 0x1004c70f
and ecx, 0xfffffffe
mov eax, dword [edx + 8]
and eax, 1
or eax, ecx
mov dword [edx + 8], eax
jmp 0x1004ccd8
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, edi
seta cl
mov ebx, dword [esp + 0x18]
jb 0x1004cf5a
mov al, cl
jmp 0x1004c98f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004ce78
test byte [ecx + 8], 1
jne 0x1004cb99
lea ecx, [esp + 0x60]
mov edx, edi
call fcn.10001630
lea eax, [esp + 0x60]
mov eax, dword [eax]
test eax, eax
je 0x1004d353
and byte [eax + 8], 0xfe
mov dword [esp + 0x14], 0
jmp 0x1004cef8
lea ecx, [esp + 0x74]
mov edx, edi
call fcn.100329e0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 4], edi
mov edi, ecx
je 0x1004cfe7
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
jmp 0x1004caa1
mov eax, dword [edi + 4]
test eax, eax
je 0x1004d32f
test byte [eax + 8], 1
je 0x1004cfa6
lea ecx, [esp + 0x60]
mov edx, edi
call fcn.100329e0
lea eax, [esp + 0x60]
mov eax, dword [eax]
xor edx, edx
dec edx
lea edi, [esp + 0x78]
mov dword [edi + 4], eax
jmp 0x1004cb99
xor edx, edx
test edi, edi
je 0x1004cf4e
mov ecx, dword [edi + 8]
cmp ecx, 1
ja 0x1004d133
mov eax, dword [edi + 4]
test eax, eax
je 0x1004cf4e
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [edi + 4], ecx
mov ecx, edi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [edi + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x38], edx
jmp 0x1004cceb
mov ecx, dword [edi]
xor eax, eax
dec eax
jmp 0x1004c995
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [ebx + 4]
mov ecx, eax
or ecx, 1
mov dword [ebx + 4], ecx
and eax, 0xfffffffe
je 0x1004d1e1
mov ecx, dword [eax]
or ecx, 1
mov dword [ebx + 4], ecx
mov dword [eax], ebx
mov dword [edi], eax
jmp 0x1004c5d7
mov eax, edx
and eax, 0xfffffffe
mov ebx, ecx
mov ecx, dword [ecx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x1004cdf5
or ecx, 1
mov dword [edi + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004cfbf
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1004d0ca
or byte [eax + 8], 1
mov ecx, dword [edi + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004d344
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 0x1004cef8
mov dword [edi + 4], eax
jmp 0x1004caa1
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 0x1004d2c5
mov ebx, edi
mov edx, dword [eax + 4]
and edx, 0xfffffffe
or edx, ecx
mov ecx, edi
mov dword [ebx + 8], edx
mov dword [eax + 4], ebx
mov ecx, dword [ebx + 8]
and ecx, 0xfffffffe
je 0x1004d03d
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1004d159
mov edi, ebx
mov dword [ebx + 8], ecx
jmp 0x1004cc6e
cmp dword [esp + 0x14], 0
je 0x1004d362
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 4], eax
jne 0x1004d140
mov eax, dword [esp + 0x14]
mov dword [eax + 4], edi
cmp dword [esp + 0x18], 0
je 0x1004d37d
test edi, edi
je 0x1004d395
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov ebx, edi
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
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], edi
jne 0x1004d3a4
mov eax, dword [esp + 0x20]
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x1004ccdc
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov dword [esp + 0x20], edi
mov eax, dword [edi + 4]
test eax, eax
je 0x1004d3b1
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov edi, dword [esp + 0x20]
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 0x1004d3cb
mov ebx, dword [ecx + 4]
and ebx, 0xfffffffe
and edx, 1
or edx, ebx
mov edi, dword [esp + 0x20]
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
mov ebx, dword [esp + 0x18]
jmp 0x1004cef8
lea eax, [esp + 0x78]
mov dword [esp + 0x14], eax
jmp 0x1004ca81
mov eax, edi
and eax, 0xfffffffe
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1004d06a
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov edi, ebx
mov ecx, dword [ebx + 8]
mov edx, ecx
or edx, 1
mov dword [ebx + 8], edx
and ecx, 0xfffffffe
je 0x1004d2b6
mov edx, dword [ecx + 4]
or edx, 1
mov edi, ebx
mov dword [ebx + 8], edx
mov dword [ecx + 4], ebx
mov dword [eax + 4], ecx
jmp 0x1004cc6e
xor esi, esi
jmp 0x1004c7c2
or ecx, 1
mov dword [ebx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
xor edx, edx
jmp 0x1004c550
and ecx, 1
mov dword [edx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [ebx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [ebx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov eax, edi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1004c4f0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
or edx, 1
mov dword [edi + 8], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
xor ecx, ecx
jmp 0x1004ccc8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
and dword [eax + 4], 1
jmp 0x1004c70f
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
xor edx, edx
dec edx
jmp 0x1004cb9d
or ecx, 1
mov dword [edi + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf97
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test edi, edi
je 0x1004d395
mov eax, edi
mov dword [edi + 4], 0
and dword [edi + 8], 1
xor ecx, ecx
jmp 0x1004d0a2
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c
mov eax, dword [esp + 0x20]
and dword [eax + 8], 1
jmp 0x1004d0bd
mov eax, dword [esp + 0x20]
mov dword [eax + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c4de
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004bf8c