Function at 0x453b61
Capabilities:
Delete registry value

Disassembly:
push ebp
lea ebp, [esp - 0x220c]
mov eax, 0x220c
call fcn.004d1440
push 0xffffffffffffffff
push 0x5052dd
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x56a078]
xor eax, ebp
mov dword [ebp + 0x2208], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x2218]
mov edi, dword [ebp + 0x2214]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov ebx, ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 0x2220]
mov dword [ebp - 0x5c], ecx
mov ecx, eax
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
push 0x7d
pop eax
cmp word [edi], ax
je 0x4540b0
xor eax, eax
push str.Delete
inc eax
push edi
mov dword [ebp - 0x28], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x5271f4
sbb esi, esi
inc esi
push edi
mov dword [ebp - 0x18], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x453c1b
test esi, esi
je 0x453ccc
mov ecx, dword [ebp - 0x10]
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
cmp dword [ebp + 0x221c], 0
je 0x453ccc
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
inc eax
mov byte [ebp - 4], al
mov ecx, edi
push 0x5c
pop edx
call fcn.00453177
test eax, eax
jne 0x4540a3
push edi
call fcn.004537fc
test eax, eax
je 0x453c8a
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x34]
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
push edi
mov dword [ebp - 0x34], eax
call fcn.00453828
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
jmp 0x453c8c
xor eax, eax
cmp dword [ebp - 0x18], 0
je 0x453cc6
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x454099
push edi
mov ecx, ebx
call fcn.00453795
mov esi, eax
test esi, esi
js 0x454099
xor ebx, ebx
mov byte [ebp - 4], bl
mov dword [ebp - 0x30], ebx
jmp 0x45404e
mov byte [ebp - 4], al
mov dword [ebp - 0x30], eax
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x453cf2
mov ecx, dword [ebp - 0x10]
and dword [ebp - 0x28], eax
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
push 0x5271ec
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x453e08
mov ecx, dword [ebp - 0x10]
lea eax, [ebp]
push eax
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
mov ecx, dword [ebp - 0x10]
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
push 0x3d
pop eax
cmp word [edi], ax
jne 0x4540ab
cmp dword [ebp + 0x221c], 0
je 0x453d8e
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4c], eax
lea eax, [ebp]
push edi
push eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x48], ebx
push eax
mov dword [ebp - 0x44], ebx
call fcn.004533cb
mov esi, eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
test esi, esi
js 0x4540f1
mov byte [ebp - 4], bl
mov dword [ebp - 0x48], ebx
jmp 0x45404e
cmp dword [ebp + 0x2220], 0
jne 0x453dfa
cmp dword [ebp - 0x28], 0
je 0x453dfa
xor ebx, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
push 0x20006
push ebx
push dword [ebp - 0x14]
call fcn.00433c80
test eax, eax
jne 0x454119
mov ebx, dword [ebp - 0x40]
lea eax, [ebp]
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x453de0
cmp eax, 2
jne 0x4540f9
mov byte [ebp - 4], 0
test ebx, ebx
je 0x453df3
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
and dword [ebp - 0x40], 0
and dword [ebp - 0x3c], 0
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
push edi
call fcn.00453795
jmp 0x453bd3
push 0x5c
pop edx
mov ecx, edi
call fcn.00453177
test eax, eax
jne 0x4540ab
cmp dword [ebp + 0x221c], eax
je 0x453e9f
mov ebx, dword [ebp - 0x14]
lea ecx, [ebp - 0x24]
mov esi, 0x2001f
push esi
push edi
push ebx
call fcn.00433c80
test eax, eax
je 0x453e63
push 0x20019
push edi
push ebx
lea ecx, [ebp - 0x24]
call fcn.00433c80
test eax, eax
je 0x453e63
push ecx
push ecx
push esi
push ecx
push ecx
push edi
push ebx
lea ecx, [ebp - 0x24]
call fcn.00453212
test eax, eax
jne 0x453f83
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
push 0x3d
pop eax
cmp word [edi], ax
jne 0x453e98
push edi
push 0
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.004533cb
mov esi, eax
test esi, esi
js 0x4540b0
xor ebx, ebx
jmp 0x45404e
mov esi, dword [ebp + 0x2220]
test esi, esi
jne 0x453ebf
push 0x20019
push edi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x24]
call fcn.00433c80
mov ebx, dword [ebp - 0x24]
jmp 0x453ec2
push 2
pop eax
push 1
test eax, eax
mov dword [ebp - 0x18], eax
pop eax
push 0xffffffffffffffff
cmovne esi, eax
lea eax, [ebp + 0x2000]
push edi
push 0x104
push eax
mov dword [ebp + 0x2220], esi
call fcn.004da5e4
push eax
call fcn.004091f2
mov ecx, dword [ebp - 0x10]
add esp, 0x14
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
mov ecx, dword [ebp - 0x10]
push edi
call fcn.00453795
mov esi, eax
test esi, esi
js 0x4540b0
push 0x7b
pop eax
cmp word [edi], ax
jne 0x453f62
push edi
call fcn.004d635d
pop ecx
cmp eax, 1
jne 0x453f62
push dword [ebp + 0x2220]
mov ecx, dword [ebp - 0x10]
push 0
push ebx
push edi
call fcn.00453b61
mov esi, eax
test esi, esi
jns 0x453f4f
cmp dword [ebp + 0x2220], 0
je 0x4540b0
mov ecx, dword [ebp - 0x10]
push edi
call fcn.00453a1f
mov esi, eax
test esi, esi
js 0x4540b0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp + 0x2220], ecx
cmp eax, 2
je 0x453bdd
test eax, eax
je 0x453f91
test ecx, ecx
jne 0x453bdd
mov ecx, eax
call fcn.00453a11
mov esi, eax
jmp 0x4540b0
test ecx, ecx
je 0x453fd4
push ebx
call fcn.00453913
test eax, eax
je 0x453fd4
lea eax, [ebp + 0x2000]
push eax
call fcn.004537fc
test eax, eax
je 0x453bdd
cmp dword [ebp - 0x28], 0
je 0x453bdd
lea eax, [ebp + 0x2000]
push eax
lea ecx, [ebp - 0x24]
call fcn.00453828
mov ebx, dword [ebp - 0x24]
jmp 0x453bdd
push ebx
call fcn.00453913
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x18], ecx
test ebx, ebx
je 0x453ff4
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov dword [ebp - 0x24], ebx
and dword [ebp - 0x20], 0
test eax, eax
jne 0x453f83
cmp dword [ebp - 0x28], eax
je 0x453bdd
test ecx, ecx
jne 0x453bdd
xor ebx, ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x58], eax
lea eax, [ebp + 0x2000]
push eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call fcn.00453999
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
test eax, eax
jne 0x45413f
mov byte [ebp - 4], bl
mov dword [ebp - 0x54], ebx
cmp dword [ebp + 0x221c], 0
je 0x453fcc
push 0x7b
pop eax
cmp word [edi], ax
jne 0x453fcc
push edi
call fcn.004d635d
pop ecx
cmp eax, 1
jne 0x453fcc
mov ecx, dword [ebp - 0x10]
push ebx
push dword [ebp + 0x221c]
mov ebx, dword [ebp - 0x24]
push ebx
push edi
call fcn.00453b61
mov esi, eax
test esi, esi
js 0x4540b0
mov ecx, dword [ebp - 0x10]
jmp 0x453bcd
mov byte [ebp - 4], 0
and dword [ebp - 0x30], 0
jmp 0x4540b0
mov byte [ebp - 4], 0
and dword [ebp - 0x30], 0
mov esi, 0x80020009
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4540c6
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
and dword [ebp - 0x24], 0
and dword [ebp - 0x20], 0
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 + 0x2208]
xor ecx, ebp
call fcn.004d014c
lea esp, [ebp + 0x220c]
pop ebp
ret 0x10
mov byte [ebp - 4], bl
mov dword [ebp - 0x48], ebx
jmp 0x4540b0
mov ecx, eax
call fcn.00453a11
mov esi, eax
mov byte [ebp - 4], 0
test ebx, ebx
je 0x454115
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
jmp 0x454134
xor ebx, ebx
jmp 0x454137
mov ecx, eax
call fcn.00453a11
mov esi, eax
mov byte [ebp - 4], bl
cmp dword [ebp - 0x40], 0
je 0x454137
push dword [ebp - 0x40]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
jmp 0x4540b0
mov ecx, eax
call fcn.00453a11
mov esi, eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x54], ebx
jmp 0x4540b0