3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * View any string as a hexdump. * * This is most commonly used to view binary data from streams * or sockets while debugging, but can be used to view any string * with non-viewable characters. * * @version 1.3.2 * @author Aidan Lister <aidan@php.net> * @author Peter Waller <iridum@php.net> * @link http://aidanlister.com/2004/04/viewing-binary-data-as-a-hexdump-in-php/ * @param string $data The string to be dumped * @param bool $htmloutput Set to false for non-HTML output * @param bool $uppercase Set to true for uppercase hex * @param bool $return Set to true to return the dump */ function hexdump ($data, $htmloutput = false, $uppercase = false, $return = true) { // Init $hexi = ''; $ascii = ''; $dump = ($htmloutput === true) ? '<pre>' : ''; $offset = 0; $len = strlen($data); // Upper or lower case hexadecimal $x = ($uppercase === false) ? 'x' : 'X'; // Iterate string for ($i = $j = 0; $i < $len; $i++) { // Convert to hexidecimal $hexi .= sprintf("%02$x ", ord($data[$i])); // Replace non-viewable bytes with '.' if (ord($data[$i]) >= 32) { $ascii .= ($htmloutput === true) ? htmlentities($data[$i]) : $data[$i]; } else { $ascii .= '.'; } // Add extra column spacing if ($j === 7) { $hexi .= ' '; $ascii .= ' '; } // Add row if (++$j === 16 || $i === $len - 1) { // Join the hexi / ascii output $dump .= sprintf("%04$x %-49s %s", $offset, $hexi, $ascii); // Reset vars $hexi = $ascii = ''; $offset += 16; $j = 0; // Add newline if ($i !== $len - 1) { $dump .= "\n"; } } } // Finish dump $dump .= $htmloutput === true ? '</pre>' : ''; $dump .= "\n"; // Output method if ($return === false) { echo $dump; } else { return $dump; } } $row=array_fill(0,256*4,'U'); $mem_map=array_fill(0,100,$row); $output=""; $mypic=imagecreate(100,100); $mycolor=imagecolorallocate($mypic,4,5,6); $mycolor2=imagecolorallocate($mypic,0x111,0x111,0x111); imagefill($mypic,0,0,$mycolor2); $pic_map=array_fill(0,100,$mypic); for ($x=0;$x<256*60;$x++){ //Each x is 1 index $cur_row=(int)($x/256); $offset=($x%256)*4; //if($offset!=0)die("offset not zero"); //print "True color image[b4] =" . (imageistruecolor($mypic)) ."\n"; //$mypic2=imagerotate($mypic,30,256*13 + $x); //$mypic2=imagerotate($pic_map[$cur_row],30,$x); $mypic2=imagerotate($mypic,30, $x); // Byte @ 0 $mem_map[$cur_row+2][$offset]=imagecolorat($mypic2,0,0)&0xFF; //echo "Row[$cur_row]-byte0\n"; //byte @ pos 1 if ($mem_map[$cur_row+1][$offset]!=='U'){ $Green=$mem_map[$cur_row+1][$offset]; $byte=(imagecolorat($mypic2,0,0)&0xFF00)>>8; if($Green > $byte) $byte=$byte|0x100; $mem_map[$cur_row+2][$offset+1]=($byte-$Green); //echo "Row[$cur_row]-byte1\n"; } else{ //echo "!=Row[$cur_row][$offset]=" . $mem_map[$cur_row+1][$offset]."\n"; } //Byte @ POS 2 if(($mem_map[$cur_row+1][$offset+1]!=='U')&&($mem_map[$cur_row][$offset]!=='U')){ $Green=$mem_map[$cur_row+1][$offset+1]; $Red=$mem_map[$cur_row][$offset]; //if($cur_row==20){ echo "ROW20: RED=$Red , Green=$Green Byte=$byte"}; $byte=(imagecolorat($mypic2,0,0)>>16) &0xFF; //if($cur_row==39){ echo "ROW20: RED=$Red , Green=$Green Byte=$byte \n";} if($Green > $byte) $byte=$byte|0x100; $byte=$byte-$Green; if($Red > $byte) $byte=$byte|0x100; $byte=$byte-$Red; $OF_Flag=(($mem_map[$cur_row+1][$offset] + $mem_map[$cur_row+2][$offset+1])>0xff)?1:0; $mem_map[$cur_row+2][$offset+2]=$byte - $OF_Flag; //echo "Row[$cur_row]-byte2\n"; //var_dump($mem_map); //die("post2die row=$cur_row"); // if($cur_row==39){echo "Row20:FinalBye=$byte\n";} //hexdump(chr($mem_map[$cur_row+2][$offset]).chr($mem_map[$cur_row+2][$offset+1]).chr($mem_map[$cur_row+2][$offset+2])); } //Byte @ POS 3 if(($mem_map[$cur_row+1][$offset+2]!=='U')&&($mem_map[$cur_row][$offset+1]!=='U')){ $Green=$mem_map[$cur_row+1][$offset+2]; $Red=$mem_map[$cur_row][$offset+1]; $byte=(imagecolorat($mypic2,0,0)&0xFF000000)>>24; if($Green > $byte) $byte=$byte|0x100; $byte=$byte-$Green; if($Red > $byte) $byte=$byte|0x100; $byte=$byte-$Red; $OF_Flag=(($mem_map[$cur_row][$offset] + $mem_map[$cur_row+1][$offset+1] + $mem_map[$cur_row+2][$offset+2])>>8)&0xFF; $mem_map[$cur_row+2][$offset+3]=$byte -$OF_Flag; //print "Current row = $cur_row\nCurrent offset =$offset"; //hexdump(chr($mem_map[$cur_row+2][$offset]).chr($mem_map[$cur_row+2][$offset+1]).chr($mem_map[$cur_row+2][$offset+2]).chr($mem_map[$cur_row+2][$offset+3])); } //var_dump(imagecolorat($mypic,0,0)); //echo "color @ 50,50 :" . dechex(imagecolorat($mypic,50,50)) . "\n"; //var_dump(imagecolorat($mypic,99,99)); imagedestroy($mypic); $mypic=imagecreate(100,100); imagefill($mypic,0,0,$mycolor2); } echo "done!\n"; //var_dump($mem_map); $output=""; foreach($mem_map as $row){ foreach($row as $byte){ $output.=chr($byte); } } for($count=0;$count<strlen($output);$count++){ if ($count%4 !=3) continue; $byte=ord($output[$count]); $Alpha=ord($output[$count+4156-3]); if($Alpha >$byte)$byte=$byte|0x100; $output[$count]=chr($byte-$Alpha); } echo hexdump($output); //file_put_contents("gdHex.dump",hexdump($output)); //var_dump(1);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 232
Branch analysis from position: 232
2 jumps found. (Code = 44) Position 1 = 234, Position 2 = 46
Branch analysis from position: 234
2 jumps found. (Code = 77) Position 1 = 237, Position 2 = 247
Branch analysis from position: 237
2 jumps found. (Code = 78) Position 1 = 238, Position 2 = 247
Branch analysis from position: 238
2 jumps found. (Code = 77) Position 1 = 239, Position 2 = 245
Branch analysis from position: 239
2 jumps found. (Code = 78) Position 1 = 240, Position 2 = 245
Branch analysis from position: 240
1 jumps found. (Code = 42) Position 1 = 239
Branch analysis from position: 239
Branch analysis from position: 245
1 jumps found. (Code = 42) Position 1 = 237
Branch analysis from position: 237
Branch analysis from position: 245
Branch analysis from position: 247
1 jumps found. (Code = 42) Position 1 = 277
Branch analysis from position: 277
2 jumps found. (Code = 44) Position 1 = 280, Position 2 = 250
Branch analysis from position: 280
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 250
2 jumps found. (Code = 43) Position 1 = 253, Position 2 = 254
Branch analysis from position: 253
1 jumps found. (Code = 42) Position 1 = 276
Branch analysis from position: 276
2 jumps found. (Code = 44) Position 1 = 280, Position 2 = 250
Branch analysis from position: 280
Branch analysis from position: 250
Branch analysis from position: 254
2 jumps found. (Code = 43) Position 1 = 268, Position 2 = 270
Branch analysis from position: 268
2 jumps found. (Code = 44) Position 1 = 280, Position 2 = 250
Branch analysis from position: 280
Branch analysis from position: 250
Branch analysis from position: 270
Branch analysis from position: 247
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 96
Branch analysis from position: 73
2 jumps found. (Code = 43) Position 1 = 87, Position 2 = 89
Branch analysis from position: 87
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
2 jumps found. (Code = 46) Position 1 = 102, Position 2 = 106
Branch analysis from position: 102
2 jumps found. (Code = 43) Position 1 = 107, Position 2 = 155
Branch analysis from position: 107
2 jumps found. (Code = 43) Position 1 = 125, Position 2 = 127
Branch analysis from position: 125
2 jumps found. (Code = 43) Position 1 = 131, Position 2 = 133
Branch analysis from position: 131
2 jumps found. (Code = 43) Position 1 = 145, Position 2 = 147
Branch analysis from position: 145
1 jumps found. (Code = 42) Position 1 = 148
Branch analysis from position: 148
2 jumps found. (Code = 46) Position 1 = 161, Position 2 = 166
Branch analysis from position: 161
2 jumps found. (Code = 43) Position 1 = 167, Position 2 = 217
Branch analysis from position: 167
2 jumps found. (Code = 43) Position 1 = 186, Position 2 = 188
Branch analysis from position: 186
2 jumps found. (Code = 43) Position 1 = 192, Position 2 = 194
Branch analysis from position: 192
2 jumps found. (Code = 44) Position 1 = 234, Position 2 = 46
Branch analysis from position: 234
Branch analysis from position: 46
Branch analysis from position: 194
Branch analysis from position: 188
Branch analysis from position: 217
Branch analysis from position: 166
Branch analysis from position: 147
2 jumps found. (Code = 46) Position 1 = 161, Position 2 = 166
Branch analysis from position: 161
Branch analysis from position: 166
Branch analysis from position: 133
Branch analysis from position: 127
Branch analysis from position: 155
Branch analysis from position: 106
Branch analysis from position: 89
Branch analysis from position: 96
filename:       /in/9LbR8
function name:  (null)
number of ops:  285
compiled vars:  !0 = $row, !1 = $mem_map, !2 = $output, !3 = $mypic, !4 = $mycolor, !5 = $mycolor2, !6 = $pic_map, !7 = $x, !8 = $cur_row, !9 = $offset, !10 = $mypic2, !11 = $Green, !12 = $byte, !13 = $Red, !14 = $OF_Flag, !15 = $count, !16 = $Alpha
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   82     0  E >   INIT_FCALL                                               'array_fill'
          1        SEND_VAL                                                 0
          2        SEND_VAL                                                 1024
          3        SEND_VAL                                                 'U'
          4        DO_ICALL                                         $17     
          5        ASSIGN                                                   !0, $17
   83     6        INIT_FCALL                                               'array_fill'
          7        SEND_VAL                                                 0
          8        SEND_VAL                                                 100
          9        SEND_VAR                                                 !0
         10        DO_ICALL                                         $19     
         11        ASSIGN                                                   !1, $19
   86    12        ASSIGN                                                   !2, ''
   87    13        INIT_FCALL_BY_NAME                                       'imagecreate'
         14        SEND_VAL_EX                                              100
         15        SEND_VAL_EX                                              100
         16        DO_FCALL                                      0  $22     
         17        ASSIGN                                                   !3, $22
   88    18        INIT_FCALL_BY_NAME                                       'imagecolorallocate'
         19        SEND_VAR_EX                                              !3
         20        SEND_VAL_EX                                              4
         21        SEND_VAL_EX                                              5
         22        SEND_VAL_EX                                              6
         23        DO_FCALL                                      0  $24     
         24        ASSIGN                                                   !4, $24
   89    25        INIT_FCALL_BY_NAME                                       'imagecolorallocate'
         26        SEND_VAR_EX                                              !3
         27        SEND_VAL_EX                                              273
         28        SEND_VAL_EX                                              273
         29        SEND_VAL_EX                                              273
         30        DO_FCALL                                      0  $26     
         31        ASSIGN                                                   !5, $26
   90    32        INIT_FCALL_BY_NAME                                       'imagefill'
         33        SEND_VAR_EX                                              !3
         34        SEND_VAL_EX                                              0
         35        SEND_VAL_EX                                              0
         36        SEND_VAR_EX                                              !5
         37        DO_FCALL                                      0          
   91    38        INIT_FCALL                                               'array_fill'
         39        SEND_VAL                                                 0
         40        SEND_VAL                                                 100
         41        SEND_VAR                                                 !3
         42        DO_ICALL                                         $29     
         43        ASSIGN                                                   !6, $29
   92    44        ASSIGN                                                   !7, 0
         45      > JMP                                                      ->232
   93    46    >   DIV                                              ~32     !7, 256
         47        CAST                                          4  ~33     ~32
         48        ASSIGN                                                   !8, ~33
   94    49        MOD                                              ~35     !7, 256
         50        MUL                                              ~36     ~35, 4
         51        ASSIGN                                                   !9, ~36
   99    52        INIT_FCALL_BY_NAME                                       'imagerotate'
         53        SEND_VAR_EX                                              !3
         54        SEND_VAL_EX                                              30
         55        SEND_VAR_EX                                              !7
         56        DO_FCALL                                      0  $38     
         57        ASSIGN                                                   !10, $38
  103    58        ADD                                              ~40     !8, 2
         59        INIT_FCALL_BY_NAME                                       'imagecolorat'
         60        SEND_VAR_EX                                              !10
         61        SEND_VAL_EX                                              0
         62        SEND_VAL_EX                                              0
         63        DO_FCALL                                      0  $43     
         64        BW_AND                                           ~44     $43, 255
         65        FETCH_DIM_W                                      $41     !1, ~40
         66        ASSIGN_DIM                                               $41, !9
         67        OP_DATA                                                  ~44
  107    68        ADD                                              ~45     !8, 1
         69        FETCH_DIM_R                                      ~46     !1, ~45
         70        FETCH_DIM_R                                      ~47     ~46, !9
         71        IS_NOT_IDENTICAL                                         ~47, 'U'
         72      > JMPZ                                                     ~48, ->96
  108    73    >   ADD                                              ~49     !8, 1
         74        FETCH_DIM_R                                      ~50     !1, ~49
         75        FETCH_DIM_R                                      ~51     ~50, !9
         76        ASSIGN                                                   !11, ~51
  109    77        INIT_FCALL_BY_NAME                                       'imagecolorat'
         78        SEND_VAR_EX                                              !10
         79        SEND_VAL_EX                                              0
         80        SEND_VAL_EX                                              0
         81        DO_FCALL                                      0  $53     
         82        BW_AND                                           ~54     $53, 65280
         83        SR                                               ~55     ~54, 8
         84        ASSIGN                                                   !12, ~55
  110    85        IS_SMALLER                                               !12, !11
         86      > JMPZ                                                     ~57, ->89
         87    >   BW_OR                                            ~58     !12, 256
         88        ASSIGN                                                   !12, ~58
  111    89    >   ADD                                              ~60     !8, 2
         90        ADD                                              ~62     !9, 1
         91        SUB                                              ~64     !12, !11
         92        FETCH_DIM_W                                      $61     !1, ~60
         93        ASSIGN_DIM                                               $61, ~62
         94        OP_DATA                                                  ~64
         95      > JMP                                                      ->96
  119    96    >   ADD                                              ~65     !8, 1
         97        ADD                                              ~67     !9, 1
         98        FETCH_DIM_R                                      ~66     !1, ~65
         99        FETCH_DIM_R                                      ~68     ~66, ~67
        100        IS_NOT_IDENTICAL                                 ~69     ~68, 'U'
        101      > JMPZ_EX                                          ~69     ~69, ->106
        102    >   FETCH_DIM_R                                      ~70     !1, !8
        103        FETCH_DIM_R                                      ~71     ~70, !9
        104        IS_NOT_IDENTICAL                                 ~72     ~71, 'U'
        105        BOOL                                             ~69     ~72
        106    > > JMPZ                                                     ~69, ->155
  120   107    >   ADD                                              ~73     !8, 1
        108        ADD                                              ~75     !9, 1
        109        FETCH_DIM_R                                      ~74     !1, ~73
        110        FETCH_DIM_R                                      ~76     ~74, ~75
        111        ASSIGN                                                   !11, ~76
  121   112        FETCH_DIM_R                                      ~78     !1, !8
        113        FETCH_DIM_R                                      ~79     ~78, !9
        114        ASSIGN                                                   !13, ~79
  123   115        INIT_FCALL_BY_NAME                                       'imagecolorat'
        116        SEND_VAR_EX                                              !10
        117        SEND_VAL_EX                                              0
        118        SEND_VAL_EX                                              0
        119        DO_FCALL                                      0  $81     
        120        SR                                               ~82     $81, 16
        121        BW_AND                                           ~83     ~82, 255
        122        ASSIGN                                                   !12, ~83
  125   123        IS_SMALLER                                               !12, !11
        124      > JMPZ                                                     ~85, ->127
        125    >   BW_OR                                            ~86     !12, 256
        126        ASSIGN                                                   !12, ~86
  126   127    >   SUB                                              ~88     !12, !11
        128        ASSIGN                                                   !12, ~88
  127   129        IS_SMALLER                                               !12, !13
        130      > JMPZ                                                     ~90, ->133
        131    >   BW_OR                                            ~91     !12, 256
        132        ASSIGN                                                   !12, ~91
  128   133    >   SUB                                              ~93     !12, !13
        134        ASSIGN                                                   !12, ~93
  129   135        ADD                                              ~95     !8, 1
        136        FETCH_DIM_R                                      ~96     !1, ~95
        137        FETCH_DIM_R                                      ~97     ~96, !9
        138        ADD                                              ~98     !8, 2
        139        ADD                                              ~100    !9, 1
        140        FETCH_DIM_R                                      ~99     !1, ~98
        141        FETCH_DIM_R                                      ~101    ~99, ~100
        142        ADD                                              ~102    ~97, ~101
        143        IS_SMALLER                                               255, ~102
        144      > JMPZ                                                     ~103, ->147
        145    >   QM_ASSIGN                                        ~104    1
        146      > JMP                                                      ->148
        147    >   QM_ASSIGN                                        ~104    0
        148    >   ASSIGN                                                   !14, ~104
  130   149        ADD                                              ~106    !8, 2
        150        ADD                                              ~108    !9, 2
        151        SUB                                              ~110    !12, !14
        152        FETCH_DIM_W                                      $107    !1, ~106
        153        ASSIGN_DIM                                               $107, ~108
        154        OP_DATA                                                  ~110
  139   155    >   ADD                                              ~111    !8, 1
        156        ADD                                              ~113    !9, 2
        157        FETCH_DIM_R                                      ~112    !1, ~111
        158        FETCH_DIM_R                                      ~114    ~112, ~113
        159        IS_NOT_IDENTICAL                                 ~115    ~114, 'U'
        160      > JMPZ_EX                                          ~115    ~115, ->166
        161    >   ADD                                              ~117    !9, 1
        162        FETCH_DIM_R                                      ~116    !1, !8
        163        FETCH_DIM_R                                      ~118    ~116, ~117
        164        IS_NOT_IDENTICAL                                 ~119    ~118, 'U'
        165        BOOL                                             ~115    ~119
        166    > > JMPZ                                                     ~115, ->217
  140   167    >   ADD                                              ~120    !8, 1
        168        ADD                                              ~122    !9, 2
        169        FETCH_DIM_R                                      ~121    !1, ~120
        170        FETCH_DIM_R                                      ~123    ~121, ~122
        171        ASSIGN                                                   !11, ~123
  141   172        ADD                                              ~126    !9, 1
        173        FETCH_DIM_R                                      ~125    !1, !8
        174        FETCH_DIM_R                                      ~127    ~125, ~126
        175        ASSIGN                                                   !13, ~127
  142   176        INIT_FCALL_BY_NAME                                       'imagecolorat'
        177        SEND_VAR_EX                                              !10
        178        SEND_VAL_EX                                              0
        179        SEND_VAL_EX                                              0
        180        DO_FCALL                                      0  $129    
        181        BW_AND                                           ~130    $129, 4278190080
        182        SR                                               ~131    ~130, 24
        183        ASSIGN                                                   !12, ~131
  143   184        IS_SMALLER                                               !12, !11
        185      > JMPZ                                                     ~133, ->188
        186    >   BW_OR                                            ~134    !12, 256
        187        ASSIGN                                                   !12, ~134
  144   188    >   SUB                                              ~136    !12, !11
        189        ASSIGN                                                   !12, ~136
  145   190        IS_SMALLER                                               !12, !13
        191      > JMPZ                                                     ~138, ->194
        192    >   BW_OR                                            ~139    !12, 256
        193        ASSIGN                                                   !12, ~139
  146   194    >   SUB                                              ~141    !12, !13
        195        ASSIGN                                                   !12, ~141
  147   196        FETCH_DIM_R                                      ~143    !1, !8
        197        FETCH_DIM_R                                      ~144    ~143, !9
        198        ADD                                              ~145    !8, 1
        199        ADD                                              ~147    !9, 1
        200        FETCH_DIM_R                                      ~146    !1, ~145
        201        FETCH_DIM_R                                      ~148    ~146, ~147
        202        ADD                                              ~149    ~144, ~148
        203        ADD                                              ~150    !8, 2
        204        ADD                                              ~152    !9, 2
        205        FETCH_DIM_R                                      ~151    !1, ~150
        206        FETCH_DIM_R                                      ~153    ~151, ~152
        207        ADD                                              ~154    ~149, ~153
        208        SR                                               ~155    ~154, 8
        209        BW_AND                                           ~156    ~155, 255
        210        ASSIGN                                                   !14, ~156
  149   211        ADD                                              ~158    !8, 2
        212        ADD                                              ~160    !9, 3
        213        SUB                                              ~162    !12, !14
        214        FETCH_DIM_W                                      $159    !1, ~158
        215        ASSIGN_DIM                                               $159, ~160
        216        OP_DATA                                                  ~162
  158   217    >   INIT_FCALL_BY_NAME                                       'imagedestroy'
        218        SEND_VAR_EX                                              !3
        219        DO_FCALL                                      0          
  159   220        INIT_FCALL_BY_NAME                                       'imagecreate'
        221        SEND_VAL_EX                                              100
        222        SEND_VAL_EX                                              100
        223        DO_FCALL                                      0  $164    
        224        ASSIGN                                                   !3, $164
  160   225        INIT_FCALL_BY_NAME                                       'imagefill'
        226        SEND_VAR_EX                                              !3
        227        SEND_VAL_EX                                              0
        228        SEND_VAL_EX                                              0
        229        SEND_VAR_EX                                              !5
        230        DO_FCALL                                      0          
   92   231        PRE_INC                                                  !7
        232    >   IS_SMALLER                                               !7, 15360
        233      > JMPNZ                                                    ~168, ->46
  162   234    >   ECHO                                                     'done%21%0A'
  164   235        ASSIGN                                                   !2, ''
  165   236      > FE_RESET_R                                       $170    !1, ->247
        237    > > FE_FETCH_R                                               $170, !0, ->247
  166   238    > > FE_RESET_R                                       $171    !0, ->245
        239    > > FE_FETCH_R                                               $171, !12, ->245
  167   240    >   INIT_FCALL                                               'chr'
        241        SEND_VAR                                                 !12
        242        DO_ICALL                                         $172    
        243        ASSIGN_OP                                     8          !2, $172
  166   244      > JMP                                                      ->239
        245    >   FE_FREE                                                  $171
  165   246      > JMP                                                      ->237
        247    >   FE_FREE                                                  $170
  170   248        ASSIGN                                                   !15, 0
        249      > JMP                                                      ->277
  171   250    >   MOD                                              ~175    !15, 4
        251        IS_NOT_EQUAL                                             ~175, 3
        252      > JMPZ                                                     ~176, ->254
        253    > > JMP                                                      ->276
  172   254    >   INIT_FCALL                                               'ord'
        255        FETCH_DIM_R                                      ~177    !2, !15
        256        SEND_VAL                                                 ~177
        257        DO_ICALL                                         $178    
        258        ASSIGN                                                   !12, $178
  173   259        INIT_FCALL                                               'ord'
        260        ADD                                              ~180    !15, 4156
        261        SUB                                              ~181    ~180, 3
        262        FETCH_DIM_R                                      ~182    !2, ~181
        263        SEND_VAL                                                 ~182
        264        DO_ICALL                                         $183    
        265        ASSIGN                                                   !16, $183
  174   266        IS_SMALLER                                               !12, !16
        267      > JMPZ                                                     ~185, ->270
        268    >   BW_OR                                            ~186    !12, 256
        269        ASSIGN                                                   !12, ~186
  175   270    >   INIT_FCALL                                               'chr'
        271        SUB                                              ~189    !12, !16
        272        SEND_VAL                                                 ~189
        273        DO_ICALL                                         $190    
        274        ASSIGN_DIM                                               !2, !15
        275        OP_DATA                                                  $190
  170   276    >   PRE_INC                                                  !15
        277    >   STRLEN                                           ~192    !2
        278        IS_SMALLER                                               !15, ~192
        279      > JMPNZ                                                    ~193, ->250
  177   280    >   INIT_FCALL                                               'hexdump'
        281        SEND_VAR                                                 !2
        282        DO_FCALL                                      0  $194    
        283        ECHO                                                     $194
  179   284      > RETURN                                                   1

Function hexdump:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 85
Branch analysis from position: 85
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 24
Branch analysis from position: 87
2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 91
Branch analysis from position: 89
1 jumps found. (Code = 42) Position 1 = 92
Branch analysis from position: 92
2 jumps found. (Code = 43) Position 1 = 96, Position 2 = 98
Branch analysis from position: 96
1 jumps found. (Code = 42) Position 1 = 99
Branch analysis from position: 99
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 98
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 91
2 jumps found. (Code = 43) Position 1 = 96, Position 2 = 98
Branch analysis from position: 96
Branch analysis from position: 98
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 54
Branch analysis from position: 42
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 50
Branch analysis from position: 44
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
1 jumps found. (Code = 42) Position 1 = 55
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 59
Branch analysis from position: 57
2 jumps found. (Code = 47) Position 1 = 62, Position 2 = 65
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 84
Branch analysis from position: 66
2 jumps found. (Code = 43) Position 1 = 83, Position 2 = 84
Branch analysis from position: 83
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 24
Branch analysis from position: 87
Branch analysis from position: 24
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 65
Branch analysis from position: 59
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 55
Branch analysis from position: 55
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 59
Branch analysis from position: 57
Branch analysis from position: 59
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 85
Branch analysis from position: 85
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
Branch analysis from position: 19
filename:       /in/9LbR8
function name:  hexdump
number of ops:  100
compiled vars:  !0 = $data, !1 = $htmloutput, !2 = $uppercase, !3 = $return, !4 = $hexi, !5 = $ascii, !6 = $dump, !7 = $offset, !8 = $len, !9 = $x, !10 = $i, !11 = $j
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <false>
          2        RECV_INIT                                        !2      <false>
          3        RECV_INIT                                        !3      <true>
   21     4        ASSIGN                                                   !4, ''
   22     5        ASSIGN                                                   !5, ''
   23     6        TYPE_CHECK                                    8          !1
          7      > JMPZ                                                     ~14, ->10
          8    >   QM_ASSIGN                                        ~15     '%3Cpre%3E'
          9      > JMP                                                      ->11
         10    >   QM_ASSIGN                                        ~15     ''
         11    >   ASSIGN                                                   !6, ~15
   24    12        ASSIGN                                                   !7, 0
   25    13        STRLEN                                           ~18     !0
         14        ASSIGN                                                   !8, ~18
   28    15        TYPE_CHECK                                    4          !2
         16      > JMPZ                                                     ~20, ->19
         17    >   QM_ASSIGN                                        ~21     'x'
         18      > JMP                                                      ->20
         19    >   QM_ASSIGN                                        ~21     'X'
         20    >   ASSIGN                                                   !9, ~

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
258.14 ms | 1435 KiB | 24 Q