Trying to put it simple: Back in the days of GTA IV all names for native functions were included in in the game's exe file. Over the years and games this has changed quite a bit, with GTA V on console using hashed names instead of the "real" name. Since the hashing scheme on that version was known (it is the very common RAGE hashing scheme jenkins) it was possible to brute force a lot of the names. With GTA V on PC things changed again and R* went for a 64bit hashing scheme now for which the algorithm remains unknown. Furthermore hashes are most likely salted as they have changed between versions to make our lives a bit harder (the official reason being anti cheating more or less but everyone that has joined a public lobby in V knows how well this works). At this point for any new native, it was impossible to verify its original name, so people started guessing/estimating it based on the observed behavior and what other natives in the same code region were doing. These guessed names are often prefaced with a _. We don't know what exactly they do and what their name is, but usually the guesses are quite good. To document them you can try passing some values to them, decompile them, debug them, look at the game scripts etc. whatever works best for you