Function at 0x41addb
Capabilities:
Reference sql statements

Disassembly:
push 0x1c
mov eax, 0x4557ef
call fcn.0043bf0a
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.0040e5e0
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025dc
mov eax, dword [0x48a504]
mov dword [ebp - 0x28], eax
mov esi, 0x48aabc
mov eax, esi
call fcn.0040522b
mov dword [ebp - 0x20], eax
mov eax, esi
call fcn.0040525c
cmp dword [ebp - 0x28], edi
je 0x41ae41
cmp dword [ebp - 0x20], edi
je 0x41ae4a
cmp dword [ebp - 0x20], edi
je 0x41ae81
cmp eax, edi
jne 0x41ae81
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.0040e5e0
mov ecx, dword [ebp + 0xc]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025dc
mov eax, 0x3d32
jmp 0x41b159
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.00428b72
push eax
lea ecx, [ebp - 0x24]
call fcn.0040fd20
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 3
push 4
push dword [ebp + 0xc]
call fcn.00427a0f
mov esi, dword [ebp - 0x24]
add esp, 0xc
cmp dword [esi - 0xc], edi
jne 0x41af00
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.0040e15a
mov ecx, dword [ebp + 0xc]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025dc
jmp 0x41b143
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 0x472600
lea eax, [ebp - 0x1c]
push eax
call fcn.0040d029
cmp dword [ebp - 0x14], edi
je 0x41af42
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 0x41b110
push edi
push dword [ebp - 0x14]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x41b110
cmp dword [ebp - 0x10], edi
je 0x41af7e
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 0x41b110
call fcn.00428b72
push eax
lea ecx, [ebp + 8]
call fcn.0040fd20
mov byte [ebp - 4], 8
call fcn.00428b72
push eax
lea ecx, [ebp + 0xc]
call fcn.0040fd20
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], 9
push ebx
push dword [ebp - 0x10]
call fcn.00427a0f
add esp, 0xc
test eax, eax
je 0x41b016
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.0040e15a
mov ecx, dword [ebp - 0x28]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025dc
jmp 0x41b11e
lea eax, [ebp + 0xc]
push eax
push 3
push dword [ebp - 0x10]
call fcn.00427a0f
add esp, 0xc
test eax, eax
je 0x41b0b5
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.0040e15a
mov ecx, dword [ebp - 0x28]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025dc
cmp dword [ebp - 0x10], edi
je 0x41b08b
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x14], edi
je 0x41b098
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov edi, dword [ebp - 0x20]
lea ecx, [esi - 0x10]
call fcn.004025dc
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004025dc
mov eax, edi
jmp 0x41b159
lea ebx, [ebp + 0xc]
mov ecx, 0x48a904
call fcn.00422f10
lea eax, [ebp + 8]
push eax
call fcn.00406f3e
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
test eax, eax
je 0x41b001
call fcn.004025dc
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025dc
cmp dword [ebp - 0x10], edi
je 0x41b101
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x14], edi
je 0x41b09b
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x41b09b
push edi
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.0040e5e0
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025dc
cmp dword [ebp - 0x10], edi
je 0x41b136
push dword [ebp - 0x10]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x14], edi
je 0x41b143
push dword [ebp - 0x14]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea ecx, [esi - 0x10]
call fcn.004025dc
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004025dc
mov eax, dword [ebp - 0x20]
call fcn.0043bfe2
ret 8