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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc4
cmp dword [0x5a5314], 3
push ebx
push esi
push edi
jl 0x4741d1
mov eax, dword [0x5a9cc0]
mov edi, dword [eax + 8]
push edi
mov dword [ebp - 4], edi
call fcn.0047205f
test al, al
jne 0x4740de
mov eax, dword [str.Crescendo]
xor ebx, ebx
jmp 0x473f81
mov ecx, edi
call fcn.00401031
test eax, eax
je 0x473f8a
inc ebx
mov eax, ebx
shl eax, 4
mov eax, dword [eax + 0x5a5520]
test eax, eax
jne 0x473f6a
jmp 0x4741d1
shl ebx, 4
push dword [ebx + 0x5a552c]
mov esi, 0x104
push str.https:___sindex.html_refnchiodabout
lea edi, [ebp - 0xab8]
call fcn.0044b138
pop ecx
pop ecx
mov eax, edi
push eax
push dword [ebx + 0x5a5528]
lea eax, [ebp - 0x110]
call fcn.00473a8a
lea eax, [ebp - 0x110]
push eax
call fcn.00473acd
test al, al
jne 0x473ff9
push dword [ebp - 0x36]
mov dword [ebp - 0x3a], 0x5532c0
call dword [sym.imp.GDI32.dll_DeleteObject]
lea edi, [ebp - 0xd7]
call fcn.0041d6fe
lea eax, [ebp - 0x110]
call fcn.0047a34e
jmp 0x4741d1
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor edi, edi
push edi
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 - 0x298]
call fcn.00477685
push edi
lea esi, [ebp - 0x298]
mov dword [ebp - fcn.00477ec4], 0x553560
mov dword [ebp - 0x1d6], 0x5544bc
mov dword [ebp - 0x1a6], 0x554634
mov dword [ebp - 0x11b], edi
call fcn.0047772c
push 1
push 0x5808cc
push dword [ebx + 0x5a5524]
lea eax, [ebp - 0x1a6]
push eax
lea eax, [ebp - 0xc]
push eax
xor eax, eax
call fcn.00445716
mov eax, esi
call fcn.00403f96
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp dword [ebp - 0xc], edi
jne 0x473fce
call fcn.004741d6
push 0x50
pop esi
jmp 0x4740a9
push 0x7d
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, esi
dec esi
test eax, eax
jl 0x4740b5
push dword [ebp - 4]
call fcn.0047205f
test al, al
je 0x47409a
push dword [ebp - 0x36]
mov dword [ebp - 0x3a], 0x5532c0
call dword [sym.imp.GDI32.dll_DeleteObject]
lea edi, [ebp - 0xd7]
call fcn.0041d6fe
lea eax, [ebp - 0x110]
call fcn.0047a34e
mov edi, dword [ebp - 4]
xor esi, esi
lea eax, [ebp - 0x6a8]
push eax
push esi
push esi
push 0x26
push esi
mov word [ebp - 0x6a8], si
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp word [ebp - 0x6a8], si
je 0x4741d1
push edi
push edi
push str.NCH_Software_s_s.exe
mov esi, 0x104
lea edi, [ebp - 0x8b0]
call fcn.0044b138
add esp, 0xc
mov ebx, 0x53ec98
push ebx
mov eax, edi
push eax
lea eax, [ebp - 0x6a8]
push eax
lea eax, [ebp - 0x4a0]
push eax
call fcn.0044a0d6
lea eax, [ebp - 0x4a0]
push eax
call fcn.00401d29
test al, al
jne 0x474186
push dword [ebp - 4]
push dword [ebp - 4]
push str.NCH_Swift_Sound_s_s.exe
call fcn.0044b138
add esp, 0xc
push ebx
mov eax, edi
push eax
lea eax, [ebp - 0x6a8]
push eax
lea eax, [ebp - 0x4a0]
push eax
call fcn.0044a0d6
lea eax, [ebp - 0x4a0]
push eax
call fcn.00401d29
test al, al
je 0x4741d1
cmp dword [0x5a5314], 3
jle 0x474199
mov eax, dword [0x5a9cc0]
mov eax, dword [eax + 0xc]
jmp 0x47419b
xor eax, eax
test eax, eax
je 0x4741c3
push eax
lea eax, [ebp - 0x4a0]
push eax
push str._s___s_
mov esi, 0x208
lea edi, [ebp - 0xcc0]
call fcn.0044b138
add esp, 0xc
mov eax, edi
jmp 0x4741c9
lea eax, [ebp - 0x4a0]
push 1
push eax
call fcn.00401191
pop edi
pop esi
pop ebx
leave
ret