Function at 0x4025a1
Capabilities:
Check os version
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x620
push esi
push edi
lea eax, [ebp - 0x118]
mov esi, 0x114
push eax
mov dword [ebp - 0x118], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x4025d9
push esi
push eax
lea eax, [ebp - 0x118]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push dword [ebp + 0x14]
lea eax, [ebp - 4]
push eax
xor eax, eax
call fcn.00402533
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop ecx
pop ecx
test eax, eax
jne 0x402605
push dword [ebp + 0x14]
push dword [ebp - 4]
call fcn.004019bc
pop ecx
pop ecx
push dword [ebp - 4]
call esi
push ebx
push dword [ebp + 0x14]
lea eax, [ebp - 4]
push eax
mov eax, 0x404c6c
call fcn.00402533
mov ebx, dword [ebp + 0x10]
pop ecx
pop ecx
mov edi, 0x184
test eax, eax
jne 0x402652
push dword [ebp + 0x18]
lea eax, [ebp - 0x420]
push ebx
push str._s__d
push edi
push eax
call fcn.0040121f
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 4]
call fcn.004019bc
add esp, 0x1c
push dword [ebp - 4]
call esi
push dword [ebp + 0x14]
lea eax, [ebp - 4]
push eax
mov eax, str.InstallInfo
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x4026f8
push 4
lea eax, [ebp + 0xc]
push eax
push 4
push 0
push str.IconsVisible
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x18]
lea eax, [ebp - 0x420]
push ebx
push str.__s___REGAVCDL
push edi
push eax
call fcn.0040121f
lea eax, [ebp - 0x420]
push eax
push str.ReinstallCommand
push dword [ebp - 4]
call fcn.004019e1
lea eax, [ebp - 0x420]
push eax
push str.ShowIconsCommand
push dword [ebp - 4]
call fcn.004019e1
push dword [ebp + 0x18]
lea eax, [ebp - 0x420]
push ebx
push str.__s___UNREG
push edi
push eax
call fcn.0040121f
add esp, 0x40
lea eax, [ebp - 0x420]
push eax
push str.HideIconsCommand
push dword [ebp - 4]
call fcn.004019e1
add esp, 0xc
push dword [ebp - 4]
call esi
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 4]
push edi
push eax
mov eax, str.shell
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x402715
push dword [ebp - 4]
call esi
lea eax, [ebp - 4]
push edi
push eax
mov eax, str.shellopen
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x40272f
push dword [ebp - 4]
call esi
lea eax, [ebp - 4]
push edi
push eax
mov eax, str.shellopencommand
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x402754
push ebx
push dword [ebp - 4]
call fcn.004019bc
pop ecx
pop ecx
push dword [ebp - 4]
call esi
cmp dword [ebp - 0x114], 6
pop ebx
jb 0x40281a
lea eax, [ebp - 4]
push edi
push eax
mov eax, str.Capabilities
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x40279f
push str.Winamp._The_Ultimate_Media_Player.
push str.ApplicationDescription
push dword [ebp - 4]
call fcn.004019e1
push edi
push str.ApplicationName
push dword [ebp - 4]
call fcn.004019e1
add esp, 0x18
push dword [ebp - 4]
call esi
lea eax, [ebp - 4]
push eax
push str.SoftwareRegisteredApplications
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x4027e6
push edi
push str.SoftwareClientsMedia_sCapabilities
lea eax, [ebp - 0x620]
push 0x200
push eax
call fcn.00401253
lea eax, [ebp - 0x620]
push eax
push edi
push dword [ebp - 4]
call fcn.004019e1
add esp, 0x1c
push dword [ebp - 4]
call esi
lea eax, [ebp - 4]
push edi
push eax
mov eax, str.CapabilitiesFileAssociations
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x402800
push dword [ebp - 4]
call esi
lea eax, [ebp - 4]
push edi
push eax
mov eax, str.CapabilitiesMimeAssociations
call fcn.00402533
pop ecx
pop ecx
test eax, eax
jne 0x40281a
push dword [ebp - 4]
call esi
pop edi
xor eax, eax
pop esi
leave
ret 0x14