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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4540b5
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x46ebd0]
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 - 0x128], 0x4737d8
mov dword [0x47386c], edi
mov dword [0x473868], eax
mov dword [ebp - 4], edi
mov dword [0x473874], edi
mov dword [0x473870], eax
mov dword [0x47387c], edi
mov dword [0x473878], eax
mov dword [0x473884], edi
mov dword [0x473880], eax
mov dword [0x47388c], edi
mov dword [0x473888], eax
mov dword [0x473894], edi
mov dword [0x473890], eax
mov dword [0x47389c], edi
mov dword [0x473898], eax
mov dword [0x4738a4], edi
mov dword [0x4738a0], eax
mov eax, vtable.CPen.0
mov dword [0x4738ac], edi
mov dword [0x4738a8], eax
mov dword [0x4738b4], edi
mov dword [0x4738b0], eax
mov dword [0x4738bc], edi
mov dword [0x4738b8], eax
mov eax, vtable.CFont.0
mov dword [0x4738e4], edi
mov dword [0x4738e8], edi
mov dword [0x4738f0], edi
mov dword [0x4738ec], eax
mov dword [0x4738f8], edi
mov dword [0x4738f4], eax
mov dword [0x473900], edi
mov dword [0x4738fc], eax
mov dword [0x473908], edi
mov dword [0x473904], eax
mov dword [0x473910], edi
mov dword [0x47390c], eax
mov dword [0x473918], edi
mov dword [0x473914], eax
mov dword [0x473920], edi
mov dword [0x47391c], eax
mov dword [0x473928], edi
mov dword [0x473924], eax
mov dword [0x473930], edi
mov dword [0x47392c], eax
mov dword [0x473938], edi
mov dword [0x473934], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x124]
push eax
mov dword [0x47393c], edi
mov dword [0x473940], edi
mov dword [0x473944], edi
mov dword [0x473948], edi
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x473958], eax
mov eax, dword [ebp - 0x120]
cmp eax, 6
sbb ecx, ecx
inc ecx
mov dword [0x47394c], ecx
cmp eax, 6
jne 0x4021f3
cmp dword [ebp - 0x11c], 1
jb 0x4021f9
mov eax, 1
mov dword [0x473950], eax
mov dword [0x473954], edi
mov dword [0x4739bc], 1
mov dword [0x4737e4], edi
mov dword [0x4737e0], edi
mov dword [0x4737e8], edi
call fcn.00402c20
push 0x45d4bc
call fcn.00404050
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
mov dword [0x4739c4], eax
cmp eax, edi
je 0x402200
push str.DrawThemeParentBackground
push eax
call ebx
mov edx, dword [0x4739c4]
push str.DrawThemeTextEx
push edx
mov dword [0x4739cc], eax
call ebx
mov dword [0x4739d0], eax
mov eax, dword [0x4739c4]
push str.BufferedPaintInit
push eax
call ebx
mov ecx, dword [0x4739c4]
push str.BufferedPaintUnInit
push ecx
mov dword [0x4739d4], eax
call ebx
mov edx, dword [0x4739c4]
push str.BeginBufferedPaint
push edx
mov dword [0x4739d8], eax
call ebx
mov dword [0x4739dc], eax
mov eax, dword [0x4739c4]
push str.EndBufferedPaint
push eax
call ebx
mov dword [0x4739e0], eax
jmp 0x402224
ja 0x40213a
xor eax, eax
jmp 0x40213f
mov dword [0x4739cc], edi
mov dword [0x4739d0], edi
mov dword [0x4739d4], edi
mov dword [0x4739d8], edi
mov dword [0x4739dc], edi
mov dword [0x4739e0], edi
mov esi, str.dwmapi.dll
call fcn.00401ee0
mov dword [0x4739c8], eax
cmp eax, edi
je 0x40226c
push str.DwmExtendFrameIntoClientArea
push eax
call ebx
mov ecx, dword [0x4739c8]
push str.DwmDefWindowProc
push ecx
mov dword [0x4739e4], eax
call ebx
mov edx, dword [0x4739c8]
push str.DwmIsCompositionEnabled
push edx
mov dword [0x4739e8], eax
call ebx
mov dword [0x4739ec], eax
jmp 0x40227e
mov dword [0x4739e4], edi
mov dword [0x4739e8], edi
mov dword [0x4739ec], edi
mov dword [0x4738c0], edi
mov dword [0x4738c4], edi
mov dword [0x4738c8], edi
mov dword [0x4738cc], edi
mov dword [0x4738d8], edi
mov dword [0x4738dc], edi
mov dword [0x4738e0], edi
mov dword [0x4738d0], edi
mov dword [0x4738d4], edi
mov dword [0x4737d8], edi
mov dword [0x4737dc], edi
call fcn.00402560
call fcn.00402b50
mov eax, 4
mov dword [0x473988], eax
mov dword [0x473994], eax
mov eax, 1
mov dword [0x473964], eax
mov dword [0x4739f4], eax
mov dword [0x473974], eax
mov dword [0x473970], edi
mov dword [0x4739c0], edi
mov dword [0x47398c], 3
mov dword [0x473990], 0xe
mov dword [0x473998], 0x32
mov dword [0x47399c], 0xffffffff
mov dword [0x47395c], edi
mov dword [0x473960], edi
mov dword [0x4739f0], edi
mov dword [0x4739f8], edi
mov dword [0x4739fc], edi
mov eax, 0x4737d8
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.00438b64
mov esp, ebp
pop ebp
ret