Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __cdecl dwords_count(int a1)
- {
- return (*(int (__cdecl **)(int))((char *)&etext + 1))(a1) >> 2;
- }
- signed int __cdecl hashf(_DWORD *a1)
- {
- _DWORD *v2; // [esp+4h] [ebp-10h]
- signed int v3; // [esp+8h] [ebp-Ch]
- int v4; // [esp+Ch] [ebp-8h]
- int i; // [esp+10h] [ebp-4h]
- v4 = dwords_count((int)a1);
- v3 = -889266515;
- v2 = a1;
- for ( i = 0; i < v4; ++i )
- {
- v3 ^= *v2;
- ++v2;
- }
- return v3;
- }
- int __cdecl decode(_DWORD *a1, int a2)
- {
- int result; // eax
- int i; // [esp+0h] [ebp-Ch]
- int v4; // [esp+4h] [ebp-8h]
- _DWORD *v5; // [esp+8h] [ebp-4h]
- v5 = a1;
- v4 = dwords_count((int)a1);
- for ( i = 0; ; ++i )
- {
- result = i;
- if ( i >= v4 )
- break;
- *v5 ^= a2;
- ++v5;
- }
- return result;
- }
- int __cdecl main(int argc, const char **argv, const char **envp)
- {
- int result; // eax
- char Str[21]; // [esp+3h] [ebp-21h]
- int v5; // [esp+18h] [ebp-Ch]
- int v6; // [esp+1Ch] [ebp-8h]
- int v7; // [esp+20h] [ebp-4h]
- if ( argc >= 2 )
- {
- v7 = (*(int (__cdecl **)(const char *))((char *)&etext + 1))(argv[1]);
- if ( v7 % 4 )
- {
- puts(aOkYouAreWrong);
- result = 2;
- }
- else if ( !strcmp(argv[1], Str2) )
- {
- puts(aNotEnough);
- result = 3;
- }
- else
- {
- v6 = hashf(argv[1]);
- v5 = hashf(aFlag123realfla_0);
- if ( v6 == v5 )
- {
- Str[0] = -29;
- Str[1] = -57;
- Str[2] = -19;
- Str[3] = -113;
- Str[4] = -34;
- Str[5] = -33;
- Str[6] = -28;
- Str[7] = -127;
- Str[8] = -10;
- Str[9] = -44;
- Str[10] = -27;
- Str[11] = -101;
- Str[12] = -6;
- Str[13] = -58;
- Str[14] = -11;
- Str[15] = -105;
- Str[16] = -18;
- Str[17] = -50;
- Str[18] = -11;
- Str[19] = -75;
- Str[20] = 0;
- decode(Str, v6);
- puts(Str);
- }
- result = 0;
- }
- }
- else
- {
- puts(::Str);
- result = 1;
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement