Function at 0x458350
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x4a3ecc]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x4a3048], 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, 0x4a3034
cmovae ebx, dword [0x4a3034]
mov ecx, edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x20], ebx
cmp dword [edi + 0x14], 8
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x24], edi
jb 0x458392
mov ecx, dword [edi]
mov dword [ebp - 0x24], ecx
mov edi, dword [0x4a3044]
cmp edi, eax
ja 0x458447
test edi, edi
je 0x45842e
sub eax, edi
inc eax
lea esi, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 0x28], esi
movzx edx, word [ebx]
mov ecx, esi
sub ecx, eax
movzx edx, dx
sar ecx, 1
mov esi, 0
je 0x4583e0
cmp word [eax], dx
je 0x4583de
nop dword [eax + eax]
cmp ecx, 1
je 0x4583e0
add eax, 2
dec ecx
cmp word [eax], dx
jne 0x4583d0
mov esi, eax
mov eax, esi
test eax, eax
je 0x458447
movzx edx, word [eax]
mov ecx, ebx
movzx esi, word [ebx]
cmp dx, si
jb 0x458416
mov ebx, eax
sub ebx, dword [ebp - 0x20]
cmp dx, si
ja 0x458413
cmp edi, 1
je 0x458424
movzx edx, word [ebx + ecx + 2]
add ecx, 2
dec edi
movzx esi, word [ecx]
cmp dx, si
jae 0x4583fb
mov ebx, dword [ebp - 0x20]
mov edi, dword [0x4a3044]
add eax, 2
mov esi, dword [ebp - 0x28]
jmp 0x4583b3
sub eax, dword [ebp - 0x24]
sar eax, 1
cmp eax, 0xffffffff
je 0x458447
push str.In_OldBinaries_directory__install_may_be_corrupt._Adding_crash_annotation.
push 0x314
push str.desktop_app_win_df_utils_win.cc
call fcn.00456580
add esp, 0xc
jmp 0x458495
push str.INSTALL_MARKER
push dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
call fcn.00455790
add esp, 0xc
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 8
cmovae eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45855c
push str.Install_marker_exists__install_may_be_corrupt._Adding_crash_annotation.
push 0x32e
push str.desktop_app_win_df_utils_win.cc
call fcn.00456580
add esp, 0xc
lea ecx, [ebp - 0x1c]
call fcn.00455a20
push dword [0x4a3018]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x45852d
push str.set_simple_annotations
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], str.potential_install_corruption
push esi
mov dword [ebp - 0x30], str.True
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4584f7
lea ecx, [ebp - 0x2c]
push ecx
call eax
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045be32
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.___Failed_to_load__set_simple_annotations___error__u__
push 0x346
push str.desktop_app_win_df_utils_win.cc
call fcn.00456580
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045be32
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.___Failed_to_load_crashpad__error__u__
push 0x34b
push str.desktop_app_win_df_utils_win.cc
call fcn.00456580
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045be32
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x1c]
call fcn.00455a20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045be32
mov esp, ebp
pop ebp
ret