Function at 0x40b21e
Capabilities:
Delete directory

Disassembly:
push 0x558
mov eax, 0x4d8fc9
call fcn.004d631c
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x1c]
jne 0x40b23f
xor al, al
jmp 0x40b462
xor edi, edi
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call fcn.00402c23
lea eax, [ebp - 0x28]
mov dword [ebp - 4], edi
push eax
call fcn.00402320
mov ecx, eax
call fcn.00458581
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov bl, al
call fcn.00401f5a
test bl, bl
jne 0x40b30c
push 1
push 3
lea ecx, [ebp - 0x564]
call fcn.004038fa
push esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call fcn.00402c23
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x554]
push str.____Removing_system_folder:
push eax
call fcn.00402f9e
pop ecx
pop ecx
push eax
call fcn.00407c4c
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401f5a
lea eax, [ebp - 0x564]
push eax
push str.FileSystem::removeDir
push 0x18d
push str.C:workprojects_rubilnik_srccommonFileSystem.cpp
push edi
call fcn.00405a66
mov ecx, eax
call fcn.0040f202
lea ecx, [ebp - 0x4fc]
call fcn.00403ad6
lea ecx, [ebp - 0x4fc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
jmp 0x40b238
push 0x5c
pop eax
mov word [ebp - 0x58], ax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
push 8
pop ebx
mov eax, esi
mov dword [ebp - 4], 3
cmp dword [esi + 0x14], ebx
jb 0x40b32c
mov eax, dword [esi]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00409968
test eax, eax
je 0x40b364
cmp dword [ebp - 0x50], 0
je 0x40b350
mov eax, dword [ebp - 0x4b0]
shr eax, 4
and eax, 1
jmp 0x40b352
mov eax, edi
test eax, eax
jne 0x40b364
push esi
call fcn.0040b468
pop ecx
mov bl, al
jmp 0x40b455
push 0x4ec618
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.0040825a
cmp dword [ebp - 0x38], ebx
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 4
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00409968
mov edi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x40b42b
lea ecx, [ebp - 0x4b0]
call fcn.00409df0
lea ecx, [ebp - 0x4b0]
test eax, eax
jne 0x40b419
lea eax, [ebp - 0x4b4]
push eax
call fcn.00409b97
push dword [eax]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.00408168
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 4
call fcn.004092a1
cmp dword [ebp - 0x50], 0
je 0x40b3ee
mov eax, dword [ebp - 0x4b0]
shr eax, 4
and eax, 1
jmp 0x40b3f0
xor eax, eax
test eax, eax
lea eax, [ebp - 0x4c]
push eax
je 0x40b40d
call fcn.0040b21e
cmp dword [ebp - 0x38], ebx
lea eax, [ebp - 0x4c]
pop ecx
cmovae eax, dword [ebp - 0x4c]
push eax
call edi
jmp 0x40b413
call fcn.0040b468
pop ecx
lea ecx, [ebp - 0x4b0]
call fcn.00409a2b
test eax, eax
setne al
test al, al
jne 0x40b39c
lea ecx, [ebp - 0x4b0]
call fcn.0040979f
cmp dword [esi + 0x14], ebx
jb 0x40b43d
mov esi, dword [esi]
push esi
call edi
test eax, eax
lea ecx, [ebp - 0x34]
setne bl
call fcn.00402dce
lea ecx, [ebp - 0x4c]
call fcn.00401f5a
lea ecx, [ebp - 0x4b0]
call fcn.0040979f
mov al, bl
call fcn.004d62c6
ret