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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x530e76
push eax
mov eax, 0x3220
mov dword fs:[0], esp
call fcn.004bd0a0
push ebp
push esi
xor esi, esi
push edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x3248]
mov ebp, dword [esp + 0x323c]
mov dword [esp + 0x1c], eax
mov eax, ebp
mov dword [esp + 0x3234], esi
call fcn.00432370
mov edi, eax
cmp edi, esi
jge 0x432be7
jmp 0x43322b
cmp byte [ebp], 0x7d
push ebx
je 0x433228
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
push str.Delete
push ebp
mov dword [esp + 0x18], 1
call esi
mov ebx, eax
neg ebx
push str.ForceRemove
sbb ebx, ebx
push ebp
inc ebx
call esi
test eax, eax
je 0x432c23
test ebx, ebx
je 0x432d6f
mov ecx, dword [esp + 0x1c]
mov eax, ebp
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433219
mov eax, dword [esp + 0x3248]
test eax, eax
je 0x432d6f
mov cl, byte [ebp]
test cl, cl
mov dword [esp + 0x18], 0
mov eax, ebp
je 0x432c78
mov edi, dword [sym.imp.USER32.dll_CharNextA]
mov edi, edi
cmp cl, 0x5c
je 0x432c70
push eax
call edi
mov cl, byte [eax]
test cl, cl
jne 0x432c60
jmp 0x432c78
test eax, eax
jne 0x43324d
mov edi, 0x55cee0
lea ecx, [ecx]
mov ecx, dword [edi]
push ecx
push ebp
call esi
test eax, eax
je 0x432cb2
add edi, 4
cmp edi, str.TypeLib
jl 0x432c80
mov edx, dword [esp + 0x3244]
push ebp
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], edx
call fcn.00431310
mov dword [esp + 0x18], 0
test ebx, ebx
je 0x432d6f
mov esi, dword [esp + 0x1c]
mov eax, ebp
mov ecx, esi
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433247
cmp byte [ebp], 0x3d
jne 0x432d14
mov eax, ebp
mov ecx, esi
call fcn.00432370
test eax, eax
jl 0x433245
call fcn.00432320
lea eax, [esp + 0x230]
mov ecx, esi
call fcn.00432370
test eax, eax
jl 0x433245
mov eax, ebp
mov ecx, esi
call fcn.00432370
test eax, eax
jl 0x433245
xor edi, edi
cmp byte [ebp], 0x7b
jne 0x432d60
push ebp
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
cmp eax, 1
jne 0x432d60
mov edx, dword [esp + 0x3248]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
push 0
push edx
push eax
push ebp
mov ecx, esi
call fcn.00432b90
mov edi, eax
test edi, edi
jl 0x433219
mov eax, ebp
mov ecx, esi
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433219
cmp byte [ebp], 0x7d
je 0x433219
jmp 0x432bf2
push str.NoRemove
push ebp
call esi
test eax, eax
jne 0x432d94
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, ebp
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433219
push 0x55d41c
push ebp
call esi
test eax, eax
jne 0x432edb
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x12c]
mov ecx, esi
call fcn.00432370
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jl 0x433219
mov eax, ebp
mov ecx, esi
call fcn.00432370
mov edi, eax
cmp edi, ebx
jl 0x433219
cmp byte [ebp], 0x3d
jne 0x433256
cmp dword [esp + 0x3248], ebx
je 0x432e29
mov eax, dword [esp + 0x3244]
push ebp
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x3244], 1
push esi
mov dword [esp + 0x20], eax
call fcn.00432490
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x10], ebx
jl 0x433266
mov byte [esp + 0x3238], bl
jmp 0x432d16
cmp dword [esp + 0x324c], ebx
jne 0x432e91
cmp dword [esp + 0x10], ebx
je 0x432e91
mov ecx, dword [esp + 0x3244]
lea eax, [esp + 0x18]
push eax
push 0x20006
push ebx
push ebx
push ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x433209
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x12c]
push edx
push edi
mov dword [esp + 0x18], edi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp eax, ebx
je 0x432e86
cmp eax, 2
jne 0x433209
cmp edi, ebx
je 0x432e91
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [ebp], 0x3d
jne 0x432ed4
mov eax, ebp
mov ecx, esi
call fcn.00432370
cmp eax, ebx
jl 0x433164
call fcn.00432320
lea eax, [esp + 0x1230]
mov ecx, esi
call fcn.00432370
test eax, eax
jl 0x433164
mov eax, ebp
mov ecx, esi
call fcn.00432370
test eax, eax
jl 0x433164
xor edi, edi
jmp 0x432d60
mov cl, byte [ebp]
test cl, cl
mov eax, ebp
je 0x432f08
mov esi, dword [sym.imp.USER32.dll_CharNextA]
lea ebx, [ebx]
cmp cl, 0x5c
je 0x432f00
push eax
call esi
mov cl, byte [eax]
test cl, cl
jne 0x432ef0
jmp 0x432f08
test eax, eax
jne 0x433256
mov eax, dword [esp + 0x3248]
xor esi, esi
cmp eax, esi
je 0x433037
mov ecx, dword [esp + 0x3244]
lea eax, [esp + 0x10]
push eax
push 0x2001f
push esi
push ebp
push ecx
mov dword [esp + 0x24], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, esi
jne 0x432f5c
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp ecx, esi
je 0x432f4c
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp eax, esi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
je 0x432ff7
mov ecx, dword [esp + 0x3244]
lea eax, [esp + 0x10]
push eax
push 0x20019
push 0
push ebp
push ecx
mov dword [esp + 0x24], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x432f9e
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x432f92
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
je 0x432ff7
mov edx, dword [esp + 0x3244]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x14]
push ecx
push 0
push 0x2001f
push 0
push 0
push 0
push ebp
push edx
mov dword [esp + 0x34], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edi, eax
test edi, edi
jne 0x43327a
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x432fe5
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
mov ecx, dword [esp + 0x10]
mov edi, eax
mov dword [esp + 0x14], ecx
jne 0x43327a
mov ecx, dword [esp + 0x1c]
mov eax, ebp
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433219
cmp byte [ebp], 0x3d
jne 0x432d16
mov eax, dword [esp + 0x1c]
push ebp
push 0
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.00432490
mov edi, eax
test edi, edi
jl 0x433219
jmp 0x432d16
cmp dword [esp + 0x324c], esi
jne 0x43316b
mov edx, dword [esp + 0x3244]
lea ecx, [esp + 0x18]
push ecx
push 0x20019
push esi
push ebp
push edx
mov dword [esp + 0x2c], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, esi
jne 0x43307f
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp ecx, esi
je 0x433077
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x433092
mov dword [esp + 0x324c], 1
push 0x104
push ebp
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.DLL_lstrcpynA]
mov ebx, dword [esp + 0x1c]
mov eax, ebp
mov ecx, ebx
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433219
cmp byte [ebp], 0x3d
jne 0x4330f7
mov eax, ebp
mov ecx, ebx
call fcn.00432370
test eax, eax
jl 0x433164
mov esi, ebx
call fcn.00432320
lea eax, [esp + 0x2230]
mov ecx, ebx
call fcn.00432370
test eax, eax
jl 0x433164
mov eax, ebp
mov ecx, ebx
call fcn.00432370
test eax, eax
jl 0x433164
mov al, byte [ebp]
xor edi, edi
cmp al, 0x7b
jne 0x43313b
mov ebx, dword [esp + 0x324c]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
push ebx
push edi
push eax
push ebp
mov ecx, esi
call fcn.00432b90
mov edi, eax
test edi, edi
jge 0x433128
test ebx, ebx
je 0x433219
mov eax, ebp
mov ecx, esi
call fcn.00432370
mov edi, eax
test edi, edi
jl 0x433219
mov eax, dword [esp + 0x18]
cmp eax, 2
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x324c], ecx
je 0x432d60
test eax, eax
je 0x433178
test ecx, ecx
jne 0x432d60
call fcn.004368c0
mov edi, eax
jmp 0x433219
mov dword [esp + 0x18], 2
jmp 0x433087
mov eax, dword [esp + 0x20]
test eax, eax
mov ebx, dword [esp + 0x14]
je 0x4331bd
mov ecx, ebx
call fcn.00432880
test eax, eax
je 0x4331bd
lea ebx, [esp + 0x28]
call fcn.00432840
test eax, eax
je 0x432d60
mov eax, dword [esp + 0x10]
test eax, eax
je 0x432d60
mov edx, ebx
push edx
lea ecx, [esp + 0x18]
call fcn.00431310
jmp 0x432d60
test ebx, ebx
je 0x4331da
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x14], 0
jne 0x43328c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x432d60
mov ecx, dword [esp + 0x3244]
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
mov dword [esp + 0x10], 0
je 0x432d60
call fcn.004368c0
mov edi, eax
lea esi, [esp + 0x10]
call fcn.00431260
mov eax, dword [esp + 0x14]
test eax, eax
je 0x433228
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
pop ebx
mov ecx, dword [esp + 0x322c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x322c
ret 0x10
mov edi, eax
lea esi, [esp + 0x18]
jmp 0x433214
lea esi, [esp + 0x18]
call fcn.00431260
lea esi, [esp + 0x14]
call fcn.00431260
mov eax, 0x80020009
jmp 0x43322a
lea esi, [esp + 0x10]
call fcn.00431260
lea esi, [esp + 0x14]
call fcn.00431260
jmp 0x433228
lea esi, [esp + 0x14]
call fcn.00431260
mov eax, edi
call fcn.004368c0
jmp 0x43322a
lea esi, [esp + 0x14]
call fcn.00431260
mov eax, ebx
call fcn.004368c0
jmp 0x43322a