Function at 0x471606
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x1c], edx
mov esi, ecx
mov ebx, edi
push 0x29
pop edx
mov ecx, str..._.._chrome_installer_util_lzma_util.cc
mov dword [ebp - 0x20], ebx
call fcn.0044bc60
cmp eax, 1
jl 0x471667
push 0xffffffffffffffff
push 0x6e
push str..._.._chrome_installer_util_lzma_util.cc
lea ecx, [ebp - 0xd4]
call fcn.0044bca0
mov edx, str.Opening_archive
lea ecx, [eax + 8]
call fcn.0041cec3
cmp dword [esi + 0x14], 8
jb 0x47165b
mov edx, dword [esi]
jmp 0x47165d
mov edx, esi
mov ecx, eax
call fcn.0044c7c0
xor ebx, ebx
inc ebx
test bl, 1
je 0x47167a
lea ecx, [ebp - 0xd4]
and ebx, 0xfffffffe
call fcn.0044bd90
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x18], edi
call fcn.00426e0e
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
cmp dword [ebp - 0x18], edi
je 0x47169c
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x14], 8
jb 0x4716a6
mov eax, dword [esi]
jmp 0x4716a8
mov eax, esi
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edx, eax
mov dword [ebp - 0x18], edx
cmp edx, 0xffffffff
jne 0x4716ee
and dword [ebp - 0x18], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x18]
mov edi, eax
cmp edi, 2
jne 0x4716e7
mov dword [ebp - 0xc], 1
jmp 0x4716f2
mov dword [ebp - 0xc], 2
test edi, edi
je 0x471760
push 2
pop ecx
call fcn.0044bc30
test al, al
je 0x471744
or ebx, ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 2
push 0x72
push str..._.._chrome_installer_util_lzma_util.cc
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
call fcn.0044bca0
mov edx, str.Unable_to_open_install_archive:
lea ecx, [ebp - 0xcc]
call fcn.0041cec3
cmp dword [esi + 0x14], 8
jb 0x471738
mov esi, dword [esi]
mov edx, esi
mov ecx, eax
call fcn.0044c7c0
mov edx, dword [ebp - 0x18]
test bl, 2
je 0x471847
lea ecx, [ebp - 0xdc]
call fcn.0044c710
mov edx, dword [ebp - 0x18]
jmp 0x471847
push 0x29
mov edi, str..._.._chrome_installer_util_lzma_util.cc
pop edx
mov ecx, edi
call fcn.0044bc60
cmp eax, 1
jl 0x4717ac
push 0xffffffffffffffff
push 0x74
push edi
lea ecx, [ebp - 0xd4]
or ebx, 4
call fcn.0044bca0
mov edx, str.Uncompressing_archive_to_path
lea ecx, [eax + 8]
call fcn.0041cec3
mov edi, dword [ebp - 0x1c]
cmp dword [edi + 0x14], 8
jb 0x4717a1
mov edx, dword [edi]
jmp 0x4717a3
mov edx, edi
mov ecx, eax
call fcn.0044c7c0
jmp 0x4717af
mov edi, dword [ebp - 0x1c]
test bl, 4
je 0x4717c2
lea ecx, [ebp - 0xd4]
and ebx, 0xfffffffb
call fcn.0044bd90
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
push edi
call fcn.0047187f
mov edi, eax
test edi, edi
je 0x471834
push 2
pop ecx
call fcn.0044bc30
test al, al
je 0x471824
or ebx, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 2
push 0x76
push str..._.._chrome_installer_util_lzma_util.cc
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
call fcn.0044bca0
mov edx, str.Unable_to_uncompress_archive:
lea ecx, [ebp - 0xcc]
call fcn.0041cec3
cmp dword [esi + 0x14], 8
jb 0x47181b
mov esi, dword [esi]
mov edx, esi
mov ecx, eax
call fcn.0044c7c0
test bl, 8
je 0x471834
lea ecx, [ebp - 0xdc]
call fcn.0044c710
mov edx, dword [ebp - 0x18]
test edx, edx
je 0x471847
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x471853
mov eax, dword [ebp - 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x47185f
mov eax, dword [ebp - 8]
mov dword [ecx], eax
test edx, edx
je 0x47186e
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x14]
call fcn.00426ddf
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret