"""FUN_18011dc50 is the ONLY writer of every gate byte. Read it in full.

This is the join between the /settings response and the IS_* UI keys, so it
answers both open questions at once: what each gate byte is copied from, and
whether anything gives it a value when the configs array is empty.
"""
VA = 0x18011DC50
f = func(VA)
src = dec(VA)
print("%#x  body %d bytes / decompile %d chars (printed IN FULL)"
      % (VA, f.getBody().getNumAddresses(), len(src)))
print("=" * 78)
print(src)
print("\n-- who calls the applier --")
for a, n in callers(VA):
    print("   %#x  %s" % (a, n))
