Function at 0x41e510
Capabilities:
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x870
mov eax, dword [0x4713e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x868], 1
mov dword [ebp - 0x864], 1
push 0x24
push 0
lea eax, [ebp - 0x860]
push eax
call fcn.0043a830
add esp, 0xc
mov ecx, dword [ebp + 8]
and ecx, 0x80000007
jns 0x41e55a
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 7
ja case.default.0x41e573
mov edx, dword [ebp - 0x86c]
jmp dword [edx*4 + 0x41ec84]
push 0x400
lea eax, [ebp - 0x404]
push eax
call fcn.00422c10
add esp, 8
jmp case.default.0x41e573
push 0x400
lea ecx, [ebp - 0x404]
push ecx
call fcn.00422b90
add esp, 8
jmp case.default.0x41e573
push 0x400
lea edx, [ebp - 0x404]
push edx
call fcn.00422c30
add esp, 8
jmp case.default.0x41e573
push 0x400
lea eax, [ebp - 0x404]
push eax
call fcn.00422bb0
add esp, 8
jmp case.default.0x41e573
push 0x400
lea ecx, [ebp - 0x404]
push ecx
call fcn.00422c50
add esp, 8
jmp case.default.0x41e573
push 0x400
lea edx, [ebp - 0x404]
push edx
call fcn.00422bd0
add esp, 8
jmp case.default.0x41e573
push 0x400
lea eax, [ebp - 0x404]
push eax
call fcn.00422c70
add esp, 8
jmp case.default.0x41e573
push 0x400
lea ecx, [ebp - 0x404]
push ecx
call fcn.00422bf0
add esp, 8
mov edx, 1
imul eax, edx, 0
movzx ecx, byte [ebp + eax - 0x404]
test ecx, ecx
jne 0x41e656
push str.Shortcut_Path_not_found_within_registry_r_n
call fcn.004145f0
add esp, 4
xor eax, eax
jmp 0x41ec74
lea edx, [ebp - 0x404]
push edx
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 6
lea ecx, [ebp - 0x834]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 1
jl 0x41e697
cmp dword [ebp - 0x838], 2
jle 0x41e6ab
push str.Command_Error_Start_Menu._r_n
call fcn.004145f0
add esp, 4
xor eax, eax
jmp 0x41ec74
cmp dword [ebp - 0x838], 1
jne 0x41e6c8
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 0
push 6
lea eax, [ebp - 0x81c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004206a0
add esp, 0xc
cmp eax, 1
jge 0x41e6f6
push str.Command_Parameter_Error._r_n
call fcn.004145f0
add esp, 4
xor eax, eax
jmp 0x41ec74
cmp dword [ebp - 0x868], 0
je 0x41e75c
push 0x46a070
lea edx, [ebp - 0x404]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0x834]
push edx
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0x404]
push ecx
call fcn.0041e3a0
add esp, 4
test eax, eax
jne 0x41e75c
lea edx, [ebp - 0x404]
push edx
push str.Directory__s_could_not_be_created._r_n
call fcn.004145f0
add esp, 8
xor eax, eax
jmp 0x41ec74
push 0x46a09c
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [ebp - 0x864]
mov edx, dword [ebp + ecx*4 - 0x834]
push edx
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push str..lnk
lea ecx, [ebp - 0x404]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x46a0a8
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + eax - 0x81c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x41e867
push str.Delete_Shortcut_r_n
call fcn.004145f0
add esp, 4
lea edx, [ebp - 0x404]
push edx
push 0x46a0c0
call fcn.004145f0
add esp, 8
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x868], 0
je 0x41e85d
lea ecx, [ebp - 0x804]
push ecx
lea edx, [ebp - 0x404]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x46a0d4
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0x834]
push eax
lea ecx, [ebp - 0x404]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp - 0x404]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
je 0x41e85d
lea eax, [ebp - 0x404]
push eax
push 0x46a0d8
call fcn.004145f0
add esp, 8
mov eax, 1
jmp 0x41ec74
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0x81c]
mov dword [ebp - 0x860], eax
mov ecx, dword [ebp - 0x85c]
or ecx, 1
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x864]
mov eax, dword [ebp + edx*4 - 0x834]
mov dword [ebp - 0x858], eax
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x81c], 0
je 0x41e8d4
mov edx, dword [ebp - 0x85c]
or edx, 2
mov dword [ebp - 0x85c], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + eax - 0x81c]
mov dword [ebp - 0x854], ecx
mov edx, 4
shl edx, 1
cmp dword [ebp + edx - 0x81c], 0
je 0x41e96b
push 0x3b
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + eax - 0x81c]
push ecx
call fcn.00439480
add esp, 8
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x84c], 0
cmp dword [ebp - 0x83c], 0
je 0x41e948
mov edx, dword [ebp - 0x83c]
mov byte [edx], 0
mov eax, dword [ebp - 0x83c]
add eax, 1
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x83c]
push ecx
call fcn.004396d4
add esp, 4
mov dword [ebp - 0x84c], eax
mov edx, dword [ebp - 0x85c]
or edx, 4
mov dword [ebp - 0x85c], edx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + eax - 0x81c]
mov dword [ebp - 0x850], ecx
mov edx, 4
imul eax, edx, 3
cmp dword [ebp + eax - 0x81c], 0
je 0x41e9a1
mov ecx, dword [ebp - 0x85c]
or ecx, 8
mov dword [ebp - 0x85c], ecx
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp + eax - 0x81c]
mov dword [ebp - 0x848], ecx
mov edx, 4
shl edx, 2
cmp dword [ebp + edx - 0x81c], 0
je 0x41ea09
mov eax, dword [ebp - 0x85c]
or eax, 0x20
mov dword [ebp - 0x85c], eax
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp + ecx - 0x81c]
push edx
call fcn.004396d4
add esp, 4
mov dword [ebp - 0x844], eax
mov eax, dword [ebp - 0x844]
and eax, 0x40
je 0x41e9fa
mov ecx, dword [ebp - 0x85c]
or ecx, 0x40
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x844]
and edx, 0x3f
mov dword [ebp - 0x844], edx
push str.Create_Shortcut_r_n
call fcn.004147f0
add esp, 4
lea eax, [ebp - 0x404]
push eax
push str.__Path________s_r_n
call fcn.004147f0
add esp, 8
mov ecx, dword [ebp - 0x85c]
push ecx
push 0x468fb8
call fcn.004147f0
add esp, 8
mov edx, dword [ebp - 0x858]
push edx
call fcn.00414230
add esp, 4
push eax
push 0x468fd0
call fcn.004147f0
add esp, 8
mov eax, dword [ebp - 0x860]
push eax
call fcn.00414230
add esp, 4
push eax
push 0x468fe4
call fcn.004147f0
add esp, 8
mov ecx, dword [ebp - 0x854]
push ecx
call fcn.00414230
add esp, 4
push eax
push 0x468ff8
call fcn.004147f0
add esp, 8
mov edx, dword [ebp - 0x848]
push edx
call fcn.00414230
add esp, 4
push eax
push 0x46900c
call fcn.004147f0
add esp, 8
mov eax, dword [ebp - 0x84c]
push eax
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.00414230
add esp, 4
push eax
push 0x469020
call fcn.004147f0
add esp, 0xc
mov edx, dword [ebp - 0x844]
push edx
push 0x469038
call fcn.004147f0
add esp, 8
mov eax, dword [ebp - 0x85c]
and eax, 0x40
push eax
push 0x46904c
call fcn.004147f0
add esp, 8
push 0x469060
call fcn.004145f0
add esp, 4
lea ecx, [ebp - 0x404]
push ecx
push 0x469074
call fcn.004145f0
add esp, 8
mov edx, dword [ebp - 0x85c]
push edx
push str.__Flags_______08lx_r_n
call fcn.004145f0
add esp, 8
mov eax, dword [ebp - 0x858]
push eax
call fcn.00414230
add esp, 4
push eax
push str.__File________s_r_n
call fcn.004145f0
add esp, 8
mov ecx, dword [ebp - 0x860]
push ecx
call fcn.00414230
add esp, 4
push eax
push str.__Exe_________s_r_n
call fcn.004145f0
add esp, 8
mov edx, dword [ebp - 0x854]
push edx
call fcn.00414230
add esp, 4
push eax
push str.__Cmdline_____s_r_n
call fcn.004145f0
add esp, 8
mov eax, dword [ebp - 0x848]
push eax
call fcn.00414230
add esp, 4
push eax
push str.__Workdir_____s_r_n
call fcn.004145f0
add esp, 8
mov ecx, dword [ebp - 0x84c]
push ecx
mov edx, dword [ebp - 0x850]
push edx
call fcn.00414230
add esp, 4
push eax
push str.__Icon________s__u_r_n
call fcn.004145f0
add esp, 0xc
mov eax, dword [ebp - 0x844]
push eax
push str.__ShowCmd_____u_r_n
call fcn.004145f0
add esp, 8
mov ecx, dword [ebp - 0x85c]
and ecx, 0x40
push ecx
push str.__AsAdmin_____u_r_n
call fcn.004145f0
add esp, 8
lea edx, [ebp - 0x860]
push edx
lea eax, [ebp - 0x404]
push eax
call fcn.0041a5b0
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 0
je 0x41ec6e
push 0x5c
lea ecx, [ebp - 0x404]
push ecx
call fcn.0043a8c0
add esp, 8
mov dword [ebp - 0x870], eax
cmp dword [ebp - 0x870], 0
je 0x41ec6e
lea edx, [ebp - 0x404]
push edx
lea eax, [ebp - 0x404]
push eax
push 1
push 8
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x404]
push edx
push 1
push 0x1000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439b24
mov esp, ebp
pop ebp
ret