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

Disassembly:
push 0xe4
mov eax, 0x4d9055
call fcn.004d631c
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x1c]
jne 0x40b489
xor al, al
jmp 0x40b7f6
push 8
pop ebx
mov eax, esi
cmp dword [esi + 0x14], ebx
jb 0x40b495
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x40b4b4
mov ecx, esi
cmp dword [esi + 0x14], ebx
jb 0x40b4a9
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 0x40b4bd
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
test eax, eax
je 0x40b4cf
cmp eax, 5
jne 0x40b500
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00408923
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.0040b7fc
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00401f5a
mov eax, esi
cmp dword [esi + 0x14], ebx
jb 0x40b4fd
mov eax, dword [esi]
push eax
call edi
test eax, eax
je 0x40b636
cmp eax, 5
je 0x40b5bc
cmp eax, 2
jne 0x40b7f4
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.004038fa
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.00402c23
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.00402f9e
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
push eax
call fcn.0040898a
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.00401f5a
lea eax, [ebp - 0xf0]
push eax
push str.FileSystem::removeFile
push 0x17b
push str.C:workprojects_rubilnik_srccommonFileSystem.cpp
push ebx
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
lea ecx, [ebp - 0x88]
call fcn.00403ad6
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 0x40b482
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.004038fa
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
mov dword [ebp - 4], 1
call fcn.00402c23
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.00402f9e
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
push eax
call fcn.0040898a
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401f5a
lea eax, [ebp - 0xf0]
mov edi, str.FileSystem::removeFile
push eax
push edi
push 0x16a
jmp 0x40b6ba
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.004038fa
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
mov dword [ebp - 4], 3
call fcn.00402c23
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4ec7bc
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push str.DeleteFile__
push eax
call fcn.00402f9e
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
push eax
call fcn.0040898a
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.00401f5a
lea eax, [ebp - 0xf0]
mov edi, str.FileSystem::removeFile
push eax
push edi
push 0x16e
mov ebx, str.C:workprojects_rubilnik_srccommonFileSystem.cpp
push ebx
push 0
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.00403ad6
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.00401a11
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040501b
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00401f5a
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov ecx, esi
cmovae eax, dword [ebp - 0x40]
cmp dword [esi + 0x14], 8
jb 0x40b72d
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x40b7ec
push 1
push 3
lea ecx, [ebp - 0xf0]
call fcn.004038fa
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
mov byte [ebp - 4], 8
call fcn.00402c23
mov byte [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4ec7bc
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push str.MoveFile__
push eax
call fcn.00402f9e
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
push eax
call fcn.0040898a
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.00401f5a
lea eax, [ebp - 0xf0]
push eax
push edi
push 0x175
push ebx
push 0
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
lea ecx, [ebp - 0x88]
call fcn.00403ad6
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.00401f5a
jmp 0x40b482
lea ecx, [ebp - 0x40]
call fcn.00401f5a
mov al, 1
call fcn.004d62c6
ret