Function at 0x513444
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x51344d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x513b8e
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, 0x513bb0
call fcn.0050d578
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TStringList_]
call sub.rtl120.bpl__Classes_TStringList__bctr_qqrv
mov dword [ebp - 0x54], eax
xor edx, edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
push 0
push 0
mov eax, dword [ebp + 0xc]
mov ecx, 2
mov edx, dword [0x50d148]
call sub.rtl120.bpl__System__DynArraySetLength_qqrv
add esp, 8
mov byte [ebp - 0x45], 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x512808]
call fcn.00512b70
mov dword [ebp - 0x40], eax
xor eax, eax
push ebp
push 0x513a8d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x513a12
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x58]
mov edx, edi
call sub.rtl120.bpl__System__WStrFromUStr_qqrr17System_WideStringx20System_UnicodeString
mov eax, dword [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
mov edx, dword [ebp + 0x14]
call sub.rtl120.bpl__System__WStrFromUStr_qqrr17System_WideStringx20System_UnicodeString
mov eax, dword [ebp - 0x5c]
push eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x60]
mov edx, esi
call sub.rtl120.bpl__System__WStrFromUStr_qqrr17System_WideStringx20System_UnicodeString
mov eax, dword [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
mov edx, ebx
call sub.rtl120.bpl__System__WStrFromUStr_qqrr17System_WideStringx20System_UnicodeString
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x40]
pop ecx
call fcn.00512bd0
mov edx, dword [ebp + 0x10]
mov eax, 0x513bd8
call sub.rtl120.bpl__System_Pos_qqrx20System_UnicodeStringt1
dec eax
jne 0x513579
lea eax, [ebp - 8]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
push eax
push 0
push 0x10
push 0x513bec
lea eax, [ebp - 0x68]
mov edx, dword [ebp + 0x10]
call sub.rtl120.bpl__System__WStrFromUStr_qqrr17System_WideStringx20System_UnicodeString
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
call dword [eax + 0x3c]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
jmp 0x5135a3
lea eax, [ebp - 8]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
push eax
push 0
push 0x11
lea eax, [ebp - 0x6c]
mov edx, dword [ebp + 0x10]
call sub.rtl120.bpl__System__WStrFromUStr_qqrr17System_WideStringx20System_UnicodeString
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x5135d7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x513a94
lea eax, [ebp - 0x74]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0x1c]
mov ecx, 0x513bf4
call sub.rtl120.bpl__System__IntfCast_qqrr45System__DelphiInterface_t17System_IInterface_x45System__DelphiInterface_t17System_IInte
xor ebx, ebx
jmp 0x5138fd
xor edx, edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x78]
lea edx, [ebp - 0x38]
call sub.rtl120.bpl__Variants__VarToIntf_qqrr45System__DelphiInterface_t17System_IInterface_rx8TVarData
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0xc]
mov ecx, 0x513c04
call sub.rtl120.bpl__System__IntfCast_qqrr45System__DelphiInterface_t17System_IInterface_x45System__DelphiInterface_t17System_IInte
lea eax, [ebp - 0x10]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x6c]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x3c], eax
cmp byte [ebp - 0x45], 0
jne 0x5136bd
mov eax, dword [ebp - 0x3c]
inc eax
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
inc eax
push eax
mov eax, dword [ebp + 0xc]
mov ecx, 2
mov edx, dword [0x50d148]
call sub.rtl120.bpl__System__DynArraySetLength_qqrv
add esp, 8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov edx, 0x513c20
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea ecx, [ebp - 0x7c]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x7c]
mov edx, 0x513c20
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov ecx, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov esi, dword [eax]
call dword [esi + 0x20]
mov byte [ebp - 0x45], 1
lea eax, [ebp - 0x80]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0x18]
mov ecx, 0x513bf4
call sub.rtl120.bpl__System__IntfCast_qqrr45System__DelphiInterface_t17System_IInterface_x45System__DelphiInterface_t17System_IInte
inc ebx
mov esi, 1
lea edx, [ebp - 0x84]
mov eax, ebx
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + ebx*4]
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea ecx, [ebp - 0x8c]
mov edx, ebx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x8c]
lea edx, [ebp - 0x90]
mov eax, ebx
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
push dword [ebp - 0x90]
push 0x513c40
lea eax, [ebp - 0x88]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov ecx, dword [ebp - 0x88]
mov edx, ebx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x20]
jmp 0x5138e2
lea eax, [ebp - 0x94]
lea edx, [ebp - 0x38]
call sub.rtl120.bpl__Variants__VarToIntf_qqrr45System__DelphiInterface_t17System_IInterface_rx8TVarData
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 0x14]
mov ecx, 0x513c44
call sub.rtl120.bpl__System__IntfCast_qqrr45System__DelphiInterface_t17System_IInterface_x45System__DelphiInterface_t17System_IInte
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x14]
call fcn.00512ec4
cmp ebx, 1
jne 0x51382d
lea eax, [ebp - 0x98]
call sub.rtl120.bpl__System__WStrClr_qqrpv
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
lea eax, [eax + esi*4]
call sub.rtl120.bpl__System__UStrFromWStr_qqrr20System_UnicodeStringx17System_WideString
lea ecx, [ebp - 0xa0]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xa0]
lea eax, [ebp - 0xa8]
call sub.rtl120.bpl__System__WStrClr_qqrpv
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov edx, dword [ebp - 0xa8]
lea eax, [ebp - 0xa4]
call sub.rtl120.bpl__System__UStrFromWStr_qqrr20System_UnicodeStringx17System_WideString
push dword [ebp - 0xa4]
push 0x513c40
lea eax, [ebp - 0x9c]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov ecx, dword [ebp - 0x9c]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x20]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + ebx*4]
lea eax, [eax + esi*4]
mov edx, dword [ebp - 0x20]
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea ecx, [ebp - 0xb0]
mov edx, ebx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xb0]
push dword [ebp - 0x20]
push 0x513c40
lea eax, [ebp - 0xac]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov ecx, dword [ebp - 0xac]
mov edx, ebx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x20]
inc esi
lea eax, [ebp - 0xb8]
call sub.rtl120.bpl__System__WStrClr_qqrpv
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call sub.rtl120.bpl__System__CheckAutoResult_qqrl
mov edx, dword [ebp - 0xb8]
lea eax, [ebp - 0xb4]
call sub.rtl120.bpl__System__UStrFromWStr_qqrr20System_UnicodeStringx17System_WideString
mov edx, dword [ebp - 0xb4]
mov eax, 0x513c60
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x5138e2
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x20]
mov edx, 0x513c84
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0xbc]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_OutputDebugStringW
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x38]
push eax
push 1
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
je 0x51375d
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x38]
push eax
push 1
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
je 0x513605
lea eax, [ebp - 0xc0]
mov ecx, dword [ebp + 0x10]
mov edx, 0x513ca8
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.0050d578
mov edx, 0x513ce0
mov eax, dword [ebp + 0x10]
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x513a08
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 0x3c]
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc4]
mov edx, 0x513d18
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0xc4]
xor edx, edx
call fcn.0050d578
cmp dword [ebp - 0x3c], 0x3b
jl 0x5139fc
test ebx, ebx
jle 0x5139fc
mov esi, 1
lea eax, [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
mov edx, dword [edx + esi*4]
mov edx, dword [edx + 0xa0]
call sub.rtl120.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
push 0
push 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x10]
call sub.rtl120.bpl__Sysutils_StrToInt64Def_qqrx20System_UnicodeStringxj
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
call fcn.00514e3c
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
lea eax, [ebp - 0xcc]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + esi*4]
add eax, 0x10
call sub.rtl120.bpl__System__UStrAsg_qqrr20System_UnicodeStringx20System_UnicodeString
inc esi
dec ebx
jne 0x51398d
xor edx, edx
mov eax, 0x513d80
call fcn.0050d578
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x513a23
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x513a94
mov eax, dword [ebp + 0x10]
mov edx, 0x513ce0
call sub.rtl120.bpl__System__UStrEqual_qqrv
jne 0x513a76
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x513a76
inc ebx
xor esi, esi
lea ecx, [ebp - 0xd0]
mov edx, esi
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xd0]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
call sub.kernel32.dll_OutputDebugStringW
inc esi
dec ebx
jne 0x513a51
mov eax, dword [ebp - 0x40]
call sub.rtl120.bpl__System_TObject_Free_qqrv
cmp dword [ebp - 0x54], 0
je 0x513a8c
lea eax, [ebp - 0x54]
call sub.rtl120.bpl__Sysutils_FreeAndNil_qqrpv
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x513b98
lea eax, [ebp - 0xd0]
mov edx, 6
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0xb8]
call sub.rtl120.bpl__System__WStrClr_qqrpv
lea eax, [ebp - 0xb4]
mov edx, 3
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0xa8]
call sub.rtl120.bpl__System__WStrClr_qqrpv
lea eax, [ebp - 0xa4]
mov edx, 3
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x98]
call sub.rtl120.bpl__System__WStrClr_qqrpv
lea eax, [ebp - 0x94]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 0x90]
mov edx, 4
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x80]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 0x7c]
call sub.rtl120.bpl__System__UStrClr_qqrpv
lea eax, [ebp - 0x78]
mov edx, dword [sym.imp.rtl120.bpl___xp_17System_IInterface]
mov ecx, 2
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0x6c]
mov edx, 6
call sub.rtl120.bpl__System__WStrArrayClr_qqrpvi
lea eax, [ebp - 0x38]
call sub.rtl120.bpl__Variants__VarClr_qqrr8TVarData
lea eax, [ebp - 0x24]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x1c]
mov edx, dword [sym.imp.rtl120.bpl___xp_12IEnumVARIANT]
mov ecx, 2
call sub.rtl120.bpl__System__FinalizeArray_qqrpvt1ui
lea eax, [ebp - 0x14]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 0x10]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 0xc]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 8]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
lea eax, [ebp - 4]
call sub.rtl120.bpl__System__IntfClear_qqrr45System__DelphiInterface_t17System_IInterface_
ret