Problems reading data from a microSD card
It turns out that I was reading the MBR, which is located at the address 0 on the SD card. To find the location of the boot sector, one needs to read the appropriate entry in the MBR. The entries start at the address 0x01be and are 16 bytes each.  The point of interest in the entry lies at the offset 0x08, is 4 bytes long and is called an LBA. [Wikipedia] To get the address of the boot sector location, one would multiply the LBA by the size of a sector (512 bytes). [Microchip forum]

For example:

In the output above, the four entries look like this:

00 02 10 00 06 2f ef af 8d 00 00 00 73 0f 3a 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


As you can see, only one entry is used. The LBA in this case is 8d 00 00 00 and is in little-endian format, so in big-endian it would be 0x8d or 141 in decimal. Multiply this by 512 and you get 72192 (0x11a00). This is the address of the sector where the FAT starts.