Advertisement
Guest User

Untitled

a guest
Apr 30th, 2016
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.57 KB | None | 0 0
  1. int __cdecl sub_80F4DBE(int a1)
  2. {
  3.   int result; // eax@2
  4.   int v2; // ST2C_4@42
  5.   char v3; // [sp+17h] [bp-61h]@38
  6.   signed int v4; // [sp+1Ch] [bp-5Ch]@17
  7.   char v5; // [sp+30h] [bp-48h]@8
  8.   char v6; // [sp+40h] [bp-38h]@8
  9.   int v7; // [sp+50h] [bp-28h]@1
  10.   int v8; // [sp+54h] [bp-24h]@1
  11.   int v9; // [sp+58h] [bp-20h]@40
  12.   int v10; // [sp+5Ch] [bp-1Ch]@40
  13.   char v11; // [sp+60h] [bp-18h]@30
  14.  
  15.   v7 = *(_DWORD *)(a1 + 344);
  16.   *(_BYTE *)(a1 + 358) = 10;
  17.   *(_DWORD *)(v7 + 1956) = 0;
  18.   v8 = sub_80F4BA4(a1);
  19.   if ( *(_DWORD *)(v7 + 9924) == 2 )
  20.   {
  21.     if ( *(_DWORD *)(v7 + 9896) == 3 )
  22.     {
  23.       sub_80F40C4(a1);
  24.       result = *(_DWORD *)(a1 + 344);
  25.       *(_DWORD *)(result + 10184) = 0;
  26.     }
  27.     else if ( *(_DWORD *)(v7 + 9896) == 2 )
  28.     {
  29.       sub_80F41C2(a1);
  30.       result = *(_DWORD *)(a1 + 344);
  31.       *(_DWORD *)(result + 10184) = 0;
  32.     }
  33.     else if ( *(_DWORD *)(v7 + 204) == *(_DWORD *)a1 )
  34.     {
  35.       *(_BYTE *)(a1 + 242) |= 2u;
  36.       *(_BYTE *)(a1 + 242) &= 0xFEu;
  37.       *(_BYTE *)(a1 + 353) = 1;
  38.       *(_DWORD *)(v7 + 12) |= 0x800000u;
  39.       *(_DWORD *)(v7 + 12) &= 0xFCFFFFFF;
  40.       *(_DWORD *)(v7 + 228) = *(_DWORD *)(v7 + 10044);
  41.       sub_80F2F2E(a1);
  42.       *(_DWORD *)(v7 + 10268) = 0;
  43.       if ( *(_DWORD *)(v7 + 10300) <= dword_859B5EC )
  44.         *(_DWORD *)(v7 + 160) &= 0xFFBFFFFF;
  45.       if ( *(_DWORD *)(v7 + 10156) )
  46.       {
  47.         *(_DWORD *)(v7 + 4) = 2;
  48.       }
  49.       else if ( *(_DWORD *)(v7 + 10160) )
  50.       {
  51.         *(_DWORD *)(v7 + 4) = 3;
  52.       }
  53.       else if ( *(_DWORD *)(v7 + 9896) == 1 )
  54.       {
  55.         if ( *(_DWORD *)(a1 + 520) )
  56.           v4 = 7;
  57.         else
  58.           v4 = 6;
  59.         *(_DWORD *)(v7 + 4) = v4;
  60.         *(_BYTE *)(a1 + 242) |= 1u;
  61.         *(_BYTE *)(a1 + 242) &= 0xFDu;
  62.         *(_BYTE *)(a1 + 353) = 0;
  63.       }
  64.       else
  65.       {
  66.         *(_DWORD *)(v7 + 4) = *(_DWORD *)(a1 + 520) != 0;
  67.       }
  68.       *(_DWORD *)(v7 + 72) = (signed int)*(float *)(dword_8793D94 + 8);
  69.       *(_DWORD *)(v7 + 80) = *(_DWORD *)(dword_8793D90 + 8);
  70.       *(float *)(v7 + 10256) = *(float *)(v7 + 1492) / 255.0;
  71.       sub_811FB7A(a1);
  72.       sub_811F736(a1);
  73.       sub_80F20C8(a1);
  74.       if ( dword_859B5EC - *(_DWORD *)(v7 + 10168) <= 1000 )
  75.         *(_DWORD *)(a1 + 8) &= 0xFFFFFF7F;
  76.       else
  77.         *(_DWORD *)(a1 + 8) |= 0x80u;
  78.       *(_DWORD *)(v7 + 300) = *(_DWORD *)(a1 + 404);
  79.       sub_80F2350(a1);
  80.       if ( *(_BYTE *)(dword_8793E0C + 8) )
  81.         sub_80F2FA4(v7, a1, *(_DWORD *)v7, 1);
  82.       else
  83.         sub_80DD59E(v7, a1, 1, 1);
  84.       if ( *(_DWORD *)(a1 + 404) > 0 && sub_80F474A(a1) )
  85.         *(_DWORD *)(a1 + 284) = 0x4000000;
  86.       sub_80F61BE(a1, (unsigned int)&v11);
  87.       *(_DWORD *)(v7 + 1444) = sub_80F6ED0(a1, &v11, *(_DWORD *)(v7 + 10296));
  88.       if ( *(_DWORD *)(v7 + 1444) )
  89.       {
  90.         *(_DWORD *)(v7 + 10296) = *(_DWORD *)(v7 + 1444) & 0x3F;
  91.         if ( dword_8665488[140 * *(_DWORD *)(v7 + 10296)] & 0x400000 )
  92.           *(_DWORD *)(v7 + 160) |= 0x800000u;
  93.         else
  94.           *(_DWORD *)(v7 + 160) &= 0xFF7FFFFF;
  95.       }
  96.       else
  97.       {
  98.         *(_DWORD *)(v7 + 10296) = 1023;
  99.       }
  100.       if ( *(_DWORD *)(a1 + 4) == 1 )
  101.       {
  102.         if ( *(_DWORD *)(a1 + 404) <= 0 )
  103.           v3 = 11;
  104.         else
  105.           v3 = 9;
  106.         *(_BYTE *)(a1 + 358) = v3;
  107.         v9 = *(_DWORD *)(a1 + 144);
  108.         v10 = 1208 * v9 + 140846652;
  109.         *((_DWORD *)&unk_8652A1C + 302 * v9) = *(_DWORD *)(a1 + 108);
  110.         *(_DWORD *)(v10 + 996) = *(_DWORD *)(a1 + 212);
  111.         sub_80F552A(v7 + 232, v10 + 1000);
  112.         if ( v8 )
  113.           sub_811BEEE(a1);
  114.         v2 = sub_806289C(*(_DWORD *)a1);
  115.         sub_80D978C(v2, a1, v10, *(_BYTE *)(a1 + 357));
  116.         sub_80D9698(v2, a1, v10);
  117.         if ( *(_DWORD *)(v7 + 12) & 0x800000 && *(_DWORD *)(v7 + 160) & 0x300 )
  118.           sub_8109672(dword_859B404 + 560 * *(_DWORD *)(v7 + 1428));
  119.         if ( *(_BYTE *)(dword_8793E34 + 8) )
  120.         {
  121.           if ( sub_8090A5A(a1) )
  122.           {
  123.             sub_811BF30(a1);
  124.             sub_80909E8(a1);
  125.           }
  126.         }
  127.         result = *(_DWORD *)(a1 + 344);
  128.         *(_DWORD *)(result + 10184) = 0;
  129.       }
  130.       else
  131.       {
  132.         result = *(_DWORD *)(a1 + 344);
  133.         *(_DWORD *)(result + 10184) = 0;
  134.       }
  135.     }
  136.     else
  137.     {
  138.       sub_80F552A(v7 + 20, &v6);
  139.       sub_80F5506(&v5, 0, *(_DWORD *)(v7 + 236), 0);
  140.       sub_80F69B4(a1, &v6, &v5);
  141.       result = *(_DWORD *)(a1 + 344);
  142.       *(_DWORD *)(result + 10184) = 0;
  143.     }
  144.   }
  145.   else
  146.   {
  147.     result = *(_DWORD *)(a1 + 344);
  148.     *(_DWORD *)(result + 10184) = 0;
  149.   }
  150.   return result;
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement