Function at 0x45a948
Capabilities:
Move file

Disassembly:
push 0x604
mov eax, 0x4e5d85
call fcn.004d631c
mov esi, dword [ebp + 8]
push esi
call fcn.00402320
mov ecx, eax
call fcn.00458581
lea ecx, [ebp - 0x560]
test al, al
jne 0x45a9dd
push 1
push 3
call fcn.004038fa
and dword [ebp - 4], 0
lea eax, [ebp - 0x550]
push esi
push str.Stop____Removing_system_folder:
push eax
call fcn.00402f9e
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
lea eax, [ebp - 0x560]
push eax
push str.Cleaner::removeFolder
push 0x157
push str.C:workprojects_rubilnik_srccoreCleaner.cpp
push 0
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
lea ecx, [ebp - 0x4f8]
call fcn.00403ad6
lea ecx, [ebp - 0x4f8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
push 2
pop eax
jmp 0x45abe3
xor ebx, ebx
inc ebx
push ebx
push 3
call fcn.004038fa
push esi
lea eax, [ebp - 0x550]
mov dword [ebp - 4], ebx
push str.Removing_folder:
push eax
call fcn.0040898a
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
lea eax, [ebp - 0x560]
push eax
push str.Cleaner::removeFolder
push 0x15b
push str.C:workprojects_rubilnik_srccoreCleaner.cpp
push ebx
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
lea ecx, [ebp - 0x4f8]
call fcn.00403ad6
lea ecx, [ebp - 0x4f8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
and dword [ebp - 0x54], 0
and dword [ebp - 0x50], 0
push 0x5c
pop eax
mov word [ebp - 0x58], ax
cmp dword [esi + 0x14], 8
mov eax, esi
push 2
pop ebx
mov dword [ebp - 4], ebx
jb 0x45aa60
mov eax, dword [esi]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00409968
test eax, eax
je 0x45abd3
cmp dword [ebp - 0x50], 0
je 0x45aa88
mov eax, dword [ebp - 0x4b0]
shr eax, 4
and eax, 1
jmp 0x45aa8a
xor eax, eax
test eax, eax
je 0x45abd3
push esi
lea ecx, [ebp - 0x4c]
call fcn.004080c5
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 3
push eax
call fcn.0040b21e
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], bl
call fcn.00402dce
lea ecx, [ebp - 0x4c]
call fcn.00401f5a
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x45aac6
mov eax, dword [esi]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00409968
test eax, eax
je 0x45abcf
push str.clntmp
lea ecx, [ebp - 0x40]
call fcn.00401a11
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040501b
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call fcn.00401f5a
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, esi
cmovae ecx, dword [ebp - 0x28]
cmp dword [esi + 0x14], 8
jb 0x45ab1b
mov eax, dword [esi]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x45abc7
push esi
call fcn.0045ae19
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
pop ecx
cmovae eax, dword [ebp - 0x28]
mov ecx, esi
cmp dword [esi + 0x14], 8
jb 0x45ab47
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x45abc7
push 1
push 3
lea ecx, [ebp - 0x610]
call fcn.004038fa
push esi
lea eax, [ebp - 0x600]
mov byte [ebp - 4], 7
push str.Error:_Cant_remove_folder:
push eax
call fcn.0040898a
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
lea eax, [ebp - 0x610]
push eax
push str.Cleaner::removeFolder
push 0x175
push str.C:workprojects_rubilnik_srccoreCleaner.cpp
push 0
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
lea ecx, [ebp - 0x5a8]
call fcn.00403ad6
lea ecx, [ebp - 0x5a8]
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 - 0x28]
call fcn.00401f5a
jmp 0x45abd6
lea ecx, [ebp - 0x28]
call fcn.00401f5a
xor ebx, ebx
jmp 0x45abd6
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x4b0]
call fcn.0040979f
mov eax, ebx
call fcn.004d62c6
ret