Function at 0x40876b
Capabilities:
Delete directory

Disassembly:
push 0x558
mov eax, 0x47a851
call fcn.00478470
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x1c]
jne 0x40878c
xor al, al
jmp 0x4089af
xor edi, edi
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call fcn.00403ca0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], edi
push eax
call fcn.00402281
mov ecx, eax
call fcn.0041d421
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov bl, al
call fcn.00401ef9
test bl, bl
jne 0x408859
push 1
push 3
lea ecx, [ebp - 0x564]
call fcn.00403264
push esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call fcn.00403ca0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x554]
push str.____Removing_system_folder:
push eax
call fcn.004028fc
pop ecx
pop ecx
push eax
call fcn.0040556f
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401ef9
lea eax, [ebp - 0x564]
push eax
push str.FileSystem::removeDir
push 0x18d
push str.C:workprojects_rubilnik_srccommonFileSystem.cpp
push edi
call fcn.004048e7
mov ecx, eax
call fcn.0040be44
lea ecx, [ebp - 0x4fc]
call fcn.004033bd
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 0x408785
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 0x408879
mov eax, dword [esi]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00407194
test eax, eax
je 0x4088b1
cmp dword [ebp - 0x50], 0
je 0x40889d
mov eax, dword [ebp - 0x4b0]
shr eax, 4
and eax, 1
jmp 0x40889f
mov eax, edi
test eax, eax
jne 0x4088b1
push esi
call fcn.004089b5
pop ecx
mov bl, al
jmp 0x4089a2
push 0x480eb0
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.00405af8
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.00407194
mov edi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x408978
lea ecx, [ebp - 0x4b0]
call fcn.0040761c
lea ecx, [ebp - 0x4b0]
test eax, eax
jne 0x408966
lea eax, [ebp - 0x4b4]
push eax
call fcn.004073c3
push dword [eax]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.00405a06
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 4
call fcn.00406a00
cmp dword [ebp - 0x50], 0
je 0x40893b
mov eax, dword [ebp - 0x4b0]
shr eax, 4
and eax, 1
jmp 0x40893d
xor eax, eax
test eax, eax
lea eax, [ebp - 0x4c]
push eax
je 0x40895a
call fcn.0040876b
cmp dword [ebp - 0x38], ebx
lea eax, [ebp - 0x4c]
pop ecx
cmovae eax, dword [ebp - 0x4c]
push eax
call edi
jmp 0x408960
call fcn.004089b5
pop ecx
lea ecx, [ebp - 0x4b0]
call fcn.00407257
test eax, eax
setne al
test al, al
jne 0x4088e9
lea ecx, [ebp - 0x4b0]
call fcn.00406f15
cmp dword [esi + 0x14], ebx
jb 0x40898a
mov esi, dword [esi]
push esi
call edi
test eax, eax
lea ecx, [ebp - 0x34]
setne bl
call fcn.00403e8f
lea ecx, [ebp - 0x4c]
call fcn.00401ef9
lea ecx, [ebp - 0x4b0]
call fcn.00406f15
mov al, bl
call fcn.0047842b
ret