Function at 0x527f10
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x298
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x535190
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], 0
sub esp, 0xc
mov al, byte [ebp - 0x2a4]
lea ecx, [ebp - 0x94]
mov byte [esp + 4], al
mov dword [esp + 8], str.Digital_Editions
mov dword [esp], 0x10
call fcn.00405590
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], 0
mov dword [ebp - 0x10], 6
sub esp, 0xc
mov al, byte [ebp - 0x2a4]
lea ecx, [ebp - 0x64]
mov byte [esp + 4], al
mov dword [esp + 8], str.Adobe_Digital_Editions
mov dword [esp], 0x17
call fcn.00405590
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], 0
mov dword [ebp - 0x10], 7
sub esp, 0xc
mov al, byte [ebp - 0x2a4]
lea ecx, [ebp - 0x4c]
mov byte [esp + 4], al
mov dword [esp + 8], str.SOFTWAREAdobe
mov dword [esp], 0xe
call fcn.00405590
cmp dword [ebp - 0x38], 7
lea eax, [ebp - 0x4c]
jbe 0x52800b
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x2a4]
push eax
push 0x80000002
call fcn.00467b40
jmp 0x528049
push edx
push eax
call fcn.005d319e
add esp, 8
test bl, bl
je 0x5282fb
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x10], 9
call fcn.00468a60
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x10], 9
call fcn.00468110
test al, al
je 0x5282e5
cmp word [ebp - 0x29c], 0
je 0x528037
cmp dword [ebp - 0x80], 7
lea eax, [ebp - 0x94]
jbe 0x52807f
mov eax, dword [ebp - 0x94]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.005d3f0e
add esp, 8
test eax, eax
je 0x5280b7
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x50], 7
lea ecx, [ebp - 0x64]
jbe 0x5280a2
mov ecx, dword [ebp - 0x64]
push eax
push ecx
lea eax, [ebp - 0x29c]
push eax
call fcn.005dcc34
add esp, 0xc
test eax, eax
jne 0x528037
push 0x65857a
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.005dfd60
add esp, 0xc
lea ebx, [ebp - 0x29c]
push ebx
call fcn.005d3244
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x528110
mov dword [ebp - 0x10], 0xa
sub esp, 0x10
movzx ecx, byte [ebp - 0x7c]
mov byte [esp + 4], cl
lea ecx, [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
call fcn.0040b010
jmp 0x52813a
lea esi, [ecx + eax]
cmp edx, 7
lea edi, [ebp - 0x34]
mov dword [ebp - 0x24], esi
jbe 0x528121
mov edi, dword [ebp - 0x34]
add eax, eax
lea ecx, [edi + ecx*2]
push eax
push ebx
push ecx
call fcn.0061e340
add esp, 0xc
mov word [edi + esi*2], 0
lea eax, [ebp - 0x34]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0x7c], xmm0
movsd qword [ebp - 0x74], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [ebp - 0x6c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], 0
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x5281ac
mov eax, dword [ebp - 0x34]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x52819b
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x5283d1
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov dword [ebp - 0x10], 0xb
cmp dword [ebp - 0x68], 7
lea eax, [ebp - 0x7c]
jbe 0x5281b8
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], 0xb
lea ecx, [ebp - 0x34]
push 0x20019
push eax
push 0x80000002
call fcn.004098d0
mov esi, dword [ebp + 8]
cmp dword [ebp - 0x34], 0
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], 0
je 0x528250
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x34]
push esi
push str.InstallPath
call fcn.004075a0
mov esi, dword [ebp + 8]
test eax, eax
jne 0x528250
cmp dword [esi + 0x10], 0
je 0x528250
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x52821a
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, dword [ebp + 8]
test eax, eax
je 0x528250
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x528232
mov eax, dword [esi]
push eax
call dword [sym.imp.SHELL32.dll_PathIsExe]
mov esi, dword [ebp + 8]
test eax, eax
je 0x528250
xor ebx, ebx
jmp 0x52829f
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x52828a
mov eax, dword [esi]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x528280
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x5283dd
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov bl, 1
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], 0
lea ecx, [ebp - 0x34]
call fcn.004080a0
mov ecx, dword [ebp - 0x68]
cmp ecx, 8
jb 0x52802f
mov eax, dword [ebp - 0x7c]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x528025
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x5283e9
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x528025
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 7
mov dword [eax + 0x10], 0
mov word [eax], 0
lea ecx, [ebp - 0x2a4]
call fcn.0046b0e0
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x528341
mov eax, dword [ebp - 0x4c]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x528337
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x5283f5
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp + 8]
cmp ecx, 8
jb 0x52837f
mov eax, dword [ebp - 0x64]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x528375
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x528401
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov ecx, dword [ebp - 0x80]
cmp ecx, 8
jb 0x5283b9
mov eax, dword [ebp - 0x94]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x5283af
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x52840d
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0x298
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov dword [ebp - 0x10], 0
call fcn.006207e0
mov dword [ebp - 0x10], 1
call fcn.006207e0
mov dword [ebp - 0x10], 2
call fcn.006207e0
mov dword [ebp - 0x10], 3
call fcn.006207e0
mov dword [ebp - 0x10], 4
call fcn.006207e0
mov dword [ebp - 0x10], 5
call fcn.006207e0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0061de80
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x52846e
mov eax, dword [ebp - 0x34]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x528464
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x528487
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], 0
add esp, 0x10
pop ebp
ret
call fcn.006207e0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0061de80
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0061de80
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
cmp ecx, 8
jb 0x5284f3
mov eax, dword [ebp + 8]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
mov eax, dword [eax]
jb 0x5284e9
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x528516
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x34]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], 0
call fcn.004080a0
add esp, 0x10
pop ebp
ret
call fcn.006207e0
nop dword [eax + eax]
push ebp
sub esp, 0x10
add ebp, 0xc
mov ecx, dword [ebp - 0x68]
cmp ecx, 8
jb 0x52855e
mov eax, dword [ebp - 0x7c]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x528554
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x528577
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005d319e
add esp, 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 7
mov word [ebp - 0x7c], 0
add esp, 0x10
pop ebp
ret
call fcn.006207e0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0061de80
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0061de80
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0061de80
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
lea ecx, [ebp - 0x2a4]
call fcn.0046b0e0
add esp, 0x10
pop ebp
ret