Function at 0x10004790
Capabilities:
Reference sql statements

Disassembly:
push 0xffffffffffffffff
push 0x10050aca
mov eax, dword fs:[0]
push eax
mov eax, 0x2b38
call fcn.10045a60
mov eax, dword [0x10065060]
xor eax, esp
mov dword [esp + 0x2b34], eax
push ebp
push esi
mov eax, dword [0x10065060]
xor eax, esp
push eax
lea eax, [esp + 0x2b44]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x2b70]
xor eax, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2b4c], 1
xor ecx, ecx
mov dword [edi + 0x18], 7
mov dword [edi + 0x14], eax
mov word [edi + 4], cx
push 0x118
push eax
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], 0x11c
call fcn.1003c500
add esp, 0xc
lea esi, [esp + 0x24]
call fcn.100258ee
test eax, eax
je 0x10004a04
cmp dword [esp + 0x28], 5
jne 0x100048ec
cmp dword [esp + 0x2c], 1
jne 0x100048ec
cmp dword [esp + 0x2b6c], 8
mov eax, dword [esp + 0x2b58]
jae 0x10004867
lea eax, [esp + 0x2b58]
lea ecx, [esp + 0xc]
push ecx
push 1
push eax
call sub.msi.dll_Migrate10CachedPackagesW
test eax, eax
jne 0x10004a04
xor edx, edx
push 0x1ffe
push edx
lea eax, [esp + 0xb4a]
push eax
mov word [esp + 0xb4c], dx
call fcn.1003c500
mov eax, dword [esp + 0x18]
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0xb44]
push edx
push ebp
push eax
mov dword [esp + 0x24], 0x1000
call sub.msi.dll_MsiGetSummaryInformationW
test eax, eax
jne 0x10004a04
lea eax, [esp + 0xb40]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100048d0
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0xb44]
jmp 0x100049fd
cmp dword [esp + 0x2b6c], 8
mov eax, dword [esp + 0x2b58]
jae 0x10004904
lea eax, [esp + 0x2b58]
lea ecx, [esp + 0xc]
push ecx
push 0
push eax
call sub.msi.dll_MsiOpenProductW
test eax, eax
jne 0x10004a04
xor edx, edx
push 0x1fe
push edx
lea eax, [esp + 0x14a]
push eax
mov word [esp + 0x14c], dx
call fcn.1003c500
push ebp
push str.SELECT__FROM_Property_WHERE_Property___s
lea ecx, [esp + 0x154]
push 0x100
push ecx
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
mov ecx, dword [esp + 0x28]
add esp, 0x1c
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x144]
push eax
push ecx
call sub.msi.dll_MsiEnumClientsA
test eax, eax
jne 0x10004a04
mov edx, dword [esp + 0x10]
push eax
push edx
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x10004a04
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push ecx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x10004a04
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x34a]
push eax
mov word [esp + 0x34c], dx
call fcn.1003c500
mov eax, dword [esp + 0x24]
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x344]
push edx
push 2
push eax
mov dword [esp + 0x24], 0x400
call sub.msi.dll_MsiRecordSetStreamA
test eax, eax
jne 0x10004a04
lea eax, [esp + 0x340]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100049e6
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x344]
mov esi, edi
call fcn.100023a0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10004a12
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10004a20
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [esp + 0xc]
test eax, eax
je 0x10004a2e
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [esp + 0x2b6c], 8
jb 0x10004a48
mov ecx, dword [esp + 0x2b58]
push ecx
call fcn.1003a2e7
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x2b44]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
mov ecx, dword [esp + 0x2b34]
xor ecx, esp
call fcn.10039e38
add esp, 0x2b44
ret