Function at 0x10014c70
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 4], 0
sub esp, 0x10
mov eax, esp
mov ecx, dword [0x10073db0]
mov dword [eax], ecx
mov edx, dword [0x10073db4]
mov dword [eax + 4], edx
mov ecx, dword [0x10073db8]
mov dword [eax + 8], ecx
mov edx, dword [0x10073dbc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
add eax, 0x24
push eax
call fcn.10015180
add esp, 4
mov ecx, esp
mov edx, dword [0x10073dc0]
mov dword [ecx], edx
mov eax, dword [0x10073dc4]
mov dword [ecx + 4], eax
mov edx, dword [0x10073dc8]
mov dword [ecx + 8], edx
mov eax, dword [0x10073dcc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp + 8]
add ecx, 0x24
push ecx
call fcn.10015180
add esp, 0x14
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x10014d09
mov dword [ebp - 4], 0x80004005
jmp 0x10014d64
push 0x1006d5ac
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014d23
mov dword [ebp - 4], 0x80004005
push 0x1006d5b4
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014d3d
mov dword [ebp - 4], 0x80004005
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
push eax
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014d64
mov dword [ebp - 4], 0x80004005
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20], 0
je 0x10014deb
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x10014d90
mov dword [ebp - 4], 0x80004005
jmp 0x10014deb
push 0x1006d5c0
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014daa
mov dword [ebp - 4], 0x80004005
push 0x1006d5c8
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014dc4
mov dword [ebp - 4], 0x80004005
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
push eax
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014deb
mov dword [ebp - 4], 0x80004005
lea ecx, [ebp - 8]
push ecx
push 0x1006d5d4
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x10014e0f
mov dword [ebp - 4], 0x80004005
jmp 0x10014eaf
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x10014e31
mov dword [ebp - 4], 0x80004005
jmp 0x10014e89
push str.ProgID
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014e4b
mov dword [ebp - 4], 0x80004005
push str.OLEScript
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014e65
mov dword [ebp - 4], 0x80004005
push str.InprocServer32
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014e7f
mov dword [ebp - 4], 0x80004005
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014ea5
mov dword [ebp - 4], 0x80004005
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0
je 0x10014ed5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
push ecx
push MenuHelp
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
je 0x10014ed5
mov dword [ebp - 4], 0x80004005
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 4