Function at 0x469b29
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x225c
call fcn.004bf5a0
mov eax, dword [0x52de80]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x2214], eax
mov ebx, ecx
xor eax, eax
push esi
mov dword [ebp - 0x2240], eax
mov dword [ebp - 0x2230], eax
mov dword [ebp - 0x222c], eax
mov dword [ebp - 0x2228], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x225c], eax
push edi
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
push 0x7d
pop eax
cmp word [edi], ax
je 0x46a0cf
xor eax, eax
push str.Delete
inc eax
push edi
mov dword [ebp - 0x2224], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push str.ForceRemove
sbb esi, esi
inc esi
push edi
mov dword [ebp - 0x2210], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x469bc8
test esi, esi
je 0x469c94
push edi
mov ecx, ebx
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x469c96
push 0x5c
push edi
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x221c], esi
mov dword [ebp - 0x2218], esi
call fcn.0046a3e3
pop ecx
pop ecx
test eax, eax
jne 0x46a0bf
push edi
mov ecx, ebx
call fcn.0046900f
test eax, eax
je 0x469c4b
mov eax, dword [ebp - 0x2214]
lea ecx, [ebp - 0x2220]
push edi
mov dword [ebp - 0x2220], eax
mov dword [ebp - 0x221c], esi
mov dword [ebp - 0x2218], esi
call fcn.00464e56
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x221c], esi
mov dword [ebp - 0x2218], esi
cmp dword [ebp - 0x2210], esi
je 0x469c87
push edi
mov ecx, ebx
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0b7
push edi
mov ecx, ebx
call fcn.0046a271
mov esi, eax
lea ecx, [ebp - 0x2220]
call fcn.00425f61
test esi, esi
js 0x46a0cf
jmp 0x46a05d
lea ecx, [ebp - 0x2220]
call fcn.00425f61
jmp 0x469c96
xor esi, esi
push 0x50e3b8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x469cbe
push edi
mov ecx, ebx
mov dword [ebp - 0x2224], esi
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
push 0x50e3ac
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x469dd9
lea eax, [ebp - 0x220c]
mov ecx, ebx
push eax
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
push edi
mov ecx, ebx
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
push 0x3d
pop eax
cmp word [edi], ax
jne 0x46a0ca
cmp dword [ebp + 0x10], 0
je 0x469d5f
mov eax, dword [ebp - 0x2214]
mov ecx, ebx
mov dword [ebp - 0x224c], eax
xor eax, eax
mov dword [ebp - 0x2248], eax
mov dword [ebp - 0x2244], eax
lea eax, [ebp - 0x220c]
push edi
push eax
lea eax, [ebp - 0x224c]
push eax
call fcn.00468aa2
mov esi, eax
lea ecx, [ebp - 0x224c]
xor eax, eax
mov dword [ebp - 0x224c], eax
mov dword [ebp - 0x2248], eax
mov dword [ebp - 0x2244], eax
jmp 0x469c75
cmp dword [ebp + 0x14], 0
jne 0x469dcc
cmp dword [ebp - 0x2224], 0
je 0x469dcc
xor eax, eax
lea ecx, [ebp - 0x2258]
push 0x20006
push eax
push dword [ebp - 0x2214]
mov dword [ebp - 0x2258], eax
mov dword [ebp - 0x2254], eax
mov dword [ebp - 0x2250], eax
call fcn.00425f7b
test eax, eax
jne 0x46a0ef
lea eax, [ebp - 0x220c]
push eax
push dword [ebp - 0x2258]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x469dc1
cmp eax, 2
jne 0x46a0ef
lea ecx, [ebp - 0x2258]
call fcn.00425f61
push edi
mov ecx, ebx
call fcn.0046a271
jmp 0x469b7a
push 0x5c
push edi
call fcn.0046a3e3
pop ecx
pop ecx
test eax, eax
jne 0x46a0ca
cmp dword [ebp + 0x10], eax
je 0x469e7d
mov esi, dword [ebp - 0x2214]
lea ecx, [ebp - 0x2230]
push 0x2001f
push edi
push esi
call fcn.00425f7b
test eax, eax
je 0x469e46
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x2230]
call fcn.00425f7b
test eax, eax
je 0x469e46
xor eax, eax
lea ecx, [ebp - 0x2230]
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
call fcn.00464c7c
test eax, eax
jne 0x469f73
push edi
mov ecx, ebx
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
push 0x3d
pop eax
cmp word [edi], ax
jne 0x46a05d
push edi
xor eax, eax
mov ecx, ebx
push eax
lea eax, [ebp - 0x2230]
push eax
call fcn.00468aa2
mov esi, eax
jmp 0x469c7a
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x469e9d
push 0x20019
push edi
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x2230]
call fcn.00425f7b
jmp 0x469ea0
push 2
pop eax
push 1
test eax, eax
mov dword [ebp - 0x2210], eax
pop eax
push 0xffffffffffffffff
cmovne esi, eax
lea eax, [ebp - 0x20c]
push edi
push 0x104
push eax
mov dword [ebp + 0x14], esi
call fcn.004c007d
push eax
call fcn.0042048f
add esp, 0x14
mov ecx, ebx
push edi
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
push edi
mov ecx, ebx
call fcn.0046a271
mov esi, eax
test esi, esi
js 0x46a0cf
push 0x7b
pop eax
cmp word [edi], ax
jne 0x469f4f
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2240]
jne 0x469eff
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x469f4f
push dword [ebp + 0x14]
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp - 0x2230]
push edi
call fcn.00469b29
mov esi, eax
test esi, esi
jns 0x469f3d
cmp dword [ebp + 0x14], 0
je 0x46a0cf
push edi
mov ecx, ebx
call fcn.00469480
mov esi, eax
test esi, esi
js 0x46a0cf
mov eax, dword [ebp - 0x2210]
mov ecx, dword [ebp - 0x225c]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x469b84
test eax, eax
je 0x469f81
test ecx, ecx
jne 0x469b84
push eax
call fcn.00468fda
pop ecx
mov esi, eax
jmp 0x46a0cf
test ecx, ecx
je 0x469fd0
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.004692e6
test eax, eax
je 0x469fd0
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.0046900f
test eax, eax
je 0x469b84
cmp dword [ebp - 0x2224], 0
je 0x469b84
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x2230]
call fcn.00464e56
jmp 0x469b84
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.004692e6
lea ecx, [ebp - 0x2230]
mov dword [ebp - 0x2210], eax
call fcn.00425f61
test eax, eax
jne 0x469f73
cmp dword [ebp - 0x2224], eax
je 0x469b84
cmp dword [ebp - 0x2210], eax
jne 0x469b84
mov eax, dword [ebp - 0x2214]
lea ecx, [ebp - 0x223c]
mov dword [ebp - 0x223c], eax
xor eax, eax
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], eax
lea eax, [ebp - 0x20c]
push eax
call fcn.00464ced
xor ecx, ecx
mov dword [ebp - 0x223c], ecx
mov dword [ebp - 0x2238], ecx
mov dword [ebp - 0x2234], ecx
test eax, eax
jne 0x46a105
lea ecx, [ebp - 0x223c]
call fcn.00425f61
cmp dword [ebp + 0x10], 0
je 0x469b84
push 0x7b
pop eax
cmp word [edi], ax
jne 0x469b84
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2240]
jne 0x46a078
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x469b84
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x2230]
push edi
call fcn.00469b29
mov esi, eax
test esi, esi
js 0x46a0cf
mov ecx, ebx
jmp 0x469b74
lea ecx, [ebp - 0x2220]
jmp 0x46a0fe
lea ecx, [ebp - 0x2220]
call fcn.00425f61
mov esi, 0x80020009
lea ecx, [ebp - 0x2230]
call fcn.00425f61
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bc45f
mov esp, ebp
pop ebp
ret 0x10
push eax
call fcn.00468fda
pop ecx
lea ecx, [ebp - 0x2258]
mov esi, eax
call fcn.00425f61
jmp 0x46a0cf
push eax
call fcn.00468fda
pop ecx
lea ecx, [ebp - 0x223c]
jmp 0x46a0fc