It seems that the /dev/sdb drive is your usb stick that holds the GParted partition.
So, the hard drive to work on is /dev/sda.
The partitions are aligned to the cylinder borders, as usually in windows xp systems.
What you can do is to is to shrik /dev/sda5 from the left side to the right (it is almost empty), then shrink /dev/sda3 to take the empty space. All these operations have to be with the align to cylinder option selected.
After that, you can expand the /dev/sda2 partition (with the align to cylinder option, or align to nothing).
I see that /dev/sda5 is almost empty. You could perhaps transfer there data from /dev/sda2, to make more free space in /dev/sda2.
Another possibility, in case you want to keep just /dev/sda2, would be to backup the /dev/sda5 content, delete it, delete /dev/sda3 too and expand /dev/sda2 to take the entire free drive space.
Although it is possible to schedule all tasks, it is safer to go step by step, reboot twice into the xp system and check if everything goes as expected.
After resizing the system partition you have to allow the system to reboot and run the auto-check, boot and login, and then reboot.
Don't select the MiB align option in the resize forms (changing the boot partition start causes boot problems).
In any case, we highly recommend to keep backup of any important file on the drive, because every partition editing operation is potentially dangerous for the data integrity (due to many different reasons, from software bugs to hardware failure or power problems). The best is to keep regular backup copies, because a hard drive can fail without any previous sign.
*** It is highly recommended to backup any important files before doing resize/move operations. ***