All pastes #2076451 Raw Edit

Miscellany

public c v1 · immutable
#2076451 ·published 2011-06-07 23:21 UTC
rendered paste body
int __cdecl sub_104B3C20(int a1, int a2){  unsigned int v2; // edx@1  int v3; // ecx@1  int v4; // esi@1  int v5; // ecx@1  int v6; // edx@1  int v7; // eax@1  int v8; // ecx@1  int v9; // edx@1  int v10; // eax@1  int v11; // ecx@1  int v12; // eax@1  int v13; // edx@1  int v14; // esi@1  unsigned int v15; // ecx@1  int v16; // ecx@1  int v17; // eax@1  unsigned int v18; // ecx@1  int v19; // edx@1  int v20; // ebx@2  int v21; // eax@2  int v22; // eax@2  int result; // eax@3  int v25; // eax@3  int v26; // ecx@3  int v27; // eax@3  int v28; // esi@3  unsigned int v29; // ecx@3  unsigned int v30; // edx@3  int v31; // edx@3  int v32; // eax@3  int v33; // ecx@3  int v34; // edx@3  int v35; // eax@3  int v36; // ecx@3  int v37; // edx@3  int v38; // ecx@3  int v39; // eax@3  int v40; // edx@3  int v41; // esi@3  signed int osiem; // [sp+10h] [bp-4h]@1  v5 = *(_DWORD *)(a1 + 4) & 0xF0F0F0F ^ (*(_DWORD *)a1 >> 4) & 0xF0F0F0F;  v6 = v5 ^ *(_DWORD *)(a1 + 4);  osiem = 8;  v7 = 16 * v5 ^ *(_DWORD *)a1;  v8 = (unsigned __int16)v6 ^ ((unsigned int)v7 >> 16);  v9 = v8 ^ v6;  v10 = (v8 << 16) ^ v7;  v11 = v10 & 0x33333333 ^ ((unsigned int)v9 >> 2) & 0x33333333;  v12 = v11 ^ v10;  v13 = 4 * v11 ^ v9;  v14 = v12;  v15 = (unsigned int)v13 >> 8;  v16 = v14 & 0xFF00FF ^ v15 & 0xFF00FF;  v4 = a2;  v17 = v16 ^ v12;  v18 = 2 * ((v16 << 8) ^ v13) | (((v16 << 8) ^ (unsigned int)v13) >> 31);  v19 = (v17 ^ v18) & 0xAAAAAAAA;  v3 = v19 ^ v18;  v2 = 2 * (v19 ^ v17) | ((v19 ^ (unsigned int)v17) >> 31);  do  {    v20 = *(_DWORD *)v4;    v21 = *(_DWORD *)v4 ^ (((unsigned int)v3 >> 4) | (v3 << 28));    v4 += 16;    v2 ^= byte_10647F68[v21 & 0x3F] | byte_10647D68[((v20 ^ (((unsigned int)v3 >> 4) | (v3 << 28))) >> 8) & 0x3F] | byte_10647B68[((unsigned int)v21 >> 16) & 0x3F] | *((_DWORD *)&DES_Sbox + (((unsigned int)v21 >> 24) & 0x3F)) | dword_10648068[(v3 ^ *(_DWORD *)(v4 - 12)) & 0x3F] | dword_10647E68[(((unsigned int)v3 ^ *(_DWORD *)(v4 - 12)) >> 8) & 0x3F] | byte_10647C68[(((unsigned int)v3 ^ *(_DWORD *)(v4 - 12)) >> 16) & 0x3F] | unk_10647A68[(((unsigned int)v3 ^ *(_DWORD *)(v4 - 12)) >> 24) & 0x3F];    v22 = *(_DWORD *)(v4 - 8) ^ ((v2 >> 4) | (v2 << 28));    v3 ^= byte_10647F68[v22 & 0x3F] | byte_10647D68[((*(_DWORD *)(v4 - 8) ^ ((v2 >> 4) | (v2 << 28))) >> 8) & 0x3F] | byte_10647B68[((unsigned int)v22 >> 16) & 0x3F] | *((_DWORD *)&DES_Sbox + (((*(_DWORD *)(v4 - 8) ^ ((v2 >> 4) | (v2 << 28))) >> 24) & 0x3F)) | dword_10648068[(v2 ^ *(_DWORD *)(v4 - 4)) & 0x3F] | dword_10647E68[((v2 ^ *(_DWORD *)(v4 - 4)) >> 8) & 0x3F] | byte_10647C68[((v2 ^ *(_DWORD *)(v4 - 4)) >> 16) & 0x3F] | unk_10647A68[((v2 ^ *(_DWORD *)(v4 - 4)) >> 24) & 0x3F];  }  while ( osiem-- != 1 );  v25 = ((unsigned int)v3 >> 1) | (v3 << 31);  v26 = (v2 ^ (((unsigned int)v3 >> 1) | (v3 << 31))) & 0xAAAAAAAA;  v27 = v26 ^ v25;  v28 = v27;  v29 = ((v26 ^ v2) >> 1) | ((v26 ^ v2) << 31);  v30 = v29 >> 8;  v31 = v28 & 0xFF00FF ^ v30 & 0xFF00FF;  v32 = v31 ^ v27;  v33 = (v31 << 8) ^ v29;  v34 = v32 & 0x33333333 ^ ((unsigned int)v33 >> 2) & 0x33333333;  v35 = v34 ^ v32;  v36 = 4 * v34 ^ v33;  v37 = (unsigned __int16)v36 ^ ((unsigned int)v35 >> 16);  v38 = v37 ^ v36;  v39 = (v37 << 16) ^ v35;  v40 = v38 & 0xF0F0F0F ^ ((unsigned int)v39 >> 4) & 0xF0F0F0F;  v41 = v39 ^ 16 * (v38 & 0xF0F0F0F ^ ((unsigned int)v39 >> 4) & 0xF0F0F0F);  result = a1;  *(_DWORD *)a1 = v41;  *(_DWORD *)(a1 + 4) = v38 ^ v40;  return result;}