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 = 10, Position 2 = 11
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 15
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 19
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 29
Branch analysis from position: 20
2 jumps found. (Code = 46) Position 1 = 24, Position 2 = 26
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 28
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
8 jumps found. (Code = 188) Position 1 = 67, Position 2 = 78, Position 3 = 78, Position 4 = 84, Position 5 = 84, Position 6 = 84, Position 7 = 97, Position 8 = 54
Branch analysis from position: 67
2 jumps found. (Code = 43) Position 1 = 68, Position 2 = 74
Branch analysis from position: 68
2 jumps found. (Code = 43) Position 1 = 72, Position 2 = 73
Branch analysis from position: 72
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 77, Position 2 = 78
Branch analysis from position: 77
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 78
Branch analysis from position: 78
Branch analysis from position: 78
Branch analysis from position: 84
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 87
Branch analysis from position: 85
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 87
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 97
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 54
2 jumps found. (Code = 44) Position 1 = 56, Position 2 = 67
Branch analysis from position: 56
2 jumps found. (Code = 44) Position 1 = 58, Position 2 = 78
Branch analysis from position: 58
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 78
Branch analysis from position: 60
2 jumps found. (Code = 44) Position 1 = 62, Position 2 = 84
Branch analysis from position: 62
2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 84
Branch analysis from position: 64
2 jumps found. (Code = 44) Position 1 = 66, Position 2 = 84
Branch analysis from position: 66
1 jumps found. (Code = 42) Position 1 = 97
Branch analysis from position: 97
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 78
Branch analysis from position: 78
Branch analysis from position: 67
Branch analysis from position: 26
Branch analysis from position: 29
2 jumps found. (Code = 46) Position 1 = 35, Position 2 = 37
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 39
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 39
2 jumps found. (Code = 46) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 45
Branch analysis from position: 44
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
2 jumps found. (Code = 46) Position 1 = 47, Position 2 = 49
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 51
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 51
Branch analysis from position: 49
Branch analysis from position: 43
Branch analysis from position: 37
filename: /in/iqgnf
function name: is_serialized
number of ops: 99
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 > FRAMELESS_ICALL_1 trim ~9 !0
7 ASSIGN !0, ~9
21 8 IS_EQUAL !0, 'N%3B'
9 > JMPZ ~11, ->11
22 10 > > RETURN <true>
24 11 > STRLEN ~12 !0
12 IS_SMALLER ~12, 4
13 > JMPZ ~13, ->15
25 14 > > RETURN <false>
27 15 > FETCH_DIM_R ~14 !0, 1
16 IS_NOT_IDENTICAL ~14, '%3A'
17 > JMPZ ~15, ->19
28 18 > > RETURN <false>
30 19 > > JMPZ !1, ->29
31 20 > FRAMELESS_ICALL_2 substr ~16 !0, -1
21 ASSIGN !2, ~16
32 22 IS_NOT_IDENTICAL ~18 !2, '%3B'
23 > JMPZ_EX ~18 ~18, ->26
24 > IS_NOT_IDENTICAL ~19 !2, '%7D'
25 BOOL ~18 ~19
26 > > JMPZ ~18, ->28
33 27 > > RETURN <false>
30 28 > > JMP ->51
36 29 > FRAMELESS_ICALL_2 strpos ~20 !0, '%3B'
30 ASSIGN !3, ~20
37 31 FRAMELESS_ICALL_2 strpos ~22 !0, '%7D'
32 ASSIGN !4, ~22
39 33 TYPE_CHECK 4 ~24 !3
34 > JMPZ_EX ~24 ~24, ->37
35 > TYPE_CHECK 4 ~25 !4
36 BOOL ~24 ~25
37 > > JMPZ ~24, ->39
40 38 > > RETURN <false>
42 39 > TYPE_CHECK 1018 ~26 !3
40 > JMPZ_EX ~26 ~26, ->43
41 > IS_SMALLER ~27 !3, 3
42 BOOL ~26 ~27
43 > > JMPZ ~26, ->45
43 44 > > RETURN <false>
44 45 > TYPE_CHECK 1018 ~28 !4
46 > JMPZ_EX ~28 ~28, ->49
47 > IS_SMALLER ~29 !4, 4
48 BOOL ~28 ~29
49 > > JMPZ ~28, ->51
45 50 > > RETURN <false>
47 51 > FETCH_DIM_R ~30 !0, 0
52 ASSIGN !5, ~30
48 53 > SWITCH_STRING !5, [ 's':->67, 'a':->78, 'O':->78, 'b':->84, 'i':->84, 'd':->84, ], ->97
49 54 > IS_EQUAL !5, 's'
55 > JMPNZ ~32, ->67
58 56 > IS_EQUAL !5, 'a'
57 > JMPNZ ~32, ->78
59 58 > IS_EQUAL !5, 'O'
59 > JMPNZ ~32, ->78
61 60 > IS_EQUAL !5, 'b'
61 > JMPNZ ~32, ->84
62 62 > IS_EQUAL !5, 'i'
63 > JMPNZ ~32, ->84
63 64 > IS_EQUAL !5, 'd'
65 > JMPNZ ~32, ->84
66 > > JMP ->97
50 67 > > JMPZ !1, ->74
51 68 > FRAMELESS_ICALL_3 substr ~33 !0, -2
69 OP_DATA 1
70 IS_NOT_IDENTICAL ~33, '%22'
71 > JMPZ ~34, ->73
52 72 > > RETURN <false>
50 73 > > JMP ->78
54 74 > FRAMELESS_ICALL_2 strpos ~35 !0, '%22'
75 TYPE_CHECK 4 ~35
76 > JMPZ ~36, ->78
55 77 > > RETURN <false>
60 78 > ROPE_INIT 3 ~38 '%2F%5E'
79 ROPE_ADD 1 ~38 ~38, !5
80 ROPE_END 2 ~37 ~38, '%3A%5B0-9%5D%2B%3A%2Fs'
81 FRAMELESS_ICALL_2 preg_match ~40 ~37, !0
82 BOOL ~41 ~40
83 > RETURN ~41
64 84 > > JMPZ !1, ->87
85 > QM_ASSIGN ~42 '%24'
86 > JMP ->88
87 > QM_ASSIGN ~42 ''
88 > ASSIGN !6, ~42
65 89 ROPE_INIT 5 ~45 '%2F%5E'
90 ROPE_ADD 1 ~45 ~45, !5
91 ROPE_ADD 2 ~45 ~45, '%3A%5B0-9.E-%5D%2B%3B'
92 ROPE_ADD 3 ~45 ~45, !6
93 ROPE_END 4 ~44 ~45, '%2F'
94 FRAMELESS_ICALL_2 preg_match ~48 ~44, !0
95 BOOL ~49 ~48
96 > RETURN ~49
67 97 > > RETURN <false>
68 98* > 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 = 10, Position 2 = 12
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 17
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
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 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/iqgnf
function name: is_serialized_string
number of ops: 35
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 > FRAMELESS_ICALL_1 trim ~3 !0
6 ASSIGN !0, ~3
84 7 STRLEN ~5 !0
8 IS_SMALLER ~5, 4
9 > JMPZ ~6, ->12
85 10 > > RETURN <false>
84 11* JMP ->34
86 12 > FETCH_DIM_R ~7 !0, 1
13 IS_NOT_IDENTICAL ~7, '%3A'
14 > JMPZ ~8, ->17
87 15 > > RETURN <false>
86 16* JMP ->34
88 17 > FRAMELESS_ICALL_2 substr ~9 !0, -1
18 IS_NOT_IDENTICAL ~9, '%3B'
19 > JMPZ ~10, ->22
89 20 > > RETURN <false>
88 21* JMP ->34
90 22 > FETCH_DIM_R ~11 !0, 0
23 IS_NOT_IDENTICAL ~11, 's'
24 > JMPZ ~12, ->27
91 25 > > RETURN <false>
90 26* JMP ->34
92 27 > FRAMELESS_ICALL_3 substr ~13 !0, -2
28 OP_DATA 1
29 IS_NOT_IDENTICAL ~13, '%22'
30 > JMPZ ~14, ->33
93 31 > > RETURN <false>
92 32* JMP ->34
95 33 > > RETURN <true>
97 34* > RETURN null
End of function is_serialized_string
Generated using Vulcan Logic Dumper, using php 8.5.0