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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57e8a5
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x5ebdb0]
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], 0x5f42f8
mov dword [0x5f438c], esi
mov dword [0x5f4388], eax
mov dword [ebp - 4], esi
mov dword [0x5f4394], esi
mov dword [0x5f4390], eax
mov dword [0x5f439c], esi
mov dword [0x5f4398], eax
mov dword [0x5f43a4], esi
mov dword [0x5f43a0], eax
mov dword [0x5f43ac], esi
mov dword [0x5f43a8], eax
mov dword [0x5f43b4], esi
mov dword [0x5f43b0], eax
mov dword [0x5f43bc], esi
mov dword [0x5f43b8], eax
mov dword [0x5f43c4], esi
mov dword [0x5f43c0], eax
mov eax, vtable.CPen.0
mov dword [0x5f43cc], esi
mov dword [0x5f43c8], eax
mov dword [0x5f43d4], esi
mov dword [0x5f43d0], eax
mov dword [0x5f43dc], esi
mov dword [0x5f43d8], eax
mov eax, vtable.CFont.0
mov dword [0x5f4404], esi
mov dword [0x5f4408], esi
mov dword [0x5f4410], esi
mov dword [0x5f440c], eax
mov dword [0x5f4418], esi
mov dword [0x5f4414], eax
mov dword [0x5f4420], esi
mov dword [0x5f441c], eax
mov dword [0x5f4428], esi
mov dword [0x5f4424], eax
mov dword [0x5f4430], esi
mov dword [0x5f442c], eax
mov dword [0x5f4438], esi
mov dword [0x5f4434], eax
mov dword [0x5f4440], esi
mov dword [0x5f443c], eax
mov dword [0x5f4448], esi
mov dword [0x5f4444], eax
mov dword [0x5f4450], esi
mov dword [0x5f444c], eax
mov dword [0x5f4458], esi
mov dword [0x5f4454], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x124]
push eax
mov dword [0x5f445c], esi
mov dword [0x5f4460], esi
mov dword [0x5f4464], esi
mov dword [0x5f4468], esi
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x5f4478], eax
mov eax, dword [ebp - 0x120]
cmp eax, 6
sbb ecx, ecx
inc ecx
mov dword [0x5f446c], ecx
lea ebx, [esi + 1]
cmp eax, 6
jne 0x402f43
cmp dword [ebp - 0x11c], ebx
jb 0x402f49
mov eax, ebx
mov ecx, 0x5f42f8
mov dword [0x5f4470], eax
mov dword [0x5f4474], esi
mov dword [0x5f44dc], ebx
mov dword [0x5f4304], esi
mov dword [0x5f4300], esi
mov dword [0x5f4308], esi
call fcn.004039a0
push 0x5b0980
call fcn.004024e0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
mov dword [0x5f44e4], eax
cmp eax, esi
je 0x402f50
push str.DrawThemeParentBackground
push eax
call edi
mov edx, dword [0x5f44e4]
push str.DrawThemeTextEx
push edx
mov dword [0x5f44ec], eax
call edi
mov dword [0x5f44f0], eax
mov eax, dword [0x5f44e4]
push str.BufferedPaintInit
push eax
call edi
mov ecx, dword [0x5f44e4]
push str.BufferedPaintUnInit
push ecx
mov dword [0x5f44f4], eax
call edi
mov edx, dword [0x5f44e4]
push str.BeginBufferedPaint
push edx
mov dword [0x5f44f8], eax
call edi
mov dword [0x5f44fc], eax
mov eax, dword [0x5f44e4]
push str.EndBufferedPaint
push eax
call edi
mov dword [0x5f4500], eax
jmp 0x402f74
ja 0x402e8c
xor eax, eax
jmp 0x402e8e
mov dword [0x5f44ec], esi
mov dword [0x5f44f0], esi
mov dword [0x5f44f4], esi
mov dword [0x5f44f8], esi
mov dword [0x5f44fc], esi
mov dword [0x5f4500], esi
call fcn.00402c20
mov dword [0x5f44e8], eax
cmp eax, esi
je 0x402fb7
push str.DwmExtendFrameIntoClientArea
push eax
call edi
mov ecx, dword [0x5f44e8]
push str.DwmDefWindowProc
push ecx
mov dword [0x5f4504], eax
call edi
mov edx, dword [0x5f44e8]
push str.DwmIsCompositionEnabled
push edx
mov dword [0x5f4508], eax
call edi
mov dword [0x5f450c], eax
jmp 0x402fc9
mov dword [0x5f4504], esi
mov dword [0x5f4508], esi
mov dword [0x5f450c], esi
mov ecx, 0x5f42f8
mov dword [0x5f43e0], esi
mov dword [0x5f43e4], esi
mov dword [0x5f43e8], esi
mov dword [0x5f43ec], esi
mov dword [0x5f43f8], esi
mov dword [0x5f43fc], esi
mov dword [0x5f4400], esi
mov dword [0x5f43f0], esi
mov dword [0x5f43f4], esi
mov dword [0x5f42f8], esi
mov dword [0x5f42fc], esi
call fcn.004032c0
mov ecx, 0x5f42f8
call fcn.004038c0
mov eax, 4
mov dword [0x5f44a8], eax
mov dword [0x5f44b4], eax
mov dword [0x5f4490], esi
mov dword [0x5f44e0], esi
mov dword [0x5f44ac], 3
mov dword [0x5f44b0], 0xe
mov dword [0x5f44b8], 0x32
mov dword [0x5f44bc], 0xffffffff
mov dword [0x5f447c], esi
mov dword [0x5f4480], esi
mov dword [0x5f4484], ebx
mov dword [0x5f4510], esi
mov dword [0x5f4518], esi
mov dword [0x5f451c], esi
mov dword [0x5f4514], ebx
mov dword [0x5f4494], ebx
mov eax, 0x5f42f8
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.00550891
mov esp, ebp
pop ebp
ret