Function at 0x41ceb1
Capabilities:
Reference sql statements

Disassembly:
push 0x270
mov eax, 0x4775c4
call fcn.0045bedd
mov edi, dword [0x4c47f0]
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x234], edi
cmp edi, esi
jne 0x41cf18
push str.Null_pArmUpdate
lea ecx, [ebp - 0x234]
call fcn.004020a6
push esi
lea eax, [ebp - 0x234]
push eax
push 2
mov dword [ebp - 4], esi
call fcn.004152d1
mov ecx, dword [ebp - 0x234]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025d2
xor eax, eax
call fcn.0045bf60
ret 4
push eax
lea ecx, [ebp - 0x228]
call fcn.004020ea
push 0x5c
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 1
call fcn.0040c420
cmp eax, 0xffffffff
je 0x41cf80
mov ecx, dword [ebp - 0x228]
mov ecx, dword [ecx - 0xc]
dec ecx
cmp eax, ecx
jne 0x41cf80
push eax
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x228]
call fcn.0040ad78
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 2
call fcn.00402573
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.004025d2
push 0x483280
lea ecx, [ebp - 0x228]
call fcn.0040af5f
lea ecx, [ebp - 0x27c]
call fcn.0044a7fe
push esi
mov byte [ebp - 4], 3
push dword [ebp - 0x228]
lea ecx, [ebp - 0x27c]
call fcn.0044a896
cmp eax, esi
je 0x41d3c6
lea ecx, [ebp - 0x27c]
call fcn.0044a593
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x25c], eax
call fcn.0044a7bf
test eax, eax
jne 0x41d3ba
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0044aac3
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x27c]
push 0x10
lea ecx, [ebp - 0x27c]
call dword [eax + 0x38]
test eax, eax
je 0x41d055
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x21c]
push eax
call fcn.0041ceb1
test eax, eax
je 0x41d3a8
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004025d2
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 1
call fcn.0044a827
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004025d2
xor eax, eax
inc eax
jmp 0x41cf10
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0044ab54
lea ecx, [edi + 4]
push ecx
push eax
call fcn.0040ae1a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
mov bl, al
call fcn.004025d2
test bl, bl
je 0x41d3a8
push str.Start_validating:
lea ecx, [ebp - 0x248]
call fcn.004020a6
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.00414e01
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x248]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
push str.__will_not_use_existing_ARM_update_file
lea ecx, [ebp - 0x224]
call fcn.004020a6
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 0x41d13c
push str.failed_to_open_db
lea ecx, [ebp - 0x24c]
call fcn.004020a6
push esi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x24c]
push eax
push ebx
mov byte [ebp - 4], 8
call fcn.00414e01
mov ecx, dword [ebp - 0x24c]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
jmp 0x41d387
call fcn.0044825c
push eax
lea ecx, [ebp - 0x23c]
call fcn.0041872d
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 0x41d1ae
push str.failed_to_open_view
lea ecx, [ebp - 0x240]
call fcn.004020a6
push edi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x240]
push eax
push ebx
mov byte [ebp - 4], 0xc
call fcn.00414e01
mov ecx, dword [ebp - 0x240]
jmp 0x41d2e9
push esi
push dword [ebp - 0x22c]
call sub.msi.dll_MsiViewModify
mov edi, eax
cmp edi, esi
je 0x41d1f4
push str.failed_to_execute_view
lea ecx, [ebp - 0x254]
call fcn.004020a6
push edi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x254]
push eax
push ebx
mov byte [ebp - 4], 0xd
call fcn.00414e01
mov ecx, dword [ebp - 0x254]
jmp 0x41d2e9
cmp dword [ebp - 0x220], esi
je 0x41d207
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 0x41d259
push str.failed_to_fetch_view
lea ecx, [ebp - 0x250]
call fcn.004020a6
push edi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x250]
push eax
push ebx
mov byte [ebp - 4], 0xe
call fcn.00414e01
mov ecx, dword [ebp - 0x250]
jmp 0x41d2e9
mov eax, 0x104
push eax
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.00459cf0
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.0040211a
mov edi, dword [ebp - 0x234]
push dword [edi + 0x38]
lea ecx, [ebp - 0x23c]
call fcn.0040ae5c
test eax, eax
je 0x41d2f6
push str.versions_do_not_match
lea ecx, [ebp - 0x244]
call fcn.004020a6
push esi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x244]
push eax
push ebx
mov byte [ebp - 4], 0xf
call fcn.00414e01
mov ecx, dword [ebp - 0x244]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
jmp 0x41d34d
mov ebx, dword [edi + 0x3c]
mov edi, dword [edi + 0x14]
mov esi, dword [ebp - 0x21c]
call fcn.004289ab
test eax, eax
je 0x41d3d6
push str.not_valid_signature
lea ecx, [ebp - 0x230]
call fcn.004020a6
push 0
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x230]
push eax
push 2
mov byte [ebp - 4], 0x11
call fcn.00414e01
mov ecx, dword [ebp - 0x230]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
xor esi, esi
cmp dword [ebp - 0x220], esi
je 0x41d360
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x22c], esi
je 0x41d373
push dword [ebp - 0x22c]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.004025d2
mov edi, dword [ebp - 0x234]
cmp dword [ebp - 0x238], esi
je 0x41d39a
push dword [ebp - 0x238]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.004025d2
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004025d2
cmp dword [ebp - 0x25c], esi
jne 0x41cfb9
lea ecx, [ebp - 0x27c]
call fcn.0044a4ad
jmp 0x41d491
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.00402573
push str.will_use_found_valid_ARM_update_file:
lea ecx, [ebp - 0x230]
call fcn.004020a6
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.00414e01
mov ecx, dword [ebp - 0x230]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
cmp dword [ebp - 0x220], edi
je 0x41d441
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x22c], edi
je 0x41d454
push dword [ebp - 0x22c]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.004025d2
cmp dword [ebp - 0x238], edi
je 0x41d475
push dword [ebp - 0x238]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.004025d2
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
call fcn.004025d2
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 1
call fcn.0044a827
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004025d2
mov eax, esi
jmp 0x41cf10