Guest User

REPORT_CRIME reversal by gir489

a guest
May 29th, 2015
3,140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.35 KB | None | 0 0
  1. char __fastcall sub_140592CE8(__int64 playerIndexParam, int crimeType, char a3, __int64 wantedLevel)
  2. {
  3.   float v4; // xmm0_4@1
  4.   char v5; // al@1
  5.   __int64 playerIndex; // rbx@1
  6.   unsigned int v7; // er8@1
  7.   float v8; // xmm0_4@4
  8.   __int64 v9; // r10@14
  9.   int v10; // er11@16
  10.   int v11; // ecx@16
  11.   int v12; // eax@18
  12.   int v13; // ecx@23
  13.   unsigned int v15; // eax@41
  14.  
  15.   v4 = *(float *)(playerIndexParam + 28);
  16.   v5 = a3;
  17.   playerIndex = playerIndexParam;
  18.   v7 = 0;
  19.   if ( v5 )
  20.     v4 = v4 * 0.333;
  21.   *(_DWORD *)wantedLevel = 0;
  22.   switch ( crimeType )
  23.   {
  24.     case 28:
  25.       v8 = v4 * 10.0;
  26.       goto LABEL_38;
  27.     case 2:
  28.     case 3:
  29.     case 4:
  30.     case 11:
  31.     case 43:
  32.     case 44:
  33.     case 48:
  34.       v8 = v4 * 5.0;
  35.       goto LABEL_38;
  36.     case 12:
  37.     case 18:
  38.     case 20:
  39.     case 40:
  40.     case 45:
  41.       goto LABEL_6;
  42.     case 13:
  43.     case 23:
  44.     case 46:
  45.       v8 = v4 * 35.0;
  46.       goto LABEL_38;
  47.     case 24:
  48.       v8 = v4 * 100.0;
  49.       goto LABEL_38;
  50.     case 7:
  51.     case 8:
  52.     case 31:
  53.     case 47:
  54.       v8 = v4 * 15.0;
  55.       goto LABEL_38;
  56.     case 14:
  57.     case 16:
  58.     case 19:
  59.       v8 = v4 * 80.0;
  60.       goto LABEL_38;
  61.     case 32:
  62.       v8 = v4 * 60.0;
  63.       goto LABEL_38;
  64.     case 33:
  65.       if ( byte_1421758D1 && byte_142531BA7 )
  66.         goto LABEL_14;
  67.       return 0;
  68.     case 41:
  69.       if ( byte_1421758D1 && byte_142531BA7 )
  70.       {
  71. LABEL_14:
  72.         v9 = *(_DWORD *)(playerIndexParam + 148);
  73.         if ( (signed int)v9 >= 5 )
  74.           return 0;
  75.         if ( word_142179FF0 == 6 )
  76.         {
  77.           v10 = *(_DWORD *)(qword_142179FE8 + 4i64 * (unsigned int)(v9 + 1));
  78.           v11 = *(_DWORD *)(qword_142179FE8 + 4 * v9);
  79.         }
  80.         else
  81.         {
  82.           v10 = 0;
  83.           v11 = 0;
  84.         }
  85.         v12 = (v10 - v11) / 2 + 1;
  86.         goto LABEL_39;
  87.       }
  88.       if ( *(_DWORD *)(playerIndexParam + 148) >= 3 )
  89.       {
  90. LABEL_6:
  91.         v8 = v4 * 20.0;
  92. LABEL_38:
  93.         v12 = (signed int)ffloor(v8);
  94. LABEL_39:
  95.         *(_DWORD *)wantedLevel = v12;
  96.         goto LABEL_40;
  97.       }
  98.       if ( word_142179FF0 == 6 )
  99.         v13 = *(_DWORD *)(qword_142179FE8 + 12);
  100.       else
  101.         v13 = 0;
  102.       *(_DWORD *)wantedLevel = v13 - *(_DWORD *)(playerIndex + 4) + 1;
  103. LABEL_40:
  104.       if ( !*(_DWORD *)wantedLevel )
  105.         return 0;
  106. LABEL_41:
  107.       v15 = *(_DWORD *)(playerIndex + 1188);
  108.       if ( v15 && v15 > dword_142531D00 )
  109.       {
  110.         if ( word_142179FF0 == 6 )
  111.           v7 = *(_DWORD *)(qword_142179FE8 + 8);
  112.         if ( *(_DWORD *)wantedLevel + *(_DWORD *)(playerIndex + 4) < v7 )
  113.           return 0;
  114.       }
  115.       return 1;
  116.     case 27:
  117.     case 42:
  118.       v8 = v4 * 0.0;
  119.       goto LABEL_38;
  120.     case 9:
  121.     case 10:
  122.       v8 = v4 * 3.0;
  123.       goto LABEL_38;
  124.     case 15:
  125.       v8 = v4 * 18.0;
  126.       goto LABEL_38;
  127.     case 17:
  128.     case 21:
  129.       v8 = v4 * 400.0;
  130.       goto LABEL_38;
  131.     case 25:
  132.     case 39:
  133.       v8 = v4 * 70.0;
  134.       goto LABEL_38;
  135.     case 22:
  136.     case 36:
  137.       v8 = v4 * 25.0;
  138.       goto LABEL_38;
  139.     case 26:
  140.       v8 = v4 * 2.0;
  141.       goto LABEL_38;
  142.     case 5:
  143.     case 6:
  144.     case 34:
  145.       *(_DWORD *)wantedLevel = 0;
  146.       return 0;
  147.     default:
  148.       return 0;
  149.     case 35:
  150.       *(_DWORD *)wantedLevel = 15;
  151.       goto LABEL_41;
  152.     case 37:
  153.       v8 = v4 * 55.0;
  154.       goto LABEL_38;
  155.   }
  156. }
Advertisement
Add Comment
Please, Sign In to add comment