Figure 1: Compiler warnings.

C4244. Conversion from 'type1' to 'type2', possible loss of data.
C4267. Conversion from 'type1' to 'type2', possible loss of data.
C4311. 'type_cast' : pointer truncation from 'type1 *' to 'type2'.
C4312. 'type_cast' : conversion from 'type1' to 'type2' of greater size.
C4313: 'printf' : '%x' in format string conflicts with argument 1 of type 'void *'