Function at 0x1400178f0
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0xa0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x140054030]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, rcx
cmp dword [rcx + 0x4908], 0
je 0x140017d51
cmp byte [rcx + 0xfa0], 0
jne 0x140017d4c
lea r13, [0x140000000]
mov rdx, qword [rcx + 0xf58]
xor esi, esi
cmp rdx, qword [r13 + 0x32b80]
jne 0x140017970
mov rdx, qword [rcx + 0xf60]
cmp rdx, qword [r13 + 0x32b88]
jne 0x140017970
mov eax, esi
jmp 0x140017975
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140017a08
mov rdx, qword [rcx + 0xf58]
cmp rdx, qword [r13 + 0x32b90]
jne 0x1400179a1
mov rdx, qword [rcx + 0xf60]
cmp rdx, qword [r13 + 0x32b98]
jne 0x1400179a1
mov eax, esi
jmp 0x1400179a6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140017a08
mov rdx, qword [rcx + 0xf58]
cmp rdx, qword [r13 + 0x32b70]
jne 0x1400179ce
mov rdx, qword [rcx + 0xf60]
cmp rdx, qword [r13 + 0x32b78]
jne 0x1400179ce
mov eax, esi
jmp 0x1400179d3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140017a08
mov rdx, qword [rcx + 0xf58]
cmp rdx, qword [r13 + 0x32b60]
jne 0x1400179fb
mov rdx, qword [rcx + 0xf60]
cmp rdx, qword [r13 + 0x32b68]
jne 0x1400179fb
mov eax, esi
jmp 0x140017a00
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x140017d4c
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.if.dll_struct__GUID_const_ImageFile::DEFAULT_FILE_FORMAT]
mov eax, dword [rcx]
mov dword [rdx], eax
mov eax, dword [rcx + 4]
mov dword [rdx + 4], eax
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
mov eax, dword [rcx + 0xc]
mov dword [rdx + 0xc], eax
mov byte [rsp + 0x50], sil
mov rax, qword [sym.imp.if.dll_unsigned_int_const_ImageFile::DEFAULT_JPEG_QUALITY]
mov ecx, dword [rax]
mov dword [rsp + 0x54], ecx
mov rax, qword [sym.imp.if.dll_double_const_ImageFile::DEFAULT_DPI]
movsd xmm0, qword [rax]
movsd qword [rsp + 0x58], xmm0
mov dword [rsp + 0x60], 8
mov rax, qword [sym.imp.if.dll_unsigned_int_const_ImageFile::METADATA_CATEGORY_NONE]
mov ecx, dword [rax]
mov dword [rsp + 0x64], ecx
mov byte [rsp + 0x68], sil
mov qword [rsp + 0x70], rsi
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x84], 1
lea rcx, [rdi + 0xf68]
call qword [sym.imp.if.dll_unsigned_int___cdecl_ImageFile::BitsPerPixelFromPixelFormat_struct__GUID_const____ptr64_]
mov r11d, eax
lea rax, [rsp + 0x40]
mov ecx, dword [rdi + 0xf58]
mov dword [rax], ecx
mov ecx, dword [rdi + reloc.mfc90u.dll_CSplitterWnd::GetThisClass]
mov dword [rax + 4], ecx
mov ecx, dword [rdi + 0xf60]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 0xf64]
mov dword [rax + 0xc], ecx
movsd xmm0, qword [rdi + 0xfa8]
movsd qword [rsp + 0x58], xmm0
mov ecx, dword [rdi + 0xfb0]
mov dword [rsp + 0x60], ecx
mov eax, dword [rdi + 0xc90]
mov dword [rsp + 0x80], eax
mov eax, dword [rdi + 0xc94]
mov dword [rsp + 0x84], eax
cmp r11d, 0x10
je 0x140017b0a
cmp r11d, 0x30
jae 0x140017b0a
mov byte [rsp + 0x50], 0
jmp 0x140017b0f
mov byte [rsp + 0x50], 1
lea rbx, [rdi + 0xfb8]
mov rcx, rbx
call qword [sym.imp.ip.dll_public:_int___cdecl_ImageProcess::ColorProfile::Profile::IsValid_void_const___ptr64]
test eax, eax
je 0x140017b2a
mov qword [rsp + 0x70], rbx
jmp 0x140017b3a
mov ecx, 4
call qword [sym.imp.ip.dll_class_ImageProcess::ColorProfile::Profile_const____ptr64___cdecl_ImageProcess::ColorProfile::GetPresetProfile_enum_ImageProcess::ColorProfile::PRESET_PROFILE_]
mov qword [rsp + 0x70], rax
cmp dword [rdi + 0x1190], 0
jne 0x140017c6a
cmp qword [rdi + 0x10f8], 8
jb 0x140017b5a
mov rcx, qword [rdi + 0x10e0]
jmp 0x140017b61
lea rcx, [rdi + 0x10e0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140017c6a
cmp dword [rdi + 0x1194], 0
jne 0x140017c6a
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
nop
cmp qword [rdi + 0x8f8], 0
je 0x140017bd3
cmp qword [rdi + 0x10f8], 8
jb 0x140017ba5
mov rbx, qword [rdi + 0x10e0]
jmp 0x140017bac
lea rbx, [rdi + 0x10e0]
lea rcx, str.IDS_MSG_OVERWRITE_FILE
call qword [sym.imp.PECtrl.dll_wchar_t_const____ptr64___cdecl_PECTRL::GetDictItem_wchar_t_const____ptr64_]
mov r8, rax
mov r9, rbx
lea rdx, str._s_n__s_
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
jmp 0x140017c27
cmp qword [rdi + 0x10f8], 8
jb 0x140017be6
mov rbp, qword [rdi + 0x10e0]
jmp 0x140017bed
lea rbp, [rdi + 0x10e0]
lea rcx, str.IDS_MSG_WATERMART_ADDED
call qword [sym.imp.PECtrl.dll_wchar_t_const____ptr64___cdecl_PECTRL::GetDictItem_wchar_t_const____ptr64_]
mov rbx, rax
lea rcx, str.IDS_MSG_OVERWRITE_FILE
call qword [sym.imp.PECtrl.dll_wchar_t_const____ptr64___cdecl_PECTRL::GetDictItem_wchar_t_const____ptr64_]
mov r8, rax
mov qword [rsp + 0x20], rbp
mov r9, rbx
lea rdx, str._s___s__n__s_
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
lea r8, [rdi + 0x1194]
mov edx, 0x24
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.PECtrl.dll_public:_static_int___cdecl_PECTRL::CMessageBox::Show_wchar_t_const____ptr64__unsigned_int__int____ptr64_]
cmp eax, 6
je 0x140017c5f
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x140017d51
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CView::CView]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::CPhotoEditorApp::CloseToolsPanel_unsigned_short_int____ptr64]
cmp qword [rdi + 0x10f8], 8
jb 0x140017c88
mov rdx, qword [rdi + 0x10e0]
jmp 0x140017c8f
lea rdx, [rdi + 0x10e0]
lea r8, [rsp + 0x40]
mov rcx, rdi
call fcn.140015210
test eax, eax
je 0x140017d3f
mov dword [rdi + 0x1190], 1
cmp dword [rdi + 0x4908], 0
je 0x140017d3f
mov dword [rdi + 0x4908], esi
mov rdx, qword [rdi + 0x11c8]
cmp rdx, qword [r13 + 0x55638]
jne 0x140017ce1
mov rdx, qword [rdi + 0x11d0]
cmp rdx, qword [r13 + 0x55640]
je 0x140017ce8
sbb eax, eax
sbb eax, 0xffffffff
mov esi, eax
test esi, esi
je 0x140017d01
xor r8d, r8d
mov rdx, qword [rdi + 0xf50]
mov rcx, rdi
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::CPhotoEditorApp::UpdateMainWndTitle_wchar_t_const____ptr64__int____ptr64]
jmp 0x140017d0f
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::CPhotoEditorApp::UpdateMainWndTitle_wchar_t_const____ptr64__int____ptr64]
mov rcx, qword [rdi + 0x1490]
test rcx, rcx
je 0x140017d3f
call qword [sym.imp.PECtrl.dll_public:_int___cdecl_PECTRL::CBaseWnd::IsWindow_void_const___ptr64]
test eax, eax
je 0x140017d3f
mov rcx, qword [rdi + 0x1490]
add rcx, 0x3790
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x2a0]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x140017d51
call fcn.140017d80
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14002ab10
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret