Function at 0x1400047f0
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.140008350
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x140004848
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 0x140004a41
sub eax, 1
je 0x1400049f1
cmp eax, 1
je 0x140004899
lea rcx, str.unkown_windows_version_n
jmp 0x140004a48
cmp dword [rsp + 0x54], 0xa
jne 0x1400048c8
cmp dword [rsp + 0x58], 0
jne 0x140004a4d
cmp dword [rsp + 0x5c], 0x55f0
lea rcx, str.Windows_10
jb 0x1400048c3
lea rcx, str.Windows_11
call fcn.1400012c0
cmp dword [rsp + 0x54], 6
jne 0x140004979
mov eax, dword [rsp + 0x58]
cmp eax, 3
jne 0x140004902
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 0x140004979
mov eax, dword [rsp + 0x58]
cmp eax, 2
jne 0x14000492d
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 0x140004979
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x140004958
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 0x140004979
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x140004a4d
cmp byte [rbp + 0x6a], 1
lea rcx, str.Windows_Vista
je 0x140004974
lea rcx, str.Windows_Server_2008
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x1400049e1
mov eax, dword [rsp + 0x58]
cmp eax, 2
jne 0x1400049b5
cmp byte [rbp + 0x6a], 1
jne 0x14000499e
cmp word [rsp + 0x20], 9
lea rcx, str.Microsoft_Windows_XP_Professional_x64_Edition
je 0x1400049a5
lea rcx, str.Microsoft_Windows_Server_2003_
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x1400049e1
mov eax, dword [rsp + 0x58]
cmp eax, 1
jne 0x1400049d1
lea rcx, str.Microsoft_Windows_XP
call fcn.1400012c0
cmp dword [rsp + 0x54], 5
jne 0x1400049e1
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x140004a4d
lea rcx, str.Microsoft_Windows_2000
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
ja 0x140004a4d
lea rcx, str.Microsoft_Windows_NT
jmp 0x140004a48
cmp dword [rsp + 0x54], 4
jne 0x140004a4d
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x140004a17
lea rcx, str.Microsoft_Windows_95
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
jne 0x140004a4d
mov eax, dword [rsp + 0x58]
cmp eax, 0xa
jne 0x140004a33
lea rcx, str.Microsoft_Windows_98
call fcn.1400012c0
cmp dword [rsp + 0x54], 4
jne 0x140004a4d
mov eax, dword [rsp + 0x58]
cmp eax, 0x5a
jne 0x140004a4d
lea rcx, str.Microsoft_Windows_Millennium_Edition_n
jmp 0x140004a48
lea rcx, str.Microsoft_Win32s_n
call fcn.1400012c0
mov al, 1
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400051b0
add rsp, 0x180
pop rbp
ret