// 0AB1: call @search_text_in_the_text 2 0@ 1@ // 0@ - ?????, 1@ - ?????
:search_text_in_the_text
var
2@:int
3@:int
4@:int
5@:int
7@:int
8@:int
end
7@ = 0
0C17: 4@ = strlen 0@
0C17: 8@ = strlen 1@
if or
8@ > 4@
8@ <= 0
then
059A: return_false
ret 0
end
0AC8: 6@ = 1024
0C11: memset destination 6@ value 0 size 1024
0C10: memcpy destination 6@ source 1@ size 8@
for 5@ = 0 to 4@
0A8D: 2@ = read_memory 0@ size 1 virtual_protect 0
0A8D: 3@ = read_memory 1@ size 1 virtual_protect 0
if 2@ == 3@
then
inc(1@)
inc(7@)
else
7@ = 0
0C10: memcpy destination 1@ source 6@ size 8@
end
if 7@ == 8@
then
0485: return_true
ret 0
end
inc(0@)
end
059A: return_false
0AC9: 6@
ret 0
:search_text_in_the_text
var
2@:int
3@:int
4@:int
5@:int
7@:int
8@:int
end
7@ = 0
0C17: 4@ = strlen 0@
0C17: 8@ = strlen 1@
if or
8@ > 4@
8@ <= 0
then
059A: return_false
ret 0
end
0AC8: 6@ = 1024
0C11: memset destination 6@ value 0 size 1024
0C10: memcpy destination 6@ source 1@ size 8@
for 5@ = 0 to 4@
0A8D: 2@ = read_memory 0@ size 1 virtual_protect 0
0A8D: 3@ = read_memory 1@ size 1 virtual_protect 0
if 2@ == 3@
then
inc(1@)
inc(7@)
else
7@ = 0
0C10: memcpy destination 1@ source 6@ size 8@
end
if 7@ == 8@
then
0485: return_true
ret 0
end
inc(0@)
end
059A: return_false
0AC9: 6@
ret 0