This is as far as I could get:
It's too broad modeling task to describe every step, that's why I used a screencast keys in my .gifs. Begin with extruding the cube horizontaly, then subdivide it using edge loops (Ctrl+R). Add a circle (with 8 vertices) and bridge the extruded cube's end with it (W-->LoopTools-->Bridge). Your base mesh is ready. Rest is a matter of using blender modeling tools to tweak some vertices as pictured below.