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

Disassembly:
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14003f010]
xor rax, rsp
mov qword [rbp + 0x70], rax
xor edx, edx
lea rcx, [rsp + 0x54]
mov r8d, 0x118
call fcn.140008300
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x140004748
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 0x140004941
sub eax, 1
je 0x1400048f1
cmp eax, 1
je 0x140004799
lea rcx, str.unkown_windows_version_n
jmp 0x140004948
cmp dword [rsp + 0x54], 0xa
jne 0x1400047c8
cmp dword [rsp + 0x58], 0
jne 0x14000494d
cmp dword [rsp + 0x5c], 0x55f0
lea rcx, str.Windows_10
jb 0x1400047c3
lea rcx, str.Windows_11
call fcn.1400012c0
cmp dword [rsp + 0x54], 6
jne 0x140004879
mov eax, dword [rsp + 0x58]
cmp eax, 3
jne 0x140004802
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 0x140004879
mov eax, dword [rsp + 0x58]
cmp eax, 2
jne 0x14000482d
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 0x140004879
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x140004858
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 0x140004879
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x14000494d
cmp byte [rbp + 0x6a], 1
lea rcx, str.Windows_Vista
je 0x140004874
lea rcx, str.Windows_Server_2008
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x1400048e1
mov eax, dword [rsp + 0x58]
cmp eax, 2
jne 0x1400048b5
cmp byte [rbp + 0x6a], 1
jne 0x14000489e
cmp word [rsp + 0x20], 9
lea rcx, str.Microsoft_Windows_XP_Professional_x64_Edition
je 0x1400048a5
lea rcx, str.Microsoft_Windows_Server_2003_
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x1400048e1
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x1400048d1
lea rcx, str.Microsoft_Windows_XP
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x1400048e1
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x14000494d
lea rcx, str.Microsoft_Windows_2000
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
ja 0x14000494d
lea rcx, str.Microsoft_Windows_NT
jmp 0x140004948
cmp dword [rsp + 0x54], 4
jne 0x14000494d
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x140004917
lea rcx, str.Microsoft_Windows_95
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
jne 0x14000494d
mov eax, dword [rsp + 0x58]
cmp eax, 0xa
jne 0x140004933
lea rcx, str.Microsoft_Windows_98
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
jne 0x14000494d
mov eax, dword [rsp + 0x58]
cmp eax, 0x5a
jne 0x14000494d
lea rcx, str.Microsoft_Windows_Millennium_Edition_n
jmp 0x140004948
lea rcx, str.Microsoft_Win32s_n
call fcn.1400012c0
mov al, 1
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400050b0
add rsp, 0x180
pop rbp
ret