Function at 0x43e6ea
Capabilities:
Reference sql statements

Disassembly:
push ebp
sub esp, 0x208
lea ebp, [esp - 4]
mov eax, dword [0x664e94]
xor eax, ebp
mov dword [ebp + 0x208], eax
push 0x40
mov eax, 0x5be09a
call fcn.0058f985
mov edi, dword [ebp + 0x214]
and dword [ebp - 0x2c], 0
mov esi, 0x104
mov ebx, ecx
mov dword [ebp - 0x28], esi
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x20]
call fcn.0040141e
and dword [ebp - 4], 0
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x30]
call fcn.0040141e
push 0xa
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00496ef8
mov byte [ebp - 4], 2
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x10]
call fcn.0040141e
mov byte [ebp - 4], 3
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040141e
and dword [ebp - 0x14], 0
and dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
test edi, edi
jne 0x43e7d0
push str.Invalid_Parameter_send_to_GetProductCost__
call fcn.004437b6
pop ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401019
xor bl, bl
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00497022
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401019
mov al, bl
jmp 0x43e945
fldz
fstp qword [edi]
cmp byte [ebx + 0x25], 0
jne 0x43e7f4
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401019
mov bl, 1
jmp 0x43e7a7
lea eax, [ebp - 0x20]
push eax
push 0x5d831c
mov ecx, ebx
mov dword [ebp - 0x28], esi
call fcn.0043e565
test al, al
je 0x43e81f
push dword [ebx + 8]
lea eax, [ebp - 0x20]
push str._08X
push eax
call fcn.00401518
add esp, 0xc
push str.SELECT__Feature__FROM__Feature__WHERE__Feature_Parent___
lea ecx, [ebp - 0x10]
call fcn.00401287
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x10]
push dword [ebx + 8]
call sub.msi.dll_MsiEnumClientsA
test eax, eax
jne 0x43e8a1
push eax
push dword [ebp - 0x14]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x43e895
jmp 0x43e873
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp]
push eax
push 1
push dword [ebp - 0x18]
mov dword [ebp - 0x28], esi
call sub.msi.dll_MsiRecordSetStreamA
test eax, eax
jne 0x43e873
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0049728d
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x14]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x43e84e
cmp dword [ebp - 0x18], 0
je 0x43e895
push dword [ebp - 0x18]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
and dword [ebp - 0x18], 0
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x40], 0
jne 0x43e8b1
push str.No_rootFeatures_were_found_during_costing
jmp 0x43e789
and dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x48]
jmp 0x43e8ef
mov eax, esi
test esi, esi
je 0x43e96a
mov esi, dword [esi]
add eax, 8
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040227d
lea eax, [ebp - 0x2c]
push eax
push 3
push 1
push dword [ebp - 0x1c]
push dword [ebx + 0xc]
call sub.msi.dll_MsiGetFeatureStateW
test eax, eax
jne 0x43e8ef
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x24], eax
test esi, esi
jne 0x43e8ba
mov eax, dword [ebp - 0x24]
fild dword [ebp - 0x24]
test eax, eax
jge 0x43e903
fadd qword [0x5eb3a8]
fmul qword [0x5e9668]
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
fstp qword [edi]
call fcn.00401019
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401019
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00497022
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401019
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401019
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.0058f976
add ebp, 0x20c
leave
ret 4
call fcn.004963bf
int3