Function at 0x5ac848
Capabilities:
Query or enumerate registry value
Set environment variable

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee0
push ebx
push esi
push edi
mov edi, 0x827b10
push edi
mov esi, 0x827c11
lea edi, [ebp - 0x120]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
pop edi
push 8
push 0
lea eax, [ebp - 8]
push eax
call fcn.0066cc88
add esp, 0xc
call fcn.005acb18
lea edx, [ebp - 0xc]
push edx
push 0x20019
push 0
push str.SOFTWARE_aheadShared
push SysStringLen
call sub.ADVAPI32.DLL_RegOpenKeyExA
cmp dword [ebp - 0xc], 0
je 0x5ac975
mov dword [ebp - 0x14], 0xff
lea ecx, [ebp - 0x14]
lea eax, [ebp - 0x10]
push ecx
push edi
push eax
push 0
push str.NeroAPI
mov edx, dword [ebp - 0xc]
push edx
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
je 0x5ac8d8
mov ecx, dword [ebp - 0xc]
push ecx
call sub.ADVAPI32.DLL_RegCloseKey
jmp 0x5ac975
mov eax, dword [ebp - 0xc]
push eax
call sub.ADVAPI32.DLL_RegCloseKey
push edi
call fcn.0066ce38
pop ecx
cmp eax, 0xf3
jae 0x5ac975
push 0xff
push edi
lea edx, [ebp - 0x120]
push edx
call fcn.0066d04c
add esp, 0xc
mov byte [ebp - 0x21], 0
cmp byte [ebp - 0x120], 0
je 0x5ac94e
lea ecx, [ebp - 0x120]
push ecx
call fcn.0066ce38
cmp byte [ebp + eax - 0x121], 0x5c
pop ecx
jne 0x5ac94e
lea eax, [ebp - 0x120]
push eax
call fcn.0066ce38
pop ecx
lea edx, [ebp - 0x120]
mov byte [ebp + eax - 0x121], 0
push edx
call fcn.005ac554
pop ecx
push 0x827d97
lea ecx, [ebp - 0x120]
push ecx
call fcn.0066cd2c
add esp, 8
lea eax, [ebp - 0x120]
push eax
lea edx, [ebp - 8]
push edx
call fcn.005ac44c
add esp, 8
cmp byte [edi], 0
jne 0x5aca2f
lea ecx, [ebp - 0x18]
push ecx
push 0x20019
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_PathsNero.exe
push SysStringLen
call sub.ADVAPI32.DLL_RegOpenKeyExA
cmp dword [ebp - 0x18], 0
je 0x5aca2f
mov dword [ebp - 0x20], 0xff
lea eax, [ebp - 0x20]
lea edx, [ebp - 0x1c]
push eax
push edi
push edx
push 0
push str.Path
mov ecx, dword [ebp - 0x18]
push ecx
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
je 0x5ac9d1
mov eax, dword [ebp - 0x18]
push eax
call sub.ADVAPI32.DLL_RegCloseKey
jmp 0x5aca2f
mov edx, dword [ebp - 0x18]
push edx
call sub.ADVAPI32.DLL_RegCloseKey
push edi
call fcn.0066ce38
pop ecx
cmp eax, 0xf3
jae 0x5aca28
push 0xff
push edi
lea ecx, [ebp - 0x120]
push ecx
call fcn.0066d04c
add esp, 0xc
mov byte [ebp - 0x21], 0
push str.NeroAPI.dll
lea eax, [ebp - 0x120]
push eax
call fcn.0066cd2c
add esp, 8
lea edx, [ebp - 0x120]
push edx
lea ecx, [ebp - 8]
push ecx
call fcn.005ac44c
add esp, 8
push edi
call fcn.005ac554
pop ecx
push 0x827df3
call fcn.00677bb4
pop ecx
mov ebx, eax
push edi
call fcn.0066ce38
pop ecx
test eax, eax
jbe 0x5acac2
push edi
push ebx
call fcn.005ac7a4
add esp, 8
test eax, eax
jne 0x5acac2
push edi
call fcn.0066ce38
pop ecx
mov esi, eax
push ebx
call fcn.0066ce38
pop ecx
add esi, eax
add esi, 2
push esi
call fcn.0066c62c
pop ecx
mov esi, eax
test esi, esi
je 0x5acac2
push esi
xor eax, eax
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x827df8
push esi
call fcn.0066cd2c
add esp, 8
push ebx
push esi
call fcn.0066cd2c
add esp, 8
push esi
push str.PATH
call sub.KERNEL32.DLL_SetEnvironmentVariableA
push esi
call fcn.0066c63c
pop ecx
lea eax, [ebp - 0x120]
push eax
call sub.KERNEL32.DLL_LoadLibraryA
mov ebx, eax
mov dword [0xd220e4], ebx
test ebx, ebx
je 0x5acb03
push 0
push 6
push 5
push 0
push 7
call fcn.005adbb0
add esp, 0x14
test eax, eax
jne 0x5acb03
mov eax, dword [0xd220e4]
push eax
call sub.KERNEL32.DLL_FreeLibrary
xor edx, edx
mov dword [0xd220e4], edx
cmp dword [0xd220e4], 0
setne al
and eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret