Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/iqgnf
function name: (null)
number of ops: 55
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
100 0 E > INIT_FCALL 'var_dump'
1 INIT_FCALL 'is_serialized'
2 INIT_FCALL 'serialize'
3 SEND_VAL null
4 DO_ICALL $0
5 SEND_VAR $0
6 DO_FCALL 0 $1
7 SEND_VAR $1
8 DO_ICALL
101 9 INIT_FCALL 'var_dump'
10 INIT_FCALL 'is_serialized_string'
11 INIT_FCALL 'serialize'
12 SEND_VAL null
13 DO_ICALL $3
14 SEND_VAR $3
15 DO_FCALL 0 $4
16 SEND_VAR $4
17 DO_ICALL
103 18 INIT_FCALL 'var_dump'
19 INIT_FCALL 'is_serialized'
20 INIT_FCALL 'serialize'
21 SEND_VAL <array>
22 DO_ICALL $6
23 SEND_VAR $6
24 DO_FCALL 0 $7
25 SEND_VAR $7
26 DO_ICALL
104 27 INIT_FCALL 'var_dump'
28 INIT_FCALL 'is_serialized_string'
29 INIT_FCALL 'serialize'
30 SEND_VAL <array>
31 DO_ICALL $9
32 SEND_VAR $9
33 DO_FCALL 0 $10
34 SEND_VAR $10
35 DO_ICALL
106 36 INIT_FCALL 'var_dump'
37 INIT_FCALL 'is_serialized'
38 INIT_FCALL 'serialize'
39 SEND_VAL 'hello'
40 DO_ICALL $12
41 SEND_VAR $12
42 DO_FCALL 0 $13
43 SEND_VAR $13
44 DO_ICALL
107 45 INIT_FCALL 'var_dump'
46 INIT_FCALL 'is_serialized_string'
47 INIT_FCALL 'serialize'
48 SEND_VAL 'hello'
49 DO_ICALL $15
50 SEND_VAR $15
51 DO_FCALL 0 $16
52 SEND_VAR $16
53 DO_ICALL
54 > RETURN 1
Function is_serialized:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 13
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 17
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 21
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 34
Branch analysis from position: 22
2 jumps found. (Code = 46) Position 1 = 29, Position 2 = 31
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 33
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
8 jumps found. (Code = 188) Position 1 = 78, Position 2 = 95, Position 3 = 95, Position 4 = 104, Position 5 = 104, Position 6 = 104, Position 7 = 120, Position 8 = 65
Branch analysis from position: 78
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 88
Branch analysis from position: 79
2 jumps found. (Code = 43) Position 1 = 86, Position 2 = 87
Branch analysis from position: 86
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 87
1 jumps found. (Code = 42) Position 1 = 95
Branch analysis from position: 95
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 88
2 jumps found. (Code = 43) Position 1 = 94, Position 2 = 95
Branch analysis from position: 94
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 95
Branch analysis from position: 95
Branch analysis from position: 95
Branch analysis from position: 104
2 jumps found. (Code = 43) Position 1 = 105, Position 2 = 107
Branch analysis from position: 105
1 jumps found. (Code = 42) Position 1 = 108
Branch analysis from position: 108
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 107
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 104
Branch analysis from position: 104
Branch analysis from position: 120
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 65
2 jumps found. (Code = 44) Position 1 = 67, Position 2 = 78
Branch analysis from position: 67
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 95
Branch analysis from position: 69
2 jumps found. (Code = 44) Position 1 = 71, Position 2 = 95
Branch analysis from position: 71
2 jumps found. (Code = 44) Position 1 = 73, Position 2 = 104
Branch analysis from position: 73
2 jumps found. (Code = 44) Position 1 = 75, Position 2 = 104
Branch analysis from position: 75
2 jumps found. (Code = 44) Position 1 = 77, Position 2 = 104
Branch analysis from position: 77
1 jumps found. (Code = 42) Position 1 = 120
Branch analysis from position: 120
Branch analysis from position: 104
Branch analysis from position: 104
Branch analysis from position: 104
Branch analysis from position: 95
Branch analysis from position: 95
Branch analysis from position: 78
Branch analysis from position: 31
Branch analysis from position: 34
2 jumps found. (Code = 46) Position 1 = 46, Position 2 = 48
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 50
Branch analysis from position: 49
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 50
2 jumps found. (Code = 46) Position 1 = 52, Position 2 = 54
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 55, Position 2 = 56
Branch analysis from position: 55
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 56
2 jumps found. (Code = 46) Position 1 = 58, Position 2 = 60
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 61, Position 2 = 62
Branch analysis from position: 61
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 62
Branch analysis from position: 60
Branch analysis from position: 54
Branch analysis from position: 48
filename: /in/iqgnf
function name: is_serialized
number of ops: 122
compiled vars: !0 = $data, !1 = $strict, !2 = $lastc, !3 = $semicolon, !4 = $brace, !5 = $token, !6 = $end
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
15 0 E > RECV !0
1 RECV_INIT !1 <true>
17 2 TYPE_CHECK 64 ~7 !0
3 BOOL_NOT ~8 ~7
4 > JMPZ ~8, ->6
18 5 > > RETURN <false>
20 6 > INIT_FCALL 'trim'
7 SEND_VAR !0
8 DO_ICALL $9
9 ASSIGN !0, $9
21 10 IS_EQUAL !0, 'N%3B'
11 > JMPZ ~11, ->13
22 12 > > RETURN <true>
24 13 > STRLEN ~12 !0
14 IS_SMALLER ~12, 4
15 > JMPZ ~13, ->17
25 16 > > RETURN <false>
27 17 > FETCH_DIM_R ~14 !0, 1
18 IS_NOT_IDENTICAL ~14, '%3A'
19 > JMPZ ~15, ->21
28 20 > > RETURN <false>
30 21 > > JMPZ !1, ->34
31 22 > INIT_FCALL 'substr'
23 SEND_VAR !0
24 SEND_VAL -1
25 DO_ICALL $16
26 ASSIGN !2, $16
32 27 IS_NOT_IDENTICAL ~18 !2, '%3B'
28 > JMPZ_EX ~18 ~18, ->31
29 > IS_NOT_IDENTICAL ~19 !2, '%7D'
30 BOOL ~18 ~19
31 > > JMPZ ~18, ->33
33 32 > > RETURN <false>
30 33 > > JMP ->62
36 34 > INIT_FCALL 'strpos'
35 SEND_VAR !0
36 SEND_VAL '%3B'
37 DO_ICALL $20
38 ASSIGN !3, $20
37 39 INIT_FCALL 'strpos'
40 SEND_VAR !0
41 SEND_VAL '%7D'
42 DO_ICALL $22
43 ASSIGN !4, $22
39 44 TYPE_CHECK 4 ~24 !3
45 > JMPZ_EX ~24 ~24, ->48
46 > TYPE_CHECK 4 ~25 !4
47 BOOL ~24 ~25
48 > > JMPZ ~24, ->50
40 49 > > RETURN <false>
42 50 > TYPE_CHECK 1018 ~26 !3
51 > JMPZ_EX ~26 ~26, ->54
52 > IS_SMALLER ~27 !3, 3
53 BOOL ~26 ~27
54 > > JMPZ ~26, ->56
43 55 > > RETURN <false>
44 56 > TYPE_CHECK 1018 ~28 !4
57 > JMPZ_EX ~28 ~28, ->60
58 > IS_SMALLER ~29 !4, 4
59 BOOL ~28 ~29
60 > > JMPZ ~28, ->62
45 61 > > RETURN <false>
47 62 > FETCH_DIM_R ~30 !0, 0
63 ASSIGN !5, ~30
48 64 > SWITCH_STRING !5, [ 's':->78, 'a':->95, 'O':->95, 'b':->104, 'i':->104, 'd':->104, ], ->120
49 65 > IS_EQUAL !5, 's'
66 > JMPNZ ~32, ->78
58 67 > IS_EQUAL !5, 'a'
68 > JMPNZ ~32, ->95
59 69 > IS_EQUAL !5, 'O'
70 > JMPNZ ~32, ->95
61 71 > IS_EQUAL !5, 'b'
72 > JMPNZ ~32, ->104
62 73 > IS_EQUAL !5, 'i'
74 > JMPNZ ~32, ->104
63 75 > IS_EQUAL !5, 'd'
76 > JMPNZ ~32, ->104
77 > > JMP ->120
50 78 > > JMPZ !1, ->88
51 79 > INIT_FCALL 'substr'
80 SEND_VAR !0
81 SEND_VAL -2
82 SEND_VAL 1
83 DO_ICALL $33
84 IS_NOT_IDENTICAL $33, '%22'
85 > JMPZ ~34, ->87
52 86 > > RETURN <false>
50 87 > > JMP ->95
54 88 > INIT_FCALL 'strpos'
89 SEND_VAR !0
90 SEND_VAL '%22'
91 DO_ICALL $35
92 TYPE_CHECK 4 $35
93 > JMPZ ~36, ->95
55 94 > > RETURN <false>
60 95 > INIT_FCALL 'preg_match'
96 ROPE_INIT 3 ~38 '%2F%5E'
97 ROPE_ADD 1 ~38 ~38, !5
98 ROPE_END 2 ~37 ~38, '%3A%5B0-9%5D%2B%3A%2Fs'
99 SEND_VAL ~37
100 SEND_VAR !0
101 DO_ICALL $40
102 BOOL ~41 $40
103 > RETURN ~41
64 104 > > JMPZ !1, ->107
105 > QM_ASSIGN ~42 '%24'
106 > JMP ->108
107 > QM_ASSIGN ~42 ''
108 > ASSIGN !6, ~42
65 109 INIT_FCALL 'preg_match'
110 ROPE_INIT 5 ~45 '%2F%5E'
111 ROPE_ADD 1 ~45 ~45, !5
112 ROPE_ADD 2 ~45 ~45, '%3A%5B0-9.E-%5D%2B%3B'
113 ROPE_ADD 3 ~45 ~45, !6
114 ROPE_END 4 ~44 ~45, '%2F'
115 SEND_VAL ~44
116 SEND_VAR !0
117 DO_ICALL $48
118 BOOL ~49 $48
119 > RETURN ~49
67 120 > > RETURN <false>
68 121* > RETURN null
End of function is_serialized
Function is_serialized_string:
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 = 12, Position 2 = 14
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 32
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 39, Position 2 = 41
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/iqgnf
function name: is_serialized_string
number of ops: 43
compiled vars: !0 = $data
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
78 0 E > RECV !0
80 1 TYPE_CHECK 64 ~1 !0
2 BOOL_NOT ~2 ~1
3 > JMPZ ~2, ->5
81 4 > > RETURN <false>
83 5 > INIT_FCALL 'trim'
6 SEND_VAR !0
7 DO_ICALL $3
8 ASSIGN !0, $3
84 9 STRLEN ~5 !0
10 IS_SMALLER ~5, 4
11 > JMPZ ~6, ->14
85 12 > > RETURN <false>
84 13* JMP ->42
86 14 > FETCH_DIM_R ~7 !0, 1
15 IS_NOT_IDENTICAL ~7, '%3A'
16 > JMPZ ~8, ->19
87 17 > > RETURN <false>
86 18* JMP ->42
88 19 > INIT_FCALL 'substr'
20 SEND_VAR !0
21 SEND_VAL -1
22 DO_ICALL $9
23 IS_NOT_IDENTICAL $9, '%3B'
24 > JMPZ ~10, ->27
89 25 > > RETURN <false>
88 26* JMP ->42
90 27 > FETCH_DIM_R ~11 !0, 0
28 IS_NOT_IDENTICAL ~11, 's'
29 > JMPZ ~12, ->32
91 30 > > RETURN <false>
90 31* JMP ->42
92 32 > INIT_FCALL 'substr'
33 SEND_VAR !0
34 SEND_VAL -2
35 SEND_VAL 1
36 DO_ICALL $13
37 IS_NOT_IDENTICAL $13, '%22'
38 > JMPZ ~14, ->41
93 39 > > RETURN <false>
92 40* JMP ->42
95 41 > > RETURN <true>
97 42* > RETURN null
End of function is_serialized_string
Generated using Vulcan Logic Dumper, using php 8.0.0