Angr solution for the task:```import angrimport claripy
def main():	SERIAL_SIZE = 48	flag = claripy.BVS('flag', SERIAL_SIZE * 8, explicit_name=True)	BUFFER = 0x100000	FUNCTION_ADDRESS = 0x40215D
	find = 0x4021C4	avoids = [0x4021BE,0x402152,0x4020EB,0x40206B,0x401FE4,0x401F78,0x401EE9,0x401E5D,0x401D8D,0x401CE6,0x401C81,0x401BB5,0x401B09,0x401A39,0x40198D,0x4018C6,0x40181E,0x40177F,0x4016D5,0x40166D,0x4015DF, 0x401533,0x4014C7,0x401443,0x4013BB,0x401337,0x401287,0x4011FE]
	project = angr.Project ('babymix')
	state = project.factory.blank_state(addr = FUNCTION_ADDRESS, add_options={angr.options.LAZY_SOLVES, angr.options.ZERO_FILL_UNCONSTRAINED_MEMORY})
	for i in range(SERIAL_SIZE):		state.solver.add(flag.get_byte(i) >= 0x20)		state.solver.add(flag.get_byte(i) <= 0x7f)
	state.memory.store(BUFFER, flag, endness='Iend_BE')	state.regs.rdi = BUFFER
	sm = project.factory.simulation_manager(state)	sm.explore(find = find, avoid = avoids)
	found = sm.found[0]	return found.solver.eval(flag, cast_to=bytes)
if __name__ == "__main__":    print(main())```