3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php for($i = 0xC4-3; $i <= 0xC4+3; ++$i){ for($k = 0; $k <= 0xff; ++$k){ $z = "%".sprintf("%02x", $i)."%".sprintf("%02x", $k); $x = mb_strtolower(urldecode($z)); echo $z." => ".$x."\n"; if($x=="i"){ echo $z." => ".$x." - find\n"; } } }
based on r7EMg
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
2 jumps found. (Code = 44) Position 1 = 39, Position 2 = 2
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 2
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 36, Position 2 = 4
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 39, Position 2 = 2
Branch analysis from position: 39
Branch analysis from position: 2
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 33
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 36, Position 2 = 4
Branch analysis from position: 36
Branch analysis from position: 4
Branch analysis from position: 33
filename:       /in/ZRKCM
function name:  (null)
number of ops:  40
compiled vars:  !0 = $i, !1 = $k, !2 = $z, !3 = $x
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, 193
         1      > JMP                                                      ->37
   4     2    >   ASSIGN                                                   !1, 0
         3      > JMP                                                      ->34
   5     4    >   INIT_FCALL                                               'sprintf'
         5        SEND_VAL                                                 '%2502x'
         6        SEND_VAR                                                 !0
         7        DO_ICALL                                         $6      
         8        CONCAT                                           ~7      '%25', $6
         9        CONCAT                                           ~8      ~7, '%25'
        10        INIT_FCALL                                               'sprintf'
        11        SEND_VAL                                                 '%2502x'
        12        SEND_VAR                                                 !1
        13        DO_ICALL                                         $9      
        14        CONCAT                                           ~10     ~8, $9
        15        ASSIGN                                                   !2, ~10
   6    16        INIT_FCALL                                               'mb_strtolower'
        17        INIT_FCALL                                               'urldecode'
        18        SEND_VAR                                                 !2
        19        DO_ICALL                                         $12     
        20        SEND_VAR                                                 $12
        21        DO_ICALL                                         $13     
        22        ASSIGN                                                   !3, $13
   7    23        CONCAT                                           ~15     !2, '+%3D%3E+'
        24        CONCAT                                           ~16     ~15, !3
        25        CONCAT                                           ~17     ~16, '%0A'
        26        ECHO                                                     ~17
   8    27        IS_EQUAL                                         ~18     !3, 'i'
        28      > JMPZ                                                     ~18, ->33
   9    29    >   CONCAT                                           ~19     !2, '+%3D%3E+'
        30        CONCAT                                           ~20     ~19, !3
        31        CONCAT                                           ~21     ~20, '+-+find%0A'
        32        ECHO                                                     ~21
   4    33    >   PRE_INC                                                  !1
        34    >   IS_SMALLER_OR_EQUAL                              ~23     !1, 255
        35      > JMPNZ                                                    ~23, ->4
   3    36    >   PRE_INC                                                  !0
        37    >   IS_SMALLER_OR_EQUAL                              ~25     !0, 199
        38      > JMPNZ                                                    ~25, ->2
  12    39    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.3.0