
int main()
main: scope:[main]  from
  [0] *((char **)files) = (char *) 16384
  [1] (*((char **)files))[3] = $aa
  [2] main::$13 = *((char **)files)
  [3] main::$13[4] = $cc
  [4] call print_cls
  to:main::@1
main::@1: scope:[main]  from main
  [5] phi()
  [6] call print_str
  to:main::@2
main::@2: scope:[main]  from main::@1
  [7] print_uchar::b#0 = *((char *) 0)
  [8] call print_uchar
  to:main::@3
main::@3: scope:[main]  from main::@2
  [9] phi()
  [10] call print_ln
  to:main::@4
main::@4: scope:[main]  from main::@3
  [11] print_char_cursor#49 = print_line_cursor#0
  [12] call print_str
  to:main::@5
main::@5: scope:[main]  from main::@4
  [13] print_uchar::b#1 = *((char *) 16388)
  [14] call print_uchar
  to:main::@6
main::@6: scope:[main]  from main::@5
  [15] phi()
  [16] call print_ln
  to:main::@return
main::@return: scope:[main]  from main::@6
  [17] return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main
  [18] phi()
  [19] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [20] return 
  to:@return

void print_str(char *str)
print_str: scope:[print_str]  from main::@1 main::@4
  [21] print_char_cursor#48 = phi( main::@1/print_screen#0, main::@4/print_char_cursor#49 )
  [21] print_str::str#6 = phi( main::@1/main::str, main::@4/main::str1 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  [22] print_char_cursor#1 = phi( print_str/print_char_cursor#48, print_str::@3/print_char_cursor#30 )
  [22] print_str::str#3 = phi( print_str/print_str::str#6, print_str::@3/print_str::str#0 )
  [23] if(0!=*print_str::str#3) goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [24] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [25] print_char::ch#0 = *print_str::str#3
  [26] call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  [27] print_str::str#0 = ++ print_str::str#3
  to:print_str::@1

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from main::@2 main::@5
  [28] print_uchar::b#2 = phi( main::@2/print_uchar::b#0, main::@5/print_uchar::b#1 )
  [29] print_uchar::$0 = print_uchar::b#2 >> 4
  [30] print_char::ch#1 = print_hextab[print_uchar::$0]
  [31] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [32] print_uchar::$2 = print_uchar::b#2 & $f
  [33] print_char::ch#2 = print_hextab[print_uchar::$2]
  [34] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [35] return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from main::@3 main::@6
  [36] print_line_cursor#21 = phi( main::@3/print_screen#0, main::@6/print_line_cursor#0 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [37] print_line_cursor#11 = phi( print_ln/print_line_cursor#21, print_ln::@1/print_line_cursor#0 )
  [38] print_line_cursor#0 = print_line_cursor#11 + $28
  [39] if(print_line_cursor#0<print_char_cursor#30) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [40] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [41] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [42] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [43] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [44] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [45] *memset::dst#2 = memset::c#0
  [46] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void print_char(char ch)
print_char: scope:[print_char]  from print_str::@2 print_uchar print_uchar::@1
  [47] print_char_cursor#29 = phi( print_str::@2/print_char_cursor#1, print_uchar/print_char_cursor#1, print_uchar::@1/print_char_cursor#30 )
  [47] print_char::ch#3 = phi( print_str::@2/print_char::ch#0, print_uchar/print_char::ch#1, print_uchar::@1/print_char::ch#2 )
  [48] *print_char_cursor#29 = print_char::ch#3
  [49] print_char_cursor#30 = ++ print_char_cursor#29
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [50] return 
  to:@return
