Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //----- (00468820) --------------------------------------------------------
- char *__usercall sub_468820@<eax>(int a1@<eax>, int a2@<edx>, char **a3@<ecx>)
- {
- char **v3; // ebp@1
- int v4; // edi@1
- int v5; // eax@1
- int v6; // ebx@1
- int *v7; // esi@1
- int v8; // eax@3
- int v9; // ebx@5
- signed int v10; // esi@5
- int v11; // ebx@7
- signed int v12; // esi@7
- char *result; // eax@8
- int v14; // eax@9
- int v15; // [sp+0h] [bp-38h]@1
- int v16; // [sp+4h] [bp-34h]@7
- unsigned int v17; // [sp+8h] [bp-30h]@7
- unsigned int v18; // [sp+Ch] [bp-2Ch]@4
- unsigned int v19; // [sp+10h] [bp-28h]@4
- int v20; // [sp+14h] [bp-24h]@6
- int v21; // [sp+18h] [bp-20h]@1
- int v22; // [sp+1Ch] [bp-1Ch]@4
- int v23; // [sp+20h] [bp-18h]@4
- int v24; // [sp+24h] [bp-14h]@4
- v3 = a3;
- v15 = a2;
- v4 = a1;
- v5 = LStrLen(a1);
- sub_4044E8(v3, v5);
- v6 = 0;
- v7 = &v21;
- do
- {
- *v7 = sub_46879C(v15, 4 * v6++ + 1);
- ++v7;
- }
- while ( v6 != 4 );
- v8 = LStrLen(v4) / 8;
- if ( !v8 )
- {
- v18 = v23 ^ v21 ^ 0x9E3779B9;
- v19 = v24 ^ v22 ^ 0x9E3779B9;
- }
- v9 = 1;
- v10 = 1;
- if ( v8 > 0 )
- {
- v20 = v8;
- do
- {
- v16 = sub_46879C(v4, v9);
- v11 = v9 + 4;
- v17 = sub_46879C(v4, v11);
- v9 = v11 + 4;
- sub_46867C((int)&v16, (int)&v21);
- sub_4687DC(v16, (int *)v3, v10);
- v12 = v10 + 4;
- sub_4687DC(v17, (int *)v3, v12);
- v10 = v12 + 4;
- v18 = v16;
- v19 = v17;
- --v20;
- }
- while ( v20 );
- }
- result = (char *)LStrLen(v4);
- if ( v9 <= (signed int)result )
- {
- v16 = sub_46879C(v4, v9);
- v14 = sub_46879C(v4, v9 + 4);
- v16 ^= v18;
- v17 = v19 ^ v14;
- sub_4687DC(v16, (int *)v3, v10);
- result = sub_4687DC(v17, (int *)v3, v10 + 4);
- }
- return result;
- }
- //----- (00468968) --------------------------------------------------------
- char *__usercall sub_468968@<eax>(int a1@<eax>, int a2@<edx>, char **a3@<ecx>)
- {
- char **v3; // ebp@1
- int v4; // edi@1
- int v5; // eax@1
- int v6; // ebx@1
- int *v7; // esi@1
- int v8; // eax@3
- int v9; // ebx@5
- signed int v10; // esi@5
- int v11; // ebx@7
- signed int v12; // esi@7
- char *result; // eax@8
- int v14; // eax@9
- int v15; // [sp+0h] [bp-38h]@1
- int v16; // [sp+4h] [bp-34h]@7
- unsigned int v17; // [sp+8h] [bp-30h]@7
- unsigned int v18; // [sp+Ch] [bp-2Ch]@4
- unsigned int v19; // [sp+10h] [bp-28h]@4
- int v20; // [sp+14h] [bp-24h]@6
- int v21; // [sp+18h] [bp-20h]@1
- int v22; // [sp+1Ch] [bp-1Ch]@4
- int v23; // [sp+20h] [bp-18h]@4
- int v24; // [sp+24h] [bp-14h]@4
- v3 = a3;
- v15 = a2;
- v4 = a1;
- v5 = LStrLen(a1);
- sub_4044E8(v3, v5);
- v6 = 0;
- v7 = &v21;
- do
- {
- *v7 = sub_46879C(v15, 4 * v6++ + 1);
- ++v7;
- }
- while ( v6 != 4 );
- v8 = LStrLen(v4) / 8;
- if ( !v8 )
- {
- v18 = v23 ^ v21 ^ 0x9E3779B9;
- v19 = v24 ^ v22 ^ 0x9E3779B9;
- }
- v9 = 1;
- v10 = 1;
- if ( v8 > 0 )
- {
- v20 = v8;
- do
- {
- v16 = sub_46879C(v4, v9);
- v11 = v9 + 4;
- v17 = sub_46879C(v4, v11);
- v9 = v11 + 4;
- v18 = v16;
- v19 = v17;
- sub_46870C((int)&v16, (int)&v21);
- sub_4687DC(v16, (int *)v3, v10);
- v12 = v10 + 4;
- sub_4687DC(v17, (int *)v3, v12);
- v10 = v12 + 4;
- --v20;
- }
- while ( v20 );
- }
- result = (char *)LStrLen(v4);
- if ( v9 <= (signed int)result )
- {
- v16 = sub_46879C(v4, v9);
- v14 = sub_46879C(v4, v9 + 4);
- v16 ^= v18;
- v17 = v19 ^ v14;
- sub_4687DC(v16, (int *)v3, v10);
- result = sub_4687DC(v17, (int *)v3, v10 + 4);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement