Function at 0x1000d660
Capabilities:
Delete registry key

Disassembly:
add bl, ch
cmp byte [eax - 0x20], ch
inc esi
add dword [eax], edx
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1000d64b
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0x1b64
jmp 0x1000d655
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
mov eax, 0x1044
call fcn.10011320
push ebx
push esi
push edi
mov dword [ebp - 0x1044], ecx
push eax
xor eax, eax
je 0x1000d682
jae 0x1000d61a
mov eax, dword [0xbc858b58]
out dx, eax
invalid
pop eax
mov eax, dword [ebp - 0x1044]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1034], ecx
mov dword [ebp - 0x818], 0
lea edx, [ebp - 0x818]
push edx
push 9
push 0
mov eax, dword [ebp - 0x1034]
push eax
mov ecx, dword [ebp - 0x1034]
mov edx, dword [ecx + 0x1208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x1030], eax
cmp dword [ebp - 0x1030], 5
je 0x1000d6d9
cmp dword [ebp - 0x1030], 0
je 0x1000d6eb
mov eax, dword [ebp - 0x1044]
mov dword [eax + 4], 0x1b58
jmp fcn.1000d9b1
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x1044]
call fcn.1000da30
mov dword [ebp - 0x1040], eax
cmp dword [ebp - 0x1040], 0
jne 0x1000d72b
mov ecx, dword [ebp - 0x1044]
mov dword [ecx + 4], 0x1b69
mov edx, dword [ebp - 0x818]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp fcn.1000d9b1
mov dword [ebp - 0x102c], 0
mov dword [ebp - 0x1028], 0
mov ecx, 0x203
xor eax, eax
lea edi, [ebp - 0x1024]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x814], 0
mov ecx, 0x203
xor eax, eax
lea edi, [ebp - 0x810]
rep stosd dword es:[edi], eax
mov eax, 1
test eax, eax
je 0x1000d8f6
mov ecx, 0x204
xor eax, eax
lea edi, [ebp - 0x1028]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x1020], 0x1fe
mov dword [ebp - 0x1028], 0x1fe
lea ecx, [ebp - 0x1020]
push ecx
lea edx, [ebp - 0xc18]
push edx
lea eax, [ebp - 0x1024]
push eax
push 0
lea ecx, [ebp - 0x1028]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x818]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov dword [ebp - 0x1030], eax
cmp dword [ebp - 0x1030], 0
je 0x1000d831
cmp dword [ebp - 4], 0
jne 0x1000d82c
mov dword [ebp - 0x810], 1
mov dword [ebp - 0x814], 0xffffffff
mov dword [ebp - 0x80c], 0xffffffff
push 0
lea edx, [ebp - 0x102c]
push edx
push 0x810
lea eax, [ebp - 0x814]
push eax
mov ecx, dword [ebp - 0x1040]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1000d8f6
cmp dword [ebp - 4], 0
jne 0x1000d8c6
lea edx, [ebp - 0x1018]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x1000d886
mov dword [ebp - 0x1028], 0xffffffff
push 0
lea eax, [ebp - 0x102c]
push eax
push 0x810
lea ecx, [ebp - 0x1028]
push ecx
mov edx, dword [ebp - 0x1040]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
jmp 0x1000d767
mov dword [ebp - 0x810], 1
mov dword [ebp - 0x814], 0xffffffff
mov dword [ebp - 0x80c], 0xffffffff
push 0
lea ecx, [ebp - 0x102c]
push ecx
push 0x810
lea edx, [ebp - 0x814]
push edx
mov eax, dword [ebp - 0x1040]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea ecx, [ebp - 0x102c]
push ecx
push 0x810
lea edx, [ebp - 0x1028]
push edx
mov eax, dword [ebp - 0x1040]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x1000d767
mov dword [ebp - 4], 0