Function at 0x417b78
Capabilities:
Reference sql statements

Disassembly:
push 0x270
mov eax, 0x46d447
call fcn.00452a2d
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 0x417bdf
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.004117b0
mov ecx, dword [ebp - 0x234]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004017df
xor eax, eax
call fcn.00452ab0
ret 4
push eax
lea ecx, [ebp - 0x228]
call fcn.00401326
push 0x5c
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 1
call fcn.00408b0c
cmp eax, 0xffffffff
je 0x417c47
mov ecx, dword [ebp - 0x228]
mov ecx, dword [ecx - 0xc]
dec ecx
cmp eax, ecx
jne 0x417c47
push eax
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x228]
call main
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 2
call fcn.00407768
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.004017df
push 0x478b48
lea ecx, [ebp - 0x228]
call fcn.004075b6
lea ecx, [ebp - 0x27c]
call fcn.00441464
push esi
mov byte [ebp - 4], 3
push dword [ebp - 0x228]
lea ecx, [ebp - 0x27c]
call main
cmp eax, esi
je 0x41808d
lea ecx, [ebp - 0x27c]
call fcn.004411f9
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x25c], eax
call fcn.00441425
test eax, eax
jne 0x418081
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00441729
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x27c]
push 0x10
lea ecx, [ebp - 0x27c]
call dword [eax + 0x38]
test eax, eax
je 0x417d1c
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x21c]
push eax
call fcn.00417b78
test eax, eax
je 0x41806f
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004017df
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 1
call fcn.0044148d
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004017df
xor eax, eax
inc eax
jmp 0x417bd7
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004417ba
lea ecx, [edi + 4]
push ecx
push eax
call fcn.00407471
pop ecx
pop ecx
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
mov bl, al
call fcn.004017df
test bl, bl
je 0x41806f
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.004112e0
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 0x417e03
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.004112e0
mov ecx, dword [ebp - 0x24c]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
jmp 0x41804e
call fcn.0043eec2
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 0x417e75
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.004112e0
mov ecx, dword [ebp - 0x240]
jmp 0x417fb0
push esi
push dword [ebp - 0x22c]
call sub.msi.dll_MsiViewModify
mov edi, eax
cmp edi, esi
je 0x417ebb
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.004112e0
mov ecx, dword [ebp - 0x254]
jmp 0x417fb0
cmp dword [ebp - 0x220], esi
je 0x417ece
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 0x417f20
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.004112e0
mov ecx, dword [ebp - 0x250]
jmp 0x417fb0
mov eax, 0x104
push eax
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.004507c0
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.004074b3
test eax, eax
je 0x417fbd
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.004112e0
mov ecx, dword [ebp - 0x244]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
jmp 0x418014
mov ebx, dword [edi + 0x24]
mov edi, dword [edi + 0x14]
mov esi, dword [ebp - 0x21c]
call main
test eax, eax
je 0x41809d
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.004112e0
mov ecx, dword [ebp - 0x230]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
xor esi, esi
cmp dword [ebp - 0x220], esi
je 0x418027
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x22c], esi
je 0x41803a
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 0x418061
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 0x417c80
lea ecx, [ebp - 0x27c]
call fcn.00441113
jmp 0x418158
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.00407768
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.004112e0
mov ecx, dword [ebp - 0x230]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004017df
cmp dword [ebp - 0x220], edi
je 0x418108
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x22c], edi
je 0x41811b
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 0x41813c
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.0044148d
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004017df
mov eax, esi
jmp 0x417bd7