3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 46) Position 1 = 35, Position 2 = 39
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 40, Position 2 = 5
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
2 jumps found. (Code = 46) Position 1 = 35, Position 2 = 39
Branch analysis from position: 35
Branch analysis from position: 39
Branch analysis from position: 39
filename:       /in/fjL9Q
function name:  (null)
number of ops:  41
compiled vars:  !0 = $count, !1 = $in, !2 = $script, !3 = $out
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 1024
    5     1        ASSIGN                                                   !1, ''
    6     2        ASSIGN                                           ~6      !3, 'function+something+%28a%2Cb%2Cc%29+%7B+do%28this%29%3B+do%28that%29%3B+alert%28%27guruguru%27%29%3B+%7D+'
          3        ASSIGN                                                   !2, ~6
    8     4      > JMP                                                      ->32
    9     5    >   CONCAT                                           ~8      'count%3A+', !0
          6        CONCAT                                           ~9      ~8, '%0A'
          7        ECHO                                                     ~9
   10     8        INIT_FCALL                                               'str_repeat'
          9        SEND_VAR                                                 !2
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $10     
         12        CONCAT                                           ~11     '%3Chtml%3E%0A%3Chead%3E%0A%3Cscript+type%3Dwhatever%3E', $10
         13        CONCAT                                           ~12     ~11, '%3C%2Fscript%3E%0A%3C%2Fhead%3E%0A%3C%2Fhtml%3E'
         14        ASSIGN                                                   !1, ~12
   11    15        INIT_FCALL                                               'printf'
         16        SEND_VAL                                                 '%257d+bytes+original.%0A'
         17        STRLEN                                           ~14     !1
         18        SEND_VAL                                                 ~14
         19        DO_ICALL                                                 
   12    20        INIT_FCALL                                               'preg_replace'
         21        SEND_VAL                                                 '%21%3Cscript%5Cb%5B%5E%3E%5D%2A%3E.%2A%3C%2Fscript%3E%21sU'
         22        SEND_VAL                                                 ''
         23        SEND_VAR                                                 !1
         24        DO_ICALL                                         $16     
         25        ASSIGN                                                   !3, $16
   13    26        INIT_FCALL                                               'printf'
         27        SEND_VAL                                                 '%257d+bytes+after+script-removal.%0A%0A'
         28        STRLEN                                           ~18     !3
         29        SEND_VAL                                                 ~18
         30        DO_ICALL                                                 
   14    31        ASSIGN_OP                                     3          !0, 2
    8    32    >   STRLEN                                           ~21     !3
         33        IS_NOT_EQUAL                                     ~22     ~21, 0
         34      > JMPZ_EX                                          ~22     ~22, ->39
         35    >   STRLEN                                           ~23     !3
         36        STRLEN                                           ~24     !1
         37        IS_NOT_EQUAL                                     ~25     ~23, ~24
         38        BOOL                                             ~22     ~25
         39    > > JMPNZ                                                    ~22, ->5
   15    40    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
273.5 ms | 974 KiB | 16 Q