Reverse engineering undocumented code

I’ve been trying to improve clothes system in my character creator and I need to find out the exact procedure how character clothes are managed in GTA Online clothes shops. That is: what natives are called when a clothing piece is changed and in what order.

I found out that the game uses some sort of restriction tag system to match compatible pieces, but this is pretty much as far as I can get with just looking through data dumps and existing native documentation.

I feel like I’ve hit a brick wall and need to start dissecting the original client to get what I want, but I have no idea where to start.

Could anyone experienced provide some insight on how to work with undocumented code/game binaries/running process in order to get useful information out of them?

What do the pepople who write natives documentation do to find out what functions do, what arguments they take, what they return?

What do the hexadecimal numbers in the native documentation (like for example 0x262B14F48D29DE80 for SetPedComponentVariation) mean? Are they the actual memory address where that function is stored?

Is it as simple as firing up x64dbg or IDA, setting a breakpoint at that address and inevitably having the program executable pause there when that native is called, then going up the call stack to find preceding calls?

What software is used for this kind of thing?

I am wondering the EXACT same, how did others reversed the natives.

As for the hex numbers they are hashes of the actual signature of the procedure I think (not sure about that but i know 100% that they are hashes and not addresses)