Function at 0x4119e0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4308d0
mov eax, dword fs:[0]
push eax
mov eax, 0x4520
call fcn.0041ce70
mov eax, dword [0x440440]
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 + 0x10]
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x4528], ecx
mov dword [ebp - 0x452c], eax
test edi, edi
jne 0x411a4c
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov edi, eax
test edi, edi
je 0x411a46
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 0x411a69
push esi
push ecx
push ebx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x411cb6
test ecx, ecx
mov dword [ebp - 0x4520], 0
mov eax, str.Error
mov dword [ebp - 0x451c], 0
cmovne eax, ecx
mov dword [ebp - 0x4508], 0
push 0x208
mov dword [ebp - 0x4528], 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.0041e7e0
push 0x208
lea eax, [ebp - 0x42f4]
push 0
push eax
call fcn.0041e7e0
push 0x208
lea eax, [ebp - 0x40e8]
push 0
push eax
call fcn.0041e7e0
push 0x208
lea eax, [ebp - 0x3ee0]
push 0
push eax
call fcn.0041e7e0
push 0x2698
lea eax, [ebp - 0x3cbc]
push 0
push eax
call fcn.0041e7e0
mov eax, dword [ebp - 0x452c]
add esp, 0x3c
test eax, eax
je 0x411bae
push 0x2f00
push eax
lea eax, [ebp - 0x4524]
push eax
call fcn.0041e260
add esp, 0xc
test esi, 0x7000000
je 0x411be1
mov eax, dword [ebp - 0x3cd8]
test eax, eax
je 0x411be1
cmp word [eax], 0
je 0x411be1
lea eax, [ebp - 0x4524]
push ebx
push eax
call fcn.00411ce0
add esp, 8
test eax, 0x7000000
jne 0x411cb6
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.0041e7e0
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 0x411c4f
cmp dword [ebp - 0x120], 6
jb 0x411c4f
or dword [ebp - 0x4510], 2
push 0x1500
lea eax, [ebp - 0x1624]
push 0
push eax
call fcn.0041e7e0
add esp, 0xc
lea eax, [ebp - 0x4524]
lea ecx, [ebp - 0x1624]
push eax
push esi
push dword [ebp - 0x4528]
push ebx
push edi
call fcn.0040de60
mov dword [ebp - 4], 0
test esi, 0x40000000
jne 0x411c9c
and esi, 0xf0
push esi
call dword [sym.imp.USER32.dll_MessageBeep]
lea ecx, [ebp - 0x1624]
call fcn.00410170
lea ecx, [ebp - 0x1624]
mov esi, eax
call fcn.0040fca0
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.0041cd0c
mov esp, ebp
pop ebp
ret