Function at 0x4d9126
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004c69bb
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
pop ecx
xor ecx, ecx
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], ecx
push eax
push 0xf003f
push ecx
push str.SOFTWARE
push 0x80000001
mov dword [ebp + 8], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
call ebx
mov edi, eax
test edi, edi
je 0x4d9185
push esi
push str.open_SOFTWARE_failed_for__s__but_failed_n
jmp 0x4d932f
lea eax, [ebp - 0x14]
push eax
push 0xf003f
push 0
push str.Classes
push dword [ebp - 0x18]
call ebx
mov edi, eax
test edi, edi
je 0x4d91ab
push esi
push str.open_Classes_failed_for__s__but_failed_n
jmp 0x4d932f
lea eax, [ebp + 8]
push eax
push 0xf003f
push 0
push esi
push dword [ebp - 0x14]
call ebx
mov edi, eax
test edi, edi
jne 0x4d91a0
lea eax, [ebp - 8]
push eax
push 0xf003f
push edi
push str.shell
push dword [ebp + 8]
call ebx
test eax, eax
je 0x4d91f3
push edi
push 0x100
push 0x55d048
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
jmp 0x4d9323
lea eax, [ebp - 4]
push eax
push 0xf003f
push edi
push str.open
push dword [ebp - 8]
call ebx
test eax, eax
je 0x4d9234
push edi
push 0x100
push 0x55d048
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
mov edi, eax
test edi, edi
je 0x4d9336
push esi
push str.delete_shell_failed_for__s__but_failed_n
jmp 0x4d932f
lea eax, [ebp - 0x10]
push eax
push 0xf003f
push edi
push str.command
push dword [ebp - 4]
call ebx
test eax, eax
je 0x4d9275
push edi
push 0x100
push 0x55d048
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
mov edi, eax
test edi, edi
je 0x4d9336
push esi
push str.delete_open_failed_for__s__but_failed_n
jmp 0x4d932f
lea eax, [ebp - 0xc]
push eax
push 0xf003f
push edi
push str.DefaultIcon
push dword [ebp + 8]
call ebx
test eax, eax
je 0x4d929a
push esi
push str.open_icon_failed_for__s__but_failed_n
call fcn.004fba94
pop ecx
pop ecx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
push edi
push 0x100
push 0x55d048
push dword [ebp - 0x10]
call ebx
mov edi, eax
test edi, edi
je 0x4d92be
push esi
push str.delete_command_failed_for__s__but_failed_n
jmp 0x4d932f
push 0
push 0x100
push 0x55d048
push dword [ebp - 4]
call ebx
mov edi, eax
test edi, edi
jne 0x4d926a
push eax
push 0x100
push 0x55d048
push dword [ebp - 8]
call ebx
mov edi, eax
test edi, edi
jne 0x4d9229
cmp dword [ebp - 0xc], eax
je 0x4d9312
push eax
push 0x100
push 0x55d048
push dword [ebp - 0xc]
call ebx
mov edi, eax
test edi, edi
je 0x4d9312
push esi
push str.delete_icon_failed_for__s__but_failed_n
jmp 0x4d932f
push 0
push 0x100
push 0x55d048
push dword [ebp + 8]
call ebx
mov edi, eax
test edi, edi
je 0x4d9336
push esi
push str.delete_schema_failed_for__s__but_failed_n
call fcn.004fba94
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x4d9349
push dword [ebp - 0x10]
call ebx
mov edi, eax
cmp dword [ebp - 4], 0
je 0x4d9356
push dword [ebp - 4]
call ebx
mov edi, eax
cmp dword [ebp - 8], 0
je 0x4d9363
push dword [ebp - 8]
call ebx
mov edi, eax
cmp dword [ebp + 8], 0
je 0x4d9370
push dword [ebp + 8]
call ebx
mov edi, eax
cmp dword [ebp - 0x14], 0
je 0x4d937d
push dword [ebp - 0x14]
call ebx
mov edi, eax
cmp dword [ebp - 0x18], 0
je 0x4d938a
push dword [ebp - 0x18]
call ebx
mov edi, eax
cmp dword [ebp - 0xc], 0
je 0x4d9397
push dword [ebp - 0xc]
call ebx
mov edi, eax
lea ecx, [esi - 0x10]
call fcn.004c77e2
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret