Function at 0x4196fb
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e083
mov eax, dword fs:[0]
push eax
mov eax, 0x225c
call fcn.004ac250
mov eax, dword [0x54e548]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x221c], eax
xor eax, eax
mov dword [ebp - 0x2244], eax
mov dword [ebp - 0x2230], eax
mov dword [ebp - 0x222c], eax
mov dword [ebp - 0x2228], eax
push edi
mov dword [ebp - 4], eax
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
push 0x7d
pop eax
cmp word [edi], ax
je 0x419cc2
xor eax, eax
inc eax
push str.Delete
push edi
mov dword [ebp - 0x2224], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x517958
sbb esi, esi
inc esi
push edi
mov dword [ebp - 0x2220], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4197ac
test esi, esi
je 0x41986c
push edi
mov ecx, ebx
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x41986e
push 0x5c
push edi
mov dword [ebp - 0x223c], esi
mov dword [ebp - 0x2238], esi
mov dword [ebp - 0x2234], esi
call fcn.0041a147
pop ecx
pop ecx
test eax, eax
jne 0x419cb2
push edi
mov ecx, ebx
call fcn.004188bd
test eax, eax
je 0x419823
mov eax, dword [ebp - 0x221c]
lea ecx, [ebp - 0x223c]
push edi
mov dword [ebp - 0x223c], eax
call fcn.0041927d
mov dword [ebp - 0x223c], esi
mov dword [ebp - 0x2238], esi
mov dword [ebp - 0x2234], esi
cmp dword [ebp - 0x2220], esi
je 0x41985f
push edi
mov ecx, ebx
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419caa
push edi
mov ecx, ebx
call fcn.0041a0c0
lea ecx, [ebp - 0x223c]
mov esi, eax
call fcn.00418a4f
test esi, esi
js 0x419cc2
jmp 0x419c44
lea ecx, [ebp - 0x223c]
call fcn.00418a4f
jmp 0x41986e
xor esi, esi
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x419896
push edi
mov ecx, ebx
mov dword [ebp - 0x2224], esi
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
push 0x517950
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4199c2
lea eax, [ebp - 0x2218]
mov ecx, ebx
push eax
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
push edi
mov ecx, ebx
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
push 0x3d
pop eax
cmp word [edi], ax
jne 0x419cbd
cmp dword [ebp + 0x10], 0
je 0x419948
xor eax, eax
mov ecx, ebx
inc eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x221c]
mov dword [ebp - 0x2250], eax
xor eax, eax
mov dword [ebp - 0x224c], eax
mov dword [ebp - 0x2248], eax
lea eax, [ebp - 0x2218]
push edi
push eax
lea eax, [ebp - 0x2250]
push eax
call fcn.004182f5
mov esi, eax
lea ecx, [ebp - 0x2250]
xor eax, eax
mov dword [ebp - 0x2250], eax
mov dword [ebp - 0x224c], eax
mov dword [ebp - 0x2248], eax
test esi, esi
js 0x419cfa
mov byte [ebp - 4], al
jmp 0x419c3f
cmp dword [ebp + 0x14], 0
jne 0x4199b5
cmp dword [ebp - 0x2224], 0
je 0x4199b5
xor eax, eax
lea ecx, [ebp - 0x225c]
push 0x20006
push eax
push dword [ebp - 0x221c]
mov dword [ebp - 0x225c], eax
mov dword [ebp - 0x2258], eax
mov dword [ebp - 0x2254], eax
call fcn.00418fa0
test eax, eax
jne 0x419ceb
lea eax, [ebp - 0x2218]
push eax
push dword [ebp - 0x225c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x4199aa
cmp eax, 2
jne 0x419ceb
lea ecx, [ebp - 0x225c]
call fcn.00418a4f
push edi
mov ecx, ebx
call fcn.0041a0c0
jmp 0x419c93
push 0x5c
push edi
call fcn.0041a147
pop ecx
pop ecx
test eax, eax
jne 0x419cbd
cmp dword [ebp + 0x10], eax
je 0x419a66
mov esi, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2230]
push 0x2001f
push edi
push esi
call fcn.00418fa0
test eax, eax
je 0x419a2f
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x2230]
call fcn.00418fa0
test eax, eax
je 0x419a2f
xor eax, eax
lea ecx, [ebp - 0x2230]
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
call fcn.00418a69
test eax, eax
jne 0x419b60
push edi
mov ecx, ebx
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
push 0x3d
pop eax
cmp word [edi], ax
jne 0x419c44
push edi
xor eax, eax
mov ecx, ebx
push eax
lea eax, [ebp - 0x2230]
push eax
call fcn.004182f5
mov esi, eax
jmp 0x419852
cmp dword [ebp + 0x14], 0
jne 0x419a85
push 0x20019
push edi
push dword [ebp - 0x221c]
lea ecx, [ebp - 0x2230]
call fcn.00418fa0
jmp 0x419a88
push 2
pop eax
mov ecx, dword [ebp + 0x14]
test eax, eax
push 1
mov dword [ebp - 0x2220], eax
pop eax
push 0xffffffffffffffff
cmovne ecx, eax
lea eax, [ebp - 0x218]
push edi
push 0x104
push eax
mov dword [ebp - 0x2240], ecx
call fcn.004f5089
push eax
call fcn.00407310
add esp, 0x14
mov ecx, ebx
push edi
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
push edi
mov ecx, ebx
call fcn.0041a0c0
mov esi, eax
test esi, esi
js 0x419cc2
push 0x7b
pop eax
cmp word [edi], ax
jne 0x419b43
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2244]
jne 0x419aed
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x419b43
push dword [ebp - 0x2240]
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp - 0x2230]
push edi
call fcn.004196fb
mov esi, eax
test esi, esi
jns 0x419b31
cmp dword [ebp - 0x2240], 0
je 0x419cc2
push edi
mov ecx, ebx
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
mov eax, dword [ebp - 0x2220]
cmp eax, 2
je 0x419c99
test eax, eax
je 0x419b6e
cmp dword [ebp + 0x14], 0
jne 0x419c99
push eax
call fcn.0041888a
pop ecx
mov esi, eax
jmp 0x419cc2
cmp dword [ebp + 0x14], 0
je 0x419bbf
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.00418ca4
test eax, eax
je 0x419bbf
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.004188bd
test eax, eax
je 0x419c99
cmp dword [ebp - 0x2224], 0
je 0x419c99
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2230]
call fcn.0041927d
jmp 0x419c99
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.00418ca4
lea ecx, [ebp - 0x2230]
mov dword [ebp - 0x2220], eax
call fcn.00418a4f
test eax, eax
jne 0x419b60
cmp dword [ebp - 0x2224], eax
je 0x419c99
cmp dword [ebp - 0x2220], eax
jne 0x419c99
mov eax, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2268]
mov dword [ebp - 0x2268], eax
xor eax, eax
mov dword [ebp - 0x2264], eax
mov dword [ebp - 0x2260], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00418ad8
xor ecx, ecx
mov dword [ebp - 0x2268], ecx
test eax, eax
jne 0x419d01
lea ecx, [ebp - 0x2268]
call fcn.00418a4f
cmp dword [ebp + 0x10], 0
je 0x419c99
push 0x7b
pop eax
cmp word [edi], ax
jne 0x419c99
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2244]
jne 0x419c57
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x419c9c
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x2230]
push edi
call fcn.004196fb
mov esi, eax
test esi, esi
js 0x419cc2
push edi
mov ecx, ebx
call fcn.00418e3b
mov esi, eax
test esi, esi
js 0x419cc2
xor eax, eax
inc eax
push 0x7d
pop ecx
cmp word [edi], cx
jne 0x419777
jmp 0x419cc2
lea ecx, [ebp - 0x223c]
jmp 0x419cfa
lea ecx, [ebp - 0x223c]
call fcn.00418a4f
mov esi, 0x80020009
lea ecx, [ebp - 0x2230]
call fcn.00418a4f
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ac0d0
leave
ret 0x10
push eax
call fcn.0041888a
pop ecx
lea ecx, [ebp - 0x225c]
mov esi, eax
call fcn.00418a4f
jmp 0x419cc2
push eax
call fcn.0041888a
pop ecx
lea ecx, [ebp - 0x2268]
jmp 0x419cf8