Function at 0x4e288c
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 0x4e2abb
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 0x4e2a84
mov eax, dword [0x533ea0]
cmp byte [eax], 0
je 0x4e2901
mov byte [ebp - 0x279], 1
jmp 0x4e2a84
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 0x4e2a84
mov byte [ebp - 0x279], 1
lea eax, [ebp - 0x280]
mov ecx, 0x4e2adc
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 0x4e2a61
xor eax, eax
push ebp
push 0x4e2a5a
push dword fs:[eax]
mov dword fs:[eax], esp
test ebx, ebx
je 0x4e2970
xor edx, edx
mov eax, ebx
call sub.AxComponentsRTL.bpl__Axrtl_System_Thread_TThread_SleepByAndCheck_qqrui
mov eax, dword [ebp - 0x264]
mov edx, 0x4e2aec
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4e2a2e
mov eax, dword [ebp - 0x264]
mov edx, 0x4e2afc
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4e2a2e
mov eax, dword [ebp - 0x268]
and eax, 0x10
cmp eax, 0x10
jne 0x4e29f2
push dword [ebp - 4]
push dword [ebp - 0x264]
push 0x4e2b10
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.004e288c
test al, al
je 0x4e29e4
cmp byte [ebp - 0x279], 0
jne 0x4e29e8
xor eax, eax
jmp 0x4e29ea
mov al, 1
mov byte [ebp - 0x279], al
jmp 0x4e2a2e
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.004e2808
test al, al
je 0x4e2a22
cmp byte [ebp - 0x279], 0
jne 0x4e2a26
xor eax, eax
jmp 0x4e2a28
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 0x4e2963
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e2a61
lea eax, [ebp - 0x278]
call sub.rtl250.bpl__System_Sysutils_FindClose_qqrr26System_Sysutils_TSearchRec
ret
cmp byte [ebp - 0x279], 0
je 0x4e2a84
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 0x4e2ac2
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