Function at 0x4e2844
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd78
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 4], ebx
mov ebx, ecx
mov edi, edx
mov esi, eax
lea eax, [ebp - 0x278]
mov edx, dword [sym.imp.rtl250.bpl___xp_26System_Sysutils_TSearchRec]
call sub.rtl250.bpl__System__InitializeRecord_qqrpvt1
xor eax, eax
push ebp
push 0x4e2a73
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x279], 0
mov eax, edi
call sub.rtl250.bpl__System__UStrLen_qqrx20System_UnicodeString
cmp eax, 4
jl 0x4e2a3c
mov eax, dword [0x533ea0]
cmp byte [eax], 0
je 0x4e28b9
mov byte [ebp - 0x279], 1
jmp 0x4e2a3c
lea edx, [ebp - 4]
mov eax, edi
call sub.AxComponentsRTL.bpl__Axrtl_System_Ioutils_TPathHelper_PreparePathName_qqrx20System_UnicodeString
mov dl, 1
mov eax, dword [ebp - 4]
call sub.rtl250.bpl__System_Sysutils_DirectoryExists_qqrx20System_UnicodeStringo
test al, al
je 0x4e2a3c
mov byte [ebp - 0x279], 1
lea eax, [ebp - 0x280]
mov ecx, 0x4e2a94
mov edx, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x280]
lea ecx, [ebp - 0x278]
mov edx, 0x1ff
call sub.rtl250.bpl__System_Sysutils_FindFirst_qqrx20System_UnicodeStringir26System_Sysutils_TSearchRec
test eax, eax
jne 0x4e2a19
xor eax, eax
push ebp
push 0x4e2a12
push dword fs:[eax]
mov dword fs:[eax], esp
test ebx, ebx
je 0x4e2928
xor edx, edx
mov eax, ebx
call sub.AxComponentsRTL.bpl__Axrtl_System_Thread_TThread_SleepByAndCheck_qqrui
mov eax, dword [ebp - 0x264]
mov edx, 0x4e2aa4
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4e29e6
mov eax, dword [ebp - 0x264]
mov edx, 0x4e2ab4
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4e29e6
mov eax, dword [ebp - 0x268]
and eax, 0x10
cmp eax, 0x10
jne 0x4e29aa
push dword [ebp - 4]
push dword [ebp - 0x264]
push 0x4e2ac8
lea eax, [ebp - 0x284]
mov edx, 3
call sub.rtl250.bpl__System__UStrCatN_qqrv
mov edx, dword [ebp - 0x284]
mov ecx, ebx
mov eax, esi
call fcn.004e2844
test al, al
je 0x4e299c
cmp byte [ebp - 0x279], 0
jne 0x4e29a0
xor eax, eax
jmp 0x4e29a2
mov al, 1
mov byte [ebp - 0x279], al
jmp 0x4e29e6
lea eax, [ebp - 0x288]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x288]
mov ecx, ebx
mov eax, esi
call fcn.004e27c0
test al, al
je 0x4e29da
cmp byte [ebp - 0x279], 0
jne 0x4e29de
xor eax, eax
jmp 0x4e29e0
mov al, 1
mov byte [ebp - 0x279], al
lea eax, [ebp - 0x278]
call sub.rtl250.bpl__System_Sysutils_FindNext_qqrr26System_Sysutils_TSearchRec
test eax, eax
je 0x4e291b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e2a19
lea eax, [ebp - 0x278]
call sub.rtl250.bpl__System_Sysutils_FindClose_qqrr26System_Sysutils_TSearchRec
ret
cmp byte [ebp - 0x279], 0
je 0x4e2a3c
mov eax, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_RemoveDirectoryW
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x279], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e2a7a
lea eax, [ebp - 0x288]
mov edx, 3
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x278]
mov edx, dword [sym.imp.rtl250.bpl___xp_26System_Sysutils_TSearchRec]
call sub.rtl250.bpl__System__FinalizeRecord_qqrpvt1
lea eax, [ebp - 4]
call sub.rtl250.bpl__System__UStrClr_qqrpv
ret