Function at 0x14005ef10
Capabilities:
Copy file
Delete file
Set file attributes

Disassembly:
push rbp
lea rbp, [rsp - 0x1980]
mov eax, 0x1a80
call fcn.14024c240
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x1a90], rbx
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x1970], rax
xor r8d, r8d
lea rdx, str.CBaseFuncMgr::FN_CheckUnInstVersion
lea rcx, [rsp + 0x30]
call fcn.1400075a0
nop
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x20], rdx
mov r9d, 0x20019
lea r8, str.SOFTWARECanonPrnUninst
mov rdx, 0xffffffff80000002
call qword [rax + 0xf0]
test eax, eax
je 0x14005efcb
lea r9, str.SOFTWARECanonPrnUninst
lea r8, str._t_t_tNot_found_Key___s_
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
xor r9d, r9d
lea r8, str.return__08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x30]
call fcn.140007780
nop
jmp 0x14005f627
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x1170]
lea rdx, str.UninstallerRegKeyName
mov rcx, rax
call qword [r9 + 0x18]
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call fcn.14024b970
mov dword [rsp + 0x44], 0x800
mov dword [rsp + 0x40], 1
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0x170]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x1170]
mov rdx, qword [rsp + 0x48]
call qword [rax + 0x108]
test eax, eax
jne 0x14005f088
lea rax, [rbp + 0x1170]
mov qword [rsp + 0x20], rax
lea r9, str.SOFTWARECanonPrnUninst
lea r8, str._t_t_tGet_Value___s___s
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov r9d, 0x20019
lea r8, [rbp + 0x1170]
mov rdx, qword [rsp + 0x48]
call qword [rax + 0xf0]
test eax, eax
jne 0x14005f15f
mov dword [rsp + 0x44], 0x800
mov dword [rsp + 0x40], 1
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0x170]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x40]
lea rbx, str.exePath
mov r8, rbx
mov rdx, qword [rsp + 0x50]
call qword [rax + 0x108]
test eax, eax
jne 0x14005f14a
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x1170]
mov qword [rsp + 0x20], rax
lea r9, str.SOFTWARECanonPrnUninst
lea r8, str._t_t_tGet_Value___s_s___s
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x50]
call qword [rax + pe_nt_image_headers64]
lea r9, [rsp + 0x60]
lea r8, str._t_t_tGet_ExePath___s_
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x48]
call qword [rax + pe_nt_image_headers64]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jg 0x14005f1e0
lea r8, str._t_t_tFailed_Get_Value_Uninstaller_Exe_path__for_PDL
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
mov dword [0x1403b95bc], 0x21
mov r9d, 0x80010021
lea r8, str.return__08x
mov edx, 2
lea rcx, [rsp + 0x30]
call fcn.140007780
nop
jmp 0x14005f627
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x170]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [r9 + 0x18]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rbp + rcx*2 + 0x16e], 0x5c
je 0x14005f234
lea rdx, [0x1402e5094]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.Uninst.ini
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x970]
lea rdx, str.SOURCEDIR
mov rcx, rax
call qword [r9 + 0x18]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rbp + rcx*2 + 0x96e], 0x5c
je 0x14005f29c
lea rdx, [0x1402e5094]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.Uninst.ini
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea r9, [rbp + 0x970]
lea r8, str._t_t_tCopy_INI_File_SRC___s
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
lea r9, [rbp + 0x170]
lea r8, str._t_t_tCopy_INI_File_DST___s
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
xor r8d, r8d
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x14005f319
lea r8, str._t_t_tCopyFile_UNINST.INI_
lea edx, [rax + 7]
lea rcx, [rsp + 0x30]
call fcn.140007780
mov edx, 0x20
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x170]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [r9 + 0x18]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rbp + rcx*2 + 0x16e], 0x5c
je 0x14005f37f
lea rdx, [0x1402e5094]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.UNINSTAL.exe
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x970]
lea rdx, str.SOURCEDIR
mov rcx, rax
call qword [r9 + 0x18]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rbp + rcx*2 + 0x96e], 0x5c
je 0x14005f3e7
lea rdx, [0x1402e5094]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.UNINSTAL.exe
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea r9, [rbp + 0x970]
lea r8, str._t_t_tCopy_EXE_File_SRC___s
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
lea r9, [rbp + 0x170]
lea r8, str._t_t_tCopy_EXE_File_DST___s
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
xor r8d, r8d
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x14005f464
lea r8, str._t_t_tCopyFile_UNINSTAL.EXE_
lea edx, [rax + 7]
lea rcx, [rsp + 0x30]
call fcn.140007780
mov edx, 0x20
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rsp + rcx*2 + 0x5e], 0x5c
je 0x14005f4c4
lea rdx, [0x1402e5094]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.UNINSTAL.exe
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, qword [0x1403b9768]
mov rax, qword [rcx]
mov r9d, 1
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x970]
call qword [rax + 0x58]
test eax, eax
jg 0x14005f51e
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [0x1402e3828]
lea rdx, str.UNINSTALLSUPPORT
mov rcx, rax
call qword [r9 + 0x20]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r10, qword [rax]
lea r8, [rbp + 0x170]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [r10 + 0x18]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rbp + rcx*2 + 0x16e], 0x5c
je 0x14005f572
lea rdx, [0x1402e5094]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea r9, str.UNINSTAL.exe
lea r8, [rbp + 0x170]
lea rdx, [0x1402e3978]
lea rcx, [rbp + 0x970]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r9, str.Uninst.ini
lea r8, [rbp + 0x170]
lea rdx, [0x1402e3978]
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp + 0x970]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x170]
lea rdx, str.UNINSTALLSUPPORT
mov rcx, rax
call qword [r9 + 0x18]
lea r9, [rbp + 0x170]
lea r8, str._t_t_t__UNINSTALLSUPPORT___s_
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.140007780
xor r9d, r9d
lea r8, str.return__08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x30]
call fcn.140007780
nop
lea rcx, [rsp + 0x30]
call fcn.140007730
xor eax, eax
mov rcx, qword [rbp + 0x1970]
xor rcx, rsp
call fcn.140245660
mov rbx, qword [rsp + 0x1a90]
add rsp, 0x1a80
pop rbp
ret