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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57d475
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x5e9db0]
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 esi, esi
mov eax, vtable.CBrush.0
mov dword [ebp - 0x128], 0x5f22f8
mov dword [0x5f238c], esi
mov dword [0x5f2388], eax
mov dword [ebp - 4], esi
mov dword [0x5f2394], esi
mov dword [0x5f2390], eax
mov dword [0x5f239c], esi
mov dword [0x5f2398], eax
mov dword [0x5f23a4], esi
mov dword [0x5f23a0], eax
mov dword [0x5f23ac], esi
mov dword [0x5f23a8], eax
mov dword [0x5f23b4], esi
mov dword [0x5f23b0], eax
mov dword [0x5f23bc], esi
mov dword [0x5f23b8], eax
mov dword [0x5f23c4], esi
mov dword [0x5f23c0], eax
mov eax, vtable.CPen.0
mov dword [0x5f23cc], esi
mov dword [0x5f23c8], eax
mov dword [0x5f23d4], esi
mov dword [0x5f23d0], eax
mov dword [0x5f23dc], esi
mov dword [0x5f23d8], eax
mov eax, vtable.CFont.0
mov dword [0x5f2404], esi
mov dword [0x5f2408], esi
mov dword [0x5f2410], esi
mov dword [0x5f240c], eax
mov dword [0x5f2418], esi
mov dword [0x5f2414], eax
mov dword [0x5f2420], esi
mov dword [0x5f241c], eax
mov dword [0x5f2428], esi
mov dword [0x5f2424], eax
mov dword [0x5f2430], esi
mov dword [0x5f242c], eax
mov dword [0x5f2438], esi
mov dword [0x5f2434], eax
mov dword [0x5f2440], esi
mov dword [0x5f243c], eax
mov dword [0x5f2448], esi
mov dword [0x5f2444], eax
mov dword [0x5f2450], esi
mov dword [0x5f244c], eax
mov dword [0x5f2458], esi
mov dword [0x5f2454], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x124]
push eax
mov dword [0x5f245c], esi
mov dword [0x5f2460], esi
mov dword [0x5f2464], esi
mov dword [0x5f2468], esi
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x5f2478], eax
mov eax, dword [ebp - 0x120]
cmp eax, 6
sbb ecx, ecx
inc ecx
mov dword [0x5f246c], ecx
lea ebx, [esi + 1]
cmp eax, 6
jne 0x402f13
cmp dword [ebp - 0x11c], ebx
jb 0x402f19
mov eax, ebx
mov ecx, 0x5f22f8
mov dword [0x5f2470], eax
mov dword [0x5f2474], esi
mov dword [0x5f24dc], ebx
mov dword [0x5f2304], esi
mov dword [0x5f2300], esi
mov dword [0x5f2308], esi
call fcn.00403970
push 0x5af980
call fcn.004024b0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
mov dword [0x5f24e4], eax
cmp eax, esi
je 0x402f20
push str.DrawThemeParentBackground
push eax
call edi
mov edx, dword [0x5f24e4]
push str.DrawThemeTextEx
push edx
mov dword [0x5f24ec], eax
call edi
mov dword [0x5f24f0], eax
mov eax, dword [0x5f24e4]
push str.BufferedPaintInit
push eax
call edi
mov ecx, dword [0x5f24e4]
push str.BufferedPaintUnInit
push ecx
mov dword [0x5f24f4], eax
call edi
mov edx, dword [0x5f24e4]
push str.BeginBufferedPaint
push edx
mov dword [0x5f24f8], eax
call edi
mov dword [0x5f24fc], eax
mov eax, dword [0x5f24e4]
push str.EndBufferedPaint
push eax
call edi
mov dword [0x5f2500], eax
jmp 0x402f44
ja 0x402e5c
xor eax, eax
jmp 0x402e5e
mov dword [0x5f24ec], esi
mov dword [0x5f24f0], esi
mov dword [0x5f24f4], esi
mov dword [0x5f24f8], esi
mov dword [0x5f24fc], esi
mov dword [0x5f2500], esi
call fcn.00402bf0
mov dword [0x5f24e8], eax
cmp eax, esi
je 0x402f87
push str.DwmExtendFrameIntoClientArea
push eax
call edi
mov ecx, dword [0x5f24e8]
push str.DwmDefWindowProc
push ecx
mov dword [0x5f2504], eax
call edi
mov edx, dword [0x5f24e8]
push str.DwmIsCompositionEnabled
push edx
mov dword [0x5f2508], eax
call edi
mov dword [0x5f250c], eax
jmp 0x402f99
mov dword [0x5f2504], esi
mov dword [0x5f2508], esi
mov dword [0x5f250c], esi
mov ecx, 0x5f22f8
mov dword [0x5f23e0], esi
mov dword [0x5f23e4], esi
mov dword [0x5f23e8], esi
mov dword [0x5f23ec], esi
mov dword [0x5f23f8], esi
mov dword [0x5f23fc], esi
mov dword [0x5f2400], esi
mov dword [0x5f23f0], esi
mov dword [0x5f23f4], esi
mov dword [0x5f22f8], esi
mov dword [0x5f22fc], esi
call fcn.00403290
mov ecx, 0x5f22f8
call fcn.00403890
mov eax, 4
mov dword [0x5f24a8], eax
mov dword [0x5f24b4], eax
mov dword [0x5f2490], esi
mov dword [0x5f24e0], esi
mov dword [0x5f24ac], 3
mov dword [0x5f24b0], 0xe
mov dword [0x5f24b8], 0x32
mov dword [0x5f24bc], 0xffffffff
mov dword [0x5f247c], esi
mov dword [0x5f2480], esi
mov dword [0x5f2484], ebx
mov dword [0x5f2510], esi
mov dword [0x5f2518], esi
mov dword [0x5f251c], esi
mov dword [0x5f2514], ebx
mov dword [0x5f2494], ebx
mov eax, 0x5f22f8
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.0054f72c
mov esp, ebp
pop ebp
ret