Function at 0x14001f7f0
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 r12, rcx
mov rax, qword [0x140064030]
xor rax, rsp
mov qword [rsp + 0x470], rax
test rdx, rdx
je 0x14001fc82
mov ebx, r8d
mov rsi, rdx
mov rcx, rdx
mov edx, 0x5c
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x14001fc9b
mov r14, rax
sub r14, rsi
lea r15, [r14 + 1]
lea rcx, [r14 + 9]
call qword [sym.imp.mozglue.dll_malloc]
mov r13, rax
mov rcx, rax
mov rdx, rsi
mov r8, r15
call sub.ntdll.dll_memcpy
movabs rax, 0x6c6c642e6c7578
mov qword [r13 + r14 + 1], rax
mov al, byte [r13]
test al, al
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
je 0x14001fbe9
xor esi, esi
mov rcx, r13
cmp al, 0x2f
cmove rsi, rcx
cmp al, 0x5c
cmove rsi, rcx
mov al, byte [rcx + 1]
inc rcx
test al, al
jne 0x14001f88c
test rsi, rsi
je 0x14001fbe9
sub rsi, r13
cmp rsi, 0xf0
ja 0x14001fc79
lea rcx, [rsp + 0x150]
mov rdx, r13
mov r8, rsi
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [str.dependentlibs.list]
lea rdi, [rsp + rsi]
add rdi, 0x151
movups xmmword [rdi - 1], xmm0
mov dword [rdi + 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 0x14001fcb4
lea r12, [rsp + 0x260]
mov qword [rsp + 0x20], r12
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, [0x14005a08a]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
test rax, rax
je 0x14001fc79
mov r14, rax
mov byte [rdi], 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 0x14001fb58
mov r15, rdi
sub r15, rsi
lea rbp, [rsp + 0x40]
movabs r13, 0xffffffff00000000
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rsi, rax
test esi, esi
je 0x14001fa6b
cmp byte [rsp + 0x40], 0x23
je 0x14001fa6b
mov eax, dword [0x140064ce0]
cmp eax, 0x9ffffff
ja 0x14001fc00
mov eax, dword [0x14006404c]
cmp eax, 0xa000001
jae 0x14001fa94
shl rsi, 0x20
lea rax, [rsi + r13]
sar rax, 0x20
cmp byte [rsp + rax + 0x40], 0xa
jne 0x14001f9dc
mov byte [rsp + rax + 0x40], 0
sar rsi, 0x20
add rsi, r15
cmp rsi, 0x104
ja 0x14001fc07
mov rcx, rdi
mov rdx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov qword [rsp + 0x20], r12
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 ebx, 1
je 0x14001fa8a
mov rcx, r12
xor edx, edx
mov r8d, 8
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
je 0x14001fc32
mov rsi, rax
mov ecx, 0x10
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rcx, qword [0x140064cd8]
mov qword [rax + 8], rcx
mov qword [rax], rsi
mov qword [0x140064cd8], rax
call qword [sym.imp.mozglue.dll_void___cdecl_mozilla::PollPreXULSkeletonUIEvents_void_]
mov rcx, rbp
mov edx, 0x104
mov r8, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
jne 0x14001f984
jmp 0x14001fb58
mov rcx, r12
call fcn.14001fd20
jmp 0x14001fa28
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 r13, qword [sym.imp.ntdll.dll_VerSetConditionMask]
call r13
mov rcx, rax
mov edx, 1
mov r8b, 3
call r13
mov rcx, rax
mov edx, 0x20
mov r8b, 3
call r13
mov rcx, rax
mov edx, 0x10
mov r8b, 3
call r13
mov rcx, r12
mov edx, 0x33
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
setne al
lea rcx, [0x14006404c]
lea rdx, [0x140064ce0]
cmovne rcx, rdx
mov edx, 0xa000000
xchg dword [rcx], edx
test al, al
movabs r13, 0xffffffff00000000
je 0x14001f9c4
cmp dword [rsp + 0x40], 0x2d697061
jne 0x14001f9c4
jmp 0x14001fa6b
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x140064cd8]
test rax, rax
je 0x14001fcdc
mov rcx, qword [rax]
lea rdx, str.XRE_GetBootstrap
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
je 0x14001fcfa
lea rsi, [rsp + 0x260]
mov qword [rsi], 0
mov rcx, rsi
call qword [0x14006a010]
mov byte [r12 + 8], 0
mov rax, qword [rsi]
mov qword [r12], rax
mov rcx, rdi
call qword [sym.imp.mozglue.dll_free]
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.140030090
mov rax, r12
add rsp, 0x478
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [0x140057f71]
lea rdi, [rsp + 0x150]
movaps xmmword [rdi], xmm0
jmp 0x14001f8e4
mov al, 1
jmp 0x14001fb33
mov esi, 0x80004005
xor edi, edi
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov r12, qword [rsp + 0x38]
mov byte [r12 + 8], 1
mov byte [r12 + 4], dil
mov dword [r12], esi
mov rdi, qword [rsp + 0x30]
jmp 0x14001fbb9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov r12, qword [0x140064cd8]
mov dil, 1
test r12, r12
je 0x14001fc0e
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov r15, qword [sym.imp.mozglue.dll_free]
mov rcx, qword [r12]
call rbx
mov rcx, qword [0x140064cd8]
mov r12, qword [rcx + 8]
mov qword [0x140064cd8], r12
call r15
test r12, r12
jne 0x14001fc57
jmp 0x14001fc0e
mov esi, 0x80004005
xor edi, edi
jmp 0x14001fc17
mov byte [r12 + 8], 1
mov byte [r12 + 4], 0
mov dword [r12], 0x80070057
jmp 0x14001fbc2
mov byte [r12 + 8], 1
mov byte [r12 + 4], 0
mov dword [r12], 0x80520009
jmp 0x14001fbc2
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 0x14001f901
mov r12, qword [rsp + 0x38]
mov byte [r12 + 8], 1
mov byte [r12 + 4], 0
mov dword [r12], 0x80040111
jmp 0x14001fc2b
mov byte [r12 + 8], 1
mov byte [r12 + 4], 0
mov dword [r12], 0x80040111
jmp 0x14001fbb9