Function at 0x401ef0
Capabilities:
Check os version
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43b4b5
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x44d7b0]
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
xor edi, edi
mov eax, vtable.CBrush.0
mov dword [ebp - 0xa8], 0x451a38
mov dword [0x451acc], edi
mov dword [0x451ac8], eax
mov dword [ebp - 4], edi
mov dword [0x451ad4], edi
mov dword [0x451ad0], eax
mov dword [0x451adc], edi
mov dword [0x451ad8], eax
mov dword [0x451ae4], edi
mov dword [0x451ae0], eax
mov dword [0x451aec], edi
mov dword [0x451ae8], eax
mov dword [0x451af4], edi
mov dword [0x451af0], eax
mov dword [0x451afc], edi
mov dword [0x451af8], eax
mov dword [0x451b04], edi
mov dword [0x451b00], eax
mov eax, vtable.CPen.0
mov dword [0x451b0c], edi
mov dword [0x451b08], eax
mov dword [0x451b14], edi
mov dword [0x451b10], eax
mov dword [0x451b1c], edi
mov dword [0x451b18], eax
mov eax, vtable.CFont.0
mov dword [0x451b44], edi
mov dword [0x451b48], edi
mov dword [0x451b50], edi
mov dword [0x451b4c], eax
mov dword [0x451b58], edi
mov dword [0x451b54], eax
mov dword [0x451b60], edi
mov dword [0x451b5c], eax
mov dword [0x451b68], edi
mov dword [0x451b64], eax
mov dword [0x451b70], edi
mov dword [0x451b6c], eax
mov dword [0x451b78], edi
mov dword [0x451b74], eax
mov dword [0x451b80], edi
mov dword [0x451b7c], eax
mov dword [0x451b88], edi
mov dword [0x451b84], eax
mov dword [0x451b90], edi
mov dword [0x451b8c], eax
mov dword [0x451b98], edi
mov dword [0x451b94], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xa4]
push eax
mov dword [0x451b9c], edi
mov dword [0x451ba0], edi
mov dword [0x451ba4], edi
mov dword [0x451ba8], edi
mov dword [ebp - 0xa4], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x451bb8], eax
mov eax, dword [ebp - 0xa0]
cmp eax, 6
sbb ecx, ecx
inc ecx
mov dword [0x451bac], ecx
cmp eax, 6
jne 0x402153
cmp dword [ebp - 0x9c], 1
jb 0x402159
mov eax, 1
mov dword [0x451bb0], eax
mov dword [0x451bb4], edi
mov dword [0x451c1c], 1
mov dword [0x451a44], edi
mov dword [0x451a40], edi
mov dword [0x451a48], edi
call fcn.00402b80
push 0x442e0c
call fcn.00403d00
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
mov dword [0x451c24], eax
cmp eax, edi
je 0x402160
push str.DrawThemeParentBackground
push eax
call ebx
mov edx, dword [0x451c24]
push str.DrawThemeTextEx
push edx
mov dword [0x451c2c], eax
call ebx
mov dword [0x451c30], eax
mov eax, dword [0x451c24]
push str.BufferedPaintInit
push eax
call ebx
mov ecx, dword [0x451c24]
push str.BufferedPaintUnInit
push ecx
mov dword [0x451c34], eax
call ebx
mov edx, dword [0x451c24]
push str.BeginBufferedPaint
push edx
mov dword [0x451c38], eax
call ebx
mov dword [0x451c3c], eax
mov eax, dword [0x451c24]
push str.EndBufferedPaint
push eax
call ebx
mov dword [0x451c40], eax
jmp 0x402184
ja 0x40209a
xor eax, eax
jmp 0x40209f
mov dword [0x451c2c], edi
mov dword [0x451c30], edi
mov dword [0x451c34], edi
mov dword [0x451c38], edi
mov dword [0x451c3c], edi
mov dword [0x451c40], edi
mov esi, str.dwmapi.dll
call fcn.00401e40
mov dword [0x451c28], eax
cmp eax, edi
je 0x4021cc
push str.DwmExtendFrameIntoClientArea
push eax
call ebx
mov ecx, dword [0x451c28]
push str.DwmDefWindowProc
push ecx
mov dword [0x451c44], eax
call ebx
mov edx, dword [0x451c28]
push str.DwmIsCompositionEnabled
push edx
mov dword [0x451c48], eax
call ebx
mov dword [0x451c4c], eax
jmp 0x4021de
mov dword [0x451c44], edi
mov dword [0x451c48], edi
mov dword [0x451c4c], edi
mov dword [0x451b20], edi
mov dword [0x451b24], edi
mov dword [0x451b28], edi
mov dword [0x451b2c], edi
mov dword [0x451b38], edi
mov dword [0x451b3c], edi
mov dword [0x451b40], edi
mov dword [0x451b30], edi
mov dword [0x451b34], edi
mov dword [0x451a38], edi
mov dword [0x451a3c], edi
call fcn.004024c0
call fcn.00402ab0
mov eax, 4
mov dword [0x451be8], eax
mov dword [0x451bf4], eax
mov eax, 1
mov dword [0x451bc4], eax
mov dword [0x451c54], eax
mov dword [0x451bd4], eax
mov dword [0x451bd0], edi
mov dword [0x451c20], edi
mov dword [0x451bec], 3
mov dword [0x451bf0], 0xe
mov dword [0x451bf8], 0x32
mov dword [0x451bfc], 0xffffffff
mov dword [0x451bbc], edi
mov dword [0x451bc0], edi
mov dword [0x451c50], edi
mov dword [0x451c58], edi
mov dword [0x451c5c], edi
mov eax, 0x451a38
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.00427c0e
mov esp, ebp
pop ebp
ret