|
发表于 2017-6-3 07:05:14
|
显示全部楼层
- 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
复制代码 |
|