Function at 0x4c2b20
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4c2b29
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrAddRef_qqrpv
mov eax, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrAddRef_qqrpv
mov eax, dword [ebp + 8]
call sub.rtl120.bpl__System__UStrAddRef_qqrpv
xor eax, eax
push ebp
push 0x4c2cd5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4c2c9e
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
cmp dword [ebx], 0
jne 0x4c2b85
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4c2ca5
lea eax, [ebp - 0x10]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
call fcn.004c2d00
test al, al
jne 0x4c2bb1
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4c2ca5
push 2
lea eax, [ebp - 0x14]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x14]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
mov esi, eax
push esi
call sub.kernel32.dll_SetFileAttributesW
test eax, eax
jne 0x4c2be1
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4c2ca5
lea eax, [ebp - 0x18]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x18]
call fcn.004c2808
test al, al
jne 0x4c2c07
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4c2ca5
push 2
lea eax, [ebp - 0x1c]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
push esi
call sub.kernel32.dll_SetFileAttributesW
test eax, eax
jne 0x4c2c2a
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4c2ca5
lea eax, [ebp - 0x20]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x20]
mov edx, ebx
mov ecx, dword [ebp - 8]
call fcn.004c3014
test al, al
jne 0x4c2c52
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4c2ca5
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c2ca5
lea eax, [ebp - 0x24]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x24]
call sub.rtl120.bpl__Sysutils_FileExists_qqrx20System_UnicodeString
test al, al
je 0x4c2c9d
lea eax, [ebp - 0x28]
mov ecx, 0x4c2cf4
mov edx, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x28]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_DeleteFileW
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c2cdc
lea eax, [ebp - 0x28]
mov edx, 7
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 8]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp + 8]
call sub.rtl120.bpl__System__UStrClr_qqrpv
ret