int* multiBleu = stackalloc int[256];
int* multiVert = stackalloc int[256];
int* multiRouge = stackalloc int[256];
for (int i = 0; i < 256; i++)
{
multiBleu[i] = i * 76;
multiVert[i] = i * 151;
multiRouge[i] = i * 28;
/* Par multiplication (Utilisation de Cordbg du SDK)
[0077] imul eax,esi,4Ch
[007a] mov edx,dword ptr [ebp-18h]
[007d] mov dword ptr [edx+esi*4],eax
[0080] imul eax,esi,97h
[0086] mov dword ptr [edi+esi*4],eax
[0089] imul eax,esi,1Ch
[008c] mov dword ptr [ebx+esi*4],eax
*/
}
int R, V, B;
R = V = B = 0;
multiBleu[i] = B;
multiVert[i] = V;
multiRouge[i] = R;
B += 76;
V += 151;
R += 28;
/* Par addition (utilisation de Cordbg du SDK
[008f] mov eax,dword ptr [ebp-18h]
[0092] mov dword ptr [eax+esi*4],ebx
[0095] mov eax,dword ptr [ebp-1Ch]
[0098] mov dword ptr [eax+esi*4],edi
[009b] mov eax,dword ptr [ebp-20h]
[009e] mov edx,dword ptr [ebp-24h]
[00a1] mov dword ptr [eax+esi*4],edx
[00a4] add ebx,4Ch
[00a7] add edi,97h
[00ad] add dword ptr [ebp-24h],1Ch
int R, V, B, cpt;
B = 19380;
V = 38505;
R = 7140;
cpt = 255;
do
multiBleu[cpt] = B;
multiVert[cpt] = V;
multiRouge[cpt] = R;
B -= 76;
V -= 151;
R -= 28;
while (--cpt >= 0);
/* Extrait de l'utilitaire Cordbg du SDK
[0092] mov dword ptr [eax+esi*4],edi
[0098] mov edx,dword ptr [ebp-24h]
[009b] mov dword ptr [eax+esi*4],edx
[009e] mov eax,dword ptr [ebp-20h]
[00a1] mov dword ptr [eax+esi*4],ebx
[00a4] add edi,0FFFFFFB4h
[00a7] add dword ptr [ebp-24h],0FFFFFF69h
[00ae] add ebx,0FFFFFFE4h
[00b1] dec esi
[00b2] jns FFFFFFDD
while (cpt-- >= 0) ;
[0098] mov dword ptr [eax+esi*4],ebx
[00a7] add ebx,0FFFFFF69h
[00ad] add dword ptr [ebp-24h],0FFFFFFE4h
[00b1] mov dword ptr [ebp-28h],esi
[00b4] dec esi
[00b5] cmp dword ptr [ebp-28h],0
[00b9] jge FFFFFFD6