Function at 0x5254d8
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x18
push 0
push 0
dec ecx
jne 0x5254e0
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x24], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrAddRef_qqrpv
xor eax, eax
push ebp
push 0x525cfa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x807134]
mov eax, dword [eax]
call fcn.004271c0
mov ebx, eax
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__Sysutils_ExtractFilePath_qqrx20System_UnicodeString
xor eax, eax
push ebp
push 0x525bfe
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x34]
mov ecx, 0x525d1c
mov edx, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x34]
call sub.rtl120.bpl__Sysutils_FileExists_qqrx20System_UnicodeString
test al, al
je 0x525ac0
push 1
push 0
movzx eax, byte [0x525d38]
push eax
push 0
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x38]
mov ecx, 0x525d1c
mov edx, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0x38]
mov cl, 1
mov eax, dword [0x5195a8]
call fcn.0051b594
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x99]
lea eax, [ebp - 0x3c]
mov edx, 0x525d48
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x3c]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_OutputDebugStringW
lea ecx, [ebp - 0x40]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
call dword [esi + 0x24]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
call dword [edx + 0x8c]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
call fcn.00521c68
test al, al
je 0x5259be
lea eax, [ebp - 0x1c]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea edx, [ebp - 0x1c]
mov eax, 0x525d98
call fcn.0051981c
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__Sysutils_ExtractFileName_qqrx20System_UnicodeString
mov ecx, dword [ebp - 0x44]
mov edx, 0x525dac
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x50]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x24]
mov edx, 0x525dd0
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x50]
mov eax, dword [ebp - 0x24]
push dword [eax + 0x2c]
push dword [eax + 0x28]
call sub.rtl120.bpl__Dateutils_DateTimeToUnix_qqrx16System_TDateTime
push edx
push eax
lea eax, [ebp - 0x48]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
mov ecx, dword [ebp - 0x48]
mov edx, 0x525dec
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax]
call dword [esi + 0x50]
lea ecx, [ebp - 0x50]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
call dword [esi + 0x24]
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov esi, dword [eax]
call dword [esi + 0x24]
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x88]
mov edx, dword [ebp - 0x1c]
call fcn.00520894
test ebx, ebx
jle 0x525bca
lea ecx, [ebp - 0x54]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
call dword [esi + 0x24]
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [eax + 8]
sub eax, ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jle 0x525bca
lea ecx, [ebp - 0x58]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
cmp dword [eax + 8], 1
jle 0x5258cb
lea ecx, [ebp - 0x5c]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5258cb
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x60]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov esi, dword [eax + 8]
sub esi, 2
sub esi, dword [ebp - 0x28]
test esi, esi
jl 0x5258bf
inc esi
xor ebx, ebx
lea eax, [ebp - 0x20]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea ecx, [ebp - 0x64]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0x20]
mov edx, ebx
call fcn.00520aec
lea ecx, [ebp - 0x10]
mov edx, 0x525dec
mov eax, dword [ebp - 0x20]
mov edi, dword [eax]
call dword [edi + 0x4c]
lea eax, [ebp - 0x20]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea ecx, [ebp - 0x68]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0x20]
lea edx, [ebx + 1]
call fcn.00520aec
lea ecx, [ebp - 0x14]
mov edx, 0x525dec
mov eax, dword [ebp - 0x20]
mov edi, dword [eax]
call dword [edi + 0x4c]
mov eax, dword [ebp - 0x10]
call fcn.00525238
push edx
push eax
mov eax, dword [ebp - 0x14]
call fcn.00525238
cmp edx, dword [esp + 4]
jne 0x5257f7
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5258b7
jmp 0x5257ff
pop edx
pop eax
jge 0x5258b7
lea eax, [ebp - 0x20]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea ecx, [ebp - 0x6c]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0x20]
mov edx, ebx
call fcn.00520aec
lea ecx, [ebp - 0x74]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0x70]
lea edx, [ebx + 1]
call fcn.00520aec
mov eax, dword [ebp - 0x70]
push eax
lea ecx, [ebp - 0x78]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, ebx
pop ecx
call fcn.00520b14
lea ecx, [ebp - 0x7c]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0x24]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea edx, [ebx + 1]
mov ecx, dword [ebp - 0x20]
call fcn.00520b14
inc ebx
dec esi
jne 0x52574b
inc dword [ebp - 0x28]
dec dword [ebp - 0x30]
jne 0x525716
mov eax, dword [ebp - 0x2c]
dec eax
test eax, eax
jl 0x525bca
inc eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x20]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea ecx, [ebp - 0x80]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0x20]
xor edx, edx
call fcn.00520aec
lea ecx, [ebp - 0xc]
mov edx, 0x525dac
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0x4c]
lea eax, [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x84]
call sub.rtl120.bpl__Sysutils_FileExists_qqrx20System_UnicodeString
test al, al
je 0x52597c
xor eax, eax
push ebp
push 0x525972
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x88]
call sub.rtl120.bpl__Sysutils_DeleteFile_qqrx20System_UnicodeString
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52597c
lea ecx, [ebp - 0x90]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0x8c]
xor edx, edx
call fcn.005208a8
dec dword [ebp - 0x30]
jne 0x5258db
jmp 0x525bca
lea ecx, [ebp - 0x94]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x94]
push eax
lea ecx, [ebp - 0x98]
lea eax, [ebp - 0x98]
or edx, 0xffffffff
call fcn.00519850
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x99]
pop eax
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x1c]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea edx, [ebp - 0x1c]
mov eax, 0x525d98
call fcn.0051981c
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__Sysutils_ExtractFileName_qqrx20System_UnicodeString
mov ecx, dword [ebp - 0x9c]
mov edx, 0x525dac
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x50]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x24]
mov edx, 0x525dd0
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x50]
mov eax, dword [ebp - 0x24]
push dword [eax + 0x2c]
push dword [eax + 0x28]
call sub.rtl120.bpl__Dateutils_DateTimeToUnix_qqrx16System_TDateTime
push edx
push eax
lea eax, [ebp - 0xa0]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
mov ecx, dword [ebp - 0xa0]
mov edx, 0x525dec
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x50]
lea ecx, [ebp - 0xa8]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0xa4]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
call dword [edx + 0x88]
mov edx, dword [ebp - 0x1c]
call fcn.00520894
jmp 0x525bca
lea edx, [ebp - 0x18]
mov eax, 0x525e10
call fcn.0051981c
lea ecx, [ebp - 0xac]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb0]
lea eax, [ebp - 0x98]
or edx, 0xffffffff
call fcn.00519850
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x99]
pop eax
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x1c]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea edx, [ebp - 0x1c]
mov eax, 0x525d98
call fcn.0051981c
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__Sysutils_ExtractFileName_qqrx20System_UnicodeString
mov ecx, dword [ebp - 0xb4]
mov edx, 0x525dac
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x50]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x24]
mov edx, 0x525dd0
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x50]
mov eax, dword [ebp - 0x24]
push dword [eax + 0x2c]
push dword [eax + 0x28]
call sub.rtl120.bpl__Dateutils_DateTimeToUnix_qqrx16System_TDateTime
push edx
push eax
lea eax, [ebp - 0xb8]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
mov ecx, dword [ebp - 0xb8]
mov edx, 0x525dec
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x50]
lea ecx, [ebp - 0xc0]
mov edx, 0x525d7c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x99]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0xbc]
mov edx, dword [eax]
call dword [edx + 0x88]
mov edx, dword [ebp - 0x1c]
call fcn.00520894
push 1
lea eax, [ebp - 0xc4]
mov ecx, 0x525d1c
mov edx, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov edx, dword [ebp - 0xc4]
mov cl, 1
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x68]
mov ebx, 0x3e7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x525c12
lea eax, [ebp - 0x18]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x525d04
lea eax, [ebp - 0xc4]
call sub.rtl120.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0xc0]
mov edx, dword [0x5192ac]
mov ecx, 2
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0xb8]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0xb0]
mov edx, dword [0x5192ac]
mov ecx, 4
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0xa0]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x98]
mov edx, dword [0x5192ac]
mov ecx, 4
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0x88]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x80]
mov edx, dword [0x5192ac]
mov ecx, 0xe
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0x48]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x40]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 0x3c]
mov edx, 3
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x20]
mov edx, dword [0x5192ac]
mov ecx, 3
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0x14]
mov edx, 5
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret