3v4l.org

run code in 300+ PHP versions simultaneously
<?php class xxtea { function __construct(){ } function __destruct(){ } public function encrypt($s,$key = "!@#^~ku6&%(com)T"){ return str_replace(array('+','/','='), array('-','_','.'), base64_encode($this->xxtea_encrypt($s, $key))); } public function decrypt($e,$key = "!@#^~ku6&%(com)T"){ $c = str_replace(array('-','_','.'), array('+','/','='), $e); return $this->xxtea_decrypt(base64_decode($c), $key); } private function long2str($v, $w) { $len = count($v); $n = ($len - 1) << 2; if ($w) { $m = $v[$len - 1]; if (($m < $n - 3) || ($m > $n)) return false; $n = $m; } $s = array(); for ($i = 0; $i < $len; $i++) { $s[$i] = pack("V", $v[$i]); } if ($w) { return substr(join('', $s), 0, $n); } else { return join('', $s); } } private function str2long($s, $w) { $v = unpack("V*", $s. str_repeat("\0", (4 - strlen($s) % 4) & 3)); $v = array_values($v); if ($w) { $v[count($v)] = strlen($s); } return $v; } private function int32($n) { while ($n >= 2147483648) $n -= 4294967296; while ($n <= -2147483649) $n += 4294967296; return (int)$n; } private function xxtea_encrypt($str, $key) { if ($str == "") { return ""; } $v = $this->str2long($str, true); $k = $this->str2long($key, false); if (count($k) < 4) { for ($i = count($k); $i < 4; $i++) { $k[$i] = 0; } } $n = count($v) - 1; $z = $v[$n]; $y = $v[0]; $delta = 0x9E3779B9; $q = floor(6 + 52 / ($n + 1)); $sum = 0; while (0 < $q--) { $sum = $this->int32($sum + $delta); $e = $sum >> 2 & 3; for ($p = 0; $p < $n; $p++) { $y = $v[$p + 1]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $z = $v[$p] = $this->int32($v[$p] + $mx); } $y = $v[0]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $z = $v[$n] = $this->int32($v[$n] + $mx); } return $this->long2str($v, false); } private function xxtea_decrypt($str, $key) { if ($str == "") { return ""; } $v = $this->str2long($str, false); $k = $this->str2long($key, false); if (count($k) < 4) { for ($i = count($k); $i < 4; $i++) { $k[$i] = 0; } } $n = count($v) - 1; $z = $v[$n]; $y = $v[0]; $delta = 0x9E3779B9; $q = floor(6 + 52 / ($n + 1)); $sum = $this->int32($q * $delta); while ($sum != 0) { $e = $sum >> 2 & 3; for ($p = $n; $p > 0; $p--) { $z = $v[$p - 1]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $y = $v[$p] = $this->int32($v[$p] - $mx); } $z = $v[$n]; $mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z)); $y = $v[0] = $this->int32($v[0] - $mx); $sum = $this->int32($sum - $delta); } return $this->long2str($v, true); } } $xxtea = new xxtea(); $vid = $xxtea->decrypt('xSz5rd55YacQwj-sjO8VbQ..', 'KU_6com-2007web2.0'); var_dump($vid);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4so18
function name:  (null)
number of ops:  12
compiled vars:  !0 = $xxtea, !1 = $vid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  115     0  E >   NEW                                              $2      'xxtea'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $2
  116     3        INIT_METHOD_CALL                                         !0, 'decrypt'
          4        SEND_VAL_EX                                              'xSz5rd55YacQwj-sjO8VbQ..'
          5        SEND_VAL_EX                                              'KU_6com-2007web2.0'
          6        DO_FCALL                                      0  $5      
          7        ASSIGN                                                   !1, $5
  117     8        INIT_FCALL                                               'var_dump'
          9        SEND_VAR                                                 !1
         10        DO_ICALL                                                 
         11      > RETURN                                                   1

Class xxtea:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4so18
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E > > RETURN                                                   null

End of function __construct

Function __destruct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4so18
function name:  __destruct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E > > RETURN                                                   null

End of function __destruct

Function encrypt:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4so18
function name:  encrypt
number of ops:  16
compiled vars:  !0 = $s, !1 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%21%40%23%5E%7Eku6%26%25%28com%29T'
    9     2        INIT_FCALL                                               'str_replace'
          3        SEND_VAL                                                 <array>
          4        SEND_VAL                                                 <array>
          5        INIT_FCALL                                               'base64_encode'
          6        INIT_METHOD_CALL                                         'xxtea_encrypt'
          7        SEND_VAR_EX                                              !0
          8        SEND_VAR_EX                                              !1
          9        DO_FCALL                                      0  $2      
         10        SEND_VAR                                                 $2
         11        DO_ICALL                                         $3      
         12        SEND_VAR                                                 $3
         13        DO_ICALL                                         $4      
         14      > RETURN                                                   $4
   10    15*     > RETURN                                                   null

End of function encrypt

Function decrypt:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4so18
function name:  decrypt
number of ops:  17
compiled vars:  !0 = $e, !1 = $key, !2 = $c
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%21%40%23%5E%7Eku6%26%25%28com%29T'
   13     2        INIT_FCALL                                               'str_replace'
          3        SEND_VAL                                                 <array>
          4        SEND_VAL                                                 <array>
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $3      
          7        ASSIGN                                                   !2, $3
   14     8        INIT_METHOD_CALL                                         'xxtea_decrypt'
          9        INIT_FCALL                                               'base64_decode'
         10        SEND_VAR                                                 !2
         11        DO_ICALL                                         $5      
         12        SEND_VAR_NO_REF_EX                                       $5
         13        SEND_VAR_EX                                              !1
         14        DO_FCALL                                      0  $6      
         15      > RETURN                                                   $6
   15    16*     > RETURN                                                   null

End of function decrypt

Function long2str:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 19
Branch analysis from position: 8
2 jumps found. (Code = 47) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 18
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 22
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 44
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 44
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 22
Branch analysis from position: 32
Branch analysis from position: 22
Branch analysis from position: 16
Branch analysis from position: 19
filename:       /in/4so18
function name:  long2str
number of ops:  50
compiled vars:  !0 = $v, !1 = $w, !2 = $len, !3 = $n, !4 = $m, !5 = $s, !6 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   18     2        COUNT                                            ~7      !0
          3        ASSIGN                                                   !2, ~7
   19     4        SUB                                              ~9      !2, 1
          5        SL                                               ~10     ~9, 2
          6        ASSIGN                                                   !3, ~10
   20     7      > JMPZ                                                     !1, ->19
   21     8    >   SUB                                              ~12     !2, 1
          9        FETCH_DIM_R                                      ~13     !0, ~12
         10        ASSIGN                                                   !4, ~13
   22    11        SUB                                              ~15     !3, 3
         12        IS_SMALLER                                       ~16     !4, ~15
         13      > JMPNZ_EX                                         ~16     ~16, ->16
         14    >   IS_SMALLER                                       ~17     !3, !4
         15        BOOL                                             ~16     ~17
         16    > > JMPZ                                                     ~16, ->18
         17    > > RETURN                                                   <false>
   23    18    >   ASSIGN                                                   !3, !4
   25    19    >   ASSIGN                                                   !5, <array>
   26    20        ASSIGN                                                   !6, 0
         21      > JMP                                                      ->30
   27    22    >   INIT_FCALL                                               'pack'
         23        SEND_VAL                                                 'V'
         24        FETCH_DIM_R                                      ~22     !0, !6
         25        SEND_VAL                                                 ~22
         26        DO_ICALL                                         $23     
         27        ASSIGN_DIM                                               !5, !6
         28        OP_DATA                                                  $23
   26    29        PRE_INC                                                  !6
         30    >   IS_SMALLER                                               !6, !2
         31      > JMPNZ                                                    ~25, ->22
   29    32    > > JMPZ                                                     !1, ->44
   30    33    >   INIT_FCALL                                               'substr'
         34        INIT_FCALL                                               'join'
         35        SEND_VAL                                                 ''
         36        SEND_VAR                                                 !5
         37        DO_ICALL                                         $26     
         38        SEND_VAR                                                 $26
         39        SEND_VAL                                                 0
         40        SEND_VAR                                                 !3
         41        DO_ICALL                                         $27     
         42      > RETURN                                                   $27
         43*       JMP                                                      ->49
   32    44    >   INIT_FCALL                                               'join'
         45        SEND_VAL                                                 ''
         46        SEND_VAR                                                 !5
         47        DO_ICALL                                         $28     
         48      > RETURN                                                   $28
   34    49*     > RETURN                                                   null

End of function long2str

Function str2long:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 25
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
filename:       /in/4so18
function name:  str2long
number of ops:  27
compiled vars:  !0 = $s, !1 = $w, !2 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   35     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   36     2        INIT_FCALL                                               'unpack'
          3        SEND_VAL                                                 'V%2A'
          4        INIT_FCALL                                               'str_repeat'
          5        SEND_VAL                                                 '%00'
          6        STRLEN                                           ~3      !0
          7        MOD                                              ~4      ~3, 4
          8        SUB                                              ~5      4, ~4
          9        BW_AND                                           ~6      ~5, 3
         10        SEND_VAL                                                 ~6
         11        DO_ICALL                                         $7      
         12        CONCAT                                           ~8      !0, $7
         13        SEND_VAL                                                 ~8
         14        DO_ICALL                                         $9      
         15        ASSIGN                                                   !2, $9
   37    16        INIT_FCALL                                               'array_values'
         17        SEND_VAR                                                 !2
         18        DO_ICALL                                         $11     
         19        ASSIGN                                                   !2, $11
   38    20      > JMPZ                                                     !1, ->25
   39    21    >   COUNT                                            ~13     !2
         22        STRLEN                                           ~15     !0
         23        ASSIGN_DIM                                               !2, ~13
         24        OP_DATA                                                  ~15
   41    25    > > RETURN                                                   !2
   42    26*     > RETURN                                                   null

End of function str2long

Function int32:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
2 jumps found. (Code = 44) Position 1 = 5, Position 2 = 2
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 6
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 6
Branch analysis from position: 9
Branch analysis from position: 6
Branch analysis from position: 2
2 jumps found. (Code = 44) Position 1 = 5, Position 2 = 2
Branch analysis from position: 5
Branch analysis from position: 2
filename:       /in/4so18
function name:  int32
number of ops:  12
compiled vars:  !0 = $n
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   43     0  E >   RECV                                             !0      
   44     1      > JMP                                                      ->3
          2    >   ASSIGN_OP                                     2          !0, 4294967296
          3    >   IS_SMALLER_OR_EQUAL                                      2147483648, !0
          4      > JMPNZ                                                    ~2, ->2
   45     5    > > JMP                                                      ->7
          6    >   ASSIGN_OP                                     1          !0, 4294967296
          7    >   IS_SMALLER_OR_EQUAL                                      !0, -2147483649
          8      > JMPNZ                                                    ~4, ->6
   46     9    >   CAST                                          4  ~5      !0
         10      > RETURN                                                   ~5
   47    11*     > RETURN                                                   null

End of function int32

Function xxtea_encrypt:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 5
Branch analysis from position: 4
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 26
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 21
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 123
Branch analysis from position: 123
2 jumps found. (Code = 44) Position 1 = 126, Position 2 = 43
Branch analysis from position: 126
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
2 jumps found. (Code = 44) Position 1 = 90, Position 2 = 53
Branch analysis from position: 90
2 jumps found. (Code = 44) Position 1 = 126, Position 2 = 43
Branch analysis from position: 126
Branch analysis from position: 43
Branch analysis from position: 53
2 jumps found. (Code = 44) Position 1 = 90, Position 2 = 53
Branch analysis from position: 90
Branch analysis from position: 53
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 21
Branch analysis from position: 26
Branch analysis from position: 21
Branch analysis from position: 26
filename:       /in/4so18
function name:  xxtea_encrypt
number of ops:  132
compiled vars:  !0 = $str, !1 = $key, !2 = $v, !3 = $k, !4 = $i, !5 = $n, !6 = $z, !7 = $y, !8 = $delta, !9 = $q, !10 = $sum, !11 = $e, !12 = $p, !13 = $mx
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   48     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   49     2        IS_EQUAL                                                 !0, ''
          3      > JMPZ                                                     ~14, ->5
   50     4    > > RETURN                                                   ''
   52     5    >   INIT_METHOD_CALL                                         'str2long'
          6        SEND_VAR                                                 !0
          7        SEND_VAL                                                 <true>
          8        DO_FCALL                                      0  $15     
          9        ASSIGN                                                   !2, $15
   53    10        INIT_METHOD_CALL                                         'str2long'
         11        SEND_VAR                                                 !1
         12        SEND_VAL                                                 <false>
         13        DO_FCALL                                      0  $17     
         14        ASSIGN                                                   !3, $17
   54    15        COUNT                                            ~19     !3
         16        IS_SMALLER                                               ~19, 4
         17      > JMPZ                                                     ~20, ->26
   55    18    >   COUNT                                            ~21     !3
         19        ASSIGN                                                   !4, ~21
         20      > JMP                                                      ->24
   56    21    >   ASSIGN_DIM                                               !3, !4
         22        OP_DATA                                                  0
   55    23        PRE_INC                                                  !4
         24    >   IS_SMALLER                                               !4, 4
         25      > JMPNZ                                                    ~25, ->21
   59    26    >   COUNT                                            ~26     !2
         27        SUB                                              ~27     ~26, 1
         28        ASSIGN                                                   !5, ~27
   60    29        FETCH_DIM_R                                      ~29     !2, !5
         30        ASSIGN                                                   !6, ~29
   61    31        FETCH_DIM_R                                      ~31     !2, 0
         32        ASSIGN                                                   !7, ~31
   62    33        ASSIGN                                                   !8, 2654435769
   63    34        INIT_FCALL                                               'floor'
         35        ADD                                              ~34     !5, 1
         36        DIV                                              ~35     52, ~34
         37        ADD                                              ~36     6, ~35
         38        SEND_VAL                                                 ~36
         39        DO_ICALL                                         $37     
         40        ASSIGN                                                   !9, $37
   64    41        ASSIGN                                                   !10, 0
   66    42      > JMP                                                      ->123
   67    43    >   INIT_METHOD_CALL                                         'int32'
         44        ADD                                              ~40     !10, !8
         45        SEND_VAL                                                 ~40
         46        DO_FCALL                                      0  $41     
         47        ASSIGN                                                   !10, $41
   68    48        SR                                               ~43     !10, 2
         49        BW_AND                                           ~44     ~43, 3
         50        ASSIGN                                                   !11, ~44
   69    51        ASSIGN                                                   !12, 0
         52      > JMP                                                      ->88
   70    53    >   ADD                                              ~47     !12, 1
         54        FETCH_DIM_R                                      ~48     !2, ~47
         55        ASSIGN                                                   !7, ~48
   71    56        INIT_METHOD_CALL                                         'int32'
         57        SR                                               ~50     !6, 5
         58        BW_AND                                           ~51     ~50, 134217727
         59        SL                                               ~52     !7, 2
         60        BW_XOR                                           ~53     ~51, ~52
         61        SR                                               ~54     !7, 3
         62        BW_AND                                           ~55     ~54, 536870911
         63        SL                                               ~56     !6, 4
         64        BW_XOR                                           ~57     ~55, ~56
         65        ADD                                              ~58     ~53, ~57
         66        SEND_VAL                                                 ~58
         67        DO_FCALL                                      0  $59     
         68        INIT_METHOD_CALL                                         'int32'
         69        BW_XOR                                           ~60     !10, !7
         70        BW_AND                                           ~61     !12, 3
         71        BW_XOR                                           ~62     !11, ~61
         72        FETCH_DIM_R                                      ~63     !3, ~62
         73        BW_XOR                                           ~64     !6, ~63
         74        ADD                                              ~65     ~60, ~64
         75        SEND_VAL                                                 ~65
         76        DO_FCALL                                      0  $66     
         77        BW_XOR                                           ~67     $59, $66
         78        ASSIGN                                                   !13, ~67
   72    79        INIT_METHOD_CALL                                         'int32'
         80        FETCH_DIM_R                                      ~70     !2, !12
         81        ADD                                              ~71     ~70, !13
         82        SEND_VAL                                                 ~71
         83        DO_FCALL                                      0  $72     
         84        ASSIGN_DIM                                       ~69     !2, !12
         85        OP_DATA                                                  $72
         86        ASSIGN                                                   !6, ~69
   69    87        PRE_INC                                                  !12
         88    >   IS_SMALLER                                               !12, !5
         89      > JMPNZ                                                    ~75, ->53
   74    90    >   FETCH_DIM_R                                      ~76     !2, 0
         91        ASSIGN                                                   !7, ~76
   75    92        INIT_METHOD_CALL                                         'int32'
         93        SR                                               ~78     !6, 5
         94        BW_AND                                           ~79     ~78, 134217727
         95        SL                                               ~80     !7, 2
         96        BW_XOR                                           ~81     ~79, ~80
         97        SR                                               ~82     !7, 3
         98        BW_AND                                           ~83     ~82, 536870911
         99        SL                                               ~84     !6, 4
        100        BW_XOR                                           ~85     ~83, ~84
        101        ADD                                              ~86     ~81, ~85
        102        SEND_VAL                                                 ~86
        103        DO_FCALL                                      0  $87     
        104        INIT_METHOD_CALL                                         'int32'
        105        BW_XOR                                           ~88     !10, !7
        106        BW_AND                                           ~89     !12, 3
        107        BW_XOR                                           ~90     !11, ~89
        108        FETCH_DIM_R                                      ~91     !3, ~90
        109        BW_XOR                                           ~92     !6, ~91
        110        ADD                                              ~93     ~88, ~92
        111        SEND_VAL                                                 ~93
        112        DO_FCALL                                      0  $94     
        113        BW_XOR                                           ~95     $87, $94
        114        ASSIGN                                                   !13, ~95
   76   115        INIT_METHOD_CALL                                         'int32'
        116        FETCH_DIM_R                                      ~98     !2, !5
        117        ADD                                              ~99     ~98, !13
        118        SEND_VAL                                                 ~99
        119        DO_FCALL                                      0  $100    
        120        ASSIGN_DIM                                       ~97     !2, !5
        121        OP_DATA                                                  $100
        122        ASSIGN                                                   !6, ~97
   66   123    >   POST_DEC                                         ~102    !9
        124        IS_SMALLER                                               0, ~102
        125      > JMPNZ                                                    ~103, ->43
   78   126    >   INIT_METHOD_CALL                                         'long2str'
        127        SEND_VAR                                                 !2
        128        SEND_VAL                                                 <false>
        129        DO_FCALL                                      0  $104    
        130      > RETURN                                                   $104
   79   131*     > RETURN                                                   null

End of function xxtea_encrypt

Function xxtea_decrypt:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 5
Branch analysis from position: 4
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 26
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 21
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 127
Branch analysis from position: 127
2 jumps found. (Code = 44) Position 1 = 129, Position 2 = 47
Branch analysis from position: 129
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
2 jumps found. (Code = 44) Position 1 = 89, Position 2 = 52
Branch analysis from position: 89
2 jumps found. (Code = 44) Position 1 = 129, Position 2 = 47
Branch analysis from position: 129
Branch analysis from position: 47
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 89, Position 2 = 52
Branch analysis from position: 89
Branch analysis from position: 52
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 21
Branch analysis from position: 26
Branch analysis from position: 21
Branch analysis from position: 26
filename:       /in/4so18
function name:  xxtea_decrypt
number of ops:  135
compiled vars:  !0 = $str, !1 = $key, !2 = $v, !3 = $k, !4 = $i, !5 = $n, !6 = $z, !7 = $y, !8 = $delta, !9 = $q, !10 = $sum, !11 = $e, !12 = $p, !13 = $mx
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   80     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   81     2        IS_EQUAL                                                 !0, ''
          3      > JMPZ                                                     ~14, ->5
   82     4    > > RETURN                                                   ''
   84     5    >   INIT_METHOD_CALL                                         'str2long'
          6        SEND_VAR                                                 !0
          7        SEND_VAL                                                 <false>
          8        DO_FCALL                                      0  $15     
          9        ASSIGN                                                   !2, $15
   85    10        INIT_METHOD_CALL                                         'str2long'
         11        SEND_VAR                                                 !1
         12        SEND_VAL                                                 <false>
         13        DO_FCALL                                      0  $17     
         14        ASSIGN                                                   !3, $17
   86    15        COUNT                                            ~19     !3
         16        IS_SMALLER                                               ~19, 4
         17      > JMPZ                                                     ~20, ->26
   87    18    >   COUNT                                            ~21     !3
         19        ASSIGN                                                   !4, ~21
         20      > JMP                                                      ->24
   88    21    >   ASSIGN_DIM                                               !3, !4
         22        OP_DATA                                                  0
   87    23        PRE_INC                                             

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.26 ms | 1420 KiB | 35 Q