Function at 0x14001c82c
Capabilities:
Check os version

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x1d0
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1404f5550]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rbx, rcx
mov edi, 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> > >
mov r8, rdi
xor edx, edx
lea rcx, [r11 - 0x138]
call sub.MSVCR90.dll_memset
mov dword [rsp + 0xa0], edi
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov esi, eax
test eax, eax
jne 0x14001c8b6
mov dword [rsp + 0xa0], 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 + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x14001d1c8
cmp dword [rsp + 0xa4], 6
setae al
mov byte [rbx + CBlobProperty::Load], al
mov eax, dword [rsp + 0xb0]
test eax, eax
je 0x14001d1b4
mov ebp, 1
sub eax, ebp
je 0x14001d136
sub eax, ebp
jne 0x14001d1c8
cmp dword [rsp + 0xa4], 6
jne 0x14001cb12
cmp dword [rsp + 0xa8], 2
jne 0x14001c9b4
cmp byte [rsp + 0x1ba], bpl
jne 0x14001c961
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_8
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.6.2.0
lea rcx, [rsp + 0x80]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x80]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x80]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x14001c9a6
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_Server_2012
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.6.2.0
lea rcx, [rsp + 0x70]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0xa4], 6
jne 0x14001cb12
cmp dword [rsp + 0xa8], ebp
jne 0x14001ca6e
cmp byte [rsp + 0x1ba], bpl
jne 0x14001ca12
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_7
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.6.1.0
lea rcx, [rsp + 0x50]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x14001ca60
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_Server_2008_R2
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.6.1.0
lea rcx, [rsp + 0x88]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x88]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0xa4], 6
jne 0x14001cb12
cmp dword [rsp + 0xa8], 0
jne 0x14001ccea
cmp byte [rsp + 0x1ba], bpl
jne 0x14001cacd
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_Vista
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.6.0.3
lea rcx, [rsp + 0x60]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x60]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x14001cb12
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_Server_2008
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.6.0.1
lea rcx, [rsp + 0x38]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0xa4], 5
jne 0x14001cc9b
cmp dword [rsp + 0xa8], 2
jne 0x14001cbd2
cmp byte [rsp + 0x1ba], bpl
jne 0x14001cb7f
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_XP
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.5.2.0
lea rcx, [rsp + 0x40]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x14001cbc4
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_Server_2003
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.5.2.3
lea rcx, [rsp + 0x48]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x48]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0xa4], 5
jne 0x14001cc9b
cmp dword [rsp + 0xa8], ebp
jne 0x14001cc48
lea rdx, str.Microsoft_Windows_XP
lea rcx, [rbx + 0x1018]
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.5.1.1
lea rcx, [rsp + 0x58]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CView::CView]
test byte [rsp + 0x1b8], 0x40
je 0x14001cc3e
lea rdx, str._Embedded
lea rcx, [rbx + 0x1018]
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
cmp dword [rsp + 0xa4], 5
jne 0x14001cc9b
cmp dword [rsp + 0xa8], 0
jne 0x14001ccea
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_2000
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.5.0.1
lea rcx, [rsp + 0x68]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x68]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0xa4], 4
ja 0x14001ccea
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_NT
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
lea rdx, str.4.0.1
lea rcx, [rsp + 0x78]
call qword [0x1404094a8]
nop
lea rcx, [rbx + 0x1008]
lea rdx, [rsp + 0x78]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc90u.dll_CView::CView]
test esi, esi
je 0x14001d136
cmp dword [rsp + 0xa4], 6
jb 0x14001cf83
and dword [rsp + 0x30], 0
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetProductInfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001cd47
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0xa4]
call rax
mov eax, dword [rsp + 0x30]
cmp eax, 0xa
ja 0x14001ce6f
cmp eax, 0xa
je 0x14001ce56
sub eax, ebp
je 0x14001ce3d
sub eax, ebp
je 0x14001ce24
sub eax, ebp
je 0x14001ce0b
sub eax, ebp
je 0x14001cdf2
sub eax, 2
je 0x14001cdd9
sub eax, ebp
je 0x14001cdc0
sub eax, ebp
je 0x14001cda7
cmp eax, ebp
jne 0x14001cea2
lea rcx, [rbx + 0x1018]
lea rdx, str._Small_Business_Server
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Datacenter
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Standard
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Business
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Enterprise
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Home_Premium
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Home_Basic
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Ultimate
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Enterprise
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
sub eax, 0xb
je 0x14001cf6a
sub eax, ebp
je 0x14001cf51
sub eax, ebp
je 0x14001cf38
sub eax, ebp
je 0x14001cf1f
sub eax, ebp
je 0x14001cf06
sub eax, 2
je 0x14001ceed
sub eax, ebp
je 0x14001ced4
cmp eax, 7
je 0x14001cebb
lea rcx, [rbx + 0x1018]
lea rdx, str._Professional
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Small_Business_Server_Premium
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Cluster_Server
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Web_Server_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Enterprise_for_Itanium
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Enterprise__core_installation_
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Standard_Edition__core_installation_
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Datacenter_Edition__core_installation_
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Starter
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
mov al, byte [rsp + 0x1ba]
cmp al, bpl
jne 0x14001cff3
cmp dword [rsp + 0xa4], 4
jne 0x14001cfb2
lea rcx, [rbx + 0x1018]
lea rdx, str._Workstation_4.0
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
mov eax, reloc.mfc90u.dll_COleStreamFile::COleStreamFile
test word [rsp + 0x1b8], ax
je 0x14001cfda
lea rcx, [rbx + 0x1018]
lea rdx, str._Home_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Professional
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
cmp al, 3
je 0x14001cfff
cmp al, 2
jne 0x14001d136
cmp dword [rsp + 0xa4], 5
jne 0x14001d102
cmp dword [rsp + 0xa8], 2
jne 0x14001d0a2
test byte [rsp + 0x1b8], 0x80
je 0x14001d03e
lea rcx, [rbx + 0x1018]
lea rdx, str._Datacenter_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
test byte [rsp + 0x1b8], 2
je 0x14001d061
lea rcx, [rbx + 0x1018]
lea rdx, str._Enterprise_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
mov eax, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
cmp word [rsp + 0x1b8], ax
jne 0x14001d089
lea rcx, [rbx + 0x1018]
lea rdx, str._Web_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Standard_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
cmp dword [rsp + 0xa8], 0
jne 0x14001d102
test byte [rsp + 0x1b8], 0x80
je 0x14001d0cc
lea rcx, [rbx + 0x1018]
lea rdx, str._Datacenter_Server
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
test byte [rsp + 0x1b8], 2
je 0x14001d0ec
lea rcx, [rbx + 0x1018]
lea rdx, str._Advanced_Server
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Server
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
test byte [rsp + 0x1b8], 2
je 0x14001d122
lea rcx, [rbx + 0x1018]
lea rdx, str._Server_4.0__Enterprise_Edition_
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d136
lea rcx, [rbx + 0x1018]
lea rdx, str._Server_4.0_
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
cmp dword [rsp + 0xa4], 4
jne 0x14001d1c8
cmp dword [rsp + 0xa8], 0
jne 0x14001d16c
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_95
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
cmp dword [rsp + 0xa4], 4
jne 0x14001d1c8
cmp dword [rsp + 0xa8], 0xa
jne 0x14001d194
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_98
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
cmp dword [rsp + 0xa4], 4
jne 0x14001d1c8
cmp dword [rsp + 0xa8], 0x5a
jne 0x14001d1c8
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Windows_Millennium_Edition
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
jmp 0x14001d1c8
lea rcx, [rbx + 0x1018]
lea rdx, str.Microsoft_Win32s_r_n
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1403c2380
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret