Function at 0x5b578e
Capabilities:
Delete registry value

Disassembly:
push 0x258
mov eax, 0x60e620
call fcn.004db4be
mov dword [ebp - 0x228], edx
mov edi, ecx
mov dword [ebp - 0x250], edi
mov eax, dword [ebp + 8]
push str.AudioCD
push edi
mov dword [ebp - 0x238], eax
call fcn.005144ec
mov esi, eax
xor eax, eax
test esi, esi
push str.Directory
sete al
push edi
mov dword [ebp - 0x230], eax
call fcn.005144ec
mov ecx, dword [0x668294]
add esp, 0x10
neg eax
mov dword [ebp - 0x254], ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x24c], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
test esi, esi
je 0x5b581e
test eax, eax
jne 0x5b581e
lea eax, [ebp - 0x258]
mov dword [ebp - 0x258], 0x2e
push eax
push 1
lea ecx, [ebp - 0x254]
call fcn.0040f513
test edi, edi
jne 0x5b5826
mov eax, ebx
jmp 0x5b582d
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebp - 0x254]
call fcn.0040f454
mov edi, ebx
mov dword [ebp - 0x234], 0x104
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x230], 0
jne 0x5b5ccf
cmp dword [ebp - 0x24c], 0
jne 0x5b5ccf
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts_
lea ecx, [ebp - 0x22c]
call fcn.0040d2ee
mov edi, dword [ebp - 0x254]
lea ecx, [ebp - 0x22c]
push edi
push dword [edi - 8]
call fcn.0040f454
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x23c], ebx
push 0x2001f
push dword [ebp - 0x22c]
lea ecx, [ebp - 0x244]
push reloc.wspcomm.dll_Ordinal_1
call fcn.00413668
test eax, eax
jne 0x5b5937
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push str.Application
push dword [ebp - 0x244]
call esi
push str.Progid
push dword [ebp - 0x244]
call esi
call fcn.005c8a63
cmp eax, 5
jle 0x5b5918
push 0x63bdf4
lea ecx, [ebp - 0x244]
call fcn.004803ef
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x5b5931
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], ebx
mov esi, dword [0x668294]
mov dword [ebp - 0x248], esi
push str.Audio
lea ecx, [ebp - 0x250]
call fcn.0040d2ee
mov ecx, dword [0x668294]
push edi
push dword [edi - 8]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x258], ecx
lea ecx, [ebp - 0x258]
push dword [eax - 8]
call fcn.0040f4c7
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x250]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5b598e
call fcn.00407965
push ecx
push ecx
push 0x2001f
push ecx
push ecx
push edi
push SysReAllocString
lea ecx, [ebp - 0x224]
call fcn.0048047a
mov edi, dword [ebp - 0x258]
test eax, eax
jne 0x5b5c7d
lea eax, [ebp - 0x234]
push eax
push 0x105
lea ecx, [ebp - 0x248]
call fcn.0040ceb7
push eax
mov esi, 0x6349bc
lea ecx, [ebp - 0x224]
push esi
call fcn.004136c4
push 0xffffffffffffffff
lea ecx, [ebp - 0x248]
call fcn.0040ce81
push ecx
push ecx
push 0x2001f
push ecx
push ecx
push edi
push SysReAllocString
lea ecx, [ebp - 0x264]
call fcn.0048047a
test eax, eax
jne 0x5b5c77
push ecx
push dword [ebp - 0x228]
lea ecx, [ebp - 0x264]
push esi
call fcn.0048053a
push 0x63b5f8
lea ecx, [ebp - 0x264]
call fcn.00480573
mov esi, dword [ebp - 0x248]
push edi
push esi
call fcn.005144ec
pop ecx
pop ecx
test eax, eax
je 0x5b5a56
push ecx
push esi
push str.Backup
lea ecx, [ebp - 0x224]
call fcn.0048053a
push ecx
push edi
push 0x6349bc
lea ecx, [ebp - 0x224]
call fcn.0048053a
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x228], eax
test eax, eax
je 0x5b5a8d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], ebx
cmp dword [esi - 8], ebx
je 0x5b5af3
push esi
push edi
call fcn.005144ec
pop ecx
pop ecx
test eax, eax
je 0x5b5af3
push 0x2001f
push esi
push SysReAllocString
lea ecx, [ebp - 0x224]
call fcn.00413668
test eax, eax
jne 0x5b5ae7
mov esi, dword [ebp - 0x224]
mov ecx, esi
mov edx, dword [ebp - 0x264]
mov dword [ebp - 0x228], esi
call fcn.005b3c82
test esi, esi
je 0x5b5af3
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
jmp 0x5b5aed
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x228], eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [ebp - 0x238]
mov eax, dword [0x668294]
mov dword [ebp - 0x234], eax
test esi, esi
je 0x5b5b36
cmp word [esi], bx
je 0x5b5b36
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x234]
call fcn.0040f513
jmp 0x5b5b51
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x234]
push str.__s__1
push eax
call fcn.0040cefd
add esp, 0xc
mov esi, dword [ebp - 0x234]
push ecx
push esi
push str.DefaultIcon
lea ecx, [ebp - 0x264]
call fcn.004804e2
lea ecx, [esi - 0xc]
mov esi, 0x668010
cmp ecx, esi
je 0x5b5b7a
call fcn.00407965
lea ecx, [edi - 0xc]
cmp ecx, esi
je 0x5b5b86
call fcn.00407965
mov ecx, dword [ebp - 0x248]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5b5b98
call fcn.00407965
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x5b5ba9
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x5b5bbb
call fcn.00407965
mov edi, dword [ebp - 0x228]
push ecx
push ecx
mov esi, 0x2001f
mov dword [ebp - 0x224], ebx
push esi
push ecx
push ecx
push str.shell
push dword [ebp - 0x264]
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
call fcn.0048047a
test eax, eax
jne 0x5b5f11
cmp dword [ebp - 0x24c], eax
je 0x5b5cfb
mov eax, dword [0x668294]
push 0x81a8
push ecx
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x24c], eax
call fcn.0041129f
mov esi, dword [ebp - 0x24c]
push ecx
push esi
push 0x63be88
lea ecx, [ebp - 0x224]
call fcn.004804e2
lea ecx, [esi - 0xc]
mov ebx, 0x668010
cmp ecx, ebx
je 0x5b5c4c
call fcn.00407965
xor edx, edx
lea ecx, [ebp - 0x238]
call fcn.005a980c
push ecx
lea ecx, [ebp - 0x224]
push dword [eax]
push str.Playbackcommand
call fcn.004804e2
mov ecx, dword [ebp - 0x238]
jmp 0x5b5e87
mov esi, dword [ebp - 0x248]
lea ecx, [edi - 0xc]
cmp ecx, 0x668010
je 0x5b5c8d
call fcn.00407965
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5b5c9d
call fcn.00407965
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x5b5cae
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5b5cc4
call fcn.00407965
mov edi, dword [ebp - 0x224]
jmp 0x5b5f26
push ecx
push ecx
push 0x2001f
push ecx
push ecx
push dword [ebp - 0x250]
lea ecx, [ebp - 0x264]
push SysReAllocString
call fcn.0048047a
test eax, eax
je 0x5b5bc1
jmp 0x5b5f26
cmp dword [ebp - 0x230], 0
je 0x5b5e33
push ecx
push ecx
push esi
push ecx
push ecx
push str.opencommand
push dword [ebp - 0x224]
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x23c], ebx
call fcn.0048047a
test eax, eax
jne 0x5b5dae
mov eax, dword [0x668294]
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x234]
push eax
push 0x10f
mov dword [ebp - 0x234], 0x10e
call fcn.0040ceb7
push eax
push 0x6349bc
lea ecx, [ebp - 0x244]
call fcn.004136c4
push 0xffffffffffffffff
lea ecx, [ebp - 0x22c]
call fcn.0040ce81
mov esi, dword [ebp - 0x22c]
push ecx
push esi
push str.Backup
lea ecx, [ebp - 0x244]
call fcn.0048053a
lea ecx, [esi - 0xc]
mov ebx, 0x668010
cmp ecx, ebx
je 0x5b5db3
call fcn.00407965
jmp 0x5b5db3
mov ebx, 0x668010
mov eax, dword [0x668294]
push 0x81a9
push ecx
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x230], eax
call fcn.0041129f
mov esi, dword [ebp - 0x230]
push ecx
push esi
push 0x63a8d4
lea ecx, [ebp - 0x224]
call fcn.004804e2
lea ecx, [esi - 0xc]
cmp ecx, ebx
je 0x5b5df3
call fcn.00407965
xor edx, edx
lea ecx, [ebp - 0x238]
inc edx
call fcn.005a980c
push ecx
lea ecx, [ebp - 0x224]
push dword [eax]
push str.PlayListcommand
call fcn.004804e2
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff4
cmp ecx, ebx
je 0x5b5e26
call fcn.00407965
lea ecx, [ebp - 0x244]
call fcn.0041364e
jmp 0x5b5e38
mov ebx, 0x668010
push ecx
mov esi, 0x634c74
lea ecx, [ebp - 0x224]
push esi
push 0x6349bc
call fcn.0048053a
push ecx
push 0x6349bc
push esi
lea ecx, [ebp - 0x224]
call fcn.004804e2
xor edx, edx
lea ecx, [ebp - 0x250]
call fcn.005a980c
push ecx
lea ecx, [ebp - 0x224]
push dword [eax]
push str.opencommand
call fcn.004804e2
mov ecx, dword [ebp - 0x250]
add ecx, 0xfffffff4
cmp ecx, ebx
je 0x5b5e93
call fcn.00407965
mov eax, dword [0x668294]
push 0x81a9
push ecx
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x230], eax
call fcn.0041129f
mov esi, dword [ebp - 0x230]
push ecx
push esi
push 0x63a8d4
lea ecx, [ebp - 0x224]
call fcn.004804e2
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5b5ed7
call fcn.00407965
xor edx, edx
lea ecx, [ebp - 0x238]
inc edx
call fcn.005a980c
push ecx
lea ecx, [ebp - 0x224]
push dword [eax]
push str.PlayListcommand
call fcn.004804e2
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5b5f0e
call fcn.00407965
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x224], 0
je 0x5b5f26
push dword [ebp - 0x224]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x264]
call fcn.0041364e
test edi, edi
je 0x5b5f3c
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x254]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5b5f52
call fcn.00407965
mov eax, ebx
call fcn.004db46d
ret