Function at 0x4251e0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5892ab
mov eax, dword fs:[0]
push eax
sub esp, 0x378
mov eax, dword [0x5f44b0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x16c], 0x11c
push 0x118
push 0
lea eax, [ebp - 0x168]
push eax
call fcn.0049e690
add esp, 0xc
lea ecx, [ebp - 0x16c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x595f2c
lea ecx, [ebp - 0x34]
call fcn.00401600
mov dword [ebp - 4], 1
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 0x52]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x44], 0
push 0x595f30
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x4252f5
push 0x595f44
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
je 0x4252e4
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x38]
push eax
call dword [ebp - 0x170]
mov ecx, dword [ebp - 0x14]
and ecx, 0xffff
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x44], 0
cmp dword [ebp - 0x40], 5
jne 0x425328
cmp dword [ebp - 0x10], 0
jbe 0x425328
cmp dword [ebp - 0x10], 1
jne 0x425316
push str.WindowsXP
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425323
push str.WindowsServer2003
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
cmp dword [ebp - 0x40], 6
jne 0x425425
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x384], eax
cmp dword [ebp - 0x384], 0
je 0x42535b
cmp dword [ebp - 0x384], 1
je 0x425382
cmp dword [ebp - 0x384], 2
je 0x425394
jmp 0x425425
cmp dword [ebp - 0x3c], 1
jne 0x425370
push str.WindowsVista
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x42537d
push str.WindowsServer2008
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
push str.Windows7
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
cmp dword [ebp - 0x48], 0x1ebb
jne 0x4253ac
push 0x595fe8
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
cmp dword [ebp - 0x48], 0x1f0b
ja 0x4253cd
cmp dword [ebp - 0x48], 0x1ee6
jb 0x4253cd
push 0x595ffc
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
cmp dword [ebp - 0x48], 0x1f13
jne 0x4253e5
push str.Windows8
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
cmp dword [ebp - 0x38], 0xa
jne 0x425406
cmp dword [ebp - 0x4c], 0
jne 0x425406
cmp dword [ebp - 0x14], 0
jb 0x425406
push str.Windows10
lea ecx, [ebp - 0x34]
call fcn.004036d0
jmp 0x425425
cmp dword [ebp - 0x38], 6
jne 0x425425
cmp dword [ebp - 0x4c], 3
jne 0x425425
cmp dword [ebp - 0x14], 0
jb 0x425425
push str.Windows8.1
lea ecx, [ebp - 0x34]
call fcn.004036d0
push 0x596050
lea ecx, [ebp - 0x34]
push ecx
call fcn.00405710
add esp, 8
movzx edx, al
test edx, edx
je 0x42548b
mov word [ebp - 0x37c], 0
push 0x206
push 0
lea eax, [ebp - 0x37a]
push eax
call fcn.0049e690
add esp, 0xc
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x40]
push eax
push str.Windows_d._d._d
lea ecx, [ebp - 0x37c]
push ecx
call fcn.0042abe0
add esp, 0x14
lea edx, [ebp - 0x37c]
push edx
lea ecx, [ebp - 0x34]
call fcn.004036d0
cmp dword [ebp + 0xc], 0
je 0x4254a0
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x34]
call fcn.00403850
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00403680
mov edx, dword [ebp - 0x380]
or edx, 1
mov dword [ebp - 0x380], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00401640
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0049e381
mov esp, ebp
pop ebp
ret