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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x424
mov eax, dword [ebp + 0x14]
and dword [esp], 0
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, edi
mov dword [esp + 0x10], ecx
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7f7
cmp word [edi], 0x7d
je 0x43e7f5
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
push str.Delete
push edi
mov dword [esp + 0x1c], 1
call esi
mov ebx, eax
neg ebx
push str.ForceRemove
sbb ebx, ebx
push edi
inc ebx
call esi
test eax, eax
je 0x43e498
test ebx, ebx
je 0x43e563
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp dword [ebp + 0x10], 0
je 0x43e563
push 0x5c
mov eax, edi
call fcn.0043e1f3
test eax, eax
pop ecx
jne 0x43e896
push edi
call fcn.0043ed0b
test eax, eax
je 0x43e4e4
mov eax, dword [ebp + 0xc]
push edi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
call fcn.004353d3
test ebx, ebx
je 0x43e563
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
mov ecx, dword [esp + 0x10]
call fcn.0043ecc2
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp word [edi], 0x7b
jne 0x43e554
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
cmp eax, 1
jne 0x43e554
mov ecx, dword [esp + 0x10]
push 0
push dword [ebp + 0x10]
push dword [esp + 0x14]
push edi
call fcn.0043e42b
mov esi, eax
test esi, esi
jl 0x43e7e4
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp word [edi], 0x7d
jne 0x43e467
jmp 0x43e7e4
push str.NoRemove
push edi
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x43e58c
and dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
push 0x4f3868
push edi
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
jne 0x43e679
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x228]
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp word [edi], 0x3d
jne 0x43e896
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
je 0x43e611
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
push edi
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
call fcn.0043e8ed
mov esi, eax
cmp esi, ebx
jge 0x43e510
cmp dword [esp + 0xc], ebx
jmp 0x43e7e9
cmp dword [ebp + 0x14], ebx
jne 0x43e667
cmp dword [esp + 0x14], ebx
je 0x43e667
push 0x20006
push ebx
push dword [ebp + 0xc]
lea eax, [esp + 0x20]
mov dword [esp + 0x20], ebx
call fcn.00414c55
cmp eax, ebx
jne 0x43e8cc
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x228]
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
je 0x43e65a
cmp eax, 2
jne 0x43e8b1
test ebx, ebx
je 0x43e665
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
mov ecx, dword [esp + 0x10]
call fcn.0043ecc2
mov esi, eax
cmp esi, ebx
jmp 0x43e54e
push 0x5c
mov eax, edi
call fcn.0043e1f3
test eax, eax
pop ecx
jne 0x43e896
xor esi, esi
cmp dword [ebp + 0x10], esi
je 0x43e708
push 0x2001f
push edi
push dword [ebp + 0xc]
lea eax, [esp + 0x18]
call fcn.00414c55
test eax, eax
je 0x43e6d3
push 0x20019
push edi
push dword [ebp + 0xc]
lea eax, [esp + 0x18]
call fcn.00414c55
test eax, eax
je 0x43e6d3
push edi
push dword [ebp + 0xc]
lea eax, [esp + 0x14]
call fcn.00424e8c
cmp eax, esi
jne 0x43e7dd
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp word [edi], 0x3d
jne 0x43e510
push edi
push 0
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x1c]
call fcn.0043e8ed
jmp 0x43e506
cmp dword [ebp + 0x14], esi
jne 0x43e725
push 0x20019
push edi
push dword [ebp + 0xc]
lea eax, [esp + 0x18]
call fcn.00414c55
mov dword [esp + 0x18], eax
jmp 0x43e72d
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], esi
je 0x43e73a
mov dword [ebp + 0x14], 1
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x28]
push 0x104
push eax
call fcn.0048ab83
push eax
call fcn.0040eb43
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
mov ecx, dword [esp + 0x10]
call fcn.0043ecc2
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp word [edi], 0x7b
jne 0x43e7b7
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
cmp eax, 1
jne 0x43e7b7
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x14]
push edi
call fcn.0043e42b
mov esi, eax
test esi, esi
jge 0x43e7a6
cmp dword [ebp + 0x14], 0
je 0x43e7e4
mov ecx, dword [esp + 0x10]
mov eax, edi
call fcn.0043e31a
mov esi, eax
test esi, esi
jl 0x43e7e4
cmp dword [esp + 0x18], 2
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x14], eax
je 0x43e554
xor ebx, ebx
cmp dword [esp + 0x18], ebx
je 0x43e800
cmp eax, ebx
jne 0x43e554
mov eax, dword [esp + 0x18]
call fcn.0043f012
mov esi, eax
cmp dword [esp + 0xc], 0
je 0x43e7f5
push dword [esp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, ebx
je 0x43e841
push dword [esp + 0xc]
call fcn.0043ed37
test eax, eax
je 0x43e841
lea eax, [esp + 0x20]
push eax
call fcn.0043ed0b
test eax, eax
je 0x43e554
cmp dword [esp + 0x14], 0
je 0x43e554
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x10]
call fcn.004353d3
jmp 0x43e554
push dword [esp + 0xc]
call fcn.0043ed37
cmp dword [esp + 0xc], ebx
mov dword [esp + 0x18], eax
je 0x43e866
push dword [esp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, ebx
mov dword [esp + 0xc], ebx
jne 0x43e8e3
cmp dword [esp + 0x14], ebx
je 0x43e554
cmp dword [esp + 0x18], 0
jne 0x43e554
lea eax, [esp + 0x20]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, eax
jne 0x43e7dd
jmp 0x43e554
cmp dword [esp + 0xc], 0
je 0x43e8a7
push dword [esp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x80020009
jmp 0x43e7f7
call fcn.0043f012
test ebx, ebx
mov esi, eax
je 0x43e7e4
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x43e7e4
call fcn.0043f012
cmp dword [esp + 0x14], ebx
mov esi, eax
je 0x43e7e4
push dword [esp + 0x14]
jmp 0x43e8c1
call fcn.0043f012
jmp 0x43e7f7