Function at 0x404340
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40eb08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x124
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
cmp esi, edi
mov dword [ebp - 0x10], esp
je 0x4044d9
mov eax, dword [ebp + 0xc]
cmp eax, edi
je 0x4044d9
mov ebx, dword [ebp + 0x10]
cmp ebx, edi
je 0x4044d9
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], edi
mov dword [ebp + 8], edi
mov dword [ebp - 0x18], edi
push eax
lea eax, [ebp - 0x130]
push str.SELECT__FROM__Property__WHERE__Property__s
push eax
mov byte [ebp - 4], 3
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp eax, edi
je 0x4043ba
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea ecx, [ebp - 0x14]
push ecx
push edi
push esi
mov dword [ebp - 0x14], edi
call sub.msi.dll_MsiOpenProductA
test eax, eax
je 0x4043dd
push 0x4106a8
lea edx, [ebp - 0x24]
push edx
mov dword [ebp - 0x24], edi
call fcn.00406cb6
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x4043ea
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov edx, dword [ebp - 0x14]
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x130]
push ecx
push edx
mov dword [ebp + 8], edi
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
je 0x404416
push 0x4106a8
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], edi
call fcn.00406cb6
mov ecx, dword [ebp + 8]
push edi
push ecx
call sub.msi.dll_MsiViewModify
test eax, eax
je 0x404435
push 0x4106a8
lea edx, [ebp - 0x2c]
push edx
mov dword [ebp - 0x2c], edi
call fcn.00406cb6
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x18]
call fcn.004038c0
push eax
push esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x40445c
push 0x4106a8
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], edi
call fcn.00406cb6
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x18]
push ecx
push ebx
push 2
push edx
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
je 0x4044ec
push 0x4106a8
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], edi
call fcn.00406cb6
mov eax, dword [ebp - 0x14]
xor edi, edi
cmp eax, edi
je 0x404490
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x40449d
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x4044aa
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, 0x4044b0
ret
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x4044f9
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x404509
push ecx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x40451c
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x404529
push ecx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x404533
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x404540
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret