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

Disassembly:
push 0x4f8
mov eax, 0x44bd5d
call fcn.004386f7
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 0x456df4
push str.CShortcut::DeleteShortcutW
push 5
mov byte [ebp - 4], 3
mov dword [ebp - 0x4dc], 1
call fcn.00405a24
add esp, 0xc
cmp dword [ebp + 0x18], esi
jne 0x42e744
test ebx, ebx
jne 0x42e744
cmp dword [ebp - 0x4e4], esi
jne 0x42e744
push str.pName_and_pTarget_are_NULL_on_not_DeadLinkOnly._n
mov ebx, str.CShortcut::DeleteShortcutW
push ebx
push 5
call fcn.00405a24
push 0x456e94
push ebx
push 5
call fcn.00405a24
add esp, 0x18
xor ebx, ebx
mov dword [ebp - 0x4dc], ebx
jmp 0x42ee5a
cmp dword [edi + 0x4c], 1
jne 0x42e852
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.00405a24
add edi, 4
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x42e78f
mov eax, dword [edi]
jmp 0x42e791
mov eax, edi
push str.Desktop
push eax
call fcn.0043933f
pop ecx
pop ecx
test eax, eax
jne 0x42e7a6
push 0x19
jmp 0x42e7e2
cmp dword [edi + 0x14], 8
jb 0x42e7b0
mov eax, dword [edi]
jmp 0x42e7b2
mov eax, edi
push str.Programs
push eax
call fcn.0043933f
pop ecx
pop ecx
test eax, eax
je 0x42e802
cmp dword [edi + 0x14], 8
jb 0x42e7cd
mov eax, dword [edi]
jmp 0x42e7cf
mov eax, edi
push str.Start_Menu
push eax
call fcn.0043933f
pop ecx
pop ecx
test eax, eax
jne 0x42e7e5
push 0x16
pop ebx
jmp 0x42e802
cmp dword [edi + 0x14], 8
jb 0x42e7ed
mov edi, dword [edi]
push str.Startup
push edi
call fcn.0043933f
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.00427d59
add esp, 0x10
test eax, eax
je 0x42e838
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x4f0]
call fcn.00421582
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.00401ba5
push 8
pop ebx
jmp 0x42ed57
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x234]
call fcn.00403424
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 0x452450
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.0042ee9a
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.00401ba5
mov esi, dword [ebp - 0x4f0]
jmp 0x42ed51
cmp dword [esi + 0x14], ebx
jb 0x42e8b7
mov edi, dword [esi]
jmp 0x42e8b9
mov edi, esi
xor eax, eax
cmp word [edi], ax
je 0x42e8c7
push edi
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.00401db2
mov edi, 0x44d8a8
push edi
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.004053dd
mov edi, dword [ebp - 0x504]
cmp dword [edi + 0x44], 0
je 0x42e9e0
lea ecx, [ebp - 0x234]
call fcn.00430fac
lea eax, [edi + 0x34]
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], ebx
jb 0x42e916
mov eax, dword [eax]
push 0x5c
push eax
lea ecx, [ebp - 0x234]
call fcn.0043250a
xor eax, eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x4d8], eax
call fcn.00431332
test eax, eax
je 0x42e9d1
mov esi, dword [ebp - 0x4d8]
push esi
lea ecx, [ebp - 0x234]
call fcn.004315c5
push esi
lea ecx, [ebp - 0x234]
mov edi, eax
call fcn.00431655
inc eax
test edi, edi
je 0x42e9b7
push eax
push edi
call fcn.0043965b
pop ecx
pop ecx
test eax, eax
je 0x42e9b7
xor eax, eax
cmp word [edi], ax
je 0x42e97f
push edi
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.004053dd
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.00421582
mov edi, 0x44d8a8
push edi
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x24c]
call fcn.004053dd
lea ecx, [ebp - 0x234]
inc esi
call fcn.00431332
cmp esi, eax
jb 0x42e945
mov esi, dword [ebp - 0x4d4]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.00431063
push 0xffffffffffffffff
xor edi, edi
push edi
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00401cf8
push str..lnk
call fcn.0043860f
pop ecx
push eax
push str..lnk
lea ecx, [ebp - 0x24c]
call fcn.004053dd
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.00405a24
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 0x42ea80
push str._____Not_found._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00405a24
add esp, 0xc
jmp 0x42ed4c
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.00401cf8
cmp word [ebp - 0x4a0], 0
jne 0x42eada
xor eax, eax
jmp 0x42eae7
lea eax, [ebp - 0x4a0]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x264]
call fcn.004053dd
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.00405a24
add esp, 0x10
test esi, esi
je 0x42eb61
push dword [ebp + 0xc]
push esi
call fcn.0043965b
pop ecx
pop ecx
test eax, eax
je 0x42eb61
lea eax, [ebp - 0x4a0]
push esi
push eax
call fcn.0043933f
pop ecx
pop ecx
test eax, eax
je 0x42eb61
push str.Specified_name_is_not_matched._n
push str.CShortcut::DeleteShortcutW
push 5
call fcn.00405a24
add esp, 0xc
jmp 0x42ed15
xor eax, eax
push eax
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, eax
lea eax, [ebp - 0x4d0]
push eax
push 0x458d98
push 1
xor eax, eax
push eax
push 0x458de8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x42ecd5
mov eax, dword [ebp - 0x4d0]
lea edx, [ebp - 0x4e0]
mov ecx, dword [eax]
push edx
push 0x458dd8
push eax
call dword [ecx]
test eax, eax
js 0x42ecd5
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 0x42ecd5
lea eax, [ebp - 0x4a0]
push eax
push str._1_ls__Loading._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00405a24
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.00405a24
mov eax, dword [ebp - 0x4e4]
add esp, 0x10
test eax, eax
je 0x42ec77
push dword [ebp + 0x14]
push eax
call fcn.0043965b
pop ecx
pop ecx
test eax, eax
je 0x42ec77
push dword [ebp - 0x4e4]
lea eax, [ebp - 0x21c]
push eax
call fcn.0043933f
pop ecx
pop ecx
test eax, eax
jne 0x42ecd5
lea eax, [ebp - 0x21c]
push eax
push str.The_target___1_ls___is_matched._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00405a24
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
push str.szTargetPath____1_ls___n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00405a24
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x42ed81
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42ed81
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.00405a24
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4d0]
test ecx, ecx
je 0x42eced
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 0x42ed05
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebp - 0x4e0], eax
test edi, edi
js 0x42ed0f
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 0x42eab5
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.00401ba5
mov esi, dword [ebp - 0x4d4]
push 0x18
pop eax
add esi, eax
mov dword [ebp - 0x4d4], esi
cmp esi, dword [ebp - 0x4ec]
jne 0x42e8ae
mov esi, dword [ebp - 0x4f8]
cmp esi, dword [ebp - 0x4fc]
je 0x42ee44
add esi, 0xffffffe8
cmp dword [esi + 0x14], ebx
jb 0x42edc3
mov eax, dword [esi]
jmp 0x42edc5
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 0x42eccd
lea eax, [ebp - 0x4a0]
push eax
push str._1_ls__is_deleted._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00405a24
add esp, 0x10
jmp 0x42ecd5
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42ee30
cmp dword [esi + 0x14], ebx
jb 0x42edda
mov eax, dword [esi]
jmp 0x42eddc
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x42ee09
cmp dword [esi + 0x14], ebx
jb 0x42edf0
mov eax, dword [esi]
jmp 0x42edf2
mov eax, esi
push eax
push str._1_ls__empty._removed._n
push str.CShortcut::DeleteShortcutW
push 4
call fcn.00405a24
add esp, 0x10
jmp 0x42ee30
cmp dword [esi + 0x14], ebx
jb 0x42ee12
mov edi, dword [esi]
jmp 0x42ee14
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.00405a24
add esp, 0x14
push 0x18
pop eax
sub esi, eax
lea eax, [esi + 0x18]
cmp eax, dword [ebp - 0x4fc]
jne 0x42ed78
push 0x456e94
push str.CShortcut::DeleteShortcutW
push 5
call fcn.00405a24
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp - 0x4fc]
call fcn.004052ea
lea ecx, [ebp - 0x4f0]
call fcn.004052ea
push ebx
push 1
lea ecx, [ebp - 0x27c]
call fcn.00401ba5
push ebx
push 1
lea ecx, [ebp - 0x24c]
call fcn.00401ba5
mov eax, dword [ebp - 0x4dc]
call fcn.004386a6
ret 0x14