! @brief Convert a list of bytes to a list of 32-bit integers (little endian)
    
    If the length of the data list is not a multiple of 4, then the pad value is used
    for the additional required bytes.

def byte_list_to_u32le_list(data, pad=0x00):
    """! @brief Convert a list of bytes to a list of 32-bit integers (little endian)
    
    If the length of the data list is not a multiple of 4, then the pad value is used
    for the additional required bytes.
    """
    res = []
    for i in range(len(data) // 4):
        res.append(data[i * 4 + 0] |
                   data[i * 4 + 1] << 8 |
                   data[i * 4 + 2] << 16 |
                   data[i * 4 + 3] << 24)
    remainder = (len(data) % 4)
    if remainder != 0:
        padCount = 4 - remainder
        res += byte_list_to_u32le_list(list(data[-remainder:]) + [pad] * padCount)
    return res