Function at 0x140005150
Capabilities:
Check os version
Get system information on windows

Disassembly:
endbr64
push r14
mov eax, 0x2880
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.14004da90
sub rsp, rax
mov rbp, qword [0x14013cc10]
xor edx, edx
mov r8d, 0x2710
mov rax, qword [rbp]
mov qword [rsp + 0x2878], rax
xor eax, eax
mov rbx, rcx
lea rdi, [rsp + 0x78]
lea r12, [rsp + 0x40]
lea rsi, [rsp + 0x160]
mov rcx, rsi
call sym.memset
pxor xmm0, xmm0
xor eax, eax
mov ecx, 0x12
mov qword [rsp + 0x74], 0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x104], 0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
rep stosq qword [rdi], rax
mov dword [rsp + 0x70], 0x9c
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x140005243
lea r14, str.kernel32.dll
mov r13, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, r14
call r13
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetNativeSystemInfo
mov rcx, rax
call rdi
mov rcx, r12
test rax, rax
je 0x140005278
call rax
cmp dword [rsp + 0x80], 2
jne 0x140005237
mov r10d, dword [rsp + 0x74]
cmp r10d, 4
ja 0x140005280
lea rcx, str.This_sample_does_not_support_this_version_of_Windows._n
call sym.printf_char_const__::_
mov rdx, rsi
mov rcx, rbx
call fcn.140003f30
mov rax, qword [rsp + 0x2878]
sub rax, qword [rbp]
jne 0x140005a50
mov rax, rbx
add rsp, 0x2880
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x140005222
lea rax, str.Microsoft
mov r8, rsi
lea r9, [rax + 0x2710]
jmp 0x1400052ab
add rax, 1
mov byte [r8], dl
lea rcx, [r8 + 1]
cmp rax, r9
je 0x1400052b2
mov r8, rcx
movzx edx, byte [rax]
test dl, dl
jne 0x140005298
mov byte [r8], 0
cmp r10d, 0xa
je 0x140005660
cmp r10d, 6
je 0x1400053c8
cmp r10d, 5
je 0x140005350
cmp byte [rsp + 0x84], 0
jne 0x1400056a0
mov r9d, dword [rsp + 0x7c]
lea rdi, [rsp + 0x110]
mov edx, 0x50
lea r8, str.__build__d_
mov rcx, rdi
call sym.StringCchPrintfA
mov r8, rdi
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
cmp dword [rsp + 0x74], 5
jbe 0x140005243
movzx eax, word [rsp + 0x40]
cmp ax, 9
je 0x14000574b
test ax, ax
jne 0x140005243
lea r8, str.__32_bit
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005243
mov eax, dword [rsp + 0x78]
cmp eax, 2
je 0x1400057ae
cmp eax, 1
je 0x140005764
test eax, eax
jne 0x1400052d4
lea r8, str.Windows_2000
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
cmp byte [rsp + 0x10a], 1
je 0x140005953
movzx eax, word [rsp + 0x108]
test al, 0x80
jne 0x140005921
test al, 2
je 0x14000593a
lea r8, str.Advanced_Server
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x1400052d4
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x1400053f6
cmp byte [rsp + 0x10a], 1
je 0x14000587a
lea r8, str.Windows_Server_2008
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov eax, dword [rsp + 0x78]
cmp eax, 1
je 0x140005720
cmp eax, 2
je 0x1400056f5
cmp eax, 3
je 0x1400056ce
mov rcx, r14
call r13
lea rdx, str.GetProductInfo
mov rcx, rax
call rdi
lea rdx, [rsp + 0x3c]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdx
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x78]
call rax
cmp dword [rsp + 0x3c], 0x30
ja case.0x140005456.60
mov eax, dword [rsp + 0x3c]
lea rdx, [0x140099400]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
notrack jmp rax
lea r8, str.Web_Server_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
nop dword [rax]
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Enterprise_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Home_Premium_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Professional
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Home_Basic_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Ultimate_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Small_Business_Server
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Datacenter_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Standard_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Business_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Small_Business_Server_Premium_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Cluster_Server_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Enterprise_Edition_for_Itanium_based_Systems
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Enterprise_Edition__core_installation_
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Standard_Edition__core_installation_
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Datacenter_Edition__core_installation_
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
lea r8, str.Starter_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052ca
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x1400052d4
cmp byte [rsp + 0x10a], 1
je 0x140005897
lea r8, str.Windows_Server_2016
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052c0
mov rcx, rsi
lea r8, [0x14009877f]
mov edx, 0x2710
call sym.StringCatWorkerA.isra.0
lea r8, [rsp + 0x84]
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x1400052e2
cmp byte [rsp + 0x10a], 1
je 0x1400058ef
lea r8, str.Windows_Server_2012_R2
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005411
cmp byte [rsp + 0x10a], 1
je 0x1400058b5
lea r8, str.Windows_Server_2012
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov eax, dword [rsp + 0x78]
jmp 0x140005408
cmp byte [rsp + 0x10a], 1
je 0x1400058d2
lea r8, str.Windows_Server_2008_R2
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov eax, dword [rsp + 0x78]
jmp 0x1400053ff
lea r8, str.__64_bit
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005243
lea r8, str.Windows_XP
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
test byte [rsp + 0x109], 2
je 0x140005908
lea r8, str.Home_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
cmp dword [rsp + 0x74], 5
jne 0x1400052d4
mov eax, dword [rsp + 0x78]
jmp 0x140005366
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x14000596c
movzx eax, word [rsp + 0x108]
test ah, 0x20
jne 0x140005985
test ax, ax
js 0x1400059ec
cmp byte [rsp + 0x10a], 1
jne 0x1400057f1
cmp word [rsp + 0x40], 9
je 0x140005aa0
lea r8, str.Windows_Server_2003_
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
cmp byte [rsp + 0x10a], 1
je 0x140005866
movzx edx, word [rsp + 0x40]
movzx eax, word [rsp + 0x108]
cmp dx, 6
je 0x14000599e
cmp dx, 9
je 0x1400059c3
test ah, 0x40
jne 0x140005a05
test al, 0x80
jne 0x140005a37
test al, 2
jne 0x140005ab9
test ah, 4
je 0x140005a87
lea r8, str.Web_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
cmp dword [rsp + 0x74], 5
jne 0x1400052d4
mov eax, dword [rsp + 0x78]
jmp 0x14000535d
lea r8, str.Windows_Vista
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov eax, dword [rsp + 0x78]
jmp 0x1400053f6
lea r8, str.Windows_10
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov r10d, dword [rsp + 0x74]
jmp 0x1400052c0
lea r8, str.Windows_8
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov eax, dword [rsp + 0x78]
jmp 0x140005408
lea r8, str.Windows_7
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
mov eax, dword [rsp + 0x78]
jmp 0x1400053ff
lea r8, str.Windows_8.1
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005411
lea r8, str.Professional
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x14000579a
lea r8, str.Datacenter_Server
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x1400052d4
lea r8, str.Server
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x1400052d4
lea r8, str.Professional
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x1400052d4
lea r8, str.Windows_Server_2003_R2_
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005805
lea r8, str.Windows_Storage_Server_2003
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005805
test al, 0x80
jne 0x140005a1e
test al, 2
je 0x140005866
lea r8, str.Enterprise_Edition_for_Itanium_based_Systems
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
test al, 0x80
jne 0x140005a6e
test al, 2
je 0x140005a55
lea r8, str.Enterprise_x64_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
lea r8, str.Windows_Home_Server
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005805
lea r8, str.Compute_Cluster_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
lea r8, str.Datacenter_Edition_for_Itanium_based_Systems
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
lea r8, str.Datacenter_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
call dbg.__stack_chk_fail
lea r8, str.Standard_x64_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
lea r8, str.Datacenter_x64_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
lea r8, str.Standard_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866
lea r8, str.Windows_XP_Professional_x64_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005805
lea r8, str.Enterprise_Edition
mov edx, 0x2710
mov rcx, rsi
call sym.StringCatWorkerA.isra.0
jmp 0x140005866