Function at 0x1001b4f0
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, 0x80
mov edx, dword [ebp + 0xc]
mov eax, dword [0x1007a00c]
xor eax, ebp
mov dword [esp + 0x78], eax
mov dword [esp + 8], edx
test edx, edx
je 0x1001c6e4
mov eax, dword [0x1007a708]
cmp dword [ebp + 8], 0
je 0x1001b648
test eax, eax
je 0x1001c6f1
mov eax, dword [ebp + 8]
mov edi, eax
and edi, 0xfff00000
cmp edi, eax
mov dword [esp + 0x14], edi
je 0x1001c38e
shr eax, 0xc
movzx eax, al
lea eax, [eax + eax*2]
mov eax, dword [edi + eax*4 + 0x18]
mov esi, eax
and esi, 0xfffff000
test al, 2
jne 0x1001b565
mov eax, dword [esi]
mov esi, dword [eax + 8]
mov dword [esp + 0x18], esi
cmp esi, 0xfe000
ja 0x1001c706
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
test eax, eax
je 0x1001b58b
cmp dword [esp + 0xc], eax
jne 0x1001c7a1
mov eax, dword [esp + 8]
cmp eax, 0xfe000
ja 0x1001c318
cmp eax, 8
jbe 0x1001bd1e
cmp eax, 0x200
ja 0x1001b757
lea esi, [eax + 0xf]
and esi, 0xfffffff0
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, 0xfe000
ja 0x1001b5ca
cmp esi, ecx
je 0x1001b77f
add ecx, 0xfffff7ff
cmp ecx, 0xfd7ff
seta cl
xor al, 1
or al, cl
je 0x1001be57
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x3d], 0
mov dword [esp + 4], eax
jne 0x1001b8ae
cmp dword [esp + 8], 0x201
jae 0x1001b8a5
mov eax, dword [0x1007a2f0]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
test eax, eax
jne 0x1001b8bc
mov edx, dword [0x1007a724]
mov eax, dword [0x1007a2f0]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov dword [esp + 4], edx
mov dword [eax + 8], edx
jmp 0x1001b8bc
test eax, eax
je 0x1001c4ea
mov edi, dword [ecx]
test edi, edi
jne 0x1001c207
cmp dword [esp + 8], 0x201
jae 0x1001c201
mov eax, dword [0x1007a2f0]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 8]
test edi, edi
je 0x1001c781
mov edx, dword [esp + 8]
cmp edx, 8
jbe 0x1001bfa8
cmp edx, 0x201
jae 0x1001bdea
add edx, 0xf
mov eax, edx
and eax, 0xfffffff0
mov dword [esp + 0x18], eax
shr edx, 4
shl edx, 5
mov ebx, edx
lea esi, [edi + edx]
add esi, 0x50
cmp byte [edi + 0x3c], 0
mov dword [esp + 4], edi
jne 0x1001b797
add edi, 0xc
push edi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esi]
test eax, eax
je 0x1001bd53
cmp dword [eax + 8], 0
je 0x1001bd53
mov dword [esp + 0x14], edi
mov edx, dword [eax + 4]
mov dword [esp + 0xc], eax
mov eax, dword [eax + edx*4 + 0xc]
test eax, eax
je 0x1001beb9
mov ecx, dword [esp + 4]
mov esi, dword [ecx + 0x40]
test esi, esi
jne 0x1001b81d
bsf esi, eax
mov edi, edx
shl edx, 5
or edx, esi
btc eax, esi
mov esi, dword [esp + 4]
imul edx, dword [esi + ebx + 0x58]
mov ecx, eax
mov eax, dword [esi + ebx + 0x68]
mov esi, dword [esp + 0xc]
mov dword [esi + edi*4 + 0xc], ecx
add eax, esi
add edx, eax
add dword [esi + 8], 0xffffffff
mov dword [esp + 0x10], edx
test edx, edx
mov edi, dword [esp + 0x14]
je 0x1001c7e5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 4]
add dword [ecx + 0x2c], eax
push edi
jmp 0x1001bab8
cmp eax, 0x800
ja 0x1001bcbd
add eax, 0xffffffff
je 0x1001b89b
bsr ecx, eax
xor ecx, 0x1f
neg cl
mov esi, 1
shl esi, cl
jmp 0x1001b5b4
mov edx, dword [esp + 8]
sub ecx, edx
ja 0x1001bca0
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
jmp 0x1001babe
cmp dword [edi + 0x40], 0
jne 0x1001b6c6
mov byte [edi + 0x3c], 0
lea eax, [esp + 0x50]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea edi, [esp + 0x40]
push edi
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
mov ecx, 0x10
call fcn.1000b180
xor edx, edx
cmp byte [edi + 8], 0
mov dword [esp + 8], 0
mov edi, 0
je 0x1001b7ea
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x58], 0
mov ecx, 0
je 0x1001b7fe
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov ecx, dword [esp + 8]
mov dword [eax + 0xc], ecx
mov edi, dword [esp + 4]
mov dword [edi + 0x40], eax
mov byte [edi + 0x3c], 1
jmp 0x1001b6c6
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov ecx, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
mov eax, edi
shld eax, ecx, 0x17
mov ebx, ecx
shl ebx, 0x17
xor ebx, ecx
mov edx, dword [esi + 0xc]
xor eax, edi
mov edi, dword [esi + 8]
mov dword [esi + 4], edx
mov ecx, eax
shld ecx, ebx, 0xf
mov dword [esp + 0x24], ecx
xor ebx, edi
mov ecx, edx
shr ecx, 0x1a
xor ecx, edx
shld edx, edi, 6
xor edx, ebx
xor edx, dword [esp + 0x24]
xor ecx, eax
shr eax, 0x11
xor ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esi], edi
mov dword [esi + 0xc], ecx
mov dword [esi + 8], edx
add edx, edi
mov esi, eax
mov ecx, edx
ror esi, cl
test esi, esi
je 0x1001bcd0
bsf esi, esi
mov ebx, dword [esp + 8]
add esi, edx
and esi, 0x1f
mov edx, dword [esp + 0x10]
jmp 0x1001b70d
mov ecx, 0x20
jmp 0x1001b771
mov eax, dword [0x1007a724]
mov dword [esp + 4], eax
cmp dword [esp + 8], 0x800
ja 0x1001bd03
mov eax, dword [esp + 8]
cmp eax, 8
jbe 0x1001be13
cmp eax, 0x201
jae 0x1001bcda
lea edx, [eax + 0xf]
mov eax, edx
and eax, 0xfffffff0
mov dword [esp + 0x24], eax
shr edx, 4
shl edx, 5
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], edx
lea esi, [ecx + edx]
add esi, 0x50
cmp byte [ecx + 0x3c], 0
jne 0x1001bb02
lea eax, [ecx + 0xc]
mov dword [esp + 0x1c], eax
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esi]
test eax, eax
je 0x1001bc86
cmp dword [eax + 8], 0
je 0x1001bc86
mov edi, dword [eax + 4]
mov dword [esp + 0x10], eax
mov edx, dword [eax + edi*4 + 0xc]
test edx, edx
je 0x1001bd6d
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x40]
test esi, esi
jne 0x1001bb7d
bsf esi, edx
mov ebx, edi
shl edi, 5
or edi, esi
btc edx, esi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
imul edi, dword [eax + ecx + 0x58]
mov eax, dword [eax + ecx + 0x68]
mov ecx, dword [esp + 0x10]
mov dword [ecx + ebx*4 + 0xc], edx
add eax, ecx
add edi, eax
add dword [ecx + 8], 0xffffffff
mov dword [esp + 0x10], edi
test edi, edi
je 0x1001c7bd
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
add dword [eax + 0x2c], ecx
push dword [esp + 0x1c]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1001c7c7
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp ecx, edx
cmova ecx, edx
push ecx
mov esi, dword [ebp + 8]
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
and esi, 0xfffff
je 0x1001c4d5
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
cmp dword [edi], eax
jne 0x1001c72d
add eax, 0xc
mov dword [esp + 0x18], eax
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
shr esi, 0xc
lea eax, [esi + esi*2]
mov ebx, dword [edi + eax*4 + 0x18]
test bl, 0x20
jne 0x1001c742
test bl, 1
je 0x1001c757
mov eax, ebx
and ebx, 0xfffff000
test al, 2
jne 0x1001bf7e
mov esi, dword [ebx]
mov edi, dword [esi + 8]
push edi
push 0xe5
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp + 8]
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
sub ebx, dword [esp + 8]
lea eax, [edi - 1]
mov dword [esp + 4], esi
sub ebx, dword [esi + 0x18]
test edi, eax
setne al
test edi, edi
sete cl
or cl, al
mov dword [esp + 0x20], edi
jne 0x1001bae1
mov eax, edi
or eax, 1
bsr ecx, eax
xor ecx, 0x1f
xor cl, 0x1f
shr ebx, cl
mov eax, ebx
shr eax, 5
mov edi, dword [esp + 8]
cmp eax, dword [edi + 4]
jb 0x1001bde2
mov edx, dword [edi + eax*4 + 0xc]
mov esi, 1
mov ecx, ebx
shl esi, cl
bt edx, ebx
jb 0x1001c76c
or edx, esi
mov dword [edi + eax*4 + 0xc], edx
mov eax, dword [edi + 8]
lea ecx, [eax + 1]
mov dword [edi + 8], ecx
mov edx, dword [esp + 4]
cmp ecx, dword [edx + 0x10]
je 0x1001c176
test eax, eax
je 0x1001bbff
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
sub dword [eax + 0x2c], ecx
push dword [esp + 0x18]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
test esi, esi
je 0x1001c7c7
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.1002cad0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
cmp edi, 0x1d2
ja 0x1001c2e8
mov eax, edi
shr eax, 4
imul ebx, dword [eax*4 + 0x1006a144]
shr ebx, 0x15
jmp 0x1001ba5d
cmp dword [ecx + 0x40], 0
jne 0x1001b8fe
mov byte [ecx + 0x3c], 0
lea eax, [esp + 0x50]
push eax
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
lea edi, [esp + 0x40]
push edi
call sym.mozglue.dll_class_mozilla::Maybe_unsigned_long_long_unsigned___int64_____cdecl_mozilla::RandomUint64_void_
add esp, 4
mov ecx, 0x10
call fcn.1000b180
xor ebx, ebx
cmp byte [edi + 8], 0
mov edi, 0
mov ecx, 0
je 0x1001bb4e
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
cmp byte [esp + 0x58], 0
mov edx, 0
je 0x1001bb62
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov dword [eax], edx
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov ecx, dword [esp + 4]
mov dword [ecx + 0x40], eax
mov byte [ecx + 0x3c], 1
jmp 0x1001b8fe
mov dword [esp + 0x28], edi
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
shld eax, ecx, 0x17
mov edi, ecx
shl edi, 0x17
xor edi, ecx
mov ebx, dword [esi + 0xc]
xor eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 8]
mov dword [esi + 4], ebx
shld eax, edi, 0xf
mov dword [esp + 0x30], eax
xor edi, ecx
mov eax, ecx
mov dword [esp + 0x34], ecx
mov ecx, ebx
shr ecx, 0x1a
xor ecx, ebx
shld ebx, eax, 6
xor ebx, edi
xor ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
xor ecx, eax
shr eax, 0x11
xor ecx, eax
mov eax, dword [esp + 0x34]
mov dword [esi], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ebx
add ebx, eax
mov esi, edx
mov ecx, ebx
ror esi, cl
test esi, esi
je 0x1001bc7c
bsf esi, esi
mov edi, dword [esp + 0x28]
add esi, ebx
and esi, 0x1f
jmp 0x1001b945
mov eax, dword [esp + 4]
mov eax, dword [eax]
cmp eax, dword [esp + 8]
je 0x1001baa9
test eax, eax
je 0x1001c309
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x1001bf3e
cmp dword [eax + 8], 0
mov ecx, dword [esp + 4]
je 0x1001cba4
mov edx, eax
and edx, 0xfff00000
shr eax, 0xc
movzx esi, al
lea eax, [esi*4]
lea edi, [eax + eax*2]
or edi, edx
add edi, 0x10
mov ecx, dword [ecx + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], 0
test ecx, ecx
je 0x1001c1c6
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], edx
xor ebx, ebx
lea edx, [esp + 0x50]
mov dword [esp + 0x14], edi
jmp 0x1001ca1e
mov esi, 0x20
jmp 0x1001bbf1
mov ecx, dword [esp + 4]
mov edx, esi
call fcn.10017000
mov dword [esi], eax
test eax, eax
jne 0x1001b920
jmp 0x1001c7bd
mov esi, dword [ebp + 8]
add edx, esi
push ecx
push 0xe5
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x10], esi
jmp 0x1001babe
lea esi, [eax + 0xfff]
and esi, 0x1ff000
mov al, 1
jmp 0x1001b5b6
mov esi, 0x20
jmp 0x1001b889
dec eax
je 0x1001bfea
bsr ecx, eax
xor ecx, 0x1f
neg cl
xor eax, eax
inc eax
shl eax, cl
mov dword [esp + 0x24], eax
shr eax, 9
or eax, 1
bsr edx, eax
xor edx, 0x20
jmp 0x1001b8e3
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
push 0
call fcn.10018a40
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1001b991
cmp eax, 2
jb 0x1001c2e1
mov edx, eax
mov ecx, 0x20
mov eax, 0x20
dec edx
je 0x1001bd3c
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
xor eax, eax
inc eax
shl eax, cl
cmp eax, 8
mov esi, 8
cmova esi, eax
jmp 0x1001b5b4
mov ecx, dword [esp + 4]
mov edx, esi
call fcn.10017000
mov dword [esi], eax
test eax, eax
jne 0x1001b6e4
jmp 0x1001c7e5
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov ecx, dword [eax + ecx + 0x64]
mov dword [esp + 0x28], edi
shl edi, 5
mov esi, dword [esp + 0x28]
lea eax, [esi + 1]
mov dword [esp + 0x28], eax
cmp eax, ecx
jae 0x1001c7b6
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + esi*4 + 0x10]
add edi, 0x20
test ebx, ebx
je 0x1001bd80
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x40]
test edx, edx
jne 0x1001bff4
bsf edx, ebx
or edi, edx
btc ebx, edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
imul edi, dword [eax + ecx + 0x58]
mov eax, dword [eax + ecx + 0x68]
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4 + 0x10], ebx
add eax, ecx
add edi, eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 4], eax
jmp 0x1001b96c
mov dword [edi + 4], eax
jmp 0x1001ba6f
dec edx
je 0x1001c080
bsr ecx, edx
xor ecx, 0x1f
neg cl
xor eax, eax
inc eax
shl eax, cl
mov dword [esp + 0x18], eax
shr eax, 9
or eax, 1
bsr edx, eax
xor edx, 0x20
jmp 0x1001b6ad
cmp eax, 2
jb 0x1001c2d3
mov edx, eax
mov ecx, 0x20
mov eax, 0x20
dec edx
je 0x1001be31
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
xor eax, eax
inc eax
shl eax, cl
cmp eax, 8
mov ecx, 8
cmova ecx, eax
mov dword [esp + 0x24], ecx
mov eax, ecx
shr eax, 3
or eax, 1
bsr edx, eax
jmp 0x1001b8e3
mov eax, esi
mov ebx, dword [esp + 0x18]
sub eax, ebx
mov dword [esp + 0x10], eax
jb 0x1001c234
mov eax, dword [ebp + 8]
shr eax, 0xc
movzx edi, al
shr ebx, 0xc
mov eax, dword [esp + 0xc]
add eax, 0xc
mov dword [esp + 4], eax
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, edi
mov dword [esp + 0x20], edi
add ebx, edi
cmp ebx, 0xfe
ja 0x1001beaa
lea edi, [ebx + ebx*2]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + edi*4 + 0x18]
test al, 1
je 0x1001c08a
push dword [esp + 4]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x1001b5e3
mov eax, dword [esp + 4]
mov eax, dword [eax + ebx + 0x64]
mov edi, edx
shl edi, 5
mov esi, edx
inc edx
mov dword [esp + 0x10], edx
cmp edx, eax
jae 0x1001c7da
mov edx, dword [esp + 0xc]
mov edx, dword [edx + esi*4 + 0x10]
add edi, 0x20
mov dword [esp + 0x20], edx
test edx, edx
mov edx, dword [esp + 0x10]
je 0x1001bec6
mov dword [esp + 0x24], esi
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x40]
test esi, esi
jne 0x1001c0f4
mov eax, dword [esp + 0x20]
bsf esi, eax
mov ecx, dword [esp + 4]
mov edx, edi
or edx, esi
btc eax, esi
mov dword [esp + 0x20], eax
imul edx, dword [ecx + ebx + 0x58]
mov eax, dword [ecx + ebx + 0x68]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esi + edi*4 + 0x10], ecx
add eax, esi
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esi + 4], eax
jmp 0x1001b732
mov eax, dword [esp + 0x14]
sub ecx, eax
shr ecx, 0xc
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x1c], ecx
lea edi, [eax + ecx*4]
add edi, 0x10
mov eax, dword [esp + 4]
mov ebx, dword [eax + 4]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 0
test ebx, ebx
je 0x1001c1ec
xor ecx, ecx
lea esi, [esp + 0x50]
mov dword [esp + 8], edi
jmp 0x1001cc06
push ebx
push 0xe5
mov esi, dword [ebp + 8]
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0xc]
sub dword [ecx + 0x30], ebx
mov edx, esi
push 1
call fcn.1001d630
add esp, 4
jmp 0x1001bab4
cmp edx, 2
jb 0x1001c2da
mov ecx, 0x20
mov eax, 0x20
dec edx
je 0x1001bfc4
bsr eax, edx
xor eax, 0x1f
sub ecx, eax
xor eax, eax
inc eax
shl eax, cl
cmp eax, 8
mov ecx, 8
cmova ecx, eax
mov dword [esp + 0x18], ecx
mov eax, ecx
shr eax, 3
or eax, 1
bsr edx, eax
jmp 0x1001b6ad
mov ecx, 0x20
jmp 0x1001bce7
mov dword [esp + 0x30], esi
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ebx
mov ebx, ecx
shld ebx, eax, 0x17
mov esi, eax
shl esi, 0x17
xor esi, eax
mov ecx, dword [edx + 0xc]
xor ebx, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
mov eax, dword [edx + 8]
mov dword [esp + 0x2c], eax
mov dword [edx + 4], ecx
shld ebx, esi, 0xf
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x2c]
xor esi, ebx
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
shld ecx, ebx, 6
xor ecx, esi
xor ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
xor eax, esi
mov ebx, dword [esp + 0x34]
shr esi, 0x11
xor eax, esi
mov esi, dword [esp + 0x2c]
mov dword [edx], esi
mov dword [edx + 0xc], eax
mov dword [edx + 8], ecx
add ecx, esi
mov edx, ebx
ror edx, cl
test edx, edx
je 0x1001c1e2
bsf edx, edx
mov esi, dword [esp + 0x30]
add edx, ecx
and edx, 0x1f
jmp 0x1001bdb4
mov ecx, 0x20
jmp 0x1001bdf7
and eax, 0xfffff000
cmp eax, dword [esp + 0x10]
jb 0x1001beaa
shl ebx, 0xc
add ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, ebx
push 0
push 1
push dword [esp + 0x18]
call fcn.1001a0b0
add esp, 0xc
test al, al
je 0x1001beaa
or esi, 3
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax*4 + 0x18], esi
lea eax, [ecx + edi*4 + 0x18]
mov dword [eax], 3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add dword [eax + 0x30], ecx
push dword [esp + 4]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x1001b78b
mov dword [esp + 8], ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x1c], ebx
shld ebx, eax, 0x17
mov edx, eax
shl edx, 0x17
xor edx, eax
mov ecx, dword [esi + 0xc]
xor ebx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov dword [esi + 4], ecx
shld ebx, edx, 0xf
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
xor edx, ebx
mov eax, ecx
shr eax, 0x1a
xor eax, ecx
shld ecx, ebx, 6
xor ecx, edx
xor ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
xor eax, edx
shr edx, 0x11
xor eax, edx
mov dword [esi], ebx
mov dword [esi + 0xc], eax
mov dword [esi + 8], ecx
add ecx, ebx
mov eax, dword [esp + 0x20]
mov esi, eax
ror esi, cl
test esi, esi
je 0x1001c1f7
bsf esi, esi
mov ebx, dword [esp + 8]
add esi, ecx
and esi, 0x1f
jmp 0x1001bf06
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp dword [ecx], edx
je 0x1001c2c0
test eax, eax
mov esi, dword [esp + 4]
mov ebx, dword [esp + 8]
je 0x1001c1ae
mov eax, ebx
mov ecx, dword [esp + 0x14]
sub eax, ecx
shr eax, 0xc
lea eax, [eax + eax*2]
lea edx, [ecx + eax*4]
add edx, 0x10
lea ecx, [esi + 4]
call fcn.10018230
mov ecx, dword [esp + 0xc]
mov edx, ebx
push 1
call fcn.1001d630
add esp, 4
dec dword [esi + 0x1c]
jmp 0x1001baa9
lea ecx, [esp + 0x50]
mov dword [edi], 0
lea eax, [esi + esi*2]
mov esi, ecx
mov dword [edx + eax*4 + 0x14], 1
jmp 0x1001cb8b
mov edx, 0x20
jmp 0x1001c072
mov ebx, edi
lea edi, [esp + 0x50]
jmp 0x1001cd7d
mov esi, 0x20
jmp 0x1001c168
mov edi, dword [0x1007a724]
mov edx, dword [esp + 8]
cmp edx, 0x800
jbe 0x1001b685
mov ecx, edi
cmp edx, 0xfe000
ja 0x1001c2f5
push 0
call fcn.10018a40
add esp, 4
jmp 0x1001b78e
mov eax, ebx
mov edx, dword [esp + 8]
sub eax, edx
mov ecx, dword [ebp + 8]
add edx, ecx
mov edi, ecx
push eax
push 0xe5
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0xc]
add eax, 0xc
mov dword [esp + 8], eax
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, edi
shr eax, 0xc
movzx eax, al
mov ecx, esi
or ecx, 3
lea edx, [eax + eax*2]
mov edi, dword [esp + 0x14]
mov dword [edi + edx*4 + 0x18], ecx
mov ecx, esi
shr ecx, 0xc
add ecx, eax
sub ebx, esi
or ebx, 3
lea eax, [ecx + ecx*2]
mov dword [edi + eax*4 + 0x18], ebx
mov edi, dword [ebp + 8]
add esi, edi
mov ebx, dword [esp + 0xc]
mov ecx, ebx
mov edx, esi
push 1
call fcn.1001d630
add esp, 4
mov eax, dword [esp + 0x10]
add dword [ebx + 0x30], eax
push dword [esp + 8]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov dword [esp + 0x10], edi
jmp 0x1001babe
mov esi, dword [esp + 4]
mov dword [esi], 0
mov ebx, dword [esp + 8]
jmp 0x1001c1ae
xor ecx, ecx
jmp 0x1001be33
xor ecx, ecx
jmp 0x1001bfc6
xor ecx, ecx
jmp 0x1001bd3e
mov eax, ebx
xor edx, edx
div edi
mov ebx, eax
jmp 0x1001ba5d
push 0
push 0x100000
call fcn.10001700
add esp, 8
jmp 0x1001b78e
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [eax], ecx
jmp 0x1001baa9
mov esi, eax
cmp dword [esp + 0x18], 0xfe001
jae 0x1001c3e1
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x3d], 0
jne 0x1001c338
mov ecx, dword [0x1007a724]
mov edx, esi
push 0
push 0x100000
call fcn.10001700
add esp, 8
test eax, eax
je 0x1001c7c7
mov ecx, dword [esp + 0x18]
cmp ecx, esi
cmova ecx, esi
push ecx
mov esi, dword [ebp + 8]
push esi
mov edi, eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, esi
mov ecx, dword [ebp + 8]
and edx, 0xfffff
je 0x1001c4c5
push dword [esp + 0xc]
call fcn.100018a0
add esp, 4
mov esi, edi
jmp 0x1001baca
mov dword [esp + 4], ecx
push 0x1007a678
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov edi, dword [0x1007a690]
xor eax, eax
dec eax
xor ecx, ecx
mov edx, dword [ebp + 8]
cmp dword [edi + 0x10], edx
setb cl
cmova ecx, eax
test ecx, ecx
je 0x1001c3ca
cmp ecx, 0xffffffff
je 0x1001c3c5
mov edi, dword [edi + 0xc]
and edi, 0xfffffffe
jmp 0x1001c3a6
mov edi, dword [edi + 8]
jmp 0x1001c3a6
mov esi, dword [edi + 0x14]
push 0x1007a678
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 4]
jmp 0x1001b565
mov eax, 0x100fff
lea ecx, [esi + eax]
add eax, dword [esp + 0x18]
xor eax, ecx
cmp eax, 0xfffff
ja 0x1001c328
mov ecx, esi
lea eax, [esi + 0xfff]
and eax, 0xfffff000
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
sub eax, esi
jbe 0x1001c425
add esi, dword [ebp + 8]
push eax
push 0xe5
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x18]
jae 0x1001c7e8
mov eax, dword [esp + 4]
sub dword [esp + 0x18], eax
je 0x1001c48a
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 4]
lea edi, [ecx + eax]
mov eax, edi
and eax, 0xfffff
mov esi, 0x100000
sub esi, eax
mov ebx, dword [esp + 0x18]
cmp esi, ebx
cmovae esi, ebx
push 0x4000
push esi
push edi
call dword [sym.imp.kernel32.dll_VirtualFree]
test eax, eax
je 0x1001c9ff
add edi, esi
sub ebx, esi
mov eax, 0x100000
cmp ebx, eax
mov esi, 0x100000
cmovb esi, ebx
test ebx, ebx
jne 0x1001c45e
push 0x1007a678
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x1007a690]
xor ecx, ecx
dec ecx
xor edx, edx
mov esi, dword [ebp + 8]
cmp dword [eax + 0x10], esi
setb dl
cmova edx, ecx
cmp edx, 0xffffffff
je 0x1001c4c0
test edx, edx
je 0x1001c87b
mov eax, dword [eax + 0xc]
and eax, 0xfffffffe
jmp 0x1001c49d
mov eax, dword [eax + 8]
jmp 0x1001c49d
mov edx, dword [esp + 0xc]
call fcn.100020a0
mov esi, edi
jmp 0x1001baca
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xc]
call fcn.100020a0
mov esi, dword [esp + 0x10]
jmp 0x1001baca
mov dword [esp + 4], ecx
push 0x1007a734
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x1007a708]
test eax, eax
jne 0x1001c6d0
mov eax, dword [0x1007a73c]
mov ecx, dword [0x1007a2f0]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x1001c559
push 0x1007a73c
call fcn.1002d432
add esp, 4
cmp dword [0x1007a73c], 0xffffffff
jne 0x1001c559
lea edi, [esp + 0x50]
push edi
call dword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [edi + 4]
mov dword [0x1007a738], eax
push 0x1007a73c
call fcn.1002d432
add esp, 4
mov eax, 0x1000
xor edx, edx
div dword [0x1007a738]
test edx, edx
jne 0x1001c90a
mov edi, 0x1007a740
push 0x40
push edi
push str.MALLOC_OPTIONS
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableA]
test eax, eax
cmove edi, eax
je 0x1001c5d8
mov al, byte [edi]
test al, al
je 0x1001c5d8
xor ebx, ebx
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
movsx ecx, al
add ecx, 0xffffffd0
cmp ecx, 9
jbe 0x1001c92e
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
dec dword [esp + 0xc]
movsx ecx, al
cmp ecx, 0x72
jne 0x1001c8bc
mov byte [0x1007a674], 1
cmp dword [esp + 0xc], 0
je 0x1001c5cf
mov al, byte [edi + ebx]
jmp 0x1001c5ac
mov al, byte [edi + ebx + 1]
inc ebx
test al, al
jne 0x1001c596
mov dword [0x1007a6e8], 0
mov edi, 0x1388
mov esi, dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
push edi
push 0x1007a6ec
call esi
xor ebx, ebx
mov dword [0x1007a780], ebx
mov dword [0x1007a704], ebx
push edi
push 0x1007a678
call esi
mov dword [0x1007a690], ebx
mov dword [0x1007a694], ebx
mov dword [0x1007a698], ebx
mov dword [0x1007a6e4], ebx
mov dword [0x1007a6dc], ebx
push edi
push 0x1007a6b8
call esi
mov dword [0x1007a72c], ebx
mov dword [0x1007a730], ebx
mov dword [esp + 0x54], ebx
mov eax, dword [0x1007a024]
mov dword [esp + 0x50], eax
push edi
push 0x1007a70c
call esi
test eax, eax
je 0x1001c8e4
lea edx, [esp + 0x50]
xor ecx, ecx
call fcn.10021bf0
mov dword [0x1007a724], eax
test eax, eax
je 0x1001c8fa
mov ecx, dword [0x1007a2f0]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 8], eax
push 0x1388
push 0x1007a69c
call dword [sym.imp.kernel32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x4000
call fcn.1000b180
test eax, eax
je 0x1001c8f0
mov ebx, eax
push 0x4000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [0x1007a6b4], ebx
xor eax, eax
inc eax
xchg dword [0x1007a708], eax
call fcn.100016e0
push 0x1007a734
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov ecx, dword [esp + 4]
jmp 0x1001b650
mov dword [esp + 8], 1
jmp 0x1001b519
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_malloc_initialized_
int3
mov eax, dword [edi]
mov edx, dword [edi + 0x18]
mov dword [esp + 0xc], edx
cmp eax, dword [edx + 8]
je 0x1001b57b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode__mArenaId__mNode__mArena__mId_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__aArena__arena__aArena_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__mapelm__bits____size_t_0x20U____0___Freeing_in_decommitted_page._
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__mapelm__bits____size_t_0x01U_____0___Double_free__
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__run__mRegionsMask_elm____1U____bit____0___Double_free__
int3
mov edi, dword [0x1007a724]
mov eax, dword [0x1007a2f0]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov dword [eax + 8], edi
jmp 0x1001b685
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT__mArena__arena__mArena_
int3
mov eax, dword [esp + 0x10]
dec dword [eax + 8]
push dword [esp + 0x1c]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
xor esi, esi
jmp 0x1001baca
mov eax, dword [esp + 0xc]
dec dword [eax + 8]
mov edi, dword [esp + 0x14]
push edi
jmp 0x1001c7c1
jbe 0x1001b78b
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x18]
mov dword [esp + 8], eax
je 0x1001c844
mov eax, dword [esp + 0x18]
add eax, dword [ebp + 8]
mov esi, eax
and eax, 0xfffff
mov edi, 0x100000
sub edi, eax
mov ebx, dword [esp + 8]
cmp edi, ebx
cmovae edi, ebx
push 4
push 0x1000
push edi
push esi
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
je 0x1001c7c7
add esi, edi
sub ebx, edi
mov eax, 0x100000
cmp ebx, eax
mov edi, 0x100000
cmovb edi, ebx
test ebx, ebx
jne 0x1001c81a
push 0x1007a678
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x1007a690]
xor ecx, ecx
dec ecx
xor edx, edx
mov esi, dword [ebp + 8]
cmp dword [eax + 0x10], esi
setb dl
cmova edx, ecx
cmp edx, 0xffffffff
je 0x1001c876
test edx, edx
je 0x1001c8a3
mov eax, dword [eax + 0xc]
and eax, 0xfffffffe
jmp 0x1001c857
mov eax, dword [eax + 8]
jmp 0x1001c857
mov ecx, dword [esp + 0xc]
cmp dword [eax + 0x18], ecx
jne 0x1001c9d5
mov ecx, dword [esp + 0x18]
sub dword [0x1007a694], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 0x14], ecx
push 0x1007a678
jmp 0x1001c0e9
mov ecx, dword [esp + 0xc]
cmp dword [eax + 0x18], ecx
jne 0x1001c9ea
mov ecx, dword [esp + 8]
add dword [0x1007a694], ecx
jmp 0x1001c892
cmp ecx, 0x46
jne 0x1001c964
mov eax, dword [0x1007a024]
test eax, eax
je 0x1001c985
add eax, eax
je 0x1001c5c3
mov dword [0x1007a024], eax
jmp 0x1001c5c3
mov dword [0x1007a724], 0
jmp 0x1001c8fa
mov dword [0x1007a6b4], 0
push 0x1007a734
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x1001c7c7
mov ecx, str._jemalloc_
mov edx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.10030280
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov dword [esp + 0xc], eax
movsx eax, byte [edi + ebx + 1]
inc ebx
mov ecx, eax
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x1001c936
cmp dword [esp + 0xc], 0
je 0x1001c5cf
jmp 0x1001c5ac
cmp ecx, 0x52
jne 0x1001c975
mov byte [0x1007a674], 0
jmp 0x1001c5c3
cmp ecx, 0x66
jne 0x1001c994
shr dword [0x1007a024], 1
jmp 0x1001c5c3
mov dword [0x1007a024], 1
jmp 0x1001c5c3
lea ecx, [esp + 0x50]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov eax, 2
push 0xa
push str._jemalloc_
push eax
call esi
add esp, 0xc
push 0x35
push str.:__malloc__Unsupported_character_in_malloc_options:_
mov eax, 2
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x50]
mov edx, 0x10071020
call fcn.10030280
jmp 0x1001c5c3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_node__mArena__this_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_node__mArena__this_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3
mov ecx, dword [edx]
test ecx, ecx
je 0x1001cb70
mov eax, dword [ecx]
test eax, eax
je 0x1001ca5a
mov esi, eax
mov eax, dword [eax]
test eax, eax
je 0x1001ca5a
mov dword [esp + 0x24], ebx
mov edi, edx
mov ebx, esi
mov edx, dword [esi + 4]
mov esi, edx
and esi, 1
je 0x1001ca44
test byte [eax + 4], 1
jne 0x1001ca64
mov ebx, edi
mov edx, ecx
mov edi, dword [esp + 0x14]
cmp edx, edi
ja 0x1001ca14
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
jne 0x1001ca1e
jmp 0x1001ca95
mov ebx, edx
mov edx, ecx
cmp edx, edi
ja 0x1001ca14
jmp 0x1001ca50
and edx, 0xfffffffe
mov dword [ecx], edx
mov eax, ecx
and eax, 0xfffffffe
mov esi, dword [ebx]
mov edx, dword [ebx + 4]
and edx, 1
or edx, eax
mov dword [ebx + 4], edx
test esi, esi
je 0x1001cddd
mov eax, ebx
and byte [esi + 4], 0xfe
cmp dword [edi], ecx
jne 0x1001caf9
mov dword [edi], eax
mov ebx, edi
mov edx, eax
jmp 0x1001ca48
mov dword [edi], 0
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x14], 1
cmp edx, edi
jae 0x1001cb89
lea ecx, [ecx + eax*4]
add ecx, 0x14
mov eax, dword [edx + 4]
and eax, 1
mov esi, edx
mov edx, eax
or edx, edi
mov dword [esi + 4], edx
mov edx, dword [edi]
and edx, 0xfffffffe
or edx, eax
mov dword [esi + 4], edx
mov dword [edi], esi
mov eax, dword [esi + 4]
and eax, 1
mov edx, dword [ecx]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx], edx
or byte [esi + 4], 1
cmp dword [ebx], esi
jne 0x1001cbbc
mov dword [ebx], edi
jmp 0x1001cb8d
mov esi, eax
and esi, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
lea eax, [ecx + esi]
mov dword [edi + 4], eax
test esi, esi
je 0x1001ce07
mov eax, dword [esi]
and eax, 0xfffffffe
or eax, ecx
mov dword [edi + 4], eax
mov dword [esi], edi
mov eax, dword [edi + 4]
and eax, 1
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
or byte [edi + 4], 1
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x1001cdf2
cmp dword [ebx], edi
mov edi, dword [esp + 0x14]
jne 0x1001cbaf
mov dword [ebx], esi
cmp edi, esi
jb 0x1001cb68
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
je 0x1001cbd2
mov eax, dword [ecx]
mov edx, esi
test eax, eax
jne 0x1001ca24
mov ebx, esi
jmp 0x1001ca5c
mov ecx, dword [esi]
test ecx, ecx
jne 0x1001cb55
mov edx, esi
mov dword [edi], 0
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x14], 1
mov esi, edx
mov dword [esi], edi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x1001cddd
and byte [eax + 4], 0xfe
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 8]
mov dword [ecx], eax
jmp 0x1001baa9
mov eax, dword [ebx + 4]
and eax, 1
or eax, esi
mov dword [ebx + 4], eax
jmp 0x1001cb49
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
cmp esi, eax
jne 0x1001cb8d
and ecx, 1
or ecx, edi
mov dword [ebx + 4], ecx
jmp 0x1001cb8d
mov dword [edi], 0
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x14], 1
cmp edi, esi
jbe 0x1001cb8b
lea ecx, [ecx + eax*4]
add ecx, 0x14
mov edx, esi
jmp 0x1001cabc
mov ebx, dword [esi]
test ebx, ebx
je 0x1001cd79
mov edx, dword [ebx]
test edx, edx
je 0x1001cc40
mov eax, dword [edx]
test eax, eax
je 0x1001cc40
mov dword [esp + 0x24], ecx
mov edi, esi
mov ecx, dword [edx + 4]
mov esi, ecx
and esi, 1
je 0x1001cc2a
test byte [eax + 4], 1
jne 0x1001cc4a
mov eax, edi
mov ecx, edi
mov esi, ebx
mov edi, dword [esp + 8]
cmp esi, edi
ja 0x1001cbfc
mov ebx, dword [esi + 4]
and ebx, 0xfffffffe
jne 0x1001cc06
jmp 0x1001cc7d
mov ecx, esi
mov esi, ebx
cmp esi, edi
ja 0x1001cbfc
jmp 0x1001cc36
and ecx, 0xfffffffe
mov dword [ebx], ecx
mov eax, ebx
and eax, 0xfffffffe
mov esi, dword [edx]
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
test esi, esi
je 0x1001cddd
and byte [esi + 4], 0xfe
cmp dword [edi], ebx
jne 0x1001cd00
mov dword [edi], edx
mov ecx, edi
mov esi, edx
jmp 0x1001cc2e
mov dword [edi], 0
mov edx, dword [esp + 0x14]
mov eax, esi
mov esi, dword [esp + 0x1c]
mov dword [edx + esi*4 + 0x14], 1
mov ebx, edi
mov edi, eax
cmp eax, ebx
jae 0x1001cd93
mov dword [esp + 0x24], ecx
mov eax, dword [edi + 4]
and eax, 1
mov ecx, eax
or ecx, ebx
mov dword [edi + 4], ecx
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 [edx + esi*4 + 0x14]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + esi*4 + 0x14], ecx
mov ecx, edi
mov edi, dword [esp + 0x24]
or byte [ecx + 4], 1
cmp dword [edi], ecx
je 0x1001cd93
mov edx, dword [edi + 4]
mov eax, edx
and eax, 0xfffffffe
cmp ecx, eax
jne 0x1001cd95
and edx, 1
or edx, ebx
mov dword [edi + 4], edx
jmp 0x1001cd95
mov ebx, edx
and ebx, 0xfffffffe
mov edx, dword [edi + 4]
and edx, 1
lea eax, [edx + ebx]
mov dword [edi + 4], eax
test ebx, ebx
je 0x1001ce07
mov eax, dword [ebx]
and eax, 0xfffffffe
or eax, edx
mov dword [edi + 4], eax
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 + 0x24]
test ecx, ecx
je 0x1001cdf2
cmp dword [ecx], edi
mov edi, dword [esp + 8]
jne 0x1001cdad
mov dword [ecx], ebx
mov eax, ebx
cmp edi, ebx
jb 0x1001cd71
mov ebx, dword [ebx + 4]
and ebx, 0xfffffffe
je 0x1001cdba
mov edx, dword [ebx]
mov esi, eax
test edx, edx
jne 0x1001cc0c
mov ecx, eax
jmp 0x1001cc42
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1001cd5e
mov esi, eax
mov ebx, edi
mov edi, esi
mov dword [ebx], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0x14], 1
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x1001cddd
and byte [eax + 4], 0xfe
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
jmp 0x1001baa9
mov eax, dword [ecx + 4]
and eax, 1
or eax, ebx
mov dword [ecx + 4], eax
jmp 0x1001cd50
mov dword [edi], 0
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [edx + esi*4 + 0x14], 1
mov ebx, edi
mov edi, eax
cmp ebx, eax
jbe 0x1001cd93
jmp 0x1001cca1
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_mNode_
int3