Function at 0x140133580
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x1d8
mov qword [rsp + 0x1b0], 0xfffffffffffffffe
mov rax, qword [0x1404f5550]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rcx, qword [rsp + 0x1f0]
lea rax, vtable.CBCGPToolBarImages.0
mov qword [rcx], rax
mov rcx, qword [rsp + 0x1f0]
add rcx, 0x40
call qword [0x140409500]
nop
mov rcx, qword [rsp + 0x1f0]
add rcx, 0x50
mov edx, 0xa
call fcn.140103c20
nop
mov rcx, qword [rsp + 0x1f0]
add rcx, 0x88
mov edx, 0xa
call fcn.140141440
nop
mov rcx, qword [rsp + 0x1f0]
add rcx, 0xc0
mov edx, 0xa
call fcn.140103b20
nop
mov rcx, qword [rsp + 0x1f0]
add rcx, 0x100
call sub.mfc90u.dll_CDaoRecordset::CDaoRecordset
nop
mov rax, qword [rsp + 0x1f0]
add rax, 0x120
mov qword [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary], rax
mov rcx, qword [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary]
lea rax, vtable.CGdiObject.0
mov qword [rcx], rax
mov rax, qword [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary]
mov qword [rax + 8], 0
mov rcx, qword [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary]
lea rax, vtable.CBitmap.0
mov qword [rcx], rax
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x48], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x140], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x144], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x4c], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + reloc.mfc90u.dll_CColorDialog::CColorDialog], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x158], 0
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 0x20], 0
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 0x30], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x38], 0
cmp dword [0x1404f9014], 0
jne 0x14013385d
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [0x1404f8fb8], rax
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [0x1404f8fc0], rax
cmp qword [0x1404f8fb8], 0
je 0x14013375f
cmp qword [0x1404f8fc0], 0
jne 0x140133764
call sub.mfc90u.dll_AfxPropPageCallback
mov dword [rsp + 0x30], ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x40], 2
jne 0x140133792
cmp dword [rsp + 0x34], 5
jae 0x140133792
mov dword [rsp + 0x1b8], 1
jmp 0x14013379d
mov dword [rsp + 0x1b8], 0
mov eax, dword [rsp + 0x1b8]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x34], 4
ja 0x1401337ca
cmp dword [rsp + 0x34], 4
jne 0x1401337bd
cmp dword [rsp + 0x38], 0
ja 0x1401337ca
mov dword [rsp + reloc.mfc90u.dll_CMapPtrToWord::CMapPtrToWord], 0
jmp 0x1401337d5
mov dword [rsp + reloc.mfc90u.dll_CMapPtrToWord::CMapPtrToWord], 1
mov eax, dword [rsp + reloc.mfc90u.dll_CMapPtrToWord::CMapPtrToWord]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x24], 0
je 0x1401337ef
mov dword [rsp + 0x20], 0
cmp dword [rsp + 0x20], 0
je 0x140133853
lea rcx, str.msimg32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1404f8f98], rax
cmp qword [0x1404f8f98], 0
je 0x140133853
lea rdx, str.AlphaBlend
mov rcx, qword [0x1404f8f98]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1404f8fa0], rax
cmp dword [0x1404f7c14], 0
jne 0x140133853
lea rdx, str.TransparentBlt
mov rcx, qword [0x1404f8f98]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1404f8fa8], rax
mov dword [0x1404f9014], 1
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x138], 0xffffffff
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x13c], 0xffffffff
mov dword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], reloc.WS2_32.dll_recv
mov dword [rsp + reloc.mfc90u.dll_CColorDialog::CColorDialog], send
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 8], rcx
mov dword [rsp + 0x158], 0
mov dword [rsp + 0x15c], 0
mov rcx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 0x10], rcx
mov dword [rsp + 0x160], 0
mov dword [rsp + 0x164], 0
mov rcx, qword [rsp + 0x160]
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 0x18], rcx
mov dword [rsp + 0x168], 0
mov dword [rsp + 0x16c], 0
mov dword [rsp + 0x170], 0
mov dword [rsp + 0x174], 0
lea rdi, [rsp + 0x1a0]
lea rsi, [rsp + 0x168]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0x1f0]
lea rsi, [rsp + 0x1a0]
add rdi, 0x168
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + reloc.mfc90u.dll_CDialog::CDialog], 0
mov dword [rsp + 0x17c], 0
mov dword [rsp + 0x180], 0
mov dword [rsp + reloc.mfc90u.dll_CDocument::CDocument], 0
lea rdi, [rsp + 0x190]
lea rsi, [rsp + reloc.mfc90u.dll_CDialog::CDialog]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0x1f0]
lea rsi, [rsp + 0x190]
add rdi, reloc.mfc90u.dll_CDialog::CDialog
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0xf8], 0
mov rax, qword [rsp + 0x1f0]
mov qword [rax + 0x130], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + reloc.mfc90u.dll_CBrush::CBrush], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x15c], 0x82
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x164], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x160], 1
mov rax, qword [rsp + 0x1f0]
mov dword [rax + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary], 0
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x18c], 1
mov rax, qword [rsp + 0x1f0]
movsd xmm0, qword [0x140417d88]
movsd qword [rax + 0x190], xmm0
mov rcx, qword [rsp + 0x1f0]
call fcn.140137370
nop
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1403c2380
add rsp, 0x1d8
pop rdi
pop rsi
ret