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

Disassembly:
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14003d010]
xor rax, rsp
mov qword [rbp + 0x70], rax
xor edx, edx
lea rcx, [rsp + 0x54]
mov r8d, 0x118
call fcn.140008260
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x1400046a8
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
xor eax, eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x1400048a1
sub eax, 1
je 0x140004851
cmp eax, 1
je 0x1400046f9
lea rcx, str.unkown_windows_version_n
jmp 0x1400048a8
cmp dword [rsp + 0x54], 0xa
jne 0x140004728
cmp dword [rsp + 0x58], 0
jne 0x1400048ad
cmp dword [rsp + 0x5c], 0x55f0
lea rcx, str.Windows_10
jb 0x140004723
lea rcx, str.Windows_11
call fcn.1400012c0
cmp dword [rsp + 0x54], 6
jne 0x1400047d9
mov eax, dword [rsp + 0x58]
cmp eax, 3
jne 0x140004762
cmp byte [rbp + 0x6a], 1
lea rax, str.Windows_Server_2012_R2
lea rcx, str.Windows_8.1
cmovne rcx, rax
call fcn.1400012c0
cmp dword [rsp + 0x54], 6
jne 0x1400047d9
mov eax, dword [rsp + 0x58]
cmp eax, 2
jne 0x14000478d
cmp byte [rbp + 0x6a], 1
lea rax, str.Windows_Server_2012
lea rcx, str.Windows_8
cmovne rcx, rax
call fcn.1400012c0
cmp dword [rsp + 0x54], 6
jne 0x1400047d9
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x1400047b8
cmp byte [rbp + 0x6a], 1
lea rax, str.Windows_Server_2008_2011
lea rcx, str.Windows_7
cmovne rcx, rax
call fcn.1400012c0
cmp dword [rsp + 0x54], 6
jne 0x1400047d9
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x1400048ad
cmp byte [rbp + 0x6a], 1
lea rcx, str.Windows_Vista
je 0x1400047d4
lea rcx, str.Windows_Server_2008
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x140004841
mov eax, dword [rsp + 0x58]
cmp eax, 2
jne 0x140004815
cmp byte [rbp + 0x6a], 1
jne 0x1400047fe
cmp word [rsp + 0x20], 9
lea rcx, str.Microsoft_Windows_XP_Professional_x64_Edition
je 0x140004805
lea rcx, str.Microsoft_Windows_Server_2003_
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x140004841
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x140004831
lea rcx, str.Microsoft_Windows_XP
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x140004841
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x1400048ad
lea rcx, str.Microsoft_Windows_2000
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
ja 0x1400048ad
lea rcx, str.Microsoft_Windows_NT
jmp 0x1400048a8
cmp dword [rsp + 0x54], 4
jne 0x1400048ad
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x140004877
lea rcx, str.Microsoft_Windows_95
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
jne 0x1400048ad
mov eax, dword [rsp + 0x58]
cmp eax, 0xa
jne 0x140004893
lea rcx, str.Microsoft_Windows_98
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
jne 0x1400048ad
mov eax, dword [rsp + 0x58]
cmp eax, 0x5a
jne 0x1400048ad
lea rcx, str.Microsoft_Windows_Millennium_Edition_n
jmp 0x1400048a8
lea rcx, str.Microsoft_Win32s_n
call fcn.1400012c0
mov al, 1
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140005010
add rsp, 0x180
pop rbp
ret