Function at 0x4072f8
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe88
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov edi, edx
mov ebx, eax
lea eax, [ebp - 0x16c]
mov edx, dword [sym.imp.rtl60.bpl___xp_19Sysutils_TSearchRec]
call sub.rtl60.bpl__System__InitializeRecord_qqrpvt1
xor eax, eax
push ebp
push 0x4074f6
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
mov esi, 0x2f
mov ecx, dword [edi]
lea eax, [ebp - 8]
mov edx, dword [ebx + 0x40]
call sub.rtl60.bpl__System__LStrCat3_qqrv
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 8]
call sub.rtl60.bpl__Sysutils_ExtractFileDir_qqrx17System_AnsiString
mov edx, dword [ebp - 0x170]
lea eax, [ebp - 0x10]
mov ecx, 0x407510
call sub.rtl60.bpl__System__LStrCat3_qqrv
lea ecx, [ebp - 0x14]
mov edx, dword [edi + 8]
mov eax, ebx
call fcn.00406f18
mov eax, dword [ebp - 0x14]
call sub.rtl60.bpl__System__LStrLen_qqrx17System_AnsiString
mov edx, dword [ebp - 0x14]
cmp byte [edx + eax - 1], 0x5c
je 0x4073aa
lea eax, [ebp - 0x14]
mov edx, 0x407510
call sub.rtl60.bpl__System__LStrCat_qqrv
cmp dword [ebp - 0x14], 0
je 0x4073c4
mov eax, dword [ebp - 0x14]
call sub.rtl60.bpl__Sysutils_DirectoryExists_qqrx17System_AnsiString
test al, al
jne 0x4073c4
mov eax, dword [ebp - 0x14]
call sub.rtl60.bpl__Sysutils_ForceDirectories_qqr17System_AnsiString
lea ecx, [ebp - 0x16c]
mov edx, esi
mov eax, dword [ebp - 8]
call sub.rtl60.bpl__Sysutils_FindFirst_qqrx17System_AnsiStringir19Sysutils_TSearchRec
test eax, eax
jne 0x4074ba
mov eax, dword [ebp - 0x164]
mov edx, eax
and edx, esi
cmp edx, eax
jne 0x40749c
lea eax, [ebp - 8]
mov ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x10]
call sub.rtl60.bpl__System__LStrCat3_qqrv
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x14]
call sub.rtl60.bpl__System__LStrCat3_qqrv
push 0
mov eax, dword [ebp - 0xc]
call sub.rtl60.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
mov eax, dword [ebp - 8]
call sub.rtl60.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
call sub.kernel32.dll_CopyFileA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x40746a
push 0x40751c
push dword [ebp - 0xc]
push 0x407528
push 0x407534
lea eax, [ebp - 0x174]
mov edx, 4
call sub.rtl60.bpl__System__LStrCatN_qqrv
mov edx, dword [ebp - 0x174]
mov eax, dword [ebx + 0x68]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x40749c
push 0x40751c
push dword [ebp - 0xc]
push 0x407528
push 0x407544
lea eax, [ebp - 0x178]
mov edx, 4
call sub.rtl60.bpl__System__LStrCatN_qqrv
mov edx, dword [ebp - 0x178]
mov eax, dword [ebx + 0x68]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4074af
lea eax, [ebp - 0x16c]
call sub.rtl60.bpl__Sysutils_FindNext_qqrr19Sysutils_TSearchRec
test eax, eax
je 0x4073dc
lea eax, [ebp - 0x16c]
call sub.rtl60.bpl__Sysutils_FindClose_qqrr19Sysutils_TSearchRec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4074fd
lea eax, [ebp - 0x178]
mov edx, 3
call sub.rtl60.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0x16c]
mov edx, dword [sym.imp.rtl60.bpl___xp_19Sysutils_TSearchRec]
call sub.rtl60.bpl__System__FinalizeRecord_qqrpvt1
lea eax, [ebp - 0x14]
mov edx, 4
call sub.rtl60.bpl__System__LStrArrayClr_qqrpvi
ret