@begin: scope:[]  from
  [0] phi()
  to:@3
@3: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @3
  [3] phi()
main: scope:[main]  from @3
  [4] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@2
  [5] (byte) a#1 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@2/(byte) a#12 )
  to:main::@2
main::@2: scope:[main]  from main::@1
  [6] phi()
  [7] call menu 
  to:main::@1
menu: scope:[menu]  from main::@2
  [8] phi()
  to:menu::@2
menu::@2: scope:[menu]  from menu
  [9] phi()
  [10] call mode 
  to:menu::@return
menu::@return: scope:[menu]  from menu::@2
  [11] return 
  to:@return
mode: scope:[mode]  from menu::@2
  [12] phi()
  to:mode::@1
mode::@1: scope:[mode]  from mode mode::@2 mode::@7
  [13] (byte) a#12 ← phi( mode/(byte) a#1 mode::@7/(byte) a#5 )
  to:mode::@2
mode::@2: scope:[mode]  from mode::@1
  [14] if(*((const byte*) B#0)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mode::@1
  to:mode::@7
mode::@7: scope:[mode]  from mode::@2
  [15] (byte) a#5 ← *((const byte*) B#0)
  to:mode::@1
