/??? Is this line a fancy way of copying first 576 samples of insamp into buffer[0]?/
Basically, yes. It's just copying the data end->start rather than the usual start->end order. I'm not sure but I think some people prefer this for memory cache performance reasons.
/*??? what is going on? */
It's scaling the 16-bit input to a 32-bit number. Let's walk through it:
sample_buffer[i] <<= (8 * sizeof(int) - 16);
If sizeof(int) is 4 bytes, 8 * 4 - 16 = 16. Thus, shift the 16-bit number left by 16 in order to scale it to a 32-bit number. If sizeof(int) is 8 bytes, 8 * 8 - 16 = 48. If ints are 64-bit, a left shift by 48 bits is necessary.
I'm not sure if I've answered all your questions here. Feel free to follow up.