Function at 0x417db0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50634b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push esi
push edi
mov esi, ecx
push esi
push str.CPluginMgr::IsSupportSys_pszSupportSys:_s
push 0x29
push 0x5282c4
mov dword [ebp - 0x14], 1
call fcn.004f3a00
xor edi, edi
add esp, 0x10
cmp esi, edi
je 0x417eea
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
push esi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
mov eax, dword [ebp - 0x1c]
cmp eax, 8
jae 0x417e44
push 0x31
mov ecx, 8
sub ecx, eax
push ecx
push edi
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::insert_unsigned_int__unsigned_int__wchar_t_]
mov eax, dword [ebp - 0x1c]
xor esi, esi
cmp eax, edi
jbe 0x417e78
lea ebx, [ebx]
push esi
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVCP80.dll_public:_wchar_t____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator___unsigned_int_]
cmp word [eax], 0x30
je 0x417e70
push esi
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVCP80.dll_public:_wchar_t____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator___unsigned_int_]
cmp word [eax], 0x31
jne 0x417ec0
add esi, 1
cmp esi, dword [ebp - 0x1c]
jb 0x417e50
push 0x11c
call sub.MFC80U.DLL_Ordinal_762
add esp, 4
push 0x11c
mov esi, eax
push edi
push esi
call sub.MSVCR80.dll_memset
add esp, 0xc
push esi
mov dword [esi], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [esi + 4]
cmp eax, 5
jne 0x417eb1
cmp dword [esi + 8], 1
jae 0x417f21
cmp eax, 6
jne 0x417f1e
cmp dword [esi + 8], edi
jne 0x417eff
lea edi, [eax - 4]
jmp 0x417f21
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 6
jne 0x417f1e
cmp dword [esi + 8], 1
jne 0x417f0f
lea edi, [eax - 2]
jmp 0x417f21
cmp eax, 6
jne 0x417f1e
cmp dword [esi + 8], 2
jne 0x417f1e
mov edi, eax
jmp 0x417f21
or edi, 0xffffffff
mov edx, dword [esi + 8]
push edx
push eax
push str.dwMajorVersion:_d_dwMinorVersion:_d
push 0x29
push 0x5282c4
call fcn.004f3a00
add esp, 0x14
push esi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
cmp edi, 0xffffffff
jle 0x41800f
push str.IsWow64Process
push str.kernel32
mov dword [ebp - 0x10], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x417fbb
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
jne 0x417fbb
mov dword [ebp - 0x10], eax
push 0x5289b8
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
mov ecx, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.00419d80
mov eax, edi
shr eax, 5
je 0x417fce
test eax, eax
jg 0x417fc8
mov eax, dword [ebp + eax*4 - 0x14]
mov esi, eax
jmp 0x417fd1
cmp dword [ebp - 0x10], 0
je 0x417f84
push 0x5289b0
jmp 0x417f89
xor eax, eax
mov esi, eax
jmp 0x417fd1
mov esi, dword [ebp - 0x14]
and edi, 0x1f
mov ecx, edi
je 0x417fda
shr esi, cl
mov edx, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::npos]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.00419d80
and dword [ebp - 0x14], esi
xor eax, eax
cmp dword [ebp + eax*4 - 0x14], 0
jne 0x418008
sub eax, 1
jns 0x417ff5
xor al, al
movzx esi, al
jmp 0x418012
mov al, 1
movzx esi, al
jmp 0x418012
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret