Function at 0x4046f0
Capabilities:
Delete directory
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6b8
mov eax, dword [0x42c3f8]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x6b8], ecx
lea ecx, [ebp - 0x64c]
call fcn.00406670
lea eax, [ebp - 0x670]
push eax
push 0x10
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jge 0x404739
lea ecx, [ebp - 0x64c]
call fcn.004066a0
jmp 0x404e8f
lea ecx, [ebp - 0x630]
push ecx
mov edx, dword [ebp - 0x670]
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
jne 0x404761
lea ecx, [ebp - 0x64c]
call fcn.004066a0
jmp 0x404e8f
lea eax, [ebp - 0x630]
push eax
lea ecx, [ebp - 0x668]
call fcn.00405d60
push 0x4258f8
lea ecx, [ebp - 0x668]
call fcn.00406010
push 0x4258fc
lea ecx, [ebp - 0x668]
call fcn.00406010
push 0x425908
lea ecx, [ebp - 0x668]
call fcn.00406010
lea ecx, [ebp - 0x668]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x630]
push ecx
lea ecx, [ebp - 0x650]
call fcn.00405d60
push 0x425914
lea ecx, [ebp - 0x650]
call fcn.00406010
push 0x425918
lea ecx, [ebp - 0x650]
call fcn.00406010
push 0x425928
lea ecx, [ebp - 0x650]
call fcn.00406010
lea ecx, [ebp - 0x650]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x654]
call fcn.00405400
lea ecx, [ebp - 0x658]
call fcn.00405400
lea ecx, [ebp - 0x214]
call fcn.00405400
push 0xd8
lea ecx, [ebp - 0x654]
call fcn.00405420
push 0xd9
lea ecx, [ebp - 0x658]
call fcn.00405420
push 0xd4
lea ecx, [ebp - 0x214]
call fcn.00405420
lea edx, [ebp - 0x630]
push edx
lea ecx, [ebp - 0x424]
call fcn.00405d60
push 0x425934
lea eax, [ebp - 0x654]
push eax
push 0x425940
lea ecx, [ebp - 0x674]
call fcn.00405d60
push eax
lea ecx, [ebp - 0x678]
push ecx
call fcn.00406210
push eax
lea edx, [ebp - 0x67c]
push edx
call fcn.00406270
push eax
lea ecx, [ebp - 0x424]
call fcn.00405fe0
lea ecx, [ebp - 0x67c]
call fcn.00405690
lea ecx, [ebp - 0x678]
call fcn.00405690
lea ecx, [ebp - 0x674]
call fcn.00405690
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00406720
lea ecx, [ebp - 0x65c]
push ecx
push 2
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jge 0x404948
lea ecx, [ebp - 0x424]
call fcn.00405690
lea ecx, [ebp - 0x214]
call fcn.00405690
lea ecx, [ebp - 0x658]
call fcn.00405690
lea ecx, [ebp - 0x654]
call fcn.00405690
lea ecx, [ebp - 0x650]
call fcn.00405690
lea ecx, [ebp - 0x668]
call fcn.00405690
lea ecx, [ebp - 0x64c]
call fcn.004066a0
jmp 0x404e8f
lea edx, [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x65c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
jne 0x4049b2
lea ecx, [ebp - 0x424]
call fcn.00405690
lea ecx, [ebp - 0x214]
call fcn.00405690
lea ecx, [ebp - 0x658]
call fcn.00405690
lea ecx, [ebp - 0x654]
call fcn.00405690
lea ecx, [ebp - 0x650]
call fcn.00405690
lea ecx, [ebp - 0x668]
call fcn.00405690
lea ecx, [ebp - 0x64c]
call fcn.004066a0
jmp 0x404e8f
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x66c]
call fcn.00405d60
push 0x425944
lea ecx, [ebp - 0x66c]
call fcn.00406010
push 0x425948
lea ecx, [ebp - 0x66c]
call fcn.00406010
push 0x425950
lea edx, [ebp - 0x66c]
push edx
lea eax, [ebp - 0x664]
push eax
call fcn.00406270
push 0x425954
lea ecx, [ebp - 0x664]
call fcn.00406010
push 0x425960
lea ecx, [ebp - 0x664]
call fcn.00406010
lea ecx, [ebp - 0x214]
push ecx
push 0x42596c
lea edx, [ebp - 0x66c]
push edx
lea eax, [ebp - 0x680]
push eax
call fcn.00406270
push eax
lea ecx, [ebp - 0x660]
push ecx
call fcn.00406210
lea ecx, [ebp - 0x680]
call fcn.00405690
push 0x425970
lea ecx, [ebp - 0x660]
call fcn.00406010
push 0x42597c
lea ecx, [ebp - 0x660]
call fcn.00406010
lea ecx, [ebp - 0x664]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x660]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x66c]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x424]
call fcn.00405510
push 0x425988
lea eax, [ebp - 0x654]
push eax
push 0x425994
push 0x425998
push 0x4259a0
lea ecx, [ebp - 0x684]
call fcn.00405d60
push eax
lea ecx, [ebp - 0x688]
push ecx
call fcn.00406270
push eax
lea edx, [ebp - 0x68c]
push edx
call fcn.00406270
push eax
lea eax, [ebp - 0x690]
push eax
call fcn.00406210
push eax
lea ecx, [ebp - 0x694]
push ecx
call fcn.00406270
push eax
lea ecx, [ebp - 0x424]
call fcn.00405fe0
lea ecx, [ebp - 0x694]
call fcn.00405690
lea ecx, [ebp - 0x690]
call fcn.00405690
lea ecx, [ebp - 0x68c]
call fcn.00405690
lea ecx, [ebp - 0x688]
call fcn.00405690
lea ecx, [ebp - 0x684]
call fcn.00405690
lea edx, [ebp - 0x424]
push edx
lea ecx, [ebp - 0x64c]
call fcn.00406720
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x424]
call fcn.00405510
push 0x4259a4
lea ecx, [ebp - 0x658]
push ecx
push 0x4259b0
push 0x4259b4
push 0x4259bc
lea ecx, [ebp - 0x698]
call fcn.00405d60
push eax
lea edx, [ebp - 0x69c]
push edx
call fcn.00406270
push eax
lea eax, [ebp - 0x6a0]
push eax
call fcn.00406270
push eax
lea ecx, [ebp - 0x6a4]
push ecx
call fcn.00406210
push eax
lea edx, [ebp - 0x6a8]
push edx
call fcn.00406270
push eax
lea ecx, [ebp - 0x424]
call fcn.00405fe0
lea ecx, [ebp - 0x6a8]
call fcn.00405690
lea ecx, [ebp - 0x6a4]
call fcn.00405690
lea ecx, [ebp - 0x6a0]
call fcn.00405690
lea ecx, [ebp - 0x69c]
call fcn.00405690
lea ecx, [ebp - 0x698]
call fcn.00405690
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00406720
lea ecx, [ebp - 0x634]
push ecx
push 0xb
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jge 0x404cb3
lea ecx, [ebp - 0x660]
call fcn.00405690
lea ecx, [ebp - 0x664]
call fcn.00405690
lea ecx, [ebp - 0x66c]
call fcn.00405690
lea ecx, [ebp - 0x424]
call fcn.00405690
lea ecx, [ebp - 0x214]
call fcn.00405690
lea ecx, [ebp - 0x658]
call fcn.00405690
lea ecx, [ebp - 0x654]
call fcn.00405690
lea ecx, [ebp - 0x650]
call fcn.00405690
lea ecx, [ebp - 0x668]
call fcn.00405690
lea ecx, [ebp - 0x64c]
call fcn.004066a0
jmp 0x404e8f
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x634]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
jne 0x404d3e
lea ecx, [ebp - 0x660]
call fcn.00405690
lea ecx, [ebp - 0x664]
call fcn.00405690
lea ecx, [ebp - 0x66c]
call fcn.00405690
lea ecx, [ebp - 0x424]
call fcn.00405690
lea ecx, [ebp - 0x214]
call fcn.00405690
lea ecx, [ebp - 0x658]
call fcn.00405690
lea ecx, [ebp - 0x654]
call fcn.00405690
lea ecx, [ebp - 0x650]
call fcn.00405690
lea ecx, [ebp - 0x668]
call fcn.00405690
lea ecx, [ebp - 0x64c]
call fcn.004066a0
jmp 0x404e8f
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 4]
call fcn.00405d60
push 0x4259c0
lea ecx, [ebp - 4]
call fcn.00406010
push 0x4259c4
lea ecx, [ebp - 4]
call fcn.00406010
push 0x4259d0
lea ecx, [ebp - 4]
call fcn.00406010
lea ecx, [ebp - 4]
call fcn.004032a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [ebp - 0x210]
push edx
lea ecx, [ebp - 0x424]
call fcn.00405510
push str..lnk
lea eax, [ebp - 0x654]
push eax
push 0x4259e8
lea ecx, [ebp - 0x6ac]
call fcn.00405d60
push eax
lea ecx, [ebp - 0x6b0]
push ecx
call fcn.00406210
push eax
lea edx, [ebp - 0x6b4]
push edx
call fcn.00406270
push eax
lea ecx, [ebp - 0x424]
call fcn.00405fe0
lea ecx, [ebp - 0x6b4]
call fcn.00405690
lea ecx, [ebp - 0x6b0]
call fcn.00405690
lea ecx, [ebp - 0x6ac]
call fcn.00405690
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00406720
lea ecx, [ebp - 0x64c]
push ecx
call fcn.004044a0
add esp, 4
lea ecx, [ebp - 4]
call fcn.00405690
lea ecx, [ebp - 0x660]
call fcn.00405690
lea ecx, [ebp - 0x664]
call fcn.00405690
lea ecx, [ebp - 0x66c]
call fcn.00405690
lea ecx, [ebp - 0x424]
call fcn.00405690
lea ecx, [ebp - 0x214]
call fcn.00405690
lea ecx, [ebp - 0x658]
call fcn.00405690
lea ecx, [ebp - 0x654]
call fcn.00405690
lea ecx, [ebp - 0x650]
call fcn.00405690
lea ecx, [ebp - 0x668]
call fcn.00405690
lea ecx, [ebp - 0x64c]
call fcn.004066a0
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00411eb4
mov esp, ebp
pop ebp
ret