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

Disassembly:
push 0x4f8
mov eax, 0x5ada52
call fcn.00588aeb
mov edi, ecx
mov dword [ebp - 0x504], edi
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
push 7
mov dword [ebp - 0x4e4], eax
pop edx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x500], ebx
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x23c], ecx
mov word [ebp - 0x24c], ax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x26c], ecx
mov word [ebp - 0x27c], ax
mov esi, ecx
mov dword [ebp - 0x4d4], esi
mov dword [ebp - 0x4f0], esi
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], ecx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], ecx
push 0x5d38c4
push str.CShortcut::DeleteShortcutW
push 5
mov byte [ebp - 4], 3
mov dword [ebp - 0x4dc], 1
call fcn.00423f75
add esp, 0xc
cmp dword [ebp + 0x18], esi
jne 0x468714
test ebx, ebx
jne 0x468714
cmp dword [ebp - 0x4e4], esi
jne 0x468714
push str.pName_and_pTarget_are_NULL_on_not_DeadLinkOnly._n
mov ebx, str.CShortcut::DeleteShortcutW
push ebx
push 5
call fcn.00423f75
push 0x5d3964
push ebx
push 5
call fcn.00423f75
add esp, 0x18
xor ebx, ebx
mov dword [ebp - 0x4dc], ebx
jmp 0x468e2a
cmp dword [edi + 0x4c], 1
jne 0x468822
xor eax, eax
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], eax
mov word [ebp - 0x234], ax
push 0x17
pop ebx
push str.CShortcut::user_all._n
push str.CShortcut::DeleteShortcutW
push 5
mov byte [ebp - 4], 4
call fcn.00423f75
add edi, 4
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x46875f
mov eax, dword [edi]
jmp 0x468761
mov eax, edi
push 0x5d3860
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x468776
push 0x19
jmp 0x4687b2
cmp dword [edi + 0x14], 8
jb 0x468780
mov eax, dword [edi]
jmp 0x468782
mov eax, edi
push str.Programs
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x4687d2
cmp dword [edi + 0x14], 8
jb 0x46879d
mov eax, dword [edi]
jmp 0x46879f
mov eax, edi
push str.Start_Menu
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x4687b5
push 0x16
pop ebx
jmp 0x4687d2
cmp dword [edi + 0x14], 8
jb 0x4687bd
mov edi, dword [edi]
push str.Startup
push edi
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
push 0x18
pop eax
cmove ebx, eax
xor edi, edi
push edi
push ebx
lea eax, [ebp - 0x234]
push eax
push edi
call fcn.0044a039
add esp, 0x10
test eax, eax
je 0x468808
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x4f0]
call fcn.0041fe09
mov esi, dword [ebp - 0x4f0]
mov dword [ebp - 0x4d4], esi
push edi
push 1
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.00403a7f
push 8
pop ebx
jmp 0x468d27
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x234]
call fcn.00401069
push 8
pop ebx
cmp dword [ebp - 0x220], ebx
lea ecx, [ebp - 0x4f0]
push ecx
lea eax, [ebp - 0x234]
cmovae eax, dword [ebp - 0x234]
push eax
push str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerShell_Folders
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.00468e6a
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.00403a7f
mov esi, dword [ebp - 0x4f0]
jmp 0x468d21
cmp dword [esi + 0x14], ebx
jb 0x468887
mov edi, dword [esi]
jmp 0x468889
mov edi, esi
xor eax, eax
cmp word [edi], ax
je 0x468897
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.00403cef
mov edi, 0x5bef0c
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.00403b92
mov edi, dword [ebp - 0x504]
cmp dword [edi + 0x44], 0
je 0x4689b0
lea ecx, [ebp - 0x234]
call fcn.0046c48f
lea eax, [edi + 0x34]
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], ebx
jb 0x4688e6
mov eax, dword [eax]
push 0x5c
push eax
lea ecx, [ebp - 0x234]
call fcn.0046d9ee
xor eax, eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x4d8], eax
call fcn.0046c815
test eax, eax
je 0x4689a1
mov esi, dword [ebp - 0x4d8]
push esi
lea ecx, [ebp - 0x234]
call fcn.0046caa8
push esi
lea ecx, [ebp - 0x234]
mov edi, eax
call fcn.0046cb38
inc eax
test edi, edi
je 0x468987
push eax
push edi
call fcn.0058b10d
pop ecx
pop ecx
test eax, eax
je 0x468987
xor eax, eax
cmp word [edi], ax
je 0x46894f
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.00403b92
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.0041fe09
mov edi, 0x5bef0c
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.00403b92
lea ecx, [ebp - 0x234]
inc esi
call fcn.0046c815
cmp esi, eax
jb 0x468915
mov esi, dword [ebp - 0x4d4]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.0046c546
push 0xffffffffffffffff
xor edi, edi
push edi
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00403c35
push str..lnk
call fcn.00588144
pop ecx
push eax
push str..lnk
lea ecx, [ebp - 0x24c]
call fcn.00403b92
cmp dword [ebp - 0x238], ebx
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
push str.ShortCut_Folder___1_ls__n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
cmp dword [ebp - 0x238], ebx
lea ecx, [ebp - 0x4cc]
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4d8], eax
cmp eax, 0xffffffff
jne 0x468a50
push str._____Not_found._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0xc
jmp 0x468d1c
xor eax, eax
mov dword [ebp - 0x4d0], edi
mov dword [ebp - 0x4e0], edi
mov dword [ebp - 0x250], 7
mov dword [ebp - 0x254], edi
mov word [ebp - 0x264], ax
mov edi, dword [ebp - 0x4d8]
mov esi, dword [ebp - 0x500]
mov byte [ebp - 4], 7
push 0xffffffffffffffff
xor eax, eax
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x264]
call fcn.00403c35
cmp word [ebp - 0x4a0], 0
jne 0x468aaa
xor eax, eax
jmp 0x468ab7
lea eax, [ebp - 0x4a0]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x264]
call fcn.00403b92
cmp dword [ebp - 0x250], ebx
lea eax, [ebp - 0x264]
cmovae eax, dword [ebp - 0x264]
push eax
push str.FindFilePath___1_ls__n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
test esi, esi
je 0x468b31
push dword [ebp + 0xc]
push esi
call fcn.0058b10d
pop ecx
pop ecx
test eax, eax
je 0x468b31
lea eax, [ebp - 0x4a0]
push esi
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x468b31
push str.Specified_name_is_not_matched._n
push str.CShortcut::DeleteShortcutW
push 5
call fcn.00423f75
add esp, 0xc
jmp 0x468ce5
xor eax, eax
push eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, eax
lea eax, [ebp - 0x4d0]
push eax
push 0x605ae0
push 1
xor eax, eax
push eax
push 0x605e70
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x468ca5
mov eax, dword [ebp - 0x4d0]
lea edx, [ebp - 0x4e0]
mov ecx, dword [eax]
push edx
push 0x605e20
push eax
call dword [ecx]
test eax, eax
js 0x468ca5
cmp dword [ebp - 0x250], ebx
mov eax, dword [ebp - 0x4e0]
lea edx, [ebp - 0x264]
cmovae edx, dword [ebp - 0x264]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
js 0x468ca5
lea eax, [ebp - 0x4a0]
push eax
push str._1_ls__Loading._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
mov eax, dword [ebp - 0x4d0]
add esp, 0x10
mov ecx, dword [eax]
push 2
push 0
push 0x105
lea edx, [ebp - 0x21c]
push edx
push eax
call dword [ecx + 0xc]
lea eax, [ebp - 0x21c]
push eax
push str.The_shell_link_object_is__1_ls_._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
mov eax, dword [ebp - 0x4e4]
add esp, 0x10
test eax, eax
je 0x468c47
push dword [ebp + 0x14]
push eax
call fcn.0058b10d
pop ecx
pop ecx
test eax, eax
je 0x468c47
push dword [ebp - 0x4e4]
lea eax, [ebp - 0x21c]
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x468ca5
lea eax, [ebp - 0x21c]
push eax
push str.The_target___1_ls___is_matched._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
push str.szTargetPath____1_ls___n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x468d51
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x468d51
lea eax, [ebp - 0x4a0]
push eax
push str._1_ls__find_the_target_of_a_Shell_link._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4d0]
test ecx, ecx
je 0x468cbd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4e0]
test ecx, ecx
je 0x468cd5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebp - 0x4e0], eax
test edi, edi
js 0x468cdf
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edi, dword [ebp - 0x4d8]
lea eax, [ebp - 0x4cc]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x468a85
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 3
call fcn.00403a7f
mov esi, dword [ebp - 0x4d4]
push 0x18
pop eax
add esi, eax
mov dword [ebp - 0x4d4], esi
cmp esi, dword [ebp - 0x4ec]
jne 0x46887e
mov esi, dword [ebp - 0x4f8]
cmp esi, dword [ebp - 0x4fc]
je 0x468e14
add esi, 0xffffffe8
cmp dword [esi + 0x14], ebx
jb 0x468d93
mov eax, dword [esi]
jmp 0x468d95
cmp dword [ebp - 0x250], ebx
lea eax, [ebp - 0x264]
cmovae eax, dword [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x468c9d
lea eax, [ebp - 0x4a0]
push eax
push str._1_ls__is_deleted._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
jmp 0x468ca5
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x468e00
cmp dword [esi + 0x14], ebx
jb 0x468daa
mov eax, dword [esi]
jmp 0x468dac
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x468dd9
cmp dword [esi + 0x14], ebx
jb 0x468dc0
mov eax, dword [esi]
jmp 0x468dc2
mov eax, esi
push eax
push str._1_ls__empty._removed._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00423f75
add esp, 0x10
jmp 0x468e00
cmp dword [esi + 0x14], ebx
jb 0x468de2
mov edi, dword [esi]
jmp 0x468de4
mov edi, esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str._1_ls__cannot_be_deleted.__0x_2_lx___n
push str.CShortcut::DeleteShortcutW
push 2
call fcn.00423f75
add esp, 0x14
push 0x18
pop eax
sub esi, eax
lea eax, [esi + 0x18]
cmp eax, dword [ebp - 0x4fc]
jne 0x468d48
push 0x5d3964
push str.CShortcut::DeleteShortcutW
push 5
call fcn.00423f75
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp - 0x4fc]
call fcn.0041eb55
lea ecx, [ebp - 0x4f0]
call fcn.0041eb55
push ebx
push 1
lea ecx, [ebp - 0x27c]
call fcn.00403a7f
push ebx
push 1
lea ecx, [ebp - 0x24c]
call fcn.00403a7f
mov eax, dword [ebp - 0x4dc]
call fcn.00588a9a
ret 0x14