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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov eax, dword [0x100a400c]
xor eax, ebp
mov dword [esp + 0x98], eax
cmp dword [0x100a4810], 0
je 0x1004b45c
mov ebx, dword [ebp + 8]
test bl, 1
je 0x1004840e
mov eax, dword [0x100a4754]
test eax, eax
je 0x100485e6
mov esi, eax
mov eax, 0xffffffff
xor ecx, ecx
cmp dword [esi + 8], ebx
setb cl
cmova ecx, eax
test ecx, ecx
jne 0x100485cf
cmp dword [0x100a4810], 0
je 0x1004b00f
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1004a886
mov edi, eax
test esi, esi
jne 0x10048601
cmp edi, 0x1f1
jae 0x100485fb
mov eax, dword [0x100a43c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1004b478
mov eax, dword [0x100a43c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0xc]
mov esi, eax
test eax, eax
je 0x1004ac78
mov eax, edi
cmp edi, 9
jb 0x1004889b
cmp eax, 0x1f1
jae 0x100484d5
add eax, 0xf
mov ebx, eax
and ebx, 0xfffffff0
shr eax, 4
shl eax, 5
mov dword [esp + 0x1c], eax
cmp byte [esi + 0x40], 0
je 0x1004832e
cmp dword [esi + 0x44], 0
je 0x1004af47
mov eax, dword [esp + 0x1c]
lea edi, [esi + eax]
add edi, 0x5c
lea eax, [esi + 0xc]
mov dword [esp + 0x38], eax
mov dword [esp + 0x10], esi
cmp dword [esi + 0x24], 0
jne 0x10048353
push dword [esp + 0x38]
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edx, dword [edi]
test edx, edx
je 0x100484ed
cmp dword [edx + 8], 0
je 0x100484ed
mov eax, dword [edx + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov edx, dword [edx + eax*4 + 0xc]
test edx, edx
je 0x10048826
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x44]
test edi, edi
jne 0x10048468
tzcnt edi, edx
mov esi, dword [esp + 8]
mov ecx, esi
shl ecx, 5
or ecx, edi
btc edx, edi
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
imul ecx, dword [edi + eax + 0x64]
mov eax, dword [edi + eax + 0x70]
mov edi, dword [esp + 4]
mov dword [edi + esi*4 + 0xc], edx
add eax, edi
add ecx, eax
dec dword [edi + 8]
mov dword [esp], ecx
test ecx, ecx
je 0x1004b4b4
mov eax, dword [esp + 0x10]
add dword [eax + 0x30], ebx
xor ebx, ebx
cmp dword [eax + 0x24], 0
jne 0x100483e3
push dword [esp + 0x38]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
test bl, bl
jne 0x10049090
cmp dword [esp], 0
je 0x10049090
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.1004f020
mov eax, dword [esp]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x100a472c
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a4750]
test eax, eax
je 0x1004b463
mov esi, eax
mov eax, 0xffffffff
xor ecx, ecx
cmp dword [esi + 8], ebx
setb cl
cmova ecx, eax
cmp ecx, 0xffffffff
jne 0x10048450
mov edx, esi
mov edx, dword [esi]
mov esi, edx
test edx, edx
jne 0x1004842d
jmp 0x1004b463
test ecx, ecx
jne 0x1004b482
push 0x100a472c
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x1004828d
mov dword [esp + 0x14], ebx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov ebx, eax
shld ebx, ecx, 0x17
mov esi, ecx
shl esi, 0x17
xor esi, ecx
mov ecx, dword [edi + 0xc]
xor ebx, eax
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, ebx
mov dword [esp], ebx
shr ebx, 0x11
xor ebx, eax
mov eax, dword [edi + 8]
mov dword [edi + 4], ecx
shld dword [esp], esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, dword [esp]
mov dword [edi], eax
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ecx
add ecx, eax
mov esi, edx
ror esi, cl
test esi, esi
je 0x100484ce
tzcnt edi, esi
mov ebx, dword [esp + 0x14]
add edi, ecx
and edi, 0x1f
jmp 0x10048391
mov edi, 0x20
jmp 0x100484c0
add eax, 0xff
mov ebx, eax
and ebx, 0x1f00
shr eax, 8
add eax, 0x1e
jmp 0x10048317
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + ecx + 0x60]
test eax, eax
mov dword [esp], edi
mov dword [esp + 0x14], ebx
je 0x100491d5
add ecx, edx
add ecx, 0x60
mov dword [esp + 8], ecx
mov ecx, eax
nop word cs:[eax + eax]
mov ebx, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10048520
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
xor edx, edx
cmp eax, ebx
setb dl
mov ecx, 0xffffffff
cmovbe ecx, edx
cmp ecx, 0xffffffff
jne 0x10048d5c
mov edx, dword [eax]
test edx, edx
je 0x1004b2ba
mov ecx, dword [edx + 4]
mov dword [esp + 4], 0
test cl, 1
jne 0x1004c366
mov esi, dword [edx]
test esi, esi
je 0x1004857a
test byte [esi + 4], 1
jne 0x1004c366
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004b2a5
mov edx, dword [ecx]
test edx, edx
je 0x100485ae
mov edi, dword [edx + 4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], ecx
mov ecx, edi
test cl, 1
mov ecx, dword [esp + 0x18]
jne 0x10049a37
or esi, 1
mov dword [eax + 4], esi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, ecx
and byte [edx + 4], 0xfe
lea eax, [esp + 0x70]
mov dword [eax], edx
jmp 0x1004c366
cmp ecx, 0xffffffff
jne 0x10048d4f
mov ecx, esi
mov ecx, dword [esi]
mov esi, ecx
test ecx, ecx
jne 0x1004827a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_result_
int3
mov esi, dword [0x100a4744]
cmp edi, 0xf00
jbe 0x100482f6
mov edx, edi
cmp edi, 0xfd000
ja 0x1004ada7
add edx, 0xfff
mov dword [esp + 0x1c], edx
mov ecx, esi
lea eax, [esi + 0xc]
cmp dword [esi + 0x24], 0
mov dword [esp + 0x20], eax
jne 0x1004863b
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x1c]
and eax, 0xfffff000
mov dword [esp + 0x38], eax
mov edi, dword [esi + 0x58]
test edi, edi
mov dword [esp + 0x10], esi
je 0x100490a8
xor eax, eax
mov ecx, 0xfffff000
mov edx, 0xffffffff
mov esi, edi
mov dword [esp + 4], edi
mov edi, dword [esi + 8]
and edi, ecx
xor ebx, ebx
cmp dword [esp + 0x38], edi
seta bl
cmovb ebx, edx
lea edi, [ebx + 1]
cmp edi, 2
jae 0x1004868c
mov eax, esi
mov esi, dword [esi]
test esi, esi
jne 0x10048669
jmp 0x1004869f
cmp ebx, 1
jne 0x1004b71d
mov esi, dword [esi + 4]
and esi, 0xfffffffe
test esi, esi
jne 0x10048669
test eax, eax
je 0x1004b53b
mov ecx, eax
and ecx, 0xfff00000
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
and edx, 0xfffffff8
shl edx, 9
add edx, ecx
mov esi, dword [esp + 0x10]
mov ecx, edx
and ecx, 0xfff00000
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x3c], eax
mov dword [esp], edx
mov eax, edx
shr eax, 0xc
movzx ebx, al
lea eax, [ebx*4]
lea eax, [eax + eax*2]
or eax, ecx
mov dword [esp + 8], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x1c]
shr edi, 0xc
cmp dword [esp + 0x38], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
je 0x10048f30
xor eax, eax
inc eax
cmp edi, 2
cmovae eax, edi
mov dword [esp + 0xc], eax
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*4]
add eax, 0x18
xor edx, edx
xor esi, esi
mov dword [esp + 4], eax
add ebx, esi
lea eax, [ebx + ebx*2]
test byte [ecx + eax*4 + 0x18], 0x60
jne 0x10048762
inc esi
cmp esi, dword [esp + 0x1c]
setae dl
dec edi
mov eax, dword [esp + 4]
add eax, 0xc
cmp esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
jne 0x10048733
jmp 0x10048943
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x1c]
mov eax, dword [esp + 4]
jae 0x10049428
xor esi, esi
mov ecx, dword [eax]
test cl, 0x60
je 0x1004878c
and ecx, 0xffffff9f
mov dword [eax], ecx
inc esi
add eax, 0xc
cmp edi, esi
jne 0x10048776
mov esi, edi
mov dword [esp + 0x30], edx
mov edx, esi
shl edx, 0xc
jne 0x10049108
jmp 0x100487e3
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], edx
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x44], eax
push 4
push 0x1000
push dword [esp + 0x30]
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b26f
mov eax, dword [esp + 0x28]
add ebx, eax
mov edx, dword [esp + 0x48]
sub edx, eax
mov eax, 0x100000
cmp edx, eax
cmovb eax, edx
test edx, edx
jne 0x1004879d
mov al, 1
test esi, esi
je 0x10048806
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 4]
mov ebx, esi
or dword [edx], ecx
add edx, 0xc
dec ebx
jne 0x100487fe
test al, al
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
je 0x10048dfe
mov eax, dword [esp + 0x10]
add dword [eax + 0x2c], esi
mov esi, dword [esp + 0x24]
jmp 0x10048743
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + eax + 0x6c]
mov edx, dword [esp + 8]
mov eax, edx
shl eax, 5
mov dword [esp], eax
inc edx
cmp edx, ecx
jae 0x1004b4ad
mov eax, dword [esp + 4]
mov eax, dword [eax + edx*4 + 0xc]
add dword [esp], 0x20
test eax, eax
je 0x1004883e
mov dword [esp + 8], edx
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 0x44]
test edi, edi
jne 0x100488d0
tzcnt edi, eax
mov edx, eax
mov ecx, dword [esp]
add ecx, edi
mov eax, dword [esp + 0x1c]
imul ecx, dword [esi + eax + 0x64]
mov eax, dword [esi + eax + 0x70]
mov esi, edi
mov edi, dword [esp + 4]
add eax, edi
add ecx, eax
btc edx, esi
mov eax, dword [esp + 8]
mov dword [edi + eax*4 + 0xc], edx
mov dword [edi + 4], eax
jmp 0x100483bc
dec eax
je 0x10048e35
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor ebx, ebx
inc ebx
shl ebx, cl
cmp ebx, 9
mov eax, 8
cmovb ebx, eax
cmp edi, 2
cmovb ebx, eax
mov eax, ebx
shr eax, 3
or eax, 1
bsr eax, eax
jmp 0x10048317
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov ebx, edx
shld ebx, eax, 0x17
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [edi + 0xc]
xor ebx, edx
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
xor eax, ebx
mov edx, ebx
shr ebx, 0x11
xor ebx, eax
mov eax, dword [edi + 8]
mov dword [edi + 4], ecx
shld edx, esi, 0xf
shld ecx, eax, 6
xor ecx, eax
xor ecx, esi
xor ecx, edx
mov dword [edi], eax
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ecx
add ecx, eax
mov edx, dword [esp + 0x18]
mov esi, edx
ror esi, cl
test esi, esi
je 0x10048eb8
tzcnt edi, esi
mov ebx, dword [esp + 0x14]
add edi, ecx
and edi, 0x1f
mov esi, dword [esp + 0x10]
jmp 0x1004886c
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x10]
mov esi, eax
mov edi, dword [eax + 0x58]
mov dword [esp + 4], edi
mov eax, dword [esp + 8]
lea ecx, [eax + 0x10]
mov dword [esp + 0xc], ecx
add eax, 0x18
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], 0
mov dword [esp + 8], eax
mov ecx, dword [eax]
mov edx, 0xfffff000
mov ebx, ecx
and ebx, edx
and edx, dword [edi + 8]
xor edi, edi
dec edi
xor eax, eax
cmp ebx, edx
seta al
cmovb eax, edi
mov edx, dword [esp + 4]
test eax, eax
je 0x10048ff1
cmp eax, 0xffffffff
jne 0x10048e3f
mov esi, dword [edx]
test esi, esi
je 0x1004b724
mov eax, dword [esi + 4]
mov dword [esp + 0x28], 0
test al, 1
je 0x10048ec2
mov eax, dword [esp + 4]
mov edi, esi
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
mov ebx, edx
and ebx, 0xfffff000
mov esi, dword [esi + 8]
mov ecx, 0xfffff000
and esi, ecx
xor ecx, ecx
cmp ebx, esi
seta cl
mov esi, 0xffffffff
cmovb ecx, esi
test ecx, ecx
je 0x10048a0b
cmp ecx, 0xffffffff
jne 0x10048a6c
mov esi, dword [edi]
test esi, esi
je 0x100494ec
mov ecx, dword [esi + 4]
test cl, 1
je 0x10048a2a
mov eax, edi
jmp 0x100489c3
mov esi, dword [esp + 0xc]
test dl, 0x10
jne 0x1004b268
xor ecx, ecx
cmp esi, edi
seta dl
jb 0x100489f5
mov cl, dl
cmp ecx, 0xffffffff
je 0x100489f5
jmp 0x10048a6c
mov edx, dword [esi]
test edx, edx
je 0x10048a3a
test byte [edx + 4], 1
je 0x10048a3a
mov eax, edi
jmp 0x100489c3
or ecx, 1
mov dword [esi + 4], ecx
mov edx, dword [edi + 4]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004aff4
mov esi, dword [ecx]
test esi, esi
jne 0x10048b49
jmp 0x10048b55
cmp dword [eax], edi
jne 0x1004b76f
mov dword [eax], esi
jmp 0x100489c3
mov edx, edi
test ecx, ecx
je 0x10048b38
mov edi, dword [edi + 4]
mov dword [esp + 4], edx
mov esi, edi
and esi, 0xfffffffe
je 0x10048a94
mov ecx, dword [esi]
test ecx, ecx
je 0x10048a94
test byte [ecx + 4], 1
jne 0x100489bf
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x1004b4f9
mov edx, dword [ecx + 4]
test dl, 1
je 0x10048fb3
and edx, 0xfffffffe
je 0x1004b24d
mov esi, dword [edx]
test esi, esi
je 0x10048ac7
test byte [esi + 4], 1
jne 0x10049541
and edi, 1
or edi, edx
mov dword [ecx + 4], edi
or byte [edx + 4], 1
mov ebx, dword [esp + 4]
mov esi, dword [ebx]
test esi, esi
je 0x1004b4e4
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [ebx], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov edx, dword [ebx + 4]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004b4c6
mov edi, dword [ecx]
and edi, 0xfffffffe
and edx, 1
or edx, edi
mov dword [ebx + 4], edx
mov dword [ecx], ebx
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
or byte [ebx + 4], 1
cmp dword [eax], ebx
jne 0x10049128
mov dword [eax], esi
mov dword [esp + 4], eax
jmp 0x100489bf
mov edi, dword [edi + 4]
mov dword [esp + 0x28], eax
cmp edi, 1
jbe 0x10048b6c
jmp 0x10048a79
mov ebx, dword [esi + 4]
test bl, 1
jne 0x1004948a
or edx, 1
mov dword [edi + 4], edx
mov edx, dword [ecx]
or edx, 1
mov dword [edi + 4], edx
mov dword [ecx], edi
mov esi, ecx
jmp 0x10048a5d
mov ecx, dword [edx]
test ecx, ecx
mov edi, edx
je 0x10048b9f
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [edi], edx
mov edx, edi
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [edi + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [edi + 4], 1
and dword [ecx + 4], 1
cmp dword [eax], edi
jne 0x10048f1d
mov dword [eax], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x2c]
shr ebx, 0xc
mov dword [esi + 0x58], ecx
xor eax, eax
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], eax
cmp ebx, dword [esp + 0x1c]
jne 0x10048d83
cmp dword [esp + 0x38], 0
je 0x10048c1b
xor eax, eax
inc eax
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
cmovae eax, ecx
shl eax, 2
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x14]
lea ecx, [edx + ecx*4]
add ecx, 0x18
xor edx, edx
mov edi, dword [esp + 0x14]
test byte [ecx + edx], 8
je 0x10048c0d
dec dword [edi + 0xc]
dec dword [esi + 0x48]
mov dword [ecx + edx], 3
add edx, 0xc
cmp eax, edx
jne 0x10048c01
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 8]
or dword [ecx], eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xc], 0
jne 0x10048dfa
cmp dword [esp + 0x3c], 0
mov eax, dword [esp + 0x30]
je 0x10048dfe
mov esi, dword [esi + 0x38]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
xor ebx, ebx
dec ebx
xor eax, eax
cmp esi, ecx
setb al
cmova eax, ebx
cmp eax, 0xffffffff
je 0x1004918b
test eax, eax
je 0x10049b1b
test esi, esi
je 0x1004b2c6
mov ecx, dword [esi + 8]
xor edi, edi
mov eax, ecx
and eax, 0xfffffffe
je 0x10049ac5
mov edx, dword [eax + 4]
test edx, edx
je 0x10049ac5
test byte [edx + 8], 1
je 0x10049ac5
mov edx, edi
mov edi, esi
mov ecx, dword [esp + 0x14]
mov esi, eax
xor eax, eax
cmp esi, ecx
setb al
cmova eax, ebx
cmp eax, 0xffffffff
jne 0x10048ce8
test esi, esi
je 0x1004a9ce
mov eax, dword [esi + 4]
test eax, eax
je 0x1004a9ce
test byte [eax + 8], 1
je 0x10048cd2
mov edi, esi
jmp 0x10048ca4
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10049bbb
test byte [ecx + 8], 1
jne 0x10048c9e
jmp 0x10049bbb
test eax, eax
jne 0x10048d06
xor ecx, ecx
test esi, esi
je 0x10049044
mov eax, dword [esi + 8]
mov edx, edi
cmp eax, 1
jbe 0x1004900f
jmp 0x10048d0d
test esi, esi
je 0x10048d23
mov eax, dword [esi + 8]
and eax, 0xfffffffe
je 0x10048d23
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10048d23
test byte [ecx + 8], 1
jne 0x10048c9e
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x68]
mov edx, esi
call fcn.1003cd70
mov eax, dword [esp + 0x68]
cmp dword [edi + 4], esi
jne 0x10049c3e
jmp 0x1004a483
mov esi, edi
mov edx, dword [esp + 0x1c]
jmp 0x10048c9e
mov ecx, esi
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
jmp 0x100485dc
test ecx, ecx
jne 0x10048f3f
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1004a681
mov ecx, dword [eax]
test ecx, ecx
jne 0x1004a62f
mov dword [esp + 0x70], ecx
jmp 0x1004bfc1
mov edx, dword [esp + 0x18]
lea ecx, [edx + ebx]
mov eax, dword [esp + 0x1c]
sub ebx, eax
shl ebx, 0xc
add eax, edx
lea eax, [eax + eax*2]
mov edi, dword [esp + 0x14]
mov dword [esp + 4], eax
lea eax, [edi + eax*4]
add eax, 0x10
mov edx, 0xfff
mov esi, dword [eax + 8]
and esi, edx
or esi, ebx
mov dword [esp + 0xc], eax
mov dword [eax + 8], esi
lea ecx, [ecx + ecx*2]
and edx, dword [edi + ecx*4 + 0xc]
or edx, ebx
mov dword [edi + ecx*4 + 0xc], edx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x10049239
mov eax, dword [esp + 4]
lea eax, [edi + eax*4]
add eax, 0x18
mov dword [esp + 4], eax
lea edi, [esp + 0x70]
xor esi, esi
jmp 0x1004c01b
mov eax, dword [esp + 0x30]
test al, 1
je 0x10049082
cmp dword [esp], 0
je 0x10049082
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
add dword [eax + 0x34], ecx
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x18], 0
jne 0x100483eb
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x100483eb
mov ecx, 0x20
jmp 0x100488a8
test eax, eax
je 0x10049141
mov eax, dword [edx + 4]
mov dword [esp + 0x28], 0
mov esi, eax
and esi, 0xfffffffe
je 0x10048e69
mov ecx, dword [esi]
test ecx, ecx
je 0x10048e69
test byte [ecx + 4], 1
jne 0x100489bf
mov ecx, dword [edx]
test ecx, ecx
je 0x1004b347
test byte [ecx + 4], 1
jne 0x10049ab3
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x10048e95
mov ebx, dword [eax + 4]
test bl, 1
jne 0x10049be9
or byte [ecx + 4], 1
mov eax, dword [edx + 4]
mov esi, eax
and esi, 0xfffffffe
je 0x1004b8fc
mov ecx, dword [esi]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov dword [esi], edx
jmp 0x10048f0e
mov edi, 0x20
jmp 0x10048931
mov ecx, dword [esi]
test ecx, ecx
je 0x10048ed2
test byte [ecx + 4], 1
jne 0x100489bf
or eax, 1
mov dword [esi + 4], eax
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004b238
mov esi, dword [eax]
test esi, esi
je 0x10048ef8
mov ebx, dword [esi + 4]
test bl, 1
jne 0x10049c68
or ecx, 1
mov dword [edx + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [edx + 4], ecx
mov dword [eax], edx
mov esi, eax
and byte [esi + 4], 0xfe
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
mov dword [eax], esi
jmp 0x100489bf
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
jmp 0x10048ba9
mov al, 1
mov dword [esp + 0x30], eax
mov edi, dword [esp + 4]
jmp 0x10048950
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x10048f61
mov esi, dword [edx]
test esi, esi
je 0x10048f61
test byte [esi + 4], 1
jne 0x1004c366
mov edx, dword [eax]
test edx, edx
je 0x1004b99d
test byte [edx + 4], 1
jne 0x10049cd4
or ecx, 1
mov dword [eax + 4], ecx
mov edi, dword [edx]
test edi, edi
je 0x10048f8d
mov ecx, dword [edi + 4]
test cl, 1
jne 0x1004a586
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004ba4c
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x100485c4
or edx, 1
mov dword [ecx + 4], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x10048fcb
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1004942f
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 4]
mov esi, ecx
and esi, 0xfffffffe
je 0x1004b508
mov edx, dword [esi]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 4], ecx
mov dword [esi], ebx
jmp 0x10048b25
xor edi, edi
test cl, 0x10
cmove edi, dword [esp + 0xc]
xor eax, eax
cmp edi, edx
seta cl
jb 0x100489a2
mov al, cl
jmp 0x10048999
mov eax, dword [esi + 4]
test eax, eax
je 0x10049044
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [esi + 8], 1
and dword [eax + 8], 1
mov ecx, eax
cmp dword [edi + 4], esi
jne 0x100494d9
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x38], eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1004b804
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
cmp dword [esp], 0
setne al
test dl, al
jne 0x10048e10
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x18], 0
je 0x1004afc0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
mov dword [esp], 0
jmp 0x100483f5
mov ecx, esi
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x100493e7
push 0x100a47bc
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a47d4]
test eax, eax
je 0x10049929
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 0x100490f5
mov ebx, eax
mov eax, dword [eax]
test eax, eax
jne 0x100490d2
jmp 0x100495ab
test edx, edx
jne 0x1004b9df
cmp dword [eax + 0x10], 0
jne 0x100490e8
jmp 0x1004b9ef
shl ebx, 0xc
mov ecx, ebx
and ecx, 0xff000
mov eax, 0x100000
sub eax, ecx
cmp eax, edx
cmovae eax, edx
add ebx, dword [esp + 0x14]
jmp 0x1004879d
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov dword [esp + 4], eax
jmp 0x100489bf
mov eax, dword [edx + 4]
cmp eax, 1
ja 0x1004a569
mov eax, dword [edx]
xor ecx, ecx
test eax, eax
je 0x10048bb1
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov edi, dword [eax + 4]
and edi, 1
or edi, ecx
mov dword [eax + 4], edi
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [eax + 4], edi
or byte [edx + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x10048bb1
test esi, esi
je 0x100491b3
mov eax, dword [esi + 4]
test eax, eax
je 0x100491b3
xor edx, edx
test byte [eax + 8], 1
jne 0x10048c9e
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x100491b3
test byte [ecx + 8], 1
jne 0x10048c9e
lea edi, [esp + 0x58]
mov ecx, edi
mov edx, esi
call fcn.1003cc60
mov eax, dword [edi]
test eax, eax
je 0x1004baf3
and byte [eax + 8], 0xfe
xor edx, edx
jmp 0x1004a40a
movzx eax, byte [edx + ecx + 0x7a]
mov dword [esp + 0x18], eax
lea eax, [edx + 0x58]
mov dword [esp + 0x28], eax
mov ecx, dword [edx + 0x58]
test ecx, ecx
je 0x1004a4d0
mov edx, dword [esp + 0x18]
shl edx, 0xc
xor eax, eax
mov edi, ebx
mov esi, dword [ecx + 8]
mov ebx, 0xfffff000
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov esi, 0xffffffff
cmovb ebx, esi
lea esi, [ebx + 1]
cmp esi, 2
jae 0x10049228
mov eax, ecx
mov ecx, dword [ecx]
mov ebx, edi
test ecx, ecx
jne 0x100491f9
jmp 0x10049253
cmp ebx, 1
jne 0x1004b8e6
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
jmp 0x10049220
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea edi, [esp + 0x70]
jmp 0x1004c15e
test eax, eax
mov edx, dword [esp + 0x10]
mov edi, dword [esp]
je 0x1004a4d0
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 ecx, esi
and ecx, 0xfff00000
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x44], eax
mov dword [esp + 4], esi
mov eax, esi
shr eax, 0xc
movzx esi, al
lea eax, [esi*4]
lea eax, [eax + eax*2]
or eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0x18]
test edi, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], esi
je 0x10049ce8
xor eax, eax
inc eax
cmp edi, 2
cmovae eax, edi
mov dword [esp + 0x20], eax
lea eax, [esi + esi*2]
lea eax, [ecx + eax*4]
add eax, 0x18
mov dword [esp + 8], eax
xor edx, edx
xor ebx, ebx
mov eax, esi
lea esi, [ebx + eax]
lea eax, [esi + esi*2]
test byte [ecx + eax*4 + 0x18], 0x60
jne 0x10049313
inc ebx
cmp ebx, dword [esp + 0x18]
setae dl
dec edi
add dword [esp + 8], 0xc
cmp ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
jne 0x100492e9
jmp 0x10049cea
mov dword [esp + 0x24], esi
cmp ebx, dword [esp + 0x18]
jae 0x1004a87f
xor esi, esi
mov eax, dword [esp + 8]
mov ecx, dword [eax]
test cl, 0x60
je 0x1004933d
and ecx, 0xffffff9f
mov dword [eax], ecx
inc esi
add eax, 0xc
cmp edi, esi
jne 0x10049327
mov esi, edi
mov ecx, esi
shl ecx, 0xc
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], esi
jne 0x1004a51d
jmp 0x100493a2
mov dword [esp + 0x40], edx
mov dword [esp + 0x54], ecx
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x50], eax
push 4
push 0x1000
push dword [esp + 0x48]
push dword [esp + 0x30]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b404
mov eax, dword [esp + 0x40]
add dword [esp + 0x24], eax
mov ecx, dword [esp + 0x54]
sub ecx, eax
mov eax, 0x100000
cmp ecx, eax
mov edx, 0x100000
cmovb edx, ecx
test ecx, ecx
jne 0x10049352
mov al, 1
test esi, esi
je 0x100493c7
test al, al
mov ecx, 0x20
mov edx, 4
cmovne ecx, edx
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x34]
or dword [edx], ecx
add edx, 0xc
dec esi
jne 0x100493bf
test al, al
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
je 0x1004a228
mov eax, dword [esp + 0x10]
add dword [eax + 0x2c], edx
jmp 0x100492f6
xor eax, eax
mov dword [ecx + 0x3c], eax
lea ecx, [esp + 0x70]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [edx + 0x28], eax
lea eax, [edx + 0x28]
mov dword [edx + 0x2c], 1
lea edi, [edx + 0x2000]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1004b8ed
and byte [eax + 4], 0xfe
mov dword [esp + 4], eax
mov dword [esi + 0x58], eax
mov edx, edi
jmp 0x100486ca
xor esi, esi
jmp 0x10048816
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edi, dword [esp + 4]
mov esi, dword [edi]
test esi, esi
je 0x1004b517
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [edi], ecx
mov ecx, edi
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov edx, dword [edi + 4]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004b52c
mov ebx, edi
mov edi, dword [ecx]
and edi, 0xfffffffe
and edx, 1
or edx, edi
mov dword [ebx + 4], edx
mov dword [ecx], ebx
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x10048b25
and ebx, 0xfffffffe
mov dword [ecx], ebx
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
and esi, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
lea edx, [ecx + esi]
mov dword [edi + 4], edx
test esi, esi
je 0x1004b49e
mov edx, dword [esi]
and edx, 0xfffffffe
or edx, ecx
mov dword [edi + 4], edx
mov dword [esi], edi
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
je 0x100494d1
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1004a48b
mov dword [edi + 4], ecx
jmp 0x10048a5d
and ecx, 0xfffffffe
mov eax, dword [edi + 8]
and eax, 1
or eax, ecx
mov dword [edi + 8], eax
jmp 0x10049050
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x1004b916
mov ecx, dword [esp + 0xc]
cmp dword [ebx], ecx
mov esi, dword [esp + 0x10]
jne 0x10049c53
mov dword [ebx], edi
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov edx, dword [edi + 4]
and edx, 1
or edx, ecx
mov dword [edi + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, ecx
mov dword [edi + 4], edx
cmp dword [eax], edi
jne 0x1004b925
mov dword [eax], 0
jmp 0x10048bad
and edi, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, edi
mov dword [edx + 4], ebx
and byte [esi + 4], 0xfe
mov edx, dword [ecx + 4]
mov esi, edx
and esi, 0xfffffffe
je 0x1004b4d5
mov edi, dword [esi]
and edi, 0xfffffffe
and edx, 1
or edx, edi
mov dword [ecx + 4], edx
mov dword [esi], ecx
mov ebx, dword [esp + 4]
mov dword [ebx], esi
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
mov dword [ebx], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov edx, dword [ebx + 4]
mov ecx, edx
and ecx, 0xfffffffe
jne 0x10048b07
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
test ebx, ebx
je 0x10049929
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 + 0x14], eax
mov ecx, ebx
call fcn.10001f60
mov ecx, 0x100a47d8
mov dword [esp + 8], ebx
mov edx, ebx
call fcn.10001b30
mov dword [esp], esi
mov eax, esi
sub eax, dword [esp + 4]
jne 0x1004b951
test edi, edi
je 0x10049b7e
mov esi, dword [esp + 8]
mov eax, dword [esp]
add eax, 0x100000
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edi
mov eax, dword [esp + 0x14]
mov dword [esi + 0x18], eax
mov ecx, esi
call fcn.100018b0
mov ecx, 0x100a47d8
mov edx, esi
call fcn.10001630
lock add dword [0x100a47dc], 0xfff00000
mov eax, 0x100a47bc
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
push 4
push 0x1000
push 0x100000
mov edi, dword [esp + 0xc]
push edi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b2d2
test edi, edi
je 0x10049934
push 0x100a47a0
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x100a47b8]
test eax, eax
je 0x1004b82f
mov esi, dword [esp]
mov ecx, esi
shr ecx, 0x14
mov dword [eax + ecx*4], esi
push 0x100a47a0
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x10]
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
nop
mov dword [esi + eax - 0x24], 0x24
mov dword [esi + eax - 0x18], 0x24
mov dword [esi + eax - 0xc], 0x24
cmp eax, 0xc00
je 0x100496fb
mov dword [esi + eax], 0x24
add eax, 0x30
jmp 0x100496d0
mov dword [esi + 0xc00], 0xfd024
mov dword [esi + 0xc0c], 0x20
lea ecx, [esi + 0x1000]
mov eax, ecx
and eax, 0xfffff
mov edi, 0x100000
sub edi, eax
mov esi, 0xff000
cmp edi, esi
cmovae edi, esi
push 0x4000
push edi
mov ebx, ecx
push ecx
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x1004b7ef
mov ecx, ebx
add ecx, edi
sub esi, edi
mov eax, 0x100000
cmp esi, eax
mov edi, 0x100000
cmovb edi, esi
test esi, esi
jne 0x1004972d
mov esi, dword [esp + 0x10]
add dword [esi + 0x2c], 2
mov eax, dword [esp]
lea edx, [eax + 0x28]
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x1004a4b6
mov dword [esp + 4], edx
lea edi, [esp + 0x70]
xor eax, eax
mov ebx, eax
mov eax, edi
mov esi, dword [ecx]
test esi, esi
je 0x100497b0
mov edx, dword [esi + 4]
test dl, 1
je 0x100497b0
mov edi, ebx
mov dword [esp + 8], esi
mov ebx, dword [esi]
test ebx, ebx
je 0x100497b0
test byte [ebx + 4], 1
jne 0x10049809
mov edi, ecx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x30]
mov edx, ecx
mov ebx, 0xfffff000
and edx, ebx
mov esi, dword [edi + 8]
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
cmp ebx, 0xffffffff
mov esi, dword [esp + 0x10]
je 0x100497fb
xor edx, edx
inc edx
test ebx, ebx
jne 0x10049847
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 4]
xor edx, edx
cmp ecx, edi
seta cl
jae 0x10049845
mov ecx, dword [edi]
xor edx, edx
dec edx
test ecx, ecx
jne 0x1004978c
jmp 0x100498e4
and edx, 0xfffffffe
mov dword [ecx], edx
mov edx, ecx
and edx, 0xfffffffe
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 8]
mov edx, dword [ebx]
mov esi, dword [ebx + 4]
and esi, 1
add esi, dword [esp + 0x14]
mov dword [ebx + 4], esi
test edx, edx
je 0x1004b760
and byte [edx + 4], 0xfe
cmp dword [eax], ecx
jne 0x1004984f
mov edi, dword [esp + 8]
mov dword [eax], edi
jmp 0x100497b2
mov dl, cl
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
jmp 0x10049800
mov ebx, edi
mov edi, dword [esp + 8]
and edi, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea edx, [ecx + edi]
mov dword [eax + 4], edx
test edi, edi
je 0x1004b751
mov edx, dword [edi]
and edx, 0xfffffffe
or edx, ecx
mov dword [eax + 4], edx
mov dword [edi], eax
mov ecx, dword [eax + 4]
and ecx, 1
mov edx, dword [edi + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [edi + 4], edx
or byte [eax + 4], 1
test ebx, ebx
je 0x1004b3f5
cmp dword [ebx], eax
je 0x1004a562
jmp 0x1004a576
mov eax, dword [esp]
mov eax, dword [eax + 0x30]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov esi, dword [edi + 8]
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1004a46e
jmp 0x1004a68e
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
mov eax, edi
test ecx, ecx
jne 0x10049790
mov eax, ebx
mov ecx, dword [esp]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 1
cmp edx, 1
je 0x100499ea
mov edx, dword [esp + 4]
mov dword [edi], edx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1004b851
and byte [eax + 4], 0xfe
mov dword [esp + 4], eax
mov dword [esi + 0x58], eax
mov edx, dword [esp]
add edx, 0x2000
jmp 0x100486ca
push 0x100a47bc
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
sub esp, 0x10
movaps xmm0, xmmword [0x10092150]
movups xmmword [esp], xmm0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1004b371
mov dword [esp], eax
test eax, 0xfffff
je 0x10049679
push 0x8000
push 0
push dword [esp + 8]
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x1004bad0
mov esi, dword [sym.imp.kernel32.dll_VirtualFree]
xor ecx, ecx
mov edx, 0x1ff000
push 0x3000
call fcn.10050500
add esp, 4
test eax, eax
je 0x10049082
mov edi, eax
add edi, 0xfffff
and edi, 0xfff00000
push 0x8000
push 0
push eax
call esi
test eax, eax
je 0x1004baa3
mov ecx, edi
mov edx, 0x100000
push 0x3000
call fcn.10050500
add esp, 4
cmp eax, edi
jne 0x1004afcc
mov dword [esp], edi
test edi, edi
jne 0x10049679
jmp 0x10049985
mov ebx, dword [esp + 4]
and ebx, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
lea edx, [ecx + ebx]
mov dword [edi + 4], edx
test ebx, ebx
je 0x1004ba0b
mov edx, dword [ebx]
and edx, 0xfffffffe
or edx, ecx
mov dword [edi + 4], edx
mov dword [ebx], edi
mov ecx, dword [edi + 4]
and ecx, 1
mov edx, dword [ebx + 4]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebx + 4], edx
or byte [edi + 4], 1
cmp dword [eax], edi
jne 0x10049cb7
mov ecx, ebx
mov dword [eax], ebx
jmp 0x10049904
mov edi, dword [esp + 0xc]
and edi, 0xfffffffe
mov dword [ecx], edi
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
and edx, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea esi, [ecx + edx]
mov dword [eax + 4], esi
test edx, edx
je 0x1004ba1a
mov esi, dword [edx]
and esi, 0xfffffffe
or esi, ecx
mov dword [eax + 4], esi
mov dword [edx], eax
mov edi, dword [eax + 4]
and edi, 0xfffffffe
je 0x10049b76
mov ecx, dword [edi + 4]
test cl, 1
je 0x10049b76
mov esi, ecx
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov ecx, dword [eax + 4]
mov esi, ecx
or esi, 1
mov dword [eax + 4], esi
and ecx, 0xfffffffe
je 0x1004bb11
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x100485c0
lea esi, [esp + 0x58]
mov ecx, esi
call fcn.1003c3d0
mov esi, dword [esi]
jmp 0x10048f0e
mov eax, dword [esi + 4]
test eax, eax
je 0x1004ba29
test byte [eax + 8], 1
jne 0x1004a3f7
or ecx, 1
mov dword [esi + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10049af3
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1004aaaa
or byte [eax + 8], 1
mov ecx, dword [esi + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004bb02
mov edx, dword [eax + 4]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 8], ecx
mov dword [eax + 4], esi
jmp 0x1004a408
xor edx, edx
test esi, esi
je 0x10049b62
mov ecx, dword [esi + 8]
cmp ecx, 1
ja 0x1004ab9d
mov eax, dword [esi + 4]
test eax, eax
je 0x10049b62
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [esi + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
jmp 0x1004906b
mov dword [eax + 4], edi
jmp 0x100485c0
lock add dword [0x100a47dc], 0xfff00000
push 0x100a47bc
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push 0x100a47e0
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, 0x100a47e0
mov ecx, dword [0x100a4764]
mov edx, dword [esp + 8]
mov dword [edx], ecx
mov dword [0x100a4764], edx
jmp 0x10049643
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x6c]
mov edx, esi
call fcn.1003cc60
mov eax, dword [esp + 0x6c]
cmp dword [edi + 4], esi
jne 0x1004ba5b
mov dword [edi + 4], eax
mov esi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
jmp 0x10048ca6
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov esi, dword [edx]
test esi, esi
je 0x1004ba70
mov eax, dword [esi + 4]
and eax, 0xfffffffe
mov dword [edx], eax
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004ba85
mov edi, dword [eax]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [edx + 4], ecx
mov dword [eax], edx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10048f0e
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
jmp 0x10048d44
mov ecx, edi
and ecx, 0xfffffffe
mov edx, dword [ebx + 4]
and edx, 1
or edx, ecx
mov dword [ebx + 4], edx
jmp 0x1004950a
and ebx, 0xfffffffe
mov dword [eax], ebx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
and esi, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + esi]
mov dword [edx + 4], ecx
test esi, esi
je 0x1004ba94
mov ecx, dword [esi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 4], ecx
mov dword [esi], edx
mov eax, dword [edx + 4]
and eax, 0xfffffffe
je 0x10049caf
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1004ab6e
mov dword [edx + 4], eax
jmp 0x10048f0a
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
cmp edi, edx
jne 0x10049904
and ecx, 1
or ecx, ebx
mov dword [eax + 4], ecx
jmp 0x10049904
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, eax
call fcn.10001010
mov edx, dword [esi]
jmp 0x100485c4
mov dl, 1
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + 0x10]
mov dword [esp + 0x20], eax
add ecx, 0x18
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x2c], ecx
mov edx, dword [ecx]
mov esi, 0xfffff000
mov ebx, edx
and ebx, esi
and esi, dword [eax + 8]
xor edi, edi
dec edi
xor ecx, ecx
cmp ebx, esi
seta cl
cmovb ecx, edi
test ecx, ecx
je 0x1004a450
cmp ecx, 0xffffffff
jne 0x1004a2c1
mov edx, dword [eax]
test edx, edx
je 0x1004b942
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], 0
test cl, 1
je 0x1004a33a
mov edi, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, edx
mov edx, dword [edi]
mov ebx, edx
mov ecx, 0xfffff000
and ebx, ecx
mov esi, dword [eax + 8]
and esi, ecx
xor ecx, ecx
cmp ebx, esi
seta cl
mov esi, 0xffffffff
cmovb ecx, esi
test ecx, ecx
je 0x10049dae
cmp ecx, 0xffffffff
jne 0x10049dfe
mov edx, dword [eax]
test edx, edx
je 0x1004a956
mov ecx, dword [edx + 4]
test cl, 1
jne 0x10049d60
mov esi, dword [edx]
test esi, esi
je 0x10049dc8
test byte [esi + 4], 1
jne 0x10049d60
jmp 0x10049dc8
test dl, 0x10
mov edx, 0
cmove edx, dword [esp + 0x20]
xor ecx, ecx
cmp edx, eax
seta dl
jb 0x10049d8e
mov cl, dl
jmp 0x10049d89
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004b290
mov edx, dword [ecx]
test edx, edx
jne 0x10049ed3
jmp 0x10049edf
mov esi, dword [esp + 8]
cmp dword [esi], eax
jne 0x1004b9f6
mov dword [esi], edx
jmp 0x10049d64
test ecx, ecx
je 0x10049ebe
mov edi, dword [eax + 4]
mov ebx, dword [esp + 8]
mov edx, edi
and edx, 0xfffffffe
je 0x10049e24
mov ecx, dword [edx]
test ecx, ecx
je 0x10049e24
test byte [ecx + 4], 1
jne 0x10049d5c
mov ecx, dword [eax]
test ecx, ecx
je 0x1004b8a4
mov edx, dword [ecx + 4]
test dl, 1
je 0x1004a416
and edx, 0xfffffffe
je 0x1004b3e0
mov esi, dword [edx]
test esi, esi
je 0x10049e53
test byte [esi + 4], 1
jne 0x1004aa36
and edi, 1
or edi, edx
mov dword [ecx + 4], edi
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1004b871
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
je 0x1004b886
mov esi, dword [ecx]
and esi, 0xfffffffe
and edi, 1
or edi, esi
mov dword [eax + 4], edi
mov dword [ecx], eax
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
or byte [eax + 4], 1
cmp dword [ebx], eax
jne 0x1004a54b
mov dword [ebx], edx
mov eax, ebx
jmp 0x10049d5c
mov edi, dword [eax + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x24], ebx
cmp edi, 1
jbe 0x10049ef6
jmp 0x10049e0d
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1004a8e9
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
jmp 0x10049deb
mov ecx, dword [eax]
test ecx, ecx
je 0x10049f27
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov esi, dword [ecx + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
mov esi, dword [eax + 4]
and esi, 1
or esi, edx
mov dword [ecx + 4], esi
or byte [eax + 4], 1
and dword [ecx + 4], 1
cmp dword [ebx], eax
mov esi, dword [esp + 0x28]
jne 0x1004a3e4
mov dword [ebx], ecx
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x48]
shr edi, 0xc
mov dword [esi], edx
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
cmp edi, eax
jne 0x1004a037
test al, al
je 0x10049fa6
mov edx, eax
mov eax, dword [esp + 4]
or eax, 1
xor ecx, ecx
inc ecx
cmp edx, 2
cmovae ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x30]
lea edx, [edx + edx*2]
mov esi, dword [esp + 0xc]
lea edx, [esi + edx*4]
add edx, 0x18
xor esi, esi
test byte [edx + esi], 8
je 0x10049f9c
mov edi, dword [esp + 0xc]
dec dword [edi + 0xc]
mov edi, dword [esp + 0x10]
dec dword [edi + 0x48]
mov dword [edx + esi], eax
add esi, 0xc
cmp ecx, esi
jne 0x10049f88
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xc], 0
jne 0x1004a224
cmp dword [esp + 0x44], 0
mov eax, dword [esp + 0x3c]
je 0x1004a228
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 0
xor esi, esi
dec esi
xor eax, eax
cmp edx, ecx
setb al
cmova eax, esi
cmp eax, 0xffffffff
je 0x1004a6b2
test eax, eax
je 0x1004ac10
test edx, edx
je 0x1004b438
mov ebx, edx
mov ecx, dword [edx + 8]
mov dword [esp + 0x18], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x1004abba
mov edx, dword [eax + 4]
test edx, edx
je 0x1004abba
test byte [edx + 8], 1
je 0x1004abba
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
mov edx, ebx
jmp 0x1004a6de
mov edx, dword [esp + 0x30]
lea ecx, [edx + edi]
sub edi, eax
shl edi, 0xc
add eax, edx
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0xc]
mov dword [esp + 8], eax
lea eax, [ebx + eax*4]
add eax, 0x10
mov edx, 0xfff
mov esi, dword [eax + 8]
and esi, edx
or esi, edi
mov dword [esp + 0x20], eax
mov dword [eax + 8], esi
lea ecx, [ecx + ecx*2]
and edx, dword [ebx + ecx*4 + 0xc]
or edx, edi
mov dword [ebx + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x1004a843
mov eax, dword [esp + 8]
lea eax, [ebx + eax*4]
add eax, 0x18
mov dword [esp + 8], eax
lea ebx, [esp + 0x70]
xor edi, edi
mov edx, edi
mov edi, ebx
mov ebx, dword [ecx]
test ebx, ebx
je 0x1004a0c1
mov eax, dword [ebx + 4]
test al, 1
je 0x1004a0c1
mov esi, dword [ebx]
test esi, esi
je 0x1004a0c1
test byte [esi + 4], 1
jne 0x1004a116
mov ebx, ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, ecx
mov edx, 0xfffff000
and eax, edx
mov esi, dword [ebx + 8]
and esi, edx
xor edx, edx
cmp eax, esi
seta dl
mov eax, 0xffffffff
cmovb edx, eax
cmp edx, 0xffffffff
je 0x1004a108
xor eax, eax
inc eax
test edx, edx
jne 0x1004a14a
test cl, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, ebx
seta cl
jae 0x1004a148
mov ecx, dword [ebx]
xor eax, eax
dec eax
test ecx, ecx
jne 0x1004a0a4
jmp 0x1004a1e9
mov dword [esp + 0x2c], edx
and eax, 0xfffffffe
mov dword [ecx], eax
mov esi, ecx
and esi, 0xfffffffe
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
and edx, 1
or edx, esi
mov dword [ebx + 4], edx
test eax, eax
je 0x1004b784
and byte [eax + 4], 0xfe
cmp dword [edi], ecx
jne 0x1004a152
mov dword [edi], ebx
jmp 0x1004a0c3
mov al, cl
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x1004a10d
and ebx, 0xfffffffe
mov eax, dword [edi + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [edi + 4], ecx
test ebx, ebx
je 0x1004b793
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov dword [ebx], edi
mov eax, dword [edi + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [edi + 4], 1
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x1004b429
cmp dword [ecx], edi
je 0x1004a94f
jmp 0x1004a9be
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 0x1004a832
jmp 0x1004ab17
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov edi, ebx
test ecx, ecx
mov edx, dword [esp + 0x2c]
jne 0x1004a0a8
mov edi, edx
mov ecx, dword [esp + 0x20]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1004a391
mov dword [ebx], ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1004b9d0
and byte [eax + 4], 0xfe
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
jmp 0x10049f59
mov eax, dword [esp + 0x3c]
test al, 1
mov edi, dword [esp]
mov edx, dword [esp + 4]
je 0x1004a821
test edx, edx
je 0x1004a821
cmp dword [edi], edx
je 0x1004bfe0
mov dword [edx], edi
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
cmp dword [ebx + ecx + 0x6c], 1
mov edi, 0
je 0x1004a27a
mov ecx, dword [esp + 0x1c]
add ecx, ebx
add ecx, 0x6c
xor edi, edi
mov dword [edx + edi*4 + 0xc], 0xffffffff
inc edi
mov esi, dword [ecx]
dec esi
cmp edi, esi
jb 0x1004a26a
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ebx + ecx + 0x68]
and ebx, 0x1f
mov ecx, ebx
neg cl
xor esi, esi
dec esi
shr esi, cl
cmp ebx, 1
sbb eax, eax
or eax, esi
mov ecx, dword [esp + 0x10]
mov dword [edx + edi*4 + 0xc], eax
mov dword [edx + 4], 0
mov esi, dword [esp + 0x1c]
mov eax, dword [ecx + esi + 0x68]
mov dword [edx + 8], eax
inc dword [ecx + esi + 0x74]
mov eax, dword [esp]
mov dword [eax], edx
mov ebx, dword [esp + 0x14]
jmp 0x10048367
test ecx, ecx
je 0x1004a5dd
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], 0
mov edx, ecx
and edx, 0xfffffffe
je 0x1004a2eb
mov esi, dword [edx]
test esi, esi
je 0x1004a2eb
test byte [esi + 4], 1
jne 0x10049d5c
mov edx, dword [eax]
test edx, edx
je 0x1004b447
test byte [edx + 4], 1
jne 0x1004aba6
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edx]
test ecx, ecx
je 0x1004a317
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1004acea
or byte [edx + 4], 1
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004bb44
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x1004a386
mov esi, dword [edx]
test esi, esi
je 0x1004a34a
test byte [esi + 4], 1
jne 0x10049d5c
or ecx, 1
mov dword [edx + 4], ecx
mov esi, dword [eax + 4]
mov ecx, esi
and ecx, 0xfffffffe
je 0x1004b35c
mov edx, dword [ecx]
test edx, edx
je 0x1004a370
mov ebx, dword [edx + 4]
test bl, 1
jne 0x1004ad58
or esi, 1
mov dword [eax + 4], esi
mov edx, dword [ecx]
or edx, 1
mov dword [eax + 4], edx
mov dword [ecx], eax
mov edx, ecx
and byte [edx + 4], 0xfe
lea eax, [esp + 0x70]
mov dword [eax], edx
jmp 0x10049d5c
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0x20]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x20]
or byte [ebx + 4], 1
cmp dword [edi], ebx
jne 0x1004a662
mov dword [edi], eax
jmp 0x1004a205
and ecx, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
jmp 0x10049f35
lea ecx, [esp + 0x58]
mov edx, esi
call fcn.1003cd70
lea eax, [esp + 0x58]
mov eax, dword [eax]
mov edx, edi
lea esi, [esp + 0x70]
mov dword [esi + 4], eax
jmp 0x10048c9e
or edx, 1
mov dword [ecx + 4], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x1004a42e
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1004a890
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004b8b3
mov esi, dword [edx]
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x10049ead
xor esi, esi
test dl, 0x10
cmove esi, dword [esp + 0x20]
xor ecx, ecx
cmp esi, eax
seta dl
jb 0x10049d3e
mov cl, dl
jmp 0x10049d35
xor edx, edx
inc edx
cmp ecx, 0xffffffff
mov esi, dword [esp + 0x10]
jne 0x100498d2
jmp 0x1004aaa0
mov dword [edi + 4], eax
jmp 0x10048d44
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov ecx, dword [edi + 4]
mov edx, ecx
or edx, 1
mov dword [edi + 4], edx
and ecx, 0xfffffffe
je 0x1004b48f
mov edx, dword [ecx]
or edx, 1
mov dword [edi + 4], edx
mov dword [ecx], edi
mov dword [esi], ecx
jmp 0x10048a5d
mov eax, dword [esp]
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 1
lea edi, [esp + 0x70]
jmp 0x10049902
mov edx, dword [edx + 0x3c]
test edx, edx
jne 0x1004a85d
lea eax, [esp + 0x70]
mov ecx, 0x100000
mov edx, 0x100000
push eax
push 0
call fcn.10050150
add esp, 8
test eax, eax
je 0x1004a821
mov esi, eax
movzx eax, byte [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov edx, esi
push eax
call fcn.10050070
add esp, 4
add esi, 0x2000
jmp 0x10049283
mov eax, dword [esp + 0x24]
shl eax, 0xc
mov edx, eax
and edx, 0xff000
mov dword [esp + 0x24], edx
mov edx, 0x100000
sub edx, dword [esp + 0x24]
cmp edx, ecx
cmovae edx, ecx
add eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
jmp 0x10049352
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 0x10049d5c
mov dword [ebx], edi
jmp 0x100498a2
lea ecx, [esp + 0x70]
mov dword [esp + 0x28], ecx
jmp 0x10048e52
mov eax, dword [ebx + 4]
and eax, 1
or eax, edi
mov dword [ebx + 4], eax
jmp 0x100498a2
mov esi, ecx
and esi, 0xfffffffe
mov dword [edi + 4], esi
mov edx, dword [eax]
test edx, edx
je 0x1004bb20
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 0x1004bb35
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 0x100485c4
mov ecx, dword [eax + 4]
cmp ecx, 1
ja 0x1004ae27
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov esi, dword [esp + 0x28]
je 0x10049f39
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 + 0x28]
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x10049f39
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 edi, dword [esp]
or byte [eax + 4], 1
and dword [ecx + 4], 1
jmp 0x10048d7a
mov eax, dword [edi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp ebx, ecx
jne 0x1004a205
and eax, 1
or eax, dword [esp + 0x20]
mov dword [edi + 4], eax
jmp 0x1004a205
lea edx, [esp + 0x70]
mov dword [esp + 4], edx
jmp 0x10048f4a
test al, 0x10
mov eax, 0
cmove eax, dword [esp + 4]
xor edx, edx
cmp eax, edi
seta al
mov esi, dword [esp + 0x10]
jb 0x1004aaa0
mov dl, al
jmp 0x100498d2
test edx, edx
je 0x1004ab48
mov eax, dword [edx + 4]
test eax, eax
je 0x1004ab48
mov dword [esp + 0x18], 0
test byte [eax + 8], 1
je 0x1004ab37
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
xor ecx, ecx
dec ecx
mov dword [esp + 8], edx
mov edx, eax
xor eax, eax
cmp edx, esi
setb al
cmova eax, ecx
cmp eax, 0xffffffff
jne 0x1004a72e
test edx, edx
je 0x1004ae34
mov eax, dword [edx + 4]
test eax, eax
je 0x1004ae34
test byte [eax + 8], 1
jne 0x1004a6e1
mov esi, dword [eax + 4]
test esi, esi
je 0x1004acb6
test byte [esi + 8], 1
je 0x1004acb6
mov dword [esp + 8], edx
mov esi, dword [esp + 0xc]
jmp 0x1004a6e5
test eax, eax
jne 0x1004a74e
xor esi, esi
test edx, edx
je 0x1004a7df
mov eax, dword [edx + 8]
mov ebx, dword [esp + 8]
mov dword [esp + 0x18], ebx
cmp eax, 1
jbe 0x1004a7a6
jmp 0x1004a755
test edx, edx
je 0x1004a76f
mov eax, dword [edx + 8]
and eax, 0xfffffffe
je 0x1004a76f
mov esi, dword [eax + 4]
test esi, esi
je 0x1004a76f
test byte [esi + 8], 1
mov esi, dword [esp + 0xc]
jne 0x1004a6e1
lea ecx, [esp + 0x68]
mov esi, edx
call fcn.1003cd70
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 8]
cmp dword [ecx + 4], esi
je 0x1004adf2
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
mov edx, esi
jmp 0x1004a6d7
mov eax, dword [edx + 4]
test eax, eax
je 0x1004a7df
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [edx + 4], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov ebx, edx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, ebx
or byte [ebx + 8], 1
and dword [eax + 8], 1
mov esi, eax
mov ebx, dword [esp + 8]
cmp dword [ebx + 4], edx
jne 0x1004a93c
mov dword [ebx + 4], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x38], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x1004bae4
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov edx, dword [esp + 4]
test edx, edx
setne al
test byte [esp + 0x3c], al
jne 0x1004a23f
mov dword [edi], 0
mov bl, 1
mov eax, dword [esp + 0x10]
jmp 0x100483d3
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x1004a1d3
jmp 0x1004ac6e
mov ecx, dword [esp + 0x20]
mov dword [ecx], 0
mov dword [ecx + 4], 1
lea ebx, [esp + 0x70]
jmp 0x1004a203
mov eax, dword [esp + 0x10]
mov dword [eax + 0x3c], 0
lea esi, [edx + 0x2000]
add edx, 0x28
mov ecx, dword [esp + 0x28]
call fcn.100505c0
jmp 0x10049283
xor edx, edx
jmp 0x100493db
mov edi, 1
jmp 0x100482a7
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1004b8c2
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 0x1004b8d7
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 ebx, dword [esp + 8]
jmp 0x10049ead
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 0x1004b742
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 0x1004a930
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1004adf8
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x2c]
jmp 0x10049deb
and esi, 0xfffffffe
mov eax, dword [ebx + 8]
and eax, 1
or eax, esi
mov dword [ebx + 8], eax
jmp 0x1004a7ef
mov dword [ecx], ebx
jmp 0x1004a1a3
cmp dword [esp + 0x24], 0
je 0x1004bb53
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
cmp dword [edx], ecx
jne 0x1004ad3f
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
mov esi, dword [esp + 0x20]
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 0x1004bb62
mov eax, dword [esp + 8]
mov dword [eax], 0
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x28]
jmp 0x10049f39
mov eax, dword [ecx + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
jmp 0x1004a1a3
test edx, edx
je 0x1004bb6f
mov ecx, edx
mov eax, dword [esp + 0x14]
cmp dword [edx + 4], eax
jne 0x1004addb
mov dword [ecx + 4], esi
cmp dword [esp + 0x14], 0
je 0x1004bb8a
test esi, esi
je 0x1004bba0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
and eax, 0xfffffffe
mov ecx, dword [esi + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
cmp dword [edi + 4], esi
jne 0x1004bbaf
mov dword [edi + 4], 0
jmp 0x10049050
and edi, 1
mov ebx, dword [edx + 4]
and ebx, 0xfffffffe
or ebx, edi
mov dword [edx + 4], ebx
and byte [esi + 4], 0xfe
mov esi, dword [ecx + 4]
mov edx, esi
and edx, 0xfffffffe
je 0x1004b895
mov edi, dword [edx]
and edi, 0xfffffffe
and esi, 1
or esi, edi
mov dword [ecx + 4], esi
mov dword [edx], ecx
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [edx + 4]
and esi, 1
or esi, ecx
mov dword [edx + 4], esi
mov edi, dword [eax + 4]
mov ecx, edi
and ecx, 0xfffffffe
mov ebx, dword [esp + 8]
jne 0x10049e8f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov ecx, dword [edi]
xor edx, edx
dec edx
jmp 0x100498d8
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [esi + 4]
test eax, eax
je 0x1004bbb8
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [esi + 4], ecx
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esi + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004bbce
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
and dword [esp + 0x1c], 0xfffffffe
and edx, 1
add edx, dword [esp + 0x1c]
mov dword [esi + 8], edx
mov ecx, dword [esp + 8]
mov dword [ecx + 4], esi
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x1004a408
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, ebx
seta cl
jb 0x1004ac6e
mov al, cl
jmp 0x1004a1d3
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004ab48
test byte [ecx + 8], 1
jne 0x1004a6d7
lea esi, [esp + 0x58]
mov ecx, esi
call fcn.1003cc60
mov eax, dword [esi]
test eax, eax
je 0x1004bc57
and byte [eax + 8], 0xfe
mov dword [esp + 0x18], 0
jmp 0x1004adcf
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 0x1004bbdd
mov ecx, dword [eax]
or ecx, 1
mov edx, dword [esp + 4]
mov dword [edx + 4], ecx
mov dword [eax], edx
mov dword [esi], eax
jmp 0x10048f0a
lea edi, [esp + 0x70]
jmp 0x10048c7c
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, eax
call fcn.1003c3d0
mov edx, dword [esi]
jmp 0x1004a386
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004bbec
test byte [eax + 8], 1
jne 0x1004adc0
or ecx, 1
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1004abe8
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1004aeb4
or byte [eax + 8], 1
mov ecx, dword [ebx + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1004bc66
mov edx, dword [eax + 4]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 8], ecx
mov dword [eax + 4], ebx
jmp 0x1004adcf
mov eax, edx
xor edx, edx
test eax, eax
je 0x1004ac5b
mov ebx, eax
mov ecx, dword [eax + 8]
cmp ecx, 1
ja 0x1004af3a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ac5b
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [ebx + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x38], edx
mov edi, dword [esp]
mov ecx, dword [esp + 0xc]
jmp 0x1004a806
mov ecx, dword [ebx]
xor eax, eax
dec eax
jmp 0x1004a1d9
mov esi, dword [0x100a4744]
mov eax, dword [0x100a43c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1004bc01
mov eax, dword [0x100a43c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [eax + 0xc], esi
jmp 0x100482f6
lea ecx, [esp + 0x6c]
mov esi, edx
call fcn.1003cc60
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 8]
cmp dword [ecx + 4], esi
jne 0x1004bc0b
mov ecx, dword [esp + 8]
mov dword [ecx + 4], eax
mov edx, eax
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
xor ecx, ecx
dec ecx
jmp 0x1004a6e7
and ebx, 0xfffffffe
mov dword [ecx + 4], ebx
mov edx, dword [eax]
test edx, edx
je 0x1004bc24
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 0x1004bc39
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 0x1004a386
mov ecx, eax
and ecx, 0xfffffffe
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x1004a977
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 0x1004bc48
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 0x1004ad9f
mov ebx, dword [ecx + 4]
test bl, 1
jne 0x1004af0f
mov dword [eax + 4], ecx
jmp 0x1004a382
mov ecx, esi
push 0
push 0x100000
call fcn.100023d0
add esp, 8
mov dword [esp], eax
jmp 0x100483eb
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, ebx
call fcn.1003cd70
mov eax, dword [esi]
lea edx, [esp + 0x70]
mov dword [edx + 4], eax
jmp 0x1004a6d7
mov eax, esi
and eax, 0xfffffffe
mov edx, ecx
mov ecx, dword [ecx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1004a9e8
mov edx, dword [esp + 8]
jmp 0x1004add3
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 0x1004b733
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
mov edi, dword [esp + 0x2c]
jmp 0x10049deb
lea edx, [esp + 0x70]
mov dword [esp + 0x24], edx
jmp 0x1004a2d4
cmp dword [esp + 0x18], 0
je 0x1004bc75
mov esi, edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], eax
jne 0x1004afdb
mov eax, dword [esp + 0x18]
mov dword [eax + 4], esi
cmp dword [esp + 0xc], 0
je 0x1004bc90
test esi, esi
je 0x1004bca8
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 4]
mov edi, esi
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
and eax, 0xfffffffe
mov ecx, dword [esi + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [esp + 8]
cmp dword [eax + 4], esi
jne 0x1004bcb7
mov eax, dword [esp + 8]
mov dword [eax + 4], 0
mov edi, dword [esp]
jmp 0x1004a7ef
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004bcc4
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1004bcda
mov edi, ebx
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 0x1004adcf
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 0x1004bce9
mov esi, dword [ecx]
or esi, 1
mov dword [eax + 4], esi
mov dword [ecx], eax
mov dword [edx], ecx
jmp 0x1004a382
lea eax, [esp + 0x70]
mov dword [esp + 0x18], eax
jmp 0x1004a009
mov dword [esp + 0x14], ebx
mov ebx, esi
mov byte [esi + 0x40], 0
lea eax, [esp + 0x70]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea esi, [esp + 0x58]
push esi
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
mov ecx, 0x10
call fcn.100123e0
xor edx, edx
cmp byte [esi + 8], 0
mov ecx, 0
mov esi, 0
je 0x1004af8f
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp byte [esp + 0x78], 0
mov edi, 0
je 0x1004afa3
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov esi, ebx
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x40], 1
mov ebx, dword [esp + 0x14]
jmp 0x1004832e
mov dword [esp], 0
jmp 0x10048e29
test eax, eax
jne 0x1004bcf8
xor edi, edi
jmp 0x100499dd
mov eax, esi
and eax, 0xfffffffe
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
jmp 0x1004ae59
or edx, 1
mov dword [edi + 4], edx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
mov dword [esp + 0x10], esi
push 0x100a4814
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
cmp dword [0x100a4810], 0
jne 0x1004b224
mov eax, dword [0x100a43c8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1004bd70
mov eax, dword [0x100a481c]
mov ecx, dword [0x100a43c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x1004b09a
push 0x100a481c
call fcn.1004f9c2
add esp, 4
cmp dword [0x100a481c], 0xffffffff
jne 0x1004b09a
lea esi, [esp + 0x70]
push esi
call dword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [esi + 4]
mov dword [0x100a4818], eax
push 0x100a481c
call fcn.1004f9c2
add esp, 4
mov eax, 0x1000
xor edx, edx
div dword [0x100a4818]
test edx, edx
jne 0x1004bd7a
mov edi, 0x100a4820
push 0x40
push edi
push str.MALLOC_OPTIONS
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableA]
test eax, eax
cmove edi, eax
je 0x1004b105
mov al, byte [edi]
test al, al
je 0x1004b105
xor ebx, ebx
movsx eax, al
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1004bdad
xor esi, esi
inc esi
mov al, byte [edi + ebx]
movsx ecx, al
cmp ecx, 0x72
jne 0x1004bd22
mov byte [0x100a4778], 1
dec esi
jne 0x1004b0e3
mov al, byte [edi + ebx + 1]
inc ebx
test al, al
jne 0x1004b0d1
xor ebx, ebx
mov dword [0x100a47dc], ebx
mov edi, 0x1388
mov esi, dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
push edi
push 0x100a47bc
call esi
mov dword [0x100a47d4], ebx
mov dword [0x100a47d8], ebx
push edi
push 0x100a477c
call esi
mov dword [0x100a4794], ebx
mov dword [0x100a4798], ebx
mov dword [0x100a479c], ebx
push edi
push 0x100a47e0
call esi
mov dword [0x100a480c], ebx
mov dword [0x100a4804], ebx
mov dword [0x100a474c], ebx
mov dword [0x100a4750], ebx
mov dword [0x100a4754], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov eax, dword [0x100a4024]
mov dword [esp + 0x70], eax
push edi
push 0x100a472c
call esi
test eax, eax
je 0x1004bd4a
lea edx, [esp + 0x70]
xor ecx, ecx
call fcn.10040920
mov dword [0x100a4744], eax
test eax, eax
je 0x1004bd60
mov ecx, dword [0x100a43c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 8], 0
je 0x1004bd9e
mov ecx, dword [0x100a43c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 0xc], eax
push 0x1388
push 0x100a47a0
call dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x4000
call fcn.100123e0
test eax, eax
je 0x1004bd56
mov esi, eax
push 0x4000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x100a47b8], esi
xor eax, eax
inc eax
xchg dword [0x100a4810], eax
call fcn.10001250
push 0x100a4814
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x10]
jmp 0x1004829a
or ecx, 1
mov dword [edx + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
and edi, 1
mov dword [ecx + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
xor esi, esi
jmp 0x10048a18
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004bdf1
cmp eax, 8
je 0x1004bdf1
xor eax, eax
jmp 0x100487e5
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004b2e8
cmp eax, 8
jne 0x10049934
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea edi, [eax + eax*4]
add edi, 5
mov ebx, dword [sym.imp.kernel32.dll_Sleep]
push 0x32
call ebx
push 4
push 0x1000
push 0x100000
push dword [esp + 0xc]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 8], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 8], 0
jne 0x1004bed6
cmp eax, 0x5af
je 0x1004b33f
cmp eax, 8
jne 0x10049934
dec edi
jne 0x1004b300
jmp 0x10049934
or eax, 1
mov dword [edx + 4], eax
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
or esi, 1
mov dword [eax + 4], esi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004b387
cmp eax, 8
jne 0x10049082
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea edi, [eax + eax*4]
add edi, 5
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
sub esp, 0x10
movaps xmm0, xmmword [0x10092150]
movups xmmword [esp], xmm0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov ebx, eax
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp], ebx
test ebx, ebx
jne 0x1004bf55
cmp eax, 0x5af
je 0x1004b3d8
cmp eax, 8
jne 0x10049082
dec edi
jne 0x1004b399
jmp 0x10049082
and edi, 1
mov dword [ecx + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x5af
je 0x1004bef5
cmp eax, 8
je 0x1004bef5
xor eax, eax
mov esi, dword [esp + 0x34]
jmp 0x100493a4
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
xor esi, esi
jmp 0x1004828d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_result_
int3
call fcn.1004eb54
jmp 0x100482d7
mov edx, esi
mov edx, dword [esi + 4]
and edx, 0xfffffffe
jmp 0x10048441
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov eax, dword [esp + 4]
dec dword [eax + 8]
mov bl, 1
mov dword [esp], 0
mov eax, dword [esp + 0x10]
jmp 0x100483d3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [ebx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [edi], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 8], ecx
test ecx, ecx
je 0x100490b5
xor esi, esi
mov dword [eax + 0x3c], esi
mov eax, dword [esp + 8]
lea edi, [eax + 0x2000]
add eax, 0x28
lea ecx, [esp + 0x70]
mov edx, dword [esp + 4]
mov dword [ecx], edx
mov dword [esp], 0
mov dword [ecx + 4], esi
mov edx, dword [esp]
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x1004b59c
mov edx, dword [ecx + 4]
test dl, 1
je 0x1004b59c
mov ebx, dword [ecx]
test ebx, ebx
je 0x1004b59c
test byte [ebx + 4], 1
jne 0x1004b5ff
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [edx + 0x30]
mov dword [esp + 4], ebx
mov edx, 0xfffff000
and ebx, edx
mov esi, dword [ecx + 8]
and esi, edx
xor edx, edx
cmp ebx, esi
seta dl
mov esi, 0xffffffff
cmovb edx, esi
cmp edx, 0xffffffff
je 0x1004b5e6
xor esi, esi
inc esi
test edx, edx
jne 0x1004b63f
test byte [esp + 4], 0x10
mov edx, 0
cmove edx, eax
cmp edx, ecx
seta dl
jae 0x1004b639
mov edx, dword [ecx]
mov dword [esp + 4], edx
xor esi, esi
dec esi
cmp dword [esp + 4], 0
jne 0x1004b574
jmp 0x1004b6f9
and edx, 0xfffffffe
mov ebx, dword [esp + 4]
mov dword [ebx], edx
and ebx, 0xfffffffe
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
and esi, 1
or esi, ebx
mov dword [ecx + 4], esi
test edx, edx
je 0x1004bf94
and byte [edx + 4], 0xfe
mov edx, dword [esp + 4]
mov esi, dword [esp]
cmp dword [esi], edx
jne 0x1004b64b
mov edx, dword [esp]
mov dword [edx], ecx
jmp 0x1004b5a0
xor ebx, ebx
mov bl, dl
mov esi, ebx
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [esp + 4], edx
jmp 0x1004b5ef
and ecx, 0xfffffffe
mov ebx, dword [esp]
mov edx, dword [ebx + 4]
and edx, 1
lea esi, [edx + ecx]
mov dword [ebx + 4], esi
test ecx, ecx
je 0x1004bfa3
mov esi, dword [ecx]
and esi, 0xfffffffe
or esi, edx
mov ebx, dword [esp]
mov dword [ebx + 4], esi
mov dword [ecx], ebx
mov edx, dword [ebx + 4]
and edx, 1
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
or esi, edx
mov dword [ecx + 4], esi
or byte [ebx + 4], 1
cmp dword [esp + 0x14], 0
je 0x1004bec7
mov edx, dword [esp]
mov esi, dword [esp + 0x14]
cmp dword [esi], edx
je 0x1004b90b
jmp 0x1004b92e
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x30]
mov dword [esp], edx
mov ebx, 0xfffff000
and edx, ebx
mov esi, dword [ecx + 8]
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
test ebx, ebx
jne 0x1004b860
jmp 0x1004b9b2
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [esp + 4], edx
mov dword [esp], ecx
cmp dword [esp + 4], 0
jne 0x1004b57e
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov edx, dword [esp + 8]
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 1
cmp esi, 1
je 0x1004b7a2
mov esi, dword [esp + 0x10]
jmp 0x10049408
mov eax, esi
jmp 0x100486a7
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov ecx, esi
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
jmp 0x100489c3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
and eax, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
lea esi, [edx + eax]
mov dword [ecx + 4], esi
test eax, eax
je 0x1004bfb2
mov esi, dword [eax]
and esi, 0xfffffffe
or esi, edx
mov dword [ecx + 4], esi
mov dword [eax], ecx
mov edx, dword [ecx + 4]
and edx, 1
mov esi, dword [eax + 4]
and esi, 0xfffffffe
or esi, edx
mov dword [eax + 4], esi
or byte [ecx + 4], 1
mov edx, dword [esp]
cmp dword [edx], ecx
jne 0x1004b813
mov ecx, dword [esp]
mov dword [ecx], eax
mov esi, dword [esp + 0x10]
jmp 0x1004940a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov edx, dword [esp]
mov edx, dword [edx + 4]
mov esi, edx
and esi, 0xfffffffe
cmp ecx, esi
jne 0x1004b7e6
and edx, 1
or edx, eax
mov eax, dword [esp]
mov dword [eax + 4], edx
jmp 0x1004b7e6
push 0x100a47a0
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [esp]
mov edx, 0x100000
push 0
call fcn.10005780
add esp, 4
jmp 0x10049082
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
xor esi, esi
inc esi
cmp ebx, 0xffffffff
jne 0x1004b6da
jmp 0x1004ba3e
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov eax, ecx
jmp 0x10049262
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
jmp 0x1004b6a8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
and dword [eax + 4], 1
jmp 0x10048bad
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
jmp 0x1004b6a8
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov esi, dword [esp + 8]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.100018b0
mov ecx, 0x100a47d8
mov edx, esi
call fcn.10001630
test edi, edi
je 0x10049633
push 0x100a47bc
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call fcn.10054150
test eax, eax
je 0x1004bab7
mov esi, eax
push 0x100a47bc
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
jmp 0x1004960b
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
test byte [esp], 0x10
mov edx, 0
cmove edx, eax
cmp edx, ecx
seta dl
jb 0x1004ba3e
xor ebx, ebx
mov bl, dl
mov esi, ebx
jmp 0x1004b6da
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
cmp edx, 1
jne 0x1004b9ef
mov eax, dword [eax + 4]
and eax, 0xfffffffe
jmp 0x100490ec
mov ebx, eax
jmp 0x100495b6
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
jmp 0x10049d64
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
or ecx, 1
mov dword [esi + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov edx, dword [ecx]
mov dword [esp + 4], edx
xor esi, esi
dec esi
jmp 0x1004b6e4
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [edi + 8]
and edx, 1
or edx, ecx
mov dword [edi + 8], edx
jmp 0x10049bda
mov dword [edx], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054100
jmp 0x100499c1
mov ecx, dword [esp]
mov edx, 0x100000
push dword [esp + 0x14]
call fcn.10005780
add esp, 4
jmp 0x10049934
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054100
jmp 0x1004997f
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov eax, dword [esp + 8]
and dword [eax + 4], 1
jmp 0x1004a9b1
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test esi, esi
je 0x1004bba0
mov dword [esi + 4], 0
and dword [esi + 8], 1
xor ecx, ecx
jmp 0x1004aa1e
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
and dword [edi + 8], 1
jmp 0x10049050
mov dword [esi + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
or ecx, 1
mov dword [ebx + 8], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
call fcn.1004eb54
jmp 0x1004ac9a
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 0x1004acd9
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
test esi, esi
je 0x1004bca8
mov eax, esi
mov dword [esi + 4], 0
and dword [esi + 8], 1
xor ecx, ecx
jmp 0x1004ae91
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov eax, dword [esp + 8]
and dword [eax + 8], 1
jmp 0x1004aeac
mov dword [ebx + 4], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
push 0x8000
push 0
push eax
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
jne 0x1004afd4
mov ecx, str._jemalloc_
mov edx, str.:__malloc__Error_in_VirtualFree___n
call fcn.10054100
jmp 0x1004afd4
cmp ecx, 0x46
jne 0x1004bdd0
mov eax, dword [0x100a4024]
test eax, eax
je 0x1004be4f
add eax, eax
je 0x1004b0f9
mov dword [0x100a4024], eax
jmp 0x1004b0f9
mov dword [0x100a4744], 0
jmp 0x1004bd60
mov dword [0x100a47b8], 0
push 0x100a4814
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x10049090
call fcn.1004eb54
jmp 0x1004b047
mov ecx, str._jemalloc_
mov edx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.10054100
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
call fcn.1004eb54
mov eax, dword [0x100a4744]
jmp 0x1004b1c6
xor esi, esi
lea ecx, [esi + esi*4]
lea esi, [eax + ecx*2]
movsx eax, byte [edi + ebx + 1]
inc ebx
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1004bdaf
test esi, esi
je 0x1004b0fc
jmp 0x1004b0e3
cmp ecx, 0x52
jne 0x1004bde1
mov byte [0x100a4778], 0
jmp 0x1004b0f9
cmp ecx, 0x66
jne 0x1004be5e
shr dword [0x100a4024], 1
jmp 0x1004b0f9
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 + 0x34], eax
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x30]
push ebx
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [esp + 0x40], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp dword [esp + 0x40], 0
jne 0x1004bea7
cmp eax, 0x5af
je 0x1004be42
cmp eax, 8
jne 0x1004b289
xor eax, eax
dec dword [esp + 0x34]
jne 0x1004be07
jmp 0x100487e5
mov dword [0x100a4024], 1
jmp 0x1004b0f9
lea ecx, [esp + 0x70]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov eax, 2
push 0xa
push str._jemalloc_
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
add esp, 0xc
push 0x35
push str.:__malloc__Unsupported_character_in_malloc_options:_
mov eax, 2
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
add esp, 0xc
lea ecx, [esp + 0x70]
mov edx, 0x1009a0a1
call fcn.10054100
jmp 0x1004b0f9
cmp eax, 0x5af
mov ecx, dword [esp + 0x44]
je 0x1004bebb
cmp eax, 8
jne 0x100487c9
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x100487c9
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
cmp eax, 0x5af
mov edi, dword [esp]
je 0x1004bee9
cmp eax, 8
jne 0x10049671
push esi
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10049671
xor eax, eax
cmp dword [sym.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType], 0
sete al
lea eax, [eax + eax*4]
add eax, 5
mov dword [esp + 0x4c], eax
push 0x32
call dword [sym.imp.kernel32.dll_Sleep]
push 4
push 0x1000
push dword [esp + 0x48]
push dword [esp + 0x30]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov esi, eax
call dword [sym.imp.kernel32.dll_GetLastError]
test esi, esi
jne 0x1004bf70
cmp eax, 0x5af
je 0x1004bf44
cmp eax, 8
jne 0x1004b41e
xor eax, eax
dec dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
jne 0x1004bf0b
jmp 0x100493a4
cmp eax, 0x5af
je 0x1004bf61
cmp eax, 8
jne 0x1004bf68
push esi
call dword [sym.imp.kernel32.dll_SetLastError]
mov eax, dword [esp]
jmp 0x10049958
cmp eax, 0x5af
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
je 0x1004bf88
cmp eax, 8
jne 0x10049381
push ecx
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x10049381
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 8]
mov dword [ecx], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov edx, 0xfffff000
and edx, dword [ebx + 8]
mov dword [edi], edx
test edx, edx
mov ebx, dword [esp + 0x14]
jne 0x10048367
jmp 0x1004a827
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, edi
seta cl
jae 0x1004c0b1
mov ecx, dword [edi]
mov eax, 0xffffffff
test ecx, ecx
je 0x1004c148
mov edx, esi
mov esi, edi
mov edi, dword [ecx]
test edi, edi
je 0x1004c038
mov eax, dword [edi + 4]
test al, 1
je 0x1004c038
mov ebx, dword [edi]
test ebx, ebx
je 0x1004c038
test byte [ebx + 4], 1
jne 0x1004c07e
mov edi, ecx
mov eax, dword [esp + 4]
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 0x1004c00c
test ecx, ecx
je 0x1004bff3
mov eax, 1
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
test ecx, ecx
jne 0x1004c01b
jmp 0x1004c148
mov dword [esp + 0x2c], edx
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 0x1004c254
and byte [eax + 4], 0xfe
cmp dword [esi], ecx
mov edx, dword [esp + 0x2c]
jne 0x1004c0b5
mov dword [esi], edi
jmp 0x1004c03a
mov al, cl
jmp 0x1004c06f
and edi, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + edi]
mov dword [esi + 4], ecx
test edi, edi
je 0x1004c245
mov ecx, dword [edi]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [edi], esi
mov eax, dword [esi + 4]
and eax, 1
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
or byte [esi + 4], 1
test edx, edx
je 0x1004c230
cmp dword [edx], esi
je 0x1004c1f3
jmp 0x1004c1fa
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov esi, dword [edi + 8]
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1004c1e5
jmp 0x1004c20a
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
mov edx, dword [esp + 0x2c]
mov esi, edi
test ecx, ecx
jne 0x1004c01f
mov esi, edx
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 1
cmp eax, 1
je 0x1004c17e
mov dword [edi], ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1004c263
and byte [eax + 4], 0xfe
mov ecx, dword [esp + 0x10]
mov esi, ecx
mov dword [ecx + 0x58], eax
jmp 0x10048bd0
mov eax, dword [edi + 4]
and eax, 1
mov ecx, eax
or ecx, dword [esp + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
mov eax, dword [esp + 0xc]
mov dword [eax], edi
mov eax, dword [edi + 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 [edi + 4], 1
cmp dword [esi], edi
jne 0x1004c1ca
mov dword [esi], eax
jmp 0x1004c160
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp edi, ecx
jne 0x1004c160
and eax, 1
or eax, dword [esp + 0xc]
mov dword [esi + 4], eax
jmp 0x1004c160
xor eax, eax
inc eax
cmp ecx, 0xffffffff
jne 0x1004c132
jmp 0x1004c226
mov dword [edx], edi
jmp 0x1004c102
mov eax, dword [edx + 4]
and eax, 1
or eax, edi
mov dword [edx + 4], eax
jmp 0x1004c102
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, edi
seta cl
jb 0x1004c226
mov al, cl
jmp 0x1004c132
mov ecx, dword [edi]
xor eax, eax
dec eax
jmp 0x1004c138
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
xor ecx, ecx
cmp eax, ebx
setb cl
mov edx, 0xffffffff
cmova ecx, edx
cmp ecx, 0xffffffff
jne 0x1004c319
test eax, eax
je 0x1004c54f
mov edx, dword [eax]
test edx, edx
je 0x1004c54f
mov ecx, dword [edx + 4]
test cl, 1
jne 0x1004c310
mov edi, dword [edx]
test edi, edi
je 0x1004c2c2
test byte [edi + 4], 1
jne 0x1004c366
mov dword [esp + 0x18], esi
or ecx, 1
mov dword [edx + 4], ecx
mov ecx, dword [eax + 4]
mov edi, ecx
and edi, 0xfffffffe
je 0x1004c698
mov esi, dword [edi]
test esi, esi
jne 0x1004c32f
or ecx, 1
mov dword [eax + 4], ecx
mov ecx, dword [edi]
or ecx, 1
mov dword [eax + 4], ecx
mov dword [edi], eax
mov esi, edi
mov edx, dword [esp + 0x18]
cmp dword [edx], eax
mov edi, dword [esp]
jne 0x1004c759
mov dword [edx], esi
mov eax, esi
mov esi, edx
jmp 0x1004c280
mov esi, eax
mov eax, edx
jmp 0x1004c280
test ecx, ecx
jne 0x1004c340
xor edx, edx
test eax, eax
je 0x1004c377
mov edi, dword [eax + 4]
mov ecx, esi
cmp edi, 1
jbe 0x1004c36d
jmp 0x1004c34f
mov edx, dword [esi + 4]
mov dword [esp + 0xc], edx
test dl, 1
je 0x1004c2e0
jmp 0x1004c471
test eax, eax
je 0x1004c74a
mov edi, dword [eax + 4]
mov ecx, dword [esp + 4]
mov dword [esp + 4], ecx
mov edx, edi
and edx, 0xfffffffe
je 0x1004c389
mov ecx, dword [edx]
test ecx, ecx
je 0x1004c389
test byte [ecx + 4], 1
je 0x1004c389
mov esi, eax
mov edi, dword [esp]
jmp 0x1004c312
mov ecx, dword [eax]
test ecx, ecx
jne 0x1004c43f
cmp dword [esi], eax
jne 0x1004c525
mov dword [esi], edx
mov edi, dword [esp]
jmp 0x1004bfc1
mov ecx, dword [eax]
test ecx, ecx
je 0x1004c74a
mov edx, dword [ecx + 4]
test dl, 1
je 0x1004c4eb
mov dword [esp + 0x18], ecx
and edx, 0xfffffffe
je 0x1004c6fe
mov ecx, dword [edx]
mov dword [esp + 0xc], ecx
test ecx, ecx
je 0x1004c3c4
mov ecx, dword [esp + 0xc]
test byte [ecx + 4], 1
jne 0x1004c5a0
and edi, 1
or edi, edx
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], edi
or byte [edx + 4], 1
mov edx, dword [eax]
test edx, edx
je 0x1004c6e9
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x18], edi
and edi, 0xfffffffe
je 0x1004c6da
mov ecx, dword [edi]
and ecx, 0xfffffffe
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x18]
and ecx, 1
add ecx, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov dword [edi], eax
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, edi
mov dword [edx + 4], ecx
or byte [eax + 4], 1
cmp dword [esi], eax
jne 0x1004c538
mov dword [esi], edx
mov eax, esi
jmp 0x1004c366
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
mov dword [eax], edx
mov edx, eax
and edx, 0xfffffffe
mov edi, dword [ecx + 4]
and edi, 1
or edi, edx
mov dword [ecx + 4], edi
mov edi, dword [eax + 4]
and edi, 1
or edi, edx
mov dword [ecx + 4], edi
or byte [eax + 4], 1
and dword [ecx + 4], 1
mov edx, ecx
jmp 0x1004c377
mov ecx, dword [esp + 0xc]
and ecx, 0xfffffffe
mov dword [edi], ecx
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, edi
mov dword [esi + 4], ecx
and esi, 0xfffffffe
mov ecx, dword [eax + 4]
and ecx, 1
lea edi, [ecx + esi]
mov dword [eax + 4], edi
test esi, esi
je 0x1004c6bc
mov edi, dword [esi]
and edi, 0xfffffffe
or edi, ecx
mov dword [eax + 4], edi
mov dword [esi], eax
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
je 0x1004c4e3
mov edx, dword [ecx + 4]
test dl, 1
je 0x1004c4e3
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov ecx, dword [eax + 4]
mov edi, ecx
or edi, 1
mov dword [eax + 4], edi
and ecx, 0xfffffffe
je 0x1004c6ad
mov edi, dword [ecx]
or edi, 1
mov dword [eax + 4], edi
mov dword [ecx], eax
mov dword [esi], ecx
jmp 0x1004c2f2
mov dword [eax + 4], ecx
jmp 0x1004c2f2
or edx, 1
mov dword [ecx + 4], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x1004c503
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1004c614
mov ecx, dword [eax + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004c73b
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov dword [eax + 4], ecx
mov dword [edx], eax
jmp 0x1004c42e
and edx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
or eax, edx
mov dword [esi + 4], eax
jmp 0x1004c381
mov eax, edx
and eax, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov eax, esi
jmp 0x1004c366
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x1004c76e
cmp dword [ecx], ebx
jne 0x1004c677
mov dword [ecx], eax
test eax, eax
je 0x1004c77d
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
cmp dword [esi], eax
jne 0x1004c78c
mov dword [esi], 0
jmp 0x1004bfc1
and edi, 1
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
or ecx, edi
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xc]
and byte [ecx + 4], 0xfe
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov edx, ecx
and edx, 0xfffffffe
je 0x1004c6cb
mov edi, dword [edx]
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov edi, dword [esp + 0x18]
mov dword [edi + 4], ecx
mov dword [edx], edi
mov dword [eax], edx
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x18], edi
and edi, 0xfffffffe
jne 0x1004c406
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov edx, dword [eax]
test edx, edx
je 0x1004c726
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [eax], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
and ecx, 0xfffffffe
je 0x1004c717
mov edi, dword [ecx]
mov dword [esp + 0x18], edi
and dword [esp + 0x18], 0xfffffffe
mov edi, dword [esp + 0xc]
and edi, 1
add edi, dword [esp + 0x18]
mov dword [eax + 4], edi
mov dword [ecx], eax
mov edi, dword [edx + 4]
and edi, 1
or edi, ecx
mov dword [edx + 4], edi
jmp 0x1004c42e
mov dword [esp + 4], ecx
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esp + 4]
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov ecx, dword [esp + 4]
mov dword [ecx + 4], edx
jmp 0x1004c565
or ecx, 1
mov dword [eax + 4], ecx
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
and edi, 1
mov eax, dword [esp + 0x18]
mov dword [eax + 4], edi
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [eax], 0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b25d
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1004c303
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004c23a
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
jmp 0x1004b004
and dword [esi + 4], 1
jmp 0x1004bfc1