Function at 0x45c810
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60e0b7
mov eax, dword fs:[0]
push eax
sub esp, 0x8ec
mov eax, dword [0x69f000]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x858], ecx
call fcn.00408570
mov edx, dword [eax + 0xf4]
add eax, 0xf4
push str.WorkflowManager::launchReaderApplication_begin
push eax
call dword [edx + 0x10]
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.005d5480
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x834], 0x104
push 0
push eax
call fcn.005d5480
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.005d5480
mov edi, dword [ebp + 8]
add esp, 0x2c
xor ecx, ecx
mov dword [ebp - 0x854], str.A6EADE66_0000_0000_484E_7E8A45000000
mov dword [ebp - 0x844], ecx
nop word [eax + eax]
xor esi, esi
mov dword [ebp - 0x850], esi
nop dword [eax + eax]
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.005d5480
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
mov eax, dword [ebp - 0x844]
push esi
push 0
push dword [ebp + eax*4 - 0x854]
call dword [sym.imp.msi.dll_MsiSourceListClearAllW]
mov dword [ebp - 0x84c], eax
test eax, eax
jne 0x45ce78
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
test eax, eax
je 0x45ce72
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x628]
push eax
push str.VersionString
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.msi.dll_MsiGetPropertyW]
test eax, eax
jne 0x45cea6
call fcn.00408570
cmp dword [eax + 0x3c4], 8
lea edx, [eax + 0x3b0]
jb 0x45c964
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x8b8], 0
xorps xmm0, xmm0
mov dword [ebp - 0x8b4], 0
movups xmmword [ebp - 0x8c8], xmm0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45c987
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x8c8]
call fcn.0040c3f0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x8a0]
lea ecx, [ebp - 0x8c8]
call fcn.00463360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c8]
call fcn.0040bd90
xorps xmm0, xmm0
mov dword [ebp - 0x8d0], 0
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x8cc], 0
movups xmmword [ebp - 0x8e0], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45c9f4
sub ecx, edx
lea eax, [ebp - 0x628]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0040c3f0
mov dword [ebp - 4], 1
lea edx, [ebp - 0x8b0]
lea ecx, [ebp - 0x8e0]
call fcn.00463360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8e0]
call fcn.0040bd90
mov eax, dword [ebp - 0x8a0]
cmp eax, dword [ebp - 0x8b0]
jge 0x45ca53
or esi, 0xffffffff
jmp 0x45caa6
jg 0x45cea6
mov eax, dword [ebp - 0x89c]
cmp eax, dword [ebp - 0x8ac]
jge 0x45ca6c
or esi, 0xffffffff
jmp 0x45caa6
jg 0x45cea6
mov eax, dword [ebp - 0x898]
cmp eax, dword [ebp - 0x8a8]
jge 0x45ca85
or esi, 0xffffffff
jmp 0x45caa6
jg 0x45cea6
mov eax, dword [ebp - 0x894]
cmp eax, dword [ebp - 0x8a4]
jge 0x45ca9e
or esi, 0xffffffff
jmp 0x45caa6
jg 0x45cea6
xor esi, esi
lea eax, [ebp - 0x834]
mov dword [ebp - 0x834], 0x104
push eax
lea eax, [ebp - 0x218]
push eax
push str.InstallLocation
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.msi.dll_MsiGetPropertyW]
mov dword [ebp - 0x860], eax
call fcn.00408570
mov ecx, dword [eax + 0xf4]
lea edx, [ebp - 0x218]
add eax, 0xf4
push edx
push eax
call dword [ecx + 4]
add esp, 8
test esi, esi
jne 0x45cb97
mov ecx, dword [ebp + 8]
mov esi, ecx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x848], eax
cmp eax, 8
jb 0x45cb11
mov esi, dword [ecx]
mov edi, dword [ecx + 0x10]
cmp edi, 0x12
jne 0x45cb43
mov ecx, str.AdobeAcrobatReader
mov edx, edi
sub esi, ecx
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x45cb3a
add ecx, 2
sub edx, 1
jne 0x45cb22
mov eax, str.ReaderAcroRd32.exe
jmp 0x45cb7d
mov eax, dword [ebp - 0x848]
mov ecx, dword [ebp + 8]
mov esi, ecx
cmp eax, 8
jb 0x45cb4c
mov esi, dword [ecx]
cmp edi, 0x15
jne 0x45cb78
mov ecx, str.AdobeAcrobatReaderAPP
mov edx, edi
sub esi, ecx
nop word [eax + eax]
mov ax, word [ecx + esi]
cmp ax, word [ecx]
jne 0x45cb78
add ecx, 2
sub edx, 1
jne 0x45cb60
mov eax, str.ReaderAcroRd32.exe
jmp 0x45cb7d
mov eax, str.AcroRd32.exe
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.005d847b
mov edi, dword [ebp + 8]
jmp 0x45cccc
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push 0x104
push eax
call fcn.005d894d
add esp, 0xc
mov esi, edi
cmp dword [edi + 0x14], 8
jb 0x45cbbc
mov esi, dword [edi]
cmp dword [edi + 0x10], 0xb
jne 0x45ccb6
mov eax, str.AdobeReader
mov edx, 0xb
sub esi, eax
mov cx, word [esi + eax]
cmp cx, word [eax]
jne 0x45ccb6
add eax, 2
sub edx, 1
jne 0x45cbd2
push str.ReaderAcroRd32.exe
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.005d847b
xorps xmm0, xmm0
mov dword [ebp - 0x880], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x87c], 0
add esp, 0xc
lea edx, [ecx + 2]
movups xmmword [ebp - 0x890], xmm0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45cc27
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x890]
call fcn.0040c3f0
mov dword [ebp - 4], 2
lea eax, [ebp - 0x890]
cmp dword [ebp - 0x87c], 8
cmovae eax, dword [ebp - 0x890]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x890]
call fcn.0040bd90
test esi, esi
jne 0x45cccf
push str.AcroRd32.exe
lea eax, [ebp - 0x830]
push 0x104
push eax
call fcn.005d847b
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.005d894d
add esp, 0x18
jmp 0x45cccf
push str.ReaderAcroRd32.exe
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.005d847b
add esp, 0xc
mov ecx, dword [ebp - 0x858]
lea edx, [ebp - 0x218]
push edx
push str.WorkflowManager.launchReader_for_Reader_Product_Path_is_:_s
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x838], 0
movq qword [ebp - 0x840], xmm0
add esp, 0xc
mov dword [ebp - 0x85c], 0
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x878]
push 0
push 0x65fe6c
movups xmmword [ebp - 0x878], xmm0
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 0
call fcn.0040c3f0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x83c]
cmp eax, dword [ebp - 0x838]
je 0x45cdb4
movups xmm0, xmmword [ebp - 0x878]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x868]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x83c], 0x18
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 7
mov word [ebp - 0x878], ax
jmp 0x45cdc7
lea ecx, [ebp - 0x878]
push ecx
push eax
lea ecx, [ebp - 0x840]
call fcn.004315b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x878]
call fcn.0040bd90
xorps xmm0, xmm0
mov dword [ebp - 0x8e8], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e4], 0
movups xmmword [ebp - 0x8f8], xmm0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45ce00
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x8f8]
call fcn.0040c3f0
mov byte [ebp - 4], 5
sub esp, 0xc
lea eax, [ebp - 0x848]
push eax
push ecx
lea eax, [ebp - 0x85c]
push eax
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x8f8]
push eax
call fcn.0045dd70
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8f8]
call fcn.0040bd90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x840]
call fcn.0040bcd0
mov esi, dword [ebp - 0x850]
mov eax, dword [ebp - 0x84c]
inc esi
mov dword [ebp - 0x850], esi
test eax, eax
je 0x45c8d0
mov ecx, dword [ebp - 0x844]
inc ecx
mov dword [ebp - 0x844], ecx
cmp ecx, 1
jb 0x45c8c0
cmp dword [ebp - 0x860], 0
je 0x45ceaa
xor al, al
jmp 0x45cec8
call fcn.00408570
mov ecx, dword [eax + 0xf4]
add eax, 0xf4
push str.WorkflowManager::launchReader_Application_end
push eax
call dword [ecx + 0x10]
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005d077b
mov esp, ebp
pop ebp
ret 4