Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: (null)
number of ops: 26
compiled vars: !0 = $codec, !1 = $input, !2 = $enc, !3 = $dec
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
140 0 E > NEW $4 'CTFCodec'
1 SEND_VAL_EX ''
2 DO_FCALL 0
3 ASSIGN !0, $4
142 4 ASSIGN !1, ''
144 5 INIT_METHOD_CALL !0, 'encode'
6 SEND_VAR_EX !1
7 DO_FCALL 0 $8
8 ASSIGN !2, $8
145 9 INIT_METHOD_CALL !0, 'decode'
10 SEND_VAR_EX !2
11 DO_FCALL 0 $10
12 ASSIGN !3, $10
147 13 ROPE_INIT 3 ~13 'Original+%3A+'
14 ROPE_ADD 1 ~13 ~13, !1
15 ROPE_END 2 ~12 ~13, '%0A'
16 ECHO ~12
148 17 ROPE_INIT 3 ~16 'Encod%C3%A9+%3A+'
18 ROPE_ADD 1 ~16 ~16, !2
19 ROPE_END 2 ~15 ~16, '%0A'
20 ECHO ~15
149 21 ROPE_INIT 3 ~19 'D%C3%A9cod%C3%A9+%3A+'
22 ROPE_ADD 1 ~19 ~19, !3
23 ROPE_END 2 ~18 ~19, '%0A'
24 ECHO ~18
151 25 > RETURN 1
Class CTFCodec:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: __construct
number of ops: 9
compiled vars: !0 = $key
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
11 0 E > RECV !0
12 1 INIT_FCALL 'hash'
2 SEND_VAL 'sha256'
3 SEND_VAR !0
4 SEND_VAL <true>
5 DO_ICALL $2
6 ASSIGN_OBJ 'key'
7 OP_DATA $2
13 8 > RETURN null
End of function __construct
Function rotl:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: rotl
number of ops: 11
compiled vars: !0 = $b, !1 = $n
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
18 0 E > RECV !0
1 RECV !1
19 2 SL ~2 !0, !1
3 BW_AND ~3 ~2, 255
4 SUB ~4 8, !1
5 SR ~5 !0, ~4
6 BW_OR ~6 ~3, ~5
7 VERIFY_RETURN_TYPE ~6
8 > RETURN ~6
20 9* VERIFY_RETURN_TYPE
10* > RETURN null
End of function rotl
Function rotr:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: rotr
number of ops: 11
compiled vars: !0 = $b, !1 = $n
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
25 0 E > RECV !0
1 RECV !1
26 2 SR ~2 !0, !1
3 SUB ~3 8, !1
4 SL ~4 !0, ~3
5 BW_OR ~5 ~2, ~4
6 BW_AND ~6 ~5, 255
7 VERIFY_RETURN_TYPE ~6
8 > RETURN ~6
27 9* VERIFY_RETURN_TYPE
10* > RETURN null
End of function rotr
Function mask:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: mask
number of ops: 27
compiled vars: !0 = $i, !1 = $seed, !2 = $h
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
32 0 E > RECV !0
1 RECV !1
33 2 INIT_FCALL 'hash'
3 SEND_VAL 'sha256'
4 FETCH_OBJ_R ~3 'key'
5 INIT_FCALL 'chr'
6 SEND_VAR !1
7 DO_ICALL $4
8 CONCAT ~5 ~3, $4
9 INIT_FCALL 'pack'
10 SEND_VAL 'N'
11 SEND_VAR !0
12 DO_ICALL $6
13 CONCAT ~7 ~5, $6
14 SEND_VAL ~7
15 SEND_VAL <true>
16 DO_ICALL $8
17 ASSIGN !2, $8
34 18 INIT_FCALL 'ord'
19 MOD ~10 !0, 32
20 FETCH_DIM_R ~11 !2, ~10
21 SEND_VAL ~11
22 DO_ICALL $12
23 VERIFY_RETURN_TYPE $12
24 > RETURN $12
35 25* VERIFY_RETURN_TYPE
26* > RETURN null
End of function mask
Function l1e:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 37
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 37
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
filename: /in/3Nju4
function name: L1E
number of ops: 42
compiled vars: !0 = $data, !1 = $seed, !2 = $out, !3 = $c, !4 = $i, !5 = $b
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
40 0 E > RECV !0
1 RECV !1
41 2 ASSIGN !2, ''
42 3 INIT_FCALL 'str_split'
4 SEND_VAR !0
5 DO_ICALL $7
6 > FE_RESET_R $8 $7, ->37
7 > > FE_FETCH_R ~9 $8, !3, ->37
8 > ASSIGN !4, ~9
43 9 INIT_FCALL 'ord'
10 SEND_VAR !3
11 DO_ICALL $11
12 ASSIGN !5, $11
44 13 INIT_METHOD_CALL 'rotl'
14 SEND_VAR !5
15 ADD ~13 !4, !1
16 MOD ~14 ~13, 7
17 SEND_VAL ~14
18 DO_FCALL 0 $15
19 ASSIGN !5, $15
45 20 INIT_METHOD_CALL 'mask'
21 SEND_VAR !4
22 SEND_VAR !1
23 DO_FCALL 0 $17
24 ASSIGN_OP 11 !5, $17
46 25 INIT_METHOD_CALL 'rotr'
26 SEND_VAR !5
27 ADD ~19 !1, !4
28 MOD ~20 ~19, 5
29 SEND_VAL ~20
30 DO_FCALL 0 $21
31 ASSIGN !5, $21
47 32 INIT_FCALL 'chr'
33 SEND_VAR !5
34 DO_ICALL $23
35 ASSIGN_OP 8 !2, $23
42 36 > JMP ->7
37 > FE_FREE $8
49 38 VERIFY_RETURN_TYPE !2
39 > RETURN !2
50 40* VERIFY_RETURN_TYPE
41* > RETURN null
End of function l1e
Function l1d:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 37
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 37
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
filename: /in/3Nju4
function name: L1D
number of ops: 42
compiled vars: !0 = $data, !1 = $seed, !2 = $out, !3 = $c, !4 = $i, !5 = $b
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
52 0 E > RECV !0
1 RECV !1
53 2 ASSIGN !2, ''
54 3 INIT_FCALL 'str_split'
4 SEND_VAR !0
5 DO_ICALL $7
6 > FE_RESET_R $8 $7, ->37
7 > > FE_FETCH_R ~9 $8, !3, ->37
8 > ASSIGN !4, ~9
55 9 INIT_FCALL 'ord'
10 SEND_VAR !3
11 DO_ICALL $11
12 ASSIGN !5, $11
56 13 INIT_METHOD_CALL 'rotl'
14 SEND_VAR !5
15 ADD ~13 !1, !4
16 MOD ~14 ~13, 5
17 SEND_VAL ~14
18 DO_FCALL 0 $15
19 ASSIGN !5, $15
57 20 INIT_METHOD_CALL 'mask'
21 SEND_VAR !4
22 SEND_VAR !1
23 DO_FCALL 0 $17
24 ASSIGN_OP 11 !5, $17
58 25 INIT_METHOD_CALL 'rotr'
26 SEND_VAR !5
27 ADD ~19 !4, !1
28 MOD ~20 ~19, 7
29 SEND_VAL ~20
30 DO_FCALL 0 $21
31 ASSIGN !5, $21
59 32 INIT_FCALL 'chr'
33 SEND_VAR !5
34 DO_ICALL $23
35 ASSIGN_OP 8 !2, $23
54 36 > JMP ->7
37 > FE_FREE $8
61 38 VERIFY_RETURN_TYPE !2
39 > RETURN !2
62 40* VERIFY_RETURN_TYPE
41* > RETURN null
End of function l1d
Function l2e:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 10
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 10
Branch analysis from position: 31
Branch analysis from position: 10
filename: /in/3Nju4
function name: L2E
number of ops: 36
compiled vars: !0 = $data, !1 = $seed, !2 = $a, !3 = $n, !4 = $i, !5 = $j
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
67 0 E > RECV !0
1 RECV !1
68 2 INIT_FCALL 'str_split'
3 SEND_VAR !0
4 DO_ICALL $6
5 ASSIGN !2, $6
69 6 COUNT ~8 !2
7 ASSIGN !3, ~8
71 8 ASSIGN !4, 0
9 > JMP ->29
72 10 > INIT_METHOD_CALL 'mask'
11 SEND_VAR !4
12 SEND_VAR !1
13 DO_FCALL 0 $11
14 ADD ~12 $11, !1
15 MOD ~13 ~12, !3
16 ASSIGN !5, ~13
73 17 FETCH_DIM_R ~15 !2, !5
18 INIT_ARRAY ~16 ~15
19 FETCH_DIM_R ~17 !2, !4
20 ADD_ARRAY_ELEMENT ~16 ~17
21 FETCH_LIST_R $18 ~16, 0
22 ASSIGN_DIM !2, !4
23 OP_DATA $18
24 FETCH_LIST_R $20 ~16, 1
25 ASSIGN_DIM !2, !5
26 OP_DATA $20
27 FREE ~16
71 28 PRE_INC !4
29 > IS_SMALLER !4, !3
30 > JMPNZ ~23, ->10
76 31 > FRAMELESS_ICALL_2 implode ~24 '', !2
32 VERIFY_RETURN_TYPE ~24
33 > RETURN ~24
77 34* VERIFY_RETURN_TYPE
35* > RETURN null
End of function l2e
Function l2d:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 11
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 11
Branch analysis from position: 32
Branch analysis from position: 11
filename: /in/3Nju4
function name: L2D
number of ops: 37
compiled vars: !0 = $data, !1 = $seed, !2 = $a, !3 = $n, !4 = $i, !5 = $j
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
79 0 E > RECV !0
1 RECV !1
80 2 INIT_FCALL 'str_split'
3 SEND_VAR !0
4 DO_ICALL $6
5 ASSIGN !2, $6
81 6 COUNT ~8 !2
7 ASSIGN !3, ~8
83 8 SUB ~10 !3, 1
9 ASSIGN !4, ~10
10 > JMP ->30
84 11 > INIT_METHOD_CALL 'mask'
12 SEND_VAR !4
13 SEND_VAR !1
14 DO_FCALL 0 $12
15 ADD ~13 $12, !1
16 MOD ~14 ~13, !3
17 ASSIGN !5, ~14
85 18 FETCH_DIM_R ~16 !2, !5
19 INIT_ARRAY ~17 ~16
20 FETCH_DIM_R ~18 !2, !4
21 ADD_ARRAY_ELEMENT ~17 ~18
22 FETCH_LIST_R $19 ~17, 0
23 ASSIGN_DIM !2, !4
24 OP_DATA $19
25 FETCH_LIST_R $21 ~17, 1
26 ASSIGN_DIM !2, !5
27 OP_DATA $21
28 FREE ~17
83 29 PRE_DEC !4
30 > IS_SMALLER_OR_EQUAL 0, !4
31 > JMPNZ ~24, ->11
88 32 > FRAMELESS_ICALL_2 implode ~25 '', !2
33 VERIFY_RETURN_TYPE ~25
34 > RETURN ~25
89 35* VERIFY_RETURN_TYPE
36* > RETURN null
End of function l2d
Function b64u_encode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: b64u_encode
number of ops: 14
compiled vars: !0 = $d
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
94 0 E > RECV !0
95 1 INIT_FCALL 'rtrim'
2 INIT_FCALL 'base64_encode'
3 SEND_VAR !0
4 DO_ICALL $1
5 FRAMELESS_ICALL_3 strtr ~2 $1, '%2B%2F'
6 OP_DATA '-_'
7 SEND_VAL ~2
8 SEND_VAL '%3D'
9 DO_ICALL $3
10 VERIFY_RETURN_TYPE $3
11 > RETURN $3
96 12* VERIFY_RETURN_TYPE
13* > RETURN null
End of function b64u_encode
Function b64u_decode:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 12
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename: /in/3Nju4
function name: b64u_decode
number of ops: 21
compiled vars: !0 = $d, !1 = $pad
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
98 0 E > RECV !0
99 1 STRLEN ~2 !0
2 MOD ~3 ~2, 4
3 SUB ~4 4, ~3
4 ASSIGN !1, ~4
100 5 IS_SMALLER !1, 4
6 > JMPZ ~6, ->12
7 > INIT_FCALL 'str_repeat'
8 SEND_VAL '%3D'
9 SEND_VAR !1
10 DO_ICALL $7
11 ASSIGN_OP 8 !0, $7
101 12 > INIT_FCALL 'base64_decode'
13 FRAMELESS_ICALL_3 strtr ~9 !0, '-_'
14 OP_DATA '%2B%2F'
15 SEND_VAL ~9
16 DO_ICALL $10
17 VERIFY_RETURN_TYPE $10
18 > RETURN $10
102 19* VERIFY_RETURN_TYPE
20* > RETURN null
End of function b64u_decode
Function encode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/3Nju4
function name: encode
number of ops: 30
compiled vars: !0 = $msg, !1 = $seed
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
107 0 E > RECV !0
109 1 INIT_FCALL 'random_int'
2 SEND_VAL 0
3 SEND_VAL 255
4 DO_ICALL $2
5 ASSIGN !1, $2
111 6 INIT_METHOD_CALL 'L1E'
7 SEND_VAR !0
8 SEND_VAR !1
9 DO_FCALL 0 $4
10 ASSIGN !0, $4
112 11 INIT_METHOD_CALL 'L2E'
12 SEND_VAR !0
13 SEND_VAR !1
14 DO_FCALL 0 $6
15 ASSIGN !0, $6
114 16 INIT_METHOD_CALL 'b64u_encode'
17 SEND_VAR !0
18 DO_FCALL 0 $8
19 ASSIGN !0, $8
116 20 INIT_FCALL 'sprintf'
21 SEND_VAL '%2502X'
22 SEND_VAR !1
23 DO_ICALL $10
24 CONCAT ~11 $10, '.'
25 CONCAT ~12 ~11, !0
26 VERIFY_RETURN_TYPE ~12
27 > RETURN ~12
117 28* VERIFY_RETURN_TYPE
29* > RETURN null
End of function encode
Function decode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62Generated using Vulcan Logic Dumper, using php 8.5.0