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

Disassembly:
push 0x11c
mov eax, 0x525e36
call fcn.0050cd59
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 0x421704
jne 0x421700
cmp dword [ebp - 0x11c], edi
ja 0x421704
xor eax, eax
jmp 0x421707
xor eax, eax
inc eax
cmp dword [ebp - 0x114], 2
lea ebx, [esi + 0x174]
mov dword [esi + 0x178], eax
mov dword [ebx], edi
jne 0x421733
cmp dword [ebp - 0x120], 5
jb 0x421733
push 0x1000
call fcn.0040d9cf
mov dword [ebx], eax
cmp dword [ebp - 0x120], 6
jae 0x421752
cmp dword [ebp - 0x120], 5
jne 0x42174e
cmp dword [ebp - 0x11c], 1
jae 0x421752
xor eax, eax
jmp 0x421755
xor eax, eax
inc eax
lea ebx, [esi + 0x168]
mov dword [ebx], eax
cmp eax, edi
jne 0x42177d
push 0x538024
call fcn.0041ff6f
pop ecx
cmp eax, edi
je 0x42177d
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.00420ca6
push str.UxTheme.dll
call fcn.0041ff6f
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop ecx
mov dword [esi + 0x1d4], eax
cmp eax, edi
je 0x421811
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 0x421829
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 0x42183f
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x1e0], edi
jmp 0x421862
push 0x537f10
call fcn.0041ff6f
pop ecx
mov dword [esi + 0x1d8], eax
cmp eax, edi
je 0x421862
push str.SetLayeredWindowAttributes
push eax
call ebx
mov dword [esi + 0x1e0], eax
push str.dwmapi.dll
call fcn.0041ff6f
pop ecx
mov dword [esi + 0x1dc], eax
cmp eax, edi
je 0x4218ad
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 0x4218bf
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.0042115f
mov ecx, esi
call fcn.0041fb58
push 0x31
mov dword [esi + 0x190], edi
call fcn.0040d9cf
push 0x32
pop ebx
push ebx
mov dword [esi + 0x100], eax
call fcn.0040d9cf
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.0050cddc
ret