Function at 0x1008cad
Capabilities:
Delete registry key
Print debug messages
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34c
mov eax, dword [0x100e6d4]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x10011dc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x103
mov byte [ebp - 0x308], al
xor ebx, ebx
lea eax, [ebp - 0x307]
push ebx
push eax
mov dword [ebp - 0x320], esi
call fcn.0100b214
add esp, 0xc
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x318]
push eax
push ebx
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x308]
push eax
push esi
mov dword [ebp - 0x32c], 0x104
mov dword [ebp - 0x318], ebx
mov dword [ebp - 0x314], 2
mov dword [ebp - 0x31c], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
push dword [ebp - 0x318]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x104]
push 0x10065dc
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
call esi
mov eax, dword [ebp - 0x318]
cmp eax, ebx
je 0x1008f04
cmp dword [ebp - 0x310], ebx
jne 0x1008f04
cmp eax, ebx
jbe 0x1008f04
lea ecx, [eax + 1]
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x338]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x328]
push eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x30c]
add eax, 0xfffffffe
push eax
push dword [ebp - 0x320]
mov dword [ebp - 0x328], 0x100
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
cmp eax, ebx
jne 0x1008ec9
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x30c]
push 0x10065d0
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
lea eax, [ebp - 0x324]
push eax
push 1
push ebx
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x320]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1008eb4
push ebx
push ebx
push ebx
push ebx
push 0x100e9f0
push dword [ebp - 0x324]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp eax, ebx
mov dword [ebp - 0x314], eax
jne 0x1008ead
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x320]
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyA]
cmp eax, ebx
mov dword [ebp - 0x314], eax
jne 0x1008ea6
inc dword [ebp - 0x31c]
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x30c]
lea eax, [ebp - 0x104]
push 0x1006598
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
jmp 0x1008eb9
push 0x1006564
jmp 0x1008eb9
push 0x100652c
jmp 0x1008eb9
push 0x10064f8
call esi
push dword [ebp - 0x324]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1008ef2
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x104]
push 0x10064d8
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call esi
push 0x100649c
call esi
dec dword [ebp - 0x30c]
dec dword [ebp - 0x310]
jne 0x1008dc1
push dword [ebp - 0x31c]
lea eax, [ebp - 0x104]
push 0x1006474
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
call esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x314]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100b1ff
leave
ret 4