Function at 0x10005057
Capabilities:
Delete registry value

Disassembly:
mov eax, 0x10025a6b
call fcn.100252dc
mov eax, 0x2250
call fcn.10024d90
mov eax, ecx
xor ecx, ecx
push esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov edi, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov ecx, eax
push edi
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054f0
push ebx
push 0x7d
pop eax
cmp word [edi], ax
je 0x100054ef
xor eax, eax
push str.Delete
inc eax
push edi
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x100050d1
test ebx, ebx
je 0x10005165
mov ecx, dword [ebp - 0x10]
push edi
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
cmp dword [ebp + 0x10], 0
je 0x10005165
and dword [ebp - 0x2c], 0
mov ecx, edi
and dword [ebp - 0x28], 0
and dword [ebp - 0x24], 0
push 0x5c
pop edx
call fcn.10004635
test eax, eax
jne 0x100054e2
push edi
call fcn.10004c33
test eax, eax
je 0x10005125
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x2c]
push edi
mov dword [ebp - 0x2c], eax
call fcn.10004d1e
and dword [ebp - 0x2c], 0
test ebx, ebx
je 0x1000515d
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push edi
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054dd
push edi
mov ecx, ebx
call fcn.10004be2
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.10004e0a
test esi, esi
js 0x100054ef
jmp 0x1000548e
lea ecx, [ebp - 0x2c]
call fcn.10004e0a
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ebx, dword [ebp - 0x10]
test eax, eax
jne 0x1000518d
and dword [ebp + 8], eax
mov ecx, ebx
push edi
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
push 0x1002da6c
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10005286
lea eax, [ebp - 0x225c]
mov ecx, ebx
push eax
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
push edi
mov ecx, ebx
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
push 0x3d
pop eax
cmp word [edi], ax
jne 0x100054ea
cmp dword [ebp + 0x10], 0
je 0x10005224
xor eax, eax
mov ecx, ebx
inc eax
mov byte [ebp - 4], al
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x38], 0
and dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x225c]
push edi
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.100047f8
mov esi, eax
lea ecx, [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
test esi, esi
js 0x10005516
mov byte [ebp - 4], al
jmp 0x10005489
cmp dword [ebp + 0x14], 0
jne 0x10005279
cmp dword [ebp + 8], 0
je 0x10005279
xor eax, eax
lea ecx, [ebp - 0x48]
push 0x20006
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
call fcn.10004cc2
test eax, eax
jne 0x1000550a
lea eax, [ebp - 0x225c]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x10005271
cmp eax, 2
jne 0x1000550a
lea ecx, [ebp - 0x48]
call fcn.10004e0a
push edi
mov ecx, ebx
call fcn.10004be2
jmp 0x100054d2
push 0x5c
pop edx
mov ecx, edi
call fcn.10004635
test eax, eax
jne 0x100054ea
cmp dword [ebp + 0x10], eax
je 0x10005314
mov esi, dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
push 0x2001f
push edi
push esi
call fcn.10004cc2
test eax, eax
je 0x100052e1
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x20]
call fcn.10004cc2
test eax, eax
je 0x100052e1
push ecx
push ecx
push 0x2001f
push ecx
push ecx
push edi
push esi
lea ecx, [ebp - 0x20]
call fcn.100046de
test eax, eax
jne 0x100053e2
push edi
mov ecx, ebx
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
push 0x3d
pop eax
cmp word [edi], ax
jne 0x1000548e
push edi
push 0
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.100047f8
mov esi, eax
jmp 0x10005150
cmp dword [ebp + 0x14], 0
jne 0x1000532d
push 0x20019
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
call fcn.10004cc2
jmp 0x10005330
push 2
pop eax
mov ecx, dword [ebp + 0x14]
test eax, eax
push 1
mov dword [ebp - 0x14], eax
pop eax
push 0xffffffffffffffff
cmovne ecx, eax
lea eax, [ebp - 0x25c]
push edi
push 0x104
push eax
mov dword [ebp - 0x30], ecx
call fcn.10013a96
push eax
call fcn.10004baa
add esp, 0x14
mov ecx, ebx
push edi
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
push edi
mov ecx, ebx
call fcn.10004be2
mov esi, eax
test esi, esi
js 0x100054ef
push 0x7b
pop eax
cmp word [edi], ax
jne 0x100053c8
push edi
call fcn.100139ae
pop ecx
cmp eax, 1
jne 0x100053c8
push dword [ebp - 0x30]
mov ecx, ebx
push 0
push dword [ebp - 0x20]
push edi
call fcn.10005057
mov esi, eax
test esi, esi
jns 0x100053b6
cmp dword [ebp - 0x30], 0
je 0x100054ef
push edi
mov ecx, ebx
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
mov eax, dword [ebp - 0x14]
cmp eax, 2
je 0x10005096
test eax, eax
je 0x100053f0
cmp dword [ebp + 0x14], 0
jne 0x10005096
mov ecx, eax
call fcn.10004ef0
mov esi, eax
jmp 0x100054ef
cmp dword [ebp + 0x14], 0
je 0x10005434
push dword [ebp - 0x20]
call fcn.10004dd5
test eax, eax
je 0x10005434
lea eax, [ebp - 0x25c]
push eax
call fcn.10004c33
test eax, eax
je 0x10005096
cmp dword [ebp + 8], 0
je 0x10005096
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x20]
call fcn.10004d1e
jmp 0x10005096
push dword [ebp - 0x20]
call fcn.10004dd5
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x14], eax
call fcn.10004e0a
test eax, eax
jne 0x100053e2
cmp dword [ebp + 8], eax
je 0x10005096
cmp dword [ebp - 0x14], eax
jne 0x10005096
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x54]
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x25c]
push eax
call fcn.10004e78
and dword [ebp - 0x54], 0
test eax, eax
jne 0x1000551d
lea ecx, [ebp - 0x54]
call fcn.10004e0a
cmp dword [ebp + 0x10], 0
je 0x10005096
push 0x7b
pop eax
cmp word [edi], ax
jne 0x10005096
push edi
call fcn.100139ae
pop ecx
cmp eax, 1
jne 0x10005096
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp - 0x20]
push edi
call fcn.10005057
mov esi, eax
test esi, esi
js 0x100054ef
push edi
mov ecx, ebx
call fcn.10004efe
mov esi, eax
test esi, esi
js 0x100054ef
jmp 0x10005096
lea ecx, [ebp - 0x2c]
jmp 0x10005516
lea ecx, [ebp - 0x2c]
call fcn.10004e0a
mov esi, 0x80020009
pop ebx
lea ecx, [ebp - 0x20]
call fcn.10004e0a
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret 0x10
mov ecx, eax
call fcn.10004ef0
lea ecx, [ebp - 0x48]
mov esi, eax
call fcn.10004e0a
jmp 0x100054ef
mov ecx, eax
call fcn.10004ef0
lea ecx, [ebp - 0x54]
jmp 0x10005514