Function at 0x40bf8d
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
lea eax, [ebp - 4]
push eax
push 0x2001f
xor ebx, ebx
push ebx
push 0x420d08
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40bfbc
mov eax, 0x80004005
jmp 0x40c228
cmp dword [ebp + 8], ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push edi
jne 0x40bfd9
push 0x420d30
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40bff9
mov eax, dword [ebp + 8]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40bfdf
sub eax, edi
push eax
push dword [ebp + 8]
push 1
push ebx
push str.LocalFileName
push dword [ebp - 4]
call esi
cmp dword [ebp + 0xc], ebx
jne 0x40c00e
push 0x420d50
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40c02e
mov eax, dword [ebp + 0xc]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c014
sub eax, edi
push eax
push dword [ebp + 0xc]
push 1
push ebx
push str.InstallOptions
push dword [ebp - 4]
call esi
cmp dword [ebp + 0x10], ebx
jne 0x40c043
push 0x420d70
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40c063
mov eax, dword [ebp + 0x10]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c049
sub eax, edi
push eax
push dword [ebp + 0x10]
push 1
push ebx
push str.UpdateDescription
push dword [ebp - 4]
call esi
cmp dword [ebp + 0x14], ebx
jne 0x40c078
push 0x420d98
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40c098
mov eax, dword [ebp + 0x14]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c07e
sub eax, edi
push eax
push dword [ebp + 0x14]
push 1
push ebx
push str.UpdateMoreInfoUrl
push dword [ebp - 4]
call esi
cmp dword [ebp + 0x18], ebx
je 0x40c0cc
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40c0cc
mov eax, dword [ebp + 0x18]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c0b0
sub eax, edi
push eax
push dword [ebp + 0x18]
push 1
push ebx
push str.BalloonTitle
push dword [ebp - 4]
call esi
jmp 0x40c0da
push 0x420dc0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x1c], ebx
je 0x40c10e
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40c10e
mov eax, dword [ebp + 0x1c]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c0f2
sub eax, edi
push eax
push dword [ebp + 0x1c]
push 1
push ebx
push str.BalloonTip
push dword [ebp - 4]
call esi
jmp 0x40c11c
push 0x420de0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x20], ebx
je 0x40c150
push dword [ebp + 0x20]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40c150
mov eax, dword [ebp + 0x20]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c134
sub eax, edi
push eax
push dword [ebp + 0x20]
push 1
push ebx
push str.UpdateTitle1
push dword [ebp - 4]
call esi
jmp 0x40c15e
push 0x420df8
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x24], ebx
je 0x40c192
push dword [ebp + 0x24]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40c192
mov eax, dword [ebp + 0x24]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c176
sub eax, edi
push eax
push dword [ebp + 0x24]
push 1
push ebx
push str.UpdateTitle2
push dword [ebp - 4]
call esi
jmp 0x40c1a0
push 0x420e18
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x2c], ebx
je 0x40c1d4
push dword [ebp + 0x2c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40c1d4
mov eax, dword [ebp + 0x2c]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c1b8
sub eax, edi
push eax
push dword [ebp + 0x2c]
push 1
push ebx
push str.DlgCaption
push dword [ebp - 4]
call esi
jmp 0x40c1e2
push 0x420e38
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x28], ebx
je 0x40c216
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40c216
mov eax, dword [ebp + 0x28]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40c1fa
sub eax, edi
push eax
push dword [ebp + 0x28]
push 1
push ebx
push str.MoreInfoTxt
push dword [ebp - 4]
call esi
jmp 0x40c224
push 0x420e50
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
pop edi
xor eax, eax
pop esi
pop ebx
leave
ret