int
mainroutine()
{
char l_input[
260
];
/
/
[esp
+
0h
] [ebp
-
130h
]
char l_unhex_input[
36
];
/
/
[esp
+
104h
] [ebp
-
2Ch
]
char v3;
/
/
[esp
+
128h
] [ebp
-
8h
]
while
(
1
)
{
*
(_DWORD
*
)l_unhex_input
=
0
;
*
(_DWORD
*
)&l_unhex_input[
4
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
8
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
12
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
16
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
20
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
24
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
28
]
=
0
;
*
(_DWORD
*
)&l_unhex_input[
32
]
=
0
;
v3
=
0
;
printf(
"\nInput RegCode:"
);
memset(l_input,
0
,
0x101u
);
scanf(
"%245s"
, l_input);
if
( check_format_and_unhex(l_input, l_unhex_input)
=
=
36
&& check_part1((
int
)l_unhex_input)
&& check_part2((unsigned
int
*
)&l_unhex_input[
16
]) )
{
break
;
}
printf(
"\n Wrong, Plz Try Again...\n"
);
}
printf(
"\n Good!\n"
);
return
getch();
}