Function at 0x1400044dc
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 [0x140013058]
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, [0x140013640]
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 [0x140013690], di
movups xmmword [rsp + 0x20], xmm0
call fcn.140009acc
mov qword [0x140013ec0], rax
mov esi, 0x80070000
lea r15d, [rsi + 0xe]
test rax, rax
jne 0x140004579
mov ebx, r15d
jmp 0x14000463c
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
nop dword [rax + rax]
test eax, eax
jne 0x1400045b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x140013ec0]
movzx ebx, ax
or ebx, esi
test eax, eax
cmovle ebx, eax
call fcn.140009b0c
mov qword [0x140013ec0], rdi
jmp 0x1400045bb
mov ebx, edi
test ebx, ebx
jne 0x14000463c
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
nop dword [rax + rax]
mov qword [0x1400136a0], rax
cmp rax, 0xffffffffffffffff
jne 0x1400045fe
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 0x14000463c
mov rax, qword [0x1400136a0]
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
nop dword [rax + rax]
test eax, eax
jne 0x140004630
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 0x14000463c
movzx eax, word [rsp + 0x28]
mov word [0x140013638], ax
call fcn.140005dec
mov dword [0x140013ec8], edi
call fcn.140005e1c
lea rcx, [0x14000e7d8]
call fcn.140005bb0
lea rcx, str.Copyright__C__Microsoft_Corporation.__All_rights_reserved.
call fcn.140005bb0
test ebx, ebx
jne 0x1400047ac
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
nop dword [rax + rax]
test eax, eax
jne 0x14000469f
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 0x1400047ac
cmp dword [rsp + 0x44], 6
jb 0x14000478f
jne 0x1400046b7
cmp dword [rsp + 0x48], 2
jb 0x14000478f
lea rcx, str.Allocating_main_execution_class
call fcn.140005c80
mov ecx, 0x40
call fcn.140009acc
mov rsi, rax
test rax, rax
je 0x1400046fc
lea rax, [0x14000b140]
mov dword [rsi + 8], 1
mov qword [rsi], rax
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x20], rdi
mov qword [rsi + 0x28], rdi
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x38], rdi
jmp 0x1400046ff
mov rsi, rdi
test rsi, rsi
cmove ebx, r15d
mov ecx, ebx
call fcn.140005cc8
test ebx, ebx
jne 0x140004741
lea rcx, str.Initializing_main_execution_class
call fcn.140005c80
mov rcx, rsi
call fcn.140004830
mov ecx, eax
mov ebx, eax
call fcn.140005cc8
test ebx, ebx
jne 0x140004741
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.140004bcc
mov ebx, eax
test rsi, rsi
je 0x1400047ac
lea rcx, str.Detaching_and_releasing_modules
call fcn.140005c80
mov rcx, rsi
call fcn.1400051e8
mov ecx, eax
call fcn.140005cc8
lea rcx, str.Clearing_CLI
call fcn.140005c80
mov rcx, qword [rsi + 0x10]
call fcn.140008f70
mov ecx, eax
call fcn.140005cc8
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [0x14000b618]
jmp 0x1400047ac
lea rcx, str.This_application_is_only_designed_to_be_run_on_Windows_8_or_above.
call fcn.140005bb0
lea rcx, str.The_application_will_now_be_terminated.
call fcn.140005bb0
mov ebx, 0x80004005
xor ecx, ecx
call fcn.140005a08
lea rcx, [0x14000c13c]
call fcn.140005bb0
mov rcx, qword [0x140013ec0]
test rcx, rcx
je 0x1400047ea
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop dword [rax + rax]
mov rcx, qword [0x140013ec0]
call fcn.140009b0c
mov qword [0x140013ec0], rdi
test ebx, ebx
mov qword [0x1400136a0], rdi
mov qword [0x140013698], rdi
setne dil
mov eax, edi
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140009e50
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret