Function at 0x1800253b0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov rsi, rcx
mov rax, qword [str.LoadLibraryA]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp byte [0x1800a8590], 0
jne 0x180025417
cmp qword [0x1800a8580], 0
je 0x180025417
mov rax, qword [0x1800a8590]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [0x1800a8580]
movups xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18004bde0
mov rax, rsi
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, str.MOZ_APP_RESTART
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
jne 0x1800255b7
lea rcx, [rsp + 0x28]
mov dl, 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 r15, rax
movq xmm1, rax
punpckldq xmm1, xmmword [0x180093260]
subpd xmm1, xmmword [0x180093270]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
divsd xmm0, qword [0x180093290]
ucomisd xmm0, qword [0x180093280]
jae 0x1800255da
call sym.mozglue.dll_public:_static_long_long___int64____cdecl_mozilla::BaseTimeDurationPlatformUtils::TicksFromMilliseconds_double_
mov rbx, rax
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r12b, byte [rsp + 0x38]
mov bpl, byte [rsp + 0x39]
mov eax, dword [rsp + 0x3a]
mov dword [rsp + 0x60], eax
movzx eax, word [rsp + 0x3e]
mov word [rsp + 0x64], ax
test bpl, bpl
setne r9b
mov r8, r14
sub r8, rbx
mov rdx, rdi
sub rdx, rbx
lea rcx, [rsp + 0x40]
call sym.mozglue.dll_private:_void___cdecl_mozilla::TimeStampValue::constructor_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___bool____ptr64
test rbx, rbx
jle 0x180025608
cmp byte [rsp + 0x50], 0
je 0x1800254dc
test r12b, r12b
jne 0x180025608
mov rbx, qword [rsp + 0x40]
sub rbx, rdi
cmp byte [rsp + 0x51], 0
je 0x180025600
test bpl, bpl
je 0x180025600
mov rax, qword [rsp + 0x48]
sub rax, r14
cmp byte [0x1800a8598], 0
jne 0x180025603
mov rdx, rax
sub rdx, rbx
mov rcx, rdx
neg rcx
cmovs rcx, rdx
sub rcx, qword [0x1800a85a0]
jle 0x180025603
cmp rcx, qword [0x1800a85a8]
jle 0x180025603
mov rax, rbx
neg rax
cmovs rax, rbx
mov cl, byte [0x1800a6250]
test cl, 1
je 0x180025600
cmp rax, qword [0x1800a85b0]
jge 0x180025600
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov r14, rax
imul r14, qword [0x1800a6248]
lea rcx, [0x1800a85b8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800a85e0]
mov rcx, qword [0x1800a85e8]
test rax, rax
je 0x1800255e9
cmp rax, r14
jbe 0x1800255e9
mov rdx, r14
not rdx
add rax, rdx
add rax, rcx
xor edx, edx
div rcx
cmp rax, 5
jb 0x18002566f
mov byte [0x1800a6250], 0
jmp 0x1800255f3
cmp byte [rax], 0
je 0x18002542d
mov rax, qword [0x1800a8578]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [0x1800a8568]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x18002563f
movabs rbx, 0x7fffffffffffffff
jmp 0x180025480
add rcx, r14
mov qword [0x1800a85e0], rcx
lea rcx, [0x1800a85b8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rbx
test rax, rax
jg 0x18002565c
lea rcx, [rsp + 0x40]
movaps xmm0, xmmword [rcx]
movzx eax, word [rcx + 0x10]
movzx edx, word [rcx + 0x16]
mov ebp, dword [rcx + 0x12]
movaps xmmword [rcx], xmm0
mov word [rcx + 0x10], ax
mov dword [rcx + 0x12], ebp
mov word [rcx + 0x16], dx
lea rdx, [0x1800a8568]
call sym.mozglue.dll_public:_unsigned_long_long_unsigned___int64____cdecl_mozilla::TimeStampValue::operator__class_mozilla::TimeStampValue_const____ptr64_const___ptr64
test r15, r15
je 0x1800255c0
test rax, rax
jg 0x1800255c0
mov rax, qword [rsp + 0x50]
mov qword [0x1800a8590], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [0x1800a8580], xmm0
jmp 0x1800253e3
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 1
jmp 0x180025608
inc rax
imul rax, rcx
add rax, r14
mov qword [0x1800a85e0], rax
jmp 0x1800255f3