'Determines if we want to output the function label in assembly. We output the function label only when the
original instruction does not output the function label.
:return: True if we should output the function label, False otherwise.
:rtype: bool'

@property
def _output_function_label(self):

    if self.asm_code:
        return True
    if (not self.blocks):
        return True
    the_block = next((b for b in self.blocks if (b.addr == self.addr)), None)
    if (the_block is None):
        return True
    if (not the_block.instructions):
        return True
    if (not the_block.instructions[0].labels):
        return True
    return False
