Function at 0x455174
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x468b5e
mov eax, dword fs:[0]
push eax
mov eax, 0x2260
call fcn.00462050
mov eax, dword [0x4b5898]
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 dword [ebp - 0x222c], ecx
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x2228]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x221c], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x2228], eax
mov dword [ebp - 0x2268], eax
mov dword [ebp - 0x2224], eax
mov dword [ebp - 0x2220], eax
mov dword [ebp - 4], eax
mov edi, ecx
push ebx
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
push 0x7d
pop eax
cmp word [ebx], ax
je 0x45581a
push str.Delete
push ebx
mov dword [ebp - 0x223c], 1
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x4a6380
sbb esi, esi
inc esi
push ebx
mov dword [ebp - 0x2240], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x455237
test esi, esi
je 0x45531e
push ebx
mov ecx, edi
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
cmp dword [ebp + 0x10], 0
je 0x45531e
xor eax, eax
lea edi, [ebp - 0x2238]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x2230], eax
mov byte [ebp - 4], 1
push 0x5c
push ebx
call fcn.00455b29
pop ecx
pop ecx
test eax, eax
jne 0x45580a
mov edi, dword [ebp - 0x222c]
mov ecx, edi
push ebx
call fcn.00453f8d
test eax, eax
je 0x4552d6
mov eax, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2238]
mov dword [ebp - 0x2238], eax
xor eax, eax
push ebx
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x2230], eax
call fcn.00454c65
xor eax, eax
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x2230], eax
jmp 0x4552d8
xor eax, eax
cmp dword [ebp - 0x2240], 0
je 0x455315
push ebx
mov ecx, edi
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x4557fd
push ebx
mov ecx, edi
call fcn.00455aa2
mov esi, eax
test esi, esi
js 0x4557f0
xor eax, eax
mov byte [ebp - 4], al
mov dword [ebp - 0x2234], eax
jmp 0x455575
mov byte [ebp - 4], al
mov dword [ebp - 0x2234], eax
push str.NoRemove
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x455346
push ebx
mov ecx, edi
mov dword [ebp - 0x223c], eax
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
push 0x4a6378
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4554d2
lea eax, [ebp - 0x2218]
mov ecx, edi
push eax
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
push ebx
mov ecx, edi
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
push 0x3d
pop eax
cmp word [ebx], ax
jne 0x455815
cmp dword [ebp + 0x10], 0
je 0x45541d
xor eax, eax
lea edi, [ebp - 0x2258]
stosd dword es:[edi], eax
xor ecx, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x2258], ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x221c]
mov edi, dword [ebp - 0x222c]
mov dword [ebp - 0x2258], eax
lea eax, [ebp - 0x2218]
push ebx
push eax
lea eax, [ebp - 0x2258]
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
mov ecx, edi
push eax
call fcn.0045399b
mov esi, eax
xor eax, eax
mov dword [ebp - 0x2258], eax
mov dword [ebp - 0x2254], eax
mov dword [ebp - 0x2250], eax
test esi, esi
js 0x45583d
mov byte [ebp - 4], al
mov dword [ebp - 0x2254], eax
jmp 0x455575
cmp dword [ebp + 0x14], 0
jne 0x4554bb
cmp dword [ebp - 0x223c], 0
je 0x4554bb
xor eax, eax
lea edi, [ebp - 0x224c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x224c], eax
mov dword [ebp - 0x2248], eax
mov dword [ebp - 0x2244], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x224c]
push 0x20006
push eax
push dword [ebp - 0x221c]
call fcn.00454977
test eax, eax
jne 0x45585d
mov edi, dword [ebp - 0x224c]
lea eax, [ebp - 0x2218]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x455497
cmp eax, 2
jne 0x455848
xor eax, eax
mov byte [ebp - 4], al
test edi, edi
je 0x4554af
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [ebp - 0x224c], eax
mov edi, dword [ebp - 0x222c]
mov dword [ebp - 0x2248], eax
push ebx
mov ecx, edi
call fcn.00455aa2
mov esi, eax
test esi, esi
js 0x45581a
jmp 0x4557dd
push 0x5c
push ebx
call fcn.00455b29
pop ecx
pop ecx
test eax, eax
jne 0x455815
cmp dword [ebp + 0x10], eax
je 0x4555cd
mov esi, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2228]
push 0x2001f
push ebx
push esi
call fcn.00454977
test eax, eax
je 0x45553f
push 0x20019
push ebx
push esi
lea ecx, [ebp - 0x2228]
call fcn.00454977
test eax, eax
je 0x45553f
xor eax, eax
lea ecx, [ebp - 0x2228]
push eax
push eax
push 0x2001f
push eax
push eax
push ebx
push esi
call fcn.0045409b
test eax, eax
jne 0x4556c4
push ebx
mov ecx, edi
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
push 0x3d
pop eax
cmp word [ebx], ax
jne 0x455575
push ebx
xor eax, eax
mov ecx, edi
push eax
lea eax, [ebp - 0x2228]
push eax
call fcn.0045399b
mov esi, eax
test esi, esi
js 0x45581a
push 0x7b
pop eax
cmp word [ebx], ax
jne 0x4557dd
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2268]
jne 0x455586
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x4557dd
xor eax, eax
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x2228]
push ebx
call fcn.00455174
mov esi, eax
test esi, esi
js 0x45581a
push ebx
mov ecx, edi
call fcn.0045483e
jmp 0x4554c3
cmp dword [ebp + 0x14], 0
jne 0x4555ec
push 0x20019
push ebx
push dword [ebp - 0x221c]
lea ecx, [ebp - 0x2228]
call fcn.00454977
jmp 0x4555ef
push 2
pop eax
xor ecx, ecx
mov dword [ebp - 0x2240], eax
push 0xffffffffffffffff
inc ecx
test eax, eax
push ebx
cmove ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x218]
push 0x104
push eax
mov dword [ebp - 0x226c], ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
push eax
call fcn.00406d90
add esp, 0x14
mov ecx, edi
push ebx
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
push ebx
mov ecx, edi
call fcn.00455aa2
mov esi, eax
test esi, esi
js 0x45581a
push 0x7b
pop eax
cmp word [ebx], ax
jne 0x4556a7
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2268]
jne 0x455653
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x4556a7
push dword [ebp - 0x226c]
xor eax, eax
mov ecx, edi
push eax
push dword [ebp - 0x2228]
push ebx
call fcn.00455174
mov esi, eax
test esi, esi
jns 0x455695
cmp dword [ebp - 0x226c], 0
je 0x45581a
push ebx
mov ecx, edi
call fcn.0045483e
mov esi, eax
test esi, esi
js 0x45581a
mov eax, dword [ebp - 0x2240]
cmp eax, 2
je 0x4557dd
test eax, eax
je 0x4556d2
cmp dword [ebp + 0x14], 0
jne 0x4557dd
push eax
call fcn.00453f78
pop ecx
mov esi, eax
jmp 0x45581a
cmp dword [ebp + 0x14], 0
je 0x455723
push dword [ebp - 0x2228]
mov ecx, edi
call fcn.004542dd
test eax, eax
je 0x455723
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.00453f8d
test eax, eax
je 0x4557dd
cmp dword [ebp - 0x223c], 0
je 0x4557dd
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2228]
call fcn.00454c65
jmp 0x4557dd
push dword [ebp - 0x2228]
mov ecx, edi
call fcn.004542dd
mov edi, eax
xor edx, edx
mov eax, dword [ebp - 0x2228]
mov ecx, edx
test eax, eax
je 0x455753
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edx, edx
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x2228], eax
mov dword [ebp - 0x2224], edx
test ecx, ecx
jne 0x4558a6
cmp dword [ebp - 0x223c], ecx
je 0x4557dd
test edi, edi
jne 0x4557dd
xor eax, eax
lea edi, [ebp - 0x2264]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x2264], edx
mov dword [ebp - 0x2260], edx
mov dword [ebp - 0x225c], edx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2264]
mov eax, dword [ebp - 0x221c]
mov dword [ebp - 0x2264], eax
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 0x2260], edx
mov dword [ebp - 0x225c], edx
call fcn.0045412c
xor edx, edx
mov dword [ebp - 0x2264], edx
mov dword [ebp - 0x2260], edx
mov dword [ebp - 0x225c], edx
test eax, eax
jne 0x45588d
mov byte [ebp - 4], dl
mov dword [ebp - 0x2260], edx
push 0x7d
pop eax
cmp word [ebx], ax
je 0x45581a
mov edi, dword [ebp - 0x222c]
jmp 0x4551fe
xor ebx, ebx
mov byte [ebp - 4], bl
mov dword [ebp - 0x2234], ebx
jmp 0x45581a
xor eax, eax
mov byte [ebp - 4], al
mov dword [ebp - 0x2234], eax
jmp 0x45581a
xor eax, eax
mov byte [ebp - 4], al
mov dword [ebp - 0x2234], eax
mov esi, 0x80020009
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2228]
test eax, eax
je 0x4558ac
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [ebp - 0x2228], eax
jmp 0x4558ae
mov byte [ebp - 4], al
mov dword [ebp - 0x2254], eax
jmp 0x45581a
push eax
call fcn.00453f78
xor ebx, ebx
mov esi, eax
pop ecx
mov byte [ebp - 4], bl
test edi, edi
je 0x455885
push edi
jmp 0x455879
push eax
call fcn.00453f78
xor ebx, ebx
mov esi, eax
pop ecx
mov byte [ebp - 4], bl
cmp dword [ebp - 0x224c], ebx
je 0x455885
push dword [ebp - 0x224c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x224c], ebx
mov dword [ebp - 0x2248], ebx
jmp 0x45581a
push eax
call fcn.00453f78
mov esi, eax
xor eax, eax
pop ecx
mov byte [ebp - 4], al
mov dword [ebp - 0x2260], eax
jmp 0x45581a
push ecx
jmp 0x4556c5
xor eax, eax
mov dword [ebp - 0x2224], eax
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.004619c0
leave
ret 0x10