Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 46
Branch analysis from position: 28
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 57, Position 2 = 69
Branch analysis from position: 57
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 69
2 jumps found. (Code = 77) Position 1 = 87, Position 2 = 94
Branch analysis from position: 87
2 jumps found. (Code = 78) Position 1 = 88, Position 2 = 94
Branch analysis from position: 88
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 94
2 jumps found. (Code = 77) Position 1 = 114, Position 2 = 129
Branch analysis from position: 114
2 jumps found. (Code = 78) Position 1 = 115, Position 2 = 129
Branch analysis from position: 115
2 jumps found. (Code = 43) Position 1 = 122, Position 2 = 126
Branch analysis from position: 122
1 jumps found. (Code = 42) Position 1 = 128
Branch analysis from position: 128
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
Branch analysis from position: 126
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
Branch analysis from position: 129
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 129
Branch analysis from position: 94
filename: /in/5MVbI
function name: (null)
number of ops: 136
compiled vars: !0 = $url, !1 = $ch, !2 = $html, !3 = $httpCode, !4 = $dom, !5 = $xpath, !6 = $node, !7 = $text, !8 = $patterns, !9 = $result, !10 = $pattern, !11 = $name, !12 = $matches
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
5 0 E > INIT_FCALL 'header'
1 SEND_VAL 'Content-Type%3A+application%2Fjson%3B+charset%3Dutf-8'
2 DO_ICALL
7 3 ASSIGN !0, 'https%3A%2F%2Fprayer-times-pinneberg.vercel.app%2F'
9 4 INIT_FCALL_BY_NAME 'curl_init'
5 SEND_VAR_EX !0
6 DO_FCALL 0 $15
7 ASSIGN !1, $15
10 8 INIT_FCALL_BY_NAME 'curl_setopt_array'
9 SEND_VAR_EX !1
11 10 FETCH_CONSTANT ~17 'CURLOPT_RETURNTRANSFER'
11 INIT_ARRAY ~18 <true>, ~17
12 12 FETCH_CONSTANT ~19 'CURLOPT_FOLLOWLOCATION'
11 13 ADD_ARRAY_ELEMENT ~18 <true>, ~19
13 14 FETCH_CONSTANT ~20 'CURLOPT_TIMEOUT'
15 ADD_ARRAY_ELEMENT ~18 20, ~20
14 16 FETCH_CONSTANT ~21 'CURLOPT_CONNECTTIMEOUT'
17 ADD_ARRAY_ELEMENT ~18 10, ~21
15 18 FETCH_CONSTANT ~22 'CURLOPT_USERAGENT'
19 ADD_ARRAY_ELEMENT ~18 'Mozilla%2F5.0+%28PrayerTimes+PHP+Scraper%29', ~22
20 SEND_VAL_EX ~18
10 21 DO_FCALL 0
18 22 INIT_FCALL_BY_NAME 'curl_exec'
23 SEND_VAR_EX !1
24 DO_FCALL 0 $24
25 ASSIGN !2, $24
20 26 TYPE_CHECK 4 !2
27 > JMPZ ~26, ->46
21 28 > INIT_FCALL 'http_response_code'
29 SEND_VAL 500
30 DO_ICALL
22 31 INIT_FCALL 'json_encode'
23 32 INIT_ARRAY ~28 'Failed+to+fetch+page', 'error'
24 33 INIT_FCALL_BY_NAME 'curl_error'
34 SEND_VAR_EX !1
35 DO_FCALL 0 $29
36 ADD_ARRAY_ELEMENT ~28 $29, 'details'
37 SEND_VAL ~28
25 38 SEND_VAL 384
22 39 DO_ICALL $30
25 40 ECHO $30
26 41 INIT_FCALL_BY_NAME 'curl_close'
42 SEND_VAR_EX !1
43 DO_FCALL 0
27 44 > INIT_FCALL 'exit'
45* DO_ICALL
30 46 > INIT_FCALL_BY_NAME 'curl_getinfo'
47 SEND_VAR_EX !1
48 FETCH_CONSTANT ~33 'CURLINFO_HTTP_CODE'
49 SEND_VAL_EX ~33
50 DO_FCALL 0 $34
51 ASSIGN !3, $34
31 52 INIT_FCALL_BY_NAME 'curl_close'
53 SEND_VAR_EX !1
54 DO_FCALL 0
33 55 IS_SMALLER_OR_EQUAL 400, !3
56 > JMPZ ~37, ->69
34 57 > INIT_FCALL 'http_response_code'
58 SEND_VAL 500
59 DO_ICALL
35 60 INIT_FCALL 'json_encode'
36 61 INIT_ARRAY ~39 'Remote+server+returned+an+error', 'error'
37 62 ADD_ARRAY_ELEMENT ~39 !3, 'status_code'
63 SEND_VAL ~39
38 64 SEND_VAL 384
35 65 DO_ICALL $40
38 66 ECHO $40
39 67 > INIT_FCALL 'exit'
68* DO_ICALL
42 69 > INIT_FCALL 'libxml_use_internal_errors'
70 SEND_VAL <true>
71 DO_ICALL
44 72 NEW $43 'DOMDocument'
73 DO_FCALL 0
74 ASSIGN !4, $43
45 75 INIT_METHOD_CALL !4, 'loadHTML'
76 CONCAT ~46 '%3C%3Fxml+encoding%3D%22utf-8%22+%3F%3E', !2
77 SEND_VAL_EX ~46
78 DO_FCALL 0
46 79 NEW $48 'DOMXPath'
80 SEND_VAR_EX !4
81 DO_FCALL 0
82 ASSIGN !5, $48
48 83 INIT_METHOD_CALL !5, 'query'
84 SEND_VAL_EX '%2F%2Fscript%7C%2F%2Fstyle%7C%2F%2Fnoscript'
85 DO_FCALL 0 $51
86 > FE_RESET_R $52 $51, ->94
87 > > FE_FETCH_R $52, !6, ->94
49 88 > FETCH_OBJ_R ~53 !6, 'parentNode'
89 JMP_NULL $54 ~53
90 INIT_METHOD_CALL ~53, 'removeChild'
91 SEND_VAR_EX !6
92 DO_FCALL 0
48 93 > JMP ->87
94 > FE_FREE $52
52 95 FETCH_OBJ_IS ~55 !4, 'textContent'
96 COALESCE ~56 ~55
97 QM_ASSIGN ~56 ''
98 ASSIGN !7, ~56
53 99 INIT_FCALL 'html_entity_decode'
100 SEND_VAR !7
101 SEND_VAL 51
102 SEND_VAL 'UTF-8'
103 DO_ICALL $58
104 ASSIGN !7, $58
54 105 FRAMELESS_ICALL_3 preg_replace ~60 '%2F%5Cs%2B%2Fu', '+'
106 OP_DATA !7
107 ASSIGN !7, ~60
55 108 CAST 6 ~62 !7
109 FRAMELESS_ICALL_1 trim ~63 ~62
110 ASSIGN !7, ~63
57 111 ASSIGN !8, <array>
65 112 ASSIGN !9, <array>
67 113 > FE_RESET_R $67 !8, ->129
114 > > FE_FETCH_R ~68 $67, !10, ->129
115 > ASSIGN !11, ~68
68 116 INIT_FCALL 'preg_match'
117 SEND_VAR !10
118 SEND_VAR !7
119 SEND_REF !12
120 DO_ICALL $70
121 > JMPZ $70, ->126
69 122 > FETCH_DIM_R ~72 !12, 1
123 ASSIGN_DIM !9, !11
124 OP_DATA ~72
68 125 > JMP ->128
71 126 > ASSIGN_DIM !9, !11
127 OP_DATA null
67 128 > > JMP ->114
129 > FE_FREE $67
75 130 INIT_FCALL 'json_encode'
131 SEND_VAR !9
132 SEND_VAL 384
133 DO_ICALL $74
134 ECHO $74
135 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.5.0