Function at 0x100472a0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov esi, dword [ebp + 8]
mov eax, dword [0x100a500c]
xor eax, ebp
mov dword [esp + 0x58], eax
cmp byte [0x100a6899], 0
je 0x100474e5
mov eax, dword [0x100a6894]
mov ecx, dword [0x100a6890]
or ecx, eax
je 0x10047302
movsd xmm0, qword [0x100a6898]
movsd qword [esi + 0x10], xmm0
movups xmm0, xmmword [0x100a6888]
movups xmmword [esi], xmm0
mov ecx, dword [esp + 0x58]
xor ecx, ebp
call fcn.1004fb50
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], str.MOZ_APP_RESTART
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test eax, eax
jne 0x10047540
lea eax, [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], 1
call sym.mozglue.dll_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::Now_bool_
call sym.mozglue.dll_private:_static_unsigned_long_long_unsigned___int64____cdecl_mozilla::TimeStamp::ComputeProcessUptime_void_
mov dword [esp + 0x30], edx
movd xmm0, edx
mov dword [esp + 0x34], eax
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm1, xmmword [0x10093200]
subpd xmm1, xmmword [0x10093210]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
divsd xmm0, qword [0x10093230]
ucomisd xmm0, qword [0x10093220]
jae 0x10047599
movsd qword [esp], xmm0
call sym.mozglue.dll_public:_static_long_long___int64____cdecl_mozilla::BaseTimeDurationPlatformUtils::TicksFromMilliseconds_double_
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
lea eax, [esp + 0x4a]
mov ebx, dword [eax - 6]
mov ecx, dword [eax - 0xa]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0xc]
sub ecx, eax
mov dword [esp + 0xc], eax
mov edi, ebx
sbb edi, dword [esp + 0x10]
lea edx, [esp + 0x4a]
mov edx, dword [edx - 0x12]
mov dword [esp + 0x28], edx
sub edx, eax
lea eax, [esp + 0x4a]
mov eax, dword [eax - 0xe]
mov dword [esp + 0x24], eax
sbb eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
or ecx, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
or edi, eax
or edi, ecx
sete byte [esp + 0xb]
cmp dword [esp + 0xc], 1
mov ecx, dword [esp + 0x10]
sbb ecx, 0
lea eax, [esp + 0x4a]
mov al, byte [eax - 1]
mov byte [esp + 0xa], al
jl 0x10047417
cmp byte [esp + 0xa], 0
cmove ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
cmove eax, dword [esp + 0x28]
cmp eax, dword [esp + 0xc]
sbb ebx, dword [esp + 0x10]
jb 0x100475ad
cmp byte [esp + 0xa], 0
sete al
mov cl, byte [0x100a6881]
mov byte [esp + 0x10], cl
test cl, cl
sete cl
or cl, al
mov ecx, dword [esp + 0x18]
cmovne ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
cmovne edx, dword [esp + 0x20]
mov edi, dword [0x100a6874]
mov eax, dword [0x100a687c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], edi
cmovne eax, edi
mov edi, dword [0x100a6870]
mov ebx, dword [0x100a6878]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edi
cmovne ebx, edi
mov edi, dword [esp + 0x30]
or dword [esp + 0x34], edi
lea edi, [esp + 0x4a]
movzx edi, word [edi + 4]
mov word [esp + 0x54], di
lea edi, [esp + 0x4a]
mov edi, dword [edi]
mov dword [esp + 0x50], edi
je 0x100474f5
cmp ebx, edx
sbb eax, ecx
jb 0x100474f5
mov eax, dword [esp + 0x20]
mov dword [0x100a6888], eax
mov eax, dword [esp + 0x14]
mov dword [0x100a688c], eax
mov eax, dword [esp + 0x1c]
mov dword [0x100a6890], eax
mov eax, dword [esp + 0x18]
mov dword [0x100a6894], eax
mov al, byte [esp + 0xb]
mov byte [0x100a6898], al
mov al, byte [esp + 0xa]
mov byte [0x100a6899], al
mov eax, dword [esp + 0x50]
mov dword [0x100a689a], eax
movzx eax, word [esp + 0x54]
mov word [0x100a689e], ax
jmp 0x100472d6
mov eax, dword [0x100a688c]
mov ecx, dword [0x100a6888]
jmp 0x100472d2
mov eax, dword [0x100a6882]
mov dword [esp + 0x50], eax
movzx eax, word [0x100a6886]
mov word [esp + 0x54], ax
mov al, byte [0x100a6880]
mov byte [esp + 0xb], al
mov al, byte [esp + 0x10]
mov byte [esp + 0xa], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
jmp 0x10047496
cmp byte [eax], 0
je 0x10047317
mov eax, dword [0x100a6874]
mov dword [esp + 0x14], eax
mov eax, dword [0x100a6870]
mov dword [esp + 0x20], eax
mov eax, dword [0x100a687c]
mov dword [esp + 0x18], eax
mov eax, dword [0x100a6878]
mov dword [esp + 0x1c], eax
mov eax, dword [0x100a6882]
mov dword [esp + 0x50], eax
movzx eax, word [0x100a6886]
mov word [esp + 0x54], ax
mov al, byte [0x100a6880]
mov byte [esp + 0xb], al
mov al, byte [0x100a6881]
mov byte [esp + 0xa], al
jmp 0x10047496
mov dword [esp + 0x10], 0x7fffffff
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x10047388
mov dword [esp + 0x20], 0
mov byte [esp + 0xb], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0xa], 1
jmp 0x10047417