Function at 0x46695c
Capabilities:
Delete registry key
Delete registry value

Disassembly:
mov eax, 0x489634
call fcn.0046e3e3
sub esp, 0x424
mov eax, dword [section..cdata]
and dword [ebp - 0x428], 0
push ebx
push esi
mov dword [ebp - 0x10], eax
push edi
mov dword [ebp - 0x424], ecx
mov eax, dword [ebp + 0x14]
and dword [ebp - 4], 0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x430], eax
jmp 0x466de5
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x407140
push edi
mov dword [ebp - 0x42c], 1
call esi
mov ebx, eax
neg ebx
push 0x407164
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x4669cc
test ebx, ebx
je 0x466a5e
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e3f
cmp dword [ebp + 0x10], 0
je 0x466a5e
and dword [ebp + 8], 0
push 0x5c
push edi
call fcn.004645c8
test eax, eax
pop ecx
pop ecx
jne 0x466dfd
mov ecx, dword [ebp - 0x424]
push edi
call fcn.0046473e
test eax, eax
je 0x466a21
mov eax, dword [ebp + 0xc]
push edi
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00464de0
and dword [ebp + 8], 0
test ebx, ebx
je 0x466a56
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e37
mov ecx, dword [ebp - 0x424]
push edi
call fcn.0046479f
lea ecx, [ebp + 8]
mov esi, eax
call fcn.004642ef
jmp 0x466c20
lea ecx, [ebp + 8]
call fcn.004642ef
push 0x407150
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x466a8a
mov ecx, dword [ebp - 0x424]
and dword [ebp - 0x42c], eax
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e3f
push 0x40717c
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x466b7d
mov ecx, dword [ebp - 0x424]
lea eax, [ebp - 0x420]
push eax
call fcn.00464638
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jl 0x466e3f
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
cmp esi, ebx
jl 0x466e3f
cmp word [edi], 0x3d
jne 0x466e05
cmp dword [ebp + 0x10], ebx
je 0x466b1a
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x424]
mov dword [ebp + 8], eax
push edi
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], 1
call fcn.00466655
mov esi, eax
cmp esi, ebx
mov dword [ebp + 8], ebx
lea ecx, [ebp + 8]
jl 0x466e3a
mov byte [ebp - 4], bl
jmp 0x466da5
cmp dword [ebp + 0x14], ebx
jne 0x466b68
cmp dword [ebp - 0x42c], ebx
je 0x466b68
push 0x20006
push ebx
push dword [ebp + 0xc]
lea ecx, [ebp + 8]
mov dword [ebp + 8], ebx
call fcn.00464354
cmp eax, ebx
jne 0x466e2e
lea eax, [ebp - 0x420]
push eax
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x466b60
cmp eax, 2
jne 0x466e2e
lea ecx, [ebp + 8]
call fcn.004642ef
mov ecx, dword [ebp - 0x424]
push edi
call fcn.0046479f
mov esi, eax
cmp esi, ebx
jmp 0x466def
push 0x5c
push edi
call fcn.004645c8
test eax, eax
pop ecx
pop ecx
jne 0x466e05
cmp dword [ebp + 0x10], eax
je 0x466c2d
mov esi, 0x2001f
push esi
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x428]
call fcn.00464354
test eax, eax
je 0x466be9
push 0x20019
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x428]
call fcn.00464354
test eax, eax
je 0x466be9
xor ebx, ebx
push ebx
push ebx
push esi
push ebx
push ebx
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x428]
call fcn.00464306
mov esi, eax
cmp esi, ebx
jne 0x466e0c
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e3f
cmp word [edi], 0x3d
jne 0x466daa
mov ecx, dword [ebp - 0x424]
push edi
push 0
lea eax, [ebp - 0x428]
push eax
call fcn.00466655
mov esi, eax
test esi, esi
jl 0x466e3f
jmp 0x466daa
cmp dword [ebp + 0x14], 0
jne 0x466c4b
push 0x20019
push edi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x428]
call fcn.00464354
mov ebx, eax
jmp 0x466c4e
push 2
pop ebx
test ebx, ebx
je 0x466c59
mov dword [ebp + 0x14], 1
push 0x104
push edi
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e3f
mov ecx, dword [ebp - 0x424]
push edi
call fcn.0046479f
mov esi, eax
test esi, esi
jl 0x466e3f
cmp word [edi], 0x7b
jne 0x466ce7
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x466ce7
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x424]
push 0
push dword [ebp - 0x428]
push edi
call fcn.0046695c
mov esi, eax
test esi, esi
jge 0x466cd1
cmp dword [ebp + 0x14], 0
je 0x466e3f
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e3f
cmp ebx, 2
mov eax, dword [ebp - 0x430]
mov dword [ebp + 0x14], eax
je 0x466df1
test ebx, ebx
je 0x466d13
test eax, eax
jne 0x466df1
push ebx
call fcn.0046423d
pop ecx
mov esi, eax
jmp 0x466e3f
test eax, eax
je 0x466d6a
push dword [ebp - 0x428]
mov ecx, dword [ebp - 0x424]
call fcn.0046476a
test eax, eax
je 0x466d6a
mov ecx, dword [ebp - 0x424]
lea eax, [ebp - 0x218]
push eax
call fcn.0046473e
test eax, eax
je 0x466df1
cmp dword [ebp - 0x42c], 0
je 0x466df1
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x428]
call fcn.00464de0
jmp 0x466df1
lea ecx, [ebp - 0x428]
call fcn.004642ef
mov ebx, eax
test ebx, ebx
jne 0x466e1a
cmp dword [ebp - 0x42c], eax
je 0x466df1
lea eax, [ebp - 0x218]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
and dword [ebp + 8], ebx
test eax, eax
jne 0x466e2e
lea ecx, [ebp + 8]
call fcn.004642ef
cmp dword [ebp + 0x10], 0
je 0x466df1
cmp word [edi], 0x7b
jne 0x466df1
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x466df1
mov ecx, dword [ebp - 0x424]
push 0
push dword [ebp + 0x10]
push dword [ebp - 0x428]
push edi
call fcn.0046695c
mov esi, eax
test esi, esi
jl 0x466e3f
mov ecx, dword [ebp - 0x424]
push edi
call fcn.00464638
mov esi, eax
test esi, esi
jl 0x466e3f
cmp word [edi], 0x7d
jne 0x466999
jmp 0x466e3f
lea ecx, [ebp + 8]
call fcn.004642ef
mov esi, 0x80020009
jmp 0x466e3f
lea ecx, [ebp - 0x428]
call fcn.004642ef
push esi
jmp 0x466e26
lea ecx, [ebp - 0x428]
call fcn.004642ef
push ebx
call fcn.0046423d
pop ecx
jmp 0x466e4c
push eax
call fcn.0046423d
pop ecx
mov esi, eax
lea ecx, [ebp + 8]
call fcn.004642ef
lea ecx, [ebp - 0x428]
call fcn.004642ef
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.0046e295
leave
ret 0x10