Function at 0x1400038d0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x1400130d8]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r14, rdx
mov ebp, ecx
xor edx, edx
lea rcx, [rsp + 0x44]
mov r8d, 0x110
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [rsp + 0x40], 0x114
mov dword [rsp + 0x30], eax
lea rdi, [0x1400136c0]
mov word [rsp + 0x34], ax
mov edx, 0x28
mov ecx, edx
xorps xmm0, xmm0
mov eax, 0x20
movzx eax, ax
rep stosw word [rdi], ax
xor edi, edi
mov ecx, edx
mov word [0x140013710], di
movups xmmword [rsp + 0x20], xmm0
call fcn.1400097fc
mov qword [0x140013f40], rax
mov esi, 0x80070000
lea r15d, [rsi + 0xe]
test rax, rax
jne 0x14000396d
mov ebx, r15d
jmp 0x140003a30
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
nop dword [rax + rax]
test eax, eax
jne 0x1400039ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x140013f40]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
call fcn.14000983c
mov qword [0x140013f40], rdi
jmp 0x1400039af
mov ebx, edi
test ebx, ebx
jne 0x140003a30
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
nop dword [rax + rax]
mov qword [0x140013720], rax
cmp rax, 0xffffffffffffffff
jne 0x1400039f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x140003a30
mov rax, qword [0x140013720]
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
nop dword [rax + rax]
test eax, eax
jne 0x140003a24
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x140003a30
movzx eax, word [rsp + 0x28]
mov word [0x1400136b8], ax
xor ecx, ecx
call fcn.140004e04
lea rcx, [0x14000d2d8]
call fcn.140004fe8
lea rcx, str.Copyright__C__Microsoft_Corporation.__All_rights_reserved.
call fcn.140004fe8
test ebx, ebx
jne 0x140003b6c
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
nop dword [rax + rax]
test eax, eax
jne 0x140003a8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
test ebx, ebx
jne 0x140003b6c
cmp dword [rsp + 0x44], 6
jb 0x140003b4f
jne 0x140003aa2
cmp dword [rsp + 0x48], 2
jb 0x140003b4f
lea rcx, str.Allocating_main_execution_class
call fcn.1400050b8
mov ecx, 0x58
call fcn.1400097fc
mov rsi, rax
test rax, rax
je 0x140003af3
lea rax, [0x14000b0b0]
mov dword [rsi + 8], 1
mov qword [rsi], rax
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x28], rdi
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x40], rdi
mov qword [rsi + 0x48], rdi
mov qword [rsi + 0x50], rdi
jmp 0x140003af6
mov rsi, rdi
test rsi, rsi
cmove ebx, r15d
mov ecx, ebx
call fcn.140005100
test ebx, ebx
jne 0x140003b38
lea rcx, str.Initializing_main_execution_class
call fcn.1400050b8
mov rcx, rsi
call fcn.140003bf0
mov ecx, eax
mov ebx, eax
call fcn.140005100
test ebx, ebx
jne 0x140003b38
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.140004198
mov ebx, eax
test rsi, rsi
je 0x140003b6c
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [0x14000b610]
jmp 0x140003b6c
lea rcx, str.This_application_is_only_designed_to_be_run_on_Windows_8_or_above.
call fcn.140004fe8
lea rcx, str.The_application_will_now_be_terminated.
call fcn.140004fe8
mov ebx, 0x80004005
xor ecx, ecx
call fcn.140004e40
lea rcx, [0x14000b740]
call fcn.140004fe8
mov rcx, qword [0x140013f40]
test rcx, rcx
je 0x140003baa
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop dword [rax + rax]
mov rcx, qword [0x140013f40]
call fcn.14000983c
mov qword [0x140013f40], rdi
test ebx, ebx
mov qword [0x140013720], rdi
mov qword [0x140013718], rdi
setne dil
mov eax, edi
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140009b80
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret