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

Disassembly:
push 0x9c
mov eax, 0x523f77
call fcn.00509514
mov esi, ecx
lea ecx, [esi + 0x84]
xor edi, edi
mov eax, vtable.CBrush.0
mov dword [ebp - 0xa8], 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 - 0xa4]
push eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0xa4], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0xa0], 4
ja 0x422e37
jne 0x422e33
cmp dword [ebp - 0x9c], edi
ja 0x422e37
xor eax, eax
jmp 0x422e3a
xor eax, eax
inc eax
cmp dword [ebp - 0x94], 2
lea ebx, [esi + 0x174]
mov dword [esi + 0x178], eax
mov dword [ebx], edi
jne 0x422e66
cmp dword [ebp - 0xa0], 5
jb 0x422e66
push 0x1000
call fcn.0040cdb4
mov dword [ebx], eax
cmp dword [ebp - 0xa0], 6
jae 0x422e85
cmp dword [ebp - 0xa0], 5
jne 0x422e81
cmp dword [ebp - 0x9c], 1
jae 0x422e85
xor eax, eax
jmp 0x422e88
xor eax, eax
inc eax
lea ebx, [esi + 0x168]
mov dword [ebx], eax
cmp eax, edi
jne 0x422eb0
push str.GDIPlus.dll
call fcn.0040e2fd
pop ecx
cmp eax, edi
je 0x422eb0
push eax
mov dword [ebx], 1
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0xa0], 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.004223d9
push str.UxTheme.dll
call fcn.0040e2fd
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop ecx
mov dword [esi + 0x1d4], eax
cmp eax, edi
je 0x422f44
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 0x422f5c
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 0x422f72
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x1e0], edi
jmp 0x422f95
push str.USER32.DLL
call fcn.0040e2fd
pop ecx
mov dword [esi + 0x1d8], eax
cmp eax, edi
je 0x422f95
push str.SetLayeredWindowAttributes
push eax
call ebx
mov dword [esi + 0x1e0], eax
push str.dwmapi.dll
call fcn.0040e2fd
pop ecx
mov dword [esi + 0x1dc], eax
cmp eax, edi
je 0x422fe0
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 0x422ff2
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.00422892
mov ecx, esi
call fcn.004214f5
push 0x31
mov dword [esi + 0x190], edi
call fcn.0040cdb4
push 0x32
pop ebx
push ebx
mov dword [esi + 0x100], eax
call fcn.0040cdb4
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.00509597
ret