Function at 0x409d4f
Capabilities:
Delete registry value

Disassembly:
push ebp
lea ebp, [esp - 0x21c8]
mov eax, 0x2248
call fcn.0041ae10
mov eax, dword [0x439c3c]
xor eax, ebp
mov dword [ebp + 0x21c4], eax
mov eax, dword [ebp + 0x21d4]
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
push ebx
push esi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x21dc]
push edi
mov edi, dword [ebp + 0x21d0]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x7c], eax
jmp 0x40a1c6
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.Delete
push edi
mov dword [ebp - 0x60], 1
call esi
mov ebx, eax
neg ebx
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x409dc9
test ebx, ebx
je 0x409e63
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a22b
cmp dword [ebp + 0x21d8], 0
je 0x409e63
xor esi, esi
push 0x5c
push edi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
call fcn.00408a96
pop ecx
pop ecx
test eax, eax
jne 0x40a1de
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408c14
test eax, eax
je 0x409e24
mov eax, dword [ebp - 0x4c]
push edi
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], esi
call fcn.00408de0
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
cmp ebx, esi
je 0x409e5b
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a1ed
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408c75
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.00408769
test esi, esi
jl 0x40a22b
jmp 0x40a18e
lea ecx, [ebp - 0x5c]
call fcn.00408769
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x409e89
mov ecx, dword [ebp - 0x48]
and dword [ebp - 0x60], eax
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a22b
push 0x431524
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x409f6b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
push eax
call fcn.00408b06
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jl 0x40a22b
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408b06
mov esi, eax
cmp esi, ebx
jl 0x40a22b
cmp word [edi], 0x3d
jne 0x40a1e6
cmp dword [ebp + 0x21d8], ebx
je 0x409f0b
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x78], eax
push edi
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0x74], ebx
call fcn.00409abd
lea ecx, [ebp - 0x78]
mov esi, eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.00408769
cmp esi, ebx
jmp 0x409e50
cmp dword [ebp + 0x21dc], ebx
jne 0x409f59
cmp dword [ebp - 0x60], ebx
je 0x409f59
push 0x20006
push ebx
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
call fcn.004087de
cmp eax, ebx
jne 0x40a1f2
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x409f51
cmp eax, 2
jne 0x40a1f2
lea ecx, [ebp - 0x68]
call fcn.00408769
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408c75
mov esi, eax
cmp esi, ebx
jmp 0x40a1d0
push 0x5c
push edi
call fcn.00408a96
pop ecx
pop ecx
test eax, eax
jne 0x40a1e6
cmp dword [ebp + 0x21d8], eax
je 0x40a000
mov esi, 0x2001f
push esi
push edi
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x54]
call fcn.004087de
test eax, eax
je 0x409fcd
push 0x20019
push edi
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x54]
call fcn.004087de
test eax, eax
je 0x409fcd
xor ebx, ebx
push ebx
push ebx
push esi
push ebx
push ebx
push edi
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x54]
call fcn.00408784
mov esi, eax
cmp esi, ebx
jne 0x40a1fe
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a22b
cmp word [edi], 0x3d
jne 0x40a18e
mov ecx, dword [ebp - 0x48]
push edi
push 0
lea eax, [ebp - 0x54]
push eax
call fcn.00409abd
mov esi, eax
jmp 0x409e4e
cmp dword [ebp + 0x21dc], 0
jne 0x40a01e
push 0x20019
push edi
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x54]
call fcn.004087de
mov ebx, eax
jmp 0x40a021
push 2
pop ebx
test ebx, ebx
je 0x40a02f
mov dword [ebp + 0x21dc], 1
push 0xffffffffffffffff
push edi
lea eax, [ebp + 0x1fbc]
push 0x104
push eax
call fcn.0041ad32
push eax
call fcn.004077b7
mov ecx, dword [ebp - 0x48]
add esp, 0x14
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a22b
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408c75
mov esi, eax
test esi, esi
jl 0x40a22b
cmp word [edi], 0x7b
jne 0x40a0be
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x40a0be
push dword [ebp + 0x21dc]
mov ecx, dword [ebp - 0x48]
push 0
push dword [ebp - 0x54]
push edi
call fcn.00409d4f
mov esi, eax
test esi, esi
jge 0x40a0ab
cmp dword [ebp + 0x21dc], 0
je 0x40a22b
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a22b
mov eax, dword [ebp - 0x7c]
mov dword [ebp + 0x21dc], eax
cmp ebx, 2
je 0x40a1d2
test ebx, ebx
je 0x40a0ea
test eax, eax
jne 0x40a1d2
push ebx
call fcn.00408646
pop ecx
mov esi, eax
jmp 0x40a22b
test eax, eax
je 0x40a132
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
call fcn.00408c40
test eax, eax
je 0x40a132
mov ecx, dword [ebp - 0x48]
lea eax, [ebp + 0x1fbc]
push eax
call fcn.00408c14
test eax, eax
je 0x40a1d2
cmp dword [ebp - 0x60], 0
je 0x40a1d2
lea eax, [ebp + 0x1fbc]
push eax
lea ecx, [ebp - 0x54]
call fcn.00408de0
jmp 0x40a1d2
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
call fcn.00408c40
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x80], eax
call fcn.00408769
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x40a20f
cmp dword [ebp - 0x60], eax
je 0x40a1d2
cmp dword [ebp - 0x80], eax
jne 0x40a1d2
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
lea eax, [ebp + 0x1fbc]
mov dword [ebp - 0x70], ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040870e
and dword [ebp - 0x70], 0
and dword [ebp - 0x6c], 0
test eax, eax
jne 0x40a21a
lea ecx, [ebp - 0x70]
call fcn.00408769
cmp dword [ebp + 0x21d8], 0
je 0x40a1d2
cmp word [edi], 0x7b
jne 0x40a1d2
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x40a1d2
mov ecx, dword [ebp - 0x48]
push 0
push dword [ebp + 0x21d8]
push dword [ebp - 0x54]
push edi
call fcn.00409d4f
mov esi, eax
test esi, esi
jl 0x40a22b
mov ecx, dword [ebp - 0x48]
push edi
call fcn.00408b06
mov esi, eax
test esi, esi
jl 0x40a22b
cmp word [edi], 0x7d
jne 0x409d99
jmp 0x40a22b
lea ecx, [ebp - 0x5c]
call fcn.00408769
mov esi, 0x80020009
jmp 0x40a22b
lea ecx, [ebp - 0x5c]
jmp 0x40a226
push eax
call fcn.00408646
pop ecx
lea ecx, [ebp - 0x68]
jmp 0x40a224
lea ecx, [ebp - 0x54]
call fcn.00408769
push esi
call fcn.00408646
pop ecx
jmp 0x40a235
lea ecx, [ebp - 0x54]
call fcn.00408769
push ebx
jmp 0x40a207
push eax
call fcn.00408646
pop ecx
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.00408769
lea ecx, [ebp - 0x54]
call fcn.00408769
mov eax, esi
mov ecx, dword [ebp + 0x21c4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00419db1
add ebp, 0x21c8
leave
ret 0x10