Ah, I see now, I was thinking of the two addends in the wrong order.  I was picturing (i *section_size) as the base address and pe... as the offset for each iteration in that section, but it's actually that the pe... is the base address and the i * section_size is loop offset.  I guess I'm used to the base address being first, or base + offset.