Advertisement
Guest User

Untitled

a guest
Sep 1st, 2014
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. __int64 __stdcall sub_5D0500(unsigned __int64 a1, unsigned int a2, unsigned int a3)
  2. {
  3.   __int64 result; // qax@2
  4.   unsigned __int64 v4; // qtt@2
  5.   unsigned __int64 v5; // qax@3
  6.   unsigned int v6; // ecx@3
  7.   unsigned int v7; // ebx@3
  8.   char v8; // cf@4
  9.   char v9; // cf@4
  10.   unsigned int v10; // eax@5
  11.   unsigned __int64 v11; // qax@5
  12.   unsigned int v12; // esi@5
  13.   unsigned int v13; // ecx@5
  14.   char v14; // cf@5
  15.  
  16.   if ( a3 )
  17.   {
  18.     v6 = a3;
  19.     v7 = a2;
  20.     v5 = a1;
  21.     do
  22.     {
  23.       v8 = v6 & 1;
  24.       v6 >>= 1;
  25.       v7 = __RCR__(v7, v8);
  26.       v9 = BYTE4(v5) & 1;
  27.       HIDWORD(v5) >>= 1;
  28.       LODWORD(v5) = __RCR__(v5, v9);
  29.     }
  30.     while ( v6 );
  31.     v10 = v5 / v7;
  32.     v12 = v10;
  33.     v13 = a3 * v10;
  34.     v11 = v10 * a2;
  35.     v14 = v13 >= -HIDWORD(v11);
  36.     HIDWORD(v11) += v13;
  37.     if ( v14 || HIDWORD(v11) > HIDWORD(a1) || v11 > a1 )
  38.       --v12;
  39.     result = v12;
  40.   }
  41.   else
  42.   {
  43.     LODWORD(v4) = a1;
  44.     HIDWORD(v4) = HIDWORD(a1) % a2;
  45.     LODWORD(result) = v4 / a2;
  46.     HIDWORD(result) = HIDWORD(a1) / a2;
  47.   }
  48.   return result;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement