Function at 0x43309d
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x9d4]
sub esp, 0xa54
mov eax, dword [0x509690]
xor eax, ebp
mov dword [ebp + 0x9d0], eax
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
push 0x4cf55c
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.004015d0
lea eax, [ebp - 0x7c]
push eax
mov edi, GetMenuState
push edi
push ebx
push str.softwareMicrosoftWindowsCurrentVersionUninstall
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4332b6
cmp dword [ebp - 0x5c], 8
mov eax, dword [ebp - 0x70]
jae 0x433101
lea eax, [ebp - 0x70]
push ebx
lea ecx, [ebp - 0x78]
push ecx
push ebx
push edi
push ebx
push ebx
push ebx
push eax
push dword [ebp - 0x7c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x4332ad
mov edi, 0x206
push edi
lea eax, [ebp + 0x1b2]
push ebx
push eax
mov word [ebp + 0x1b0], bx
call fcn.0043db10
push edi
lea eax, [ebp + 0x7ca]
push ebx
push eax
mov word [ebp + 0x7c8], bx
call fcn.0043db10
push edi
lea eax, [ebp + 0x5c2]
push ebx
push eax
mov word [ebp + 0x5c0], bx
call fcn.0043db10
push edi
lea eax, [ebp + 0x3ba]
push ebx
push eax
mov word [ebp + 0x3b8], bx
call fcn.0043db10
push edi
lea eax, [ebp - 0x56]
push ebx
push eax
mov word [ebp - 0x58], bx
call fcn.0043db10
add esp, 0x3c
cmp dword [esi + 0x18], 8
lea eax, [esi + 4]
mov dword [ebp - 0x80], eax
jb 0x433196
mov eax, dword [eax]
cmp dword [ebp - 0x5c], 8
mov ecx, dword [ebp - 0x70]
jae 0x4331a2
lea ecx, [ebp - 0x70]
push eax
push ecx
lea eax, [ebp + 0x7c8]
push 0x4ca55c
push eax
call fcn.0043ec14
add esp, 0x10
cmp dword [esi + 0x50], 8
jb 0x4331c3
mov eax, dword [esi + 0x3c]
jmp 0x4331c6
lea eax, [esi + 0x3c]
push str.Wnie.exe
push eax
mov edi, 0x4ca398
lea eax, [ebp + 0x1b0]
push edi
push eax
call fcn.0043ec14
add esp, 0x10
cmp dword [esi + 0x50], 8
jb 0x4331ec
mov eax, dword [esi + 0x3c]
jmp 0x4331ef
lea eax, [esi + 0x3c]
push str.Uninst.exe
push eax
lea eax, [ebp + 0x5c0]
push edi
push eax
call fcn.0043ec14
lea eax, [ebp + 0x3b8]
push 0x4cf55c
push eax
call fcn.0043ec14
mov eax, dword [ebp - 0x80]
add esp, 0x18
cmp dword [esi + 0x18], 8
jb 0x433221
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x58]
push 0x4ca34c
push eax
call fcn.0043ec14
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
add esp, 0xc
mov edi, 0x104
push edi
lea eax, [ebp + 0x7c8]
push eax
push 1
push ebx
push str.DisplayName
push dword [ebp - 0x78]
call esi
push edi
lea eax, [ebp + 0x5c0]
push eax
push 1
push ebx
push str.UninstallString
push dword [ebp - 0x78]
call esi
push edi
lea eax, [ebp + 0x1b0]
push eax
push 1
push ebx
push str.DisplayIcon
push dword [ebp - 0x78]
call esi
push edi
lea eax, [ebp - 0x58]
push eax
push 1
push ebx
push str.DisplayVersion
push dword [ebp - 0x78]
call esi
push edi
lea eax, [ebp + 0x3b8]
push eax
push 1
push ebx
push str.Publisher
push dword [ebp - 0x78]
call esi
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x7c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push 1
lea ecx, [ebp - 0x74]
call fcn.004017a0
mov ecx, dword [ebp + 0x9d0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043daf5
add ebp, 0x9d4
leave
ret