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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x440c55
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x4557ec]
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], 0x45bc58
mov dword [0x45bcec], edi
mov dword [0x45bce8], eax
mov dword [ebp - 4], edi
mov dword [0x45bcf4], edi
mov dword [0x45bcf0], eax
mov dword [0x45bcfc], edi
mov dword [0x45bcf8], eax
mov dword [0x45bd04], edi
mov dword [0x45bd00], eax
mov dword [0x45bd0c], edi
mov dword [0x45bd08], eax
mov dword [0x45bd14], edi
mov dword [0x45bd10], eax
mov dword [0x45bd1c], edi
mov dword [0x45bd18], eax
mov dword [0x45bd24], edi
mov dword [0x45bd20], eax
mov eax, vtable.CPen.0
mov dword [0x45bd2c], edi
mov dword [0x45bd28], eax
mov dword [0x45bd34], edi
mov dword [0x45bd30], eax
mov dword [0x45bd3c], edi
mov dword [0x45bd38], eax
mov eax, vtable.CFont.0
mov dword [0x45bd64], edi
mov dword [0x45bd68], edi
mov dword [0x45bd70], edi
mov dword [0x45bd6c], eax
mov dword [0x45bd78], edi
mov dword [0x45bd74], eax
mov dword [0x45bd80], edi
mov dword [0x45bd7c], eax
mov dword [0x45bd88], edi
mov dword [0x45bd84], eax
mov dword [0x45bd90], edi
mov dword [0x45bd8c], eax
mov dword [0x45bd98], edi
mov dword [0x45bd94], eax
mov dword [0x45bda0], edi
mov dword [0x45bd9c], eax
mov dword [0x45bda8], edi
mov dword [0x45bda4], eax
mov dword [0x45bdb0], edi
mov dword [0x45bdac], eax
mov dword [0x45bdb8], edi
mov dword [0x45bdb4], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xa4]
push eax
mov dword [0x45bdbc], edi
mov dword [0x45bdc0], edi
mov dword [0x45bdc4], edi
mov dword [0x45bdc8], edi
mov dword [ebp - 0xa4], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x45bdd8], eax
mov eax, dword [ebp - 0xa0]
cmp eax, 6
sbb ecx, ecx
inc ecx
mov dword [0x45bdcc], ecx
cmp eax, 6
jne 0x4021a3
cmp dword [ebp - 0x9c], 1
jb 0x4021a9
mov eax, 1
mov dword [0x45bdd0], eax
mov dword [0x45bdd4], edi
mov dword [0x45be3c], 1
mov dword [0x45bc64], edi
mov dword [0x45bc60], edi
mov dword [0x45bc68], edi
call fcn.00402bd0
push 0x449084
call fcn.00403d20
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
mov dword [0x45be44], eax
cmp eax, edi
je 0x4021b0
push str.DrawThemeParentBackground
push eax
call ebx
mov edx, dword [0x45be44]
push str.DrawThemeTextEx
push edx
mov dword [0x45be4c], eax
call ebx
mov dword [0x45be50], eax
mov eax, dword [0x45be44]
push str.BufferedPaintInit
push eax
call ebx
mov ecx, dword [0x45be44]
push str.BufferedPaintUnInit
push ecx
mov dword [0x45be54], eax
call ebx
mov edx, dword [0x45be44]
push str.BeginBufferedPaint
push edx
mov dword [0x45be58], eax
call ebx
mov dword [0x45be5c], eax
mov eax, dword [0x45be44]
push str.EndBufferedPaint
push eax
call ebx
mov dword [0x45be60], eax
jmp 0x4021d4
ja 0x4020ea
xor eax, eax
jmp 0x4020ef
mov dword [0x45be4c], edi
mov dword [0x45be50], edi
mov dword [0x45be54], edi
mov dword [0x45be58], edi
mov dword [0x45be5c], edi
mov dword [0x45be60], edi
mov esi, str.dwmapi.dll
call fcn.00401e70
mov dword [0x45be48], eax
cmp eax, edi
je 0x40221c
push str.DwmExtendFrameIntoClientArea
push eax
call ebx
mov ecx, dword [0x45be48]
push str.DwmDefWindowProc
push ecx
mov dword [0x45be64], eax
call ebx
mov edx, dword [0x45be48]
push str.DwmIsCompositionEnabled
push edx
mov dword [0x45be68], eax
call ebx
mov dword [0x45be6c], eax
jmp 0x40222e
mov dword [0x45be64], edi
mov dword [0x45be68], edi
mov dword [0x45be6c], edi
mov dword [0x45bd40], edi
mov dword [0x45bd44], edi
mov dword [0x45bd48], edi
mov dword [0x45bd4c], edi
mov dword [0x45bd58], edi
mov dword [0x45bd5c], edi
mov dword [0x45bd60], edi
mov dword [0x45bd50], edi
mov dword [0x45bd54], edi
mov dword [0x45bc58], edi
mov dword [0x45bc5c], edi
call fcn.00402510
call fcn.00402b00
mov eax, 4
mov dword [0x45be08], eax
mov dword [0x45be14], eax
mov eax, 1
mov dword [0x45bde4], eax
mov dword [0x45be74], eax
mov dword [0x45bdf4], eax
mov dword [0x45bdf0], edi
mov dword [0x45be40], edi
mov dword [0x45be0c], 3
mov dword [0x45be10], 0xe
mov dword [0x45be18], 0x32
mov dword [0x45be1c], 0xffffffff
mov dword [0x45bddc], edi
mov dword [0x45bde0], edi
mov dword [0x45be70], edi
mov dword [0x45be78], edi
mov dword [0x45be7c], edi
mov eax, 0x45bc58
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.0042c37c
mov esp, ebp
pop ebp
ret