Function at 0x55dc8c
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcb4
cmp dword [0x6a53b8], 3
push ebx
push esi
push edi
jl 0x55df56
mov eax, dword [0x6a9b2c]
mov edi, dword [eax + 8]
push edi
mov dword [ebp - 4], edi
call fcn.0055bdb2
test al, al
jne 0x55de62
mov eax, dword [str.Crescendo]
xor ebx, ebx
jmp 0x55dcde
mov ecx, edi
call fcn.0040106b
test eax, eax
je 0x55dce7
inc ebx
mov eax, ebx
shl eax, 4
mov eax, dword [eax + 0x6a55c0]
test eax, eax
jne 0x55dcc7
jmp 0x55df56
shl ebx, 4
push dword [ebx + 0x6a55cc]
mov eax, 0x104
push str.https:___sindex.html_refnchiodabout
lea edi, [ebp - 0xaa8]
call fcn.005383cd
mov esi, dword [ebx + 0x6a55c8]
pop ecx
pop ecx
lea edi, [ebp - 0x108]
call fcn.00559cde
lea eax, [ebp - 0x4a]
call fcn.0055d825
lea eax, [ebp - 0xaa8]
mov dword [ebp - 0x16], eax
mov eax, edi
push eax
mov dword [ebp - 0x108], 0x693e68
mov dword [ebp - 0x4a], 0x693eac
mov dword [ebp - 0x1a], esi
call fcn.0055d84d
test al, al
jne 0x55dd74
push dword [ebp - 0x32]
mov dword [ebp - 0x36], 0x646788
call dword [sym.imp.GDI32.dll_DeleteObject]
lea edi, [ebp - 0xd3]
call fcn.0049862a
lea eax, [ebp - 0x108]
call fcn.00565602
jmp 0x55df56
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor esi, esi
push esi
push 0x20
push 0x20
push 1
push 0x14
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x288]
call fcn.0056234b
mov dword [ebp - 0x113], esi
push esi
lea esi, [ebp - 0x288]
mov dword [ebp - 0x288], 0x6479b8
mov dword [ebp - 0x1ca], 0x692050
mov dword [ebp - fcn.005624ca], 0x691fd8
call fcn.005623e2
push 1
push 0x68a2ac
push dword [ebx + 0x6a55c4]
lea eax, [ebp - 0xc]
push eax
xor eax, eax
lea ecx, [ebp - 0x19a]
call fcn.00532a42
lea eax, [ebp - 0x288]
xor esi, esi
call fcn.0040d8e1
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp dword [ebp - 0xc], esi
jne 0x55dd49
call fcn.0055df5b
mov edi, 0x3c0
jmp 0x55de2b
push 0x7d
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
dec edi
test eax, eax
jl 0x55de37
push dword [ebp - 4]
call fcn.0055bdb2
test al, al
je 0x55de1c
push dword [ebp - 0x32]
mov dword [ebp - 0x36], 0x646788
call dword [sym.imp.GDI32.dll_DeleteObject]
lea edi, [ebp - 0xd3]
call fcn.0049862a
lea eax, [ebp - 0x108]
call fcn.00565602
mov edi, dword [ebp - 4]
jmp 0x55de64
xor esi, esi
lea eax, [ebp - 0x698]
push eax
push esi
push esi
push 0x26
push esi
mov word [ebp - 0x698], si
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp word [ebp - 0x698], si
je 0x55df56
push edi
push edi
mov ebx, 0x104
push str.NCH_Software_s_s.exe
mov eax, ebx
lea edi, [ebp - 0x8a0]
call fcn.005383cd
add esp, 0xc
mov esi, 0x631a7c
push esi
mov eax, edi
push eax
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x490]
call fcn.0053768f
lea eax, [ebp - 0x490]
push eax
call fcn.00401e3b
test al, al
jne 0x55df0c
push dword [ebp - 4]
mov eax, ebx
push dword [ebp - 4]
push str.NCH_Swift_Sound_s_s.exe
call fcn.005383cd
add esp, 0xc
push esi
mov eax, edi
push eax
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x490]
call fcn.0053768f
lea eax, [ebp - 0x490]
push eax
call fcn.00401e3b
test al, al
je 0x55df56
cmp dword [0x6a53b8], 3
jle 0x55df1f
mov eax, dword [0x6a9b2c]
mov eax, dword [eax + 0xc]
jmp 0x55df21
xor eax, eax
test eax, eax
je 0x55df49
push eax
lea eax, [ebp - 0x490]
push eax
push str._s___s_
mov eax, 0x208
lea edi, [ebp - 0xcb0]
call fcn.005383cd
add esp, 0xc
mov eax, edi
jmp 0x55df4f
lea eax, [ebp - 0x490]
push 1
call fcn.004cb87c
pop edi
pop esi
pop ebx
leave
ret