Function at 0x40bde1
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 0x420cc8
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40be10
mov eax, 0x80004005
jmp 0x40bff8
cmp dword [ebp + 8], ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push edi
jne 0x40be2d
push 0x420cf0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40be4d
mov eax, dword [ebp + 8]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40be33
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 0x40be62
push 0x420d10
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40be82
mov eax, dword [ebp + 0xc]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40be68
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 0x40be97
push 0x420d30
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40beb7
mov eax, dword [ebp + 0x10]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40be9d
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 0x40becc
push 0x420d58
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
jmp 0x40beec
mov eax, dword [ebp + 0x14]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40bed2
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 0x40bf20
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40bf20
mov eax, dword [ebp + 0x18]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40bf04
sub eax, edi
push eax
push dword [ebp + 0x18]
push 1
push ebx
push str.BalloonTitle
push dword [ebp - 4]
call esi
jmp 0x40bf2e
push 0x420d80
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x1c], ebx
je 0x40bf62
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40bf62
mov eax, dword [ebp + 0x1c]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40bf46
sub eax, edi
push eax
push dword [ebp + 0x1c]
push 1
push ebx
push str.BalloonTip
push dword [ebp - 4]
call esi
jmp 0x40bf70
push 0x420da0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x20], ebx
je 0x40bfa4
push dword [ebp + 0x20]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40bfa4
mov eax, dword [ebp + 0x20]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40bf88
sub eax, edi
push eax
push dword [ebp + 0x20]
push 1
push ebx
push str.UpdateTitle1
push dword [ebp - 4]
call esi
jmp 0x40bfb2
push 0x420db8
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0x24], ebx
je 0x40bfe6
push dword [ebp + 0x24]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40bfe6
mov eax, dword [ebp + 0x24]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x40bfca
sub eax, edi
push eax
push dword [ebp + 0x24]
push 1
push ebx
push str.UpdateTitle2
push dword [ebp - 4]
call esi
jmp 0x40bff4
push 0x420dd8
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
pop edi
xor eax, eax
pop esi
pop ebx
leave
ret