1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| int __cdecl sub_415F90(int a1) { int result; int v2; int v3; int k; int n; int jj; int kk; int i; int j; int m; int ii; char v12; char v13; unsigned __int8 v14; char v15; char v16; char v17[84];
__CheckForDebuggerJustMyCode(&unk_41C014); for ( i = 9; !*(_BYTE *)(i + a1); --i ) ; v2 = i + 1; j_memset(v17, 0, 0x50u); for ( j = 0; j < v2; ++j ) { v14 = *(_BYTE *)(j + a1) & 0xF; v3 = 8 * j + 3; for ( k = 0; k < 2; ++k ) { while ( v14 ) { v17[v3--] = v14 & 1; v14 /= 2; } v14 = (int)*(unsigned __int8 *)(j + a1) >> 4; v3 = 8 * j + 7; } } for ( m = 0; m < 2 * v2; ++m ) { v17[4 * m] = v17[4 * m]; v15 = 0; for ( n = 0; n < 4; ++n ) { v12 = v17[4 * m + n]; v17[4 * m + n] = v15 ^ v12; v15 = v12; } } for ( ii = 0; ; ++ii ) { result = ii; if ( ii >= v2 ) break; v16 = 0; for ( jj = 0; jj < 4; ++jj ) v16 = v17[8 * ii + jj] + 2 * v16; v13 = 0; for ( kk = 4; kk < 8; ++kk ) v13 = v17[8 * ii + kk] + 2 * v13; *(_BYTE *)(ii + a1) = v16 | (16 * v13); } return result; }
|