3v4l.org

run code in 300+ PHP versions simultaneously
<?php class xxtea { public function encrypt($key, $salt = null) { if (is_null($salt)) { $strSalt = $this->salt; } else { $strSalt = $salt; } return str_replace(array('+', '/', '='), array('-', '_', '.'), base64_encode($this->xxteaEncrypt($key, $strSalt))); } public function decrypt($value, $salt = null) { if (is_null($salt)) { $strSalt = $this->salt; } else { $strSalt = $salt; } $strValue = str_replace(array('-', '_', '.'), array('+', '/', '='), $value); return $this->xxteaDecrypt(base64_decode($strValue), $strSalt); } 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 xxteaEncrypt($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 xxteaDecrypt($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..', '!@#^~ku6&%(com)T'); var_dump($vid);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/btH4q
function name:  (null)
number of ops:  12
compiled vars:  !0 = $xxtea, !1 = $vid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  131     0  E >   NEW                                              $2      'xxtea'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $2
  132     3        INIT_METHOD_CALL                                         !0, 'decrypt'
          4        SEND_VAL_EX                                              'xSz5rd55YacQwj-sjO8VbQ..'
          5        SEND_VAL_EX                                              '%21%40%23%5E%7Eku6%26%25%28com%29T'
          6        DO_FCALL                                      0  $5      
          7        ASSIGN                                                   !1, $5
  133     8        INIT_FCALL                                               'var_dump'
          9        SEND_VAR                                                 !1
         10        DO_ICALL                                                 
         11      > RETURN                                                   1

Class xxtea:
Function encrypt:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/btH4q
function name:  encrypt
number of ops:  22
compiled vars:  !0 = $key, !1 = $salt, !2 = $strSalt
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      null
    6     2        TYPE_CHECK                                    2          !1
          3      > JMPZ                                                     ~3, ->7
    7     4    >   FETCH_OBJ_R                                      ~4      'salt'
          5        ASSIGN                                                   !2, ~4
          6      > JMP                                                      ->8
    9     7    >   ASSIGN                                                   !2, !1
   12     8    >   INIT_FCALL                                               'str_replace'
          9        SEND_VAL                                                 <array>
         10        SEND_VAL                                                 <array>
         11        INIT_FCALL                                               'base64_encode'
         12        INIT_METHOD_CALL                                         'xxteaEncrypt'
         13        SEND_VAR_EX                                              !0
         14        SEND_VAR_EX                                              !2
         15        DO_FCALL                                      0  $7      
         16        SEND_VAR                                                 $7
         17        DO_ICALL                                         $8      
         18        SEND_VAR                                                 $8
         19        DO_ICALL                                         $9      
         20      > RETURN                                                   $9
   13    21*     > RETURN                                                   null

End of function encrypt

Function decrypt:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/btH4q
function name:  decrypt
number of ops:  23
compiled vars:  !0 = $value, !1 = $salt, !2 = $strSalt, !3 = $strValue
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   15     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      null
   16     2        TYPE_CHECK                                    2          !1
          3      > JMPZ                                                     ~4, ->7
   17     4    >   FETCH_OBJ_R                                      ~5      'salt'
          5        ASSIGN                                                   !2, ~5
          6      > JMP                                                      ->8
   19     7    >   ASSIGN                                                   !2, !1
   21     8    >   INIT_FCALL                                               'str_replace'
          9        SEND_VAL                                                 <array>
         10        SEND_VAL                                                 <array>
         11        SEND_VAR                                                 !0
         12        DO_ICALL                                         $8      
         13        ASSIGN                                                   !3, $8
   22    14        INIT_METHOD_CALL                                         'xxteaDecrypt'
         15        INIT_FCALL                                               'base64_decode'
         16        SEND_VAR                                                 !3
         17        DO_ICALL                                         $10     
         18        SEND_VAR_NO_REF_EX                                       $10
         19        SEND_VAR_EX                                              !2
         20        DO_FCALL                                      0  $11     
         21      > RETURN                                                   $11
   23    22*     > 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/btH4q
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
-------------------------------------------------------------------------------------
   25     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   26     2        COUNT                                            ~7      !0
          3        ASSIGN                                                   !2, ~7
   27     4        SUB                                              ~9      !2, 1
          5        SL                                               ~10     ~9, 2
          6        ASSIGN                                                   !3, ~10
   28     7      > JMPZ                                                     !1, ->19
   29     8    >   SUB                                              ~12     !2, 1
          9        FETCH_DIM_R                                      ~13     !0, ~12
         10        ASSIGN                                                   !4, ~13
   30    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
   31    17    > > RETURN                                                   <false>
   32    18    >   ASSIGN                                                   !3, !4
   34    19    >   ASSIGN                                                   !5, <array>
   35    20        ASSIGN                                                   !6, 0
         21      > JMP                                                      ->30
   36    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
   35    29        PRE_INC                                                  !6
         30    >   IS_SMALLER                                               !6, !2
         31      > JMPNZ                                                    ~25, ->22
   38    32    > > JMPZ                                                     !1, ->44
   39    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
   41    44    >   INIT_FCALL                                               'join'
         45        SEND_VAL                                                 ''
         46        SEND_VAR                                                 !5
         47        DO_ICALL                                         $28     
         48      > RETURN                                                   $28
   43    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/btH4q
function name:  str2long
number of ops:  27
compiled vars:  !0 = $s, !1 = $w, !2 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   45     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   46     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
   47    16        INIT_FCALL                                               'array_values'
         17        SEND_VAR                                                 !2
         18        DO_ICALL                                         $11     
         19        ASSIGN                                                   !2, $11
   48    20      > JMPZ                                                     !1, ->25
   49    21    >   COUNT                                            ~13     !2
         22        STRLEN                                           ~15     !0
         23        ASSIGN_DIM                                               !2, ~13
         24        OP_DATA                                                  ~15
   51    25    > > RETURN                                                   !2
   52    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/btH4q
function name:  int32
number of ops:  12
compiled vars:  !0 = $n
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   54     0  E >   RECV                                             !0      
   55     1      > JMP                                                      ->3
   56     2    >   ASSIGN_OP                                     2          !0, 4294967296
   55     3    >   IS_SMALLER_OR_EQUAL                                      2147483648, !0
          4      > JMPNZ                                                    ~2, ->2
   57     5    > > JMP                                                      ->7
   58     6    >   ASSIGN_OP                                     1          !0, 4294967296
   57     7    >   IS_SMALLER_OR_EQUAL                                      !0, -2147483649
          8      > JMPNZ                                                    ~4, ->6
   59     9    >   CAST                                          4  ~5      !0
         10      > RETURN                                                   ~5
   60    11*     > RETURN                                                   null

End of function int32

Function xxteaencrypt:
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/btH4q
function name:  xxteaEncrypt
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
-------------------------------------------------------------------------------------
   62     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   63     2        IS_EQUAL                                                 !0, ''
          3      > JMPZ                                                     ~14, ->5
   64     4    > > RETURN                                                   ''
   66     5    >   INIT_METHOD_CALL                                         'str2long'
          6        SEND_VAR                                                 !0
          7        SEND_VAL                                                 <true>
          8        DO_FCALL                                      0  $15     
          9        ASSIGN                                                   !2, $15
   67    10        INIT_METHOD_CALL                                         'str2long'
         11        SEND_VAR                                                 !1
         12        SEND_VAL                                                 <false>
         13        DO_FCALL                                      0  $17     
         14        ASSIGN                                                   !3, $17
   68    15        COUNT                                            ~19     !3
         16        IS_SMALLER                                               ~19, 4
         17      > JMPZ                                                     ~20, ->26
   69    18    >   COUNT                                            ~21     !3
         19        ASSIGN                                                   !4, ~21
         20      > JMP                                                      ->24
   70    21    >   ASSIGN_DIM                                               !3, !4
         22        OP_DATA                                                  0
   69    23        PRE_INC                                                  !4
         24    >   IS_SMALLER                                               !4, 4
         25      > JMPNZ                                                    ~25, ->21
   73    26    >   COUNT                                            ~26     !2
         27        SUB                                              ~27     ~26, 1
         28        ASSIGN                                                   !5, ~27
   74    29        FETCH_DIM_R                                      ~29     !2, !5
         30        ASSIGN                                                   !6, ~29
   75    31        FETCH_DIM_R                                      ~31     !2, 0
         32        ASSIGN                                                   !7, ~31
   76    33        ASSIGN                                                   !8, 2654435769
   77    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
   78    41        ASSIGN                                                   !10, 0
   80    42      > JMP                                                      ->123
   81    43    >   INIT_METHOD_CALL                                         'int32'
         44        ADD                                              ~40     !10, !8
         45        SEND_VAL                                                 ~40
         46        DO_FCALL                                      0  $41     
         47        ASSIGN                                                   !10, $41
   82    48        SR                                               ~43     !10, 2
         49        BW_AND                                           ~44     ~43, 3
         50        ASSIGN                                                   !11, ~44
   83    51        ASSIGN                                                   !12, 0
         52      > JMP                                                      ->88
   84    53    >   ADD                                              ~47     !12, 1
         54        FETCH_DIM_R                                      ~48     !2, ~47
         55        ASSIGN                                                   !7, ~48
   85    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
   86    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
   83    87        PRE_INC                                                  !12
         88    >   IS_SMALLER                                               !12, !5
         89      > JMPNZ                                                    ~75, ->53
   88    90    >   FETCH_DIM_R                                      ~76     !2, 0
         91        ASSIGN                                                   !7, ~76
   89    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
   90   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
   80   123    >   POST_DEC                                         ~102    !9
        124        IS_SMALLER                                               0, ~102
        125      > JMPNZ                                                    ~103, ->43
   92   126    >   INIT_METHOD_CALL                                         'long2str'
        127        SEND_VAR                                                 !2
        128        SEND_VAL                                                 <false>
        129        DO_FCALL                                      0  $104    
        130      > RETURN                                                   $104
   93   131*     > RETURN                                                   null

End of function xxteaencrypt

Function xxteadecrypt:
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/btH4q
function name:  xxteaDecrypt
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
-------------------------------------------------------------------------------------
   95     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   96     2        IS_EQUAL                                                 !0, ''
          3      > JMPZ                                                     ~14, ->5
   97     4    > > RETURN                                                   ''
   99     5    >   INIT_METHOD_CALL                                         'str2long'
          6        SEND_VAR                                                 !0
          7        SEND_VAL                                                 <false>
          8        DO_FCALL                                      0  $15     
          9        ASSIGN                                                   !2, $15
  100    10        INIT_METHOD_CALL                                         'str2long'
         11        SEND_VAR                                                 !1
         12        SEND_VAL                                                 <false>
         13        DO_FCALL                                      0  $17     
         14        ASSIGN                                                   !3, $17
  101    15        COUNT                                            ~19     !3
         16        IS_SMALLER                                               ~19, 4
         17      > JMPZ                                                     ~20

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.43 ms | 1428 KiB | 35 Q