int main(void)
{
013416C0 push ebp
013416C1 mov ebp,esp
013416C3 sub esp,0CA0h
013416C9 push ebx
013416CA push esi
013416CB push edi
013416CC lea edi,[ebp-0CA0h]
013416D2 mov ecx,328h
013416D7 mov eax,0CCCCCCCCh
013416DC rep stos dword ptr es:[edi]
013416DE mov eax,dword ptr [__security_cookie (0134801Ch)]
013416E3 xor eax,ebp
013416E5 mov dword ptr [ebp-4],eax
013416E8 mov byte ptr [ebp-0C99h],0
013416EF mov byte ptr [ebp-0C8Dh],0
DWORD dwHeight, dwWidth;
BYTE lpYUY2[1024];
BYTE lpRGB32[1024];
for(DWORD i = 0; i < dwHeight; i++)
013416F6 mov dword ptr [ebp-834h],0
01341700 jmp main+51h (01341711h)
01341702 mov eax,dword ptr [ebp-834h]
01341708 add eax,1
0134170B mov dword ptr [ebp-834h],eax
01341711 cmp byte ptr [ebp-0C8Dh],0
01341718 jne main+67h (01341727h)
0134171A push 1341A8Fh
0134171F call __RTC_UninitUse (013410C8h)
01341724 add esp,4
01341727 mov eax,dword ptr [ebp-834h]
0134172D cmp eax,dword ptr [dwHeight]
01341730 jae main+367h (01341A27h)
{
for(DWORD j = 0; j < dwWidth * 2; j += 4)
01341736 mov dword ptr [ebp-840h],0
01341740 jmp main+91h (01341751h)
01341742 mov eax,dword ptr [ebp-840h]
01341748 add eax,4
0134174B mov dword ptr [ebp-840h],eax
01341751 cmp byte ptr [ebp-0C99h],0
01341758 jne main+0A7h (01341767h)
0134175A push 1341A87h
0134175F call __RTC_UninitUse (013410C8h)
01341764 add esp,4
01341767 mov eax,dword ptr [dwWidth]
0134176A shl eax,1
0134176C cmp dword ptr [ebp-840h],eax
01341772 jae main+362h (01341A22h)
{
DWORD k0 = i * dwWidth * 2 + j;
01341778 cmp byte ptr [ebp-0C99h],0
0134177F jne main+0CEh (0134178Eh)
01341781 push 1341A87h
01341786 call __RTC_UninitUse (013410C8h)
0134178B add esp,4
0134178E mov eax,dword ptr [ebp-834h]
01341794 imul eax,dword ptr [dwWidth]
01341798 mov ecx,dword ptr [ebp-840h]
0134179E lea edx,[ecx+eax*2]
013417A1 mov dword ptr [ebp-84Ch],edx
DWORD k1 = (i * dwWidth + (dwWidth - 1 - j / 2)) * 4;
013417A7 cmp byte ptr [ebp-0C99h],0
013417AE jne main+0FDh (013417BDh)
013417B0 push 1341A87h
013417B5 call __RTC_UninitUse (013410C8h)
013417BA add esp,4
013417BD cmp byte ptr [ebp-0C99h],0
013417C4 jne main+113h (013417D3h)
DWORD k1 = (i * dwWidth + (dwWidth - 1 - j / 2)) * 4;
013417C6 push 1341A87h
013417CB call __RTC_UninitUse (013410C8h)
013417D0 add esp,4
013417D3 mov eax,dword ptr [ebp-834h]
013417D9 imul eax,dword ptr [dwWidth]
013417DD mov ecx,dword ptr [dwWidth]
013417E0 sub ecx,1
013417E3 mov edx,dword ptr [ebp-840h]
013417E9 shr edx,1
013417EB sub ecx,edx
013417ED add eax,ecx
013417EF shl eax,2
013417F2 mov dword ptr [ebp-858h],eax
DWORD k2 = k1 - 4;
013417F8 mov eax,dword ptr [ebp-858h]
013417FE sub eax,4
01341801 mov dword ptr [ebp-864h],eax
//Y0 U0 Y1 V0
BYTE Y0 = lpYUY2[k0 + 0];
01341807 mov eax,dword ptr [ebp-84Ch]
0134180D mov cl,byte ptr lpYUY2[eax]
01341814 mov byte ptr [ebp-86Dh],cl
BYTE U = lpYUY2[k0 + 1];
0134181A mov eax,dword ptr [ebp-84Ch]
01341820 mov cl,byte ptr [ebp+eax-41Fh]
01341827 mov byte ptr [ebp-879h],cl
BYTE Y1 = lpYUY2[k0 + 2];
0134182D mov eax,dword ptr [ebp-84Ch]
01341833 mov cl,byte ptr [ebp+eax-41Eh]
0134183A mov byte ptr [ebp-885h],cl
BYTE V = lpYUY2[k0 + 3];
01341840 mov eax,dword ptr [ebp-84Ch]
01341846 mov cl,byte ptr [ebp+eax-41Dh]
0134184D mov byte ptr [ebp-891h],cl
INT Y = Y0;
01341853 movzx eax,byte ptr [ebp-86Dh]
0134185A mov dword ptr [ebp-8A0h],eax
INT C = Y - 16;
01341860 mov eax,dword ptr [ebp-8A0h]
01341866 sub eax,10h
01341869 mov dword ptr [ebp-8ACh],eax
INT D = U - 128;
0134186F movzx eax,byte ptr [ebp-879h]
01341876 sub eax,80h
0134187B mov dword ptr [ebp-8B8h],eax
INT E = V - 128;
01341881 movzx eax,byte ptr [ebp-891h]
01341888 sub eax,80h
0134188D mov dword ptr [ebp-8C4h],eax
lpRGB32[k1 + 2] = Clip255((298 * C + 409 * E + 128) >> 8); // R
01341893 imul eax,dword ptr [ebp-8ACh],12Ah
0134189D imul ecx,dword ptr [ebp-8C4h],199h
013418A7 lea edx,[eax+ecx+80h]
013418AE sar edx,8
013418B1 push edx
013418B2 call _Clip255 (01341069h)
013418B7 add esp,4
013418BA mov ecx,dword ptr [ebp-858h]
013418C0 mov byte ptr [ebp+ecx-826h],al
lpRGB32[k1 + 1] = Clip255((298 * C - 100 * D - 208 * E + 128) >> 8); // G
013418C7 imul eax,dword ptr [ebp-8ACh],12Ah
013418D1 imul ecx,dword ptr [ebp-8B8h],64h
013418D8 sub eax,ecx
013418DA imul edx,dword ptr [ebp-8C4h],0D0h
013418E4 sub eax,edx
013418E6 add eax,80h
013418EB sar eax,8
013418EE push eax
013418EF call _Clip255 (01341069h)
013418F4 add esp,4
013418F7 mov ecx,dword ptr [ebp-858h]
013418FD mov byte ptr [ebp+ecx-827h],al
lpRGB32[k1 + 0] = Clip255((298 * C + 516 * D + 128) >> 8); // B
01341904 imul eax,dword ptr [ebp-8ACh],12Ah
0134190E imul ecx,dword ptr [ebp-8B8h],204h
01341918 lea edx,[eax+ecx+80h]
0134191F sar edx,8
01341922 push edx
01341923 call _Clip255 (01341069h)
01341928 add esp,4
0134192B mov ecx,dword ptr [ebp-858h]
01341931 mov byte ptr lpRGB32[ecx],al
Y = Y1;
01341938 movzx eax,byte ptr [ebp-885h]
Y = Y1;
0134193F mov dword ptr [ebp-8A0h],eax
C = Y - 16;
01341945 mov eax,dword ptr [ebp-8A0h]
0134194B sub eax,10h
0134194E mov dword ptr [ebp-8ACh],eax
D = U - 128;
01341954 movzx eax,byte ptr [ebp-879h]
0134195B sub eax,80h
01341960 mov dword ptr [ebp-8B8h],eax
E = V - 128;
01341966 movzx eax,byte ptr [ebp-891h]
0134196D sub eax,80h
01341972 mov dword ptr [ebp-8C4h],eax
lpRGB32[k2 + 2] = Clip255((298 * C + 409 * E + 128) >> 8); // R
01341978 imul eax,dword ptr [ebp-8ACh],12Ah
01341982 imul ecx,dword ptr [ebp-8C4h],199h
0134198C lea edx,[eax+ecx+80h]
01341993 sar edx,8
01341996 push edx
01341997 call _Clip255 (01341069h)
0134199C add esp,4
0134199F mov ecx,dword ptr [ebp-864h]
013419A5 mov byte ptr [ebp+ecx-826h],al
lpRGB32[k2 + 1] = Clip255((298 * C - 100 * D - 208 * E + 128) >> 8); // G
013419AC imul eax,dword ptr [ebp-8ACh],12Ah
013419B6 imul ecx,dword ptr [ebp-8B8h],64h
013419BD sub eax,ecx
013419BF imul edx,dword ptr [ebp-8C4h],0D0h
013419C9 sub eax,edx
013419CB add eax,80h
013419D0 sar eax,8
013419D3 push eax
013419D4 call _Clip255 (01341069h)
013419D9 add esp,4
013419DC mov ecx,dword ptr [ebp-864h]
013419E2 mov byte ptr [ebp+ecx-827h],al
lpRGB32[k2 + 0] = Clip255((298 * C + 516 * D + 128) >> 8); // B
013419E9 imul eax,dword ptr [ebp-8ACh],12Ah
013419F3 imul ecx,dword ptr [ebp-8B8h],204h
013419FD lea edx,[eax+ecx+80h]
01341A04 sar edx,8
01341A07 push edx
01341A08 call _Clip255 (01341069h)
01341A0D add esp,4
01341A10 mov ecx,dword ptr [ebp-864h]
01341A16 mov byte ptr lpRGB32[ecx],al
}
01341A1D jmp main+82h (01341742h)
}
01341A22 jmp main+42h (01341702h)
return 0;
01341A27 xor eax,eax
}
01341A29 push edx
01341A2A mov ecx,ebp
01341A2C push eax
01341A2D lea edx,ds:[1341A58h]
01341A33 call @_RTC_CheckStackVars@8 (01341249h)
01341A38 pop eax
01341A39 pop edx
01341A3A pop edi
01341A3B pop esi
01341A3C pop ebx
01341A3D mov ecx,dword ptr [ebp-4]
01341A40 xor ecx,ebp
01341A42 call @__security_check_cookie@4 (0134125Dh)
01341A47 add esp,0CA0h
01341A4D cmp ebp,esp
01341A4F call __RTC_CheckEsp (0134110Eh)
01341A54 mov esp,ebp
01341A56 pop ebp
01341A57 ret