Function at 0x40de19
Capabilities:
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push 0xe4
mov eax, 0x539860
call fcn.0053655e
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x1c]
jne 0x40de3a
xor al, al
jmp 0x40e1a7
push 8
pop ebx
mov eax, esi
cmp dword [esi + 0x14], ebx
jb 0x40de46
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x40de65
mov ecx, esi
cmp dword [esi + 0x14], ebx
jb 0x40de5a
mov ecx, dword [esi]
and eax, 0xfffffffe
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, esi
cmp dword [esi + 0x14], ebx
jb 0x40de6e
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
test eax, eax
je 0x40de80
cmp eax, 5
jne 0x40deb1
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.0040b09c
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.0040e1ad
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x28]
call fcn.0040257a
mov eax, esi
cmp dword [esi + 0x14], ebx
jb 0x40deae
mov eax, dword [esi]
push eax
call edi
test eax, eax
je 0x40dfe7
cmp eax, 5
je 0x40df6d
cmp eax, 2
jne 0x40e1a5
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.00404da4
xor ebx, ebx
mov dword [ebp - 4], 0xa
push esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.00403913
push str.__error_ERROR_FILE_NOT_FOUND
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xe0]
push str.DeleteFile__
push eax
call fcn.0040446a
pop ecx
pop ecx
push eax
call fcn.0040a098
pop ecx
pop ecx
push eax
call fcn.0040b103
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.0040257a
lea eax, [ebp - 0xf0]
push eax
push str.FileSystem::removeFile
push 0x17c
push str.C:workprojects_rubilnik_srccommonFileSystem.cpp
push ebx
call fcn.00407c20
mov ecx, eax
call fcn.00412039
lea ecx, [ebp - 0x88]
call fcn.00404fea
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
jmp 0x40de33
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.00404da4
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
mov dword [ebp - 4], 1
call fcn.00403913
push str.__error_ERROR_ACCESS_DENIED
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xe0]
push str.DeleteFile__
push eax
call fcn.0040446a
pop ecx
pop ecx
push eax
call fcn.0040a098
pop ecx
pop ecx
push eax
call fcn.0040b103
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0040257a
lea eax, [ebp - 0xf0]
mov edi, str.FileSystem::removeFile
push eax
push edi
push 0x16b
jmp 0x40e06b
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.00404da4
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
mov dword [ebp - 4], 3
call fcn.00403913
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x55ad24
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push str.DeleteFile__
push eax
call fcn.0040446a
pop ecx
pop ecx
push eax
call fcn.0040a098
pop ecx
pop ecx
push eax
call fcn.0040b103
pop ecx
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___unsigned_long_int_]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.0040257a
lea eax, [ebp - 0xf0]
mov edi, str.FileSystem::removeFile
push eax
push edi
push 0x16f
mov ebx, str.C:workprojects_rubilnik_srccommonFileSystem.cpp
push ebx
push 0
call fcn.00407c20
mov ecx, eax
call fcn.00412039
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.00404fea
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
push str.clntmp
lea ecx, [ebp - 0x28]
call fcn.00401cd4
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00406d34
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.0040257a
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov ecx, esi
cmovae eax, dword [ebp - 0x40]
cmp dword [esi + 0x14], 8
jb 0x40e0de
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x40e19d
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.00404da4
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
mov byte [ebp - 4], 8
call fcn.00403913
mov byte [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x55ad24
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push str.MoveFile__
push eax
call fcn.0040446a
pop ecx
pop ecx
push eax
call fcn.0040a098
pop ecx
pop ecx
push eax
call fcn.0040b103
pop ecx
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___unsigned_long_int_]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.0040257a
lea eax, [ebp - 0xf0]
push eax
push edi
push 0x176
push ebx
push 0
call fcn.00407c20
mov ecx, eax
call fcn.00412039
lea ecx, [ebp - 0x88]
call fcn.00404fea
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x40]
call fcn.0040257a
jmp 0x40de33
lea ecx, [ebp - 0x40]
call fcn.0040257a
mov al, 1
call fcn.00536508
ret