Changing mesh pivot location

Hello! So i need to write the script that changes pivot location of the selected mesh. For this i need to

  1. get each vertex positions (suposedly stored in FRawMesh),
    2.and then re set each position relative to the objects center (it’s Baunds) + some offset along Z (optionaly)
    3.update the FRawMesh structure with new vertices
    4.assign the mesh data to the first LOD (LODs are exposed in SourceModels array) ->
    rebuild the whole mesh the body setup (collisions and friends) the new asset.
    This logic comes from 20tab script (lost the link) for pivot relocation, though the function he uses are different. Maybe someone have any thoughts how to do it in UE4 py?