Basically, you need to do some post processing on this image.
From the original, the first step I performed was to make the darkest part black and the lightest white. That alone made a sizeable diffefence since your original lightest spot was only (.37, .34, .38). In other words, you were wasting over 60% of the dynamic range.
Black and white levels to full range:
Next I applied some non-linear brightness increases. The picture below is with what my software calls a "log ratio" of 1 and a brighten value of .2.
The log ratio is a logarithmic mapping of the original assumed linear brightness values. The problem with logarithmic mapping is that there is no good thing to do with full black, since that would result in negative inifinity. One way or another, you have to specify the black offset in log space, which then gets remapped to black in the output image. My log ratio parameter does this by specifying the ratio of how much difference a small increment at the low end of the range maps to compared to the same small increment at the high end of the range. The log ratio parameter is the log2 of that ratio. A log ratio adjustment of 1 therefore causes a curve with twice the slope at the black end as the white end. A log ratio of around 4 is more normal, which results in a 16:1 ratio of slopes between the black and white ends. I don't know if you followed all this math, but basically this is a rather mild logarithmic sloshing of the values that makes the image brighter overall while preserving black and white.
The brighten factor of .2 applies a different non-linear mapping that also preserves black and white, but effects the dark areas more and the bright areas less than the log ratio parameter does.
Anyway, here is the result:
I stopped here because I don't know what the original scene looked like, and all the amplification of small changes at the dark end was starting to cause some splotchiness. This is a great example of why you don't want to take JPG images in the camera. Since they are already limited to the same 256 values per color you are ultimately going to have in the final image, there is no way to apply different mappings without losing information. If you start with the original raw 12 or 14 bit sensor values, you have a lot more detail on the brightness scale so that there is still 1/256 changes left after doing all the corrections.