Advertisement
Guest User

Untitled

a guest
Dec 29th, 2014
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.69 KB | None | 0 0
  1. int __usercall sub_404660<eax>(int a1<ebx>)
  2. {
  3.   int result; // eax@1
  4.   int v2; // edi@1
  5.   int v3; // eax@2
  6.   int v4; // ecx@3
  7.   int v5; // eax@5
  8.   int v6; // esi@5
  9.   int v7; // eax@5
  10.   int v8; // edx@5
  11.   char v9; // al@6
  12.   int v10; // ecx@8
  13.   int v11; // eax@12
  14.   int v12; // ecx@12
  15.   int v13; // edx@12
  16.   int v14; // ecx@17
  17.   bool v15; // al@19
  18.   int v16; // [sp-8h] [bp-44h]@12
  19.   int v17; // [sp-4h] [bp-40h]@12
  20.   int v18; // [sp+10h] [bp-2Ch]@5
  21.   int v19; // [sp+14h] [bp-28h]@1
  22.   int v20; // [sp+18h] [bp-24h]@5
  23.   int v21; // [sp+1Ch] [bp-20h]@5
  24.   int v22; // [sp+20h] [bp-1Ch]@5
  25.   int v23; // [sp+28h] [bp-14h]@10
  26.   int v24; // [sp+30h] [bp-Ch]@1
  27.   int v25; // [sp+38h] [bp-4h]@5
  28.  
  29.   result = (int)&v24;
  30.   v2 = 0;
  31.   v19 = 0;
  32.   if ( *(_DWORD *)(a1 + 632) )
  33.   {
  34.     do
  35.     {
  36.       v3 = *(_DWORD *)(a1 + 628);
  37.       if ( !*(_BYTE *)(v3 + v2 + 40) )
  38.       {
  39.         v4 = v3 + v2 + 4;
  40.         if ( *(_DWORD *)(v3 + v2 + 24) >= 0x10u )
  41.           v4 = *(_DWORD *)v4;
  42.         v5 = sub_536EA0(v4);
  43.         v25 = 0;
  44.         v6 = *(_DWORD *)(v5 + 4);
  45.         v7 = *(_DWORD *)v5;
  46.         v8 = v2 + *(_DWORD *)(a1 + 628) + 32;
  47.         v18 = v2 + *(_DWORD *)(a1 + 628) + 32;
  48.         v21 = 0;
  49.         v22 = 0;
  50.         v20 = v7;
  51.         if ( v6 )
  52.         {
  53.           v9 = (*(int (__thiscall **)(int))(*(_DWORD *)v6 + 4))(v6);
  54.           v8 = v18;
  55.           if ( v9 )
  56.           {
  57.             v22 = v6;
  58.             v21 = v20;
  59.           }
  60.         }
  61.         v10 = *(_DWORD *)(v8 + 4);
  62.         *(_DWORD *)(v8 + 4) = v22;
  63.         *(_DWORD *)v8 = v21;
  64.         if ( v10 )
  65.           (*(void (**)(void))(*(_DWORD *)v10 + 12))();
  66.         v25 = -1;
  67.         if ( v23 )
  68.           (*(void (**)(void))(*(_DWORD *)v23 + 12))();
  69.         (*(void (__stdcall **)(char *))(**(_DWORD **)(v2 + *(_DWORD *)(a1 + 628) + 32) + 60))(off_5FE588[0]);
  70.         v11 = v2 + *(_DWORD *)(a1 + 628) + 32;
  71.         v16 = 0;
  72.         v17 = 0;
  73.         v12 = *(_DWORD *)(v11 + 4);
  74.         v13 = *(_DWORD *)v11;
  75.         v20 = v12;
  76.         v18 = v13;
  77.         if ( v12 && (unsigned __int8)(*(int (__cdecl **)(int))(*(_DWORD *)v12 + 4))(v16) )
  78.         {
  79.           if ( v17 )
  80.             (*(void (**)(void))(*(_DWORD *)v17 + 12))();
  81.           v17 = v20;
  82.           v16 = v18;
  83.         }
  84.         sub_405F90(v16, v17);
  85.         v14 = *(_DWORD *)(v2 + *(_DWORD *)(a1 + 628) + 32);
  86.         v15 = v14 && (unsigned __int8)(**(int (***)(void))v14)();
  87.         *(_BYTE *)(v2 + *(_DWORD *)(a1 + 628) + 40) = v15;
  88.         *(_BYTE *)(v2 + *(_DWORD *)(a1 + 628) + 41) = 0;
  89.       }
  90.       result = v19 + 1;
  91.       v2 += 116;
  92.       v19 = result;
  93.     }
  94.     while ( (unsigned int)result < *(_DWORD *)(a1 + 632) );
  95.   }
  96.   return result;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement