'loads a number from addr, and returns a condition that addr must start with the prefix'

@staticmethod
def _load_num_with_prefix(prefix, addr, region, state, base, signed, read_length=None):

    length = len(prefix)
    read_length = ((read_length - length) if read_length else None)
    (condition, value, num_bytes) = strtol._string_to_int((addr + length), state, region, base, signed, read_length)
    if (len(prefix) > 0):
        loaded_prefix = region.load(addr, length)
        condition = state.se.And((loaded_prefix == state.se.BVV(prefix)), condition)
    total_num_bytes = (num_bytes + length)
    if prefix.startswith('-'):
        value = (state.se.BVV(0, state.arch.bits) - value)
    return (condition, value, total_num_bytes)
