Does ARG = *(frame-3) mean if the address of frame-3 is, for example, 1 then ARG will have the value 1? Or it means that if frame-3 is 5 then ARG will have the value in the address 5?
The "*" is C/C++ syntax that means use the value to the right as a pointer.
If the address of the current stack frame is 261 then ARG = *(frame-3) means ARG = RAM.
This is restoring ARG to the value that was pushed onto the stack during the call command.
Note: when you put a big screenshot into a post, it can be really hard for people with smaller screens to read. You can make it nicer for other people by adding width="100%" to the <nabble_img> tag so that the screenshot will always be the width of the viewer's browser.