Function at 0x417be1
Capabilities:
Reference sql statements

Disassembly:
push 0x270
mov eax, 0x46d9da
call fcn.00452f1d
mov edi, dword [0x4b77e0]
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x234], edi
cmp edi, esi
jne 0x417c48
push str.Null_pArmUpdate
lea ecx, [ebp - 0x234]
call fcn.004012e2
push esi
lea eax, [ebp - 0x234]
push eax
push 2
mov dword [ebp - 4], esi
call fcn.00411806
mov ecx, dword [ebp - 0x234]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004017df
xor eax, eax
call fcn.00452fa0
ret 4
push eax
lea ecx, [ebp - 0x228]
call fcn.00401326
push 0x5c
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 1
call fcn.00408b57
cmp eax, 0xffffffff
je 0x417cb0
mov ecx, dword [ebp - 0x228]
mov ecx, dword [ecx - 0xc]
dec ecx
cmp eax, ecx
jne 0x417cb0
push eax
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x228]
call fcn.0040741a
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 2
call fcn.004077b3
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.004017df
push 0x478b68
lea ecx, [ebp - 0x228]
call fcn.00407601
lea ecx, [ebp - 0x27c]
call fcn.00441962
push esi
mov byte [ebp - 4], 3
push dword [ebp - 0x228]
lea ecx, [ebp - 0x27c]
call fcn.004419fa
cmp eax, esi
je 0x4180f6
lea ecx, [ebp - 0x27c]
call fcn.004416f7
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x25c], eax
call fcn.00441923
test eax, eax
jne 0x4180ea
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00441c27
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x27c]
push 0x10
lea ecx, [ebp - 0x27c]
call dword [eax + 0x38]
test eax, eax
je 0x417d85
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x21c]
push eax
call fcn.00417be1
test eax, eax
je 0x4180d8
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004017df
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 1
call fcn.0044198b
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004017df
xor eax, eax
inc eax
jmp 0x417c40
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00441cb8
lea ecx, [edi + 4]
push ecx
push eax
call fcn.004074bc
pop ecx
pop ecx
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
mov bl, al
call fcn.004017df
test bl, bl
je 0x4180d8
push str.Start_validating:
lea ecx, [ebp - 0x248]
call fcn.004012e2
push esi
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x248]
push eax
push 2
pop ebx
push ebx
mov byte [ebp - 4], 5
call fcn.00411336
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x248]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
push str.__will_not_use_existing_ARM_update_file
lea ecx, [ebp - 0x224]
call fcn.004012e2
lea eax, [ebp - 0x238]
push eax
mov byte [ebp - 4], 7
push esi
push dword [ebp - 0x21c]
mov dword [ebp - 0x238], esi
call sub.msi.dll_MsiOpenProductW
cmp eax, esi
je 0x417e6c
push str.failed_to_open_db
lea ecx, [ebp - 0x24c]
call fcn.004012e2
push esi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x24c]
push eax
push ebx
mov byte [ebp - 4], 8
call fcn.00411336
mov ecx, dword [ebp - 0x24c]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
jmp 0x4180b7
call fcn.0043f3c0
push eax
lea ecx, [ebp - 0x23c]
call fcn.004013a1
mov dword [ebp - 0x220], esi
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 0xb
push str.SELECT_Version_FROM_File_WHERE_FileNameAdobeARM.exe
push dword [ebp - 0x238]
mov dword [ebp - 0x22c], esi
call sub.msi.dll_MsiEnumClientsA
mov edi, eax
cmp edi, esi
je 0x417ede
push str.failed_to_open_view
lea ecx, [ebp - 0x240]
call fcn.004012e2
push edi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x240]
push eax
push ebx
mov byte [ebp - 4], 0xc
call fcn.00411336
mov ecx, dword [ebp - 0x240]
jmp 0x418019
push esi
push dword [ebp - 0x22c]
call sub.msi.dll_MsiViewModify
mov edi, eax
cmp edi, esi
je 0x417f24
push str.failed_to_execute_view
lea ecx, [ebp - 0x254]
call fcn.004012e2
push edi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x254]
push eax
push ebx
mov byte [ebp - 4], 0xd
call fcn.00411336
mov ecx, dword [ebp - 0x254]
jmp 0x418019
cmp dword [ebp - 0x220], esi
je 0x417f37
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x22c]
mov dword [ebp - 0x220], esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
mov edi, eax
cmp edi, esi
je 0x417f89
push str.failed_to_fetch_view
lea ecx, [ebp - 0x250]
call fcn.004012e2
push edi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x250]
push eax
push ebx
mov byte [ebp - 4], 0xe
call fcn.00411336
mov ecx, dword [ebp - 0x250]
jmp 0x418019
mov eax, 0x104
push eax
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.00450cb0
add esp, 0xc
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push dword [ebp - 0x220]
call sub.msi.dll_MsiRecordSetStreamA
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x23c]
call fcn.00401356
mov edi, dword [ebp - 0x234]
push dword [edi + 0x20]
lea ecx, [ebp - 0x23c]
call fcn.004074fe
test eax, eax
je 0x418026
push str.versions_do_not_match
lea ecx, [ebp - 0x244]
call fcn.004012e2
push esi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x244]
push eax
push ebx
mov byte [ebp - 4], 0xf
call fcn.00411336
mov ecx, dword [ebp - 0x244]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
jmp 0x41807d
mov ebx, dword [edi + 0x24]
mov edi, dword [edi + 0x14]
mov esi, dword [ebp - 0x21c]
call fcn.00421f01
test eax, eax
je 0x418106
push str.not_valid_signature
lea ecx, [ebp - 0x230]
call fcn.004012e2
push 0
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x230]
push eax
push 2
mov byte [ebp - 4], 0x11
call fcn.00411336
mov ecx, dword [ebp - 0x230]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
xor esi, esi
cmp dword [ebp - 0x220], esi
je 0x418090
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x22c], esi
je 0x4180a3
push dword [ebp - 0x22c]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.004017df
mov edi, dword [ebp - 0x234]
cmp dword [ebp - 0x238], esi
je 0x4180ca
push dword [ebp - 0x238]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.004017df
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004017df
cmp dword [ebp - 0x25c], esi
jne 0x417ce9
lea ecx, [ebp - 0x27c]
call fcn.00441611
jmp 0x4181c1
mov eax, dword [ebp - 0x234]
xor esi, esi
inc esi
mov dword [eax + 0x18], esi
lea ecx, [eax + 8]
lea eax, [ebp - 0x21c]
push eax
call fcn.004077b3
push str.will_use_found_valid_ARM_update_file:
lea ecx, [ebp - 0x230]
call fcn.004012e2
xor edi, edi
push edi
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x230]
push eax
push 2
mov byte [ebp - 4], 0x10
call fcn.00411336
mov ecx, dword [ebp - 0x230]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
cmp dword [ebp - 0x220], edi
je 0x418171
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x22c], edi
je 0x418184
push dword [ebp - 0x22c]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.004017df
cmp dword [ebp - 0x238], edi
je 0x4181a5
push dword [ebp - 0x238]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.004017df
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004017df
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 1
call fcn.0044198b
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004017df
mov eax, esi
jmp 0x417c40