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

Disassembly:
mov rax, rsp
push rsi
sub rsp, 0x160
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x140253530]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rbx, rcx
mov qword [rsp + 0x20], rcx
xor esi, esi
mov qword [rcx + 0xa0], rsi
lea rax, vtable.CBrush.0
mov qword [rcx + 0x98], rax
mov qword [rcx + 0xb0], rsi
mov qword [rcx + 0xa8], rax
mov qword [rcx + 0xc0], rsi
mov qword [rcx + 0xb8], rax
mov qword [rcx + 0xd0], rsi
mov qword [rcx + 0xc8], rax
mov qword [rcx + 0xe0], rsi
mov qword [rcx + 0xd8], rax
mov qword [rcx + 0xf0], rsi
mov qword [rcx + 0xe8], rax
mov qword [rcx + 0x100], rsi
mov qword [rcx + 0xf8], rax
mov qword [rcx + 0x110], rsi
mov qword [rcx + 0x108], rax
mov qword [rcx + 0x120], rsi
lea rax, vtable.CPen.0
mov qword [rcx + 0x118], rax
mov qword [rcx + 0x130], rsi
mov qword [rcx + 0x128], rax
mov qword [rcx + 0x140], rsi
mov qword [rcx + 0x138], rax
mov qword [rcx + 0x1a0], rsi
lea rax, vtable.CFont.0
mov qword [rcx + 0x198], rax
mov qword [rcx + 0x1b0], rsi
mov qword [rcx + 0x1a8], rax
mov qword [rcx + 0x1c0], rsi
mov qword [rcx + 0x1b8], rax
mov qword [rcx + 0x1d0], rsi
mov qword [rcx + 0x1c8], rax
mov qword [rcx + 0x1e0], rsi
mov qword [rcx + 0x1d8], rax
mov qword [rcx + 0x1f0], rsi
mov qword [rcx + 0x1e8], rax
mov qword [rcx + 0x200], rsi
mov qword [rcx + 0x1f8], rax
mov qword [rcx + 0x210], rsi
mov qword [rcx + 0x208], rax
mov qword [rcx + 0x220], rsi
mov qword [rcx + 0x218], rax
mov qword [rcx + 0x230], rsi
mov qword [rcx + 0x228], rax
mov dword [rsp + 0x30], 0x114
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea ebp, [rsi + 1]
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
cmp ecx, 4
ja 0x140098bcf
cmp ecx, 4
jne 0x140098bcb
cmp edx, esi
ja 0x140098bcf
mov eax, esi
jmp 0x140098bd1
mov eax, ebp
mov dword [rbx + 0x258], eax
mov dword [rbx + 0x254], esi
cmp dword [rsp + 0x40], 2
jne 0x140098c01
cmp ecx, 5
jb 0x140098c01
mov ecx, 0x1000
call fcn.140018018
mov dword [rbx + 0x254], eax
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
cmp ecx, 6
jae 0x140098c13
cmp ecx, 5
jne 0x140098c0f
cmp edx, ebp
jae 0x140098c13
mov eax, esi
jmp 0x140098c15
mov eax, ebp
mov dword [rbx + 0x248], eax
cmp eax, esi
jne 0x140098c49
lea rcx, str.GDIPlus.dll
call fcn.14005b400
cmp rax, rsi
je 0x140098c45
mov dword [rbx + 0x248], ebp
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [rsp + 0x34]
jmp 0x140098c49
mov ecx, dword [rsp + 0x34]
mov eax, esi
cmp ecx, 6
setae al
mov dword [rbx + 0x24c], eax
mov dword [rbx + 0x250], esi
mov dword [rbx + 0x2b0], ebp
mov qword [rbx + 0x10], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x18], rsi
mov rcx, rbx
call fcn.140097d5c
lea rcx, str.UxTheme.dll
call fcn.14005b400
mov qword [rbx + 0x2b8], rax
cmp rax, rsi
je 0x140098cf9
lea rdx, str.DrawThemeParentBackground
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x2d8], rax
lea rdx, str.DrawThemeTextEx
mov rcx, qword [rbx + 0x2b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x2e0], rax
lea rdx, str.BeginBufferedPaint
mov rcx, qword [rbx + 0x2b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x2e8], rax
lea rdx, str.EndBufferedPaint
mov rcx, qword [rbx + 0x2b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x2f0], rax
jmp 0x140098d15
mov qword [rbx + 0x2d8], rsi
mov qword [rbx + 0x2e0], rsi
mov qword [rbx + 0x2e8], rsi
mov qword [rbx + 0x2f0], rsi
cmp dword [rbx + 0x258], esi
jne 0x140098d2d
mov qword [rbx + 0x2c0], rsi
mov qword [rbx + 0x2d0], rsi
jmp 0x140098d5c
lea rcx, [0x1401d2d10]
call fcn.14005b400
mov qword [rbx + 0x2c0], rax
cmp rax, rsi
je 0x140098d5c
lea rdx, str.SetLayeredWindowAttributes
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x2d0], rax
lea rcx, str.dwmapi.dll
call fcn.14005b400
mov qword [rbx + 0x2c8], rax
cmp rax, rsi
je 0x140098dc3
lea rdx, str.DwmExtendFrameIntoClientArea
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x2f8], rax
lea rdx, str.DwmDefWindowProc
mov rcx, qword [rbx + 0x2c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x300], rax
lea rdx, str.DwmIsCompositionEnabled
mov rcx, qword [rbx + 0x2c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x308], rax
jmp 0x140098dd8
mov qword [rbx + 0x2f8], rsi
mov qword [rbx + 0x300], rsi
mov qword [rbx + 0x308], rsi
mov qword [rbx + 0x148], rsi
mov qword [rbx + 0x150], rsi
mov qword [rbx + 0x158], rsi
mov qword [rbx + 0x160], rsi
mov qword [rbx + 0x178], rsi
mov qword [rbx + 0x180], rsi
mov qword [rbx + 0x188], rsi
mov qword [rbx + 0x168], rsi
mov qword [rbx + 0x170], rsi
mov dword [rbx], esi
mov rcx, rbx
call fcn.140098424
mov rcx, rbx
call fcn.140096b1c
mov dword [rbx + 0x270], esi
mov ecx, 0x31
call fcn.140018018
mov dword [rbx + 0x190], eax
mov ecx, 0x32
call fcn.140018018
mov dword [rbx + 0x194], eax
mov dword [rbx + 0x27c], 4
mov dword [rbx + 0x280], 3
mov dword [rbx + 0x284], SafeArrayGetDim
mov dword [rbx + 0x288], 4
mov dword [rbx + 0x28c], 0x32
or dword [rbx + 0x290], 0xffffffff
mov dword [rbx + 0x25c], esi
mov dword [rbx + 0x260], esi
mov dword [rbx + 0x264], ebp
mov dword [rbx + 0x274], ebp
mov rax, rbx
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140184d90
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsp, r11
pop rsi
ret