in source/crc_sw.c [1109:1115]
static uint32_t s_crc_generic_sb1(const uint8_t *input, int length, uint32_t crc, const uint32_t *table_ptr) {
uint32_t(*table)[16][256] = (uint32_t(*)[16][256])table_ptr;
while (length-- > 0) {
crc = (crc >> 8) ^ (*table)[0][(crc & 0xff) ^ *input++];
}
return crc;
}