Function at 0x443690
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2c18
call fcn.004b8600
mov eax, dword [0x589644]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x208
lea eax, [ebp - 0x414]
mov edi, ecx
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0x414]
push str.birdwp.exe
push dword [edi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x800
lea eax, [ebp - 0x1414]
push 0
push eax
call fcn.004d7bd0
lea ecx, [ebp - 0x1414]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4436f4
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1414]
push eax
push 1
push str.DisplayIcon
lea ecx, [ebp - 0x2c15]
call fcn.004414e0
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea ecx, [ebp - 0x2c15]
call fcn.00441a90
test eax, eax
je 0x443753
push 0x800
lea eax, [ebp - 0x1c14]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea ecx, [ebp - 0x1c14]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443760
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1c14]
push eax
push 1
push str.DisplayName
lea ecx, [ebp - 0x2c15]
call fcn.004411e0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004d7bd0
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.00457c50
lea ecx, [ebp - 0x20c]
add esp, 0x18
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4437d0
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push str.DisplayVersion
lea ecx, [ebp - 0x2c15]
call fcn.0043fe00
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
mov ecx, dword [edi]
mov eax, dword [ecx - 0xc]
add eax, eax
push eax
push ecx
push 1
push str.InstallLocation
lea ecx, [ebp - 0x2c15]
call fcn.004419b0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea ecx, [ebp - 0x2c15]
call fcn.0043f860
test eax, eax
je 0x44384c
push 0x800
lea eax, [ebp - 0x2414]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea ecx, [ebp - 0x2414]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443855
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x2414]
push eax
push 1
push str.Publisher
lea ecx, [ebp - 0x2c15]
call fcn.0043f780
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push 0x800
lea eax, [ebp - 0xc14]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0xc14]
push 0x549ce4
push dword [edi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [ebp - 0xc14]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4438c0
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xc14]
push eax
push 1
push str.UninstallString
lea ecx, [ebp - 0x2c15]
call fcn.00440630
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea ecx, [ebp - 0x2c15]
call fcn.00441400
test eax, eax
je 0x443919
push 0x800
lea eax, [ebp - 0x2c14]
push 0
push eax
call fcn.004d7bd0
add esp, 0xc
lea ecx, [ebp - 0x2c14]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x443922
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x2c14]
push eax
push 1
push str.URLInfoAbout
lea ecx, [ebp - 0x2c15]
call fcn.0043f940
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004b85ea
mov esp, ebp
pop ebp
ret