Function at 0x10013a00
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov ecx, 0x1002e678
movlpd qword [ebp - 0x4c], xmm0
movlpd qword [ebp - 0x44], xmm0
mov word [ebp - 0x3c], 0x100
mov byte [eax], 0
lea eax, [ebp - 0x4c]
push eax
call sym.mozglue.dll_public:_unsigned_long_long_unsigned___int64____thiscall_mozilla::TimeStampValue::operator__class_mozilla::TimeStampValue_const__const
or eax, edx
jne 0x10013cd4
push str.MOZ_APP_RESTART
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
test eax, eax
je 0x10013aa6
mov ecx, 0x10026aaa
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10013a70
test dl, dl
je 0x10013a6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10013a70
add eax, 2
add ecx, 2
test dl, dl
jne 0x10013a50
xor eax, eax
jmp 0x10013a75
sbb eax, eax
or eax, 1
test eax, eax
je 0x10013aa6
mov eax, dword [ebp + 8]
movups xmm0, xmmword [0x1002e660]
movq xmm1, qword [0x1002e670]
movups xmmword [eax], xmm0
movups xmmword [0x1002e678], xmm0
movq qword [0x1002e688], xmm1
movq qword [eax + 0x10], xmm1
mov esp, ebp
pop ebp
ret
push ebx
push edi
lea eax, [ebp - 0x1c]
push 1
push eax
call sym.mozglue.dll_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::Now_bool_
add esp, 8
call sym.mozglue.dll_private:_static_unsigned_long_long_unsigned___int64____cdecl_mozilla::TimeStamp::ComputeProcessUptime_void_
mov edi, eax
mov ebx, edx
mov ecx, edi
call fcn.100223a0
divsd xmm0, qword [0x10028ec8]
ucomisd xmm0, qword [0x10028ed0]
lahf
test ah, 0x44
jp 0x10013b37
movups xmm1, xmmword [ebp - 0x1c]
movq xmm0, qword [ebp - 0xc]
push dword [ebp - 0xc]
movq qword [ebp - 0x3c], xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
add ecx, 1
movups xmmword [ebp - 0x4c], xmm1
adc eax, 0x80000000
push eax
push ecx
movd ecx, xmm1
psrldq xmm1, 4
movd eax, xmm1
add ecx, 1
adc eax, 0x80000000
push eax
push ecx
lea ecx, [ebp - 0x34]
call sym.mozglue.dll_private:_void___thiscall_mozilla::TimeStampValue::constructor_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___bool_
jmp 0x10013c60
ucomisd xmm0, qword [0x10028ed8]
lahf
test ah, 0x44
jp 0x10013be6
movups xmm1, xmmword [ebp - 0x1c]
movq xmm0, qword [ebp - 0xc]
push dword [ebp - 0xc]
movq qword [ebp - 0x3c], xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
sub ecx, 0
movups xmmword [ebp - 0x4c], xmm1
sbb eax, 0x80000000
push eax
push ecx
movd ecx, xmm1
psrldq xmm1, 4
movd eax, xmm1
sub ecx, 0
sbb eax, 0x80000000
push eax
push ecx
lea ecx, [ebp - 0x34]
call sym.mozglue.dll_private:_void___thiscall_mozilla::TimeStampValue::constructor_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___bool_
movups xmm1, xmmword [ebp - 0x34]
movq xmm0, qword [ebp - 0x24]
push 0x1002e660
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x54], xmm0
movups xmmword [ebp - 0x64], xmm1
call sym.mozglue.dll_public:_unsigned_long_long_unsigned___int64____thiscall_mozilla::TimeStampValue::operator__class_mozilla::TimeStampValue_const__const
test edx, edx
jg 0x10013c9f
jl 0x10013bd0
test eax, eax
jne 0x10013c9f
or edi, ebx
je 0x10013c9f
movq xmm1, qword [ebp - 0x54]
movups xmm0, xmmword [ebp - 0x64]
jmp 0x10013cb4
push esi
sub esp, 8
movsd qword [esp], xmm0
call sym.mozglue.dll_public:_static_long_long___int64____cdecl_mozilla::BaseTimeDurationPlatformUtils::TicksFromMilliseconds_double_
movups xmm1, xmmword [ebp - 0x1c]
add esp, 8
mov dword [ebp - 4], eax
movq xmm0, qword [ebp - 0xc]
mov esi, edx
movq qword [ebp - 0x3c], xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
push dword [ebp - 0xc]
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movups xmmword [ebp - 0x4c], xmm1
sub ecx, eax
movd eax, xmm0
sbb eax, esi
push eax
push ecx
movd ecx, xmm1
psrldq xmm1, 4
movd eax, xmm1
sub ecx, dword [ebp - 4]
sbb eax, esi
push eax
push ecx
lea ecx, [ebp - 0x34]
call sym.mozglue.dll_private:_void___thiscall_mozilla::TimeStampValue::constructor_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___bool_
test esi, esi
pop esi
jl 0x10013b9f
jg 0x10013c60
cmp dword [ebp - 4], 0
jbe 0x10013b9f
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x34]
call sym.mozglue.dll_public:_unsigned_long_long_unsigned___int64____thiscall_mozilla::TimeStampValue::operator__class_mozilla::TimeStampValue_const__const
test edx, edx
jl 0x10013b9f
jg 0x10013c7e
test eax, eax
je 0x10013b9f
xorps xmm0, xmm0
mov word [ebp - 0x3c], 0x100
movlpd qword [ebp - 0x4c], xmm0
movlpd qword [ebp - 0x44], xmm0
movups xmm1, xmmword [ebp - 0x4c]
movq xmm0, qword [ebp - 0x3c]
jmp 0x10013ba8
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
movups xmm0, xmmword [0x1002e660]
movq xmm1, qword [0x1002e670]
mov eax, dword [ebp + 8]
pop edi
pop ebx
movups xmmword [0x1002e678], xmm0
movups xmmword [eax], xmm0
movq qword [0x1002e688], xmm1
movq qword [eax + 0x10], xmm1
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
movups xmm0, xmmword [0x1002e678]
movq xmm1, qword [0x1002e688]
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm1
mov esp, ebp
pop ebp
ret