I have been digging around and I found a bunch of code that always repeat instructions and my friend suggested that it's calculation of text and he said delphi parameters use eax,edx and ecx. I would like to know what is array of Applicable components according to its use in the following code?

Can someone tell me what's happening in this code, is it really calculation of text?

Why 005A6D9D push dword ptr [ebx+esi*4+0C] puts 00000018 on the stack instead of 00000011?

Here is the piece of the code

 005A6D66 mov ebx,dword ptr [ebx+esi*4+1DC] 
 005A6D6D push ebx 
 005A6D6E imul ebx,edx,2E2B 
 005A6D74 imul edi,eax,91B7C 
 005A6D7A lea edi,[edi*8+5FD208]; gvar_005FD208:array[101] of TApplicableComponents 
 005A6D81 push dword ptr [edi+ebx*4+4] 
 005A6D85 imul ebx,edx,2E2B 
 005A6D8B imul edi,eax,91B7C 
 005A6D91 lea edi,[edi*8+5FD208]; gvar_005FD208:array[101] of TApplicableComponents 
 005A6D98 lea ebx,[edi+ebx*4] 
 005A6D9B push ebx 
 005A6D9C pop ebx 
 005A6D9D push dword ptr [ebx+esi*4+0C] 
 005A6DA1 imul edx,edx,2E2B 
 005A6DA7 imul eax,eax,91B7C 
 005A6DAD lea eax,[eax*8+5FD208]; gvar_005FD208:array[101] of TApplicableComponents 
 005A6DB4 lea eax,[eax+edx*4] 
 005A6DB7 mov ecx,dword ptr [eax+esi*4+10] 
 005A6DBB pop edx 
 005A6DBC pop eax 
 005A6DBD call 005A3FA8 

Thanks in advance

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.