Function at 0x1400030f0
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 r14, rcx
mov r15, qword [0x1400f6380]
mov rax, qword [r15]
xor rax, rsp
mov qword [rsp + 0x470], rax
test rdx, rdx
je 0x1400031fd
mov esi, r8d
mov rbx, rdx
mov rcx, rdx
mov edx, 0x5c
call sub.api_ms_win_crt_private_l1_1_0.dll_strrchr
test rax, rax
je 0x1400034c1
mov rbp, rax
mov r12d, esi
sub rbp, rbx
lea rdi, [rbp + 1]
lea rcx, [rbp + 9]
call sub.mozglue.dll_malloc
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sub.ntdll.dll_memcpy
movabs rax, 0x6c6c642e6c7578
mov qword [rsi + rbp + 1], rax
mov al, byte [rsi]
test al, al
je 0x140003213
xor ebx, ebx
mov rcx, rsi
nop word cs:[rax + rax]
nop
cmp al, 0x2f
cmove rbx, rcx
cmp al, 0x5c
cmove rbx, rcx
movzx eax, byte [rcx + 1]
add rcx, 1
test al, al
jne 0x140003190
test rbx, rbx
je 0x140003213
sub rbx, rsi
cmp rbx, 0xf0
ja 0x1400034d7
lea rcx, [rsp + 0x150]
mov r9d, 0x104
mov rdx, rsi
mov r8, rbx
call fcn.1400723e0
movups xmm0, xmmword [0x1400f63d7]
movups xmmword [rsp + rbx + 0x150], xmm0
mov dword [rsp + rbx + 0x160], 0x747369
lea rdi, [rsp + rbx]
add rdi, 0x151
jmp 0x140003235
mov byte [r14 + 8], 1
mov byte [r14 + 4], 0
mov dword [r14], 0x80070057
jmp 0x1400035fc
lea rdi, [rsp + 0x150]
movups xmm0, xmmword [str.dependentlibs.list]
movaps xmmword [rsp + 0x150], xmm0
mov dword [rsp + 0x15f], 0x747369
lea rcx, str.MOZ_RUN_GTEST
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
test rax, rax
je 0x140003260
lea rdx, str..gtest
lea rcx, [rsp + 0x150]
mov r8d, 0x104
call fcn.140072480
lea rbp, [rsp + 0x260]
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x28], 0x104
lea r8, [rsp + 0x150]
mov ecx, 0xfde9
xor edx, edx
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rdx, [0x1400f6414]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
test rax, rax
je 0x1400034d7
mov rbx, rax
mov qword [rsp + 0x30], rsi
mov byte [rdi], 0
lea rcx, [rsp + 0x40]
mov edx, 0x104
mov r8, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fgets
test rax, rax
je 0x1400034e2
mov r15, rdi
lea rax, [rsp + 0x150]
sub r15, rax
lea r13, [rsp + 0x40]
mov dword [rsp + 0x3c], r12d
jmp 0x140003309
mov rcx, r13
mov edx, 0x104
mov r8, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fgets
test rax, rax
je 0x1400034e7
mov rcx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r12, rax
test r12d, r12d
je 0x1400032f0
cmp byte [rsp + 0x40], 0x23
je 0x1400032f0
mov eax, dword [0x140130154]
cmp eax, 0x9ffffff
ja 0x1400033d9
mov eax, dword [0x14012c004]
cmp eax, 0xa000001
jb 0x140003400
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
mov dword [rsp + 0x374], 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, rbp
mov edx, 0x33
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
je 0x1400033e9
mov eax, 0xa000000
xchg dword [0x140130154], eax
cmp dword [rsp + 0x40], 0x2d697061
je 0x1400032f0
jmp 0x140003400
mov eax, 0xa000000
xchg dword [0x14012c004], eax
nop word cs:[rax + rax]
nop
shl r12, 0x20
movabs rax, 0xffffffff00000000
add rax, r12
sar rax, 0x20
cmp byte [rsp + rax + 0x40], 0xa
jne 0x140003421
mov byte [rsp + rax + 0x40], 0
sar r12, 0x20
add r12, r15
cmp r12, 0x104
ja 0x1400034f8
mov rsi, rdi
mov rcx, rdi
mov rdx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov qword [rsp + 0x20], rbp
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 dword [rsp + 0x3c], 1
jne 0x14000347a
mov rcx, rbp
call fcn.1400025b0
mov rcx, rbp
xor edx, edx
mov r8d, 8
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test rax, rax
je 0x140003508
mov rdi, rax
mov ecx, 0x10
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rcx, qword [0x14012e230]
mov qword [rax + 8], rcx
mov qword [rax], rdi
mov qword [0x14012e230], rax
call qword [method.mozilla.PollPreXULSkeletonUIEvents__]
mov rdi, rsi
jmp 0x1400032f0
mov byte [r14 + 8], 1
mov byte [r14 + 4], 0
mov dword [r14], 0x80520009
jmp 0x1400035fc
mov r13d, 0x80004005
jmp 0x1400035ba
mov dil, 1
jmp 0x140003557
mov r13d, 0x80004005
mov dil, 1
xor r15d, r15d
mov r12b, 1
jmp 0x140003557
mov r13d, 0x80004005
mov r12b, 1
xor edi, edi
xor r15d, r15d
jmp 0x140003557
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
mov rbp, qword [0x14012e230]
mov r15b, 1
test rbp, rbp
je 0x140003552
mov rdi, qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop word [rax + rax]
mov rcx, qword [rbp]
call rdi
mov rcx, qword [0x14012e230]
mov rbp, qword [rcx + 8]
mov qword [0x14012e230], rbp
call sub.mozglue.dll_free
test rbp, rbp
jne 0x140003530
xor edi, edi
xor r12d, r12d
mov rcx, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
test dil, dil
je 0x1400035a8
mov rax, qword [0x14012e230]
mov rcx, qword [rax]
lea rdx, str.XRE_GetBootstrap
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400035d7
mov qword [rsp + 0x260], 0
lea rcx, [rsp + 0x260]
call rax
mov byte [r14 + 8], 0
mov rax, qword [rsp + 0x260]
mov qword [r14], rax
jmp 0x1400035e8
test r12b, 1
je 0x1400035c9
mov r15, qword [0x1400f6380]
mov rsi, qword [rsp + 0x30]
mov byte [r14 + 8], 1
mov byte [r14 + 4], 0
mov dword [r14], r13d
jmp 0x1400035f4
mov byte [r14 + 8], 1
mov byte [r14 + 4], r15b
mov dword [r14], r13d
jmp 0x1400035e8
mov byte [r14 + 8], 1
mov byte [r14 + 4], 0
mov dword [r14], 0x80040111
mov r15, qword [0x1400f6380]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call sub.mozglue.dll_free
mov rax, qword [rsp + 0x470]
xor rax, rsp
mov rcx, qword [r15]
cmp rcx, rax
jne 0x140003626
mov rax, r14
add rsp, 0x478
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140072349
int3