int
__fastcall main(
int
argc,
const
char
**argv,
const
char
**envp)
{
char
*v4;
char
src[8];
__int64
v6;
_QWORD v7[2];
char
salt[2];
char
v9;
char
v10[8];
__int64
v11;
char
s[8];
__int64
v13;
char
v14[256];
char
dest[8];
__int64
v16;
__int64
v17;
__int64
v18;
_BYTE v19[128];
_DWORD v20[18];
char
*v21;
int
v22;
int
v23;
__int64
v24;
int
v25;
int
v26;
int
v27;
int
i;
v25 = 0;
v24 = 0LL;
memset
(v20, 0, 0x40uLL);
memset
(v19, 0,
sizeof
(v19));
*(_QWORD *)dest = 0LL;
v16 = 0LL;
v17 = 0LL;
v18 = 0LL;
memset
(v14, 0,
sizeof
(v14));
i = 0;
v27 = 0;
v23 = 0;
v22 = 0;
v26 = 0;
*(_QWORD *)s = 0LL;
v13 = 0LL;
*(_QWORD *)v10 = 0LL;
v11 = 0LL;
*(_WORD *)salt = 0;
v9 = 0;
v7[0] = 0LL;
v7[1] = 0LL;
*(_QWORD *)src = 0LL;
v6 = 0LL;
v21 = 0LL;
v21 = (
char
*)argv[1];
v23 =
strlen
(argv[1]);
strcpy
(dest, &v21[v23 - 9]);
salt[0] = bn_get_salt((unsigned
int
)(
char
)v16);
salt[1] = bn_get_salt((unsigned
int
)dest[7]);
v9 = 0;
v4 = crypt(dest, salt);
strcpy
(s, v4);
v22 = (
char
)v16 % 5;
*((_BYTE *)v7 + v27) = v16;
v20[v27++] = 0;
*((_BYTE *)v7 + v27) = bgs((unsigned
int
)dest[7]);
v20[v27++] = 1;
for
( i = 8; 9 - v22 <= i; --i )
{
*((_BYTE *)v7 + v27) = bgs((unsigned
int
)dest[i]);
v20[v27++] = i;
}
}