The address of n64Offset is converted into a pointer to a character (char*). The address is then offset by chOffsetSz - 1. The resulting value is tested to see if the bits that correspond to 0x80 are set. If they are, the if statement evaluates to true.
This is a for loop. i is pushed onto the stack, and initialised with its own length - 1. While the value of i is greater than the value of chOffsetSz - 1, the address of n64Offset is once again converted to a pointer to a character. The resulting address is offset by the value of i, and the bits of the resulting element are set to 1. i is then reduced by 1.
chLenOffSz is tested to see if the bits that correspond to 0x0F (0000 1111) are set. If they are, chLenSz is assigned to the character equivalent to the Boolean expression returned by the test.
spy man wrote:
chOffsetSz = (chLenOffSz & 0xF0) >> 4;
chLenOffSz is tested to see if the bits that correspond to 0xF0 (1111 0000) are set. If they are, the test returns true. The Boolean expression returned by the test is shifted 4 places to the right. The result of the shift is assigned to chOffsetSz.