3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* Developed by TheNaked. Do not resell this script. */ set_time_limit(0); class StrawPoll { public function __construct() { } public function vote($id, array $votes, $amount = 10, $proxyList = null, $timeout = 5, $showErrors = true) { $mh = curl_multi_init(); $chs = array(); if(is_file($proxyList)) { $parts = pathinfo($proxyList); $json = false; if($parts['extension'] == 'json') { $proxies = json_decode(file_get_contents($proxyList), true); if($proxies) { $json = true; } else { return 'Malformed JSON in ' . $proxyList; } } else { $proxies = file($proxyList); } } $post = array( 'id' => $id, 'votes' => $votes ); $post = http_build_query($post); $headers = array( 'Origin: http://strawpoll.me', 'If-None-Match: 6bbfd', 'X-Requested-With: XMLHttpRequest' ); $loop = false; if($amount == -1) { $loop = true; $amount = 25; } if(isset($proxies)) { $amount = count($proxies); } $used = array(); for($i = 0; $i < $amount; $i++) { $ch = $this->makeCurl('http://strawpoll.me/ajax/vote'); $chs[] = $ch; if(isset($proxies)) { if(count($proxies) < 1) { if($showErrors) { echo 'Out of proxies :(' . PHP_EOL; } break; } $key = array_rand($proxies); $proxy = $proxies[$key]; unset($proxies[$key]); $proxyType = CURLPROXY_HTTP; if(!$json) { $proxy = trim($proxy); $parts = explode(':', $proxy); if(isset($parts[0], $parts[1])) { $proxyIP = $parts[0]; $proxyPort = $parts[1]; } else { $i--; continue; } if(isset($parts[2])) { $proxyType = strtoupper($proxyType) == 'SOCKS5' ? CURLPROXY_SOCKS5 : CURLPROXY_HTTP; } } else if($json && isset($proxy['ip'], $proxy['port'])) { $proxyIP = $proxy['ip']; $proxyPort = $proxy['port']; if(isset($proxy['type'])) { $proxyType = strtoupper($proxy['type']) == 'SOCKS5' ? CURLPROXY_SOCKS5 : CURLPROXY_HTTP; } } if(isset($used[$proxyIP])) { $i--; continue; } $used[$proxyIP] = true; if(!filter_var($proxyIP, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) || (!ctype_digit($proxyPort) || ($proxyPort < 0 || $proxyPort > 65535))) { $i--; continue; } curl_setopt_array($ch, array( CURLOPT_PROXY => $proxyIP . ':' . $proxyPort, CURLOPT_PROXYTYPE => $proxyType )); } curl_setopt_array($ch, array( CURLOPT_POSTFIELDS => $post, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_REFERER => 'http://strawpoll.me/' . $id, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36', CURLOPT_TIMEOUT => $timeout )); curl_multi_add_handle($mh, $ch); } $running = null; $votes = 0; $j = 0; $results = array(); do { while(($exec = curl_multi_exec($mh, $running)) == CURLM_CALL_MULTI_PERFORM); if($exec != CURLM_OK) { break; } while($ch = curl_multi_info_read($mh)) { $j++; $ch = $ch['handle']; $error = curl_error($ch); if(!$error) { $resp = curl_multi_getcontent($ch); $out = json_decode($resp, true); if(!isset($out['success'])) { if($showErrors) { echo 'Didn\'t vote. Invalid response.' . PHP_EOL; var_dump($resp); } } else { if($out['success'] == true) { $votes++; echo '[' . $votes . '] Voted' . PHP_EOL; } } $results[] = $out; } else { $results[] = $error; if($showErrors) { echo $error . PHP_EOL; } } curl_multi_remove_handle($mh, $ch); curl_close($ch); } } while($running); curl_multi_close($mh); if($loop) { $this->vote($id, $votes, $amount, $proxyList, $timeout); return array('results' => $results, 'votes' => $votes); } return array('results' => $results, 'votes' => $votes, 'total' => $amount); } public function makeCurl($url) { $cookie = dirname(__FILE__) . '/strawpoll.txt'; $ch = curl_init($url); curl_setopt_array($ch, array( CURLOPT_FOLLOWLOCATION => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_COOKIEFILE => $cookie, CURLOPT_COOKIEJAR => $cookie )); return $ch; } } if(isset($_GET['key']) == "hnbu43rhb453bh435bhchhb43bh4") { $sp = new StrawPoll(); $votes = $sp->vote($_GET["id"], array($_GET["voteid"]), 2, 'proxies.txt', 30, false); echo 'Successfully voted ' . $votes['votes'] . '/' . $votes['total'] . ' time(s)'; } else { echo "wrong key"; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 33
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/KGSQe
function name:  (null)
number of ops:  35
compiled vars:  !0 = $sp, !1 = $votes
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   INIT_FCALL                                               'set_time_limit'
          1        SEND_VAL                                                 0
          2        DO_ICALL                                                 
  166     3        FETCH_IS                                         ~3      '_GET'
          4        ISSET_ISEMPTY_DIM_OBJ                         0  ~4      ~3, 'key'
          5        IS_EQUAL                                                 ~4, 'hnbu43rhb453bh435bhchhb43bh4'
          6      > JMPZ                                                     ~5, ->33
  167     7    >   NEW                                              $6      'StrawPoll'
          8        DO_FCALL                                      0          
          9        ASSIGN                                                   !0, $6
  168    10        INIT_METHOD_CALL                                         !0, 'vote'
         11        CHECK_FUNC_ARG                                           
         12        FETCH_FUNC_ARG               global              $9      '_GET'
         13        FETCH_DIM_FUNC_ARG                               $10     $9, 'id'
         14        SEND_FUNC_ARG                                            $10
         15        FETCH_R                      global              ~11     '_GET'
         16        FETCH_DIM_R                                      ~12     ~11, 'voteid'
         17        INIT_ARRAY                                       ~13     ~12
         18        SEND_VAL_EX                                              ~13
         19        SEND_VAL_EX                                              2
         20        SEND_VAL_EX                                              'proxies.txt'
         21        SEND_VAL_EX                                              30
         22        SEND_VAL_EX                                              <false>
         23        DO_FCALL                                      0  $14     
         24        ASSIGN                                                   !1, $14
  169    25        FETCH_DIM_R                                      ~16     !1, 'votes'
         26        CONCAT                                           ~17     'Successfully+voted+', ~16
         27        CONCAT                                           ~18     ~17, '%2F'
         28        FETCH_DIM_R                                      ~19     !1, 'total'
         29        CONCAT                                           ~20     ~18, ~19
         30        CONCAT                                           ~21     ~20, '+time%28s%29'
         31        ECHO                                                     ~21
         32      > JMP                                                      ->34
  171    33    >   ECHO                                                     'wrong+key'
  173    34    > > RETURN                                                   1

Class StrawPoll:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/KGSQe
function name:  __construct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E > > RETURN                                                   null

End of function __construct

Function vote:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 40
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 36
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 51, Position 2 = 53
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 55, Position 2 = 57
Branch analysis from position: 55
1 jumps found. (Code = 42) Position 1 = 204
Branch analysis from position: 204
2 jumps found. (Code = 44) Position 1 = 206, Position 2 = 60
Branch analysis from position: 206
1 jumps found. (Code = 42) Position 1 = 211
Branch analysis from position: 211
2 jumps found. (Code = 44) Position 1 = 219, Position 2 = 211
Branch analysis from position: 219
2 jumps found. (Code = 43) Position 1 = 222, Position 2 = 223
Branch analysis from position: 222
1 jumps found. (Code = 42) Position 1 = 280
Branch analysis from position: 280
2 jumps found. (Code = 43) Position 1 = 284, Position 2 = 294
Branch analysis from position: 284
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 294
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 223
1 jumps found. (Code = 42) Position 1 = 274
Branch analysis from position: 274
2 jumps found. (Code = 44) Position 1 = 279, Position 2 = 224
Branch analysis from position: 279
2 jumps found. (Code = 44) Position 1 = 280, Position 2 = 210
Branch analysis from position: 280
Branch analysis from position: 210
Branch analysis from position: 224
2 jumps found. (Code = 43) Position 1 = 233, Position 2 = 262
Branch analysis from position: 233
2 jumps found. (Code = 43) Position 1 = 245, Position 2 = 251
Branch analysis from position: 245
2 jumps found. (Code = 43) Position 1 = 246, Position 2 = 250
Branch analysis from position: 246
1 jumps found. (Code = 42) Position 1 = 259
Branch analysis from position: 259
1 jumps found. (Code = 42) Position 1 = 267
Branch analysis from position: 267
2 jumps found. (Code = 44) Position 1 = 279, Position 2 = 224
Branch analysis from position: 279
Branch analysis from position: 224
Branch analysis from position: 250
Branch analysis from position: 251
2 jumps found. (Code = 43) Position 1 = 254, Position 2 = 259
Branch analysis from position: 254
1 jumps found. (Code = 42) Position 1 = 267
Branch analysis from position: 267
Branch analysis from position: 259
Branch analysis from position: 262
2 jumps found. (Code = 43) Position 1 = 265, Position 2 = 267
Branch analysis from position: 265
2 jumps found. (Code = 44) Position 1 = 279, Position 2 = 224
Branch analysis from position: 279
Branch analysis from position: 224
Branch analysis from position: 267
Branch analysis from position: 211
Branch analysis from position: 60
2 jumps found. (Code = 43) Position 1 = 68, Position 2 = 182
Branch analysis from position: 68
2 jumps found. (Code = 43) Position 1 = 71, Position 2 = 74
Branch analysis from position: 71
2 jumps found. (Code = 43) Position 1 = 72, Position 2 = 73
Branch analysis from position: 72
1 jumps found. (Code = 42) Position 1 = 206
Branch analysis from position: 206
Branch analysis from position: 73
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 120
Branch analysis from position: 85
2 jumps found. (Code = 46) Position 1 = 96, Position 2 = 98
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 104
Branch analysis from position: 99
1 jumps found. (Code = 42) Position 1 = 106
Branch analysis from position: 106
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 119
Branch analysis from position: 108
2 jumps found. (Code = 43) Position 1 = 113, Position 2 = 116
Branch analysis from position: 113
1 jumps found. (Code = 42) Position 1 = 118
Branch analysis from position: 118
1 jumps found. (Code = 42) Position 1 = 145
Branch analysis from position: 145
2 jumps found. (Code = 43) Position 1 = 147, Position 2 = 149
Branch analysis from position: 147
1 jumps found. (Code = 42) Position 1 = 203
Branch analysis from position: 203
2 jumps found. (Code = 44) Position 1 = 206, Position 2 = 60
Branch analysis from position: 206
Branch analysis from position: 60
Branch analysis from position: 149
2 jumps found. (Code = 47) Position 1 = 158, Position 2 = 169
Branch analysis from position: 158
2 jumps found. (Code = 47) Position 1 = 163, Position 2 = 168
Branch analysis from position: 163
2 jumps found. (Code = 47) Position 1 = 165, Position 2 = 167
Branch analysis from position: 165
2 jumps found. (Code = 43) Position 1 = 170, Position 2 = 172
Branch analysis from position: 170
1 jumps found. (Code = 42) Position 1 = 203
Branch analysis from position: 203
Branch analysis from position: 172
2 jumps found. (Code = 44) Position 1 = 206, Position 2 = 60
Branch analysis from position: 206
Branch analysis from position: 60
Branch analysis from position: 167
Branch analysis from position: 168
Branch analysis from position: 169
Branch analysis from position: 116
1 jumps found. (Code = 42) Position 1 = 145
Branch analysis from position: 145
Branch analysis from position: 119
Branch analysis from position: 104
1 jumps found. (Code = 42) Position 1 = 203
Branch analysis from position: 203
Branch analysis from position: 98
Branch analysis from position: 120
2 jumps found. (Code = 46) Position 1 = 121, Position 2 = 126
Branch analysis from position: 121
2 jumps found. (Code = 46) Position 1 = 123, Position 2 = 125
Branch analysis from position: 123
2 jumps found. (Code = 43) Position 1 = 127, Position 2 = 145
Branch analysis from position: 127
2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 145
Branch analysis from position: 133
2 jumps found. (Code = 43) Position 1 = 139, Position 2 = 142
Branch analysis from position: 139
1 jumps found. (Code = 42) Position 1 = 144
Branch analysis from position: 144
2 jumps found. (Code = 43) Position 1 = 147, Position 2 = 149
Branch analysis from position: 147
Branch analysis from position: 149
Branch analysis from position: 142
2 jumps found. (Code = 43) Position 1 = 147, Position 2 = 149
Branch analysis from position: 147
Branch analysis from position: 149
Branch analysis from position: 145
Branch analysis from position: 145
Branch analysis from position: 125
Branch analysis from position: 126
Branch analysis from position: 182
Branch analysis from position: 57
Branch analysis from position: 53
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 51, Position 2 = 53
Branch analysis from position: 51
Branch analysis from position: 53
Branch analysis from position: 40
filename:       /in/KGSQe
function name:  vote
number of ops:  299
compiled vars:  !0 = $id, !1 = $votes, !2 = $amount, !3 = $proxyList, !4 = $timeout, !5 = $showErrors, !6 = $mh, !7 = $chs, !8 = $parts, !9 = $json, !10 = $proxies, !11 = $post, !12 = $headers, !13 = $loop, !14 = $used, !15 = $i, !16 = $ch, !17 = $key, !18 = $proxy, !19 = $proxyType, !20 = $proxyIP, !21 = $proxyPort, !22 = $running, !23 = $j, !24 = $results, !25 = $exec, !26 = $error, !27 = $resp, !28 = $out
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV_INIT                                        !2      10
          3        RECV_INIT                                        !3      null
          4        RECV_INIT                                        !4      5
          5        RECV_INIT                                        !5      <true>
   13     6        INIT_FCALL_BY_NAME                                       'curl_multi_init'
          7        DO_FCALL                                      0  $29     
          8        ASSIGN                                                   !6, $29
   14     9        ASSIGN                                                   !7, <array>
   15    10        INIT_FCALL                                               'is_file'
         11        SEND_VAR                                                 !3
         12        DO_ICALL                                         $32     
         13      > JMPZ                                                     $32, ->40
   16    14    >   INIT_FCALL                                               'pathinfo'
         15        SEND_VAR                                                 !3
         16        DO_ICALL                                         $33     
         17        ASSIGN                                                   !8, $33
   17    18        ASSIGN                                                   !9, <false>
   18    19        FETCH_DIM_R                                      ~36     !8, 'extension'
         20        IS_EQUAL                                                 ~36, 'json'
         21      > JMPZ                                                     ~37, ->36
   19    22    >   INIT_FCALL                                               'json_decode'
         23        INIT_FCALL                                               'file_get_contents'
         24        SEND_VAR                                                 !3
         25        DO_ICALL                                         $38     
         26        SEND_VAR                                                 $38
         27        SEND_VAL                                                 <true>
         28        DO_ICALL                                         $39     
         29        ASSIGN                                                   !10, $39
   20    30      > JMPZ                                                     !10, ->33
   21    31    >   ASSIGN                                                   !9, <true>
         32      > JMP                                                      ->35
   23    33    >   CONCAT                                           ~42     'Malformed+JSON+in+', !3
         34      > RETURN                                                   ~42
         35    > > JMP                                                      ->40
   26    36    >   INIT_FCALL                                               'file'
         37        SEND_VAR                                                 !3
         38        DO_ICALL                                         $43     
         39        ASSIGN                                                   !10, $43
   30    40    >   INIT_ARRAY                                       ~45     !0, 'id'
   31    41        ADD_ARRAY_ELEMENT                                ~45     !1, 'votes'
   29    42        ASSIGN                                                   !11, ~45
   33    43        INIT_FCALL                                               'http_build_query'
         44        SEND_VAR                                                 !11
         45        DO_ICALL                                         $47     
         46        ASSIGN                                                   !11, $47
   34    47        ASSIGN                                                   !12, <array>
   39    48        ASSIGN                                                   !13, <false>
   40    49        IS_EQUAL                                                 !2, -1
         50      > JMPZ                                                     ~51, ->53
   41    51    >   ASSIGN                                                   !13, <true>
   42    52        ASSIGN                                                   !2, 25
   44    53    >   ISSET_ISEMPTY_CV                                         !10
         54      > JMPZ                                                     ~54, ->57
   45    55    >   COUNT                                            ~55     !10
         56        ASSIGN                                                   !2, ~55
   47    57    >   ASSIGN                                                   !14, <array>
   48    58        ASSIGN                                                   !15, 0
         59      > JMP                                                      ->204
   49    60    >   INIT_METHOD_CALL                                         'makeCurl'
         61        SEND_VAL_EX                                              'http%3A%2F%2Fstrawpoll.me%2Fajax%2Fvote'
         62        DO_FCALL                                      0  $59     
         63        ASSIGN                                                   !16, $59
   50    64        ASSIGN_DIM                                               !7
         65        OP_DATA                                                  !16
   51    66        ISSET_ISEMPTY_CV                                         !10
         67      > JMPZ                                                     ~62, ->182
   52    68    >   COUNT                                            ~63     !10
         69        IS_SMALLER                                               ~63, 1
         70      > JMPZ                                                     ~64, ->74
   53    71    > > JMPZ                                                     !5, ->73
   54    72    >   ECHO                                                     'Out+of+proxies+%3A%28%0A'
   56    73    > > JMP                                                      ->206
   58    74    >   INIT_FCALL                                               'array_rand'
         75        SEND_VAR                                                 !10
         76        DO_ICALL                                         $65     
         77        ASSIGN                                                   !17, $65
   59    78        FETCH_DIM_R                                      ~67     !10, !17
         79        ASSIGN                                                   !18, ~67
   60    80        UNSET_DIM                                                !10, !17
   61    81        FETCH_CONSTANT                                   ~69     'CURLPROXY_HTTP'
         82        ASSIGN                                                   !19, ~69
   62    83        BOOL_NOT                                         ~71     !9
         84      > JMPZ                                                     ~71, ->120
   63    85    >   INIT_FCALL                                               'trim'
         86        SEND_VAR                                                 !18
         87        DO_ICALL                                         $72     
         88        ASSIGN                                                   !18, $72
   64    89        INIT_FCALL                                               'explode'
         90        SEND_VAL                                                 '%3A'
         91        SEND_VAR                                                 !18
         92        DO_ICALL                                         $74     
         93        ASSIGN                                                   !8, $74
   65    94        ISSET_ISEMPTY_DIM_OBJ                         0  ~76     !8, 0
         95      > JMPZ_EX                                          ~76     ~76, ->98
         96    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~77     !8, 1
         97        BOOL                                             ~76     ~77
         98    > > JMPZ                                                     ~76, ->104
   66    99    >   FETCH_DIM_R                                      ~78     !8, 0
        100        ASSIGN                                                   !20, ~78
   67   101        FETCH_DIM_R                                      ~80     !8, 1
        102        ASSIGN                                                   !21, ~80
        103      > JMP                                                      ->106
   69   104    >   PRE_DEC                                                  !15
   70   105      > JMP                                                      ->203
   72   106    >   ISSET_ISEMPTY_DIM_OBJ                         0          !8, 2
        107      > JMPZ                                                     ~83, ->119
   73   108    >   INIT_FCALL                                               'strtoupper'
        109        SEND_VAR                                                 !19
        110        DO_ICALL                                         $84     
        111        IS_EQUAL                                                 $84, 'SOCKS5'
        112      > JMPZ                                                     ~85, ->116
        113    >   FETCH_CONSTANT                                   ~86     'CURLPROXY_SOCKS5'
        114        QM_ASSIGN                                        ~87     ~86
        115      > JMP                                                      ->118
        116    >   FETCH_CONSTANT                                   ~88     'CURLPROXY_HTTP'
        117        QM_ASSIGN                                        ~87     ~88
        118    >   ASSIGN                                                   !19, ~87
        119    > > JMP                                                      ->145
   75   120    > > JMPZ_EX                                          ~90     !9, ->126
        121    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~91     !18, 'ip'
        122      > JMPZ_EX                                          ~91     ~91, ->125
        123    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~92     !18, 'port'
        124        BOOL                                             ~91     ~92
        125    >   BOOL                                             ~90     ~91
        126    > > JMPZ                                                     ~90, ->145
   76   127    >   FETCH_DIM_R                                      ~93     !18, 'ip'
        128        ASSIGN                                                   !20, ~93
   77   129        FETCH_DIM_R                                      ~95     !18, 'port'
        130        ASSIGN                                                   !21, ~95
   78   131        ISSET_ISEMPTY_DIM_OBJ                         0          !18, 'type'
        132      > JMPZ                                                     ~97, ->145
   79   133    >   INIT_FCALL                                               'strtoupper'
        134        FETCH_DIM_R                                      ~98     !18, 'type'
        135        SEND_VAL                                                 ~98
        136        DO_ICALL                                         $99     
        137        IS_EQUAL                                                 $99, 'SOCKS5'
        138      > JMPZ                                                     ~100, ->142
        139    >   FETCH_CONSTANT                                   ~101    'CURLPROXY_SOCKS5'
        140        QM_ASSIGN                                        ~102    ~101
        141      > JMP                                                      ->144
        142    >   FETCH_CONSTANT                                   ~103    'CURLPROXY_HTTP'
        143        QM_ASSIGN                                        ~102    ~103
        144    >   ASSIGN                                                   !19, ~102
   82   145    >   ISSET_ISEMPTY_DIM_OBJ                         0          !14, !20
        146      > JMPZ                                                     ~105, ->149
   83   147    >   PRE_DEC                                                  !15
   84   148      > JMP                                                      ->203
   86   149    >   ASSIGN_DIM                                               !14, !20
        150        OP_DATA                                                  <true>
   87   151        INIT_FCALL                                               'filter_var'
        152        SEND_VAR                                                 !20
        153        SEND_VAL                                                 275
   88   154        SEND_VAL                                                 12582912
        155        DO_ICALL                                         $108    
        156        BOOL_NOT                                         ~109    $108
        157      > JMPNZ_EX                                         ~109    ~109, ->169
   89   158    >   INIT_FCALL                                               'ctype_digit'
        159        SEND_VAR                                                 !21
        160        DO_ICALL                                         $110    
        161        BOOL_NOT                                         ~111    $110
        162      > JMPNZ_EX                                         ~111    ~111, ->168
        163    >   IS_SMALLER                                       ~112    !21, 0
        164      > JMPNZ_EX                                         ~112    ~112, ->167
        165    >   IS_SMALLER                                       ~113    65535, !21
        166        BOOL                                             ~112    ~113
        167    >   BOOL                                             ~111    ~112
        168    >   BOOL                                             ~109    ~111
        169    > > JMPZ                                                     ~109, ->172
   90   170    >   PRE_DEC                                                  !15
   91   171      > JMP                                                      ->203
   93   172    >   INIT_FCALL_BY_NAME                                       'curl_setopt_array'
        173        SEND_VAR_EX                                              !16
   94   174        FETCH_CONSTANT                                   ~115    'CURLOPT_PROXY'
        175        CONCAT                                           ~116    !20, '%3A'
        176        CONCAT                                           ~117    ~116, !21
        177        INIT_ARRAY                                       ~118    ~117, ~115
   95   178        FETCH_CONSTANT                                   ~119    'CURLOPT_PROXYTYPE'
        179        ADD_ARRAY_ELEMENT                                ~118    !19, ~119
        180        SEND_VAL_EX                                              ~118
        181        DO_FCALL                                      0          
   98   182    >   INIT_FCALL_BY_NAME                                       'curl_setopt_array'
        183        SEND_VAR_EX                                              !16
   99   184        FETCH_CONSTANT                                   ~121    'CURLOPT_POSTFIELDS'
        185        INIT_ARRAY                                       ~122    !11, ~121
  100   186        FETCH_CONSTANT                                   ~123    'CURLOPT_POST'
   99   187        ADD_ARRAY_ELEMENT                                ~122    <true>, ~123
  101   188        FETCH_CONSTANT                                   ~124    'CURLOPT_HTTPHEADER'
        189        ADD_ARRAY_ELEMENT                                ~122    !12, ~124
  102   190        FETCH_CONSTANT                                   ~125    'CURLOPT_REFERER'
        191        CONCAT                                           ~126    'http%3A%2F%2Fstrawpoll.me%2F', !0
        192        ADD_ARRAY_ELEMENT                                ~122    ~126, ~125
  103   193        FETCH_CONSTANT                                   ~127    'CURLOPT_USERAGENT'
        194        ADD_ARRAY_ELEMENT                                ~122    'Mozilla%2F5.0+%28Windows+NT+6.3%3B+WOW64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F33.0.1750.146+Safari%2F537.36', ~127
  104   195        FETCH_CONSTANT                                   ~128    'CURLOPT_TIMEOUT'
        196        ADD_ARRAY_ELEMENT                                ~122    !4, ~128
        197        SEND_VAL_EX                                              ~122
        198        DO_FCALL                                      0          
  106   199        INIT_FCALL_BY_NAME                                       'curl_multi_add_handle'
        200        SEND_VAR_EX                                              !6
        201        SEND_VAR_EX                                              !16
        202        DO_FCALL                                      0          
   48   203    >   PRE_INC                                                  !15
        204    >   IS_SMALLER                                               !15, !2
        205      > JMPNZ                                                    ~132, ->60
  108   206    >   ASSIGN                                                   !22, null
  109   207        ASSIGN                                                   !1, 0
  110   208        ASSIGN                                                   !23, 0
  111   209        ASSIGN                                                   !24, <array>
  113   210    > > JMP                                                      ->211
        211    >   INIT_FCALL_BY_NAME                                       'curl_multi_exec'
        212        SEND_VAR_EX                                              !6
        213        SEND_VAR_EX                                              !22
        214        DO_FCALL                                      0  $137    
        215        ASSIGN                                           ~138    !25, $137
        216        FETCH_CONSTANT                                   ~139    'CURLM_CALL_MULTI_PERFORM'
        217        IS_EQUAL                                                 ~138, ~139
        218      > JMPNZ                                                    ~140, ->211
  114   219    >   FETCH_CONSTANT                                   ~141    'CURLM_OK'
        220        IS_NOT_EQUAL                                             !25, ~141
        221      > JMPZ                                                     ~142, ->223
  115   222    > > JMP                                                      ->280
  117   223    > > JMP                                                      ->274
  118   224    >   PRE_INC                                                  !23
  119   225        FETCH_DIM_R                                      ~144    !16, 'handle'
        226        ASSIGN                                                   !16, ~144
  120   227        INIT_FCALL_BY_NAME                                       'curl_error'
        228        SEND_VAR_EX                                              !16
        229        DO_FCALL                                      0  $146    
        230        ASSIGN                                                   !26, $146
  121   231        BOOL_NOT                                         ~148    !26
        232      > JMPZ                                                     ~148, ->262
  122   233    >   INIT_FCALL_BY_NAME                                       'curl_multi_getcontent'
        234        SEND_VAR_EX                                              !16
        235        DO_FCALL                                      0  $149    
        236        ASSIGN                                                   !27, $149
  123   237        INIT_FCALL                                               'json_decode'
        238        SEND_VAR                                                 !27
        239        SEND_VAL                                                 <true>
        240        DO_ICALL                                         $151    
        241        ASSIGN                                                   !28, $151
  124   242        ISSET_ISEMPTY_DIM_OBJ                         0  ~153    !28, 'success'
        243        BOOL_NOT                                         ~154    ~153
        244      > JMPZ                                                     ~154, ->251
  125   245    > > JMPZ                                                     !5, ->250
  126   246    >   ECHO                     

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
177.55 ms | 1428 KiB | 39 Q