Function at 0x14001c6f0
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xa0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x140067030]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, rdx
mov rbx, rcx
lea rdx, [rcx + 0xbb8]
mov rax, qword [rdx]
cmp dword [rax - 0x10], 0
jne 0x14001c742
lea rdx, [rcx + 0xbb0]
add rcx, 0x18c8
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
lea rcx, str.IDS_SAVE_DEFAULT_SUFFIX
call qword [sym.imp.PECtrl.dll_wchar_t_const____ptr64___cdecl_PECTRL::GetDictItem_wchar_t_const____ptr64_]
mov rdx, rax
lea rcx, [rbx + 0x1928]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
xor ebp, ebp
mov dword [rbx + 0x5794], ebp
mov dword [rbx + 0x5584], 1
mov dword [rbx + 0x5588], 1
mov dword [rbx + 0x558c], 1
mov dword [rbx + 0x5590], 1
mov dword [rbx + 0x5594], 0x78
mov dword [rbx + 0x5598], 0x127
test rsi, rsi
jne 0x14001c7bc
xor eax, eax
jmp 0x14001d363
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void____ptr64]
nop
lea rdx, str.last_open_path
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
test rdi, rdi
je 0x14001c863
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x14001c81d
mov rax, qword [rcx]
call qword [rax + 0x60]
test rax, rax
je 0x14001c81d
cmp qword [rax + 0x58], 0x10
jb 0x14001c817
mov rcx, qword [rax + 0x40]
jmp 0x14001c820
lea rcx, [rax + 0x40]
jmp 0x14001c820
mov rcx, rbp
lea rdx, [rsp + 0x40]
call fcn.1400361e0
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rcx, qword [rsp + 0x48]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14001c863
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
lea rcx, [rbx + 0x18c8]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea rdx, str.save_format
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x68]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
test rdi, rdi
je 0x14001ca1a
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.1400315c0
test al, al
je 0x14001ca1a
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, str.jpeg
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001c8ff
lea rcx, [0x140000000]
mov eax, dword [rcx + 0x40f30]
mov dword [rbx + 0x18e0], eax
mov eax, dword [rcx + 0x40f34]
mov dword [rbx + 0x18e4], eax
mov eax, dword [rcx + 0x40f38]
mov dword [rbx + 0x18e8], eax
mov eax, dword [rcx + 0x40f3c]
mov dword [rbx + 0x18ec], eax
jmp 0x14001ca1a
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, str.tiff
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001c960
lea rcx, [0x140000000]
mov eax, dword [rcx + 0x40f40]
mov dword [rbx + 0x18e0], eax
mov eax, dword [rcx + 0x40f44]
mov dword [rbx + 0x18e4], eax
mov eax, dword [rcx + 0x40f48]
mov dword [rbx + 0x18e8], eax
mov eax, dword [rcx + 0x40f4c]
mov dword [rbx + 0x18ec], eax
jmp 0x14001ca1a
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, [0x140046ec4]
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001c9be
lea rcx, [0x140000000]
mov eax, dword [rcx + 0x40f20]
mov dword [rbx + 0x18e0], eax
mov eax, dword [rcx + 0x40f24]
mov dword [rbx + 0x18e4], eax
mov eax, dword [rcx + 0x40f28]
mov dword [rbx + 0x18e8], eax
mov eax, dword [rcx + 0x40f2c]
mov dword [rbx + 0x18ec], eax
jmp 0x14001ca1a
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, [0x140046ec8]
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001ca1a
lea rcx, [0x140000000]
mov eax, dword [rcx + 0x40f10]
mov dword [rbx + 0x18e0], eax
mov eax, dword [rcx + 0x40f14]
mov dword [rbx + 0x18e4], eax
mov eax, dword [rcx + 0x40f18]
mov dword [rbx + 0x18e8], eax
mov eax, dword [rcx + 0x40f1c]
mov dword [rbx + 0x18ec], eax
lea rdx, str.save_quality
mov rcx, rsi
call fcn.14002f680
mov edx, 0x64
mov r9d, edx
lea r8d, [rdx - 0x63]
mov rcx, rax
call fcn.140031680
mov dword [rbx + 0x18f4], eax
lea rdx, str.save_color_space
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rbx + 0x1938]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
test rdi, rdi
je 0x14001ca76
mov rdx, rdi
lea rcx, [rbx + 0x1938]
call fcn.1400315c0
lea rdx, str.save_bit_depth
mov rcx, rsi
call fcn.14002f680
mov edx, 8
lea r9d, [rdx + 8]
mov r8d, edx
mov rcx, rax
call fcn.140031680
cmp eax, 0x10
sete al
mov byte [rbx + 0x18f0], al
lea rdx, str.save_filename_prefix
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
test rdi, rdi
je 0x14001cb19
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x14001caee
mov rax, qword [rcx]
call qword [rax + 0x60]
test rax, rax
je 0x14001caee
cmp qword [rax + 0x58], 0x10
jb 0x14001cae8
mov rcx, qword [rax + 0x40]
jmp 0x14001caf1
lea rcx, [rax + 0x40]
jmp 0x14001caf1
mov rcx, rbp
lea rdx, [rsp + 0x40]
call fcn.1400361e0
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
lea rcx, [rbx + 0x1920]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea rdx, str.save_filename_suffix
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
test rdi, rdi
je 0x14001cb8d
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x14001cb62
mov rax, qword [rcx]
call qword [rax + 0x60]
test rax, rax
je 0x14001cb62
cmp qword [rax + 0x58], 0x10
jb 0x14001cb5c
mov rcx, qword [rax + 0x40]
jmp 0x14001cb65
lea rcx, [rax + 0x40]
jmp 0x14001cb65
mov rcx, rbp
lea rdx, [rsp + 0x40]
call fcn.1400361e0
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae rdx, qword [rsp + 0x48]
lea rcx, [rbx + 0x1928]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea rdx, str.save_remove_metadata
mov rcx, rsi
call fcn.14002f680
mov rcx, rax
test rax, rax
je 0x14001cbc5
mov rax, qword [sym.imp.if.dll_unsigned_int_const_ImageFile::METADATA_CATEGORY_NONE]
mov edx, dword [rax]
mov rax, qword [sym.imp.if.dll_unsigned_int_const_ImageFile::METADATA_CATEGORY_ALL]
mov r9d, dword [rax]
mov r8d, edx
call fcn.140031680
mov dword [rbx + 0x190c], eax
lea rdx, str.save_remove_all_metadata
mov rcx, rsi
call fcn.14002f680
movzx edx, byte [rbx + 0x1910]
mov rcx, rax
call fcn.140031730
mov byte [rbx + CToolBar::SetOwner], al
lea rdx, str.save_dont_ask_overwrite
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x1964], 0
setne dl
mov rcx, rax
call fcn.140031730
movzx r11d, al
mov dword [rbx + 0x1964], r11d
lea rdx, str.display_mode
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
test rdi, rdi
je 0x14001ccac
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x14001cc5e
mov rax, qword [rcx]
call qword [rax + 0x60]
test rax, rax
je 0x14001cc5e
cmp qword [rax + 0x58], 0x10
jb 0x14001cc58
mov rcx, qword [rax + 0x40]
jmp 0x14001cc61
lea rcx, [rax + 0x40]
jmp 0x14001cc61
mov rcx, rbp
lea rdx, [rsp + 0x40]
call fcn.1400361e0
lea rdx, [0x140046f98]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const____ptr64_]
test al, al
je 0x14001cc8d
mov dword [rbx + 0x5794], 1
jmp 0x14001ccac
lea rdx, [0x140046fa8]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const____ptr64_]
neg al
sbb ecx, ecx
and ecx, 2
mov dword [rbx + 0x5794], ecx
lea rdx, str.top_panel_dock
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x5584], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x5584], ecx
lea rdx, str.bottom_panel_dock
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x5588], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x5588], ecx
lea rdx, str.left_panel_dock
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x558c], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x558c], ecx
lea rdx, str.right_panel_dock
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x5590], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x5590], ecx
lea rdx, str.bottom_panel_height
mov rcx, rsi
call fcn.14002f680
mov edx, 0x78
lea r9d, [rdx + 0x50]
mov r8d, edx
mov rcx, rax
call fcn.140031680
mov dword [rbx + 0x5594], eax
lea rdx, str.right_panel_width
mov rcx, rsi
call fcn.14002f680
mov edx, ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >
lea r9d, [rdx + 0x55]
mov r8d, edx
mov rcx, rax
call fcn.140031680
mov dword [rbx + 0x5598], eax
lea rdx, str.subpanel_expanded
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
test rax, rax
je 0x14001ceb7
lea rdx, str.navigator
mov rcx, rax
call fcn.14002f680
cmp dword [rbx + 0x55a0], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x55a0], ecx
lea rdx, str.skin_mask
mov rcx, rdi
call fcn.14002f680
cmp dword [rbx + 0x55a4], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x55a4], ecx
lea rdx, str.skin_details
mov rcx, rdi
call fcn.14002f680
cmp dword [rbx + 0x55a8], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x55a8], ecx
lea rdx, str.skin_imperfect
mov rcx, rdi
call fcn.14002f680
cmp dword [rbx + 0x55ac], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x55ac], ecx
lea rdx, str.skin_tone
mov rcx, rdi
call fcn.14002f680
cmp dword [rbx + 0x55b0], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x55b0], ecx
lea rdx, str.browser_folders
mov rcx, rsi
call fcn.14002f680
test rax, rax
je 0x14001cf5a
lea rdx, str.folder
mov rcx, rax
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::clear_void____ptr64]
test rdi, rdi
je 0x14001cf5a
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x14001cf18
mov rax, qword [rcx]
call qword [rax + 0x60]
test rax, rax
je 0x14001cf18
cmp qword [rax + 0x58], 0x10
jb 0x14001cf12
mov rcx, qword [rax + 0x40]
jmp 0x14001cf1b
lea rcx, [rax + 0x40]
jmp 0x14001cf1b
mov rcx, rbp
lea rdx, [rsp + 0x40]
call fcn.1400361e0
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae r8, qword [rsp + 0x48]
lea rcx, [rbx + 0x1968]
mov rdx, qword [rcx + 0x10]
call sub.mfc90u.dll_COleDispatchImpl::Release
lea rdx, str.folder
mov rcx, rdi
call fcn.14002f780
mov rdi, rax
jmp 0x14001cee1
cmp qword [rbx + 0x1978], 0
jne 0x14001cf7b
lea rcx, [rbx + 0x1968]
lea r8, [rbx + 0x18c8]
mov rdx, qword [rcx + 0x10]
call sub.mfc90u.dll_COleDataObject::Release
lea rdx, str.navi_preview_mask
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x5578], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x5578], ecx
lea rdx, str.show_mask
mov rcx, rsi
call fcn.14002f680
cmp dword [rbx + 0x557c], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rbx + 0x557c], ecx
lea rdx, str.mask_color
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
lea rcx, [rsp + 0x68]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void____ptr64]
test rdi, rdi
je 0x14001d0a3
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.1400315c0
test al, al
je 0x14001d0a3
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, str.white
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001d043
mov dword [rbx + 0x5580], 1
jmp 0x14001d0a3
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, str.green
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001d074
mov dword [rbx + 0x5580], 2
jmp 0x14001d0a3
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea rdx, str.blue
call qword [sym.imp.MSVCR90.dll__stricmp]
test eax, eax
jne 0x14001d0a3
mov dword [rbx + 0x5580], 3
lea rdx, str.refine_brush
mov rcx, rsi
call fcn.14002f680
mov rdi, rax
test rax, rax
je 0x14001d322
lea rdx, str.brush
mov rcx, rax
call fcn.14002f680
mov r12, rax
test rax, rax
je 0x14001d1ea
mov rdx, qword [rbx + 0x55d8]
add rdx, 0x568
lea rcx, [rsp + 0x20]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CBrushTool::CBrush::constructor_class_PECTRL::IMGWND_TOOL::CBrushTool::CBrush_const____ptr64____ptr64]
nop
lea rdx, str.size
mov rcx, r12
call fcn.14002f680
mov r9d, 0x64
lea r8d, [r9 - 0x63]
mov edx, dword [rsp + 0x20]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x20], eax
lea rdx, str.feather
mov rcx, r12
call fcn.14002f680
mov r9d, 0x64
xor r8d, r8d
mov edx, dword [rsp + 0x24]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x24], eax
lea rdx, str.flow
mov rcx, r12
call fcn.14002f680
mov r9d, 0x64
lea r8d, [r9 - 0x63]
mov edx, dword [rsp + 0x28]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x28], eax
lea rdx, str.opacity
mov rcx, r12
call fcn.14002f680
mov r9d, 0x64
xor r8d, r8d
mov edx, dword [rsp + 0x2c]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x2c], eax
lea rdx, str.auto_mask
mov rcx, r12
call fcn.14002f680
cmp dword [rsp + 0x30], 0
setne dl
mov rcx, rax
call fcn.140031730
mov ecx, ebp
test al, al
setne cl
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbx + 0x55d8]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CPairBrushTool::SelectBrush_void____ptr64]
lea rdx, [rsp + 0x20]
mov rcx, qword [rbx + 0x55d8]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CBrushTool::SetBrush_class_PECTRL::IMGWND_TOOL::CBrushTool::CBrush_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CBrushTool::CBrush::destructor_void____ptr64]
lea rdx, str.eraser
mov rcx, rdi
call fcn.14002f680
mov rdi, rax
test rax, rax
je 0x14001d315
mov rdx, qword [rbx + 0x55d8]
add rdx, 0x580
lea rcx, [rsp + 0x20]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CBrushTool::CBrush::constructor_class_PECTRL::IMGWND_TOOL::CBrushTool::CBrush_const____ptr64____ptr64]
nop
lea rdx, str.size
mov rcx, rdi
call fcn.14002f680
mov r9d, 0x64
lea r8d, [r9 - 0x63]
mov edx, dword [rsp + 0x20]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x20], eax
lea rdx, str.feather
mov rcx, rdi
call fcn.14002f680
mov r9d, 0x64
xor r8d, r8d
mov edx, dword [rsp + 0x24]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x24], eax
lea rdx, str.flow
mov rcx, rdi
call fcn.14002f680
mov r9d, 0x64
lea r8d, [r9 - 0x63]
mov edx, dword [rsp + 0x28]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x28], eax
lea rdx, str.opacity
mov rcx, rdi
call fcn.14002f680
mov r9d, 0x64
xor r8d, r8d
mov edx, dword [rsp + 0x2c]
mov rcx, rax
call fcn.140031680
mov dword [rsp + 0x2c], eax
lea rdx, str.auto_mask
mov rcx, rdi
call fcn.14002f680
cmp dword [rsp + 0x30], 0
setne dl
mov rcx, rax
call fcn.140031730
test al, al
setne bpl
mov dword [rsp + 0x30], ebp
mov rcx, qword [rbx + 0x55d8]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CPairBrushTool::SelectEraser_void____ptr64]
lea rdx, [rsp + 0x20]
mov rcx, qword [rbx + 0x55d8]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CBrushTool::SetBrush_class_PECTRL::IMGWND_TOOL::CBrushTool::CBrush_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CBrushTool::CBrush::destructor_void____ptr64]
mov rcx, qword [rbx + 0x55d8]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::IMGWND_TOOL::CPairBrushTool::SelectBrush_void____ptr64]
lea rcx, [rbx + 0x1610]
mov rdx, rsi
call qword [sym.imp.PECtrl.dll_protected:_void___cdecl_CAdjustmentPresetsManager::FromXml_class_TiXmlElement_const____ptr64____ptr64]
lea rcx, [rbx + 0x1f60]
mov rdx, qword [rbx + 0x1f58]
call qword [sym.imp.PECtrl.dll_public:_void___cdecl_PECTRL::CBatchProcessDlg::ReadSettingsFromFile_wchar_t_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
mov eax, 1
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400372b0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret