Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct decrypt_str {
- signed char pad8[8]; // NOOP
- uint32_t f8;
- signed char pad608[596]; // NOOP
- uint32_t f608;
- };
- void decrypt(uint32_t data_x_in, uint32_t data_y_in, int32_t cur_cycle_num)
- {
- uint32_t v5;
- uint32_t v6;
- int v7;
- int to_compare;
- int offset;
- signed int bit_and_1;
- signed int bit_and_2;
- struct decrypt_str *x_scale_str; // maybe global?
- v5 = data_y_in & 3;
- v6 = data_x_in & 3;
- v7 = (((v6 + v5 * v6 + 13) * (v6 + v5 * v6 + 13)) >> 2) & 1;
- to_compare = v7 + 2 * ((v6 + v5 * v6 + 13) * (v6 + v5 * v6 + 13) & 1) + 1;
- if ( to_compare == 3 )
- {
- bit_and_2 = 3;
- bit_and_1 = 15;
- offset = 4;
- to_compare = 2;
- }
- else
- {
- offset = 5 - (v7 + 2 * ((v6 + v5 * v6 + 13) * (v6 + v5 * v6 + 13) & 1));
- bit_and_1 = ((1 << (6 - to_compare)) - 1);
- bit_and_2 = ((1 << to_compare) - 1);
- }
- x_scale_str = &start_x_scale[cur_cycle_num];
- x_scale_str->f8 = (v9 | (((v12 >> to_compare) | ((bit_and_2 & v12) << offset)) & 3 | 4
- * (((v12 >> to_compare) | ((bit_and_2 & v12) << offset)) & 0x3C | v5)) ^ 0xEA) >> 4;
- x_scale_str->f608 = v10 & 0xF00 | (((v11 >> offset) | ((bit_and_1 & v11) << to_compare)) & 3 | 4
- * (((v11 >> offset) | ((bit_and_1 & v11) << to_compare)) & 0x3C | v6)) ^ 0xEA;
- }; // mostly ok
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement