void __cdecl check(char
*
username, unsigned
int
N_username, char
*
password,
int
N_password)
{
char
hash
[
16
];
/
/
[esp
+
4h
] [ebp
-
70h
]
char output[
32
];
/
/
[esp
+
14h
] [ebp
-
60h
]
char pwd_decoded[
32
];
/
/
[esp
+
34h
] [ebp
-
40h
]
char ct1[
32
];
/
/
[esp
+
54h
] [ebp
-
20h
]
if
( N_username >
=
3
&& N_username <
=
0x14
&& N_password
=
=
64
)
{
if
( format_check(password,
64
, (
int
)pwd_decoded) !
=
32
|| (aes(pwd_decoded,
32
, ct1, (
int
)g_key,
128
,
0
), rsa(ct1,
32
, output), output[
0
])
|| output[
1
] !
=
2
|| output[
15
] )
{
printf(aBadSn);
}
else
{
hash_0(username, N_username,
hash
);
if
( !memcmp(
hash
, &output[
16
],
0x10u
) )
printf(aCongratulation);
}
}
}