Function at 0x41edcd
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
or dword [ebp - 8], 0xffffffff
push ebx
push esi
push edi
mov esi, 0x94
xor edi, edi
push esi
lea eax, [ebp - 0x9c]
push edi
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x41f2a6
mov eax, dword [ebp - 0x8c]
dec eax
je 0x41f20b
dec eax
je 0x41eec0
cmp dword [0x441ff4], edi
je 0x41f2a6
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 2
je 0x41ee53
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, 2
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov ebx, eax
jge 0x41ee75
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41eeb3
push 2
push dword [0x43cd48]
push 0x8fa
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push dword [ebp - 0x94]
push dword [ebp - 0x8c]
push str.The_OS_is_unknown._PlatformID___d._MinorVersion___d._n
call fcn.0041c506
add esp, 0x1c
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
jmp 0x41f2a0
push 5
pop eax
cmp dword [ebp - 0x98], eax
jne 0x41f0b5
mov eax, dword [ebp - 0x94]
sub eax, edi
je 0x41f01b
dec eax
je 0x41ef81
dec eax
jne 0x41f2a6
cmp dword [0x441ff4], edi
push 3
pop esi
mov dword [ebp - 8], esi
je 0x41f2a6
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, esi
je 0x41ef1e
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, esi
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov dword [ebp - 4], eax
jge 0x41ef41
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41ef72
push esi
push dword [0x43cd48]
push 0x8db
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.The_OS_is_Windows_2003__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp - 4]
jmp 0x41f2a0
cmp dword [0x441ff4], edi
mov dword [ebp - 8], 2
je 0x41f2a6
mov eax, dword [0x441fd4]
push 3
pop esi
mov eax, dword [eax]
cmp eax, esi
je 0x41efb8
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, esi
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov dword [ebp - 4], eax
jge 0x41efdb
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41f00c
push esi
push dword [0x43cd48]
push 0x8d4
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.The_OS_is_Windows_XP__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp - 4]
jmp 0x41f2a0
cmp dword [0x441ff4], edi
mov dword [ebp - 8], 1
je 0x41f2a6
mov eax, dword [0x441fd4]
push 3
pop esi
mov eax, dword [eax]
cmp eax, esi
je 0x41f052
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, esi
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov dword [ebp - 4], eax
jge 0x41f075
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41f0a6
push esi
push dword [0x43cd48]
push 0x8ce
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.The_OS_is_Windows_2000__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp - 4]
jmp 0x41f2a0
cmp dword [ebp - 0x98], 6
jne 0x41f2a6
cmp dword [ebp - 0x94], edi
jne 0x41f168
cmp dword [0x441ff4], edi
mov dword [ebp - 8], 4
je 0x41f2a6
mov eax, dword [0x441fd4]
push 3
pop esi
mov eax, dword [eax]
cmp eax, esi
je 0x41f105
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, esi
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov dword [ebp - 4], eax
jge 0x41f128
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41f159
push esi
push dword [0x43cd48]
push 0x8e5
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.The_OS_is_Vista__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp - 4]
jmp 0x41f2a0
cmp dword [ebp - 0x94], 1
jne 0x41f2a6
cmp dword [0x441ff4], edi
mov dword [ebp - 8], eax
je 0x41f2a6
mov eax, dword [0x441fd4]
push 3
pop esi
mov eax, dword [eax]
cmp eax, esi
je 0x41f1a8
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, esi
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov dword [ebp - 4], eax
jge 0x41f1cb
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41f1fc
push esi
push dword [0x43cd48]
push 0x8ea
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.The_OS_is_Windows7__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp - 4]
jmp 0x41f2a0
cmp dword [ebp - 0x94], edi
je 0x41f2a6
cmp dword [0x441ff4], edi
mov dword [ebp - 8], edi
je 0x41f2a6
mov eax, dword [0x441fd4]
push 3
pop esi
mov eax, dword [eax]
cmp eax, esi
je 0x41f242
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41f2a6
cmp eax, esi
jle 0x41f2a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], edi
mov dword [ebp - 4], eax
jge 0x41f265
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41f296
push esi
push dword [0x43cd48]
push 0x8f4
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.The_OS_is_Windows_98__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret