Just to flesh out Daniel Standage's answer a bit, remember that a genome is double stranded with one strand being complementary to the other. Genes can be found on either strand, the two are equivalent biologically. However, sequencing projects choose one of the two strands (randomly) and call it the plus (+) strand and then save all sequences with respect to that strand. This means that sometimes the genomic sequence that you download from a database might be the complement of the actual sequence you are looking for.
BLAST and similar algorithms take this into account and will compare your query sequence to both strands. If your query hits the target sequence on the - strand, BLAST will give a a result like what you have obtained, where the start of the HSP is lower than the end. This is because RNA translation (though not DNA transcription) goes in a 5' to 3' direction, on both strands. We therefore "read" genes in that direction. The coordinates are always with respect to the + strand since we always consider DNA in a 5' to 3' direction, this means that its start position will appear to be after its end position. This is better explained using an image:

In the image above, the blue line represents your BLAST hit. It stretches from position 10 to position 40 (with respect to the + strand). However, since it is on the minus strand, BLAST will show it starting at position 40 and ending at position 10.
(tr ACGT TGCA | rev) <<< 'GATTACA'
$\endgroup$