Function at 0x41ba98
Capabilities:
Reference sql statements

Disassembly:
push 0x1c
mov eax, 0x456abc
call fcn.0043cf0a
push str.InitUpgrade...
lea ecx, [ebp - 0x20]
call fcn.0040215a
xor edi, edi
push edi
lea eax, [ebp - 0x20]
push eax
push 2
pop ebx
push ebx
mov dword [ebp - 4], edi
call fcn.0040e50d
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025e7
mov eax, dword [0x48b504]
mov dword [ebp - 0x28], eax
mov esi, 0x48badc
mov eax, esi
call fcn.00405235
mov dword [ebp - 0x20], eax
mov eax, esi
call fcn.00405266
cmp dword [ebp - 0x28], edi
je 0x41bafe
cmp dword [ebp - 0x20], edi
je 0x41bb07
cmp dword [ebp - 0x20], edi
je 0x41bb3e
cmp eax, edi
jne 0x41bb3e
push str.Upgrade_disabled_in_manual_mode
lea ecx, [ebp + 0xc]
call fcn.0040215a
push edi
lea eax, [ebp + 0xc]
push eax
push ebx
mov dword [ebp - 4], 1
call fcn.0040e50d
mov ecx, dword [ebp + 0xc]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025e7
mov eax, 0x3d32
jmp 0x41be16
neg eax
sbb eax, eax
and eax, 0xffffc2db
add eax, 0x3d32
push str.Upgrade_data_not_available
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x20], eax
call fcn.0040215a
mov dword [ebp - 4], ebx
call fcn.00429b48
push eax
lea ecx, [ebp - 0x24]
call fcn.0040fc71
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 3
push 4
push dword [ebp + 0xc]
call fcn.00428a06
mov esi, dword [ebp - 0x24]
add esp, 0xc
cmp dword [esi - 0xc], edi
jne 0x41bbbd
push str.:_Upgrade_ID
lea ecx, [ebp + 0xc]
call fcn.0040215a
push edi
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
mov byte [ebp - 4], 4
call fcn.0040e087
mov ecx, dword [ebp + 0xc]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025e7
jmp 0x41be00
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
push str.SELECT__FROM__UpgradeEx__WHERE__Upgrade_
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.0040215a
mov byte [ebp - 4], 7
push dword [esi - 0xc]
lea ecx, [ebp - 0x1c]
push esi
call fcn.00401f90
push 0x473a40
lea eax, [ebp - 0x1c]
push eax
call fcn.0040cf56
cmp dword [ebp - 0x14], edi
je 0x41bbff
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 0x1c]
mov dword [ebp - 0x14], edi
push eax
call sub.msi.dll_MsiEnumClientsA
test eax, eax
jne 0x41bdcd
push edi
push dword [ebp - 0x14]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x41bdcd
cmp dword [ebp - 0x10], edi
je 0x41bc3b
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x10], edi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x41bdcd
call fcn.00429b48
push eax
lea ecx, [ebp + 8]
call fcn.0040fc71
mov byte [ebp - 4], 8
call fcn.00429b48
push eax
lea ecx, [ebp + 0xc]
call fcn.0040fc71
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], 9
push ebx
push dword [ebp - 0x10]
call fcn.00428a06
add esp, 0xc
test eax, eax
je 0x41bcd3
push str.:_URL
lea ecx, [ebp - 0x28]
call fcn.0040215a
push edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
mov byte [ebp - 4], 0xa
call fcn.0040e087
mov ecx, dword [ebp - 0x28]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025e7
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004025e7
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025e7
jmp 0x41bddb
lea eax, [ebp + 0xc]
push eax
push 3
push dword [ebp - 0x10]
call fcn.00428a06
add esp, 0xc
test eax, eax
je 0x41bd72
push str.:_Upgrade_Match
lea ecx, [ebp - 0x28]
call fcn.0040215a
push edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
mov byte [ebp - 4], 0xb
call fcn.0040e087
mov ecx, dword [ebp - 0x28]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025e7
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004025e7
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025e7
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025e7
cmp dword [ebp - 0x10], edi
je 0x41bd48
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x14], edi
je 0x41bd55
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov edi, dword [ebp - 0x20]
lea ecx, [esi - 0x10]
call fcn.004025e7
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004025e7
mov eax, edi
jmp 0x41be16
lea ebx, [ebp + 0xc]
mov ecx, 0x48b904
call fcn.00423c1b
lea eax, [ebp + 8]
push eax
call fcn.00406f40
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
test eax, eax
je 0x41bcbe
call fcn.004025e7
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025e7
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025e7
cmp dword [ebp - 0x10], edi
je 0x41bdbe
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x14], edi
je 0x41bd58
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x41bd58
push edi
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.0040e50d
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025e7
cmp dword [ebp - 0x10], edi
je 0x41bdf3
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x14], edi
je 0x41be00
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea ecx, [esi - 0x10]
call fcn.004025e7
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004025e7
mov eax, dword [ebp - 0x20]
call fcn.0043cfe2
ret 8