Function at 0x457bd0
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b7906
mov eax, dword fs:[0]
push eax
mov eax, 0x2254
call fcn.004a7ca0
mov eax, dword [0x4e9688]
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 edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x2224], ecx
mov dword [ebp - 0x221c], edi
mov dword [ebp - 0x2230], eax
mov dword [ebp - 0x222c], esi
mov dword [ebp - 0x2228], esi
mov edx, dword [ebp + 0x14]
mov eax, edi
mov dword [ebp - 4], esi
mov dword [ebp - 0x225c], edx
call fcn.00457a50
mov ebx, eax
cmp ebx, esi
jl 0x458333
cmp word [edi], 0x7d
je 0x458331
nop
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.Delete
push edi
mov dword [ebp - 0x223c], 1
call ebx
mov esi, eax
neg esi
push str.ForceRemove
sbb esi, esi
push edi
inc esi
call ebx
test eax, eax
je 0x457c83
test esi, esi
je 0x457da2
mov ecx, dword [ebp - 0x2224]
mov eax, edi
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x458320
mov edi, dword [ebp - 0x221c]
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
je 0x457da2
push 0x5c
mov eax, edi
mov dword [ebp - 0x2238], ebx
mov dword [ebp - 0x2234], ebx
call fcn.004570d0
add esp, 4
test eax, eax
jne 0x458295
push edi
call fcn.00457770
test eax, eax
je 0x457cff
mov eax, dword [ebp - 0x2230]
push edi
lea ecx, [ebp - 0x2238]
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], ebx
call fcn.004577b0
mov dword [ebp - 0x2238], ebx
mov dword [ebp - 0x2234], ebx
cmp esi, ebx
je 0x457d9c
mov esi, dword [ebp - 0x2224]
mov eax, edi
mov ecx, esi
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x4582b5
mov ecx, esi
call fcn.00457710
mov ebx, eax
test ebx, ebx
jl 0x4582b5
mov dword [ebp - 0x2234], 0
mov edi, dword [ebp - 0x221c]
cmp word [edi], 0x7b
jne 0x457d8d
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x457d8d
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x222c]
push 0
push ecx
mov ecx, dword [ebp - 0x2224]
push edx
push edi
call fcn.00457bd0
mov ebx, eax
test ebx, ebx
jl 0x458320
mov ecx, dword [ebp - 0x2224]
mov eax, edi
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x458320
cmp word [edi], 0x7d
jne 0x457c50
jmp 0x458320
mov dword [ebp - 0x2234], ebx
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x457dd5
mov ecx, dword [ebp - 0x2224]
mov dword [ebp - 0x223c], eax
mov eax, edi
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x458320
mov edi, dword [ebp - 0x221c]
mov ebx, dword [ebp - 0x222c]
push 0x4ce614
push edi
xor esi, esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x457f2b
mov ecx, dword [ebp - 0x2224]
lea eax, [ebp - 0x2218]
call fcn.00457a50
mov ebx, eax
cmp ebx, esi
jl 0x458320
mov eax, dword [ebp - 0x221c]
mov ecx, dword [ebp - 0x2224]
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x458320
mov edi, dword [ebp - 0x221c]
cmp word [edi], 0x3d
jne 0x4582a0
cmp dword [ebp + 0x10], esi
je 0x457e90
mov ecx, dword [ebp - 0x2230]
mov byte [ebp - 4], 1
push edi
lea edx, [ebp - 0x224c]
mov dword [ebp - 0x224c], ecx
mov ecx, dword [ebp - 0x2224]
push edx
lea edx, [ebp - 0x2218]
mov dword [ebp - 0x2248], esi
call fcn.00457360
mov ebx, eax
cmp ebx, esi
mov dword [ebp - 0x224c], esi
mov dword [ebp - 0x2248], esi
jl 0x4582bd
mov byte [ebp - 4], 0
mov dword [ebp - 0x2248], esi
jmp 0x457d3b
cmp dword [ebp + 0x14], esi
jne 0x457f0b
cmp dword [ebp - 0x223c], esi
je 0x457f0b
mov edx, dword [ebp - 0x2230]
xor edi, edi
push 0x20006
xor ecx, ecx
lea esi, [ebp - 0x2244]
mov dword [ebp - 0x2244], edi
mov dword [ebp - 0x2240], edi
call fcn.00424a20
cmp eax, edi
jne 0x4582d5
mov esi, dword [ebp - 0x2244]
lea eax, [ebp - 0x2218]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, edi
je 0x457eec
cmp eax, 2
jne 0x4582d5
cmp esi, edi
je 0x457efd
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2244], edi
mov dword [ebp - 0x2240], edi
mov edi, dword [ebp - 0x221c]
xor esi, esi
mov ecx, dword [ebp - 0x2224]
call fcn.00457710
mov ebx, eax
cmp ebx, esi
jl 0x458320
mov edi, dword [ebp - 0x221c]
jmp 0x457d8d
push 0x5c
mov eax, edi
call fcn.004570d0
add esp, 4
test eax, eax
jne 0x4582a0
cmp dword [ebp + 0x10], esi
je 0x458056
mov edx, dword [ebp - 0x2230]
lea ecx, [ebp - 0x2220]
push ecx
push 0x2001f
push esi
push edi
push edx
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x457f9a
xor eax, eax
cmp ebx, esi
je 0x457f7a
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2220]
mov dword [ebp - 0x222c], ecx
mov dword [ebp - 0x2228], esi
cmp eax, esi
je 0x458009
mov edi, dword [ebp - 0x221c]
xor esi, esi
mov ebx, ecx
mov eax, dword [ebp - 0x2230]
lea edx, [ebp - 0x2220]
push edx
push 0x20019
push esi
push edi
push eax
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x457fe2
xor eax, eax
cmp ebx, esi
je 0x457fcc
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2220]
mov dword [ebp - 0x222c], ecx
mov dword [ebp - 0x2228], esi
cmp eax, esi
je 0x458009
mov edx, dword [ebp - 0x2230]
push edx
mov edx, dword [ebp - 0x221c]
mov eax, 0x2001f
lea esi, [ebp - 0x222c]
call fcn.00423790
mov edi, eax
test edi, edi
jne 0x4582e2
mov esi, dword [ebp - 0x221c]
mov ecx, dword [ebp - 0x2224]
mov eax, esi
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x458320
cmp word [esi], 0x3d
jne 0x457d3b
mov eax, esi
push eax
lea ecx, [ebp - 0x222c]
push ecx
mov ecx, dword [ebp - 0x2224]
xor edx, edx
call fcn.00457360
mov ebx, eax
test ebx, ebx
jl 0x458320
jmp 0x457d3b
cmp dword [ebp + 0x14], esi
jne 0x458189
mov eax, dword [ebp - 0x2230]
lea edx, [ebp - 0x2220]
push edx
push 0x20019
push esi
push edi
push eax
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x4580a3
xor eax, eax
cmp ebx, esi
je 0x458091
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2220]
mov dword [ebp - 0x222c], ecx
mov dword [ebp - 0x2228], esi
mov dword [ebp - 0x2220], eax
cmp eax, esi
je 0x4580b4
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea edx, [ebp - 0x218]
push 0x104
push edx
call fcn.004937af
push eax
call fcn.00424cd0
mov ecx, dword [ebp - 0x2224]
add esp, 0x14
mov eax, edi
call fcn.00457a50
mov ebx, eax
cmp ebx, esi
jl 0x458320
mov edi, dword [ebp - 0x221c]
mov ecx, dword [ebp - 0x2224]
call fcn.00457710
mov ebx, eax
test ebx, ebx
jl 0x458320
cmp word [edi], 0x7b
jne 0x458159
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x458159
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp - 0x222c]
mov ecx, dword [ebp - 0x2224]
push esi
push 0
push eax
push edi
call fcn.00457bd0
mov ebx, eax
test ebx, ebx
jge 0x45813c
test esi, esi
je 0x458320
mov ecx, dword [ebp - 0x2224]
mov eax, edi
call fcn.00457a50
mov ebx, eax
test ebx, ebx
jl 0x458320
mov edi, dword [ebp - 0x221c]
mov eax, dword [ebp - 0x2220]
mov ecx, dword [ebp - 0x225c]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x457d8d
test eax, eax
je 0x458198
test ecx, ecx
jne 0x457d8d
call fcn.00457a10
mov ebx, eax
jmp 0x458320
mov dword [ebp - 0x2220], 2
jmp 0x4580ad
mov esi, dword [ebp - 0x222c]
test ecx, ecx
je 0x4581e5
mov ecx, esi
call fcn.00457960
test eax, eax
je 0x4581e5
lea ecx, [ebp - 0x218]
push ecx
call fcn.00457770
test eax, eax
je 0x457d8d
cmp dword [ebp - 0x223c], 0
je 0x457d8d
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x222c]
call fcn.004577b0
jmp 0x457d8d
mov ecx, esi
call fcn.00457960
mov dword [ebp - 0x2258], eax
mov dword [ebp - 0x2220], 0
test esi, esi
je 0x458217
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2220], eax
mov dword [ebp - 0x222c], 0
cmp dword [ebp - 0x2220], 0
mov dword [ebp - 0x2228], 0
jne 0x4582f6
cmp dword [ebp - 0x223c], 0
je 0x457d8d
cmp dword [ebp - 0x2258], 0
jne 0x457d8d
mov eax, dword [ebp - 0x2230]
lea edi, [ebp - 0x218]
lea esi, [ebp - 0x2254]
mov dword [ebp - 0x2254], eax
mov dword [ebp - 0x2250], 0
call fcn.004579b0
xor ecx, ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
cmp eax, ecx
jne 0x45830e
call fcn.00401a30
mov edi, dword [ebp - 0x221c]
jmp 0x457d8d
lea esi, [ebp - 0x2238]
call fcn.00401a30
lea esi, [ebp - 0x222c]
call fcn.00401a30
mov eax, 0x80020009
jmp 0x458333
lea esi, [ebp - 0x2238]
jmp 0x45831b
lea esi, [ebp - 0x224c]
call fcn.00401a30
lea esi, [ebp - 0x222c]
call fcn.00401a30
jmp 0x458331
call fcn.00457a10
lea esi, [ebp - 0x2244]
jmp 0x458319
lea esi, [ebp - 0x222c]
call fcn.00401a30
mov eax, edi
call fcn.00457a10
jmp 0x458333
lea esi, [ebp - 0x222c]
call fcn.00401a30
mov eax, dword [ebp - 0x2220]
call fcn.00457a10
jmp 0x458333
call fcn.00457a10
lea esi, [ebp - 0x2254]
mov ebx, eax
call fcn.00401a30
mov eax, dword [ebp - 0x222c]
test eax, eax
je 0x458331
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
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.00491281
mov esp, ebp
pop ebp
ret 0x10