Function at 0x14001eff0
Capabilities:
Check os version
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x478
mov r15, rcx
mov rax, qword [0x14005e018]
xor rax, rsp
mov qword [rsp + 0x470], rax
test rdx, rdx
je 0x14001f467
mov r13d, r8d
mov rsi, rdx
mov rcx, rdx
mov edx, 0x5c
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x14001f47d
mov rdi, rax
sub rdi, rsi
lea rbx, [rdi + 1]
lea rcx, [rdi + 9]
call qword [sym.imp.mozglue.dll_malloc]
mov rbp, rax
mov rcx, rax
mov rdx, rsi
mov r8, rbx
call sub.ntdll.dll_memcpy
movabs rax, 0x6c6c642e6c7578
mov qword [rbp + rdi + 1], rax
mov al, byte [rbp]
test al, al
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rbp
je 0x14001f3d3
xor esi, esi
mov rcx, rbp
cmp al, 0x2f
cmove rsi, rcx
cmp al, 0x5c
cmove rsi, rcx
mov al, byte [rcx + 1]
inc rcx
test al, al
jne 0x14001f08b
test rsi, rsi
je 0x14001f3d3
sub rsi, rbp
cmp rsi, 0xf0
ja 0x14001f45d
lea rcx, [rsp + 0x150]
mov rdx, rbp
mov r8, rsi
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [str.dependentlibs.list]
lea r12, [rsp + rsi]
add r12, 0x151
movups xmmword [r12 - 1], xmm0
mov dword [r12 + 0xf], 0x747369
lea rcx, str.MOZ_RUN_GTEST
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
jne 0x14001f493
lea rbx, [rsp + 0x260]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0x104
lea rsi, [rsp + 0x150]
mov ecx, 0xfde9
xor edx, edx
mov r8, rsi
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rdx, [0x140054a5c]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
test rax, rax
je 0x14001f45d
mov r15, rax
mov byte [r12], 0
lea rcx, [rsp + 0x40]
mov edx, 0x104
mov r8, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x14001f350
mov rdi, r12
sub rdi, rsi
lea rbp, [rsp + 0x40]
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
test r14d, r14d
je 0x14001f271
cmp byte [rsp + 0x40], 0x23
je 0x14001f271
mov eax, dword [0x14005eca8]
cmp eax, 0x9ffffff
ja 0x14001f3ec
mov eax, dword [0x14005e03c]
cmp eax, 0xa000001
jae 0x14001f29a
shl r14, 0x20
movabs rax, 0xffffffff00000000
add rax, r14
sar rax, 0x20
cmp byte [rsp + rax + 0x40], 0xa
jne 0x14001f1e1
mov byte [rsp + rax + 0x40], 0
sar r14, 0x20
add r14, rdi
cmp r14, 0x104
ja 0x14001f3f3
mov rcx, r12
mov rdx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0x104
mov ecx, 0xfde9
xor edx, edx
lea r8, [rsp + 0x150]
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp r13d, 1
je 0x14001f290
mov rcx, rbx
xor edx, edx
mov r8d, 8
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
je 0x14001f417
mov rsi, rax
mov ecx, 0x10
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rcx, qword [0x14005eca0]
mov qword [rax + 8], rcx
mov qword [rax], rsi
mov qword [0x14005eca0], rax
call qword [sym.imp.mozglue.dll_void___cdecl_mozilla::PollPreXULSkeletonUIEvents_void_]
mov rcx, rbp
mov edx, 0x104
mov r8, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
jne 0x14001f17f
jmp 0x14001f350
mov rcx, rbx
call fcn.14001f4e0
jmp 0x14001f22e
mov r8d, 0x110
lea rcx, [rsp + 0x26c]
xor edx, edx
call sub.ntdll.dll_memset
movabs rax, 0xa0000011c
mov qword [rsp + 0x260], rax
mov dword [rsp + 0x268], 0
xor ecx, ecx
mov edx, 2
mov r8b, 3
mov rsi, qword [sym.imp.ntdll.dll_VerSetConditionMask]
call rsi
mov rcx, rax
mov edx, 1
mov r8b, 3
call rsi
mov rcx, rax
mov edx, 0x20
mov r8b, 3
call rsi
mov rcx, rax
mov edx, 0x10
mov r8b, 3
call rsi
mov rcx, rbx
mov edx, 0x33
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
setne al
lea rcx, [0x14005eca8]
lea rdx, [0x14005e03c]
cmove rcx, rdx
mov edx, 0xa000000
xchg dword [rcx], edx
test al, al
je 0x14001f1c0
cmp dword [rsp + 0x40], 0x2d697061
jne 0x14001f1c0
jmp 0x14001f271
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x14005eca0]
mov rcx, qword [rax]
lea rdx, str.XRE_GetBootstrap
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001f4bb
lea rsi, [rsp + 0x260]
mov qword [rsi], 0
mov rcx, rsi
call qword [case.0x14002bdde.0]
mov r15, qword [rsp + 0x38]
mov byte [r15 + 8], 0
mov rax, qword [rsi]
mov qword [r15], rax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.mozglue.dll_free]
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.14002c730
mov rax, r15
add rsp, 0x478
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [0x140052981]
lea r12, [rsp + 0x150]
movaps xmmword [r12], xmm0
jmp 0x14001f0e5
mov al, 1
jmp 0x14001f335
mov r14d, 0x80004005
xor esi, esi
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov r15, qword [rsp + 0x38]
mov byte [r15 + 8], 1
mov byte [r15 + 4], sil
mov dword [r15], r14d
jmp 0x14001f3a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
mov rdi, qword [0x14005eca0]
mov sil, 1
test rdi, rdi
je 0x14001f3fb
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbp, qword [sym.imp.mozglue.dll_free]
mov rcx, qword [rdi]
call rbx
mov rcx, qword [0x14005eca0]
mov rdi, qword [rcx + 8]
mov qword [0x14005eca0], rdi
call rbp
test rdi, rdi
jne 0x14001f43d
jmp 0x14001f3fb
mov r14d, 0x80004005
xor esi, esi
jmp 0x14001f404
mov byte [r15 + 8], 1
mov byte [r15 + 4], 0
mov dword [r15], 0x80070057
jmp 0x14001f3ac
mov byte [r15 + 8], 1
mov byte [r15 + 4], 0
mov dword [r15], 0x80520009
jmp 0x14001f3ac
lea rcx, [rsp + 0x150]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + rax + 0x150], 0x6574672e
mov dword [rsp + rax + 0x153], 0x747365
jmp 0x14001f104
mov r15, qword [rsp + 0x38]
mov byte [r15 + 8], 1
mov byte [r15 + 4], 0
mov dword [r15], 0x80040111
jmp 0x14001f3a1