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

Disassembly:
mov eax, 0x43c6ad
call fcn.0043a764
sub esp, 0x118
push ebx
push esi
push edi
mov ecx, 0x454a40
mov dword [ebp - 0x10], 0x4549b0
call fcn.0040371b
xor edi, edi
mov ecx, 0x454a48
mov dword [ebp - 4], edi
call fcn.0040371b
mov ecx, 0x454a50
call fcn.0040371b
mov ecx, 0x454a58
call fcn.0040371b
mov ecx, 0x454a60
call fcn.0040371b
mov ecx, 0x454a68
call fcn.0040371b
mov ecx, 0x454a70
call fcn.0040371b
mov ecx, 0x454a78
call fcn.0040371b
mov esi, 0x454a80
call fcn.004036e2
mov esi, 0x454a88
call fcn.004036e2
mov esi, 0x454a90
call fcn.004036e2
mov ecx, 0x454abc
call fcn.00409824
mov ecx, 0x454ac4
call fcn.004036a7
mov ecx, 0x454acc
call fcn.004036a7
mov ecx, 0x454ad4
call fcn.004036a7
mov ecx, 0x454adc
call fcn.004036a7
mov ecx, 0x454ae4
call fcn.004036a7
mov ecx, 0x454aec
call fcn.004036a7
mov ecx, 0x454af4
call fcn.004036a7
mov ecx, 0x454afc
call fcn.004036a7
mov ecx, 0x454b04
call fcn.004036a7
mov ecx, 0x454b0c
call fcn.004036a7
mov ecx, 0x454b14
mov byte [ebp - 4], 0x14
call fcn.00403996
lea eax, [ebp - 0x124]
push eax
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x454b30], eax
cmp dword [ebp - 0x120], 6
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
cmp dword [ebp - 0x120], 6
mov dword [0x454b24], eax
jne 0x401ee0
cmp dword [ebp - 0x11c], ebx
jae 0x401ee6
cmp dword [ebp - 0x120], 6
ja 0x401ee6
xor eax, eax
jmp 0x401ee8
mov eax, ebx
mov dword [0x454b28], eax
mov dword [0x454b2c], edi
mov dword [0x454b94], ebx
mov dword [0x4549bc], edi
mov dword [0x4549b8], edi
mov dword [0x4549c0], edi
call fcn.00402835
push 0x444270
call fcn.0040372d
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop ecx
mov dword [0x454b9c], eax
cmp eax, edi
je 0x401f93
push str.DrawThemeParentBackground
push eax
call esi
push str.DrawThemeTextEx
push dword [0x454b9c]
mov dword [0x454ba4], eax
call esi
push str.BufferedPaintInit
push dword [0x454b9c]
mov dword [0x454ba8], eax
call esi
push str.BufferedPaintUnInit
push dword [0x454b9c]
mov dword [0x454bac], eax
call esi
push str.BeginBufferedPaint
push dword [0x454b9c]
mov dword [0x454bb0], eax
call esi
push str.EndBufferedPaint
push dword [0x454b9c]
mov dword [0x454bb4], eax
call esi
mov dword [0x454bb8], eax
jmp 0x401fb7
mov dword [0x454ba4], edi
mov dword [0x454ba8], edi
mov dword [0x454bac], edi
mov dword [0x454bb0], edi
mov dword [0x454bb4], edi
mov dword [0x454bb8], edi
push str.dwmapi.dll
call fcn.00401cfd
pop ecx
mov dword [0x454ba0], eax
cmp eax, edi
je 0x401ffe
push str.DwmExtendFrameIntoClientArea
push eax
call esi
push str.DwmDefWindowProc
push dword [0x454ba0]
mov dword [0x454bbc], eax
call esi
push str.DwmIsCompositionEnabled
push dword [0x454ba0]
mov dword [0x454bc0], eax
call esi
mov dword [0x454bc4], eax
jmp 0x402010
mov dword [0x454bbc], edi
mov dword [0x454bc0], edi
mov dword [0x454bc4], edi
mov dword [0x454a98], edi
mov dword [0x454a9c], edi
mov dword [0x454aa0], edi
mov dword [0x454aa4], edi
mov dword [0x454ab0], edi
mov dword [0x454ab4], edi
mov dword [0x454ab8], edi
mov dword [0x454aa8], edi
mov dword [0x454aac], edi
mov dword [0x4549b0], edi
mov dword [0x4549b4], edi
call fcn.0040222d
call fcn.00402779
or dword [0x454b74], 0xffffffff
push 4
pop eax
mov dword [0x454b48], edi
mov dword [0x454b98], edi
mov dword [0x454b60], eax
mov dword [0x454b64], 3
mov dword [0x454b68], 0xe
mov dword [0x454b6c], eax
mov dword [0x454b70], 0x32
mov dword [0x454b34], edi
mov dword [0x454b38], edi
mov dword [0x454b3c], ebx
mov dword [0x454bc8], edi
mov dword [0x454bd0], edi
mov dword [0x454bd4], edi
mov dword [0x454bcc], ebx
call fcn.00402e7b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 0x4549b0
pop ebx
mov dword fs:[0], ecx
leave
ret