Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 24 Branch analysis from position: 21 2 jumps found. (Code = 46) Position 1 = 33, Position 2 = 37 Branch analysis from position: 33 2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 252 Branch analysis from position: 38 2 jumps found. (Code = 77) Position 1 = 53, Position 2 = 156 Branch analysis from position: 53 2 jumps found. (Code = 78) Position 1 = 54, Position 2 = 156 Branch analysis from position: 54 2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 106 Branch analysis from position: 60 1 jumps found. (Code = 42) Position 1 = 80 Branch analysis from position: 80 2 jumps found. (Code = 44) Position 1 = 85, Position 2 = 75 Branch analysis from position: 85 2 jumps found. (Code = 77) Position 1 = 94, Position 2 = 104 Branch analysis from position: 94 2 jumps found. (Code = 78) Position 1 = 95, Position 2 = 104 Branch analysis from position: 95 2 jumps found. (Code = 43) Position 1 = 97, Position 2 = 99 Branch analysis from position: 97 2 jumps found. (Code = 43) Position 1 = 101, Position 2 = 102 Branch analysis from position: 101 1 jumps found. (Code = 42) Position 1 = 94 Branch analysis from position: 94 Branch analysis from position: 102 Branch analysis from position: 99 Branch analysis from position: 104 2 jumps found. (Code = 43) Position 1 = 111, Position 2 = 152 Branch analysis from position: 111 2 jumps found. (Code = 77) Position 1 = 130, Position 2 = 146 Branch analysis from position: 130 2 jumps found. (Code = 78) Position 1 = 131, Position 2 = 146 Branch analysis from position: 131 2 jumps found. (Code = 46) Position 1 = 140, Position 2 = 142 Branch analysis from position: 140 2 jumps found. (Code = 43) Position 1 = 143, Position 2 = 144 Branch analysis from position: 143 1 jumps found. (Code = 42) Position 1 = 130 Branch analysis from position: 130 Branch analysis from position: 144 Branch analysis from position: 142 Branch analysis from position: 146 1 jumps found. (Code = 42) Position 1 = 155 Branch analysis from position: 155 1 jumps found. (Code = 42) Position 1 = 53 Branch analysis from position: 53 Branch analysis from position: 146 Branch analysis from position: 152 1 jumps found. (Code = 42) Position 1 = 53 Branch analysis from position: 53 Branch analysis from position: 104 Branch analysis from position: 75 2 jumps found. (Code = 44) Position 1 = 85, Position 2 = 75 Branch analysis from position: 85 Branch analysis from position: 75 Branch analysis from position: 106 Branch analysis from position: 156 2 jumps found. (Code = 43) Position 1 = 159, Position 2 = 161 Branch analysis from position: 159 1 jumps found. (Code = 79) Position 1 = -2 Branch analysis from position: 161 2 jumps found. (Code = 43) Position 1 = 165, Position 2 = 172 Branch analysis from position: 165 2 jumps found. (Code = 77) Position 1 = 166, Position 2 = 170 Branch analysis from position: 166 2 jumps found. (Code = 78) Position 1 = 167, Position 2 = 170 Branch analysis from position: 167 1 jumps found. (Code = 42) Position 1 = 166 Branch analysis from position: 166 Branch analysis from position: 170 1 jumps found. (Code = 42) Position 1 = 173 Branch analysis from position: 173 2 jumps found. (Code = 77) Position 1 = 216, Position 2 = 237 Branch analysis from position: 216 2 jumps found. (Code = 78) Position 1 = 217, Position 2 = 237 Branch analysis from position: 217 2 jumps found. (Code = 77) Position 1 = 223, Position 2 = 235 Branch analysis from position: 223 2 jumps found. (Code = 78) Position 1 = 224, Position 2 = 235 Branch analysis from position: 224 1 jumps found. (Code = 42) Position 1 = 226 Branch analysis from position: 226 2 jumps found. (Code = 44) Position 1 = 229, Position 2 = 225 Branch analysis from position: 229 1 jumps found. (Code = 42) Position 1 = 223 Branch analysis from position: 223 Branch analysis from position: 225 2 jumps found. (Code = 44) Position 1 = 229, Position 2 = 225 Branch analysis from position: 229 Branch analysis from position: 225 Branch analysis from position: 235 1 jumps found. (Code = 42) Position 1 = 216 Branch analysis from position: 216 Branch analysis from position: 235 Branch analysis from position: 237 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 237 Branch analysis from position: 170 Branch analysis from position: 172 2 jumps found. (Code = 77) Position 1 = 216, Position 2 = 237 Branch analysis from position: 216 Branch analysis from position: 237 Branch analysis from position: 156 Branch analysis from position: 252 Branch analysis from position: 37 Branch analysis from position: 24 filename: /in/Pv0Xc function name: (null) number of ops: 255 compiled vars: !0 = $addr_count, !1 = $binary_ip, !2 = $search, !3 = $hexarray, !4 = $result, !5 = $ip, !6 = $part, !7 = $missing, !8 = $i, !9 = $newip, !10 = $cnt, !11 = $piece, !12 = $fixed_ip_arr, !13 = $fullbinaryip, !14 = $digit, !15 = $echoip, !16 = $value, !17 = $summary, !18 = $final_summary, !19 = $summary_normal, !20 = $final_summary_normal, !21 = $block, !22 = $block_smaller, !23 = $tiny line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 2 0 E > ECHO '%3Chtml%3E%3Cbody%3E' 3 1 ECHO '%3Ch1%3EIPv6+Address+Summarization+Calculator%3C%2Fh1%3E' 4 2 ECHO 'Instructions%3A%3Cbr%3E' 5 3 ECHO 'Enter+a+list+of+IPv6+addresses+or+prefixes+you%27d+like+to+summarize.%3Cbr%3E' 6 4 ECHO 'You+can+enter+the+addresses+in+compressed+or+full+notation.%3Cbr%3E' 7 5 ECHO '%3Cbr%3EExample%3A%3Cbr%3E' 8 6 ECHO '2001%3ACC1E%3A2AB3%3A1A3C%3A%3A%3Cbr%3E' 9 7 ECHO '2001%3ACC1E%3A2AB3%3A1A4D%3A%3A%3Cbr%3E' 10 8 ECHO 'or%3Cbr%3E' 11 9 ECHO '2606%3AA700%3AABC7%3A0001%3A%3A%3Cbr%3E' 12 10 ECHO '2606%3AA700%3AABC7%3A0002%3A%3A%3Cbr%3E' 13 11 ECHO '2606%3AA700%3AABC7%3A0003%3A%3A%3Cbr%3E%3Cbr%3E' 14 12 FETCH_R global ~24 '_SERVER' 13 FETCH_DIM_R ~25 ~24, 'PHP_SELF' 14 CONCAT ~26 '%3Cform+action%3D%22', ~25 15 CONCAT ~27 ~26, '%22+method%3D%22post%22%3E' 16 ECHO ~27 15 17 ECHO '%3Ctextarea+id%3D%22ip%22+name%3D%22ip%22+rows%3D%2220%22+cols%3D%2270%22%3E' 16 18 FETCH_IS ~28 '_POST' 19 ISSET_ISEMPTY_DIM_OBJ 0 ~28, 'ip' 20 > JMPZ ~29, ->24 21 > FETCH_R global ~30 '_POST' 22 FETCH_DIM_R ~31 ~30, 'ip' 23 ECHO ~31 17 24 > ECHO '%3C%2Ftextarea%3E' 18 25 ECHO '%3Cp%3E%3C%2Fp%3E' 19 26 ECHO '%3Cinput+type%3D%22submit%22%3E' 20 27 ECHO '%3Cinput+type%3D%22hidden%22+name%3D%22submitted%22+id%3D%22submitted%22%3E%3C%2Finput%3E' 21 28 ECHO '%3C%2Fform%3E' 22 29 ECHO '%3Cp%3E%3C%2Fp%3E' 23 30 FETCH_IS ~32 '_POST' 31 ISSET_ISEMPTY_DIM_OBJ 0 ~33 ~32, 'submitted' 32 > JMPZ_EX ~33 ~33, ->37 33 > FETCH_R global ~34 '_POST' 34 FETCH_DIM_R ~35 ~34, 'ip' 35 IS_NOT_EQUAL ~36 ~35, '' 36 BOOL ~33 ~36 37 > > JMPZ ~33, ->252 24 38 > ASSIGN !0, 0 25 39 ASSIGN !1, <array> 26 40 ASSIGN !2, '%2F%5E%28%3F%3E%28%3F%3E%28%5Ba-f0-9%5D%7B1%2C4%7D%29%28%3F%3E%3A%28%3F1%29%29%7B7%7D%7C%28%3F%21%28%3F%3A.%2A%5Ba-f0-9%5D%28%3F%3E%3A%7C%24%29%29%7B8%2C%7D%29%28%28%3F1%29%28%3F%3E%3A%28%3F1%29%29%7B0%2C6%7D%29%3F%3A%3A%28%3F2%29%3F%29%7C%28%3F%3E%28%3F%3E%28%3F1%29%28%3F%3E%3A%28%3F1%29%29%7B5%7D%3A%7C%28%3F%21%28%3F%3A.%2A%5Ba-f0-9%5D%3A%29%7B6%2C%7D%29%28%3F3%29%3F%3A%3A%28%3F%3E%28%28%3F1%29%28%3F%3E%3A%28%3F1%29%29%7B0%2C4%7D%29%3A%29%3F%29%3F%2825%5B0-5%5D%7C2%5B0-4%5D%5B0-9%5D%7C1%5B0-9%5D%7B2%7D%7C%5B1-9%5D%3F%5B0-9%5D%29%28%3F%3E%5C.%28%3F4%29%29%7B3%7D%29%29%24%2FiD' 27 41 ASSIGN !3, <array> 28 42 INIT_FCALL 'explode' 43 SEND_VAL '%0A' 44 INIT_FCALL 'trim' 45 FETCH_R global ~41 '_POST' 46 FETCH_DIM_R ~42 ~41, 'ip' 47 SEND_VAL ~42 48 DO_ICALL $43 49 SEND_VAR $43 50 DO_ICALL $44 51 ASSIGN !4, $44 29 52 > FE_RESET_R $46 !4, ->156 53 > > FE_FETCH_R $46, !5, ->156 30 54 > INIT_FCALL 'strpos' 55 SEND_VAR !5 56 SEND_VAL '%3A%3A' 57 DO_ICALL $47 58 TYPE_CHECK 1018 $47 59 > JMPZ ~48, ->106 31 60 > INIT_FCALL 'explode' 61 SEND_VAL '%3A%3A' 62 SEND_VAR !5 63 DO_ICALL $49 64 ASSIGN !6, $49 32 65 INIT_FCALL 'explode' 66 SEND_VAL '%3A' 67 FETCH_DIM_R ~52 !6, 0 68 SEND_VAL ~52 69 DO_ICALL $53 70 ASSIGN_DIM !6, 0 71 OP_DATA $53 33 72 ASSIGN !7, <array> 34 73 ASSIGN !8, 0 74 > JMP ->80 35 75 > INIT_FCALL 'array_push' 76 SEND_REF !7 77 SEND_VAL '0000' 78 DO_ICALL 34 79 PRE_INC !8 80 > FETCH_DIM_R ~58 !6, 0 81 COUNT ~59 ~58 82 SUB ~60 8, ~59 83 IS_SMALLER !8, ~60 84 > JMPNZ ~61, ->75 36 85 > INIT_FCALL 'array_merge' 86 FETCH_DIM_R ~62 !6, 0 87 SEND_VAL ~62 88 SEND_VAR !7 89 DO_ICALL $63 90 ASSIGN !6, $63 37 91 ASSIGN !9, '' 38 92 ASSIGN !10, 1 39 93 > FE_RESET_R $67 !6, ->104 94 > > FE_FETCH_R $67, !11, ->104 40 95 > IS_SMALLER !10, 8 96 > JMPZ ~68, ->99 97 > CONCAT ~69 !11, '%3A' 98 ASSIGN_OP 8 !9, ~69 41 99 > IS_EQUAL !10, 8 100 > JMPZ ~71, ->102 101 > ASSIGN_OP 8 !9, !11 42 102 > PRE_INC !10 39 103 > JMP ->94 104 > FE_FREE $67 44 105 ASSIGN !5, !9 46 106 > INIT_FCALL 'preg_match' 107 SEND_VAR !2 108 SEND_VAR !5 109 DO_ICALL $75 110 > JMPZ $75, ->152 47 111 > PRE_INC !0 48 112 INIT_FCALL_BY_NAME 'expand' 113 SEND_VAR_EX !5 114 DO_FCALL 0 $77 115 ASSIGN !5, $77 49 116 INIT_FCALL 'str_replace' 117 SEND_VAL '%3A' 118 SEND_VAL '' 119 SEND_VAR !5 120 DO_ICALL $79 121 ASSIGN !5, $79 50 122 INIT_FCALL 'str_split' 123 SEND_VAR !5 124 SEND_VAL 1 125 DO_ICALL $81 126 ASSIGN !12, $81 51 127 ASSIGN !10, 0 52 128 ASSIGN !13, '' 53 129 > FE_RESET_R $85 !12, ->146 130 > > FE_FETCH_R $85, !14, ->146 54 131 > INIT_FCALL 'strtoupper' 132 SEND_VAR !14 133 DO_ICALL $86 134 FETCH_DIM_R ~87 !3, $86 135 ASSIGN !15, ~87 55 136 PRE_INC !10 56 137 MOD ~90 !10, 4 138 IS_EQUAL ~91 ~90, 0 139 > JMPZ_EX ~91 ~91, ->142 140 > IS_NOT_EQUAL ~92 !10, 32 141 BOOL ~91 ~92 142 > > JMPZ ~91, ->144 143 > ASSIGN_OP 8 !15, '%3A' 57 144 > ASSIGN_OP 8 !13, !15 53 145 > JMP ->130 146 > FE_FREE $85 59 147 INIT_FCALL 'array_push' 148 SEND_REF !1 149 SEND_VAR !13 150 DO_ICALL 151 > JMP ->155 61 152 > NOP 153 FAST_CONCAT ~96 !5, '+is+not+in+the+correct+format.++If+you+pasted+only+a+prefix%2C+make+sure+you+end+it+with+%3A%3A.++I%27ll+ignore+it+and+continue+processing.%3Cbr%3E' 154 ECHO ~96 29 155 > > JMP ->53 156 > FE_FREE $46 64 157 IS_EQUAL !0, 0 158 > JMPZ ~97, ->161 65 159 > ECHO '%3Cbr%3EYou+didn%27t+enter+any+valid+addresses.++Please+try+again.%3Cbr%3E' 66 160 > EXIT 68 161 > ECHO '%3Cbr%3EYour+addresses+in+binary+form%3A%3Cbr%3E' 69 162 COUNT ~98 !1 163 IS_SMALLER ~98, 50 164 > JMPZ ~99, ->172 70 165 > > FE_RESET_R $100 !1, ->170 166 > > FE_FETCH_R $100, !16, ->170 71 167 > CONCAT ~101 !16, '%3Cbr%3E' 168 ECHO ~101 70 169 > JMP ->166 170 > FE_FREE $100 171 > JMP ->173 74 172 > ECHO 'I+don%27t+want+to+spam+you%2C+so+I%27m+not+printing+all+the+addresses%21%3Cbr%3E' 76 173 > INIT_FCALL_BY_NAME '_commonPrefix' 174 INIT_FCALL 'str_replace' 175 SEND_VAL '%3A' 176 SEND_VAL '' 177 SEND_VAR !1 178 DO_ICALL $102 179 SEND_VAR_NO_REF_EX $102 180 DO_FCALL 0 $103 181 ASSIGN !17, $103 77 182 ECHO '%3Cbr%3EThese+addresses+can+be+summarized+to%3A+%3Cbr%3E' 78 183 INIT_FCALL 'rtrim' 184 INIT_FCALL 'chunk_split' 185 INIT_FCALL 'substr' 186 INIT_FCALL 'str_replace' 187 SEND_VAL '%3A' 188 SEND_VAL '' 189 FETCH_DIM_R ~105 !1, 0 190 SEND_VAL ~105 191 DO_ICALL $106 192 SEND_VAR $106 193 SEND_VAL 0 194 SEND_VAR !17 195 DO_ICALL $107 196 SEND_VAR $107 197 SEND_VAL 16 198 SEND_VAL '%3A' 199 DO_ICALL $108 200 SEND_VAR $108 201 SEND_VAL '%3A' 202 DO_ICALL $109 203 ASSIGN !18, $109 79 204 ROPE_INIT 3 ~112 '%2F' 205 ROPE_ADD 1 ~112 ~112, !17 206 ROPE_END 2 ~111 ~112, '%3Cbr%3E' 207 CONCAT ~114 !18, ~111 208 ECHO ~114 80 209 INIT_FCALL 'explode' 210 SEND_VAL '%3A' 211 SEND_VAR !18 212 DO_ICALL $115 213 ASSIGN !19, $115 81 214 ASSIGN !20, '' 82 215 > FE_RESET_R $118 !19, ->237 216 > > FE_FETCH_R $118, !21, ->237 83 217 > INIT_FCALL 'str_split' 218 SEND_VAR !21 219 SEND_VAL 4 220 DO_ICALL $119 221 ASSIGN !22, $119 84 222 > FE_RESET_R $121 !22, ->235 223 > > FE_FETCH_R $121, !23, ->235 85 224 > > JMP ->226 86 225 > ASSIGN_OP 8 !23, '0' 85 226 > STRLEN ~123 !23 227 IS_SMALLER ~123, 4 228 > JMPNZ ~124, ->225 88 229 > INIT_FCALL 'array_search' 230 SEND_VAR !23 231 SEND_VAR !3 232 DO_ICALL $125 233 ASSIGN_OP 8 !20, $125 84 234 > JMP ->223 235 > FE_FREE $121 82 236 > JMP ->216 237 > FE_FREE $118 92 238 ECHO 'You+can+use+this+in+your+router+summary+statements%3A%3Cbr%3E' 93 239 INIT_FCALL 'rtrim' 240 INIT_FCALL 'chunk_split' 241 SEND_VAR !20 242 SEND_VAL 4 243 SEND_VAL '%3A' 244 DO_ICALL $127 245 SEND_VAR $127 246 SEND_VAL '%3A' 247 DO_ICALL $128 248 NOP 249 FAST_CONCAT ~129 '%2F', !17 250 CONCAT ~130 $128, ~129 251 ECHO ~130 95 252 > ECHO '%3C%2Fbody%3E' 96 253 ECHO '%3C%2Fhtml%3E' 123 254 > RETURN 1 Function expand: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/Pv0Xc function name: expand number of ops: 23 compiled vars: !0 = $ip, !1 = $hex line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 99 0 E > RECV !0 100 1 INIT_FCALL 'unpack' 2 SEND_VAL 'H%2Ahex' 3 INIT_FCALL 'inet_pton' 4 SEND_VAR !0 5 DO_ICALL $2 6 SEND_VAR $2 7 DO_ICALL $3 8 ASSIGN !1, $3 101 9 INIT_FCALL 'substr' 10 INIT_FCALL 'preg_replace' 11 SEND_VAL '%2F%28%5BA-f0-9%5D%7B4%7D%29%2F' 12 SEND_VAL '%241%3A' 13 FETCH_DIM_R ~5 !1, 'hex' 14 SEND_VAL ~5 15 DO_ICALL $6 16 SEND_VAR $6 17 SEND_VAL 0 18 SEND_VAL -1 19 DO_ICALL $7 20 ASSIGN !0, $7 103 21 > RETURN !0 104 22* > RETURN null End of function expand Function _commonprefix: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 12 Branch analysis from position: 4 2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9 Branch analysis from position: 7 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 9 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 12 1 jumps found. (Code = 42) Position 1 = 36 Branch analysis from position: 36 2 jumps found. (Code = 44) Position 1 = 42, Position 2 = 25 Branch analysis from position: 42 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 25 1 jumps found. (Code = 42) Position 1 = 33 Branch analysis from position: 33 2 jumps found. (Code = 44) Position 1 = 35, Position 2 = 27 Branch analysis from position: 35 2 jumps found. (Code = 44) Position 1 = 42, Position 2 = 25 Branch analysis from position: 42 Branch analysis from position: 25 Branch analysis from position: 27 2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 32 Branch analysis from position: 31 2 jumps found. (Code = 44) Position 1 = 35, Position 2 = 27 Branch analysis from position: 35 Branch analysis from position: 27 Branch analysis from position: 32 filename: /in/Pv0Xc function name: _commonPrefix number of ops: 44 compiled vars: !0 = $array, !1 = $len, !2 = $prevval, !3 = $j, !4 = $newval line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 105 0 E > RECV !0 106 1 COUNT ~5 !0 2 IS_SMALLER ~5, 2 3 > JMPZ ~6, ->12 107 4 > COUNT ~7 !0 5 IS_EQUAL ~7, 0 6 > JMPZ ~8, ->9 108 7 > > RETURN <false> 8* JM
Generated using Vulcan Logic Dumper, using php 8.0.0