Function at 0x402dcf
Capabilities:
Reference sql statements

Disassembly:
push ebp
lea ebp, [esp - 0x138]
sub esp, 0x1b8
mov eax, dword [0x425250]
xor eax, ebp
mov dword [ebp + 0x134], eax
mov edx, dword [ebp + 0x144]
mov eax, dword [ebp + 0x148]
mov ecx, dword [ebp + 0x150]
push ebx
push esi
mov esi, dword [ebp + 0x14c]
xor ebx, ebx
push edi
mov edi, dword [ebp + 0x140]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x74], ecx
cmp esi, ebx
je 0x4030e1
cmp eax, ebx
je 0x4030e1
cmp ecx, ebx
je 0x4030e1
cmp edi, ebx
je 0x4030e1
cmp edx, ebx
je 0x4030e1
push edi
call fcn.00409f90
pop ecx
cmp eax, 3
jb 0x4030e1
push dword [ebp - 0x78]
call fcn.00409f90
pop ecx
cmp eax, 3
jb 0x4030e1
mov eax, dword [ebp - 0x74]
mov dword [eax], ebx
mov eax, dword [ebp - 0x70]
push 4
mov dword [esi], ebx
push edi
mov dword [eax], ebx
call fcn.0040a744
pop ecx
pop ecx
test eax, eax
je 0x402e85
xor eax, eax
inc eax
jmp 0x4030e4
push str.SELECT__FROM__File__WHERE__File_._File___
mov esi, 0x12c
lea eax, [ebp - 0x5c]
push esi
push eax
call fcn.0040a6dc
push dword [ebp - 0x78]
lea eax, [ebp - 0x5c]
push esi
push eax
call fcn.0040a668
push 0x41c678
lea eax, [ebp - 0x5c]
push esi
push eax
call fcn.0040a668
add esp, 0x24
lea eax, [ebp - 0x68]
push eax
push ebx
push edi
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x80], 0x64
call sub.msi.dll_MsiOpenProductA
test eax, eax
jne 0x4030c3
cmp dword [ebp - 0x68], ebx
je 0x4030c3
lea ecx, [ebp - 0x60]
call fcn.004027aa
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x68]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x40309d
cmp dword [ebp - 0x60], ebx
je 0x40309d
push ebx
push dword [ebp - 0x60]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x40306f
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.004027aa
push eax
push esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x403041
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp + 0xd0]
push eax
push 5
push dword [ebp - 0x64]
call sub.msi.dll_MsiRecordSetInteger
push dword [ebp - 0x60]
test eax, eax
je 0x402f7f
call sub.msi.dll_MsiViewGetErrorW
push dword [ebp - 0x68]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x64], ebx
je 0x402f6b
push dword [ebp - 0x64]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x60], ebx
je 0x402f78
push dword [ebp - 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push 6
jmp 0x4030e3
call sub.msi.dll_MsiViewGetErrorW
push dword [ebp - 0x68]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea esi, [ebp + 0xd0]
cmp byte [ebp + 0xd0], bl
je 0x402fb2
movzx eax, byte [esi]
push eax
call fcn.0040a63a
pop ecx
test eax, eax
jne 0x402fad
cmp byte [esi], 0x2e
jne 0x402f5e
inc esi
cmp byte [esi], bl
jne 0x402f9a
lea eax, [ebp - 0x6c]
push eax
mov esi, 0x422680
lea eax, [ebp + 0xd0]
push esi
push eax
mov dword [ebp - 0x6c], ebx
call fcn.0040a4fb
add esp, 0xc
cmp eax, ebx
je 0x402f5e
push eax
call fcn.00409f80
mov ecx, dword [ebp - 0x70]
mov dword [ecx], eax
lea eax, [ebp - 0x6c]
push eax
push esi
push ebx
call fcn.0040a4fb
add esp, 0x10
cmp eax, ebx
je 0x402f5e
push eax
call fcn.00409f80
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
lea eax, [ebp - 0x6c]
push eax
push esi
push ebx
call fcn.0040a4fb
add esp, 0x10
cmp eax, ebx
je 0x402f5e
push eax
call fcn.00409f80
pop ecx
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
cmp dword [ebp - 0x64], ebx
je 0x40302d
push dword [ebp - 0x64]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x60], ebx
je 0x40303a
push dword [ebp - 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
xor eax, eax
jmp 0x4030e4
push dword [ebp - 0x60]
call sub.msi.dll_MsiViewGetErrorW
push dword [ebp - 0x68]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x64], ebx
je 0x40305e
push dword [ebp - 0x64]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x60], ebx
je 0x40306b
push dword [ebp - 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push 5
jmp 0x4030e3
push dword [ebp - 0x60]
call sub.msi.dll_MsiViewGetErrorW
push dword [ebp - 0x68]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x64], ebx
je 0x40308c
push dword [ebp - 0x64]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x60], ebx
je 0x403099
push dword [ebp - 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push 4
jmp 0x4030e3
push dword [ebp - 0x68]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x64], ebx
je 0x4030b2
push dword [ebp - 0x64]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x60], ebx
je 0x4030bf
push dword [ebp - 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push 3
jmp 0x4030e3
cmp dword [ebp - 0x64], ebx
je 0x4030d0
push dword [ebp - 0x64]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x60], ebx
je 0x4030dd
push dword [ebp - 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push 2
jmp 0x4030e3
push 7
pop eax
mov ecx, dword [ebp + 0x134]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00409ede
add ebp, 0x138
leave
ret