Function at 0x405f40
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49e85b
mov eax, dword fs:[0]
push eax
mov eax, 0x1e9c
call fcn.00488190
mov eax, dword [0x4c9890]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.004866f0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0xc
jmp 0x405fa0
xorps xmm0, xmm0
mov ecx, edi
mov dword [ebp - 0x1e84], 0
movq qword [ebp - 0x1e80], xmm0
movq qword [ebp - 0x1e78], xmm0
movq qword [ebp - 0x1e70], xmm0
mov dword [ebp - 0x1e68], 0
call fcn.004089a0
push 0x400
mov dword [ebp - 0x1e84], eax
push 0x104
lea eax, [ebp - 0xb00]
push eax
push 0x1f8
push dword [edi + 4]
mov dword [ebp - 0x1e74], 0x40
call fcn.00412610
lea eax, [ebp - 0xb00]
add esp, 0x14
mov dword [ebp - 0x1e78], eax
lea eax, [ebp - 0x1e84]
push eax
mov dword [ebp - 0x1e70], 0x405de0
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
push str.Show_SHBrowse_Dlg_for_traget_folder
mov esi, eax
call fcn.004010d0
add esp, 4
lea eax, [ebp - 0x218]
test esi, esi
je 0x406320
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
xor eax, eax
push 0x40e
push eax
mov word [ebp - 0x1118], ax
lea eax, [ebp - 0x1116]
push eax
call fcn.004866f0
lea eax, [ebp - 0x218]
push eax
push str.User_selected_a_target_folder_:__s
lea eax, [ebp - 0x1118]
push 0x207
push eax
call fcn.00405510
lea eax, [ebp - 0x1118]
push eax
call fcn.004010d0
add esp, 0x20
lea eax, [ebp - 0x1e64]
push eax
mov dword [ebp - 0x1e64], 0
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x4060ca
mov eax, dword [ebp - 0x1e64]
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x1e64]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor esi, esi
lea esp, [esp]
push 0x103
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x4e8]
push eax
inc esi
call fcn.00487152
push esi
xor eax, eax
push str._d.exe
mov word [ebp - 0x2e2], ax
lea eax, [ebp - 0xd08]
push 0x103
push eax
call fcn.00401690
lea eax, [ebp - 0xd08]
push eax
lea eax, [ebp - 0x4e8]
push 0x104
push eax
call fcn.00411ff0
add esp, 0x28
lea eax, [ebp - 0x4e8]
push eax
call ebx
test eax, eax
jne 0x4060d0
lea eax, [ebp - 0x4e8]
push 0x4a2a0c
push eax
call fcn.00487587
add esp, 8
test eax, eax
jne 0x406308
lea eax, [ebp - 0x4e8]
push eax
push str._PrepareSavingPath___s__wfopen_failed
call fcn.00413860
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x8f8], ax
lea eax, [ebp - 0x8f6]
push eax
call fcn.004866f0
lea eax, [ebp - 0x8f8]
push 0x104
push eax
call fcn.00412920
push 0x400
mov esi, eax
push 0x32
lea eax, [ebp - 0x27c]
push eax
push 0x193
push dword [edi + 4]
call fcn.00412610
push 0x400
push 0x32
lea eax, [ebp - 0x2e0]
push eax
push 0x196
push dword [edi + 4]
call fcn.00412610
add esp, 0x44
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x6f0], ax
lea eax, [ebp - 0x6ee]
push eax
call fcn.004866f0
add esp, 0xc
lea eax, [ebp - 0x6f0]
push 0x400
push 0x104
push eax
cmp esi, 1
jne 0x406200
push 0x1fc
jmp 0x406205
push 0x1f9
push dword [edi + 4]
call fcn.00412610
add esp, 0x14
lea eax, [ebp - 0x6f0]
mov dword [ebp - 0x1ea8], eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x1ea4], eax
push 0
push dword [edi + 0xc]
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x1ea0], eax
lea eax, [ebp - 0x1ea8]
push eax
push 4
lea ecx, [ebp - 0x1e60]
mov dword [ebp - 0x1e9c], 0
mov dword [ebp - 0x1e98], 0x4a1b98
mov dword [ebp - 0x1e94], 0
mov dword [ebp - 0x1e90], 0
mov dword [ebp - 0x1e8c], 0
mov dword [ebp - 0x1e88], 0
call fcn.004092f0
lea ecx, [ebp - 0x1e60]
mov dword [ebp - 4], 0
call fcn.00409af0
cmp eax, 0x322
je 0x4062c6
push str.User_click_CANCEL_in_NO_PERMISSION_dlg
call fcn.004010d0
add esp, 4
lea ecx, [ebp - 0x1e60]
mov dword [ebp - 4], 0xffffffff
call fcn.004098d0
jmp 0x405fa0
push str.User_click_OK_in_NO_PERMISSION_dlg
call fcn.004010d0
push 0x103
lea eax, [ebp - 0x8f8]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00487152
xor eax, eax
add esp, 0x10
lea ecx, [ebp - 0x1e60]
mov word [ebp - 0x12], ax
mov dword [ebp - 4], 0xffffffff
call fcn.004098d0
jmp 0x40638d
push eax
call fcn.00487717
add esp, 4
lea eax, [ebp - 0x4e8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x40638d
push 0x103
push 0x4cae00
push eax
call fcn.00487152
add esp, 0xc
xor eax, eax
mov word [ebp - 0x12], ax
mov ecx, 0x4a1b98
lea eax, [ebp - 0x218]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40636a
test dx, dx
je 0x406366
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40636a
add eax, 4
add ecx, 4
test dx, dx
jne 0x406344
xor eax, eax
jmp 0x40636f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406380
push str._ERROR_PrepareSavingPath____User_cancel_browse_folder__failed_to_get_CSIDL_PERSONAL_path.
call fcn.004010d0
add esp, 4
push str.User_cancel_browse_folder__Store_to_original_path_
call fcn.004010d0
add esp, 4
push 0x103
lea eax, [ebp - 0x218]
push eax
push 0x4cae00
call fcn.00487152
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
lea ecx, [edi + 0x1c94]
call fcn.004089a0
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00487c50
mov esp, ebp
pop ebp
ret