i searching for the string
Presumably "fffaaarrriiiddd
." So we find ourselves at 0x401538
, where the string is referenced.
there are 2-3 call functions near the string location...
is is there a way to know what those function do? is it print function
or maybe other function?
The first call after 0x401538
, which is at 0x40154b
and calls to 0x46ec30
is the print function. We know this because it gets the string as an argument (see x64 calling convention) and because the call is followed by the struct accesses, as we would expect.
The second call after 0x401538
is correctly identified as a call to getch
(or possibly a wrapper function that jmp
's to the imported DLL function).
The call before 0x401538
, which is at 0x401538
and calls to 0x40e760
, is less obvious. Because it is part of main
but precedes the print function, which is the first call we expect based on the known functionality of main
, I suspect it is just some sort of convention with which I am unfamiliar. Look at the disassembly at 0x40e760
. What does that function do? Try compiling a binary with a no/different functionality. Is there always a call in main
after the stack setup? Or are there always two calls for cout
?