The pointers to vtables must be initialized at run-time, as the objects are created (allocated) at run-time. Line 53 begins the lines that initialize the pointers to vtables.
Note that there are two lines to handle myY. One line is used to initialize the vtable of class Y, the other line is used to initialize the vtable of class X. This is because a class Y object is also a class X object. Of course, these initializations are magically handled in C++ when objects are created.
Also note the initialization of myX.derived_offset = 0, this is because myX is really just an object of class X. However, myY.superX.derived_offset = -8 because the X portion of myY is 8 bytes from the beginning of myY (pVtableX and derived_offset are on top of superX). To present this in another way, to get back to the beginning of the Y object from a pointer to the superX member, we have an offset of -4 bytes.