Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char __thiscall sub_1030E680(int this, int a2, int a3)
- {
- int v3; // ebp@1
- char result; // al@1
- unsigned __int16 v5; // dx@2
- int v6; // ebx@2
- unsigned __int16 v7; // cx@2
- int v8; // ecx@2
- signed int v9; // esi@2
- int v10; // eax@2
- int v11; // edi@3
- int v12; // edx@4
- int v13; // esi@4
- bool v14; // zf@4
- int v15; // esi@6
- signed int v16; // ebx@6
- int v17; // eax@6
- int v18; // esi@6
- signed int v19; // edx@6
- signed int v20; // edx@6
- signed int v21; // edx@6
- int v22; // [sp+4h] [bp-14h]@2
- int v23; // [sp+8h] [bp-10h]@2
- unsigned int v24; // [sp+Ch] [bp-Ch]@2
- unsigned int v25; // [sp+10h] [bp-8h]@2
- int v26; // [sp+1Ch] [bp+4h]@3
- v3 = this;
- result = *(_BYTE *)(this + 4);
- if ( result )
- {
- LOBYTE(v5) = 0;
- HIBYTE(v5) = *(_BYTE *)(a2 + 2);
- v6 = *(_DWORD *)(this + 8) ^ (*(_BYTE *)(a2 + 3) | v5 | (*(_BYTE *)(a2 + 1) << 16) | (*(_BYTE *)a2 << 24));
- LOBYTE(v7) = 0;
- HIBYTE(v7) = *(_BYTE *)(a2 + 6);
- LOBYTE(v5) = 0;
- HIBYTE(v5) = *(_BYTE *)(a2 + 10);
- v22 = *(_DWORD *)(v3 + 12) ^ (*(_BYTE *)(a2 + 7) | v7 | (*(_BYTE *)(a2 + 5) << 16) | (*(_BYTE *)(a2 + 4) << 24));
- v24 = v6;
- v8 = *(_DWORD *)(v3 + 16) ^ (*(_BYTE *)(a2 + 11) | v5 | (*(_BYTE *)(a2 + 9) << 16) | (*(_BYTE *)(a2 + 8) << 24));
- HIBYTE(v5) = *(_BYTE *)(a2 + 14);
- v25 = v8;
- LOBYTE(v5) = *(_BYTE *)(a2 + 15);
- v9 = *(_DWORD *)(v3 + 976);
- v10 = *(_DWORD *)(v3 + 20) ^ ((*(_BYTE *)(a2 + 13) << 16) | (*(_BYTE *)(a2 + 12) << 24) | v5);
- v23 = *(_DWORD *)(v3 + 20) ^ ((*(_BYTE *)(a2 + 13) << 16) | (*(_BYTE *)(a2 + 12) << 24) | v5);
- if ( v9 > 1 )
- {
- v11 = v3 + 48;
- v26 = v9 - 1;
- do
- {
- v10 = *(_DWORD *)(v11 - 4) ^ dword_103B8210[(unsigned __int8)v6] ^ dword_103B7610[BYTE3(v22)] ^ dword_103B7A10[(unsigned __int8)(v25 >> 16)] ^ dword_103B7E10[BYTE1(v10)];
- v12 = dword_103B8210[(unsigned __int8)v22] ^ dword_103B7E10[BYTE1(v6)] ^ dword_103B7610[BYTE3(v25)] ^ dword_103B7A10[(unsigned __int8)((unsigned int)v23 >> 16)];
- v13 = *(_DWORD *)(v11 + 4) ^ dword_103B8210[(unsigned __int8)v8] ^ dword_103B7A10[BYTE2(v24)] ^ dword_103B7E10[BYTE1(v22)] ^ dword_103B7610[BYTE3(v23)];
- v6 = dword_103B8210[(unsigned __int8)v23] ^ dword_103B7610[BYTE3(v24)] ^ dword_103B7A10[BYTE2(v22)] ^ dword_103B7E10[BYTE1(v8)] ^ *(_DWORD *)(v11 - 8);
- v8 = *(_DWORD *)v11 ^ v12;
- v22 = v10;
- v11 += 32;
- BYTE1(v10) = BYTE1(v13);
- v14 = v26 == 1;
- v24 = v6;
- v25 = v8;
- v23 = v13;
- --v26;
- }
- while ( !v14 );
- v9 = *(_DWORD *)(v3 + 976);
- }
- v15 = 32 * v9;
- v16 = *(_DWORD *)(v15 + v3 + 8);
- v17 = *(_DWORD *)(v15 + v3 + 8);
- v18 = v15 + v3 + 8;
- result = a3;
- *(_BYTE *)a3 = byte_103B7510[v24 >> 24] ^ BYTE3(v17);
- *(_BYTE *)(a3 + 1) = byte_103B7510[(unsigned __int8)((unsigned int)v22 >> 16)] ^ (v16 >> 16);
- *(_BYTE *)(a3 + 2) = byte_103B7510[BYTE1(v8)] ^ BYTE1(v16);
- *(_BYTE *)(a3 + 3) = v16 ^ byte_103B7510[(unsigned __int8)v23];
- v19 = *(_DWORD *)(v18 + 4);
- *(_BYTE *)(a3 + 4) = byte_103B7510[BYTE3(v22)] ^ (*(_DWORD *)(v18 + 4) >> 24);
- *(_BYTE *)(a3 + 5) = byte_103B7510[BYTE2(v25)] ^ (v19 >> 16);
- *(_BYTE *)(a3 + 6) = byte_103B7510[BYTE1(v23)] ^ BYTE1(v19);
- *(_BYTE *)(a3 + 7) = v19 ^ byte_103B7510[(unsigned __int8)v24];
- v20 = *(_DWORD *)(v18 + 8);
- *(_BYTE *)(a3 + 8) = byte_103B7510[BYTE3(v25)] ^ (*(_DWORD *)(v18 + 8) >> 24);
- *(_BYTE *)(a3 + 9) = byte_103B7510[BYTE2(v23)] ^ (v20 >> 16);
- *(_BYTE *)(a3 + 10) = byte_103B7510[BYTE1(v24)] ^ BYTE1(v20);
- *(_BYTE *)(a3 + 11) = v20 ^ byte_103B7510[(unsigned __int8)v22];
- v21 = *(_DWORD *)(v18 + 12);
- *(_BYTE *)(a3 + 12) = byte_103B7510[BYTE3(v23)] ^ BYTE3(v21);
- *(_BYTE *)(a3 + 13) = byte_103B7510[BYTE2(v24)] ^ (v21 >> 16);
- *(_BYTE *)(a3 + 14) = byte_103B7510[BYTE1(v22)] ^ BYTE1(v21);
- *(_BYTE *)(a3 + 15) = v21 ^ byte_103B7510[(unsigned __int8)v8];
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement