Function at 0x1002dbf0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018023a
mov eax, dword fs:[0]
push eax
sub esp, 0x1f4
mov eax, dword [0x101e42fc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1f8], edx
mov ebx, ecx
call fcn.1000f0a0
test al, al
jne 0x1002dc51
push str.Error_Invalid_Library_reference._PIM_STATUS_INVALID_LIBRARY_REF_
push 0x101a55a8
call fcn.10002de0
push eax
call fcn.100037f0
add esp, 0xc
mov eax, 2
jmp 0x1002e4d1
mov ecx, dword [ebx + 0x58]
cmp dword [ecx + 0xb4], 0
jne 0x1002dc7f
push str._pimCheckDiskSpaceforUSF_valid_only_if_path_type_is_USF
push 0x101a55a8
call fcn.10002de0
push eax
call fcn.100037f0
add esp, 0xc
mov eax, 1
jmp 0x1002e4d1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
add ecx, 0xa4
mov dword [ebp - 4], 0
cmp dword [ecx + 0x14], 8
jb 0x1002dca6
mov ecx, dword [ecx]
push 0
lea edx, [ebp - 0x40]
call fcn.100e5460
add esp, 4
test al, al
jne 0x1002dcc6
mov edi, 1
mov esi, str.Error_in_converting_PIMString_for_acfPath_to_string
jmp 0x1002de61
push 7
push 0x101a5a54
lea ecx, [ebp - 0x40]
call fcn.1000a770
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1002de84
push 0x30
call fcn.1014d1eb
mov edi, eax
add esp, 4
mov dword [ebp - 0x1dc], edi
push 0x30
push 0
push edi
call fcn.10150b00
add esp, 0xc
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0xf
mov byte [edi + 8], 0
mov dword [edi], 0
mov word [edi + 4], 0
lea esi, [edi + 0x20]
mov byte [ebp - 4], 2
push 0xa4
mov dword [ebp - 0x1e4], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1014d1eb
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
lea esi, [edi + 0x28]
mov byte [ebp - 4], 3
push 0xd8
mov dword [ebp - 0x1e4], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1014d1eb
mov byte [ebp - 4], 0
sub esp, 0x14
mov ecx, esp
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, dword [ebx + 0x58]
mov dword [eax + 0xbc], edi
xor eax, eax
push eax
push 0x101a4aec
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.10001c20
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
mov ecx, dword [ebx + 0x58]
cmovae eax, dword [ebp - 0x40]
push 0
push eax
mov ecx, dword [ecx + 0xbc]
call fcn.10042420
mov ecx, dword [ebx + 0x58]
mov edi, dword [ecx + 0xbc]
test al, al
jne 0x1002de7a
test edi, edi
je 0x1002de4d
mov eax, dword [edi + 0x28]
lea esi, [edi + 0x28]
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.10019980
push 0xd8
push dword [esi]
call fcn.1014d535
mov eax, dword [edi + 0x20]
lea esi, [edi + 0x20]
add esp, 8
mov ecx, esi
push dword [eax + 4]
push esi
call fcn.100199d0
push 0xa4
push dword [esi]
call fcn.1014d535
add esp, 8
mov ecx, edi
call fcn.10042370
push 0x30
push edi
call fcn.1014d535
mov ecx, dword [ebx + 0x58]
add esp, 8
mov dword [ecx + 0xbc], 0
mov edi, 0x3d
mov esi, str.Failed_to_initialize_ACF_pim.db._Database_is_corrupted._Download_a_new_copy_of_Adobe_Application_Manager_from_http:__www.adobe.com_or_install_this_product_again.
call fcn.10002de0
push esi
push 0x101a55a8
push eax
call fcn.100037f0
add esp, 0xc
jmp 0x1002e49f
lea edx, [edi + 0x20]
mov ecx, edi
call fcn.1000f6f0
mov eax, dword [ebx + 0x58]
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov dword [eax + 0xc8], 0
mov dword [eax + 0xcc], 0
mov eax, dword [ebx + 0x58]
mov dword [eax + 0xd0], 0
mov dword [eax + 0xd4], 0
mov byte [ebp - 4], 4
mov eax, dword [ebx + 0x58]
mov esi, dword [eax + 0xbc]
test esi, esi
je 0x1002e07a
push 0x40
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
call fcn.1014d1eb
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x1e0], eax
push 0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 5
push 0x101a6910
push eax
call fcn.100413d0
add esp, 0xc
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 6
push eax
push ecx
push 0
push str.package_installation_info
push str._AND
push ecx
lea eax, [ebp - 0x1e0]
mov ecx, esi
push eax
call fcn.10046fa0
test al, al
je 0x1002dfdf
push 4
push 0x101a6910
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.100040c0
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x60]
call fcn.100418d0
test al, al
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x14]
sete al
mov byte [ebp - 0x1e5], al
cmp edx, 0x10
jb 0x1002dfdb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002dfcb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4ed
push edx
push ecx
call fcn.1014d535
mov al, byte [ebp - 0x1e5]
add esp, 8
test al, al
je 0x1002e03c
lea ecx, [ebp - 0x4c]
call fcn.10041a30
lea ecx, [ebp - 0x58]
call fcn.10019350
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1e0]
push dword [eax + 4]
lea eax, [ebp - 0x1e0]
push eax
mov ecx, eax
call fcn.10019a70
push 0x40
push dword [ebp - 0x1e0]
call fcn.1014d535
add esp, 8
push str.Failed_to_get_list_of_installed_packages_names_in_ACF_from_packageInfoMap
push 0x101a55a8
call fcn.10002de0
push eax
call fcn.100037f0
add esp, 0xc
mov edi, 0x3d
jmp 0x1002e494
lea ecx, [ebp - 0x4c]
call fcn.10041a30
lea ecx, [ebp - 0x58]
call fcn.10019350
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1e0]
push dword [eax + 4]
lea eax, [ebp - 0x1e0]
push eax
mov ecx, eax
call fcn.10019a70
push 0x40
push dword [ebp - 0x1e0]
call fcn.1014d535
mov eax, dword [ebx + 0x58]
add esp, 8
mov esi, dword [eax + 0x7c]
cmp esi, dword [eax + 0x80]
je 0x1002e145
nop dword [eax]
mov eax, dword [esi]
lea ecx, [ebp - 0x1e0]
push ecx
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1e4], eax
xorps xmm0, xmm0
mov edx, eax
push ecx
mov ecx, ebx
movlpd qword [ebp - 0x1e0], xmm0
call fcn.1002d180
mov edi, eax
add esp, 8
test edi, edi
jne 0x1002e494
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebp - 0x1e0]
add dword [eax + 0xc8], ecx
mov ecx, dword [ebp - 0x1dc]
adc dword [eax + 0xcc], ecx
call fcn.10002de0
mov ecx, dword [ebp - 0x1e4]
mov edx, eax
add ecx, 4
cmp dword [ecx + 0x14], 0x10
jb 0x1002e0fa
mov ecx, dword [ecx]
mov eax, dword [ebx + 0x58]
mov edi, dword [edx]
push dword [eax + 0xcc]
mov edi, dword [edi + 0x40]
push dword [eax + 0xc8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push ecx
push str.Inside__checkIMergeDiskSpaceForInstallation__package__s_::_Size__lld_::_Total_Size:_lld
push 0x101a55a8
push edx
mov ecx, edi
call dword [0x1018a4d4]
call edi
mov eax, dword [ebx + 0x58]
add esi, 4
add esp, 0x20
cmp esi, dword [eax + 0x80]
jne 0x1002e090
cmp dword [eax + 0xbc], 0
je 0x1002e3e2
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea ecx, [eax + 0xa4]
mov byte [ebp - 4], 8
cmp dword [ecx + 0x14], 8
jb 0x1002e176
mov ecx, dword [ecx]
push 0
lea edx, [ebp - 0x28]
call fcn.100e5460
add esp, 4
test al, al
jne 0x1002e1dd
push str.Error_in_converting_PIMString_for_acfPath_to_string
push 0x101a55a8
call fcn.10002de0
push eax
call fcn.100037f0
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp edx, 0x10
jb 0x1002e1d3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e1c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4f2
push edx
push ecx
call fcn.1014d535
add esp, 8
mov edi, 1
jmp 0x1002e494
mov ecx, dword [ebp - 0x1f0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x1f4]
sub ecx, esi
imul ecx
mov dword [ebp - 0x1e4], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1dc], eax
je 0x1002e393
mov edi, esi
call fcn.10002de0
cmp dword [edi + 0x14], 0x10
mov ecx, edi
jb 0x1002e223
mov ecx, dword [edi]
mov esi, dword [eax]
push ecx
push str.Inside__checkIMergeDiskSpaceForInstallation__Package_Name:__s
push 0x101a55a8
mov esi, dword [esi + 0x40]
mov ecx, esi
push eax
call dword [0x1018a4d4]
call esi
mov eax, dword [ebx + 0x58]
add esp, 0x10
mov ecx, dword [eax + 0xbc]
push edi
add ecx, 0x20
call fcn.10019040
add eax, 0x4c
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.1002c050
add esp, 0xc
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 9
call fcn.1000e790
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0xa
cmp eax, edi
je 0x1002e29d
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x1002e28e
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x10c]
push eax
call fcn.100040c0
lea eax, [ebp - 0x10c]
mov byte [ebp - 0x64], 1
push eax
lea ecx, [ebp - 0x1d8]
call fcn.1000a460
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x1c0]
call fcn.1002e500
mov byte [ebp - 4], 0xc
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax + 0xbc]
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x200]
add ecx, 0x28
push eax
call fcn.1002f7e0
lea ecx, [ebp - 0x1d8]
call fcn.1002db50
mov eax, dword [ebp - 0x6c]
push dword [eax + 4]
lea eax, [ebp - 0x6c]
push eax
mov ecx, eax
call fcn.10019a20
push 0xdc
push dword [ebp - 0x6c]
call fcn.1014d535
add esp, 8
lea ecx, [ebp - 0x84]
call fcn.10001bc0
lea ecx, [ebp - 0x90]
call fcn.10019350
lea ecx, [ebp - 0x110]
call fcn.10004a20
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x1002e371
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e367
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4ed
push edx
push ecx
call fcn.1014d535
add esp, 8
mov esi, dword [ebp - 0x1e4]
add edi, 0x18
inc esi
mov dword [ebp - 0x1e4], esi
cmp esi, dword [ebp - 0x1dc]
jb 0x1002e214
mov esi, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f0]
push ecx
mov ecx, esi
call fcn.1000bb60
mov byte [ebp - 4], 4
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1f0], esi
cmp edx, 0x10
jb 0x1002e3e2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e3d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4f2
push edx
push ecx
call fcn.1014d535
add esp, 8
mov ecx, dword [ebx + 0x58]
mov edx, dword [ecx + 0xcc]
mov ecx, dword [ecx + 0xc8]
call fcn.1014e100
movaps xmm1, xmm0
mulsd xmm0, qword [0x101cf558]
addsd xmm0, xmm1
call fcn.1014dfa9
mov edi, eax
mov eax, edx
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1e4], eax
test edx, edx
je 0x1002e42e
mov ecx, edi
mov esi, eax
shrd ecx, esi, 0xa
shr esi, 0xa
mov dword [edx], ecx
mov dword [edx + 4], esi
call fcn.10002de0
push dword [ebp - 0x1e4]
push edi
mov esi, dword [eax]
push str.checkDiskSpaceUsingIMerge_reqSize_...__llu
push 0x101a55a8
push eax
mov esi, dword [esi + 0x50]
mov ecx, esi
call dword [0x1018a4d4]
call esi
mov esi, dword [ebp - 0x1e4]
add esp, 0x14
mov ecx, dword [ebx + 0x58]
add ecx, 0x20
push esi
push edi
call fcn.10038840
add esp, 8
test al, al
jne 0x1002e492
push esi
push edi
push str.Error_do_not_have_enough_disk_space_...__llu
push 0x101a55a8
call fcn.10002de0
push eax
call fcn.100037f0
add esp, 0x14
mov edi, 0x17
jmp 0x1002e494
xor edi, edi
lea ecx, [ebp - 0x1f4]
call fcn.10019350
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x1002e4cf
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e4c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4f2
push edx
push ecx
call fcn.1014d535
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014d1d5
mov esp, ebp
pop ebp
ret
call fcn.10158895
call fcn.10158895
int3