Function at 0x4071f3
Capabilities:
Copy file
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push 0x1c
mov eax, 0x4bc80f
call fcn.00418075
push dword [ebp + 0xc]
and dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__28]
push dword [ebp + 0x10]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__28]
xor ebx, ebx
lea eax, [ebp - 0x28]
inc ebx
lea ecx, [ebp - 0x1c]
push ebx
push eax
mov byte [ebp - 4], bl
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
mov esi, ebx
mov byte [ebp - 4], 2
push 0x5c
push eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
call fcn.004048ef
pop ecx
pop ecx
test al, al
je 0x407272
push ebx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
push 3
pop esi
push 0x2f
push eax
mov dword [ebp - 0x18], esi
call fcn.004048ef
mov byte [ebp - 0xd], bl
pop ecx
pop ecx
test al, al
jne 0x407276
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
test al, 2
je 0x40728f
and eax, 0xfffffffd
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], ebx
test al, 1
je 0x4072a5
and eax, 0xfffffffe
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0xd], 0
mov edi, 0x4d4dfc
je 0x4072ba
push edi
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
push ebx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
mov esi, dword [ebp - 0x18]
or esi, 4
mov byte [ebp - 4], 3
push 0x5c
push eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
call fcn.004048ef
pop ecx
pop ecx
test al, al
je 0x40730b
push ebx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__24]
push 0x2f
or esi, 8
push eax
mov dword [ebp - 0x18], esi
call fcn.004048ef
mov byte [ebp - 0xd], bl
pop ecx
pop ecx
test al, al
jne 0x40730f
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
test al, 8
je 0x407328
and eax, 0xfffffff7
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], eax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], ebx
test al, 4
je 0x407338
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0xd], 0
je 0x407348
push edi
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
push dword [ebp - 0x14]
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x28], eax
pop ecx
pop ecx
test eax, eax
jne 0x407368
test edi, edi
je 0x40752a
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
mov esi, dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__waccess]
push 0
push dword [ebp - 0x1c]
call esi
pop ecx
pop ecx
test eax, eax
jns 0x40738e
xor ebx, ebx
jmp 0x40752a
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x14]
test edi, edi
cmovne eax, edi
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
cmp dword [ebp - 0x28], 0
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
jne 0x4073e7
cmp dword [ebp + 0x14], 0
je 0x4073e7
push 0
push dword [ebp - 0x1c]
call esi
pop ecx
pop ecx
push 0
push dword [ebp - 0x14]
test eax, eax
jns 0x4073d2
call esi
neg eax
pop ecx
sbb ebx, ebx
pop ecx
inc ebx
jmp 0x40752a
call esi
pop ecx
pop ecx
test eax, eax
jne 0x4073e7
push dword [ebp - 0x14]
call edi
test eax, eax
je 0x40752a
push 0
push dword [ebp - 0x14]
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
pop ecx
pop ecx
test eax, eax
jne 0x40751e
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0xfffffffc
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x14]
call edi
test eax, eax
jne 0x40751e
push str..old
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004019e2
add esp, 0xc
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0
push dword [ebp - 0x18]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x407487
push dword [ebp - 0x18]
call edi
test eax, eax
jne 0x407487
push dword [ebp - 0x18]
call fcn.004024f9
lea ecx, [ebp - 0x18]
mov dword [esp], 0x4d4e08
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
push dword [ebp - 0x18]
call edi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4074a1
push dword [ebp - 0x18]
call fcn.004024f9
jmp 0x407514
push dword [ebp - 0x14]
call fcn.004024f9
lea ecx, [ebp - 0x24]
mov dword [esp], str..new
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004019e2
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push dword [ebp - 0x18]
call edi
push 0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call ebx
test eax, eax
je 0x407515
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.00404748
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x1c]
call ebx
mov ebx, eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, ebx
call fcn.00418043
ret