Function at 0x407714
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40fb5a
mov eax, dword fs:[0]
push eax
mov eax, 0x225c
call fcn.0040e2e8
mov eax, dword [0x4132a4]
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 ebx, ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x221c], eax
xor eax, eax
mov dword [ebp - 0x2240], eax
mov dword [ebp - 0x223c], eax
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x2268], eax
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
push 0x7d
pop eax
cmp word [edi], ax
je 0x407cee
xor eax, eax
inc eax
push str.Delete
push edi
mov dword [ebp - 0x2224], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x4117e8
sbb esi, esi
inc esi
push edi
mov dword [ebp - 0x2220], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4077ce
test esi, esi
je 0x407898
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x40789a
push 0x5c
push edi
mov dword [ebp - 0x2230], esi
mov dword [ebp - 0x222c], esi
mov dword [ebp - 0x2228], esi
call fcn.00408e28
test eax, eax
jne 0x407cde
push edi
mov ecx, ebx
call fcn.00404a66
test eax, eax
je 0x40784f
mov eax, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2230]
push edi
mov dword [ebp - 0x2230], eax
mov dword [ebp - 0x222c], esi
mov dword [ebp - 0x2228], esi
call fcn.00407331
mov dword [ebp - 0x2230], esi
mov dword [ebp - 0x222c], esi
mov dword [ebp - 0x2228], esi
cmp dword [ebp - 0x2220], esi
je 0x40788b
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cd6
push edi
mov ecx, ebx
call fcn.00408d9f
lea ecx, [ebp - 0x2230]
mov esi, eax
call fcn.00401d7a
test esi, esi
js 0x407cee
jmp 0x407c70
lea ecx, [ebp - 0x2230]
call fcn.00401d7a
jmp 0x40789a
xor esi, esi
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4078c2
push edi
mov ecx, ebx
mov dword [ebp - 0x2224], esi
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
push 0x4117e0
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4079ee
lea eax, [ebp - 0x2218]
mov ecx, ebx
push eax
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
push 0x3d
pop eax
cmp word [edi], ax
jne 0x407ce9
cmp dword [ebp + 0x10], 0
je 0x407974
xor eax, eax
mov ecx, ebx
inc eax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x221c]
mov dword [ebp - 0x224c], eax
xor eax, eax
mov dword [ebp - 0x2248], eax
mov dword [ebp - 0x2244], eax
lea eax, [ebp - 0x2218]
push edi
push eax
lea eax, [ebp - 0x224c]
push eax
call fcn.00404302
mov esi, eax
lea ecx, [ebp - 0x224c]
xor eax, eax
mov dword [ebp - 0x224c], eax
mov dword [ebp - 0x2248], eax
mov dword [ebp - 0x2244], eax
test esi, esi
js 0x407d27
mov byte [ebp - 4], al
jmp 0x407c6b
cmp dword [ebp + 0x14], 0
jne 0x4079e1
cmp dword [ebp - 0x2224], 0
je 0x4079e1
xor eax, eax
lea ecx, [ebp - 0x2264]
push 0x20006
push eax
push dword [ebp - 0x221c]
mov dword [ebp - 0x2264], eax
mov dword [ebp - 0x2260], eax
mov dword [ebp - 0x225c], eax
call fcn.0040212b
test eax, eax
jne 0x407d19
lea eax, [ebp - 0x2218]
push eax
push dword [ebp - 0x2264]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x4079d6
cmp eax, 2
jne 0x407d19
lea ecx, [ebp - 0x2264]
call fcn.00401d7a
push edi
mov ecx, ebx
call fcn.00408d9f
jmp 0x407cbf
push 0x5c
push edi
call fcn.00408e28
test eax, eax
jne 0x407ce9
cmp dword [ebp + 0x10], eax
je 0x407a90
mov esi, dword [ebp - 0x221c]
lea ecx, [ebp - 0x223c]
push 0x2001f
push edi
push esi
call fcn.0040212b
test eax, eax
je 0x407a59
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x223c]
call fcn.0040212b
test eax, eax
je 0x407a59
xor eax, eax
lea ecx, [ebp - 0x223c]
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
call fcn.00404b5e
test eax, eax
jne 0x407b87
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
push 0x3d
pop eax
cmp word [edi], ax
jne 0x407c70
push edi
xor eax, eax
mov ecx, ebx
push eax
lea eax, [ebp - 0x223c]
push eax
call fcn.00404302
mov esi, eax
jmp 0x40787e
mov esi, dword [ebp + 0x14]
test esi, esi
jne 0x407ab0
push 0x20019
push edi
push dword [ebp - 0x221c]
lea ecx, [ebp - 0x223c]
call fcn.0040212b
jmp 0x407ab3
push 2
pop eax
push 1
test eax, eax
mov dword [ebp - 0x2220], eax
pop eax
push 0xffffffffffffffff
cmovne esi, eax
lea eax, [ebp - 0x218]
push edi
push 0x104
push eax
mov dword [ebp + 0x14], esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
add esp, 0x10
push eax
call fcn.00401548
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
push edi
mov ecx, ebx
call fcn.00408d9f
mov esi, eax
test esi, esi
js 0x407cee
push 0x7b
pop eax
cmp word [edi], ax
jne 0x407b63
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2240]
jne 0x407b13
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x407b63
push dword [ebp + 0x14]
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp - 0x223c]
push edi
call fcn.00407714
mov esi, eax
test esi, esi
jns 0x407b51
cmp dword [ebp + 0x14], 0
je 0x407cee
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
mov eax, dword [ebp - 0x2220]
mov ecx, dword [ebp - 0x2268]
mov dword [ebp + 0x14], ecx
cmp eax, 2
je 0x407cc5
test eax, eax
je 0x407b94
test ecx, ecx
jne 0x407cc5
push eax
call fcn.004049b1
mov esi, eax
jmp 0x407cee
test ecx, ecx
je 0x407be3
push dword [ebp - 0x223c]
mov ecx, ebx
call fcn.00406276
test eax, eax
je 0x407be3
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00404a66
test eax, eax
je 0x407cc5
cmp dword [ebp - 0x2224], 0
je 0x407cc5
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x223c]
call fcn.00407331
jmp 0x407cc5
push dword [ebp - 0x223c]
mov ecx, ebx
call fcn.00406276
lea ecx, [ebp - 0x223c]
mov dword [ebp - 0x2220], eax
call fcn.00401d7a
test eax, eax
jne 0x407b87
cmp dword [ebp - 0x2224], eax
je 0x407cc5
cmp dword [ebp - 0x2220], eax
jne 0x407cc5
mov eax, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2258]
mov dword [ebp - 0x2258], eax
xor eax, eax
mov dword [ebp - 0x2254], eax
mov dword [ebp - 0x2250], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00401dbb
xor ecx, ecx
mov dword [ebp - 0x2258], ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
test eax, eax
jne 0x407d2e
lea ecx, [ebp - 0x2258]
call fcn.00401d7a
cmp dword [ebp + 0x10], 0
je 0x407cc5
push 0x7b
pop eax
cmp word [edi], ax
jne 0x407cc5
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x2240]
jne 0x407c83
sub ecx, edx
xor eax, eax
sar ecx, 1
inc eax
cmp ecx, eax
jne 0x407cc8
xor eax, eax
mov ecx, ebx
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x223c]
push edi
call fcn.00407714
mov esi, eax
test esi, esi
js 0x407cee
push edi
mov ecx, ebx
call fcn.00406e4f
mov esi, eax
test esi, esi
js 0x407cee
xor eax, eax
inc eax
push 0x7d
pop ecx
cmp word [edi], cx
jne 0x407799
jmp 0x407cee
lea ecx, [ebp - 0x2230]
jmp 0x407d27
lea ecx, [ebp - 0x2230]
call fcn.00401d7a
mov esi, 0x80020009
lea ecx, [ebp - 0x223c]
call fcn.00401d7a
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.0040d750
mov esp, ebp
pop ebp
ret 0x10
push eax
call fcn.004049b1
lea ecx, [ebp - 0x2264]
mov esi, eax
call fcn.00401d7a
jmp 0x407cee
push eax
call fcn.004049b1
lea ecx, [ebp - 0x2258]
jmp 0x407d25