Function at 0x4712c4
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x30
push 0
push 0
dec ecx
jne 0x4712cc
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x471833
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x47130d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x471844
call sub.kernel32.dll_LoadLibraryA
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x471358
cmp dword [ebp - 8], 0
jne 0x471381
push 0x47189c
push 0x47186c
push 0
mov ecx, 0x4718b8
mov edx, 0x14bc
mov eax, dword [ebp - 4]
call fcn.0047313c
jmp 0x471421
xor edx, edx
push ebp
push 0x4713cd
push dword fs:[edx]
mov dword fs:[edx], esp
push 0x4718c8
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov ebx, esi
test esi, esi
je 0x4713c3
push 0x4718d4
lea eax, [ebp - 0x120]
push eax
push 0x4718d8
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
push eax
call ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x471421
mov dl, 1
mov eax, dword [sym.imp.rtl70.bpl__Classes_TStringList_]
call sub.rtl70.bpl__System_TObject__bctr_qqrv
mov ebx, eax
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
mov cl, 1
mov edx, ebx
call fcn.0043b6f0
mov edx, 0x471900
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
je 0x4717d7
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00447384
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00447384
mov edx, 0x471914
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00433318
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
cmp byte [eax + 0xa1], 0
jne 0x4717d7
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov edx, 0x471950
call fcn.00434328
lea edx, [ebp - 0x13c]
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov edx, dword [ebp - 0x13c]
lea eax, [ebp - 0x138]
call sub.rtl70.bpl__Variants__VarFromLStr_qqrr8TVarDatax17System_AnsiString
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x14c]
call sub.rtl70.bpl__Variants_Null_qqrv
lea edx, [ebp - 0x14c]
pop eax
call sub.rtl70.bpl__Variants__VarCmpEQ_qqrrx8TVarDatat1
je 0x4717d7
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov edx, 0x471950
call fcn.00434328
lea edx, [ebp - 0x150]
mov ecx, dword [eax]
call dword [ecx + 0x60]
cmp dword [ebp - 0x150], 0
je 0x4717d7
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov edx, 0x471950
call fcn.00434328
mov edx, dword [eax]
call dword [edx + 0x50]
fstp st(0)
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov edx, 0x471960
call fcn.00434328
lea edx, [ebp - 0x154]
mov ecx, dword [eax]
call dword [ecx + 0x60]
push dword [ebp - 0x154]
call sub.rtl70.bpl__Sysutils_Now_qqrv
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x158]
mov eax, 0x471974
call sub.rtl70.bpl__Sysutils_FormatDateTime_qqrx17System_AnsiString16System_TDateTime
push dword [ebp - 0x158]
push 0x47198c
lea eax, [ebp - 0x20]
mov edx, 3
call sub.rtl70.bpl__System__LStrCatN_qqrv
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov edx, 0x47199c
call fcn.00434328
lea edx, [ebp - 0x15c]
mov ecx, dword [eax]
call dword [ecx + 0x60]
cmp dword [ebp - 0x15c], 0
je 0x4715e1
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov edx, 0x47199c
call fcn.00434328
mov edx, dword [eax]
call dword [edx + 0x58]
mov ebx, eax
jmp 0x4715e6
mov ebx, 2
call sub.rtl70.bpl__Sysutils_Date_qqrv
fstp st(0)
cmp ebx, 2
je 0x4717d7
dec ebx
jne 0x4716ce
lea edx, [ebp - 0x164]
xor eax, eax
call sub.rtl70.bpl__System_ParamStr_qqri
mov eax, dword [ebp - 0x164]
lea edx, [ebp - 0x160]
call sub.rtl70.bpl__Sysutils_ExtractFilePath_qqrx17System_AnsiString
mov edx, dword [ebp - 0x160]
lea eax, [ebp - 0x1c]
mov ecx, 0x4719ac
call sub.rtl70.bpl__System__LStrCat3_qqrv
push 0
mov eax, dword [ebp - 0x20]
call sub.rtl70.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
mov eax, dword [ebp - 0x1c]
call sub.rtl70.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
call sub.kernel32.dll_CopyFileA
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00447384
mov edx, dword [eax]
call dword [edx + 0x44]
call sub.rtl70.bpl__Sysutils_Now_qqrv
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x170]
mov eax, 0x4719c8
call sub.rtl70.bpl__Sysutils_FormatDateTime_qqrx17System_AnsiString16System_TDateTime
mov eax, dword [ebp - 0x170]
lea edx, [ebp - 0x16c]
call sub.rtl70.bpl__Sysutils_QuotedStr_qqrx17System_AnsiString
mov ecx, dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
mov edx, 0x4719dc
call sub.rtl70.bpl__System__LStrCat3_qqrv
mov eax, dword [ebp - 0x168]
push eax
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00447384
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.004472ac
jmp 0x4717d7
push 0
push 0x47186c
push 1
mov ecx, 0x471a04
mov edx, 0x148d
mov eax, dword [ebp - 4]
call fcn.0047313c
dec eax
jne 0x4717d7
lea edx, [ebp - 0x178]
xor eax, eax
call sub.rtl70.bpl__System_ParamStr_qqri
mov eax, dword [ebp - 0x178]
lea edx, [ebp - 0x174]
call sub.rtl70.bpl__Sysutils_ExtractFilePath_qqrx17System_AnsiString
mov edx, dword [ebp - 0x174]
lea eax, [ebp - 0x1c]
mov ecx, 0x4719ac
call sub.rtl70.bpl__System__LStrCat3_qqrv
push 0
mov eax, dword [ebp - 0x20]
call sub.rtl70.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
mov eax, dword [ebp - 0x1c]
call sub.rtl70.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
call sub.kernel32.dll_CopyFileA
push 0
push 0x47186c
push 0
mov ecx, 0x471a1c
mov edx, 0x148d
mov eax, dword [ebp - 4]
call fcn.0047313c
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00447384
mov edx, dword [eax]
call dword [edx + 0x44]
call sub.rtl70.bpl__Sysutils_Now_qqrv
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x184]
mov eax, 0x4719c8
call sub.rtl70.bpl__Sysutils_FormatDateTime_qqrx17System_AnsiString16System_TDateTime
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x180]
call sub.rtl70.bpl__Sysutils_QuotedStr_qqrx17System_AnsiString
mov ecx, dword [ebp - 0x180]
lea eax, [ebp - 0x17c]
mov edx, 0x4719dc
call sub.rtl70.bpl__System__LStrCat3_qqrv
mov eax, dword [ebp - 0x17c]
push eax
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.00447384
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x47ce30]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
call fcn.004472ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47183a
lea eax, [ebp - 0x184]
mov edx, 0xe
call sub.rtl70.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0x14c]
call sub.rtl70.bpl__Variants__VarClr_qqrr8TVarData
lea eax, [ebp - 0x13c]
call sub.rtl70.bpl__System__LStrClr_qqrpv
lea eax, [ebp - 0x138]
call sub.rtl70.bpl__Variants__VarClr_qqrr8TVarData
lea eax, [ebp - 0x128]
mov edx, 2
call sub.rtl70.bpl__System__LStrArrayClr_qqrpvi
lea eax, [ebp - 0x20]
mov edx, 2
call sub.rtl70.bpl__System__LStrArrayClr_qqrpvi
ret