Function at 0x41f10f
Capabilities:
Reference sql statements

Disassembly:
push 0x278
mov eax, 0x4acfd1
call fcn.00469d7c
mov dword [ebp - 0x25c], ecx
mov eax, dword [0x515f88]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x250], eax
test eax, eax
jne 0x41f170
push str.Null_pArmUpdate
lea ecx, [ebp - 0x22c]
call fcn.00402829
xor ebx, ebx
lea edx, [ebp - 0x22c]
push ebx
push 2
pop ecx
mov dword [ebp - 4], ebx
call fcn.00414da1
pop ecx
mov ecx, dword [ebp - 0x22c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
xor eax, eax
jmp 0x41f63c
mov eax, dword [edx]
sub eax, 0x10
push eax
call fcn.00402d9f
lea esi, [eax + 0x10]
mov dword [ebp - 0x238], esi
xor ebx, ebx
inc ebx
push 0x5c
push esi
mov dword [ebp - 0x258], ebx
mov dword [ebp - 4], ebx
call fcn.00482bc7
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x41f1e6
sub ecx, esi
sar ecx, 1
cmp ecx, 0xffffffff
je 0x41f1e6
mov eax, dword [esi - 0xc]
dec eax
cmp ecx, eax
jne 0x41f1e6
push ecx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x238]
call fcn.00409ba9
push eax
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 2
call fcn.00402e14
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push 0x4cdc0c
lea ecx, [ebp - 0x238]
call fcn.0040259d
lea ecx, [ebp - 0x284]
call fcn.00452983
xor ebx, ebx
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x238]
lea ecx, [ebp - 0x284]
push ebx
push esi
call fcn.00452b70
test eax, eax
je 0x41f612
lea ecx, [ebp - 0x284]
call fcn.00452d20
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x268], eax
call fcn.00453110
test eax, eax
jne 0x41f605
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x284]
call fcn.00452e30
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x284]
push 0x10
mov edi, dword [eax + 0x38]
mov ecx, edi
call dword [0x4b77e4]
lea ecx, [ebp - 0x284]
call edi
test eax, eax
je 0x41f29a
mov ecx, dword [ebp - 0x25c]
lea eax, [ebp - 0x220]
push eax
call fcn.0041f10f
test eax, eax
jne 0x41f6ef
jmp 0x41f5f3
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x284]
call fcn.00452de0
mov ecx, dword [ebp - 0x250]
mov byte [ebp - 4], 5
push dword [ecx + 4]
mov ecx, eax
call fcn.00409f0b
mov byte [ebp - 4], 4
mov edi, eax
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
call fcn.00402e64
test edi, edi
jne 0x41f5f3
push str.Start_validating:
lea ecx, [ebp - 0x23c]
call fcn.00402829
push ebx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 6
push eax
push 2
lea edx, [ebp - 0x23c]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.__will_not_use_existing_ARM_update_file
lea ecx, [ebp - 0x224]
call fcn.00402829
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 8
push eax
push ebx
push dword [ebp - 0x220]
mov dword [ebp - 0x234], ebx
call dword [sym.imp.msi.dll_MsiOpenProductW]
test eax, eax
je 0x41f383
push str.failed_to_open_db
lea ecx, [ebp - 0x240]
call fcn.00402829
push ebx
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 9
push eax
push 2
lea edx, [ebp - 0x240]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x240]
jmp 0x41f5c8
call fcn.0044ff01
push eax
lea ecx, [ebp - 0x22c]
call fcn.00402899
mov dword [ebp - 0x21c], ebx
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xc
push eax
push str.SELECT_Version_FROM_File_WHERE_FileNameAdobeARM.exe
push dword [ebp - 0x234]
mov dword [ebp - 0x228], ebx
call dword [sym.imp.msi.dll_MsiEnumClientsA]
mov edi, eax
test edi, edi
je 0x41f3f9
push str.failed_to_open_view
lea ecx, [ebp - 0x244]
call fcn.00402829
push edi
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0xd
push eax
push 2
lea edx, [ebp - 0x244]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x244]
jmp 0x41f590
push ebx
push dword [ebp - 0x228]
call dword [sym.imp.msi.dll_MsiViewModify]
mov edi, eax
test edi, edi
je 0x41f443
push str.failed_to_execute_view
lea ecx, [ebp - 0x248]
call fcn.00402829
push edi
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0xe
push eax
push 2
lea edx, [ebp - 0x248]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x248]
jmp 0x41f590
cmp dword [ebp - 0x21c], 0
je 0x41f458
push dword [ebp - 0x21c]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x21c], ebx
push eax
push dword [ebp - 0x228]
call dword [sym.imp.msi.dll_MsiDatabaseIsTablePersistentA]
mov edi, eax
test edi, edi
je 0x41f4ae
push str.failed_to_fetch_view
lea ecx, [ebp - 0x24c]
call fcn.00402829
push edi
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0xf
push eax
push 2
lea edx, [ebp - 0x24c]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x24c]
jmp 0x41f590
mov eax, 0x104
push eax
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.004821b0
add esp, 0xc
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push dword [ebp - 0x21c]
call dword [sym.imp.msi.dll_MsiRecordSetStreamA]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x22c]
call fcn.0040286d
mov edi, dword [ebp - 0x250]
lea ecx, [ebp - 0x22c]
push dword [edi + 0x4c]
call fcn.00409f0b
test eax, eax
je 0x41f544
push str.versions_do_not_match
lea ecx, [ebp - 0x254]
call fcn.00402829
push ebx
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0x10
push eax
push 2
lea edx, [ebp - 0x254]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x254]
jmp 0x41f590
push dword [edi + 0x50]
mov edx, dword [edi + 0x14]
mov ecx, dword [ebp - 0x220]
call fcn.0042f307
pop ecx
test eax, eax
je 0x41f644
push str.not_valid_signature
lea ecx, [ebp - 0x230]
call fcn.00402829
push ebx
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0x12
push eax
push 2
lea edx, [ebp - 0x230]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0x21c], 0
je 0x41f5ad
push dword [ebp - 0x21c]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
cmp dword [ebp - 0x228], 0
je 0x41f5c2
push dword [ebp - 0x228]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
mov ecx, dword [ebp - 0x22c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0x234], 0
je 0x41f5e5
push dword [ebp - 0x234]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0x268], 0
jne 0x41f222
lea ecx, [ebp - 0x284]
call fcn.00452b10
mov dword [ebp - 0x258], ebx
lea ecx, [ebp - 0x284]
call fcn.00452a89
lea ecx, [esi - 0x10]
call fcn.00402e64
mov eax, dword [ebp - 0x258]
call fcn.00469d26
ret 4
lea eax, [ebp - 0x220]
mov dword [edi + 0x18], 1
lea ecx, [edi + 8]
push eax
call fcn.00402e14
push str.will_use_found_valid_ARM_update_file:
lea ecx, [ebp - 0x230]
call fcn.00402829
push ebx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0x11
push eax
push 2
lea edx, [ebp - 0x230]
pop ecx
call fcn.00414670
pop ecx
pop ecx
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0x21c], 0
je 0x41f6a9
push dword [ebp - 0x21c]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
cmp dword [ebp - 0x228], 0
je 0x41f6be
push dword [ebp - 0x228]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
mov ecx, dword [ebp - 0x22c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0x234], 0
je 0x41f6e1
push dword [ebp - 0x234]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.00402e64
jmp 0x41f623