Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. struct decrypt_str {
  2. signed char pad8[8]; // NOOP
  3. uint32_t f8;
  4. signed char pad608[596]; // NOOP
  5. uint32_t f608;
  6. };
  7.  
  8. void decrypt(uint32_t data_x_in, uint32_t data_y_in, int32_t cur_cycle_num)
  9. {
  10. uint32_t v5;
  11. uint32_t v6;
  12. int v7;
  13. int to_compare;
  14. int offset;
  15. signed int bit_and_1;
  16. signed int bit_and_2;
  17. struct decrypt_str *x_scale_str; // maybe global?
  18.  
  19. v5 = data_y_in & 3;
  20. v6 = data_x_in & 3;
  21. v7 = (((v6 + v5 * v6 + 13) * (v6 + v5 * v6 + 13)) >> 2) & 1;
  22. to_compare = v7 + 2 * ((v6 + v5 * v6 + 13) * (v6 + v5 * v6 + 13) & 1) + 1;
  23. if ( to_compare == 3 )
  24. {
  25. bit_and_2 = 3;
  26. bit_and_1 = 15;
  27. offset = 4;
  28. to_compare = 2;
  29. }
  30. else
  31. {
  32. offset = 5 - (v7 + 2 * ((v6 + v5 * v6 + 13) * (v6 + v5 * v6 + 13) & 1));
  33. bit_and_1 = ((1 << (6 - to_compare)) - 1);
  34. bit_and_2 = ((1 << to_compare) - 1);
  35. }
  36.  
  37. x_scale_str = &start_x_scale[cur_cycle_num];
  38. x_scale_str->f8 = (v9 | (((v12 >> to_compare) | ((bit_and_2 & v12) << offset)) & 3 | 4
  39. * (((v12 >> to_compare) | ((bit_and_2 & v12) << offset)) & 0x3C | v5)) ^ 0xEA) >> 4;
  40. x_scale_str->f608 = v10 & 0xF00 | (((v11 >> offset) | ((bit_and_1 & v11) << to_compare)) & 3 | 4
  41. * (((v11 >> offset) | ((bit_and_1 & v11) << to_compare)) & 0x3C | v6)) ^ 0xEA;
  42. }; // mostly ok
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement