Function at 0x45b640
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ab870
mov eax, dword fs:[0]
push eax
mov eax, 0x4524
call fcn.0056ed20
mov eax, dword [0x6244f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x4528], ecx
mov dword [ebp - 0x452c], eax
test edi, edi
jne 0x45b6ac
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov edi, eax
test edi, edi
je 0x45b6a6
push edi
call dword [sym.imp.USER32.dll_GetLastActivePopup]
mov edi, eax
mov ecx, dword [ebp - 0x4528]
mov eax, esi
and eax, 0x1010
cmp eax, 0x1010
jne 0x45b6c9
push esi
push ebx
push ecx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45b90b
test ebx, ebx
mov dword [ebp - 0x4520], 0
mov eax, 0x5c6b70
mov dword [ebp - 0x451c], 0
cmovne eax, ebx
mov dword [ebp - 0x4508], 0
push 0x208
mov dword [ebp - 0x4530], eax
lea eax, [ebp - 0x4500]
push 0
push eax
mov dword [ebp - 0x450c], 0
mov dword [ebp - 0x3ccc], 0
mov dword [ebp - 0x3cd0], 0
mov dword [ebp - 0x4524], 0
mov dword [ebp - 0x4504], 0
mov dword [ebp - 0x42f8], 0
mov dword [ebp - 0x40ec], 0
mov dword [ebp - 0x4518], 0
mov dword [ebp - 0x4514], 0
mov dword [ebp - 0x4510], 0
mov dword [ebp - 0x3cd8], 0
mov dword [ebp - 0x3cd4], 0
mov dword [ebp - 0x3cc0], 0
mov dword [ebp - 0x3cc8], 0xffffffff
mov dword [ebp - 0x3cc4], 0xffffffff
call fcn.00570de0
push 0x208
lea eax, [ebp - 0x42f4]
push 0
push eax
call fcn.00570de0
push 0x208
lea eax, [ebp - 0x40e8]
push 0
push eax
call fcn.00570de0
push 0x208
lea eax, [ebp - 0x3ee0]
push 0
push eax
call fcn.00570de0
push 0x2698
lea eax, [ebp - 0x3cbc]
push 0
push eax
call fcn.00570de0
mov eax, dword [ebp - 0x452c]
add esp, 0x3c
test eax, eax
je 0x45b80e
push 0x2f00
push eax
lea eax, [ebp - 0x4524]
push eax
call fcn.00570860
add esp, 0xc
test esi, 0x7000000
je 0x45b847
mov eax, dword [ebp - 0x3cd8]
test eax, eax
je 0x45b847
cmp word [eax], 0
je 0x45b847
push dword [ebp - 0x3cd4]
push eax
lea eax, [ebp - 0x3ee0]
push eax
call fcn.0045b930
add esp, 0xc
test eax, 0x7000000
jne 0x45b90b
mov eax, dword [ebp - 0x4520]
mov ecx, 0xa
cmp eax, 0x3e8
push 0x110
cmovge eax, ecx
mov dword [ebp - 0x4520], eax
mov eax, dword [ebp - 0x451c]
cmp eax, 0x3e8
push 0
cmovge eax, ecx
mov dword [ebp - 0x451c], eax
lea eax, [ebp - 0x120]
push eax
call fcn.00570de0
add esp, 0xc
mov dword [ebp - 0x124], 0x114
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x45b8b5
cmp dword [ebp - 0x120], 6
jb 0x45b8b5
or dword [ebp - 0x4510], 2
lea eax, [ebp - 0x4524]
push eax
push esi
push dword [ebp - 0x4530]
lea ecx, [ebp - 0x1624]
push dword [ebp - 0x4528]
push edi
call fcn.00456f50
mov dword [ebp - 4], 0
test esi, 0x40000000
jne 0x45b8f1
and esi, 0xf0
push esi
call dword [sym.imp.USER32.dll_MessageBeep]
lea ecx, [ebp - 0x1624]
call fcn.00459db0
lea ecx, [ebp - 0x1624]
mov esi, eax
call fcn.00459870
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056e41f
mov esp, ebp
pop ebp
ret