Function at 0x412bb9
Capabilities:
Check os version

Disassembly:
push 0x348
mov eax, 0x5525e7
call fcn.00440364
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x330]
xor ebx, ebx
mov dword [ebp - 0x354], esi
push 0x118
push ebx
mov dword [ebp - 0x34c], ebx
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x334], 0x11c
call fcn.0041de80
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x554480
mov ecx, esi
call fcn.00401d30
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x348], eax
movzx eax, byte [ebp - 0x21a]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x340], ebx
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x328]
push str.ntdll.dll
mov dword [ebp - 0x34c], 1
mov dword [ebp - 0x338], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x412caa
push str.RtlGetNtVersionNumbers
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x412ca3
lea ecx, [ebp - 0x33c]
push ecx
lea ecx, [ebp - 0x344]
push ecx
lea ecx, [ebp - 0x340]
push ecx
call eax
movzx eax, word [ebp - 0x33c]
mov dword [ebp - 0x33c], eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x348]
mov edi, dword [ebp - 0x338]
cmp eax, 5
jne 0x412cf4
test edi, edi
je 0x412de6
cmp edi, 1
jne 0x412cde
push str.WindowsXP
call fcn.0042deed
pop ecx
push eax
push str.WindowsXP
jmp 0x412ddf
push str.WindowsServer2003
call fcn.0042deed
pop ecx
push eax
push str.WindowsServer2003
jmp 0x412ddf
cmp eax, 6
jne 0x412de6
mov eax, edi
sub eax, 0
je 0x412db2
sub eax, 1
je 0x412d9f
sub eax, 1
jne 0x412de6
cmp ebx, 0x1ebb
je 0x412d35
lea eax, [ebx - 0x1ee6]
cmp eax, 0x25
jbe 0x412d35
cmp ebx, 0x1f13
jne 0x412d55
mov edi, str.Windows8
push edi
call fcn.0042deed
pop ecx
push eax
push edi
mov ecx, esi
call fcn.004022b0
mov edi, dword [ebp - 0x338]
jmp 0x412de6
cmp dword [ebp - 0x340], 0xa
jne 0x412d7a
cmp dword [ebp - 0x344], 0
jne 0x412de6
push str.Windows10
call fcn.0042deed
pop ecx
push eax
push str.Windows10
jmp 0x412ddf
cmp dword [ebp - 0x340], 6
jne 0x412de6
cmp dword [ebp - 0x344], 3
jne 0x412de6
push str.Windows8.1
call fcn.0042deed
pop ecx
push eax
push str.Windows8.1
jmp 0x412ddf
push str.Windows7
call fcn.0042deed
pop ecx
push eax
push str.Windows7
jmp 0x412ddf
cmp dword [ebp - 0x350], 1
jne 0x412dce
push str.WindowsVista
call fcn.0042deed
pop ecx
push eax
push str.WindowsVista
jmp 0x412ddf
push str.WindowsServer2008
call fcn.0042deed
pop ecx
push eax
push str.WindowsServer2008
mov ecx, esi
call fcn.004022b0
push 0x554480
mov ecx, esi
call fcn.004098b2
test al, al
je 0x412e41
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0041de80
mov eax, dword [ebp - 0x348]
push ebx
push edi
push eax
lea eax, [ebp - 0x218]
push str.Windows_d._d._d
push eax
call fcn.00406f00
lea eax, [ebp - 0x218]
push eax
call fcn.0042deed
add esp, 0x24
mov ecx, esi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004022b0
cmp dword [ebp + 0xc], 0
je 0x412e63
lea eax, [ebp - 0x320]
push eax
call fcn.0042deed
pop ecx
push eax
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.00402130
mov eax, esi
call fcn.0044031f
ret