Function at 0x406f51
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4514cf
mov eax, dword fs:[0]
push eax
mov eax, 0x2258
call fcn.00414da0
mov eax, dword [0x464004]
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 - 0x223c], eax
mov dword [ebp - 0x2238], eax
mov dword [ebp - 0x2234], eax
mov dword [ebp - 4], eax
push edi
mov ecx, ebx
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
push 0x7d
pop eax
cmp word [edi], ax
je 0x4074f5
xor eax, eax
push 0x454698
inc eax
push edi
mov dword [ebp - 0x2224], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
push 0x454664
sbb esi, esi
inc esi
push edi
mov dword [ebp - 0x2220], esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x406ffe
test esi, esi
je 0x4070ca
push edi
mov ecx, ebx
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x4070cc
push 0x5c
push edi
mov dword [ebp - 0x2230], esi
mov dword [ebp - 0x222c], esi
mov dword [ebp - 0x2228], esi
call fcn.00407760
pop ecx
pop ecx
test eax, eax
jne 0x4074e5
push edi
mov ecx, ebx
call fcn.00405fee
test eax, eax
je 0x407081
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.00406acf
mov dword [ebp - 0x2230], esi
mov dword [ebp - 0x222c], esi
mov dword [ebp - 0x2228], esi
cmp dword [ebp - 0x2220], esi
je 0x4070bd
push edi
mov ecx, ebx
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074dd
push edi
mov ecx, ebx
call fcn.004076d7
lea ecx, [ebp - 0x2230]
mov esi, eax
call fcn.00406090
test esi, esi
js 0x4074f5
jmp 0x407499
lea ecx, [ebp - 0x2230]
call fcn.00406090
jmp 0x4070cc
xor esi, esi
push 0x454680
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4070f4
push edi
mov ecx, ebx
mov dword [ebp - 0x2224], esi
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
push 0x454658
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x407220
lea eax, [ebp - 0x2218]
mov ecx, ebx
push eax
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
push edi
mov ecx, ebx
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
push 0x3d
pop eax
cmp word [edi], ax
jne 0x4074f0
cmp dword [ebp + 0x10], 0
je 0x4071a6
and dword [ebp - 0x2248], 0
xor eax, eax
and dword [ebp - 0x2244], 0
inc eax
mov byte [ebp - 4], al
mov ecx, ebx
mov eax, dword [ebp - 0x221c]
mov dword [ebp - 0x224c], eax
lea eax, [ebp - 0x2218]
push edi
push eax
lea eax, [ebp - 0x224c]
push eax
call fcn.0040598c
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 0x40752f
mov byte [ebp - 4], al
jmp 0x407494
cmp dword [ebp + 0x14], 0
jne 0x407213
cmp dword [ebp - 0x2224], 0
je 0x407213
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.00406813
test eax, eax
jne 0x407520
lea eax, [ebp - 0x2218]
push eax
push dword [ebp - 0x2264]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x407208
cmp eax, 2
jne 0x407520
lea ecx, [ebp - 0x2264]
call fcn.00406090
push edi
mov ecx, ebx
call fcn.004076d7
jmp 0x406fb0
push 0x5c
push edi
call fcn.00407760
pop ecx
pop ecx
test eax, eax
jne 0x4074f0
cmp dword [ebp + 0x10], eax
je 0x4072c3
mov esi, dword [ebp - 0x221c]
lea ecx, [ebp - 0x223c]
push 0x2001f
push edi
push esi
call fcn.00406813
test eax, eax
je 0x40728d
push 0x20019
push edi
push esi
lea ecx, [ebp - 0x223c]
call fcn.00406813
test eax, eax
je 0x40728d
xor eax, eax
lea ecx, [ebp - 0x223c]
push eax
push eax
push 0x2001f
push eax
push eax
push edi
push esi
call fcn.004060aa
test eax, eax
jne 0x4073a9
push edi
mov ecx, ebx
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
push 0x3d
pop eax
cmp word [edi], ax
jne 0x407499
push edi
push 0
lea eax, [ebp - 0x223c]
mov ecx, ebx
push eax
call fcn.0040598c
mov esi, eax
jmp 0x4070b0
cmp dword [ebp + 0x14], 0
jne 0x4072e2
push 0x20019
push edi
push dword [ebp - 0x221c]
lea ecx, [ebp - 0x223c]
call fcn.00406813
jmp 0x4072e5
push 2
pop eax
mov ecx, dword [ebp + 0x14]
test eax, eax
push 1
mov dword [ebp - 0x2220], eax
pop eax
push 0xffffffffffffffff
cmovne ecx, eax
lea eax, [ebp - 0x218]
push edi
push 0x104
push eax
mov dword [ebp - 0x2240], ecx
call fcn.00431501
push eax
call fcn.00405f51
add esp, 0x14
mov ecx, ebx
push edi
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
push edi
mov ecx, ebx
call fcn.004076d7
mov esi, eax
test esi, esi
js 0x4074f5
push 0x7b
pop eax
cmp word [edi], ax
jne 0x40738c
push edi
call fcn.0041f0ef
pop ecx
cmp eax, 1
jne 0x40738c
push dword [ebp - 0x2240]
mov ecx, ebx
push 0
push dword [ebp - 0x223c]
push edi
call fcn.00406f51
mov esi, eax
test esi, esi
jns 0x40737a
cmp dword [ebp - 0x2240], 0
je 0x4074f5
push edi
mov ecx, ebx
call fcn.004066d4
mov esi, eax
test esi, esi
js 0x4074f5
mov eax, dword [ebp - 0x2220]
cmp eax, 2
je 0x406fba
test eax, eax
je 0x4073b7
cmp dword [ebp + 0x14], 0
jne 0x406fba
push eax
call fcn.00405fc1
pop ecx
mov esi, eax
jmp 0x4074f5
cmp dword [ebp + 0x14], 0
je 0x407408
push dword [ebp - 0x223c]
mov ecx, ebx
call fcn.00406466
test eax, eax
je 0x407408
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00405fee
test eax, eax
je 0x406fba
cmp dword [ebp - 0x2224], 0
je 0x406fba
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x223c]
call fcn.00406acf
jmp 0x406fba
push dword [ebp - 0x223c]
mov ecx, ebx
call fcn.00406466
lea ecx, [ebp - 0x223c]
mov dword [ebp - 0x2220], eax
call fcn.00406090
test eax, eax
jne 0x4073a9
cmp dword [ebp - 0x2224], eax
je 0x406fba
cmp dword [ebp - 0x2220], eax
jne 0x406fba
mov eax, dword [ebp - 0x221c]
lea ecx, [ebp - 0x2258]
and dword [ebp - 0x2254], 0
and dword [ebp - 0x2250], 0
mov dword [ebp - 0x2258], eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040611b
xor ecx, ecx
mov dword [ebp - 0x2258], ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
test eax, eax
jne 0x407536
lea ecx, [ebp - 0x2258]
call fcn.00406090
cmp dword [ebp + 0x10], 0
je 0x406fba
push 0x7b
pop eax
cmp word [edi], ax
jne 0x406fba
push edi
call fcn.0041f0ef
pop ecx
cmp eax, 1
jne 0x406fba
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp - 0x223c]
push edi
call fcn.00406f51
mov esi, eax
test esi, esi
js 0x4074f5
jmp 0x406fa8
lea ecx, [ebp - 0x2230]
jmp 0x40752f
lea ecx, [ebp - 0x2230]
call fcn.00406090
mov esi, 0x80020009
lea ecx, [ebp - 0x223c]
call fcn.00406090
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.004142a7
mov esp, ebp
pop ebp
ret 0x10
push eax
call fcn.00405fc1
pop ecx
lea ecx, [ebp - 0x2264]
mov esi, eax
call fcn.00406090
jmp 0x4074f5
push eax
call fcn.00405fc1
pop ecx
lea ecx, [ebp - 0x2258]
jmp 0x40752d