#line 129 "internal/support/include/afterlastline.bm"
qbs* FUNC__WHATISMYIP(){
#line 129 "internal/support/include/afterlastline.bm"
qbs *tqbs;
#line 129 "internal/support/include/afterlastline.bm"
ptrszint tmp_long;
#line 129 "internal/support/include/afterlastline.bm"
int32 tmp_fileno;
#line 129 "internal/support/include/afterlastline.bm"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 129 "internal/support/include/afterlastline.bm"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 129 "internal/support/include/afterlastline.bm"
uint32 tmp_cmem_sp=cmem_sp;
#line 129 "internal/support/include/afterlastline.bm"
#include "data511.txt"
#line 129 "internal/support/include/afterlastline.bm"
mem_lock *sf_mem_lock;
#line 129 "internal/support/include/afterlastline.bm"
new_mem_lock();
#line 129 "internal/support/include/afterlastline.bm"
sf_mem_lock=mem_lock_tmp;
#line 129 "internal/support/include/afterlastline.bm"
sf_mem_lock->type=3;
#line 129 "internal/support/include/afterlastline.bm"
libqb_check_stack();
#line 129 "internal/support/include/afterlastline.bm"
if (is_error_pending()) goto exit_subfunc;
#line 148 "internal/support/include/afterlastline.bm"
*_FUNC__WHATISMYIP_LONG__CH=func__openclient(qbs_new_txt_len("http://qb64phoenix.com/qb64_files/ip.php",40));
#line 148 "internal/support/include/afterlastline.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 149 "internal/support/include/afterlastline.bm"
if ((-(*_FUNC__WHATISMYIP_LONG__CH== 0ll ))||is_error_pending()){
#line 149 "internal/support/include/afterlastline.bm"
goto exit_subfunc;
#line 149 "internal/support/include/afterlastline.bm"
}
#line 151 "internal/support/include/afterlastline.bm"
if ((-(func__statusCode(*_FUNC__WHATISMYIP_LONG__CH)== 200 ))||is_error_pending()){
#line 152 "internal/support/include/afterlastline.bm"
qbs_set(_FUNC__WHATISMYIP_STRING__RES,qbs_new_txt_len("",0));
#line 152 "internal/support/include/afterlastline.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 152 "internal/support/include/afterlastline.bm"
*_FUNC__WHATISMYIP_DOUBLE__ST=func_timer( 0.001E+0 ,0|1);
#line 153 "internal/support/include/afterlastline.bm"
do{
#line 154 "internal/support/include/afterlastline.bm"
sub__delay( 0.1E+0 );
#line 155 "internal/support/include/afterlastline.bm"
sub_get2(*_FUNC__WHATISMYIP_LONG__CH,NULL,_FUNC__WHATISMYIP_STRING__REC,0);
#line 155 "internal/support/include/afterlastline.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 156 "internal/support/include/afterlastline.bm"
if ((qbs_cleanup(qbs_tmp_base,-(_FUNC__WHATISMYIP_STRING__REC->len> 0 )))||is_error_pending()){
#line 156 "internal/support/include/afterlastline.bm"
*_FUNC__WHATISMYIP_DOUBLE__ST=func_timer( 0.001E+0 ,0|1);
#line 156 "internal/support/include/afterlastline.bm"
}
#line 157 "internal/support/include/afterlastline.bm"
qbs_set(_FUNC__WHATISMYIP_STRING__RES,qbs_add(_FUNC__WHATISMYIP_STRING__RES,_FUNC__WHATISMYIP_STRING__REC));
#line 157 "internal/support/include/afterlastline.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 158 "internal/support/include/afterlastline.bm"
if ((func_eof(*_FUNC__WHATISMYIP_LONG__CH))||is_error_pending()){
#line 159 "internal/support/include/afterlastline.bm"
qbs_set(_FUNC__WHATISMYIP_STRING__WHATISMYIP,_FUNC__WHATISMYIP_STRING__RES);
#line 159 "internal/support/include/afterlastline.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 159 "internal/support/include/afterlastline.bm"
goto dl_exit_7490;
#line 160 "internal/support/include/afterlastline.bm"
}
#line 161 "internal/support/include/afterlastline.bm"
if ((-((*_FUNC__WHATISMYIP_DOUBLE__ST+ 10 )>=( 86400ll )))||is_error_pending()){
#line 161 "internal/support/include/afterlastline.bm"
*_FUNC__WHATISMYIP_DOUBLE__ST=*_FUNC__WHATISMYIP_DOUBLE__ST- 86400ll ;
#line 161 "internal/support/include/afterlastline.bm"
}
#line 162 "internal/support/include/afterlastline.bm"
dl_continue_7490:;
#line 162 "internal/support/include/afterlastline.bm"
}while((!(-(((float)((func_timer( 0.001E+0 ,0|1))))>((float)((*_FUNC__WHATISMYIP_DOUBLE__ST+ 10 ))))))&&(!is_error_pending()));
#line 162 "internal/support/include/afterlastline.bm"
dl_exit_7490:;
#line 163 "internal/support/include/afterlastline.bm"
}
#line 164 "internal/support/include/afterlastline.bm"
sub_close(*_FUNC__WHATISMYIP_LONG__CH,1);
#line 165 "internal/support/include/afterlastline.bm"
exit_subfunc:;
#line 165 "internal/support/include/afterlastline.bm"
free_mem_lock(sf_mem_lock);
#line 165 "internal/support/include/afterlastline.bm"
#include "free511.txt"
#line 165 "internal/support/include/afterlastline.bm"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
#line 165 "internal/support/include/afterlastline.bm"
cmem_sp=tmp_cmem_sp;
#line 165 "internal/support/include/afterlastline.bm"
qbs_maketmp(_FUNC__WHATISMYIP_STRING__WHATISMYIP);return _FUNC__WHATISMYIP_STRING__WHATISMYIP;
#line 165 "internal/support/include/afterlastline.bm"
}
