Guest

Untitled

By: a guest on Jan 28th, 2012  |  syntax: C  |  size: 4.36 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. int __thiscall sub_426540(void *this, const char *a2, int a3)
  2. {
  3.   FILE *v3; // eax@1
  4.   const char *v4; // edi@1
  5.   unsigned int v5; // eax@1
  6.   int v6; // eax@2
  7.   FILE *v7; // eax@3
  8.   int v8; // ebx@3
  9.   int v9; // eax@4
  10.   int v10; // eax@5
  11.   int v11; // esi@5
  12.   int v12; // esi@6
  13.   signed int v13; // eax@8
  14.   int v14; // ecx@8
  15.   int v15; // eax@12
  16.   int v16; // ebx@12
  17.   double v17; // st7@12
  18.   double v18; // ST08_8@12
  19.   int v19; // eax@12
  20.   int v20; // eax@12
  21.   int v21; // eax@12
  22.   int v22; // eax@12
  23.   int v23; // eax@12
  24.   const char *v24; // eax@14
  25.   int v25; // eax@14
  26.   int v26; // eax@14
  27.   char *v27; // eax@16
  28.   FILE *v28; // esi@16
  29.   char v29; // cl@17
  30.   const char *v30; // eax@18
  31.   int v32[4]; // [sp+0h] [bp-13Ch]@14
  32.   int v33; // [sp+8h] [bp-134h]@14
  33.   int v34; // [sp+Ch] [bp-130h]@14
  34.   double v35; // [sp+10h] [bp-12Ch]@12
  35.   double v36; // [sp+18h] [bp-124h]@12
  36.   char v37; // [sp+34h] [bp-108h]@26
  37.   double *v38; // [sp+38h] [bp-104h]@5
  38.   double v39; // [sp+3Ch] [bp-100h]@1
  39.   double v40; // [sp+44h] [bp-F8h]@1
  40.   char v41; // [sp+4Ch] [bp-F0h]@12
  41.   int v42; // [sp+50h] [bp-ECh]@13
  42.   unsigned int v43; // [sp+64h] [bp-D8h]@12
  43.   char v44; // [sp+68h] [bp-D4h]@18
  44.   char *v45; // [sp+6Ch] [bp-D0h]@16
  45.   int v46; // [sp+7Ch] [bp-C0h]@16
  46.   unsigned int v47; // [sp+80h] [bp-BCh]@16
  47.   char v48; // [sp+84h] [bp-B8h]@14
  48.   char *v49; // [sp+88h] [bp-B4h]@14
  49.   int v50; // [sp+98h] [bp-A4h]@24
  50.   unsigned int v51; // [sp+9Ch] [bp-A0h]@14
  51.   char v52; // [sp+A0h] [bp-9Ch]@12
  52.   int v53; // [sp+A4h] [bp-98h]@25
  53.   unsigned int v54; // [sp+B8h] [bp-84h]@24
  54.   char Src; // [sp+BCh] [bp-80h]@16
  55.   char v56; // [sp+BDh] [bp-7Fh]@18
  56.   int v57; // [sp+124h] [bp-18h]@26
  57.   unsigned int v58; // [sp+12Ch] [bp-10h]@1
  58.   int v59; // [sp+130h] [bp-Ch]@5
  59.  
  60.   v58 = (unsigned int)&v39 ^ dword_472260;
  61.   v4 = (const char *)this;
  62.   LODWORD(v40) = a3;
  63.   v5 = _time64(0);
  64.   srand(v5);
  65.   v3 = fopen(v4, "rb");
  66.   if ( !v3 )
  67.   {
  68.     v6 = sub_401EE0((int)dword_474EA8, "Failed to open ");
  69.     sub_401EE0(v6, v4);
  70.     v3 = (FILE *)_LN32(0);
  71.   }
  72.   v8 = sub_40C300(v3);
  73.   v7 = fopen(a2, "rb");
  74.   if ( !v7 )
  75.   {
  76.     v9 = sub_401EE0((int)dword_474EA8, "Failed to open ");
  77.     sub_401EE0(v9, a2);
  78.     v7 = (FILE *)_LN32(0);
  79.   }
  80.   v11 = sub_40C300(v7);
  81.   v10 = operator new(0x68u);
  82.   v38 = (double *)v10;
  83.   v59 = 0;
  84.   if ( v10 )
  85.     v12 = sub_409080(v10, v8, v11, SLODWORD(v39));
  86.   else
  87.     v12 = 0;
  88.   v59 = -1;
  89.   v13 = 0;
  90.   v14 = v12 + 4;
  91.   while ( *(_DWORD *)v14 )
  92.   {
  93.     ++v13;
  94.     v14 += 4;
  95.     if ( v13 >= 2 )
  96.     {
  97.       while ( !sub_409500(v12) )
  98.         ;
  99.       break;
  100.     }
  101.   }
  102.   v15 = *(_DWORD *)v12;
  103.   v17 = *(double *)(*(_DWORD *)v12 + 24);
  104.   HIDWORD(v36) = L"\n";
  105.   v40 = v17;
  106.   v39 = *(double *)(v15 + 32);
  107.   v35 = v39;
  108.   v18 = v17;
  109.   v19 = sub_401EE0((int)dword_474EA8, "Score 1: ");
  110.   v20 = sub_426E20(v19, v18);
  111.   v21 = sub_401EE0(v20, " score 2: ");
  112.   v22 = sub_426E20(v21, v35);
  113.   sub_401EE0(v22, (const char *)L"\n");
  114.   v16 = *(_DWORD *)(v12 + 100);
  115.   *(_DWORD *)(v12 + 100) = 0;
  116.   sub_4263E0((char *)v4, (int)&v52);
  117.   v59 = 1;
  118.   sub_401860((int)&v52, "__", 2u);
  119.   v23 = sub_4263E0((char *)a2, (int)&v41);
  120.   LOBYTE(v59) = 2;
  121.   sub_401C40((int)&v52, v23, 0, 0xFFFFFFFFu);
  122.   LOBYTE(v59) = 1;
  123.   if ( v43 >= 0x10 )
  124.     sub_42E4A1(v42);
  125.   v25 = sub_401EE0((int)dword_474EA8, "Film saved at: ");
  126.   v26 = sub_4081E0(v25, (int)&v52);
  127.   sub_401EE0(v26, (const char *)L"\n");
  128.   v38 = (double *)&v32[1];
  129.   sub_408130(".aff", (int)&v32[1], (int)&v52);
  130.   sub_421130(v16, v32[1], v33, v34, SLODWORD(v35), SHIDWORD(v35), SLODWORD(v36), HIDWORD(v36));
  131.   sub_408130(".res", (int)&v48, (int)&v52);
  132.   LOBYTE(v59) = 3;
  133.   v24 = v49;
  134.   if ( v51 < 0x10 )
  135.     v24 = (const char *)&v49;
  136.   v28 = fopen(v24, L"w");
  137.   v36 = v39 * 0.001;
  138.   v35 = 0.001 * v40;
  139.   sprintf(&Src, "%f\n%f", 0.001 * v40, v39 * 0.001);
  140.   v27 = &Src;
  141.   v47 = 15;
  142.   v46 = 0;
  143.   LOBYTE(v45) = 0;
  144.   do
  145.     v29 = *v27++;
  146.   while ( v29 );
  147.   sub_401970((int)&v44, &Src, v27 - &v56);
  148.   v30 = v45;
  149.   if ( v47 < 0x10 )
  150.     v30 = (const char *)&v45;
  151.   fputs(v30, v28);
  152.   fclose(v28);
  153.   if ( v47 >= 0x10 )
  154.     sub_42E4A1((int)v45);
  155.   v47 = 15;
  156.   v46 = 0;
  157.   LOBYTE(v45) = 0;
  158.   if ( v51 >= 0x10 )
  159.     sub_42E4A1((int)v49);
  160.   v51 = 15;
  161.   v50 = 0;
  162.   LOBYTE(v49) = 0;
  163.   if ( v54 >= 0x10 )
  164.     sub_42E4A1(v53);
  165.   return sub_42DF3E((void *)((unsigned int)&v37 ^ v57), v37);
  166. }