Function at 0x42217a
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x225c
call fcn.00439bd0
mov eax, dword [0x4a12f0]
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.0042182a
mov esi, eax
test esi, esi
js 0x422720
push 0x7d
pop eax
cmp word [edi], ax
je 0x422720
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 0x45b58c
sbb esi, esi
inc esi
push edi
mov dword [ebp - 0x2210], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x422219
test esi, esi
je 0x4222e5
push edi
mov ecx, ebx
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x4222e7
push 0x5c
push edi
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x221c], esi
mov dword [ebp - 0x2218], esi
call fcn.00422a61
pop ecx
pop ecx
test eax, eax
jne 0x422710
push edi
mov ecx, ebx
call fcn.004208fd
test eax, eax
je 0x42229c
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.00421d37
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x221c], esi
mov dword [ebp - 0x2218], esi
cmp dword [ebp - 0x2210], esi
je 0x4222d8
push edi
mov ecx, ebx
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422708
push edi
mov ecx, ebx
call fcn.004229d8
mov esi, eax
lea ecx, [ebp - 0x2220]
call fcn.004209cc
test esi, esi
js 0x422720
jmp 0x4226ae
lea ecx, [ebp - 0x2220]
call fcn.004209cc
jmp 0x4222e7
xor esi, esi
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x42230f
push edi
mov ecx, ebx
mov dword [ebp - 0x2224], esi
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
push 0x45b584
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x42242a
lea eax, [ebp - 0x220c]
mov ecx, ebx
push eax
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
push edi
mov ecx, ebx
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
push 0x3d
pop eax
cmp word [edi], ax
jne 0x42271b
cmp dword [ebp + 0x10], 0
je 0x4223b0
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.004202e0
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 0x4222c6
cmp dword [ebp + 0x14], 0
jne 0x42241d
cmp dword [ebp - 0x2224], 0
je 0x42241d
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.00421965
test eax, eax
jne 0x422740
lea eax, [ebp - 0x220c]
push eax
push dword [ebp - 0x2258]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x422412
cmp eax, 2
jne 0x422740
lea ecx, [ebp - 0x2258]
call fcn.004209cc
push edi
mov ecx, ebx
call fcn.004229d8
jmp 0x4221cb
push 0x5c
push edi
call fcn.00422a61
pop ecx
pop ecx
test eax, eax
jne 0x42271b
cmp dword [ebp + 0x10], eax
je 0x4224ce
mov esi, dword [ebp - 0x2214]
lea ecx, [ebp - 0x2230]
push 0x2001f
push edi
push esi
call fcn.00421965
test eax, eax
je 0x422497
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x2230]
call fcn.00421965
test eax, eax
je 0x422497
xor eax, eax
lea ecx, [ebp - 0x2230]
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
call fcn.004209e6
test eax, eax
jne 0x4225c4
push edi
mov ecx, ebx
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
push 0x3d
pop eax
cmp word [edi], ax
jne 0x4226ae
push edi
xor eax, eax
mov ecx, ebx
push eax
lea eax, [ebp - 0x2230]
push eax
call fcn.004202e0
mov esi, eax
jmp 0x4222cb
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x4224ee
push 0x20019
push edi
push dword [ebp - 0x2214]
lea ecx, [ebp - 0x2230]
call fcn.00421965
jmp 0x4224f1
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.00439862
push eax
call fcn.004207b5
add esp, 0x14
mov ecx, ebx
push edi
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
push edi
mov ecx, ebx
call fcn.004229d8
mov esi, eax
test esi, esi
js 0x422720
push 0x7b
pop eax
cmp word [edi], ax
jne 0x4225a0
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2240]
jne 0x422550
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x4225a0
push dword [ebp + 0x14]
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp - 0x2230]
push edi
call fcn.0042217a
mov esi, eax
test esi, esi
jns 0x42258e
cmp dword [ebp + 0x14], 0
je 0x422720
push edi
mov ecx, ebx
call fcn.0042182a
mov esi, eax
test esi, esi
js 0x422720
mov eax, dword [ebp - 0x2210]
mov ecx, dword [ebp - 0x225c]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x4221d5
test eax, eax
je 0x4225d2
test ecx, ecx
jne 0x4221d5
push eax
call fcn.00420825
pop ecx
mov esi, eax
jmp 0x422720
test ecx, ecx
je 0x422621
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.004213cf
test eax, eax
je 0x422621
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.004208fd
test eax, eax
je 0x4221d5
cmp dword [ebp - 0x2224], 0
je 0x4221d5
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x2230]
call fcn.00421d37
jmp 0x4221d5
push dword [ebp - 0x2230]
mov ecx, ebx
call fcn.004213cf
lea ecx, [ebp - 0x2230]
mov dword [ebp - 0x2210], eax
call fcn.004209cc
test eax, eax
jne 0x4225c4
cmp dword [ebp - 0x2224], eax
je 0x4221d5
cmp dword [ebp - 0x2210], eax
jne 0x4221d5
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.00420b62
xor ecx, ecx
mov dword [ebp - 0x223c], ecx
mov dword [ebp - 0x2238], ecx
mov dword [ebp - 0x2234], ecx
test eax, eax
jne 0x422756
lea ecx, [ebp - 0x223c]
call fcn.004209cc
cmp dword [ebp + 0x10], 0
je 0x4221d5
push 0x7b
pop eax
cmp word [edi], ax
jne 0x4221d5
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2240]
jne 0x4226c9
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x4221d5
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x2230]
push edi
call fcn.0042217a
mov esi, eax
test esi, esi
js 0x422720
mov ecx, ebx
jmp 0x4221c5
lea ecx, [ebp - 0x2220]
jmp 0x42274f
lea ecx, [ebp - 0x2220]
call fcn.004209cc
mov esi, 0x80020009
lea ecx, [ebp - 0x2230]
call fcn.004209cc
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00439bb3
mov esp, ebp
pop ebp
ret 0x10
push eax
call fcn.00420825
pop ecx
lea ecx, [ebp - 0x2258]
mov esi, eax
call fcn.004209cc
jmp 0x422720
push eax
call fcn.00420825
pop ecx
lea ecx, [ebp - 0x223c]
jmp 0x42274d