Function at 0x14005bfc0
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows
Get file attributes
Set file attributes

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xb38
mov qword [rsp + 0xb08], 0xfffffffffffffffe
mov rax, qword [0x1402aa808]
xor rax, rsp
mov qword [rsp + 0xb20], rax
lea rcx, [rsp + 0x3a8]
call fcn.140003370
nop
lea rcx, [rsp + 0x3d0]
call fcn.140003370
nop
lea rcx, [rsp + 0x380]
call fcn.140010b40
nop
lea rcx, [rsp + 0x378]
call fcn.1400521e0
mov qword [rsp + 0x3a0], 0
lea rcx, [rsp + 0xf8]
call fcn.140010b40
nop
lea rcx, [rsp + 0xf0]
call fcn.14005e440
mov dword [rsp + 0x370], 1
lea rdx, str.CShortcut::DeleteShortcut__________________________IN._n
mov ecx, 5
call fcn.14001c160
cmp dword [rsp + 0xb58], 0
jne 0x14005c0a9
cmp qword [rsp + 0xb48], 0
jne 0x14005c0a9
cmp qword [rsp + 0xb50], 0
jne 0x14005c0a9
lea rdx, str.CShortcut::DeleteShortcut_pName_and_pTarget_are_NULL_on_not_DeadLinkOnly._n
mov ecx, 5
call fcn.14001c160
jmp 0x14005ca8d
mov rax, qword [rsp + 0xb40]
cmp dword [rax + 0x80], 1
jne 0x14005c282
mov qword [rsp + 0x610], 0
mov dword [rsp + 0x618], 0x17
lea rcx, [0x14020b9c8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x620], rax
lea rdx, str.CShortcut::DeleteShortcut_CShortcut::user_all._n
mov ecx, 5
call fcn.14001c160
lea rdx, [0x14020cf60]
mov rcx, qword [rsp + 0x620]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x610], rax
cmp qword [rsp + 0x610], 0
je 0x14005c24a
mov rax, qword [rsp + 0xb40]
add rax, 8
mov rcx, rax
call fcn.140003530
lea rdx, str.Desktop
mov rcx, rax
call fcn.1401ac890
test eax, eax
jne 0x14005c15e
mov dword [rsp + 0x618], 0x19
jmp 0x14005c1f8
mov rax, qword [rsp + 0xb40]
add rax, 8
mov rcx, rax
call fcn.140003530
lea rdx, str.Programs
mov rcx, rax
call fcn.1401ac890
test eax, eax
jne 0x14005c192
mov dword [rsp + 0x618], 0x17
jmp 0x14005c1f8
mov rax, qword [rsp + 0xb40]
add rax, 8
mov rcx, rax
call fcn.140003530
lea rdx, str.Start_Menu
mov rcx, rax
call fcn.1401ac890
test eax, eax
jne 0x14005c1c6
mov dword [rsp + 0x618], 0x16
jmp 0x14005c1f8
mov rax, qword [rsp + 0xb40]
add rax, 8
mov rcx, rax
call fcn.140003530
lea rdx, str.Startup
mov rcx, rax
call fcn.1401ac890
test eax, eax
jne 0x14005c1f8
mov dword [rsp + 0x618], 0x18
xor r9d, r9d
mov r8d, dword [rsp + 0x618]
lea rdx, [rsp + 0x400]
xor ecx, ecx
call qword [rsp + 0x610]
test eax, eax
je 0x14005c248
lea rdx, [rsp + 0x400]
lea rcx, [rsp + 0x38]
call fcn.1400033c0
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x380]
call fcn.1400109f0
nop
lea rcx, [rsp + 0x38]
call fcn.140003430
jmp 0x14005c25b
lea rdx, str.CShortcut::DeleteShortcut_cannot_get_SHGetSpecialFolderPath_pointer._n
mov ecx, 5
call fcn.14001c160
cmp qword [rsp + 0x620], 0
je 0x14005c280
mov rcx, qword [rsp + 0x620]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rsp + 0x620], 0
jmp 0x14005c2b5
mov rax, qword [rsp + 0xb40]
add rax, 8
mov rcx, rax
call fcn.140003530
lea r9, [rsp + 0x380]
mov r8, rax
lea rdx, [0x14020d010]
mov rcx, qword [rsp + 0xb40]
call fcn.14005dc00
lea rdx, [rsp + 0xad0]
lea rcx, [rsp + 0x380]
call fcn.1400121b0
mov rax, qword [rax]
mov qword [rsp + 0x378], rax
jmp 0x14005c2ef
xor r8d, r8d
lea rdx, [rsp + 0xad8]
lea rcx, [rsp + 0x378]
call fcn.14002f650
lea rdx, [rsp + 0xae0]
lea rcx, [rsp + 0x380]
call fcn.14002f230
mov rdx, rax
lea rcx, [rsp + 0x378]
call fcn.140004330
movzx eax, al
test eax, eax
je 0x14005c8e2
lea rcx, [rsp + 0x378]
call fcn.14002f630
mov rcx, rax
call fcn.140003530
mov rdx, rax
lea rcx, [rsp + 0x3a8]
call fcn.140010520
lea rdx, [0x14020b1b4]
lea rcx, [rsp + 0x3a8]
call fcn.140010580
mov rax, qword [rsp + 0xb40]
add rax, 0x30
mov rcx, rax
call fcn.140003810
test rax, rax
je 0x14005c482
lea rcx, [rsp + 0x630]
call fcn.140061270
nop
mov qword [rsp + 0x628], 0
mov rax, qword [rsp + 0xb40]
add rax, 0x30
mov rcx, rax
call fcn.140003530
mov r8w, 0x5c
mov rdx, rax
lea rcx, [rsp + 0x630]
call fcn.1400612e0
mov qword [rsp + 0x660], 0
jmp 0x14005c3d9
mov rax, qword [rsp + 0x660]
inc rax
mov qword [rsp + 0x660], rax
lea rcx, [rsp + 0x630]
call fcn.140062550
cmp qword [rsp + 0x660], rax
jae 0x14005c475
mov rdx, qword [rsp + 0x660]
lea rcx, [rsp + 0x630]
call fcn.1400627c0
mov qword [rsp + 0x628], rax
cmp qword [rsp + 0x628], 0
jne 0x14005c41e
jmp 0x14005c3c6
mov rcx, qword [rsp + 0x628]
call fcn.1401abfb8
test rax, rax
jne 0x14005c432
jmp 0x14005c3c6
mov rdx, qword [rsp + 0x628]
lea rcx, [rsp + 0x3a8]
call fcn.140010580
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0xf8]
call fcn.1400109f0
lea rdx, [0x14020b2ec]
lea rcx, [rsp + 0x3a8]
call fcn.140010580
jmp 0x14005c3c6
lea rcx, [rsp + 0x630]
call fcn.1400612b0
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x3d0]
call fcn.1400104f0
lea rdx, [0x14020d098]
lea rcx, [rsp + 0x3a8]
call fcn.140010580
lea rcx, [rsp + 0x3a8]
call fcn.140003530
mov r8, rax
lea rdx, str.CShortcut::DeleteShortcut_ShortCut_Folder___1_s__n
mov ecx, 4
call fcn.14001c160
lea rcx, [rsp + 0x3a8]
call fcn.140003530
lea rdx, [rsp + 0x120]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x3a0], rax
cmp qword [rsp + 0x3a0], 0xffffffffffffffff
jne 0x14005c513
lea rdx, str.CShortcut::DeleteShortcut______Not_found._n
mov ecx, 4
call fcn.14001c160
jmp 0x14005c8dd
mov qword [rsp + 0x880], 0
mov qword [rsp + 0x888], 0
lea rcx, [rsp + 0xaa8]
call fcn.140003370
nop
lea rdx, [rsp + 0x3d0]
lea rcx, [rsp + 0xaa8]
call fcn.1400104f0
lea rdx, [rsp + 0x14c]
lea rcx, [rsp + 0xaa8]
call fcn.140010580
lea rcx, [rsp + 0xaa8]
call fcn.140003530
mov r8, rax
lea rdx, str.CShortcut::DeleteShortcut_FindFilePath___1_s__n
mov ecx, 4
call fcn.14001c160
cmp qword [rsp + 0xb48], 0
je 0x14005c5d0
mov rcx, qword [rsp + 0xb48]
call fcn.1401abfb8
test rax, rax
je 0x14005c5d0
mov rdx, qword [rsp + 0xb48]
lea rcx, [rsp + 0x14c]
call fcn.1401ac890
test eax, eax
je 0x14005c5d0
lea rdx, str.CShortcut::DeleteShortcut_Specified_name_is_not_matched._n
mov ecx, 5
call fcn.14001c160
jmp 0x14005c8a3
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
lea rax, [rsp + 0x880]
mov qword [rsp + 0x20], rax
lea r9, [0x140260780]
mov r8d, 1
xor edx, edx
lea rcx, [0x140260ae0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [rsp + 0xaa0], eax
cmp dword [rsp + 0xaa0], 0
jl 0x14005c843
mov rax, qword [rsp + 0x880]
mov rax, qword [rax]
lea r8, [rsp + 0x888]
lea rdx, [0x140260a90]
mov rcx, qword [rsp + 0x880]
call qword [rax]
mov dword [rsp + 0xaa0], eax
cmp dword [rsp + 0xaa0], 0
jl 0x14005c843
lea rcx, [rsp + 0xaa8]
call fcn.140003530
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14002f6c0
mov qword [rsp + 0xb10], rax
mov rcx, qword [rsp + 0xb10]
call fcn.14002fd40
mov dword [rsp + 0x28], 0x105
lea rcx, [rsp + 0x890]
mov qword [rsp + 0x20], rcx
mov r9d, 0xffffffff
mov r8, rax
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [rsp + 0x60]
call fcn.14002f710
mov rax, qword [rsp + 0x888]
mov rax, qword [rax]
xor r8d, r8d
lea rdx, [rsp + 0x890]
mov rcx, qword [rsp + 0x888]
call qword [rax + 0x28]
mov dword [rsp + 0xaa0], eax
cmp dword [rsp + 0xaa0], 0
jl 0x14005c843
lea r8, [rsp + 0x14c]
lea rdx, str.CShortcut::DeleteShortcut__1_s__Loading._n
mov ecx, 4
call fcn.14001c160
mov rax, qword [rsp + 0x880]
mov rax, qword [rax]
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, 0x105
lea rdx, [rsp + 0x670]
mov rcx, qword [rsp + 0x880]
call qword [rax + 0x18]
mov dword [rsp + 0xaa0], eax
lea r8, [rsp + 0x670]
lea rdx, str.CShortcut::DeleteShortcut_The_shell_link_object_is__1_s_._n
mov ecx, 4
call fcn.14001c160
cmp qword [rsp + 0xb50], 0
je 0x14005c7a5
mov rcx, qword [rsp + 0xb50]
call fcn.1401abfb8
test rax, rax
je 0x14005c7a5
mov rdx, qword [rsp + 0xb50]
lea rcx, [rsp + 0x670]
call fcn.1401ac890
test eax, eax
je 0x14005c78c
jmp 0x14005c843
lea r8, [rsp + 0x670]
lea rdx, str.CShortcut::DeleteShortcut_The_target___1_s___is_matched._n
mov ecx, 4
call fcn.14001c160
cmp dword [rsp + 0xb58], 0
je 0x14005c7e8
lea rcx, [rsp + 0x670]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14005c7e8
lea r8, [rsp + 0x14c]
lea rdx, str.CShortcut::DeleteShortcut__1_s__find_the_target_of_a_Shell_link._n
mov ecx, 4
call fcn.14001c160
mov dword [rsp + 0x370], 0
jmp 0x14005c843
lea rcx, [rsp + 0xaa8]
call fcn.140003530
mov edx, 0x80
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0xaa8]
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x14005c838
lea r8, [rsp + 0x14c]
lea rdx, str.CShortcut::DeleteShortcut__1_s__is_deleted._n
mov ecx, 4
call fcn.14001c160
jmp 0x14005c843
mov dword [rsp + 0x370], 0
cmp qword [rsp + 0x880], 0
je 0x14005c870
mov rax, qword [rsp + 0x880]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x880]
call qword [rax + 0x10]
mov qword [rsp + 0x880], 0
cmp qword [rsp + 0x888], 0
je 0x14005c89d
mov rax, qword [rsp + 0x888]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x888]
call qword [rax + 0x10]
mov qword [rsp + 0x888], 0
call qword [sym.imp.ole32.dll_CoUninitialize]
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14005c539
mov rcx, qword [rsp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rcx, [rsp + 0xaa8]
call fcn.140003430
jmp 0x14005c2d7
lea rdx, [rsp + 0xae8]
lea rcx, [rsp + 0xf8]
call fcn.14005e3c0
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
jmp 0x14005c91c
xor r8d, r8d
lea rdx, [rsp + 0xaf0]
lea rcx, [rsp + 0xf0]
call fcn.14005e460
lea rdx, [rsp + 0xaf8]
lea rcx, [rsp + 0xf8]
call fcn.14005e400
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.14005e750
movzx eax, al
test eax, eax
je 0x14005ca2e
lea rcx, [rsp + 0xf0]
call fcn.14005e4b0
mov rcx, rax
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14005ca29
lea rcx, [rsp + 0xf0]
call fcn.14005e4b0
mov rcx, rax
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0x10
test eax, eax
je 0x14005ca29
lea rcx, [rsp + 0xf0]
call fcn.14005e4b0
mov rcx, rax
call fcn.140003530
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x14005c9e9
lea rcx, [rsp + 0xf0]
call fcn.14005e4b0
mov rcx, rax
call fcn.140003530
mov r8, rax
lea rdx, str.CShortcut::DeleteShortcut__1_s__empty._removed._n
mov ecx, 4
call fcn.14001c160
jmp 0x14005ca29
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xb18], eax
lea rcx, [rsp + 0xf0]
call fcn.14005e4b0
mov rcx, rax
call fcn.140003530
mov ecx, dword [rsp + 0xb18]
mov r9d, ecx
mov r8, rax
lea rdx, str.CShortcut::DeleteShortcut__1_s__cannot_be_deleted.__0x_2_lx___n
mov ecx, 2
call fcn.14001c160
jmp 0x14005c904
lea rdx, str.CShortcut::DeleteShortcut__________________________OUT._n
mov ecx, 5
call fcn.14001c160
mov eax, dword [rsp + 0x370]
mov dword [rsp + 0xb00], eax
lea rcx, [rsp + 0xf8]
call fcn.140010770
nop
lea rcx, [rsp + 0x380]
call fcn.140010770
nop
lea rcx, [rsp + 0x3d0]
call fcn.140003430
nop
lea rcx, [rsp + 0x3a8]
call fcn.140003430
mov eax, dword [rsp + 0xb00]
jmp 0x14005cae7
lea rdx, str.CShortcut::DeleteShortcut__________________________ERROR_OUT._n
mov ecx, 5
call fcn.14001c160
mov dword [rsp + 0xb04], 0
lea rcx, [rsp + 0xf8]
call fcn.140010770
nop
lea rcx, [rsp + 0x380]
call fcn.140010770
nop
lea rcx, [rsp + 0x3d0]
call fcn.140003430
nop
lea rcx, [rsp + 0x3a8]
call fcn.140003430
mov eax, dword [rsp + 0xb04]
mov rcx, qword [rsp + 0xb20]
xor rcx, rsp
call fcn.1401ab2d0
add rsp, 0xb38
ret