I tried checking UID again and again, but this seemed stupid because of EEPROM wears out
Writing to EEPROM wears it out. Reading from it does not. Of course, neither is necessary. Write only when there is new data (that is the value to write is different from what is there now). Read once and remember what you read.
I can't understand how WakeupA command works.
Does it matter that you understand it? Presumably, you are interested in having the function do something. So, just call it.
Not understanding the arguments it needs is a different story. The argument type is known - pointer to byte - which means that you need to define a byte array where the function will store some data. That data may, or more likely, may not, be of interest. The size of the array is up to you, but the comment suggests that 2 bytes is the minimum, which suggests that the function writes "OK" or "KO" there, depending on its ability to perform the requested function. Try a 10 byte array, first. See what the function actually writes into the array. Then, adjust the size of the array if needed.