Function at 0x41804a
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [eax]
push esi
lea ecx, [ebp - 8]
push ecx
push 1
xor esi, esi
push eax
mov dword [ebp - 8], esi
call sub.msi.dll_MsiOpenProductW
test eax, eax
je 0x41807c
cmp dword [ebp - 8], esi
je 0x418075
push dword [ebp - 8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
xor al, al
jmp 0x418235
mov eax, dword [0x459100]
push edi
mov ecx, 0x459100
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
push dword [eax]
lea eax, [ebp - 0x10]
push str.SELECT__Value__FROM__Property__WHERE_Property_s
push eax
call fcn.0040971d
mov edi, dword [ebp - 0x10]
add esp, 0xc
lea eax, [ebp - 4]
push eax
push edi
push dword [ebp - 8]
mov dword [ebp - 4], esi
call sub.msi.dll_MsiEnumClientsA
test eax, eax
jne 0x4180ca
push esi
push dword [ebp - 4]
call sub.msi.dll_MsiViewModify
test eax, eax
je 0x4180f3
cmp dword [ebp - 4], esi
je 0x4180d7
push dword [ebp - 4]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea eax, [edi - 0x10]
call fcn.0040464c
cmp dword [ebp - 8], esi
je 0x4180ec
push dword [ebp - 8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
xor al, al
jmp 0x418234
push ebx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
mov dword [ebp - 0xc], esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
cmp eax, 0x103
setne bl
mov esi, str.UPDATE__Property__SET__Property_._Value___WHERE_Property_
test bl, bl
jne 0x418119
mov esi, str.INSERT_INTO__Property____Property____Value___VALUES_______
cmp dword [ebp - 4], 0
je 0x418127
push dword [ebp - 4]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
and dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
push esi
push dword [ebp - 8]
call sub.msi.dll_MsiEnumClientsA
test eax, eax
je 0x418143
xor esi, esi
jmp 0x4181cf
push 2
call sub.msi.dll_MsiDatabaseExportA
cmp dword [ebp - 0xc], 0
mov esi, eax
je 0x41815a
push dword [ebp - 0xc]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov dword [ebp - 0xc], esi
test esi, esi
jne 0x41817c
cmp dword [ebp - 4], esi
je 0x41816e
push dword [ebp - 4]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea eax, [edi - 0x10]
call fcn.0040464c
cmp dword [ebp - 8], 0
jmp 0x4181f4
mov eax, dword [ebp + 0xc]
test bl, bl
jne 0x418186
mov eax, dword [ebp + 8]
push dword [eax]
push 1
push esi
call sub.msi.dll_MsiReinstallFeatureW
test eax, eax
jne 0x41813c
mov eax, dword [ebp + 8]
test bl, bl
jne 0x41819e
mov eax, dword [ebp + 0xc]
push dword [eax]
push 2
push dword [ebp - 0xc]
call sub.msi.dll_MsiReinstallFeatureW
test eax, eax
jne 0x41813c
push dword [ebp - 0xc]
push dword [ebp - 4]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x41813c
push dword [ebp - 8]
call sub.msi.dll_MsiDatabaseGenerateTransformW
xor esi, esi
test eax, eax
je 0x418202
cmp dword [ebp - 0xc], esi
je 0x4181dc
push dword [ebp - 0xc]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 4], esi
je 0x4181e9
push dword [ebp - 4]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea eax, [edi - 0x10]
call fcn.0040464c
cmp dword [ebp - 8], esi
je 0x4181fe
push dword [ebp - 8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
xor al, al
jmp 0x418233
cmp dword [ebp - 0xc], esi
je 0x41820f
push dword [ebp - 0xc]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 4], esi
je 0x41821c
push dword [ebp - 4]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea eax, [edi - 0x10]
call fcn.0040464c
cmp dword [ebp - 8], esi
je 0x418231
push dword [ebp - 8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov al, 1
pop ebx
pop edi
pop esi
leave
ret 8