Function at 0x4ebc60
Capabilities:
Delete directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd38
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2c8], ebx
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c0], ebx
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x29c], ebx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x298], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x280], ecx
mov esi, edx
mov dword [ebp - 0x27c], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
call sub.rtl250.bpl__System__IntfAddRef_qqrx44System__DelphiInterface_17System_IInterface_
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 0x4ec0ce
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x281], 0
mov eax, dword [ebp - 0x27c]
call sub.rtl250.bpl__System__UStrLen_qqrx20System_UnicodeString
cmp eax, 4
jl 0x4ec07f
mov dl, 1
mov eax, dword [ebp - 0x27c]
call sub.rtl250.bpl__System_Sysutils_FileExists_qqrx20System_UnicodeStringo
test al, al
je 0x4ebf2d
xor eax, eax
push ebp
push 0x4ebeb8
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp + 8], 0
je 0x4ebd4b
mov cl, 1
mov edx, dword [ebp - 0x27c]
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
test al, al
jne 0x4ebd4b
mov byte [ebp - 0x281], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ec07f
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x27c]
call sub.rtl250.bpl__System_Sysutils_ExtractFileDrive_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 4]
call fcn.004ec748
mov eax, dword [ebp - 4]
call fcn.004ec910
test al, al
jne 0x4ebd83
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ec07f
lea eax, [ebp - 0x29c]
push eax
lea edx, [ebp - 0x2b0]
mov eax, dword [ebp - 4]
call sub.rtl250.bpl__System_Sysutils_IncludeTrailingPathDelimiter_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2ac], eax
mov byte [ebp - 0x2a8], 0x11
lea eax, [ebp - 0x294]
call sub.rtl250.bpl__System_Sysutils_TGuidHelper_NewGuid_qqrv
lea eax, [ebp - 0x294]
lea edx, [ebp - 0x2b4]
call sub.rtl250.bpl__System_Sysutils_TGuidHelper_ToString_qqrv
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2a4], eax
mov byte [ebp - 0x2a0], 0x11
lea edx, [ebp - 0x2ac]
mov ecx, 1
mov eax, 0x4ec0f4
call sub.rtl250.bpl__System_Sysutils_Format_qqrx20System_UnicodeStringpx14System_TVarRecxi
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 4]
call sub.rtl250.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
mov eax, dword [0x536628]
call sub.rtl250.bpl__System_Syncobjs_TCriticalSection_Enter_qqrv
xor eax, eax
push ebp
push 0x4ebea4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x27c]
call sub.rtl250.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
lea eax, [ebp - 0x2b8]
mov ecx, 0x4ec10c
mov edx, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x27c]
call fcn.004e5920
mov byte [ebp - 0x281], al
cmp byte [ebp - 0x281], 0
je 0x4ebe8c
mov eax, dword [ebp - 0x27c]
push eax
lea eax, [ebp - 0x2bc]
mov ecx, 0x4ec130
mov edx, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x2bc]
mov ecx, ebx
mov edx, esi
call fcn.004e4acc
mov eax, dword [ebp - 0x280]
inc dword [eax]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ebeab
mov eax, dword [0x536628]
call sub.rtl250.bpl__System_Syncobjs_TCriticalSection_Leave_qqrv
ret
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x27c]
call sub.rtl250.bpl__System_Sysutils_IncludeTrailingPathDelimiter_qqrx20System_UnicodeString
mov byte [ebp - 0x281], 1
mov dl, 1
mov eax, dword [ebp - 4]
call sub.rtl250.bpl__System_Sysutils_DirectoryExists_qqrx20System_UnicodeStringo
test al, al
je 0x4ec07f
lea eax, [ebp - 0x2c4]
mov ecx, 0x4ec1b4
mov edx, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x2c4]
lea ecx, [ebp - 0x278]
mov edx, 0x1ff
call sub.rtl250.bpl__System_Sysutils_FindFirst_qqrx20System_UnicodeStringir26System_Sysutils_TSearchRec
test eax, eax
jne 0x4ec03c
xor eax, eax
push ebp
push 0x4ec035
push dword fs:[eax]
mov dword fs:[eax], esp
test ebx, ebx
je 0x4ebfa0
xor edx, edx
mov eax, ebx
call sub.AxComponentsRTL.bpl__Axrtl_System_Thread_TThread_SleepByAndCheck_qqrui
mov eax, dword [ebp - 0x264]
mov edx, 0x4ec1c4
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4ec009
mov eax, dword [ebp - 0x264]
mov edx, 0x4ec1d4
call sub.rtl250.bpl__System__UStrEqual_qqrv
je 0x4ec009
push ebx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x2c8]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 4]
call sub.rtl250.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x280]
mov edx, esi
call fcn.004ebc60
test al, al
je 0x4ebffd
cmp byte [ebp - 0x281], 0
jne 0x4ec001
xor eax, eax
jmp 0x4ec003
mov al, 1
mov byte [ebp - 0x281], al
lea eax, [ebp - 0x278]
call sub.rtl250.bpl__System_Sysutils_FindNext_qqrr26System_Sysutils_TSearchRec
test eax, eax
je 0x4ebf93
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ec03c
lea eax, [ebp - 0x278]
call sub.rtl250.bpl__System_Sysutils_FindClose_qqrr26System_Sysutils_TSearchRec
ret
cmp dword [ebp + 8], 0
je 0x4ec05c
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
test al, al
jne 0x4ec05c
mov byte [ebp - 0x281], 1
jmp 0x4ec07f
cmp byte [ebp - 0x281], 0
je 0x4ec07f
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 - 0x281], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ec0d5
lea eax, [ebp - 0x2c8]
mov edx, 7
call sub.rtl250.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x29c]
mov edx, 2
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
lea eax, [ebp + 8]
call sub.rtl250.bpl__System__IntfClear_qqrr44System__DelphiInterface_17System_IInterface_
ret