Guest User

Untitled

a guest
Nov 24th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. void __cdecl xor_gate_0xe5(char *buf, int length)
  2. {
  3. char v2; // al
  4. unsigned __int8 v3; // cl
  5. char v4; // bl
  6. unsigned __int8 v5; // cl
  7. char v6; // al
  8. char v7; // cl
  9. char v8; // al
  10. unsigned __int8 v9; // cl
  11. char v10; // cl
  12. char v11; // al
  13. char v12; // cl
  14. char v13; // al
  15. char v14; // al
  16. char v15; // cl
  17. char v16; // al
  18. unsigned __int8 v17; // cl
  19. char v18; // al
  20. char v19; // cl
  21. unsigned __int8 v20; // cl
  22. char v21; // al
  23. char v22; // cl
  24. unsigned __int8 v23; // al
  25. char v24; // cl
  26. char v25; // al
  27. unsigned __int8 v26; // al
  28. char v27; // cl
  29. char v28; // al
  30. unsigned __int8 v29; // al
  31. char v30; // cl
  32. char v31; // al
  33. char v32; // al
  34. char v33; // cl
  35. char v34; // al
  36.  
  37. if ( length >= 4 )
  38. {
  39. if ( length >= 8 )
  40. {
  41. if ( length >= 16 )
  42. {
  43. if ( length >= 32 )
  44. {
  45. v32 = buf[24];
  46. v33 = (buf[24] >> 2) & 1;
  47. if ( v32 & 2 )
  48. v34 = v32 | 4;
  49. else
  50. v34 = v32 & 0xFB;
  51. buf[24] = v34;
  52. if ( v33 )
  53. buf[24] |= 2u;
  54. else
  55. buf[24] &= 0xFDu;
  56. buf[26] = ((buf[26] ^ 0x65) >> 2) | ((buf[26] ^ 0x65) << 6);
  57. }
  58. else
  59. {
  60. v23 = *buf;
  61. buf[6] ^= 0x8Fu;
  62. v24 = (v23 >> 1) & 1;
  63. if ( v23 & 8 )
  64. v25 = v23 | 2;
  65. else
  66. v25 = v23 & 0xFD;
  67. *buf = v25;
  68. if ( v24 )
  69. *buf |= 8u;
  70. else
  71. *buf &= 0xF7u;
  72. v26 = buf[12];
  73. buf[7] ^= 0xB3u;
  74. v27 = (v26 >> 2) & 1;
  75. if ( v26 & 0x20 )
  76. v28 = v26 | 4;
  77. else
  78. v28 = v26 & 0xFB;
  79. buf[12] = v28;
  80. if ( v27 )
  81. buf[12] |= 0x20u;
  82. else
  83. buf[12] &= 0xDFu;
  84. v29 = *buf;
  85. *buf = buf[15];
  86. v30 = (v29 >> 6) & 1;
  87. buf[15] = v29;
  88. if ( v29 & 0x10 )
  89. v31 = v29 | 0x40;
  90. else
  91. v31 = v29 & 0xBF;
  92. buf[15] = v31;
  93. if ( v30 )
  94. buf[15] |= 0x10u;
  95. else
  96. buf[15] &= 0xEFu;
  97. }
  98. }
  99. else
  100. {
  101. v14 = buf[4];
  102. v15 = (buf[4] >> 2) & 1;
  103. if ( v14 & 0x20 )
  104. v16 = v14 | 4;
  105. else
  106. v16 = v14 & 0xFB;
  107. buf[4] = v16;
  108. if ( v15 )
  109. buf[4] |= 0x20u;
  110. else
  111. buf[4] &= 0xDFu;
  112. v17 = buf[7];
  113. buf[4] ^= 0x6Eu;
  114. v18 = buf[1];
  115. buf[7] = (v17 >> 3) | 32 * v17;
  116. v19 = buf[3];
  117. buf[3] = v18;
  118. v20 = v19 ^ 0x6A;
  119. buf[1] = *buf;
  120. *buf = v20;
  121. v21 = (v20 >> 1) & 1;
  122. if ( v21 )
  123. v22 = v20 | 2;
  124. else
  125. v22 = v20 & 0xFD;
  126. *buf = v22;
  127. if ( v21 )
  128. *buf |= 2u;
  129. else
  130. *buf &= 0xFDu;
  131. }
  132. }
  133. else
  134. {
  135. v2 = buf[2];
  136. v3 = buf[3];
  137. buf[3] = v2;
  138. v4 = v2;
  139. v5 = (v3 >> 2) | (v3 << 6);
  140. buf[2] = v5;
  141. v6 = (v5 >> 4) & 1;
  142. if ( (v5 & 0x80u) == 0 )
  143. v7 = v5 & 0xEF;
  144. else
  145. v7 = v5 | 0x10;
  146. buf[2] = v7;
  147. if ( v6 )
  148. buf[2] |= 0x80u;
  149. else
  150. buf[2] &= 0x7Fu;
  151. v8 = buf[1];
  152. v9 = buf[1];
  153. buf[1] = v4;
  154. v10 = (v9 >> 3) & 1;
  155. buf[3] = v8;
  156. if ( v8 & 0x20 )
  157. v11 = v8 | 8;
  158. else
  159. v11 = v8 & 0xF7;
  160. buf[3] = v11;
  161. if ( v10 )
  162. buf[3] |= 0x20u;
  163. else
  164. buf[3] &= 0xDFu;
  165. v12 = buf[3];
  166. v13 = buf[1];
  167. *buf ^= 0x32u;
  168. buf[3] = v13;
  169. buf[1] = v12;
  170. }
  171. }
  172. }
Add Comment
Please, Sign In to add comment