Apologies for missing your post.
The “???” are placeholders for unknown symbol names. Typically these are coming from the system DLLs.
Can you try looking at a “top-down” view rather than the default “bottom-up”? My best guess is that your program is spending a lot of time external DLLs so in a “bottom-up” view, the unknown symbols appear first. In “top-down”, you should see you’re program’s symbols first, with the DLL calls listed under these.
See section 2.4.5 of the PGPROF guide for more details on CPU views: https://www.pgroup.com/doc/pgprof16ug.pdf
Hope this helps,