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

Disassembly:
push 0x11c
mov eax, 0x5b39eb
call fcn.0058291f
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 0x49b4d5
jne 0x49b4d1
cmp dword [ebp - 0x11c], edi
ja 0x49b4d5
xor eax, eax
jmp 0x49b4d8
xor eax, eax
inc eax
cmp dword [ebp - 0x114], 2
lea ebx, [esi + 0x174]
mov dword [esi + 0x178], eax
mov dword [ebx], edi
jne 0x49b504
cmp dword [ebp - 0x120], 5
jb 0x49b504
push 0x1000
call fcn.00486523
mov dword [ebx], eax
cmp dword [ebp - 0x120], 6
jae 0x49b523
cmp dword [ebp - 0x120], 5
jne 0x49b51f
cmp dword [ebp - 0x11c], 1
jae 0x49b523
xor eax, eax
jmp 0x49b526
xor eax, eax
inc eax
lea ebx, [esi + 0x168]
mov dword [ebx], eax
cmp eax, edi
jne 0x49b54e
push 0x5d3d38
call fcn.0048c5c6
pop ecx
cmp eax, edi
je 0x49b54e
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.0049aa77
push str.UxTheme.dll
call fcn.0048c5c6
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop ecx
mov dword [esi + 0x1d4], eax
cmp eax, edi
je 0x49b5e2
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 0x49b5fa
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 0x49b610
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x1e0], edi
jmp 0x49b633
push 0x5d3c24
call fcn.0048c5c6
pop ecx
mov dword [esi + 0x1d8], eax
cmp eax, edi
je 0x49b633
push str.SetLayeredWindowAttributes
push eax
call ebx
mov dword [esi + 0x1e0], eax
push str.dwmapi.dll
call fcn.0048c5c6
pop ecx
mov dword [esi + 0x1dc], eax
cmp eax, edi
je 0x49b67e
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 0x49b690
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.0049af30
mov ecx, esi
call fcn.00499a3a
push 0x31
mov dword [esi + 0x190], edi
call fcn.00486523
push 0x32
pop ebx
push ebx
mov dword [esi + 0x100], eax
call fcn.00486523
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.005829a2
ret