Function at 0x452130
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56c4c7
mov eax, dword fs:[0]
push eax
mov eax, 0x1154
call fcn.004ae7f0
mov eax, dword [0x5f7448]
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 eax, ecx
mov dword [ebp - 0x1118], eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1128], 0
mov dword [ebp - 0x111c], ecx
mov dword [ebp - 0x1124], 0
mov dword [ebp - 0x1120], 0
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1160], ecx
push edi
mov ecx, eax
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
cmp byte [edi], 0x7d
je 0x452866
nop
push str.Delete
push edi
mov dword [ebp - 0x1138], 1
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
neg eax
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4521f3
test ebx, ebx
je 0x452313
mov ecx, dword [ebp - 0x1118]
push edi
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
cmp dword [ebp + 0x10], 0
je 0x452313
mov dword [ebp - 0x1134], 0
mov dword [ebp - 0x1130], 0
mov dword [ebp - 0x112c], 0
mov byte [ebp - 4], 1
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x45225d
lea ecx, [ecx]
cmp al, 0x5c
je 0x452255
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov ecx, eax
mov al, byte [ecx]
test al, al
jne 0x452240
jmp 0x45225d
test ecx, ecx
jne 0x4527eb
mov esi, 0x5849f8
push dword [esi]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4522c4
add esi, 4
cmp esi, 0x584a28
jl 0x452262
mov eax, dword [ebp - 0x111c]
push edi
lea ecx, [ebp - 0x1134]
mov dword [ebp - 0x1134], eax
mov dword [ebp - 0x1130], 0
mov dword [ebp - 0x112c], 0
call fcn.00450fb0
mov dword [ebp - 0x1134], 0
mov dword [ebp - 0x1130], 0
mov dword [ebp - 0x112c], 0
test ebx, ebx
je 0x452305
mov ebx, dword [ebp - 0x1118]
push edi
mov ecx, ebx
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452801
push edi
mov ecx, ebx
call fcn.00455c70
mov esi, eax
test esi, esi
js 0x452801
mov byte [ebp - 4], 0
mov dword [ebp - 0x1130], 0
jmp 0x45258e
mov byte [ebp - 4], 0
mov dword [ebp - 0x1130], 0
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov ebx, dword [ebp - 0x1118]
test eax, eax
jne 0x452341
push edi
mov ecx, ebx
mov dword [ebp - 0x1138], eax
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
push 0x5849c4
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4524d9
lea eax, [ebp - 0x1114]
push eax
mov ecx, ebx
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
push edi
mov ecx, ebx
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
cmp byte [edi], 0x3d
jne 0x4527fa
cmp dword [ebp + 0x10], 0
je 0x452425
mov dword [ebp - 0x1150], 0
mov dword [ebp - 0x114c], 0
mov dword [ebp - 0x1148], 0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 0x1150], eax
push edi
lea eax, [ebp - 0x1114]
push eax
lea eax, [ebp - 0x1150]
push eax
mov ecx, ebx
mov dword [ebp - 0x114c], 0
mov dword [ebp - 0x1148], 0
call fcn.0044bb70
mov esi, eax
mov dword [ebp - 0x1150], 0
mov dword [ebp - 0x114c], 0
mov dword [ebp - 0x1148], 0
test esi, esi
js 0x452812
mov byte [ebp - 4], 0
mov dword [ebp - 0x114c], 0
jmp 0x45258e
cmp dword [ebp + 0x14], 0
jne 0x4524c2
cmp dword [ebp - 0x1138], 0
je 0x4524c2
mov dword [ebp - 0x115c], 0
mov dword [ebp - 0x1158], 0
mov dword [ebp - 0x1154], 0
mov byte [ebp - 4], 3
push 0x20006
push 0
push dword [ebp - 0x111c]
lea ecx, [ebp - 0x115c]
call fcn.00450830
test eax, eax
jne 0x452823
mov esi, dword [ebp - 0x115c]
lea eax, [ebp - 0x1114]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
test eax, eax
je 0x45249f
cmp eax, 2
jne 0x452823
mov byte [ebp - 4], 0
test esi, esi
je 0x4524b8
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x115c], 0
mov dword [ebp - 0x1158], 0
push edi
mov ecx, ebx
call fcn.00455c70
mov esi, eax
test esi, esi
js 0x452866
jmp 0x4527e0
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x4524fe
cmp al, 0x5c
je 0x4524f6
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov ecx, eax
mov al, byte [ecx]
test al, al
jne 0x4524e1
jmp 0x4524fe
test ecx, ecx
jne 0x4527fa
cmp dword [ebp + 0x10], 0
je 0x4525e6
mov esi, dword [ebp - 0x111c]
push 0x2001f
push edi
push esi
lea ecx, [ebp - 0x1128]
call fcn.00450830
test eax, eax
je 0x45255c
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x1128]
call fcn.00450830
test eax, eax
je 0x45255c
push 0
push 0
push 0x2001f
push 0
push 0
push edi
push esi
lea ecx, [ebp - 0x1128]
call fcn.0044d590
test eax, eax
jne 0x45285b
push edi
mov ecx, ebx
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
cmp byte [edi], 0x3d
jne 0x45258e
push edi
push 0
lea eax, [ebp - 0x1128]
push eax
mov ecx, ebx
call fcn.0044bb70
mov esi, eax
test esi, esi
js 0x452866
cmp byte [edi], 0x7b
jne 0x4527e0
mov ecx, edi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4525a0
sub ecx, edx
cmp ecx, 1
jne 0x4527e0
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp - 0x1128]
push edi
call fcn.00452130
mov esi, eax
test esi, esi
js 0x452866
push edi
mov ecx, ebx
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
jmp 0x4527e0
cmp dword [ebp + 0x14], 0
jne 0x45260b
push 0x20019
push edi
push dword [ebp - 0x111c]
lea ecx, [ebp - 0x1128]
call fcn.00450830
mov ebx, eax
test ebx, ebx
jne 0x452610
jmp 0x452617
mov ebx, 2
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x114]
push 0x104
push eax
call fcn.004b130a
push eax
call fcn.00406370
mov ecx, dword [ebp - 0x1118]
add esp, 0x14
push edi
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
mov ecx, dword [ebp - 0x1118]
push edi
call fcn.00455c70
mov esi, eax
test esi, esi
js 0x452866
cmp byte [edi], 0x7b
jne 0x4526bb
mov ecx, edi
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x452670
sub ecx, edx
cmp ecx, 1
jne 0x4526bb
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x1118]
push 0
push dword [ebp - 0x1128]
push edi
call fcn.00452130
mov esi, eax
test esi, esi
jns 0x4526a5
cmp dword [ebp + 0x14], 0
je 0x452866
mov ecx, dword [ebp - 0x1118]
push edi
call fcn.004506d0
mov esi, eax
test esi, esi
js 0x452866
mov eax, dword [ebp - 0x1160]
mov dword [ebp + 0x14], eax
cmp ebx, 2
je 0x4527e0
test ebx, ebx
je 0x4526df
test eax, eax
jne 0x4527e0
push ebx
jmp 0x45285c
mov ebx, dword [ebp - 0x1118]
test eax, eax
je 0x452734
push dword [ebp - 0x1128]
mov ecx, ebx
call fcn.0044f860
test eax, eax
je 0x452734
lea eax, [ebp - 0x114]
push eax
mov ecx, ebx
call fcn.0044d310
test eax, eax
je 0x4527e0
cmp dword [ebp - 0x1138], 0
je 0x4527e0
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x1128]
call fcn.00450fb0
jmp 0x4527e0
push dword [ebp - 0x1128]
mov ecx, ebx
call fcn.0044f860
mov ecx, dword [ebp - 0x1128]
mov ebx, eax
xor eax, eax
test ecx, ecx
je 0x45275e
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
mov dword [ebp - 0x1128], ecx
mov dword [ebp - 0x1124], 0
test eax, eax
jne 0x45285b
cmp dword [ebp - 0x1138], eax
je 0x4527e0
test ebx, ebx
jne 0x4527e0
mov dword [ebp - 0x1144], ebx
mov dword [ebp - 0x1140], ebx
mov dword [ebp - 0x113c], ebx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 0x1144], eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x1144]
mov dword [ebp - 0x1140], ebx
mov dword [ebp - 0x113c], ebx
call fcn.0044e460
mov dword [ebp - 0x1144], ebx
mov dword [ebp - 0x1140], ebx
mov dword [ebp - 0x113c], ebx
test eax, eax
jne 0x45283f
mov byte [ebp - 4], al
lea ecx, [ebp - 0x1144]
call fcn.0044aef0
cmp byte [edi], 0x7d
jne 0x4521c0
jmp 0x452866
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1134]
call fcn.0044aef0
mov esi, 0x80020009
jmp 0x452866
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1134]
call fcn.0044aef0
jmp 0x452866
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1150]
call fcn.0044aef0
jmp 0x452866
push eax
call fcn.0044c460
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x115c]
call fcn.0044aef0
jmp 0x452866
push eax
call fcn.0044c460
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1144]
call fcn.0044aef0
jmp 0x452866
push eax
call fcn.0044c460
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1128]
test eax, eax
je 0x452888
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1128], 0
mov eax, esi
mov dword [ebp - 0x1124], 0
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.004adbd4
mov esp, ebp
pop ebp
ret 0x10