Function at 0x55e0dd
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4c
push ebx
push esi
push edi
lea eax, [ebp - 0xc48]
push eax
call fcn.0055bd85
xor esi, esi
xor edi, edi
cmp dword [str.Crescendo], esi
je 0x55e127
mov eax, 0x6a57f0
lea ecx, [ebp - 0xc48]
push ecx
push dword [eax + 4]
push dword [eax]
call fcn.0055ca41
inc edi
mov eax, edi
imul eax, eax, 9
lea eax, [eax + 0x6a57f0]
cmp dword [eax], esi
jne 0x55e106
cmp dword [str.WavePad], esi
mov dword [ebp - 0xc], esi
je 0x55e424
xor ebx, ebx
mov dword [ebp - 8], 0x6a5884
mov dword [ebp - 4], 0x6a588c
mov eax, dword [ebp - 4]
cmp dword [eax], esi
je 0x55e406
lea ecx, [ebx + 0x6a588c]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
push eax
mov dword [ebp - 0x18], eax
mov esi, 0x104
push str.SoftwareClasses._s
mov eax, esi
lea edi, [ebp - 0xa40]
call fcn.005383cd
pop ecx
pop ecx
push 0x631a7c
push 0
mov eax, edi
push eax
push SysReAllocString
lea eax, [ebp - 0x428]
call fcn.00401162
cmp word [ebp - 0x428], 0
je 0x55e2b5
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0xc48]
push eax
push str.__s___extfind__s____L_
mov eax, esi
lea edi, [ebp - 0x838]
call fcn.005383cd
add esp, 0xc
push dword [ebx + 0x6a5888]
lea eax, [ebp - 0x428]
push eax
push str.SoftwareClasses_sShell_scommand
mov eax, esi
lea edi, [ebp - 0x220]
call fcn.005383cd
add esp, 0xc
push 0x631a7c
push 0
mov eax, edi
push eax
push SysReAllocString
lea eax, [ebp - 0x630]
call fcn.00401162
lea ecx, [ebp - 0x838]
lea eax, [ebp - 0x630]
call fcn.0040106b
test eax, eax
jne 0x55e2b5
push dword [ebx + 0x6a5888]
lea eax, [ebp - 0x428]
push eax
push str.SoftwareClasses_sShell_s
mov eax, esi
call fcn.005383cd
add esp, 0xc
mov edi, SysReAllocString
push edi
lea eax, [ebp - 0x220]
call fcn.0053888e
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x220]
push str.SoftwareClasses_sShell
push eax
call fcn.00401000
and dword [ebp - 0x10], 0
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push 1
push 0
lea eax, [ebp - 0x220]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x55e28e
lea esi, [ebp - 0x10]
call fcn.004cb7e3
test al, al
mov esi, 0x104
jne 0x55e2b5
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x220]
push str.SoftwareClasses_sDefaultIcon
push eax
call fcn.00401000
add esp, 0xc
push edi
lea eax, [ebp - 0x220]
call fcn.0053888e
push 0x631a7c
push 0
lea eax, [ebp - 0xa40]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x428]
call fcn.00401162
cmp word [ebp - 0x428], 0
je 0x55e3e4
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0xc48]
push eax
push str.__s___extfind__s____L_
mov eax, esi
lea edi, [ebp - 0x838]
call fcn.005383cd
add esp, 0xc
push dword [ebx + 0x6a5888]
lea eax, [ebp - 0x428]
push eax
push str.SoftwareClasses_sShell_scommand
mov eax, esi
lea edi, [ebp - 0x220]
call fcn.005383cd
add esp, 0xc
push 0x631a7c
push 0
mov eax, edi
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x630]
call fcn.00401162
test al, al
je 0x55e37f
lea ecx, [ebp - 0x838]
lea eax, [ebp - 0x630]
call fcn.0040106b
test eax, eax
jne 0x55e37f
push dword [ebx + 0x6a5888]
lea eax, [ebp - 0x428]
push eax
push str.SoftwareClasses_sShell_s
mov eax, esi
call fcn.005383cd
add esp, 0xc
push reloc.OLEAUT32.dll_SysReAllocString
mov eax, edi
call fcn.0053888e
push 0x631a7c
push 0
lea eax, [ebp - 0x220]
push eax
push SysReAllocString
lea eax, [ebp - 0x630]
call fcn.00401162
test al, al
je 0x55e3e4
lea ecx, [ebp - 0x838]
lea eax, [ebp - 0x630]
call fcn.0040106b
test eax, eax
jne 0x55e3e4
push dword [ebx + 0x6a5888]
lea eax, [ebp - 0x428]
push eax
push str.SoftwareClasses_sShell_s
mov eax, esi
lea edi, [ebp - 0x220]
call fcn.005383cd
add esp, 0xc
push SysReAllocString
mov eax, edi
call fcn.0053888e
push dword [ebx + 0x6a5888]
push dword [ebp - 0x18]
call fcn.0055cd43
mov eax, dword [ebp - 0x14]
add eax, 4
cmp dword [eax], 0
mov dword [ebp - 0x14], eax
jne 0x55e15a
xor esi, esi
inc dword [ebp - 0xc]
mov ebx, dword [ebp - 0xc]
add dword [ebp - 4], 0x5c
imul ebx, ebx, 0x5c
lea eax, [ebx + 0x6a5884]
cmp dword [eax], esi
mov dword [ebp - 8], eax
jne 0x55e146
call fcn.0055c605
call fcn.004012fd
test al, al
mov ebx, 0x6788c4
je 0x55e447
push str.NCH_Suite
call fcn.0055c7ad
push ebx
call fcn.0055c7ad
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x838]
push eax
push esi
push esi
push 0x28
push esi
call edi
test eax, eax
jne 0x55e482
push 0x631a7c
push ebx
lea eax, [ebp - 0x838]
push eax
lea eax, [ebp - 0xa40]
call fcn.0053768f
lea ecx, [ebp - 0xa40]
call fcn.00537c3e
lea eax, [ebp - 0x630]
push eax
push esi
push esi
push 6
push esi
mov word [ebp - 0x630], si
call edi
cmp word [ebp - 0x630], si
je 0x55e4c9
push str..lnk
push str.NCH_Software_Download_Site
lea eax, [ebp - 0x630]
push eax
lea eax, [ebp - 0x838]
call fcn.0053768f
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
push esi
push 0x2000
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
call fcn.00582d12
pop edi
pop esi
pop ebx
leave
ret