@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()
main: scope:[main]  from @1
  asm { sei  }
  [5] *((const byte*) PROCPORT#0) ← (byte) $32
  to:main::@1
main::@1: scope:[main]  from main main::@5
  [6] (byte*) main::charset4#10 ← phi( main/(const byte*) CHARSET4#0 main::@5/(byte*) main::charset4#1 )
  [6] (byte*) main::chargen#10 ← phi( main/(const byte*) CHARGEN#0 main::@5/(byte*) main::chargen#1 )
  [7] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte) 1
  [8] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte) $60
  [9] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte) $60
  [10] (byte~) main::$3 ← (byte~) main::$2 >> (byte) 2
  [11] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3
  [12] (byte~) main::$5 ← (byte~) main::$4 >> (byte) 1
  [13] (byte~) main::$6 ← (byte~) main::$5 >> (byte) 2
  [14] (byte) main::bits#0 ← *((const byte[]) bits_count#0 + (byte~) main::$6)
  [15] if((byte) main::bits#0<(byte) 2) goto main::@2
  to:main::@6
main::@6: scope:[main]  from main::@1
  [16] phi()
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@6
  [17] (byte) main::bits_gen#9 ← phi( main::@1/(byte) 0 main::@6/(byte) 1 )
  [18] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte) 1
  [19] (byte~) main::$11 ← *((byte*) main::chargen#10) & (byte) $18
  [20] (byte~) main::$12 ← *((byte*) main::chargen1#0) & (byte) $18
  [21] (byte~) main::$13 ← (byte~) main::$12 >> (byte) 2
  [22] (byte~) main::$14 ← (byte~) main::$11 | (byte~) main::$13
  [23] (byte~) main::$15 ← (byte~) main::$14 >> (byte) 1
  [24] (byte) main::bits#1 ← *((const byte[]) bits_count#0 + (byte~) main::$15)
  [25] if((byte) main::bits#1<(byte) 2) goto main::@3
  to:main::@7
main::@7: scope:[main]  from main::@2
  [26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte) 1
  to:main::@3
main::@3: scope:[main]  from main::@2 main::@7
  [27] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@7/(byte) main::bits_gen#4 )
  [28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte) 1
  [29] (byte~) main::$20 ← *((byte*) main::chargen#10) & (byte) 6
  [30] (byte~) main::$21 ← (byte~) main::$20 << (byte) 1
  [31] (byte~) main::$22 ← *((byte*) main::chargen1#0) & (byte) 6
  [32] (byte~) main::$23 ← (byte~) main::$22 >> (byte) 1
  [33] (byte~) main::$24 ← (byte~) main::$21 | (byte~) main::$23
  [34] (byte) main::bits#2 ← *((const byte[]) bits_count#0 + (byte~) main::$24)
  [35] if((byte) main::bits#2<(byte) 2) goto main::@4
  to:main::@8
main::@8: scope:[main]  from main::@3
  [36] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte) 1
  to:main::@4
main::@4: scope:[main]  from main::@3 main::@8
  [37] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@8/(byte) main::bits_gen#6 )
  [38] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte) 1
  [39] (byte~) main::$29 ← *((byte*) main::chargen#10) & (byte) 1
  [40] (byte~) main::$30 ← (byte~) main::$29 << (byte) 2
  [41] (byte~) main::$31 ← *((byte*) main::chargen1#0) & (byte) 1
  [42] (byte~) main::$32 ← (byte~) main::$30 | (byte~) main::$31
  [43] (byte) main::bits#3 ← *((const byte[]) bits_count#0 + (byte~) main::$32)
  [44] if((byte) main::bits#3<(byte) 2) goto main::@5
  to:main::@9
main::@9: scope:[main]  from main::@4
  [45] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte) 1
  to:main::@5
main::@5: scope:[main]  from main::@4 main::@9
  [46] (byte) main::bits_gen#15 ← phi( main::@4/(byte) main::bits_gen#16 main::@9/(byte) main::bits_gen#8 )
  [47] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte) 1
  [48] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7
  [49] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10
  [50] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte) 2
  [51] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word) $800) goto main::@1
  to:main::@10
main::@10: scope:[main]  from main::@5
  [52] *((const byte*) PROCPORT#0) ← (byte) $37
  asm { cli  }
  to:main::@11
main::@11: scope:[main]  from main::@10 main::@11
  [54] (byte) main::i#2 ← phi( main::@10/(byte) 0 main::@11/(byte) main::i#1 )
  [55] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2
  [56] (byte) main::i#1 ← ++ (byte) main::i#2
  [57] if((byte) main::i#1!=(byte) 0) goto main::@11
  to:main::@12
main::@12: scope:[main]  from main::@11
  [58] *((const byte*) D018#0) ← (byte) $19
  to:main::@return
main::@return: scope:[main]  from main::@12
  [59] return 
  to:@return
