Function at 0x416cf8
Capabilities:
Delete registry key

Disassembly:
push 0x14
mov eax, 0x46b711
call fcn.0042dbd7
lea ecx, [ebp - 0x10]
call fcn.0040699e
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov esi, dword [ebp + 8]
inc ebx
cmp dword [ebp + 0x10], 0
mov ecx, str.in_32_bit_hive
mov eax, str.in_64_bit_hive
mov byte [ebp - 4], bl
cmove eax, ecx
push eax
push edi
push esi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x10]
push str.IN_Operations::_DeleteSubKeyRecursively_:_Deleting_HKEY__p__subkey__s___s
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x10]
add esp, 0x14
cmp dword [eax - 4], ebx
jle 0x416d64
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
mov eax, dword [ebp - 0x10]
push 4
push eax
mov ecx, 0x493f4c
call fcn.0040c5b8
cmp dword [ebp + 0x10], 0
mov ecx, 0xf003f
mov eax, 0xf013f
cmove eax, ecx
lea ecx, [ebp - 0x20]
push eax
push 0
push esi
mov dword [ebp + 0x10], eax
call fcn.0040dd83
test eax, eax
je 0x416e1e
cmp eax, 2
jne 0x416db5
push esi
lea eax, [ebp - 0x10]
push str.IN_Operations::_DeleteSubKeyRecursively_:_HKEY__p_doesnt_exist
push eax
call fcn.00406b1a
add esp, 0xc
jmp 0x416ed2
push eax
lea eax, [ebp - 0x10]
push str.reg.Open___failed._Error:__d
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp dword [eax - 4], ebx
jle 0x416ddd
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
mov eax, dword [ebp - 0x10]
push 7
mov edi, 0x493f4c
push eax
mov ecx, edi
call fcn.0040c5b8
push dword [ebp + 0x10]
lea eax, [ebp - 0x10]
push esi
push str.IN_Operations::_DeleteSubKeyRecursively_:_Error_opening_registry_key__HKEY__p__sam_0x_u
push eax
call fcn.00406b1a
mov esi, dword [ebp - 0x10]
add esp, 0x10
cmp dword [esi - 4], ebx
jle 0x416e17
push dword [esi - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
mov esi, dword [ebp - 0x10]
mov ecx, edi
jmp 0x416eb0
push edi
push dword [ebp - 0x20]
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyA]
test eax, eax
je 0x416ebc
cmp eax, 2
jne 0x416e4d
push edi
push esi
lea eax, [ebp - 0x10]
push str.IN_Operations::_DeleteSubKeyRecursively_:_HKEY__p__subkey__s_was_already_deleted
push eax
call fcn.00406b1a
add esp, 0x10
jmp 0x416ed2
push eax
lea eax, [ebp - 0x10]
push str.SHDeleteKey___failed._Error:__d
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp dword [eax - 4], ebx
jle 0x416e75
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
mov eax, dword [ebp - 0x10]
push 7
push eax
mov ecx, 0x493f4c
call fcn.0040c5b8
push edi
push esi
lea eax, [ebp - 0x10]
push str.IN_Operations::_DeleteSubKeyRecursively_:_Error_deleting_registry_key__HKEY__p__subkey__s
push eax
call fcn.00406b1a
mov esi, dword [ebp - 0x10]
add esp, 0x10
cmp dword [esi - 4], ebx
jle 0x416eab
push dword [esi - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
mov esi, dword [ebp - 0x10]
mov ecx, 0x493f4c
push 4
push esi
call fcn.0040c5b8
xor bl, bl
jmp 0x416ef5
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
push edi
push esi
push str.IN_Operations::_DeleteSubKeyRecursively_:_Successfully_deleted_HKEY__p__subkey__s___s
push eax
call fcn.00406b1a
add esp, 0x14
mov esi, dword [ebp - 0x10]
cmp dword [esi - 4], ebx
jle 0x416ee8
push dword [esi - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00406aae
mov esi, dword [ebp - 0x10]
push 4
push esi
mov ecx, 0x493f4c
call fcn.0040c5b8
cmp dword [ebp - 0x20], 0
je 0x416f04
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esi - 0x10]
call fcn.00406c57
mov al, bl
call fcn.0042dba0
ret