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

Disassembly:
push 0x11c
mov eax, 0x51aeaf
call fcn.00501819
mov esi, ecx
lea ecx, [esi + 0x84]
xor edi, edi
mov eax, vtable.CBrush.0
mov dword [ebp - 0x128], esi
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x8c]
mov dword [ebp - 4], edi
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x94]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x9c]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xa4]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xac]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xb4]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xbc]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xc4]
mov eax, vtable.CPen.0
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xcc]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0xd4]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x108]
mov eax, vtable.CFont.0
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x110]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x118]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x120]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x128]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x130]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x138]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x140]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x148]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea ecx, [esi + 0x150]
mov dword [ecx + 4], edi
mov dword [ecx], eax
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x120], 4
ja 0x4153fc
jne 0x4153f8
cmp dword [ebp - 0x11c], edi
ja 0x4153fc
xor eax, eax
jmp 0x4153ff
xor eax, eax
inc eax
cmp dword [ebp - 0x114], 2
lea ebx, [esi + 0x174]
mov dword [esi + 0x178], eax
mov dword [ebx], edi
jne 0x41542b
cmp dword [ebp - 0x120], 5
jb 0x41542b
push 0x1000
call fcn.0040b30b
mov dword [ebx], eax
cmp dword [ebp - 0x120], 6
jae 0x41544a
cmp dword [ebp - 0x120], 5
jne 0x415446
cmp dword [ebp - 0x11c], 1
jae 0x41544a
xor eax, eax
jmp 0x41544d
xor eax, eax
inc eax
lea ebx, [esi + 0x168]
mov dword [ebx], eax
cmp eax, edi
jne 0x415475
push 0x52be04
call fcn.00413b2b
pop ecx
cmp eax, edi
je 0x415475
push eax
mov dword [ebx], 1
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x120], 6
mov ecx, esi
sbb eax, eax
inc eax
mov dword [esi + 0x16c], eax
mov dword [esi + 0x170], edi
mov dword [esi + 0x1d0], 1
mov dword [esi + 8], edi
mov dword [esi + 4], edi
mov dword [esi + 0xc], edi
call fcn.00414977
push str.UxTheme.dll
call fcn.00413b2b
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop ecx
mov dword [esi + 0x1d4], eax
cmp eax, edi
je 0x415509
push str.DrawThemeParentBackground
push eax
call ebx
push str.DrawThemeTextEx
push dword [esi + 0x1d4]
mov dword [esi + 0x1e4], eax
call ebx
push str.BeginBufferedPaint
push dword [esi + 0x1d4]
mov dword [esi + 0x1e8], eax
call ebx
push str.EndBufferedPaint
push dword [esi + 0x1d4]
mov dword [esi + 0x1ec], eax
call ebx
mov dword [esi + 0x1f0], eax
jmp 0x415521
mov dword [esi + 0x1e4], edi
mov dword [esi + 0x1e8], edi
mov dword [esi + 0x1ec], edi
mov dword [esi + 0x1f0], edi
cmp dword [esi + 0x178], edi
jne 0x415537
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x1e0], edi
jmp 0x41555a
push 0x52bcd0
call fcn.00413b2b
pop ecx
mov dword [esi + 0x1d8], eax
cmp eax, edi
je 0x41555a
push str.SetLayeredWindowAttributes
push eax
call ebx
mov dword [esi + 0x1e0], eax
push str.dwmapi.dll
call fcn.00413b2b
pop ecx
mov dword [esi + 0x1dc], eax
cmp eax, edi
je 0x4155a5
push str.DwmExtendFrameIntoClientArea
push eax
call ebx
push str.DwmDefWindowProc
push dword [esi + 0x1dc]
mov dword [esi + 0x1f4], eax
call ebx
push str.DwmIsCompositionEnabled
push dword [esi + 0x1dc]
mov dword [esi + 0x1f8], eax
call ebx
mov dword [esi + 0x1fc], eax
jmp 0x4155b7
mov dword [esi + 0x1f4], edi
mov dword [esi + 0x1f8], edi
mov dword [esi + 0x1fc], edi
mov ecx, esi
mov dword [esi + 0xdc], edi
mov dword [esi + 0xe0], edi
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe8], edi
mov dword [esi + 0xf4], edi
mov dword [esi + 0xf8], edi
mov dword [esi + 0xfc], edi
mov dword [esi + 0xec], edi
mov dword [esi + 0xf0], edi
mov dword [esi], edi
call fcn.00414e57
mov ecx, esi
call fcn.00413714
push 0x31
mov dword [esi + 0x190], edi
call fcn.0040b30b
push 0x32
pop ebx
push ebx
mov dword [esi + 0x100], eax
call fcn.0040b30b
or dword [esi + 0x1b0], 0xffffffff
mov dword [esi + 0x104], eax
push 4
pop eax
mov dword [esi + 0x19c], eax
mov dword [esi + 0x1a8], eax
xor eax, eax
inc eax
mov dword [esi + 0x184], eax
mov dword [esi + 0x194], eax
mov dword [esi + 0x1a0], 3
mov dword [esi + 0x1a4], 0xe
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x17c], edi
mov dword [esi + 0x180], edi
mov eax, esi
call fcn.0050189c
ret