Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __fastcall ECRYPT_encrypt_bytes(int *a1, int a2, int a3, unsigned int a4)
- {
- int *v4; // lr
- int v5; // r3
- int v6; // r4
- int v7; // r5
- int v8; // r6
- int v9; // r3
- int v10; // r4
- int v11; // r5
- int v12; // r6
- int v13; // r2
- int v14; // r3
- int v15; // r4
- int v16; // r5
- int v17; // r6
- int v18; // r11
- int v19; // r2
- unsigned int v20; // r12
- int v21; // r0
- int v22; // r9
- int v23; // r1
- int v24; // r4
- int v25; // lr
- unsigned int v26; // r3
- unsigned int v27; // r8
- int v28; // r6
- int v29; // r10
- int v30; // ST38_4
- int v31; // r3
- int v32; // ST24_4
- int v33; // ST18_4
- int v34; // r4
- int v35; // ST34_4
- int v36; // r0
- int v37; // ST30_4
- int v38; // r11
- int v39; // r12
- int v40; // ST20_4
- int v41; // r5
- int v42; // r0
- int v43; // ST2C_4
- int v44; // r0
- int v45; // ST28_4
- int v46; // r9
- int v47; // r2
- int v48; // ST1C_4
- int v49; // r0
- int v50; // lr
- int v51; // r3
- int v52; // ST40_4
- int v53; // r10
- int v54; // r5
- int v55; // r6
- int v56; // r8
- int v57; // lr
- int v58; // r3
- int v59; // r0
- int v60; // r1
- int v61; // r2
- int v62; // r6
- int v63; // r0
- int v64; // r0
- int v65; // r12
- int v66; // r0
- int v67; // r1
- int v68; // r2
- int v69; // r3
- int v70; // r6
- int v71; // r4
- int v72; // r2
- int v73; // r3
- int v74; // r3
- unsigned int v75; // r8
- int v76; // r3
- int v77; // r2
- int v78; // r6
- int v79; // r5
- int v80; // r1
- int v81; // r4
- int v82; // r9
- int v83; // r6
- unsigned int v84; // r10
- int v85; // r1
- int v86; // r6
- int v87; // r5
- int v88; // r0
- int v89; // r3
- int v90; // r6
- int v91; // r2
- int v92; // r0
- int v93; // r0
- signed int v94; // r0
- int v95; // r0
- int v96; // r1
- char *v97; // r2
- int v98; // r0
- int v99; // r0
- int v100; // r0
- int *v102; // [sp+8h] [bp-D8h]
- int v103; // [sp+Ch] [bp-D4h]
- int v104; // [sp+10h] [bp-D0h]
- unsigned int i; // [sp+14h] [bp-CCh]
- int v106; // [sp+24h] [bp-BCh]
- int v107; // [sp+3Ch] [bp-A4h]
- int v108; // [sp+40h] [bp-A0h]
- unsigned int v109; // [sp+44h] [bp-9Ch]
- int v110; // [sp+48h] [bp-98h]
- int v111; // [sp+4Ch] [bp-94h]
- char v112[64]; // [sp+50h] [bp-90h]
- int v113; // [sp+90h] [bp-50h]
- unsigned __int64 v114; // [sp+94h] [bp-4Ch]
- int v115; // [sp+9Ch] [bp-44h]
- int v116; // [sp+A0h] [bp-40h]
- int v117; // [sp+A4h] [bp-3Ch]
- int v118; // [sp+A8h] [bp-38h]
- int v119; // [sp+ACh] [bp-34h]
- unsigned __int64 v120; // [sp+B0h] [bp-30h]
- int v121; // [sp+B8h] [bp-28h]
- int v122; // [sp+BCh] [bp-24h]
- unsigned __int64 v123; // [sp+C0h] [bp-20h]
- int v124; // [sp+C8h] [bp-18h]
- int v125; // [sp+CCh] [bp-14h]
- int v126; // [sp+D0h] [bp-10h]
- v4 = a1;
- v102 = a1;
- if ( a4 )
- {
- v103 = a2;
- v104 = a3;
- for ( i = a4; ; i -= 64 )
- {
- v5 = v4[1];
- v6 = v4[2];
- v7 = v4[3];
- v8 = v4[4];
- v113 = *v4;
- v114 = __PAIR__(v6, v5);
- v115 = v7;
- v116 = v8;
- v9 = v4[6];
- v10 = v4[7];
- v11 = v4[8];
- v12 = v4[9];
- v117 = v4[5];
- v118 = v9;
- v119 = v10;
- v120 = __PAIR__(v12, v11);
- v13 = v4[11];
- v14 = v4[12];
- v15 = v4[13];
- v16 = v4[14];
- v17 = v4[15];
- v121 = v4[10];
- v122 = v13;
- v123 = __PAIR__(v15, v14);
- v124 = v16;
- v125 = v17;
- v18 = v13;
- v19 = v17;
- v108 = v113;
- v109 = HIDWORD(v114);
- v20 = v114;
- v111 = v115;
- v110 = v119;
- v21 = 10;
- v107 = v16;
- v22 = v121;
- v23 = v118;
- v24 = HIDWORD(v120);
- v25 = v120;
- v26 = HIDWORD(v123);
- v27 = v123;
- v29 = v117;
- v28 = v116;
- do
- {
- v30 = v21;
- v31 = v26 ^ (v20 + v29);
- v32 = v18;
- v33 = v19;
- v34 = v24 + __ROR4__(v31, 16);
- v35 = v34 ^ v29;
- v36 = v20 + v29 + __ROR4__(v34 ^ v29, 20);
- v37 = v36;
- v38 = v36 ^ __ROR4__(v31, 16);
- v39 = v34 + __ROR4__(v38, 24);
- v40 = v39;
- v41 = (v109 + v23) ^ v107;
- v42 = v22 + __ROR4__(v41, 16);
- v43 = v42;
- v44 = v42 ^ v23;
- v45 = v44;
- v46 = v109 + v23 + __ROR4__(v44, 20);
- v47 = v46 ^ __ROR4__(v41, 16);
- v48 = v47;
- v49 = (v108 + v28) ^ v27;
- v50 = v25 + __ROR4__(v49, 16);
- v51 = v108 + v28 + __ROR4__(v50 ^ v28, 20);
- v52 = v51;
- v53 = v51 ^ __ROR4__(v49, 16);
- v54 = v50 + __ROR4__(v53, 24);
- v55 = v54 ^ __ROR4__(v50 ^ v28, 20);
- v56 = (v111 + v110) ^ v33;
- v57 = v32 + __ROR4__(v56, 16);
- v58 = v111 + v110 + __ROR4__(v57 ^ v110, 20);
- v59 = v58 + __ROR4__(v55, 25);
- v60 = v59 ^ __ROR4__(v47, 24);
- v61 = v39 + __ROR4__(v60, 16);
- v62 = v61 ^ __ROR4__(v55, 25);
- v63 = v59 + __ROR4__(v62, 20);
- v111 = v63;
- v64 = v63 ^ __ROR4__(v60, 16);
- v65 = v61 + __ROR4__(v64, 24);
- v107 = __ROR4__(v64, 24);
- v106 = __ROR4__(v65 ^ __ROR4__(v62, 20), 25);
- v66 = v58 ^ __ROR4__(v56, 16);
- v67 = v57 + __ROR4__(v66, 24);
- v68 = v67 ^ __ROR4__(v57 ^ v110, 20);
- v69 = v46 + __ROR4__(v68, 25);
- v70 = v69 ^ __ROR4__(v38, 24);
- v71 = v54 + __ROR4__(v70, 16);
- v72 = v71 ^ __ROR4__(v68, 25);
- v73 = v69 + __ROR4__(v72, 20);
- v109 = v73;
- v74 = v73 ^ __ROR4__(v70, 16);
- v25 = v71 + __ROR4__(v74, 24);
- v75 = __ROR4__(v74, 24);
- v110 = __ROR4__(v25 ^ __ROR4__(v72, 20), 25);
- v76 = v43 + __ROR4__(v48, 24);
- v77 = v76 ^ __ROR4__(v45, 20);
- v78 = v37 + __ROR4__(v77, 25);
- v79 = v78 ^ __ROR4__(v53, 24);
- v80 = v67 + __ROR4__(v79, 16);
- v81 = v80 ^ __ROR4__(v77, 25);
- v82 = v78 + __ROR4__(v81, 20);
- v83 = v82 ^ __ROR4__(v79, 16);
- v18 = v80 + __ROR4__(v83, 24);
- v84 = __ROR4__(v83, 24);
- v85 = v18 ^ __ROR4__(v81, 20);
- v86 = v40 ^ __ROR4__(v35, 20);
- v24 = v65;
- v20 = v82;
- v87 = v52 + __ROR4__(v86, 25);
- v23 = __ROR4__(v85, 25);
- v88 = v87 ^ __ROR4__(v66, 24);
- v89 = v76 + __ROR4__(v88, 16);
- v90 = v89 ^ __ROR4__(v86, 25);
- v91 = v87 + __ROR4__(v90, 20);
- v108 = v91;
- v92 = v91 ^ __ROR4__(v88, 16);
- v22 = v89 + __ROR4__(v92, 24);
- v19 = __ROR4__(v92, 24);
- v93 = v22 ^ __ROR4__(v90, 20);
- v26 = v75;
- v27 = v84;
- v28 = v106;
- v29 = __ROR4__(v93, 25);
- v21 = v30 - 2;
- }
- while ( v30 - 2 > 2 );
- v114 = __PAIR__(v109, v20);
- v116 = v106;
- v117 = v29;
- v123 = __PAIR__(v26, v27);
- v120 = __PAIR__(v24, v25);
- v118 = v23;
- v124 = v107;
- v4 = v102;
- v121 = v22;
- v115 = v111;
- v119 = v110;
- v125 = v19;
- v122 = v18;
- v113 = *v102 + v108;
- LODWORD(v114) = v102[1] + v20;
- v94 = 2;
- do
- {
- *(&v113 + v94) += v102[v94];
- ++v94;
- }
- while ( v94 != 16 );
- v95 = 0;
- do
- {
- v96 = *(int *)((char *)&v113 + v95);
- v97 = &v112[v95];
- v112[v95] = v96;
- v95 += 4;
- v97[1] = BYTE1(v96);
- v97[2] = BYTE2(v96);
- v97[3] = HIBYTE(v96);
- }
- while ( v95 != 64 );
- v98 = v102[12] + 1;
- v102[12] = v98;
- if ( !v98 )
- ++v102[13];
- if ( i <= 0x40 )
- break;
- v99 = 0;
- do
- {
- *(_BYTE *)(v104 + v99) = *(_BYTE *)(v103 + v99) ^ v112[v99];
- ++v99;
- }
- while ( v99 != 64 );
- v103 += 64;
- v104 += 64;
- }
- if ( i )
- {
- v100 = 0;
- do
- {
- *(_BYTE *)(v104 + v100) = *(_BYTE *)(v103 + v100) ^ v112[v100];
- ++v100;
- }
- while ( i != v100 );
- }
- }
- return _stack_chk_guard - v126;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement