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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf68
mov eax, dword [0x481288]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xe60], 0
mov word [ebp - 0xa38], 0
push 0x206
push 0
lea eax, [ebp - 0xa36]
push eax
call fcn.00415680
add esp, 0xc
lea ecx, [ebp - 0xe60]
push ecx
push 0x17
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov dword [ebp - 0xe5c], eax
lea edx, [ebp - 0xd50]
push edx
mov eax, dword [ebp - 0xe60]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [ebp - 0x82c], eax
lea ecx, [ebp - 0xd50]
push ecx
push 0x472ef0
push 0x208
push 0x104
lea edx, [ebp - 0xa38]
push edx
call fcn.004157ac
add esp, 0x14
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0xd50]
push edx
push 0x472ef8
push 0x410
push 0x208
lea eax, [ebp - 0x828]
push eax
call fcn.004157ac
add esp, 0x1c
lea ecx, [ebp - 0x828]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 0xb48], 0
push 0x103
push 0
lea edx, [ebp - 0xb47]
push edx
call fcn.00415680
add esp, 0xc
mov byte [ebp - 0xf68], 0
push 0x103
push 0
lea eax, [ebp - 0xf67]
push eax
call fcn.00415680
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebp - 0xa3c], eax
push 0
push 0
push 0x104
lea ecx, [ebp - 0xf68]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0xa38]
push edx
push 0x200
mov eax, dword [ebp - 0xa3c]
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xa40], eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0xf68]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x472f0c
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0xf68]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 0xe58], 0
push 0x103
push 0
lea ecx, [ebp - 0xe57]
push ecx
call fcn.00415680
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0xd50]
push eax
push 0x472f10
push 0x410
push 0x208
lea ecx, [ebp - 0x418]
push ecx
call fcn.004157ac
add esp, 0x18
push 0
push 0
push 0x104
lea edx, [ebp - 0xf68]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0xa38]
push eax
push 0x200
mov ecx, dword [ebp - 0xa3c]
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xa40], eax
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [ebp + 0x18], 0
je 0x43a0e3
lea ecx, [ebp - 0x418]
push ecx
call fcn.00438d00
add esp, 4
jmp 0x43a0fd
lea edx, [ebp - 0x418]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea ecx, [ebp - 0xe60]
push ecx
push 2
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea edx, [ebp - 0xd50]
push edx
mov eax, dword [ebp - 0xe60]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea ecx, [ebp - 0xd50]
push ecx
push 0x472f1c
push 0x208
push 0x104
lea edx, [ebp - 0xa38]
push edx
call fcn.004157ac
add esp, 0x14
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0xd50]
push edx
push 0x472f24
push 0x410
push 0x208
lea eax, [ebp - 0x828]
push eax
call fcn.004157ac
add esp, 0x1c
lea ecx, [ebp - 0x828]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0
push 0x104
lea edx, [ebp - 0xf68]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0xa38]
push eax
push 0x200
mov ecx, dword [ebp - 0xa3c]
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xa40], eax
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x472f38
lea ecx, [ebp - 0xf68]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0xf68]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0xd50]
push eax
push 0x472f3c
push 0x410
push 0x208
lea ecx, [ebp - 0x418]
push ecx
call fcn.004157ac
add esp, 0x18
push 0
push 0
push 0x104
lea edx, [ebp - 0xf68]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0xa38]
push eax
push 0x200
mov ecx, dword [ebp - 0xa3c]
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xa40], eax
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [ebp + 0x18], 0
je 0x43a275
lea ecx, [ebp - 0x418]
push ecx
call fcn.00438d00
add esp, 4
jmp 0x43a28f
lea edx, [ebp - 0x418]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea eax, [ebp - 0xf68]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004151d0
mov esp, ebp
pop ebp
ret