Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 __fastcall sub_14B482CA0(__int64 decryptedBuff, __int64 encryptedBuff, __int64 size)
- {
- int v3; // eax@1
- unsigned __int64 v4; // r9@1
- int v5; // er14@1
- __int64 v6; // rsi@1
- __int64 v7; // rdi@1
- signed __int64 v8; // rbx@1
- int v9; // er11@1
- signed __int64 v10; // rdx@2
- int v11; // ecx@3
- int v12; // ebp@4
- signed __int64 v13; // r9@4
- int v14; // ebp@4
- signed __int64 v15; // r10@4
- int v16; // ecx@5
- int v17; // edx@5
- int v18; // er8@5
- __int64 v19; // r11@6
- unsigned int v20; // er8@6
- unsigned __int8 v21; // bp@6
- unsigned int v22; // er9@6
- int v23; // edx@7
- int v24; // er9@7
- signed __int64 v25; // rbx@10
- unsigned int v26; // er9@10
- signed __int64 v27; // rsi@10
- signed __int64 v28; // r10@10
- unsigned __int8 v29; // r11@10
- int v30; // edx@11
- int v31; // er9@11
- __int64 v32; // r11@14
- unsigned int v33; // er9@14
- unsigned __int8 v34; // r10@14
- signed __int64 v35; // rsi@14
- int v36; // edx@15
- int v37; // er9@15
- unsigned int v38; // er9@18
- signed __int64 v39; // rsi@18
- signed __int64 v40; // r10@18
- unsigned __int8 v41; // r11@18
- int v42; // edx@19
- int v43; // er9@19
- unsigned int v44; // er9@22
- signed __int64 v45; // r10@22
- unsigned __int8 v46; // r11@22
- int v47; // edx@23
- int v48; // er9@23
- signed __int64 v49; // r11@26
- signed __int64 v50; // r9@26
- unsigned __int8 v51; // r10@26
- int v52; // edx@27
- int v53; // er8@27
- __int64 result; // rax@30
- v3 = 0;
- *(_QWORD *)decryptedBuff = encryptedBuff;
- *(_QWORD *)(decryptedBuff + 8) = size;
- v4 = *(_WORD *)(encryptedBuff + 392);
- v5 = size;
- v6 = encryptedBuff;
- v7 = decryptedBuff;
- v8 = encryptedBuff + 410;
- v9 = 0;
- *(_QWORD *)(decryptedBuff + 16) = v4;
- if ( v4 )
- {
- v10 = encryptedBuff + 410;
- do
- {
- v11 = *(_BYTE *)v10++;
- v9 = v11 ^ 2 * (v11 + v9);
- }
- while ( v10 - v8 < v4 );
- }
- v12 = (*(_BYTE *)(v6 + 405) ^ 2
- * (*(_BYTE *)(v6 + 405)
- + (*(_BYTE *)(v6 + 404) ^ 2
- * (*(_BYTE *)(v6 + 404)
- + (*(_BYTE *)(v6 + 403) ^ 2
- * (*(_BYTE *)(v6 + 403)
- + (*(_BYTE *)(v6 + 402) ^ 2 * *(_BYTE *)(v6 + 402))))))))
- + (*(_BYTE *)(v6 + 3) ^ 2
- * (*(_BYTE *)(v6 + 3)
- + (*(_BYTE *)(v6 + 2) ^ 2
- * (*(_BYTE *)(v6 + 2)
- + (*(_BYTE *)(v6 + 1) ^ 2
- * (*(_BYTE *)(v6 + 1)
- + (*(_BYTE *)v6 ^ 2 * *(_BYTE *)v6)))))))
- + (*(_BYTE *)(v6 + 391) ^ 2 * *(_BYTE *)(v6 + 391))
- + v9
- + (*(_BYTE *)(v6 + 397) ^ 2
- * (*(_BYTE *)(v6 + 397)
- + (*(_BYTE *)(v6 + 396) ^ 2
- * (*(_BYTE *)(v6 + 396)
- + (*(_BYTE *)(v6 + 395) ^ 2
- * (*(_BYTE *)(v6 + 395)
- + (*(_BYTE *)(v6 + 394) ^ 2 * *(_BYTE *)(v6 + 394))))))));
- v13 = v6 + 5;
- v14 = (*(_BYTE *)(v6 + 409) ^ 2
- * (*(_BYTE *)(v6 + 409)
- + (*(_BYTE *)(v6 + 408) ^ 2
- * (*(_BYTE *)(v6 + 408)
- + (*(_BYTE *)(v6 + 407) ^ 2
- * (*(_BYTE *)(v6 + 407)
- + (*(_BYTE *)(v6 + 406) ^ 2 * *(_BYTE *)(v6 + 406))))))))
- + v12;
- v15 = 129i64;
- do
- {
- v16 = *(_BYTE *)(v13 - 1);
- v17 = *(_BYTE *)v13;
- v18 = *(_BYTE *)(v13 + 1);
- v13 += 3i64;
- v3 = v18 ^ 2 * (v18 + (v17 ^ 2 * (v17 + (v16 ^ 2 * (v16 + v3)))));
- --v15;
- }
- while ( v15 );
- v19 = *(_WORD *)(v6 + 392);
- v20 = 1172968056;
- v21 = v3 + v14;
- v22 = 1172968056;
- if ( *(_WORD *)(v6 + 392) )
- {
- do
- {
- v23 = (unsigned __int8)(*(_BYTE *)v8 ^ (v22 + BYTE1(v22) + (v22 >> 16) + BYTE3(v22)));
- *(_BYTE *)v8 = v23;
- v24 = __ROL4__(v22, v23 & 0x1F);
- v22 = __ROL4__((v23 | ((v23 | ((v23 | (v23 << 8)) << 8)) << 8)) + v24, 1);
- if ( (unsigned __int8)v15 > 0x10u )
- {
- v22 *= 2;
- LOBYTE(v15) = 0;
- }
- LOBYTE(v15) = v15 + 1;
- ++v8;
- --v19;
- }
- while ( v19 );
- }
- v25 = 4i64;
- v26 = 1172968056;
- *(_BYTE *)(*(_QWORD *)v7 + 391i64) ^= 0xB9u;
- v27 = 4i64;
- v28 = *(_QWORD *)v7 + 394i64;
- v29 = 0;
- do
- {
- v30 = (unsigned __int8)(*(_BYTE *)v28 ^ (v26 + BYTE1(v26) + (v26 >> 16) + BYTE3(v26)));
- *(_BYTE *)v28 = v30;
- v31 = __ROL4__(v26, v30 & 0x1F);
- v26 = __ROL4__((v30 | ((v30 | ((v30 | (v30 << 8)) << 8)) << 8)) + v31, 1);
- if ( v29 > 0x10u )
- {
- v26 *= 2;
- v29 = 0;
- }
- ++v29;
- ++v28;
- --v27;
- }
- while ( v27 );
- v32 = *(_QWORD *)v7;
- v33 = 1172968056;
- v34 = 0;
- v35 = 4i64;
- do
- {
- v36 = (unsigned __int8)(*(_BYTE *)v32 ^ (v33 + BYTE1(v33) + (v33 >> 16) + BYTE3(v33)));
- *(_BYTE *)v32 = v36;
- v37 = __ROL4__(v33, v36 & 0x1F);
- v33 = __ROL4__((v36 | ((v36 | ((v36 | (v36 << 8)) << 8)) << 8)) + v37, 1);
- if ( v34 > 0x10u )
- {
- v33 *= 2;
- v34 = 0;
- }
- ++v34;
- ++v32;
- --v35;
- }
- while ( v35 );
- v38 = 1172968056;
- v39 = 4i64;
- v40 = *(_QWORD *)v7 + 402i64;
- v41 = 0;
- do
- {
- v42 = (unsigned __int8)(*(_BYTE *)v40 ^ (v38 + BYTE1(v38) + (v38 >> 16) + BYTE3(v38)));
- *(_BYTE *)v40 = v42;
- v43 = __ROL4__(v38, v42 & 0x1F);
- v38 = __ROL4__((v42 | ((v42 | ((v42 | (v42 << 8)) << 8)) << 8)) + v43, 1);
- if ( v41 > 0x10u )
- {
- v38 *= 2;
- v41 = 0;
- }
- ++v41;
- ++v40;
- --v39;
- }
- while ( v39 );
- v44 = 1172968056;
- v45 = *(_QWORD *)v7 + 406i64;
- v46 = 0;
- do
- {
- v47 = (unsigned __int8)(*(_BYTE *)v45 ^ (v44 + BYTE1(v44) + (v44 >> 16) + BYTE3(v44)));
- *(_BYTE *)v45 = v47;
- v48 = __ROL4__(v44, v47 & 0x1F);
- v44 = __ROL4__((v47 | ((v47 | ((v47 | (v47 << 8)) << 8)) << 8)) + v48, 1);
- if ( v46 > 0x10u )
- {
- v44 *= 2;
- v46 = 0;
- }
- ++v46;
- ++v45;
- --v25;
- }
- while ( v25 );
- v49 = 387i64;
- v50 = *(_QWORD *)v7 + 4i64;
- v51 = 0;
- do
- {
- v52 = (unsigned __int8)(*(_BYTE *)v50 ^ (v20 + BYTE1(v20) + (v20 >> 16) + BYTE3(v20)));
- *(_BYTE *)v50 = v52;
- v53 = __ROL4__(v20, v52 & 0x1F);
- v20 = __ROL4__((v52 | ((v52 | ((v52 | (v52 << 8)) << 8)) << 8)) + v53, 1);
- if ( v51 > 0x10u )
- {
- v20 *= 2;
- v51 = 0;
- }
- ++v51;
- ++v50;
- --v49;
- }
- while ( v49 );
- *(_DWORD *)(*(_QWORD *)v7 + 398i64) = v5;
- result = *(_QWORD *)v7;
- if ( *(_WORD *)(*(_QWORD *)v7 + 325i64) == 1 )
- *(_BYTE *)(result + 5) ^= v21;
- if ( *(_WORD *)(*(_QWORD *)v7 + 325i64) == 2 )
- {
- result = v21;
- *(_WORD *)(*(_QWORD *)v7 + 5i64) ^= v21;
- }
- if ( *(_WORD *)(*(_QWORD *)v7 + 325i64) == 4 )
- {
- result = v21;
- *(_DWORD *)(*(_QWORD *)v7 + 5i64) ^= v21;
- }
- if ( *(_WORD *)(*(_QWORD *)v7 + 325i64) == 8 )
- {
- result = v21;
- *(_QWORD *)(*(_QWORD *)v7 + 5i64) ^= v21;
- }
- return result;
- }
- greetz WV
Advertisement
Add Comment
Please, Sign In to add comment