Function at 0x10027700
Capabilities:
Reference sql statements

Disassembly:
push ebp
lea ebp, [esp - 0x3ec]
sub esp, 0x3ec
push 0xffffffffffffffff
push 0x1005f0cd
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x10088020]
xor eax, ebp
mov dword [ebp + 0x3e8], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x24], edi
mov ebx, ecx
mov esi, dword [ebp + 0x3f4]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 1
push esi
call fcn.10027920
push 0x10072e1c
push 0x10072e1c
add eax, 0xa
mov edx, ebx
push 0x10072e1c
push eax
push esi
mov ecx, edi
call fcn.100271e0
mov esi, dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
add esp, 0x18
test eax, eax
je 0x100278d6
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100277a0
push eax
call esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x100277b1
push eax
call esi
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x18]
mov edx, edi
push eax
push 0x10072e1c
push dword [ebp - 0x20]
mov ecx, ebx
call fcn.10027480
add esp, 0x10
test eax, eax
je 0x100278d6
push dword [ebp - 0x18]
mov edi, dword [sym.imp.msi.dll_MsiRecordClearData]
push 6
push dword [ebp - 0x1c]
call edi
test eax, eax
jne 0x100278d6
push ebx
call dword [sym.imp.msi.dll_MsiGetFeatureCostA]
mov ebx, eax
mov dword [ebp - 0x28], ebx
mov byte [ebp - 4], 2
test ebx, ebx
jne 0x1002780f
xor edi, edi
jmp 0x100278c9
push dword [ebp - 0x20]
lea eax, [ebp]
push dword [ebp - 0x24]
push str.SELECT__FROM___s__WHERE__Property__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov dword [ebp - 0x10], 0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1002783c
push eax
call esi
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp]
push eax
push ebx
call dword [sym.imp.msi.dll_MsiEnumClientsA]
test eax, eax
jne 0x100278b9
push eax
push dword [ebp - 0x10]
call dword [sym.imp.msi.dll_MsiViewModify]
test eax, eax
jne 0x100278b9
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
nop dword [eax + eax]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x1002787a
push eax
call esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push dword [ebp - 0x10]
call dword [sym.imp.msi.dll_MsiDatabaseIsTablePersistentA]
test eax, eax
jne 0x100278a4
push dword [ebp - 0x14]
push 6
push dword [ebp - 0x10]
call edi
test eax, eax
je 0x10027870
xor edi, edi
jmp 0x100278a9
mov edi, 1
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100278bb
push eax
call esi
jmp 0x100278bb
xor edi, edi
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100278c9
push eax
call esi
mov byte [ebp - 4], 1
test ebx, ebx
je 0x100278d8
push ebx
call esi
jmp 0x100278d8
xor edi, edi
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100278e6
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x100278f7
push ecx
call esi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3e8]
xor ecx, ebp
call fcn.10044a98
lea esp, [ebp + 0x3ec]
pop ebp
ret