Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/W0iUJ
function name: (null)
number of ops: 31
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
21 0 E > INIT_FCALL 'var_dump'
1 INIT_FCALL 'getfilenamefromurl'
2 SEND_VAL 'THIS+IS+NOT+A+URL'
3 DO_FCALL 0 $0
4 SEND_VAR $0
5 DO_ICALL
22 6 INIT_FCALL 'var_dump'
7 INIT_FCALL 'getfilenamefromurl'
8 SEND_VAL 'https%3A%2F%2Fexample.com%2Fthis____or_that______.zip%3Fdlid%3Dasd____a_a_a__b__b__B'
9 DO_FCALL 0 $2
10 SEND_VAR $2
11 DO_ICALL
23 12 INIT_FCALL 'var_dump'
13 INIT_FCALL 'getfilenamefromurl'
14 SEND_VAL 'https%3A%2F%2Fwww.some-domain.com%2Fdownloads%2Ffile.php%3Ffile%3Dfoobar'
15 DO_FCALL 0 $4
16 SEND_VAR $4
17 DO_ICALL
24 18 INIT_FCALL 'var_dump'
19 INIT_FCALL 'getfilenamefromurl'
20 SEND_VAL 'https%3A%2F%2Fwww.some-domain.com%2Fdownloads%2Ffile.zip%3Fslid%3D123'
21 DO_FCALL 0 $6
22 SEND_VAR $6
23 DO_ICALL
25 24 INIT_FCALL 'var_dump'
25 INIT_FCALL 'getfilenamefromurl'
26 SEND_VAL 'https%3A%2F%2Fwww.some-domain.com%2Fdownloads%2F%3Ffile%3Dfoobar'
27 DO_FCALL 0 $8
28 SEND_VAR $8
29 DO_ICALL
30 > RETURN 1
Function getfilenamefromurl:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 7, Position 2 = 10
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 12
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename: /in/W0iUJ
function name: getFilenameFromUrl
number of ops: 32
compiled vars: !0 = $url, !1 = $default, !2 = $parts, !3 = $filename
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
3 0 E > RECV !0
5 1 INIT_FCALL 'uniqid'
2 DO_ICALL $4
3 ASSIGN !1, $4
6 4 TYPE_CHECK 64 ~6 !0
5 BOOL_NOT ~7 ~6
6 > JMPNZ_EX ~7 ~7, ->10
7 > FRAMELESS_ICALL_2 strpos ~8 !0, '%2F'
8 TYPE_CHECK 4 ~9 ~8
9 BOOL ~7 ~9
10 > > JMPZ ~7, ->12
8 11 > > RETURN !1
11 12 > INIT_FCALL 'explode'
13 SEND_VAL '%2F'
14 SEND_VAR !0
15 DO_ICALL $10
16 ASSIGN !2, $10
12 17 INIT_FCALL 'array_pop'
18 SEND_REF !2
19 DO_ICALL $12
20 ASSIGN !3, $12
14 21 FRAMELESS_ICALL_3 preg_replace ~14 '%2F%5B%5Ea-z0-9%5C_%5C-%5C.%5D%2Fi', '_'
22 OP_DATA !3
23 ASSIGN !3, ~14
16 24 FRAMELESS_ICALL_2 trim ~16 !3, '_'
25 FRAMELESS_ICALL_3 preg_replace ~17 '%2F__%2B%2Fi', '_'
26 OP_DATA ~16
27 ASSIGN !3, ~17
18 28 JMP_SET ~19 !3, ->30
29 QM_ASSIGN ~19 !1
30 > RETURN ~19
19 31* > RETURN null
End of function getfilenamefromurl
Generated using Vulcan Logic Dumper, using php 8.5.0