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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bdeab
mov eax, dword fs:[0]
push eax
mov eax, 0x2250
call fcn.004959d0
mov eax, dword [0x4f3958]
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, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x221c], ecx
mov dword [ebp - 0x222c], eax
mov dword [ebp - 0x2228], ebx
mov dword [ebp - 0x2224], ebx
mov edx, dword [ebp + 0x14]
push edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2244], edx
call fcn.0047cf80
mov esi, eax
cmp esi, ebx
jl 0x47e827
cmp word [edi], 0x7d
je 0x47e825
jmp 0x47e1d0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x4cfd54
push edi
mov dword [ebp - 0x2238], 1
call esi
mov ebx, eax
neg ebx
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x47e203
test ebx, ebx
je 0x47e31b
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x47e31d
push 0x5c
push edi
mov dword [ebp - 0x2234], esi
mov dword [ebp - 0x2230], esi
call fcn.0047ced0
add esp, 8
test eax, eax
jne 0x47e79d
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047d100
test eax, eax
je 0x47e27d
mov eax, dword [ebp - 0x222c]
push edi
lea ecx, [ebp - 0x2234]
mov dword [ebp - 0x2234], eax
mov dword [ebp - 0x2230], esi
call fcn.0047d270
mov dword [ebp - 0x2234], esi
mov dword [ebp - 0x2230], esi
cmp ebx, esi
je 0x47e313
mov ebx, dword [ebp - 0x221c]
push edi
mov ecx, ebx
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e7ba
push edi
mov ecx, ebx
call fcn.0047d190
mov esi, eax
test esi, esi
jl 0x47e7ba
mov dword [ebp - 0x2230], 0
cmp word [edi], 0x7b
jne 0x47e304
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x47e304
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2228]
mov ecx, dword [ebp - 0x221c]
push 0
push edx
push eax
push edi
call fcn.0047e150
mov esi, eax
test esi, esi
jl 0x47e814
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
cmp word [edi], 0x7d
jne 0x47e1d0
jmp 0x47e814
mov dword [ebp - 0x2230], esi
jmp 0x47e31d
xor esi, esi
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x47e34b
mov ecx, dword [ebp - 0x221c]
push edi
mov dword [ebp - 0x2238], eax
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
xor esi, esi
push 0x4cee24
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x47e475
lea ecx, [ebp - 0x2218]
push ecx
mov ecx, dword [ebp - 0x221c]
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
cmp word [edi], 0x3d
jne 0x47e7a8
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
je 0x47e3ef
mov edx, dword [ebp - 0x222c]
push edi
lea eax, [ebp - 0x2218]
push eax
lea ecx, [ebp - 0x224c]
push ecx
mov ecx, dword [ebp - 0x221c]
mov dword [ebp - 0x224c], edx
mov dword [ebp - 0x2248], ebx
call fcn.0047ddf0
mov esi, eax
cmp esi, ebx
mov dword [ebp - 0x224c], ebx
mov dword [ebp - 0x2248], ebx
jl 0x47e7c2
mov dword [ebp - 0x2248], ebx
jmp 0x47e2b9
cmp dword [ebp + 0x14], ebx
jne 0x47e460
cmp dword [ebp - 0x2238], ebx
je 0x47e460
mov edx, dword [ebp - 0x222c]
push 0x20006
push ebx
push edx
lea ecx, [ebp - 0x2240]
mov dword [ebp - 0x2240], ebx
mov dword [ebp - 0x223c], ebx
call fcn.00408f50
cmp eax, ebx
jne 0x47e7da
mov esi, dword [ebp - 0x2240]
lea eax, [ebp - 0x2218]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x47e449
cmp eax, 2
jne 0x47e7da
cmp esi, ebx
je 0x47e45a
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2240], ebx
mov dword [ebp - 0x223c], ebx
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047d190
mov esi, eax
cmp esi, ebx
jmp 0x47e2fe
push 0x5c
push edi
call fcn.0047ced0
add esp, 8
test eax, eax
jne 0x47e7a8
cmp dword [ebp + 0x10], esi
je 0x47e599
mov ebx, dword [ebp - 0x222c]
lea ecx, [ebp - 0x2220]
push ecx
push 0x2001f
push esi
push edi
push ebx
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x47e4df
mov ecx, dword [ebp - 0x2228]
xor eax, eax
cmp ecx, esi
je 0x47e4c9
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x2220]
mov dword [ebp - 0x2224], esi
mov dword [ebp - 0x2228], edx
cmp eax, esi
je 0x47e555
push 0x20019
push edi
push ebx
lea ecx, [ebp - 0x2228]
call fcn.00408f50
test eax, eax
je 0x47e555
lea eax, [ebp - 0x225c]
push eax
lea ecx, [ebp - 0x2220]
push ecx
push esi
push 0x2001f
push esi
push esi
push esi
push edi
mov edx, ebx
push edx
mov dword [ebp - 0x2220], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, eax
cmp ebx, esi
jne 0x47e7e8
mov ecx, dword [ebp - 0x2228]
xor eax, eax
cmp ecx, esi
je 0x47e539
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2220]
mov dword [ebp - 0x2224], esi
mov ebx, eax
mov dword [ebp - 0x2228], ecx
cmp eax, esi
jne 0x47e7e8
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
cmp word [edi], 0x3d
jne 0x47e2b9
mov ecx, dword [ebp - 0x221c]
push edi
push 0
lea edx, [ebp - 0x2228]
push edx
call fcn.0047ddf0
mov esi, eax
test esi, esi
jl 0x47e814
jmp 0x47e2b9
cmp dword [ebp + 0x14], esi
jne 0x47e693
mov eax, dword [ebp - 0x222c]
push 0x20019
push edi
push eax
lea ecx, [ebp - 0x2228]
call fcn.00408f50
mov ebx, eax
mov dword [ebp - 0x2220], ebx
cmp ebx, esi
je 0x47e5cd
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x218]
push 0x104
push ecx
call fcn.00496ae5
mov ecx, dword [ebp - 0x221c]
add esp, 0x10
push edi
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047d190
mov esi, eax
test esi, esi
jl 0x47e814
cmp word [edi], 0x7b
jne 0x47e665
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 1
jne 0x47e665
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x2228]
mov ecx, dword [ebp - 0x221c]
push ebx
push 0
push edx
push edi
call fcn.0047e150
mov esi, eax
test esi, esi
jge 0x47e649
test ebx, ebx
je 0x47e814
mov ecx, dword [ebp - 0x221c]
push edi
call fcn.0047cf80
mov esi, eax
test esi, esi
jl 0x47e814
mov ebx, dword [ebp - 0x2220]
mov eax, dword [ebp - 0x2244]
mov dword [ebp + 0x14], eax
cmp ebx, 2
je 0x47e304
test ebx, ebx
je 0x47e6a8
test eax, eax
jne 0x47e304
push ebx
call fcn.004534a0
add esp, 4
mov esi, eax
jmp 0x47e814
mov dword [ebp - 0x2220], 2
mov ebx, dword [ebp - 0x2220]
jmp 0x47e5c6
mov ebx, dword [ebp - 0x2228]
test eax, eax
je 0x47e700
mov ecx, dword [ebp - 0x221c]
push ebx
call fcn.0047d140
test eax, eax
je 0x47e700
lea ecx, [ebp - 0x218]
push ecx
mov ecx, dword [ebp - 0x221c]
call fcn.0047d100
test eax, eax
je 0x47e304
cmp dword [ebp - 0x2238], 0
je 0x47e304
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x2228]
call fcn.0047d270
jmp 0x47e304
mov ecx, dword [ebp - 0x221c]
push ebx
call fcn.0047d140
mov dword [ebp - 0x2258], eax
mov dword [ebp - 0x2220], 0
test ebx, ebx
je 0x47e737
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2220], eax
mov dword [ebp - 0x2228], 0
mov ebx, dword [ebp - 0x2220]
mov dword [ebp - 0x2224], 0
test ebx, ebx
jne 0x47e7e8
cmp dword [ebp - 0x2238], ebx
je 0x47e304
cmp dword [ebp - 0x2258], ebx
jne 0x47e304
mov ecx, dword [ebp - 0x222c]
lea eax, [ebp - 0x218]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
xor ecx, ecx
mov dword [ebp - 0x2254], ecx
mov dword [ebp - 0x2250], ecx
cmp eax, ecx
jne 0x47e7fe
lea ecx, [ebp - 0x2254]
call fcn.0040a000
jmp 0x47e304
lea ecx, [ebp - 0x2234]
call fcn.0040a000
lea ecx, [ebp - 0x2228]
call fcn.0040a000
mov eax, 0x80020009
jmp 0x47e827
lea ecx, [ebp - 0x2234]
jmp 0x47e80f
lea ecx, [ebp - 0x224c]
call fcn.0040a000
lea ecx, [ebp - 0x2228]
call fcn.0040a000
jmp 0x47e825
push eax
call fcn.004534a0
lea ecx, [ebp - 0x2240]
jmp 0x47e80a
lea ecx, [ebp - 0x2228]
call fcn.0040a000
push ebx
call fcn.004534a0
add esp, 4
jmp 0x47e827
push eax
call fcn.004534a0
lea ecx, [ebp - 0x2254]
add esp, 4
mov esi, eax
call fcn.0040a000
mov eax, dword [ebp - 0x2228]
test eax, eax
je 0x47e825
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
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.004951ca
mov esp, ebp
pop ebp
ret 0x10