// generated with rfgscript generate_boogie.py --check-overflow /storage/repos/ir2boogie/benchmarks/bauhaus-lua/Lua.ir from ir2boogie f4e6ff21ee77946575c0a15275a8722e34f012da and Axivion Suite Version: 7.2.2-r7361 (2021-07-12) // current ultimate opts are /usr/bin/java -Dosgi.configuration.area=data/config -Xmx12G -Xms1G -jar plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata data --traceabstraction.stop.after.first.violation.was.found=false --rcfgbuilder.add.additional.assume.for.each.assert=false --traceabstraction.limit.analysis.time=90 --rcfgbuilder.remove.assume.true.statements=false --traceabstraction.trace.refinement.strategy=CAMEL -tc /storage/repos/ultimate/trunk/examples/toolchains/AutomizerBpl.xml -i <..> var _memory : [{ base : int, offset : int }] int; var _memory_ptr : [{ base : int, offset : int }] { base : int, offset : int }; var _valid : [int] int; var _length : [int] int; var global_#31156_ef : { base : int, offset : int }; var global_#31157_log_2 : { base : int, offset : int }; var global_#31158_luaT_eventname : { base : int, offset : int }; var global_#31159_version : { base : int, offset : int }; var global_#31160_searchers : { base : int, offset : int }; var global_#31161_mode : { base : int, offset : int }; var global_#31162_modenames : { base : int, offset : int }; var global_#31163_mode : { base : int, offset : int }; var global_#31164_modenames : { base : int, offset : int }; var global_#31165_hooknames : { base : int, offset : int }; var global_#31166_opts : { base : int, offset : int }; var global_#31167_optsnum : { base : int, offset : int }; var global_#31168_cat : { base : int, offset : int }; var global_#31169_catnames : { base : int, offset : int }; var global_#31170_limits : { base : int, offset : int }; var global_#33047_CLIBS : { base : int, offset : int }; var global_#33048_HOOKKEY : { base : int, offset : int }; var global_#33049_base_funcs : { base : int, offset : int }; var global_#33050_bitlib : { base : int, offset : int }; var global_#33051_co_funcs : { base : int, offset : int }; var global_#33052_dblib : { base : int, offset : int }; var global_#33053_dummynode_ : { base : int, offset : int }; var global_#33054_flib : { base : int, offset : int }; var global_#33055_funcs : { base : int, offset : int }; var global_#33056_globalL : { base : int, offset : int }; var global_#33057_iolib : { base : int, offset : int }; var global_#33058_ll_funcs : { base : int, offset : int }; var global_#33059_loadedlibs : { base : int, offset : int }; var global_#33060_luaX_tokens : { base : int, offset : int }; var global_#33061_mathlib : { base : int, offset : int }; var global_#33062_nativeendian : { base : int, offset : int }; var global_#33063_pk_funcs : { base : int, offset : int }; var global_#33064_priority : { base : int, offset : int }; var global_#33065_progname : { base : int, offset : int }; var global_#33066_strlib : { base : int, offset : int }; var global_#33067_syslib : { base : int, offset : int }; var global_#33068_tab_funcs : { base : int, offset : int }; var global_#33069_udatatypename : { base : int, offset : int }; var global_#33098_luaO_nilobject_ : { base : int, offset : int }; var global_#33099_luaP_opmodes : { base : int, offset : int }; var global_#33101_luaT_typenames_ : { base : int, offset : int }; var global_#33103_luai_ctype_ : { base : int, offset : int }; var global_#33190_stderr : { base : int, offset : int }; var global_#33191_stdin : { base : int, offset : int }; var global_#33192_stdout : { base : int, offset : int }; procedure ULTIMATE.init() returns () modifies _memory, _memory_ptr, global_#33056_globalL, global_#33065_progname; { var local_#29949 : { base : int, offset : int }; var local_#30903 : { _k : int, _u : { _ind : { _idx : int, _t : int, _vt : int }, _info : int, _ival : int, _nval : int }, _t : int, _f : int }; var local_#29950 : int; var local_#29951 : { base : int, offset : int }; var local_#30904 : { base : int, offset : int }; var local_#30905 : [int] int; var local_#29953 : { base : int, offset : int }; var local_#30906 : [int] { base : int, offset : int }; var local_#29955 : { base : int, offset : int }; var local_#29957 : { base : int, offset : int }; var local_#29959 : { base : int, offset : int }; var local_#29961 : { base : int, offset : int }; var local_#29963 : { base : int, offset : int }; var local_#29965 : { base : int, offset : int }; var local_#29967 : { base : int, offset : int }; var local_#29969 : { base : int, offset : int }; var local_#29971 : { base : int, offset : int }; var local_#29973 : { base : int, offset : int }; var local_#29975 : { base : int, offset : int }; var local_#29977 : { base : int, offset : int }; var local_#29979 : { base : int, offset : int }; var local_#29981 : { base : int, offset : int }; var local_#29983 : { base : int, offset : int }; var local_#29985 : { base : int, offset : int }; var local_#29987 : { base : int, offset : int }; var local_#29989 : { base : int, offset : int }; var local_#29991 : { base : int, offset : int }; var local_#29993 : { base : int, offset : int }; var local_#29995 : { base : int, offset : int }; var local_#29997 : { base : int, offset : int }; var local_#29999 : { base : int, offset : int }; var local_#30001 : { base : int, offset : int }; var local_#30003 : { base : int, offset : int }; var local_#30005 : { base : int, offset : int }; var local_#30007 : { base : int, offset : int }; var local_#30009 : { base : int, offset : int }; var local_#30011 : { base : int, offset : int }; var local_#30013 : { base : int, offset : int }; var local_#30015 : { base : int, offset : int }; var local_#30017 : { base : int, offset : int }; var local_#30019 : { base : int, offset : int }; var local_#30021 : { base : int, offset : int }; var local_#30023 : { base : int, offset : int }; var local_#30025 : { base : int, offset : int }; var local_#30026 : { base : int, offset : int }; var local_#30027 : { base : int, offset : int }; var local_#30908 : { base : int, offset : int }; var local_#30907 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#30909 : [int] int; var local_#30029 : { base : int, offset : int }; var local_#30910 : [int] { base : int, offset : int }; var local_#30031 : { base : int, offset : int }; var local_#30033 : { base : int, offset : int }; var local_#30035 : { base : int, offset : int }; var local_#30037 : { base : int, offset : int }; var local_#30039 : { base : int, offset : int }; var local_#30041 : { base : int, offset : int }; var local_#30043 : { base : int, offset : int }; var local_#30045 : { base : int, offset : int }; var local_#30047 : { base : int, offset : int }; var local_#30049 : { base : int, offset : int }; var local_#30051 : { base : int, offset : int }; var local_#30053 : { base : int, offset : int }; var local_#30055 : { base : int, offset : int }; var local_#30057 : { base : int, offset : int }; var local_#30059 : { base : int, offset : int }; var local_#30061 : { base : int, offset : int }; var local_#30063 : { base : int, offset : int }; var local_#30065 : { base : int, offset : int }; var local_#30067 : { base : int, offset : int }; var local_#30069 : { base : int, offset : int }; var local_#30071 : { base : int, offset : int }; var local_#30073 : { base : int, offset : int }; var local_#30075 : { base : int, offset : int }; var local_#30077 : { base : int, offset : int }; var local_#30079 : { base : int, offset : int }; var local_#30081 : { base : int, offset : int }; var local_#30083 : { base : int, offset : int }; var local_#30085 : { base : int, offset : int }; var local_#30087 : { base : int, offset : int }; var local_#30089 : { base : int, offset : int }; var local_#30091 : { base : int, offset : int }; var local_#30093 : { base : int, offset : int }; var local_#30095 : { base : int, offset : int }; var local_#30097 : { base : int, offset : int }; var local_#30099 : { base : int, offset : int }; var local_#30101 : { base : int, offset : int }; var local_#30103 : { base : int, offset : int }; var local_#30105 : { base : int, offset : int }; var local_#30107 : { base : int, offset : int }; var local_#30109 : { base : int, offset : int }; var local_#30111 : { base : int, offset : int }; var local_#30113 : { base : int, offset : int }; var local_#30115 : { base : int, offset : int }; var local_#30117 : { base : int, offset : int }; var local_#30119 : { base : int, offset : int }; var local_#30121 : { base : int, offset : int }; var local_#30911 : [int] int; var local_#30913 : { _left : int, _right : int }; var local_#30912 : [int] { _left : int, _right : int }; var local_#30914 : { _left : int, _right : int }; var local_#30915 : { _left : int, _right : int }; var local_#30916 : { _left : int, _right : int }; var local_#30917 : { _left : int, _right : int }; var local_#30918 : { _left : int, _right : int }; var local_#30919 : { _left : int, _right : int }; var local_#30920 : { _left : int, _right : int }; var local_#30921 : { _left : int, _right : int }; var local_#30922 : { _left : int, _right : int }; var local_#30923 : { _left : int, _right : int }; var local_#30924 : { _left : int, _right : int }; var local_#30925 : { _left : int, _right : int }; var local_#30926 : { _left : int, _right : int }; var local_#30927 : { _left : int, _right : int }; var local_#30928 : { _left : int, _right : int }; var local_#30929 : { _left : int, _right : int }; var local_#30930 : { _left : int, _right : int }; var local_#30931 : { _left : int, _right : int }; var local_#30932 : { _left : int, _right : int }; var local_#30933 : { _left : int, _right : int }; var local_#30122 : { base : int, offset : int }; var local_#30123 : { base : int, offset : int }; var local_#30936 : { base : int, offset : int }; var local_#30935 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#30934 : { _i_val : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }, _i_key : { _nk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }, _tvk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int } } }; var local_#30124 : { base : int, offset : int }; var local_#30125 : { base : int, offset : int }; var local_#30939 : { base : int, offset : int }; var local_#30938 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }; var local_#30126 : { base : int, offset : int }; var local_#30937 : { base : int, offset : int }; var local_#30128 : { base : int, offset : int }; var local_#30940 : [int] { base : int, offset : int }; var local_#30130 : { base : int, offset : int }; var local_#30132 : { base : int, offset : int }; var local_#30134 : { base : int, offset : int }; var local_#30136 : { base : int, offset : int }; var local_#30138 : { base : int, offset : int }; var local_#30140 : { base : int, offset : int }; var local_#30142 : { base : int, offset : int }; var local_#30144 : { base : int, offset : int }; var local_#30146 : { base : int, offset : int }; var local_#30941 : [int] { base : int, offset : int }; var local_#30148 : { base : int, offset : int }; var local_#30150 : { base : int, offset : int }; var local_#30152 : { base : int, offset : int }; var local_#30154 : { base : int, offset : int }; var local_#30156 : { base : int, offset : int }; var local_#30158 : { base : int, offset : int }; var local_#30160 : { base : int, offset : int }; var local_#30162 : { base : int, offset : int }; var local_#30164 : { base : int, offset : int }; var local_#30166 : { base : int, offset : int }; var local_#30168 : { base : int, offset : int }; var local_#30170 : { base : int, offset : int }; var local_#30172 : { base : int, offset : int }; var local_#30174 : { base : int, offset : int }; var local_#30176 : { base : int, offset : int }; var local_#30178 : { base : int, offset : int }; var local_#30180 : { base : int, offset : int }; var local_#30182 : { base : int, offset : int }; var local_#30184 : { base : int, offset : int }; var local_#30186 : { base : int, offset : int }; var local_#30188 : { base : int, offset : int }; var local_#30190 : { base : int, offset : int }; var local_#30192 : { base : int, offset : int }; var local_#30194 : { base : int, offset : int }; var local_#30943 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30942 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30196 : { base : int, offset : int }; var local_#30944 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30198 : { base : int, offset : int }; var local_#30945 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30200 : { base : int, offset : int }; var local_#30946 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30202 : { base : int, offset : int }; var local_#30947 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30204 : { base : int, offset : int }; var local_#30948 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30206 : { base : int, offset : int }; var local_#30949 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30208 : { base : int, offset : int }; var local_#30950 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30210 : { base : int, offset : int }; var local_#30951 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30212 : { base : int, offset : int }; var local_#30952 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30214 : { base : int, offset : int }; var local_#30953 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30216 : { base : int, offset : int }; var local_#30954 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30218 : { base : int, offset : int }; var local_#30955 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30220 : { base : int, offset : int }; var local_#30956 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30222 : { base : int, offset : int }; var local_#30957 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30224 : { base : int, offset : int }; var local_#30958 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30226 : { base : int, offset : int }; var local_#30959 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30228 : { base : int, offset : int }; var local_#30960 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30230 : { base : int, offset : int }; var local_#30961 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30232 : { base : int, offset : int }; var local_#30962 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30234 : { base : int, offset : int }; var local_#30963 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30236 : { base : int, offset : int }; var local_#30964 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30238 : { base : int, offset : int }; var local_#30965 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30240 : { base : int, offset : int }; var local_#30966 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30967 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30242 : { base : int, offset : int }; var local_#30968 : [int] { base : int, offset : int }; var local_#30244 : { base : int, offset : int }; var local_#30246 : { base : int, offset : int }; var local_#30248 : { base : int, offset : int }; var local_#30250 : { base : int, offset : int }; var local_#30252 : { base : int, offset : int }; var local_#30254 : { base : int, offset : int }; var local_#30256 : { base : int, offset : int }; var local_#30969 : [int] int; var local_#30258 : { base : int, offset : int }; var local_#30971 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30970 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30260 : { base : int, offset : int }; var local_#30972 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30262 : { base : int, offset : int }; var local_#30973 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30264 : { base : int, offset : int }; var local_#30974 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30266 : { base : int, offset : int }; var local_#30975 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30268 : { base : int, offset : int }; var local_#30976 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30270 : { base : int, offset : int }; var local_#30977 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30272 : { base : int, offset : int }; var local_#30978 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30274 : { base : int, offset : int }; var local_#30979 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30276 : { base : int, offset : int }; var local_#30980 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30278 : { base : int, offset : int }; var local_#30981 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30280 : { base : int, offset : int }; var local_#30982 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30983 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30282 : { base : int, offset : int }; var local_#30985 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30984 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30284 : { base : int, offset : int }; var local_#30986 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30286 : { base : int, offset : int }; var local_#30987 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30288 : { base : int, offset : int }; var local_#30988 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30290 : { base : int, offset : int }; var local_#30989 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30292 : { base : int, offset : int }; var local_#30990 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30294 : { base : int, offset : int }; var local_#30991 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30992 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30296 : { base : int, offset : int }; var local_#30994 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30993 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30298 : { base : int, offset : int }; var local_#30995 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30300 : { base : int, offset : int }; var local_#30996 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30302 : { base : int, offset : int }; var local_#30997 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30304 : { base : int, offset : int }; var local_#30998 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30306 : { base : int, offset : int }; var local_#30999 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30308 : { base : int, offset : int }; var local_#31000 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30310 : { base : int, offset : int }; var local_#31001 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30312 : { base : int, offset : int }; var local_#31002 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30314 : { base : int, offset : int }; var local_#31003 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30316 : { base : int, offset : int }; var local_#31004 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30318 : { base : int, offset : int }; var local_#31005 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30320 : { base : int, offset : int }; var local_#31006 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30322 : { base : int, offset : int }; var local_#31007 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30324 : { base : int, offset : int }; var local_#31008 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30326 : { base : int, offset : int }; var local_#31009 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31010 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30328 : { base : int, offset : int }; var local_#31011 : [int] { base : int, offset : int }; var local_#30330 : { base : int, offset : int }; var local_#30332 : { base : int, offset : int }; var local_#30334 : { base : int, offset : int }; var local_#30336 : { base : int, offset : int }; var local_#30338 : { base : int, offset : int }; var local_#31013 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31012 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30340 : { base : int, offset : int }; var local_#31014 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30342 : { base : int, offset : int }; var local_#31015 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30344 : { base : int, offset : int }; var local_#31016 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30346 : { base : int, offset : int }; var local_#31017 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30348 : { base : int, offset : int }; var local_#31018 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30350 : { base : int, offset : int }; var local_#31019 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30352 : { base : int, offset : int }; var local_#31020 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30354 : { base : int, offset : int }; var local_#31021 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30356 : { base : int, offset : int }; var local_#31022 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30358 : { base : int, offset : int }; var local_#31023 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31024 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30360 : { base : int, offset : int }; var local_#31026 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31025 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30362 : { base : int, offset : int }; var local_#31027 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30364 : { base : int, offset : int }; var local_#31028 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30366 : { base : int, offset : int }; var local_#31029 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30368 : { base : int, offset : int }; var local_#31030 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30370 : { base : int, offset : int }; var local_#31031 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30372 : { base : int, offset : int }; var local_#31032 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30374 : { base : int, offset : int }; var local_#31033 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30376 : { base : int, offset : int }; var local_#31034 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31035 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31036 : [int] int; var local_#30378 : { base : int, offset : int }; var local_#31037 : [int] { base : int, offset : int }; var local_#30380 : { base : int, offset : int }; var local_#30382 : { base : int, offset : int }; var local_#31038 : [int] int; var local_#30384 : { base : int, offset : int }; var local_#31039 : [int] { base : int, offset : int }; var local_#30386 : { base : int, offset : int }; var local_#30388 : { base : int, offset : int }; var local_#30390 : { base : int, offset : int }; var local_#31041 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31040 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30392 : { base : int, offset : int }; var local_#31042 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30394 : { base : int, offset : int }; var local_#31043 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30396 : { base : int, offset : int }; var local_#31044 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30398 : { base : int, offset : int }; var local_#31045 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30400 : { base : int, offset : int }; var local_#31046 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30402 : { base : int, offset : int }; var local_#31047 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30404 : { base : int, offset : int }; var local_#31048 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30406 : { base : int, offset : int }; var local_#31049 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30408 : { base : int, offset : int }; var local_#31050 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30410 : { base : int, offset : int }; var local_#31051 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30412 : { base : int, offset : int }; var local_#31052 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30414 : { base : int, offset : int }; var local_#31053 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30416 : { base : int, offset : int }; var local_#31054 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30418 : { base : int, offset : int }; var local_#31055 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30420 : { base : int, offset : int }; var local_#31056 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30422 : { base : int, offset : int }; var local_#31057 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30424 : { base : int, offset : int }; var local_#31058 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30426 : { base : int, offset : int }; var local_#31059 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30428 : { base : int, offset : int }; var local_#31060 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30430 : { base : int, offset : int }; var local_#31061 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30432 : { base : int, offset : int }; var local_#31062 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30434 : { base : int, offset : int }; var local_#31063 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30436 : { base : int, offset : int }; var local_#31064 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30438 : { base : int, offset : int }; var local_#31065 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30440 : { base : int, offset : int }; var local_#31066 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30442 : { base : int, offset : int }; var local_#31067 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30444 : { base : int, offset : int }; var local_#31068 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30446 : { base : int, offset : int }; var local_#31069 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30448 : { base : int, offset : int }; var local_#31070 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30450 : { base : int, offset : int }; var local_#31071 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30452 : { base : int, offset : int }; var local_#31072 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30454 : { base : int, offset : int }; var local_#31073 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30456 : { base : int, offset : int }; var local_#31074 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30458 : { base : int, offset : int }; var local_#31075 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31076 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30460 : { base : int, offset : int }; var local_#31078 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31077 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30462 : { base : int, offset : int }; var local_#31079 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30464 : { base : int, offset : int }; var local_#31080 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30466 : { base : int, offset : int }; var local_#31081 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30468 : { base : int, offset : int }; var local_#31082 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30470 : { base : int, offset : int }; var local_#31083 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30472 : { base : int, offset : int }; var local_#31084 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30474 : { base : int, offset : int }; var local_#31085 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30476 : { base : int, offset : int }; var local_#31086 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30478 : { base : int, offset : int }; var local_#31087 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30480 : { base : int, offset : int }; var local_#31088 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31089 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31090 : [int] int; var local_#30482 : { base : int, offset : int }; var local_#31091 : [int] { base : int, offset : int }; var local_#30484 : { base : int, offset : int }; var local_#30486 : { base : int, offset : int }; var local_#30488 : { base : int, offset : int }; var local_#30490 : { base : int, offset : int }; var local_#30492 : { base : int, offset : int }; var local_#30493 : int; var local_#30494 : { base : int, offset : int }; var local_#31092 : { base : int, offset : int }; var local_#30496 : { base : int, offset : int }; var local_#31094 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31093 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30498 : { base : int, offset : int }; var local_#31095 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30500 : { base : int, offset : int }; var local_#31096 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30502 : { base : int, offset : int }; var local_#31097 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30504 : { base : int, offset : int }; var local_#31098 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30506 : { base : int, offset : int }; var local_#31099 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30508 : { base : int, offset : int }; var local_#31100 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30510 : { base : int, offset : int }; var local_#31101 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30512 : { base : int, offset : int }; var local_#31102 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30514 : { base : int, offset : int }; var local_#31103 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30516 : { base : int, offset : int }; var local_#31104 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30518 : { base : int, offset : int }; var local_#31105 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30520 : { base : int, offset : int }; var local_#31106 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30522 : { base : int, offset : int }; var local_#31107 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30524 : { base : int, offset : int }; var local_#31108 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30526 : { base : int, offset : int }; var local_#31109 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30528 : { base : int, offset : int }; var local_#31110 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31111 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30530 : { base : int, offset : int }; var local_#31113 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31112 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30532 : { base : int, offset : int }; var local_#31114 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30534 : { base : int, offset : int }; var local_#31115 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30536 : { base : int, offset : int }; var local_#31116 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30538 : { base : int, offset : int }; var local_#31117 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30540 : { base : int, offset : int }; var local_#31118 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30542 : { base : int, offset : int }; var local_#31119 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31120 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30544 : { base : int, offset : int }; var local_#31122 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31121 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30546 : { base : int, offset : int }; var local_#31123 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30548 : { base : int, offset : int }; var local_#31124 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30550 : { base : int, offset : int }; var local_#31125 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30552 : { base : int, offset : int }; var local_#31126 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30554 : { base : int, offset : int }; var local_#31127 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31128 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31129 : [int] int; var local_#30556 : { base : int, offset : int }; var local_#31131 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31130 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30558 : { base : int, offset : int }; var local_#31132 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30560 : { base : int, offset : int }; var local_#31133 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30562 : { base : int, offset : int }; var local_#31134 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30564 : { base : int, offset : int }; var local_#31135 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30566 : { base : int, offset : int }; var local_#31136 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30568 : { base : int, offset : int }; var local_#31137 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31138 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30570 : { base : int, offset : int }; var local_#31140 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31139 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31141 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31142 : [int] { base : int, offset : int }; var local_#30572 : { base : int, offset : int }; var local_#31144 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31143 : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30574 : { base : int, offset : int }; var local_#31145 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30576 : { base : int, offset : int }; var local_#31146 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30578 : { base : int, offset : int }; var local_#31147 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30580 : { base : int, offset : int }; var local_#31148 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30582 : { base : int, offset : int }; var local_#31149 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30584 : { base : int, offset : int }; var local_#31150 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30586 : { base : int, offset : int }; var local_#31151 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30588 : { base : int, offset : int }; var local_#31152 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30590 : { base : int, offset : int }; var local_#31153 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#30592 : { base : int, offset : int }; var local_#31154 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; var local_#31155 : { _name : { base : int, offset : int }, _func : { base : int, offset : int } }; goto CFG_37136; CFG_37136: goto CFG_44934; CFG_44934: global_#33056_globalL := { base : 0, offset : 0 }; global_#33065_progname := local_#29949; goto CFG_44935; CFG_44935: goto CFG_44936; CFG_44936: local_#30903!_k := 6; _memory[local_#29951] := local_#29950; assume read_type_#132(_memory, _memory_ptr, local_#30904)!_ind!_idx == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 + 0 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_ind!_t == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 + 2 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_ind!_vt == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 + 3 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_info == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 }] && read_type_#132(_memory, _memory_ptr, local_#30904)!_ival == _memory[{ base : local_#30904!base, offset : local_#30904!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */; local_#30903!_u := read_type_#132(_memory, _memory_ptr, local_#30904); local_#30903!_t := -1; local_#30903!_f := -1; goto CFG_44937; CFG_44937: local_#30905[0] := 0; local_#30905[1] := 0; local_#30905[2] := 0; local_#30905[3] := 0; local_#30905[4] := 0; local_#30905[5] := 0; local_#30905[6] := 0; local_#30905[7] := 0; local_#30905[8] := 0; local_#30905[9] := 0; local_#30905[10] := 8; local_#30905[11] := 8; local_#30905[12] := 8; local_#30905[13] := 8; local_#30905[14] := 8; local_#30905[15] := 0; local_#30905[16] := 0; local_#30905[17] := 0; local_#30905[18] := 0; local_#30905[19] := 0; local_#30905[20] := 0; local_#30905[21] := 0; local_#30905[22] := 0; local_#30905[23] := 0; local_#30905[24] := 0; local_#30905[25] := 0; local_#30905[26] := 0; local_#30905[27] := 0; local_#30905[28] := 0; local_#30905[29] := 0; local_#30905[30] := 0; local_#30905[31] := 0; local_#30905[32] := 0; local_#30905[33] := 12; local_#30905[34] := 4; local_#30905[35] := 4; local_#30905[36] := 4; local_#30905[37] := 4; local_#30905[38] := 4; local_#30905[39] := 4; local_#30905[40] := 4; local_#30905[41] := 4; local_#30905[42] := 4; local_#30905[43] := 4; local_#30905[44] := 4; local_#30905[45] := 4; local_#30905[46] := 4; local_#30905[47] := 4; local_#30905[48] := 4; local_#30905[49] := 22; local_#30905[50] := 22; local_#30905[51] := 22; local_#30905[52] := 22; local_#30905[53] := 22; local_#30905[54] := 22; local_#30905[55] := 22; local_#30905[56] := 22; local_#30905[57] := 22; local_#30905[58] := 22; local_#30905[59] := 4; local_#30905[60] := 4; local_#30905[61] := 4; local_#30905[62] := 4; local_#30905[63] := 4; local_#30905[64] := 4; local_#30905[65] := 4; local_#30905[66] := 21; local_#30905[67] := 21; local_#30905[68] := 21; local_#30905[69] := 21; local_#30905[70] := 21; local_#30905[71] := 21; local_#30905[72] := 5; local_#30905[73] := 5; local_#30905[74] := 5; local_#30905[75] := 5; local_#30905[76] := 5; local_#30905[77] := 5; local_#30905[78] := 5; local_#30905[79] := 5; local_#30905[80] := 5; local_#30905[81] := 5; local_#30905[82] := 5; local_#30905[83] := 5; local_#30905[84] := 5; local_#30905[85] := 5; local_#30905[86] := 5; local_#30905[87] := 5; local_#30905[88] := 5; local_#30905[89] := 5; local_#30905[90] := 5; local_#30905[91] := 5; local_#30905[92] := 4; local_#30905[93] := 4; local_#30905[94] := 4; local_#30905[95] := 4; local_#30905[96] := 5; local_#30905[97] := 4; local_#30905[98] := 21; local_#30905[99] := 21; local_#30905[100] := 21; local_#30905[101] := 21; local_#30905[102] := 21; local_#30905[103] := 21; local_#30905[104] := 5; local_#30905[105] := 5; local_#30905[106] := 5; local_#30905[107] := 5; local_#30905[108] := 5; local_#30905[109] := 5; local_#30905[110] := 5; local_#30905[111] := 5; local_#30905[112] := 5; local_#30905[113] := 5; local_#30905[114] := 5; local_#30905[115] := 5; local_#30905[116] := 5; local_#30905[117] := 5; local_#30905[118] := 5; local_#30905[119] := 5; local_#30905[120] := 5; local_#30905[121] := 5; local_#30905[122] := 5; local_#30905[123] := 5; local_#30905[124] := 4; local_#30905[125] := 4; local_#30905[126] := 4; local_#30905[127] := 4; local_#30905[128] := 0; local_#30905[129] := 0; local_#30905[130] := 0; local_#30905[131] := 0; local_#30905[132] := 0; local_#30905[133] := 0; local_#30905[134] := 0; local_#30905[135] := 0; local_#30905[136] := 0; local_#30905[137] := 0; local_#30905[138] := 0; local_#30905[139] := 0; local_#30905[140] := 0; local_#30905[141] := 0; local_#30905[142] := 0; local_#30905[143] := 0; local_#30905[144] := 0; local_#30905[145] := 0; local_#30905[146] := 0; local_#30905[147] := 0; local_#30905[148] := 0; local_#30905[149] := 0; local_#30905[150] := 0; local_#30905[151] := 0; local_#30905[152] := 0; local_#30905[153] := 0; local_#30905[154] := 0; local_#30905[155] := 0; local_#30905[156] := 0; local_#30905[157] := 0; local_#30905[158] := 0; local_#30905[159] := 0; local_#30905[160] := 0; local_#30905[161] := 0; local_#30905[162] := 0; local_#30905[163] := 0; local_#30905[164] := 0; local_#30905[165] := 0; local_#30905[166] := 0; local_#30905[167] := 0; local_#30905[168] := 0; local_#30905[169] := 0; local_#30905[170] := 0; local_#30905[171] := 0; local_#30905[172] := 0; local_#30905[173] := 0; local_#30905[174] := 0; local_#30905[175] := 0; local_#30905[176] := 0; local_#30905[177] := 0; local_#30905[178] := 0; local_#30905[179] := 0; local_#30905[180] := 0; local_#30905[181] := 0; local_#30905[182] := 0; local_#30905[183] := 0; local_#30905[184] := 0; local_#30905[185] := 0; local_#30905[186] := 0; local_#30905[187] := 0; local_#30905[188] := 0; local_#30905[189] := 0; local_#30905[190] := 0; local_#30905[191] := 0; local_#30905[192] := 0; local_#30905[193] := 0; local_#30905[194] := 0; local_#30905[195] := 0; local_#30905[196] := 0; local_#30905[197] := 0; local_#30905[198] := 0; local_#30905[199] := 0; local_#30905[200] := 0; local_#30905[201] := 0; local_#30905[202] := 0; local_#30905[203] := 0; local_#30905[204] := 0; local_#30905[205] := 0; local_#30905[206] := 0; local_#30905[207] := 0; local_#30905[208] := 0; local_#30905[209] := 0; local_#30905[210] := 0; local_#30905[211] := 0; local_#30905[212] := 0; local_#30905[213] := 0; local_#30905[214] := 0; local_#30905[215] := 0; local_#30905[216] := 0; local_#30905[217] := 0; local_#30905[218] := 0; local_#30905[219] := 0; local_#30905[220] := 0; local_#30905[221] := 0; local_#30905[222] := 0; local_#30905[223] := 0; local_#30905[224] := 0; local_#30905[225] := 0; local_#30905[226] := 0; local_#30905[227] := 0; local_#30905[228] := 0; local_#30905[229] := 0; local_#30905[230] := 0; local_#30905[231] := 0; local_#30905[232] := 0; local_#30905[233] := 0; local_#30905[234] := 0; local_#30905[235] := 0; local_#30905[236] := 0; local_#30905[237] := 0; local_#30905[238] := 0; local_#30905[239] := 0; local_#30905[240] := 0; local_#30905[241] := 0; local_#30905[242] := 0; local_#30905[243] := 0; local_#30905[244] := 0; local_#30905[245] := 0; local_#30905[246] := 0; local_#30905[247] := 0; local_#30905[248] := 0; local_#30905[249] := 0; local_#30905[250] := 0; local_#30905[251] := 0; local_#30905[252] := 0; local_#30905[253] := 0; local_#30905[254] := 0; local_#30905[255] := 0; local_#30905[256] := 0; call write_type_#683(global_#33103_luai_ctype_,local_#30905); goto CFG_44938; CFG_44938: local_#30906[0] := local_#29953; local_#30906[1] := local_#29955; local_#30906[2] := local_#29957; local_#30906[3] := local_#29959; local_#30906[4] := local_#29961; local_#30906[5] := local_#29963; local_#30906[6] := local_#29965; local_#30906[7] := local_#29967; local_#30906[8] := local_#29969; local_#30906[9] := local_#29971; local_#30906[10] := local_#29973; local_#30906[11] := local_#29975; local_#30906[12] := local_#29977; local_#30906[13] := local_#29979; local_#30906[14] := local_#29981; local_#30906[15] := local_#29983; local_#30906[16] := local_#29985; local_#30906[17] := local_#29987; local_#30906[18] := local_#29989; local_#30906[19] := local_#29991; local_#30906[20] := local_#29993; local_#30906[21] := local_#29995; local_#30906[22] := local_#29997; local_#30906[23] := local_#29999; local_#30906[24] := local_#30001; local_#30906[25] := local_#30003; local_#30906[26] := local_#30005; local_#30906[27] := local_#30007; local_#30906[28] := local_#30009; local_#30906[29] := local_#30011; local_#30906[30] := local_#30013; local_#30906[31] := local_#30015; local_#30906[32] := local_#30017; local_#30906[33] := local_#30019; local_#30906[34] := local_#30021; local_#30906[35] := local_#30023; local_#30906[36] := local_#30025; call write_type_#649(global_#33060_luaX_tokens,local_#30906); goto CFG_44939; CFG_44939: _memory_ptr[local_#30027] := local_#30026; assume read_type_#120(_memory, _memory_ptr, local_#30908)!_b == _memory[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30908)!_f == _memory_ptr[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30908)!_gc == _memory_ptr[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30908)!_i == _memory[{ base : local_#30908!base, offset : local_#30908!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, local_#30908)!_p == _memory_ptr[{ base : local_#30908!base, offset : local_#30908!offset + 0 }]; local_#30907!_value_ := read_type_#120(_memory, _memory_ptr, local_#30908); local_#30907!_tt_ := 0; call write_type_#101(global_#33098_luaO_nilobject_,local_#30907); local_#30909[0] := 0; local_#30909[1] := 1; local_#30909[2] := 2; local_#30909[3] := 2; local_#30909[4] := 3; local_#30909[5] := 3; local_#30909[6] := 3; local_#30909[7] := 3; local_#30909[8] := 4; local_#30909[9] := 4; local_#30909[10] := 4; local_#30909[11] := 4; local_#30909[12] := 4; local_#30909[13] := 4; local_#30909[14] := 4; local_#30909[15] := 4; local_#30909[16] := 5; local_#30909[17] := 5; local_#30909[18] := 5; local_#30909[19] := 5; local_#30909[20] := 5; local_#30909[21] := 5; local_#30909[22] := 5; local_#30909[23] := 5; local_#30909[24] := 5; local_#30909[25] := 5; local_#30909[26] := 5; local_#30909[27] := 5; local_#30909[28] := 5; local_#30909[29] := 5; local_#30909[30] := 5; local_#30909[31] := 5; local_#30909[32] := 6; local_#30909[33] := 6; local_#30909[34] := 6; local_#30909[35] := 6; local_#30909[36] := 6; local_#30909[37] := 6; local_#30909[38] := 6; local_#30909[39] := 6; local_#30909[40] := 6; local_#30909[41] := 6; local_#30909[42] := 6; local_#30909[43] := 6; local_#30909[44] := 6; local_#30909[45] := 6; local_#30909[46] := 6; local_#30909[47] := 6; local_#30909[48] := 6; local_#30909[49] := 6; local_#30909[50] := 6; local_#30909[51] := 6; local_#30909[52] := 6; local_#30909[53] := 6; local_#30909[54] := 6; local_#30909[55] := 6; local_#30909[56] := 6; local_#30909[57] := 6; local_#30909[58] := 6; local_#30909[59] := 6; local_#30909[60] := 6; local_#30909[61] := 6; local_#30909[62] := 6; local_#30909[63] := 6; local_#30909[64] := 7; local_#30909[65] := 7; local_#30909[66] := 7; local_#30909[67] := 7; local_#30909[68] := 7; local_#30909[69] := 7; local_#30909[70] := 7; local_#30909[71] := 7; local_#30909[72] := 7; local_#30909[73] := 7; local_#30909[74] := 7; local_#30909[75] := 7; local_#30909[76] := 7; local_#30909[77] := 7; local_#30909[78] := 7; local_#30909[79] := 7; local_#30909[80] := 7; local_#30909[81] := 7; local_#30909[82] := 7; local_#30909[83] := 7; local_#30909[84] := 7; local_#30909[85] := 7; local_#30909[86] := 7; local_#30909[87] := 7; local_#30909[88] := 7; local_#30909[89] := 7; local_#30909[90] := 7; local_#30909[91] := 7; local_#30909[92] := 7; local_#30909[93] := 7; local_#30909[94] := 7; local_#30909[95] := 7; local_#30909[96] := 7; local_#30909[97] := 7; local_#30909[98] := 7; local_#30909[99] := 7; local_#30909[100] := 7; local_#30909[101] := 7; local_#30909[102] := 7; local_#30909[103] := 7; local_#30909[104] := 7; local_#30909[105] := 7; local_#30909[106] := 7; local_#30909[107] := 7; local_#30909[108] := 7; local_#30909[109] := 7; local_#30909[110] := 7; local_#30909[111] := 7; local_#30909[112] := 7; local_#30909[113] := 7; local_#30909[114] := 7; local_#30909[115] := 7; local_#30909[116] := 7; local_#30909[117] := 7; local_#30909[118] := 7; local_#30909[119] := 7; local_#30909[120] := 7; local_#30909[121] := 7; local_#30909[122] := 7; local_#30909[123] := 7; local_#30909[124] := 7; local_#30909[125] := 7; local_#30909[126] := 7; local_#30909[127] := 7; local_#30909[128] := 8; local_#30909[129] := 8; local_#30909[130] := 8; local_#30909[131] := 8; local_#30909[132] := 8; local_#30909[133] := 8; local_#30909[134] := 8; local_#30909[135] := 8; local_#30909[136] := 8; local_#30909[137] := 8; local_#30909[138] := 8; local_#30909[139] := 8; local_#30909[140] := 8; local_#30909[141] := 8; local_#30909[142] := 8; local_#30909[143] := 8; local_#30909[144] := 8; local_#30909[145] := 8; local_#30909[146] := 8; local_#30909[147] := 8; local_#30909[148] := 8; local_#30909[149] := 8; local_#30909[150] := 8; local_#30909[151] := 8; local_#30909[152] := 8; local_#30909[153] := 8; local_#30909[154] := 8; local_#30909[155] := 8; local_#30909[156] := 8; local_#30909[157] := 8; local_#30909[158] := 8; local_#30909[159] := 8; local_#30909[160] := 8; local_#30909[161] := 8; local_#30909[162] := 8; local_#30909[163] := 8; local_#30909[164] := 8; local_#30909[165] := 8; local_#30909[166] := 8; local_#30909[167] := 8; local_#30909[168] := 8; local_#30909[169] := 8; local_#30909[170] := 8; local_#30909[171] := 8; local_#30909[172] := 8; local_#30909[173] := 8; local_#30909[174] := 8; local_#30909[175] := 8; local_#30909[176] := 8; local_#30909[177] := 8; local_#30909[178] := 8; local_#30909[179] := 8; local_#30909[180] := 8; local_#30909[181] := 8; local_#30909[182] := 8; local_#30909[183] := 8; local_#30909[184] := 8; local_#30909[185] := 8; local_#30909[186] := 8; local_#30909[187] := 8; local_#30909[188] := 8; local_#30909[189] := 8; local_#30909[190] := 8; local_#30909[191] := 8; local_#30909[192] := 8; local_#30909[193] := 8; local_#30909[194] := 8; local_#30909[195] := 8; local_#30909[196] := 8; local_#30909[197] := 8; local_#30909[198] := 8; local_#30909[199] := 8; local_#30909[200] := 8; local_#30909[201] := 8; local_#30909[202] := 8; local_#30909[203] := 8; local_#30909[204] := 8; local_#30909[205] := 8; local_#30909[206] := 8; local_#30909[207] := 8; local_#30909[208] := 8; local_#30909[209] := 8; local_#30909[210] := 8; local_#30909[211] := 8; local_#30909[212] := 8; local_#30909[213] := 8; local_#30909[214] := 8; local_#30909[215] := 8; local_#30909[216] := 8; local_#30909[217] := 8; local_#30909[218] := 8; local_#30909[219] := 8; local_#30909[220] := 8; local_#30909[221] := 8; local_#30909[222] := 8; local_#30909[223] := 8; local_#30909[224] := 8; local_#30909[225] := 8; local_#30909[226] := 8; local_#30909[227] := 8; local_#30909[228] := 8; local_#30909[229] := 8; local_#30909[230] := 8; local_#30909[231] := 8; local_#30909[232] := 8; local_#30909[233] := 8; local_#30909[234] := 8; local_#30909[235] := 8; local_#30909[236] := 8; local_#30909[237] := 8; local_#30909[238] := 8; local_#30909[239] := 8; local_#30909[240] := 8; local_#30909[241] := 8; local_#30909[242] := 8; local_#30909[243] := 8; local_#30909[244] := 8; local_#30909[245] := 8; local_#30909[246] := 8; local_#30909[247] := 8; local_#30909[248] := 8; local_#30909[249] := 8; local_#30909[250] := 8; local_#30909[251] := 8; local_#30909[252] := 8; local_#30909[253] := 8; local_#30909[254] := 8; local_#30909[255] := 8; goto CFG_44940; CFG_44940: local_#30910[0] := local_#30029; local_#30910[1] := local_#30031; local_#30910[2] := local_#30033; local_#30910[3] := local_#30035; local_#30910[4] := local_#30037; local_#30910[5] := local_#30039; local_#30910[6] := local_#30041; local_#30910[7] := local_#30043; local_#30910[8] := local_#30045; local_#30910[9] := local_#30047; local_#30910[10] := local_#30049; local_#30910[11] := local_#30051; local_#30910[12] := local_#30053; local_#30910[13] := local_#30055; local_#30910[14] := local_#30057; local_#30910[15] := local_#30059; local_#30910[16] := local_#30061; local_#30910[17] := local_#30063; local_#30910[18] := local_#30065; local_#30910[19] := local_#30067; local_#30910[20] := local_#30069; local_#30910[21] := local_#30071; local_#30910[22] := local_#30073; local_#30910[23] := local_#30075; local_#30910[24] := local_#30077; local_#30910[25] := local_#30079; local_#30910[26] := local_#30081; local_#30910[27] := local_#30083; local_#30910[28] := local_#30085; local_#30910[29] := local_#30087; local_#30910[30] := local_#30089; local_#30910[31] := local_#30091; local_#30910[32] := local_#30093; local_#30910[33] := local_#30095; local_#30910[34] := local_#30097; local_#30910[35] := local_#30099; local_#30910[36] := local_#30101; local_#30910[37] := local_#30103; local_#30910[38] := local_#30105; local_#30910[39] := local_#30107; local_#30910[40] := local_#30109; local_#30910[41] := local_#30111; local_#30910[42] := local_#30113; local_#30910[43] := local_#30115; local_#30910[44] := local_#30117; local_#30910[45] := local_#30119; local_#30910[46] := local_#30121; local_#30910[47] := { base : 0, offset : 0 }; local_#30911[0] := 96; local_#30911[1] := 113; local_#30911[2] := 65; local_#30911[3] := 84; local_#30911[4] := 80; local_#30911[5] := 80; local_#30911[6] := 92; local_#30911[7] := 108; local_#30911[8] := 60; local_#30911[9] := 16; local_#30911[10] := 60; local_#30911[11] := 84; local_#30911[12] := 108; local_#30911[13] := 124; local_#30911[14] := 124; local_#30911[15] := 124; local_#30911[16] := 124; local_#30911[17] := 124; local_#30911[18] := 124; local_#30911[19] := 124; local_#30911[20] := 124; local_#30911[21] := 124; local_#30911[22] := 124; local_#30911[23] := 124; local_#30911[24] := 124; local_#30911[25] := 96; local_#30911[26] := 96; local_#30911[27] := 96; local_#30911[28] := 96; local_#30911[29] := 104; local_#30911[30] := 34; local_#30911[31] := 188; local_#30911[32] := 188; local_#30911[33] := 188; local_#30911[34] := 132; local_#30911[35] := 228; local_#30911[36] := 84; local_#30911[37] := 84; local_#30911[38] := 16; local_#30911[39] := 98; local_#30911[40] := 98; local_#30911[41] := 4; local_#30911[42] := 98; local_#30911[43] := 20; local_#30911[44] := 81; local_#30911[45] := 80; local_#30911[46] := 23; call write_type_#661(global_#33099_luaP_opmodes,local_#30911); goto CFG_44941; CFG_44941: local_#30913!_left := 10; local_#30913!_right := 10; local_#30912[0] := local_#30913; local_#30914!_left := 10; local_#30914!_right := 10; local_#30912[1] := local_#30914; local_#30915!_left := 11; local_#30915!_right := 11; local_#30912[2] := local_#30915; local_#30916!_left := 11; local_#30916!_right := 11; local_#30912[3] := local_#30916; local_#30917!_left := 14; local_#30917!_right := 13; local_#30912[4] := local_#30917; local_#30918!_left := 11; local_#30918!_right := 11; local_#30912[5] := local_#30918; local_#30919!_left := 11; local_#30919!_right := 11; local_#30912[6] := local_#30919; local_#30920!_left := 6; local_#30920!_right := 6; local_#30912[7] := local_#30920; local_#30921!_left := 4; local_#30921!_right := 4; local_#30912[8] := local_#30921; local_#30922!_left := 5; local_#30922!_right := 5; local_#30912[9] := local_#30922; local_#30923!_left := 7; local_#30923!_right := 7; local_#30912[10] := local_#30923; local_#30924!_left := 7; local_#30924!_right := 7; local_#30912[11] := local_#30924; local_#30925!_left := 9; local_#30925!_right := 8; local_#30912[12] := local_#30925; local_#30926!_left := 3; local_#30926!_right := 3; local_#30912[13] := local_#30926; local_#30927!_left := 3; local_#30927!_right := 3; local_#30912[14] := local_#30927; local_#30928!_left := 3; local_#30928!_right := 3; local_#30912[15] := local_#30928; local_#30929!_left := 3; local_#30929!_right := 3; local_#30912[16] := local_#30929; local_#30930!_left := 3; local_#30930!_right := 3; local_#30912[17] := local_#30930; local_#30931!_left := 3; local_#30931!_right := 3; local_#30912[18] := local_#30931; local_#30932!_left := 2; local_#30932!_right := 2; local_#30912[19] := local_#30932; local_#30933!_left := 1; local_#30933!_right := 1; local_#30912[20] := local_#30933; call write_type_#623(global_#33064_priority,local_#30912); goto CFG_44942; CFG_44942: _memory_ptr[local_#30123] := local_#30122; assume read_type_#120(_memory, _memory_ptr, local_#30936)!_b == _memory[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30936)!_f == _memory_ptr[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30936)!_gc == _memory_ptr[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30936)!_i == _memory[{ base : local_#30936!base, offset : local_#30936!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, local_#30936)!_p == _memory_ptr[{ base : local_#30936!base, offset : local_#30936!offset + 0 }]; local_#30935!_value_ := read_type_#120(_memory, _memory_ptr, local_#30936); local_#30935!_tt_ := 0; local_#30934!_i_val := local_#30935; _memory_ptr[local_#30125] := local_#30124; assume read_type_#120(_memory, _memory_ptr, local_#30939)!_b == _memory[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30939)!_f == _memory_ptr[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30939)!_gc == _memory_ptr[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && read_type_#120(_memory, _memory_ptr, local_#30939)!_i == _memory[{ base : local_#30939!base, offset : local_#30939!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, local_#30939)!_p == _memory_ptr[{ base : local_#30939!base, offset : local_#30939!offset + 0 }]; local_#30938!_value_ := read_type_#120(_memory, _memory_ptr, local_#30939); local_#30938!_tt_ := 0; local_#30938!_next := 0; call write_type_#3(local_#30126,local_#30938); assume read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_b == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_f == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_gc == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_i == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_value_!_p == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_tt_ == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 8 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_nk!_next == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 12 }] && (read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_b == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_f == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_gc == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_i == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_value_!_p == _memory_ptr[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 0 + 0 }] && read_type_#117(_memory, _memory_ptr, local_#30937)!_tvk!_tt_ == _memory[{ base : local_#30937!base, offset : local_#30937!offset + 0 + 8 }]); local_#30934!_i_key := read_type_#117(_memory, _memory_ptr, local_#30937); call write_type_#59(global_#33053_dummynode_,local_#30934); goto CFG_44943; CFG_44943: local_#30940[0] := local_#30128; local_#30940[1] := local_#30130; local_#30940[2] := local_#30132; local_#30940[3] := { base : global_#33069_udatatypename!base, offset : global_#33069_udatatypename!offset + 0 * 1 }; local_#30940[4] := local_#30134; local_#30940[5] := local_#30136; local_#30940[6] := local_#30138; local_#30940[7] := local_#30140; local_#30940[8] := { base : global_#33069_udatatypename!base, offset : global_#33069_udatatypename!offset + 0 * 1 }; local_#30940[9] := local_#30142; local_#30940[10] := local_#30144; call write_type_#605(global_#33101_luaT_typenames_,local_#30940); local_#30941[0] := local_#30146; local_#30941[1] := local_#30148; local_#30941[2] := local_#30150; local_#30941[3] := local_#30152; local_#30941[4] := local_#30154; local_#30941[5] := local_#30156; local_#30941[6] := local_#30158; local_#30941[7] := local_#30160; local_#30941[8] := local_#30162; local_#30941[9] := local_#30164; local_#30941[10] := local_#30166; local_#30941[11] := local_#30168; local_#30941[12] := local_#30170; local_#30941[13] := local_#30172; local_#30941[14] := local_#30174; local_#30941[15] := local_#30176; local_#30941[16] := local_#30178; local_#30941[17] := local_#30180; local_#30941[18] := local_#30182; local_#30941[19] := local_#30184; local_#30941[20] := local_#30186; local_#30941[21] := local_#30188; local_#30941[22] := local_#30190; local_#30941[23] := local_#30192; goto CFG_44944; CFG_44944: local_#30943!_name := local_#30194; local_#30943!_func := fun_addr_#34874_luaB_assert; local_#30942[0] := local_#30943; local_#30944!_name := local_#30196; local_#30944!_func := fun_addr_#34877_luaB_collectgarbage; local_#30942[1] := local_#30944; local_#30945!_name := local_#30198; local_#30945!_func := fun_addr_#34882_luaB_dofile; local_#30942[2] := local_#30945; local_#30946!_name := local_#30200; local_#30946!_func := fun_addr_#34883_luaB_error; local_#30942[3] := local_#30946; local_#30947!_name := local_#30202; local_#30947!_func := fun_addr_#34884_luaB_getmetatable; local_#30942[4] := local_#30947; local_#30948!_name := local_#30204; local_#30948!_func := fun_addr_#34885_luaB_ipairs; local_#30942[5] := local_#30948; local_#30949!_name := local_#30206; local_#30949!_func := fun_addr_#34887_luaB_loadfile; local_#30942[6] := local_#30949; local_#30950!_name := local_#30208; local_#30950!_func := fun_addr_#34886_luaB_load; local_#30942[7] := local_#30950; local_#30951!_name := local_#30210; local_#30951!_func := fun_addr_#34888_luaB_next; local_#30942[8] := local_#30951; local_#30952!_name := local_#30212; local_#30952!_func := fun_addr_#34889_luaB_pairs; local_#30942[9] := local_#30952; local_#30953!_name := local_#30214; local_#30953!_func := fun_addr_#34890_luaB_pcall; local_#30942[10] := local_#30953; local_#30954!_name := local_#30216; local_#30954!_func := fun_addr_#34891_luaB_print; local_#30942[11] := local_#30954; local_#30955!_name := local_#30218; local_#30955!_func := fun_addr_#34892_luaB_rawequal; local_#30942[12] := local_#30955; local_#30956!_name := local_#30220; local_#30956!_func := fun_addr_#34894_luaB_rawlen; local_#30942[13] := local_#30956; local_#30957!_name := local_#30222; local_#30957!_func := fun_addr_#34893_luaB_rawget; local_#30942[14] := local_#30957; local_#30958!_name := local_#30224; local_#30958!_func := fun_addr_#34895_luaB_rawset; local_#30942[15] := local_#30958; local_#30959!_name := local_#30226; local_#30959!_func := fun_addr_#34896_luaB_select; local_#30942[16] := local_#30959; local_#30960!_name := local_#30228; local_#30960!_func := fun_addr_#34897_luaB_setmetatable; local_#30942[17] := local_#30960; local_#30961!_name := local_#30230; local_#30961!_func := fun_addr_#34898_luaB_tonumber; local_#30942[18] := local_#30961; local_#30962!_name := local_#30232; local_#30962!_func := fun_addr_#34899_luaB_tostring; local_#30942[19] := local_#30962; local_#30963!_name := local_#30234; local_#30963!_func := fun_addr_#34900_luaB_type; local_#30942[20] := local_#30963; local_#30964!_name := local_#30236; local_#30964!_func := fun_addr_#34901_luaB_xpcall; local_#30942[21] := local_#30964; local_#30965!_name := local_#30238; local_#30965!_func := { base : 0, offset : 0 }; local_#30942[22] := local_#30965; local_#30966!_name := local_#30240; local_#30966!_func := { base : 0, offset : 0 }; local_#30942[23] := local_#30966; local_#30967!_name := { base : 0, offset : 0 }; local_#30967!_func := { base : 0, offset : 0 }; local_#30942[24] := local_#30967; call write_type_#632(global_#33049_base_funcs,local_#30942); local_#30968[0] := local_#30242; local_#30968[1] := local_#30244; local_#30968[2] := local_#30246; local_#30968[3] := local_#30248; local_#30968[4] := local_#30250; local_#30968[5] := local_#30252; local_#30968[6] := local_#30254; local_#30968[7] := local_#30256; local_#30968[8] := { base : 0, offset : 0 }; local_#30969[0] := 0; local_#30969[1] := 1; local_#30969[2] := 2; local_#30969[3] := 3; local_#30969[4] := 5; local_#30969[5] := 6; local_#30969[6] := 7; local_#30969[7] := 9; goto CFG_44945; CFG_44945: local_#30971!_name := local_#30258; local_#30971!_func := fun_addr_#34597_b_arshift; local_#30970[0] := local_#30971; local_#30972!_name := local_#30260; local_#30972!_func := fun_addr_#34596_b_and; local_#30970[1] := local_#30972; local_#30973!_name := local_#30262; local_#30973!_func := fun_addr_#34601_b_not; local_#30970[2] := local_#30973; local_#30974!_name := local_#30264; local_#30974!_func := fun_addr_#34602_b_or; local_#30970[3] := local_#30974; local_#30975!_name := local_#30266; local_#30975!_func := fun_addr_#34610_b_xor; local_#30970[4] := local_#30975; local_#30976!_name := local_#30268; local_#30976!_func := fun_addr_#34609_b_test; local_#30970[5] := local_#30976; local_#30977!_name := local_#30270; local_#30977!_func := fun_addr_#34598_b_extract; local_#30970[6] := local_#30977; local_#30978!_name := local_#30272; local_#30978!_func := fun_addr_#34599_b_lrot; local_#30970[7] := local_#30978; local_#30979!_name := local_#30274; local_#30979!_func := fun_addr_#34600_b_lshift; local_#30970[8] := local_#30979; local_#30980!_name := local_#30276; local_#30980!_func := fun_addr_#34603_b_replace; local_#30970[9] := local_#30980; local_#30981!_name := local_#30278; local_#30981!_func := fun_addr_#34605_b_rrot; local_#30970[10] := local_#30981; local_#30982!_name := local_#30280; local_#30982!_func := fun_addr_#34606_b_rshift; local_#30970[11] := local_#30982; local_#30983!_name := { base : 0, offset : 0 }; local_#30983!_func := { base : 0, offset : 0 }; local_#30970[12] := local_#30983; call write_type_#610(global_#33050_bitlib,local_#30970); goto CFG_44946; CFG_44946: local_#30985!_name := local_#30282; local_#30985!_func := fun_addr_#34876_luaB_cocreate; local_#30984[0] := local_#30985; local_#30986!_name := local_#30284; local_#30986!_func := fun_addr_#34878_luaB_coresume; local_#30984[1] := local_#30986; local_#30987!_name := local_#30286; local_#30987!_func := fun_addr_#34879_luaB_corunning; local_#30984[2] := local_#30987; local_#30988!_name := local_#30288; local_#30988!_func := fun_addr_#34880_luaB_costatus; local_#30984[3] := local_#30988; local_#30989!_name := local_#30290; local_#30989!_func := fun_addr_#34881_luaB_cowrap; local_#30984[4] := local_#30989; local_#30990!_name := local_#30292; local_#30990!_func := fun_addr_#34902_luaB_yield; local_#30984[5] := local_#30990; local_#30991!_name := local_#30294; local_#30991!_func := fun_addr_#34903_luaB_yieldable; local_#30984[6] := local_#30991; local_#30992!_name := { base : 0, offset : 0 }; local_#30992!_func := { base : 0, offset : 0 }; local_#30984[7] := local_#30992; call write_type_#596(global_#33051_co_funcs,local_#30984); goto CFG_44947; CFG_44947: _memory[global_#33048_HOOKKEY] := 0; local_#30994!_name := local_#30296; local_#30994!_func := fun_addr_#34681_db_debug; local_#30993[0] := local_#30994; local_#30995!_name := local_#30298; local_#30995!_func := fun_addr_#34688_db_getuservalue; local_#30993[1] := local_#30995; local_#30996!_name := local_#30300; local_#30996!_func := fun_addr_#34682_db_gethook; local_#30993[2] := local_#30996; local_#30997!_name := local_#30302; local_#30997!_func := fun_addr_#34683_db_getinfo; local_#30993[3] := local_#30997; local_#30998!_name := local_#30304; local_#30998!_func := fun_addr_#34684_db_getlocal; local_#30993[4] := local_#30998; local_#30999!_name := local_#30306; local_#30999!_func := fun_addr_#34686_db_getregistry; local_#30993[5] := local_#30999; local_#31000!_name := local_#30308; local_#31000!_func := fun_addr_#34685_db_getmetatable; local_#30993[6] := local_#31000; local_#31001!_name := local_#30310; local_#31001!_func := fun_addr_#34687_db_getupvalue; local_#30993[7] := local_#31001; local_#31002!_name := local_#30312; local_#31002!_func := fun_addr_#34696_db_upvaluejoin; local_#30993[8] := local_#31002; local_#31003!_name := local_#30314; local_#31003!_func := fun_addr_#34695_db_upvalueid; local_#30993[9] := local_#31003; local_#31004!_name := local_#30316; local_#31004!_func := fun_addr_#34693_db_setuservalue; local_#30993[10] := local_#31004; local_#31005!_name := local_#30318; local_#31005!_func := fun_addr_#34689_db_sethook; local_#30993[11] := local_#31005; local_#31006!_name := local_#30320; local_#31006!_func := fun_addr_#34690_db_setlocal; local_#30993[12] := local_#31006; local_#31007!_name := local_#30322; local_#31007!_func := fun_addr_#34691_db_setmetatable; local_#30993[13] := local_#31007; local_#31008!_name := local_#30324; local_#31008!_func := fun_addr_#34692_db_setupvalue; local_#30993[14] := local_#31008; local_#31009!_name := local_#30326; local_#31009!_func := fun_addr_#34694_db_traceback; local_#30993[15] := local_#31009; local_#31010!_name := { base : 0, offset : 0 }; local_#31010!_func := { base : 0, offset : 0 }; local_#30993[16] := local_#31010; call write_type_#617(global_#33052_dblib,local_#30993); local_#31011[0] := local_#30328; local_#31011[1] := local_#30330; local_#31011[2] := local_#30332; local_#31011[3] := local_#30334; local_#31011[4] := local_#30336; goto CFG_44948; CFG_44948: local_#31013!_name := local_#30338; local_#31013!_func := fun_addr_#34818_io_close; local_#31012[0] := local_#31013; local_#31014!_name := local_#30340; local_#31014!_func := fun_addr_#34820_io_flush; local_#31012[1] := local_#31014; local_#31015!_name := local_#30342; local_#31015!_func := fun_addr_#34821_io_input; local_#31012[2] := local_#31015; local_#31016!_name := local_#30344; local_#31016!_func := fun_addr_#34822_io_lines; local_#31012[3] := local_#31016; local_#31017!_name := local_#30346; local_#31017!_func := fun_addr_#34824_io_open; local_#31012[4] := local_#31017; local_#31018!_name := local_#30348; local_#31018!_func := fun_addr_#34825_io_output; local_#31012[5] := local_#31018; local_#31019!_name := local_#30350; local_#31019!_func := fun_addr_#34827_io_popen; local_#31012[6] := local_#31019; local_#31020!_name := local_#30352; local_#31020!_func := fun_addr_#34828_io_read; local_#31012[7] := local_#31020; local_#31021!_name := local_#30354; local_#31021!_func := fun_addr_#34830_io_tmpfile; local_#31012[8] := local_#31021; local_#31022!_name := local_#30356; local_#31022!_func := fun_addr_#34831_io_type; local_#31012[9] := local_#31022; local_#31023!_name := local_#30358; local_#31023!_func := fun_addr_#34832_io_write; local_#31012[10] := local_#31023; local_#31024!_name := { base : 0, offset : 0 }; local_#31024!_func := { base : 0, offset : 0 }; local_#31012[11] := local_#31024; call write_type_#608(global_#33057_iolib,local_#31012); local_#31026!_name := local_#30360; local_#31026!_func := fun_addr_#34724_f_close; local_#31025[0] := local_#31026; local_#31027!_name := local_#30362; local_#31027!_func := fun_addr_#34725_f_flush; local_#31025[1] := local_#31027; local_#31028!_name := local_#30364; local_#31028!_func := fun_addr_#34727_f_lines; local_#31025[2] := local_#31028; local_#31029!_name := local_#30366; local_#31029!_func := fun_addr_#34730_f_read; local_#31025[3] := local_#31029; local_#31030!_name := local_#30368; local_#31030!_func := fun_addr_#34731_f_seek; local_#31025[4] := local_#31030; local_#31031!_name := local_#30370; local_#31031!_func := fun_addr_#34732_f_setvbuf; local_#31025[5] := local_#31031; local_#31032!_name := local_#30372; local_#31032!_func := fun_addr_#34734_f_write; local_#31025[6] := local_#31032; local_#31033!_name := local_#30374; local_#31033!_func := fun_addr_#34726_f_gc; local_#31025[7] := local_#31033; local_#31034!_name := local_#30376; local_#31034!_func := fun_addr_#34733_f_tostring; local_#31025[8] := local_#31034; local_#31035!_name := { base : 0, offset : 0 }; local_#31035!_func := { base : 0, offset : 0 }; local_#31025[9] := local_#31035; call write_type_#603(global_#33054_flib,local_#31025); local_#31036[0] := 0; local_#31036[1] := 1; local_#31036[2] := 2; local_#31037[0] := local_#30378; local_#31037[1] := local_#30380; local_#31037[2] := local_#30382; local_#31037[3] := { base : 0, offset : 0 }; local_#31038[0] := 2; local_#31038[1] := 0; local_#31038[2] := 1; local_#31039[0] := local_#30384; local_#31039[1] := local_#30386; local_#31039[2] := local_#30388; local_#31039[3] := { base : 0, offset : 0 }; goto CFG_44949; CFG_44949: local_#31041!_name := local_#30390; local_#31041!_func := fun_addr_#34918_math_abs; local_#31040[0] := local_#31041; local_#31042!_name := local_#30392; local_#31042!_func := fun_addr_#34919_math_acos; local_#31040[1] := local_#31042; local_#31043!_name := local_#30394; local_#31043!_func := fun_addr_#34920_math_asin; local_#31040[2] := local_#31043; local_#31044!_name := local_#30396; local_#31044!_func := fun_addr_#34921_math_atan; local_#31040[3] := local_#31044; local_#31045!_name := local_#30398; local_#31045!_func := fun_addr_#34922_math_ceil; local_#31040[4] := local_#31045; local_#31046!_name := local_#30400; local_#31046!_func := fun_addr_#34923_math_cos; local_#31040[5] := local_#31046; local_#31047!_name := local_#30402; local_#31047!_func := fun_addr_#34925_math_deg; local_#31040[6] := local_#31047; local_#31048!_name := local_#30404; local_#31048!_func := fun_addr_#34926_math_exp; local_#31040[7] := local_#31048; local_#31049!_name := local_#30406; local_#31049!_func := fun_addr_#34945_math_toint; local_#31040[8] := local_#31049; local_#31050!_name := local_#30408; local_#31050!_func := fun_addr_#34927_math_floor; local_#31040[9] := local_#31050; local_#31051!_name := local_#30410; local_#31051!_func := fun_addr_#34928_math_fmod; local_#31040[10] := local_#31051; local_#31052!_name := local_#30412; local_#31052!_func := fun_addr_#34947_math_ult; local_#31040[11] := local_#31052; local_#31053!_name := local_#30414; local_#31053!_func := fun_addr_#34931_math_log; local_#31040[12] := local_#31053; local_#31054!_name := local_#30416; local_#31054!_func := fun_addr_#34933_math_max; local_#31040[13] := local_#31054; local_#31055!_name := local_#30418; local_#31055!_func := fun_addr_#34934_math_min; local_#31040[14] := local_#31055; local_#31056!_name := local_#30420; local_#31056!_func := fun_addr_#34935_math_modf; local_#31040[15] := local_#31056; local_#31057!_name := local_#30422; local_#31057!_func := fun_addr_#34937_math_rad; local_#31040[16] := local_#31057; local_#31058!_name := local_#30424; local_#31058!_func := fun_addr_#34938_math_random; local_#31040[17] := local_#31058; local_#31059!_name := local_#30426; local_#31059!_func := fun_addr_#34939_math_randomseed; local_#31040[18] := local_#31059; local_#31060!_name := local_#30428; local_#31060!_func := fun_addr_#34940_math_sin; local_#31040[19] := local_#31060; local_#31061!_name := local_#30430; local_#31061!_func := fun_addr_#34942_math_sqrt; local_#31040[20] := local_#31061; local_#31062!_name := local_#30432; local_#31062!_func := fun_addr_#34943_math_tan; local_#31040[21] := local_#31062; local_#31063!_name := local_#30434; local_#31063!_func := fun_addr_#34946_math_type; local_#31040[22] := local_#31063; local_#31064!_name := local_#30436; local_#31064!_func := fun_addr_#34921_math_atan; local_#31040[23] := local_#31064; local_#31065!_name := local_#30438; local_#31065!_func := fun_addr_#34924_math_cosh; local_#31040[24] := local_#31065; local_#31066!_name := local_#30440; local_#31066!_func := fun_addr_#34941_math_sinh; local_#31040[25] := local_#31066; local_#31067!_name := local_#30442; local_#31067!_func := fun_addr_#34944_math_tanh; local_#31040[26] := local_#31067; local_#31068!_name := local_#30444; local_#31068!_func := fun_addr_#34936_math_pow; local_#31040[27] := local_#31068; local_#31069!_name := local_#30446; local_#31069!_func := fun_addr_#34929_math_frexp; local_#31040[28] := local_#31069; local_#31070!_name := local_#30448; local_#31070!_func := fun_addr_#34930_math_ldexp; local_#31040[29] := local_#31070; local_#31071!_name := local_#30450; local_#31071!_func := fun_addr_#34932_math_log10; local_#31040[30] := local_#31071; local_#31072!_name := local_#30452; local_#31072!_func := { base : 0, offset : 0 }; local_#31040[31] := local_#31072; local_#31073!_name := local_#30454; local_#31073!_func := { base : 0, offset : 0 }; local_#31040[32] := local_#31073; local_#31074!_name := local_#30456; local_#31074!_func := { base : 0, offset : 0 }; local_#31040[33] := local_#31074; local_#31075!_name := local_#30458; local_#31075!_func := { base : 0, offset : 0 }; local_#31040[34] := local_#31075; local_#31076!_name := { base : 0, offset : 0 }; local_#31076!_func := { base : 0, offset : 0 }; local_#31040[35] := local_#31076; call write_type_#647(global_#33061_mathlib,local_#31040); goto CFG_44950; CFG_44950: local_#31078!_name := local_#30460; local_#31078!_func := fun_addr_#34972_os_clock; local_#31077[0] := local_#31078; local_#31079!_name := local_#30462; local_#31079!_func := fun_addr_#34973_os_date; local_#31077[1] := local_#31079; local_#31080!_name := local_#30464; local_#31080!_func := fun_addr_#34974_os_difftime; local_#31077[2] := local_#31080; local_#31081!_name := local_#30466; local_#31081!_func := fun_addr_#34975_os_execute; local_#31077[3] := local_#31081; local_#31082!_name := local_#30468; local_#31082!_func := fun_addr_#34976_os_exit; local_#31077[4] := local_#31082; local_#31083!_name := local_#30470; local_#31083!_func := fun_addr_#34977_os_getenv; local_#31077[5] := local_#31083; local_#31084!_name := local_#30472; local_#31084!_func := fun_addr_#34978_os_remove; local_#31077[6] := local_#31084; local_#31085!_name := local_#30474; local_#31085!_func := fun_addr_#34979_os_rename; local_#31077[7] := local_#31085; local_#31086!_name := local_#30476; local_#31086!_func := fun_addr_#34980_os_setlocale; local_#31077[8] := local_#31086; local_#31087!_name := local_#30478; local_#31087!_func := fun_addr_#34981_os_time; local_#31077[9] := local_#31087; local_#31088!_name := local_#30480; local_#31088!_func := fun_addr_#34982_os_tmpname; local_#31077[10] := local_#31088; local_#31089!_name := { base : 0, offset : 0 }; local_#31089!_func := { base : 0, offset : 0 }; local_#31077[11] := local_#31089; call write_type_#608(global_#33067_syslib,local_#31077); local_#31090[0] := 6; local_#31090[1] := 3; local_#31090[2] := 0; local_#31090[3] := 4; local_#31090[4] := 1; local_#31090[5] := 2; local_#31091[0] := local_#30482; local_#31091[1] := local_#30484; local_#31091[2] := local_#30486; local_#31091[3] := local_#30488; local_#31091[4] := local_#30490; local_#31091[5] := local_#30492; local_#31091[6] := { base : 0, offset : 0 }; goto CFG_44951; CFG_44951: _memory[local_#30494] := local_#30493; assume read_type_#159(_memory, _memory_ptr, local_#31092)!_dummy == _memory[{ base : local_#31092!base, offset : local_#31092!offset + 0 }] && read_type_#159(_memory, _memory_ptr, local_#31092)!_little == _memory[{ base : local_#31092!base, offset : local_#31092!offset + 0 }]; call write_type_#159(global_#33062_nativeendian,read_type_#159(_memory, _memory_ptr, local_#31092)); local_#31094!_name := local_#30496; local_#31094!_func := fun_addr_#35083_str_byte; local_#31093[0] := local_#31094; local_#31095!_name := local_#30498; local_#31095!_func := fun_addr_#35084_str_char; local_#31093[1] := local_#31095; local_#31096!_name := local_#30500; local_#31096!_func := fun_addr_#35086_str_dump; local_#31093[2] := local_#31096; local_#31097!_name := local_#30502; local_#31097!_func := fun_addr_#35087_str_find; local_#31093[3] := local_#31097; local_#31098!_name := local_#30504; local_#31098!_func := fun_addr_#35089_str_format; local_#31093[4] := local_#31098; local_#31099!_name := local_#30506; local_#31099!_func := fun_addr_#34801_gmatch; local_#31093[5] := local_#31099; local_#31100!_name := local_#30508; local_#31100!_func := fun_addr_#35090_str_gsub; local_#31093[6] := local_#31100; local_#31101!_name := local_#30510; local_#31101!_func := fun_addr_#35091_str_len; local_#31093[7] := local_#31101; local_#31102!_name := local_#30512; local_#31102!_func := fun_addr_#35092_str_lower; local_#31093[8] := local_#31102; local_#31103!_name := local_#30514; local_#31103!_func := fun_addr_#35093_str_match; local_#31093[9] := local_#31103; local_#31104!_name := local_#30516; local_#31104!_func := fun_addr_#35096_str_rep; local_#31093[10] := local_#31104; local_#31105!_name := local_#30518; local_#31105!_func := fun_addr_#35097_str_reverse; local_#31093[11] := local_#31105; local_#31106!_name := local_#30520; local_#31106!_func := fun_addr_#35098_str_sub; local_#31093[12] := local_#31106; local_#31107!_name := local_#30522; local_#31107!_func := fun_addr_#35100_str_upper; local_#31093[13] := local_#31107; local_#31108!_name := local_#30524; local_#31108!_func := fun_addr_#35094_str_pack; local_#31093[14] := local_#31108; local_#31109!_name := local_#30526; local_#31109!_func := fun_addr_#35095_str_packsize; local_#31093[15] := local_#31109; local_#31110!_name := local_#30528; local_#31110!_func := fun_addr_#35099_str_unpack; local_#31093[16] := local_#31110; local_#31111!_name := { base : 0, offset : 0 }; local_#31111!_func := { base : 0, offset : 0 }; local_#31093[17] := local_#31111; call write_type_#619(global_#33066_strlib,local_#31093); goto CFG_44952; CFG_44952: local_#31113!_name := local_#30530; local_#31113!_func := fun_addr_#35108_tconcat; local_#31112[0] := local_#31113; local_#31114!_name := local_#30532; local_#31114!_func := fun_addr_#35113_tinsert; local_#31112[1] := local_#31114; local_#31115!_name := local_#30534; local_#31115!_func := fun_addr_#34983_pack; local_#31112[2] := local_#31115; local_#31116!_name := local_#30536; local_#31116!_func := fun_addr_#35135_unpack; local_#31112[3] := local_#31116; local_#31117!_name := local_#30538; local_#31117!_func := fun_addr_#35126_tremove; local_#31112[4] := local_#31117; local_#31118!_name := local_#30540; local_#31118!_func := fun_addr_#35114_tmove; local_#31112[5] := local_#31118; local_#31119!_name := local_#30542; local_#31119!_func := fun_addr_#35075_sort; local_#31112[6] := local_#31119; local_#31120!_name := { base : 0, offset : 0 }; local_#31120!_func := { base : 0, offset : 0 }; local_#31112[7] := local_#31120; call write_type_#596(global_#33068_tab_funcs,local_#31112); goto CFG_44953; CFG_44953: local_#31122!_name := local_#30544; local_#31122!_func := fun_addr_#34617_byteoffset; local_#31121[0] := local_#31122; local_#31123!_name := local_#30546; local_#31123!_func := fun_addr_#34657_codepoint; local_#31121[1] := local_#31123; local_#31124!_name := local_#30548; local_#31124!_func := fun_addr_#35141_utfchar; local_#31121[2] := local_#31124; local_#31125!_name := local_#30550; local_#31125!_func := fun_addr_#35142_utflen; local_#31121[3] := local_#31125; local_#31126!_name := local_#30552; local_#31126!_func := fun_addr_#34838_iter_codes; local_#31121[4] := local_#31126; local_#31127!_name := local_#30554; local_#31127!_func := { base : 0, offset : 0 }; local_#31121[5] := local_#31127; local_#31128!_name := { base : 0, offset : 0 }; local_#31128!_func := { base : 0, offset : 0 }; local_#31121[6] := local_#31128; call write_type_#589(global_#33055_funcs,local_#31121); local_#31129[0] := 255; local_#31129[1] := 127; local_#31129[2] := 2047; local_#31129[3] := 65535; goto CFG_44954; CFG_44954: _memory[global_#33047_CLIBS] := 0; local_#31131!_name := local_#30556; local_#31131!_func := fun_addr_#34859_ll_loadlib; local_#31130[0] := local_#31131; local_#31132!_name := local_#30558; local_#31132!_func := fun_addr_#34861_ll_searchpath; local_#31130[1] := local_#31132; local_#31133!_name := local_#30560; local_#31133!_func := { base : 0, offset : 0 }; local_#31130[2] := local_#31133; local_#31134!_name := local_#30562; local_#31134!_func := { base : 0, offset : 0 }; local_#31130[3] := local_#31134; local_#31135!_name := local_#30564; local_#31135!_func := { base : 0, offset : 0 }; local_#31130[4] := local_#31135; local_#31136!_name := local_#30566; local_#31136!_func := { base : 0, offset : 0 }; local_#31130[5] := local_#31136; local_#31137!_name := local_#30568; local_#31137!_func := { base : 0, offset : 0 }; local_#31130[6] := local_#31137; local_#31138!_name := { base : 0, offset : 0 }; local_#31138!_func := { base : 0, offset : 0 }; local_#31130[7] := local_#31138; call write_type_#596(global_#33063_pk_funcs,local_#31130); local_#31140!_name := local_#30570; local_#31140!_func := fun_addr_#34860_ll_require; local_#31139[0] := local_#31140; local_#31141!_name := { base : 0, offset : 0 }; local_#31141!_func := { base : 0, offset : 0 }; local_#31139[1] := local_#31141; call write_type_#570(global_#33058_ll_funcs,local_#31139); local_#31142[0] := fun_addr_#35048_searcher_preload; local_#31142[1] := fun_addr_#35047_searcher_Lua; local_#31142[2] := fun_addr_#35045_searcher_C; local_#31142[3] := fun_addr_#35046_searcher_Croot; local_#31142[4] := { base : 0, offset : 0 }; goto CFG_44955; CFG_44955: local_#31144!_name := local_#30572; local_#31144!_func := fun_addr_#34007_luaopen_base; local_#31143[0] := local_#31144; local_#31145!_name := local_#30574; local_#31145!_func := fun_addr_#34014_luaopen_package; local_#31143[1] := local_#31145; local_#31146!_name := local_#30576; local_#31146!_func := fun_addr_#34009_luaopen_coroutine; local_#31143[2] := local_#31146; local_#31147!_name := local_#30578; local_#31147!_func := fun_addr_#34016_luaopen_table; local_#31143[3] := local_#31147; local_#31148!_name := local_#30580; local_#31148!_func := fun_addr_#34011_luaopen_io; local_#31143[4] := local_#31148; local_#31149!_name := local_#30582; local_#31149!_func := fun_addr_#34013_luaopen_os; local_#31143[5] := local_#31149; local_#31150!_name := local_#30584; local_#31150!_func := fun_addr_#34015_luaopen_string; local_#31143[6] := local_#31150; local_#31151!_name := local_#30586; local_#31151!_func := fun_addr_#34012_luaopen_math; local_#31143[7] := local_#31151; local_#31152!_name := local_#30588; local_#31152!_func := fun_addr_#34017_luaopen_utf8; local_#31143[8] := local_#31152; local_#31153!_name := local_#30590; local_#31153!_func := fun_addr_#34010_luaopen_debug; local_#31143[9] := local_#31153; local_#31154!_name := local_#30592; local_#31154!_func := fun_addr_#34008_luaopen_bit32; local_#31143[10] := local_#31154; local_#31155!_name := { base : 0, offset : 0 }; local_#31155!_func := { base : 0, offset : 0 }; local_#31143[11] := local_#31155; call write_type_#608(global_#33059_loadedlibs,local_#31143); goto CFG_38047; CFG_38047: } procedure ULTIMATE.start() returns () modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var ret_main_local_#482_signed_int : int; var local_#4480_argc : int; var local_#4481_argv : { base : int, offset : int }; goto INITIALIZATION; INITIALIZATION: call ULTIMATE.init(); goto ENTRY; ENTRY: if (*) { call ret_main_local_#482_signed_int := routine_#34018_main(local_#4480_argc,local_#4481_argv); } else { assume false; } goto FINALIZATION; FINALIZATION: } procedure routine_#33205___acos(local_#3049___x_IN : int) returns (external_return_#33205 : int); procedure routine_#33206___acosf(local_#3050___x_IN : int) returns (external_return_#33206 : int); procedure routine_#33207___acosh(local_#3051___x_IN : int) returns (external_return_#33207 : int); procedure routine_#33208___acoshf(local_#3052___x_IN : int) returns (external_return_#33208 : int); procedure routine_#33209___acoshl(local_#3053___x_IN : int) returns (external_return_#33209 : int); procedure routine_#33210___acosl(local_#3054___x_IN : int) returns (external_return_#33210 : int); procedure routine_#33211___asin(local_#3055___x_IN : int) returns (external_return_#33211 : int); procedure routine_#33212___asinf(local_#3056___x_IN : int) returns (external_return_#33212 : int); procedure routine_#33213___asinh(local_#3057___x_IN : int) returns (external_return_#33213 : int); procedure routine_#33214___asinhf(local_#3058___x_IN : int) returns (external_return_#33214 : int); procedure routine_#33215___asinhl(local_#3059___x_IN : int) returns (external_return_#33215 : int); procedure routine_#33216___asinl(local_#3060___x_IN : int) returns (external_return_#33216 : int); procedure routine_#33217___assert(local_#3061___assertion_IN : { base : int, offset : int }, local_#3062___file_IN : { base : int, offset : int }, local_#3063___line_IN : int) returns (); procedure routine_#33218___assert_fail(local_#3064___assertion_IN : { base : int, offset : int }, local_#3065___file_IN : { base : int, offset : int }, local_#3066___line_IN : int, local_#3067___function_IN : { base : int, offset : int }) returns (); procedure routine_#33219___assert_perror_fail(local_#3068___errnum_IN : int, local_#3069___file_IN : { base : int, offset : int }, local_#3070___line_IN : int, local_#3071___function_IN : { base : int, offset : int }) returns (); procedure routine_#33220___atan(local_#3072___x_IN : int) returns (external_return_#33220 : int); procedure routine_#33221___atan2(local_#3073___y_IN : int, local_#3074___x_IN : int) returns (external_return_#33221 : int); procedure routine_#33222___atan2f(local_#3075___y_IN : int, local_#3076___x_IN : int) returns (external_return_#33222 : int); procedure routine_#33223___atan2l(local_#3077___y_IN : int, local_#3078___x_IN : int) returns (external_return_#33223 : int); procedure routine_#33224___atanf(local_#3079___x_IN : int) returns (external_return_#33224 : int); procedure routine_#33225___atanh(local_#3080___x_IN : int) returns (external_return_#33225 : int); procedure routine_#33226___atanhf(local_#3081___x_IN : int) returns (external_return_#33226 : int); procedure routine_#33227___atanhl(local_#3082___x_IN : int) returns (external_return_#33227 : int); procedure routine_#33228___atanl(local_#3083___x_IN : int) returns (external_return_#33228 : int); procedure routine_#33229___builtin_huge_val() returns (external_return_#33229 : int); procedure routine_#33230___builtin_va_arg(local_#7737_IN : { base : int, offset : int }) returns (); modifies _memory_ptr; procedure routine_#33231___builtin_va_end(local_#3084_IN : { base : int, offset : int }) returns (); procedure routine_#33232___builtin_va_start(local_#3085_IN : { base : int, offset : int }, local_#7738_IN : { base : int, offset : int }) returns (); modifies _memory_ptr; procedure routine_#33233___cbrt(local_#3086___x_IN : int) returns (external_return_#33233 : int); procedure routine_#33234___cbrtf(local_#3087___x_IN : int) returns (external_return_#33234 : int); procedure routine_#33235___cbrtl(local_#3088___x_IN : int) returns (external_return_#33235 : int); procedure routine_#33236___ceil(local_#3089___x_IN : int) returns (external_return_#33236 : int); procedure routine_#33237___ceilf(local_#3090___x_IN : int) returns (external_return_#33237 : int); procedure routine_#33238___ceill(local_#3091___x_IN : int) returns (external_return_#33238 : int); procedure routine_#33239___copysign(local_#3092___x_IN : int, local_#3093___y_IN : int) returns (external_return_#33239 : int); procedure routine_#33240___copysignf(local_#3094___x_IN : int, local_#3095___y_IN : int) returns (external_return_#33240 : int); procedure routine_#33241___copysignl(local_#3096___x_IN : int, local_#3097___y_IN : int) returns (external_return_#33241 : int); procedure routine_#33242___cos(local_#3098___x_IN : int) returns (external_return_#33242 : int); procedure routine_#33243___cosf(local_#3099___x_IN : int) returns (external_return_#33243 : int); procedure routine_#33244___cosh(local_#3100___x_IN : int) returns (external_return_#33244 : int); procedure routine_#33245___coshf(local_#3101___x_IN : int) returns (external_return_#33245 : int); procedure routine_#33246___coshl(local_#3102___x_IN : int) returns (external_return_#33246 : int); procedure routine_#33247___cosl(local_#3103___x_IN : int) returns (external_return_#33247 : int); procedure routine_#33248___ctype_b_loc() returns (external_return_#33248 : { base : int, offset : int }); procedure routine_#33249___ctype_get_mb_cur_max() returns (external_return_#33249 : int); procedure routine_#33250___ctype_tolower_loc() returns (external_return_#33250 : { base : int, offset : int }); procedure routine_#33251___ctype_toupper_loc() returns (external_return_#33251 : { base : int, offset : int }); procedure routine_#33252___erf(local_#3104_IN : int) returns (external_return_#33252 : int); procedure routine_#33253___erfc(local_#3105_IN : int) returns (external_return_#33253 : int); procedure routine_#33254___erfcf(local_#3106_IN : int) returns (external_return_#33254 : int); procedure routine_#33255___erfcl(local_#3107_IN : int) returns (external_return_#33255 : int); procedure routine_#33256___erff(local_#3108_IN : int) returns (external_return_#33256 : int); procedure routine_#33257___erfl(local_#3109_IN : int) returns (external_return_#33257 : int); procedure routine_#33258___errno_location() returns (external_return_#33258 : { base : int, offset : int }); procedure routine_#33259___exp(local_#3110___x_IN : int) returns (external_return_#33259 : int); procedure routine_#33260___exp2(local_#3111___x_IN : int) returns (external_return_#33260 : int); procedure routine_#33261___exp2f(local_#3112___x_IN : int) returns (external_return_#33261 : int); procedure routine_#33262___exp2l(local_#3113___x_IN : int) returns (external_return_#33262 : int); procedure routine_#33263___expf(local_#3114___x_IN : int) returns (external_return_#33263 : int); procedure routine_#33264___expl(local_#3115___x_IN : int) returns (external_return_#33264 : int); procedure routine_#33265___expm1(local_#3116___x_IN : int) returns (external_return_#33265 : int); procedure routine_#33266___expm1f(local_#3117___x_IN : int) returns (external_return_#33266 : int); procedure routine_#33267___expm1l(local_#3118___x_IN : int) returns (external_return_#33267 : int); procedure routine_#33268___fabs(local_#3119___x_IN : int) returns (external_return_#33268 : int); procedure routine_#33269___fabsf(local_#3120___x_IN : int) returns (external_return_#33269 : int); procedure routine_#33270___fabsl(local_#3121___x_IN : int) returns (external_return_#33270 : int); procedure routine_#33271___fdim(local_#3122___x_IN : int, local_#3123___y_IN : int) returns (external_return_#33271 : int); procedure routine_#33272___fdimf(local_#3124___x_IN : int, local_#3125___y_IN : int) returns (external_return_#33272 : int); procedure routine_#33273___fdiml(local_#3126___x_IN : int, local_#3127___y_IN : int) returns (external_return_#33273 : int); procedure routine_#33274___finite(local_#3128___value_IN : int) returns (external_return_#33274 : int); procedure routine_#33275___finitef(local_#3129___value_IN : int) returns (external_return_#33275 : int); procedure routine_#33276___finitef128(local_#3130___value_IN : int) returns (external_return_#33276 : int); procedure routine_#33277___finitel(local_#3131___value_IN : int) returns (external_return_#33277 : int); procedure routine_#33278___floor(local_#3132___x_IN : int) returns (external_return_#33278 : int); procedure routine_#33279___floorf(local_#3133___x_IN : int) returns (external_return_#33279 : int); procedure routine_#33280___floorl(local_#3134___x_IN : int) returns (external_return_#33280 : int); procedure routine_#33281___fma(local_#3135___x_IN : int, local_#3136___y_IN : int, local_#3137___z_IN : int) returns (external_return_#33281 : int); procedure routine_#33282___fmaf(local_#3138___x_IN : int, local_#3139___y_IN : int, local_#3140___z_IN : int) returns (external_return_#33282 : int); procedure routine_#33283___fmal(local_#3141___x_IN : int, local_#3142___y_IN : int, local_#3143___z_IN : int) returns (external_return_#33283 : int); procedure routine_#33284___fmax(local_#3144___x_IN : int, local_#3145___y_IN : int) returns (external_return_#33284 : int); procedure routine_#33285___fmaxf(local_#3146___x_IN : int, local_#3147___y_IN : int) returns (external_return_#33285 : int); procedure routine_#33286___fmaxl(local_#3148___x_IN : int, local_#3149___y_IN : int) returns (external_return_#33286 : int); procedure routine_#33287___fmin(local_#3150___x_IN : int, local_#3151___y_IN : int) returns (external_return_#33287 : int); procedure routine_#33288___fminf(local_#3152___x_IN : int, local_#3153___y_IN : int) returns (external_return_#33288 : int); procedure routine_#33289___fminl(local_#3154___x_IN : int, local_#3155___y_IN : int) returns (external_return_#33289 : int); procedure routine_#33290___fmod(local_#3156___x_IN : int, local_#3157___y_IN : int) returns (external_return_#33290 : int); procedure routine_#33291___fmodf(local_#3158___x_IN : int, local_#3159___y_IN : int) returns (external_return_#33291 : int); procedure routine_#33292___fmodl(local_#3160___x_IN : int, local_#3161___y_IN : int) returns (external_return_#33292 : int); procedure routine_#33293___fpclassify(local_#3162___value_IN : int) returns (external_return_#33293 : int); procedure routine_#33294___fpclassifyf(local_#3163___value_IN : int) returns (external_return_#33294 : int); procedure routine_#33295___fpclassifyf128(local_#3164___value_IN : int) returns (external_return_#33295 : int); procedure routine_#33296___fpclassifyl(local_#3165___value_IN : int) returns (external_return_#33296 : int); procedure routine_#33297___frexp(local_#3166___x_IN : int, local_#3167___exponent_IN : { base : int, offset : int }) returns (external_return_#33297 : int); procedure routine_#33298___frexpf(local_#3168___x_IN : int, local_#3169___exponent_IN : { base : int, offset : int }) returns (external_return_#33298 : int); procedure routine_#33299___frexpl(local_#3170___x_IN : int, local_#3171___exponent_IN : { base : int, offset : int }) returns (external_return_#33299 : int); procedure routine_#33300___getpgid(local_#3172___pid_IN : int) returns (external_return_#33300 : int); procedure routine_#33301___hypot(local_#3173___x_IN : int, local_#3174___y_IN : int) returns (external_return_#33301 : int); procedure routine_#33302___hypotf(local_#3175___x_IN : int, local_#3176___y_IN : int) returns (external_return_#33302 : int); procedure routine_#33303___hypotl(local_#3177___x_IN : int, local_#3178___y_IN : int) returns (external_return_#33303 : int); procedure routine_#33304___ilogb(local_#3179___x_IN : int) returns (external_return_#33304 : int); procedure routine_#33305___ilogbf(local_#3180___x_IN : int) returns (external_return_#33305 : int); procedure routine_#33306___ilogbl(local_#3181___x_IN : int) returns (external_return_#33306 : int); procedure routine_#33307___iseqsig(local_#3182___x_IN : int, local_#3183___y_IN : int) returns (external_return_#33307 : int); procedure routine_#33308___iseqsigf(local_#3184___x_IN : int, local_#3185___y_IN : int) returns (external_return_#33308 : int); procedure routine_#33309___iseqsigf128(local_#3186___x_IN : int, local_#3187___y_IN : int) returns (external_return_#33309 : int); procedure routine_#33310___iseqsigl(local_#3188___x_IN : int, local_#3189___y_IN : int) returns (external_return_#33310 : int); procedure routine_#33311___isinf(local_#3190___value_IN : int) returns (external_return_#33311 : int); procedure routine_#33312___isinff(local_#3191___value_IN : int) returns (external_return_#33312 : int); procedure routine_#33313___isinff128(local_#3192___value_IN : int) returns (external_return_#33313 : int); procedure routine_#33314___isinfl(local_#3193___value_IN : int) returns (external_return_#33314 : int); procedure routine_#33315___isnan(local_#3194___value_IN : int) returns (external_return_#33315 : int); procedure routine_#33316___isnanf(local_#3195___value_IN : int) returns (external_return_#33316 : int); procedure routine_#33317___isnanf128(local_#3196___value_IN : int) returns (external_return_#33317 : int); procedure routine_#33318___isnanl(local_#3197___value_IN : int) returns (external_return_#33318 : int); procedure routine_#33319___issignaling(local_#3198___value_IN : int) returns (external_return_#33319 : int); procedure routine_#33320___issignalingf(local_#3199___value_IN : int) returns (external_return_#33320 : int); procedure routine_#33321___issignalingf128(local_#3200___value_IN : int) returns (external_return_#33321 : int); procedure routine_#33322___issignalingl(local_#3201___value_IN : int) returns (external_return_#33322 : int); procedure routine_#33323___j0(local_#3202_IN : int) returns (external_return_#33323 : int); procedure routine_#33324___j1(local_#3203_IN : int) returns (external_return_#33324 : int); procedure routine_#33325___jn(local_#3204_IN : int, local_#3205_IN : int) returns (external_return_#33325 : int); procedure routine_#33326___ldexp(local_#3206___x_IN : int, local_#3207___exponent_IN : int) returns (external_return_#33326 : int); procedure routine_#33327___ldexpf(local_#3208___x_IN : int, local_#3209___exponent_IN : int) returns (external_return_#33327 : int); procedure routine_#33328___ldexpl(local_#3210___x_IN : int, local_#3211___exponent_IN : int) returns (external_return_#33328 : int); procedure routine_#33329___lgamma(local_#3212_IN : int) returns (external_return_#33329 : int); procedure routine_#33330___lgammaf(local_#3213_IN : int) returns (external_return_#33330 : int); procedure routine_#33331___lgammal(local_#3214_IN : int) returns (external_return_#33331 : int); procedure routine_#33332___libc_current_sigrtmax() returns (external_return_#33332 : int); procedure routine_#33333___libc_current_sigrtmin() returns (external_return_#33333 : int); procedure routine_#33334___llrint(local_#3215___x_IN : int) returns (external_return_#33334 : int); procedure routine_#33335___llrintf(local_#3216___x_IN : int) returns (external_return_#33335 : int); procedure routine_#33336___llrintl(local_#3217___x_IN : int) returns (external_return_#33336 : int); procedure routine_#33337___llround(local_#3218___x_IN : int) returns (external_return_#33337 : int); procedure routine_#33338___llroundf(local_#3219___x_IN : int) returns (external_return_#33338 : int); procedure routine_#33339___llroundl(local_#3220___x_IN : int) returns (external_return_#33339 : int); procedure routine_#33340___log(local_#3221___x_IN : int) returns (external_return_#33340 : int); procedure routine_#33341___log10(local_#3222___x_IN : int) returns (external_return_#33341 : int); procedure routine_#33342___log10f(local_#3223___x_IN : int) returns (external_return_#33342 : int); procedure routine_#33343___log10l(local_#3224___x_IN : int) returns (external_return_#33343 : int); procedure routine_#33344___log1p(local_#3225___x_IN : int) returns (external_return_#33344 : int); procedure routine_#33345___log1pf(local_#3226___x_IN : int) returns (external_return_#33345 : int); procedure routine_#33346___log1pl(local_#3227___x_IN : int) returns (external_return_#33346 : int); procedure routine_#33347___log2(local_#3228___x_IN : int) returns (external_return_#33347 : int); procedure routine_#33348___log2f(local_#3229___x_IN : int) returns (external_return_#33348 : int); procedure routine_#33349___log2l(local_#3230___x_IN : int) returns (external_return_#33349 : int); procedure routine_#33350___logb(local_#3231___x_IN : int) returns (external_return_#33350 : int); procedure routine_#33351___logbf(local_#3232___x_IN : int) returns (external_return_#33351 : int); procedure routine_#33352___logbl(local_#3233___x_IN : int) returns (external_return_#33352 : int); procedure routine_#33353___logf(local_#3234___x_IN : int) returns (external_return_#33353 : int); procedure routine_#33354___logl(local_#3235___x_IN : int) returns (external_return_#33354 : int); procedure routine_#33355___lrint(local_#3236___x_IN : int) returns (external_return_#33355 : int); procedure routine_#33356___lrintf(local_#3237___x_IN : int) returns (external_return_#33356 : int); procedure routine_#33357___lrintl(local_#3238___x_IN : int) returns (external_return_#33357 : int); procedure routine_#33358___lround(local_#3239___x_IN : int) returns (external_return_#33358 : int); procedure routine_#33359___lroundf(local_#3240___x_IN : int) returns (external_return_#33359 : int); procedure routine_#33360___lroundl(local_#3241___x_IN : int) returns (external_return_#33360 : int); procedure routine_#33361___modf(local_#3242___x_IN : int, local_#3243___iptr_IN : { base : int, offset : int }) returns (external_return_#33361 : int); procedure routine_#33362___modff(local_#3244___x_IN : int, local_#3245___iptr_IN : { base : int, offset : int }) returns (external_return_#33362 : int); procedure routine_#33363___modfl(local_#3246___x_IN : int, local_#3247___iptr_IN : { base : int, offset : int }) returns (external_return_#33363 : int); procedure routine_#33364___nan(local_#3248___tagb_IN : { base : int, offset : int }) returns (external_return_#33364 : int); procedure routine_#33365___nanf(local_#3249___tagb_IN : { base : int, offset : int }) returns (external_return_#33365 : int); procedure routine_#33366___nanl(local_#3250___tagb_IN : { base : int, offset : int }) returns (external_return_#33366 : int); procedure routine_#33367___nearbyint(local_#3251___x_IN : int) returns (external_return_#33367 : int); procedure routine_#33368___nearbyintf(local_#3252___x_IN : int) returns (external_return_#33368 : int); procedure routine_#33369___nearbyintl(local_#3253___x_IN : int) returns (external_return_#33369 : int); procedure routine_#33370___nextafter(local_#3254___x_IN : int, local_#3255___y_IN : int) returns (external_return_#33370 : int); procedure routine_#33371___nextafterf(local_#3256___x_IN : int, local_#3257___y_IN : int) returns (external_return_#33371 : int); procedure routine_#33372___nextafterl(local_#3258___x_IN : int, local_#3259___y_IN : int) returns (external_return_#33372 : int); procedure routine_#33373___nexttoward(local_#3260___x_IN : int, local_#3261___y_IN : int) returns (external_return_#33373 : int); procedure routine_#33374___nexttowardf(local_#3262___x_IN : int, local_#3263___y_IN : int) returns (external_return_#33374 : int); procedure routine_#33375___nexttowardl(local_#3264___x_IN : int, local_#3265___y_IN : int) returns (external_return_#33375 : int); procedure routine_#33376___overflow(local_#3266_IN : { base : int, offset : int }, local_#3267_IN : int) returns (external_return_#33376 : int); procedure routine_#33377___pow(local_#3268___x_IN : int, local_#3269___y_IN : int) returns (external_return_#33377 : int); procedure routine_#33378___powf(local_#3270___x_IN : int, local_#3271___y_IN : int) returns (external_return_#33378 : int); procedure routine_#33379___powl(local_#3272___x_IN : int, local_#3273___y_IN : int) returns (external_return_#33379 : int); procedure routine_#33380___remainder(local_#3274___x_IN : int, local_#3275___y_IN : int) returns (external_return_#33380 : int); procedure routine_#33381___remainderf(local_#3276___x_IN : int, local_#3277___y_IN : int) returns (external_return_#33381 : int); procedure routine_#33382___remainderl(local_#3278___x_IN : int, local_#3279___y_IN : int) returns (external_return_#33382 : int); procedure routine_#33383___remquo(local_#3280___x_IN : int, local_#3281___y_IN : int, local_#3282___quo_IN : { base : int, offset : int }) returns (external_return_#33383 : int); procedure routine_#33384___remquof(local_#3283___x_IN : int, local_#3284___y_IN : int, local_#3285___quo_IN : { base : int, offset : int }) returns (external_return_#33384 : int); procedure routine_#33385___remquol(local_#3286___x_IN : int, local_#3287___y_IN : int, local_#3288___quo_IN : { base : int, offset : int }) returns (external_return_#33385 : int); procedure routine_#33386___rint(local_#3289___x_IN : int) returns (external_return_#33386 : int); procedure routine_#33387___rintf(local_#3290___x_IN : int) returns (external_return_#33387 : int); procedure routine_#33388___rintl(local_#3291___x_IN : int) returns (external_return_#33388 : int); procedure routine_#33389___round(local_#3292___x_IN : int) returns (external_return_#33389 : int); procedure routine_#33390___roundf(local_#3293___x_IN : int) returns (external_return_#33390 : int); procedure routine_#33391___roundl(local_#3294___x_IN : int) returns (external_return_#33391 : int); procedure routine_#33392___scalb(local_#3295___x_IN : int, local_#3296___n_IN : int) returns (external_return_#33392 : int); procedure routine_#33393___scalbln(local_#3297___x_IN : int, local_#3298___n_IN : int) returns (external_return_#33393 : int); procedure routine_#33394___scalblnf(local_#3299___x_IN : int, local_#3300___n_IN : int) returns (external_return_#33394 : int); procedure routine_#33395___scalblnl(local_#3301___x_IN : int, local_#3302___n_IN : int) returns (external_return_#33395 : int); procedure routine_#33396___scalbn(local_#3303___x_IN : int, local_#3304___n_IN : int) returns (external_return_#33396 : int); procedure routine_#33397___scalbnf(local_#3305___x_IN : int, local_#3306___n_IN : int) returns (external_return_#33397 : int); procedure routine_#33398___scalbnl(local_#3307___x_IN : int, local_#3308___n_IN : int) returns (external_return_#33398 : int); procedure routine_#33399___signbit(local_#3309___value_IN : int) returns (external_return_#33399 : int); procedure routine_#33400___signbitf(local_#3310___value_IN : int) returns (external_return_#33400 : int); procedure routine_#33401___signbitf128(local_#3311___value_IN : int) returns (external_return_#33401 : int); procedure routine_#33402___signbitl(local_#3312___value_IN : int) returns (external_return_#33402 : int); procedure routine_#33403___sigsetjmp(local_#3313___env_IN : { base : int, offset : int }, local_#3314___savemask_IN : int) returns (external_return_#33403 : int); procedure routine_#33404___sin(local_#3315___x_IN : int) returns (external_return_#33404 : int); procedure routine_#33405___sinf(local_#3316___x_IN : int) returns (external_return_#33405 : int); procedure routine_#33406___sinh(local_#3317___x_IN : int) returns (external_return_#33406 : int); procedure routine_#33407___sinhf(local_#3318___x_IN : int) returns (external_return_#33407 : int); procedure routine_#33408___sinhl(local_#3319___x_IN : int) returns (external_return_#33408 : int); procedure routine_#33409___sinl(local_#3320___x_IN : int) returns (external_return_#33409 : int); procedure routine_#33410___sqrt(local_#3321___x_IN : int) returns (external_return_#33410 : int); procedure routine_#33411___sqrtf(local_#3322___x_IN : int) returns (external_return_#33411 : int); procedure routine_#33412___sqrtl(local_#3323___x_IN : int) returns (external_return_#33412 : int); procedure routine_#33413___strtok_r(local_#3324___s_IN : { base : int, offset : int }, local_#3325___delim_IN : { base : int, offset : int }, local_#3326___save_ptr_IN : { base : int, offset : int }) returns (external_return_#33413 : { base : int, offset : int }); procedure routine_#33414___sysv_signal(local_#3327___sig_IN : int, local_#3328___handler_IN : { base : int, offset : int }) returns (external_return_#33414 : { base : int, offset : int }); procedure routine_#33415___tan(local_#3329___x_IN : int) returns (external_return_#33415 : int); procedure routine_#33416___tanf(local_#3330___x_IN : int) returns (external_return_#33416 : int); procedure routine_#33417___tanh(local_#3331___x_IN : int) returns (external_return_#33417 : int); procedure routine_#33418___tanhf(local_#3332___x_IN : int) returns (external_return_#33418 : int); procedure routine_#33419___tanhl(local_#3333___x_IN : int) returns (external_return_#33419 : int); procedure routine_#33420___tanl(local_#3334___x_IN : int) returns (external_return_#33420 : int); procedure routine_#33421___tgamma(local_#3335_IN : int) returns (external_return_#33421 : int); procedure routine_#33422___tgammaf(local_#3336_IN : int) returns (external_return_#33422 : int); procedure routine_#33423___tgammal(local_#3337_IN : int) returns (external_return_#33423 : int); procedure routine_#33424___trunc(local_#3338___x_IN : int) returns (external_return_#33424 : int); procedure routine_#33425___truncf(local_#3339___x_IN : int) returns (external_return_#33425 : int); procedure routine_#33426___truncl(local_#3340___x_IN : int) returns (external_return_#33426 : int); procedure routine_#33427___uflow(local_#3341_IN : { base : int, offset : int }) returns (external_return_#33427 : int); procedure routine_#33428___y0(local_#3342_IN : int) returns (external_return_#33428 : int); procedure routine_#33429___y1(local_#3343_IN : int) returns (external_return_#33429 : int); procedure routine_#33430___yn(local_#3344_IN : int, local_#3345_IN : int) returns (external_return_#33430 : int); procedure routine_#33431__longjmp(local_#3346___env_IN : { base : int, offset : int }, local_#3347___val_IN : int) returns (); procedure routine_#33432__setjmp(local_#3348___env_IN : { base : int, offset : int }) returns (external_return_#33432 : int); procedure routine_#33433__tolower(local_#3349_IN : int) returns (external_return_#33433 : int); procedure routine_#33434__toupper(local_#3350_IN : int) returns (external_return_#33434 : int); procedure routine_#33435_a64l(local_#3351___s_IN : { base : int, offset : int }) returns (external_return_#33435 : int); procedure routine_#33436_abort() returns (); procedure routine_#33437_abs(local_#3352___x_IN : int) returns (external_return_#33437 : int); procedure routine_#33438_access(local_#3353___name_IN : { base : int, offset : int }, local_#3354___type_IN : int) returns (external_return_#33438 : int); procedure routine_#33439_acos(local_#3355___x_IN : int) returns (external_return_#33439 : int); procedure routine_#33440_acosf(local_#3356___x_IN : int) returns (external_return_#33440 : int); procedure routine_#33441_acosh(local_#3357___x_IN : int) returns (external_return_#33441 : int); procedure routine_#33442_acoshf(local_#3358___x_IN : int) returns (external_return_#33442 : int); procedure routine_#33443_acoshl(local_#3359___x_IN : int) returns (external_return_#33443 : int); procedure routine_#33444_acosl(local_#3360___x_IN : int) returns (external_return_#33444 : int); procedure routine_#33445_add_history(local_#3361_IN : { base : int, offset : int }) returns (); procedure routine_#33446_add_history_time(local_#3362_IN : { base : int, offset : int }) returns (); procedure routine_#33447_alarm(local_#3363___seconds_IN : int) returns (external_return_#33447 : int); procedure routine_#33448_aligned_alloc(local_#3364___alignment_IN : int, local_#3365___size_IN : int) returns (external_return_#33448 : { base : int, offset : int }); procedure routine_#33449_alloc_history_entry(local_#3366_IN : { base : int, offset : int }, local_#3367_IN : { base : int, offset : int }) returns (external_return_#33449 : { base : int, offset : int }); procedure routine_#33450_append_history(local_#3368_IN : int, local_#3369_IN : { base : int, offset : int }) returns (external_return_#33450 : int); procedure routine_#33451_asctime(local_#3370___tp_IN : { base : int, offset : int }) returns (external_return_#33451 : { base : int, offset : int }); procedure routine_#33452_asctime_r(local_#3371___tp_IN : { base : int, offset : int }, local_#3372___buf_IN : { base : int, offset : int }) returns (external_return_#33452 : { base : int, offset : int }); procedure routine_#33453_asin(local_#3373___x_IN : int) returns (external_return_#33453 : int); procedure routine_#33454_asinf(local_#3374___x_IN : int) returns (external_return_#33454 : int); procedure routine_#33455_asinh(local_#3375___x_IN : int) returns (external_return_#33455 : int); procedure routine_#33456_asinhf(local_#3376___x_IN : int) returns (external_return_#33456 : int); procedure routine_#33457_asinhl(local_#3377___x_IN : int) returns (external_return_#33457 : int); procedure routine_#33458_asinl(local_#3378___x_IN : int) returns (external_return_#33458 : int); procedure routine_#33459_at_quick_exit(local_#3379___func_IN : { base : int, offset : int }) returns (external_return_#33459 : int); procedure routine_#33460_atan(local_#3380___x_IN : int) returns (external_return_#33460 : int); procedure routine_#33461_atan2(local_#3381___y_IN : int, local_#3382___x_IN : int) returns (external_return_#33461 : int); procedure routine_#33462_atan2f(local_#3383___y_IN : int, local_#3384___x_IN : int) returns (external_return_#33462 : int); procedure routine_#33463_atan2l(local_#3385___y_IN : int, local_#3386___x_IN : int) returns (external_return_#33463 : int); procedure routine_#33464_atanf(local_#3387___x_IN : int) returns (external_return_#33464 : int); procedure routine_#33465_atanh(local_#3388___x_IN : int) returns (external_return_#33465 : int); procedure routine_#33466_atanhf(local_#3389___x_IN : int) returns (external_return_#33466 : int); procedure routine_#33467_atanhl(local_#3390___x_IN : int) returns (external_return_#33467 : int); procedure routine_#33468_atanl(local_#3391___x_IN : int) returns (external_return_#33468 : int); procedure routine_#33469_atexit(local_#3392___func_IN : { base : int, offset : int }) returns (external_return_#33469 : int); procedure routine_#33470_atof(local_#3393___nptr_IN : { base : int, offset : int }) returns (external_return_#33470 : int); procedure routine_#33471_atoi(local_#3394___nptr_IN : { base : int, offset : int }) returns (external_return_#33471 : int); procedure routine_#33472_atol(local_#3395___nptr_IN : { base : int, offset : int }) returns (external_return_#33472 : int); procedure routine_#33473_atoll(local_#3396___nptr_IN : { base : int, offset : int }) returns (external_return_#33473 : int); procedure routine_#33474_bsd_signal(local_#3397___sig_IN : int, local_#3398___handler_IN : { base : int, offset : int }) returns (external_return_#33474 : { base : int, offset : int }); procedure routine_#33475_bsearch(local_#3399___key_IN : { base : int, offset : int }, local_#3400___base_IN : { base : int, offset : int }, local_#3401___nmemb_IN : int, local_#3402___size_IN : int, local_#3403___compar_IN : { base : int, offset : int }) returns (external_return_#33475 : { base : int, offset : int }); procedure routine_#33476_calloc(local_#3404___nmemb_IN : int, local_#3405___size_IN : int) returns (external_return_#33476 : { base : int, offset : int }); procedure routine_#33477_cbrt(local_#3406___x_IN : int) returns (external_return_#33477 : int); procedure routine_#33478_cbrtf(local_#3407___x_IN : int) returns (external_return_#33478 : int); procedure routine_#33479_cbrtl(local_#3408___x_IN : int) returns (external_return_#33479 : int); procedure routine_#33480_ceil(local_#3409___x_IN : int) returns (external_return_#33480 : int); procedure routine_#33481_ceilf(local_#3410___x_IN : int) returns (external_return_#33481 : int); procedure routine_#33482_ceill(local_#3411___x_IN : int) returns (external_return_#33482 : int); procedure routine_#33483_chdir(local_#3412___path_IN : { base : int, offset : int }) returns (external_return_#33483 : int); procedure routine_#33484_chown(local_#3413___file_IN : { base : int, offset : int }, local_#3414___owner_IN : int, local_#3415___group_IN : int) returns (external_return_#33484 : int); procedure routine_#33485_clear_history() returns (); procedure routine_#33486_clearerr(local_#3416___stream_IN : { base : int, offset : int }) returns (); procedure routine_#33487_clock() returns (external_return_#33487 : int); procedure routine_#33488_clock_getcpuclockid(local_#3417___pid_IN : int, local_#3418___clock_id_IN : { base : int, offset : int }) returns (external_return_#33488 : int); procedure routine_#33489_clock_getres(local_#3419___clock_id_IN : int, local_#3420___res_IN : { base : int, offset : int }) returns (external_return_#33489 : int); procedure routine_#33490_clock_gettime(local_#3421___clock_id_IN : int, local_#3422___tp_IN : { base : int, offset : int }) returns (external_return_#33490 : int); procedure routine_#33491_clock_nanosleep(local_#3423___clock_id_IN : int, local_#3424___flags_IN : int, local_#3425___req_IN : { base : int, offset : int }, local_#3426___rem_IN : { base : int, offset : int }) returns (external_return_#33491 : int); procedure routine_#33492_clock_settime(local_#3427___clock_id_IN : int, local_#3428___tp_IN : { base : int, offset : int }) returns (external_return_#33492 : int); procedure routine_#33493_close(local_#3429___fd_IN : int) returns (external_return_#33493 : int); procedure routine_#33494_confstr(local_#3430___name_IN : int, local_#3431___buf_IN : { base : int, offset : int }, local_#3432___len_IN : int) returns (external_return_#33494 : int); procedure routine_#33495_copy_history_entry(local_#3433_IN : { base : int, offset : int }) returns (external_return_#33495 : { base : int, offset : int }); procedure routine_#33496_copysign(local_#3434___x_IN : int, local_#3435___y_IN : int) returns (external_return_#33496 : int); procedure routine_#33497_copysignf(local_#3436___x_IN : int, local_#3437___y_IN : int) returns (external_return_#33497 : int); procedure routine_#33498_copysignl(local_#3438___x_IN : int, local_#3439___y_IN : int) returns (external_return_#33498 : int); procedure routine_#33499_cos(local_#3440___x_IN : int) returns (external_return_#33499 : int); procedure routine_#33500_cosf(local_#3441___x_IN : int) returns (external_return_#33500 : int); procedure routine_#33501_cosh(local_#3442___x_IN : int) returns (external_return_#33501 : int); procedure routine_#33502_coshf(local_#3443___x_IN : int) returns (external_return_#33502 : int); procedure routine_#33503_coshl(local_#3444___x_IN : int) returns (external_return_#33503 : int); procedure routine_#33504_cosl(local_#3445___x_IN : int) returns (external_return_#33504 : int); procedure routine_#33505_ctermid(local_#3446___s_IN : { base : int, offset : int }) returns (external_return_#33505 : { base : int, offset : int }); procedure routine_#33506_ctime(local_#3447___timer_IN : { base : int, offset : int }) returns (external_return_#33506 : { base : int, offset : int }); procedure routine_#33507_ctime_r(local_#3448___timer_IN : { base : int, offset : int }, local_#3449___buf_IN : { base : int, offset : int }) returns (external_return_#33507 : { base : int, offset : int }); procedure routine_#33508_current_history() returns (external_return_#33508 : { base : int, offset : int }); procedure routine_#33509_difftime(local_#3450___time1_IN : int, local_#3451___time0_IN : int) returns (external_return_#33509 : int); procedure routine_#33510_div(local_#3452___numer_IN : int, local_#3453___denom_IN : int) returns (external_return_#33510 : { _quot : int, _rem : int }); procedure routine_#33511_dlclose(local_#3454___handle_IN : { base : int, offset : int }) returns (external_return_#33511 : int); procedure routine_#33512_dlerror() returns (external_return_#33512 : { base : int, offset : int }); procedure routine_#33513_dlopen(local_#3455___file_IN : { base : int, offset : int }, local_#3456___mode_IN : int) returns (external_return_#33513 : { base : int, offset : int }); procedure routine_#33514_dlsym(local_#3457___handle_IN : { base : int, offset : int }, local_#3458___name_IN : { base : int, offset : int }) returns (external_return_#33514 : { base : int, offset : int }); procedure routine_#33515_drand48() returns (external_return_#33515 : int); procedure routine_#33516_dup(local_#3459___fd_IN : int) returns (external_return_#33516 : int); procedure routine_#33517_dup2(local_#3460___fd_IN : int, local_#3461___fd2_IN : int) returns (external_return_#33517 : int); procedure routine_#33518_ecvt(local_#3462___value_IN : int, local_#3463___ndigit_IN : int, local_#3464___decpt_IN : { base : int, offset : int }, local_#3465___sign_IN : { base : int, offset : int }) returns (external_return_#33518 : { base : int, offset : int }); procedure routine_#33519_erand48(local_#3466___xsubi_IN : { base : int, offset : int }) returns (external_return_#33519 : int); procedure routine_#33520_erf(local_#3467_IN : int) returns (external_return_#33520 : int); procedure routine_#33521_erfc(local_#3468_IN : int) returns (external_return_#33521 : int); procedure routine_#33522_erfcf(local_#3469_IN : int) returns (external_return_#33522 : int); procedure routine_#33523_erfcl(local_#3470_IN : int) returns (external_return_#33523 : int); procedure routine_#33524_erff(local_#3471_IN : int) returns (external_return_#33524 : int); procedure routine_#33525_erfl(local_#3472_IN : int) returns (external_return_#33525 : int); procedure routine_#33526_execl(local_#3473___path_IN : { base : int, offset : int }, local_#3474___arg_IN : { base : int, offset : int }, local_#7739_IN : { base : int, offset : int }) returns (external_return_#33526 : int); modifies _memory_ptr; procedure routine_#33527_execle(local_#3475___path_IN : { base : int, offset : int }, local_#3476___arg_IN : { base : int, offset : int }, local_#7740_IN : { base : int, offset : int }) returns (external_return_#33527 : int); modifies _memory_ptr; procedure routine_#33528_execlp(local_#3477___file_IN : { base : int, offset : int }, local_#3478___arg_IN : { base : int, offset : int }, local_#7741_IN : { base : int, offset : int }) returns (external_return_#33528 : int); modifies _memory_ptr; procedure routine_#33529_execv(local_#3479___path_IN : { base : int, offset : int }, local_#3480___argv_IN : { base : int, offset : int }) returns (external_return_#33529 : int); procedure routine_#33530_execve(local_#3481___path_IN : { base : int, offset : int }, local_#3482___argv_IN : { base : int, offset : int }, local_#3483___envp_IN : { base : int, offset : int }) returns (external_return_#33530 : int); procedure routine_#33531_execvp(local_#3484___file_IN : { base : int, offset : int }, local_#3485___argv_IN : { base : int, offset : int }) returns (external_return_#33531 : int); procedure routine_#33532_exit(local_#3486___status_IN : int) returns (); procedure routine_#33533_exp(local_#3487___x_IN : int) returns (external_return_#33533 : int); procedure routine_#33534_exp2(local_#3488___x_IN : int) returns (external_return_#33534 : int); procedure routine_#33535_exp2f(local_#3489___x_IN : int) returns (external_return_#33535 : int); procedure routine_#33536_exp2l(local_#3490___x_IN : int) returns (external_return_#33536 : int); procedure routine_#33537_expf(local_#3491___x_IN : int) returns (external_return_#33537 : int); procedure routine_#33538_expl(local_#3492___x_IN : int) returns (external_return_#33538 : int); procedure routine_#33539_expm1(local_#3493___x_IN : int) returns (external_return_#33539 : int); procedure routine_#33540_expm1f(local_#3494___x_IN : int) returns (external_return_#33540 : int); procedure routine_#33541_expm1l(local_#3495___x_IN : int) returns (external_return_#33541 : int); procedure routine_#33542_fabs(local_#3496___x_IN : int) returns (external_return_#33542 : int); procedure routine_#33543_fabsf(local_#3497___x_IN : int) returns (external_return_#33543 : int); procedure routine_#33544_fabsl(local_#3498___x_IN : int) returns (external_return_#33544 : int); procedure routine_#33545_fchdir(local_#3499___fd_IN : int) returns (external_return_#33545 : int); procedure routine_#33546_fchown(local_#3500___fd_IN : int, local_#3501___owner_IN : int, local_#3502___group_IN : int) returns (external_return_#33546 : int); procedure routine_#33547_fclose(local_#3503___stream_IN : { base : int, offset : int }) returns (external_return_#33547 : int); procedure routine_#33548_fcvt(local_#3504___value_IN : int, local_#3505___ndigit_IN : int, local_#3506___decpt_IN : { base : int, offset : int }, local_#3507___sign_IN : { base : int, offset : int }) returns (external_return_#33548 : { base : int, offset : int }); procedure routine_#33549_fdatasync(local_#3508___fildes_IN : int) returns (external_return_#33549 : int); procedure routine_#33550_fdim(local_#3509___x_IN : int, local_#3510___y_IN : int) returns (external_return_#33550 : int); procedure routine_#33551_fdimf(local_#3511___x_IN : int, local_#3512___y_IN : int) returns (external_return_#33551 : int); procedure routine_#33552_fdiml(local_#3513___x_IN : int, local_#3514___y_IN : int) returns (external_return_#33552 : int); procedure routine_#33553_fdopen(local_#3515___fd_IN : int, local_#3516___modes_IN : { base : int, offset : int }) returns (external_return_#33553 : { base : int, offset : int }); procedure routine_#33554_feof(local_#3517___stream_IN : { base : int, offset : int }) returns (external_return_#33554 : int); procedure routine_#33555_ferror(local_#3518___stream_IN : { base : int, offset : int }) returns (external_return_#33555 : int); procedure routine_#33556_fflush(local_#3519___stream_IN : { base : int, offset : int }) returns (external_return_#33556 : int); procedure routine_#33557_fgetc(local_#3520___stream_IN : { base : int, offset : int }) returns (external_return_#33557 : int); procedure routine_#33558_fgetpos(local_#3521___stream_IN : { base : int, offset : int }, local_#3522___pos_IN : { base : int, offset : int }) returns (external_return_#33558 : int); procedure routine_#33559_fgets(local_#3523___s_IN : { base : int, offset : int }, local_#3524___n_IN : int, local_#3525___stream_IN : { base : int, offset : int }) returns (external_return_#33559 : { base : int, offset : int }); procedure routine_#33560_fileno(local_#3526___stream_IN : { base : int, offset : int }) returns (external_return_#33560 : int); procedure routine_#33561_flockfile(local_#3527___stream_IN : { base : int, offset : int }) returns (); procedure routine_#33562_floor(local_#3528___x_IN : int) returns (external_return_#33562 : int); procedure routine_#33563_floorf(local_#3529___x_IN : int) returns (external_return_#33563 : int); procedure routine_#33564_floorl(local_#3530___x_IN : int) returns (external_return_#33564 : int); procedure routine_#33565_fma(local_#3531___x_IN : int, local_#3532___y_IN : int, local_#3533___z_IN : int) returns (external_return_#33565 : int); procedure routine_#33566_fmaf(local_#3534___x_IN : int, local_#3535___y_IN : int, local_#3536___z_IN : int) returns (external_return_#33566 : int); procedure routine_#33567_fmal(local_#3537___x_IN : int, local_#3538___y_IN : int, local_#3539___z_IN : int) returns (external_return_#33567 : int); procedure routine_#33568_fmax(local_#3540___x_IN : int, local_#3541___y_IN : int) returns (external_return_#33568 : int); procedure routine_#33569_fmaxf(local_#3542___x_IN : int, local_#3543___y_IN : int) returns (external_return_#33569 : int); procedure routine_#33570_fmaxl(local_#3544___x_IN : int, local_#3545___y_IN : int) returns (external_return_#33570 : int); procedure routine_#33571_fmin(local_#3546___x_IN : int, local_#3547___y_IN : int) returns (external_return_#33571 : int); procedure routine_#33572_fminf(local_#3548___x_IN : int, local_#3549___y_IN : int) returns (external_return_#33572 : int); procedure routine_#33573_fminl(local_#3550___x_IN : int, local_#3551___y_IN : int) returns (external_return_#33573 : int); procedure routine_#33574_fmod(local_#3552___x_IN : int, local_#3553___y_IN : int) returns (external_return_#33574 : int); procedure routine_#33575_fmodf(local_#3554___x_IN : int, local_#3555___y_IN : int) returns (external_return_#33575 : int); procedure routine_#33576_fmodl(local_#3556___x_IN : int, local_#3557___y_IN : int) returns (external_return_#33576 : int); procedure routine_#33577_fopen(local_#3558___filename_IN : { base : int, offset : int }, local_#3559___modes_IN : { base : int, offset : int }) returns (external_return_#33577 : { base : int, offset : int }); procedure routine_#33578_fork() returns (external_return_#33578 : int); procedure routine_#33579_fpathconf(local_#3560___fd_IN : int, local_#3561___name_IN : int) returns (external_return_#33579 : int); procedure routine_#33580_fprintf(local_#3562___stream_IN : { base : int, offset : int }, local_#3563___format_IN : { base : int, offset : int }, local_#7742_IN : { base : int, offset : int }) returns (external_return_#33580 : int); modifies _memory_ptr; procedure routine_#33581_fputc(local_#3564___c_IN : int, local_#3565___stream_IN : { base : int, offset : int }) returns (external_return_#33581 : int); procedure routine_#33582_fputs(local_#3566___s_IN : { base : int, offset : int }, local_#3567___stream_IN : { base : int, offset : int }) returns (external_return_#33582 : int); procedure routine_#33583_fread(local_#3568___ptr_IN : { base : int, offset : int }, local_#3569___size_IN : int, local_#3570___n_IN : int, local_#3571___stream_IN : { base : int, offset : int }) returns (external_return_#33583 : int); procedure routine_#33584_free(local_#3572___ptr_IN : { base : int, offset : int }) returns (); modifies _valid; ensures _valid == old(_valid)[local_#3572___ptr_IN!base := 0]; procedure routine_#33585_free_history_entry(local_#3573_IN : { base : int, offset : int }) returns (external_return_#33585 : { base : int, offset : int }); procedure routine_#33586_freopen(local_#3574___filename_IN : { base : int, offset : int }, local_#3575___modes_IN : { base : int, offset : int }, local_#3576___stream_IN : { base : int, offset : int }) returns (external_return_#33586 : { base : int, offset : int }); procedure routine_#33587_frexp(local_#3577___x_IN : int, local_#3578___exponent_IN : { base : int, offset : int }) returns (external_return_#33587 : int); procedure routine_#33588_frexpf(local_#3579___x_IN : int, local_#3580___exponent_IN : { base : int, offset : int }) returns (external_return_#33588 : int); procedure routine_#33589_frexpl(local_#3581___x_IN : int, local_#3582___exponent_IN : { base : int, offset : int }) returns (external_return_#33589 : int); procedure routine_#33590_fscanf(local_#3583___stream_IN : { base : int, offset : int }, local_#3584___format_IN : { base : int, offset : int }, local_#7743_IN : { base : int, offset : int }) returns (external_return_#33590 : int); modifies _memory_ptr; procedure routine_#33591_fseek(local_#3585___stream_IN : { base : int, offset : int }, local_#3586___off_IN : int, local_#3587___whence_IN : int) returns (external_return_#33591 : int); procedure routine_#33592_fseeko(local_#3588___stream_IN : { base : int, offset : int }, local_#3589___off_IN : int, local_#3590___whence_IN : int) returns (external_return_#33592 : int); procedure routine_#33593_fsetpos(local_#3591___stream_IN : { base : int, offset : int }, local_#3592___pos_IN : { base : int, offset : int }) returns (external_return_#33593 : int); procedure routine_#33594_fsync(local_#3593___fd_IN : int) returns (external_return_#33594 : int); procedure routine_#33595_ftell(local_#3594___stream_IN : { base : int, offset : int }) returns (external_return_#33595 : int); procedure routine_#33596_ftello(local_#3595___stream_IN : { base : int, offset : int }) returns (external_return_#33596 : int); procedure routine_#33597_ftruncate(local_#3596___fd_IN : int, local_#3597___length_IN : int) returns (external_return_#33597 : int); procedure routine_#33598_ftrylockfile(local_#3598___stream_IN : { base : int, offset : int }) returns (external_return_#33598 : int); procedure routine_#33599_funlockfile(local_#3599___stream_IN : { base : int, offset : int }) returns (); procedure routine_#33600_fwrite(local_#3600___ptr_IN : { base : int, offset : int }, local_#3601___size_IN : int, local_#3602___n_IN : int, local_#3603___s_IN : { base : int, offset : int }) returns (external_return_#33600 : int); procedure routine_#33601_gcvt(local_#3604___value_IN : int, local_#3605___ndigit_IN : int, local_#3606___buf_IN : { base : int, offset : int }) returns (external_return_#33601 : { base : int, offset : int }); procedure routine_#33602_get_history_event(local_#3607_IN : { base : int, offset : int }, local_#3608_IN : { base : int, offset : int }, local_#3609_IN : int) returns (external_return_#33602 : { base : int, offset : int }); procedure routine_#33603_getc(local_#3610___stream_IN : { base : int, offset : int }) returns (external_return_#33603 : int); procedure routine_#33604_getc_unlocked(local_#3611___stream_IN : { base : int, offset : int }) returns (external_return_#33604 : int); procedure routine_#33605_getchar() returns (external_return_#33605 : int); procedure routine_#33606_getchar_unlocked() returns (external_return_#33606 : int); procedure routine_#33607_getcwd(local_#3612___buf_IN : { base : int, offset : int }, local_#3613___size_IN : int) returns (external_return_#33607 : { base : int, offset : int }); procedure routine_#33608_getdate(local_#3614___string_IN : { base : int, offset : int }) returns (external_return_#33608 : { base : int, offset : int }); procedure routine_#33609_getegid() returns (external_return_#33609 : int); procedure routine_#33610_getenv(local_#3615___name_IN : { base : int, offset : int }) returns (external_return_#33610 : { base : int, offset : int }); procedure routine_#33611_geteuid() returns (external_return_#33611 : int); procedure routine_#33612_getgid() returns (external_return_#33612 : int); procedure routine_#33613_getgroups(local_#3616___size_IN : int, local_#3617___list_IN : { base : int, offset : int }) returns (external_return_#33613 : int); procedure routine_#33614_gethostid() returns (external_return_#33614 : int); procedure routine_#33615_gethostname(local_#3618___name_IN : { base : int, offset : int }, local_#3619___len_IN : int) returns (external_return_#33615 : int); procedure routine_#33616_getlogin() returns (external_return_#33616 : { base : int, offset : int }); procedure routine_#33617_getlogin_r(local_#3620___name_IN : { base : int, offset : int }, local_#3621___name_len_IN : int) returns (external_return_#33617 : int); procedure routine_#33618_getopt(local_#3622____argc_IN : int, local_#3623____argv_IN : { base : int, offset : int }, local_#3624___shortopts_IN : { base : int, offset : int }) returns (external_return_#33618 : int); procedure routine_#33619_getpgid(local_#3625___pid_IN : int) returns (external_return_#33619 : int); procedure routine_#33620_getpgrp() returns (external_return_#33620 : int); procedure routine_#33621_getpid() returns (external_return_#33621 : int); procedure routine_#33622_getppid() returns (external_return_#33622 : int); procedure routine_#33623_getsid(local_#3626___pid_IN : int) returns (external_return_#33623 : int); procedure routine_#33624_getsubopt(local_#3627___optionp_IN : { base : int, offset : int }, local_#3628___tokens_IN : { base : int, offset : int }, local_#3629___valuep_IN : { base : int, offset : int }) returns (external_return_#33624 : int); procedure routine_#33625_getuid() returns (external_return_#33625 : int); procedure routine_#33626_getwd(local_#3630___buf_IN : { base : int, offset : int }) returns (external_return_#33626 : { base : int, offset : int }); procedure routine_#33627_gmtime(local_#3631___timer_IN : { base : int, offset : int }) returns (external_return_#33627 : { base : int, offset : int }); procedure routine_#33628_gmtime_r(local_#3632___timer_IN : { base : int, offset : int }, local_#3633___tp_IN : { base : int, offset : int }) returns (external_return_#33628 : { base : int, offset : int }); procedure routine_#33629_grantpt(local_#3634___fd_IN : int) returns (external_return_#33629 : int); procedure routine_#33630_history_arg_extract(local_#3635_IN : int, local_#3636_IN : int, local_#3637_IN : { base : int, offset : int }) returns (external_return_#33630 : { base : int, offset : int }); procedure routine_#33631_history_expand(local_#3638_IN : { base : int, offset : int }, local_#3639_IN : { base : int, offset : int }) returns (external_return_#33631 : int); procedure routine_#33632_history_get(local_#3640_IN : int) returns (external_return_#33632 : { base : int, offset : int }); procedure routine_#33633_history_get_history_state() returns (external_return_#33633 : { base : int, offset : int }); procedure routine_#33634_history_get_time(local_#3641_IN : { base : int, offset : int }) returns (external_return_#33634 : int); procedure routine_#33635_history_is_stifled() returns (external_return_#33635 : int); procedure routine_#33636_history_list() returns (external_return_#33636 : { base : int, offset : int }); procedure routine_#33637_history_search(local_#3642_IN : { base : int, offset : int }, local_#3643_IN : int) returns (external_return_#33637 : int); procedure routine_#33638_history_search_pos(local_#3644_IN : { base : int, offset : int }, local_#3645_IN : int, local_#3646_IN : int) returns (external_return_#33638 : int); procedure routine_#33639_history_search_prefix(local_#3647_IN : { base : int, offset : int }, local_#3648_IN : int) returns (external_return_#33639 : int); procedure routine_#33640_history_set_history_state(local_#3649_IN : { base : int, offset : int }) returns (); procedure routine_#33641_history_set_pos(local_#3650_IN : int) returns (external_return_#33641 : int); procedure routine_#33642_history_tokenize(local_#3651_IN : { base : int, offset : int }) returns (external_return_#33642 : { base : int, offset : int }); procedure routine_#33643_history_total_bytes() returns (external_return_#33643 : int); procedure routine_#33644_history_truncate_file(local_#3652_IN : { base : int, offset : int }, local_#3653_IN : int) returns (external_return_#33644 : int); procedure routine_#33645_hypot(local_#3654___x_IN : int, local_#3655___y_IN : int) returns (external_return_#33645 : int); procedure routine_#33646_hypotf(local_#3656___x_IN : int, local_#3657___y_IN : int) returns (external_return_#33646 : int); procedure routine_#33647_hypotl(local_#3658___x_IN : int, local_#3659___y_IN : int) returns (external_return_#33647 : int); procedure routine_#33648_ilogb(local_#3660___x_IN : int) returns (external_return_#33648 : int); procedure routine_#33649_ilogbf(local_#3661___x_IN : int) returns (external_return_#33649 : int); procedure routine_#33650_ilogbl(local_#3662___x_IN : int) returns (external_return_#33650 : int); procedure routine_#33651_initstate(local_#3663___seed_IN : int, local_#3664___statebuf_IN : { base : int, offset : int }, local_#3665___statelen_IN : int) returns (external_return_#33651 : { base : int, offset : int }); procedure routine_#33652_isalnum(local_#3666_IN : int) returns (external_return_#33652 : int); procedure routine_#33653_isalpha(local_#3667_IN : int) returns (external_return_#33653 : int); procedure routine_#33654_isascii(local_#3668___c_IN : int) returns (external_return_#33654 : int); procedure routine_#33655_isatty(local_#3669___fd_IN : int) returns (external_return_#33655 : int); procedure routine_#33656_isblank(local_#3670_IN : int) returns (external_return_#33656 : int); procedure routine_#33657_iscntrl(local_#3671_IN : int) returns (external_return_#33657 : int); procedure routine_#33658_isdigit(local_#3672_IN : int) returns (external_return_#33658 : int); procedure routine_#33659_isgraph(local_#3673_IN : int) returns (external_return_#33659 : int); procedure routine_#33660_islower(local_#3674_IN : int) returns (external_return_#33660 : int); procedure routine_#33661_isprint(local_#3675_IN : int) returns (external_return_#33661 : int); procedure routine_#33662_ispunct(local_#3676_IN : int) returns (external_return_#33662 : int); procedure routine_#33663_isspace(local_#3677_IN : int) returns (external_return_#33663 : int); procedure routine_#33664_isupper(local_#3678_IN : int) returns (external_return_#33664 : int); procedure routine_#33665_isxdigit(local_#3679_IN : int) returns (external_return_#33665 : int); procedure routine_#33666_j0(local_#3680_IN : int) returns (external_return_#33666 : int); procedure routine_#33667_j1(local_#3681_IN : int) returns (external_return_#33667 : int); procedure routine_#33668_jn(local_#3682_IN : int, local_#3683_IN : int) returns (external_return_#33668 : int); procedure routine_#33669_jrand48(local_#3684___xsubi_IN : { base : int, offset : int }) returns (external_return_#33669 : int); procedure routine_#33670_kill(local_#3685___pid_IN : int, local_#3686___sig_IN : int) returns (external_return_#33670 : int); procedure routine_#33671_killpg(local_#3687___pgrp_IN : int, local_#3688___sig_IN : int) returns (external_return_#33671 : int); procedure routine_#33672_l64a(local_#3689___n_IN : int) returns (external_return_#33672 : { base : int, offset : int }); procedure routine_#33673_labs(local_#3690___x_IN : int) returns (external_return_#33673 : int); procedure routine_#33674_lchown(local_#3691___file_IN : { base : int, offset : int }, local_#3692___owner_IN : int, local_#3693___group_IN : int) returns (external_return_#33674 : int); procedure routine_#33675_lcong48(local_#3694___param_IN : { base : int, offset : int }) returns (); procedure routine_#33676_ldexp(local_#3695___x_IN : int, local_#3696___exponent_IN : int) returns (external_return_#33676 : int); procedure routine_#33677_ldexpf(local_#3697___x_IN : int, local_#3698___exponent_IN : int) returns (external_return_#33677 : int); procedure routine_#33678_ldexpl(local_#3699___x_IN : int, local_#3700___exponent_IN : int) returns (external_return_#33678 : int); procedure routine_#33679_ldiv(local_#3701___numer_IN : int, local_#3702___denom_IN : int) returns (external_return_#33679 : { _quot : int, _rem : int }); procedure routine_#33680_lgamma(local_#3703_IN : int) returns (external_return_#33680 : int); procedure routine_#33681_lgammaf(local_#3704_IN : int) returns (external_return_#33681 : int); procedure routine_#33682_lgammal(local_#3705_IN : int) returns (external_return_#33682 : int); procedure routine_#33683_link(local_#3706___from_IN : { base : int, offset : int }, local_#3707___to_IN : { base : int, offset : int }) returns (external_return_#33683 : int); procedure routine_#33684_llabs(local_#3708___x_IN : int) returns (external_return_#33684 : int); procedure routine_#33685_lldiv(local_#3709___numer_IN : int, local_#3710___denom_IN : int) returns (external_return_#33685 : { _quot : int, _rem : int }); procedure routine_#33686_llrint(local_#3711___x_IN : int) returns (external_return_#33686 : int); procedure routine_#33687_llrintf(local_#3712___x_IN : int) returns (external_return_#33687 : int); procedure routine_#33688_llrintl(local_#3713___x_IN : int) returns (external_return_#33688 : int); procedure routine_#33689_llround(local_#3714___x_IN : int) returns (external_return_#33689 : int); procedure routine_#33690_llroundf(local_#3715___x_IN : int) returns (external_return_#33690 : int); procedure routine_#33691_llroundl(local_#3716___x_IN : int) returns (external_return_#33691 : int); procedure routine_#33692_localeconv() returns (external_return_#33692 : { base : int, offset : int }); procedure routine_#33693_localtime(local_#3717___timer_IN : { base : int, offset : int }) returns (external_return_#33693 : { base : int, offset : int }); procedure routine_#33694_localtime_r(local_#3718___timer_IN : { base : int, offset : int }, local_#3719___tp_IN : { base : int, offset : int }) returns (external_return_#33694 : { base : int, offset : int }); procedure routine_#33695_lockf(local_#3720___fd_IN : int, local_#3721___cmd_IN : int, local_#3722___len_IN : int) returns (external_return_#33695 : int); procedure routine_#33696_log(local_#3723___x_IN : int) returns (external_return_#33696 : int); procedure routine_#33697_log10(local_#3724___x_IN : int) returns (external_return_#33697 : int); procedure routine_#33698_log10f(local_#3725___x_IN : int) returns (external_return_#33698 : int); procedure routine_#33699_log10l(local_#3726___x_IN : int) returns (external_return_#33699 : int); procedure routine_#33700_log1p(local_#3727___x_IN : int) returns (external_return_#33700 : int); procedure routine_#33701_log1pf(local_#3728___x_IN : int) returns (external_return_#33701 : int); procedure routine_#33702_log1pl(local_#3729___x_IN : int) returns (external_return_#33702 : int); procedure routine_#33703_log2(local_#3730___x_IN : int) returns (external_return_#33703 : int); procedure routine_#33704_log2f(local_#3731___x_IN : int) returns (external_return_#33704 : int); procedure routine_#33705_log2l(local_#3732___x_IN : int) returns (external_return_#33705 : int); procedure routine_#33706_logb(local_#3733___x_IN : int) returns (external_return_#33706 : int); procedure routine_#33707_logbf(local_#3734___x_IN : int) returns (external_return_#33707 : int); procedure routine_#33708_logbl(local_#3735___x_IN : int) returns (external_return_#33708 : int); procedure routine_#33709_logf(local_#3736___x_IN : int) returns (external_return_#33709 : int); procedure routine_#33710_logl(local_#3737___x_IN : int) returns (external_return_#33710 : int); procedure routine_#33711_longjmp(local_#3738___env_IN : { base : int, offset : int }, local_#3739___val_IN : int) returns (); procedure routine_#33712_lrand48() returns (external_return_#33712 : int); procedure routine_#33713_lrint(local_#3740___x_IN : int) returns (external_return_#33713 : int); procedure routine_#33714_lrintf(local_#3741___x_IN : int) returns (external_return_#33714 : int); procedure routine_#33715_lrintl(local_#3742___x_IN : int) returns (external_return_#33715 : int); procedure routine_#33716_lround(local_#3743___x_IN : int) returns (external_return_#33716 : int); procedure routine_#33717_lroundf(local_#3744___x_IN : int) returns (external_return_#33717 : int); procedure routine_#33718_lroundl(local_#3745___x_IN : int) returns (external_return_#33718 : int); procedure routine_#33719_lseek(local_#3746___fd_IN : int, local_#3747___offset_IN : int, local_#3748___whence_IN : int) returns (external_return_#33719 : int); procedure routine_#33720_luaC_barrier_(local_#3749_L_IN : { base : int, offset : int }, local_#3750_o_IN : { base : int, offset : int }, local_#3751_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3749_L : { base : int, offset : int }; var local_#3750_o : { base : int, offset : int }; var local_#3751_v : { base : int, offset : int }; var local_#31171_g : { base : int, offset : int }; var local_#8322 : int; var local_#8323 : int; var local_#8324 : int; var local_#8325 : int; var local_#8326 : int; var local_#8327 : int; var local_#8328 : int; var local_#8329 : int; var local_#8330 : int; var local_#8331 : int; var local_#8332 : int; var local_#8333 : int; var local_#8334 : int; var local_#8335 : int; var local_#8336 : int; var local_#8337 : int; var local_#8338 : int; local_#3749_L := local_#3749_L_IN; local_#3750_o := local_#3750_o_IN; local_#3751_v := local_#3751_v_IN; goto CFG_36228; CFG_36228: assume true; goto CFG_49041; CFG_49041: assume true; local_#31171_g := _memory_ptr[{ base : local_#3749_L!base, offset : local_#3749_L!offset + 24 }]; local_#8322 := 0; local_#8323 := 0; assert { :LIR "60094" } { :check "overflow" } { :finding_ids "0" } true; local_#8324 := _memory[{ base : local_#31171_g!base, offset : local_#31171_g!offset + 85 }]; assert { :LIR "62119" } { :check "overflow" } { :finding_ids "0" } local_#8324 <= 2147483647; local_#8325 := 1; local_#8326 := (if local_#8324 <= local_#8325 then 1 else 0); if (local_#8326 != 0) { goto CFG_45275; } else { goto CFG_39762; } CFG_39762: assume true; local_#8327 := 0; local_#8328 := 0; assert { :LIR "60095" } { :check "overflow" } { :finding_ids "0" } true; local_#8329 := _memory[{ base : local_#3750_o!base, offset : local_#3750_o!offset + 9 }]; assert { :LIR "62120" } { :check "overflow" } { :finding_ids "0" } local_#8329 <= 2147483647; local_#8330 := -8; local_#8331 := ~sand32(local_#8329, local_#8330); local_#8332 := _memory[{ base : local_#31171_g!base, offset : local_#31171_g!offset + 84 }]; assert { :LIR "62121" } { :check "overflow" } { :finding_ids "0" } local_#8332 <= 2147483647; local_#8333 := 3; local_#8334 := ~sand32(local_#8332, local_#8333); local_#8335 := ~uwrap8(local_#8334); assert { :LIR "60096" } { :check "overflow" } { :finding_ids "0" } true; local_#8336 := local_#8335; assert { :LIR "62122" } { :check "overflow" } { :finding_ids "0" } local_#8336 <= 2147483647; local_#8337 := ~sor32(local_#8331, local_#8336); local_#8338 := ~uwrap8(local_#8337); assert { :LIR "60097" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3750_o!base, offset : local_#3750_o!offset + 9 }] := local_#8338; goto CFG_39067; CFG_45275: assume true; call routine_#35023_reallymarkobject(local_#31171_g,local_#3751_v); goto CFG_39763; CFG_39763: assume true; goto CFG_39067; CFG_39067: assume true; goto CFG_37139; CFG_37139: assume true; } procedure routine_#33721_luaC_barrierback_(local_#3752_L_IN : { base : int, offset : int }, local_#3753_t_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3752_L : { base : int, offset : int }; var local_#3753_t : { base : int, offset : int }; var local_#31172_g : { base : int, offset : int }; var local_#8339 : int; var local_#8340 : int; var local_#8341 : int; var local_#8342 : int; var local_#8343 : int; var local_#8344 : { base : int, offset : int }; var local_#8345 : { base : int, offset : int }; var local_#8346 : { base : int, offset : int }; var local_#8347 : { base : int, offset : int }; var local_#8348 : { base : int, offset : int }; local_#3752_L := local_#3752_L_IN; local_#3753_t := local_#3753_t_IN; goto CFG_36229; CFG_36229: assume true; goto CFG_39068; CFG_39068: assume true; local_#31172_g := _memory_ptr[{ base : local_#3752_L!base, offset : local_#3752_L!offset + 24 }]; local_#8339 := 0; local_#8340 := 0; assert { :LIR "60098" } { :check "overflow" } { :finding_ids "0" } true; local_#8341 := 251; local_#8342 := _memory[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 9 }]; assert { :LIR "62123" } { :check "overflow" } { :finding_ids "0" } local_#8342 <= 2147483647; local_#8343 := ~sand32(local_#8342, local_#8341); _memory[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 9 }] := ~uwrap8(local_#8343); assert { :LIR "62124" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 48 }] := _memory_ptr[{ base : local_#31172_g!base, offset : local_#31172_g!offset + 120 }]; local_#8344 := _memory_ptr[{ base : local_#3753_t!base, offset : local_#3753_t!offset + 48 }]; local_#8345 := local_#3753_t; assert { :LIR "60099" } { :check "overflow" } { :finding_ids "0" } true; local_#8346 := { base : local_#8345!base, offset : local_#8345!offset + 0 }; _memory_ptr[{ base : local_#31172_g!base, offset : local_#31172_g!offset + 120 }] := local_#8346; local_#8347 := _memory_ptr[{ base : local_#31172_g!base, offset : local_#31172_g!offset + 120 }]; local_#8348 := local_#8347; goto CFG_37140; CFG_37140: assume true; } procedure routine_#33722_luaC_checkfinalizer(local_#3754_L_IN : { base : int, offset : int }, local_#3755_o_IN : { base : int, offset : int }, local_#3756_mt_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3754_L : { base : int, offset : int }; var local_#3755_o : { base : int, offset : int }; var local_#3756_mt : { base : int, offset : int }; var local_#31173_g : { base : int, offset : int }; var local_#8349 : int; var local_#8350 : int; var local_#8351 : int; var local_#8352 : { base : int, offset : int }; var local_#8353 : int; var local_#8354 : int; var local_#8355 : int; var local_#8356 : int; var local_#8357 : int; var local_#8358 : { base : int, offset : int }; var local_#8359 : int; var local_#8360 : { base : int, offset : int }; var local_#8361 : { base : int, offset : int }; var local_#8362 : { base : int, offset : int }; var local_#30596 : { base : int, offset : int }; var local_#30597 : { base : int, offset : int }; var local_#8363 : { base : int, offset : int }; var local_#8364 : int; var local_#8365 : int; var local_#8366 : int; var local_#8367 : int; var local_#8368 : int; var local_#8369 : int; var local_#8370 : int; var local_#8371 : int; var local_#8372 : int; var local_#8373 : int; var local_#8374 : int; var local_#8375 : int; var local_#8376 : int; var local_#8377 : int; var local_#8378 : int; var local_#8379 : int; var local_#8380 : int; var local_#8381 : int; var local_#8382 : { base : int, offset : int }; var local_#8383 : { base : int, offset : int }; var local_#31174_p : { base : int, offset : int }; var local_#8384 : int; var local_#8385 : int; var local_#8386 : int; var local_#8387 : int; var local_#8388 : { base : int, offset : int }; var local_#8389 : { base : int, offset : int }; local_#3754_L := local_#3754_L_IN; local_#3755_o := local_#3755_o_IN; local_#3756_mt := local_#3756_mt_IN; goto CFG_36230; CFG_36230: assume true; goto CFG_49042; CFG_49042: assume true; local_#31173_g := _memory_ptr[{ base : local_#3754_L!base, offset : local_#3754_L!offset + 24 }]; local_#8349 := _memory[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 9 }]; assert { :LIR "62125" } { :check "overflow" } { :finding_ids "0" } local_#8349 <= 2147483647; local_#8350 := 8; local_#8351 := ~sand32(local_#8349, local_#8350); if (local_#8351 != 0) { goto CFG_39070; } else { goto CFG_49043; } CFG_49043: assume true; local_#8352 := { base : 0, offset : 0 }; local_#8353 := (if local_#3756_mt == local_#8352 then 1 else 0); if (local_#8353 != 0) { goto CFG_39767; } else { goto CFG_49044; } CFG_49044: assume true; local_#8354 := ~uwrap32(_memory[{ base : local_#3756_mt!base, offset : local_#3756_mt!offset + 10 }]); assert { :LIR "62126" } { :check "overflow" } { :finding_ids "0" } true; local_#8355 := 4; local_#8356 := ~uand32(local_#8354, local_#8355); if (local_#8356 != 0) { goto CFG_39765; } else { goto CFG_41976; } CFG_41976: assume true; local_#8357 := 2; local_#8358 := { base : local_#31173_g!base, offset : local_#31173_g!offset + 224 }; local_#8359 := 2; local_#8360 := { base : local_#8358!base, offset : local_#8358!offset + 0 * 8 + local_#8359 * 8 }; local_#8361 := _memory_ptr[local_#8360]; goto CFG_45276; CFG_45276: assume true; call local_#8362 := routine_#33884_luaT_gettm(local_#3756_mt,local_#8357,local_#8361); goto CFG_39764; CFG_39764: assume true; local_#30596 := local_#8362; goto CFG_39766; CFG_39765: assume true; local_#30596 := { base : 0, offset : 0 }; goto CFG_39766; CFG_39766: assume true; local_#30597 := local_#30596; goto CFG_49045; CFG_39767: assume true; local_#30597 := { base : 0, offset : 0 }; goto CFG_49045; CFG_49045: assume true; local_#8363 := { base : 0, offset : 0 }; local_#8364 := (if local_#30597 == local_#8363 then 1 else 0); if (local_#8364 != 0) { goto CFG_39070; } else { goto CFG_49046; } CFG_49046: assume true; local_#8365 := 2; local_#8366 := _memory[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 85 }]; assert { :LIR "62127" } { :check "overflow" } { :finding_ids "0" } local_#8366 <= 2147483647; local_#8367 := (if local_#8365 <= local_#8366 then 1 else 0); if (local_#8367 != 0) { goto CFG_49047; } else { goto CFG_41615; } CFG_49047: assume true; local_#8368 := _memory[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 85 }]; assert { :LIR "62128" } { :check "overflow" } { :finding_ids "0" } local_#8368 <= 2147483647; local_#8369 := 5; local_#8370 := (if local_#8368 <= local_#8369 then 1 else 0); if (local_#8370 != 0) { goto CFG_49048; } else { goto CFG_41615; } CFG_49048: assume true; local_#8371 := _memory[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 9 }]; assert { :LIR "62129" } { :check "overflow" } { :finding_ids "0" } local_#8371 <= 2147483647; local_#8372 := -8; local_#8373 := ~sand32(local_#8371, local_#8372); local_#8374 := _memory[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 84 }]; assert { :LIR "62130" } { :check "overflow" } { :finding_ids "0" } local_#8374 <= 2147483647; local_#8375 := 3; local_#8376 := ~sand32(local_#8374, local_#8375); local_#8377 := ~uwrap8(local_#8376); assert { :LIR "60100" } { :check "overflow" } { :finding_ids "0" } true; local_#8378 := local_#8377; assert { :LIR "62131" } { :check "overflow" } { :finding_ids "0" } local_#8378 <= 2147483647; local_#8379 := ~sor32(local_#8373, local_#8378); local_#8380 := ~uwrap8(local_#8379); assert { :LIR "60101" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 9 }] := local_#8380; local_#8381 := (if _memory_ptr[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 96 }] == { base : local_#3755_o!base, offset : local_#3755_o!offset + 0 } then 1 else 0); if (local_#8381 != 0) { goto CFG_41977; } else { goto CFG_39769; } CFG_41977: assume true; local_#8382 := _memory_ptr[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 96 }]; goto CFG_45277; CFG_45277: assume true; call local_#8383 := routine_#35106_sweeptolive(local_#3754_L,local_#8382); goto CFG_39768; CFG_39768: assume true; _memory_ptr[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 96 }] := local_#8383; goto CFG_39769; CFG_39769: assume true; goto CFG_41615; CFG_41615: assume true; local_#31174_p := { base : local_#31173_g!base, offset : local_#31173_g!offset + 88 }; goto CFG_49049; CFG_49049: assume true; local_#8384 := (if _memory_ptr[local_#31174_p] != local_#3755_o then 1 else 0); if (local_#8384 != 0) { goto CFG_44956; } else { goto CFG_39770; } CFG_39770: assume true; _memory_ptr[local_#31174_p] := _memory_ptr[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 0 }]; _memory_ptr[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 0 }] := _memory_ptr[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 104 }]; _memory_ptr[{ base : local_#31173_g!base, offset : local_#31173_g!offset + 104 }] := local_#3755_o; local_#8385 := 8; local_#8386 := _memory[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 9 }]; assert { :LIR "62132" } { :check "overflow" } { :finding_ids "0" } local_#8386 <= 2147483647; local_#8387 := ~sor32(local_#8386, local_#8385); _memory[{ base : local_#3755_o!base, offset : local_#3755_o!offset + 9 }] := ~uwrap8(local_#8387); assert { :LIR "62133" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39069; CFG_39069: assume true; goto CFG_37141; CFG_44956: assume true; local_#8388 := _memory_ptr[local_#31174_p]; local_#31174_p := { base : local_#8388!base, offset : local_#8388!offset + 0 }; local_#8389 := local_#31174_p; goto CFG_49049; CFG_39070: assume true; goto CFG_37141; CFG_37141: assume true; } procedure routine_#33723_luaC_fix(local_#3757_L_IN : { base : int, offset : int }, local_#3758_o_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3757_L : { base : int, offset : int }; var local_#3758_o : { base : int, offset : int }; var local_#31175_g : { base : int, offset : int }; var local_#8390 : int; var local_#8391 : int; var local_#8392 : int; var local_#8393 : int; var local_#8394 : int; local_#3757_L := local_#3757_L_IN; local_#3758_o := local_#3758_o_IN; goto CFG_36231; CFG_36231: assume true; goto CFG_39071; CFG_39071: assume true; local_#31175_g := _memory_ptr[{ base : local_#3757_L!base, offset : local_#3757_L!offset + 24 }]; local_#8390 := 0; local_#8391 := 0; assert { :LIR "60102" } { :check "overflow" } { :finding_ids "0" } true; local_#8392 := 252; local_#8393 := _memory[{ base : local_#3758_o!base, offset : local_#3758_o!offset + 9 }]; assert { :LIR "62134" } { :check "overflow" } { :finding_ids "0" } local_#8393 <= 2147483647; local_#8394 := ~sand32(local_#8393, local_#8392); _memory[{ base : local_#3758_o!base, offset : local_#3758_o!offset + 9 }] := ~uwrap8(local_#8394); assert { :LIR "62135" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31175_g!base, offset : local_#31175_g!offset + 88 }] := _memory_ptr[{ base : local_#3758_o!base, offset : local_#3758_o!offset + 0 }]; _memory_ptr[{ base : local_#3758_o!base, offset : local_#3758_o!offset + 0 }] := _memory_ptr[{ base : local_#31175_g!base, offset : local_#31175_g!offset + 160 }]; _memory_ptr[{ base : local_#31175_g!base, offset : local_#31175_g!offset + 160 }] := local_#3758_o; goto CFG_37142; CFG_37142: assume true; } procedure routine_#33724_luaC_freeallobjects(local_#3759_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3759_L : { base : int, offset : int }; var local_#31176_g : { base : int, offset : int }; var local_#8395 : int; var local_#8396 : int; var local_#8397 : int; var local_#8398 : int; var local_#8399 : int; var local_#8400 : { base : int, offset : int }; var local_#8401 : int; var local_#8402 : { base : int, offset : int }; var local_#8403 : { base : int, offset : int }; var local_#8404 : int; var local_#8405 : { base : int, offset : int }; var local_#8406 : { base : int, offset : int }; var local_#8407 : int; var local_#8408 : { base : int, offset : int }; var local_#8409 : int; var local_#8410 : int; local_#3759_L := local_#3759_L_IN; goto CFG_36232; CFG_36232: assume true; goto CFG_41978; CFG_41978: assume true; local_#31176_g := _memory_ptr[{ base : local_#3759_L!base, offset : local_#3759_L!offset + 24 }]; local_#8395 := 1; goto CFG_45278; CFG_45278: assume true; call routine_#35053_separatetobefnz(local_#31176_g,local_#8395); goto CFG_41979; CFG_41979: assume true; local_#8396 := 0; local_#8397 := 0; assert { :LIR "60103" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45279; CFG_45279: assume true; call routine_#34618_callallpendingfinalizers(local_#3759_L); goto CFG_41980; CFG_41980: assume true; local_#8398 := 0; local_#8399 := 0; assert { :LIR "60104" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31176_g!base, offset : local_#31176_g!offset + 84 }] := 3; _memory[{ base : local_#31176_g!base, offset : local_#31176_g!offset + 86 }] := 0; local_#8400 := { base : local_#31176_g!base, offset : local_#31176_g!offset + 104 }; local_#8401 := 18446744073709551615; goto CFG_45280; CFG_45280: assume true; call local_#8402 := routine_#35104_sweeplist(local_#3759_L,local_#8400,local_#8401); goto CFG_41981; CFG_41981: assume true; local_#8403 := { base : local_#31176_g!base, offset : local_#31176_g!offset + 88 }; local_#8404 := 18446744073709551615; goto CFG_45281; CFG_45281: assume true; call local_#8405 := routine_#35104_sweeplist(local_#3759_L,local_#8403,local_#8404); goto CFG_41982; CFG_41982: assume true; local_#8406 := { base : local_#31176_g!base, offset : local_#31176_g!offset + 160 }; local_#8407 := 18446744073709551615; goto CFG_45282; CFG_45282: assume true; call local_#8408 := routine_#35104_sweeplist(local_#3759_L,local_#8406,local_#8407); goto CFG_39072; CFG_39072: assume true; local_#8409 := 0; local_#8410 := 0; assert { :LIR "60105" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37143; CFG_37143: assume true; } procedure routine_#33725_luaC_fullgc(local_#3760_L_IN : { base : int, offset : int }, local_#3761_isemergency_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3760_L : { base : int, offset : int }; var local_#3761_isemergency : int; var local_#31177_g : { base : int, offset : int }; var local_#8411 : int; var local_#8412 : int; var local_#8413 : int; var local_#8414 : int; var local_#8415 : int; var local_#8416 : int; var local_#8417 : int; var local_#8418 : int; var local_#8419 : int; var local_#8420 : int; var local_#8421 : int; var local_#8422 : int; local_#3760_L := local_#3760_L_IN; local_#3761_isemergency := local_#3761_isemergency_IN; goto CFG_36233; CFG_36233: assume true; goto CFG_49050; CFG_49050: assume true; local_#31177_g := _memory_ptr[{ base : local_#3760_L!base, offset : local_#3760_L!offset + 24 }]; local_#8411 := 0; local_#8412 := 0; assert { :LIR "60106" } { :check "overflow" } { :finding_ids "0" } true; local_#8413 := local_#3761_isemergency; if (local_#8413 != 0) { goto CFG_39771; } else { goto CFG_49051; } CFG_39771: assume true; _memory[{ base : local_#31177_g!base, offset : local_#31177_g!offset + 86 }] := 1; goto CFG_49051; CFG_49051: assume true; local_#8414 := _memory[{ base : local_#31177_g!base, offset : local_#31177_g!offset + 85 }]; assert { :LIR "62136" } { :check "overflow" } { :finding_ids "0" } local_#8414 <= 2147483647; local_#8415 := 1; local_#8416 := (if local_#8414 <= local_#8415 then 1 else 0); if (local_#8416 != 0) { goto CFG_45283; } else { goto CFG_41983; } CFG_45283: assume true; call routine_#34712_entersweep(local_#3760_L); goto CFG_39772; CFG_39772: assume true; goto CFG_41983; CFG_41983: assume true; local_#8417 := 128; goto CFG_45284; CFG_45284: assume true; call routine_#33727_luaC_runtilstate(local_#3760_L,local_#8417); goto CFG_41984; CFG_41984: assume true; local_#8418 := -129; goto CFG_45285; CFG_45285: assume true; call routine_#33727_luaC_runtilstate(local_#3760_L,local_#8418); goto CFG_41985; CFG_41985: assume true; local_#8419 := 64; goto CFG_45286; CFG_45286: assume true; call routine_#33727_luaC_runtilstate(local_#3760_L,local_#8419); goto CFG_41986; CFG_41986: assume true; local_#8420 := 0; local_#8421 := 0; assert { :LIR "60107" } { :check "overflow" } { :finding_ids "0" } true; local_#8422 := 128; goto CFG_45287; CFG_45287: assume true; call routine_#33727_luaC_runtilstate(local_#3760_L,local_#8422); goto CFG_41987; CFG_41987: assume true; _memory[{ base : local_#31177_g!base, offset : local_#31177_g!offset + 86 }] := 0; goto CFG_45288; CFG_45288: assume true; call routine_#35062_setpause(local_#31177_g); goto CFG_39073; CFG_39073: assume true; goto CFG_37144; CFG_37144: assume true; } procedure routine_#33726_luaC_newobj(local_#3762_L_IN : { base : int, offset : int }, local_#3763_tt_IN : int, local_#3764_sz_IN : int) returns (local_#7758 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3762_L : { base : int, offset : int }; var local_#3763_tt : int; var local_#3764_sz : int; var local_#31178_g : { base : int, offset : int }; var local_#8423 : { base : int, offset : int }; var local_#8424 : int; var local_#8425 : int; var local_#8426 : int; var local_#8427 : { base : int, offset : int }; var local_#8428 : { base : int, offset : int }; var local_#31179_o : { base : int, offset : int }; var local_#8429 : int; var local_#8430 : int; var local_#8431 : int; var local_#8432 : int; var local_#8433 : int; local_#3762_L := local_#3762_L_IN; local_#3763_tt := local_#3763_tt_IN; local_#3764_sz := local_#3764_sz_IN; goto CFG_36234; CFG_36234: assume true; goto CFG_41988; CFG_41988: assume true; local_#31178_g := _memory_ptr[{ base : local_#3762_L!base, offset : local_#3762_L!offset + 24 }]; local_#8423 := { base : 0, offset : 0 }; local_#8424 := 15; local_#8425 := ~sand32(local_#3763_tt, local_#8424); local_#8426 := ~uwrap64(local_#8425); assert { :LIR "62137" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45289; CFG_45289: assume true; call local_#8427 := routine_#33857_luaM_realloc_(local_#3762_L,local_#8423,local_#8426,local_#3764_sz); goto CFG_38050; CFG_38050: assume true; local_#8428 := local_#8427; assert { :LIR "60108" } { :check "overflow" } { :finding_ids "0" } true; local_#31179_o := local_#8428; local_#8429 := _memory[{ base : local_#31178_g!base, offset : local_#31178_g!offset + 84 }]; assert { :LIR "62138" } { :check "overflow" } { :finding_ids "0" } local_#8429 <= 2147483647; local_#8430 := 3; local_#8431 := ~sand32(local_#8429, local_#8430); local_#8432 := ~uwrap8(local_#8431); assert { :LIR "60109" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31179_o!base, offset : local_#31179_o!offset + 9 }] := local_#8432; local_#8433 := ~uwrap8(local_#3763_tt); assert { :LIR "62139" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31179_o!base, offset : local_#31179_o!offset + 8 }] := local_#8433; _memory_ptr[{ base : local_#31179_o!base, offset : local_#31179_o!offset + 0 }] := _memory_ptr[{ base : local_#31178_g!base, offset : local_#31178_g!offset + 88 }]; _memory_ptr[{ base : local_#31178_g!base, offset : local_#31178_g!offset + 88 }] := local_#31179_o; local_#7758 := local_#31179_o; goto CFG_37145; CFG_37145: assume true; } procedure routine_#33727_luaC_runtilstate(local_#3765_L_IN : { base : int, offset : int }, local_#3766_statesmask_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3765_L : { base : int, offset : int }; var local_#3766_statesmask : int; var local_#31180_g : { base : int, offset : int }; var local_#8434 : int; var local_#8435 : int; var local_#8436 : int; var local_#8437 : int; var local_#8438 : int; var local_#8439 : int; local_#3765_L := local_#3765_L_IN; local_#3766_statesmask := local_#3766_statesmask_IN; goto CFG_36235; CFG_36235: assume true; goto CFG_41616; CFG_41616: assume true; local_#31180_g := _memory_ptr[{ base : local_#3765_L!base, offset : local_#3765_L!offset + 24 }]; goto CFG_49052; CFG_49052: assume true; local_#8434 := 1; local_#8435 := _memory[{ base : local_#31180_g!base, offset : local_#31180_g!offset + 85 }]; assert { :LIR "62140" } { :check "overflow" } { :finding_ids "0" } local_#8435 <= 2147483647; local_#8436 := ~shl32(local_#8434, local_#8435); local_#8437 := ~sand32(local_#3766_statesmask, local_#8436); local_#8438 := (if local_#8437 != 0 then 0 else 1); if (local_#8438 != 0) { goto CFG_45290; } else { goto CFG_39074; } CFG_39074: assume true; goto CFG_37146; CFG_45290: assume true; call local_#8439 := routine_#35068_singlestep(local_#3765_L); goto CFG_44957; CFG_44957: assume true; goto CFG_49052; CFG_37146: assume true; } procedure routine_#33728_luaC_step(local_#3767_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3767_L : { base : int, offset : int }; var local_#31182_g : { base : int, offset : int }; var local_#8440 : int; var local_#31181_debt : int; var local_#8441 : int; var local_#8442 : int; var local_#31183_work : int; var local_#8443 : int; var local_#8444 : int; var local_#8445 : int; var local_#8446 : int; var local_#8447 : int; var local_#8448 : int; var local_#8449 : int; var local_#8450 : int; var local_#8451 : int; var local_#8452 : int; var local_#8453 : int; var local_#8454 : int; var local_#8455 : int; var local_#8456 : int; var local_#8457 : int; var local_#8458 : int; local_#3767_L := local_#3767_L_IN; goto CFG_36236; CFG_36236: assume true; goto CFG_41989; CFG_41989: assume true; local_#31182_g := _memory_ptr[{ base : local_#3767_L!base, offset : local_#3767_L!offset + 24 }]; goto CFG_45291; CFG_45291: assume true; call local_#8440 := routine_#34782_getdebt(local_#31182_g); goto CFG_49053; CFG_49053: assume true; local_#31181_debt := local_#8440; local_#8441 := (if _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 87 }] != 0 then 0 else 1); if (local_#8441 != 0) { goto CFG_41992; } else { goto CFG_41617; } CFG_41617: assume true; goto CFG_45292; CFG_45292: assume true; call local_#8442 := routine_#35068_singlestep(local_#3767_L); goto CFG_41990; CFG_41990: assume true; local_#31183_work := local_#8442; local_#8443 := ~uwrap64(local_#31181_debt); assert { :LIR "62141" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#8444 := ~uwrap64(local_#8443 - local_#31183_work); assert { :LIR "67853" } { :check "overflow" } { :finding_ids "0" } true; local_#31181_debt := local_#8444; assert { :LIR "62142" } { :check "overflow" } { :finding_ids "0" } local_#31181_debt <= 9223372036854775807; goto CFG_49054; CFG_49054: assume true; local_#8445 := -2400; local_#8446 := (if local_#31181_debt > local_#8445 then 1 else 0); if (local_#8446 != 0) { goto CFG_49055; } else { goto CFG_49056; } CFG_49055: assume true; local_#8447 := _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 85 }]; assert { :LIR "62143" } { :check "overflow" } { :finding_ids "0" } local_#8447 <= 2147483647; local_#8448 := 7; local_#8449 := (if local_#8447 != local_#8448 then 1 else 0); if (local_#8449 != 0) { goto CFG_44958; } else { goto CFG_49056; } CFG_49056: assume true; local_#8450 := _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 85 }]; assert { :LIR "62144" } { :check "overflow" } { :finding_ids "0" } local_#8450 <= 2147483647; local_#8451 := 7; local_#8452 := (if local_#8450 == local_#8451 then 1 else 0); if (local_#8452 != 0) { goto CFG_45295; } else { goto CFG_41991; } CFG_41991: assume true; local_#8453 := _memory[{ base : local_#31182_g!base, offset : local_#31182_g!offset + 184 }]; assert { :LIR "62145" } { :check "overflow" } { :finding_ids "0" } local_#8453 <= 9223372036854775807; local_#8454 := local_#31181_debt / local_#8453; assert { :LIR "68629" } { :check "overflow" } { :finding_ids "0" } local_#8454 <= 9223372036854775807; local_#8455 := 200; local_#8456 := local_#8454 * local_#8455; assert { :LIR "68491" } { :check "overflow" } { :finding_ids "0" } local_#8456 <= 9223372036854775807; local_#31181_debt := local_#8456; goto CFG_45293; CFG_45293: assume true; call routine_#33747_luaE_setdebt(local_#31182_g,local_#31181_debt); goto CFG_45294; CFG_45294: assume true; call local_#8457 := routine_#35041_runafewfinalizers(local_#3767_L); goto CFG_39773; CFG_39773: assume true; goto CFG_39075; CFG_45295: assume true; call routine_#35062_setpause(local_#31182_g); goto CFG_39774; CFG_39774: assume true; goto CFG_39075; CFG_39075: assume true; goto CFG_37147; CFG_44958: assume true; goto CFG_45292; CFG_41992: assume true; local_#8458 := -24000; goto CFG_45296; CFG_45296: assume true; call routine_#33747_luaE_setdebt(local_#31182_g,local_#8458); goto CFG_39076; CFG_39076: assume true; goto CFG_37147; CFG_37147: assume true; } procedure routine_#33729_luaC_upvalbarrier_(local_#3768_L_IN : { base : int, offset : int }, local_#3769_uv_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3768_L : { base : int, offset : int }; var local_#3769_uv : { base : int, offset : int }; var local_#31184_g : { base : int, offset : int }; var local_#8459 : { base : int, offset : int }; var local_#8460 : { base : int, offset : int }; var local_#31185_o : { base : int, offset : int }; var local_#8461 : int; var local_#8462 : int; var local_#8463 : int; var local_#8464 : int; var local_#8465 : int; var local_#8466 : int; var local_#8467 : int; var local_#8468 : int; var local_#8469 : { base : int, offset : int }; var local_#8470 : { base : int, offset : int }; local_#3768_L := local_#3768_L_IN; local_#3769_uv := local_#3769_uv_IN; goto CFG_36237; CFG_36237: assume true; goto CFG_49057; CFG_49057: assume true; local_#31184_g := _memory_ptr[{ base : local_#3768_L!base, offset : local_#3768_L!offset + 24 }]; local_#8459 := _memory_ptr[{ base : local_#3769_uv!base, offset : local_#3769_uv!offset + 0 }]; local_#8460 := { base : local_#8459!base, offset : local_#8459!offset + 0 }; local_#31185_o := _memory_ptr[local_#8460]; local_#8461 := 0; local_#8462 := 0; assert { :LIR "60110" } { :check "overflow" } { :finding_ids "0" } true; local_#8463 := _memory[{ base : local_#31184_g!base, offset : local_#31184_g!offset + 85 }]; assert { :LIR "62146" } { :check "overflow" } { :finding_ids "0" } local_#8463 <= 2147483647; local_#8464 := 1; local_#8465 := (if local_#8463 <= local_#8464 then 1 else 0); if (local_#8465 != 0) { goto CFG_49058; } else { goto CFG_39077; } CFG_49058: assume true; local_#8466 := _memory[{ base : local_#31185_o!base, offset : local_#31185_o!offset + 9 }]; assert { :LIR "62147" } { :check "overflow" } { :finding_ids "0" } local_#8466 <= 2147483647; local_#8467 := 3; local_#8468 := ~sand32(local_#8466, local_#8467); if (local_#8468 != 0) { goto CFG_41993; } else { goto CFG_39776; } CFG_41993: assume true; local_#8469 := local_#31185_o; assert { :LIR "60111" } { :check "overflow" } { :finding_ids "0" } true; local_#8470 := { base : local_#8469!base, offset : local_#8469!offset + 0 }; goto CFG_45297; CFG_45297: assume true; call routine_#35023_reallymarkobject(local_#31184_g,local_#8470); goto CFG_39775; CFG_39775: assume true; goto CFG_39776; CFG_39776: assume true; goto CFG_39077; CFG_39077: assume true; goto CFG_37148; CFG_37148: assume true; } procedure routine_#33730_luaC_upvdeccount(local_#3770_L_IN : { base : int, offset : int }, local_#3771_uv_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3770_L : { base : int, offset : int }; var local_#3771_uv : { base : int, offset : int }; var local_#8471 : int; var local_#8472 : int; var local_#8473 : int; var local_#8474 : int; var local_#8475 : int; var local_#8476 : int; var local_#8477 : int; var local_#8478 : { base : int, offset : int }; var local_#8479 : int; var local_#8480 : int; var local_#8481 : { base : int, offset : int }; var local_#8482 : int; var local_#8483 : int; var local_#8484 : { base : int, offset : int }; local_#3770_L := local_#3770_L_IN; local_#3771_uv := local_#3771_uv_IN; goto CFG_36238; CFG_36238: assume true; goto CFG_49059; CFG_49059: assume true; local_#8471 := 0; local_#8472 := 0; assert { :LIR "60112" } { :check "overflow" } { :finding_ids "0" } true; local_#8473 := _memory[{ base : local_#3771_uv!base, offset : local_#3771_uv!offset + 8 }]; local_#8474 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#3771_uv!base, offset : local_#3771_uv!offset + 8 }] := ~uwrap64(local_#8473 - local_#8474); assert { :LIR "67854" } { :check "overflow" } { :finding_ids "0" } true; local_#8475 := local_#8473; local_#8476 := 0; local_#8477 := (if _memory[{ base : local_#3771_uv!base, offset : local_#3771_uv!offset + 8 }] == local_#8476 then 1 else 0); if (local_#8477 != 0) { goto CFG_49060; } else { goto CFG_39078; } CFG_49060: assume true; local_#8478 := { base : local_#3771_uv!base, offset : local_#3771_uv!offset + 16 }; local_#8479 := (if _memory_ptr[{ base : local_#3771_uv!base, offset : local_#3771_uv!offset + 0 }] != local_#8478 then 1 else 0); local_#8480 := (if local_#8479 != 0 then 0 else 1); if (local_#8480 != 0) { goto CFG_41994; } else { goto CFG_39078; } CFG_41994: assume true; local_#8481 := local_#3771_uv; assert { :LIR "62148" } { :check "overflow" } { :finding_ids "0" } true; local_#8482 := 32; local_#8483 := 0; goto CFG_45298; CFG_45298: assume true; call local_#8484 := routine_#33857_luaM_realloc_(local_#3770_L,local_#8481,local_#8482,local_#8483); goto CFG_39777; CFG_39777: assume true; goto CFG_39078; CFG_39078: assume true; goto CFG_37149; CFG_37149: assume true; } procedure routine_#33731_luaD_call(local_#3772_L_IN : { base : int, offset : int }, local_#3773_func_IN : { base : int, offset : int }, local_#3774_nResults_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3772_L : { base : int, offset : int }; var local_#3773_func : { base : int, offset : int }; var local_#3774_nResults : int; var local_#8485 : int; var local_#8486 : int; var local_#8487 : int; var local_#8488 : int; var local_#8489 : int; var local_#8490 : int; var local_#8491 : int; var local_#8492 : int; var local_#8493 : int; local_#3772_L := local_#3772_L_IN; local_#3773_func := local_#3773_func_IN; local_#3774_nResults := local_#3774_nResults_IN; goto CFG_36239; CFG_36239: assume true; goto CFG_49061; CFG_49061: assume true; local_#8485 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }] := ~uwrap16(_memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }] + local_#8485); assert { :LIR "66364" } { :check "overflow" } { :finding_ids "0" } true; local_#8486 := _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }]; assert { :LIR "62149" } { :check "overflow" } { :finding_ids "0" } local_#8486 <= 2147483647; local_#8487 := 200; local_#8488 := (if local_#8486 >= local_#8487 then 1 else 0); if (local_#8488 != 0) { goto CFG_45299; } else { goto CFG_45300; } CFG_45299: assume true; call routine_#35078_stackerror(local_#3772_L); goto CFG_39778; CFG_39778: assume true; goto CFG_45300; CFG_45300: assume true; call local_#8489 := routine_#33738_luaD_precall(local_#3772_L,local_#3773_func,local_#3774_nResults); goto CFG_49062; CFG_49062: assume true; local_#8490 := (if local_#8489 != 0 then 0 else 1); if (local_#8490 != 0) { goto CFG_45301; } else { goto CFG_39079; } CFG_45301: assume true; call routine_#33894_luaV_execute(local_#3772_L); goto CFG_39779; CFG_39779: assume true; goto CFG_39079; CFG_39079: assume true; local_#8491 := _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }]; local_#8492 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3772_L!base, offset : local_#3772_L!offset + 198 }] := ~uwrap16(local_#8491 - local_#8492); assert { :LIR "67855" } { :check "overflow" } { :finding_ids "0" } true; local_#8493 := local_#8491; goto CFG_37150; CFG_37150: assume true; } procedure routine_#33732_luaD_callnoyield(local_#3775_L_IN : { base : int, offset : int }, local_#3776_func_IN : { base : int, offset : int }, local_#3777_nResults_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3775_L : { base : int, offset : int }; var local_#3776_func : { base : int, offset : int }; var local_#3777_nResults : int; var local_#8494 : int; var local_#8495 : int; var local_#8496 : int; var local_#8497 : int; var local_#8498 : int; var local_#8499 : int; local_#3775_L := local_#3775_L_IN; local_#3776_func := local_#3776_func_IN; local_#3777_nResults := local_#3777_nResults_IN; goto CFG_36240; CFG_36240: assume true; goto CFG_41995; CFG_41995: assume true; local_#8494 := _memory[{ base : local_#3775_L!base, offset : local_#3775_L!offset + 196 }]; local_#8495 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3775_L!base, offset : local_#3775_L!offset + 196 }] := ~uwrap16(local_#8494 + local_#8495); assert { :LIR "66365" } { :check "overflow" } { :finding_ids "0" } true; local_#8496 := local_#8494; goto CFG_45302; CFG_45302: assume true; call routine_#33731_luaD_call(local_#3775_L,local_#3776_func,local_#3777_nResults); goto CFG_39080; CFG_39080: assume true; local_#8497 := _memory[{ base : local_#3775_L!base, offset : local_#3775_L!offset + 196 }]; local_#8498 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3775_L!base, offset : local_#3775_L!offset + 196 }] := ~uwrap16(local_#8497 - local_#8498); assert { :LIR "67856" } { :check "overflow" } { :finding_ids "0" } true; local_#8499 := local_#8497; goto CFG_37151; CFG_37151: assume true; } procedure routine_#33733_luaD_growstack(local_#3778_L_IN : { base : int, offset : int }, local_#3779_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3778_L : { base : int, offset : int }; var local_#3779_n : int; var local_#31186_size : int; var local_#8500 : int; var local_#8501 : int; var local_#8502 : int; var local_#8503 : int; var local_#8504 : int; var local_#8505 : int; var local_#8506 : int; var local_#31187_needed : int; var local_#8507 : int; var local_#8508 : int; var local_#31188_newsize : int; var local_#8509 : int; var local_#8510 : int; var local_#8511 : int; var local_#8512 : int; var local_#8513 : int; var local_#8514 : int; var local_#8515 : { base : int, offset : int }; var local_#8516 : { base : int, offset : int }; var local_#8517 : int; local_#3778_L := local_#3778_L_IN; local_#3779_n := local_#3779_n_IN; goto CFG_36241; CFG_36241: assume true; goto CFG_49063; CFG_49063: assume true; local_#31186_size := _memory[{ base : local_#3778_L!base, offset : local_#3778_L!offset + 184 }]; local_#8500 := 1000000; local_#8501 := (if local_#31186_size > local_#8500 then 1 else 0); if (local_#8501 != 0) { goto CFG_41998; } else { goto CFG_49064; } CFG_49064: assume true; local_#8502 := (_memory_ptr[{ base : local_#3778_L!base, offset : local_#3778_L!offset + 16 }]!offset - _memory_ptr[{ base : local_#3778_L!base, offset : local_#3778_L!offset + 56 }]!offset) / 16; local_#8503 := local_#8502; assert { :LIR "60113" } { :check "overflow" } { :finding_ids "0" } local_#8503 <= 2147483647; local_#8504 := local_#8503 + local_#3779_n; assert { :LIR "66366" } { :check "overflow" } { :finding_ids "0" } local_#8504 <= 2147483647; local_#8505 := 5; local_#8506 := local_#8504 + local_#8505; assert { :LIR "66367" } { :check "overflow" } { :finding_ids "0" } local_#8506 <= 2147483647; local_#31187_needed := local_#8506; local_#8507 := 2; local_#8508 := local_#8507 * local_#31186_size; assert { :LIR "68492" } { :check "overflow" } { :finding_ids "0" } local_#8508 <= 2147483647; local_#31188_newsize := local_#8508; local_#8509 := 1000000; local_#8510 := (if local_#31188_newsize > local_#8509 then 1 else 0); if (local_#8510 != 0) { goto CFG_39780; } else { goto CFG_49065; } CFG_39780: assume true; local_#31188_newsize := 1000000; goto CFG_49065; CFG_49065: assume true; local_#8511 := (if local_#31188_newsize < local_#31187_needed then 1 else 0); if (local_#8511 != 0) { goto CFG_39781; } else { goto CFG_49066; } CFG_39781: assume true; local_#31188_newsize := local_#31187_needed; goto CFG_49066; CFG_49066: assume true; local_#8512 := 1000000; local_#8513 := (if local_#31188_newsize > local_#8512 then 1 else 0); if (local_#8513 != 0) { goto CFG_41996; } else { goto CFG_45303; } CFG_45303: assume true; call routine_#33741_luaD_reallocstack(local_#3778_L,local_#31188_newsize); goto CFG_39782; CFG_39782: assume true; goto CFG_39783; CFG_39783: assume true; goto CFG_39081; CFG_39081: assume true; goto CFG_37152; CFG_41996: assume true; local_#8514 := 1000200; goto CFG_45304; CFG_45304: assume true; call routine_#33741_luaD_reallocstack(local_#3778_L,local_#8514); goto CFG_41997; CFG_41997: assume true; assume _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 0 }] == 115 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 1 }] == 116 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 2 }] == 97 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 3 }] == 99 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 4 }] == 107 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 5 }] == 32 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 6 }] == 111 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 7 }] == 118 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 8 }] == 101 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 9 }] == 114 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 10 }] == 102 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 11 }] == 108 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 12 }] == 111 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 13 }] == 119 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 14 }] == 0; local_#8515 := strlit_#70294; local_#8516 := { base : local_#8515!base, offset : local_#8515!offset + 0 * 1 }; assert { :LIR "62150" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45305; CFG_45305: assume true; call routine_#33762_luaG_runerror(local_#3778_L,local_#8516,{ base : 0, offset : 0 }); CFG_41998: assume true; local_#8517 := 6; goto CFG_45306; CFG_45306: assume true; call routine_#33743_luaD_throw(local_#3778_L,local_#8517); CFG_37152: assume true; } procedure routine_#33734_luaD_hook(local_#3780_L_IN : { base : int, offset : int }, local_#3781_event_IN : int, local_#3782_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3780_L : { base : int, offset : int }; var local_#3781_event : int; var local_#3782_line : int; var local_#31189_hook : { base : int, offset : int }; var local_#8518 : { base : int, offset : int }; var local_#8519 : int; var local_#31191_ci : { base : int, offset : int }; var local_#8520 : { base : int, offset : int }; var local_#8521 : { base : int, offset : int }; var local_#8522 : int; var local_#31193_top : int; var local_#8523 : { base : int, offset : int }; var local_#8524 : { base : int, offset : int }; var local_#8525 : int; var local_#31192_ci_top : int; var local_#31190_ar : { base : int, offset : int }; var local_#8526 : int; var local_#8527 : int; var local_#8528 : int; var local_#8529 : int; var local_#8530 : int; var local_#8531 : int; var local_#8532 : int; var local_#8533 : int; var local_#8534 : int; var local_#8535 : int; var local_#8536 : int; var local_#8537 : { base : int, offset : int }; var local_#8538 : int; var local_#8539 : int; var local_#8540 : int; var local_#8541 : int; var local_#8542 : int; var local_#8543 : int; var local_#8544 : int; var local_#8545 : { base : int, offset : int }; var local_#8546 : int; var local_#8547 : int; var local_#8548 : int; var local_#8549 : int; var local_#8550 : { base : int, offset : int }; var local_#8551 : { base : int, offset : int }; var local_#8552 : { base : int, offset : int }; var local_#8553 : { base : int, offset : int }; var local_#8554 : { base : int, offset : int }; var local_#8555 : { base : int, offset : int }; var local_#8556 : int; var local_#8557 : int; var local_#8558 : int; local_#3780_L := local_#3780_L_IN; local_#3781_event := local_#3781_event_IN; local_#3782_line := local_#3782_line_IN; goto CFG_36242; CFG_36242: assume true; goto CFG_49067; CFG_49067: assume true; local_#31189_hook := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 168 }]; local_#8518 := local_#31189_hook; if (local_#8518 != { base : 0, offset : 0 }) { goto CFG_49068; } else { goto CFG_39082; } CFG_49068: assume true; local_#8519 := _memory[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 204 }]; if (local_#8519 != 0) { goto CFG_49069; } else { goto CFG_39082; } CFG_49069: assume true; local_#31191_ci := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 32 }]; local_#8520 := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 16 }]; assert { :LIR "60114" } { :check "overflow" } { :finding_ids "0" } true; local_#8521 := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 56 }]; assert { :LIR "60115" } { :check "overflow" } { :finding_ids "0" } true; local_#8522 := (local_#8520!offset - local_#8521!offset) / 1; local_#31193_top := local_#8522; local_#8523 := _memory_ptr[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 8 }]; assert { :LIR "60116" } { :check "overflow" } { :finding_ids "0" } true; local_#8524 := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 56 }]; assert { :LIR "60117" } { :check "overflow" } { :finding_ids "0" } true; local_#8525 := (local_#8523!offset - local_#8524!offset) / 1; local_#31192_ci_top := local_#8525; _memory[{ base : local_#31190_ar!base, offset : local_#31190_ar!offset + 0 }] := local_#3781_event; _memory[{ base : local_#31190_ar!base, offset : local_#31190_ar!offset + 40 }] := local_#3782_line; _memory_ptr[{ base : local_#31190_ar!base, offset : local_#31190_ar!offset + 120 }] := local_#31191_ci; local_#8526 := (_memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 16 }]!offset) / 16; local_#8527 := 20; local_#8528 := (if local_#8526 <= local_#8527 then 1 else 0); if (local_#8528 != 0) { goto CFG_41999; } else { goto CFG_39784; } CFG_39784: assume true; local_#8529 := 0; local_#8530 := 0; assert { :LIR "60118" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42000; CFG_41999: assume true; local_#8531 := 0; local_#8532 := 0; assert { :LIR "60119" } { :check "overflow" } { :finding_ids "0" } true; local_#8533 := 20; goto CFG_45307; CFG_45307: assume true; call routine_#33733_luaD_growstack(local_#3780_L,local_#8533); goto CFG_39785; CFG_39785: assume true; local_#8534 := 0; local_#8535 := 0; assert { :LIR "60120" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42000; CFG_42000: assume true; local_#8536 := 20; local_#8537 := { base : _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 16 }]!offset + local_#8536 * 16 }; _memory_ptr[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 8 }] := local_#8537; local_#8538 := 0; local_#8539 := 0; assert { :LIR "60121" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 204 }] := 0; local_#8540 := 4; local_#8541 := _memory[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 66 }]; assert { :LIR "62151" } { :check "overflow" } { :finding_ids "0" } local_#8541 <= 2147483647; local_#8542 := ~sor32(local_#8541, local_#8540); _memory[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 66 }] := ~uwrap16(local_#8542); assert { :LIR "62152" } { :check "overflow" } { :finding_ids "0" } true; local_#8543 := 0; local_#8544 := 0; assert { :LIR "60122" } { :check "overflow" } { :finding_ids "0" } true; local_#8545 := local_#31190_ar; goto CFG_45308; CFG_45308: assume true; assume false; goto CFG_39786; CFG_39786: assume true; local_#8546 := 0; local_#8547 := 0; assert { :LIR "60123" } { :check "overflow" } { :finding_ids "0" } true; local_#8548 := 0; local_#8549 := 0; assert { :LIR "60124" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 204 }] := 1; local_#8550 := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 56 }]; assert { :LIR "60125" } { :check "overflow" } { :finding_ids "0" } true; local_#8551 := { base : local_#8550!base, offset : local_#8550!offset + local_#31192_ci_top * 1 }; local_#8552 := local_#8551; assert { :LIR "60126" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 8 }] := local_#8552; local_#8553 := _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 56 }]; assert { :LIR "60127" } { :check "overflow" } { :finding_ids "0" } true; local_#8554 := { base : local_#8553!base, offset : local_#8553!offset + local_#31193_top * 1 }; local_#8555 := local_#8554; assert { :LIR "60128" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#3780_L!base, offset : local_#3780_L!offset + 16 }] := local_#8555; local_#8556 := -5; local_#8557 := _memory[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 66 }]; assert { :LIR "62153" } { :check "overflow" } { :finding_ids "0" } local_#8557 <= 2147483647; local_#8558 := ~sand32(local_#8557, local_#8556); _memory[{ base : local_#31191_ci!base, offset : local_#31191_ci!offset + 66 }] := ~uwrap16(local_#8558); assert { :LIR "62154" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39082; CFG_39082: assume true; goto CFG_37153; CFG_37153: assume true; } procedure routine_#33735_luaD_inctop(local_#3783_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3783_L : { base : int, offset : int }; var local_#8559 : int; var local_#8560 : int; var local_#8561 : int; var local_#8562 : int; var local_#8563 : int; var local_#8564 : int; var local_#8565 : int; var local_#8566 : int; var local_#8567 : int; var local_#8568 : int; var local_#8569 : { base : int, offset : int }; var local_#8570 : int; var local_#8571 : { base : int, offset : int }; local_#3783_L := local_#3783_L_IN; goto CFG_36243; CFG_36243: assume true; goto CFG_49070; CFG_49070: assume true; local_#8559 := (_memory_ptr[{ base : local_#3783_L!base, offset : local_#3783_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3783_L!base, offset : local_#3783_L!offset + 16 }]!offset) / 16; local_#8560 := 1; local_#8561 := (if local_#8559 <= local_#8560 then 1 else 0); if (local_#8561 != 0) { goto CFG_42001; } else { goto CFG_39787; } CFG_39787: assume true; local_#8562 := 0; local_#8563 := 0; assert { :LIR "60129" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39083; CFG_42001: assume true; local_#8564 := 0; local_#8565 := 0; assert { :LIR "60130" } { :check "overflow" } { :finding_ids "0" } true; local_#8566 := 1; goto CFG_45309; CFG_45309: assume true; call routine_#33733_luaD_growstack(local_#3783_L,local_#8566); goto CFG_39788; CFG_39788: assume true; local_#8567 := 0; local_#8568 := 0; assert { :LIR "60131" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39083; CFG_39083: assume true; local_#8569 := _memory_ptr[{ base : local_#3783_L!base, offset : local_#3783_L!offset + 16 }]; local_#8570 := 1; _memory_ptr[{ base : local_#3783_L!base, offset : local_#3783_L!offset + 16 }] := { base : local_#8569!base, offset : local_#8569!offset + local_#8570 * 16 }; local_#8571 := local_#8569; goto CFG_37154; CFG_37154: assume true; } procedure routine_#33736_luaD_pcall(local_#3784_L_IN : { base : int, offset : int }, local_#3785_func_IN : { base : int, offset : int }, local_#3786_u_IN : { base : int, offset : int }, local_#3787_old_top_IN : int, local_#3788_ef_IN : int) returns (local_#7759 : int) modifies _memory, _memory_ptr, _valid; { var local_#3784_L : { base : int, offset : int }; var local_#3785_func : { base : int, offset : int }; var local_#3786_u : { base : int, offset : int }; var local_#3787_old_top : int; var local_#3788_ef : int; var local_#31195_old_ci : { base : int, offset : int }; var local_#31194_old_allowhooks : int; var local_#31197_old_nny : int; var local_#31196_old_errfunc : int; var local_#8572 : int; var local_#31198_status : int; var local_#8573 : int; var local_#8574 : int; var local_#8575 : { base : int, offset : int }; var local_#8576 : { base : int, offset : int }; var local_#8577 : { base : int, offset : int }; var local_#31199_oldtop : { base : int, offset : int }; local_#3784_L := local_#3784_L_IN; local_#3785_func := local_#3785_func_IN; local_#3786_u := local_#3786_u_IN; local_#3787_old_top := local_#3787_old_top_IN; local_#3788_ef := local_#3788_ef_IN; goto CFG_36244; CFG_36244: assume true; goto CFG_42002; CFG_42002: assume true; local_#31195_old_ci := _memory_ptr[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 32 }]; local_#31194_old_allowhooks := _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 204 }]; local_#31197_old_nny := _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 196 }]; local_#31196_old_errfunc := _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 176 }]; _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 176 }] := local_#3788_ef; goto CFG_45310; CFG_45310: assume true; call local_#8572 := routine_#33740_luaD_rawrunprotected(local_#3784_L,local_#3785_func,local_#3786_u); goto CFG_49071; CFG_49071: assume true; local_#31198_status := local_#8572; local_#8573 := 0; local_#8574 := (if local_#31198_status != local_#8573 then 1 else 0); if (local_#8574 != 0) { goto CFG_42003; } else { goto CFG_38051; } CFG_42003: assume true; local_#8575 := _memory_ptr[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 56 }]; assert { :LIR "60132" } { :check "overflow" } { :finding_ids "0" } true; local_#8576 := { base : local_#8575!base, offset : local_#8575!offset + local_#3787_old_top * 1 }; local_#8577 := local_#8576; assert { :LIR "60133" } { :check "overflow" } { :finding_ids "0" } true; local_#31199_oldtop := local_#8577; goto CFG_45311; CFG_45311: assume true; call routine_#33749_luaF_close(local_#3784_L,local_#31199_oldtop); goto CFG_45312; CFG_45312: assume true; call routine_#35058_seterrorobj(local_#3784_L,local_#31198_status,local_#31199_oldtop); goto CFG_42004; CFG_42004: assume true; _memory_ptr[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 32 }] := local_#31195_old_ci; _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 204 }] := local_#31194_old_allowhooks; _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 196 }] := local_#31197_old_nny; goto CFG_45313; CFG_45313: assume true; call routine_#33742_luaD_shrinkstack(local_#3784_L); goto CFG_39789; CFG_39789: assume true; goto CFG_38051; CFG_38051: assume true; _memory[{ base : local_#3784_L!base, offset : local_#3784_L!offset + 176 }] := local_#31196_old_errfunc; local_#7759 := local_#31198_status; goto CFG_37155; CFG_37155: assume true; } procedure routine_#33737_luaD_poscall(local_#3789_L_IN : { base : int, offset : int }, local_#3790_ci_IN : { base : int, offset : int }, local_#3791_firstResult_IN : { base : int, offset : int }, local_#3792_nres_IN : int) returns (local_#7760 : int) modifies _memory, _memory_ptr, _valid; { var local_#3789_L : { base : int, offset : int }; var local_#3790_ci : { base : int, offset : int }; var local_#3791_firstResult : { base : int, offset : int }; var local_#3792_nres : int; var local_#8578 : int; var local_#31201_wanted : int; var local_#8579 : int; var local_#8580 : int; var local_#8581 : int; var local_#8582 : int; var local_#8583 : { base : int, offset : int }; var local_#8584 : { base : int, offset : int }; var local_#8585 : int; var local_#31202_fr : int; var local_#8586 : int; var local_#8587 : int; var local_#8588 : { base : int, offset : int }; var local_#8589 : { base : int, offset : int }; var local_#8590 : { base : int, offset : int }; var local_#8591 : { base : int, offset : int }; var local_#8592 : { base : int, offset : int }; var local_#31200_res : { base : int, offset : int }; var local_#8593 : { base : int, offset : int }; var local_#8594 : int; local_#3789_L := local_#3789_L_IN; local_#3790_ci := local_#3790_ci_IN; local_#3791_firstResult := local_#3791_firstResult_IN; local_#3792_nres := local_#3792_nres_IN; goto CFG_36245; CFG_36245: assume true; goto CFG_49072; CFG_49072: assume true; local_#8578 := _memory[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 64 }]; assert { :LIR "62155" } { :check "overflow" } { :finding_ids "0" } local_#8578 <= 2147483647; local_#31201_wanted := local_#8578; local_#8579 := 6; local_#8580 := ~sand32(_memory[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 200 }], local_#8579); if (local_#8580 != 0) { goto CFG_49073; } else { goto CFG_42006; } CFG_49073: assume true; local_#8581 := 2; local_#8582 := ~sand32(_memory[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 200 }], local_#8581); if (local_#8582 != 0) { goto CFG_42005; } else { goto CFG_39791; } CFG_42005: assume true; local_#8583 := local_#3791_firstResult; assert { :LIR "60134" } { :check "overflow" } { :finding_ids "0" } true; local_#8584 := _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 56 }]; assert { :LIR "60135" } { :check "overflow" } { :finding_ids "0" } true; local_#8585 := (local_#8583!offset - local_#8584!offset) / 1; local_#31202_fr := local_#8585; local_#8586 := 1; local_#8587 := -1; goto CFG_45314; CFG_45314: assume true; call routine_#33734_luaD_hook(local_#3789_L,local_#8586,local_#8587); goto CFG_39790; CFG_39790: assume true; local_#8588 := _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 56 }]; assert { :LIR "60136" } { :check "overflow" } { :finding_ids "0" } true; local_#8589 := { base : local_#8588!base, offset : local_#8588!offset + local_#31202_fr * 1 }; local_#8590 := local_#8589; assert { :LIR "60137" } { :check "overflow" } { :finding_ids "0" } true; local_#3791_firstResult := local_#8590; goto CFG_39791; CFG_39791: assume true; local_#8591 := _memory_ptr[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 16 }]; local_#8592 := { base : local_#8591!base, offset : local_#8591!offset + 32 }; _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 40 }] := _memory_ptr[{ base : local_#8592!base, offset : local_#8592!offset + 8 }]; goto CFG_42006; CFG_42006: assume true; local_#31200_res := _memory_ptr[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 0 }]; _memory_ptr[{ base : local_#3789_L!base, offset : local_#3789_L!offset + 32 }] := _memory_ptr[{ base : local_#3790_ci!base, offset : local_#3790_ci!offset + 16 }]; local_#8593 := local_#3791_firstResult; assert { :LIR "62156" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45315; CFG_45315: assume true; call local_#8594 := routine_#34951_moveresults(local_#3789_L,local_#8593,local_#31200_res,local_#3792_nres,local_#31201_wanted); goto CFG_38052; CFG_38052: assume true; local_#7760 := local_#8594; goto CFG_37156; CFG_37156: assume true; } procedure routine_#33738_luaD_precall(local_#3793_L_IN : { base : int, offset : int }, local_#3794_func_IN : { base : int, offset : int }, local_#3795_nresults_IN : int) returns (local_#7761 : int) modifies _memory, _memory_ptr, _valid; { var local_#3793_L : { base : int, offset : int }; var local_#3794_func : { base : int, offset : int }; var local_#3795_nresults : int; var local_#8595 : int; var local_#8596 : int; var local_#8597 : int; var local_#8598 : int; var local_#8599 : int; var local_#8600 : int; var local_#8601 : int; var local_#8602 : { base : int, offset : int }; var local_#8603 : { base : int, offset : int }; var local_#8604 : int; var local_#31212_t__ : int; var local_#8605 : { base : int, offset : int }; var local_#8606 : int; var local_#8607 : int; var local_#8608 : int; var local_#8609 : int; var local_#8610 : int; var local_#8611 : int; var local_#8612 : int; var local_#8613 : int; var local_#8614 : int; var local_#8615 : { base : int, offset : int }; var local_#8616 : { base : int, offset : int }; var local_#8617 : { base : int, offset : int }; var local_#8618 : int; var local_#8619 : { base : int, offset : int }; var local_#8620 : { base : int, offset : int }; var local_#8621 : { base : int, offset : int }; var local_#8622 : { base : int, offset : int }; var local_#31210_p : { base : int, offset : int }; var local_#8623 : int; var local_#8624 : int; var local_#8625 : int; var local_#8626 : int; var local_#31209_n : int; var local_#8627 : int; var local_#31208_fsize : int; var local_#8628 : int; var local_#8629 : int; var local_#8630 : int; var local_#8631 : int; var local_#8632 : int; var local_#8633 : { base : int, offset : int }; var local_#8634 : { base : int, offset : int }; var local_#8635 : int; var local_#31211_t__ : int; var local_#8636 : { base : int, offset : int }; var local_#8637 : int; var local_#8638 : int; var local_#8639 : int; var local_#8640 : int; var local_#8641 : int; var local_#8642 : int; var local_#8643 : int; var local_#8644 : int; var local_#8645 : { base : int, offset : int }; var local_#8646 : { base : int, offset : int }; var local_#8647 : { base : int, offset : int }; var local_#8648 : int; var local_#8649 : int; var local_#8650 : int; var local_#8651 : int; var local_#8652 : { base : int, offset : int }; var local_#31207_base : { base : int, offset : int }; var local_#8653 : int; var local_#8654 : { base : int, offset : int }; var local_#8655 : int; var local_#8656 : int; var local_#8657 : int; var local_#8658 : int; var local_#8659 : { base : int, offset : int }; var local_#8660 : { base : int, offset : int }; var local_#8661 : { base : int, offset : int }; var local_#8662 : { base : int, offset : int }; var local_#30598 : { base : int, offset : int }; var local_#8663 : { base : int, offset : int }; var local_#31203_ci : { base : int, offset : int }; var local_#8664 : int; var local_#8665 : { base : int, offset : int }; var local_#8666 : { base : int, offset : int }; var local_#8667 : int; var local_#8668 : int; var local_#8669 : { base : int, offset : int }; var local_#8670 : { base : int, offset : int }; var local_#8671 : int; var local_#8672 : int; var local_#8673 : { base : int, offset : int }; var local_#31204_f : { base : int, offset : int }; var local_#8674 : { base : int, offset : int }; var local_#8675 : { base : int, offset : int }; var local_#8676 : { base : int, offset : int }; var local_#8677 : { base : int, offset : int }; var local_#8678 : int; var local_#8679 : int; var local_#8680 : int; var local_#8681 : int; var local_#8682 : int; var local_#8683 : { base : int, offset : int }; var local_#8684 : { base : int, offset : int }; var local_#8685 : int; var local_#31206_t__ : int; var local_#8686 : { base : int, offset : int }; var local_#8687 : int; var local_#8688 : int; var local_#8689 : int; var local_#8690 : int; var local_#8691 : int; var local_#8692 : int; var local_#8693 : int; var local_#8694 : int; var local_#8695 : int; var local_#8696 : { base : int, offset : int }; var local_#8697 : { base : int, offset : int }; var local_#8698 : { base : int, offset : int }; var local_#8699 : { base : int, offset : int }; var local_#8700 : { base : int, offset : int }; var local_#8701 : { base : int, offset : int }; var local_#30599 : { base : int, offset : int }; var local_#8702 : { base : int, offset : int }; var local_#8703 : int; var local_#8704 : int; var local_#8705 : { base : int, offset : int }; var local_#8706 : int; var local_#8707 : int; var local_#8708 : int; var local_#8709 : int; var local_#8710 : int; var local_#8711 : int; var local_#8712 : int; var local_#8713 : int; var local_#8714 : int; var local_#31205_n : int; var local_#8715 : int; var local_#8716 : int; var local_#8717 : int; var local_#8718 : int; var local_#8719 : { base : int, offset : int }; var local_#8720 : int; local_#3793_L := local_#3793_L_IN; local_#3794_func := local_#3794_func_IN; local_#3795_nresults := local_#3795_nresults_IN; goto CFG_36246; CFG_36246: assume true; goto CFG_51500; CFG_51500: assume true; local_#8595 := 63; local_#8596 := ~sand32(_memory[{ base : local_#3794_func!base, offset : local_#3794_func!offset + 8 }], local_#8595); if (local_#8596 == 38) { goto CFG_45238; } if (local_#8596 == 22) { goto CFG_41897; } if (local_#8596 == 6) { goto CFG_49076; } goto CFG_49074; CFG_49074: assume true; local_#8597 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset) / 16; local_#8598 := 1; local_#8599 := (if local_#8597 <= local_#8598 then 1 else 0); if (local_#8599 != 0) { goto CFG_49075; } else { goto CFG_39792; } CFG_39792: assume true; local_#8600 := 0; local_#8601 := 0; assert { :LIR "60138" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45318; CFG_49075: assume true; local_#8602 := local_#3794_func; assert { :LIR "60139" } { :check "overflow" } { :finding_ids "0" } true; local_#8603 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assert { :LIR "60140" } { :check "overflow" } { :finding_ids "0" } true; local_#8604 := (local_#8602!offset - local_#8603!offset) / 1; local_#31212_t__ := local_#8604; local_#8605 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 24 }]; local_#8606 := 0; local_#8607 := (if _memory[{ base : local_#8605!base, offset : local_#8605!offset + 24 }] > local_#8606 then 1 else 0); if (local_#8607 != 0) { goto CFG_42007; } else { goto CFG_42008; } CFG_42007: assume true; local_#8608 := 0; local_#8609 := 0; assert { :LIR "60141" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45316; CFG_45316: assume true; call routine_#33728_luaC_step(local_#3793_L); goto CFG_39793; CFG_39793: assume true; local_#8610 := 0; local_#8611 := 0; assert { :LIR "60142" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42008; CFG_42008: assume true; local_#8612 := 0; local_#8613 := 0; assert { :LIR "60143" } { :check "overflow" } { :finding_ids "0" } true; local_#8614 := 1; goto CFG_45317; CFG_45317: assume true; call routine_#33733_luaD_growstack(local_#3793_L,local_#8614); goto CFG_39794; CFG_39794: assume true; local_#8615 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assert { :LIR "60144" } { :check "overflow" } { :finding_ids "0" } true; local_#8616 := { base : local_#8615!base, offset : local_#8615!offset + local_#31212_t__ * 1 }; local_#8617 := local_#8616; assert { :LIR "60145" } { :check "overflow" } { :finding_ids "0" } true; local_#3794_func := local_#8617; goto CFG_45318; CFG_45318: assume true; call routine_#35127_tryfuncTM(local_#3793_L,local_#3794_func); goto CFG_45319; CFG_45319: assume true; call local_#8618 := routine_#33738_luaD_precall(local_#3793_L,local_#3794_func,local_#3795_nresults); goto CFG_38053; CFG_38053: assume true; local_#7761 := local_#8618; goto CFG_37157; CFG_49076: assume true; local_#8619 := { base : local_#3794_func!base, offset : local_#3794_func!offset + 0 }; local_#8620 := _memory_ptr[local_#8619]; assert { :LIR "60146" } { :check "overflow" } { :finding_ids "0" } true; local_#8621 := { base : local_#8620!base, offset : local_#8620!offset + 0 }; local_#8622 := { base : local_#8621!base, offset : local_#8621!offset + 0 }; local_#31210_p := _memory_ptr[{ base : local_#8622!base, offset : local_#8622!offset + 24 }]; local_#8623 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset - local_#3794_func!offset) / 16; local_#8624 := local_#8623; assert { :LIR "60147" } { :check "overflow" } { :finding_ids "0" } local_#8624 <= 2147483647; local_#8625 := 1; local_#8626 := local_#8624 - local_#8625; assert { :LIR "67857" } { :check "overflow" } { :finding_ids "0" } local_#8626 <= 2147483647; local_#31209_n := local_#8626; local_#8627 := _memory[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 12 }]; assert { :LIR "62157" } { :check "overflow" } { :finding_ids "0" } local_#8627 <= 2147483647; local_#31208_fsize := local_#8627; local_#8628 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset) / 16; local_#8629 := local_#31208_fsize; assert { :LIR "62158" } { :check "overflow" } { :finding_ids "0" } local_#8629 <= 9223372036854775807; local_#8630 := (if local_#8628 <= local_#8629 then 1 else 0); if (local_#8630 != 0) { goto CFG_49077; } else { goto CFG_39795; } CFG_39795: assume true; local_#8631 := 0; local_#8632 := 0; assert { :LIR "60148" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49078; CFG_49077: assume true; local_#8633 := local_#3794_func; assert { :LIR "60149" } { :check "overflow" } { :finding_ids "0" } true; local_#8634 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assert { :LIR "60150" } { :check "overflow" } { :finding_ids "0" } true; local_#8635 := (local_#8633!offset - local_#8634!offset) / 1; local_#31211_t__ := local_#8635; local_#8636 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 24 }]; local_#8637 := 0; local_#8638 := (if _memory[{ base : local_#8636!base, offset : local_#8636!offset + 24 }] > local_#8637 then 1 else 0); if (local_#8638 != 0) { goto CFG_42009; } else { goto CFG_42010; } CFG_42009: assume true; local_#8639 := 0; local_#8640 := 0; assert { :LIR "60151" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45320; CFG_45320: assume true; call routine_#33728_luaC_step(local_#3793_L); goto CFG_39796; CFG_39796: assume true; local_#8641 := 0; local_#8642 := 0; assert { :LIR "60152" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42010; CFG_42010: assume true; local_#8643 := 0; local_#8644 := 0; assert { :LIR "60153" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45321; CFG_45321: assume true; call routine_#33733_luaD_growstack(local_#3793_L,local_#31208_fsize); goto CFG_39797; CFG_39797: assume true; local_#8645 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assert { :LIR "60154" } { :check "overflow" } { :finding_ids "0" } true; local_#8646 := { base : local_#8645!base, offset : local_#8645!offset + local_#31211_t__ * 1 }; local_#8647 := local_#8646; assert { :LIR "60155" } { :check "overflow" } { :finding_ids "0" } true; local_#3794_func := local_#8647; goto CFG_49078; CFG_49078: assume true; local_#8648 := _memory[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 11 }]; if (local_#8648 != 0) { goto CFG_45322; } else { goto CFG_41618; } CFG_41618: assume true; goto CFG_49079; CFG_49079: assume true; local_#8649 := _memory[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 10 }]; assert { :LIR "62159" } { :check "overflow" } { :finding_ids "0" } local_#8649 <= 2147483647; local_#8650 := (if local_#31209_n < local_#8649 then 1 else 0); if (local_#8650 != 0) { goto CFG_42011; } else { goto CFG_39798; } CFG_39798: assume true; local_#8651 := 1; local_#8652 := { base : local_#3794_func!base, offset : local_#3794_func!offset + local_#8651 * 16 }; local_#31207_base := local_#8652; goto CFG_49080; CFG_42011: assume true; local_#8653 := 0; local_#8654 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]; local_#8655 := 1; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }] := { base : local_#8654!base, offset : local_#8654!offset + local_#8655 * 16 }; _memory[{ base : local_#8654!base, offset : local_#8654!offset + 8 }] := local_#8653; goto CFG_44959; CFG_44959: assume true; local_#8656 := local_#31209_n; local_#8657 := 1; local_#31209_n := local_#8656 + local_#8657; assert { :LIR "66368" } { :check "overflow" } { :finding_ids "0" } local_#31209_n <= 2147483647; local_#8658 := local_#8656; goto CFG_49079; CFG_45322: assume true; call local_#8659 := routine_#34580_adjust_varargs(local_#3793_L,local_#31210_p,local_#31209_n); goto CFG_39799; CFG_39799: assume true; local_#31207_base := local_#8659; goto CFG_49080; CFG_49080: assume true; local_#8660 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; local_#8661 := _memory_ptr[{ base : local_#8660!base, offset : local_#8660!offset + 24 }]; if (local_#8661 != { base : 0, offset : 0 }) { goto CFG_39801; } else { goto CFG_45323; } CFG_45323: assume true; call local_#8662 := routine_#33744_luaE_extendCI(local_#3793_L); goto CFG_39800; CFG_39800: assume true; local_#30598 := local_#8662; goto CFG_49081; CFG_39801: assume true; local_#8663 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; local_#30598 := _memory_ptr[{ base : local_#8663!base, offset : local_#8663!offset + 24 }]; goto CFG_49081; CFG_49081: assume true; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }] := local_#30598; local_#31203_ci := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; local_#8664 := local_#3795_nresults; assert { :LIR "62160" } { :check "overflow" } { :finding_ids "0" } local_#8664 <= 32767; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 64 }] := local_#8664; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 0 }] := local_#3794_func; local_#8665 := { base : local_#31203_ci!base, offset : local_#31203_ci!offset + 32 }; _memory_ptr[{ base : local_#8665!base, offset : local_#8665!offset + 0 }] := local_#31207_base; local_#8666 := { base : local_#31207_base!base, offset : local_#31207_base!offset + local_#31208_fsize * 16 }; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 8 }] := local_#8666; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }] := _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 8 }]; local_#8667 := 0; local_#8668 := 0; assert { :LIR "60156" } { :check "overflow" } { :finding_ids "0" } true; local_#8669 := _memory_ptr[{ base : local_#31210_p!base, offset : local_#31210_p!offset + 56 }]; assert { :LIR "62161" } { :check "overflow" } { :finding_ids "0" } true; local_#8670 := { base : local_#31203_ci!base, offset : local_#31203_ci!offset + 32 }; _memory_ptr[{ base : local_#8670!base, offset : local_#8670!offset + 8 }] := local_#8669; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 66 }] := 2; local_#8671 := 1; local_#8672 := ~sand32(_memory[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 200 }], local_#8671); if (local_#8672 != 0) { goto CFG_45324; } else { goto CFG_38054; } CFG_45324: assume true; call routine_#34619_callhook(local_#3793_L,local_#31203_ci); goto CFG_39802; CFG_39802: assume true; goto CFG_38054; CFG_38054: assume true; local_#7761 := 0; goto CFG_37157; CFG_41897: assume true; local_#8673 := { base : local_#3794_func!base, offset : local_#3794_func!offset + 0 }; local_#31204_f := _memory_ptr[local_#8673]; goto CFG_49082; CFG_45238: assume true; local_#8674 := { base : local_#3794_func!base, offset : local_#3794_func!offset + 0 }; local_#8675 := _memory_ptr[local_#8674]; assert { :LIR "60157" } { :check "overflow" } { :finding_ids "0" } true; local_#8676 := { base : local_#8675!base, offset : local_#8675!offset + 0 }; local_#8677 := { base : local_#8676!base, offset : local_#8676!offset + 0 }; local_#31204_f := _memory_ptr[{ base : local_#8677!base, offset : local_#8677!offset + 24 }]; goto CFG_49082; CFG_49082: assume true; local_#8678 := (_memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset) / 16; local_#8679 := 20; local_#8680 := (if local_#8678 <= local_#8679 then 1 else 0); if (local_#8680 != 0) { goto CFG_49083; } else { goto CFG_39803; } CFG_39803: assume true; local_#8681 := 0; local_#8682 := 0; assert { :LIR "60158" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49084; CFG_49083: assume true; local_#8683 := local_#3794_func; assert { :LIR "60159" } { :check "overflow" } { :finding_ids "0" } true; local_#8684 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assert { :LIR "60160" } { :check "overflow" } { :finding_ids "0" } true; local_#8685 := (local_#8683!offset - local_#8684!offset) / 1; local_#31206_t__ := local_#8685; local_#8686 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 24 }]; local_#8687 := 0; local_#8688 := (if _memory[{ base : local_#8686!base, offset : local_#8686!offset + 24 }] > local_#8687 then 1 else 0); if (local_#8688 != 0) { goto CFG_42012; } else { goto CFG_42013; } CFG_42012: assume true; local_#8689 := 0; local_#8690 := 0; assert { :LIR "60161" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45325; CFG_45325: assume true; call routine_#33728_luaC_step(local_#3793_L); goto CFG_39804; CFG_39804: assume true; local_#8691 := 0; local_#8692 := 0; assert { :LIR "60162" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42013; CFG_42013: assume true; local_#8693 := 0; local_#8694 := 0; assert { :LIR "60163" } { :check "overflow" } { :finding_ids "0" } true; local_#8695 := 20; goto CFG_45326; CFG_45326: assume true; call routine_#33733_luaD_growstack(local_#3793_L,local_#8695); goto CFG_39805; CFG_39805: assume true; local_#8696 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 56 }]; assert { :LIR "60164" } { :check "overflow" } { :finding_ids "0" } true; local_#8697 := { base : local_#8696!base, offset : local_#8696!offset + local_#31206_t__ * 1 }; local_#8698 := local_#8697; assert { :LIR "60165" } { :check "overflow" } { :finding_ids "0" } true; local_#3794_func := local_#8698; goto CFG_49084; CFG_49084: assume true; local_#8699 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; local_#8700 := _memory_ptr[{ base : local_#8699!base, offset : local_#8699!offset + 24 }]; if (local_#8700 != { base : 0, offset : 0 }) { goto CFG_39807; } else { goto CFG_45327; } CFG_45327: assume true; call local_#8701 := routine_#33744_luaE_extendCI(local_#3793_L); goto CFG_39806; CFG_39806: assume true; local_#30599 := local_#8701; goto CFG_49085; CFG_39807: assume true; local_#8702 := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; local_#30599 := _memory_ptr[{ base : local_#8702!base, offset : local_#8702!offset + 24 }]; goto CFG_49085; CFG_49085: assume true; _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }] := local_#30599; local_#31203_ci := _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 32 }]; local_#8703 := local_#3795_nresults; assert { :LIR "62162" } { :check "overflow" } { :finding_ids "0" } local_#8703 <= 32767; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 64 }] := local_#8703; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 0 }] := local_#3794_func; local_#8704 := 20; local_#8705 := { base : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset + local_#8704 * 16 }; _memory_ptr[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 8 }] := local_#8705; local_#8706 := 0; local_#8707 := 0; assert { :LIR "60166" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31203_ci!base, offset : local_#31203_ci!offset + 66 }] := 0; local_#8708 := 1; local_#8709 := ~sand32(_memory[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 200 }], local_#8708); if (local_#8709 != 0) { goto CFG_42014; } else { goto CFG_42015; } CFG_42014: assume true; local_#8710 := 0; local_#8711 := -1; goto CFG_45328; CFG_45328: assume true; call routine_#33734_luaD_hook(local_#3793_L,local_#8710,local_#8711); goto CFG_39808; CFG_39808: assume true; goto CFG_42015; CFG_42015: assume true; local_#8712 := 0; local_#8713 := 0; assert { :LIR "60167" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45329; CFG_45329: assume true; assume false; goto CFG_42016; CFG_42016: assume true; local_#31205_n := local_#8714; local_#8715 := 0; local_#8716 := 0; assert { :LIR "60168" } { :check "overflow" } { :finding_ids "0" } true; local_#8717 := 0; local_#8718 := 0; assert { :LIR "60169" } { :check "overflow" } { :finding_ids "0" } true; local_#8719 := { base : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3793_L!base, offset : local_#3793_L!offset + 16 }]!offset - local_#31205_n * 16 }; goto CFG_45330; CFG_45330: assume true; call local_#8720 := routine_#33737_luaD_poscall(local_#3793_L,local_#31203_ci,local_#8719,local_#31205_n); goto CFG_38055; CFG_38055: assume true; local_#7761 := 1; goto CFG_37157; CFG_37157: assume true; } procedure routine_#33739_luaD_protectedparser(local_#3796_L_IN : { base : int, offset : int }, local_#3797_z_IN : { base : int, offset : int }, local_#3798_name_IN : { base : int, offset : int }, local_#3799_mode_IN : { base : int, offset : int }) returns (local_#7762 : int) modifies _memory, _memory_ptr, _valid; { var local_#3796_L : { base : int, offset : int }; var local_#3797_z : { base : int, offset : int }; var local_#3798_name : { base : int, offset : int }; var local_#3799_mode : { base : int, offset : int }; var local_#8721 : int; var local_#8722 : int; var local_#8723 : int; var local_#31213_p : { base : int, offset : int }; var local_#8724 : { base : int, offset : int }; var local_#8725 : int; var local_#8726 : int; var local_#8727 : { base : int, offset : int }; var local_#8728 : { base : int, offset : int }; var local_#8729 : { base : int, offset : int }; var local_#8730 : { base : int, offset : int }; var local_#8731 : int; var local_#8732 : int; var local_#8733 : int; var local_#31214_status : int; var local_#8734 : { base : int, offset : int }; var local_#8735 : int; var local_#8736 : int; var local_#8737 : int; var local_#8738 : { base : int, offset : int }; var local_#8739 : { base : int, offset : int }; var local_#8740 : { base : int, offset : int }; var local_#8741 : int; var local_#8742 : int; var local_#8743 : { base : int, offset : int }; var local_#8744 : int; var local_#8745 : int; var local_#8746 : int; var local_#8747 : int; var local_#8748 : { base : int, offset : int }; var local_#8749 : { base : int, offset : int }; var local_#8750 : int; var local_#8751 : int; var local_#8752 : int; var local_#8753 : int; var local_#8754 : { base : int, offset : int }; var local_#8755 : { base : int, offset : int }; var local_#8756 : int; var local_#8757 : int; var local_#8758 : int; var local_#8759 : int; var local_#8760 : { base : int, offset : int }; var local_#8761 : int; var local_#8762 : int; var local_#8763 : int; local_#3796_L := local_#3796_L_IN; local_#3797_z := local_#3797_z_IN; local_#3798_name := local_#3798_name_IN; local_#3799_mode := local_#3799_mode_IN; goto CFG_36247; CFG_36247: assume true; goto CFG_42017; CFG_42017: assume true; local_#8721 := _memory[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 196 }]; local_#8722 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 196 }] := ~uwrap16(local_#8721 + local_#8722); assert { :LIR "66369" } { :check "overflow" } { :finding_ids "0" } true; local_#8723 := local_#8721; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 0 }] := local_#3797_z; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 88 }] := local_#3798_name; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 80 }] := local_#3799_mode; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 32 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 44 }] := 0; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 48 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 60 }] := 0; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 64 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 76 }] := 0; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 8 }] := { base : 0, offset : 0 }; local_#8724 := _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 8 }]; _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 24 }] := 0; local_#8725 := _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 24 }]; local_#8726 := local_#8725; local_#8727 := fun_addr_#34729_f_parser; local_#8728 := local_#31213_p; assert { :LIR "62163" } { :check "overflow" } { :finding_ids "0" } true; local_#8729 := _memory_ptr[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 16 }]; assert { :LIR "60170" } { :check "overflow" } { :finding_ids "0" } true; local_#8730 := _memory_ptr[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 56 }]; assert { :LIR "60171" } { :check "overflow" } { :finding_ids "0" } true; local_#8731 := (local_#8729!offset - local_#8730!offset) / 1; local_#8732 := _memory[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 176 }]; goto CFG_45331; CFG_45331: assume true; call local_#8733 := routine_#33736_luaD_pcall(local_#3796_L,local_#8727,local_#8728,local_#8731,local_#8732); goto CFG_42018; CFG_42018: assume true; local_#31214_status := local_#8733; local_#8734 := _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 8 }]; assert { :LIR "62164" } { :check "overflow" } { :finding_ids "0" } true; local_#8735 := 1; assume { :symbol "~uwrap64" } true; local_#8736 := ~uwrap64(_memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 24 }] * local_#8735); assert { :LIR "68493" } { :check "overflow" } { :finding_ids "0" } true; local_#8737 := 0; goto CFG_45332; CFG_45332: assume true; call local_#8738 := routine_#33857_luaM_realloc_(local_#3796_L,local_#8734,local_#8736,local_#8737); goto CFG_42019; CFG_42019: assume true; local_#8739 := local_#8738; assert { :LIR "60172" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 8 }] := local_#8739; local_#8740 := _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 8 }]; _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 24 }] := 0; local_#8741 := _memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 24 }]; local_#8742 := local_#8741; local_#8743 := _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 32 }]; assert { :LIR "62165" } { :check "overflow" } { :finding_ids "0" } true; local_#8744 := ~uwrap64(_memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 44 }]); assert { :LIR "62166" } { :check "overflow" } { :finding_ids "0" } true; local_#8745 := 2; assume { :symbol "~uwrap64" } true; local_#8746 := ~uwrap64(local_#8744 * local_#8745); assert { :LIR "68494" } { :check "overflow" } { :finding_ids "0" } true; local_#8747 := 0; goto CFG_45333; CFG_45333: assume true; call local_#8748 := routine_#33857_luaM_realloc_(local_#3796_L,local_#8743,local_#8746,local_#8747); goto CFG_42020; CFG_42020: assume true; local_#8749 := _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 48 }]; assert { :LIR "62167" } { :check "overflow" } { :finding_ids "0" } true; local_#8750 := ~uwrap64(_memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 60 }]); assert { :LIR "62168" } { :check "overflow" } { :finding_ids "0" } true; local_#8751 := 24; assume { :symbol "~uwrap64" } true; local_#8752 := ~uwrap64(local_#8750 * local_#8751); assert { :LIR "68495" } { :check "overflow" } { :finding_ids "0" } true; local_#8753 := 0; goto CFG_45334; CFG_45334: assume true; call local_#8754 := routine_#33857_luaM_realloc_(local_#3796_L,local_#8749,local_#8752,local_#8753); goto CFG_42021; CFG_42021: assume true; local_#8755 := _memory_ptr[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 64 }]; assert { :LIR "62169" } { :check "overflow" } { :finding_ids "0" } true; local_#8756 := ~uwrap64(_memory[{ base : local_#31213_p!base, offset : local_#31213_p!offset + 76 }]); assert { :LIR "62170" } { :check "overflow" } { :finding_ids "0" } true; local_#8757 := 24; assume { :symbol "~uwrap64" } true; local_#8758 := ~uwrap64(local_#8756 * local_#8757); assert { :LIR "68496" } { :check "overflow" } { :finding_ids "0" } true; local_#8759 := 0; goto CFG_45335; CFG_45335: assume true; call local_#8760 := routine_#33857_luaM_realloc_(local_#3796_L,local_#8755,local_#8758,local_#8759); goto CFG_38056; CFG_38056: assume true; local_#8761 := _memory[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 196 }]; local_#8762 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3796_L!base, offset : local_#3796_L!offset + 196 }] := ~uwrap16(local_#8761 - local_#8762); assert { :LIR "67858" } { :check "overflow" } { :finding_ids "0" } true; local_#8763 := local_#8761; local_#7762 := local_#31214_status; goto CFG_37158; CFG_37158: assume true; } procedure routine_#33740_luaD_rawrunprotected(local_#3800_L_IN : { base : int, offset : int }, local_#3801_f_IN : { base : int, offset : int }, local_#3802_ud_IN : { base : int, offset : int }) returns (local_#7763 : int) modifies _memory, _memory_ptr, _valid; { var local_#3800_L : { base : int, offset : int }; var local_#3801_f : { base : int, offset : int }; var local_#3802_ud : { base : int, offset : int }; var local_#31216_oldnCcalls : int; var local_#31215_lj : { base : int, offset : int }; var local_#8764 : { base : int, offset : int }; var local_#8765 : { base : int, offset : int }; var local_#8766 : int; var local_#8767 : int; var local_#8768 : int; local_#3800_L := local_#3800_L_IN; local_#3801_f := local_#3801_f_IN; local_#3802_ud := local_#3802_ud_IN; goto CFG_36248; CFG_36248: assume true; goto CFG_42022; CFG_42022: assume true; local_#31216_oldnCcalls := _memory[{ base : local_#3800_L!base, offset : local_#3800_L!offset + 198 }]; _memory[{ base : local_#31215_lj!base, offset : local_#31215_lj!offset + 208 }] := 0; _memory_ptr[{ base : local_#31215_lj!base, offset : local_#31215_lj!offset + 0 }] := _memory_ptr[{ base : local_#3800_L!base, offset : local_#3800_L!offset + 88 }]; _memory_ptr[{ base : local_#3800_L!base, offset : local_#3800_L!offset + 88 }] := local_#31215_lj; local_#8764 := { base : local_#31215_lj!base, offset : local_#31215_lj!offset + 8 }; local_#8765 := { base : local_#8764!base, offset : local_#8764!offset + 0 * 200 }; goto CFG_45336; CFG_45336: assume true; call local_#8766 := routine_#33432__setjmp(local_#8765); goto CFG_49086; CFG_49086: assume true; local_#8767 := 0; local_#8768 := (if local_#8766 == local_#8767 then 1 else 0); if (local_#8768 != 0) { goto CFG_45337; } else { goto CFG_38057; } CFG_45337: assume true; if (local_#3801_f == fun_addr_#34729_f_parser) { call routine_#34729_f_parser(local_#3800_L,local_#3802_ud); } else { assume false; } goto CFG_39809; CFG_39809: assume true; goto CFG_38057; CFG_38057: assume true; _memory_ptr[{ base : local_#3800_L!base, offset : local_#3800_L!offset + 88 }] := _memory_ptr[{ base : local_#31215_lj!base, offset : local_#31215_lj!offset + 0 }]; _memory[{ base : local_#3800_L!base, offset : local_#3800_L!offset + 198 }] := local_#31216_oldnCcalls; local_#7763 := _memory[{ base : local_#31215_lj!base, offset : local_#31215_lj!offset + 208 }]; goto CFG_37159; CFG_37159: assume true; } procedure routine_#33741_luaD_reallocstack(local_#3803_L_IN : { base : int, offset : int }, local_#3804_newsize_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3803_L : { base : int, offset : int }; var local_#3804_newsize : int; var local_#31218_oldstack : { base : int, offset : int }; var local_#31217_lim : int; var local_#8769 : int; var local_#8770 : int; var local_#8771 : int; var local_#8772 : int; var local_#8773 : int; var local_#8774 : int; var local_#8775 : int; var local_#8776 : int; var local_#8777 : int; var local_#8778 : int; var local_#8779 : int; var local_#8780 : int; var local_#8781 : { base : int, offset : int }; var local_#8782 : int; var local_#8783 : int; var local_#8784 : int; var local_#8785 : int; var local_#8786 : int; var local_#8787 : int; var local_#8788 : { base : int, offset : int }; var local_#8789 : { base : int, offset : int }; var local_#8790 : int; var local_#8791 : { base : int, offset : int }; var local_#8792 : int; var local_#8793 : { base : int, offset : int }; var local_#8794 : int; var local_#8795 : { base : int, offset : int }; var local_#8796 : int; var local_#8797 : int; var local_#8798 : int; local_#3803_L := local_#3803_L_IN; local_#3804_newsize := local_#3804_newsize_IN; goto CFG_36249; CFG_36249: assume true; goto CFG_49087; CFG_49087: assume true; local_#31218_oldstack := _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }]; local_#31217_lim := _memory[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 184 }]; local_#8769 := 0; local_#8770 := 0; assert { :LIR "60173" } { :check "overflow" } { :finding_ids "0" } true; local_#8771 := 0; local_#8772 := 0; assert { :LIR "60174" } { :check "overflow" } { :finding_ids "0" } true; local_#8773 := 0; if (local_#8773 != 0) { goto CFG_49088; } else { goto CFG_39810; } CFG_49088: assume true; local_#8774 := ~uwrap64(local_#3804_newsize); assert { :LIR "60175" } { :check "overflow" } { :finding_ids "0" } true; local_#8775 := 1; assume { :symbol "~uwrap64" } true; local_#8776 := ~uwrap64(local_#8774 + local_#8775); assert { :LIR "66370" } { :check "overflow" } { :finding_ids "0" } true; local_#8777 := 1152921504606846975; local_#8778 := (if local_#8776 > local_#8777 then 1 else 0); if (local_#8778 != 0) { goto CFG_45340; } else { goto CFG_39810; } CFG_39810: assume true; local_#8779 := 0; local_#8780 := 0; assert { :LIR "60176" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42023; CFG_42023: assume true; local_#8781 := _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }]; assert { :LIR "62171" } { :check "overflow" } { :finding_ids "0" } true; local_#8782 := ~uwrap64(_memory[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 184 }]); assert { :LIR "62172" } { :check "overflow" } { :finding_ids "0" } true; local_#8783 := 16; assume { :symbol "~uwrap64" } true; local_#8784 := ~uwrap64(local_#8782 * local_#8783); assert { :LIR "68497" } { :check "overflow" } { :finding_ids "0" } true; local_#8785 := ~uwrap64(local_#3804_newsize); assert { :LIR "62173" } { :check "overflow" } { :finding_ids "0" } true; local_#8786 := 16; assume { :symbol "~uwrap64" } true; local_#8787 := ~uwrap64(local_#8785 * local_#8786); assert { :LIR "68498" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45338; CFG_45338: assume true; call local_#8788 := routine_#33857_luaM_realloc_(local_#3803_L,local_#8781,local_#8784,local_#8787); goto CFG_41619; CFG_41619: assume true; local_#8789 := local_#8788; assert { :LIR "60177" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }] := local_#8789; goto CFG_49089; CFG_49089: assume true; local_#8790 := (if local_#31217_lim < local_#3804_newsize then 1 else 0); if (local_#8790 != 0) { goto CFG_42025; } else { goto CFG_42024; } CFG_42024: assume true; _memory[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 184 }] := local_#3804_newsize; local_#8791 := { base : _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }]!offset + local_#3804_newsize * 16 }; local_#8792 := 5; local_#8793 := { base : local_#8791!base, offset : local_#8791!offset - local_#8792 * 16 }; _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 48 }] := local_#8793; goto CFG_45339; CFG_45339: assume true; call routine_#34670_correctstack(local_#3803_L,local_#31218_oldstack); goto CFG_39084; CFG_39084: assume true; goto CFG_37160; CFG_42025: assume true; local_#8794 := 0; local_#8795 := { base : _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#3803_L!base, offset : local_#3803_L!offset + 56 }]!offset + local_#31217_lim * 16 }; _memory[{ base : local_#8795!base, offset : local_#8795!offset + 8 }] := local_#8794; goto CFG_44960; CFG_44960: assume true; local_#8796 := local_#31217_lim; local_#8797 := 1; local_#31217_lim := local_#8796 + local_#8797; assert { :LIR "66371" } { :check "overflow" } { :finding_ids "0" } local_#31217_lim <= 2147483647; local_#8798 := local_#8796; goto CFG_49089; CFG_45340: assume true; call routine_#33858_luaM_toobig(local_#3803_L); CFG_39811: assume true; goto CFG_42023; CFG_37160: assume true; } procedure routine_#33742_luaD_shrinkstack(local_#3805_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3805_L : { base : int, offset : int }; var local_#8799 : int; var local_#31220_inuse : int; var local_#8800 : int; var local_#8801 : int; var local_#8802 : int; var local_#8803 : int; var local_#8804 : int; var local_#31219_goodsize : int; var local_#8805 : int; var local_#8806 : int; var local_#8807 : int; var local_#8808 : int; var local_#8809 : int; var local_#8810 : int; var local_#8811 : int; var local_#8812 : int; var local_#8813 : int; local_#3805_L := local_#3805_L_IN; goto CFG_36250; CFG_36250: assume true; goto CFG_45341; CFG_45341: assume true; call local_#8799 := routine_#35079_stackinuse(local_#3805_L); goto CFG_49090; CFG_49090: assume true; local_#31220_inuse := local_#8799; local_#8800 := 8; local_#8801 := local_#31220_inuse / local_#8800; assert { :LIR "68630" } { :check "overflow" } { :finding_ids "0" } local_#8801 <= 2147483647; local_#8802 := local_#31220_inuse + local_#8801; assert { :LIR "66372" } { :check "overflow" } { :finding_ids "0" } local_#8802 <= 2147483647; local_#8803 := 10; local_#8804 := local_#8802 + local_#8803; assert { :LIR "66373" } { :check "overflow" } { :finding_ids "0" } local_#8804 <= 2147483647; local_#31219_goodsize := local_#8804; local_#8805 := 1000000; local_#8806 := (if local_#31219_goodsize > local_#8805 then 1 else 0); if (local_#8806 != 0) { goto CFG_39812; } else { goto CFG_49091; } CFG_39812: assume true; local_#31219_goodsize := 1000000; goto CFG_49091; CFG_49091: assume true; local_#8807 := 1000000; local_#8808 := (if _memory[{ base : local_#3805_L!base, offset : local_#3805_L!offset + 184 }] > local_#8807 then 1 else 0); if (local_#8808 != 0) { goto CFG_45343; } else { goto CFG_45342; } CFG_45342: assume true; call routine_#33748_luaE_shrinkCI(local_#3805_L); goto CFG_39813; CFG_39813: assume true; goto CFG_49092; CFG_45343: assume true; call routine_#33745_luaE_freeCI(local_#3805_L); goto CFG_39814; CFG_39814: assume true; goto CFG_49092; CFG_49092: assume true; local_#8809 := 999995; local_#8810 := (if local_#31220_inuse <= local_#8809 then 1 else 0); if (local_#8810 != 0) { goto CFG_49093; } else { goto CFG_39815; } CFG_49093: assume true; local_#8811 := (if local_#31219_goodsize < _memory[{ base : local_#3805_L!base, offset : local_#3805_L!offset + 184 }] then 1 else 0); if (local_#8811 != 0) { goto CFG_45344; } else { goto CFG_39815; } CFG_39815: assume true; local_#8812 := 0; local_#8813 := 0; assert { :LIR "60178" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39085; CFG_45344: assume true; call routine_#33741_luaD_reallocstack(local_#3805_L,local_#31219_goodsize); goto CFG_39816; CFG_39816: assume true; goto CFG_39085; CFG_39085: assume true; goto CFG_37161; CFG_37161: assume true; } procedure routine_#33743_luaD_throw(local_#3806_L_IN : { base : int, offset : int }, local_#3807_errcode_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3806_L : { base : int, offset : int }; var local_#3807_errcode : int; var local_#8814 : { base : int, offset : int }; var local_#31221_g : { base : int, offset : int }; var local_#8815 : int; var local_#8816 : { base : int, offset : int }; var local_#8817 : { base : int, offset : int }; var local_#8818 : { base : int, offset : int }; var local_#8819 : { base : int, offset : int }; var local_#8820 : { base : int, offset : int }; var local_#8821 : int; var local_#8822 : { base : int, offset : int }; var local_#8823 : int; var local_#8824 : int; var local_#8825 : { base : int, offset : int }; var local_#8826 : int; var local_#8827 : { base : int, offset : int }; var local_#8828 : { base : int, offset : int }; var local_#8829 : int; var local_#31222_io1 : { base : int, offset : int }; var local_#8830 : int; var local_#8831 : { base : int, offset : int }; var local_#8832 : int; var local_#8833 : int; var local_#8834 : int; var local_#8835 : { base : int, offset : int }; var local_#8836 : { base : int, offset : int }; var local_#8837 : { base : int, offset : int }; var local_#8838 : { base : int, offset : int }; var local_#8839 : { base : int, offset : int }; var local_#8840 : int; local_#3806_L := local_#3806_L_IN; local_#3807_errcode := local_#3807_errcode_IN; goto CFG_36251; CFG_36251: assume true; goto CFG_49094; CFG_49094: assume true; local_#8814 := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 88 }]; if (local_#8814 != { base : 0, offset : 0 }) { goto CFG_42029; } else { goto CFG_49095; } CFG_49095: assume true; local_#31221_g := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 24 }]; local_#8815 := ~uwrap8(local_#3807_errcode); assert { :LIR "60179" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 12 }] := local_#8815; local_#8816 := _memory_ptr[{ base : local_#31221_g!base, offset : local_#31221_g!offset + 200 }]; local_#8817 := _memory_ptr[{ base : local_#8816!base, offset : local_#8816!offset + 88 }]; if (local_#8817 != { base : 0, offset : 0 }) { goto CFG_42028; } else { goto CFG_49096; } CFG_49096: assume true; local_#8818 := _memory_ptr[{ base : local_#31221_g!base, offset : local_#31221_g!offset + 192 }]; if (local_#8818 != { base : 0, offset : 0 }) { goto CFG_42026; } else { goto CFG_45347; } CFG_42026: assume true; local_#8819 := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 16 }]; goto CFG_45345; CFG_45345: assume true; call routine_#35058_seterrorobj(local_#3806_L,local_#3807_errcode,local_#8819); goto CFG_49097; CFG_49097: assume true; local_#8820 := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 32 }]; local_#8821 := (if _memory_ptr[{ base : local_#8820!base, offset : local_#8820!offset + 8 }]!offset < _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 16 }]!offset then 1 else 0); if (local_#8821 != 0) { goto CFG_39817; } else { goto CFG_42027; } CFG_39817: assume true; local_#8822 := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 32 }]; _memory_ptr[{ base : local_#8822!base, offset : local_#8822!offset + 8 }] := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 16 }]; goto CFG_42027; CFG_42027: assume true; local_#8823 := 0; local_#8824 := 0; assert { :LIR "60180" } { :check "overflow" } { :finding_ids "0" } true; local_#8825 := _memory_ptr[{ base : local_#31221_g!base, offset : local_#31221_g!offset + 192 }]; goto CFG_45346; CFG_45346: assume true; assume false; goto CFG_39818; CFG_39818: assume true; goto CFG_45347; CFG_45347: assume true; call routine_#33436_abort(); CFG_42028: assume true; local_#8827 := _memory_ptr[{ base : local_#31221_g!base, offset : local_#31221_g!offset + 200 }]; local_#8828 := _memory_ptr[{ base : local_#8827!base, offset : local_#8827!offset + 16 }]; local_#8829 := 1; _memory_ptr[{ base : local_#8827!base, offset : local_#8827!offset + 16 }] := { base : local_#8828!base, offset : local_#8828!offset + local_#8829 * 16 }; local_#31222_io1 := local_#8828; local_#8830 := 1; local_#8831 := { base : _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 16 }]!offset - local_#8830 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#8831)!_value_!_b == _memory[{ base : local_#8831!base, offset : local_#8831!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8831)!_value_!_f == _memory_ptr[{ base : local_#8831!base, offset : local_#8831!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8831)!_value_!_gc == _memory_ptr[{ base : local_#8831!base, offset : local_#8831!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8831)!_value_!_i == _memory[{ base : local_#8831!base, offset : local_#8831!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#8831)!_value_!_p == _memory_ptr[{ base : local_#8831!base, offset : local_#8831!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8831)!_tt_ == _memory[{ base : local_#8831!base, offset : local_#8831!offset + 8 }]; call write_type_#101(local_#31222_io1,read_type_#101(_memory, _memory_ptr, local_#8831)); local_#8832 := 0; assert { :LIR "60181" } { :check "overflow" } { :finding_ids "0" } true; local_#8833 := 0; local_#8834 := 0; assert { :LIR "60182" } { :check "overflow" } { :finding_ids "0" } true; local_#8835 := _memory_ptr[{ base : local_#31221_g!base, offset : local_#31221_g!offset + 200 }]; goto CFG_45348; CFG_45348: assume true; call routine_#33743_luaD_throw(local_#8835,local_#3807_errcode); CFG_42029: assume true; local_#8836 := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 88 }]; _memory[{ base : local_#8836!base, offset : local_#8836!offset + 208 }] := local_#3807_errcode; local_#8837 := _memory_ptr[{ base : local_#3806_L!base, offset : local_#3806_L!offset + 88 }]; local_#8838 := { base : local_#8837!base, offset : local_#8837!offset + 8 }; local_#8839 := { base : local_#8838!base, offset : local_#8838!offset + 0 * 200 }; local_#8840 := 1; goto CFG_45349; CFG_45349: assume true; call routine_#33431__longjmp(local_#8839,local_#8840); CFG_39086: assume true; goto CFG_37162; CFG_37162: assume true; } procedure routine_#33744_luaE_extendCI(local_#3808_L_IN : { base : int, offset : int }) returns (local_#7764 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3808_L : { base : int, offset : int }; var local_#8841 : { base : int, offset : int }; var local_#8842 : int; var local_#8843 : int; var local_#8844 : { base : int, offset : int }; var local_#8845 : { base : int, offset : int }; var local_#31223_ci : { base : int, offset : int }; var local_#8846 : int; var local_#8847 : int; var local_#8848 : { base : int, offset : int }; var local_#8849 : int; var local_#8850 : int; var local_#8851 : int; local_#3808_L := local_#3808_L_IN; goto CFG_36252; CFG_36252: assume true; goto CFG_42030; CFG_42030: assume true; local_#8841 := { base : 0, offset : 0 }; local_#8842 := 0; local_#8843 := 72; goto CFG_45350; CFG_45350: assume true; call local_#8844 := routine_#33857_luaM_realloc_(local_#3808_L,local_#8841,local_#8842,local_#8843); goto CFG_38058; CFG_38058: assume true; local_#8845 := local_#8844; assert { :LIR "60183" } { :check "overflow" } { :finding_ids "0" } true; local_#31223_ci := local_#8845; local_#8846 := 0; local_#8847 := 0; assert { :LIR "60184" } { :check "overflow" } { :finding_ids "0" } true; local_#8848 := _memory_ptr[{ base : local_#3808_L!base, offset : local_#3808_L!offset + 32 }]; _memory_ptr[{ base : local_#8848!base, offset : local_#8848!offset + 24 }] := local_#31223_ci; _memory_ptr[{ base : local_#31223_ci!base, offset : local_#31223_ci!offset + 16 }] := _memory_ptr[{ base : local_#3808_L!base, offset : local_#3808_L!offset + 32 }]; _memory_ptr[{ base : local_#31223_ci!base, offset : local_#31223_ci!offset + 24 }] := { base : 0, offset : 0 }; local_#8849 := _memory[{ base : local_#3808_L!base, offset : local_#3808_L!offset + 10 }]; local_#8850 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3808_L!base, offset : local_#3808_L!offset + 10 }] := ~uwrap16(local_#8849 + local_#8850); assert { :LIR "66374" } { :check "overflow" } { :finding_ids "0" } true; local_#8851 := local_#8849; local_#7764 := local_#31223_ci; goto CFG_37163; CFG_37163: assume true; } procedure routine_#33745_luaE_freeCI(local_#3809_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3809_L : { base : int, offset : int }; var local_#31224_ci : { base : int, offset : int }; var local_#31225_next : { base : int, offset : int }; var local_#8852 : { base : int, offset : int }; var local_#8853 : int; var local_#8854 : { base : int, offset : int }; var local_#8855 : int; var local_#8856 : int; var local_#8857 : { base : int, offset : int }; var local_#8858 : int; var local_#8859 : int; var local_#8860 : int; local_#3809_L := local_#3809_L_IN; goto CFG_36253; CFG_36253: assume true; goto CFG_41620; CFG_41620: assume true; local_#31224_ci := _memory_ptr[{ base : local_#3809_L!base, offset : local_#3809_L!offset + 32 }]; local_#31225_next := _memory_ptr[{ base : local_#31224_ci!base, offset : local_#31224_ci!offset + 24 }]; _memory_ptr[{ base : local_#31224_ci!base, offset : local_#31224_ci!offset + 24 }] := { base : 0, offset : 0 }; goto CFG_49098; CFG_49098: assume true; local_#31224_ci := local_#31225_next; local_#8852 := { base : 0, offset : 0 }; local_#8853 := (if local_#31224_ci != local_#8852 then 1 else 0); if (local_#8853 != 0) { goto CFG_42031; } else { goto CFG_39087; } CFG_39087: assume true; goto CFG_37164; CFG_42031: assume true; local_#31225_next := _memory_ptr[{ base : local_#31224_ci!base, offset : local_#31224_ci!offset + 24 }]; local_#8854 := local_#31224_ci; assert { :LIR "62174" } { :check "overflow" } { :finding_ids "0" } true; local_#8855 := 72; local_#8856 := 0; goto CFG_45351; CFG_45351: assume true; call local_#8857 := routine_#33857_luaM_realloc_(local_#3809_L,local_#8854,local_#8855,local_#8856); goto CFG_44961; CFG_44961: assume true; local_#8858 := _memory[{ base : local_#3809_L!base, offset : local_#3809_L!offset + 10 }]; local_#8859 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3809_L!base, offset : local_#3809_L!offset + 10 }] := ~uwrap16(local_#8858 - local_#8859); assert { :LIR "67859" } { :check "overflow" } { :finding_ids "0" } true; local_#8860 := local_#8858; goto CFG_49098; CFG_37164: assume true; } procedure routine_#33746_luaE_freethread(local_#3810_L_IN : { base : int, offset : int }, local_#3811_L1_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3810_L : { base : int, offset : int }; var local_#3811_L1 : { base : int, offset : int }; var local_#8861 : { base : int, offset : int }; var local_#8862 : int; var local_#8863 : { base : int, offset : int }; var local_#8864 : { base : int, offset : int }; var local_#31226_l : { base : int, offset : int }; var local_#8865 : { base : int, offset : int }; var local_#8866 : int; var local_#8867 : int; var local_#8868 : int; var local_#8869 : { base : int, offset : int }; var local_#8870 : int; var local_#8871 : int; var local_#8872 : { base : int, offset : int }; local_#3810_L := local_#3810_L_IN; local_#3811_L1 := local_#3811_L1_IN; goto CFG_36254; CFG_36254: assume true; goto CFG_42032; CFG_42032: assume true; local_#8861 := local_#3811_L1; assert { :LIR "60185" } { :check "overflow" } { :finding_ids "0" } true; local_#8862 := 8; local_#8863 := { base : local_#8861!base, offset : local_#8861!offset - local_#8862 * 1 }; local_#8864 := local_#8863; assert { :LIR "60186" } { :check "overflow" } { :finding_ids "0" } true; local_#31226_l := local_#8864; local_#8865 := _memory_ptr[{ base : local_#3811_L1!base, offset : local_#3811_L1!offset + 56 }]; goto CFG_45352; CFG_45352: assume true; call routine_#33749_luaF_close(local_#3811_L1,local_#8865); goto CFG_42033; CFG_42033: assume true; local_#8866 := 0; local_#8867 := 0; assert { :LIR "60187" } { :check "overflow" } { :finding_ids "0" } true; local_#8868 := 0; assert { :LIR "60188" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45353; CFG_45353: assume true; call routine_#34764_freestack(local_#3811_L1); goto CFG_42034; CFG_42034: assume true; local_#8869 := local_#31226_l; assert { :LIR "62175" } { :check "overflow" } { :finding_ids "0" } true; local_#8870 := 216; local_#8871 := 0; goto CFG_45354; CFG_45354: assume true; call local_#8872 := routine_#33857_luaM_realloc_(local_#3810_L,local_#8869,local_#8870,local_#8871); goto CFG_39088; CFG_39088: assume true; goto CFG_37165; CFG_37165: assume true; } procedure routine_#33747_luaE_setdebt(local_#3812_g_IN : { base : int, offset : int }, local_#3813_debt_IN : int) returns () modifies _memory; { var local_#3812_g : { base : int, offset : int }; var local_#3813_debt : int; var local_#8873 : int; var local_#8874 : int; var local_#8875 : int; var local_#31227_tb : int; var local_#8876 : int; var local_#8877 : int; var local_#8878 : int; var local_#8879 : int; var local_#8880 : int; var local_#8881 : int; var local_#8882 : int; var local_#8883 : int; local_#3812_g := local_#3812_g_IN; local_#3813_debt := local_#3813_debt_IN; goto CFG_36255; CFG_36255: assume true; goto CFG_49099; CFG_49099: assume true; local_#8873 := _memory[{ base : local_#3812_g!base, offset : local_#3812_g!offset + 16 }] + _memory[{ base : local_#3812_g!base, offset : local_#3812_g!offset + 24 }]; assert { :LIR "66375" } { :check "overflow" } { :finding_ids "0" } local_#8873 <= 9223372036854775807; local_#8874 := ~uwrap64(local_#8873); assert { :LIR "60189" } { :check "overflow" } { :finding_ids "0" } true; local_#8875 := local_#8874; assert { :LIR "62176" } { :check "overflow" } { :finding_ids "0" } local_#8875 <= 9223372036854775807; local_#31227_tb := local_#8875; local_#8876 := 0; local_#8877 := 0; assert { :LIR "60190" } { :check "overflow" } { :finding_ids "0" } true; local_#8878 := 9223372036854775807; local_#8879 := local_#31227_tb - local_#8878; assert { :LIR "67860" } { :check "overflow" } { :finding_ids "0" } local_#8879 <= 9223372036854775807; local_#8880 := (if local_#3813_debt < local_#8879 then 1 else 0); if (local_#8880 != 0) { goto CFG_39819; } else { goto CFG_39089; } CFG_39819: assume true; local_#8881 := 9223372036854775807; local_#8882 := local_#31227_tb - local_#8881; assert { :LIR "67861" } { :check "overflow" } { :finding_ids "0" } local_#8882 <= 9223372036854775807; local_#3813_debt := local_#8882; goto CFG_39089; CFG_39089: assume true; local_#8883 := local_#31227_tb - local_#3813_debt; assert { :LIR "67862" } { :check "overflow" } { :finding_ids "0" } local_#8883 <= 9223372036854775807; _memory[{ base : local_#3812_g!base, offset : local_#3812_g!offset + 16 }] := local_#8883; _memory[{ base : local_#3812_g!base, offset : local_#3812_g!offset + 24 }] := local_#3813_debt; goto CFG_37166; CFG_37166: assume true; } procedure routine_#33748_luaE_shrinkCI(local_#3814_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3814_L : { base : int, offset : int }; var local_#31228_ci : { base : int, offset : int }; var local_#8884 : { base : int, offset : int }; var local_#8885 : int; var local_#8886 : { base : int, offset : int }; var local_#31229_next2 : { base : int, offset : int }; var local_#8887 : { base : int, offset : int }; var local_#8888 : int; var local_#8889 : { base : int, offset : int }; var local_#8890 : int; var local_#8891 : int; var local_#8892 : { base : int, offset : int }; var local_#8893 : int; var local_#8894 : int; var local_#8895 : int; local_#3814_L := local_#3814_L_IN; goto CFG_36256; CFG_36256: assume true; goto CFG_41621; CFG_41621: assume true; local_#31228_ci := _memory_ptr[{ base : local_#3814_L!base, offset : local_#3814_L!offset + 32 }]; goto CFG_49100; CFG_49100: assume true; local_#8884 := { base : 0, offset : 0 }; local_#8885 := (if _memory_ptr[{ base : local_#31228_ci!base, offset : local_#31228_ci!offset + 24 }] != local_#8884 then 1 else 0); if (local_#8885 != 0) { goto CFG_49101; } else { goto CFG_39090; } CFG_49101: assume true; local_#8886 := _memory_ptr[{ base : local_#31228_ci!base, offset : local_#31228_ci!offset + 24 }]; local_#31229_next2 := _memory_ptr[{ base : local_#8886!base, offset : local_#8886!offset + 24 }]; local_#8887 := { base : 0, offset : 0 }; local_#8888 := (if local_#31229_next2 != local_#8887 then 1 else 0); if (local_#8888 != 0) { goto CFG_42035; } else { goto CFG_39090; } CFG_39090: assume true; goto CFG_37167; CFG_42035: assume true; local_#8889 := _memory_ptr[{ base : local_#31228_ci!base, offset : local_#31228_ci!offset + 24 }]; assert { :LIR "62177" } { :check "overflow" } { :finding_ids "0" } true; local_#8890 := 72; local_#8891 := 0; goto CFG_45355; CFG_45355: assume true; call local_#8892 := routine_#33857_luaM_realloc_(local_#3814_L,local_#8889,local_#8890,local_#8891); goto CFG_44962; CFG_44962: assume true; local_#8893 := _memory[{ base : local_#3814_L!base, offset : local_#3814_L!offset + 10 }]; local_#8894 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#3814_L!base, offset : local_#3814_L!offset + 10 }] := ~uwrap16(local_#8893 - local_#8894); assert { :LIR "67863" } { :check "overflow" } { :finding_ids "0" } true; local_#8895 := local_#8893; _memory_ptr[{ base : local_#31228_ci!base, offset : local_#31228_ci!offset + 24 }] := local_#31229_next2; _memory_ptr[{ base : local_#31229_next2!base, offset : local_#31229_next2!offset + 16 }] := local_#31228_ci; local_#31228_ci := local_#31229_next2; goto CFG_49100; CFG_37167: assume true; } procedure routine_#33749_luaF_close(local_#3815_L_IN : { base : int, offset : int }, local_#3816_level_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3815_L : { base : int, offset : int }; var local_#3816_level : { base : int, offset : int }; var local_#8896 : { base : int, offset : int }; var local_#8897 : int; var local_#31230_uv : { base : int, offset : int }; var local_#8898 : int; var local_#8899 : int; var local_#8900 : int; var local_#8901 : { base : int, offset : int }; var local_#8902 : int; var local_#8903 : int; var local_#8904 : { base : int, offset : int }; var local_#31231_io1 : { base : int, offset : int }; var local_#8905 : { base : int, offset : int }; var local_#8906 : int; var local_#8907 : int; var local_#8908 : int; var local_#8909 : { base : int, offset : int }; var local_#8910 : { base : int, offset : int }; var local_#8911 : int; var local_#8912 : int; var local_#8913 : { base : int, offset : int }; var local_#8914 : int; var local_#8915 : int; var local_#8916 : int; var local_#8917 : int; var local_#8918 : { base : int, offset : int }; var local_#8919 : int; var local_#8920 : int; var local_#8921 : { base : int, offset : int }; local_#3815_L := local_#3815_L_IN; local_#3816_level := local_#3816_level_IN; goto CFG_36257; CFG_36257: assume true; goto CFG_41622; CFG_41622: assume true; goto CFG_49102; CFG_49102: assume true; local_#8896 := { base : 0, offset : 0 }; local_#8897 := (if _memory_ptr[{ base : local_#3815_L!base, offset : local_#3815_L!offset + 64 }] != local_#8896 then 1 else 0); if (local_#8897 != 0) { goto CFG_49103; } else { goto CFG_39091; } CFG_49103: assume true; local_#31230_uv := _memory_ptr[{ base : local_#3815_L!base, offset : local_#3815_L!offset + 64 }]; local_#8898 := (if _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }]!offset >= local_#3816_level!offset then 1 else 0); if (local_#8898 != 0) { goto CFG_49104; } else { goto CFG_39091; } CFG_39091: assume true; goto CFG_37168; CFG_49104: assume true; local_#8899 := 0; local_#8900 := 0; assert { :LIR "60191" } { :check "overflow" } { :finding_ids "0" } true; local_#8901 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; _memory_ptr[{ base : local_#3815_L!base, offset : local_#3815_L!offset + 64 }] := _memory_ptr[{ base : local_#8901!base, offset : local_#8901!offset + 0 }]; local_#8902 := 0; local_#8903 := (if _memory[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 8 }] == local_#8902 then 1 else 0); if (local_#8903 != 0) { goto CFG_42036; } else { goto CFG_49105; } CFG_49105: assume true; local_#8904 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; local_#31231_io1 := local_#8904; local_#8905 := _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }]; assume read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_b == _memory[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_f == _memory_ptr[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_gc == _memory_ptr[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_i == _memory[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#8905)!_value_!_p == _memory_ptr[{ base : local_#8905!base, offset : local_#8905!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#8905)!_tt_ == _memory[{ base : local_#8905!base, offset : local_#8905!offset + 8 }]; call write_type_#101(local_#31231_io1,read_type_#101(_memory, _memory_ptr, local_#8905)); local_#8906 := 0; assert { :LIR "60192" } { :check "overflow" } { :finding_ids "0" } true; local_#8907 := 0; local_#8908 := 0; assert { :LIR "60193" } { :check "overflow" } { :finding_ids "0" } true; local_#8909 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }] := local_#8909; local_#8910 := _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }]; local_#8911 := 64; local_#8912 := ~sand32(_memory[{ base : local_#8910!base, offset : local_#8910!offset + 8 }], local_#8911); if (local_#8912 != 0) { goto CFG_49106; } else { goto CFG_39820; } CFG_49106: assume true; local_#8913 := { base : local_#31230_uv!base, offset : local_#31230_uv!offset + 16 }; local_#8914 := (if _memory_ptr[{ base : local_#31230_uv!base, offset : local_#31230_uv!offset + 0 }] != local_#8913 then 1 else 0); local_#8915 := (if local_#8914 != 0 then 0 else 1); if (local_#8915 != 0) { goto CFG_45356; } else { goto CFG_39820; } CFG_39820: assume true; local_#8916 := 0; local_#8917 := 0; assert { :LIR "60194" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39822; CFG_45356: assume true; call routine_#33729_luaC_upvalbarrier_(local_#3815_L,local_#31230_uv); goto CFG_39821; CFG_39821: assume true; goto CFG_39822; CFG_39822: assume true; goto CFG_44963; CFG_42036: assume true; local_#8918 := local_#31230_uv; assert { :LIR "62178" } { :check "overflow" } { :finding_ids "0" } true; local_#8919 := 32; local_#8920 := 0; goto CFG_45357; CFG_45357: assume true; call local_#8921 := routine_#33857_luaM_realloc_(local_#3815_L,local_#8918,local_#8919,local_#8920); goto CFG_39823; CFG_39823: assume true; goto CFG_44963; CFG_44963: assume true; goto CFG_49102; CFG_37168: assume true; } procedure routine_#33750_luaF_findupval(local_#3817_L_IN : { base : int, offset : int }, local_#3818_level_IN : { base : int, offset : int }) returns (local_#7765 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3817_L : { base : int, offset : int }; var local_#3818_level : { base : int, offset : int }; var local_#31233_pp : { base : int, offset : int }; var local_#8922 : int; var local_#8923 : int; var local_#8924 : { base : int, offset : int }; var local_#8925 : int; var local_#31232_p : { base : int, offset : int }; var local_#8926 : int; var local_#8927 : { base : int, offset : int }; var local_#8928 : int; var local_#8929 : int; var local_#8930 : { base : int, offset : int }; var local_#8931 : { base : int, offset : int }; var local_#31234_uv : { base : int, offset : int }; var local_#8932 : { base : int, offset : int }; var local_#8933 : int; var local_#8934 : { base : int, offset : int }; var local_#8935 : int; var local_#8936 : int; var local_#8937 : { base : int, offset : int }; var local_#8938 : { base : int, offset : int }; var local_#8939 : int; var local_#8940 : int; var local_#8941 : int; var local_#8942 : { base : int, offset : int }; local_#3817_L := local_#3817_L_IN; local_#3818_level := local_#3818_level_IN; goto CFG_36258; CFG_36258: assume true; goto CFG_41623; CFG_41623: assume true; local_#31233_pp := { base : local_#3817_L!base, offset : local_#3817_L!offset + 64 }; local_#8922 := 0; local_#8923 := 0; assert { :LIR "60195" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49107; CFG_49107: assume true; local_#8924 := { base : 0, offset : 0 }; local_#8925 := (if _memory_ptr[local_#31233_pp] != local_#8924 then 1 else 0); if (local_#8925 != 0) { goto CFG_49108; } else { goto CFG_42037; } CFG_49108: assume true; local_#31232_p := _memory_ptr[local_#31233_pp]; local_#8926 := (if _memory_ptr[{ base : local_#31232_p!base, offset : local_#31232_p!offset + 0 }]!offset >= local_#3818_level!offset then 1 else 0); if (local_#8926 != 0) { goto CFG_49110; } else { goto CFG_42037; } CFG_42037: assume true; local_#8927 := { base : 0, offset : 0 }; local_#8928 := 0; local_#8929 := 32; goto CFG_45358; CFG_45358: assume true; call local_#8930 := routine_#33857_luaM_realloc_(local_#3817_L,local_#8927,local_#8928,local_#8929); goto CFG_49109; CFG_49109: assume true; local_#8931 := local_#8930; assert { :LIR "60196" } { :check "overflow" } { :finding_ids "0" } true; local_#31234_uv := local_#8931; _memory[{ base : local_#31234_uv!base, offset : local_#31234_uv!offset + 8 }] := 0; local_#8932 := { base : local_#31234_uv!base, offset : local_#31234_uv!offset + 16 }; _memory_ptr[{ base : local_#8932!base, offset : local_#8932!offset + 0 }] := _memory_ptr[local_#31233_pp]; local_#8933 := 1; local_#8934 := { base : local_#31234_uv!base, offset : local_#31234_uv!offset + 16 }; _memory[{ base : local_#8934!base, offset : local_#8934!offset + 8 }] := local_#8933; _memory_ptr[local_#31233_pp] := local_#31234_uv; _memory_ptr[{ base : local_#31234_uv!base, offset : local_#31234_uv!offset + 0 }] := local_#3818_level; local_#8935 := (if _memory_ptr[{ base : local_#3817_L!base, offset : local_#3817_L!offset + 80 }] != local_#3817_L then 1 else 0); local_#8936 := (if local_#8935 != 0 then 0 else 1); if (local_#8936 != 0) { goto CFG_39824; } else { goto CFG_38059; } CFG_39824: assume true; local_#8937 := _memory_ptr[{ base : local_#3817_L!base, offset : local_#3817_L!offset + 24 }]; _memory_ptr[{ base : local_#3817_L!base, offset : local_#3817_L!offset + 80 }] := _memory_ptr[{ base : local_#8937!base, offset : local_#8937!offset + 168 }]; local_#8938 := _memory_ptr[{ base : local_#3817_L!base, offset : local_#3817_L!offset + 24 }]; _memory_ptr[{ base : local_#8938!base, offset : local_#8938!offset + 168 }] := local_#3817_L; goto CFG_38059; CFG_38059: assume true; local_#7765 := local_#31234_uv; goto CFG_37169; CFG_49110: assume true; local_#8939 := 0; local_#8940 := 0; assert { :LIR "60197" } { :check "overflow" } { :finding_ids "0" } true; local_#8941 := (if _memory_ptr[{ base : local_#31232_p!base, offset : local_#31232_p!offset + 0 }] == local_#3818_level then 1 else 0); if (local_#8941 != 0) { goto CFG_38060; } else { goto CFG_44964; } CFG_44964: assume true; local_#8942 := { base : local_#31232_p!base, offset : local_#31232_p!offset + 16 }; local_#31233_pp := { base : local_#8942!base, offset : local_#8942!offset + 0 }; goto CFG_49107; CFG_38060: assume true; local_#7765 := local_#31232_p; goto CFG_37169; CFG_37169: assume true; } procedure routine_#33751_luaF_freeproto(local_#3819_L_IN : { base : int, offset : int }, local_#3820_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3819_L : { base : int, offset : int }; var local_#3820_f : { base : int, offset : int }; var local_#8943 : { base : int, offset : int }; var local_#8944 : int; var local_#8945 : int; var local_#8946 : int; var local_#8947 : int; var local_#8948 : { base : int, offset : int }; var local_#8949 : { base : int, offset : int }; var local_#8950 : int; var local_#8951 : int; var local_#8952 : int; var local_#8953 : int; var local_#8954 : { base : int, offset : int }; var local_#8955 : { base : int, offset : int }; var local_#8956 : int; var local_#8957 : int; var local_#8958 : int; var local_#8959 : int; var local_#8960 : { base : int, offset : int }; var local_#8961 : { base : int, offset : int }; var local_#8962 : int; var local_#8963 : int; var local_#8964 : int; var local_#8965 : int; var local_#8966 : { base : int, offset : int }; var local_#8967 : { base : int, offset : int }; var local_#8968 : int; var local_#8969 : int; var local_#8970 : int; var local_#8971 : int; var local_#8972 : { base : int, offset : int }; var local_#8973 : { base : int, offset : int }; var local_#8974 : int; var local_#8975 : int; var local_#8976 : int; var local_#8977 : int; var local_#8978 : { base : int, offset : int }; var local_#8979 : { base : int, offset : int }; var local_#8980 : int; var local_#8981 : int; var local_#8982 : { base : int, offset : int }; local_#3819_L := local_#3819_L_IN; local_#3820_f := local_#3820_f_IN; goto CFG_36259; CFG_36259: assume true; goto CFG_42038; CFG_42038: assume true; local_#8943 := _memory_ptr[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 56 }]; assert { :LIR "62179" } { :check "overflow" } { :finding_ids "0" } true; local_#8944 := ~uwrap64(_memory[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 24 }]); assert { :LIR "62180" } { :check "overflow" } { :finding_ids "0" } true; local_#8945 := 4; assume { :symbol "~uwrap64" } true; local_#8946 := ~uwrap64(local_#8944 * local_#8945); assert { :LIR "68499" } { :check "overflow" } { :finding_ids "0" } true; local_#8947 := 0; goto CFG_45359; CFG_45359: assume true; call local_#8948 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8943,local_#8946,local_#8947); goto CFG_42039; CFG_42039: assume true; local_#8949 := _memory_ptr[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 64 }]; assert { :LIR "62181" } { :check "overflow" } { :finding_ids "0" } true; local_#8950 := ~uwrap64(_memory[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 32 }]); assert { :LIR "62182" } { :check "overflow" } { :finding_ids "0" } true; local_#8951 := 8; assume { :symbol "~uwrap64" } true; local_#8952 := ~uwrap64(local_#8950 * local_#8951); assert { :LIR "68500" } { :check "overflow" } { :finding_ids "0" } true; local_#8953 := 0; goto CFG_45360; CFG_45360: assume true; call local_#8954 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8949,local_#8952,local_#8953); goto CFG_42040; CFG_42040: assume true; local_#8955 := _memory_ptr[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 48 }]; assert { :LIR "62183" } { :check "overflow" } { :finding_ids "0" } true; local_#8956 := ~uwrap64(_memory[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 20 }]); assert { :LIR "62184" } { :check "overflow" } { :finding_ids "0" } true; local_#8957 := 16; assume { :symbol "~uwrap64" } true; local_#8958 := ~uwrap64(local_#8956 * local_#8957); assert { :LIR "68501" } { :check "overflow" } { :finding_ids "0" } true; local_#8959 := 0; goto CFG_45361; CFG_45361: assume true; call local_#8960 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8955,local_#8958,local_#8959); goto CFG_42041; CFG_42041: assume true; local_#8961 := _memory_ptr[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 72 }]; assert { :LIR "62185" } { :check "overflow" } { :finding_ids "0" } true; local_#8962 := ~uwrap64(_memory[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 28 }]); assert { :LIR "62186" } { :check "overflow" } { :finding_ids "0" } true; local_#8963 := 4; assume { :symbol "~uwrap64" } true; local_#8964 := ~uwrap64(local_#8962 * local_#8963); assert { :LIR "68502" } { :check "overflow" } { :finding_ids "0" } true; local_#8965 := 0; goto CFG_45362; CFG_45362: assume true; call local_#8966 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8961,local_#8964,local_#8965); goto CFG_42042; CFG_42042: assume true; local_#8967 := _memory_ptr[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 80 }]; assert { :LIR "62187" } { :check "overflow" } { :finding_ids "0" } true; local_#8968 := ~uwrap64(_memory[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 36 }]); assert { :LIR "62188" } { :check "overflow" } { :finding_ids "0" } true; local_#8969 := 16; assume { :symbol "~uwrap64" } true; local_#8970 := ~uwrap64(local_#8968 * local_#8969); assert { :LIR "68503" } { :check "overflow" } { :finding_ids "0" } true; local_#8971 := 0; goto CFG_45363; CFG_45363: assume true; call local_#8972 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8967,local_#8970,local_#8971); goto CFG_42043; CFG_42043: assume true; local_#8973 := _memory_ptr[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 88 }]; assert { :LIR "62189" } { :check "overflow" } { :finding_ids "0" } true; local_#8974 := ~uwrap64(_memory[{ base : local_#3820_f!base, offset : local_#3820_f!offset + 16 }]); assert { :LIR "62190" } { :check "overflow" } { :finding_ids "0" } true; local_#8975 := 16; assume { :symbol "~uwrap64" } true; local_#8976 := ~uwrap64(local_#8974 * local_#8975); assert { :LIR "68504" } { :check "overflow" } { :finding_ids "0" } true; local_#8977 := 0; goto CFG_45364; CFG_45364: assume true; call local_#8978 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8973,local_#8976,local_#8977); goto CFG_42044; CFG_42044: assume true; local_#8979 := local_#3820_f; assert { :LIR "62191" } { :check "overflow" } { :finding_ids "0" } true; local_#8980 := 120; local_#8981 := 0; goto CFG_45365; CFG_45365: assume true; call local_#8982 := routine_#33857_luaM_realloc_(local_#3819_L,local_#8979,local_#8980,local_#8981); goto CFG_39092; CFG_39092: assume true; goto CFG_37170; CFG_37170: assume true; } procedure routine_#33752_luaF_getlocalname(local_#3821_f_IN : { base : int, offset : int }, local_#3822_local_number_IN : int, local_#3823_pc_IN : int) returns (local_#7766 : { base : int, offset : int }) { var local_#3821_f : { base : int, offset : int }; var local_#3822_local_number : int; var local_#3823_pc : int; var local_#31235_i : int; var local_#8983 : int; var local_#8984 : { base : int, offset : int }; var local_#8985 : int; var local_#8986 : { base : int, offset : int }; var local_#8987 : int; var local_#8988 : int; var local_#8989 : int; var local_#8990 : int; var local_#8991 : int; var local_#8992 : int; var local_#8993 : int; var local_#8994 : int; var local_#8995 : int; var local_#8996 : { base : int, offset : int }; var local_#8997 : { base : int, offset : int }; var local_#8998 : int; var local_#8999 : { base : int, offset : int }; var local_#9000 : { base : int, offset : int }; local_#3821_f := local_#3821_f_IN; local_#3822_local_number := local_#3822_local_number_IN; local_#3823_pc := local_#3823_pc_IN; goto CFG_36260; CFG_36260: assume true; goto CFG_41624; CFG_41624: assume true; local_#31235_i := 0; goto CFG_49111; CFG_49111: assume true; local_#8983 := (if local_#31235_i < _memory[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 36 }] then 1 else 0); if (local_#8983 != 0) { goto CFG_49112; } else { goto CFG_38061; } CFG_49112: assume true; local_#8984 := { base : _memory_ptr[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 80 }]!offset + local_#31235_i * 16 }; local_#8985 := (if _memory[{ base : local_#8984!base, offset : local_#8984!offset + 8 }] <= local_#3823_pc then 1 else 0); if (local_#8985 != 0) { goto CFG_49113; } else { goto CFG_38061; } CFG_38061: assume true; local_#7766 := { base : 0, offset : 0 }; goto CFG_37171; CFG_49113: assume true; local_#8986 := { base : _memory_ptr[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 80 }]!offset + local_#31235_i * 16 }; local_#8987 := (if local_#3823_pc < _memory[{ base : local_#8986!base, offset : local_#8986!offset + 12 }] then 1 else 0); if (local_#8987 != 0) { goto CFG_49114; } else { goto CFG_44965; } CFG_49114: assume true; local_#8988 := local_#3822_local_number; local_#8989 := 1; local_#3822_local_number := local_#8988 - local_#8989; assert { :LIR "67864" } { :check "overflow" } { :finding_ids "0" } local_#3822_local_number <= 2147483647; local_#8990 := local_#8988; local_#8991 := 0; local_#8992 := (if local_#3822_local_number == local_#8991 then 1 else 0); if (local_#8992 != 0) { goto CFG_38062; } else { goto CFG_39825; } CFG_39825: assume true; goto CFG_44965; CFG_44965: assume true; local_#8993 := local_#31235_i; local_#8994 := 1; local_#31235_i := local_#8993 + local_#8994; assert { :LIR "66376" } { :check "overflow" } { :finding_ids "0" } local_#31235_i <= 2147483647; local_#8995 := local_#8993; goto CFG_49111; CFG_38062: assume true; local_#8996 := { base : _memory_ptr[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#3821_f!base, offset : local_#3821_f!offset + 80 }]!offset + local_#31235_i * 16 }; local_#8997 := _memory_ptr[{ base : local_#8996!base, offset : local_#8996!offset + 0 }]; assert { :LIR "60198" } { :check "overflow" } { :finding_ids "0" } true; local_#8998 := 24; local_#8999 := { base : local_#8997!base, offset : local_#8997!offset + local_#8998 * 1 }; local_#9000 := local_#8999; assert { :LIR "62192" } { :check "overflow" } { :finding_ids "0" } true; local_#7766 := local_#9000; goto CFG_37171; CFG_37171: assume true; } procedure routine_#33753_luaF_initupvals(local_#3824_L_IN : { base : int, offset : int }, local_#3825_cl_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3824_L : { base : int, offset : int }; var local_#3825_cl : { base : int, offset : int }; var local_#31236_i : int; var local_#9001 : int; var local_#9002 : int; var local_#9003 : { base : int, offset : int }; var local_#9004 : int; var local_#9005 : int; var local_#9006 : { base : int, offset : int }; var local_#9007 : { base : int, offset : int }; var local_#31237_uv : { base : int, offset : int }; var local_#9008 : { base : int, offset : int }; var local_#9009 : int; var local_#9010 : { base : int, offset : int }; var local_#9011 : { base : int, offset : int }; var local_#9012 : { base : int, offset : int }; var local_#9013 : int; var local_#9014 : int; var local_#9015 : int; local_#3824_L := local_#3824_L_IN; local_#3825_cl := local_#3825_cl_IN; goto CFG_36261; CFG_36261: assume true; goto CFG_41625; CFG_41625: assume true; local_#31236_i := 0; goto CFG_49115; CFG_49115: assume true; local_#9001 := _memory[{ base : local_#3825_cl!base, offset : local_#3825_cl!offset + 10 }]; assert { :LIR "62193" } { :check "overflow" } { :finding_ids "0" } local_#9001 <= 2147483647; local_#9002 := (if local_#31236_i < local_#9001 then 1 else 0); if (local_#9002 != 0) { goto CFG_42045; } else { goto CFG_39093; } CFG_39093: assume true; goto CFG_37172; CFG_42045: assume true; local_#9003 := { base : 0, offset : 0 }; local_#9004 := 0; local_#9005 := 32; goto CFG_45366; CFG_45366: assume true; call local_#9006 := routine_#33857_luaM_realloc_(local_#3824_L,local_#9003,local_#9004,local_#9005); goto CFG_42046; CFG_42046: assume true; local_#9007 := local_#9006; assert { :LIR "60199" } { :check "overflow" } { :finding_ids "0" } true; local_#31237_uv := local_#9007; _memory[{ base : local_#31237_uv!base, offset : local_#31237_uv!offset + 8 }] := 1; local_#9008 := { base : local_#31237_uv!base, offset : local_#31237_uv!offset + 16 }; _memory_ptr[{ base : local_#31237_uv!base, offset : local_#31237_uv!offset + 0 }] := local_#9008; local_#9009 := 0; local_#9010 := _memory_ptr[{ base : local_#31237_uv!base, offset : local_#31237_uv!offset + 0 }]; _memory[{ base : local_#9010!base, offset : local_#9010!offset + 8 }] := local_#9009; local_#9011 := { base : local_#3825_cl!base, offset : local_#3825_cl!offset + 32 }; local_#9012 := { base : local_#9011!base, offset : local_#9011!offset + 0 * 8 + local_#31236_i * 8 }; _memory_ptr[local_#9012] := local_#31237_uv; goto CFG_44966; CFG_44966: assume true; local_#9013 := local_#31236_i; local_#9014 := 1; local_#31236_i := local_#9013 + local_#9014; assert { :LIR "66377" } { :check "overflow" } { :finding_ids "0" } local_#31236_i <= 2147483647; local_#9015 := local_#9013; goto CFG_49115; CFG_37172: assume true; } procedure routine_#33754_luaF_newCclosure(local_#3826_L_IN : { base : int, offset : int }, local_#3827_n_IN : int) returns (local_#7767 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3826_L : { base : int, offset : int }; var local_#3827_n : int; var local_#9016 : int; var local_#9017 : int; var local_#9018 : int; var local_#9019 : int; var local_#9020 : int; var local_#9021 : int; var local_#9022 : int; var local_#9023 : int; var local_#9024 : int; var local_#9025 : int; var local_#9026 : { base : int, offset : int }; var local_#31239_o : { base : int, offset : int }; var local_#9027 : { base : int, offset : int }; var local_#9028 : { base : int, offset : int }; var local_#9029 : { base : int, offset : int }; var local_#31238_c : { base : int, offset : int }; var local_#9030 : int; local_#3826_L := local_#3826_L_IN; local_#3827_n := local_#3827_n_IN; goto CFG_36262; CFG_36262: assume true; goto CFG_42047; CFG_42047: assume true; local_#9016 := 38; local_#9017 := 48; local_#9018 := 16; local_#9019 := 1; local_#9020 := local_#3827_n - local_#9019; assert { :LIR "67865" } { :check "overflow" } { :finding_ids "0" } local_#9020 <= 2147483647; local_#9021 := ~uwrap64(local_#9020); assert { :LIR "62194" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#9022 := ~uwrap64(local_#9018 * local_#9021); assert { :LIR "68505" } { :check "overflow" } { :finding_ids "0" } true; local_#9023 := local_#9022; assert { :LIR "60200" } { :check "overflow" } { :finding_ids "0" } local_#9023 <= 2147483647; local_#9024 := local_#9017 + local_#9023; assert { :LIR "66378" } { :check "overflow" } { :finding_ids "0" } local_#9024 <= 2147483647; local_#9025 := ~uwrap64(local_#9024); assert { :LIR "62195" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45367; CFG_45367: assume true; call local_#9026 := routine_#33726_luaC_newobj(local_#3826_L,local_#9016,local_#9025); goto CFG_38063; CFG_38063: assume true; local_#31239_o := local_#9026; local_#9027 := local_#31239_o; assert { :LIR "60201" } { :check "overflow" } { :finding_ids "0" } true; local_#9028 := { base : local_#9027!base, offset : local_#9027!offset + 0 }; local_#9029 := { base : local_#9028!base, offset : local_#9028!offset + 0 }; local_#31238_c := local_#9029; local_#9030 := ~uwrap8(local_#3827_n); assert { :LIR "60202" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31238_c!base, offset : local_#31238_c!offset + 10 }] := local_#9030; local_#7767 := local_#31238_c; goto CFG_37173; CFG_37173: assume true; } procedure routine_#33755_luaF_newLclosure(local_#3828_L_IN : { base : int, offset : int }, local_#3829_n_IN : int) returns (local_#7768 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3828_L : { base : int, offset : int }; var local_#3829_n : int; var local_#9031 : int; var local_#9032 : int; var local_#9033 : int; var local_#9034 : int; var local_#9035 : int; var local_#9036 : int; var local_#9037 : int; var local_#9038 : int; var local_#9039 : int; var local_#9040 : int; var local_#9041 : { base : int, offset : int }; var local_#31241_o : { base : int, offset : int }; var local_#9042 : { base : int, offset : int }; var local_#9043 : { base : int, offset : int }; var local_#9044 : { base : int, offset : int }; var local_#31240_c : { base : int, offset : int }; var local_#9045 : int; var local_#9046 : int; var local_#9047 : int; var local_#9048 : int; var local_#9049 : { base : int, offset : int }; var local_#9050 : { base : int, offset : int }; var local_#9051 : { base : int, offset : int }; local_#3828_L := local_#3828_L_IN; local_#3829_n := local_#3829_n_IN; goto CFG_36263; CFG_36263: assume true; goto CFG_42048; CFG_42048: assume true; local_#9031 := 6; local_#9032 := 40; local_#9033 := 8; local_#9034 := 1; local_#9035 := local_#3829_n - local_#9034; assert { :LIR "67866" } { :check "overflow" } { :finding_ids "0" } local_#9035 <= 2147483647; local_#9036 := ~uwrap64(local_#9035); assert { :LIR "62196" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#9037 := ~uwrap64(local_#9033 * local_#9036); assert { :LIR "68506" } { :check "overflow" } { :finding_ids "0" } true; local_#9038 := local_#9037; assert { :LIR "60203" } { :check "overflow" } { :finding_ids "0" } local_#9038 <= 2147483647; local_#9039 := local_#9032 + local_#9038; assert { :LIR "66379" } { :check "overflow" } { :finding_ids "0" } local_#9039 <= 2147483647; local_#9040 := ~uwrap64(local_#9039); assert { :LIR "62197" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45368; CFG_45368: assume true; call local_#9041 := routine_#33726_luaC_newobj(local_#3828_L,local_#9031,local_#9040); goto CFG_41626; CFG_41626: assume true; local_#31241_o := local_#9041; local_#9042 := local_#31241_o; assert { :LIR "60204" } { :check "overflow" } { :finding_ids "0" } true; local_#9043 := { base : local_#9042!base, offset : local_#9042!offset + 0 }; local_#9044 := { base : local_#9043!base, offset : local_#9043!offset + 0 }; local_#31240_c := local_#9044; _memory_ptr[{ base : local_#31240_c!base, offset : local_#31240_c!offset + 24 }] := { base : 0, offset : 0 }; local_#9045 := ~uwrap8(local_#3829_n); assert { :LIR "60205" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31240_c!base, offset : local_#31240_c!offset + 10 }] := local_#9045; goto CFG_49116; CFG_49116: assume true; local_#9046 := local_#3829_n; local_#9047 := 1; local_#3829_n := local_#9046 - local_#9047; assert { :LIR "67867" } { :check "overflow" } { :finding_ids "0" } local_#3829_n <= 2147483647; local_#9048 := local_#9046; if (local_#9048 != 0) { goto CFG_44967; } else { goto CFG_38064; } CFG_38064: assume true; local_#7768 := local_#31240_c; goto CFG_37174; CFG_44967: assume true; local_#9049 := { base : 0, offset : 0 }; local_#9050 := { base : local_#31240_c!base, offset : local_#31240_c!offset + 32 }; local_#9051 := { base : local_#9050!base, offset : local_#9050!offset + 0 * 8 + local_#3829_n * 8 }; _memory_ptr[local_#9051] := local_#9049; goto CFG_49116; CFG_37174: assume true; } procedure routine_#33756_luaF_newproto(local_#3830_L_IN : { base : int, offset : int }) returns (local_#7769 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3830_L : { base : int, offset : int }; var local_#9052 : int; var local_#9053 : int; var local_#9054 : { base : int, offset : int }; var local_#31243_o : { base : int, offset : int }; var local_#9055 : { base : int, offset : int }; var local_#9056 : { base : int, offset : int }; var local_#31242_f : { base : int, offset : int }; local_#3830_L := local_#3830_L_IN; goto CFG_36264; CFG_36264: assume true; goto CFG_42049; CFG_42049: assume true; local_#9052 := 9; local_#9053 := 120; goto CFG_45369; CFG_45369: assume true; call local_#9054 := routine_#33726_luaC_newobj(local_#3830_L,local_#9052,local_#9053); goto CFG_38065; CFG_38065: assume true; local_#31243_o := local_#9054; local_#9055 := local_#31243_o; assert { :LIR "60206" } { :check "overflow" } { :finding_ids "0" } true; local_#9056 := { base : local_#9055!base, offset : local_#9055!offset + 0 }; local_#31242_f := local_#9056; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 48 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 20 }] := 0; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 64 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 32 }] := 0; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 56 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 96 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 24 }] := 0; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 72 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 28 }] := 0; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 88 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 16 }] := 0; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 10 }] := 0; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 11 }] := 0; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 12 }] := 0; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 80 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 36 }] := 0; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 40 }] := 0; _memory[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 44 }] := 0; _memory_ptr[{ base : local_#31242_f!base, offset : local_#31242_f!offset + 104 }] := { base : 0, offset : 0 }; local_#7769 := local_#31242_f; goto CFG_37175; CFG_37175: assume true; } procedure routine_#33757_luaG_addinfo(local_#3831_L_IN : { base : int, offset : int }, local_#3832_msg_IN : { base : int, offset : int }, local_#3833_src_IN : { base : int, offset : int }, local_#3834_line_IN : int) returns (local_#7770 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3831_L : { base : int, offset : int }; var local_#3832_msg : { base : int, offset : int }; var local_#3833_src : { base : int, offset : int }; var local_#3834_line : int; var local_#9057 : { base : int, offset : int }; var local_#31244_buff : { base : int, offset : int }; var local_#9058 : { base : int, offset : int }; var local_#9059 : { base : int, offset : int }; var local_#9060 : int; var local_#9061 : { base : int, offset : int }; var local_#9062 : { base : int, offset : int }; var local_#9063 : int; var local_#9064 : { base : int, offset : int }; var local_#9065 : { base : int, offset : int }; var local_#9066 : { base : int, offset : int }; var local_#9067 : { base : int, offset : int }; local_#3831_L := local_#3831_L_IN; local_#3832_msg := local_#3832_msg_IN; local_#3833_src := local_#3833_src_IN; local_#3834_line := local_#3834_line_IN; goto CFG_36265; CFG_36265: assume true; goto CFG_49117; CFG_49117: assume true; local_#9057 := local_#3833_src; if (local_#9057 != { base : 0, offset : 0 }) { goto CFG_42050; } else { goto CFG_39826; } CFG_39826: assume true; _memory[{ base : local_#31244_buff!base, offset : local_#31244_buff!offset + 0 * 1 }] := 63; _memory[{ base : local_#31244_buff!base, offset : local_#31244_buff!offset + 1 * 1 }] := 0; goto CFG_42051; CFG_42050: assume true; local_#9058 := { base : local_#31244_buff!base, offset : local_#31244_buff!offset + 0 * 1 }; local_#9059 := local_#3833_src; assert { :LIR "60207" } { :check "overflow" } { :finding_ids "0" } true; local_#9060 := 24; local_#9061 := { base : local_#9059!base, offset : local_#9059!offset + local_#9060 * 1 }; local_#9062 := local_#9061; assert { :LIR "62198" } { :check "overflow" } { :finding_ids "0" } true; local_#9063 := 60; goto CFG_45370; CFG_45370: assume true; call routine_#33861_luaO_chunkid(local_#9058,local_#9062,local_#9063); goto CFG_39827; CFG_39827: assume true; goto CFG_42051; CFG_42051: assume true; assume _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 0 }] == 37 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 1 }] == 115 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 2 }] == 58 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 3 }] == 37 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 4 }] == 100 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 5 }] == 58 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 6 }] == 32 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 7 }] == 37 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 8 }] == 115 && _memory[{ base : strlit_#70295!base, offset : strlit_#70295!offset + 9 }] == 0; local_#9064 := strlit_#70295; local_#9065 := { base : local_#9064!base, offset : local_#9064!offset + 0 * 1 }; assert { :LIR "62199" } { :check "overflow" } { :finding_ids "0" } true; local_#9066 := { base : local_#31244_buff!base, offset : local_#31244_buff!offset + 0 * 1 }; goto CFG_45371; CFG_45371: assume true; call local_#9067 := routine_#33865_luaO_pushfstring(local_#3831_L,local_#9065,{ base : 0, offset : 0 }); goto CFG_38066; CFG_38066: assume true; local_#7770 := local_#9067; goto CFG_37176; CFG_37176: assume true; } procedure routine_#33758_luaG_concaterror(local_#3835_L_IN : { base : int, offset : int }, local_#3836_p1_IN : { base : int, offset : int }, local_#3837_p2_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3835_L : { base : int, offset : int }; var local_#3836_p1 : { base : int, offset : int }; var local_#3837_p2 : { base : int, offset : int }; var local_#9068 : int; var local_#9069 : int; var local_#9070 : int; var local_#9071 : int; var local_#9072 : int; var local_#9073 : int; var local_#9074 : int; var local_#9075 : int; var local_#9076 : { base : int, offset : int }; var local_#9077 : { base : int, offset : int }; local_#3835_L := local_#3835_L_IN; local_#3836_p1 := local_#3836_p1_IN; local_#3837_p2 := local_#3837_p2_IN; goto CFG_36266; CFG_36266: assume true; goto CFG_49118; CFG_49118: assume true; local_#9068 := 15; local_#9069 := ~sand32(_memory[{ base : local_#3836_p1!base, offset : local_#3836_p1!offset + 8 }], local_#9068); local_#9070 := 4; local_#9071 := (if local_#9069 == local_#9070 then 1 else 0); if (local_#9071 != 0) { goto CFG_39828; } else { goto CFG_49119; } CFG_49119: assume true; local_#9072 := 15; local_#9073 := ~sand32(_memory[{ base : local_#3836_p1!base, offset : local_#3836_p1!offset + 8 }], local_#9072); local_#9074 := 3; local_#9075 := (if local_#9073 == local_#9074 then 1 else 0); if (local_#9075 != 0) { goto CFG_39828; } else { goto CFG_42052; } CFG_39828: assume true; local_#3836_p1 := local_#3837_p2; goto CFG_42052; CFG_42052: assume true; assume _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 0 }] == 99 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 1 }] == 111 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 2 }] == 110 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 3 }] == 99 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 4 }] == 97 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 5 }] == 116 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 6 }] == 101 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 7 }] == 110 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 8 }] == 97 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 9 }] == 116 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 10 }] == 101 && _memory[{ base : strlit_#70296!base, offset : strlit_#70296!offset + 11 }] == 0; local_#9076 := strlit_#70296; local_#9077 := { base : local_#9076!base, offset : local_#9076!offset + 0 * 1 }; assert { :LIR "62200" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45372; CFG_45372: assume true; call routine_#33765_luaG_typeerror(local_#3835_L,local_#3836_p1,local_#9077); CFG_39094: assume true; goto CFG_37177; CFG_37177: assume true; } procedure routine_#33759_luaG_errormsg(local_#3838_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3838_L : { base : int, offset : int }; var local_#9078 : int; var local_#9079 : int; var local_#9080 : { base : int, offset : int }; var local_#9081 : { base : int, offset : int }; var local_#9082 : { base : int, offset : int }; var local_#31245_errfunc : { base : int, offset : int }; var local_#31246_io1 : { base : int, offset : int }; var local_#9083 : int; var local_#9084 : { base : int, offset : int }; var local_#9085 : int; var local_#9086 : int; var local_#9087 : int; var local_#9088 : int; var local_#9089 : { base : int, offset : int }; var local_#31247_io1 : { base : int, offset : int }; var local_#9090 : int; var local_#9091 : int; var local_#9092 : int; var local_#9093 : { base : int, offset : int }; var local_#9094 : int; var local_#9095 : { base : int, offset : int }; var local_#9096 : int; var local_#9097 : { base : int, offset : int }; var local_#9098 : int; var local_#9099 : int; local_#3838_L := local_#3838_L_IN; goto CFG_36267; CFG_36267: assume true; goto CFG_49120; CFG_49120: assume true; local_#9078 := 0; local_#9079 := (if _memory[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 176 }] != local_#9078 then 1 else 0); if (local_#9079 != 0) { goto CFG_42053; } else { goto CFG_42054; } CFG_42053: assume true; local_#9080 := _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 56 }]; assert { :LIR "60208" } { :check "overflow" } { :finding_ids "0" } true; local_#9081 := { base : local_#9080!base, offset : local_#9080!offset + _memory[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 176 }] * 1 }; local_#9082 := local_#9081; assert { :LIR "60209" } { :check "overflow" } { :finding_ids "0" } true; local_#31245_errfunc := local_#9082; local_#31246_io1 := _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]; local_#9083 := 1; local_#9084 := { base : _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]!offset - local_#9083 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#9084)!_value_!_b == _memory[{ base : local_#9084!base, offset : local_#9084!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9084)!_value_!_f == _memory_ptr[{ base : local_#9084!base, offset : local_#9084!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9084)!_value_!_gc == _memory_ptr[{ base : local_#9084!base, offset : local_#9084!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9084)!_value_!_i == _memory[{ base : local_#9084!base, offset : local_#9084!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#9084)!_value_!_p == _memory_ptr[{ base : local_#9084!base, offset : local_#9084!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9084)!_tt_ == _memory[{ base : local_#9084!base, offset : local_#9084!offset + 8 }]; call write_type_#101(local_#31246_io1,read_type_#101(_memory, _memory_ptr, local_#9084)); local_#9085 := 0; assert { :LIR "60210" } { :check "overflow" } { :finding_ids "0" } true; local_#9086 := 0; local_#9087 := 0; assert { :LIR "60211" } { :check "overflow" } { :finding_ids "0" } true; local_#9088 := 1; local_#9089 := { base : _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]!offset - local_#9088 * 16 }; local_#31247_io1 := local_#9089; assume read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)!_value_!_b == _memory[{ base : local_#31245_errfunc!base, offset : local_#31245_errfunc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)!_value_!_f == _memory_ptr[{ base : local_#31245_errfunc!base, offset : local_#31245_errfunc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)!_value_!_gc == _memory_ptr[{ base : local_#31245_errfunc!base, offset : local_#31245_errfunc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)!_value_!_i == _memory[{ base : local_#31245_errfunc!base, offset : local_#31245_errfunc!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)!_value_!_p == _memory_ptr[{ base : local_#31245_errfunc!base, offset : local_#31245_errfunc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)!_tt_ == _memory[{ base : local_#31245_errfunc!base, offset : local_#31245_errfunc!offset + 8 }]; call write_type_#101(local_#31247_io1,read_type_#101(_memory, _memory_ptr, local_#31245_errfunc)); local_#9090 := 0; assert { :LIR "60212" } { :check "overflow" } { :finding_ids "0" } true; local_#9091 := 0; local_#9092 := 0; assert { :LIR "60213" } { :check "overflow" } { :finding_ids "0" } true; local_#9093 := _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]; local_#9094 := 1; _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }] := { base : local_#9093!base, offset : local_#9093!offset + local_#9094 * 16 }; local_#9095 := local_#9093; local_#9096 := 2; local_#9097 := { base : _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3838_L!base, offset : local_#3838_L!offset + 16 }]!offset - local_#9096 * 16 }; local_#9098 := 1; goto CFG_45373; CFG_45373: assume true; call routine_#33732_luaD_callnoyield(local_#3838_L,local_#9097,local_#9098); goto CFG_39829; CFG_39829: assume true; goto CFG_42054; CFG_42054: assume true; local_#9099 := 2; goto CFG_45374; CFG_45374: assume true; call routine_#33743_luaD_throw(local_#3838_L,local_#9099); CFG_39095: assume true; goto CFG_37178; CFG_37178: assume true; } procedure routine_#33760_luaG_opinterror(local_#3839_L_IN : { base : int, offset : int }, local_#3840_p1_IN : { base : int, offset : int }, local_#3841_p2_IN : { base : int, offset : int }, local_#3842_msg_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3839_L : { base : int, offset : int }; var local_#3840_p1 : { base : int, offset : int }; var local_#3841_p2 : { base : int, offset : int }; var local_#3842_msg : { base : int, offset : int }; var local_#9100 : int; var local_#9101 : int; var local_#31248_temp : { base : int, offset : int }; var local_#9102 : { base : int, offset : int }; var local_#9103 : int; var local_#9104 : int; var local_#9105 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#9106 : int; var local_#9107 : int; local_#3839_L := local_#3839_L_IN; local_#3840_p1 := local_#3840_p1_IN; local_#3841_p2 := local_#3841_p2_IN; local_#3842_msg := local_#3842_msg_IN; goto CFG_36268; CFG_36268: assume true; goto CFG_49121; CFG_49121: assume true; local_#9100 := 3; local_#9101 := (if _memory[{ base : local_#3840_p1!base, offset : local_#3840_p1!offset + 8 }] == local_#9100 then 1 else 0); if (local_#9101 != 0) { goto CFG_49123; } else { goto CFG_42055; } CFG_42055: assume true; local_#9102 := local_#31248_temp; goto CFG_45375; CFG_45375: assume true; call local_#9103 := routine_#33904_luaV_tonumber_(local_#3840_p1,local_#9102); goto CFG_49122; CFG_49122: assume true; local_#9104 := local_#9103; if (local_#9104 != 0) { goto CFG_45376; } else { goto CFG_39830; } CFG_49123: assume true; local_#9105 := { base : local_#3840_p1!base, offset : local_#3840_p1!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#9106 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#9107 := 1; if (local_#9107 != 0) { goto CFG_45376; } else { goto CFG_39830; } CFG_39830: assume true; local_#3841_p2 := local_#3840_p1; goto CFG_45376; CFG_45376: assume true; call routine_#33765_luaG_typeerror(local_#3839_L,local_#3841_p2,local_#3842_msg); CFG_39096: assume true; goto CFG_37179; CFG_37179: assume true; } procedure routine_#33761_luaG_ordererror(local_#3843_L_IN : { base : int, offset : int }, local_#3844_p1_IN : { base : int, offset : int }, local_#3845_p2_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3843_L : { base : int, offset : int }; var local_#3844_p1 : { base : int, offset : int }; var local_#3845_p2 : { base : int, offset : int }; var local_#9108 : { base : int, offset : int }; var local_#31249_t1 : { base : int, offset : int }; var local_#9109 : { base : int, offset : int }; var local_#31250_t2 : { base : int, offset : int }; var local_#9110 : int; var local_#9111 : int; var local_#9112 : int; var local_#9113 : { base : int, offset : int }; var local_#9114 : { base : int, offset : int }; var local_#9115 : { base : int, offset : int }; var local_#9116 : { base : int, offset : int }; local_#3843_L := local_#3843_L_IN; local_#3844_p1 := local_#3844_p1_IN; local_#3845_p2 := local_#3845_p2_IN; goto CFG_36269; CFG_36269: assume true; goto CFG_45377; CFG_45377: assume true; call local_#9108 := routine_#33887_luaT_objtypename(local_#3843_L,local_#3844_p1); goto CFG_42056; CFG_42056: assume true; local_#31249_t1 := local_#9108; goto CFG_45378; CFG_45378: assume true; call local_#9109 := routine_#33887_luaT_objtypename(local_#3843_L,local_#3845_p2); goto CFG_42057; CFG_42057: assume true; local_#31250_t2 := local_#9109; goto CFG_45379; CFG_45379: assume true; call local_#9110 := routine_#34446_strcmp(local_#31249_t1,local_#31250_t2); goto CFG_49124; CFG_49124: assume true; local_#9111 := 0; local_#9112 := (if local_#9110 == local_#9111 then 1 else 0); if (local_#9112 != 0) { goto CFG_42059; } else { goto CFG_42058; } CFG_42058: assume true; assume _memory[{ base : strlit_#70297!base, offset : strlit_#70297!offset + 29 }] == 0; local_#9113 := strlit_#70297; local_#9114 := { base : local_#9113!base, offset : local_#9113!offset + 0 * 1 }; assert { :LIR "62201" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45380; CFG_45380: assume true; call routine_#33762_luaG_runerror(local_#3843_L,local_#9114,{ base : 0, offset : 0 }); CFG_42059: assume true; assume _memory[{ base : strlit_#70298!base, offset : strlit_#70298!offset + 32 }] == 0; local_#9115 := strlit_#70298; local_#9116 := { base : local_#9115!base, offset : local_#9115!offset + 0 * 1 }; assert { :LIR "62202" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45381; CFG_45381: assume true; call routine_#33762_luaG_runerror(local_#3843_L,local_#9116,{ base : 0, offset : 0 }); CFG_39097: assume true; goto CFG_37180; CFG_37180: assume true; } procedure routine_#33762_luaG_runerror(local_#3846_L_IN : { base : int, offset : int }, local_#3847_fmt_IN : { base : int, offset : int }, local_#7744_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3846_L : { base : int, offset : int }; var local_#3847_fmt : { base : int, offset : int }; var local_#7744 : { base : int, offset : int }; var local_#31252_ci : { base : int, offset : int }; var local_#9117 : { base : int, offset : int }; var local_#9118 : int; var local_#9119 : int; var local_#9120 : int; var local_#9121 : int; var local_#9122 : int; var local_#9123 : int; var local_#9124 : int; var local_#9125 : int; var local_#31251_argp : { base : int, offset : int }; var local_#9126 : { base : int, offset : int }; var local_#9127 : { base : int, offset : int }; var local_#9128 : { base : int, offset : int }; var local_#31253_msg : { base : int, offset : int }; var local_#9129 : int; var local_#9130 : int; var local_#9131 : int; var local_#9132 : { base : int, offset : int }; var local_#9133 : { base : int, offset : int }; var local_#9134 : { base : int, offset : int }; var local_#9135 : { base : int, offset : int }; var local_#9136 : { base : int, offset : int }; var local_#9137 : { base : int, offset : int }; var local_#9138 : { base : int, offset : int }; var local_#9139 : int; var local_#9140 : { base : int, offset : int }; local_#3846_L := local_#3846_L_IN; _memory_ptr[local_#3847_fmt] := local_#3847_fmt_IN; _memory_ptr[local_#7744] := local_#7744_IN; goto CFG_36270; CFG_36270: assume true; goto CFG_49125; CFG_49125: assume true; local_#31252_ci := _memory_ptr[{ base : local_#3846_L!base, offset : local_#3846_L!offset + 32 }]; local_#9117 := _memory_ptr[{ base : local_#3846_L!base, offset : local_#3846_L!offset + 24 }]; local_#9118 := 0; local_#9119 := (if _memory[{ base : local_#9117!base, offset : local_#9117!offset + 24 }] > local_#9118 then 1 else 0); if (local_#9119 != 0) { goto CFG_42060; } else { goto CFG_42061; } CFG_42060: assume true; local_#9120 := 0; local_#9121 := 0; assert { :LIR "60214" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45382; CFG_45382: assume true; call routine_#33728_luaC_step(local_#3846_L); goto CFG_39831; CFG_39831: assume true; local_#9122 := 0; local_#9123 := 0; assert { :LIR "60215" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42061; CFG_42061: assume true; local_#9124 := 0; local_#9125 := 0; assert { :LIR "60216" } { :check "overflow" } { :finding_ids "0" } true; local_#9126 := { base : local_#31251_argp!base, offset : local_#31251_argp!offset + 0 * 24 }; _memory_ptr[{ base : local_#9126!base, offset : local_#9126!offset + 8 }] := local_#7744; local_#9127 := { base : local_#31251_argp!base, offset : local_#31251_argp!offset + 0 * 24 }; goto CFG_45383; CFG_45383: assume true; call local_#9128 := routine_#33866_luaO_pushvfstring(local_#3846_L,_memory_ptr[local_#3847_fmt],local_#9127); goto CFG_49126; CFG_49126: assume true; local_#31253_msg := local_#9128; local_#9129 := _memory[{ base : local_#31252_ci!base, offset : local_#31252_ci!offset + 66 }]; assert { :LIR "62203" } { :check "overflow" } { :finding_ids "0" } local_#9129 <= 2147483647; local_#9130 := 2; local_#9131 := ~sand32(local_#9129, local_#9130); if (local_#9131 != 0) { goto CFG_42062; } else { goto CFG_45386; } CFG_42062: assume true; local_#9132 := _memory_ptr[{ base : local_#31252_ci!base, offset : local_#31252_ci!offset + 0 }]; local_#9133 := { base : local_#9132!base, offset : local_#9132!offset + 0 }; local_#9134 := _memory_ptr[local_#9133]; assert { :LIR "60217" } { :check "overflow" } { :finding_ids "0" } true; local_#9135 := { base : local_#9134!base, offset : local_#9134!offset + 0 }; local_#9136 := { base : local_#9135!base, offset : local_#9135!offset + 0 }; local_#9137 := _memory_ptr[{ base : local_#9136!base, offset : local_#9136!offset + 24 }]; local_#9138 := _memory_ptr[{ base : local_#9137!base, offset : local_#9137!offset + 104 }]; goto CFG_45384; CFG_45384: assume true; call local_#9139 := routine_#34679_currentline(local_#31252_ci); goto CFG_45385; CFG_45385: assume true; call local_#9140 := routine_#33757_luaG_addinfo(local_#3846_L,local_#31253_msg,local_#9138,local_#9139); goto CFG_39832; CFG_39832: assume true; goto CFG_45386; CFG_45386: assume true; call routine_#33759_luaG_errormsg(local_#3846_L); CFG_39098: assume true; goto CFG_37181; CFG_37181: assume true; } procedure routine_#33763_luaG_tointerror(local_#3848_L_IN : { base : int, offset : int }, local_#3849_p1_IN : { base : int, offset : int }, local_#3850_p2_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3848_L : { base : int, offset : int }; var local_#3849_p1 : { base : int, offset : int }; var local_#3850_p2 : { base : int, offset : int }; var local_#9141 : int; var local_#9142 : int; var local_#31254_temp : { base : int, offset : int }; var local_#9143 : { base : int, offset : int }; var local_#9144 : int; var local_#9145 : int; var local_#9146 : int; var local_#9147 : { base : int, offset : int }; var local_#9148 : int; var local_#9149 : int; var local_#9150 : { base : int, offset : int }; var local_#9151 : { base : int, offset : int }; var local_#9152 : { base : int, offset : int }; local_#3848_L := local_#3848_L_IN; local_#3849_p1 := local_#3849_p1_IN; local_#3850_p2 := local_#3850_p2_IN; goto CFG_36271; CFG_36271: assume true; goto CFG_49127; CFG_49127: assume true; local_#9141 := 19; local_#9142 := (if _memory[{ base : local_#3849_p1!base, offset : local_#3849_p1!offset + 8 }] == local_#9141 then 1 else 0); if (local_#9142 != 0) { goto CFG_49129; } else { goto CFG_42063; } CFG_42063: assume true; local_#9143 := local_#31254_temp; local_#9144 := 0; goto CFG_45387; CFG_45387: assume true; call local_#9145 := routine_#33903_luaV_tointeger(local_#3849_p1,local_#9143,local_#9144); goto CFG_49128; CFG_49128: assume true; local_#9146 := local_#9145; if (local_#9146 != 0) { goto CFG_42064; } else { goto CFG_39833; } CFG_49129: assume true; local_#9147 := { base : local_#3849_p1!base, offset : local_#3849_p1!offset + 0 }; _memory[local_#31254_temp] := _memory[local_#9147]; local_#9148 := _memory[local_#31254_temp]; local_#9149 := 1; if (local_#9149 != 0) { goto CFG_42064; } else { goto CFG_39833; } CFG_39833: assume true; local_#3850_p2 := local_#3849_p1; goto CFG_42064; CFG_42064: assume true; assume _memory[{ base : strlit_#70299!base, offset : strlit_#70299!offset + 38 }] == 0; local_#9150 := strlit_#70299; local_#9151 := { base : local_#9150!base, offset : local_#9150!offset + 0 * 1 }; assert { :LIR "62204" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45388; CFG_45388: assume true; call local_#9152 := routine_#35144_varinfo(local_#3848_L,local_#3850_p2); goto CFG_45389; CFG_45389: assume true; call routine_#33762_luaG_runerror(local_#3848_L,local_#9151,{ base : 0, offset : 0 }); CFG_39099: assume true; goto CFG_37182; CFG_37182: assume true; } procedure routine_#33764_luaG_traceexec(local_#3851_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3851_L : { base : int, offset : int }; var local_#31255_ci : { base : int, offset : int }; var local_#9153 : int; var local_#31257_mask : int; var local_#9154 : int; var local_#9155 : int; var local_#9156 : int; var local_#9157 : int; var local_#9158 : int; var local_#9159 : int; var local_#30600 : int; var local_#31256_counthook : int; var local_#9160 : int; var local_#9161 : int; var local_#9162 : int; var local_#9163 : int; var local_#9164 : int; var local_#9165 : int; var local_#9166 : int; var local_#9167 : int; var local_#9168 : int; var local_#9169 : int; var local_#9170 : int; var local_#9171 : int; var local_#9172 : int; var local_#9173 : int; var local_#9174 : { base : int, offset : int }; var local_#9175 : { base : int, offset : int }; var local_#9176 : { base : int, offset : int }; var local_#9177 : { base : int, offset : int }; var local_#9178 : { base : int, offset : int }; var local_#31260_p : { base : int, offset : int }; var local_#9179 : { base : int, offset : int }; var local_#9180 : int; var local_#9181 : int; var local_#9182 : int; var local_#9183 : int; var local_#31259_npc : int; var local_#9184 : { base : int, offset : int }; var local_#30601 : int; var local_#9185 : { base : int, offset : int }; var local_#31258_newline : int; var local_#9186 : int; var local_#9187 : int; var local_#9188 : { base : int, offset : int }; var local_#9189 : int; var local_#9190 : { base : int, offset : int }; var local_#30602 : int; var local_#9191 : int; var local_#9192 : int; var local_#9193 : int; var local_#9194 : int; var local_#9195 : { base : int, offset : int }; var local_#9196 : int; var local_#9197 : int; var local_#9198 : { base : int, offset : int }; var local_#9199 : int; var local_#9200 : int; var local_#9201 : int; var local_#9202 : int; var local_#9203 : { base : int, offset : int }; var local_#9204 : { base : int, offset : int }; var local_#9205 : int; var local_#9206 : { base : int, offset : int }; var local_#9207 : int; var local_#9208 : int; var local_#9209 : int; var local_#9210 : int; var local_#9211 : { base : int, offset : int }; var local_#9212 : int; var local_#9213 : int; var local_#9214 : int; var local_#9215 : int; local_#3851_L := local_#3851_L_IN; goto CFG_36272; CFG_36272: assume true; goto CFG_49130; CFG_49130: assume true; local_#31255_ci := _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 32 }]; local_#9153 := ~uwrap8(_memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 200 }]); assert { :LIR "62205" } { :check "overflow" } { :finding_ids "0" } true; local_#31257_mask := local_#9153; local_#9154 := 1; _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] := _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] - local_#9154; assert { :LIR "67868" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] <= -1; local_#9155 := 0; local_#9156 := (if _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] == local_#9155 then 1 else 0); if (local_#9156 != 0) { goto CFG_49131; } else { goto CFG_39834; } CFG_49131: assume true; local_#9157 := local_#31257_mask; assert { :LIR "62206" } { :check "overflow" } { :finding_ids "0" } local_#9157 <= 2147483647; local_#9158 := 8; local_#9159 := ~sand32(local_#9157, local_#9158); if (local_#9159 != 0) { goto CFG_39835; } else { goto CFG_39834; } CFG_39834: assume true; local_#30600 := 0; goto CFG_49132; CFG_39835: assume true; local_#30600 := 1; goto CFG_49132; CFG_49132: assume true; local_#31256_counthook := local_#30600; local_#9160 := local_#31256_counthook; if (local_#9160 != 0) { goto CFG_39837; } else { goto CFG_49133; } CFG_49133: assume true; local_#9161 := local_#31257_mask; assert { :LIR "62207" } { :check "overflow" } { :finding_ids "0" } local_#9161 <= 2147483647; local_#9162 := 4; local_#9163 := ~sand32(local_#9161, local_#9162); local_#9164 := (if local_#9163 != 0 then 0 else 1); if (local_#9164 != 0) { goto CFG_39100; } else { goto CFG_39836; } CFG_39836: assume true; goto CFG_49134; CFG_39100: assume true; goto CFG_37183; CFG_39837: assume true; _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] := _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 188 }]; goto CFG_49134; CFG_49134: assume true; local_#9165 := _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }]; assert { :LIR "62208" } { :check "overflow" } { :finding_ids "0" } local_#9165 <= 2147483647; local_#9166 := 64; local_#9167 := ~sand32(local_#9165, local_#9166); if (local_#9167 != 0) { goto CFG_39102; } else { goto CFG_49135; } CFG_49135: assume true; local_#9168 := local_#31256_counthook; if (local_#9168 != 0) { goto CFG_42065; } else { goto CFG_49136; } CFG_42065: assume true; local_#9169 := 3; local_#9170 := -1; goto CFG_45390; CFG_45390: assume true; call routine_#33734_luaD_hook(local_#3851_L,local_#9169,local_#9170); goto CFG_39838; CFG_39838: assume true; goto CFG_49136; CFG_49136: assume true; local_#9171 := local_#31257_mask; assert { :LIR "62209" } { :check "overflow" } { :finding_ids "0" } local_#9171 <= 2147483647; local_#9172 := 4; local_#9173 := ~sand32(local_#9171, local_#9172); if (local_#9173 != 0) { goto CFG_49137; } else { goto CFG_49142; } CFG_49137: assume true; local_#9174 := _memory_ptr[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 0 }]; local_#9175 := { base : local_#9174!base, offset : local_#9174!offset + 0 }; local_#9176 := _memory_ptr[local_#9175]; assert { :LIR "60218" } { :check "overflow" } { :finding_ids "0" } true; local_#9177 := { base : local_#9176!base, offset : local_#9176!offset + 0 }; local_#9178 := { base : local_#9177!base, offset : local_#9177!offset + 0 }; local_#31260_p := _memory_ptr[{ base : local_#9178!base, offset : local_#9178!offset + 24 }]; local_#9179 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; local_#9180 := (_memory_ptr[{ base : local_#9179!base, offset : local_#9179!offset + 8 }]!offset - _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 56 }]!offset) / 4; local_#9181 := local_#9180; assert { :LIR "60219" } { :check "overflow" } { :finding_ids "0" } local_#9181 <= 2147483647; local_#9182 := 1; local_#9183 := local_#9181 - local_#9182; assert { :LIR "67869" } { :check "overflow" } { :finding_ids "0" } local_#9183 <= 2147483647; local_#31259_npc := local_#9183; local_#9184 := _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]; if (local_#9184 != { base : 0, offset : 0 }) { goto CFG_39840; } else { goto CFG_39839; } CFG_39839: assume true; local_#30601 := -1; goto CFG_49138; CFG_39840: assume true; local_#9185 := { base : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!offset + local_#31259_npc * 4 }; local_#30601 := _memory[local_#9185]; goto CFG_49138; CFG_49138: assume true; local_#31258_newline := local_#30601; local_#9186 := 0; local_#9187 := (if local_#31259_npc == local_#9186 then 1 else 0); if (local_#9187 != 0) { goto CFG_42066; } else { goto CFG_49139; } CFG_49139: assume true; local_#9188 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; local_#9189 := (if _memory_ptr[{ base : local_#9188!base, offset : local_#9188!offset + 8 }]!offset <= _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 40 }]!offset then 1 else 0); if (local_#9189 != 0) { goto CFG_42066; } else { goto CFG_49140; } CFG_49140: assume true; local_#9190 := _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]; if (local_#9190 != { base : 0, offset : 0 }) { goto CFG_39842; } else { goto CFG_39841; } CFG_39841: assume true; local_#30602 := -1; goto CFG_49141; CFG_39842: assume true; local_#9191 := (_memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 40 }]!offset - _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 56 }]!offset) / 4; local_#9192 := local_#9191; assert { :LIR "60220" } { :check "overflow" } { :finding_ids "0" } local_#9192 <= 2147483647; local_#9193 := 1; local_#9194 := local_#9192 - local_#9193; assert { :LIR "67870" } { :check "overflow" } { :finding_ids "0" } local_#9194 <= 2147483647; local_#9195 := { base : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#31260_p!base, offset : local_#31260_p!offset + 72 }]!offset + local_#9194 * 4 }; local_#30602 := _memory[local_#9195]; goto CFG_49141; CFG_49141: assume true; local_#9196 := (if local_#31258_newline != local_#30602 then 1 else 0); if (local_#9196 != 0) { goto CFG_42066; } else { goto CFG_39844; } CFG_42066: assume true; local_#9197 := 2; goto CFG_45391; CFG_45391: assume true; call routine_#33734_luaD_hook(local_#3851_L,local_#9197,local_#31258_newline); goto CFG_39843; CFG_39843: assume true; goto CFG_39844; CFG_39844: assume true; goto CFG_49142; CFG_49142: assume true; local_#9198 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 40 }] := _memory_ptr[{ base : local_#9198!base, offset : local_#9198!offset + 8 }]; local_#9199 := _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 12 }]; assert { :LIR "62210" } { :check "overflow" } { :finding_ids "0" } local_#9199 <= 2147483647; local_#9200 := 1; local_#9201 := (if local_#9199 == local_#9200 then 1 else 0); if (local_#9201 != 0) { goto CFG_49143; } else { goto CFG_39101; } CFG_39101: assume true; goto CFG_37183; CFG_49143: assume true; local_#9202 := local_#31256_counthook; if (local_#9202 != 0) { goto CFG_39845; } else { goto CFG_42067; } CFG_39845: assume true; _memory[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 192 }] := 1; goto CFG_42067; CFG_42067: assume true; local_#9203 := { base : local_#31255_ci!base, offset : local_#31255_ci!offset + 32 }; local_#9204 := _memory_ptr[{ base : local_#9203!base, offset : local_#9203!offset + 8 }]; local_#9205 := 1; _memory_ptr[{ base : local_#9203!base, offset : local_#9203!offset + 8 }] := { base : local_#9204!base, offset : local_#9204!offset - local_#9205 * 4 }; local_#9206 := local_#9204; local_#9207 := 64; local_#9208 := _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }]; assert { :LIR "62211" } { :check "overflow" } { :finding_ids "0" } local_#9208 <= 2147483647; local_#9209 := ~sor32(local_#9208, local_#9207); _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }] := ~uwrap16(local_#9209); assert { :LIR "62212" } { :check "overflow" } { :finding_ids "0" } true; local_#9210 := 1; local_#9211 := { base : _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3851_L!base, offset : local_#3851_L!offset + 16 }]!offset - local_#9210 * 16 }; _memory_ptr[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 0 }] := local_#9211; local_#9212 := 1; goto CFG_45392; CFG_45392: assume true; call routine_#33743_luaD_throw(local_#3851_L,local_#9212); CFG_39102: assume true; local_#9213 := -65; local_#9214 := _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }]; assert { :LIR "62213" } { :check "overflow" } { :finding_ids "0" } local_#9214 <= 2147483647; local_#9215 := ~sand32(local_#9214, local_#9213); _memory[{ base : local_#31255_ci!base, offset : local_#31255_ci!offset + 66 }] := ~uwrap16(local_#9215); assert { :LIR "62214" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37183; CFG_37183: assume true; } procedure routine_#33765_luaG_typeerror(local_#3852_L_IN : { base : int, offset : int }, local_#3853_o_IN : { base : int, offset : int }, local_#3854_op_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3852_L : { base : int, offset : int }; var local_#3853_o : { base : int, offset : int }; var local_#3854_op : { base : int, offset : int }; var local_#9216 : { base : int, offset : int }; var local_#31261_t : { base : int, offset : int }; var local_#9217 : { base : int, offset : int }; var local_#9218 : { base : int, offset : int }; var local_#9219 : { base : int, offset : int }; local_#3852_L := local_#3852_L_IN; local_#3853_o := local_#3853_o_IN; local_#3854_op := local_#3854_op_IN; goto CFG_36273; CFG_36273: assume true; goto CFG_45393; CFG_45393: assume true; call local_#9216 := routine_#33887_luaT_objtypename(local_#3852_L,local_#3853_o); goto CFG_42068; CFG_42068: assume true; local_#31261_t := local_#9216; assume _memory[{ base : strlit_#70300!base, offset : strlit_#70300!offset + 26 }] == 0; local_#9217 := strlit_#70300; local_#9218 := { base : local_#9217!base, offset : local_#9217!offset + 0 * 1 }; assert { :LIR "62215" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45394; CFG_45394: assume true; call local_#9219 := routine_#35144_varinfo(local_#3852_L,local_#3853_o); goto CFG_45395; CFG_45395: assume true; call routine_#33762_luaG_runerror(local_#3852_L,local_#9218,{ base : 0, offset : 0 }); CFG_39103: assume true; goto CFG_37184; CFG_37184: assume true; } procedure routine_#33766_luaH_free(local_#3855_L_IN : { base : int, offset : int }, local_#3856_t_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3855_L : { base : int, offset : int }; var local_#3856_t : { base : int, offset : int }; var local_#9220 : { base : int, offset : int }; var local_#9221 : int; var local_#9222 : int; var local_#9223 : { base : int, offset : int }; var local_#9224 : int; var local_#9225 : int; var local_#9226 : int; var local_#9227 : int; var local_#9228 : int; var local_#9229 : int; var local_#9230 : int; var local_#9231 : { base : int, offset : int }; var local_#9232 : { base : int, offset : int }; var local_#9233 : int; var local_#9234 : int; var local_#9235 : int; var local_#9236 : int; var local_#9237 : { base : int, offset : int }; var local_#9238 : { base : int, offset : int }; var local_#9239 : int; var local_#9240 : int; var local_#9241 : { base : int, offset : int }; local_#3855_L := local_#3855_L_IN; local_#3856_t := local_#3856_t_IN; goto CFG_36274; CFG_36274: assume true; goto CFG_49144; CFG_49144: assume true; local_#9220 := { base : 0, offset : 0 }; local_#9221 := (if _memory_ptr[{ base : local_#3856_t!base, offset : local_#3856_t!offset + 32 }] == local_#9220 then 1 else 0); local_#9222 := (if local_#9221 != 0 then 0 else 1); if (local_#9222 != 0) { goto CFG_42069; } else { goto CFG_42070; } CFG_42069: assume true; local_#9223 := _memory_ptr[{ base : local_#3856_t!base, offset : local_#3856_t!offset + 24 }]; assert { :LIR "62216" } { :check "overflow" } { :finding_ids "0" } true; local_#9224 := 1; local_#9225 := _memory[{ base : local_#3856_t!base, offset : local_#3856_t!offset + 11 }]; assert { :LIR "62217" } { :check "overflow" } { :finding_ids "0" } local_#9225 <= 2147483647; local_#9226 := ~shl32(local_#9224, local_#9225); local_#9227 := ~uwrap64(local_#9226); assert { :LIR "60221" } { :check "overflow" } { :finding_ids "0" } true; local_#9228 := 32; assume { :symbol "~uwrap64" } true; local_#9229 := ~uwrap64(local_#9227 * local_#9228); assert { :LIR "68507" } { :check "overflow" } { :finding_ids "0" } true; local_#9230 := 0; goto CFG_45396; CFG_45396: assume true; call local_#9231 := routine_#33857_luaM_realloc_(local_#3855_L,local_#9223,local_#9229,local_#9230); goto CFG_39846; CFG_39846: assume true; goto CFG_42070; CFG_42070: assume true; local_#9232 := _memory_ptr[{ base : local_#3856_t!base, offset : local_#3856_t!offset + 16 }]; assert { :LIR "62218" } { :check "overflow" } { :finding_ids "0" } true; local_#9233 := ~uwrap64(_memory[{ base : local_#3856_t!base, offset : local_#3856_t!offset + 12 }]); assert { :LIR "62219" } { :check "overflow" } { :finding_ids "0" } true; local_#9234 := 16; assume { :symbol "~uwrap64" } true; local_#9235 := ~uwrap64(local_#9233 * local_#9234); assert { :LIR "68508" } { :check "overflow" } { :finding_ids "0" } true; local_#9236 := 0; goto CFG_45397; CFG_45397: assume true; call local_#9237 := routine_#33857_luaM_realloc_(local_#3855_L,local_#9232,local_#9235,local_#9236); goto CFG_42071; CFG_42071: assume true; local_#9238 := local_#3856_t; assert { :LIR "62220" } { :check "overflow" } { :finding_ids "0" } true; local_#9239 := 56; local_#9240 := 0; goto CFG_45398; CFG_45398: assume true; call local_#9241 := routine_#33857_luaM_realloc_(local_#3855_L,local_#9238,local_#9239,local_#9240); goto CFG_39104; CFG_39104: assume true; goto CFG_37185; CFG_37185: assume true; } procedure routine_#33767_luaH_get(local_#3857_t_IN : { base : int, offset : int }, local_#3858_key_IN : { base : int, offset : int }) returns (local_#7771 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3857_t : { base : int, offset : int }; var local_#3858_key : { base : int, offset : int }; var local_#9242 : int; var local_#9243 : int; var local_#31262_k : { base : int, offset : int }; var local_#9244 : { base : int, offset : int }; var local_#9245 : int; var local_#9246 : int; var local_#9247 : int; var local_#9248 : { base : int, offset : int }; var local_#9249 : { base : int, offset : int }; var local_#9250 : { base : int, offset : int }; var local_#9251 : int; var local_#9252 : { base : int, offset : int }; var local_#9253 : { base : int, offset : int }; var local_#9254 : { base : int, offset : int }; var local_#9255 : { base : int, offset : int }; var local_#9256 : { base : int, offset : int }; local_#3857_t := local_#3857_t_IN; local_#3858_key := local_#3858_key_IN; goto CFG_36275; CFG_36275: assume true; goto CFG_51501; CFG_51501: assume true; local_#9242 := 63; local_#9243 := ~sand32(_memory[{ base : local_#3858_key!base, offset : local_#3858_key!offset + 8 }], local_#9242); if (local_#9243 == 4) { goto CFG_42074; } if (local_#9243 == 19) { goto CFG_42073; } if (local_#9243 == 0) { goto CFG_38069; } if (local_#9243 == 3) { goto CFG_42072; } goto CFG_45400; CFG_42072: assume true; local_#9244 := local_#31262_k; local_#9245 := 0; goto CFG_45399; CFG_45399: assume true; call local_#9246 := routine_#33903_luaV_tointeger(local_#3858_key,local_#9244,local_#9245); goto CFG_49145; CFG_49145: assume true; local_#9247 := local_#9246; if (local_#9247 != 0) { goto CFG_45401; } else { goto CFG_45400; } CFG_45400: assume true; call local_#9248 := routine_#34787_getgeneric(local_#3857_t,local_#3858_key); goto CFG_38067; CFG_38067: assume true; local_#7771 := local_#9248; goto CFG_37186; CFG_45401: assume true; call local_#9249 := routine_#33768_luaH_getint(local_#3857_t,_memory[local_#31262_k]); goto CFG_38068; CFG_38068: assume true; local_#7771 := local_#9249; goto CFG_37186; CFG_38069: assume true; local_#7771 := global_#33098_luaO_nilobject_; goto CFG_37186; CFG_42073: assume true; local_#9250 := { base : local_#3858_key!base, offset : local_#3858_key!offset + 0 }; local_#9251 := _memory[local_#9250]; goto CFG_45402; CFG_45402: assume true; call local_#9252 := routine_#33768_luaH_getint(local_#3857_t,local_#9251); goto CFG_38070; CFG_38070: assume true; local_#7771 := local_#9252; goto CFG_37186; CFG_42074: assume true; local_#9253 := { base : local_#3858_key!base, offset : local_#3858_key!offset + 0 }; local_#9254 := _memory_ptr[local_#9253]; assert { :LIR "60222" } { :check "overflow" } { :finding_ids "0" } true; local_#9255 := { base : local_#9254!base, offset : local_#9254!offset + 0 }; goto CFG_45403; CFG_45403: assume true; call local_#9256 := routine_#33770_luaH_getshortstr(local_#3857_t,local_#9255); goto CFG_38071; CFG_38071: assume true; local_#7771 := local_#9256; goto CFG_37186; CFG_37186: assume true; } procedure routine_#33768_luaH_getint(local_#3859_t_IN : { base : int, offset : int }, local_#3860_key_IN : int) returns (local_#7772 : { base : int, offset : int }) { var local_#3859_t : { base : int, offset : int }; var local_#3860_key : int; var local_#9257 : int; var local_#9258 : int; var local_#9259 : int; var local_#9260 : int; var local_#9261 : int; var local_#9262 : int; var local_#9263 : int; var local_#9264 : int; var local_#9265 : int; var local_#9266 : int; var local_#9267 : int; var local_#9268 : int; var local_#9269 : int; var local_#9270 : { base : int, offset : int }; var local_#31263_n : { base : int, offset : int }; var local_#9271 : int; var local_#9272 : { base : int, offset : int }; var local_#9273 : { base : int, offset : int }; var local_#9274 : int; var local_#9275 : int; var local_#9276 : { base : int, offset : int }; var local_#9277 : { base : int, offset : int }; var local_#9278 : { base : int, offset : int }; var local_#9279 : int; var local_#9280 : { base : int, offset : int }; var local_#31264_nx : int; var local_#9281 : int; var local_#9282 : int; var local_#9283 : { base : int, offset : int }; var local_#9284 : int; var local_#9285 : int; var local_#9286 : { base : int, offset : int }; var local_#9287 : { base : int, offset : int }; local_#3859_t := local_#3859_t_IN; local_#3860_key := local_#3860_key_IN; goto CFG_36276; CFG_36276: assume true; goto CFG_49146; CFG_49146: assume true; local_#9257 := ~uwrap64(local_#3860_key); assert { :LIR "60223" } { :check "overflow" } { :finding_ids "0" } true; local_#9258 := 1; assume { :symbol "~uwrap64" } true; local_#9259 := ~uwrap64(local_#9257 - local_#9258); assert { :LIR "67871" } { :check "overflow" } { :finding_ids "0" } true; local_#9260 := ~uwrap64(_memory[{ base : local_#3859_t!base, offset : local_#3859_t!offset + 12 }]); assert { :LIR "62221" } { :check "overflow" } { :finding_ids "0" } true; local_#9261 := (if local_#9259 < local_#9260 then 1 else 0); if (local_#9261 != 0) { goto CFG_38074; } else { goto CFG_41627; } CFG_41627: assume true; local_#9262 := 1; local_#9263 := _memory[{ base : local_#3859_t!base, offset : local_#3859_t!offset + 11 }]; assert { :LIR "62222" } { :check "overflow" } { :finding_ids "0" } local_#9263 <= 2147483647; local_#9264 := ~shl32(local_#9262, local_#9263); local_#9265 := 1; local_#9266 := local_#9264 - local_#9265; assert { :LIR "67872" } { :check "overflow" } { :finding_ids "0" } local_#9266 <= 2147483647; local_#9267 := local_#9266; assert { :LIR "62223" } { :check "overflow" } { :finding_ids "0" } local_#9267 <= 9223372036854775807; local_#9268 := ~sand64(local_#3860_key, local_#9267); local_#9269 := local_#9268; assert { :LIR "60224" } { :check "overflow" } { :finding_ids "0" } local_#9269 <= 2147483647; local_#9270 := { base : _memory_ptr[{ base : local_#3859_t!base, offset : local_#3859_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#3859_t!base, offset : local_#3859_t!offset + 24 }]!offset + local_#9269 * 32 }; local_#31263_n := local_#9270; goto CFG_49147; CFG_49147: assume true; local_#9271 := 1; if (local_#9271 != 0) { goto CFG_49148; } else { goto CFG_41898; } CFG_41898: assume true; goto CFG_38072; CFG_49148: assume true; local_#9272 := { base : local_#31263_n!base, offset : local_#31263_n!offset + 16 }; local_#9273 := local_#9272; assert { :LIR "60225" } { :check "overflow" } { :finding_ids "0" } true; local_#9274 := 19; local_#9275 := (if _memory[{ base : local_#9273!base, offset : local_#9273!offset + 8 }] == local_#9274 then 1 else 0); if (local_#9275 != 0) { goto CFG_49149; } else { goto CFG_49150; } CFG_49149: assume true; local_#9276 := { base : local_#31263_n!base, offset : local_#31263_n!offset + 16 }; local_#9277 := local_#9276; assert { :LIR "60226" } { :check "overflow" } { :finding_ids "0" } true; local_#9278 := { base : local_#9277!base, offset : local_#9277!offset + 0 }; local_#9279 := (if _memory[local_#9278] == local_#3860_key then 1 else 0); if (local_#9279 != 0) { goto CFG_38073; } else { goto CFG_49150; } CFG_49150: assume true; local_#9280 := { base : local_#31263_n!base, offset : local_#31263_n!offset + 16 }; local_#31264_nx := _memory[{ base : local_#9280!base, offset : local_#9280!offset + 12 }]; local_#9281 := 0; local_#9282 := (if local_#31264_nx == local_#9281 then 1 else 0); if (local_#9282 != 0) { goto CFG_39453; } else { goto CFG_39847; } CFG_39847: assume true; local_#31263_n := { base : local_#31263_n!base, offset : local_#31263_n!offset + local_#31264_nx * 32 }; goto CFG_44968; CFG_44968: assume true; goto CFG_49147; CFG_39453: assume true; goto CFG_38072; CFG_38072: assume true; local_#7772 := global_#33098_luaO_nilobject_; goto CFG_37187; CFG_38073: assume true; local_#9283 := { base : local_#31263_n!base, offset : local_#31263_n!offset + 0 }; assert { :LIR "62224" } { :check "overflow" } { :finding_ids "0" } true; local_#7772 := local_#9283; goto CFG_37187; CFG_38074: assume true; local_#9284 := 1; local_#9285 := local_#3860_key - local_#9284; assert { :LIR "67873" } { :check "overflow" } { :finding_ids "0" } local_#9285 <= 9223372036854775807; local_#9286 := { base : _memory_ptr[{ base : local_#3859_t!base, offset : local_#3859_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3859_t!base, offset : local_#3859_t!offset + 16 }]!offset + local_#9285 * 16 }; local_#9287 := local_#9286; assert { :LIR "62225" } { :check "overflow" } { :finding_ids "0" } true; local_#7772 := local_#9287; goto CFG_37187; CFG_37187: assume true; } procedure routine_#33769_luaH_getn(local_#3861_t_IN : { base : int, offset : int }) returns (local_#7773 : int) { var local_#3861_t : { base : int, offset : int }; var local_#31265_j : int; var local_#9288 : int; var local_#9289 : int; var local_#9290 : int; var local_#9291 : int; var local_#9292 : { base : int, offset : int }; var local_#9293 : int; var local_#9294 : int; var local_#9295 : { base : int, offset : int }; var local_#9296 : int; var local_#9297 : int; var local_#9298 : int; var local_#9299 : int; var local_#31266_i : int; var local_#9300 : int; var local_#9301 : int; var local_#9302 : int; var local_#9303 : int; var local_#9304 : int; var local_#9305 : int; var local_#9306 : int; var local_#31267_m : int; var local_#9307 : int; var local_#9308 : int; var local_#9309 : { base : int, offset : int }; var local_#9310 : int; var local_#9311 : int; local_#3861_t := local_#3861_t_IN; goto CFG_36277; CFG_36277: assume true; goto CFG_49151; CFG_49151: assume true; local_#31265_j := _memory[{ base : local_#3861_t!base, offset : local_#3861_t!offset + 12 }]; local_#9288 := 0; local_#9289 := (if local_#31265_j > local_#9288 then 1 else 0); if (local_#9289 != 0) { goto CFG_49152; } else { goto CFG_49153; } CFG_49152: assume true; local_#9290 := 1; assume { :symbol "~uwrap32" } true; local_#9291 := ~uwrap32(local_#31265_j - local_#9290); assert { :LIR "67874" } { :check "overflow" } { :finding_ids "0" } true; local_#9292 := { base : _memory_ptr[{ base : local_#3861_t!base, offset : local_#3861_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3861_t!base, offset : local_#3861_t!offset + 16 }]!offset + local_#9291 * 16 }; local_#9293 := 0; local_#9294 := (if _memory[{ base : local_#9292!base, offset : local_#9292!offset + 8 }] == local_#9293 then 1 else 0); if (local_#9294 != 0) { goto CFG_41628; } else { goto CFG_49153; } CFG_49153: assume true; local_#9295 := { base : 0, offset : 0 }; local_#9296 := (if _memory_ptr[{ base : local_#3861_t!base, offset : local_#3861_t!offset + 32 }] == local_#9295 then 1 else 0); if (local_#9296 != 0) { goto CFG_38076; } else { goto CFG_42075; } CFG_42075: assume true; local_#9297 := ~uwrap64(local_#31265_j); assert { :LIR "62226" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45404; CFG_45404: assume true; call local_#9298 := routine_#35132_unbound_search(local_#3861_t,local_#9297); goto CFG_38075; CFG_38075: assume true; local_#7773 := local_#9298; goto CFG_37188; CFG_38076: assume true; local_#9299 := ~uwrap64(local_#31265_j); assert { :LIR "62227" } { :check "overflow" } { :finding_ids "0" } true; local_#7773 := local_#9299; goto CFG_37188; CFG_41628: assume true; local_#31266_i := 0; goto CFG_49154; CFG_49154: assume true; assume { :symbol "~uwrap32" } true; local_#9300 := ~uwrap32(local_#31265_j - local_#31266_i); assert { :LIR "67875" } { :check "overflow" } { :finding_ids "0" } true; local_#9301 := 1; local_#9302 := (if local_#9300 > local_#9301 then 1 else 0); if (local_#9302 != 0) { goto CFG_49155; } else { goto CFG_38077; } CFG_38077: assume true; local_#9303 := ~uwrap64(local_#31266_i); assert { :LIR "62228" } { :check "overflow" } { :finding_ids "0" } true; local_#7773 := local_#9303; goto CFG_37188; CFG_49155: assume true; assume { :symbol "~uwrap32" } true; local_#9304 := ~uwrap32(local_#31266_i + local_#31265_j); assert { :LIR "66380" } { :check "overflow" } { :finding_ids "0" } true; local_#9305 := 2; local_#9306 := local_#9304 / local_#9305; assert { :LIR "68631" } { :check "overflow" } { :finding_ids "0" } true; local_#31267_m := local_#9306; local_#9307 := 1; assume { :symbol "~uwrap32" } true; local_#9308 := ~uwrap32(local_#31267_m - local_#9307); assert { :LIR "67876" } { :check "overflow" } { :finding_ids "0" } true; local_#9309 := { base : _memory_ptr[{ base : local_#3861_t!base, offset : local_#3861_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3861_t!base, offset : local_#3861_t!offset + 16 }]!offset + local_#9308 * 16 }; local_#9310 := 0; local_#9311 := (if _memory[{ base : local_#9309!base, offset : local_#9309!offset + 8 }] == local_#9310 then 1 else 0); if (local_#9311 != 0) { goto CFG_39849; } else { goto CFG_39848; } CFG_39848: assume true; local_#31266_i := local_#31267_m; goto CFG_44969; CFG_39849: assume true; local_#31265_j := local_#31267_m; goto CFG_44969; CFG_44969: assume true; goto CFG_49154; CFG_37188: assume true; } procedure routine_#33770_luaH_getshortstr(local_#3862_t_IN : { base : int, offset : int }, local_#3863_key_IN : { base : int, offset : int }) returns (local_#7774 : { base : int, offset : int }) { var local_#3862_t : { base : int, offset : int }; var local_#3863_key : { base : int, offset : int }; var local_#9312 : int; var local_#9313 : int; var local_#9314 : int; var local_#9315 : int; var local_#9316 : int; var local_#9317 : int; var local_#9318 : int; var local_#9319 : int; var local_#9320 : { base : int, offset : int }; var local_#31268_n : { base : int, offset : int }; var local_#9321 : int; var local_#9322 : int; var local_#9323 : int; var local_#9324 : { base : int, offset : int }; var local_#9325 : { base : int, offset : int }; var local_#31269_k : { base : int, offset : int }; var local_#9326 : int; var local_#9327 : int; var local_#9328 : { base : int, offset : int }; var local_#9329 : { base : int, offset : int }; var local_#9330 : { base : int, offset : int }; var local_#9331 : int; var local_#9332 : { base : int, offset : int }; var local_#31270_nx : int; var local_#9333 : int; var local_#9334 : int; var local_#9335 : { base : int, offset : int }; local_#3862_t := local_#3862_t_IN; local_#3863_key := local_#3863_key_IN; goto CFG_36278; CFG_36278: assume true; goto CFG_41629; CFG_41629: assume true; local_#9312 := 1; local_#9313 := _memory[{ base : local_#3862_t!base, offset : local_#3862_t!offset + 11 }]; assert { :LIR "62229" } { :check "overflow" } { :finding_ids "0" } local_#9313 <= 2147483647; local_#9314 := ~shl32(local_#9312, local_#9313); local_#9315 := 1; local_#9316 := local_#9314 - local_#9315; assert { :LIR "67877" } { :check "overflow" } { :finding_ids "0" } local_#9316 <= 2147483647; local_#9317 := ~uwrap32(local_#9316); assert { :LIR "62230" } { :check "overflow" } { :finding_ids "0" } true; local_#9318 := ~uand32(_memory[{ base : local_#3863_key!base, offset : local_#3863_key!offset + 12 }], local_#9317); local_#9319 := local_#9318; assert { :LIR "60227" } { :check "overflow" } { :finding_ids "0" } local_#9319 <= 2147483647; local_#9320 := { base : _memory_ptr[{ base : local_#3862_t!base, offset : local_#3862_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#3862_t!base, offset : local_#3862_t!offset + 24 }]!offset + local_#9319 * 32 }; local_#31268_n := local_#9320; local_#9321 := 0; local_#9322 := 0; assert { :LIR "60228" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49156; CFG_49156: assume true; local_#9323 := 1; if (local_#9323 != 0) { goto CFG_49157; } else { goto CFG_37189; } CFG_49157: assume true; local_#9324 := { base : local_#31268_n!base, offset : local_#31268_n!offset + 16 }; local_#9325 := local_#9324; assert { :LIR "60229" } { :check "overflow" } { :finding_ids "0" } true; local_#31269_k := local_#9325; local_#9326 := 68; local_#9327 := (if _memory[{ base : local_#31269_k!base, offset : local_#31269_k!offset + 8 }] == local_#9326 then 1 else 0); if (local_#9327 != 0) { goto CFG_49158; } else { goto CFG_49159; } CFG_49158: assume true; local_#9328 := { base : local_#31269_k!base, offset : local_#31269_k!offset + 0 }; local_#9329 := _memory_ptr[local_#9328]; assert { :LIR "60230" } { :check "overflow" } { :finding_ids "0" } true; local_#9330 := { base : local_#9329!base, offset : local_#9329!offset + 0 }; local_#9331 := (if local_#9330 == local_#3863_key then 1 else 0); if (local_#9331 != 0) { goto CFG_38079; } else { goto CFG_49159; } CFG_49159: assume true; local_#9332 := { base : local_#31268_n!base, offset : local_#31268_n!offset + 16 }; local_#31270_nx := _memory[{ base : local_#9332!base, offset : local_#9332!offset + 12 }]; local_#9333 := 0; local_#9334 := (if local_#31270_nx == local_#9333 then 1 else 0); if (local_#9334 != 0) { goto CFG_38078; } else { goto CFG_39850; } CFG_39850: assume true; local_#31268_n := { base : local_#31268_n!base, offset : local_#31268_n!offset + local_#31270_nx * 32 }; goto CFG_44970; CFG_44970: assume true; goto CFG_49156; CFG_38078: assume true; local_#7774 := global_#33098_luaO_nilobject_; goto CFG_37189; CFG_38079: assume true; local_#9335 := { base : local_#31268_n!base, offset : local_#31268_n!offset + 0 }; assert { :LIR "62231" } { :check "overflow" } { :finding_ids "0" } true; local_#7774 := local_#9335; goto CFG_37189; CFG_37189: assume true; } procedure routine_#33771_luaH_getstr(local_#3864_t_IN : { base : int, offset : int }, local_#3865_key_IN : { base : int, offset : int }) returns (local_#7775 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3864_t : { base : int, offset : int }; var local_#3865_key : { base : int, offset : int }; var local_#9336 : int; var local_#9337 : int; var local_#9338 : int; var local_#31271_ko : { base : int, offset : int }; var local_#31272_io : { base : int, offset : int }; var local_#31273_x_ : { base : int, offset : int }; var local_#9339 : { base : int, offset : int }; var local_#9340 : { base : int, offset : int }; var local_#9341 : { base : int, offset : int }; var local_#9342 : int; var local_#9343 : int; var local_#9344 : int; var local_#9345 : int; var local_#9346 : int; var local_#9347 : { base : int, offset : int }; var local_#9348 : { base : int, offset : int }; var local_#9349 : { base : int, offset : int }; local_#3864_t := local_#3864_t_IN; local_#3865_key := local_#3865_key_IN; goto CFG_36279; CFG_36279: assume true; goto CFG_49160; CFG_49160: assume true; local_#9336 := _memory[{ base : local_#3865_key!base, offset : local_#3865_key!offset + 8 }]; assert { :LIR "62232" } { :check "overflow" } { :finding_ids "0" } local_#9336 <= 2147483647; local_#9337 := 4; local_#9338 := (if local_#9336 == local_#9337 then 1 else 0); if (local_#9338 != 0) { goto CFG_45406; } else { goto CFG_42076; } CFG_42076: assume true; local_#31272_io := local_#31271_ko; local_#31273_x_ := local_#3865_key; local_#9339 := local_#31273_x_; assert { :LIR "60231" } { :check "overflow" } { :finding_ids "0" } true; local_#9340 := { base : local_#9339!base, offset : local_#9339!offset + 0 }; local_#9341 := { base : local_#31272_io!base, offset : local_#31272_io!offset + 0 }; _memory_ptr[local_#9341] := local_#9340; local_#9342 := _memory[{ base : local_#31273_x_!base, offset : local_#31273_x_!offset + 8 }]; assert { :LIR "62233" } { :check "overflow" } { :finding_ids "0" } local_#9342 <= 2147483647; local_#9343 := 64; local_#9344 := ~sor32(local_#9342, local_#9343); _memory[{ base : local_#31272_io!base, offset : local_#31272_io!offset + 8 }] := local_#9344; local_#9345 := 0; local_#9346 := 0; assert { :LIR "60232" } { :check "overflow" } { :finding_ids "0" } true; local_#9347 := local_#31271_ko; assert { :LIR "62234" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45405; CFG_45405: assume true; call local_#9348 := routine_#34787_getgeneric(local_#3864_t,local_#9347); goto CFG_38080; CFG_38080: assume true; local_#7775 := local_#9348; goto CFG_37190; CFG_45406: assume true; call local_#9349 := routine_#33770_luaH_getshortstr(local_#3864_t,local_#3865_key); goto CFG_38081; CFG_38081: assume true; local_#7775 := local_#9349; goto CFG_37190; CFG_37190: assume true; } procedure routine_#33772_luaH_new(local_#3866_L_IN : { base : int, offset : int }) returns (local_#7776 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3866_L : { base : int, offset : int }; var local_#9350 : int; var local_#9351 : int; var local_#9352 : { base : int, offset : int }; var local_#31274_o : { base : int, offset : int }; var local_#9353 : { base : int, offset : int }; var local_#9354 : { base : int, offset : int }; var local_#31275_t : { base : int, offset : int }; var local_#9355 : int; local_#3866_L := local_#3866_L_IN; goto CFG_36280; CFG_36280: assume true; goto CFG_42077; CFG_42077: assume true; local_#9350 := 5; local_#9351 := 56; goto CFG_45407; CFG_45407: assume true; call local_#9352 := routine_#33726_luaC_newobj(local_#3866_L,local_#9350,local_#9351); goto CFG_42078; CFG_42078: assume true; local_#31274_o := local_#9352; local_#9353 := local_#31274_o; assert { :LIR "60233" } { :check "overflow" } { :finding_ids "0" } true; local_#9354 := { base : local_#9353!base, offset : local_#9353!offset + 0 }; local_#31275_t := local_#9354; _memory_ptr[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 40 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 10 }] := 255; _memory_ptr[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 16 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31275_t!base, offset : local_#31275_t!offset + 12 }] := 0; local_#9355 := 0; goto CFG_45408; CFG_45408: assume true; call routine_#35060_setnodevector(local_#3866_L,local_#31275_t,local_#9355); goto CFG_38082; CFG_38082: assume true; local_#7776 := local_#31275_t; goto CFG_37191; CFG_37191: assume true; } procedure routine_#33773_luaH_newkey(local_#3867_L_IN : { base : int, offset : int }, local_#3868_t_IN : { base : int, offset : int }, local_#3869_key_IN : { base : int, offset : int }) returns (local_#7777 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3867_L : { base : int, offset : int }; var local_#3868_t : { base : int, offset : int }; var local_#3869_key : { base : int, offset : int }; var local_#9356 : int; var local_#9357 : int; var local_#9358 : int; var local_#9359 : int; var local_#31278_k : { base : int, offset : int }; var local_#9360 : { base : int, offset : int }; var local_#9361 : int; var local_#9362 : int; var local_#9363 : int; var local_#9364 : { base : int, offset : int }; var local_#9365 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var nondet_#2 : bool; var local_#9366 : int; var local_#9367 : int; var local_#9368 : { base : int, offset : int }; var local_#9369 : { base : int, offset : int }; var local_#31276_aux : { base : int, offset : int }; var local_#31279_io : { base : int, offset : int }; var local_#9370 : { base : int, offset : int }; var local_#9371 : { base : int, offset : int }; var local_#9372 : { base : int, offset : int }; var local_#9373 : { base : int, offset : int }; var local_#31277_mp : { base : int, offset : int }; var local_#9374 : int; var local_#9375 : int; var local_#9376 : int; var local_#9377 : { base : int, offset : int }; var local_#9378 : int; var local_#9379 : { base : int, offset : int }; var local_#31280_f : { base : int, offset : int }; var local_#9380 : { base : int, offset : int }; var local_#9381 : int; var local_#9382 : int; var local_#9383 : int; var local_#9384 : { base : int, offset : int }; var local_#9385 : { base : int, offset : int }; var local_#9386 : { base : int, offset : int }; var local_#9387 : { base : int, offset : int }; var local_#31281_othern : { base : int, offset : int }; var local_#9388 : int; var local_#9389 : { base : int, offset : int }; var local_#9390 : int; var local_#9391 : int; var local_#9392 : int; var local_#9393 : int; var local_#9394 : { base : int, offset : int }; var local_#9395 : { base : int, offset : int }; var local_#9396 : int; var local_#9397 : int; var local_#9398 : { base : int, offset : int }; var local_#9399 : int; var local_#9400 : int; var local_#9401 : { base : int, offset : int }; var local_#9402 : { base : int, offset : int }; var local_#9403 : { base : int, offset : int }; var local_#9404 : int; var local_#9405 : int; var local_#9406 : int; var local_#9407 : { base : int, offset : int }; var local_#9408 : { base : int, offset : int }; var local_#9409 : int; var local_#9410 : int; var local_#9411 : int; var local_#9412 : int; var local_#9413 : { base : int, offset : int }; var local_#9414 : int; var local_#9415 : { base : int, offset : int }; var local_#31283_k_ : { base : int, offset : int }; var local_#31282_io_ : { base : int, offset : int }; var local_#9416 : { base : int, offset : int }; var local_#9417 : { base : int, offset : int }; var local_#9418 : int; var local_#9419 : int; var local_#9420 : int; var local_#9421 : int; var local_#9422 : int; var local_#9423 : int; var local_#9424 : int; var local_#9425 : int; var local_#9426 : { base : int, offset : int }; var local_#9427 : { base : int, offset : int }; var local_#9428 : int; var local_#9429 : int; var local_#9430 : int; var local_#9431 : int; var local_#9432 : int; var local_#9433 : int; var local_#9434 : int; var local_#9435 : { base : int, offset : int }; var local_#9436 : { base : int, offset : int }; var local_#9437 : { base : int, offset : int }; var local_#9438 : { base : int, offset : int }; local_#3867_L := local_#3867_L_IN; local_#3868_t := local_#3868_t_IN; local_#3869_key := local_#3869_key_IN; goto CFG_36281; CFG_36281: assume true; goto CFG_49161; CFG_49161: assume true; local_#9356 := 0; local_#9357 := (if _memory[{ base : local_#3869_key!base, offset : local_#3869_key!offset + 8 }] == local_#9356 then 1 else 0); if (local_#9357 != 0) { goto CFG_42083; } else { goto CFG_49162; } CFG_49162: assume true; local_#9358 := 3; local_#9359 := (if _memory[{ base : local_#3869_key!base, offset : local_#3869_key!offset + 8 }] == local_#9358 then 1 else 0); if (local_#9359 != 0) { goto CFG_42079; } else { goto CFG_39854; } CFG_42079: assume true; local_#9360 := local_#31278_k; local_#9361 := 0; goto CFG_45409; CFG_45409: assume true; call local_#9362 := routine_#33903_luaV_tointeger(local_#3869_key,local_#9360,local_#9361); goto CFG_49163; CFG_49163: assume true; local_#9363 := local_#9362; if (local_#9363 != 0) { goto CFG_39852; } else { goto CFG_49164; } CFG_49164: assume true; local_#9364 := { base : local_#3869_key!base, offset : local_#3869_key!offset + 0 }; local_#9365 := { base : local_#3869_key!base, offset : local_#3869_key!offset + 0 }; havoc nondet_#0; havoc nondet_#1; havoc nondet_#2; local_#9366 := (if nondet_#2 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 64702. */ then 1 else 0); local_#9367 := (if local_#9366 != 0 then 0 else 1); if (local_#9367 != 0) { goto CFG_42080; } else { goto CFG_39851; } CFG_39851: assume true; goto CFG_39853; CFG_42080: assume true; assume _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 0 }] == 116 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 1 }] == 97 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 2 }] == 98 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 3 }] == 108 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 4 }] == 101 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 5 }] == 32 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 6 }] == 105 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 7 }] == 110 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 8 }] == 100 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 9 }] == 101 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 10 }] == 120 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 11 }] == 32 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 12 }] == 105 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 13 }] == 115 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 14 }] == 32 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 15 }] == 78 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 16 }] == 97 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 17 }] == 78 && _memory[{ base : strlit_#70301!base, offset : strlit_#70301!offset + 18 }] == 0; local_#9368 := strlit_#70301; local_#9369 := { base : local_#9368!base, offset : local_#9368!offset + 0 * 1 }; assert { :LIR "62235" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45410; CFG_45410: assume true; call routine_#33762_luaG_runerror(local_#3867_L,local_#9369,{ base : 0, offset : 0 }); CFG_39852: assume true; local_#31279_io := local_#31276_aux; local_#9370 := { base : local_#31279_io!base, offset : local_#31279_io!offset + 0 }; _memory[local_#9370] := _memory[local_#31278_k]; _memory[{ base : local_#31279_io!base, offset : local_#31279_io!offset + 8 }] := 19; local_#9371 := local_#31276_aux; assert { :LIR "62236" } { :check "overflow" } { :finding_ids "0" } true; local_#3869_key := local_#9371; goto CFG_39853; CFG_39853: assume true; goto CFG_39854; CFG_39854: assume true; goto CFG_42081; CFG_42081: assume true; local_#9372 := local_#3868_t; assert { :LIR "62237" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45411; CFG_45411: assume true; call local_#9373 := routine_#34907_mainposition(local_#9372,local_#3869_key); goto CFG_49165; CFG_49165: assume true; local_#31277_mp := local_#9373; local_#9374 := 0; local_#9375 := (if _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 8 }] == local_#9374 then 1 else 0); local_#9376 := (if local_#9375 != 0 then 0 else 1); if (local_#9376 != 0) { goto CFG_45412; } else { goto CFG_49166; } CFG_49166: assume true; local_#9377 := { base : 0, offset : 0 }; local_#9378 := (if _memory_ptr[{ base : local_#3868_t!base, offset : local_#3868_t!offset + 32 }] == local_#9377 then 1 else 0); if (local_#9378 != 0) { goto CFG_45412; } else { goto CFG_49172; } CFG_45412: assume true; call local_#9379 := routine_#34785_getfreepos(local_#3868_t); goto CFG_49167; CFG_49167: assume true; local_#31280_f := local_#9379; local_#9380 := { base : 0, offset : 0 }; local_#9381 := (if local_#31280_f == local_#9380 then 1 else 0); if (local_#9381 != 0) { goto CFG_45415; } else { goto CFG_42082; } CFG_42082: assume true; local_#9382 := 0; local_#9383 := 0; assert { :LIR "60234" } { :check "overflow" } { :finding_ids "0" } true; local_#9384 := local_#3868_t; assert { :LIR "62238" } { :check "overflow" } { :finding_ids "0" } true; local_#9385 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; local_#9386 := local_#9385; assert { :LIR "60235" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45413; CFG_45413: assume true; call local_#9387 := routine_#34907_mainposition(local_#9384,local_#9386); goto CFG_49168; CFG_49168: assume true; local_#31281_othern := local_#9387; local_#9388 := (if local_#31281_othern != local_#31277_mp then 1 else 0); if (local_#9388 != 0) { goto CFG_41630; } else { goto CFG_49169; } CFG_49169: assume true; local_#9389 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; local_#9390 := 0; local_#9391 := (if _memory[{ base : local_#9389!base, offset : local_#9389!offset + 12 }] != local_#9390 then 1 else 0); if (local_#9391 != 0) { goto CFG_39856; } else { goto CFG_39855; } CFG_39855: assume true; local_#9392 := 0; local_#9393 := 0; assert { :LIR "60236" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39857; CFG_39856: assume true; local_#9394 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; local_#9395 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + _memory[{ base : local_#9394!base, offset : local_#9394!offset + 12 }] * 32 }; local_#9396 := (local_#9395!offset - local_#31280_f!offset) / 32; local_#9397 := local_#9396; assert { :LIR "60237" } { :check "overflow" } { :finding_ids "0" } local_#9397 <= 2147483647; local_#9398 := { base : local_#31280_f!base, offset : local_#31280_f!offset + 16 }; _memory[{ base : local_#9398!base, offset : local_#9398!offset + 12 }] := local_#9397; goto CFG_39857; CFG_39857: assume true; local_#9399 := (local_#31280_f!offset - local_#31277_mp!offset) / 32; local_#9400 := local_#9399; assert { :LIR "60238" } { :check "overflow" } { :finding_ids "0" } local_#9400 <= 2147483647; local_#9401 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; _memory[{ base : local_#9401!base, offset : local_#9401!offset + 12 }] := local_#9400; local_#31277_mp := local_#31280_f; goto CFG_39860; CFG_41630: assume true; goto CFG_49170; CFG_49170: assume true; local_#9402 := { base : local_#31281_othern!base, offset : local_#31281_othern!offset + 16 }; local_#9403 := { base : local_#31281_othern!base, offset : local_#31281_othern!offset + _memory[{ base : local_#9402!base, offset : local_#9402!offset + 12 }] * 32 }; local_#9404 := (if local_#9403 != local_#31277_mp then 1 else 0); if (local_#9404 != 0) { goto CFG_44971; } else { goto CFG_49171; } CFG_49171: assume true; local_#9405 := (local_#31280_f!offset - local_#31281_othern!offset) / 32; local_#9406 := local_#9405; assert { :LIR "60239" } { :check "overflow" } { :finding_ids "0" } local_#9406 <= 2147483647; local_#9407 := { base : local_#31281_othern!base, offset : local_#31281_othern!offset + 16 }; _memory[{ base : local_#9407!base, offset : local_#9407!offset + 12 }] := local_#9406; assume read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_val!_value_!_b == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_val!_value_!_f == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_val!_value_!_gc == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_val!_value_!_i == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_val!_value_!_p == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_val!_tt_ == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 + 8 }] && (read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_value_!_b == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_value_!_f == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_value_!_gc == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_value_!_i == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_value_!_p == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_tt_ == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 8 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_nk!_next == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 12 }] && (read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_tvk!_value_!_b == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_tvk!_value_!_f == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_tvk!_value_!_gc == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_tvk!_value_!_i == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_tvk!_value_!_p == _memory_ptr[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 0 + 0 }] && read_type_#59(_memory, _memory_ptr, local_#31277_mp)!_i_key!_tvk!_tt_ == _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 + 0 + 8 }])); call write_type_#59(local_#31280_f,read_type_#59(_memory, _memory_ptr, local_#31277_mp)); local_#9408 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; local_#9409 := 0; local_#9410 := (if _memory[{ base : local_#9408!base, offset : local_#9408!offset + 12 }] != local_#9409 then 1 else 0); if (local_#9410 != 0) { goto CFG_39858; } else { goto CFG_39859; } CFG_39858: assume true; local_#9411 := (local_#31277_mp!offset - local_#31280_f!offset) / 32; local_#9412 := local_#9411; assert { :LIR "60240" } { :check "overflow" } { :finding_ids "0" } local_#9412 <= 2147483647; local_#9413 := { base : local_#31280_f!base, offset : local_#31280_f!offset + 16 }; _memory[{ base : local_#9413!base, offset : local_#9413!offset + 12 }] := _memory[{ base : local_#9413!base, offset : local_#9413!offset + 12 }] + local_#9412; assert { :LIR "66381" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#9413!base, offset : local_#9413!offset + 12 }] <= -1; local_#9414 := 0; local_#9415 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; _memory[{ base : local_#9415!base, offset : local_#9415!offset + 12 }] := local_#9414; goto CFG_39859; CFG_39859: assume true; _memory[{ base : local_#31277_mp!base, offset : local_#31277_mp!offset + 8 }] := 0; goto CFG_39860; CFG_39860: assume true; goto CFG_49172; CFG_49172: assume true; local_#31283_k_ := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 16 }; local_#31282_io_ := local_#3869_key; local_#9416 := { base : local_#31283_k_!base, offset : local_#31283_k_!offset + 0 }; assume read_type_#120(_memory, _memory_ptr, { base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 })!_b == _memory[{ base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 })!_f == _memory_ptr[{ base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 })!_gc == _memory_ptr[{ base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 })!_i == _memory[{ base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, { base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 })!_p == _memory_ptr[{ base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 + 0 }]; call write_type_#120({ base : local_#9416!base, offset : local_#9416!offset + 0 },read_type_#120(_memory, _memory_ptr, { base : local_#31282_io_!base, offset : local_#31282_io_!offset + 0 })); local_#9417 := { base : local_#31283_k_!base, offset : local_#31283_k_!offset + 0 }; _memory[{ base : local_#9417!base, offset : local_#9417!offset + 8 }] := _memory[{ base : local_#31282_io_!base, offset : local_#31282_io_!offset + 8 }]; local_#9418 := 0; assert { :LIR "60241" } { :check "overflow" } { :finding_ids "0" } true; local_#9419 := 0; local_#9420 := 0; assert { :LIR "60242" } { :check "overflow" } { :finding_ids "0" } true; local_#9421 := 64; local_#9422 := ~sand32(_memory[{ base : local_#3869_key!base, offset : local_#3869_key!offset + 8 }], local_#9421); if (local_#9422 != 0) { goto CFG_49173; } else { goto CFG_39861; } CFG_49173: assume true; local_#9423 := _memory[{ base : local_#3868_t!base, offset : local_#3868_t!offset + 9 }]; assert { :LIR "62239" } { :check "overflow" } { :finding_ids "0" } local_#9423 <= 2147483647; local_#9424 := 4; local_#9425 := ~sand32(local_#9423, local_#9424); if (local_#9425 != 0) { goto CFG_49174; } else { goto CFG_39861; } CFG_49174: assume true; local_#9426 := { base : local_#3869_key!base, offset : local_#3869_key!offset + 0 }; local_#9427 := _memory_ptr[local_#9426]; local_#9428 := _memory[{ base : local_#9427!base, offset : local_#9427!offset + 9 }]; assert { :LIR "62240" } { :check "overflow" } { :finding_ids "0" } local_#9428 <= 2147483647; local_#9429 := 3; local_#9430 := ~sand32(local_#9428, local_#9429); if (local_#9430 != 0) { goto CFG_45414; } else { goto CFG_39861; } CFG_39861: assume true; local_#9431 := 0; local_#9432 := 0; assert { :LIR "60243" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38083; CFG_45414: assume true; call routine_#33721_luaC_barrierback_(local_#3867_L,local_#3868_t); goto CFG_39862; CFG_39862: assume true; goto CFG_38083; CFG_38083: assume true; local_#9433 := 0; local_#9434 := 0; assert { :LIR "60244" } { :check "overflow" } { :finding_ids "0" } true; local_#7777 := { base : local_#31277_mp!base, offset : local_#31277_mp!offset + 0 }; goto CFG_37192; CFG_44971: assume true; local_#9435 := { base : local_#31281_othern!base, offset : local_#31281_othern!offset + 16 }; local_#31281_othern := { base : local_#31281_othern!base, offset : local_#31281_othern!offset + _memory[{ base : local_#9435!base, offset : local_#9435!offset + 12 }] * 32 }; goto CFG_49170; CFG_45415: assume true; call routine_#35027_rehash(local_#3867_L,local_#3868_t,local_#3869_key); goto CFG_45416; CFG_45416: assume true; call local_#9436 := routine_#33777_luaH_set(local_#3867_L,local_#3868_t,local_#3869_key); goto CFG_38084; CFG_38084: assume true; local_#7777 := local_#9436; goto CFG_37192; CFG_42083: assume true; assume _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 0 }] == 116 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 1 }] == 97 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 2 }] == 98 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 3 }] == 108 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 4 }] == 101 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 5 }] == 32 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 6 }] == 105 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 7 }] == 110 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 8 }] == 100 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 9 }] == 101 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 10 }] == 120 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 11 }] == 32 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 12 }] == 105 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 13 }] == 115 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 14 }] == 32 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 15 }] == 110 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 16 }] == 105 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 17 }] == 108 && _memory[{ base : strlit_#70302!base, offset : strlit_#70302!offset + 18 }] == 0; local_#9437 := strlit_#70302; local_#9438 := { base : local_#9437!base, offset : local_#9437!offset + 0 * 1 }; assert { :LIR "62241" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45417; CFG_45417: assume true; call routine_#33762_luaG_runerror(local_#3867_L,local_#9438,{ base : 0, offset : 0 }); CFG_37192: assume true; } procedure routine_#33774_luaH_next(local_#3870_L_IN : { base : int, offset : int }, local_#3871_t_IN : { base : int, offset : int }, local_#3872_key_IN : { base : int, offset : int }) returns (local_#7778 : int) modifies _memory, _memory_ptr, _valid; { var local_#3870_L : { base : int, offset : int }; var local_#3871_t : { base : int, offset : int }; var local_#3872_key : { base : int, offset : int }; var local_#9439 : int; var local_#31284_i : int; var local_#9440 : int; var local_#9441 : int; var local_#9442 : int; var local_#9443 : int; var local_#9444 : int; var local_#9445 : int; var local_#9446 : { base : int, offset : int }; var local_#9447 : int; var local_#9448 : int; var local_#9449 : int; var local_#9450 : int; var local_#9451 : int; var local_#9452 : int; var local_#31287_io1 : { base : int, offset : int }; var local_#9453 : { base : int, offset : int }; var local_#9454 : { base : int, offset : int }; var local_#9455 : { base : int, offset : int }; var local_#9456 : int; var local_#9457 : int; var local_#9458 : int; var local_#9459 : int; var local_#9460 : { base : int, offset : int }; var local_#31288_io1 : { base : int, offset : int }; var local_#9461 : { base : int, offset : int }; var local_#9462 : int; var local_#9463 : int; var local_#9464 : int; var local_#9465 : { base : int, offset : int }; var local_#9466 : int; var local_#9467 : int; var local_#9468 : int; var local_#9469 : int; var local_#9470 : int; var local_#9471 : int; var local_#31285_io : { base : int, offset : int }; var local_#9472 : int; var local_#9473 : int; var local_#9474 : int; var local_#9475 : { base : int, offset : int }; var local_#9476 : int; var local_#9477 : { base : int, offset : int }; var local_#31286_io1 : { base : int, offset : int }; var local_#9478 : { base : int, offset : int }; var local_#9479 : int; var local_#9480 : int; var local_#9481 : int; local_#3870_L := local_#3870_L_IN; local_#3871_t := local_#3871_t_IN; local_#3872_key := local_#3872_key_IN; goto CFG_36282; CFG_36282: assume true; goto CFG_45418; CFG_45418: assume true; call local_#9439 := routine_#34743_findindex(local_#3870_L,local_#3871_t,local_#3872_key); goto CFG_41631; CFG_41631: assume true; local_#31284_i := local_#9439; goto CFG_49175; CFG_49175: assume true; local_#9440 := (if local_#31284_i < _memory[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 12 }] then 1 else 0); if (local_#9440 != 0) { goto CFG_49178; } else { goto CFG_41632; } CFG_41632: assume true; assume { :symbol "~uwrap32" } true; local_#31284_i := ~uwrap32(local_#31284_i - _memory[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 12 }]); assert { :LIR "67878" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49176; CFG_49176: assume true; local_#9441 := local_#31284_i; assert { :LIR "60245" } { :check "overflow" } { :finding_ids "0" } local_#9441 <= 2147483647; local_#9442 := 1; local_#9443 := _memory[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 11 }]; assert { :LIR "62242" } { :check "overflow" } { :finding_ids "0" } local_#9443 <= 2147483647; local_#9444 := ~shl32(local_#9442, local_#9443); local_#9445 := (if local_#9441 < local_#9444 then 1 else 0); if (local_#9445 != 0) { goto CFG_49177; } else { goto CFG_38085; } CFG_38085: assume true; local_#7778 := 0; goto CFG_37193; CFG_49177: assume true; local_#9446 := { base : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 24 }]!offset + local_#31284_i * 32 }; local_#9447 := 0; local_#9448 := (if _memory[{ base : local_#9446!base, offset : local_#9446!offset + 8 }] == local_#9447 then 1 else 0); local_#9449 := (if local_#9448 != 0 then 0 else 1); if (local_#9449 != 0) { goto CFG_38086; } else { goto CFG_44972; } CFG_44972: assume true; local_#9450 := local_#31284_i; local_#9451 := 1; assume { :symbol "~uwrap32" } true; local_#31284_i := ~uwrap32(local_#9450 + local_#9451); assert { :LIR "66382" } { :check "overflow" } { :finding_ids "0" } true; local_#9452 := local_#9450; goto CFG_49176; CFG_38086: assume true; local_#31287_io1 := local_#3872_key; local_#9453 := { base : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 24 }]!offset + local_#31284_i * 32 }; local_#9454 := { base : local_#9453!base, offset : local_#9453!offset + 16 }; local_#9455 := local_#9454; assert { :LIR "60246" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#9455)!_value_!_b == _memory[{ base : local_#9455!base, offset : local_#9455!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9455)!_value_!_f == _memory_ptr[{ base : local_#9455!base, offset : local_#9455!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9455)!_value_!_gc == _memory_ptr[{ base : local_#9455!base, offset : local_#9455!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9455)!_value_!_i == _memory[{ base : local_#9455!base, offset : local_#9455!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#9455)!_value_!_p == _memory_ptr[{ base : local_#9455!base, offset : local_#9455!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9455)!_tt_ == _memory[{ base : local_#9455!base, offset : local_#9455!offset + 8 }]; call write_type_#101(local_#31287_io1,read_type_#101(_memory, _memory_ptr, local_#9455)); local_#9456 := 0; assert { :LIR "60247" } { :check "overflow" } { :finding_ids "0" } true; local_#9457 := 0; local_#9458 := 0; assert { :LIR "60248" } { :check "overflow" } { :finding_ids "0" } true; local_#9459 := 1; local_#9460 := { base : local_#3872_key!base, offset : local_#3872_key!offset + local_#9459 * 16 }; local_#31288_io1 := local_#9460; local_#9461 := { base : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 24 }]!offset + local_#31284_i * 32 }; assume read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })!_value_!_b == _memory[{ base : local_#9461!base, offset : local_#9461!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })!_value_!_f == _memory_ptr[{ base : local_#9461!base, offset : local_#9461!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })!_value_!_gc == _memory_ptr[{ base : local_#9461!base, offset : local_#9461!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })!_value_!_i == _memory[{ base : local_#9461!base, offset : local_#9461!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })!_value_!_p == _memory_ptr[{ base : local_#9461!base, offset : local_#9461!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })!_tt_ == _memory[{ base : local_#9461!base, offset : local_#9461!offset + 0 + 8 }]; call write_type_#101(local_#31288_io1,read_type_#101(_memory, _memory_ptr, { base : local_#9461!base, offset : local_#9461!offset + 0 })); local_#9462 := 0; assert { :LIR "60249" } { :check "overflow" } { :finding_ids "0" } true; local_#9463 := 0; local_#9464 := 0; assert { :LIR "60250" } { :check "overflow" } { :finding_ids "0" } true; local_#7778 := 1; goto CFG_37193; CFG_49178: assume true; local_#9465 := { base : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 16 }]!offset + local_#31284_i * 16 }; local_#9466 := 0; local_#9467 := (if _memory[{ base : local_#9465!base, offset : local_#9465!offset + 8 }] == local_#9466 then 1 else 0); local_#9468 := (if local_#9467 != 0 then 0 else 1); if (local_#9468 != 0) { goto CFG_38087; } else { goto CFG_44973; } CFG_44973: assume true; local_#9469 := local_#31284_i; local_#9470 := 1; assume { :symbol "~uwrap32" } true; local_#31284_i := ~uwrap32(local_#9469 + local_#9470); assert { :LIR "66383" } { :check "overflow" } { :finding_ids "0" } true; local_#9471 := local_#9469; goto CFG_49175; CFG_38087: assume true; local_#31285_io := local_#3872_key; local_#9472 := 1; assume { :symbol "~uwrap32" } true; local_#9473 := ~uwrap32(local_#31284_i + local_#9472); assert { :LIR "66384" } { :check "overflow" } { :finding_ids "0" } true; local_#9474 := local_#9473; assert { :LIR "62243" } { :check "overflow" } { :finding_ids "0" } local_#9474 <= 9223372036854775807; local_#9475 := { base : local_#31285_io!base, offset : local_#31285_io!offset + 0 }; _memory[local_#9475] := local_#9474; _memory[{ base : local_#31285_io!base, offset : local_#31285_io!offset + 8 }] := 19; local_#9476 := 1; local_#9477 := { base : local_#3872_key!base, offset : local_#3872_key!offset + local_#9476 * 16 }; local_#31286_io1 := local_#9477; local_#9478 := { base : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3871_t!base, offset : local_#3871_t!offset + 16 }]!offset + local_#31284_i * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#9478)!_value_!_b == _memory[{ base : local_#9478!base, offset : local_#9478!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9478)!_value_!_f == _memory_ptr[{ base : local_#9478!base, offset : local_#9478!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9478)!_value_!_gc == _memory_ptr[{ base : local_#9478!base, offset : local_#9478!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9478)!_value_!_i == _memory[{ base : local_#9478!base, offset : local_#9478!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#9478)!_value_!_p == _memory_ptr[{ base : local_#9478!base, offset : local_#9478!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#9478)!_tt_ == _memory[{ base : local_#9478!base, offset : local_#9478!offset + 8 }]; call write_type_#101(local_#31286_io1,read_type_#101(_memory, _memory_ptr, local_#9478)); local_#9479 := 0; assert { :LIR "60251" } { :check "overflow" } { :finding_ids "0" } true; local_#9480 := 0; local_#9481 := 0; assert { :LIR "60252" } { :check "overflow" } { :finding_ids "0" } true; local_#7778 := 1; goto CFG_37193; CFG_37193: assume true; } procedure routine_#33775_luaH_resize(local_#3873_L_IN : { base : int, offset : int }, local_#3874_t_IN : { base : int, offset : int }, local_#3875_nasize_IN : int, local_#3876_nhsize_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3873_L : { base : int, offset : int }; var local_#3874_t : { base : int, offset : int }; var local_#3875_nasize : int; var local_#3876_nhsize : int; var local_#31293_oldasize : int; var local_#9482 : { base : int, offset : int }; var local_#9483 : int; var local_#9484 : int; var local_#9485 : int; var local_#9486 : int; var local_#30603 : int; var local_#31294_oldhsize : int; var local_#31292_nold : { base : int, offset : int }; var local_#9487 : int; var local_#31289_asn : { base : int, offset : int }; var local_#9488 : { base : int, offset : int }; var local_#9489 : { base : int, offset : int }; var local_#9490 : int; var local_#9491 : int; var local_#9492 : int; var local_#9493 : int; var local_#31290_i : int; var local_#9494 : int; var local_#9495 : int; var local_#9496 : int; var local_#9497 : int; var local_#9498 : int; var local_#9499 : int; var local_#9500 : int; var local_#9501 : int; var local_#9502 : int; var local_#9503 : { base : int, offset : int }; var local_#9504 : int; var local_#9505 : int; var local_#9506 : int; var local_#9507 : int; var local_#9508 : int; var local_#9509 : int; var local_#9510 : { base : int, offset : int }; var local_#9511 : { base : int, offset : int }; var local_#9512 : int; var local_#9513 : int; var local_#31291_j : int; var local_#9514 : int; var local_#9515 : int; var local_#9516 : int; var local_#9517 : int; var local_#9518 : { base : int, offset : int }; var local_#9519 : int; var local_#9520 : int; var local_#9521 : int; var local_#9522 : int; var local_#9523 : { base : int, offset : int }; var local_#9524 : { base : int, offset : int }; var local_#31295_old : { base : int, offset : int }; var local_#9525 : int; var local_#9526 : int; var local_#9527 : int; var local_#9528 : { base : int, offset : int }; var local_#9529 : { base : int, offset : int }; var local_#9530 : { base : int, offset : int }; var local_#31296_io1 : { base : int, offset : int }; var local_#9531 : int; var local_#9532 : int; var local_#9533 : int; var local_#9534 : int; var local_#9535 : int; var local_#9536 : int; var local_#9537 : { base : int, offset : int }; var local_#9538 : int; var local_#9539 : int; var local_#9540 : int; var local_#9541 : int; var local_#9542 : int; var local_#9543 : int; var local_#9544 : { base : int, offset : int }; var local_#9545 : int; var local_#9546 : int; var local_#9547 : int; var local_#9548 : int; local_#3873_L := local_#3873_L_IN; local_#3874_t := local_#3874_t_IN; local_#3875_nasize := local_#3875_nasize_IN; local_#3876_nhsize := local_#3876_nhsize_IN; goto CFG_36283; CFG_36283: assume true; goto CFG_49179; CFG_49179: assume true; local_#31293_oldasize := _memory[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 12 }]; local_#9482 := { base : 0, offset : 0 }; local_#9483 := (if _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 32 }] == local_#9482 then 1 else 0); if (local_#9483 != 0) { goto CFG_39864; } else { goto CFG_39863; } CFG_39863: assume true; local_#9484 := 1; local_#9485 := _memory[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 11 }]; assert { :LIR "62244" } { :check "overflow" } { :finding_ids "0" } local_#9485 <= 2147483647; local_#9486 := ~shl32(local_#9484, local_#9485); local_#30603 := local_#9486; goto CFG_49180; CFG_39864: assume true; local_#30603 := 0; goto CFG_49180; CFG_49180: assume true; local_#31294_oldhsize := local_#30603; local_#31292_nold := _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 24 }]; local_#9487 := (if local_#3875_nasize > local_#31293_oldasize then 1 else 0); if (local_#9487 != 0) { goto CFG_45419; } else { goto CFG_42084; } CFG_45419: assume true; call routine_#35056_setarrayvector(local_#3873_L,local_#3874_t,local_#3875_nasize); goto CFG_39865; CFG_39865: assume true; goto CFG_42084; CFG_42084: assume true; _memory_ptr[{ base : local_#31289_asn!base, offset : local_#31289_asn!offset + 0 }] := local_#3874_t; _memory[{ base : local_#31289_asn!base, offset : local_#31289_asn!offset + 8 }] := local_#3876_nhsize; local_#9488 := fun_addr_#34592_auxsetnode; local_#9489 := local_#31289_asn; assert { :LIR "62245" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45420; CFG_45420: assume true; call local_#9490 := routine_#33740_luaD_rawrunprotected(local_#3873_L,local_#9488,local_#9489); goto CFG_49181; CFG_49181: assume true; local_#9491 := 0; local_#9492 := (if local_#9490 != local_#9491 then 1 else 0); if (local_#9492 != 0) { goto CFG_45426; } else { goto CFG_49182; } CFG_49182: assume true; local_#9493 := (if local_#3875_nasize < local_#31293_oldasize then 1 else 0); if (local_#9493 != 0) { goto CFG_41633; } else { goto CFG_41634; } CFG_41633: assume true; _memory[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 12 }] := local_#3875_nasize; local_#31290_i := local_#3875_nasize; goto CFG_49183; CFG_49183: assume true; local_#9494 := (if local_#31290_i < local_#31293_oldasize then 1 else 0); if (local_#9494 != 0) { goto CFG_49189; } else { goto CFG_49184; } CFG_49184: assume true; local_#9495 := 0; if (local_#9495 != 0) { goto CFG_49185; } else { goto CFG_39866; } CFG_49185: assume true; local_#9496 := ~uwrap64(local_#3875_nasize); assert { :LIR "60253" } { :check "overflow" } { :finding_ids "0" } true; local_#9497 := 1; assume { :symbol "~uwrap64" } true; local_#9498 := ~uwrap64(local_#9496 + local_#9497); assert { :LIR "66385" } { :check "overflow" } { :finding_ids "0" } true; local_#9499 := 1152921504606846975; local_#9500 := (if local_#9498 > local_#9499 then 1 else 0); if (local_#9500 != 0) { goto CFG_45424; } else { goto CFG_39866; } CFG_39866: assume true; local_#9501 := 0; local_#9502 := 0; assert { :LIR "60254" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42085; CFG_42085: assume true; local_#9503 := _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]; assert { :LIR "62246" } { :check "overflow" } { :finding_ids "0" } true; local_#9504 := ~uwrap64(local_#31293_oldasize); assert { :LIR "62247" } { :check "overflow" } { :finding_ids "0" } true; local_#9505 := 16; assume { :symbol "~uwrap64" } true; local_#9506 := ~uwrap64(local_#9504 * local_#9505); assert { :LIR "68509" } { :check "overflow" } { :finding_ids "0" } true; local_#9507 := ~uwrap64(local_#3875_nasize); assert { :LIR "62248" } { :check "overflow" } { :finding_ids "0" } true; local_#9508 := 16; assume { :symbol "~uwrap64" } true; local_#9509 := ~uwrap64(local_#9507 * local_#9508); assert { :LIR "68510" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45421; CFG_45421: assume true; call local_#9510 := routine_#33857_luaM_realloc_(local_#3873_L,local_#9503,local_#9506,local_#9509); goto CFG_39867; CFG_39867: assume true; local_#9511 := local_#9510; assert { :LIR "60255" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }] := local_#9511; goto CFG_41634; CFG_41634: assume true; local_#9512 := 1; local_#9513 := local_#31294_oldhsize - local_#9512; assert { :LIR "67879" } { :check "overflow" } { :finding_ids "0" } local_#9513 <= 2147483647; local_#31291_j := local_#9513; goto CFG_49186; CFG_49186: assume true; local_#9514 := 0; local_#9515 := (if local_#31291_j >= local_#9514 then 1 else 0); if (local_#9515 != 0) { goto CFG_49188; } else { goto CFG_49187; } CFG_49187: assume true; local_#9516 := 0; local_#9517 := (if local_#31294_oldhsize > local_#9516 then 1 else 0); if (local_#9517 != 0) { goto CFG_42086; } else { goto CFG_39105; } CFG_42086: assume true; local_#9518 := local_#31292_nold; assert { :LIR "62249" } { :check "overflow" } { :finding_ids "0" } true; local_#9519 := ~uwrap64(local_#31294_oldhsize); assert { :LIR "60256" } { :check "overflow" } { :finding_ids "0" } true; local_#9520 := 32; assume { :symbol "~uwrap64" } true; local_#9521 := ~uwrap64(local_#9519 * local_#9520); assert { :LIR "68511" } { :check "overflow" } { :finding_ids "0" } true; local_#9522 := 0; goto CFG_45422; CFG_45422: assume true; call local_#9523 := routine_#33857_luaM_realloc_(local_#3873_L,local_#9518,local_#9521,local_#9522); goto CFG_39868; CFG_39868: assume true; goto CFG_39105; CFG_39105: assume true; goto CFG_37194; CFG_49188: assume true; local_#9524 := { base : local_#31292_nold!base, offset : local_#31292_nold!offset + local_#31291_j * 32 }; local_#31295_old := local_#9524; local_#9525 := 0; local_#9526 := (if _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 8 }] == local_#9525 then 1 else 0); local_#9527 := (if local_#9526 != 0 then 0 else 1); if (local_#9527 != 0) { goto CFG_42087; } else { goto CFG_44974; } CFG_42087: assume true; local_#9528 := { base : local_#31295_old!base, offset : local_#31295_old!offset + 16 }; local_#9529 := local_#9528; assert { :LIR "60257" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45423; CFG_45423: assume true; call local_#9530 := routine_#33777_luaH_set(local_#3873_L,local_#3874_t,local_#9529); goto CFG_39869; CFG_39869: assume true; local_#31296_io1 := local_#9530; assume read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_b == _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_f == _memory_ptr[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_gc == _memory_ptr[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_i == _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_value_!_p == _memory_ptr[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })!_tt_ == _memory[{ base : local_#31295_old!base, offset : local_#31295_old!offset + 0 + 8 }]; call write_type_#101(local_#31296_io1,read_type_#101(_memory, _memory_ptr, { base : local_#31295_old!base, offset : local_#31295_old!offset + 0 })); local_#9531 := 0; assert { :LIR "60258" } { :check "overflow" } { :finding_ids "0" } true; local_#9532 := 0; local_#9533 := 0; assert { :LIR "60259" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44974; CFG_44974: assume true; local_#9534 := local_#31291_j; local_#9535 := 1; local_#31291_j := local_#9534 - local_#9535; assert { :LIR "67880" } { :check "overflow" } { :finding_ids "0" } local_#31291_j <= 2147483647; local_#9536 := local_#9534; goto CFG_49186; CFG_45424: assume true; call routine_#33858_luaM_toobig(local_#3873_L); CFG_49189: assume true; local_#9537 := { base : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!offset + local_#31290_i * 16 }; local_#9538 := 0; local_#9539 := (if _memory[{ base : local_#9537!base, offset : local_#9537!offset + 8 }] == local_#9538 then 1 else 0); local_#9540 := (if local_#9539 != 0 then 0 else 1); if (local_#9540 != 0) { goto CFG_42088; } else { goto CFG_44975; } CFG_42088: assume true; local_#9541 := 1; assume { :symbol "~uwrap32" } true; local_#9542 := ~uwrap32(local_#31290_i + local_#9541); assert { :LIR "66386" } { :check "overflow" } { :finding_ids "0" } true; local_#9543 := local_#9542; assert { :LIR "62250" } { :check "overflow" } { :finding_ids "0" } local_#9543 <= 9223372036854775807; local_#9544 := { base : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#3874_t!base, offset : local_#3874_t!offset + 16 }]!offset + local_#31290_i * 16 }; goto CFG_45425; CFG_45425: assume true; call routine_#33778_luaH_setint(local_#3873_L,local_#3874_t,local_#9543,local_#9544); goto CFG_39870; CFG_39870: assume true; goto CFG_44975; CFG_44975: assume true; local_#9545 := local_#31290_i; local_#9546 := 1; assume { :symbol "~uwrap32" } true; local_#31290_i := ~uwrap32(local_#9545 + local_#9546); assert { :LIR "66387" } { :check "overflow" } { :finding_ids "0" } true; local_#9547 := local_#9545; goto CFG_49183; CFG_45426: assume true; call routine_#35056_setarrayvector(local_#3873_L,local_#3874_t,local_#31293_oldasize); goto CFG_42089; CFG_42089: assume true; local_#9548 := 4; goto CFG_45427; CFG_45427: assume true; call routine_#33743_luaD_throw(local_#3873_L,local_#9548); CFG_39871: assume true; goto CFG_42085; CFG_37194: assume true; } procedure routine_#33776_luaH_resizearray(local_#3877_L_IN : { base : int, offset : int }, local_#3878_t_IN : { base : int, offset : int }, local_#3879_nasize_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3877_L : { base : int, offset : int }; var local_#3878_t : { base : int, offset : int }; var local_#3879_nasize : int; var local_#9549 : { base : int, offset : int }; var local_#9550 : int; var local_#9551 : int; var local_#9552 : int; var local_#9553 : int; var local_#30604 : int; var local_#31297_nsize : int; var local_#9554 : int; local_#3877_L := local_#3877_L_IN; local_#3878_t := local_#3878_t_IN; local_#3879_nasize := local_#3879_nasize_IN; goto CFG_36284; CFG_36284: assume true; goto CFG_49190; CFG_49190: assume true; local_#9549 := { base : 0, offset : 0 }; local_#9550 := (if _memory_ptr[{ base : local_#3878_t!base, offset : local_#3878_t!offset + 32 }] == local_#9549 then 1 else 0); if (local_#9550 != 0) { goto CFG_39873; } else { goto CFG_39872; } CFG_39872: assume true; local_#9551 := 1; local_#9552 := _memory[{ base : local_#3878_t!base, offset : local_#3878_t!offset + 11 }]; assert { :LIR "62251" } { :check "overflow" } { :finding_ids "0" } local_#9552 <= 2147483647; local_#9553 := ~shl32(local_#9551, local_#9552); local_#30604 := local_#9553; goto CFG_42090; CFG_39873: assume true; local_#30604 := 0; goto CFG_42090; CFG_42090: assume true; local_#31297_nsize := local_#30604; local_#9554 := ~uwrap32(local_#31297_nsize); assert { :LIR "62252" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45428; CFG_45428: assume true; call routine_#33775_luaH_resize(local_#3877_L,local_#3878_t,local_#3879_nasize,local_#9554); goto CFG_39106; CFG_39106: assume true; goto CFG_37195; CFG_37195: assume true; } procedure routine_#33777_luaH_set(local_#3880_L_IN : { base : int, offset : int }, local_#3881_t_IN : { base : int, offset : int }, local_#3882_key_IN : { base : int, offset : int }) returns (local_#7779 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3880_L : { base : int, offset : int }; var local_#3881_t : { base : int, offset : int }; var local_#3882_key : { base : int, offset : int }; var local_#9555 : { base : int, offset : int }; var local_#31298_p : { base : int, offset : int }; var local_#9556 : int; var local_#9557 : { base : int, offset : int }; var local_#9558 : { base : int, offset : int }; local_#3880_L := local_#3880_L_IN; local_#3881_t := local_#3881_t_IN; local_#3882_key := local_#3882_key_IN; goto CFG_36285; CFG_36285: assume true; goto CFG_45429; CFG_45429: assume true; call local_#9555 := routine_#33767_luaH_get(local_#3881_t,local_#3882_key); goto CFG_49191; CFG_49191: assume true; local_#31298_p := local_#9555; local_#9556 := (if local_#31298_p != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#9556 != 0) { goto CFG_38089; } else { goto CFG_45430; } CFG_45430: assume true; call local_#9557 := routine_#33773_luaH_newkey(local_#3880_L,local_#3881_t,local_#3882_key); goto CFG_38088; CFG_38088: assume true; local_#7779 := local_#9557; goto CFG_37196; CFG_38089: assume true; local_#9558 := local_#31298_p; assert { :LIR "60260" } { :check "overflow" } { :finding_ids "0" } true; local_#7779 := local_#9558; goto CFG_37196; CFG_37196: assume true; } procedure routine_#33778_luaH_setint(local_#3883_L_IN : { base : int, offset : int }, local_#3884_t_IN : { base : int, offset : int }, local_#3885_key_IN : int, local_#3886_value_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3883_L : { base : int, offset : int }; var local_#3884_t : { base : int, offset : int }; var local_#3885_key : int; var local_#3886_value : { base : int, offset : int }; var local_#9559 : { base : int, offset : int }; var local_#31300_p : { base : int, offset : int }; var local_#9560 : int; var local_#31301_k : { base : int, offset : int }; var local_#31302_io : { base : int, offset : int }; var local_#9561 : { base : int, offset : int }; var local_#9562 : { base : int, offset : int }; var local_#9563 : { base : int, offset : int }; var local_#31299_cell : { base : int, offset : int }; var local_#9564 : { base : int, offset : int }; var local_#9565 : int; var local_#9566 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#9567 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#9568 : int; var local_#9569 : int; local_#3883_L := local_#3883_L_IN; local_#3884_t := local_#3884_t_IN; local_#3885_key := local_#3885_key_IN; local_#3886_value := local_#3886_value_IN; goto CFG_36286; CFG_36286: assume true; goto CFG_45431; CFG_45431: assume true; call local_#9559 := routine_#33768_luaH_getint(local_#3884_t,local_#3885_key); goto CFG_49192; CFG_49192: assume true; local_#31300_p := local_#9559; local_#9560 := (if local_#31300_p != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#9560 != 0) { goto CFG_39875; } else { goto CFG_42091; } CFG_42091: assume true; local_#31302_io := local_#31301_k; local_#9561 := { base : local_#31302_io!base, offset : local_#31302_io!offset + 0 }; _memory[local_#9561] := local_#3885_key; _memory[{ base : local_#31302_io!base, offset : local_#31302_io!offset + 8 }] := 19; local_#9562 := local_#31301_k; assert { :LIR "62253" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45432; CFG_45432: assume true; call local_#9563 := routine_#33773_luaH_newkey(local_#3883_L,local_#3884_t,local_#9562); goto CFG_39874; CFG_39874: assume true; local_#31299_cell := local_#9563; goto CFG_39107; CFG_39875: assume true; local_#9564 := local_#31300_p; assert { :LIR "60261" } { :check "overflow" } { :finding_ids "0" } true; local_#31299_cell := local_#9564; goto CFG_39107; CFG_39107: assume true; local_#9565 := 0; assert { :LIR "60262" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_b == _memory[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_f == _memory_ptr[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_gc == _memory_ptr[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_i == _memory[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_value_!_p == _memory_ptr[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#3886_value)!_tt_ == _memory[{ base : local_#3886_value!base, offset : local_#3886_value!offset + 8 }]; call write_type_#101(local_#31299_cell,read_type_#101(_memory, _memory_ptr, local_#3886_value)); assume read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_b == _memory[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_f == _memory_ptr[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_gc == _memory_ptr[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_i == _memory[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_value_!_p == _memory_ptr[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31299_cell)!_tt_ == _memory[{ base : local_#31299_cell!base, offset : local_#31299_cell!offset + 8 }]; local_#9566 := read_type_#101(_memory, _memory_ptr, local_#31299_cell); local_#9567 := local_#9566; local_#9568 := 0; local_#9569 := 0; assert { :LIR "60263" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37197; CFG_37197: assume true; } procedure routine_#33779_luaK_checkstack(local_#3887_fs_IN : { base : int, offset : int }, local_#3888_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3887_fs : { base : int, offset : int }; var local_#3888_n : int; var local_#9570 : int; var local_#9571 : int; var local_#31303_newstack : int; var local_#9572 : { base : int, offset : int }; var local_#9573 : int; var local_#9574 : int; var local_#9575 : int; var local_#9576 : int; var local_#9577 : int; var local_#9578 : { base : int, offset : int }; var local_#9579 : { base : int, offset : int }; var local_#9580 : { base : int, offset : int }; var local_#9581 : { base : int, offset : int }; local_#3887_fs := local_#3887_fs_IN; local_#3888_n := local_#3888_n_IN; goto CFG_36287; CFG_36287: assume true; goto CFG_49193; CFG_49193: assume true; local_#9570 := _memory[{ base : local_#3887_fs!base, offset : local_#3887_fs!offset + 60 }]; assert { :LIR "62254" } { :check "overflow" } { :finding_ids "0" } local_#9570 <= 2147483647; local_#9571 := local_#9570 + local_#3888_n; assert { :LIR "66388" } { :check "overflow" } { :finding_ids "0" } local_#9571 <= 2147483647; local_#31303_newstack := local_#9571; local_#9572 := _memory_ptr[{ base : local_#3887_fs!base, offset : local_#3887_fs!offset + 0 }]; local_#9573 := _memory[{ base : local_#9572!base, offset : local_#9572!offset + 12 }]; assert { :LIR "62255" } { :check "overflow" } { :finding_ids "0" } local_#9573 <= 2147483647; local_#9574 := (if local_#31303_newstack > local_#9573 then 1 else 0); if (local_#9574 != 0) { goto CFG_49194; } else { goto CFG_39108; } CFG_49194: assume true; local_#9575 := 255; local_#9576 := (if local_#31303_newstack >= local_#9575 then 1 else 0); if (local_#9576 != 0) { goto CFG_42092; } else { goto CFG_39876; } CFG_39876: assume true; local_#9577 := ~uwrap8(local_#31303_newstack); assert { :LIR "60264" } { :check "overflow" } { :finding_ids "0" } true; local_#9578 := _memory_ptr[{ base : local_#3887_fs!base, offset : local_#3887_fs!offset + 0 }]; _memory[{ base : local_#9578!base, offset : local_#9578!offset + 12 }] := local_#9577; goto CFG_39108; CFG_39108: assume true; goto CFG_37198; CFG_42092: assume true; local_#9579 := _memory_ptr[{ base : local_#3887_fs!base, offset : local_#3887_fs!offset + 16 }]; assume _memory[{ base : strlit_#70303!base, offset : strlit_#70303!offset + 47 }] == 0; local_#9580 := strlit_#70303; local_#9581 := { base : local_#9580!base, offset : local_#9580!offset + 0 * 1 }; assert { :LIR "62256" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45433; CFG_45433: assume true; call routine_#33910_luaX_syntaxerror(local_#9579,local_#9581); CFG_37198: assume true; } procedure routine_#33780_luaK_codeABC(local_#3889_fs_IN : { base : int, offset : int }, local_#3890_o_IN : int, local_#3891_a_IN : int, local_#3892_b_IN : int, local_#3893_c_IN : int) returns (local_#7780 : int) modifies _memory, _memory_ptr, _valid; { var local_#3889_fs : { base : int, offset : int }; var local_#3890_o : int; var local_#3891_a : int; var local_#3892_b : int; var local_#3893_c : int; var local_#9582 : int; var local_#9583 : int; var local_#9584 : int; var local_#9585 : int; var local_#9586 : int; var local_#9587 : int; var local_#9588 : int; var local_#9589 : int; var local_#9590 : int; var local_#9591 : int; var local_#9592 : int; var local_#9593 : int; var local_#9594 : int; var local_#9595 : int; var local_#9596 : int; var local_#9597 : int; var local_#9598 : int; var local_#9599 : int; var local_#9600 : int; var local_#9601 : int; var local_#9602 : int; var local_#9603 : int; var local_#9604 : int; var local_#9605 : int; local_#3889_fs := local_#3889_fs_IN; local_#3890_o := local_#3890_o_IN; local_#3891_a := local_#3891_a_IN; local_#3892_b := local_#3892_b_IN; local_#3893_c := local_#3893_c_IN; goto CFG_36288; CFG_36288: assume true; goto CFG_42093; CFG_42093: assume true; local_#9582 := 0; local_#9583 := 0; assert { :LIR "60265" } { :check "overflow" } { :finding_ids "0" } true; local_#9584 := 0; local_#9585 := 0; assert { :LIR "60266" } { :check "overflow" } { :finding_ids "0" } true; local_#9586 := 0; local_#9587 := 0; assert { :LIR "60267" } { :check "overflow" } { :finding_ids "0" } true; local_#9588 := 0; local_#9589 := 0; assert { :LIR "60268" } { :check "overflow" } { :finding_ids "0" } true; local_#9590 := ~uwrap32(local_#3890_o); assert { :LIR "60269" } { :check "overflow" } { :finding_ids "0" } true; local_#9591 := 0; local_#9592 := ~shl32(local_#9590, local_#9591); local_#9593 := ~uwrap32(local_#3891_a); assert { :LIR "60270" } { :check "overflow" } { :finding_ids "0" } true; local_#9594 := 6; local_#9595 := ~shl32(local_#9593, local_#9594); local_#9596 := ~uor32(local_#9592, local_#9595); local_#9597 := ~uwrap32(local_#3892_b); assert { :LIR "60271" } { :check "overflow" } { :finding_ids "0" } true; local_#9598 := 23; local_#9599 := ~shl32(local_#9597, local_#9598); local_#9600 := ~uor32(local_#9596, local_#9599); local_#9601 := ~uwrap32(local_#3893_c); assert { :LIR "60272" } { :check "overflow" } { :finding_ids "0" } true; local_#9602 := 14; local_#9603 := ~shl32(local_#9601, local_#9602); local_#9604 := ~uor32(local_#9600, local_#9603); goto CFG_45434; CFG_45434: assume true; call local_#9605 := routine_#34904_luaK_code(local_#3889_fs,local_#9604); goto CFG_38090; CFG_38090: assume true; local_#7780 := local_#9605; goto CFG_37199; CFG_37199: assume true; } procedure routine_#33781_luaK_codeABx(local_#3894_fs_IN : { base : int, offset : int }, local_#3895_o_IN : int, local_#3896_a_IN : int, local_#3897_bc_IN : int) returns (local_#7781 : int) modifies _memory, _memory_ptr, _valid; { var local_#3894_fs : { base : int, offset : int }; var local_#3895_o : int; var local_#3896_a : int; var local_#3897_bc : int; var local_#9606 : int; var local_#9607 : int; var local_#9608 : int; var local_#9609 : int; var local_#9610 : int; var local_#9611 : int; var local_#9612 : int; var local_#9613 : int; var local_#9614 : int; var local_#9615 : int; var local_#9616 : int; var local_#9617 : int; var local_#9618 : int; var local_#9619 : int; var local_#9620 : int; var local_#9621 : int; var local_#9622 : int; var local_#9623 : int; local_#3894_fs := local_#3894_fs_IN; local_#3895_o := local_#3895_o_IN; local_#3896_a := local_#3896_a_IN; local_#3897_bc := local_#3897_bc_IN; goto CFG_36289; CFG_36289: assume true; goto CFG_42094; CFG_42094: assume true; local_#9606 := 0; local_#9607 := 0; assert { :LIR "60273" } { :check "overflow" } { :finding_ids "0" } true; local_#9608 := 0; local_#9609 := 0; assert { :LIR "60274" } { :check "overflow" } { :finding_ids "0" } true; local_#9610 := 0; local_#9611 := 0; assert { :LIR "60275" } { :check "overflow" } { :finding_ids "0" } true; local_#9612 := ~uwrap32(local_#3895_o); assert { :LIR "60276" } { :check "overflow" } { :finding_ids "0" } true; local_#9613 := 0; local_#9614 := ~shl32(local_#9612, local_#9613); local_#9615 := ~uwrap32(local_#3896_a); assert { :LIR "60277" } { :check "overflow" } { :finding_ids "0" } true; local_#9616 := 6; local_#9617 := ~shl32(local_#9615, local_#9616); local_#9618 := ~uor32(local_#9614, local_#9617); local_#9619 := ~uwrap32(local_#3897_bc); assert { :LIR "60278" } { :check "overflow" } { :finding_ids "0" } true; local_#9620 := 14; local_#9621 := ~shl32(local_#9619, local_#9620); local_#9622 := ~uor32(local_#9618, local_#9621); goto CFG_45435; CFG_45435: assume true; call local_#9623 := routine_#34904_luaK_code(local_#3894_fs,local_#9622); goto CFG_38091; CFG_38091: assume true; local_#7781 := local_#9623; goto CFG_37200; CFG_37200: assume true; } procedure routine_#33782_luaK_codek(local_#3898_fs_IN : { base : int, offset : int }, local_#3899_reg_IN : int, local_#3900_k_IN : int) returns (local_#7782 : int) modifies _memory, _memory_ptr, _valid; { var local_#3898_fs : { base : int, offset : int }; var local_#3899_reg : int; var local_#3900_k : int; var local_#9624 : int; var local_#9625 : int; var local_#9626 : int; var local_#9627 : int; var local_#9628 : int; var local_#31304_p : int; var local_#9629 : int; var local_#9630 : int; var local_#9631 : int; var local_#9632 : int; local_#3898_fs := local_#3898_fs_IN; local_#3899_reg := local_#3899_reg_IN; local_#3900_k := local_#3900_k_IN; goto CFG_36290; CFG_36290: assume true; goto CFG_49195; CFG_49195: assume true; local_#9624 := 262143; local_#9625 := (if local_#3900_k <= local_#9624 then 1 else 0); if (local_#9625 != 0) { goto CFG_42097; } else { goto CFG_42095; } CFG_42095: assume true; local_#9626 := 2; local_#9627 := 0; goto CFG_45436; CFG_45436: assume true; call local_#9628 := routine_#33781_luaK_codeABx(local_#3898_fs,local_#9626,local_#3899_reg,local_#9627); goto CFG_42096; CFG_42096: assume true; local_#31304_p := local_#9628; goto CFG_45437; CFG_45437: assume true; call local_#9629 := routine_#34655_codeextraarg(local_#3898_fs,local_#3900_k); goto CFG_38092; CFG_38092: assume true; local_#7782 := local_#31304_p; goto CFG_37201; CFG_42097: assume true; local_#9630 := 1; local_#9631 := ~uwrap32(local_#3900_k); assert { :LIR "62257" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45438; CFG_45438: assume true; call local_#9632 := routine_#33781_luaK_codeABx(local_#3898_fs,local_#9630,local_#3899_reg,local_#9631); goto CFG_38093; CFG_38093: assume true; local_#7782 := local_#9632; goto CFG_37201; CFG_37201: assume true; } procedure routine_#33783_luaK_concat(local_#3901_fs_IN : { base : int, offset : int }, local_#3902_l1_IN : { base : int, offset : int }, local_#3903_l2_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3901_fs : { base : int, offset : int }; var local_#3902_l1 : { base : int, offset : int }; var local_#3903_l2 : int; var local_#9633 : int; var local_#9634 : int; var local_#9635 : int; var local_#9636 : int; var local_#31305_list : int; var local_#9637 : int; var local_#31306_next : int; var local_#9638 : int; var local_#9639 : int; local_#3901_fs := local_#3901_fs_IN; local_#3902_l1 := local_#3902_l1_IN; local_#3903_l2 := local_#3903_l2_IN; goto CFG_36291; CFG_36291: assume true; goto CFG_49196; CFG_49196: assume true; local_#9633 := -1; local_#9634 := (if local_#3903_l2 == local_#9633 then 1 else 0); if (local_#9634 != 0) { goto CFG_39110; } else { goto CFG_49197; } CFG_49197: assume true; local_#9635 := -1; local_#9636 := (if _memory[local_#3902_l1] == local_#9635 then 1 else 0); if (local_#9636 != 0) { goto CFG_39878; } else { goto CFG_41635; } CFG_41635: assume true; local_#31305_list := _memory[local_#3902_l1]; goto CFG_45439; CFG_45439: assume true; call local_#9637 := routine_#34790_getjump(local_#3901_fs,local_#31305_list); goto CFG_49198; CFG_49198: assume true; local_#31306_next := local_#9637; local_#9638 := -1; local_#9639 := (if local_#31306_next != local_#9638 then 1 else 0); if (local_#9639 != 0) { goto CFG_44976; } else { goto CFG_45440; } CFG_45440: assume true; call routine_#34753_fixjump(local_#3901_fs,local_#31305_list,local_#3903_l2); goto CFG_39877; CFG_39877: assume true; goto CFG_39879; CFG_44976: assume true; local_#31305_list := local_#31306_next; goto CFG_45439; CFG_39878: assume true; _memory[local_#3902_l1] := local_#3903_l2; goto CFG_39879; CFG_39879: assume true; goto CFG_39109; CFG_39109: assume true; goto CFG_37202; CFG_39110: assume true; goto CFG_37202; CFG_37202: assume true; } procedure routine_#33784_luaK_dischargevars(local_#3904_fs_IN : { base : int, offset : int }, local_#3905_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3904_fs : { base : int, offset : int }; var local_#3905_e : { base : int, offset : int }; var local_#9640 : int; var local_#9641 : { base : int, offset : int }; var local_#9642 : int; var local_#9643 : { base : int, offset : int }; var local_#9644 : int; var local_#9645 : int; var local_#9646 : int; var local_#9647 : int; var local_#9648 : int; var local_#31307_op : int; var local_#9649 : { base : int, offset : int }; var local_#9650 : int; var local_#9651 : int; var local_#9652 : { base : int, offset : int }; var local_#9653 : int; var local_#9654 : { base : int, offset : int }; var local_#9655 : int; var local_#9656 : int; var local_#9657 : { base : int, offset : int }; var local_#9658 : int; var local_#9659 : int; var local_#9660 : { base : int, offset : int }; var local_#9661 : int; var local_#9662 : int; var local_#9663 : int; var local_#9664 : { base : int, offset : int }; local_#3904_fs := local_#3904_fs_IN; local_#3905_e := local_#3905_e_IN; goto CFG_36292; CFG_36292: assume true; goto CFG_51502; CFG_51502: assume true; local_#9640 := _memory[{ base : local_#3905_e!base, offset : local_#3905_e!offset + 0 }]; if (local_#9640 == 8) { goto CFG_39464; } if (local_#9640 == 9) { goto CFG_42101; } if (local_#9640 == 10) { goto CFG_42098; } if (local_#9640 == 14) { goto CFG_45441; } if (local_#9640 == 13) { goto CFG_45441; } goto CFG_39460; CFG_39460: assume true; goto CFG_39111; CFG_45441: assume true; call routine_#33808_luaK_setoneret(local_#3904_fs,local_#3905_e); goto CFG_39461; CFG_39461: assume true; goto CFG_39111; CFG_42098: assume true; local_#9641 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; local_#9642 := _memory[{ base : local_#9641!base, offset : local_#9641!offset + 0 }]; assert { :LIR "62258" } { :check "overflow" } { :finding_ids "0" } local_#9642 <= 2147483647; goto CFG_45442; CFG_45442: assume true; call routine_#34763_freereg(local_#3904_fs,local_#9642); goto CFG_49199; CFG_49199: assume true; local_#9643 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; local_#9644 := _memory[{ base : local_#9643!base, offset : local_#9643!offset + 3 }]; assert { :LIR "62259" } { :check "overflow" } { :finding_ids "0" } local_#9644 <= 2147483647; local_#9645 := 8; local_#9646 := (if local_#9644 == local_#9645 then 1 else 0); if (local_#9646 != 0) { goto CFG_42099; } else { goto CFG_39880; } CFG_39880: assume true; local_#9647 := 0; local_#9648 := 0; assert { :LIR "60279" } { :check "overflow" } { :finding_ids "0" } true; local_#31307_op := 6; goto CFG_42100; CFG_42099: assume true; local_#9649 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; local_#9650 := _memory[{ base : local_#9649!base, offset : local_#9649!offset + 2 }]; assert { :LIR "62260" } { :check "overflow" } { :finding_ids "0" } local_#9650 <= 2147483647; goto CFG_45443; CFG_45443: assume true; call routine_#34763_freereg(local_#3904_fs,local_#9650); goto CFG_39881; CFG_39881: assume true; local_#31307_op := 7; goto CFG_42100; CFG_42100: assume true; local_#9651 := 0; local_#9652 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; local_#9653 := _memory[{ base : local_#9652!base, offset : local_#9652!offset + 2 }]; assert { :LIR "62261" } { :check "overflow" } { :finding_ids "0" } local_#9653 <= 2147483647; local_#9654 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; local_#9655 := _memory[{ base : local_#9654!base, offset : local_#9654!offset + 0 }]; assert { :LIR "62262" } { :check "overflow" } { :finding_ids "0" } local_#9655 <= 2147483647; goto CFG_45444; CFG_45444: assume true; call local_#9656 := routine_#33780_luaK_codeABC(local_#3904_fs,local_#31307_op,local_#9651,local_#9653,local_#9655); goto CFG_39462; CFG_39462: assume true; local_#9657 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; _memory[local_#9657] := local_#9656; _memory[{ base : local_#3905_e!base, offset : local_#3905_e!offset + 0 }] := 12; goto CFG_39111; CFG_42101: assume true; local_#9658 := 5; local_#9659 := 0; local_#9660 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; local_#9661 := _memory[local_#9660]; local_#9662 := 0; goto CFG_45445; CFG_45445: assume true; call local_#9663 := routine_#33780_luaK_codeABC(local_#3904_fs,local_#9658,local_#9659,local_#9661,local_#9662); goto CFG_39463; CFG_39463: assume true; local_#9664 := { base : local_#3905_e!base, offset : local_#3905_e!offset + 8 }; _memory[local_#9664] := local_#9663; _memory[{ base : local_#3905_e!base, offset : local_#3905_e!offset + 0 }] := 12; goto CFG_39111; CFG_39464: assume true; _memory[{ base : local_#3905_e!base, offset : local_#3905_e!offset + 0 }] := 7; goto CFG_39111; CFG_39111: assume true; goto CFG_37203; CFG_41899: assume true; goto CFG_39111; CFG_37203: assume true; } procedure routine_#33785_luaK_exp2RK(local_#3906_fs_IN : { base : int, offset : int }, local_#3907_e_IN : { base : int, offset : int }) returns (local_#7783 : int) modifies _memory, _memory_ptr, _valid; { var local_#3906_fs : { base : int, offset : int }; var local_#3907_e : { base : int, offset : int }; var local_#9665 : int; var local_#9666 : { base : int, offset : int }; var nondet_#0 : int; var local_#9667 : int; var local_#9668 : int; var local_#9669 : { base : int, offset : int }; var local_#9670 : { base : int, offset : int }; var local_#9671 : int; var local_#9672 : int; var local_#9673 : { base : int, offset : int }; var local_#9674 : int; var local_#9675 : { base : int, offset : int }; var local_#9676 : int; var local_#9677 : int; var local_#9678 : { base : int, offset : int }; var local_#9679 : int; var local_#9680 : int; var local_#9681 : { base : int, offset : int }; var local_#9682 : { base : int, offset : int }; var local_#9683 : int; var local_#9684 : int; var local_#9685 : int; var local_#9686 : { base : int, offset : int }; var local_#9687 : int; var local_#9688 : int; local_#3906_fs := local_#3906_fs_IN; local_#3907_e := local_#3907_e_IN; goto CFG_36293; CFG_36293: assume true; goto CFG_45446; CFG_45446: assume true; call routine_#33789_luaK_exp2val(local_#3906_fs,local_#3907_e); goto CFG_51503; CFG_51503: assume true; local_#9665 := _memory[{ base : local_#3907_e!base, offset : local_#3907_e!offset + 0 }]; if (local_#9665 == 2) { goto CFG_42105; } if (local_#9665 == 3) { goto CFG_42104; } if (local_#9665 == 1) { goto CFG_45449; } if (local_#9665 == 6) { goto CFG_42103; } if (local_#9665 == 5) { goto CFG_42102; } if (local_#9665 == 4) { goto CFG_41900; } goto CFG_39465; CFG_39465: assume true; goto CFG_45452; CFG_41900: assume true; goto CFG_49200; CFG_42102: assume true; local_#9666 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; havoc nondet_#0; local_#9667 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_45447; CFG_45447: assume true; call local_#9668 := routine_#34905_luaK_numberK(local_#3906_fs,local_#9667); goto CFG_45239; CFG_45239: assume true; local_#9669 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; _memory[local_#9669] := local_#9668; goto CFG_49200; CFG_42103: assume true; local_#9670 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; local_#9671 := _memory[local_#9670]; goto CFG_45448; CFG_45448: assume true; call local_#9672 := routine_#33796_luaK_intK(local_#3906_fs,local_#9671); goto CFG_45240; CFG_45240: assume true; local_#9673 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; _memory[local_#9673] := local_#9672; goto CFG_49200; CFG_45449: assume true; call local_#9674 := routine_#34964_nilK(local_#3906_fs); goto CFG_45241; CFG_45241: assume true; local_#9675 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; _memory[local_#9675] := local_#9674; goto CFG_49200; CFG_42104: assume true; local_#9676 := 0; goto CFG_45450; CFG_45450: assume true; call local_#9677 := routine_#34614_boolK(local_#3906_fs,local_#9676); goto CFG_45242; CFG_45242: assume true; local_#9678 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; _memory[local_#9678] := local_#9677; goto CFG_49200; CFG_42105: assume true; local_#9679 := 1; goto CFG_45451; CFG_45451: assume true; call local_#9680 := routine_#34614_boolK(local_#3906_fs,local_#9679); goto CFG_45243; CFG_45243: assume true; local_#9681 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; _memory[local_#9681] := local_#9680; goto CFG_49200; CFG_49200: assume true; _memory[{ base : local_#3907_e!base, offset : local_#3907_e!offset + 0 }] := 4; local_#9682 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; local_#9683 := 255; local_#9684 := (if _memory[local_#9682] <= local_#9683 then 1 else 0); if (local_#9684 != 0) { goto CFG_38095; } else { goto CFG_39466; } CFG_39466: assume true; goto CFG_45452; CFG_45452: assume true; call local_#9685 := routine_#33786_luaK_exp2anyreg(local_#3906_fs,local_#3907_e); goto CFG_38094; CFG_38094: assume true; local_#7783 := local_#9685; goto CFG_37204; CFG_38095: assume true; local_#9686 := { base : local_#3907_e!base, offset : local_#3907_e!offset + 8 }; local_#9687 := 256; local_#9688 := ~sor32(_memory[local_#9686], local_#9687); local_#7783 := local_#9688; goto CFG_37204; CFG_41901: assume true; goto CFG_45452; CFG_37204: assume true; } procedure routine_#33786_luaK_exp2anyreg(local_#3908_fs_IN : { base : int, offset : int }, local_#3909_e_IN : { base : int, offset : int }) returns (local_#7784 : int) modifies _memory, _memory_ptr, _valid; { var local_#3908_fs : { base : int, offset : int }; var local_#3909_e : { base : int, offset : int }; var local_#9689 : int; var local_#9690 : int; var local_#9691 : int; var local_#9692 : int; var local_#9693 : int; var local_#9694 : { base : int, offset : int }; var local_#9695 : int; var local_#9696 : int; var local_#9697 : { base : int, offset : int }; var local_#9698 : { base : int, offset : int }; var local_#9699 : int; var local_#9700 : { base : int, offset : int }; var local_#9701 : { base : int, offset : int }; local_#3908_fs := local_#3908_fs_IN; local_#3909_e := local_#3909_e_IN; goto CFG_36294; CFG_36294: assume true; goto CFG_45453; CFG_45453: assume true; call routine_#33784_luaK_dischargevars(local_#3908_fs,local_#3909_e); goto CFG_49201; CFG_49201: assume true; local_#9689 := ~uwrap32(_memory[{ base : local_#3909_e!base, offset : local_#3909_e!offset + 0 }]); assert { :LIR "62263" } { :check "overflow" } { :finding_ids "0" } true; local_#9690 := 7; local_#9691 := (if local_#9689 == local_#9690 then 1 else 0); if (local_#9691 != 0) { goto CFG_49202; } else { goto CFG_45454; } CFG_49202: assume true; local_#9692 := (if _memory[{ base : local_#3909_e!base, offset : local_#3909_e!offset + 16 }] != _memory[{ base : local_#3909_e!base, offset : local_#3909_e!offset + 20 }] then 1 else 0); local_#9693 := (if local_#9692 != 0 then 0 else 1); if (local_#9693 != 0) { goto CFG_38098; } else { goto CFG_49203; } CFG_49203: assume true; local_#9694 := { base : local_#3909_e!base, offset : local_#3909_e!offset + 8 }; local_#9695 := _memory[{ base : local_#3908_fs!base, offset : local_#3908_fs!offset + 58 }]; assert { :LIR "62264" } { :check "overflow" } { :finding_ids "0" } local_#9695 <= 2147483647; local_#9696 := (if _memory[local_#9694] >= local_#9695 then 1 else 0); if (local_#9696 != 0) { goto CFG_42106; } else { goto CFG_39882; } CFG_39882: assume true; goto CFG_45454; CFG_45454: assume true; call routine_#33788_luaK_exp2nextreg(local_#3908_fs,local_#3909_e); goto CFG_38096; CFG_38096: assume true; local_#9697 := { base : local_#3909_e!base, offset : local_#3909_e!offset + 8 }; local_#7784 := _memory[local_#9697]; goto CFG_37205; CFG_42106: assume true; local_#9698 := { base : local_#3909_e!base, offset : local_#3909_e!offset + 8 }; local_#9699 := _memory[local_#9698]; goto CFG_45455; CFG_45455: assume true; call routine_#34719_exp2reg(local_#3908_fs,local_#3909_e,local_#9699); goto CFG_38097; CFG_38097: assume true; local_#9700 := { base : local_#3909_e!base, offset : local_#3909_e!offset + 8 }; local_#7784 := _memory[local_#9700]; goto CFG_37205; CFG_38098: assume true; local_#9701 := { base : local_#3909_e!base, offset : local_#3909_e!offset + 8 }; local_#7784 := _memory[local_#9701]; goto CFG_37205; CFG_37205: assume true; } procedure routine_#33787_luaK_exp2anyregup(local_#3910_fs_IN : { base : int, offset : int }, local_#3911_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3910_fs : { base : int, offset : int }; var local_#3911_e : { base : int, offset : int }; var local_#9702 : int; var local_#9703 : int; var local_#9704 : int; var local_#9705 : int; var local_#9706 : int; local_#3910_fs := local_#3910_fs_IN; local_#3911_e := local_#3911_e_IN; goto CFG_36295; CFG_36295: assume true; goto CFG_49204; CFG_49204: assume true; local_#9702 := ~uwrap32(_memory[{ base : local_#3911_e!base, offset : local_#3911_e!offset + 0 }]); assert { :LIR "62265" } { :check "overflow" } { :finding_ids "0" } true; local_#9703 := 9; local_#9704 := (if local_#9702 != local_#9703 then 1 else 0); if (local_#9704 != 0) { goto CFG_45456; } else { goto CFG_49205; } CFG_49205: assume true; local_#9705 := (if _memory[{ base : local_#3911_e!base, offset : local_#3911_e!offset + 16 }] != _memory[{ base : local_#3911_e!base, offset : local_#3911_e!offset + 20 }] then 1 else 0); if (local_#9705 != 0) { goto CFG_45456; } else { goto CFG_39112; } CFG_45456: assume true; call local_#9706 := routine_#33786_luaK_exp2anyreg(local_#3910_fs,local_#3911_e); goto CFG_39883; CFG_39883: assume true; goto CFG_39112; CFG_39112: assume true; goto CFG_37206; CFG_37206: assume true; } procedure routine_#33788_luaK_exp2nextreg(local_#3912_fs_IN : { base : int, offset : int }, local_#3913_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3912_fs : { base : int, offset : int }; var local_#3913_e : { base : int, offset : int }; var local_#9707 : int; var local_#9708 : int; var local_#9709 : int; var local_#9710 : int; local_#3912_fs := local_#3912_fs_IN; local_#3913_e := local_#3913_e_IN; goto CFG_36296; CFG_36296: assume true; goto CFG_45457; CFG_45457: assume true; call routine_#33784_luaK_dischargevars(local_#3912_fs,local_#3913_e); goto CFG_45458; CFG_45458: assume true; call routine_#34760_freeexp(local_#3912_fs,local_#3913_e); goto CFG_42107; CFG_42107: assume true; local_#9707 := 1; goto CFG_45459; CFG_45459: assume true; call routine_#33804_luaK_reserveregs(local_#3912_fs,local_#9707); goto CFG_42108; CFG_42108: assume true; local_#9708 := _memory[{ base : local_#3912_fs!base, offset : local_#3912_fs!offset + 60 }]; assert { :LIR "62266" } { :check "overflow" } { :finding_ids "0" } local_#9708 <= 2147483647; local_#9709 := 1; local_#9710 := local_#9708 - local_#9709; assert { :LIR "67881" } { :check "overflow" } { :finding_ids "0" } local_#9710 <= 2147483647; goto CFG_45460; CFG_45460: assume true; call routine_#34719_exp2reg(local_#3912_fs,local_#3913_e,local_#9710); goto CFG_39113; CFG_39113: assume true; goto CFG_37207; CFG_37207: assume true; } procedure routine_#33789_luaK_exp2val(local_#3914_fs_IN : { base : int, offset : int }, local_#3915_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3914_fs : { base : int, offset : int }; var local_#3915_e : { base : int, offset : int }; var local_#9711 : int; var local_#9712 : int; local_#3914_fs := local_#3914_fs_IN; local_#3915_e := local_#3915_e_IN; goto CFG_36297; CFG_36297: assume true; goto CFG_49206; CFG_49206: assume true; local_#9711 := (if _memory[{ base : local_#3915_e!base, offset : local_#3915_e!offset + 16 }] != _memory[{ base : local_#3915_e!base, offset : local_#3915_e!offset + 20 }] then 1 else 0); if (local_#9711 != 0) { goto CFG_45462; } else { goto CFG_45461; } CFG_45461: assume true; call routine_#33784_luaK_dischargevars(local_#3914_fs,local_#3915_e); goto CFG_39884; CFG_39884: assume true; goto CFG_39114; CFG_45462: assume true; call local_#9712 := routine_#33786_luaK_exp2anyreg(local_#3914_fs,local_#3915_e); goto CFG_39885; CFG_39885: assume true; goto CFG_39114; CFG_39114: assume true; goto CFG_37208; CFG_37208: assume true; } procedure routine_#33790_luaK_fixline(local_#3916_fs_IN : { base : int, offset : int }, local_#3917_line_IN : int) returns () modifies _memory; { var local_#3916_fs : { base : int, offset : int }; var local_#3917_line : int; var local_#9713 : { base : int, offset : int }; var local_#9714 : int; var local_#9715 : int; var local_#9716 : { base : int, offset : int }; local_#3916_fs := local_#3916_fs_IN; local_#3917_line := local_#3917_line_IN; goto CFG_36298; CFG_36298: assume true; goto CFG_39115; CFG_39115: assume true; local_#9713 := _memory_ptr[{ base : local_#3916_fs!base, offset : local_#3916_fs!offset + 0 }]; local_#9714 := 1; local_#9715 := _memory[{ base : local_#3916_fs!base, offset : local_#3916_fs!offset + 32 }] - local_#9714; assert { :LIR "67882" } { :check "overflow" } { :finding_ids "0" } local_#9715 <= 2147483647; local_#9716 := { base : _memory_ptr[{ base : local_#9713!base, offset : local_#9713!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#9713!base, offset : local_#9713!offset + 72 }]!offset + local_#9715 * 4 }; _memory[local_#9716] := local_#3917_line; goto CFG_37209; CFG_37209: assume true; } procedure routine_#33791_luaK_getlabel(local_#3918_fs_IN : { base : int, offset : int }) returns (local_#7785 : int) modifies _memory; { var local_#3918_fs : { base : int, offset : int }; local_#3918_fs := local_#3918_fs_IN; goto CFG_36299; CFG_36299: assume true; goto CFG_38099; CFG_38099: assume true; _memory[{ base : local_#3918_fs!base, offset : local_#3918_fs!offset + 36 }] := _memory[{ base : local_#3918_fs!base, offset : local_#3918_fs!offset + 32 }]; local_#7785 := _memory[{ base : local_#3918_fs!base, offset : local_#3918_fs!offset + 32 }]; goto CFG_37210; CFG_37210: assume true; } procedure routine_#33792_luaK_goiffalse(local_#3919_fs_IN : { base : int, offset : int }, local_#3920_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3919_fs : { base : int, offset : int }; var local_#3920_e : { base : int, offset : int }; var local_#9717 : int; var local_#9718 : int; var local_#9719 : int; var local_#31308_pc : int; var local_#9720 : { base : int, offset : int }; var local_#9721 : { base : int, offset : int }; var local_#9722 : int; local_#3919_fs := local_#3919_fs_IN; local_#3920_e := local_#3920_e_IN; goto CFG_36300; CFG_36300: assume true; goto CFG_45463; CFG_45463: assume true; call routine_#33784_luaK_dischargevars(local_#3919_fs,local_#3920_e); goto CFG_51504; CFG_51504: assume true; local_#9717 := _memory[{ base : local_#3920_e!base, offset : local_#3920_e!offset + 0 }]; if (local_#9717 == 11) { goto CFG_39469; } if (local_#9717 == 1) { goto CFG_39468; } if (local_#9717 == 3) { goto CFG_39468; } goto CFG_42109; CFG_42109: assume true; local_#9718 := 1; goto CFG_45464; CFG_45464: assume true; call local_#9719 := routine_#34839_jumponcond(local_#3919_fs,local_#3920_e,local_#9718); goto CFG_39467; CFG_39467: assume true; local_#31308_pc := local_#9719; goto CFG_42110; CFG_39468: assume true; local_#31308_pc := -1; goto CFG_42110; CFG_39469: assume true; local_#9720 := { base : local_#3920_e!base, offset : local_#3920_e!offset + 8 }; local_#31308_pc := _memory[local_#9720]; goto CFG_42110; CFG_42110: assume true; local_#9721 := { base : local_#3920_e!base, offset : local_#3920_e!offset + 16 }; goto CFG_45465; CFG_45465: assume true; call routine_#33783_luaK_concat(local_#3919_fs,local_#9721,local_#31308_pc); goto CFG_42111; CFG_42111: assume true; local_#9722 := _memory[{ base : local_#3920_e!base, offset : local_#3920_e!offset + 20 }]; goto CFG_45466; CFG_45466: assume true; call routine_#33801_luaK_patchtohere(local_#3919_fs,local_#9722); goto CFG_39116; CFG_39116: assume true; _memory[{ base : local_#3920_e!base, offset : local_#3920_e!offset + 20 }] := -1; goto CFG_37211; CFG_41902: assume true; goto CFG_42110; CFG_37211: assume true; } procedure routine_#33793_luaK_goiftrue(local_#3921_fs_IN : { base : int, offset : int }, local_#3922_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3921_fs : { base : int, offset : int }; var local_#3922_e : { base : int, offset : int }; var local_#9723 : int; var local_#9724 : int; var local_#9725 : int; var local_#31309_pc : int; var local_#9726 : { base : int, offset : int }; var local_#9727 : { base : int, offset : int }; var local_#9728 : int; local_#3921_fs := local_#3921_fs_IN; local_#3922_e := local_#3922_e_IN; goto CFG_36301; CFG_36301: assume true; goto CFG_45467; CFG_45467: assume true; call routine_#33784_luaK_dischargevars(local_#3921_fs,local_#3922_e); goto CFG_51505; CFG_51505: assume true; local_#9723 := _memory[{ base : local_#3922_e!base, offset : local_#3922_e!offset + 0 }]; if (local_#9723 == 11) { goto CFG_45469; } if (local_#9723 == 4) { goto CFG_39471; } if (local_#9723 == 5) { goto CFG_39471; } if (local_#9723 == 6) { goto CFG_39471; } if (local_#9723 == 2) { goto CFG_39471; } goto CFG_42112; CFG_42112: assume true; local_#9724 := 0; goto CFG_45468; CFG_45468: assume true; call local_#9725 := routine_#34839_jumponcond(local_#3921_fs,local_#3922_e,local_#9724); goto CFG_39470; CFG_39470: assume true; local_#31309_pc := local_#9725; goto CFG_42113; CFG_39471: assume true; local_#31309_pc := -1; goto CFG_42113; CFG_45469: assume true; call routine_#34955_negatecondition(local_#3921_fs,local_#3922_e); goto CFG_39472; CFG_39472: assume true; local_#9726 := { base : local_#3922_e!base, offset : local_#3922_e!offset + 8 }; local_#31309_pc := _memory[local_#9726]; goto CFG_42113; CFG_42113: assume true; local_#9727 := { base : local_#3922_e!base, offset : local_#3922_e!offset + 20 }; goto CFG_45470; CFG_45470: assume true; call routine_#33783_luaK_concat(local_#3921_fs,local_#9727,local_#31309_pc); goto CFG_42114; CFG_42114: assume true; local_#9728 := _memory[{ base : local_#3922_e!base, offset : local_#3922_e!offset + 16 }]; goto CFG_45471; CFG_45471: assume true; call routine_#33801_luaK_patchtohere(local_#3921_fs,local_#9728); goto CFG_39117; CFG_39117: assume true; _memory[{ base : local_#3922_e!base, offset : local_#3922_e!offset + 16 }] := -1; goto CFG_37212; CFG_41903: assume true; goto CFG_42113; CFG_37212: assume true; } procedure routine_#33794_luaK_indexed(local_#3923_fs_IN : { base : int, offset : int }, local_#3924_t_IN : { base : int, offset : int }, local_#3925_k_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3923_fs : { base : int, offset : int }; var local_#3924_t : { base : int, offset : int }; var local_#3925_k : { base : int, offset : int }; var local_#9729 : int; var local_#9730 : int; var local_#9731 : { base : int, offset : int }; var local_#9732 : int; var local_#9733 : { base : int, offset : int }; var local_#9734 : int; var local_#9735 : int; var local_#9736 : { base : int, offset : int }; var local_#9737 : int; var local_#9738 : int; var local_#9739 : int; var local_#30605 : int; var local_#9740 : int; var local_#9741 : { base : int, offset : int }; local_#3923_fs := local_#3923_fs_IN; local_#3924_t := local_#3924_t_IN; local_#3925_k := local_#3925_k_IN; goto CFG_36302; CFG_36302: assume true; goto CFG_42115; CFG_42115: assume true; local_#9729 := 0; local_#9730 := 0; assert { :LIR "60280" } { :check "overflow" } { :finding_ids "0" } true; local_#9731 := { base : local_#3924_t!base, offset : local_#3924_t!offset + 8 }; local_#9732 := ~uwrap8(_memory[local_#9731]); assert { :LIR "62267" } { :check "overflow" } { :finding_ids "0" } true; local_#9733 := { base : local_#3924_t!base, offset : local_#3924_t!offset + 8 }; _memory[{ base : local_#9733!base, offset : local_#9733!offset + 2 }] := local_#9732; goto CFG_45472; CFG_45472: assume true; call local_#9734 := routine_#33785_luaK_exp2RK(local_#3923_fs,local_#3925_k); goto CFG_49207; CFG_49207: assume true; local_#9735 := local_#9734; assert { :LIR "62268" } { :check "overflow" } { :finding_ids "0" } local_#9735 <= 32767; local_#9736 := { base : local_#3924_t!base, offset : local_#3924_t!offset + 8 }; _memory[{ base : local_#9736!base, offset : local_#9736!offset + 0 }] := local_#9735; local_#9737 := ~uwrap32(_memory[{ base : local_#3924_t!base, offset : local_#3924_t!offset + 0 }]); assert { :LIR "62269" } { :check "overflow" } { :finding_ids "0" } true; local_#9738 := 9; local_#9739 := (if local_#9737 == local_#9738 then 1 else 0); if (local_#9739 != 0) { goto CFG_39887; } else { goto CFG_39886; } CFG_39886: assume true; local_#30605 := 8; goto CFG_39118; CFG_39887: assume true; local_#30605 := 9; goto CFG_39118; CFG_39118: assume true; local_#9740 := ~uwrap8(local_#30605); assert { :LIR "62270" } { :check "overflow" } { :finding_ids "0" } true; local_#9741 := { base : local_#3924_t!base, offset : local_#3924_t!offset + 8 }; _memory[{ base : local_#9741!base, offset : local_#9741!offset + 3 }] := local_#9740; _memory[{ base : local_#3924_t!base, offset : local_#3924_t!offset + 0 }] := 10; goto CFG_37213; CFG_37213: assume true; } procedure routine_#33795_luaK_infix(local_#3926_fs_IN : { base : int, offset : int }, local_#3927_op_IN : int, local_#3928_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3926_fs : { base : int, offset : int }; var local_#3927_op : int; var local_#3928_v : { base : int, offset : int }; var local_#9742 : int; var local_#9743 : int; var local_#9744 : { base : int, offset : int }; var local_#9745 : { base : int, offset : int }; var local_#9746 : int; var local_#9747 : int; var local_#9748 : int; local_#3926_fs := local_#3926_fs_IN; local_#3927_op := local_#3927_op_IN; local_#3928_v := local_#3928_v_IN; goto CFG_36303; CFG_36303: assume true; goto CFG_51506; CFG_51506: assume true; local_#9742 := local_#3927_op; if (local_#9742 == 19) { goto CFG_45478; } if (local_#9742 == 20) { goto CFG_45477; } if (local_#9742 == 12) { goto CFG_45476; } if (local_#9742 == 0) { goto CFG_42116; } if (local_#9742 == 1) { goto CFG_42116; } if (local_#9742 == 2) { goto CFG_42116; } if (local_#9742 == 5) { goto CFG_42116; } if (local_#9742 == 6) { goto CFG_42116; } if (local_#9742 == 3) { goto CFG_42116; } if (local_#9742 == 4) { goto CFG_42116; } if (local_#9742 == 7) { goto CFG_42116; } if (local_#9742 == 8) { goto CFG_42116; } if (local_#9742 == 9) { goto CFG_42116; } if (local_#9742 == 10) { goto CFG_42116; } if (local_#9742 == 11) { goto CFG_42116; } goto CFG_45473; CFG_45473: assume true; call local_#9743 := routine_#33785_luaK_exp2RK(local_#3926_fs,local_#3928_v); goto CFG_39473; CFG_39473: assume true; goto CFG_39119; CFG_42116: assume true; local_#9744 := local_#3928_v; assert { :LIR "62271" } { :check "overflow" } { :finding_ids "0" } true; local_#9745 := { base : 0, offset : 0 }; goto CFG_45474; CFG_45474: assume true; call local_#9746 := routine_#35116_tonumeral(local_#9744,local_#9745); goto CFG_49208; CFG_49208: assume true; local_#9747 := (if local_#9746 != 0 then 0 else 1); if (local_#9747 != 0) { goto CFG_45475; } else { goto CFG_39474; } CFG_45475: assume true; call local_#9748 := routine_#33785_luaK_exp2RK(local_#3926_fs,local_#3928_v); goto CFG_39888; CFG_39888: assume true; goto CFG_39474; CFG_39474: assume true; goto CFG_39119; CFG_45476: assume true; call routine_#33788_luaK_exp2nextreg(local_#3926_fs,local_#3928_v); goto CFG_39475; CFG_39475: assume true; goto CFG_39119; CFG_45477: assume true; call routine_#33792_luaK_goiffalse(local_#3926_fs,local_#3928_v); goto CFG_39476; CFG_39476: assume true; goto CFG_39119; CFG_45478: assume true; call routine_#33793_luaK_goiftrue(local_#3926_fs,local_#3928_v); goto CFG_39477; CFG_39477: assume true; goto CFG_39119; CFG_39119: assume true; goto CFG_37214; CFG_41904: assume true; goto CFG_39119; CFG_37214: assume true; } procedure routine_#33796_luaK_intK(local_#3929_fs_IN : { base : int, offset : int }, local_#3930_n_IN : int) returns (local_#7786 : int) modifies _memory, _memory_ptr, _valid; { var local_#3929_fs : { base : int, offset : int }; var local_#3930_n : int; var local_#31310_k : { base : int, offset : int }; var local_#31312_io : { base : int, offset : int }; var local_#9749 : int; var nondet_#0 : { base : int, offset : int }; var local_#9750 : { base : int, offset : int }; var local_#9751 : { base : int, offset : int }; var local_#31311_o : { base : int, offset : int }; var local_#31313_io : { base : int, offset : int }; var local_#9752 : { base : int, offset : int }; var local_#9753 : { base : int, offset : int }; var local_#9754 : { base : int, offset : int }; var local_#9755 : int; local_#3929_fs := local_#3929_fs_IN; local_#3930_n := local_#3930_n_IN; goto CFG_36304; CFG_36304: assume true; goto CFG_42117; CFG_42117: assume true; local_#31312_io := local_#31310_k; local_#9749 := ~uwrap64(local_#3930_n); assert { :LIR "60281" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#0; local_#9750 := nondet_#0 /* IR2BOOGIE-ERROR: To Type IRType783 is not supported in conversion 60282 */; assert { :LIR "60282" } { :check "overflow" } { :finding_ids "0" } true; local_#9751 := { base : local_#31312_io!base, offset : local_#31312_io!offset + 0 }; _memory_ptr[local_#9751] := local_#9750; _memory[{ base : local_#31312_io!base, offset : local_#31312_io!offset + 8 }] := 2; local_#31313_io := local_#31311_o; local_#9752 := { base : local_#31313_io!base, offset : local_#31313_io!offset + 0 }; _memory[local_#9752] := local_#3930_n; _memory[{ base : local_#31313_io!base, offset : local_#31313_io!offset + 8 }] := 19; local_#9753 := local_#31310_k; local_#9754 := local_#31311_o; goto CFG_45479; CFG_45479: assume true; call local_#9755 := routine_#34572_addk(local_#3929_fs,local_#9753,local_#9754); goto CFG_38100; CFG_38100: assume true; local_#7786 := local_#9755; goto CFG_37215; CFG_37215: assume true; } procedure routine_#33797_luaK_jump(local_#3931_fs_IN : { base : int, offset : int }) returns (local_#7787 : int) modifies _memory, _memory_ptr, _valid; { var local_#3931_fs : { base : int, offset : int }; var local_#31315_jpc : int; var local_#9756 : int; var local_#9757 : int; var local_#9758 : int; var local_#9759 : int; var local_#31314_j : { base : int, offset : int }; var local_#9760 : { base : int, offset : int }; local_#3931_fs := local_#3931_fs_IN; goto CFG_36305; CFG_36305: assume true; goto CFG_42118; CFG_42118: assume true; local_#31315_jpc := _memory[{ base : local_#3931_fs!base, offset : local_#3931_fs!offset + 40 }]; _memory[{ base : local_#3931_fs!base, offset : local_#3931_fs!offset + 40 }] := -1; local_#9756 := 30; local_#9757 := 0; local_#9758 := 131070; goto CFG_45480; CFG_45480: assume true; call local_#9759 := routine_#33781_luaK_codeABx(local_#3931_fs,local_#9756,local_#9757,local_#9758); goto CFG_42119; CFG_42119: assume true; _memory[local_#31314_j] := local_#9759; local_#9760 := local_#31314_j; goto CFG_45481; CFG_45481: assume true; call routine_#33783_luaK_concat(local_#3931_fs,local_#9760,local_#31315_jpc); goto CFG_38101; CFG_38101: assume true; local_#7787 := _memory[local_#31314_j]; goto CFG_37216; CFG_37216: assume true; } procedure routine_#33798_luaK_nil(local_#3932_fs_IN : { base : int, offset : int }, local_#3933_from_IN : int, local_#3934_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3932_fs : { base : int, offset : int }; var local_#3933_from : int; var local_#3934_n : int; var local_#9761 : int; var local_#9762 : int; var local_#9763 : int; var local_#31316_l : int; var local_#9764 : int; var local_#9765 : { base : int, offset : int }; var local_#9766 : int; var local_#9767 : int; var local_#9768 : { base : int, offset : int }; var local_#31317_previous : { base : int, offset : int }; var local_#9769 : int; var local_#9770 : int; var local_#9771 : int; var local_#9772 : int; var local_#9773 : int; var local_#9774 : int; var local_#9775 : int; var local_#9776 : int; var local_#9777 : int; var local_#9778 : int; var local_#9779 : int; var local_#9780 : int; var local_#9781 : int; var local_#31318_pfrom : int; var local_#9782 : int; var local_#9783 : int; var local_#9784 : int; var local_#9785 : int; var local_#9786 : int; var local_#9787 : int; var local_#31319_pl : int; var local_#9788 : int; var local_#9789 : int; var local_#9790 : int; var local_#9791 : int; var local_#9792 : int; var local_#9793 : int; var local_#9794 : int; var local_#9795 : int; var local_#9796 : int; var local_#9797 : int; var local_#9798 : int; var local_#9799 : int; var local_#9800 : int; var local_#9801 : int; var local_#9802 : int; var local_#9803 : int; var local_#9804 : int; var local_#9805 : int; var local_#9806 : int; var local_#9807 : int; var local_#9808 : int; var local_#9809 : int; var local_#9810 : int; var local_#9811 : int; var local_#9812 : int; var local_#9813 : int; var local_#9814 : int; var local_#9815 : int; var local_#9816 : int; var local_#9817 : int; var local_#9818 : int; var local_#9819 : int; local_#3932_fs := local_#3932_fs_IN; local_#3933_from := local_#3933_from_IN; local_#3934_n := local_#3934_n_IN; goto CFG_36306; CFG_36306: assume true; goto CFG_49209; CFG_49209: assume true; local_#9761 := local_#3933_from + local_#3934_n; assert { :LIR "66389" } { :check "overflow" } { :finding_ids "0" } local_#9761 <= 2147483647; local_#9762 := 1; local_#9763 := local_#9761 - local_#9762; assert { :LIR "67883" } { :check "overflow" } { :finding_ids "0" } local_#9763 <= 2147483647; local_#31316_l := local_#9763; local_#9764 := (if _memory[{ base : local_#3932_fs!base, offset : local_#3932_fs!offset + 32 }] > _memory[{ base : local_#3932_fs!base, offset : local_#3932_fs!offset + 36 }] then 1 else 0); if (local_#9764 != 0) { goto CFG_49210; } else { goto CFG_42120; } CFG_49210: assume true; local_#9765 := _memory_ptr[{ base : local_#3932_fs!base, offset : local_#3932_fs!offset + 0 }]; local_#9766 := 1; local_#9767 := _memory[{ base : local_#3932_fs!base, offset : local_#3932_fs!offset + 32 }] - local_#9766; assert { :LIR "67884" } { :check "overflow" } { :finding_ids "0" } local_#9767 <= 2147483647; local_#9768 := { base : _memory_ptr[{ base : local_#9765!base, offset : local_#9765!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9765!base, offset : local_#9765!offset + 56 }]!offset + local_#9767 * 4 }; local_#31317_previous := local_#9768; local_#9769 := 0; local_#9770 := ~lshr32(_memory[local_#31317_previous], local_#9769); local_#9771 := 63; local_#9772 := ~uand32(local_#9770, local_#9771); local_#9773 := local_#9772; assert { :LIR "60283" } { :check "overflow" } { :finding_ids "0" } local_#9773 <= 46; local_#9774 := ~uwrap32(local_#9773); assert { :LIR "62272" } { :check "overflow" } { :finding_ids "0" } true; local_#9775 := 4; local_#9776 := (if local_#9774 == local_#9775 then 1 else 0); if (local_#9776 != 0) { goto CFG_49211; } else { goto CFG_39890; } CFG_49211: assume true; local_#9777 := 6; local_#9778 := ~lshr32(_memory[local_#31317_previous], local_#9777); local_#9779 := 255; local_#9780 := ~uand32(local_#9778, local_#9779); local_#9781 := local_#9780; assert { :LIR "60284" } { :check "overflow" } { :finding_ids "0" } local_#9781 <= 2147483647; local_#31318_pfrom := local_#9781; local_#9782 := 23; local_#9783 := ~lshr32(_memory[local_#31317_previous], local_#9782); local_#9784 := 511; local_#9785 := ~uand32(local_#9783, local_#9784); local_#9786 := local_#9785; assert { :LIR "60285" } { :check "overflow" } { :finding_ids "0" } local_#9786 <= 2147483647; local_#9787 := local_#31318_pfrom + local_#9786; assert { :LIR "66390" } { :check "overflow" } { :finding_ids "0" } local_#9787 <= 2147483647; local_#31319_pl := local_#9787; local_#9788 := (if local_#31318_pfrom <= local_#3933_from then 1 else 0); if (local_#9788 != 0) { goto CFG_49212; } else { goto CFG_49213; } CFG_49212: assume true; local_#9789 := 1; local_#9790 := local_#31319_pl + local_#9789; assert { :LIR "66391" } { :check "overflow" } { :finding_ids "0" } local_#9790 <= 2147483647; local_#9791 := (if local_#3933_from <= local_#9790 then 1 else 0); if (local_#9791 != 0) { goto CFG_49215; } else { goto CFG_49213; } CFG_49213: assume true; local_#9792 := (if local_#3933_from <= local_#31318_pfrom then 1 else 0); if (local_#9792 != 0) { goto CFG_49214; } else { goto CFG_39889; } CFG_49214: assume true; local_#9793 := 1; local_#9794 := local_#31316_l + local_#9793; assert { :LIR "66392" } { :check "overflow" } { :finding_ids "0" } local_#9794 <= 2147483647; local_#9795 := (if local_#31318_pfrom <= local_#9794 then 1 else 0); if (local_#9795 != 0) { goto CFG_49215; } else { goto CFG_39889; } CFG_39889: assume true; goto CFG_39890; CFG_39890: assume true; goto CFG_42120; CFG_42120: assume true; local_#9796 := 4; local_#9797 := 1; local_#9798 := local_#3934_n - local_#9797; assert { :LIR "67885" } { :check "overflow" } { :finding_ids "0" } local_#9798 <= 2147483647; local_#9799 := 0; goto CFG_45482; CFG_45482: assume true; call local_#9800 := routine_#33780_luaK_codeABC(local_#3932_fs,local_#9796,local_#3933_from,local_#9798,local_#9799); goto CFG_39120; CFG_39120: assume true; goto CFG_37217; CFG_49215: assume true; local_#9801 := (if local_#31318_pfrom < local_#3933_from then 1 else 0); if (local_#9801 != 0) { goto CFG_39891; } else { goto CFG_49216; } CFG_39891: assume true; local_#3933_from := local_#31318_pfrom; goto CFG_49216; CFG_49216: assume true; local_#9802 := (if local_#31319_pl > local_#31316_l then 1 else 0); if (local_#9802 != 0) { goto CFG_39892; } else { goto CFG_39121; } CFG_39892: assume true; local_#31316_l := local_#31319_pl; goto CFG_39121; CFG_39121: assume true; local_#9803 := 4294950975; local_#9804 := ~uand32(_memory[local_#31317_previous], local_#9803); local_#9805 := ~uwrap32(local_#3933_from); assert { :LIR "60286" } { :check "overflow" } { :finding_ids "0" } true; local_#9806 := 6; local_#9807 := ~shl32(local_#9805, local_#9806); local_#9808 := 16320; local_#9809 := ~uand32(local_#9807, local_#9808); local_#9810 := ~uor32(local_#9804, local_#9809); _memory[local_#31317_previous] := local_#9810; local_#9811 := 8388607; local_#9812 := ~uand32(_memory[local_#31317_previous], local_#9811); local_#9813 := local_#31316_l - local_#3933_from; assert { :LIR "67886" } { :check "overflow" } { :finding_ids "0" } local_#9813 <= 2147483647; local_#9814 := ~uwrap32(local_#9813); assert { :LIR "60287" } { :check "overflow" } { :finding_ids "0" } true; local_#9815 := 23; local_#9816 := ~shl32(local_#9814, local_#9815); local_#9817 := 4286578688; local_#9818 := ~uand32(local_#9816, local_#9817); local_#9819 := ~uor32(local_#9812, local_#9818); _memory[local_#31317_previous] := local_#9819; goto CFG_37217; CFG_37217: assume true; } procedure routine_#33799_luaK_patchclose(local_#3935_fs_IN : { base : int, offset : int }, local_#3936_list_IN : int, local_#3937_level_IN : int) returns () modifies _memory; { var local_#3935_fs : { base : int, offset : int }; var local_#3936_list : int; var local_#3937_level : int; var local_#9820 : int; var local_#9821 : int; var local_#9822 : int; var local_#9823 : int; var local_#9824 : int; var local_#9825 : int; var local_#9826 : int; var local_#9827 : { base : int, offset : int }; var local_#9828 : { base : int, offset : int }; var local_#9829 : int; var local_#9830 : int; var local_#9831 : int; var local_#9832 : int; var local_#9833 : int; var local_#9834 : int; var local_#9835 : int; var local_#9836 : int; var local_#9837 : { base : int, offset : int }; var local_#9838 : { base : int, offset : int }; var local_#9839 : int; var local_#9840 : int; local_#3935_fs := local_#3935_fs_IN; local_#3936_list := local_#3936_list_IN; local_#3937_level := local_#3937_level_IN; goto CFG_36307; CFG_36307: assume true; goto CFG_41636; CFG_41636: assume true; local_#9820 := local_#3937_level; local_#9821 := 1; local_#3937_level := local_#9820 + local_#9821; assert { :LIR "66393" } { :check "overflow" } { :finding_ids "0" } local_#3937_level <= 2147483647; local_#9822 := local_#9820; goto CFG_49217; CFG_49217: assume true; local_#9823 := -1; local_#9824 := (if local_#3936_list != local_#9823 then 1 else 0); if (local_#9824 != 0) { goto CFG_42121; } else { goto CFG_39122; } CFG_39122: assume true; goto CFG_37218; CFG_42121: assume true; local_#9825 := 0; local_#9826 := 0; assert { :LIR "60288" } { :check "overflow" } { :finding_ids "0" } true; local_#9827 := _memory_ptr[{ base : local_#3935_fs!base, offset : local_#3935_fs!offset + 0 }]; local_#9828 := { base : _memory_ptr[{ base : local_#9827!base, offset : local_#9827!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9827!base, offset : local_#9827!offset + 56 }]!offset + local_#3936_list * 4 }; local_#9829 := 4294950975; local_#9830 := ~uand32(_memory[local_#9828], local_#9829); local_#9831 := ~uwrap32(local_#3937_level); assert { :LIR "60289" } { :check "overflow" } { :finding_ids "0" } true; local_#9832 := 6; local_#9833 := ~shl32(local_#9831, local_#9832); local_#9834 := 16320; local_#9835 := ~uand32(local_#9833, local_#9834); local_#9836 := ~uor32(local_#9830, local_#9835); local_#9837 := _memory_ptr[{ base : local_#3935_fs!base, offset : local_#3935_fs!offset + 0 }]; local_#9838 := { base : _memory_ptr[{ base : local_#9837!base, offset : local_#9837!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9837!base, offset : local_#9837!offset + 56 }]!offset + local_#3936_list * 4 }; _memory[local_#9838] := local_#9836; goto CFG_45483; CFG_45483: assume true; call local_#9839 := routine_#34790_getjump(local_#3935_fs,local_#3936_list); goto CFG_44977; CFG_44977: assume true; local_#3936_list := local_#9839; local_#9840 := local_#3936_list; goto CFG_49217; CFG_37218: assume true; } procedure routine_#33800_luaK_patchlist(local_#3938_fs_IN : { base : int, offset : int }, local_#3939_list_IN : int, local_#3940_target_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3938_fs : { base : int, offset : int }; var local_#3939_list : int; var local_#3940_target : int; var local_#9841 : int; var local_#9842 : int; var local_#9843 : int; var local_#9844 : int; local_#3938_fs := local_#3938_fs_IN; local_#3939_list := local_#3939_list_IN; local_#3940_target := local_#3940_target_IN; goto CFG_36308; CFG_36308: assume true; goto CFG_49218; CFG_49218: assume true; local_#9841 := (if local_#3940_target == _memory[{ base : local_#3938_fs!base, offset : local_#3938_fs!offset + 32 }] then 1 else 0); if (local_#9841 != 0) { goto CFG_45485; } else { goto CFG_42122; } CFG_42122: assume true; local_#9842 := 0; local_#9843 := 0; assert { :LIR "60290" } { :check "overflow" } { :finding_ids "0" } true; local_#9844 := 255; goto CFG_45484; CFG_45484: assume true; call routine_#34989_patchlistaux(local_#3938_fs,local_#3939_list,local_#3940_target,local_#9844,local_#3940_target); goto CFG_39893; CFG_39893: assume true; goto CFG_39123; CFG_45485: assume true; call routine_#33801_luaK_patchtohere(local_#3938_fs,local_#3939_list); goto CFG_39894; CFG_39894: assume true; goto CFG_39123; CFG_39123: assume true; goto CFG_37219; CFG_37219: assume true; } procedure routine_#33801_luaK_patchtohere(local_#3941_fs_IN : { base : int, offset : int }, local_#3942_list_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3941_fs : { base : int, offset : int }; var local_#3942_list : int; var local_#9845 : int; var local_#9846 : { base : int, offset : int }; local_#3941_fs := local_#3941_fs_IN; local_#3942_list := local_#3942_list_IN; goto CFG_36309; CFG_36309: assume true; goto CFG_45486; CFG_45486: assume true; call local_#9845 := routine_#33791_luaK_getlabel(local_#3941_fs); goto CFG_42123; CFG_42123: assume true; local_#9846 := { base : local_#3941_fs!base, offset : local_#3941_fs!offset + 40 }; goto CFG_45487; CFG_45487: assume true; call routine_#33783_luaK_concat(local_#3941_fs,local_#9846,local_#3942_list); goto CFG_39124; CFG_39124: assume true; goto CFG_37220; CFG_37220: assume true; } procedure routine_#33802_luaK_posfix(local_#3943_fs_IN : { base : int, offset : int }, local_#3944_op_IN : int, local_#3945_e1_IN : { base : int, offset : int }, local_#3946_e2_IN : { base : int, offset : int }, local_#3947_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3943_fs : { base : int, offset : int }; var local_#3944_op : int; var local_#3945_e1 : { base : int, offset : int }; var local_#3946_e2 : { base : int, offset : int }; var local_#3947_line : int; var local_#9847 : int; var local_#9848 : int; var local_#9849 : int; var local_#9850 : int; var local_#9851 : int; var local_#9852 : int; var local_#9853 : int; var local_#9854 : { base : int, offset : int }; var local_#9855 : int; var local_#9856 : int; var local_#9857 : int; var local_#9858 : int; var local_#9859 : int; var local_#9860 : int; var local_#9861 : int; var local_#9862 : int; var local_#9863 : int; var local_#9864 : { base : int, offset : int }; var local_#9865 : { base : int, offset : int }; var local_#9866 : { base : int, offset : int }; var local_#9867 : int; var local_#9868 : int; var local_#9869 : int; var local_#9870 : int; var local_#9871 : int; var local_#9872 : int; var local_#9873 : int; var local_#9874 : int; var local_#9875 : int; var local_#9876 : int; var local_#9877 : int; var local_#9878 : { base : int, offset : int }; var local_#9879 : { base : int, offset : int }; var local_#9880 : { base : int, offset : int }; var local_#9881 : int; var local_#9882 : int; var local_#9883 : { base : int, offset : int }; var local_#9884 : int; var local_#9885 : int; var local_#9886 : int; var local_#9887 : int; var local_#9888 : int; var local_#9889 : int; var local_#9890 : { base : int, offset : int }; var local_#9891 : { base : int, offset : int }; var local_#9892 : { base : int, offset : int }; var local_#9893 : { base : int, offset : int }; var local_#9894 : { base : int, offset : int }; var local_#9895 : int; var local_#9896 : int; var local_#9897 : { base : int, offset : int }; var local_#9898 : int; var local_#9899 : int; var local_#9900 : int; var local_#9901 : { base : int, offset : int }; var local_#9902 : int; local_#3943_fs := local_#3943_fs_IN; local_#3944_op := local_#3944_op_IN; local_#3945_e1 := local_#3945_e1_IN; local_#3946_e2 := local_#3946_e2_IN; local_#3947_line := local_#3947_line_IN; goto CFG_36310; CFG_36310: assume true; goto CFG_51507; CFG_51507: assume true; local_#9847 := local_#3944_op; if (local_#9847 == 19) { goto CFG_42131; } if (local_#9847 == 20) { goto CFG_42129; } if (local_#9847 == 12) { goto CFG_45491; } if (local_#9847 == 0) { goto CFG_42125; } if (local_#9847 == 1) { goto CFG_42125; } if (local_#9847 == 2) { goto CFG_42125; } if (local_#9847 == 5) { goto CFG_42125; } if (local_#9847 == 6) { goto CFG_42125; } if (local_#9847 == 3) { goto CFG_42125; } if (local_#9847 == 4) { goto CFG_42125; } if (local_#9847 == 7) { goto CFG_42125; } if (local_#9847 == 8) { goto CFG_42125; } if (local_#9847 == 9) { goto CFG_42125; } if (local_#9847 == 10) { goto CFG_42125; } if (local_#9847 == 11) { goto CFG_42125; } if (local_#9847 == 13) { goto CFG_45488; } if (local_#9847 == 14) { goto CFG_45488; } if (local_#9847 == 15) { goto CFG_45488; } if (local_#9847 == 16) { goto CFG_45488; } if (local_#9847 == 17) { goto CFG_45488; } if (local_#9847 == 18) { goto CFG_45488; } goto CFG_42124; CFG_42124: assume true; local_#9848 := 0; local_#9849 := 0; assert { :LIR "60291" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41905; CFG_41905: assume true; goto CFG_39125; CFG_45488: assume true; call routine_#34654_codecomp(local_#3943_fs,local_#3944_op,local_#3945_e1,local_#3946_e2); goto CFG_39478; CFG_39478: assume true; goto CFG_39125; CFG_42125: assume true; local_#9850 := ~uwrap32(local_#3944_op); assert { :LIR "62273" } { :check "overflow" } { :finding_ids "0" } true; local_#9851 := 0; assume { :symbol "~uwrap32" } true; local_#9852 := ~uwrap32(local_#9850 + local_#9851); assert { :LIR "66394" } { :check "overflow" } { :finding_ids "0" } true; local_#9853 := local_#9852; assert { :LIR "62274" } { :check "overflow" } { :finding_ids "0" } local_#9853 <= 2147483647; local_#9854 := local_#3946_e2; assert { :LIR "62275" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45489; CFG_45489: assume true; call local_#9855 := routine_#34665_constfolding(local_#3943_fs,local_#9853,local_#3945_e1,local_#9854); goto CFG_49219; CFG_49219: assume true; local_#9856 := (if local_#9855 != 0 then 0 else 1); if (local_#9856 != 0) { goto CFG_42126; } else { goto CFG_39479; } CFG_42126: assume true; local_#9857 := ~uwrap32(local_#3944_op); assert { :LIR "62276" } { :check "overflow" } { :finding_ids "0" } true; local_#9858 := 13; assume { :symbol "~uwrap32" } true; local_#9859 := ~uwrap32(local_#9857 + local_#9858); assert { :LIR "66395" } { :check "overflow" } { :finding_ids "0" } true; local_#9860 := local_#9859; assert { :LIR "60292" } { :check "overflow" } { :finding_ids "0" } local_#9860 <= 46; goto CFG_45490; CFG_45490: assume true; call routine_#34652_codebinexpval(local_#3943_fs,local_#9860,local_#3945_e1,local_#3946_e2,local_#3947_line); goto CFG_39895; CFG_39895: assume true; goto CFG_39479; CFG_39479: assume true; goto CFG_39125; CFG_45491: assume true; call routine_#33789_luaK_exp2val(local_#3943_fs,local_#3946_e2); goto CFG_49220; CFG_49220: assume true; local_#9861 := ~uwrap32(_memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 0 }]); assert { :LIR "62277" } { :check "overflow" } { :finding_ids "0" } true; local_#9862 := 12; local_#9863 := (if local_#9861 == local_#9862 then 1 else 0); if (local_#9863 != 0) { goto CFG_49221; } else { goto CFG_45492; } CFG_49221: assume true; local_#9864 := _memory_ptr[{ base : local_#3943_fs!base, offset : local_#3943_fs!offset + 0 }]; local_#9865 := { base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 }; local_#9866 := { base : _memory_ptr[{ base : local_#9864!base, offset : local_#9864!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9864!base, offset : local_#9864!offset + 56 }]!offset + _memory[local_#9865] * 4 }; local_#9867 := 0; local_#9868 := ~lshr32(_memory[local_#9866], local_#9867); local_#9869 := 63; local_#9870 := ~uand32(local_#9868, local_#9869); local_#9871 := local_#9870; assert { :LIR "60293" } { :check "overflow" } { :finding_ids "0" } local_#9871 <= 46; local_#9872 := ~uwrap32(local_#9871); assert { :LIR "62278" } { :check "overflow" } { :finding_ids "0" } true; local_#9873 := 29; local_#9874 := (if local_#9872 == local_#9873 then 1 else 0); if (local_#9874 != 0) { goto CFG_42128; } else { goto CFG_45492; } CFG_45492: assume true; call routine_#33788_luaK_exp2nextreg(local_#3943_fs,local_#3946_e2); goto CFG_42127; CFG_42127: assume true; local_#9875 := 29; goto CFG_45493; CFG_45493: assume true; call routine_#34652_codebinexpval(local_#3943_fs,local_#9875,local_#3945_e1,local_#3946_e2,local_#3947_line); goto CFG_39896; CFG_39896: assume true; goto CFG_39480; CFG_42128: assume true; local_#9876 := 0; local_#9877 := 0; assert { :LIR "60294" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45494; CFG_45494: assume true; call routine_#34760_freeexp(local_#3943_fs,local_#3945_e1); goto CFG_39897; CFG_39897: assume true; local_#9878 := _memory_ptr[{ base : local_#3943_fs!base, offset : local_#3943_fs!offset + 0 }]; local_#9879 := { base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 }; local_#9880 := { base : _memory_ptr[{ base : local_#9878!base, offset : local_#9878!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9878!base, offset : local_#9878!offset + 56 }]!offset + _memory[local_#9879] * 4 }; local_#9881 := 8388607; local_#9882 := ~uand32(_memory[local_#9880], local_#9881); local_#9883 := { base : local_#3945_e1!base, offset : local_#3945_e1!offset + 8 }; local_#9884 := ~uwrap32(_memory[local_#9883]); assert { :LIR "60295" } { :check "overflow" } { :finding_ids "0" } true; local_#9885 := 23; local_#9886 := ~shl32(local_#9884, local_#9885); local_#9887 := 4286578688; local_#9888 := ~uand32(local_#9886, local_#9887); local_#9889 := ~uor32(local_#9882, local_#9888); local_#9890 := _memory_ptr[{ base : local_#3943_fs!base, offset : local_#3943_fs!offset + 0 }]; local_#9891 := { base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 }; local_#9892 := { base : _memory_ptr[{ base : local_#9890!base, offset : local_#9890!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9890!base, offset : local_#9890!offset + 56 }]!offset + _memory[local_#9891] * 4 }; _memory[local_#9892] := local_#9889; _memory[{ base : local_#3945_e1!base, offset : local_#3945_e1!offset + 0 }] := 12; local_#9893 := { base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 }; local_#9894 := { base : local_#3945_e1!base, offset : local_#3945_e1!offset + 8 }; _memory[local_#9894] := _memory[local_#9893]; goto CFG_39480; CFG_39480: assume true; goto CFG_39125; CFG_42129: assume true; local_#9895 := 0; local_#9896 := 0; assert { :LIR "60296" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45495; CFG_45495: assume true; call routine_#33784_luaK_dischargevars(local_#3943_fs,local_#3946_e2); goto CFG_42130; CFG_42130: assume true; local_#9897 := { base : local_#3946_e2!base, offset : local_#3946_e2!offset + 16 }; local_#9898 := _memory[{ base : local_#3945_e1!base, offset : local_#3945_e1!offset + 16 }]; goto CFG_45496; CFG_45496: assume true; call routine_#33783_luaK_concat(local_#3943_fs,local_#9897,local_#9898); goto CFG_39481; CFG_39481: assume true; assume read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_k == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 0 }] && (read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ind!_idx == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 + 0 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ind!_t == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 + 2 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ind!_vt == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 + 3 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_info == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ival == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */) && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_t == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 16 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_f == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 20 }]; call write_type_#92(local_#3945_e1,read_type_#92(_memory, _memory_ptr, local_#3946_e2)); goto CFG_39125; CFG_42131: assume true; local_#9899 := 0; local_#9900 := 0; assert { :LIR "60297" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45497; CFG_45497: assume true; call routine_#33784_luaK_dischargevars(local_#3943_fs,local_#3946_e2); goto CFG_42132; CFG_42132: assume true; local_#9901 := { base : local_#3946_e2!base, offset : local_#3946_e2!offset + 20 }; local_#9902 := _memory[{ base : local_#3945_e1!base, offset : local_#3945_e1!offset + 20 }]; goto CFG_45498; CFG_45498: assume true; call routine_#33783_luaK_concat(local_#3943_fs,local_#9901,local_#9902); goto CFG_39482; CFG_39482: assume true; assume read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_k == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 0 }] && (read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ind!_idx == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 + 0 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ind!_t == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 + 2 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ind!_vt == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 + 3 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_info == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_u!_ival == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 8 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */) && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_t == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 16 }] && read_type_#92(_memory, _memory_ptr, local_#3946_e2)!_f == _memory[{ base : local_#3946_e2!base, offset : local_#3946_e2!offset + 20 }]; call write_type_#92(local_#3945_e1,read_type_#92(_memory, _memory_ptr, local_#3946_e2)); goto CFG_39125; CFG_39125: assume true; goto CFG_37221; CFG_37221: assume true; } procedure routine_#33803_luaK_prefix(local_#3948_fs_IN : { base : int, offset : int }, local_#3949_op_IN : int, local_#3950_e_IN : { base : int, offset : int }, local_#3951_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3948_fs : { base : int, offset : int }; var local_#3949_op : int; var local_#3950_e : { base : int, offset : int }; var local_#3951_line : int; var local_#9903 : int; var local_#9904 : int; var local_#9905 : int; var local_#9906 : int; var local_#9907 : int; var local_#9908 : int; var local_#9909 : int; var local_#9910 : { base : int, offset : int }; var local_#9911 : int; var local_#9912 : int; var local_#9913 : int; var local_#9914 : int; var local_#9915 : int; var local_#9916 : int; local_#3948_fs := local_#3948_fs_IN; local_#3949_op := local_#3949_op_IN; local_#3950_e := local_#3950_e_IN; local_#3951_line := local_#3951_line_IN; goto CFG_36311; CFG_36311: assume true; goto CFG_51508; CFG_51508: assume true; local_#9903 := local_#3949_op; if (local_#9903 == 0) { goto CFG_42134; } if (local_#9903 == 1) { goto CFG_42134; } if (local_#9903 == 3) { goto CFG_42135; } if (local_#9903 == 2) { goto CFG_45499; } goto CFG_42133; CFG_42133: assume true; local_#9904 := 0; local_#9905 := 0; assert { :LIR "60298" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41906; CFG_41906: assume true; goto CFG_39126; CFG_45499: assume true; call routine_#34656_codenot(local_#3948_fs,local_#3950_e); goto CFG_39483; CFG_39483: assume true; goto CFG_39126; CFG_42134: assume true; local_#9906 := ~uwrap32(local_#3949_op); assert { :LIR "62279" } { :check "overflow" } { :finding_ids "0" } true; local_#9907 := 12; assume { :symbol "~uwrap32" } true; local_#9908 := ~uwrap32(local_#9906 + local_#9907); assert { :LIR "66396" } { :check "overflow" } { :finding_ids "0" } true; local_#9909 := local_#9908; assert { :LIR "62280" } { :check "overflow" } { :finding_ids "0" } local_#9909 <= 2147483647; local_#9910 := global_#31156_ef; goto CFG_45500; CFG_45500: assume true; call local_#9911 := routine_#34665_constfolding(local_#3948_fs,local_#9909,local_#3950_e,local_#9910); goto CFG_49222; CFG_49222: assume true; local_#9912 := local_#9911; if (local_#9912 != 0) { goto CFG_39485; } else { goto CFG_42135; } CFG_42135: assume true; local_#9913 := ~uwrap32(local_#3949_op); assert { :LIR "62281" } { :check "overflow" } { :finding_ids "0" } true; local_#9914 := 25; assume { :symbol "~uwrap32" } true; local_#9915 := ~uwrap32(local_#9913 + local_#9914); assert { :LIR "66397" } { :check "overflow" } { :finding_ids "0" } true; local_#9916 := local_#9915; assert { :LIR "60299" } { :check "overflow" } { :finding_ids "0" } local_#9916 <= 46; goto CFG_45501; CFG_45501: assume true; call routine_#34659_codeunexpval(local_#3948_fs,local_#9916,local_#3950_e,local_#3951_line); goto CFG_39484; CFG_39484: assume true; goto CFG_39126; CFG_39485: assume true; goto CFG_39126; CFG_39126: assume true; goto CFG_37222; CFG_37222: assume true; } procedure routine_#33804_luaK_reserveregs(local_#3952_fs_IN : { base : int, offset : int }, local_#3953_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3952_fs : { base : int, offset : int }; var local_#3953_n : int; var local_#9917 : int; var local_#9918 : int; local_#3952_fs := local_#3952_fs_IN; local_#3953_n := local_#3953_n_IN; goto CFG_36312; CFG_36312: assume true; goto CFG_45502; CFG_45502: assume true; call routine_#33779_luaK_checkstack(local_#3952_fs,local_#3953_n); goto CFG_39127; CFG_39127: assume true; local_#9917 := _memory[{ base : local_#3952_fs!base, offset : local_#3952_fs!offset + 60 }]; assert { :LIR "62282" } { :check "overflow" } { :finding_ids "0" } local_#9917 <= 2147483647; local_#9918 := local_#9917 + local_#3953_n; assert { :LIR "66398" } { :check "overflow" } { :finding_ids "0" } local_#9918 <= 2147483647; _memory[{ base : local_#3952_fs!base, offset : local_#3952_fs!offset + 60 }] := ~uwrap8(local_#9918); assert { :LIR "62283" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37223; CFG_37223: assume true; } procedure routine_#33805_luaK_ret(local_#3954_fs_IN : { base : int, offset : int }, local_#3955_first_IN : int, local_#3956_nret_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3954_fs : { base : int, offset : int }; var local_#3955_first : int; var local_#3956_nret : int; var local_#9919 : int; var local_#9920 : int; var local_#9921 : int; var local_#9922 : int; var local_#9923 : int; local_#3954_fs := local_#3954_fs_IN; local_#3955_first := local_#3955_first_IN; local_#3956_nret := local_#3956_nret_IN; goto CFG_36313; CFG_36313: assume true; goto CFG_42136; CFG_42136: assume true; local_#9919 := 38; local_#9920 := 1; local_#9921 := local_#3956_nret + local_#9920; assert { :LIR "66399" } { :check "overflow" } { :finding_ids "0" } local_#9921 <= 2147483647; local_#9922 := 0; goto CFG_45503; CFG_45503: assume true; call local_#9923 := routine_#33780_luaK_codeABC(local_#3954_fs,local_#9919,local_#3955_first,local_#9921,local_#9922); goto CFG_39128; CFG_39128: assume true; goto CFG_37224; CFG_37224: assume true; } procedure routine_#33806_luaK_self(local_#3957_fs_IN : { base : int, offset : int }, local_#3958_e_IN : { base : int, offset : int }, local_#3959_key_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3957_fs : { base : int, offset : int }; var local_#3958_e : { base : int, offset : int }; var local_#3959_key : { base : int, offset : int }; var local_#9924 : int; var local_#9925 : { base : int, offset : int }; var local_#31320_ereg : int; var local_#9926 : int; var local_#9927 : { base : int, offset : int }; var local_#9928 : int; var local_#9929 : int; var local_#9930 : { base : int, offset : int }; var local_#9931 : int; var local_#9932 : int; var local_#9933 : int; local_#3957_fs := local_#3957_fs_IN; local_#3958_e := local_#3958_e_IN; local_#3959_key := local_#3959_key_IN; goto CFG_36314; CFG_36314: assume true; goto CFG_45504; CFG_45504: assume true; call local_#9924 := routine_#33786_luaK_exp2anyreg(local_#3957_fs,local_#3958_e); goto CFG_42137; CFG_42137: assume true; local_#9925 := { base : local_#3958_e!base, offset : local_#3958_e!offset + 8 }; local_#31320_ereg := _memory[local_#9925]; goto CFG_45505; CFG_45505: assume true; call routine_#34760_freeexp(local_#3957_fs,local_#3958_e); goto CFG_42138; CFG_42138: assume true; local_#9926 := _memory[{ base : local_#3957_fs!base, offset : local_#3957_fs!offset + 60 }]; assert { :LIR "62284" } { :check "overflow" } { :finding_ids "0" } local_#9926 <= 2147483647; local_#9927 := { base : local_#3958_e!base, offset : local_#3958_e!offset + 8 }; _memory[local_#9927] := local_#9926; _memory[{ base : local_#3958_e!base, offset : local_#3958_e!offset + 0 }] := 7; local_#9928 := 2; goto CFG_45506; CFG_45506: assume true; call routine_#33804_luaK_reserveregs(local_#3957_fs,local_#9928); goto CFG_42139; CFG_42139: assume true; local_#9929 := 12; local_#9930 := { base : local_#3958_e!base, offset : local_#3958_e!offset + 8 }; local_#9931 := _memory[local_#9930]; goto CFG_45507; CFG_45507: assume true; call local_#9932 := routine_#33785_luaK_exp2RK(local_#3957_fs,local_#3959_key); goto CFG_45508; CFG_45508: assume true; call local_#9933 := routine_#33780_luaK_codeABC(local_#3957_fs,local_#9929,local_#9931,local_#31320_ereg,local_#9932); goto CFG_45509; CFG_45509: assume true; call routine_#34760_freeexp(local_#3957_fs,local_#3959_key); goto CFG_39129; CFG_39129: assume true; goto CFG_37225; CFG_37225: assume true; } procedure routine_#33807_luaK_setlist(local_#3960_fs_IN : { base : int, offset : int }, local_#3961_base_IN : int, local_#3962_nelems_IN : int, local_#3963_tostore_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3960_fs : { base : int, offset : int }; var local_#3961_base : int; var local_#3962_nelems : int; var local_#3963_tostore : int; var local_#9934 : int; var local_#9935 : int; var local_#9936 : int; var local_#9937 : int; var local_#9938 : int; var local_#9939 : int; var local_#31322_c : int; var local_#9940 : int; var local_#9941 : int; var local_#30606 : int; var local_#31321_b : int; var local_#9942 : int; var local_#9943 : int; var local_#9944 : int; var local_#9945 : int; var local_#9946 : int; var local_#9947 : int; var local_#9948 : { base : int, offset : int }; var local_#9949 : { base : int, offset : int }; var local_#9950 : { base : int, offset : int }; var local_#9951 : int; var local_#9952 : int; var local_#9953 : int; var local_#9954 : int; var local_#9955 : int; var local_#9956 : int; var local_#9957 : int; var local_#9958 : int; var local_#9959 : int; local_#3960_fs := local_#3960_fs_IN; local_#3961_base := local_#3961_base_IN; local_#3962_nelems := local_#3962_nelems_IN; local_#3963_tostore := local_#3963_tostore_IN; goto CFG_36315; CFG_36315: assume true; goto CFG_49223; CFG_49223: assume true; local_#9934 := 1; local_#9935 := local_#3962_nelems - local_#9934; assert { :LIR "67887" } { :check "overflow" } { :finding_ids "0" } local_#9935 <= 2147483647; local_#9936 := 50; local_#9937 := local_#9935 / local_#9936; assert { :LIR "68632" } { :check "overflow" } { :finding_ids "0" } local_#9937 <= 2147483647; local_#9938 := 1; local_#9939 := local_#9937 + local_#9938; assert { :LIR "66400" } { :check "overflow" } { :finding_ids "0" } local_#9939 <= 2147483647; local_#31322_c := local_#9939; local_#9940 := -1; local_#9941 := (if local_#3963_tostore == local_#9940 then 1 else 0); if (local_#9941 != 0) { goto CFG_39899; } else { goto CFG_39898; } CFG_39898: assume true; local_#30606 := local_#3963_tostore; goto CFG_49224; CFG_39899: assume true; local_#30606 := 0; goto CFG_49224; CFG_49224: assume true; local_#31321_b := local_#30606; local_#9942 := 0; local_#9943 := 0; assert { :LIR "60300" } { :check "overflow" } { :finding_ids "0" } true; local_#9944 := 511; local_#9945 := (if local_#31322_c <= local_#9944 then 1 else 0); if (local_#9945 != 0) { goto CFG_42142; } else { goto CFG_49225; } CFG_49225: assume true; local_#9946 := 67108863; local_#9947 := (if local_#31322_c <= local_#9946 then 1 else 0); if (local_#9947 != 0) { goto CFG_42141; } else { goto CFG_42140; } CFG_42140: assume true; local_#9948 := _memory_ptr[{ base : local_#3960_fs!base, offset : local_#3960_fs!offset + 16 }]; assume _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 0 }] == 99 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 1 }] == 111 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 2 }] == 110 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 3 }] == 115 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 4 }] == 116 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 5 }] == 114 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 6 }] == 117 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 7 }] == 99 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 8 }] == 116 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 9 }] == 111 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 10 }] == 114 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 11 }] == 32 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 12 }] == 116 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 13 }] == 111 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 14 }] == 111 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 15 }] == 32 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 16 }] == 108 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 17 }] == 111 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 18 }] == 110 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 19 }] == 103 && _memory[{ base : strlit_#70304!base, offset : strlit_#70304!offset + 20 }] == 0; local_#9949 := strlit_#70304; local_#9950 := { base : local_#9949!base, offset : local_#9949!offset + 0 * 1 }; assert { :LIR "62285" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45510; CFG_45510: assume true; call routine_#33910_luaX_syntaxerror(local_#9948,local_#9950); CFG_42141: assume true; local_#9951 := 43; local_#9952 := 0; goto CFG_45511; CFG_45511: assume true; call local_#9953 := routine_#33780_luaK_codeABC(local_#3960_fs,local_#9951,local_#3961_base,local_#31321_b,local_#9952); goto CFG_45512; CFG_45512: assume true; call local_#9954 := routine_#34655_codeextraarg(local_#3960_fs,local_#31322_c); goto CFG_39900; CFG_39900: assume true; goto CFG_39901; CFG_39901: assume true; goto CFG_39130; CFG_42142: assume true; local_#9955 := 43; goto CFG_45513; CFG_45513: assume true; call local_#9956 := routine_#33780_luaK_codeABC(local_#3960_fs,local_#9955,local_#3961_base,local_#31321_b,local_#31322_c); goto CFG_39902; CFG_39902: assume true; goto CFG_39130; CFG_39130: assume true; local_#9957 := 1; local_#9958 := local_#3961_base + local_#9957; assert { :LIR "66401" } { :check "overflow" } { :finding_ids "0" } local_#9958 <= 2147483647; local_#9959 := ~uwrap8(local_#9958); assert { :LIR "62286" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3960_fs!base, offset : local_#3960_fs!offset + 60 }] := local_#9959; goto CFG_37226; CFG_37226: assume true; } procedure routine_#33808_luaK_setoneret(local_#3964_fs_IN : { base : int, offset : int }, local_#3965_e_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#3964_fs : { base : int, offset : int }; var local_#3965_e : { base : int, offset : int }; var local_#9960 : int; var local_#9961 : int; var local_#9962 : int; var local_#9963 : int; var local_#9964 : int; var local_#9965 : int; var local_#9966 : { base : int, offset : int }; var local_#9967 : { base : int, offset : int }; var local_#9968 : { base : int, offset : int }; var local_#9969 : int; var local_#9970 : int; var local_#9971 : int; var local_#9972 : int; var local_#9973 : { base : int, offset : int }; var local_#9974 : { base : int, offset : int }; var local_#9975 : { base : int, offset : int }; var local_#9976 : int; var local_#9977 : int; var local_#9978 : { base : int, offset : int }; var local_#9979 : { base : int, offset : int }; var local_#9980 : { base : int, offset : int }; var local_#9981 : int; var local_#9982 : int; var local_#9983 : int; var local_#9984 : int; var local_#9985 : int; var local_#9986 : { base : int, offset : int }; local_#3964_fs := local_#3964_fs_IN; local_#3965_e := local_#3965_e_IN; goto CFG_36316; CFG_36316: assume true; goto CFG_49226; CFG_49226: assume true; local_#9960 := ~uwrap32(_memory[{ base : local_#3965_e!base, offset : local_#3965_e!offset + 0 }]); assert { :LIR "62287" } { :check "overflow" } { :finding_ids "0" } true; local_#9961 := 13; local_#9962 := (if local_#9960 == local_#9961 then 1 else 0); if (local_#9962 != 0) { goto CFG_39905; } else { goto CFG_49227; } CFG_49227: assume true; local_#9963 := ~uwrap32(_memory[{ base : local_#3965_e!base, offset : local_#3965_e!offset + 0 }]); assert { :LIR "62288" } { :check "overflow" } { :finding_ids "0" } true; local_#9964 := 14; local_#9965 := (if local_#9963 == local_#9964 then 1 else 0); if (local_#9965 != 0) { goto CFG_39903; } else { goto CFG_39904; } CFG_39903: assume true; local_#9966 := _memory_ptr[{ base : local_#3964_fs!base, offset : local_#3964_fs!offset + 0 }]; local_#9967 := { base : local_#3965_e!base, offset : local_#3965_e!offset + 8 }; local_#9968 := { base : _memory_ptr[{ base : local_#9966!base, offset : local_#9966!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9966!base, offset : local_#9966!offset + 56 }]!offset + _memory[local_#9967] * 4 }; local_#9969 := 8388607; local_#9970 := ~uand32(_memory[local_#9968], local_#9969); local_#9971 := 16777216; local_#9972 := ~uor32(local_#9970, local_#9971); local_#9973 := _memory_ptr[{ base : local_#3964_fs!base, offset : local_#3964_fs!offset + 0 }]; local_#9974 := { base : local_#3965_e!base, offset : local_#3965_e!offset + 8 }; local_#9975 := { base : _memory_ptr[{ base : local_#9973!base, offset : local_#9973!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9973!base, offset : local_#9973!offset + 56 }]!offset + _memory[local_#9974] * 4 }; _memory[local_#9975] := local_#9972; _memory[{ base : local_#3965_e!base, offset : local_#3965_e!offset + 0 }] := 12; goto CFG_39904; CFG_39904: assume true; goto CFG_39131; CFG_39905: assume true; local_#9976 := 0; local_#9977 := 0; assert { :LIR "60301" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#3965_e!base, offset : local_#3965_e!offset + 0 }] := 7; local_#9978 := _memory_ptr[{ base : local_#3964_fs!base, offset : local_#3964_fs!offset + 0 }]; local_#9979 := { base : local_#3965_e!base, offset : local_#3965_e!offset + 8 }; local_#9980 := { base : _memory_ptr[{ base : local_#9978!base, offset : local_#9978!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9978!base, offset : local_#9978!offset + 56 }]!offset + _memory[local_#9979] * 4 }; local_#9981 := 6; local_#9982 := ~lshr32(_memory[local_#9980], local_#9981); local_#9983 := 255; local_#9984 := ~uand32(local_#9982, local_#9983); local_#9985 := local_#9984; assert { :LIR "60302" } { :check "overflow" } { :finding_ids "0" } local_#9985 <= 2147483647; local_#9986 := { base : local_#3965_e!base, offset : local_#3965_e!offset + 8 }; _memory[local_#9986] := local_#9985; goto CFG_39131; CFG_39131: assume true; goto CFG_37227; CFG_37227: assume true; } procedure routine_#33809_luaK_setreturns(local_#3966_fs_IN : { base : int, offset : int }, local_#3967_e_IN : { base : int, offset : int }, local_#3968_nresults_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3966_fs : { base : int, offset : int }; var local_#3967_e : { base : int, offset : int }; var local_#3968_nresults : int; var local_#9987 : int; var local_#9988 : int; var local_#9989 : int; var local_#9990 : int; var local_#9991 : int; var local_#9992 : int; var local_#9993 : int; var local_#9994 : int; var local_#9995 : { base : int, offset : int }; var local_#9996 : { base : int, offset : int }; var local_#9997 : { base : int, offset : int }; var local_#31323_pc : { base : int, offset : int }; var local_#9998 : int; var local_#9999 : int; var local_#10000 : int; var local_#10001 : int; var local_#10002 : int; var local_#10003 : int; var local_#10004 : int; var local_#10005 : int; var local_#10006 : int; var local_#10007 : int; var local_#10008 : int; var local_#10009 : int; var local_#10010 : int; var local_#10011 : int; var local_#10012 : int; var local_#10013 : int; var local_#10014 : int; var local_#10015 : int; var local_#10016 : int; var local_#10017 : { base : int, offset : int }; var local_#10018 : { base : int, offset : int }; var local_#10019 : { base : int, offset : int }; var local_#10020 : int; var local_#10021 : int; var local_#10022 : int; var local_#10023 : int; var local_#10024 : int; var local_#10025 : int; var local_#10026 : int; var local_#10027 : int; var local_#10028 : int; var local_#10029 : int; var local_#10030 : { base : int, offset : int }; var local_#10031 : { base : int, offset : int }; var local_#10032 : { base : int, offset : int }; local_#3966_fs := local_#3966_fs_IN; local_#3967_e := local_#3967_e_IN; local_#3968_nresults := local_#3968_nresults_IN; goto CFG_36317; CFG_36317: assume true; goto CFG_49228; CFG_49228: assume true; local_#9987 := ~uwrap32(_memory[{ base : local_#3967_e!base, offset : local_#3967_e!offset + 0 }]); assert { :LIR "62289" } { :check "overflow" } { :finding_ids "0" } true; local_#9988 := 13; local_#9989 := (if local_#9987 == local_#9988 then 1 else 0); if (local_#9989 != 0) { goto CFG_39909; } else { goto CFG_49229; } CFG_49229: assume true; local_#9990 := ~uwrap32(_memory[{ base : local_#3967_e!base, offset : local_#3967_e!offset + 0 }]); assert { :LIR "62290" } { :check "overflow" } { :finding_ids "0" } true; local_#9991 := 14; local_#9992 := (if local_#9990 == local_#9991 then 1 else 0); if (local_#9992 != 0) { goto CFG_42143; } else { goto CFG_39906; } CFG_39906: assume true; local_#9993 := 0; local_#9994 := 0; assert { :LIR "60303" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39908; CFG_42143: assume true; local_#9995 := _memory_ptr[{ base : local_#3966_fs!base, offset : local_#3966_fs!offset + 0 }]; local_#9996 := { base : local_#3967_e!base, offset : local_#3967_e!offset + 8 }; local_#9997 := { base : _memory_ptr[{ base : local_#9995!base, offset : local_#9995!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#9995!base, offset : local_#9995!offset + 56 }]!offset + _memory[local_#9996] * 4 }; local_#31323_pc := local_#9997; local_#9998 := 8388607; local_#9999 := ~uand32(_memory[local_#31323_pc], local_#9998); local_#10000 := 1; local_#10001 := local_#3968_nresults + local_#10000; assert { :LIR "66402" } { :check "overflow" } { :finding_ids "0" } local_#10001 <= 2147483647; local_#10002 := ~uwrap32(local_#10001); assert { :LIR "60304" } { :check "overflow" } { :finding_ids "0" } true; local_#10003 := 23; local_#10004 := ~shl32(local_#10002, local_#10003); local_#10005 := 4286578688; local_#10006 := ~uand32(local_#10004, local_#10005); local_#10007 := ~uor32(local_#9999, local_#10006); _memory[local_#31323_pc] := local_#10007; local_#10008 := 4294950975; local_#10009 := ~uand32(_memory[local_#31323_pc], local_#10008); local_#10010 := ~uwrap32(_memory[{ base : local_#3966_fs!base, offset : local_#3966_fs!offset + 60 }]); assert { :LIR "60305" } { :check "overflow" } { :finding_ids "0" } true; local_#10011 := 6; local_#10012 := ~shl32(local_#10010, local_#10011); local_#10013 := 16320; local_#10014 := ~uand32(local_#10012, local_#10013); local_#10015 := ~uor32(local_#10009, local_#10014); _memory[local_#31323_pc] := local_#10015; local_#10016 := 1; goto CFG_45514; CFG_45514: assume true; call routine_#33804_luaK_reserveregs(local_#3966_fs,local_#10016); goto CFG_39907; CFG_39907: assume true; goto CFG_39908; CFG_39908: assume true; goto CFG_39132; CFG_39909: assume true; local_#10017 := _memory_ptr[{ base : local_#3966_fs!base, offset : local_#3966_fs!offset + 0 }]; local_#10018 := { base : local_#3967_e!base, offset : local_#3967_e!offset + 8 }; local_#10019 := { base : _memory_ptr[{ base : local_#10017!base, offset : local_#10017!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#10017!base, offset : local_#10017!offset + 56 }]!offset + _memory[local_#10018] * 4 }; local_#10020 := 4286595071; local_#10021 := ~uand32(_memory[local_#10019], local_#10020); local_#10022 := 1; local_#10023 := local_#3968_nresults + local_#10022; assert { :LIR "66403" } { :check "overflow" } { :finding_ids "0" } local_#10023 <= 2147483647; local_#10024 := ~uwrap32(local_#10023); assert { :LIR "60306" } { :check "overflow" } { :finding_ids "0" } true; local_#10025 := 14; local_#10026 := ~shl32(local_#10024, local_#10025); local_#10027 := 8372224; local_#10028 := ~uand32(local_#10026, local_#10027); local_#10029 := ~uor32(local_#10021, local_#10028); local_#10030 := _memory_ptr[{ base : local_#3966_fs!base, offset : local_#3966_fs!offset + 0 }]; local_#10031 := { base : local_#3967_e!base, offset : local_#3967_e!offset + 8 }; local_#10032 := { base : _memory_ptr[{ base : local_#10030!base, offset : local_#10030!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#10030!base, offset : local_#10030!offset + 56 }]!offset + _memory[local_#10031] * 4 }; _memory[local_#10032] := local_#10029; goto CFG_39132; CFG_39132: assume true; goto CFG_37228; CFG_37228: assume true; } procedure routine_#33810_luaK_storevar(local_#3969_fs_IN : { base : int, offset : int }, local_#3970_var_IN : { base : int, offset : int }, local_#3971_ex_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3969_fs : { base : int, offset : int }; var local_#3970_var : { base : int, offset : int }; var local_#3971_ex : { base : int, offset : int }; var local_#10033 : int; var local_#10034 : int; var local_#10035 : int; var local_#10036 : { base : int, offset : int }; var local_#10037 : int; var local_#10038 : int; var local_#10039 : int; var local_#30607 : int; var local_#10040 : int; var local_#31326_op : int; var local_#10041 : int; var local_#31325_e : int; var local_#10042 : { base : int, offset : int }; var local_#10043 : int; var local_#10044 : { base : int, offset : int }; var local_#10045 : int; var local_#10046 : int; var local_#10047 : int; var local_#31324_e : int; var local_#10048 : int; var local_#10049 : { base : int, offset : int }; var local_#10050 : int; var local_#10051 : int; var local_#10052 : int; var local_#10053 : { base : int, offset : int }; var local_#10054 : int; local_#3969_fs := local_#3969_fs_IN; local_#3970_var := local_#3970_var_IN; local_#3971_ex := local_#3971_ex_IN; goto CFG_36318; CFG_36318: assume true; goto CFG_51509; CFG_51509: assume true; local_#10033 := _memory[{ base : local_#3970_var!base, offset : local_#3970_var!offset + 0 }]; if (local_#10033 == 8) { goto CFG_45520; } if (local_#10033 == 9) { goto CFG_45517; } if (local_#10033 == 10) { goto CFG_49230; } goto CFG_42144; CFG_42144: assume true; local_#10034 := 0; local_#10035 := 0; assert { :LIR "60307" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41907; CFG_41907: assume true; goto CFG_45519; CFG_49230: assume true; local_#10036 := { base : local_#3970_var!base, offset : local_#3970_var!offset + 8 }; local_#10037 := _memory[{ base : local_#10036!base, offset : local_#10036!offset + 3 }]; assert { :LIR "62291" } { :check "overflow" } { :finding_ids "0" } local_#10037 <= 2147483647; local_#10038 := 8; local_#10039 := (if local_#10037 == local_#10038 then 1 else 0); if (local_#10039 != 0) { goto CFG_39911; } else { goto CFG_39910; } CFG_39910: assume true; local_#30607 := 8; goto CFG_42145; CFG_39911: assume true; local_#30607 := 10; goto CFG_42145; CFG_42145: assume true; local_#10040 := local_#30607; assert { :LIR "62292" } { :check "overflow" } { :finding_ids "0" } local_#10040 <= 46; local_#31326_op := local_#10040; goto CFG_45515; CFG_45515: assume true; call local_#10041 := routine_#33785_luaK_exp2RK(local_#3969_fs,local_#3971_ex); goto CFG_42146; CFG_42146: assume true; local_#31325_e := local_#10041; local_#10042 := { base : local_#3970_var!base, offset : local_#3970_var!offset + 8 }; local_#10043 := _memory[{ base : local_#10042!base, offset : local_#10042!offset + 2 }]; assert { :LIR "62293" } { :check "overflow" } { :finding_ids "0" } local_#10043 <= 2147483647; local_#10044 := { base : local_#3970_var!base, offset : local_#3970_var!offset + 8 }; local_#10045 := _memory[{ base : local_#10044!base, offset : local_#10044!offset + 0 }]; assert { :LIR "62294" } { :check "overflow" } { :finding_ids "0" } local_#10045 <= 2147483647; goto CFG_45516; CFG_45516: assume true; call local_#10046 := routine_#33780_luaK_codeABC(local_#3969_fs,local_#31326_op,local_#10043,local_#10045,local_#31325_e); goto CFG_39486; CFG_39486: assume true; goto CFG_45519; CFG_45517: assume true; call local_#10047 := routine_#33786_luaK_exp2anyreg(local_#3969_fs,local_#3971_ex); goto CFG_42147; CFG_42147: assume true; local_#31324_e := local_#10047; local_#10048 := 9; local_#10049 := { base : local_#3970_var!base, offset : local_#3970_var!offset + 8 }; local_#10050 := _memory[local_#10049]; local_#10051 := 0; goto CFG_45518; CFG_45518: assume true; call local_#10052 := routine_#33780_luaK_codeABC(local_#3969_fs,local_#10048,local_#31324_e,local_#10050,local_#10051); goto CFG_39487; CFG_39487: assume true; goto CFG_45519; CFG_45519: assume true; call routine_#34760_freeexp(local_#3969_fs,local_#3971_ex); goto CFG_39133; CFG_39133: assume true; goto CFG_37229; CFG_45520: assume true; call routine_#34760_freeexp(local_#3969_fs,local_#3971_ex); goto CFG_42148; CFG_42148: assume true; local_#10053 := { base : local_#3970_var!base, offset : local_#3970_var!offset + 8 }; local_#10054 := _memory[local_#10053]; goto CFG_45521; CFG_45521: assume true; call routine_#34719_exp2reg(local_#3969_fs,local_#3971_ex,local_#10054); goto CFG_39134; CFG_39134: assume true; goto CFG_37229; CFG_37229: assume true; } procedure routine_#33811_luaK_stringK(local_#3972_fs_IN : { base : int, offset : int }, local_#3973_s_IN : { base : int, offset : int }) returns (local_#7788 : int) modifies _memory, _memory_ptr, _valid; { var local_#3972_fs : { base : int, offset : int }; var local_#3973_s : { base : int, offset : int }; var local_#31327_o : { base : int, offset : int }; var local_#31328_io : { base : int, offset : int }; var local_#31329_x_ : { base : int, offset : int }; var local_#10055 : { base : int, offset : int }; var local_#10056 : { base : int, offset : int }; var local_#10057 : { base : int, offset : int }; var local_#10058 : int; var local_#10059 : int; var local_#10060 : int; var local_#10061 : int; var local_#10062 : int; var local_#10063 : { base : int, offset : int }; var local_#10064 : { base : int, offset : int }; var local_#10065 : int; local_#3972_fs := local_#3972_fs_IN; local_#3973_s := local_#3973_s_IN; goto CFG_36319; CFG_36319: assume true; goto CFG_42149; CFG_42149: assume true; local_#31328_io := local_#31327_o; local_#31329_x_ := local_#3973_s; local_#10055 := local_#31329_x_; assert { :LIR "60308" } { :check "overflow" } { :finding_ids "0" } true; local_#10056 := { base : local_#10055!base, offset : local_#10055!offset + 0 }; local_#10057 := { base : local_#31328_io!base, offset : local_#31328_io!offset + 0 }; _memory_ptr[local_#10057] := local_#10056; local_#10058 := _memory[{ base : local_#31329_x_!base, offset : local_#31329_x_!offset + 8 }]; assert { :LIR "62295" } { :check "overflow" } { :finding_ids "0" } local_#10058 <= 2147483647; local_#10059 := 64; local_#10060 := ~sor32(local_#10058, local_#10059); _memory[{ base : local_#31328_io!base, offset : local_#31328_io!offset + 8 }] := local_#10060; local_#10061 := 0; local_#10062 := 0; assert { :LIR "60309" } { :check "overflow" } { :finding_ids "0" } true; local_#10063 := local_#31327_o; local_#10064 := local_#31327_o; goto CFG_45522; CFG_45522: assume true; call local_#10065 := routine_#34572_addk(local_#3972_fs,local_#10063,local_#10064); goto CFG_38102; CFG_38102: assume true; local_#7788 := local_#10065; goto CFG_37230; CFG_37230: assume true; } procedure routine_#33812_luaL_addlstring(local_#3974_B_IN : { base : int, offset : int }, local_#3975_s_IN : { base : int, offset : int }, local_#3976_l_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3974_B : { base : int, offset : int }; var local_#3975_s : { base : int, offset : int }; var local_#3976_l : int; var local_#10066 : int; var local_#10067 : int; var local_#10068 : { base : int, offset : int }; var local_#31330_b : { base : int, offset : int }; var local_#10069 : { base : int, offset : int }; var local_#10070 : { base : int, offset : int }; var local_#10071 : int; var local_#10072 : int; var local_#10073 : { base : int, offset : int }; local_#3974_B := local_#3974_B_IN; local_#3975_s := local_#3975_s_IN; local_#3976_l := local_#3976_l_IN; goto CFG_36320; CFG_36320: assume true; goto CFG_49231; CFG_49231: assume true; local_#10066 := 0; local_#10067 := (if local_#3976_l > local_#10066 then 1 else 0); if (local_#10067 != 0) { goto CFG_45523; } else { goto CFG_39135; } CFG_45523: assume true; call local_#10068 := routine_#33844_luaL_prepbuffsize(local_#3974_B,local_#3976_l); goto CFG_42150; CFG_42150: assume true; local_#31330_b := local_#10068; local_#10069 := local_#31330_b; assert { :LIR "62296" } { :check "overflow" } { :finding_ids "0" } true; local_#10070 := local_#3975_s; assert { :LIR "62297" } { :check "overflow" } { :finding_ids "0" } true; local_#10071 := 1; assume { :symbol "~uwrap64" } true; local_#10072 := ~uwrap64(local_#3976_l * local_#10071); assert { :LIR "68512" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45524; CFG_45524: assume true; call local_#10073 := routine_#34026_memcpy(local_#10069,local_#10070,local_#10072); goto CFG_39912; CFG_39912: assume true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#3974_B!base, offset : local_#3974_B!offset + 16 }] := ~uwrap64(_memory[{ base : local_#3974_B!base, offset : local_#3974_B!offset + 16 }] + local_#3976_l); assert { :LIR "66404" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39135; CFG_39135: assume true; goto CFG_37231; CFG_37231: assume true; } procedure routine_#33813_luaL_addstring(local_#3977_B_IN : { base : int, offset : int }, local_#3978_s_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3977_B : { base : int, offset : int }; var local_#3978_s : { base : int, offset : int }; var local_#10074 : int; local_#3977_B := local_#3977_B_IN; local_#3978_s := local_#3978_s_IN; goto CFG_36321; CFG_36321: assume true; goto CFG_45525; CFG_45525: assume true; call local_#10074 := routine_#34454_strlen(local_#3978_s); goto CFG_45526; CFG_45526: assume true; call routine_#33812_luaL_addlstring(local_#3977_B,local_#3978_s,local_#10074); goto CFG_39136; CFG_39136: assume true; goto CFG_37232; CFG_37232: assume true; } procedure routine_#33814_luaL_addvalue(local_#3979_B_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#3979_B : { base : int, offset : int }; var local_#31331_L : { base : int, offset : int }; var local_#10075 : int; var local_#31332_l : { base : int, offset : int }; var local_#10076 : { base : int, offset : int }; var local_#10077 : { base : int, offset : int }; var local_#31333_s : { base : int, offset : int }; var local_#10078 : { base : int, offset : int }; var local_#10079 : int; var local_#10080 : int; var local_#10081 : int; var local_#10082 : { base : int, offset : int }; var local_#10083 : int; var local_#30608 : int; var local_#10084 : int; var local_#10085 : int; local_#3979_B := local_#3979_B_IN; goto CFG_36322; CFG_36322: assume true; goto CFG_42151; CFG_42151: assume true; local_#31331_L := _memory_ptr[{ base : local_#3979_B!base, offset : local_#3979_B!offset + 24 }]; local_#10075 := -1; local_#10076 := local_#31332_l; goto CFG_45527; CFG_45527: assume true; call local_#10077 := routine_#33995_lua_tolstring(local_#31331_L,local_#10075,local_#10076); goto CFG_49232; CFG_49232: assume true; local_#31333_s := local_#10077; local_#10078 := { base : local_#3979_B!base, offset : local_#3979_B!offset + 32 }; local_#10079 := (if _memory_ptr[{ base : local_#3979_B!base, offset : local_#3979_B!offset + 0 }] != { base : local_#10078!base, offset : local_#10078!offset + 0 * 1 } then 1 else 0); if (local_#10079 != 0) { goto CFG_42152; } else { goto CFG_45529; } CFG_42152: assume true; local_#10080 := -2; local_#10081 := 1; goto CFG_45528; CFG_45528: assume true; call routine_#33978_lua_rotate(local_#31331_L,local_#10080,local_#10081); goto CFG_39913; CFG_39913: assume true; goto CFG_45529; CFG_45529: assume true; call routine_#33812_luaL_addlstring(local_#3979_B,local_#31333_s,_memory[local_#31332_l]); goto CFG_49233; CFG_49233: assume true; local_#10082 := { base : local_#3979_B!base, offset : local_#3979_B!offset + 32 }; local_#10083 := (if _memory_ptr[{ base : local_#3979_B!base, offset : local_#3979_B!offset + 0 }] != { base : local_#10082!base, offset : local_#10082!offset + 0 * 1 } then 1 else 0); if (local_#10083 != 0) { goto CFG_39915; } else { goto CFG_39914; } CFG_39914: assume true; local_#30608 := -1; goto CFG_42153; CFG_39915: assume true; local_#30608 := -2; goto CFG_42153; CFG_42153: assume true; local_#10084 := -1; goto CFG_45530; CFG_45530: assume true; call routine_#33978_lua_rotate(local_#31331_L,local_#30608,local_#10084); goto CFG_42154; CFG_42154: assume true; local_#10085 := -2; goto CFG_45531; CFG_45531: assume true; call routine_#33987_lua_settop(local_#31331_L,local_#10085); goto CFG_39137; CFG_39137: assume true; goto CFG_37233; CFG_37233: assume true; } procedure routine_#33815_luaL_argerror(local_#3980_L_IN : { base : int, offset : int }, local_#3981_arg_IN : int, local_#3982_extramsg_IN : { base : int, offset : int }) returns (local_#7789 : int) modifies _memory, _memory_ptr, _valid; { var local_#3980_L : { base : int, offset : int }; var local_#3981_arg : int; var local_#3982_extramsg : { base : int, offset : int }; var local_#10086 : int; var local_#31334_ar : { base : int, offset : int }; var local_#10087 : { base : int, offset : int }; var local_#10088 : int; var local_#10089 : int; var local_#10090 : { base : int, offset : int }; var local_#10091 : { base : int, offset : int }; var local_#10092 : { base : int, offset : int }; var local_#10093 : int; var local_#10094 : { base : int, offset : int }; var local_#10095 : { base : int, offset : int }; var local_#10096 : { base : int, offset : int }; var local_#10097 : int; var local_#10098 : int; var local_#10099 : int; var local_#10100 : int; var local_#10101 : int; var local_#10102 : int; var local_#10103 : int; var local_#10104 : int; var local_#10105 : { base : int, offset : int }; var local_#10106 : int; var local_#10107 : { base : int, offset : int }; var local_#10108 : int; var local_#10109 : int; var local_#10110 : { base : int, offset : int }; var local_#10111 : { base : int, offset : int }; var local_#30609 : { base : int, offset : int }; var local_#10112 : int; var local_#10113 : { base : int, offset : int }; var local_#10114 : { base : int, offset : int }; var local_#10115 : { base : int, offset : int }; var local_#10116 : { base : int, offset : int }; var local_#10117 : { base : int, offset : int }; var local_#10118 : int; var local_#10119 : { base : int, offset : int }; var local_#10120 : { base : int, offset : int }; var local_#10121 : { base : int, offset : int }; var local_#10122 : int; var local_#10123 : { base : int, offset : int }; var local_#10124 : { base : int, offset : int }; var local_#10125 : int; local_#3980_L := local_#3980_L_IN; local_#3981_arg := local_#3981_arg_IN; local_#3982_extramsg := local_#3982_extramsg_IN; goto CFG_36323; CFG_36323: assume true; goto CFG_42155; CFG_42155: assume true; local_#10086 := 0; local_#10087 := local_#31334_ar; goto CFG_45532; CFG_45532: assume true; call local_#10088 := routine_#33939_lua_getstack(local_#3980_L,local_#10086,local_#10087); goto CFG_49234; CFG_49234: assume true; local_#10089 := (if local_#10088 != 0 then 0 else 1); if (local_#10089 != 0) { goto CFG_42162; } else { goto CFG_42156; } CFG_42156: assume true; assume _memory[{ base : strlit_#70305!base, offset : strlit_#70305!offset + 0 }] == 110 && _memory[{ base : strlit_#70305!base, offset : strlit_#70305!offset + 1 }] == 0; local_#10090 := strlit_#70305; local_#10091 := { base : local_#10090!base, offset : local_#10090!offset + 0 * 1 }; assert { :LIR "62298" } { :check "overflow" } { :finding_ids "0" } true; local_#10092 := local_#31334_ar; goto CFG_45533; CFG_45533: assume true; call local_#10093 := routine_#33936_lua_getinfo(local_#3980_L,local_#10091,local_#10092); goto CFG_42157; CFG_42157: assume true; local_#10094 := _memory_ptr[{ base : local_#31334_ar!base, offset : local_#31334_ar!offset + 16 }]; assume _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 0 }] == 109 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 1 }] == 101 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 2 }] == 116 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 3 }] == 104 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 4 }] == 111 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 5 }] == 100 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 6 }] == 0; local_#10095 := strlit_#70306; local_#10096 := { base : local_#10095!base, offset : local_#10095!offset + 0 * 1 }; assert { :LIR "62299" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45534; CFG_45534: assume true; call local_#10097 := routine_#34446_strcmp(local_#10094,local_#10096); goto CFG_49235; CFG_49235: assume true; local_#10098 := 0; local_#10099 := (if local_#10097 == local_#10098 then 1 else 0); if (local_#10099 != 0) { goto CFG_49236; } else { goto CFG_49237; } CFG_49236: assume true; local_#10100 := local_#3981_arg; local_#10101 := 1; local_#3981_arg := local_#10100 - local_#10101; assert { :LIR "67888" } { :check "overflow" } { :finding_ids "0" } local_#3981_arg <= 2147483647; local_#10102 := local_#10100; local_#10103 := 0; local_#10104 := (if local_#3981_arg == local_#10103 then 1 else 0); if (local_#10104 != 0) { goto CFG_42161; } else { goto CFG_39916; } CFG_39916: assume true; goto CFG_49237; CFG_49237: assume true; local_#10105 := { base : 0, offset : 0 }; local_#10106 := (if _memory_ptr[{ base : local_#31334_ar!base, offset : local_#31334_ar!offset + 8 }] == local_#10105 then 1 else 0); if (local_#10106 != 0) { goto CFG_42158; } else { goto CFG_42160; } CFG_42158: assume true; local_#10107 := local_#31334_ar; goto CFG_45535; CFG_45535: assume true; call local_#10108 := routine_#35005_pushglobalfuncname(local_#3980_L,local_#10107); goto CFG_49238; CFG_49238: assume true; local_#10109 := local_#10108; if (local_#10109 != 0) { goto CFG_42159; } else { goto CFG_39917; } CFG_39917: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#10110 := strlit_#70307; local_#10111 := { base : local_#10110!base, offset : local_#10110!offset + 0 * 1 }; assert { :LIR "62300" } { :check "overflow" } { :finding_ids "0" } true; local_#30609 := local_#10111; goto CFG_39919; CFG_42159: assume true; local_#10112 := -1; local_#10113 := { base : 0, offset : 0 }; goto CFG_45536; CFG_45536: assume true; call local_#10114 := routine_#33995_lua_tolstring(local_#3980_L,local_#10112,local_#10113); goto CFG_39918; CFG_39918: assume true; local_#30609 := local_#10114; goto CFG_39919; CFG_39919: assume true; _memory_ptr[{ base : local_#31334_ar!base, offset : local_#31334_ar!offset + 8 }] := local_#30609; goto CFG_42160; CFG_42160: assume true; assume _memory[{ base : strlit_#70308!base, offset : strlit_#70308!offset + 29 }] == 0; local_#10115 := strlit_#70308; local_#10116 := { base : local_#10115!base, offset : local_#10115!offset + 0 * 1 }; assert { :LIR "62301" } { :check "overflow" } { :finding_ids "0" } true; local_#10117 := _memory_ptr[{ base : local_#31334_ar!base, offset : local_#31334_ar!offset + 8 }]; goto CFG_45537; CFG_45537: assume true; call local_#10118 := routine_#33828_luaL_error(local_#3980_L,local_#10116,{ base : 0, offset : 0 }); goto CFG_38103; CFG_38103: assume true; local_#7789 := local_#10118; goto CFG_37234; CFG_42161: assume true; assume _memory[{ base : strlit_#70309!base, offset : strlit_#70309!offset + 29 }] == 0; local_#10119 := strlit_#70309; local_#10120 := { base : local_#10119!base, offset : local_#10119!offset + 0 * 1 }; assert { :LIR "62302" } { :check "overflow" } { :finding_ids "0" } true; local_#10121 := _memory_ptr[{ base : local_#31334_ar!base, offset : local_#31334_ar!offset + 8 }]; goto CFG_45538; CFG_45538: assume true; call local_#10122 := routine_#33828_luaL_error(local_#3980_L,local_#10120,{ base : 0, offset : 0 }); goto CFG_38104; CFG_38104: assume true; local_#7789 := local_#10122; goto CFG_37234; CFG_42162: assume true; assume _memory[{ base : strlit_#70310!base, offset : strlit_#70310!offset + 21 }] == 0; local_#10123 := strlit_#70310; local_#10124 := { base : local_#10123!base, offset : local_#10123!offset + 0 * 1 }; assert { :LIR "62303" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45539; CFG_45539: assume true; call local_#10125 := routine_#33828_luaL_error(local_#3980_L,local_#10124,{ base : 0, offset : 0 }); goto CFG_38105; CFG_38105: assume true; local_#7789 := local_#10125; goto CFG_37234; CFG_37234: assume true; } procedure routine_#33816_luaL_buffinit(local_#3983_L_IN : { base : int, offset : int }, local_#3984_B_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#3983_L : { base : int, offset : int }; var local_#3984_B : { base : int, offset : int }; var local_#10126 : { base : int, offset : int }; local_#3983_L := local_#3983_L_IN; local_#3984_B := local_#3984_B_IN; goto CFG_36324; CFG_36324: assume true; goto CFG_39138; CFG_39138: assume true; _memory_ptr[{ base : local_#3984_B!base, offset : local_#3984_B!offset + 24 }] := local_#3983_L; local_#10126 := { base : local_#3984_B!base, offset : local_#3984_B!offset + 32 }; _memory_ptr[{ base : local_#3984_B!base, offset : local_#3984_B!offset + 0 }] := { base : local_#10126!base, offset : local_#10126!offset + 0 * 1 }; _memory[{ base : local_#3984_B!base, offset : local_#3984_B!offset + 16 }] := 0; _memory[{ base : local_#3984_B!base, offset : local_#3984_B!offset + 8 }] := 8192; goto CFG_37235; CFG_37235: assume true; } procedure routine_#33817_luaL_buffinitsize(local_#3985_L_IN : { base : int, offset : int }, local_#3986_B_IN : { base : int, offset : int }, local_#3987_sz_IN : int) returns (local_#7790 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3985_L : { base : int, offset : int }; var local_#3986_B : { base : int, offset : int }; var local_#3987_sz : int; var local_#10127 : { base : int, offset : int }; local_#3985_L := local_#3985_L_IN; local_#3986_B := local_#3986_B_IN; local_#3987_sz := local_#3987_sz_IN; goto CFG_36325; CFG_36325: assume true; goto CFG_45540; CFG_45540: assume true; call routine_#33816_luaL_buffinit(local_#3985_L,local_#3986_B); goto CFG_45541; CFG_45541: assume true; call local_#10127 := routine_#33844_luaL_prepbuffsize(local_#3986_B,local_#3987_sz); goto CFG_38106; CFG_38106: assume true; local_#7790 := local_#10127; goto CFG_37236; CFG_37236: assume true; } procedure routine_#33818_luaL_callmeta(local_#3988_L_IN : { base : int, offset : int }, local_#3989_obj_IN : int, local_#3990_event_IN : { base : int, offset : int }) returns (local_#7791 : int) modifies _memory, _memory_ptr, _valid; { var local_#3988_L : { base : int, offset : int }; var local_#3989_obj : int; var local_#3990_event : { base : int, offset : int }; var local_#10128 : int; var local_#10129 : int; var local_#10130 : int; var local_#10131 : int; var local_#10132 : int; var local_#10133 : int; var local_#10134 : int; var local_#10135 : { base : int, offset : int }; local_#3988_L := local_#3988_L_IN; local_#3989_obj := local_#3989_obj_IN; local_#3990_event := local_#3990_event_IN; goto CFG_36326; CFG_36326: assume true; goto CFG_45542; CFG_45542: assume true; call local_#10128 := routine_#33916_lua_absindex(local_#3988_L,local_#3989_obj); goto CFG_42163; CFG_42163: assume true; local_#3989_obj := local_#10128; goto CFG_45543; CFG_45543: assume true; call local_#10129 := routine_#33831_luaL_getmetafield(local_#3988_L,local_#3989_obj,local_#3990_event); goto CFG_49239; CFG_49239: assume true; local_#10130 := 0; local_#10131 := (if local_#10129 == local_#10130 then 1 else 0); if (local_#10131 != 0) { goto CFG_38108; } else { goto CFG_45544; } CFG_45544: assume true; call routine_#33967_lua_pushvalue(local_#3988_L,local_#3989_obj); goto CFG_42164; CFG_42164: assume true; local_#10132 := 1; local_#10133 := 1; local_#10134 := 0; local_#10135 := { base : 0, offset : 0 }; goto CFG_45545; CFG_45545: assume true; call routine_#33919_lua_callk(local_#3988_L,local_#10132,local_#10133,local_#10134,local_#10135); goto CFG_38107; CFG_38107: assume true; local_#7791 := 1; goto CFG_37237; CFG_38108: assume true; local_#7791 := 0; goto CFG_37237; CFG_37237: assume true; } procedure routine_#33819_luaL_checkany(local_#3991_L_IN : { base : int, offset : int }, local_#3992_arg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#3991_L : { base : int, offset : int }; var local_#3992_arg : int; var local_#10136 : int; var local_#10137 : int; var local_#10138 : int; var local_#10139 : { base : int, offset : int }; var local_#10140 : { base : int, offset : int }; var local_#10141 : int; local_#3991_L := local_#3991_L_IN; local_#3992_arg := local_#3992_arg_IN; goto CFG_36327; CFG_36327: assume true; goto CFG_45546; CFG_45546: assume true; call local_#10136 := routine_#34000_lua_type(local_#3991_L,local_#3992_arg); goto CFG_49240; CFG_49240: assume true; local_#10137 := -1; local_#10138 := (if local_#10136 == local_#10137 then 1 else 0); if (local_#10138 != 0) { goto CFG_42165; } else { goto CFG_39139; } CFG_42165: assume true; assume _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 0 }] == 118 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 1 }] == 97 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 2 }] == 108 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 3 }] == 117 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 4 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 5 }] == 32 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 6 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 7 }] == 120 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 8 }] == 112 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 9 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 10 }] == 99 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 11 }] == 116 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 12 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 13 }] == 100 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 14 }] == 0; local_#10139 := strlit_#70311; local_#10140 := { base : local_#10139!base, offset : local_#10139!offset + 0 * 1 }; assert { :LIR "62304" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45547; CFG_45547: assume true; call local_#10141 := routine_#33815_luaL_argerror(local_#3991_L,local_#3992_arg,local_#10140); goto CFG_39920; CFG_39920: assume true; goto CFG_39139; CFG_39139: assume true; goto CFG_37238; CFG_37238: assume true; } procedure routine_#33820_luaL_checkinteger(local_#3993_L_IN : { base : int, offset : int }, local_#3994_arg_IN : int) returns (local_#7792 : int) modifies _memory, _memory_ptr, _valid; { var local_#3993_L : { base : int, offset : int }; var local_#3994_arg : int; var local_#31336_isnum : { base : int, offset : int }; var local_#10142 : { base : int, offset : int }; var local_#10143 : int; var local_#31335_d : int; var local_#10144 : int; local_#3993_L := local_#3993_L_IN; local_#3994_arg := local_#3994_arg_IN; goto CFG_36328; CFG_36328: assume true; goto CFG_42166; CFG_42166: assume true; local_#10142 := local_#31336_isnum; goto CFG_45548; CFG_45548: assume true; call local_#10143 := routine_#33994_lua_tointegerx(local_#3993_L,local_#3994_arg,local_#10142); goto CFG_49241; CFG_49241: assume true; local_#31335_d := local_#10143; local_#10144 := (if _memory[local_#31336_isnum] != 0 then 0 else 1); if (local_#10144 != 0) { goto CFG_45549; } else { goto CFG_38109; } CFG_45549: assume true; call routine_#34817_interror(local_#3993_L,local_#3994_arg); goto CFG_39921; CFG_39921: assume true; goto CFG_38109; CFG_38109: assume true; local_#7792 := local_#31335_d; goto CFG_37239; CFG_37239: assume true; } procedure routine_#33821_luaL_checklstring(local_#3995_L_IN : { base : int, offset : int }, local_#3996_arg_IN : int, local_#3997_len_IN : { base : int, offset : int }) returns (local_#7793 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#3995_L : { base : int, offset : int }; var local_#3996_arg : int; var local_#3997_len : { base : int, offset : int }; var local_#10145 : { base : int, offset : int }; var local_#31337_s : { base : int, offset : int }; var local_#10146 : int; var local_#10147 : int; local_#3995_L := local_#3995_L_IN; local_#3996_arg := local_#3996_arg_IN; local_#3997_len := local_#3997_len_IN; goto CFG_36329; CFG_36329: assume true; goto CFG_45550; CFG_45550: assume true; call local_#10145 := routine_#33995_lua_tolstring(local_#3995_L,local_#3996_arg,local_#3997_len); goto CFG_49242; CFG_49242: assume true; local_#31337_s := local_#10145; local_#10146 := (if local_#31337_s != { base : 0, offset : 0 } then 0 else 1); if (local_#10146 != 0) { goto CFG_42167; } else { goto CFG_38110; } CFG_42167: assume true; local_#10147 := 4; goto CFG_45551; CFG_45551: assume true; call routine_#35107_tag_error(local_#3995_L,local_#3996_arg,local_#10147); goto CFG_39922; CFG_39922: assume true; goto CFG_38110; CFG_38110: assume true; local_#7793 := local_#31337_s; goto CFG_37240; CFG_37240: assume true; } procedure routine_#33822_luaL_checknumber(local_#3998_L_IN : { base : int, offset : int }, local_#3999_arg_IN : int) returns (local_#7794 : int) modifies _memory, _memory_ptr, _valid; { var local_#3998_L : { base : int, offset : int }; var local_#3999_arg : int; var local_#31339_isnum : { base : int, offset : int }; var local_#10148 : { base : int, offset : int }; var local_#10149 : int; var local_#31338_d : int; var local_#10150 : int; var local_#10151 : int; local_#3998_L := local_#3998_L_IN; local_#3999_arg := local_#3999_arg_IN; goto CFG_36330; CFG_36330: assume true; goto CFG_42168; CFG_42168: assume true; local_#10148 := local_#31339_isnum; goto CFG_45552; CFG_45552: assume true; call local_#10149 := routine_#33996_lua_tonumberx(local_#3998_L,local_#3999_arg,local_#10148); goto CFG_49243; CFG_49243: assume true; local_#31338_d := local_#10149; local_#10150 := (if _memory[local_#31339_isnum] != 0 then 0 else 1); if (local_#10150 != 0) { goto CFG_42169; } else { goto CFG_38111; } CFG_42169: assume true; local_#10151 := 3; goto CFG_45553; CFG_45553: assume true; call routine_#35107_tag_error(local_#3998_L,local_#3999_arg,local_#10151); goto CFG_39923; CFG_39923: assume true; goto CFG_38111; CFG_38111: assume true; local_#7794 := local_#31338_d; goto CFG_37241; CFG_37241: assume true; } procedure routine_#33823_luaL_checkoption(local_#4000_L_IN : { base : int, offset : int }, local_#4001_arg_IN : int, local_#4002_def_IN : { base : int, offset : int }, local_#4003_lst_IN : { base : int, offset : int }) returns (local_#7795 : int) modifies _memory, _memory_ptr, _valid; { var local_#4000_L : { base : int, offset : int }; var local_#4001_arg : int; var local_#4002_def : { base : int, offset : int }; var local_#4003_lst : { base : int, offset : int }; var local_#10152 : { base : int, offset : int }; var local_#10153 : { base : int, offset : int }; var local_#10154 : { base : int, offset : int }; var local_#30610 : { base : int, offset : int }; var local_#10155 : { base : int, offset : int }; var local_#10156 : { base : int, offset : int }; var local_#31341_name : { base : int, offset : int }; var local_#31340_i : int; var local_#10157 : { base : int, offset : int }; var local_#10158 : { base : int, offset : int }; var local_#10159 : { base : int, offset : int }; var local_#10160 : { base : int, offset : int }; var local_#10161 : { base : int, offset : int }; var local_#10162 : int; var local_#10163 : { base : int, offset : int }; var local_#10164 : { base : int, offset : int }; var local_#10165 : int; var local_#10166 : int; var local_#10167 : int; var local_#10168 : int; var local_#10169 : int; var local_#10170 : int; local_#4000_L := local_#4000_L_IN; local_#4001_arg := local_#4001_arg_IN; local_#4002_def := local_#4002_def_IN; local_#4003_lst := local_#4003_lst_IN; goto CFG_36331; CFG_36331: assume true; goto CFG_49244; CFG_49244: assume true; local_#10152 := local_#4002_def; if (local_#10152 != { base : 0, offset : 0 }) { goto CFG_42171; } else { goto CFG_42170; } CFG_42170: assume true; local_#10153 := { base : 0, offset : 0 }; goto CFG_45554; CFG_45554: assume true; call local_#10154 := routine_#33821_luaL_checklstring(local_#4000_L,local_#4001_arg,local_#10153); goto CFG_39924; CFG_39924: assume true; local_#30610 := local_#10154; goto CFG_41637; CFG_42171: assume true; local_#10155 := { base : 0, offset : 0 }; goto CFG_45555; CFG_45555: assume true; call local_#10156 := routine_#33842_luaL_optlstring(local_#4000_L,local_#4001_arg,local_#4002_def,local_#10155); goto CFG_39925; CFG_39925: assume true; local_#30610 := local_#10156; goto CFG_41637; CFG_41637: assume true; local_#31341_name := local_#30610; local_#31340_i := 0; goto CFG_49245; CFG_49245: assume true; local_#10157 := { base : local_#4003_lst!base, offset : local_#4003_lst!offset + local_#31340_i * 8 }; local_#10158 := _memory_ptr[local_#10157]; if (local_#10158 != { base : 0, offset : 0 }) { goto CFG_42173; } else { goto CFG_42172; } CFG_42172: assume true; assume _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 0 }] == 105 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 1 }] == 110 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 2 }] == 118 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 3 }] == 97 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 4 }] == 108 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 5 }] == 105 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 6 }] == 100 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 7 }] == 32 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 8 }] == 111 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 9 }] == 112 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 10 }] == 116 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 11 }] == 105 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 12 }] == 111 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 13 }] == 110 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 14 }] == 32 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 15 }] == 39 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 16 }] == 37 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 17 }] == 115 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 18 }] == 39 && _memory[{ base : strlit_#70312!base, offset : strlit_#70312!offset + 19 }] == 0; local_#10159 := strlit_#70312; local_#10160 := { base : local_#10159!base, offset : local_#10159!offset + 0 * 1 }; assert { :LIR "62305" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45556; CFG_45556: assume true; call local_#10161 := routine_#33959_lua_pushfstring(local_#4000_L,local_#10160,{ base : 0, offset : 0 }); goto CFG_45557; CFG_45557: assume true; call local_#10162 := routine_#33815_luaL_argerror(local_#4000_L,local_#4001_arg,local_#10161); goto CFG_38112; CFG_38112: assume true; local_#7795 := local_#10162; goto CFG_37242; CFG_42173: assume true; local_#10163 := { base : local_#4003_lst!base, offset : local_#4003_lst!offset + local_#31340_i * 8 }; local_#10164 := _memory_ptr[local_#10163]; goto CFG_45558; CFG_45558: assume true; call local_#10165 := routine_#34446_strcmp(local_#10164,local_#31341_name); goto CFG_49246; CFG_49246: assume true; local_#10166 := 0; local_#10167 := (if local_#10165 == local_#10166 then 1 else 0); if (local_#10167 != 0) { goto CFG_38113; } else { goto CFG_44978; } CFG_44978: assume true; local_#10168 := local_#31340_i; local_#10169 := 1; local_#31340_i := local_#10168 + local_#10169; assert { :LIR "66405" } { :check "overflow" } { :finding_ids "0" } local_#31340_i <= 2147483647; local_#10170 := local_#10168; goto CFG_49245; CFG_38113: assume true; local_#7795 := local_#31340_i; goto CFG_37242; CFG_37242: assume true; } procedure routine_#33824_luaL_checkstack(local_#4004_L_IN : { base : int, offset : int }, local_#4005_space_IN : int, local_#4006_msg_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4004_L : { base : int, offset : int }; var local_#4005_space : int; var local_#4006_msg : { base : int, offset : int }; var local_#10171 : int; var local_#10172 : int; var local_#10173 : { base : int, offset : int }; var local_#10174 : { base : int, offset : int }; var local_#10175 : { base : int, offset : int }; var local_#10176 : int; var local_#10177 : { base : int, offset : int }; var local_#10178 : { base : int, offset : int }; var local_#10179 : int; local_#4004_L := local_#4004_L_IN; local_#4005_space := local_#4005_space_IN; local_#4006_msg := local_#4006_msg_IN; goto CFG_36332; CFG_36332: assume true; goto CFG_45559; CFG_45559: assume true; call local_#10171 := routine_#33920_lua_checkstack(local_#4004_L,local_#4005_space); goto CFG_49247; CFG_49247: assume true; local_#10172 := (if local_#10171 != 0 then 0 else 1); if (local_#10172 != 0) { goto CFG_49248; } else { goto CFG_39140; } CFG_49248: assume true; local_#10173 := local_#4006_msg; if (local_#10173 != { base : 0, offset : 0 }) { goto CFG_42175; } else { goto CFG_42174; } CFG_42174: assume true; assume _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 0 }] == 115 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 1 }] == 116 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 2 }] == 97 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 3 }] == 99 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 4 }] == 107 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 5 }] == 32 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 6 }] == 111 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 7 }] == 118 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 8 }] == 101 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 9 }] == 114 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 10 }] == 102 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 11 }] == 108 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 12 }] == 111 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 13 }] == 119 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 14 }] == 0; local_#10174 := strlit_#70294; local_#10175 := { base : local_#10174!base, offset : local_#10174!offset + 0 * 1 }; assert { :LIR "62306" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45560; CFG_45560: assume true; call local_#10176 := routine_#33828_luaL_error(local_#4004_L,local_#10175,{ base : 0, offset : 0 }); goto CFG_39926; CFG_39926: assume true; goto CFG_39928; CFG_42175: assume true; assume _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 0 }] == 115 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 1 }] == 116 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 2 }] == 97 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 3 }] == 99 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 4 }] == 107 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 5 }] == 32 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 6 }] == 111 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 7 }] == 118 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 8 }] == 101 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 9 }] == 114 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 10 }] == 102 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 11 }] == 108 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 12 }] == 111 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 13 }] == 119 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 14 }] == 32 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 15 }] == 40 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 16 }] == 37 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 17 }] == 115 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 18 }] == 41 && _memory[{ base : strlit_#70314!base, offset : strlit_#70314!offset + 19 }] == 0; local_#10177 := strlit_#70314; local_#10178 := { base : local_#10177!base, offset : local_#10177!offset + 0 * 1 }; assert { :LIR "62307" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45561; CFG_45561: assume true; call local_#10179 := routine_#33828_luaL_error(local_#4004_L,local_#10178,{ base : 0, offset : 0 }); goto CFG_39927; CFG_39927: assume true; goto CFG_39928; CFG_39928: assume true; goto CFG_39140; CFG_39140: assume true; goto CFG_37243; CFG_37243: assume true; } procedure routine_#33825_luaL_checktype(local_#4007_L_IN : { base : int, offset : int }, local_#4008_arg_IN : int, local_#4009_t_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4007_L : { base : int, offset : int }; var local_#4008_arg : int; var local_#4009_t : int; var local_#10180 : int; var local_#10181 : int; local_#4007_L := local_#4007_L_IN; local_#4008_arg := local_#4008_arg_IN; local_#4009_t := local_#4009_t_IN; goto CFG_36333; CFG_36333: assume true; goto CFG_45562; CFG_45562: assume true; call local_#10180 := routine_#34000_lua_type(local_#4007_L,local_#4008_arg); goto CFG_49249; CFG_49249: assume true; local_#10181 := (if local_#10180 != local_#4009_t then 1 else 0); if (local_#10181 != 0) { goto CFG_45563; } else { goto CFG_39141; } CFG_45563: assume true; call routine_#35107_tag_error(local_#4007_L,local_#4008_arg,local_#4009_t); goto CFG_39929; CFG_39929: assume true; goto CFG_39141; CFG_39141: assume true; goto CFG_37244; CFG_37244: assume true; } procedure routine_#33826_luaL_checkudata(local_#4010_L_IN : { base : int, offset : int }, local_#4011_ud_IN : int, local_#4012_tname_IN : { base : int, offset : int }) returns (local_#7796 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4010_L : { base : int, offset : int }; var local_#4011_ud : int; var local_#4012_tname : { base : int, offset : int }; var local_#10182 : { base : int, offset : int }; var local_#31342_p : { base : int, offset : int }; var local_#10183 : { base : int, offset : int }; var local_#10184 : int; var local_#10185 : int; local_#4010_L := local_#4010_L_IN; local_#4011_ud := local_#4011_ud_IN; local_#4012_tname := local_#4012_tname_IN; goto CFG_36334; CFG_36334: assume true; goto CFG_45564; CFG_45564: assume true; call local_#10182 := routine_#33851_luaL_testudata(local_#4010_L,local_#4011_ud,local_#4012_tname); goto CFG_49250; CFG_49250: assume true; local_#31342_p := local_#10182; local_#10183 := { base : 0, offset : 0 }; local_#10184 := (if local_#31342_p == local_#10183 then 1 else 0); if (local_#10184 != 0) { goto CFG_45565; } else { goto CFG_38114; } CFG_45565: assume true; call local_#10185 := routine_#35129_typeerror(local_#4010_L,local_#4011_ud,local_#4012_tname); goto CFG_39930; CFG_39930: assume true; goto CFG_38114; CFG_38114: assume true; local_#7796 := local_#31342_p; goto CFG_37245; CFG_37245: assume true; } procedure routine_#33827_luaL_checkversion_(local_#4013_L_IN : { base : int, offset : int }, local_#4014_ver_IN : int, local_#4015_sz_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4013_L : { base : int, offset : int }; var local_#4014_ver : int; var local_#4015_sz : int; var local_#10186 : { base : int, offset : int }; var local_#31343_v : { base : int, offset : int }; var local_#10187 : int; var local_#10188 : int; var local_#10189 : { base : int, offset : int }; var local_#10190 : { base : int, offset : int }; var local_#10191 : int; var local_#10192 : { base : int, offset : int }; var local_#10193 : { base : int, offset : int }; var local_#10194 : int; var nondet_#0 : int; var nondet_#1 : bool; var local_#10195 : int; var local_#10196 : { base : int, offset : int }; var local_#10197 : { base : int, offset : int }; var nondet_#2 : int; var local_#10198 : int; var nondet_#3 : int; var nondet_#4 : int; var local_#10199 : int; var local_#10200 : int; var local_#10201 : { base : int, offset : int }; var local_#10202 : { base : int, offset : int }; var local_#10203 : int; local_#4013_L := local_#4013_L_IN; local_#4014_ver := local_#4014_ver_IN; local_#4015_sz := local_#4015_sz_IN; goto CFG_36335; CFG_36335: assume true; goto CFG_45566; CFG_45566: assume true; call local_#10186 := routine_#34004_lua_version(local_#4013_L); goto CFG_49251; CFG_49251: assume true; local_#31343_v := local_#10186; local_#10187 := 136; local_#10188 := (if local_#4015_sz != local_#10187 then 1 else 0); if (local_#10188 != 0) { goto CFG_42176; } else { goto CFG_42177; } CFG_42176: assume true; assume _memory[{ base : strlit_#70315!base, offset : strlit_#70315!offset + 48 }] == 0; local_#10189 := strlit_#70315; local_#10190 := { base : local_#10189!base, offset : local_#10189!offset + 0 * 1 }; assert { :LIR "62308" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45567; CFG_45567: assume true; call local_#10191 := routine_#33828_luaL_error(local_#4013_L,local_#10190,{ base : 0, offset : 0 }); goto CFG_39931; CFG_39931: assume true; goto CFG_42177; CFG_42177: assume true; local_#10192 := { base : 0, offset : 0 }; goto CFG_45568; CFG_45568: assume true; call local_#10193 := routine_#34004_lua_version(local_#10192); goto CFG_49252; CFG_49252: assume true; local_#10194 := (if local_#31343_v != local_#10193 then 1 else 0); if (local_#10194 != 0) { goto CFG_42179; } else { goto CFG_49253; } CFG_49253: assume true; havoc nondet_#0; havoc nondet_#1; local_#10195 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation != in 65464. */ then 1 else 0); if (local_#10195 != 0) { goto CFG_42178; } else { goto CFG_39933; } CFG_42178: assume true; assume _memory[{ base : strlit_#70316!base, offset : strlit_#70316!offset + 53 }] == 0; local_#10196 := strlit_#70316; local_#10197 := { base : local_#10196!base, offset : local_#10196!offset + 0 * 1 }; assert { :LIR "62309" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#2; local_#10198 := nondet_#2 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60310 */; assert { :LIR "60310" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#3; havoc nondet_#4; local_#10199 := nondet_#4 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60311 */; assert { :LIR "60311" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45569; CFG_45569: assume true; call local_#10200 := routine_#33828_luaL_error(local_#4013_L,local_#10197,{ base : 0, offset : 0 }); goto CFG_39932; CFG_39932: assume true; goto CFG_39933; CFG_39933: assume true; goto CFG_39142; CFG_42179: assume true; assume _memory[{ base : strlit_#70317!base, offset : strlit_#70317!offset + 25 }] == 0; local_#10201 := strlit_#70317; local_#10202 := { base : local_#10201!base, offset : local_#10201!offset + 0 * 1 }; assert { :LIR "62310" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45570; CFG_45570: assume true; call local_#10203 := routine_#33828_luaL_error(local_#4013_L,local_#10202,{ base : 0, offset : 0 }); goto CFG_39934; CFG_39934: assume true; goto CFG_39142; CFG_39142: assume true; goto CFG_37246; CFG_37246: assume true; } procedure routine_#33828_luaL_error(local_#4016_L_IN : { base : int, offset : int }, local_#4017_fmt_IN : { base : int, offset : int }, local_#7745_IN : { base : int, offset : int }) returns (local_#7797 : int) modifies _memory, _memory_ptr, _valid; { var local_#4016_L : { base : int, offset : int }; var local_#4017_fmt : { base : int, offset : int }; var local_#7745 : { base : int, offset : int }; var local_#31344_argp : { base : int, offset : int }; var local_#10204 : { base : int, offset : int }; var local_#10205 : int; var local_#10206 : { base : int, offset : int }; var local_#10207 : { base : int, offset : int }; var local_#10208 : int; var local_#10209 : int; local_#4016_L := local_#4016_L_IN; _memory_ptr[local_#4017_fmt] := local_#4017_fmt_IN; _memory_ptr[local_#7745] := local_#7745_IN; goto CFG_36336; CFG_36336: assume true; goto CFG_42180; CFG_42180: assume true; local_#10204 := { base : local_#31344_argp!base, offset : local_#31344_argp!offset + 0 * 24 }; _memory_ptr[{ base : local_#10204!base, offset : local_#10204!offset + 8 }] := local_#7745; local_#10205 := 1; goto CFG_45571; CFG_45571: assume true; call routine_#33855_luaL_where(local_#4016_L,local_#10205); goto CFG_42181; CFG_42181: assume true; local_#10206 := { base : local_#31344_argp!base, offset : local_#31344_argp!offset + 0 * 24 }; goto CFG_45572; CFG_45572: assume true; call local_#10207 := routine_#33968_lua_pushvfstring(local_#4016_L,_memory_ptr[local_#4017_fmt],local_#10206); goto CFG_42182; CFG_42182: assume true; local_#10208 := 2; goto CFG_45573; CFG_45573: assume true; call routine_#33923_lua_concat(local_#4016_L,local_#10208); goto CFG_45574; CFG_45574: assume true; call local_#10209 := routine_#33927_lua_error(local_#4016_L); goto CFG_38115; CFG_38115: assume true; local_#7797 := local_#10209; goto CFG_37247; CFG_37247: assume true; } procedure routine_#33829_luaL_execresult(local_#4018_L_IN : { base : int, offset : int }, local_#4019_stat_IN : int) returns (local_#7798 : int) modifies _memory, _memory_ptr, _valid; { var local_#4018_L : { base : int, offset : int }; var local_#4019_stat : int; var local_#10210 : { base : int, offset : int }; var local_#10211 : { base : int, offset : int }; var local_#31345_what : { base : int, offset : int }; var local_#10212 : int; var local_#10213 : int; var local_#10214 : int; var local_#10215 : int; var local_#10216 : int; var local_#10217 : int; var local_#10218 : int; var local_#10219 : int; var local_#10220 : int; var local_#10221 : int; var local_#10222 : int; var local_#10223 : int; var local_#10224 : int; var local_#10225 : int; var local_#10226 : int; var local_#10227 : int; var local_#10228 : int; var local_#10229 : int; var local_#10230 : { base : int, offset : int }; var local_#10231 : { base : int, offset : int }; var local_#10232 : int; var local_#10233 : int; var local_#10234 : int; var local_#10235 : int; var local_#10236 : int; var local_#10237 : int; var local_#10238 : int; var local_#10239 : int; var local_#10240 : int; var local_#10241 : int; var local_#10242 : { base : int, offset : int }; var local_#10243 : int; var local_#10244 : int; var local_#10245 : { base : int, offset : int }; var local_#10246 : int; local_#4018_L := local_#4018_L_IN; local_#4019_stat := local_#4019_stat_IN; goto CFG_36337; CFG_36337: assume true; goto CFG_49254; CFG_49254: assume true; assume _memory[{ base : strlit_#70318!base, offset : strlit_#70318!offset + 0 }] == 101 && _memory[{ base : strlit_#70318!base, offset : strlit_#70318!offset + 1 }] == 120 && _memory[{ base : strlit_#70318!base, offset : strlit_#70318!offset + 2 }] == 105 && _memory[{ base : strlit_#70318!base, offset : strlit_#70318!offset + 3 }] == 116 && _memory[{ base : strlit_#70318!base, offset : strlit_#70318!offset + 4 }] == 0; local_#10210 := strlit_#70318; local_#10211 := { base : local_#10210!base, offset : local_#10210!offset + 0 * 1 }; assert { :LIR "62311" } { :check "overflow" } { :finding_ids "0" } true; local_#31345_what := local_#10211; local_#10212 := -1; local_#10213 := (if local_#4019_stat == local_#10212 then 1 else 0); if (local_#10213 != 0) { goto CFG_42185; } else { goto CFG_49255; } CFG_49255: assume true; local_#10214 := 127; local_#10215 := ~sand32(local_#4019_stat, local_#10214); local_#10216 := 0; local_#10217 := (if local_#10215 == local_#10216 then 1 else 0); if (local_#10217 != 0) { goto CFG_39937; } else { goto CFG_49256; } CFG_49256: assume true; local_#10218 := 127; local_#10219 := ~sand32(local_#4019_stat, local_#10218); local_#10220 := 1; local_#10221 := local_#10219 + local_#10220; assert { :LIR "66406" } { :check "overflow" } { :finding_ids "0" } local_#10221 <= 2147483647; local_#10222 := local_#10221; assert { :LIR "60312" } { :check "overflow" } { :finding_ids "0" } local_#10222 <= 127; local_#10223 := local_#10222; assert { :LIR "62312" } { :check "overflow" } { :finding_ids "0" } local_#10223 <= 2147483647; local_#10224 := 1; local_#10225 := ~ashr32(local_#10223, local_#10224); local_#10226 := 0; local_#10227 := (if local_#10225 > local_#10226 then 1 else 0); if (local_#10227 != 0) { goto CFG_39935; } else { goto CFG_39936; } CFG_39935: assume true; local_#10228 := 127; local_#10229 := ~sand32(local_#4019_stat, local_#10228); local_#4019_stat := local_#10229; assume _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 0 }] == 115 && _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 1 }] == 105 && _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 2 }] == 103 && _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 3 }] == 110 && _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 4 }] == 97 && _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 5 }] == 108 && _memory[{ base : strlit_#70319!base, offset : strlit_#70319!offset + 6 }] == 0; local_#10230 := strlit_#70319; local_#10231 := { base : local_#10230!base, offset : local_#10230!offset + 0 * 1 }; assert { :LIR "62313" } { :check "overflow" } { :finding_ids "0" } true; local_#31345_what := local_#10231; goto CFG_39936; CFG_39936: assume true; goto CFG_49257; CFG_39937: assume true; local_#10232 := 65280; local_#10233 := ~sand32(local_#4019_stat, local_#10232); local_#10234 := 8; local_#10235 := ~ashr32(local_#10233, local_#10234); local_#4019_stat := local_#10235; goto CFG_49257; CFG_49257: assume true; local_#10236 := _memory[local_#31345_what]; assert { :LIR "62314" } { :check "overflow" } { :finding_ids "0" } local_#10236 <= 2147483647; local_#10237 := 101; local_#10238 := (if local_#10236 == local_#10237 then 1 else 0); if (local_#10238 != 0) { goto CFG_49258; } else { goto CFG_45575; } CFG_49258: assume true; local_#10239 := 0; local_#10240 := (if local_#4019_stat == local_#10239 then 1 else 0); if (local_#10240 != 0) { goto CFG_42183; } else { goto CFG_45575; } CFG_45575: assume true; call routine_#33963_lua_pushnil(local_#4018_L); goto CFG_39938; CFG_39938: assume true; goto CFG_45577; CFG_42183: assume true; local_#10241 := 1; goto CFG_45576; CFG_45576: assume true; call routine_#33957_lua_pushboolean(local_#4018_L,local_#10241); goto CFG_39939; CFG_39939: assume true; goto CFG_45577; CFG_45577: assume true; call local_#10242 := routine_#33965_lua_pushstring(local_#4018_L,local_#31345_what); goto CFG_42184; CFG_42184: assume true; local_#10243 := local_#4019_stat; assert { :LIR "62315" } { :check "overflow" } { :finding_ids "0" } local_#10243 <= 9223372036854775807; goto CFG_45578; CFG_45578: assume true; call routine_#33960_lua_pushinteger(local_#4018_L,local_#10243); goto CFG_38116; CFG_38116: assume true; local_#7798 := 3; goto CFG_37248; CFG_42185: assume true; local_#10244 := 0; local_#10245 := { base : 0, offset : 0 }; goto CFG_45579; CFG_45579: assume true; call local_#10246 := routine_#33830_luaL_fileresult(local_#4018_L,local_#10244,local_#10245); goto CFG_38117; CFG_38117: assume true; local_#7798 := local_#10246; goto CFG_37248; CFG_37248: assume true; } procedure routine_#33830_luaL_fileresult(local_#4020_L_IN : { base : int, offset : int }, local_#4021_stat_IN : int, local_#4022_fname_IN : { base : int, offset : int }) returns (local_#7799 : int) modifies _memory, _memory_ptr, _valid; { var local_#4020_L : { base : int, offset : int }; var local_#4021_stat : int; var local_#4022_fname : { base : int, offset : int }; var local_#10247 : { base : int, offset : int }; var local_#31346_en : int; var local_#10248 : int; var local_#10249 : { base : int, offset : int }; var local_#10250 : { base : int, offset : int }; var local_#10251 : { base : int, offset : int }; var local_#10252 : { base : int, offset : int }; var local_#10253 : { base : int, offset : int }; var local_#10254 : { base : int, offset : int }; var local_#10255 : { base : int, offset : int }; var local_#10256 : { base : int, offset : int }; var local_#10257 : int; var local_#10258 : int; local_#4020_L := local_#4020_L_IN; local_#4021_stat := local_#4021_stat_IN; local_#4022_fname := local_#4022_fname_IN; goto CFG_36338; CFG_36338: assume true; goto CFG_45580; CFG_45580: assume true; call local_#10247 := routine_#33258___errno_location(); goto CFG_49259; CFG_49259: assume true; local_#31346_en := _memory[local_#10247]; local_#10248 := local_#4021_stat; if (local_#10248 != 0) { goto CFG_42189; } else { goto CFG_45581; } CFG_45581: assume true; call routine_#33963_lua_pushnil(local_#4020_L); goto CFG_49260; CFG_49260: assume true; local_#10249 := local_#4022_fname; if (local_#10249 != { base : 0, offset : 0 }) { goto CFG_42187; } else { goto CFG_45582; } CFG_45582: assume true; call local_#10250 := routine_#34451_strerror(local_#31346_en); goto CFG_42186; CFG_42186: assume true; local_#10251 := local_#10250; assert { :LIR "62316" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45583; CFG_45583: assume true; call local_#10252 := routine_#33965_lua_pushstring(local_#4020_L,local_#10251); goto CFG_39940; CFG_39940: assume true; goto CFG_42188; CFG_42187: assume true; assume _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 0 }] == 37 && _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 1 }] == 115 && _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 2 }] == 58 && _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 3 }] == 32 && _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 4 }] == 37 && _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 5 }] == 115 && _memory[{ base : strlit_#70320!base, offset : strlit_#70320!offset + 6 }] == 0; local_#10253 := strlit_#70320; local_#10254 := { base : local_#10253!base, offset : local_#10253!offset + 0 * 1 }; assert { :LIR "62317" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45584; CFG_45584: assume true; call local_#10255 := routine_#34451_strerror(local_#31346_en); goto CFG_45585; CFG_45585: assume true; call local_#10256 := routine_#33959_lua_pushfstring(local_#4020_L,local_#10254,{ base : 0, offset : 0 }); goto CFG_39941; CFG_39941: assume true; goto CFG_42188; CFG_42188: assume true; local_#10257 := local_#31346_en; assert { :LIR "62318" } { :check "overflow" } { :finding_ids "0" } local_#10257 <= 9223372036854775807; goto CFG_45586; CFG_45586: assume true; call routine_#33960_lua_pushinteger(local_#4020_L,local_#10257); goto CFG_38118; CFG_38118: assume true; local_#7799 := 3; goto CFG_37249; CFG_42189: assume true; local_#10258 := 1; goto CFG_45587; CFG_45587: assume true; call routine_#33957_lua_pushboolean(local_#4020_L,local_#10258); goto CFG_38119; CFG_38119: assume true; local_#7799 := 1; goto CFG_37249; CFG_37249: assume true; } procedure routine_#33831_luaL_getmetafield(local_#4023_L_IN : { base : int, offset : int }, local_#4024_obj_IN : int, local_#4025_event_IN : { base : int, offset : int }) returns (local_#7800 : int) modifies _memory, _memory_ptr, _valid; { var local_#4023_L : { base : int, offset : int }; var local_#4024_obj : int; var local_#4025_event : { base : int, offset : int }; var local_#10259 : int; var local_#10260 : int; var local_#10261 : { base : int, offset : int }; var local_#10262 : int; var local_#10263 : int; var local_#31347_tt : int; var local_#10264 : int; var local_#10265 : int; var local_#10266 : int; var local_#10267 : int; var local_#10268 : int; var local_#10269 : int; local_#4023_L := local_#4023_L_IN; local_#4024_obj := local_#4024_obj_IN; local_#4025_event := local_#4025_event_IN; goto CFG_36339; CFG_36339: assume true; goto CFG_45588; CFG_45588: assume true; call local_#10259 := routine_#33938_lua_getmetatable(local_#4023_L,local_#4024_obj); goto CFG_49261; CFG_49261: assume true; local_#10260 := (if local_#10259 != 0 then 0 else 1); if (local_#10260 != 0) { goto CFG_38121; } else { goto CFG_45589; } CFG_45589: assume true; call local_#10261 := routine_#33965_lua_pushstring(local_#4023_L,local_#4025_event); goto CFG_42190; CFG_42190: assume true; local_#10262 := -2; goto CFG_45590; CFG_45590: assume true; call local_#10263 := routine_#33970_lua_rawget(local_#4023_L,local_#10262); goto CFG_49262; CFG_49262: assume true; local_#31347_tt := local_#10263; local_#10264 := 0; local_#10265 := (if local_#31347_tt == local_#10264 then 1 else 0); if (local_#10265 != 0) { goto CFG_42193; } else { goto CFG_42191; } CFG_42191: assume true; local_#10266 := -2; local_#10267 := -1; goto CFG_45591; CFG_45591: assume true; call routine_#33978_lua_rotate(local_#4023_L,local_#10266,local_#10267); goto CFG_42192; CFG_42192: assume true; local_#10268 := -2; goto CFG_45592; CFG_45592: assume true; call routine_#33987_lua_settop(local_#4023_L,local_#10268); goto CFG_39942; CFG_39942: assume true; goto CFG_38120; CFG_42193: assume true; local_#10269 := -3; goto CFG_45593; CFG_45593: assume true; call routine_#33987_lua_settop(local_#4023_L,local_#10269); goto CFG_39943; CFG_39943: assume true; goto CFG_38120; CFG_38120: assume true; local_#7800 := local_#31347_tt; goto CFG_37250; CFG_38121: assume true; local_#7800 := 0; goto CFG_37250; CFG_37250: assume true; } procedure routine_#33832_luaL_getsubtable(local_#4026_L_IN : { base : int, offset : int }, local_#4027_idx_IN : int, local_#4028_fname_IN : { base : int, offset : int }) returns (local_#7801 : int) modifies _memory, _memory_ptr, _valid; { var local_#4026_L : { base : int, offset : int }; var local_#4027_idx : int; var local_#4028_fname : { base : int, offset : int }; var local_#10270 : int; var local_#10271 : int; var local_#10272 : int; var local_#10273 : int; var local_#10274 : int; var local_#10275 : int; var local_#10276 : int; var local_#10277 : int; local_#4026_L := local_#4026_L_IN; local_#4027_idx := local_#4027_idx_IN; local_#4028_fname := local_#4028_fname_IN; goto CFG_36340; CFG_36340: assume true; goto CFG_45594; CFG_45594: assume true; call local_#10270 := routine_#33930_lua_getfield(local_#4026_L,local_#4027_idx,local_#4028_fname); goto CFG_49263; CFG_49263: assume true; local_#10271 := 5; local_#10272 := (if local_#10270 == local_#10271 then 1 else 0); if (local_#10272 != 0) { goto CFG_38123; } else { goto CFG_42194; } CFG_42194: assume true; local_#10273 := -2; goto CFG_45595; CFG_45595: assume true; call routine_#33987_lua_settop(local_#4026_L,local_#10273); goto CFG_45596; CFG_45596: assume true; call local_#10274 := routine_#33916_lua_absindex(local_#4026_L,local_#4027_idx); goto CFG_42195; CFG_42195: assume true; local_#4027_idx := local_#10274; local_#10275 := 0; local_#10276 := 0; goto CFG_45597; CFG_45597: assume true; call routine_#33925_lua_createtable(local_#4026_L,local_#10275,local_#10276); goto CFG_42196; CFG_42196: assume true; local_#10277 := -1; goto CFG_45598; CFG_45598: assume true; call routine_#33967_lua_pushvalue(local_#4026_L,local_#10277); goto CFG_45599; CFG_45599: assume true; call routine_#33980_lua_setfield(local_#4026_L,local_#4027_idx,local_#4028_fname); goto CFG_38122; CFG_38122: assume true; local_#7801 := 0; goto CFG_37251; CFG_38123: assume true; local_#7801 := 1; goto CFG_37251; CFG_37251: assume true; } procedure routine_#33833_luaL_gsub(local_#4029_L_IN : { base : int, offset : int }, local_#4030_s_IN : { base : int, offset : int }, local_#4031_p_IN : { base : int, offset : int }, local_#4032_r_IN : { base : int, offset : int }) returns (local_#7802 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4029_L : { base : int, offset : int }; var local_#4030_s : { base : int, offset : int }; var local_#4031_p : { base : int, offset : int }; var local_#4032_r : { base : int, offset : int }; var local_#10278 : int; var local_#31349_l : int; var local_#31348_b : { base : int, offset : int }; var local_#10279 : { base : int, offset : int }; var local_#10280 : { base : int, offset : int }; var local_#10281 : { base : int, offset : int }; var local_#31350_wild : { base : int, offset : int }; var local_#10282 : { base : int, offset : int }; var local_#10283 : int; var local_#10284 : { base : int, offset : int }; var local_#10285 : { base : int, offset : int }; var local_#10286 : int; var local_#10287 : { base : int, offset : int }; var local_#10288 : { base : int, offset : int }; var local_#10289 : { base : int, offset : int }; var local_#10290 : int; var local_#10291 : int; var local_#10292 : { base : int, offset : int }; var local_#10293 : { base : int, offset : int }; local_#4029_L := local_#4029_L_IN; local_#4030_s := local_#4030_s_IN; local_#4031_p := local_#4031_p_IN; local_#4032_r := local_#4032_r_IN; goto CFG_36341; CFG_36341: assume true; goto CFG_45600; CFG_45600: assume true; call local_#10278 := routine_#34454_strlen(local_#4031_p); goto CFG_42197; CFG_42197: assume true; local_#31349_l := local_#10278; local_#10279 := local_#31348_b; goto CFG_45601; CFG_45601: assume true; call routine_#33816_luaL_buffinit(local_#4029_L,local_#10279); goto CFG_41638; CFG_41638: assume true; goto CFG_45602; CFG_45602: assume true; call local_#10280 := routine_#34462_strstr(local_#4030_s,local_#4031_p); goto CFG_49264; CFG_49264: assume true; local_#10281 := local_#10280; assert { :LIR "62319" } { :check "overflow" } { :finding_ids "0" } true; local_#31350_wild := local_#10281; local_#10282 := { base : 0, offset : 0 }; local_#10283 := (if local_#31350_wild != local_#10282 then 1 else 0); if (local_#10283 != 0) { goto CFG_42201; } else { goto CFG_42198; } CFG_42198: assume true; local_#10284 := local_#31348_b; goto CFG_45603; CFG_45603: assume true; call routine_#33813_luaL_addstring(local_#10284,local_#4030_s); goto CFG_42199; CFG_42199: assume true; local_#10285 := local_#31348_b; goto CFG_45604; CFG_45604: assume true; call routine_#33845_luaL_pushresult(local_#10285); goto CFG_42200; CFG_42200: assume true; local_#10286 := -1; local_#10287 := { base : 0, offset : 0 }; goto CFG_45605; CFG_45605: assume true; call local_#10288 := routine_#33995_lua_tolstring(local_#4029_L,local_#10286,local_#10287); goto CFG_38124; CFG_38124: assume true; local_#7802 := local_#10288; goto CFG_37252; CFG_42201: assume true; local_#10289 := local_#31348_b; local_#10290 := (local_#31350_wild!offset - local_#4030_s!offset) / 1; local_#10291 := ~uwrap64(local_#10290); assert { :LIR "62320" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45606; CFG_45606: assume true; call routine_#33812_luaL_addlstring(local_#10289,local_#4030_s,local_#10291); goto CFG_42202; CFG_42202: assume true; local_#10292 := local_#31348_b; goto CFG_45607; CFG_45607: assume true; call routine_#33813_luaL_addstring(local_#10292,local_#4032_r); goto CFG_44979; CFG_44979: assume true; local_#10293 := { base : local_#31350_wild!base, offset : local_#31350_wild!offset + local_#31349_l * 1 }; local_#4030_s := local_#10293; goto CFG_45602; CFG_37252: assume true; } procedure routine_#33834_luaL_len(local_#4033_L_IN : { base : int, offset : int }, local_#4034_idx_IN : int) returns (local_#7803 : int) modifies _memory, _memory_ptr, _valid; { var local_#4033_L : { base : int, offset : int }; var local_#4034_idx : int; var local_#10294 : int; var local_#31351_isnum : { base : int, offset : int }; var local_#10295 : { base : int, offset : int }; var local_#10296 : int; var local_#31352_l : int; var local_#10297 : int; var local_#10298 : { base : int, offset : int }; var local_#10299 : { base : int, offset : int }; var local_#10300 : int; var local_#10301 : int; local_#4033_L := local_#4033_L_IN; local_#4034_idx := local_#4034_idx_IN; goto CFG_36342; CFG_36342: assume true; goto CFG_45608; CFG_45608: assume true; call routine_#33950_lua_len(local_#4033_L,local_#4034_idx); goto CFG_42203; CFG_42203: assume true; local_#10294 := -1; local_#10295 := local_#31351_isnum; goto CFG_45609; CFG_45609: assume true; call local_#10296 := routine_#33994_lua_tointegerx(local_#4033_L,local_#10294,local_#10295); goto CFG_49265; CFG_49265: assume true; local_#31352_l := local_#10296; local_#10297 := (if _memory[local_#31351_isnum] != 0 then 0 else 1); if (local_#10297 != 0) { goto CFG_42204; } else { goto CFG_42205; } CFG_42204: assume true; assume _memory[{ base : strlit_#70321!base, offset : strlit_#70321!offset + 31 }] == 0; local_#10298 := strlit_#70321; local_#10299 := { base : local_#10298!base, offset : local_#10298!offset + 0 * 1 }; assert { :LIR "62321" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45610; CFG_45610: assume true; call local_#10300 := routine_#33828_luaL_error(local_#4033_L,local_#10299,{ base : 0, offset : 0 }); goto CFG_39944; CFG_39944: assume true; goto CFG_42205; CFG_42205: assume true; local_#10301 := -2; goto CFG_45611; CFG_45611: assume true; call routine_#33987_lua_settop(local_#4033_L,local_#10301); goto CFG_38125; CFG_38125: assume true; local_#7803 := local_#31352_l; goto CFG_37253; CFG_37253: assume true; } procedure routine_#33835_luaL_loadbufferx(local_#4035_L_IN : { base : int, offset : int }, local_#4036_buff_IN : { base : int, offset : int }, local_#4037_size_IN : int, local_#4038_name_IN : { base : int, offset : int }, local_#4039_mode_IN : { base : int, offset : int }) returns (local_#7804 : int) modifies _memory, _memory_ptr, _valid; { var local_#4035_L : { base : int, offset : int }; var local_#4036_buff : { base : int, offset : int }; var local_#4037_size : int; var local_#4038_name : { base : int, offset : int }; var local_#4039_mode : { base : int, offset : int }; var local_#31353_ls : { base : int, offset : int }; var local_#10302 : { base : int, offset : int }; var local_#10303 : { base : int, offset : int }; var local_#10304 : int; local_#4035_L := local_#4035_L_IN; local_#4036_buff := local_#4036_buff_IN; local_#4037_size := local_#4037_size_IN; local_#4038_name := local_#4038_name_IN; local_#4039_mode := local_#4039_mode_IN; goto CFG_36343; CFG_36343: assume true; goto CFG_42206; CFG_42206: assume true; _memory_ptr[{ base : local_#31353_ls!base, offset : local_#31353_ls!offset + 0 }] := local_#4036_buff; _memory[{ base : local_#31353_ls!base, offset : local_#31353_ls!offset + 8 }] := local_#4037_size; local_#10302 := fun_addr_#34776_getS; local_#10303 := local_#31353_ls; assert { :LIR "62322" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45612; CFG_45612: assume true; call local_#10304 := routine_#33951_lua_load(local_#4035_L,local_#10302,local_#10303,local_#4038_name,local_#4039_mode); goto CFG_38126; CFG_38126: assume true; local_#7804 := local_#10304; goto CFG_37254; CFG_37254: assume true; } procedure routine_#33836_luaL_loadfilex(local_#4040_L_IN : { base : int, offset : int }, local_#4041_filename_IN : { base : int, offset : int }, local_#4042_mode_IN : { base : int, offset : int }) returns (local_#7805 : int) modifies _memory, _memory_ptr, _valid; { var local_#4040_L : { base : int, offset : int }; var local_#4041_filename : { base : int, offset : int }; var local_#4042_mode : { base : int, offset : int }; var local_#10305 : int; var local_#10306 : int; var local_#10307 : int; var local_#31355_fnameindex : int; var local_#10308 : { base : int, offset : int }; var local_#10309 : int; var local_#10310 : { base : int, offset : int }; var local_#10311 : { base : int, offset : int }; var local_#10312 : { base : int, offset : int }; var local_#10313 : { base : int, offset : int }; var local_#10314 : { base : int, offset : int }; var local_#10315 : { base : int, offset : int }; var local_#31356_lf : { base : int, offset : int }; var local_#10316 : { base : int, offset : int }; var local_#10317 : int; var local_#10318 : { base : int, offset : int }; var local_#10319 : { base : int, offset : int }; var local_#10320 : int; var local_#10321 : { base : int, offset : int }; var local_#10322 : { base : int, offset : int }; var local_#10323 : { base : int, offset : int }; var local_#10324 : { base : int, offset : int }; var local_#31354_c : { base : int, offset : int }; var local_#10325 : { base : int, offset : int }; var local_#10326 : int; var local_#10327 : int; var local_#10328 : int; var local_#10329 : { base : int, offset : int }; var local_#10330 : int; var local_#10331 : int; var local_#10332 : { base : int, offset : int }; var local_#10333 : { base : int, offset : int }; var local_#10334 : int; var local_#10335 : int; var local_#10336 : { base : int, offset : int }; var local_#10337 : { base : int, offset : int }; var local_#10338 : { base : int, offset : int }; var local_#10339 : { base : int, offset : int }; var local_#10340 : { base : int, offset : int }; var local_#10341 : { base : int, offset : int }; var local_#10342 : int; var local_#10343 : { base : int, offset : int }; var local_#10344 : { base : int, offset : int }; var local_#10345 : int; var local_#10346 : int; var local_#10347 : int; var local_#10348 : int; var local_#10349 : { base : int, offset : int }; var local_#10350 : int; var local_#10351 : int; var local_#10352 : { base : int, offset : int }; var local_#10353 : { base : int, offset : int }; var local_#10354 : { base : int, offset : int }; var local_#10355 : int; var local_#10356 : { base : int, offset : int }; var local_#10357 : { base : int, offset : int }; var local_#10358 : int; var local_#31358_status : int; var local_#10359 : { base : int, offset : int }; var local_#10360 : int; var local_#31357_readstatus : int; var local_#10361 : { base : int, offset : int }; var local_#10362 : { base : int, offset : int }; var local_#10363 : int; var local_#10364 : int; var local_#10365 : int; var local_#10366 : int; var local_#10367 : { base : int, offset : int }; var local_#10368 : { base : int, offset : int }; var local_#10369 : int; var local_#10370 : { base : int, offset : int }; var local_#10371 : { base : int, offset : int }; var local_#10372 : int; local_#4040_L := local_#4040_L_IN; local_#4041_filename := local_#4041_filename_IN; local_#4042_mode := local_#4042_mode_IN; goto CFG_36344; CFG_36344: assume true; goto CFG_45613; CFG_45613: assume true; call local_#10305 := routine_#33941_lua_gettop(local_#4040_L); goto CFG_49266; CFG_49266: assume true; local_#10306 := 1; local_#10307 := local_#10305 + local_#10306; assert { :LIR "66407" } { :check "overflow" } { :finding_ids "0" } local_#10307 <= 2147483647; local_#31355_fnameindex := local_#10307; local_#10308 := { base : 0, offset : 0 }; local_#10309 := (if local_#4041_filename == local_#10308 then 1 else 0); if (local_#10309 != 0) { goto CFG_42210; } else { goto CFG_42207; } CFG_42207: assume true; assume _memory[{ base : strlit_#70322!base, offset : strlit_#70322!offset + 0 }] == 64 && _memory[{ base : strlit_#70322!base, offset : strlit_#70322!offset + 1 }] == 37 && _memory[{ base : strlit_#70322!base, offset : strlit_#70322!offset + 2 }] == 115 && _memory[{ base : strlit_#70322!base, offset : strlit_#70322!offset + 3 }] == 0; local_#10310 := strlit_#70322; local_#10311 := { base : local_#10310!base, offset : local_#10310!offset + 0 * 1 }; assert { :LIR "62323" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45614; CFG_45614: assume true; call local_#10312 := routine_#33959_lua_pushfstring(local_#4040_L,local_#10311,{ base : 0, offset : 0 }); goto CFG_42208; CFG_42208: assume true; assume _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 0 }] == 114 && _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 1 }] == 0; local_#10313 := strlit_#70323; local_#10314 := { base : local_#10313!base, offset : local_#10313!offset + 0 * 1 }; assert { :LIR "62324" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45615; CFG_45615: assume true; call local_#10315 := routine_#33577_fopen(local_#4041_filename,local_#10314); goto CFG_49267; CFG_49267: assume true; _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }] := local_#10315; local_#10316 := { base : 0, offset : 0 }; local_#10317 := (if _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }] == local_#10316 then 1 else 0); if (local_#10317 != 0) { goto CFG_42209; } else { goto CFG_39945; } CFG_39945: assume true; goto CFG_42211; CFG_42209: assume true; assume _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 0 }] == 111 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 1 }] == 112 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 2 }] == 101 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 3 }] == 110 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 4 }] == 0; local_#10318 := strlit_#70324; local_#10319 := { base : local_#10318!base, offset : local_#10318!offset + 0 * 1 }; assert { :LIR "62325" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45616; CFG_45616: assume true; call local_#10320 := routine_#34713_errfile(local_#4040_L,local_#10319,local_#31355_fnameindex); goto CFG_38127; CFG_38127: assume true; local_#7805 := local_#10320; goto CFG_37255; CFG_42210: assume true; assume _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 0 }] == 61 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 1 }] == 115 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 2 }] == 116 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 3 }] == 100 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 4 }] == 105 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 5 }] == 110 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 6 }] == 0; local_#10321 := strlit_#70325; local_#10322 := { base : local_#10321!base, offset : local_#10321!offset + 0 * 1 }; assert { :LIR "62326" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45617; CFG_45617: assume true; call local_#10323 := routine_#33965_lua_pushstring(local_#4040_L,local_#10322); goto CFG_39946; CFG_39946: assume true; _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }] := global_#33191_stdin; goto CFG_42211; CFG_42211: assume true; local_#10324 := local_#31356_lf; local_#10325 := local_#31354_c; goto CFG_45618; CFG_45618: assume true; call local_#10326 := routine_#35073_skipcomment(local_#10324,local_#10325); goto CFG_49268; CFG_49268: assume true; local_#10327 := local_#10326; if (local_#10327 != 0) { goto CFG_39947; } else { goto CFG_49269; } CFG_39947: assume true; local_#10328 := 10; local_#10329 := { base : local_#31356_lf!base, offset : local_#31356_lf!offset + 16 }; local_#10330 := _memory[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 0 }]; local_#10331 := 1; _memory[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 0 }] := local_#10330 + local_#10331; assert { :LIR "66408" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 0 }] <= -1; local_#10332 := { base : local_#10329!base, offset : local_#10329!offset + 0 * 1 + local_#10330 * 1 }; _memory[local_#10332] := local_#10328; goto CFG_49269; CFG_49269: assume true; assume _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 0 }] == 27 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 1 }] == 76 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 2 }] == 117 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 3 }] == 97 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 4 }] == 0; local_#10333 := strlit_#70326; local_#10334 := _memory[{ base : local_#10333!base, offset : local_#10333!offset + 0 * 1 }]; assert { :LIR "62327" } { :check "overflow" } { :finding_ids "0" } local_#10334 <= 2147483647; local_#10335 := (if _memory[local_#31354_c] == local_#10334 then 1 else 0); if (local_#10335 != 0) { goto CFG_49270; } else { goto CFG_49272; } CFG_49270: assume true; local_#10336 := local_#4041_filename; if (local_#10336 != { base : 0, offset : 0 }) { goto CFG_42212; } else { goto CFG_49272; } CFG_42212: assume true; assume _memory[{ base : strlit_#70327!base, offset : strlit_#70327!offset + 0 }] == 114 && _memory[{ base : strlit_#70327!base, offset : strlit_#70327!offset + 1 }] == 98 && _memory[{ base : strlit_#70327!base, offset : strlit_#70327!offset + 2 }] == 0; local_#10337 := strlit_#70327; local_#10338 := { base : local_#10337!base, offset : local_#10337!offset + 0 * 1 }; assert { :LIR "62328" } { :check "overflow" } { :finding_ids "0" } true; local_#10339 := _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }]; goto CFG_45619; CFG_45619: assume true; call local_#10340 := routine_#33586_freopen(local_#4041_filename,local_#10338,local_#10339); goto CFG_49271; CFG_49271: assume true; _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }] := local_#10340; local_#10341 := { base : 0, offset : 0 }; local_#10342 := (if _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }] == local_#10341 then 1 else 0); if (local_#10342 != 0) { goto CFG_42220; } else { goto CFG_42213; } CFG_42213: assume true; local_#10343 := local_#31356_lf; local_#10344 := local_#31354_c; goto CFG_45620; CFG_45620: assume true; call local_#10345 := routine_#35073_skipcomment(local_#10343,local_#10344); goto CFG_39948; CFG_39948: assume true; goto CFG_49272; CFG_49272: assume true; local_#10346 := -1; local_#10347 := (if _memory[local_#31354_c] != local_#10346 then 1 else 0); if (local_#10347 != 0) { goto CFG_39949; } else { goto CFG_42214; } CFG_39949: assume true; local_#10348 := _memory[local_#31354_c]; assert { :LIR "62329" } { :check "overflow" } { :finding_ids "0" } local_#10348 <= 127; local_#10349 := { base : local_#31356_lf!base, offset : local_#31356_lf!offset + 16 }; local_#10350 := _memory[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 0 }]; local_#10351 := 1; _memory[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 0 }] := local_#10350 + local_#10351; assert { :LIR "66409" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 0 }] <= -1; local_#10352 := { base : local_#10349!base, offset : local_#10349!offset + 0 * 1 + local_#10350 * 1 }; _memory[local_#10352] := local_#10348; goto CFG_42214; CFG_42214: assume true; local_#10353 := fun_addr_#34775_getF; local_#10354 := local_#31356_lf; assert { :LIR "62330" } { :check "overflow" } { :finding_ids "0" } true; local_#10355 := -1; local_#10356 := { base : 0, offset : 0 }; goto CFG_45621; CFG_45621: assume true; call local_#10357 := routine_#33995_lua_tolstring(local_#4040_L,local_#10355,local_#10356); goto CFG_45622; CFG_45622: assume true; call local_#10358 := routine_#33951_lua_load(local_#4040_L,local_#10353,local_#10354,local_#10357,local_#4042_mode); goto CFG_42215; CFG_42215: assume true; local_#31358_status := local_#10358; local_#10359 := _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }]; goto CFG_45623; CFG_45623: assume true; call local_#10360 := routine_#33555_ferror(local_#10359); goto CFG_49273; CFG_49273: assume true; local_#31357_readstatus := local_#10360; local_#10361 := local_#4041_filename; if (local_#10361 != { base : 0, offset : 0 }) { goto CFG_42216; } else { goto CFG_49274; } CFG_42216: assume true; local_#10362 := _memory_ptr[{ base : local_#31356_lf!base, offset : local_#31356_lf!offset + 8 }]; goto CFG_45624; CFG_45624: assume true; call local_#10363 := routine_#33547_fclose(local_#10362); goto CFG_39950; CFG_39950: assume true; goto CFG_49274; CFG_49274: assume true; local_#10364 := local_#31357_readstatus; if (local_#10364 != 0) { goto CFG_45627; } else { goto CFG_42217; } CFG_42217: assume true; local_#10365 := -1; goto CFG_45625; CFG_45625: assume true; call routine_#33978_lua_rotate(local_#4040_L,local_#31355_fnameindex,local_#10365); goto CFG_42218; CFG_42218: assume true; local_#10366 := -2; goto CFG_45626; CFG_45626: assume true; call routine_#33987_lua_settop(local_#4040_L,local_#10366); goto CFG_38128; CFG_38128: assume true; local_#7805 := local_#31358_status; goto CFG_37255; CFG_45627: assume true; call routine_#33987_lua_settop(local_#4040_L,local_#31355_fnameindex); goto CFG_42219; CFG_42219: assume true; assume _memory[{ base : strlit_#70328!base, offset : strlit_#70328!offset + 0 }] == 114 && _memory[{ base : strlit_#70328!base, offset : strlit_#70328!offset + 1 }] == 101 && _memory[{ base : strlit_#70328!base, offset : strlit_#70328!offset + 2 }] == 97 && _memory[{ base : strlit_#70328!base, offset : strlit_#70328!offset + 3 }] == 100 && _memory[{ base : strlit_#70328!base, offset : strlit_#70328!offset + 4 }] == 0; local_#10367 := strlit_#70328; local_#10368 := { base : local_#10367!base, offset : local_#10367!offset + 0 * 1 }; assert { :LIR "62331" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45628; CFG_45628: assume true; call local_#10369 := routine_#34713_errfile(local_#4040_L,local_#10368,local_#31355_fnameindex); goto CFG_38129; CFG_38129: assume true; local_#7805 := local_#10369; goto CFG_37255; CFG_42220: assume true; assume _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 0 }] == 114 && _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 1 }] == 101 && _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 2 }] == 111 && _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 3 }] == 112 && _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 4 }] == 101 && _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 5 }] == 110 && _memory[{ base : strlit_#70329!base, offset : strlit_#70329!offset + 6 }] == 0; local_#10370 := strlit_#70329; local_#10371 := { base : local_#10370!base, offset : local_#10370!offset + 0 * 1 }; assert { :LIR "62332" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45629; CFG_45629: assume true; call local_#10372 := routine_#34713_errfile(local_#4040_L,local_#10371,local_#31355_fnameindex); goto CFG_38130; CFG_38130: assume true; local_#7805 := local_#10372; goto CFG_37255; CFG_37255: assume true; } procedure routine_#33837_luaL_loadstring(local_#4043_L_IN : { base : int, offset : int }, local_#4044_s_IN : { base : int, offset : int }) returns (local_#7806 : int) modifies _memory, _memory_ptr, _valid; { var local_#4043_L : { base : int, offset : int }; var local_#4044_s : { base : int, offset : int }; var local_#10373 : int; var local_#10374 : { base : int, offset : int }; var local_#10375 : int; local_#4043_L := local_#4043_L_IN; local_#4044_s := local_#4044_s_IN; goto CFG_36345; CFG_36345: assume true; goto CFG_45630; CFG_45630: assume true; call local_#10373 := routine_#34454_strlen(local_#4044_s); goto CFG_42221; CFG_42221: assume true; local_#10374 := { base : 0, offset : 0 }; goto CFG_45631; CFG_45631: assume true; call local_#10375 := routine_#33835_luaL_loadbufferx(local_#4043_L,local_#4044_s,local_#10373,local_#4044_s,local_#10374); goto CFG_38131; CFG_38131: assume true; local_#7806 := local_#10375; goto CFG_37256; CFG_37256: assume true; } procedure routine_#33838_luaL_newmetatable(local_#4045_L_IN : { base : int, offset : int }, local_#4046_tname_IN : { base : int, offset : int }) returns (local_#7807 : int) modifies _memory, _memory_ptr, _valid; { var local_#4045_L : { base : int, offset : int }; var local_#4046_tname : { base : int, offset : int }; var local_#10376 : int; var local_#10377 : int; var local_#10378 : int; var local_#10379 : int; var local_#10380 : int; var local_#10381 : int; var local_#10382 : int; var local_#10383 : { base : int, offset : int }; var local_#10384 : int; var local_#10385 : { base : int, offset : int }; var local_#10386 : { base : int, offset : int }; var local_#10387 : int; var local_#10388 : int; local_#4045_L := local_#4045_L_IN; local_#4046_tname := local_#4046_tname_IN; goto CFG_36346; CFG_36346: assume true; goto CFG_42222; CFG_42222: assume true; local_#10376 := -1001000; goto CFG_45632; CFG_45632: assume true; call local_#10377 := routine_#33930_lua_getfield(local_#4045_L,local_#10376,local_#4046_tname); goto CFG_49275; CFG_49275: assume true; local_#10378 := 0; local_#10379 := (if local_#10377 != local_#10378 then 1 else 0); if (local_#10379 != 0) { goto CFG_38133; } else { goto CFG_42223; } CFG_42223: assume true; local_#10380 := -2; goto CFG_45633; CFG_45633: assume true; call routine_#33987_lua_settop(local_#4045_L,local_#10380); goto CFG_42224; CFG_42224: assume true; local_#10381 := 0; local_#10382 := 2; goto CFG_45634; CFG_45634: assume true; call routine_#33925_lua_createtable(local_#4045_L,local_#10381,local_#10382); goto CFG_45635; CFG_45635: assume true; call local_#10383 := routine_#33965_lua_pushstring(local_#4045_L,local_#4046_tname); goto CFG_42225; CFG_42225: assume true; local_#10384 := -2; assume _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 0 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 1 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 2 }] == 110 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 3 }] == 97 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 4 }] == 109 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 5 }] == 101 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 6 }] == 0; local_#10385 := strlit_#70330; local_#10386 := { base : local_#10385!base, offset : local_#10385!offset + 0 * 1 }; assert { :LIR "62333" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45636; CFG_45636: assume true; call routine_#33980_lua_setfield(local_#4045_L,local_#10384,local_#10386); goto CFG_42226; CFG_42226: assume true; local_#10387 := -1; goto CFG_45637; CFG_45637: assume true; call routine_#33967_lua_pushvalue(local_#4045_L,local_#10387); goto CFG_42227; CFG_42227: assume true; local_#10388 := -1001000; goto CFG_45638; CFG_45638: assume true; call routine_#33980_lua_setfield(local_#4045_L,local_#10388,local_#4046_tname); goto CFG_38132; CFG_38132: assume true; local_#7807 := 1; goto CFG_37257; CFG_38133: assume true; local_#7807 := 0; goto CFG_37257; CFG_37257: assume true; } procedure routine_#33839_luaL_newstate() returns (local_#7808 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#10389 : { base : int, offset : int }; var local_#10390 : { base : int, offset : int }; var local_#10391 : { base : int, offset : int }; var local_#31359_L : { base : int, offset : int }; var local_#10392 : { base : int, offset : int }; var local_#10393 : { base : int, offset : int }; var local_#10394 : { base : int, offset : int }; goto CFG_36347; CFG_36347: assume true; goto CFG_42228; CFG_42228: assume true; local_#10389 := fun_addr_#34841_l_alloc; local_#10390 := { base : 0, offset : 0 }; goto CFG_45639; CFG_45639: assume true; call local_#10391 := routine_#33952_lua_newstate(local_#10389,local_#10390); goto CFG_49276; CFG_49276: assume true; local_#31359_L := local_#10391; local_#10392 := local_#31359_L; if (local_#10392 != { base : 0, offset : 0 }) { goto CFG_42229; } else { goto CFG_38134; } CFG_42229: assume true; local_#10393 := fun_addr_#34986_panic; goto CFG_45640; CFG_45640: assume true; call local_#10394 := routine_#33918_lua_atpanic(local_#31359_L,local_#10393); goto CFG_39951; CFG_39951: assume true; goto CFG_38134; CFG_38134: assume true; local_#7808 := local_#31359_L; goto CFG_37258; CFG_37258: assume true; } procedure routine_#33840_luaL_openlibs(local_#4047_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4047_L : { base : int, offset : int }; var local_#31360_lib : { base : int, offset : int }; var local_#10395 : { base : int, offset : int }; var local_#10396 : { base : int, offset : int }; var local_#10397 : { base : int, offset : int }; var local_#10398 : int; var local_#10399 : int; var local_#10400 : { base : int, offset : int }; var local_#10401 : int; var local_#10402 : { base : int, offset : int }; local_#4047_L := local_#4047_L_IN; goto CFG_36348; CFG_36348: assume true; goto CFG_41639; CFG_41639: assume true; local_#31360_lib := { base : global_#33059_loadedlibs!base, offset : global_#33059_loadedlibs!offset + 0 * 16 }; goto CFG_49277; CFG_49277: assume true; local_#10395 := _memory_ptr[{ base : local_#31360_lib!base, offset : local_#31360_lib!offset + 8 }]; if (local_#10395 != { base : 0, offset : 0 }) { goto CFG_42230; } else { goto CFG_39143; } CFG_39143: assume true; goto CFG_37259; CFG_42230: assume true; local_#10396 := _memory_ptr[{ base : local_#31360_lib!base, offset : local_#31360_lib!offset + 0 }]; local_#10397 := _memory_ptr[{ base : local_#31360_lib!base, offset : local_#31360_lib!offset + 8 }]; local_#10398 := 1; goto CFG_45641; CFG_45641: assume true; call routine_#33848_luaL_requiref(local_#4047_L,local_#10396,local_#10397,local_#10398); goto CFG_42231; CFG_42231: assume true; local_#10399 := -2; goto CFG_45642; CFG_45642: assume true; call routine_#33987_lua_settop(local_#4047_L,local_#10399); goto CFG_44980; CFG_44980: assume true; local_#10400 := local_#31360_lib; local_#10401 := 1; local_#31360_lib := { base : local_#10400!base, offset : local_#10400!offset + local_#10401 * 16 }; local_#10402 := local_#10400; goto CFG_49277; CFG_37259: assume true; } procedure routine_#33841_luaL_optinteger(local_#4048_L_IN : { base : int, offset : int }, local_#4049_arg_IN : int, local_#4050_def_IN : int) returns (local_#7809 : int) modifies _memory, _memory_ptr, _valid; { var local_#4048_L : { base : int, offset : int }; var local_#4049_arg : int; var local_#4050_def : int; var local_#10403 : int; var local_#10404 : int; var local_#10405 : int; var local_#10406 : int; var local_#30611 : int; local_#4048_L := local_#4048_L_IN; local_#4049_arg := local_#4049_arg_IN; local_#4050_def := local_#4050_def_IN; goto CFG_36349; CFG_36349: assume true; goto CFG_45643; CFG_45643: assume true; call local_#10403 := routine_#34000_lua_type(local_#4048_L,local_#4049_arg); goto CFG_49278; CFG_49278: assume true; local_#10404 := 0; local_#10405 := (if local_#10403 <= local_#10404 then 1 else 0); if (local_#10405 != 0) { goto CFG_39953; } else { goto CFG_45644; } CFG_45644: assume true; call local_#10406 := routine_#33820_luaL_checkinteger(local_#4048_L,local_#4049_arg); goto CFG_39952; CFG_39952: assume true; local_#30611 := local_#10406; goto CFG_38135; CFG_39953: assume true; local_#30611 := local_#4050_def; goto CFG_38135; CFG_38135: assume true; local_#7809 := local_#30611; goto CFG_37260; CFG_37260: assume true; } procedure routine_#33842_luaL_optlstring(local_#4051_L_IN : { base : int, offset : int }, local_#4052_arg_IN : int, local_#4053_def_IN : { base : int, offset : int }, local_#4054_len_IN : { base : int, offset : int }) returns (local_#7810 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4051_L : { base : int, offset : int }; var local_#4052_arg : int; var local_#4053_def : { base : int, offset : int }; var local_#4054_len : { base : int, offset : int }; var local_#10407 : int; var local_#10408 : int; var local_#10409 : int; var local_#10410 : { base : int, offset : int }; var local_#10411 : { base : int, offset : int }; var local_#10412 : { base : int, offset : int }; var local_#30612 : int; var local_#10413 : int; local_#4051_L := local_#4051_L_IN; local_#4052_arg := local_#4052_arg_IN; local_#4053_def := local_#4053_def_IN; local_#4054_len := local_#4054_len_IN; goto CFG_36350; CFG_36350: assume true; goto CFG_45645; CFG_45645: assume true; call local_#10407 := routine_#34000_lua_type(local_#4051_L,local_#4052_arg); goto CFG_49279; CFG_49279: assume true; local_#10408 := 0; local_#10409 := (if local_#10407 <= local_#10408 then 1 else 0); if (local_#10409 != 0) { goto CFG_49280; } else { goto CFG_45646; } CFG_45646: assume true; call local_#10410 := routine_#33821_luaL_checklstring(local_#4051_L,local_#4052_arg,local_#4054_len); goto CFG_38136; CFG_38136: assume true; local_#7810 := local_#10410; goto CFG_37261; CFG_49280: assume true; local_#10411 := local_#4054_len; if (local_#10411 != { base : 0, offset : 0 }) { goto CFG_49281; } else { goto CFG_38137; } CFG_49281: assume true; local_#10412 := local_#4053_def; if (local_#10412 != { base : 0, offset : 0 }) { goto CFG_45647; } else { goto CFG_39954; } CFG_39954: assume true; local_#30612 := 0; goto CFG_39956; CFG_45647: assume true; call local_#10413 := routine_#34454_strlen(local_#4053_def); goto CFG_39955; CFG_39955: assume true; local_#30612 := local_#10413; goto CFG_39956; CFG_39956: assume true; _memory[local_#4054_len] := local_#30612; goto CFG_38137; CFG_38137: assume true; local_#7810 := local_#4053_def; goto CFG_37261; CFG_37261: assume true; } procedure routine_#33843_luaL_optnumber(local_#4055_L_IN : { base : int, offset : int }, local_#4056_arg_IN : int, local_#4057_def_IN : int) returns (local_#7811 : int) modifies _memory, _memory_ptr, _valid; { var local_#4055_L : { base : int, offset : int }; var local_#4056_arg : int; var local_#4057_def : int; var local_#10414 : int; var local_#10415 : int; var local_#10416 : int; var local_#10417 : int; var local_#30613 : int; local_#4055_L := local_#4055_L_IN; local_#4056_arg := local_#4056_arg_IN; local_#4057_def := local_#4057_def_IN; goto CFG_36351; CFG_36351: assume true; goto CFG_45648; CFG_45648: assume true; call local_#10414 := routine_#34000_lua_type(local_#4055_L,local_#4056_arg); goto CFG_49282; CFG_49282: assume true; local_#10415 := 0; local_#10416 := (if local_#10414 <= local_#10415 then 1 else 0); if (local_#10416 != 0) { goto CFG_39958; } else { goto CFG_45649; } CFG_45649: assume true; call local_#10417 := routine_#33822_luaL_checknumber(local_#4055_L,local_#4056_arg); goto CFG_39957; CFG_39957: assume true; local_#30613 := local_#10417; goto CFG_38138; CFG_39958: assume true; local_#30613 := local_#4057_def; goto CFG_38138; CFG_38138: assume true; local_#7811 := local_#30613; goto CFG_37262; CFG_37262: assume true; } procedure routine_#33844_luaL_prepbuffsize(local_#4058_B_IN : { base : int, offset : int }, local_#4059_sz_IN : int) returns (local_#7812 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4058_B : { base : int, offset : int }; var local_#4059_sz : int; var local_#31361_L : { base : int, offset : int }; var local_#10418 : int; var local_#10419 : int; var local_#10420 : int; var local_#10421 : int; var local_#31363_newsize : int; var local_#10422 : int; var local_#10423 : int; var local_#10424 : int; var local_#10425 : int; var local_#10426 : int; var local_#10427 : int; var local_#10428 : { base : int, offset : int }; var local_#10429 : { base : int, offset : int }; var local_#10430 : int; var local_#10431 : { base : int, offset : int }; var local_#10432 : int; var local_#10433 : { base : int, offset : int }; var local_#10434 : { base : int, offset : int }; var local_#31362_newbuff : { base : int, offset : int }; var local_#10435 : { base : int, offset : int }; var local_#10436 : { base : int, offset : int }; var local_#10437 : int; var local_#10438 : int; var local_#10439 : { base : int, offset : int }; var local_#10440 : int; var local_#10441 : { base : int, offset : int }; var local_#10442 : { base : int, offset : int }; var local_#10443 : { base : int, offset : int }; local_#4058_B := local_#4058_B_IN; local_#4059_sz := local_#4059_sz_IN; goto CFG_36352; CFG_36352: assume true; goto CFG_49283; CFG_49283: assume true; local_#31361_L := _memory_ptr[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 24 }]; assume { :symbol "~uwrap64" } true; local_#10418 := ~uwrap64(_memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 8 }] - _memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }]); assert { :LIR "67889" } { :check "overflow" } { :finding_ids "0" } true; local_#10419 := (if local_#10418 < local_#4059_sz then 1 else 0); if (local_#10419 != 0) { goto CFG_49284; } else { goto CFG_38139; } CFG_49284: assume true; local_#10420 := 2; assume { :symbol "~uwrap64" } true; local_#10421 := ~uwrap64(_memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 8 }] * local_#10420); assert { :LIR "68513" } { :check "overflow" } { :finding_ids "0" } true; local_#31363_newsize := local_#10421; assume { :symbol "~uwrap64" } true; local_#10422 := ~uwrap64(local_#31363_newsize - _memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }]); assert { :LIR "67890" } { :check "overflow" } { :finding_ids "0" } true; local_#10423 := (if local_#10422 < local_#4059_sz then 1 else 0); if (local_#10423 != 0) { goto CFG_39959; } else { goto CFG_49285; } CFG_39959: assume true; assume { :symbol "~uwrap64" } true; local_#10424 := ~uwrap64(_memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }] + local_#4059_sz); assert { :LIR "66410" } { :check "overflow" } { :finding_ids "0" } true; local_#31363_newsize := local_#10424; goto CFG_49285; CFG_49285: assume true; local_#10425 := (if local_#31363_newsize < _memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }] then 1 else 0); if (local_#10425 != 0) { goto CFG_42232; } else { goto CFG_49286; } CFG_49286: assume true; assume { :symbol "~uwrap64" } true; local_#10426 := ~uwrap64(local_#31363_newsize - _memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }]); assert { :LIR "67891" } { :check "overflow" } { :finding_ids "0" } true; local_#10427 := (if local_#10426 < local_#4059_sz then 1 else 0); if (local_#10427 != 0) { goto CFG_42232; } else { goto CFG_49287; } CFG_42232: assume true; assume _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 0 }] == 98 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 1 }] == 117 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 2 }] == 102 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 3 }] == 102 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 4 }] == 101 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 5 }] == 114 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 6 }] == 32 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 7 }] == 116 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 8 }] == 111 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 9 }] == 111 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 10 }] == 32 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 11 }] == 108 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 12 }] == 97 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 13 }] == 114 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 14 }] == 103 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 15 }] == 101 && _memory[{ base : strlit_#70331!base, offset : strlit_#70331!offset + 16 }] == 0; local_#10428 := strlit_#70331; local_#10429 := { base : local_#10428!base, offset : local_#10428!offset + 0 * 1 }; assert { :LIR "62334" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45650; CFG_45650: assume true; call local_#10430 := routine_#33828_luaL_error(local_#31361_L,local_#10429,{ base : 0, offset : 0 }); goto CFG_39960; CFG_39960: assume true; goto CFG_49287; CFG_49287: assume true; local_#10431 := { base : local_#4058_B!base, offset : local_#4058_B!offset + 32 }; local_#10432 := (if _memory_ptr[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 0 }] != { base : local_#10431!base, offset : local_#10431!offset + 0 * 1 } then 1 else 0); if (local_#10432 != 0) { goto CFG_42234; } else { goto CFG_45651; } CFG_45651: assume true; call local_#10433 := routine_#34958_newbox(local_#31361_L,local_#31363_newsize); goto CFG_42233; CFG_42233: assume true; local_#10434 := local_#10433; assert { :LIR "60313" } { :check "overflow" } { :finding_ids "0" } true; local_#31362_newbuff := local_#10434; local_#10435 := local_#31362_newbuff; assert { :LIR "62335" } { :check "overflow" } { :finding_ids "0" } true; local_#10436 := _memory_ptr[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 0 }]; assert { :LIR "62336" } { :check "overflow" } { :finding_ids "0" } true; local_#10437 := 1; assume { :symbol "~uwrap64" } true; local_#10438 := ~uwrap64(_memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }] * local_#10437); assert { :LIR "68514" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45652; CFG_45652: assume true; call local_#10439 := routine_#34026_memcpy(local_#10435,local_#10436,local_#10438); goto CFG_39961; CFG_39961: assume true; goto CFG_39963; CFG_42234: assume true; local_#10440 := -1; goto CFG_45653; CFG_45653: assume true; call local_#10441 := routine_#35035_resizebox(local_#31361_L,local_#10440,local_#31363_newsize); goto CFG_39962; CFG_39962: assume true; local_#10442 := local_#10441; assert { :LIR "60314" } { :check "overflow" } { :finding_ids "0" } true; local_#31362_newbuff := local_#10442; goto CFG_39963; CFG_39963: assume true; _memory_ptr[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 0 }] := local_#31362_newbuff; _memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 8 }] := local_#31363_newsize; goto CFG_38139; CFG_38139: assume true; local_#10443 := { base : _memory_ptr[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 0 }]!offset + _memory[{ base : local_#4058_B!base, offset : local_#4058_B!offset + 16 }] * 1 }; local_#7812 := local_#10443; goto CFG_37263; CFG_37263: assume true; } procedure routine_#33845_luaL_pushresult(local_#4060_B_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4060_B : { base : int, offset : int }; var local_#31364_L : { base : int, offset : int }; var local_#10444 : { base : int, offset : int }; var local_#10445 : int; var local_#10446 : { base : int, offset : int }; var local_#10447 : { base : int, offset : int }; var local_#10448 : int; var local_#10449 : int; var local_#10450 : int; var local_#10451 : { base : int, offset : int }; var local_#10452 : int; var local_#10453 : int; var local_#10454 : int; local_#4060_B := local_#4060_B_IN; goto CFG_36353; CFG_36353: assume true; goto CFG_42235; CFG_42235: assume true; local_#31364_L := _memory_ptr[{ base : local_#4060_B!base, offset : local_#4060_B!offset + 24 }]; local_#10444 := _memory_ptr[{ base : local_#4060_B!base, offset : local_#4060_B!offset + 0 }]; assert { :LIR "62337" } { :check "overflow" } { :finding_ids "0" } true; local_#10445 := _memory[{ base : local_#4060_B!base, offset : local_#4060_B!offset + 16 }]; goto CFG_45654; CFG_45654: assume true; call local_#10446 := routine_#33962_lua_pushlstring(local_#31364_L,local_#10444,local_#10445); goto CFG_49288; CFG_49288: assume true; local_#10447 := { base : local_#4060_B!base, offset : local_#4060_B!offset + 32 }; local_#10448 := (if _memory_ptr[{ base : local_#4060_B!base, offset : local_#4060_B!offset + 0 }] != { base : local_#10447!base, offset : local_#10447!offset + 0 * 1 } then 1 else 0); if (local_#10448 != 0) { goto CFG_42236; } else { goto CFG_39144; } CFG_42236: assume true; local_#10449 := -2; local_#10450 := 0; goto CFG_45655; CFG_45655: assume true; call local_#10451 := routine_#35035_resizebox(local_#31364_L,local_#10449,local_#10450); goto CFG_42237; CFG_42237: assume true; local_#10452 := -2; local_#10453 := -1; goto CFG_45656; CFG_45656: assume true; call routine_#33978_lua_rotate(local_#31364_L,local_#10452,local_#10453); goto CFG_42238; CFG_42238: assume true; local_#10454 := -2; goto CFG_45657; CFG_45657: assume true; call routine_#33987_lua_settop(local_#31364_L,local_#10454); goto CFG_39964; CFG_39964: assume true; goto CFG_39144; CFG_39144: assume true; goto CFG_37264; CFG_37264: assume true; } procedure routine_#33846_luaL_pushresultsize(local_#4061_B_IN : { base : int, offset : int }, local_#4062_sz_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4061_B : { base : int, offset : int }; var local_#4062_sz : int; local_#4061_B := local_#4061_B_IN; local_#4062_sz := local_#4062_sz_IN; goto CFG_36354; CFG_36354: assume true; goto CFG_42239; CFG_42239: assume true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#4061_B!base, offset : local_#4061_B!offset + 16 }] := ~uwrap64(_memory[{ base : local_#4061_B!base, offset : local_#4061_B!offset + 16 }] + local_#4062_sz); assert { :LIR "66411" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45658; CFG_45658: assume true; call routine_#33845_luaL_pushresult(local_#4061_B); goto CFG_39145; CFG_39145: assume true; goto CFG_37265; CFG_37265: assume true; } procedure routine_#33847_luaL_ref(local_#4063_L_IN : { base : int, offset : int }, local_#4064_t_IN : int) returns (local_#7813 : int) modifies _memory, _memory_ptr, _valid; { var local_#4063_L : { base : int, offset : int }; var local_#4064_t : int; var local_#10455 : int; var local_#10456 : int; var local_#10457 : int; var local_#10458 : int; var local_#10459 : int; var local_#10460 : int; var local_#10461 : int; var local_#10462 : int; var local_#10463 : { base : int, offset : int }; var local_#10464 : int; var local_#10465 : int; var local_#31365_ref : int; var local_#10466 : int; var local_#10467 : int; var local_#10468 : int; var local_#10469 : int; var local_#10470 : int; var local_#10471 : int; var local_#10472 : int; var local_#10473 : int; var local_#10474 : int; var local_#10475 : int; var local_#10476 : int; var local_#10477 : int; local_#4063_L := local_#4063_L_IN; local_#4064_t := local_#4064_t_IN; goto CFG_36355; CFG_36355: assume true; goto CFG_42240; CFG_42240: assume true; local_#10455 := -1; goto CFG_45659; CFG_45659: assume true; call local_#10456 := routine_#34000_lua_type(local_#4063_L,local_#10455); goto CFG_49289; CFG_49289: assume true; local_#10457 := 0; local_#10458 := (if local_#10456 == local_#10457 then 1 else 0); if (local_#10458 != 0) { goto CFG_42247; } else { goto CFG_45660; } CFG_45660: assume true; call local_#10459 := routine_#33916_lua_absindex(local_#4063_L,local_#4064_t); goto CFG_42241; CFG_42241: assume true; local_#4064_t := local_#10459; local_#10460 := 0; goto CFG_45661; CFG_45661: assume true; call local_#10461 := routine_#33971_lua_rawgeti(local_#4063_L,local_#4064_t,local_#10460); goto CFG_42242; CFG_42242: assume true; local_#10462 := -1; local_#10463 := { base : 0, offset : 0 }; goto CFG_45662; CFG_45662: assume true; call local_#10464 := routine_#33994_lua_tointegerx(local_#4063_L,local_#10462,local_#10463); goto CFG_42243; CFG_42243: assume true; local_#10465 := local_#10464; assert { :LIR "60315" } { :check "overflow" } { :finding_ids "0" } local_#10465 <= 2147483647; local_#31365_ref := local_#10465; local_#10466 := -2; goto CFG_45663; CFG_45663: assume true; call routine_#33987_lua_settop(local_#4063_L,local_#10466); goto CFG_49290; CFG_49290: assume true; local_#10467 := 0; local_#10468 := (if local_#31365_ref != local_#10467 then 1 else 0); if (local_#10468 != 0) { goto CFG_42244; } else { goto CFG_45664; } CFG_45664: assume true; call local_#10469 := routine_#33973_lua_rawlen(local_#4063_L,local_#4064_t); goto CFG_39965; CFG_39965: assume true; local_#10470 := local_#10469; assert { :LIR "60316" } { :check "overflow" } { :finding_ids "0" } local_#10470 <= 2147483647; local_#10471 := 1; local_#10472 := local_#10470 + local_#10471; assert { :LIR "66412" } { :check "overflow" } { :finding_ids "0" } local_#10472 <= 2147483647; local_#31365_ref := local_#10472; goto CFG_42246; CFG_42244: assume true; local_#10473 := local_#31365_ref; assert { :LIR "62338" } { :check "overflow" } { :finding_ids "0" } local_#10473 <= 9223372036854775807; goto CFG_45665; CFG_45665: assume true; call local_#10474 := routine_#33971_lua_rawgeti(local_#4063_L,local_#4064_t,local_#10473); goto CFG_42245; CFG_42245: assume true; local_#10475 := 0; goto CFG_45666; CFG_45666: assume true; call routine_#33975_lua_rawseti(local_#4063_L,local_#4064_t,local_#10475); goto CFG_39966; CFG_39966: assume true; goto CFG_42246; CFG_42246: assume true; local_#10476 := local_#31365_ref; assert { :LIR "62339" } { :check "overflow" } { :finding_ids "0" } local_#10476 <= 9223372036854775807; goto CFG_45667; CFG_45667: assume true; call routine_#33975_lua_rawseti(local_#4063_L,local_#4064_t,local_#10476); goto CFG_38140; CFG_38140: assume true; local_#7813 := local_#31365_ref; goto CFG_37266; CFG_42247: assume true; local_#10477 := -2; goto CFG_45668; CFG_45668: assume true; call routine_#33987_lua_settop(local_#4063_L,local_#10477); goto CFG_38141; CFG_38141: assume true; local_#7813 := -1; goto CFG_37266; CFG_37266: assume true; } procedure routine_#33848_luaL_requiref(local_#4065_L_IN : { base : int, offset : int }, local_#4066_modname_IN : { base : int, offset : int }, local_#4067_openf_IN : { base : int, offset : int }, local_#4068_glb_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4065_L : { base : int, offset : int }; var local_#4066_modname : { base : int, offset : int }; var local_#4067_openf : { base : int, offset : int }; var local_#4068_glb : int; var local_#10478 : int; var local_#10479 : { base : int, offset : int }; var local_#10480 : { base : int, offset : int }; var local_#10481 : int; var local_#10482 : int; var local_#10483 : int; var local_#10484 : int; var local_#10485 : int; var local_#10486 : int; var local_#10487 : int; var local_#10488 : int; var local_#10489 : { base : int, offset : int }; var local_#10490 : int; var local_#10491 : int; var local_#10492 : int; var local_#10493 : { base : int, offset : int }; var local_#10494 : int; var local_#10495 : int; var local_#10496 : int; var local_#10497 : int; var local_#10498 : int; var local_#10499 : int; var local_#10500 : int; local_#4065_L := local_#4065_L_IN; local_#4066_modname := local_#4066_modname_IN; local_#4067_openf := local_#4067_openf_IN; local_#4068_glb := local_#4068_glb_IN; goto CFG_36356; CFG_36356: assume true; goto CFG_42248; CFG_42248: assume true; local_#10478 := -1001000; assume _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 0 }] == 95 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 1 }] == 76 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 2 }] == 79 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 3 }] == 65 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 4 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 5 }] == 69 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 6 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 7 }] == 0; local_#10479 := strlit_#70332; local_#10480 := { base : local_#10479!base, offset : local_#10479!offset + 0 * 1 }; assert { :LIR "62340" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45669; CFG_45669: assume true; call local_#10481 := routine_#33832_luaL_getsubtable(local_#4065_L,local_#10478,local_#10480); goto CFG_42249; CFG_42249: assume true; local_#10482 := -1; goto CFG_45670; CFG_45670: assume true; call local_#10483 := routine_#33930_lua_getfield(local_#4065_L,local_#10482,local_#4066_modname); goto CFG_42250; CFG_42250: assume true; local_#10484 := -1; goto CFG_45671; CFG_45671: assume true; call local_#10485 := routine_#33992_lua_toboolean(local_#4065_L,local_#10484); goto CFG_49291; CFG_49291: assume true; local_#10486 := (if local_#10485 != 0 then 0 else 1); if (local_#10486 != 0) { goto CFG_42251; } else { goto CFG_42256; } CFG_42251: assume true; local_#10487 := -2; goto CFG_45672; CFG_45672: assume true; call routine_#33987_lua_settop(local_#4065_L,local_#10487); goto CFG_42252; CFG_42252: assume true; local_#10488 := 0; goto CFG_45673; CFG_45673: assume true; call routine_#33958_lua_pushcclosure(local_#4065_L,local_#4067_openf,local_#10488); goto CFG_45674; CFG_45674: assume true; call local_#10489 := routine_#33965_lua_pushstring(local_#4065_L,local_#4066_modname); goto CFG_42253; CFG_42253: assume true; local_#10490 := 1; local_#10491 := 1; local_#10492 := 0; local_#10493 := { base : 0, offset : 0 }; goto CFG_45675; CFG_45675: assume true; call routine_#33919_lua_callk(local_#4065_L,local_#10490,local_#10491,local_#10492,local_#10493); goto CFG_42254; CFG_42254: assume true; local_#10494 := -1; goto CFG_45676; CFG_45676: assume true; call routine_#33967_lua_pushvalue(local_#4065_L,local_#10494); goto CFG_42255; CFG_42255: assume true; local_#10495 := -3; goto CFG_45677; CFG_45677: assume true; call routine_#33980_lua_setfield(local_#4065_L,local_#10495,local_#4066_modname); goto CFG_39967; CFG_39967: assume true; goto CFG_42256; CFG_42256: assume true; local_#10496 := -2; local_#10497 := -1; goto CFG_45678; CFG_45678: assume true; call routine_#33978_lua_rotate(local_#4065_L,local_#10496,local_#10497); goto CFG_42257; CFG_42257: assume true; local_#10498 := -2; goto CFG_45679; CFG_45679: assume true; call routine_#33987_lua_settop(local_#4065_L,local_#10498); goto CFG_49292; CFG_49292: assume true; local_#10499 := local_#4068_glb; if (local_#10499 != 0) { goto CFG_42258; } else { goto CFG_39146; } CFG_42258: assume true; local_#10500 := -1; goto CFG_45680; CFG_45680: assume true; call routine_#33967_lua_pushvalue(local_#4065_L,local_#10500); goto CFG_45681; CFG_45681: assume true; call routine_#33981_lua_setglobal(local_#4065_L,local_#4066_modname); goto CFG_39968; CFG_39968: assume true; goto CFG_39146; CFG_39146: assume true; goto CFG_37267; CFG_37267: assume true; } procedure routine_#33849_luaL_setfuncs(local_#4069_L_IN : { base : int, offset : int }, local_#4070_l_IN : { base : int, offset : int }, local_#4071_nup_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4069_L : { base : int, offset : int }; var local_#4070_l : { base : int, offset : int }; var local_#4071_nup : int; var local_#10501 : { base : int, offset : int }; var local_#10502 : { base : int, offset : int }; var local_#10503 : { base : int, offset : int }; var local_#10504 : int; var local_#10505 : int; var local_#10506 : int; var local_#10507 : int; var local_#31366_i : int; var local_#10508 : int; var local_#10509 : { base : int, offset : int }; var local_#10510 : int; var local_#10511 : int; var local_#10512 : int; var local_#10513 : { base : int, offset : int }; var local_#10514 : { base : int, offset : int }; var local_#10515 : int; var local_#10516 : { base : int, offset : int }; var local_#10517 : int; var local_#10518 : int; var local_#10519 : int; var local_#10520 : int; local_#4069_L := local_#4069_L_IN; local_#4070_l := local_#4070_l_IN; local_#4071_nup := local_#4071_nup_IN; goto CFG_36357; CFG_36357: assume true; goto CFG_42259; CFG_42259: assume true; assume _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 0 }] == 116 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 1 }] == 111 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 2 }] == 111 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 3 }] == 32 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 4 }] == 109 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 5 }] == 97 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 6 }] == 110 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 7 }] == 121 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 8 }] == 32 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 9 }] == 117 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 10 }] == 112 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 11 }] == 118 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 12 }] == 97 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 13 }] == 108 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 14 }] == 117 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 15 }] == 101 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 16 }] == 115 && _memory[{ base : strlit_#70333!base, offset : strlit_#70333!offset + 17 }] == 0; local_#10501 := strlit_#70333; local_#10502 := { base : local_#10501!base, offset : local_#10501!offset + 0 * 1 }; assert { :LIR "62341" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45682; CFG_45682: assume true; call routine_#33824_luaL_checkstack(local_#4069_L,local_#4071_nup,local_#10502); goto CFG_41640; CFG_41640: assume true; goto CFG_49293; CFG_49293: assume true; local_#10503 := { base : 0, offset : 0 }; local_#10504 := (if _memory_ptr[{ base : local_#4070_l!base, offset : local_#4070_l!offset + 0 }] != local_#10503 then 1 else 0); if (local_#10504 != 0) { goto CFG_41641; } else { goto CFG_42260; } CFG_42260: assume true; local_#10505 := -local_#4071_nup; assert { :LIR "64648" } { :check "overflow" } { :finding_ids "0" } local_#10505 <= 2147483647; local_#10506 := 1; local_#10507 := local_#10505 - local_#10506; assert { :LIR "67892" } { :check "overflow" } { :finding_ids "0" } local_#10507 <= 2147483647; goto CFG_45683; CFG_45683: assume true; call routine_#33987_lua_settop(local_#4069_L,local_#10507); goto CFG_39147; CFG_39147: assume true; goto CFG_37268; CFG_41641: assume true; local_#31366_i := 0; goto CFG_49294; CFG_49294: assume true; local_#10508 := (if local_#31366_i < local_#4071_nup then 1 else 0); if (local_#10508 != 0) { goto CFG_42263; } else { goto CFG_42261; } CFG_42261: assume true; local_#10509 := _memory_ptr[{ base : local_#4070_l!base, offset : local_#4070_l!offset + 8 }]; goto CFG_45684; CFG_45684: assume true; call routine_#33958_lua_pushcclosure(local_#4069_L,local_#10509,local_#4071_nup); goto CFG_42262; CFG_42262: assume true; local_#10510 := 2; local_#10511 := local_#4071_nup + local_#10510; assert { :LIR "66413" } { :check "overflow" } { :finding_ids "0" } local_#10511 <= 2147483647; local_#10512 := -local_#10511; assert { :LIR "64649" } { :check "overflow" } { :finding_ids "0" } local_#10512 <= 2147483647; local_#10513 := _memory_ptr[{ base : local_#4070_l!base, offset : local_#4070_l!offset + 0 }]; goto CFG_45685; CFG_45685: assume true; call routine_#33980_lua_setfield(local_#4069_L,local_#10512,local_#10513); goto CFG_44981; CFG_44981: assume true; local_#10514 := local_#4070_l; local_#10515 := 1; local_#4070_l := { base : local_#10514!base, offset : local_#10514!offset + local_#10515 * 16 }; local_#10516 := local_#10514; goto CFG_49293; CFG_42263: assume true; local_#10517 := -local_#4071_nup; assert { :LIR "64650" } { :check "overflow" } { :finding_ids "0" } local_#10517 <= 2147483647; goto CFG_45686; CFG_45686: assume true; call routine_#33967_lua_pushvalue(local_#4069_L,local_#10517); goto CFG_44982; CFG_44982: assume true; local_#10518 := local_#31366_i; local_#10519 := 1; local_#31366_i := local_#10518 + local_#10519; assert { :LIR "66414" } { :check "overflow" } { :finding_ids "0" } local_#31366_i <= 2147483647; local_#10520 := local_#10518; goto CFG_49294; CFG_37268: assume true; } procedure routine_#33850_luaL_setmetatable(local_#4072_L_IN : { base : int, offset : int }, local_#4073_tname_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4072_L : { base : int, offset : int }; var local_#4073_tname : { base : int, offset : int }; var local_#10521 : int; var local_#10522 : int; var local_#10523 : int; var local_#10524 : int; local_#4072_L := local_#4072_L_IN; local_#4073_tname := local_#4073_tname_IN; goto CFG_36358; CFG_36358: assume true; goto CFG_42264; CFG_42264: assume true; local_#10521 := -1001000; goto CFG_45687; CFG_45687: assume true; call local_#10522 := routine_#33930_lua_getfield(local_#4072_L,local_#10521,local_#4073_tname); goto CFG_42265; CFG_42265: assume true; local_#10523 := -2; goto CFG_45688; CFG_45688: assume true; call local_#10524 := routine_#33985_lua_setmetatable(local_#4072_L,local_#10523); goto CFG_39148; CFG_39148: assume true; goto CFG_37269; CFG_37269: assume true; } procedure routine_#33851_luaL_testudata(local_#4074_L_IN : { base : int, offset : int }, local_#4075_ud_IN : int, local_#4076_tname_IN : { base : int, offset : int }) returns (local_#7814 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4074_L : { base : int, offset : int }; var local_#4075_ud : int; var local_#4076_tname : { base : int, offset : int }; var local_#10525 : { base : int, offset : int }; var local_#31367_p : { base : int, offset : int }; var local_#10526 : { base : int, offset : int }; var local_#10527 : int; var local_#10528 : int; var local_#10529 : int; var local_#10530 : int; var local_#10531 : int; var local_#10532 : int; var local_#10533 : int; var local_#10534 : int; var local_#10535 : int; var local_#10536 : int; local_#4074_L := local_#4074_L_IN; local_#4075_ud := local_#4075_ud_IN; local_#4076_tname := local_#4076_tname_IN; goto CFG_36359; CFG_36359: assume true; goto CFG_45689; CFG_45689: assume true; call local_#10525 := routine_#33999_lua_touserdata(local_#4074_L,local_#4075_ud); goto CFG_49295; CFG_49295: assume true; local_#31367_p := local_#10525; local_#10526 := { base : 0, offset : 0 }; local_#10527 := (if local_#31367_p != local_#10526 then 1 else 0); if (local_#10527 != 0) { goto CFG_45690; } else { goto CFG_38142; } CFG_45690: assume true; call local_#10528 := routine_#33938_lua_getmetatable(local_#4074_L,local_#4075_ud); goto CFG_49296; CFG_49296: assume true; local_#10529 := local_#10528; if (local_#10529 != 0) { goto CFG_42266; } else { goto CFG_39969; } CFG_39969: assume true; goto CFG_38142; CFG_38142: assume true; local_#7814 := { base : 0, offset : 0 }; goto CFG_37270; CFG_42266: assume true; local_#10530 := -1001000; goto CFG_45691; CFG_45691: assume true; call local_#10531 := routine_#33930_lua_getfield(local_#4074_L,local_#10530,local_#4076_tname); goto CFG_42267; CFG_42267: assume true; local_#10532 := -1; local_#10533 := -2; goto CFG_45692; CFG_45692: assume true; call local_#10534 := routine_#33969_lua_rawequal(local_#4074_L,local_#10532,local_#10533); goto CFG_49297; CFG_49297: assume true; local_#10535 := (if local_#10534 != 0 then 0 else 1); if (local_#10535 != 0) { goto CFG_39970; } else { goto CFG_42268; } CFG_39970: assume true; local_#31367_p := { base : 0, offset : 0 }; goto CFG_42268; CFG_42268: assume true; local_#10536 := -3; goto CFG_45693; CFG_45693: assume true; call routine_#33987_lua_settop(local_#4074_L,local_#10536); goto CFG_38143; CFG_38143: assume true; local_#7814 := local_#31367_p; goto CFG_37270; CFG_37270: assume true; } procedure routine_#33852_luaL_tolstring(local_#4077_L_IN : { base : int, offset : int }, local_#4078_idx_IN : int, local_#4079_len_IN : { base : int, offset : int }) returns (local_#7815 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4077_L : { base : int, offset : int }; var local_#4078_idx : int; var local_#4079_len : { base : int, offset : int }; var local_#10537 : { base : int, offset : int }; var local_#10538 : { base : int, offset : int }; var local_#10539 : int; var local_#10540 : int; var local_#10541 : int; var local_#10542 : int; var local_#10543 : { base : int, offset : int }; var local_#10544 : { base : int, offset : int }; var local_#10545 : int; var local_#31369_tt : int; var local_#10546 : int; var local_#10547 : int; var local_#10548 : int; var local_#10549 : { base : int, offset : int }; var local_#30614 : { base : int, offset : int }; var local_#10550 : int; var local_#10551 : { base : int, offset : int }; var local_#10552 : { base : int, offset : int }; var local_#31368_kind : { base : int, offset : int }; var local_#10553 : { base : int, offset : int }; var local_#10554 : { base : int, offset : int }; var local_#10555 : { base : int, offset : int }; var local_#10556 : { base : int, offset : int }; var local_#10557 : int; var local_#10558 : int; var local_#10559 : int; var local_#10560 : int; var local_#10561 : int; var local_#10562 : { base : int, offset : int }; var local_#10563 : { base : int, offset : int }; var local_#10564 : { base : int, offset : int }; var local_#10565 : int; var local_#10566 : int; var local_#10567 : { base : int, offset : int }; var local_#30615 : { base : int, offset : int }; var local_#10568 : { base : int, offset : int }; var local_#10569 : { base : int, offset : int }; var local_#10570 : { base : int, offset : int }; var local_#10571 : int; var local_#10572 : int; var local_#10573 : { base : int, offset : int }; var local_#10574 : { base : int, offset : int }; var local_#10575 : { base : int, offset : int }; var local_#10576 : int; var nondet_#0 : int; var local_#10577 : int; var local_#10578 : { base : int, offset : int }; var local_#10579 : { base : int, offset : int }; var local_#10580 : { base : int, offset : int }; var local_#10581 : { base : int, offset : int }; var local_#10582 : int; var local_#10583 : int; var local_#10584 : { base : int, offset : int }; var local_#10585 : int; var local_#10586 : int; var local_#10587 : int; var local_#10588 : { base : int, offset : int }; var local_#10589 : { base : int, offset : int }; var local_#10590 : int; var local_#10591 : int; var local_#10592 : { base : int, offset : int }; local_#4077_L := local_#4077_L_IN; local_#4078_idx := local_#4078_idx_IN; local_#4079_len := local_#4079_len_IN; goto CFG_36360; CFG_36360: assume true; goto CFG_42269; CFG_42269: assume true; assume _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 0 }] == 95 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 1 }] == 95 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 2 }] == 116 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 3 }] == 111 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 4 }] == 115 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 5 }] == 116 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 6 }] == 114 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 7 }] == 105 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 8 }] == 110 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 9 }] == 103 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 10 }] == 0; local_#10537 := strlit_#70334; local_#10538 := { base : local_#10537!base, offset : local_#10537!offset + 0 * 1 }; assert { :LIR "62342" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45694; CFG_45694: assume true; call local_#10539 := routine_#33818_luaL_callmeta(local_#4077_L,local_#4078_idx,local_#10538); goto CFG_49298; CFG_49298: assume true; local_#10540 := local_#10539; if (local_#10540 != 0) { goto CFG_42281; } else { goto CFG_45695; } CFG_45695: assume true; call local_#10541 := routine_#34000_lua_type(local_#4077_L,local_#4078_idx); goto CFG_51510; CFG_51510: assume true; local_#10542 := local_#10541; if (local_#10542 == 3) { goto CFG_45708; } if (local_#10542 == 4) { goto CFG_45707; } if (local_#10542 == 1) { goto CFG_45705; } if (local_#10542 == 0) { goto CFG_42275; } goto CFG_42270; CFG_42270: assume true; assume _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 0 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 1 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 2 }] == 110 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 3 }] == 97 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 4 }] == 109 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 5 }] == 101 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 6 }] == 0; local_#10543 := strlit_#70330; local_#10544 := { base : local_#10543!base, offset : local_#10543!offset + 0 * 1 }; assert { :LIR "62343" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45696; CFG_45696: assume true; call local_#10545 := routine_#33831_luaL_getmetafield(local_#4077_L,local_#4078_idx,local_#10544); goto CFG_49299; CFG_49299: assume true; local_#31369_tt := local_#10545; local_#10546 := 4; local_#10547 := (if local_#31369_tt == local_#10546 then 1 else 0); if (local_#10547 != 0) { goto CFG_42271; } else { goto CFG_45697; } CFG_45697: assume true; call local_#10548 := routine_#34000_lua_type(local_#4077_L,local_#4078_idx); goto CFG_45698; CFG_45698: assume true; call local_#10549 := routine_#34001_lua_typename(local_#4077_L,local_#10548); goto CFG_39971; CFG_39971: assume true; local_#30614 := local_#10549; goto CFG_42272; CFG_42271: assume true; local_#10550 := -1; local_#10551 := { base : 0, offset : 0 }; goto CFG_45699; CFG_45699: assume true; call local_#10552 := routine_#33995_lua_tolstring(local_#4077_L,local_#10550,local_#10551); goto CFG_39972; CFG_39972: assume true; local_#30614 := local_#10552; goto CFG_42272; CFG_42272: assume true; local_#31368_kind := local_#30614; assume _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 0 }] == 37 && _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 1 }] == 115 && _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 2 }] == 58 && _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 3 }] == 32 && _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 4 }] == 37 && _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 5 }] == 112 && _memory[{ base : strlit_#70336!base, offset : strlit_#70336!offset + 6 }] == 0; local_#10553 := strlit_#70336; local_#10554 := { base : local_#10553!base, offset : local_#10553!offset + 0 * 1 }; assert { :LIR "62344" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45700; CFG_45700: assume true; call local_#10555 := routine_#33997_lua_topointer(local_#4077_L,local_#4078_idx); goto CFG_45701; CFG_45701: assume true; call local_#10556 := routine_#33959_lua_pushfstring(local_#4077_L,local_#10554,{ base : 0, offset : 0 }); goto CFG_49300; CFG_49300: assume true; local_#10557 := 0; local_#10558 := (if local_#31369_tt != local_#10557 then 1 else 0); if (local_#10558 != 0) { goto CFG_42273; } else { goto CFG_39488; } CFG_42273: assume true; local_#10559 := -2; local_#10560 := -1; goto CFG_45702; CFG_45702: assume true; call routine_#33978_lua_rotate(local_#4077_L,local_#10559,local_#10560); goto CFG_42274; CFG_42274: assume true; local_#10561 := -2; goto CFG_45703; CFG_45703: assume true; call routine_#33987_lua_settop(local_#4077_L,local_#10561); goto CFG_39973; CFG_39973: assume true; goto CFG_39488; CFG_39488: assume true; goto CFG_39978; CFG_42275: assume true; assume _memory[{ base : strlit_#70337!base, offset : strlit_#70337!offset + 0 }] == 110 && _memory[{ base : strlit_#70337!base, offset : strlit_#70337!offset + 1 }] == 105 && _memory[{ base : strlit_#70337!base, offset : strlit_#70337!offset + 2 }] == 108 && _memory[{ base : strlit_#70337!base, offset : strlit_#70337!offset + 3 }] == 0; local_#10562 := strlit_#70337; local_#10563 := { base : local_#10562!base, offset : local_#10562!offset + 0 * 1 }; assert { :LIR "62345" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45704; CFG_45704: assume true; call local_#10564 := routine_#33965_lua_pushstring(local_#4077_L,local_#10563); goto CFG_39489; CFG_39489: assume true; goto CFG_39978; CFG_45705: assume true; call local_#10565 := routine_#33992_lua_toboolean(local_#4077_L,local_#4078_idx); goto CFG_49301; CFG_49301: assume true; local_#10566 := local_#10565; if (local_#10566 != 0) { goto CFG_39975; } else { goto CFG_39974; } CFG_39974: assume true; assume _memory[{ base : strlit_#70338!base, offset : strlit_#70338!offset + 0 }] == 102 && _memory[{ base : strlit_#70338!base, offset : strlit_#70338!offset + 1 }] == 97 && _memory[{ base : strlit_#70338!base, offset : strlit_#70338!offset + 2 }] == 108 && _memory[{ base : strlit_#70338!base, offset : strlit_#70338!offset + 3 }] == 115 && _memory[{ base : strlit_#70338!base, offset : strlit_#70338!offset + 4 }] == 101 && _memory[{ base : strlit_#70338!base, offset : strlit_#70338!offset + 5 }] == 0; local_#10567 := strlit_#70338; local_#30615 := { base : local_#10567!base, offset : local_#10567!offset + 0 * 1 }; goto CFG_42276; CFG_39975: assume true; assume _memory[{ base : strlit_#70339!base, offset : strlit_#70339!offset + 0 }] == 116 && _memory[{ base : strlit_#70339!base, offset : strlit_#70339!offset + 1 }] == 114 && _memory[{ base : strlit_#70339!base, offset : strlit_#70339!offset + 2 }] == 117 && _memory[{ base : strlit_#70339!base, offset : strlit_#70339!offset + 3 }] == 101 && _memory[{ base : strlit_#70339!base, offset : strlit_#70339!offset + 4 }] == 0; local_#10568 := strlit_#70339; local_#30615 := { base : local_#10568!base, offset : local_#10568!offset + 0 * 1 }; goto CFG_42276; CFG_42276: assume true; local_#10569 := local_#30615; assert { :LIR "62346" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45706; CFG_45706: assume true; call local_#10570 := routine_#33965_lua_pushstring(local_#4077_L,local_#10569); goto CFG_39490; CFG_39490: assume true; goto CFG_39978; CFG_45707: assume true; call routine_#33967_lua_pushvalue(local_#4077_L,local_#4078_idx); goto CFG_39491; CFG_39491: assume true; goto CFG_39978; CFG_45708: assume true; call local_#10571 := routine_#33945_lua_isinteger(local_#4077_L,local_#4078_idx); goto CFG_49302; CFG_49302: assume true; local_#10572 := local_#10571; if (local_#10572 != 0) { goto CFG_42279; } else { goto CFG_42277; } CFG_42277: assume true; assume _memory[{ base : strlit_#70340!base, offset : strlit_#70340!offset + 0 }] == 37 && _memory[{ base : strlit_#70340!base, offset : strlit_#70340!offset + 1 }] == 102 && _memory[{ base : strlit_#70340!base, offset : strlit_#70340!offset + 2 }] == 0; local_#10573 := strlit_#70340; local_#10574 := { base : local_#10573!base, offset : local_#10573!offset + 0 * 1 }; assert { :LIR "62347" } { :check "overflow" } { :finding_ids "0" } true; local_#10575 := { base : 0, offset : 0 }; goto CFG_45709; CFG_45709: assume true; call local_#10576 := routine_#33996_lua_tonumberx(local_#4077_L,local_#4078_idx,local_#10575); goto CFG_42278; CFG_42278: assume true; havoc nondet_#0; local_#10577 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60317 */; assert { :LIR "60317" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45710; CFG_45710: assume true; call local_#10578 := routine_#33959_lua_pushfstring(local_#4077_L,local_#10574,{ base : 0, offset : 0 }); goto CFG_39976; CFG_39976: assume true; goto CFG_39492; CFG_42279: assume true; assume _memory[{ base : strlit_#70341!base, offset : strlit_#70341!offset + 0 }] == 37 && _memory[{ base : strlit_#70341!base, offset : strlit_#70341!offset + 1 }] == 73 && _memory[{ base : strlit_#70341!base, offset : strlit_#70341!offset + 2 }] == 0; local_#10579 := strlit_#70341; local_#10580 := { base : local_#10579!base, offset : local_#10579!offset + 0 * 1 }; assert { :LIR "62348" } { :check "overflow" } { :finding_ids "0" } true; local_#10581 := { base : 0, offset : 0 }; goto CFG_45711; CFG_45711: assume true; call local_#10582 := routine_#33994_lua_tointegerx(local_#4077_L,local_#4078_idx,local_#10581); goto CFG_42280; CFG_42280: assume true; local_#10583 := local_#10582; assert { :LIR "60318" } { :check "overflow" } { :finding_ids "0" } local_#10583 <= 9223372036854775807; goto CFG_45712; CFG_45712: assume true; call local_#10584 := routine_#33959_lua_pushfstring(local_#4077_L,local_#10580,{ base : 0, offset : 0 }); goto CFG_39977; CFG_39977: assume true; goto CFG_39492; CFG_39492: assume true; goto CFG_39978; CFG_39978: assume true; goto CFG_42283; CFG_42281: assume true; local_#10585 := -1; goto CFG_45713; CFG_45713: assume true; call local_#10586 := routine_#33947_lua_isstring(local_#4077_L,local_#10585); goto CFG_49303; CFG_49303: assume true; local_#10587 := (if local_#10586 != 0 then 0 else 1); if (local_#10587 != 0) { goto CFG_42282; } else { goto CFG_39980; } CFG_42282: assume true; assume _memory[{ base : strlit_#70342!base, offset : strlit_#70342!offset + 33 }] == 0; local_#10588 := strlit_#70342; local_#10589 := { base : local_#10588!base, offset : local_#10588!offset + 0 * 1 }; assert { :LIR "62349" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45714; CFG_45714: assume true; call local_#10590 := routine_#33828_luaL_error(local_#4077_L,local_#10589,{ base : 0, offset : 0 }); goto CFG_39979; CFG_39979: assume true; goto CFG_39980; CFG_39980: assume true; goto CFG_42283; CFG_42283: assume true; local_#10591 := -1; goto CFG_45715; CFG_45715: assume true; call local_#10592 := routine_#33995_lua_tolstring(local_#4077_L,local_#10591,local_#4079_len); goto CFG_38144; CFG_38144: assume true; local_#7815 := local_#10592; goto CFG_37271; CFG_41908: assume true; goto CFG_39978; CFG_37271: assume true; } procedure routine_#33853_luaL_traceback(local_#4080_L_IN : { base : int, offset : int }, local_#4081_L1_IN : { base : int, offset : int }, local_#4082_msg_IN : { base : int, offset : int }, local_#4083_level_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4080_L : { base : int, offset : int }; var local_#4081_L1 : { base : int, offset : int }; var local_#4082_msg : { base : int, offset : int }; var local_#4083_level : int; var local_#10593 : int; var local_#31373_top : int; var local_#10594 : int; var local_#31371_last : int; var local_#10595 : int; var local_#10596 : int; var local_#10597 : int; var local_#30616 : int; var local_#31372_n1 : int; var local_#10598 : { base : int, offset : int }; var local_#10599 : { base : int, offset : int }; var local_#10600 : { base : int, offset : int }; var local_#10601 : { base : int, offset : int }; var local_#10602 : int; var local_#10603 : { base : int, offset : int }; var local_#10604 : { base : int, offset : int }; var local_#10605 : { base : int, offset : int }; var local_#10606 : { base : int, offset : int }; var local_#10607 : int; var local_#10608 : int; var local_#31370_ar : { base : int, offset : int }; var local_#10609 : { base : int, offset : int }; var local_#10610 : int; var local_#10611 : int; var local_#10612 : int; var local_#10613 : int; var local_#10614 : int; var local_#10615 : int; var local_#10616 : int; var local_#10617 : int; var local_#10618 : { base : int, offset : int }; var local_#10619 : { base : int, offset : int }; var local_#10620 : { base : int, offset : int }; var local_#10621 : int; var local_#10622 : { base : int, offset : int }; var local_#10623 : { base : int, offset : int }; var local_#10624 : { base : int, offset : int }; var local_#10625 : { base : int, offset : int }; var local_#10626 : { base : int, offset : int }; var local_#10627 : int; var local_#10628 : int; var local_#10629 : { base : int, offset : int }; var local_#10630 : { base : int, offset : int }; var local_#10631 : int; var local_#10632 : { base : int, offset : int }; var local_#10633 : { base : int, offset : int }; var local_#10634 : { base : int, offset : int }; var local_#10635 : { base : int, offset : int }; var local_#10636 : { base : int, offset : int }; var local_#10637 : int; var local_#10638 : { base : int, offset : int }; var local_#10639 : { base : int, offset : int }; var local_#10640 : { base : int, offset : int }; var local_#10641 : int; var local_#10642 : int; var local_#10643 : { base : int, offset : int }; var local_#10644 : { base : int, offset : int }; var local_#10645 : { base : int, offset : int }; var local_#10646 : int; var local_#10647 : int; var local_#10648 : int; var local_#10649 : int; local_#4080_L := local_#4080_L_IN; local_#4081_L1 := local_#4081_L1_IN; local_#4082_msg := local_#4082_msg_IN; local_#4083_level := local_#4083_level_IN; goto CFG_36361; CFG_36361: assume true; goto CFG_45716; CFG_45716: assume true; call local_#10593 := routine_#33941_lua_gettop(local_#4080_L); goto CFG_42284; CFG_42284: assume true; local_#31373_top := local_#10593; goto CFG_45717; CFG_45717: assume true; call local_#10594 := routine_#34854_lastlevel(local_#4081_L1); goto CFG_49304; CFG_49304: assume true; local_#31371_last := local_#10594; local_#10595 := local_#31371_last - local_#4083_level; assert { :LIR "67893" } { :check "overflow" } { :finding_ids "0" } local_#10595 <= 2147483647; local_#10596 := 21; local_#10597 := (if local_#10595 > local_#10596 then 1 else 0); if (local_#10597 != 0) { goto CFG_39982; } else { goto CFG_39981; } CFG_39981: assume true; local_#30616 := -1; goto CFG_49305; CFG_39982: assume true; local_#30616 := 10; goto CFG_49305; CFG_49305: assume true; local_#31372_n1 := local_#30616; local_#10598 := local_#4082_msg; if (local_#10598 != { base : 0, offset : 0 }) { goto CFG_42285; } else { goto CFG_42286; } CFG_42285: assume true; assume _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 0 }] == 37 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 1 }] == 115 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 2 }] == 10 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 3 }] == 0; local_#10599 := strlit_#70343; local_#10600 := { base : local_#10599!base, offset : local_#10599!offset + 0 * 1 }; assert { :LIR "62350" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45718; CFG_45718: assume true; call local_#10601 := routine_#33959_lua_pushfstring(local_#4080_L,local_#10600,{ base : 0, offset : 0 }); goto CFG_39983; CFG_39983: assume true; goto CFG_42286; CFG_42286: assume true; local_#10602 := 10; local_#10603 := { base : 0, offset : 0 }; goto CFG_45719; CFG_45719: assume true; call routine_#33824_luaL_checkstack(local_#4080_L,local_#10602,local_#10603); goto CFG_42287; CFG_42287: assume true; assume _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 0 }] == 115 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 1 }] == 116 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 2 }] == 97 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 3 }] == 99 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 4 }] == 107 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 5 }] == 32 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 6 }] == 116 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 7 }] == 114 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 8 }] == 97 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 9 }] == 99 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 10 }] == 101 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 11 }] == 98 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 12 }] == 97 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 13 }] == 99 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 14 }] == 107 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 15 }] == 58 && _memory[{ base : strlit_#70344!base, offset : strlit_#70344!offset + 16 }] == 0; local_#10604 := strlit_#70344; local_#10605 := { base : local_#10604!base, offset : local_#10604!offset + 0 * 1 }; assert { :LIR "62351" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45720; CFG_45720: assume true; call local_#10606 := routine_#33965_lua_pushstring(local_#4080_L,local_#10605); goto CFG_41642; CFG_41642: assume true; goto CFG_42288; CFG_42288: assume true; local_#10607 := local_#4083_level; local_#10608 := 1; local_#4083_level := local_#10607 + local_#10608; assert { :LIR "66415" } { :check "overflow" } { :finding_ids "0" } local_#4083_level <= 2147483647; local_#10609 := local_#31370_ar; goto CFG_45721; CFG_45721: assume true; call local_#10610 := routine_#33939_lua_getstack(local_#4081_L1,local_#10607,local_#10609); goto CFG_49306; CFG_49306: assume true; local_#10611 := local_#10610; if (local_#10611 != 0) { goto CFG_49307; } else { goto CFG_45722; } CFG_45722: assume true; call local_#10612 := routine_#33941_lua_gettop(local_#4080_L); goto CFG_42289; CFG_42289: assume true; local_#10613 := local_#10612 - local_#31373_top; assert { :LIR "67894" } { :check "overflow" } { :finding_ids "0" } local_#10613 <= 2147483647; goto CFG_45723; CFG_45723: assume true; call routine_#33923_lua_concat(local_#4080_L,local_#10613); goto CFG_39149; CFG_39149: assume true; goto CFG_37272; CFG_49307: assume true; local_#10614 := local_#31372_n1; local_#10615 := 1; local_#31372_n1 := local_#10614 - local_#10615; assert { :LIR "67895" } { :check "overflow" } { :finding_ids "0" } local_#31372_n1 <= 2147483647; local_#10616 := 0; local_#10617 := (if local_#10614 == local_#10616 then 1 else 0); if (local_#10617 != 0) { goto CFG_42297; } else { goto CFG_42290; } CFG_42290: assume true; assume _memory[{ base : strlit_#70345!base, offset : strlit_#70345!offset + 0 }] == 83 && _memory[{ base : strlit_#70345!base, offset : strlit_#70345!offset + 1 }] == 108 && _memory[{ base : strlit_#70345!base, offset : strlit_#70345!offset + 2 }] == 110 && _memory[{ base : strlit_#70345!base, offset : strlit_#70345!offset + 3 }] == 116 && _memory[{ base : strlit_#70345!base, offset : strlit_#70345!offset + 4 }] == 0; local_#10618 := strlit_#70345; local_#10619 := { base : local_#10618!base, offset : local_#10618!offset + 0 * 1 }; assert { :LIR "62352" } { :check "overflow" } { :finding_ids "0" } true; local_#10620 := local_#31370_ar; goto CFG_45724; CFG_45724: assume true; call local_#10621 := routine_#33936_lua_getinfo(local_#4081_L1,local_#10619,local_#10620); goto CFG_42291; CFG_42291: assume true; assume _memory[{ base : strlit_#70346!base, offset : strlit_#70346!offset + 0 }] == 10 && _memory[{ base : strlit_#70346!base, offset : strlit_#70346!offset + 1 }] == 9 && _memory[{ base : strlit_#70346!base, offset : strlit_#70346!offset + 2 }] == 37 && _memory[{ base : strlit_#70346!base, offset : strlit_#70346!offset + 3 }] == 115 && _memory[{ base : strlit_#70346!base, offset : strlit_#70346!offset + 4 }] == 58 && _memory[{ base : strlit_#70346!base, offset : strlit_#70346!offset + 5 }] == 0; local_#10622 := strlit_#70346; local_#10623 := { base : local_#10622!base, offset : local_#10622!offset + 0 * 1 }; assert { :LIR "62353" } { :check "overflow" } { :finding_ids "0" } true; local_#10624 := { base : local_#31370_ar!base, offset : local_#31370_ar!offset + 56 }; local_#10625 := { base : local_#10624!base, offset : local_#10624!offset + 0 * 1 }; goto CFG_45725; CFG_45725: assume true; call local_#10626 := routine_#33959_lua_pushfstring(local_#4080_L,local_#10623,{ base : 0, offset : 0 }); goto CFG_49308; CFG_49308: assume true; local_#10627 := 0; local_#10628 := (if _memory[{ base : local_#31370_ar!base, offset : local_#31370_ar!offset + 40 }] > local_#10627 then 1 else 0); if (local_#10628 != 0) { goto CFG_42292; } else { goto CFG_42293; } CFG_42292: assume true; assume _memory[{ base : strlit_#70347!base, offset : strlit_#70347!offset + 0 }] == 37 && _memory[{ base : strlit_#70347!base, offset : strlit_#70347!offset + 1 }] == 100 && _memory[{ base : strlit_#70347!base, offset : strlit_#70347!offset + 2 }] == 58 && _memory[{ base : strlit_#70347!base, offset : strlit_#70347!offset + 3 }] == 0; local_#10629 := strlit_#70347; local_#10630 := { base : local_#10629!base, offset : local_#10629!offset + 0 * 1 }; assert { :LIR "62354" } { :check "overflow" } { :finding_ids "0" } true; local_#10631 := _memory[{ base : local_#31370_ar!base, offset : local_#31370_ar!offset + 40 }]; goto CFG_45726; CFG_45726: assume true; call local_#10632 := routine_#33959_lua_pushfstring(local_#4080_L,local_#10630,{ base : 0, offset : 0 }); goto CFG_39984; CFG_39984: assume true; goto CFG_42293; CFG_42293: assume true; assume _memory[{ base : strlit_#70348!base, offset : strlit_#70348!offset + 0 }] == 32 && _memory[{ base : strlit_#70348!base, offset : strlit_#70348!offset + 1 }] == 105 && _memory[{ base : strlit_#70348!base, offset : strlit_#70348!offset + 2 }] == 110 && _memory[{ base : strlit_#70348!base, offset : strlit_#70348!offset + 3 }] == 32 && _memory[{ base : strlit_#70348!base, offset : strlit_#70348!offset + 4 }] == 0; local_#10633 := strlit_#70348; local_#10634 := { base : local_#10633!base, offset : local_#10633!offset + 0 * 1 }; assert { :LIR "62355" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45727; CFG_45727: assume true; call local_#10635 := routine_#33965_lua_pushstring(local_#4080_L,local_#10634); goto CFG_42294; CFG_42294: assume true; local_#10636 := local_#31370_ar; goto CFG_45728; CFG_45728: assume true; call routine_#35004_pushfuncname(local_#4080_L,local_#10636); goto CFG_49309; CFG_49309: assume true; local_#10637 := _memory[{ base : local_#31370_ar!base, offset : local_#31370_ar!offset + 55 }]; if (local_#10637 != 0) { goto CFG_42295; } else { goto CFG_45730; } CFG_42295: assume true; assume _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 0 }] == 10 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 1 }] == 9 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 2 }] == 40 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 3 }] == 46 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 4 }] == 46 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 5 }] == 46 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 6 }] == 116 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 7 }] == 97 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 8 }] == 105 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 9 }] == 108 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 10 }] == 32 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 11 }] == 99 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 12 }] == 97 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 13 }] == 108 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 14 }] == 108 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 15 }] == 115 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 16 }] == 46 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 17 }] == 46 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 18 }] == 46 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 19 }] == 41 && _memory[{ base : strlit_#70349!base, offset : strlit_#70349!offset + 20 }] == 0; local_#10638 := strlit_#70349; local_#10639 := { base : local_#10638!base, offset : local_#10638!offset + 0 * 1 }; assert { :LIR "62356" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45729; CFG_45729: assume true; call local_#10640 := routine_#33965_lua_pushstring(local_#4080_L,local_#10639); goto CFG_39985; CFG_39985: assume true; goto CFG_45730; CFG_45730: assume true; call local_#10641 := routine_#33941_lua_gettop(local_#4080_L); goto CFG_42296; CFG_42296: assume true; local_#10642 := local_#10641 - local_#31373_top; assert { :LIR "67896" } { :check "overflow" } { :finding_ids "0" } local_#10642 <= 2147483647; goto CFG_45731; CFG_45731: assume true; call routine_#33923_lua_concat(local_#4080_L,local_#10642); goto CFG_39986; CFG_39986: assume true; goto CFG_44983; CFG_42297: assume true; assume _memory[{ base : strlit_#70350!base, offset : strlit_#70350!offset + 0 }] == 10 && _memory[{ base : strlit_#70350!base, offset : strlit_#70350!offset + 1 }] == 9 && _memory[{ base : strlit_#70350!base, offset : strlit_#70350!offset + 2 }] == 46 && _memory[{ base : strlit_#70350!base, offset : strlit_#70350!offset + 3 }] == 46 && _memory[{ base : strlit_#70350!base, offset : strlit_#70350!offset + 4 }] == 46 && _memory[{ base : strlit_#70350!base, offset : strlit_#70350!offset + 5 }] == 0; local_#10643 := strlit_#70350; local_#10644 := { base : local_#10643!base, offset : local_#10643!offset + 0 * 1 }; assert { :LIR "62357" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45732; CFG_45732: assume true; call local_#10645 := routine_#33965_lua_pushstring(local_#4080_L,local_#10644); goto CFG_39987; CFG_39987: assume true; local_#10646 := 11; local_#10647 := local_#31371_last - local_#10646; assert { :LIR "67897" } { :check "overflow" } { :finding_ids "0" } local_#10647 <= 2147483647; local_#10648 := 1; local_#10649 := local_#10647 + local_#10648; assert { :LIR "66416" } { :check "overflow" } { :finding_ids "0" } local_#10649 <= 2147483647; local_#4083_level := local_#10649; goto CFG_44983; CFG_44983: assume true; goto CFG_42288; CFG_37272: assume true; } procedure routine_#33854_luaL_unref(local_#4084_L_IN : { base : int, offset : int }, local_#4085_t_IN : int, local_#4086_ref_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4084_L : { base : int, offset : int }; var local_#4085_t : int; var local_#4086_ref : int; var local_#10650 : int; var local_#10651 : int; var local_#10652 : int; var local_#10653 : int; var local_#10654 : int; var local_#10655 : int; var local_#10656 : int; var local_#10657 : int; local_#4084_L := local_#4084_L_IN; local_#4085_t := local_#4085_t_IN; local_#4086_ref := local_#4086_ref_IN; goto CFG_36362; CFG_36362: assume true; goto CFG_49310; CFG_49310: assume true; local_#10650 := 0; local_#10651 := (if local_#4086_ref >= local_#10650 then 1 else 0); if (local_#10651 != 0) { goto CFG_45733; } else { goto CFG_39150; } CFG_45733: assume true; call local_#10652 := routine_#33916_lua_absindex(local_#4084_L,local_#4085_t); goto CFG_42298; CFG_42298: assume true; local_#4085_t := local_#10652; local_#10653 := 0; goto CFG_45734; CFG_45734: assume true; call local_#10654 := routine_#33971_lua_rawgeti(local_#4084_L,local_#4085_t,local_#10653); goto CFG_42299; CFG_42299: assume true; local_#10655 := local_#4086_ref; assert { :LIR "62358" } { :check "overflow" } { :finding_ids "0" } local_#10655 <= 9223372036854775807; goto CFG_45735; CFG_45735: assume true; call routine_#33975_lua_rawseti(local_#4084_L,local_#4085_t,local_#10655); goto CFG_42300; CFG_42300: assume true; local_#10656 := local_#4086_ref; assert { :LIR "62359" } { :check "overflow" } { :finding_ids "0" } local_#10656 <= 9223372036854775807; goto CFG_45736; CFG_45736: assume true; call routine_#33960_lua_pushinteger(local_#4084_L,local_#10656); goto CFG_42301; CFG_42301: assume true; local_#10657 := 0; goto CFG_45737; CFG_45737: assume true; call routine_#33975_lua_rawseti(local_#4084_L,local_#4085_t,local_#10657); goto CFG_39988; CFG_39988: assume true; goto CFG_39150; CFG_39150: assume true; goto CFG_37273; CFG_37273: assume true; } procedure routine_#33855_luaL_where(local_#4087_L_IN : { base : int, offset : int }, local_#4088_level_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4087_L : { base : int, offset : int }; var local_#4088_level : int; var local_#31374_ar : { base : int, offset : int }; var local_#10658 : { base : int, offset : int }; var local_#10659 : int; var local_#10660 : int; var local_#10661 : { base : int, offset : int }; var local_#10662 : { base : int, offset : int }; var local_#10663 : { base : int, offset : int }; var local_#10664 : int; var local_#10665 : int; var local_#10666 : int; var local_#10667 : { base : int, offset : int }; var local_#10668 : { base : int, offset : int }; var local_#10669 : { base : int, offset : int }; var local_#10670 : { base : int, offset : int }; var local_#10671 : { base : int, offset : int }; var local_#10672 : { base : int, offset : int }; var local_#10673 : { base : int, offset : int }; var local_#10674 : int; var local_#10675 : { base : int, offset : int }; local_#4087_L := local_#4087_L_IN; local_#4088_level := local_#4088_level_IN; goto CFG_36363; CFG_36363: assume true; goto CFG_42302; CFG_42302: assume true; local_#10658 := local_#31374_ar; goto CFG_45738; CFG_45738: assume true; call local_#10659 := routine_#33939_lua_getstack(local_#4087_L,local_#4088_level,local_#10658); goto CFG_49311; CFG_49311: assume true; local_#10660 := local_#10659; if (local_#10660 != 0) { goto CFG_42303; } else { goto CFG_42304; } CFG_42303: assume true; assume _memory[{ base : strlit_#70351!base, offset : strlit_#70351!offset + 0 }] == 83 && _memory[{ base : strlit_#70351!base, offset : strlit_#70351!offset + 1 }] == 108 && _memory[{ base : strlit_#70351!base, offset : strlit_#70351!offset + 2 }] == 0; local_#10661 := strlit_#70351; local_#10662 := { base : local_#10661!base, offset : local_#10661!offset + 0 * 1 }; assert { :LIR "62360" } { :check "overflow" } { :finding_ids "0" } true; local_#10663 := local_#31374_ar; goto CFG_45739; CFG_45739: assume true; call local_#10664 := routine_#33936_lua_getinfo(local_#4087_L,local_#10662,local_#10663); goto CFG_49312; CFG_49312: assume true; local_#10665 := 0; local_#10666 := (if _memory[{ base : local_#31374_ar!base, offset : local_#31374_ar!offset + 40 }] > local_#10665 then 1 else 0); if (local_#10666 != 0) { goto CFG_42305; } else { goto CFG_39989; } CFG_39989: assume true; goto CFG_42304; CFG_42304: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#10667 := strlit_#70352; local_#10668 := { base : local_#10667!base, offset : local_#10667!offset + 0 * 1 }; assert { :LIR "62361" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45740; CFG_45740: assume true; call local_#10669 := routine_#33959_lua_pushfstring(local_#4087_L,local_#10668,{ base : 0, offset : 0 }); goto CFG_39151; CFG_39151: assume true; goto CFG_37274; CFG_42305: assume true; assume _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 0 }] == 37 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 1 }] == 115 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 2 }] == 58 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 3 }] == 37 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 4 }] == 100 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 5 }] == 58 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 6 }] == 32 && _memory[{ base : strlit_#70353!base, offset : strlit_#70353!offset + 7 }] == 0; local_#10670 := strlit_#70353; local_#10671 := { base : local_#10670!base, offset : local_#10670!offset + 0 * 1 }; assert { :LIR "62362" } { :check "overflow" } { :finding_ids "0" } true; local_#10672 := { base : local_#31374_ar!base, offset : local_#31374_ar!offset + 56 }; local_#10673 := { base : local_#10672!base, offset : local_#10672!offset + 0 * 1 }; local_#10674 := _memory[{ base : local_#31374_ar!base, offset : local_#31374_ar!offset + 40 }]; goto CFG_45741; CFG_45741: assume true; call local_#10675 := routine_#33959_lua_pushfstring(local_#4087_L,local_#10671,{ base : 0, offset : 0 }); goto CFG_39152; CFG_39152: assume true; goto CFG_37274; CFG_37274: assume true; } procedure routine_#33856_luaM_growaux_(local_#4089_L_IN : { base : int, offset : int }, local_#4090_block_IN : { base : int, offset : int }, local_#4091_size_IN : { base : int, offset : int }, local_#4092_size_elems_IN : int, local_#4093_limit_IN : int, local_#4094_what_IN : { base : int, offset : int }) returns (local_#7816 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4089_L : { base : int, offset : int }; var local_#4090_block : { base : int, offset : int }; var local_#4091_size : { base : int, offset : int }; var local_#4092_size_elems : int; var local_#4093_limit : int; var local_#4094_what : { base : int, offset : int }; var local_#10676 : int; var local_#10677 : int; var local_#10678 : int; var local_#10679 : int; var local_#10680 : int; var local_#31376_newsize : int; var local_#10681 : int; var local_#10682 : int; var local_#10683 : int; var local_#10684 : int; var local_#10685 : int; var local_#10686 : int; var local_#10687 : int; var local_#10688 : int; var local_#10689 : int; var local_#10690 : int; var local_#10691 : int; var local_#10692 : int; var local_#10693 : int; var local_#10694 : int; var local_#10695 : int; var local_#10696 : int; var local_#10697 : { base : int, offset : int }; var local_#31375_newblock : { base : int, offset : int }; var local_#10698 : { base : int, offset : int }; var local_#10699 : { base : int, offset : int }; local_#4089_L := local_#4089_L_IN; local_#4090_block := local_#4090_block_IN; local_#4091_size := local_#4091_size_IN; local_#4092_size_elems := local_#4092_size_elems_IN; local_#4093_limit := local_#4093_limit_IN; local_#4094_what := local_#4094_what_IN; goto CFG_36364; CFG_36364: assume true; goto CFG_49313; CFG_49313: assume true; local_#10676 := 2; local_#10677 := local_#4093_limit / local_#10676; assert { :LIR "68633" } { :check "overflow" } { :finding_ids "0" } local_#10677 <= 2147483647; local_#10678 := (if _memory[local_#4091_size] >= local_#10677 then 1 else 0); if (local_#10678 != 0) { goto CFG_49315; } else { goto CFG_49314; } CFG_49314: assume true; local_#10679 := 2; local_#10680 := _memory[local_#4091_size] * local_#10679; assert { :LIR "68515" } { :check "overflow" } { :finding_ids "0" } local_#10680 <= 2147483647; local_#31376_newsize := local_#10680; local_#10681 := 4; local_#10682 := (if local_#31376_newsize < local_#10681 then 1 else 0); if (local_#10682 != 0) { goto CFG_39990; } else { goto CFG_39991; } CFG_39990: assume true; local_#31376_newsize := 4; goto CFG_39991; CFG_39991: assume true; goto CFG_49316; CFG_49315: assume true; local_#10683 := (if _memory[local_#4091_size] >= local_#4093_limit then 1 else 0); if (local_#10683 != 0) { goto CFG_42307; } else { goto CFG_39992; } CFG_39992: assume true; local_#31376_newsize := local_#4093_limit; goto CFG_49316; CFG_49316: assume true; local_#10684 := 0; if (local_#10684 != 0) { goto CFG_49317; } else { goto CFG_39993; } CFG_49317: assume true; local_#10685 := ~uwrap64(local_#31376_newsize); assert { :LIR "60319" } { :check "overflow" } { :finding_ids "0" } true; local_#10686 := 1; assume { :symbol "~uwrap64" } true; local_#10687 := ~uwrap64(local_#10685 + local_#10686); assert { :LIR "66417" } { :check "overflow" } { :finding_ids "0" } true; local_#10688 := 18446744073709551615; local_#10689 := local_#10688 / local_#4092_size_elems; assert { :LIR "68634" } { :check "overflow" } { :finding_ids "0" } true; local_#10690 := (if local_#10687 > local_#10689 then 1 else 0); if (local_#10690 != 0) { goto CFG_45743; } else { goto CFG_39993; } CFG_39993: assume true; local_#10691 := 0; local_#10692 := 0; assert { :LIR "60320" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42306; CFG_42306: assume true; local_#10693 := ~uwrap64(_memory[local_#4091_size]); assert { :LIR "62363" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#10694 := ~uwrap64(local_#10693 * local_#4092_size_elems); assert { :LIR "68516" } { :check "overflow" } { :finding_ids "0" } true; local_#10695 := ~uwrap64(local_#31376_newsize); assert { :LIR "62364" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#10696 := ~uwrap64(local_#10695 * local_#4092_size_elems); assert { :LIR "68517" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45742; CFG_45742: assume true; call local_#10697 := routine_#33857_luaM_realloc_(local_#4089_L,local_#4090_block,local_#10694,local_#10696); goto CFG_38145; CFG_38145: assume true; local_#31375_newblock := local_#10697; _memory[local_#4091_size] := local_#31376_newsize; local_#7816 := local_#31375_newblock; goto CFG_37275; CFG_45743: assume true; call routine_#33858_luaM_toobig(local_#4089_L); CFG_42307: assume true; assume _memory[{ base : strlit_#70354!base, offset : strlit_#70354!offset + 25 }] == 0; local_#10698 := strlit_#70354; local_#10699 := { base : local_#10698!base, offset : local_#10698!offset + 0 * 1 }; assert { :LIR "62365" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45744; CFG_45744: assume true; call routine_#33762_luaG_runerror(local_#4089_L,local_#10699,{ base : 0, offset : 0 }); CFG_39994: assume true; goto CFG_42306; CFG_37275: assume true; } procedure routine_#33857_luaM_realloc_(local_#4095_L_IN : { base : int, offset : int }, local_#4096_block_IN : { base : int, offset : int }, local_#4097_osize_IN : int, local_#4098_nsize_IN : int) returns (local_#7817 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4095_L : { base : int, offset : int }; var local_#4096_block : { base : int, offset : int }; var local_#4097_osize : int; var local_#4098_nsize : int; var local_#31377_g : { base : int, offset : int }; var local_#10700 : { base : int, offset : int }; var local_#30617 : int; var local_#31379_realosize : int; var local_#10701 : int; var local_#10702 : int; var local_#10703 : { base : int, offset : int }; var local_#10704 : { base : int, offset : int }; var local_#10705 : { base : int, offset : int }; var local_#31378_newblock : { base : int, offset : int }; var local_#10706 : { base : int, offset : int }; var local_#10707 : int; var local_#10708 : int; var local_#10709 : int; var local_#10710 : int; var local_#10711 : int; var local_#10712 : { base : int, offset : int }; var local_#10713 : int; var local_#10714 : { base : int, offset : int }; var local_#10715 : { base : int, offset : int }; var local_#10716 : { base : int, offset : int }; var local_#10717 : { base : int, offset : int }; var local_#10718 : int; var local_#10719 : int; var local_#10720 : int; var local_#10721 : int; var local_#10722 : int; var local_#10723 : int; var local_#10724 : int; var local_#10725 : int; local_#4095_L := local_#4095_L_IN; local_#4096_block := local_#4096_block_IN; local_#4097_osize := local_#4097_osize_IN; local_#4098_nsize := local_#4098_nsize_IN; goto CFG_36365; CFG_36365: assume true; goto CFG_49318; CFG_49318: assume true; local_#31377_g := _memory_ptr[{ base : local_#4095_L!base, offset : local_#4095_L!offset + 24 }]; local_#10700 := local_#4096_block; if (local_#10700 != { base : 0, offset : 0 }) { goto CFG_39996; } else { goto CFG_39995; } CFG_39995: assume true; local_#30617 := 0; goto CFG_42308; CFG_39996: assume true; local_#30617 := local_#4097_osize; goto CFG_42308; CFG_42308: assume true; local_#31379_realosize := local_#30617; local_#10701 := 0; local_#10702 := 0; assert { :LIR "60321" } { :check "overflow" } { :finding_ids "0" } true; local_#10703 := _memory_ptr[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 0 }]; local_#10704 := _memory_ptr[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 8 }]; goto CFG_45745; CFG_45745: assume true; if (local_#10703 == fun_addr_#34841_l_alloc) { call local_#10705 := routine_#34841_l_alloc(local_#10704,local_#4096_block,local_#4097_osize,local_#4098_nsize); } else { assume false; } goto CFG_49319; CFG_49319: assume true; local_#31378_newblock := local_#10705; local_#10706 := { base : 0, offset : 0 }; local_#10707 := (if local_#31378_newblock == local_#10706 then 1 else 0); if (local_#10707 != 0) { goto CFG_49320; } else { goto CFG_38146; } CFG_49320: assume true; local_#10708 := 0; local_#10709 := (if local_#4098_nsize > local_#10708 then 1 else 0); if (local_#10709 != 0) { goto CFG_49321; } else { goto CFG_38146; } CFG_49321: assume true; local_#10710 := 0; local_#10711 := 0; assert { :LIR "60322" } { :check "overflow" } { :finding_ids "0" } true; local_#10712 := _memory_ptr[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 208 }]; if (local_#10712 != { base : 0, offset : 0 }) { goto CFG_42309; } else { goto CFG_49322; } CFG_42309: assume true; local_#10713 := 1; goto CFG_45746; CFG_45746: assume true; call routine_#33725_luaC_fullgc(local_#4095_L,local_#10713); goto CFG_42310; CFG_42310: assume true; local_#10714 := _memory_ptr[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 0 }]; local_#10715 := _memory_ptr[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 8 }]; goto CFG_45747; CFG_45747: assume true; if (local_#10714 == fun_addr_#34841_l_alloc) { call local_#10716 := routine_#34841_l_alloc(local_#10715,local_#4096_block,local_#4097_osize,local_#4098_nsize); } else { assume false; } goto CFG_39997; CFG_39997: assume true; local_#31378_newblock := local_#10716; goto CFG_49322; CFG_49322: assume true; local_#10717 := { base : 0, offset : 0 }; local_#10718 := (if local_#31378_newblock == local_#10717 then 1 else 0); if (local_#10718 != 0) { goto CFG_42311; } else { goto CFG_39998; } CFG_39998: assume true; goto CFG_38146; CFG_38146: assume true; local_#10719 := 0; local_#10720 := 0; assert { :LIR "60323" } { :check "overflow" } { :finding_ids "0" } true; local_#10721 := ~uwrap64(_memory[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 24 }]); assert { :LIR "62366" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#10722 := ~uwrap64(local_#10721 + local_#4098_nsize); assert { :LIR "66418" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#10723 := ~uwrap64(local_#10722 - local_#31379_realosize); assert { :LIR "67898" } { :check "overflow" } { :finding_ids "0" } true; local_#10724 := local_#10723; assert { :LIR "62367" } { :check "overflow" } { :finding_ids "0" } local_#10724 <= 9223372036854775807; _memory[{ base : local_#31377_g!base, offset : local_#31377_g!offset + 24 }] := local_#10724; local_#7817 := local_#31378_newblock; goto CFG_37276; CFG_42311: assume true; local_#10725 := 4; goto CFG_45748; CFG_45748: assume true; call routine_#33743_luaD_throw(local_#4095_L,local_#10725); CFG_37276: assume true; } procedure routine_#33858_luaM_toobig(local_#4099_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4099_L : { base : int, offset : int }; var local_#10726 : { base : int, offset : int }; var local_#10727 : { base : int, offset : int }; local_#4099_L := local_#4099_L_IN; goto CFG_36366; CFG_36366: assume true; goto CFG_42312; CFG_42312: assume true; assume _memory[{ base : strlit_#70355!base, offset : strlit_#70355!offset + 38 }] == 0; local_#10726 := strlit_#70355; local_#10727 := { base : local_#10726!base, offset : local_#10726!offset + 0 * 1 }; assert { :LIR "62368" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45749; CFG_45749: assume true; call routine_#33762_luaG_runerror(local_#4099_L,local_#10727,{ base : 0, offset : 0 }); CFG_39153: assume true; goto CFG_37277; CFG_37277: assume true; } procedure routine_#33859_luaO_arith(local_#4100_L_IN : { base : int, offset : int }, local_#4101_op_IN : int, local_#4102_p1_IN : { base : int, offset : int }, local_#4103_p2_IN : { base : int, offset : int }, local_#4104_res_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4100_L : { base : int, offset : int }; var local_#4101_op : int; var local_#4102_p1 : { base : int, offset : int }; var local_#4103_p2 : { base : int, offset : int }; var local_#4104_res : { base : int, offset : int }; var local_#10728 : int; var local_#10729 : int; var local_#10730 : int; var local_#10731 : int; var local_#10732 : int; var local_#10733 : int; var local_#10734 : int; var local_#31386_n1 : { base : int, offset : int }; var local_#10735 : { base : int, offset : int }; var local_#10736 : int; var local_#10737 : int; var local_#10738 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#10739 : int; var local_#10740 : int; var local_#10741 : int; var local_#10742 : int; var local_#31387_n2 : { base : int, offset : int }; var local_#10743 : { base : int, offset : int }; var local_#10744 : int; var local_#10745 : int; var local_#10746 : { base : int, offset : int }; var nondet_#2 : int; var nondet_#3 : int; var local_#10747 : int; var local_#10748 : int; var local_#31389_io : { base : int, offset : int }; var local_#10749 : int; var nondet_#4 : int; var nondet_#5 : int; var local_#10750 : { base : int, offset : int }; var local_#31388_io : { base : int, offset : int }; var local_#10751 : { base : int, offset : int }; var local_#10752 : int; var local_#10753 : { base : int, offset : int }; var local_#10754 : int; var local_#10755 : int; var local_#10756 : { base : int, offset : int }; var local_#10757 : int; var local_#10758 : int; var local_#31383_n1 : { base : int, offset : int }; var local_#10759 : { base : int, offset : int }; var local_#10760 : int; var local_#10761 : int; var local_#10762 : { base : int, offset : int }; var nondet_#6 : int; var nondet_#7 : int; var local_#10763 : int; var local_#10764 : int; var local_#10765 : int; var local_#10766 : int; var local_#31384_n2 : { base : int, offset : int }; var local_#10767 : { base : int, offset : int }; var local_#10768 : int; var local_#10769 : int; var local_#10770 : { base : int, offset : int }; var nondet_#8 : int; var nondet_#9 : int; var local_#10771 : int; var local_#10772 : int; var local_#31385_io : { base : int, offset : int }; var local_#10773 : int; var nondet_#10 : int; var nondet_#11 : int; var local_#10774 : { base : int, offset : int }; var local_#10775 : int; var local_#10776 : int; var local_#31380_i1 : { base : int, offset : int }; var local_#10777 : { base : int, offset : int }; var local_#10778 : int; var local_#10779 : int; var local_#10780 : int; var local_#10781 : { base : int, offset : int }; var local_#10782 : int; var local_#10783 : int; var local_#10784 : int; var local_#10785 : int; var local_#31381_i2 : { base : int, offset : int }; var local_#10786 : { base : int, offset : int }; var local_#10787 : int; var local_#10788 : int; var local_#10789 : int; var local_#10790 : { base : int, offset : int }; var local_#10791 : int; var local_#10792 : int; var local_#10793 : int; var local_#10794 : int; var local_#10795 : int; var local_#10796 : int; var local_#10797 : int; var local_#10798 : int; var local_#10799 : int; var local_#31382_io : { base : int, offset : int }; var local_#10800 : int; var local_#10801 : { base : int, offset : int }; local_#4100_L := local_#4100_L_IN; local_#4101_op := local_#4101_op_IN; local_#4102_p1 := local_#4102_p1_IN; local_#4103_p2 := local_#4103_p2_IN; local_#4104_res := local_#4104_res_IN; goto CFG_36367; CFG_36367: assume true; goto CFG_51511; CFG_51511: assume true; local_#10728 := local_#4101_op; if (local_#10728 == 7) { goto CFG_49337; } if (local_#10728 == 8) { goto CFG_49337; } if (local_#10728 == 9) { goto CFG_49337; } if (local_#10728 == 10) { goto CFG_49337; } if (local_#10728 == 11) { goto CFG_49337; } if (local_#10728 == 13) { goto CFG_49337; } if (local_#10728 == 5) { goto CFG_49331; } if (local_#10728 == 4) { goto CFG_49331; } goto CFG_49323; CFG_49323: assume true; local_#10729 := 19; local_#10730 := (if _memory[{ base : local_#4102_p1!base, offset : local_#4102_p1!offset + 8 }] == local_#10729 then 1 else 0); if (local_#10730 != 0) { goto CFG_49324; } else { goto CFG_49325; } CFG_49324: assume true; local_#10731 := 19; local_#10732 := (if _memory[{ base : local_#4103_p2!base, offset : local_#4103_p2!offset + 8 }] == local_#10731 then 1 else 0); if (local_#10732 != 0) { goto CFG_42316; } else { goto CFG_49325; } CFG_49325: assume true; local_#10733 := 3; local_#10734 := (if _memory[{ base : local_#4102_p1!base, offset : local_#4102_p1!offset + 8 }] == local_#10733 then 1 else 0); if (local_#10734 != 0) { goto CFG_49327; } else { goto CFG_42313; } CFG_42313: assume true; local_#10735 := local_#31386_n1; goto CFG_45750; CFG_45750: assume true; call local_#10736 := routine_#33904_luaV_tonumber_(local_#4102_p1,local_#10735); goto CFG_49326; CFG_49326: assume true; local_#10737 := local_#10736; if (local_#10737 != 0) { goto CFG_49328; } else { goto CFG_39493; } CFG_49327: assume true; local_#10738 := { base : local_#4102_p1!base, offset : local_#4102_p1!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#10739 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#10740 := 1; if (local_#10740 != 0) { goto CFG_49328; } else { goto CFG_39493; } CFG_49328: assume true; local_#10741 := 3; local_#10742 := (if _memory[{ base : local_#4103_p2!base, offset : local_#4103_p2!offset + 8 }] == local_#10741 then 1 else 0); if (local_#10742 != 0) { goto CFG_49330; } else { goto CFG_42314; } CFG_42314: assume true; local_#10743 := local_#31387_n2; goto CFG_45751; CFG_45751: assume true; call local_#10744 := routine_#33904_luaV_tonumber_(local_#4103_p2,local_#10743); goto CFG_49329; CFG_49329: assume true; local_#10745 := local_#10744; if (local_#10745 != 0) { goto CFG_42315; } else { goto CFG_39493; } CFG_49330: assume true; local_#10746 := { base : local_#4103_p2!base, offset : local_#4103_p2!offset + 0 }; havoc nondet_#2; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#3; local_#10747 := nondet_#3 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#10748 := 1; if (local_#10748 != 0) { goto CFG_42315; } else { goto CFG_39493; } CFG_39493: assume true; goto CFG_42322; CFG_42315: assume true; local_#31389_io := local_#4104_res; goto CFG_45752; CFG_45752: assume true; havoc nondet_#4; havoc nondet_#5; call local_#10749 := routine_#34967_numarith(local_#4100_L,local_#4101_op,nondet_#4 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */,nondet_#5 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */); goto CFG_39154; CFG_39154: assume true; local_#10750 := { base : local_#31389_io!base, offset : local_#31389_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31389_io!base, offset : local_#31389_io!offset + 8 }] := 3; goto CFG_37278; CFG_42316: assume true; local_#31388_io := local_#4104_res; local_#10751 := { base : local_#4102_p1!base, offset : local_#4102_p1!offset + 0 }; local_#10752 := _memory[local_#10751]; local_#10753 := { base : local_#4103_p2!base, offset : local_#4103_p2!offset + 0 }; local_#10754 := _memory[local_#10753]; goto CFG_45753; CFG_45753: assume true; call local_#10755 := routine_#34815_intarith(local_#4100_L,local_#4101_op,local_#10752,local_#10754); goto CFG_39155; CFG_39155: assume true; local_#10756 := { base : local_#31388_io!base, offset : local_#31388_io!offset + 0 }; _memory[local_#10756] := local_#10755; _memory[{ base : local_#31388_io!base, offset : local_#31388_io!offset + 8 }] := 19; goto CFG_37278; CFG_49331: assume true; local_#10757 := 3; local_#10758 := (if _memory[{ base : local_#4102_p1!base, offset : local_#4102_p1!offset + 8 }] == local_#10757 then 1 else 0); if (local_#10758 != 0) { goto CFG_49333; } else { goto CFG_42317; } CFG_42317: assume true; local_#10759 := local_#31383_n1; goto CFG_45754; CFG_45754: assume true; call local_#10760 := routine_#33904_luaV_tonumber_(local_#4102_p1,local_#10759); goto CFG_49332; CFG_49332: assume true; local_#10761 := local_#10760; if (local_#10761 != 0) { goto CFG_49334; } else { goto CFG_39494; } CFG_49333: assume true; local_#10762 := { base : local_#4102_p1!base, offset : local_#4102_p1!offset + 0 }; havoc nondet_#6; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#7; local_#10763 := nondet_#7 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#10764 := 1; if (local_#10764 != 0) { goto CFG_49334; } else { goto CFG_39494; } CFG_49334: assume true; local_#10765 := 3; local_#10766 := (if _memory[{ base : local_#4103_p2!base, offset : local_#4103_p2!offset + 8 }] == local_#10765 then 1 else 0); if (local_#10766 != 0) { goto CFG_49336; } else { goto CFG_42318; } CFG_42318: assume true; local_#10767 := local_#31384_n2; goto CFG_45755; CFG_45755: assume true; call local_#10768 := routine_#33904_luaV_tonumber_(local_#4103_p2,local_#10767); goto CFG_49335; CFG_49335: assume true; local_#10769 := local_#10768; if (local_#10769 != 0) { goto CFG_42319; } else { goto CFG_39494; } CFG_49336: assume true; local_#10770 := { base : local_#4103_p2!base, offset : local_#4103_p2!offset + 0 }; havoc nondet_#8; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#9; local_#10771 := nondet_#9 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#10772 := 1; if (local_#10772 != 0) { goto CFG_42319; } else { goto CFG_39494; } CFG_39494: assume true; goto CFG_42322; CFG_42319: assume true; local_#31385_io := local_#4104_res; goto CFG_45756; CFG_45756: assume true; havoc nondet_#10; havoc nondet_#11; call local_#10773 := routine_#34967_numarith(local_#4100_L,local_#4101_op,nondet_#10 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */,nondet_#11 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */); goto CFG_39156; CFG_39156: assume true; local_#10774 := { base : local_#31385_io!base, offset : local_#31385_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31385_io!base, offset : local_#31385_io!offset + 8 }] := 3; goto CFG_37278; CFG_49337: assume true; local_#10775 := 19; local_#10776 := (if _memory[{ base : local_#4102_p1!base, offset : local_#4102_p1!offset + 8 }] == local_#10775 then 1 else 0); if (local_#10776 != 0) { goto CFG_49339; } else { goto CFG_42320; } CFG_42320: assume true; local_#10777 := local_#31380_i1; local_#10778 := 0; goto CFG_45757; CFG_45757: assume true; call local_#10779 := routine_#33903_luaV_tointeger(local_#4102_p1,local_#10777,local_#10778); goto CFG_49338; CFG_49338: assume true; local_#10780 := local_#10779; if (local_#10780 != 0) { goto CFG_49340; } else { goto CFG_39495; } CFG_49339: assume true; local_#10781 := { base : local_#4102_p1!base, offset : local_#4102_p1!offset + 0 }; _memory[local_#31380_i1] := _memory[local_#10781]; local_#10782 := _memory[local_#31380_i1]; local_#10783 := 1; if (local_#10783 != 0) { goto CFG_49340; } else { goto CFG_39495; } CFG_49340: assume true; local_#10784 := 19; local_#10785 := (if _memory[{ base : local_#4103_p2!base, offset : local_#4103_p2!offset + 8 }] == local_#10784 then 1 else 0); if (local_#10785 != 0) { goto CFG_49342; } else { goto CFG_42321; } CFG_42321: assume true; local_#10786 := local_#31381_i2; local_#10787 := 0; goto CFG_45758; CFG_45758: assume true; call local_#10788 := routine_#33903_luaV_tointeger(local_#4103_p2,local_#10786,local_#10787); goto CFG_49341; CFG_49341: assume true; local_#10789 := local_#10788; if (local_#10789 != 0) { goto CFG_42323; } else { goto CFG_39495; } CFG_49342: assume true; local_#10790 := { base : local_#4103_p2!base, offset : local_#4103_p2!offset + 0 }; _memory[local_#31381_i2] := _memory[local_#10790]; local_#10791 := _memory[local_#31381_i2]; local_#10792 := 1; if (local_#10792 != 0) { goto CFG_42323; } else { goto CFG_39495; } CFG_39495: assume true; goto CFG_42322; CFG_42322: assume true; local_#10793 := 0; local_#10794 := 0; assert { :LIR "60324" } { :check "overflow" } { :finding_ids "0" } true; local_#10795 := 0; local_#10796 := local_#4101_op - local_#10795; assert { :LIR "67899" } { :check "overflow" } { :finding_ids "0" } local_#10796 <= 2147483647; local_#10797 := 6; local_#10798 := local_#10796 + local_#10797; assert { :LIR "66419" } { :check "overflow" } { :finding_ids "0" } local_#10798 <= 2147483647; local_#10799 := local_#10798; assert { :LIR "60325" } { :check "overflow" } { :finding_ids "0" } local_#10799 <= 24; goto CFG_45759; CFG_45759: assume true; call routine_#33888_luaT_trybinTM(local_#4100_L,local_#4102_p1,local_#4103_p2,local_#4104_res,local_#10799); goto CFG_39157; CFG_39157: assume true; goto CFG_37278; CFG_42323: assume true; local_#31382_io := local_#4104_res; goto CFG_45760; CFG_45760: assume true; call local_#10800 := routine_#34815_intarith(local_#4100_L,local_#4101_op,_memory[local_#31380_i1],_memory[local_#31381_i2]); goto CFG_39158; CFG_39158: assume true; local_#10801 := { base : local_#31382_io!base, offset : local_#31382_io!offset + 0 }; _memory[local_#10801] := local_#10800; _memory[{ base : local_#31382_io!base, offset : local_#31382_io!offset + 8 }] := 19; goto CFG_37278; CFG_41909: assume true; goto CFG_42322; CFG_37278: assume true; } procedure routine_#33860_luaO_ceillog2(local_#4105_x_IN : int) returns (local_#7818 : int) { var local_#4105_x : int; var local_#31390_l : int; var local_#10802 : int; var local_#10803 : int; var local_#10804 : int; var local_#10805 : int; var local_#10806 : int; var local_#10807 : int; var local_#10808 : int; var local_#10809 : int; var local_#10810 : int; local_#4105_x := local_#4105_x_IN; goto CFG_36368; CFG_36368: assume true; goto CFG_41643; CFG_41643: assume true; local_#31390_l := 0; local_#10802 := local_#4105_x; local_#10803 := 1; assume { :symbol "~uwrap32" } true; local_#4105_x := ~uwrap32(local_#10802 - local_#10803); assert { :LIR "67900" } { :check "overflow" } { :finding_ids "0" } true; local_#10804 := local_#10802; goto CFG_49343; CFG_49343: assume true; local_#10805 := 256; local_#10806 := (if local_#4105_x >= local_#10805 then 1 else 0); if (local_#10806 != 0) { goto CFG_44984; } else { goto CFG_38147; } CFG_38147: assume true; local_#10807 := _memory[{ base : global_#31157_log_2!base, offset : global_#31157_log_2!offset + local_#4105_x * 1 }]; assert { :LIR "62369" } { :check "overflow" } { :finding_ids "0" } local_#10807 <= 2147483647; local_#10808 := local_#31390_l + local_#10807; assert { :LIR "66420" } { :check "overflow" } { :finding_ids "0" } local_#10808 <= 2147483647; local_#7818 := local_#10808; goto CFG_37279; CFG_44984: assume true; local_#10809 := 8; local_#31390_l := local_#31390_l + local_#10809; assert { :LIR "66421" } { :check "overflow" } { :finding_ids "0" } local_#31390_l <= 2147483647; local_#10810 := 8; local_#4105_x := ~lshr32(local_#4105_x, local_#10810); goto CFG_49343; CFG_37279: assume true; } procedure routine_#33861_luaO_chunkid(local_#4106_out_IN : { base : int, offset : int }, local_#4107_source_IN : { base : int, offset : int }, local_#4108_bufflen_IN : int) returns () modifies _memory; { var local_#4106_out : { base : int, offset : int }; var local_#4107_source : { base : int, offset : int }; var local_#4108_bufflen : int; var local_#10811 : int; var local_#31391_l : int; var local_#10812 : int; var local_#10813 : int; var local_#10814 : int; var local_#10815 : int; var local_#10816 : int; var local_#10817 : int; var local_#10818 : int; var local_#10819 : { base : int, offset : int }; var local_#10820 : { base : int, offset : int }; var local_#31392_nl : { base : int, offset : int }; var local_#10821 : { base : int, offset : int }; var local_#10822 : { base : int, offset : int }; var local_#10823 : { base : int, offset : int }; var local_#10824 : int; var local_#10825 : { base : int, offset : int }; var local_#10826 : int; var local_#10827 : { base : int, offset : int }; var local_#10828 : { base : int, offset : int }; var local_#10829 : int; var local_#10830 : int; var local_#10831 : { base : int, offset : int }; var local_#10832 : int; var local_#10833 : { base : int, offset : int }; var local_#10834 : int; var local_#10835 : int; var local_#10836 : int; var local_#10837 : int; var local_#10838 : { base : int, offset : int }; var local_#10839 : { base : int, offset : int }; var local_#10840 : int; var local_#10841 : int; var local_#10842 : { base : int, offset : int }; var local_#10843 : { base : int, offset : int }; var local_#10844 : { base : int, offset : int }; var local_#10845 : { base : int, offset : int }; var local_#10846 : { base : int, offset : int }; var local_#10847 : { base : int, offset : int }; var local_#10848 : int; var local_#10849 : { base : int, offset : int }; var local_#10850 : int; var local_#10851 : { base : int, offset : int }; var local_#10852 : { base : int, offset : int }; var local_#10853 : { base : int, offset : int }; var local_#10854 : { base : int, offset : int }; var local_#10855 : int; var local_#10856 : int; var local_#10857 : { base : int, offset : int }; var local_#10858 : { base : int, offset : int }; var local_#10859 : { base : int, offset : int }; var local_#10860 : { base : int, offset : int }; var local_#10861 : { base : int, offset : int }; var local_#10862 : { base : int, offset : int }; var local_#10863 : int; var local_#10864 : { base : int, offset : int }; var local_#10865 : int; var local_#10866 : { base : int, offset : int }; var local_#10867 : { base : int, offset : int }; var local_#10868 : { base : int, offset : int }; var local_#10869 : int; var local_#10870 : { base : int, offset : int }; var local_#10871 : int; var local_#10872 : { base : int, offset : int }; var local_#10873 : { base : int, offset : int }; var local_#10874 : int; var local_#10875 : { base : int, offset : int }; var local_#10876 : int; var local_#10877 : { base : int, offset : int }; var local_#10878 : { base : int, offset : int }; var local_#10879 : { base : int, offset : int }; var local_#10880 : { base : int, offset : int }; var local_#10881 : int; var local_#10882 : int; var local_#10883 : { base : int, offset : int }; var local_#10884 : { base : int, offset : int }; var local_#10885 : int; var local_#10886 : { base : int, offset : int }; var local_#10887 : { base : int, offset : int }; var local_#10888 : int; var local_#10889 : int; var local_#10890 : { base : int, offset : int }; var local_#10891 : int; var local_#10892 : { base : int, offset : int }; var local_#10893 : int; var local_#10894 : { base : int, offset : int }; var local_#10895 : { base : int, offset : int }; var local_#10896 : int; var local_#10897 : int; var local_#10898 : int; var local_#10899 : int; var local_#10900 : { base : int, offset : int }; var local_#10901 : int; var local_#10902 : int; var local_#10903 : { base : int, offset : int }; var local_#10904 : { base : int, offset : int }; var local_#10905 : { base : int, offset : int }; var local_#10906 : int; var local_#10907 : { base : int, offset : int }; var local_#10908 : { base : int, offset : int }; var local_#10909 : int; var local_#10910 : int; var local_#10911 : { base : int, offset : int }; local_#4106_out := local_#4106_out_IN; local_#4107_source := local_#4107_source_IN; local_#4108_bufflen := local_#4108_bufflen_IN; goto CFG_36369; CFG_36369: assume true; goto CFG_45761; CFG_45761: assume true; call local_#10811 := routine_#34454_strlen(local_#4107_source); goto CFG_49344; CFG_49344: assume true; local_#31391_l := local_#10811; local_#10812 := _memory[local_#4107_source]; assert { :LIR "62370" } { :check "overflow" } { :finding_ids "0" } local_#10812 <= 2147483647; local_#10813 := 61; local_#10814 := (if local_#10812 == local_#10813 then 1 else 0); if (local_#10814 != 0) { goto CFG_49351; } else { goto CFG_49345; } CFG_49345: assume true; local_#10815 := _memory[local_#4107_source]; assert { :LIR "62371" } { :check "overflow" } { :finding_ids "0" } local_#10815 <= 2147483647; local_#10816 := 64; local_#10817 := (if local_#10815 == local_#10816 then 1 else 0); if (local_#10817 != 0) { goto CFG_49350; } else { goto CFG_42324; } CFG_42324: assume true; local_#10818 := 10; goto CFG_45762; CFG_45762: assume true; call local_#10819 := routine_#34445_strchr(local_#4107_source,local_#10818); goto CFG_42325; CFG_42325: assume true; local_#10820 := local_#10819; assert { :LIR "62372" } { :check "overflow" } { :finding_ids "0" } true; local_#31392_nl := local_#10820; local_#10821 := local_#4106_out; assert { :LIR "62373" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 0 }] == 91 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 1 }] == 115 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 2 }] == 116 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 3 }] == 114 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 4 }] == 105 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 5 }] == 110 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 6 }] == 103 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 7 }] == 32 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 8 }] == 34 && _memory[{ base : strlit_#70356!base, offset : strlit_#70356!offset + 9 }] == 0; local_#10822 := strlit_#70356; local_#10823 := { base : local_#10822!base, offset : local_#10822!offset + 0 * 1 }; assert { :LIR "62374" } { :check "overflow" } { :finding_ids "0" } true; local_#10824 := 9; goto CFG_45763; CFG_45763: assume true; call local_#10825 := routine_#34026_memcpy(local_#10821,local_#10823,local_#10824); goto CFG_49346; CFG_49346: assume true; local_#10826 := 9; local_#4106_out := { base : local_#4106_out!base, offset : local_#4106_out!offset + local_#10826 * 1 }; local_#10827 := local_#4106_out; local_#10828 := local_#10827; local_#10829 := 15; assume { :symbol "~uwrap64" } true; local_#4108_bufflen := ~uwrap64(local_#4108_bufflen - local_#10829); assert { :LIR "67901" } { :check "overflow" } { :finding_ids "0" } true; local_#10830 := (if local_#31391_l < local_#4108_bufflen then 1 else 0); if (local_#10830 != 0) { goto CFG_49347; } else { goto CFG_49348; } CFG_49347: assume true; local_#10831 := { base : 0, offset : 0 }; local_#10832 := (if local_#31392_nl == local_#10831 then 1 else 0); if (local_#10832 != 0) { goto CFG_42328; } else { goto CFG_49348; } CFG_49348: assume true; local_#10833 := { base : 0, offset : 0 }; local_#10834 := (if local_#31392_nl != local_#10833 then 1 else 0); if (local_#10834 != 0) { goto CFG_39999; } else { goto CFG_49349; } CFG_39999: assume true; local_#10835 := (local_#31392_nl!offset - local_#4107_source!offset) / 1; local_#10836 := ~uwrap64(local_#10835); assert { :LIR "62375" } { :check "overflow" } { :finding_ids "0" } true; local_#31391_l := local_#10836; goto CFG_49349; CFG_49349: assume true; local_#10837 := (if local_#31391_l > local_#4108_bufflen then 1 else 0); if (local_#10837 != 0) { goto CFG_40000; } else { goto CFG_42326; } CFG_40000: assume true; local_#31391_l := local_#4108_bufflen; goto CFG_42326; CFG_42326: assume true; local_#10838 := local_#4106_out; assert { :LIR "62376" } { :check "overflow" } { :finding_ids "0" } true; local_#10839 := local_#4107_source; assert { :LIR "62377" } { :check "overflow" } { :finding_ids "0" } true; local_#10840 := 1; assume { :symbol "~uwrap64" } true; local_#10841 := ~uwrap64(local_#31391_l * local_#10840); assert { :LIR "68518" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45764; CFG_45764: assume true; call local_#10842 := routine_#34026_memcpy(local_#10838,local_#10839,local_#10841); goto CFG_42327; CFG_42327: assume true; local_#4106_out := { base : local_#4106_out!base, offset : local_#4106_out!offset + local_#31391_l * 1 }; local_#10843 := local_#4106_out; local_#10844 := local_#10843; local_#10845 := local_#4106_out; assert { :LIR "62378" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 0 }] == 46 && _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 1 }] == 46 && _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 2 }] == 46 && _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 3 }] == 0; local_#10846 := strlit_#70357; local_#10847 := { base : local_#10846!base, offset : local_#10846!offset + 0 * 1 }; assert { :LIR "62379" } { :check "overflow" } { :finding_ids "0" } true; local_#10848 := 3; goto CFG_45765; CFG_45765: assume true; call local_#10849 := routine_#34026_memcpy(local_#10845,local_#10847,local_#10848); goto CFG_40001; CFG_40001: assume true; local_#10850 := 3; local_#4106_out := { base : local_#4106_out!base, offset : local_#4106_out!offset + local_#10850 * 1 }; local_#10851 := local_#4106_out; local_#10852 := local_#10851; goto CFG_42329; CFG_42328: assume true; local_#10853 := local_#4106_out; assert { :LIR "62380" } { :check "overflow" } { :finding_ids "0" } true; local_#10854 := local_#4107_source; assert { :LIR "62381" } { :check "overflow" } { :finding_ids "0" } true; local_#10855 := 1; assume { :symbol "~uwrap64" } true; local_#10856 := ~uwrap64(local_#31391_l * local_#10855); assert { :LIR "68519" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45766; CFG_45766: assume true; call local_#10857 := routine_#34026_memcpy(local_#10853,local_#10854,local_#10856); goto CFG_40002; CFG_40002: assume true; local_#4106_out := { base : local_#4106_out!base, offset : local_#4106_out!offset + local_#31391_l * 1 }; local_#10858 := local_#4106_out; local_#10859 := local_#10858; goto CFG_42329; CFG_42329: assume true; local_#10860 := local_#4106_out; assert { :LIR "62382" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70358!base, offset : strlit_#70358!offset + 0 }] == 34 && _memory[{ base : strlit_#70358!base, offset : strlit_#70358!offset + 1 }] == 93 && _memory[{ base : strlit_#70358!base, offset : strlit_#70358!offset + 2 }] == 0; local_#10861 := strlit_#70358; local_#10862 := { base : local_#10861!base, offset : local_#10861!offset + 0 * 1 }; assert { :LIR "62383" } { :check "overflow" } { :finding_ids "0" } true; local_#10863 := 3; goto CFG_45767; CFG_45767: assume true; call local_#10864 := routine_#34026_memcpy(local_#10860,local_#10862,local_#10863); goto CFG_40003; CFG_40003: assume true; goto CFG_40007; CFG_49350: assume true; local_#10865 := (if local_#31391_l <= local_#4108_bufflen then 1 else 0); if (local_#10865 != 0) { goto CFG_42332; } else { goto CFG_42330; } CFG_42330: assume true; local_#10866 := local_#4106_out; assert { :LIR "62384" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 0 }] == 46 && _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 1 }] == 46 && _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 2 }] == 46 && _memory[{ base : strlit_#70357!base, offset : strlit_#70357!offset + 3 }] == 0; local_#10867 := strlit_#70357; local_#10868 := { base : local_#10867!base, offset : local_#10867!offset + 0 * 1 }; assert { :LIR "62385" } { :check "overflow" } { :finding_ids "0" } true; local_#10869 := 3; goto CFG_45768; CFG_45768: assume true; call local_#10870 := routine_#34026_memcpy(local_#10866,local_#10868,local_#10869); goto CFG_42331; CFG_42331: assume true; local_#10871 := 3; local_#4106_out := { base : local_#4106_out!base, offset : local_#4106_out!offset + local_#10871 * 1 }; local_#10872 := local_#4106_out; local_#10873 := local_#10872; local_#10874 := 3; assume { :symbol "~uwrap64" } true; local_#4108_bufflen := ~uwrap64(local_#4108_bufflen - local_#10874); assert { :LIR "67902" } { :check "overflow" } { :finding_ids "0" } true; local_#10875 := local_#4106_out; assert { :LIR "62386" } { :check "overflow" } { :finding_ids "0" } true; local_#10876 := 1; local_#10877 := { base : local_#4107_source!base, offset : local_#4107_source!offset + local_#10876 * 1 }; local_#10878 := { base : local_#10877!base, offset : local_#10877!offset + local_#31391_l * 1 }; local_#10879 := { base : local_#10878!base, offset : local_#10878!offset - local_#4108_bufflen * 1 }; local_#10880 := local_#10879; assert { :LIR "62387" } { :check "overflow" } { :finding_ids "0" } true; local_#10881 := 1; assume { :symbol "~uwrap64" } true; local_#10882 := ~uwrap64(local_#4108_bufflen * local_#10881); assert { :LIR "68520" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45769; CFG_45769: assume true; call local_#10883 := routine_#34026_memcpy(local_#10875,local_#10880,local_#10882); goto CFG_40004; CFG_40004: assume true; goto CFG_40006; CFG_42332: assume true; local_#10884 := local_#4106_out; assert { :LIR "62388" } { :check "overflow" } { :finding_ids "0" } true; local_#10885 := 1; local_#10886 := { base : local_#4107_source!base, offset : local_#4107_source!offset + local_#10885 * 1 }; local_#10887 := local_#10886; assert { :LIR "62389" } { :check "overflow" } { :finding_ids "0" } true; local_#10888 := 1; assume { :symbol "~uwrap64" } true; local_#10889 := ~uwrap64(local_#31391_l * local_#10888); assert { :LIR "68521" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45770; CFG_45770: assume true; call local_#10890 := routine_#34026_memcpy(local_#10884,local_#10887,local_#10889); goto CFG_40005; CFG_40005: assume true; goto CFG_40006; CFG_40006: assume true; goto CFG_40007; CFG_40007: assume true; goto CFG_39159; CFG_49351: assume true; local_#10891 := (if local_#31391_l <= local_#4108_bufflen then 1 else 0); if (local_#10891 != 0) { goto CFG_42334; } else { goto CFG_42333; } CFG_42333: assume true; local_#10892 := local_#4106_out; assert { :LIR "62390" } { :check "overflow" } { :finding_ids "0" } true; local_#10893 := 1; local_#10894 := { base : local_#4107_source!base, offset : local_#4107_source!offset + local_#10893 * 1 }; local_#10895 := local_#10894; assert { :LIR "62391" } { :check "overflow" } { :finding_ids "0" } true; local_#10896 := 1; assume { :symbol "~uwrap64" } true; local_#10897 := ~uwrap64(local_#4108_bufflen - local_#10896); assert { :LIR "67903" } { :check "overflow" } { :finding_ids "0" } true; local_#10898 := 1; assume { :symbol "~uwrap64" } true; local_#10899 := ~uwrap64(local_#10897 * local_#10898); assert { :LIR "68522" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45771; CFG_45771: assume true; call local_#10900 := routine_#34026_memcpy(local_#10892,local_#10895,local_#10899); goto CFG_40008; CFG_40008: assume true; local_#10901 := 1; assume { :symbol "~uwrap64" } true; local_#10902 := ~uwrap64(local_#4108_bufflen - local_#10901); assert { :LIR "67904" } { :check "overflow" } { :finding_ids "0" } true; local_#4106_out := { base : local_#4106_out!base, offset : local_#4106_out!offset + local_#10902 * 1 }; local_#10903 := local_#4106_out; local_#10904 := local_#10903; _memory[local_#4106_out] := 0; goto CFG_40010; CFG_42334: assume true; local_#10905 := local_#4106_out; assert { :LIR "62392" } { :check "overflow" } { :finding_ids "0" } true; local_#10906 := 1; local_#10907 := { base : local_#4107_source!base, offset : local_#4107_source!offset + local_#10906 * 1 }; local_#10908 := local_#10907; assert { :LIR "62393" } { :check "overflow" } { :finding_ids "0" } true; local_#10909 := 1; assume { :symbol "~uwrap64" } true; local_#10910 := ~uwrap64(local_#31391_l * local_#10909); assert { :LIR "68523" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45772; CFG_45772: assume true; call local_#10911 := routine_#34026_memcpy(local_#10905,local_#10908,local_#10910); goto CFG_40009; CFG_40009: assume true; goto CFG_40010; CFG_40010: assume true; goto CFG_39159; CFG_39159: assume true; goto CFG_37280; CFG_37280: assume true; } procedure routine_#33862_luaO_fb2int(local_#4109_x_IN : int) returns (local_#7819 : int) { var local_#4109_x : int; var local_#10912 : int; var local_#10913 : int; var local_#10914 : int; var local_#10915 : int; var local_#10916 : int; var local_#10917 : int; var local_#10918 : int; var local_#10919 : int; var local_#10920 : int; var local_#10921 : int; var local_#10922 : int; var local_#30618 : int; local_#4109_x := local_#4109_x_IN; goto CFG_36370; CFG_36370: assume true; goto CFG_49352; CFG_49352: assume true; local_#10912 := 8; local_#10913 := (if local_#4109_x < local_#10912 then 1 else 0); if (local_#10913 != 0) { goto CFG_40012; } else { goto CFG_40011; } CFG_40011: assume true; local_#10914 := 7; local_#10915 := ~sand32(local_#4109_x, local_#10914); local_#10916 := 8; local_#10917 := local_#10915 + local_#10916; assert { :LIR "66422" } { :check "overflow" } { :finding_ids "0" } local_#10917 <= 2147483647; local_#10918 := 3; local_#10919 := ~ashr32(local_#4109_x, local_#10918); local_#10920 := 1; local_#10921 := local_#10919 - local_#10920; assert { :LIR "67905" } { :check "overflow" } { :finding_ids "0" } local_#10921 <= 2147483647; local_#10922 := ~shl32(local_#10917, local_#10921); local_#30618 := local_#10922; goto CFG_38148; CFG_40012: assume true; local_#30618 := local_#4109_x; goto CFG_38148; CFG_38148: assume true; local_#7819 := local_#30618; goto CFG_37281; CFG_37281: assume true; } procedure routine_#33863_luaO_hexavalue(local_#4110_c_IN : int) returns (local_#7820 : int) { var local_#4110_c : int; var local_#10923 : int; var local_#10924 : int; var local_#10925 : int; var local_#10926 : int; var local_#10927 : int; var local_#10928 : int; var local_#10929 : int; var local_#10930 : int; var local_#10931 : int; var local_#10932 : int; var local_#10933 : int; var local_#10934 : int; var local_#10935 : int; local_#4110_c := local_#4110_c_IN; goto CFG_36371; CFG_36371: assume true; goto CFG_49353; CFG_49353: assume true; local_#10923 := 1; local_#10924 := local_#4110_c + local_#10923; assert { :LIR "66423" } { :check "overflow" } { :finding_ids "0" } local_#10924 <= 2147483647; local_#10925 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#10924 * 1 }]; assert { :LIR "62394" } { :check "overflow" } { :finding_ids "0" } local_#10925 <= 2147483647; local_#10926 := 2; local_#10927 := ~sand32(local_#10925, local_#10926); if (local_#10927 != 0) { goto CFG_38150; } else { goto CFG_38149; } CFG_38149: assume true; local_#10928 := 32; local_#10929 := ~sor32(local_#4110_c, local_#10928); local_#10930 := 97; local_#10931 := local_#10929 - local_#10930; assert { :LIR "67906" } { :check "overflow" } { :finding_ids "0" } local_#10931 <= 2147483647; local_#10932 := 10; local_#10933 := local_#10931 + local_#10932; assert { :LIR "66424" } { :check "overflow" } { :finding_ids "0" } local_#10933 <= 2147483647; local_#7820 := local_#10933; goto CFG_37282; CFG_38150: assume true; local_#10934 := 48; local_#10935 := local_#4110_c - local_#10934; assert { :LIR "67907" } { :check "overflow" } { :finding_ids "0" } local_#10935 <= 2147483647; local_#7820 := local_#10935; goto CFG_37282; CFG_37282: assume true; } procedure routine_#33864_luaO_int2fb(local_#4111_x_IN : int) returns (local_#7821 : int) { var local_#4111_x : int; var local_#31393_e : int; var local_#10936 : int; var local_#10937 : int; var local_#10938 : int; var local_#10939 : int; var local_#10940 : int; var local_#10941 : int; var local_#10942 : int; var local_#10943 : int; var local_#10944 : int; var local_#10945 : int; var local_#10946 : int; var local_#10947 : int; var local_#10948 : int; var local_#10949 : int; var local_#10950 : int; var local_#10951 : int; var local_#10952 : int; var local_#10953 : int; var local_#10954 : int; var local_#10955 : int; var local_#10956 : int; var local_#10957 : int; var local_#10958 : int; var local_#10959 : int; var local_#10960 : int; var local_#10961 : int; var local_#10962 : int; local_#4111_x := local_#4111_x_IN; goto CFG_36372; CFG_36372: assume true; goto CFG_49354; CFG_49354: assume true; local_#31393_e := 0; local_#10936 := 8; local_#10937 := (if local_#4111_x < local_#10936 then 1 else 0); if (local_#10937 != 0) { goto CFG_38152; } else { goto CFG_41644; } CFG_41644: assume true; goto CFG_49355; CFG_49355: assume true; local_#10938 := 128; local_#10939 := (if local_#4111_x >= local_#10938 then 1 else 0); if (local_#10939 != 0) { goto CFG_44986; } else { goto CFG_41645; } CFG_41645: assume true; goto CFG_49356; CFG_49356: assume true; local_#10940 := 16; local_#10941 := (if local_#4111_x >= local_#10940 then 1 else 0); if (local_#10941 != 0) { goto CFG_44985; } else { goto CFG_38151; } CFG_38151: assume true; local_#10942 := 1; local_#10943 := local_#31393_e + local_#10942; assert { :LIR "66425" } { :check "overflow" } { :finding_ids "0" } local_#10943 <= 2147483647; local_#10944 := 3; local_#10945 := ~shl32(local_#10943, local_#10944); local_#10946 := local_#4111_x; assert { :LIR "60326" } { :check "overflow" } { :finding_ids "0" } local_#10946 <= 2147483647; local_#10947 := 8; local_#10948 := local_#10946 - local_#10947; assert { :LIR "67908" } { :check "overflow" } { :finding_ids "0" } local_#10948 <= 2147483647; local_#10949 := ~sor32(local_#10945, local_#10948); local_#7821 := local_#10949; goto CFG_37283; CFG_44985: assume true; local_#10950 := 1; assume { :symbol "~uwrap32" } true; local_#10951 := ~uwrap32(local_#4111_x + local_#10950); assert { :LIR "66426" } { :check "overflow" } { :finding_ids "0" } true; local_#10952 := 1; local_#10953 := ~lshr32(local_#10951, local_#10952); local_#4111_x := local_#10953; local_#10954 := local_#31393_e; local_#10955 := 1; local_#31393_e := local_#10954 + local_#10955; assert { :LIR "66427" } { :check "overflow" } { :finding_ids "0" } local_#31393_e <= 2147483647; local_#10956 := local_#10954; goto CFG_49356; CFG_44986: assume true; local_#10957 := 15; assume { :symbol "~uwrap32" } true; local_#10958 := ~uwrap32(local_#4111_x + local_#10957); assert { :LIR "66428" } { :check "overflow" } { :finding_ids "0" } true; local_#10959 := 4; local_#10960 := ~lshr32(local_#10958, local_#10959); local_#4111_x := local_#10960; local_#10961 := 4; local_#31393_e := local_#31393_e + local_#10961; assert { :LIR "66429" } { :check "overflow" } { :finding_ids "0" } local_#31393_e <= 2147483647; goto CFG_49355; CFG_38152: assume true; local_#10962 := local_#4111_x; assert { :LIR "62395" } { :check "overflow" } { :finding_ids "0" } local_#10962 <= 2147483647; local_#7821 := local_#10962; goto CFG_37283; CFG_37283: assume true; } procedure routine_#33865_luaO_pushfstring(local_#4112_L_IN : { base : int, offset : int }, local_#4113_fmt_IN : { base : int, offset : int }, local_#7746_IN : { base : int, offset : int }) returns (local_#7822 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4112_L : { base : int, offset : int }; var local_#4113_fmt : { base : int, offset : int }; var local_#7746 : { base : int, offset : int }; var local_#31394_argp : { base : int, offset : int }; var local_#10963 : { base : int, offset : int }; var local_#10964 : { base : int, offset : int }; var local_#10965 : { base : int, offset : int }; var local_#31395_msg : { base : int, offset : int }; local_#4112_L := local_#4112_L_IN; _memory_ptr[local_#4113_fmt] := local_#4113_fmt_IN; _memory_ptr[local_#7746] := local_#7746_IN; goto CFG_36373; CFG_36373: assume true; goto CFG_42335; CFG_42335: assume true; local_#10963 := { base : local_#31394_argp!base, offset : local_#31394_argp!offset + 0 * 24 }; _memory_ptr[{ base : local_#10963!base, offset : local_#10963!offset + 8 }] := local_#7746; local_#10964 := { base : local_#31394_argp!base, offset : local_#31394_argp!offset + 0 * 24 }; goto CFG_45773; CFG_45773: assume true; call local_#10965 := routine_#33866_luaO_pushvfstring(local_#4112_L,_memory_ptr[local_#4113_fmt],local_#10964); goto CFG_38153; CFG_38153: assume true; local_#31395_msg := local_#10965; local_#7822 := local_#31395_msg; goto CFG_37284; CFG_37284: assume true; } procedure routine_#33866_luaO_pushvfstring(local_#4114_L_IN : { base : int, offset : int }, local_#4115_fmt_IN : { base : int, offset : int }, local_#4116_argp_IN : { base : int, offset : int }) returns (local_#7823 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4114_L : { base : int, offset : int }; var local_#4115_fmt : { base : int, offset : int }; var local_#4116_argp : { base : int, offset : int }; var local_#31396_n : int; var local_#10966 : int; var local_#10967 : int; var local_#10968 : { base : int, offset : int }; var local_#10969 : { base : int, offset : int }; var local_#31397_e : { base : int, offset : int }; var local_#10970 : { base : int, offset : int }; var local_#10971 : int; var local_#10972 : int; var local_#10973 : int; var local_#10974 : int; var local_#10975 : { base : int, offset : int }; var local_#10976 : int; var local_#10977 : { base : int, offset : int }; var local_#10978 : { base : int, offset : int }; var local_#10979 : int; var local_#10980 : { base : int, offset : int }; var local_#10981 : int; var local_#10982 : { base : int, offset : int }; var local_#10983 : { base : int, offset : int }; var local_#10984 : int; var local_#31406_buff : { base : int, offset : int }; var local_#10985 : { base : int, offset : int }; var local_#10986 : { base : int, offset : int }; var local_#10987 : int; var nondet_#0 : int; var nondet_#1 : int; var local_#10988 : int; var local_#10989 : int; var local_#10990 : int; var local_#10991 : int; var local_#31407_l : int; var local_#10992 : int; var local_#10993 : { base : int, offset : int }; var local_#10994 : { base : int, offset : int }; var local_#10995 : { base : int, offset : int }; var local_#10996 : int; var local_#10997 : { base : int, offset : int }; var nondet_#2 : int; var nondet_#3 : { base : int, offset : int }; var local_#10998 : { base : int, offset : int }; var local_#10999 : int; var local_#31405_p : { base : int, offset : int }; var local_#31403_buff : { base : int, offset : int }; var local_#11000 : { base : int, offset : int }; var local_#11001 : int; var local_#11002 : { base : int, offset : int }; var local_#11003 : { base : int, offset : int }; var local_#11004 : int; var local_#31404_l : int; var local_#11005 : { base : int, offset : int }; var local_#11006 : int; var local_#31402_io : { base : int, offset : int }; var local_#11007 : { base : int, offset : int }; var nondet_#4 : int; var nondet_#5 : int; var local_#11008 : int; var local_#11009 : int; var nondet_#6 : int; var local_#11010 : int; var local_#11011 : { base : int, offset : int }; var local_#31401_io : { base : int, offset : int }; var local_#11012 : { base : int, offset : int }; var local_#11013 : int; var nondet_#7 : int; var nondet_#8 : int; var local_#11014 : int; var local_#11015 : int; var local_#11016 : { base : int, offset : int }; var local_#31400_io : { base : int, offset : int }; var local_#11017 : { base : int, offset : int }; var local_#11018 : int; var nondet_#9 : int; var nondet_#10 : int; var local_#11019 : int; var local_#11020 : int; var local_#11021 : { base : int, offset : int }; var local_#11022 : int; var local_#11023 : { base : int, offset : int }; var local_#11024 : { base : int, offset : int }; var local_#11025 : int; var nondet_#11 : int; var nondet_#12 : int; var local_#11026 : int; var local_#11027 : int; var local_#31399_buff : { base : int, offset : int }; var local_#11028 : int; var local_#11029 : int; var local_#11030 : int; var local_#11031 : int; var local_#11032 : int; var local_#11033 : int; var local_#11034 : int; var local_#11035 : { base : int, offset : int }; var local_#11036 : { base : int, offset : int }; var local_#11037 : int; var local_#11038 : int; var local_#11039 : { base : int, offset : int }; var local_#11040 : { base : int, offset : int }; var local_#11041 : int; var local_#11042 : { base : int, offset : int }; var nondet_#13 : int; var nondet_#14 : { base : int, offset : int }; var local_#11043 : { base : int, offset : int }; var local_#11044 : int; var local_#11045 : { base : int, offset : int }; var local_#31398_s : { base : int, offset : int }; var local_#11046 : { base : int, offset : int }; var local_#11047 : int; var local_#11048 : { base : int, offset : int }; var local_#11049 : { base : int, offset : int }; var local_#11050 : int; var local_#11051 : int; var local_#11052 : int; var local_#11053 : { base : int, offset : int }; var local_#11054 : int; var local_#11055 : int; var local_#11056 : int; var local_#11057 : int; var local_#11058 : int; var local_#11059 : int; var local_#11060 : int; var local_#11061 : int; var local_#11062 : int; var local_#11063 : int; var local_#11064 : int; var local_#11065 : int; var local_#11066 : int; var local_#11067 : int; var local_#11068 : int; var local_#11069 : int; var local_#11070 : { base : int, offset : int }; var local_#11071 : { base : int, offset : int }; var local_#11072 : { base : int, offset : int }; var local_#11073 : { base : int, offset : int }; var local_#11074 : { base : int, offset : int }; var local_#11075 : int; var local_#11076 : { base : int, offset : int }; var local_#11077 : { base : int, offset : int }; local_#4114_L := local_#4114_L_IN; local_#4115_fmt := local_#4115_fmt_IN; local_#4116_argp := local_#4116_argp_IN; goto CFG_36374; CFG_36374: assume true; goto CFG_41646; CFG_41646: assume true; local_#31396_n := 0; goto CFG_49357; CFG_49357: assume true; local_#10966 := 1; if (local_#10966 != 0) { goto CFG_42336; } else { goto CFG_41910; } CFG_41910: assume true; goto CFG_49361; CFG_42336: assume true; local_#10967 := 37; goto CFG_45774; CFG_45774: assume true; call local_#10968 := routine_#34445_strchr(local_#4115_fmt,local_#10967); goto CFG_49358; CFG_49358: assume true; local_#10969 := local_#10968; assert { :LIR "62396" } { :check "overflow" } { :finding_ids "0" } true; local_#31397_e := local_#10969; local_#10970 := { base : 0, offset : 0 }; local_#10971 := (if local_#31397_e == local_#10970 then 1 else 0); if (local_#10971 != 0) { goto CFG_39454; } else { goto CFG_42337; } CFG_42337: assume true; local_#10972 := (local_#31397_e!offset - local_#4115_fmt!offset) / 1; local_#10973 := ~uwrap64(local_#10972); assert { :LIR "62397" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45775; CFG_45775: assume true; call routine_#35009_pushstr(local_#4114_L,local_#4115_fmt,local_#10973); goto CFG_51512; CFG_51512: assume true; local_#10974 := 1; local_#10975 := { base : local_#31397_e!base, offset : local_#31397_e!offset + local_#10974 * 1 }; local_#10976 := _memory[local_#10975]; assert { :LIR "62398" } { :check "overflow" } { :finding_ids "0" } local_#10976 <= 2147483647; if (local_#10976 == 115) { goto CFG_49360; } if (local_#10976 == 99) { goto CFG_49359; } if (local_#10976 == 100) { goto CFG_45245; } if (local_#10976 == 73) { goto CFG_45244; } if (local_#10976 == 102) { goto CFG_41911; } if (local_#10976 == 112) { goto CFG_42342; } if (local_#10976 == 85) { goto CFG_42340; } if (local_#10976 == 37) { goto CFG_42339; } goto CFG_42338; CFG_42338: assume true; assume _memory[{ base : strlit_#70360!base, offset : strlit_#70360!offset + 42 }] == 0; local_#10977 := strlit_#70360; local_#10978 := { base : local_#10977!base, offset : local_#10977!offset + 0 * 1 }; assert { :LIR "62399" } { :check "overflow" } { :finding_ids "0" } true; local_#10979 := 1; local_#10980 := { base : local_#31397_e!base, offset : local_#31397_e!offset + local_#10979 * 1 }; local_#10981 := _memory[local_#10980]; assert { :LIR "62400" } { :check "overflow" } { :finding_ids "0" } local_#10981 <= 2147483647; goto CFG_45776; CFG_45776: assume true; call routine_#33762_luaG_runerror(local_#4114_L,local_#10978,{ base : 0, offset : 0 }); CFG_42339: assume true; assume _memory[{ base : strlit_#70361!base, offset : strlit_#70361!offset + 0 }] == 37 && _memory[{ base : strlit_#70361!base, offset : strlit_#70361!offset + 1 }] == 0; local_#10982 := strlit_#70361; local_#10983 := { base : local_#10982!base, offset : local_#10982!offset + 0 * 1 }; assert { :LIR "62401" } { :check "overflow" } { :finding_ids "0" } true; local_#10984 := 1; goto CFG_45777; CFG_45777: assume true; call routine_#35009_pushstr(local_#4114_L,local_#10983,local_#10984); goto CFG_39496; CFG_39496: assume true; goto CFG_42347; CFG_42340: assume true; local_#10985 := { base : local_#31406_buff!base, offset : local_#31406_buff!offset + 0 * 1 }; local_#10986 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#0; havoc nondet_#1; local_#10987 := nondet_#1 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62402 */; assert { :LIR "62402" } { :check "overflow" } { :finding_ids "0" } local_#10987 <= 9223372036854775807; local_#10988 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#10988 * 0 }; local_#10989 := local_#10987; assert { :LIR "60327" } { :check "overflow" } { :finding_ids "0" } local_#10989 <= 9223372036854775807; local_#10990 := ~uwrap64(local_#10989); assert { :LIR "62403" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45778; CFG_45778: assume true; call local_#10991 := routine_#33869_luaO_utf8esc(local_#10985,local_#10990); goto CFG_42341; CFG_42341: assume true; local_#31407_l := local_#10991; local_#10992 := 8; local_#10993 := { base : local_#31406_buff!base, offset : local_#31406_buff!offset + 0 * 1 + local_#10992 * 1 }; local_#10994 := { base : local_#10993!base, offset : local_#10993!offset - local_#31407_l * 1 }; local_#10995 := local_#10994; assert { :LIR "62404" } { :check "overflow" } { :finding_ids "0" } true; local_#10996 := ~uwrap64(local_#31407_l); assert { :LIR "62405" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45779; CFG_45779: assume true; call routine_#35009_pushstr(local_#4114_L,local_#10995,local_#10996); goto CFG_39497; CFG_39497: assume true; goto CFG_42347; CFG_42342: assume true; local_#10997 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#2; havoc nondet_#3; local_#10998 := nondet_#3 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62406 */; assert { :LIR "62406" } { :check "overflow" } { :finding_ids "0" } true; local_#10999 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#10999 * 0 }; local_#31405_p := local_#10998; local_#11000 := { base : local_#31403_buff!base, offset : local_#31403_buff!offset + 0 * 1 }; local_#11001 := 40; assume _memory[{ base : strlit_#70362!base, offset : strlit_#70362!offset + 0 }] == 37 && _memory[{ base : strlit_#70362!base, offset : strlit_#70362!offset + 1 }] == 112 && _memory[{ base : strlit_#70362!base, offset : strlit_#70362!offset + 2 }] == 0; local_#11002 := strlit_#70362; local_#11003 := { base : local_#11002!base, offset : local_#11002!offset + 0 * 1 }; assert { :LIR "62407" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45780; CFG_45780: assume true; call local_#11004 := routine_#34434_snprintf(local_#11000,local_#11001,local_#11003,{ base : 0, offset : 0 }); goto CFG_42343; CFG_42343: assume true; local_#31404_l := local_#11004; local_#11005 := { base : local_#31403_buff!base, offset : local_#31403_buff!offset + 0 * 1 }; assert { :LIR "62408" } { :check "overflow" } { :finding_ids "0" } true; local_#11006 := ~uwrap64(local_#31404_l); assert { :LIR "62409" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45781; CFG_45781: assume true; call routine_#35009_pushstr(local_#4114_L,local_#11005,local_#11006); goto CFG_39498; CFG_39498: assume true; goto CFG_42347; CFG_41911: assume true; local_#31402_io := _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]; local_#11007 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#4; havoc nondet_#5; local_#11008 := nondet_#5 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62410 */; assert { :LIR "62410" } { :check "overflow" } { :finding_ids "0" } true; local_#11009 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#11009 * 0 }; havoc nondet_#6; local_#11010 := nondet_#6 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60328 */; assert { :LIR "60328" } { :check "overflow" } { :finding_ids "0" } true; local_#11011 := { base : local_#31402_io!base, offset : local_#31402_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31402_io!base, offset : local_#31402_io!offset + 8 }] := 3; goto CFG_45782; CFG_45244: assume true; local_#31401_io := _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]; local_#11012 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#7; havoc nondet_#8; local_#11013 := nondet_#8 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62411 */; assert { :LIR "62411" } { :check "overflow" } { :finding_ids "0" } local_#11013 <= 9223372036854775807; local_#11014 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#11014 * 0 }; local_#11015 := local_#11013; assert { :LIR "60329" } { :check "overflow" } { :finding_ids "0" } local_#11015 <= 9223372036854775807; local_#11016 := { base : local_#31401_io!base, offset : local_#31401_io!offset + 0 }; _memory[local_#11016] := local_#11015; _memory[{ base : local_#31401_io!base, offset : local_#31401_io!offset + 8 }] := 19; goto CFG_45782; CFG_45245: assume true; local_#31400_io := _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]; local_#11017 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#9; havoc nondet_#10; local_#11018 := nondet_#10 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62412 */; assert { :LIR "62412" } { :check "overflow" } { :finding_ids "0" } local_#11018 <= 2147483647; local_#11019 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#11019 * 0 }; local_#11020 := local_#11018; assert { :LIR "62413" } { :check "overflow" } { :finding_ids "0" } local_#11020 <= 9223372036854775807; local_#11021 := { base : local_#31400_io!base, offset : local_#31400_io!offset + 0 }; _memory[local_#11021] := local_#11020; _memory[{ base : local_#31400_io!base, offset : local_#31400_io!offset + 8 }] := 19; goto CFG_45782; CFG_45782: assume true; call routine_#33735_luaD_inctop(local_#4114_L); goto CFG_42344; CFG_42344: assume true; local_#11022 := 1; local_#11023 := { base : _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]!offset - local_#11022 * 16 }; goto CFG_45783; CFG_45783: assume true; call routine_#33868_luaO_tostring(local_#4114_L,local_#11023); goto CFG_39499; CFG_39499: assume true; goto CFG_42347; CFG_49359: assume true; local_#11024 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#11; havoc nondet_#12; local_#11025 := nondet_#12 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62414 */; assert { :LIR "62414" } { :check "overflow" } { :finding_ids "0" } local_#11025 <= 2147483647; local_#11026 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#11026 * 0 }; local_#11027 := local_#11025; assert { :LIR "60330" } { :check "overflow" } { :finding_ids "0" } local_#11027 <= 127; _memory[local_#31399_buff] := local_#11027; local_#11028 := ~uwrap8(_memory[local_#31399_buff]); assert { :LIR "60331" } { :check "overflow" } { :finding_ids "0" } true; local_#11029 := local_#11028; assert { :LIR "62415" } { :check "overflow" } { :finding_ids "0" } local_#11029 <= 2147483647; local_#11030 := 1; local_#11031 := local_#11029 + local_#11030; assert { :LIR "66430" } { :check "overflow" } { :finding_ids "0" } local_#11031 <= 2147483647; local_#11032 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#11031 * 1 }]; assert { :LIR "62416" } { :check "overflow" } { :finding_ids "0" } local_#11032 <= 2147483647; local_#11033 := 4; local_#11034 := ~sand32(local_#11032, local_#11033); if (local_#11034 != 0) { goto CFG_42346; } else { goto CFG_42345; } CFG_42345: assume true; assume _memory[{ base : strlit_#70363!base, offset : strlit_#70363!offset + 0 }] == 60 && _memory[{ base : strlit_#70363!base, offset : strlit_#70363!offset + 1 }] == 92 && _memory[{ base : strlit_#70363!base, offset : strlit_#70363!offset + 2 }] == 37 && _memory[{ base : strlit_#70363!base, offset : strlit_#70363!offset + 3 }] == 100 && _memory[{ base : strlit_#70363!base, offset : strlit_#70363!offset + 4 }] == 62 && _memory[{ base : strlit_#70363!base, offset : strlit_#70363!offset + 5 }] == 0; local_#11035 := strlit_#70363; local_#11036 := { base : local_#11035!base, offset : local_#11035!offset + 0 * 1 }; assert { :LIR "62417" } { :check "overflow" } { :finding_ids "0" } true; local_#11037 := ~uwrap8(_memory[local_#31399_buff]); assert { :LIR "60332" } { :check "overflow" } { :finding_ids "0" } true; local_#11038 := local_#11037; assert { :LIR "62418" } { :check "overflow" } { :finding_ids "0" } local_#11038 <= 2147483647; goto CFG_45784; CFG_45784: assume true; call local_#11039 := routine_#33865_luaO_pushfstring(local_#4114_L,local_#11036,{ base : 0, offset : 0 }); goto CFG_40013; CFG_40013: assume true; goto CFG_39500; CFG_42346: assume true; local_#11040 := local_#31399_buff; assert { :LIR "62419" } { :check "overflow" } { :finding_ids "0" } true; local_#11041 := 1; goto CFG_45785; CFG_45785: assume true; call routine_#35009_pushstr(local_#4114_L,local_#11040,local_#11041); goto CFG_40014; CFG_40014: assume true; goto CFG_39500; CFG_39500: assume true; goto CFG_42347; CFG_49360: assume true; local_#11042 := _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]; havoc nondet_#13; havoc nondet_#14; local_#11043 := nondet_#14 /* IR2BOOGIE-ERROR: From Type IRType494 is not supported in conversion 62420 */; assert { :LIR "62420" } { :check "overflow" } { :finding_ids "0" } true; local_#11044 := 1; _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }] := { base : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4116_argp!base, offset : local_#4116_argp!offset + 8 }]!offset + local_#11044 * 0 }; local_#11045 := local_#11043; assert { :LIR "62421" } { :check "overflow" } { :finding_ids "0" } true; local_#31398_s := local_#11045; local_#11046 := { base : 0, offset : 0 }; local_#11047 := (if local_#31398_s == local_#11046 then 1 else 0); if (local_#11047 != 0) { goto CFG_40015; } else { goto CFG_45786; } CFG_40015: assume true; assume _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 0 }] == 40 && _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 1 }] == 110 && _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 2 }] == 117 && _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 3 }] == 108 && _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 4 }] == 108 && _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 5 }] == 41 && _memory[{ base : strlit_#70364!base, offset : strlit_#70364!offset + 6 }] == 0; local_#11048 := strlit_#70364; local_#11049 := { base : local_#11048!base, offset : local_#11048!offset + 0 * 1 }; assert { :LIR "62422" } { :check "overflow" } { :finding_ids "0" } true; local_#31398_s := local_#11049; goto CFG_45786; CFG_45786: assume true; call local_#11050 := routine_#34454_strlen(local_#31398_s); goto CFG_45787; CFG_45787: assume true; call routine_#35009_pushstr(local_#4114_L,local_#31398_s,local_#11050); goto CFG_39501; CFG_39501: assume true; goto CFG_42347; CFG_42347: assume true; local_#11051 := 2; local_#31396_n := local_#31396_n + local_#11051; assert { :LIR "66431" } { :check "overflow" } { :finding_ids "0" } local_#31396_n <= 2147483647; local_#11052 := 2; local_#11053 := { base : local_#31397_e!base, offset : local_#31397_e!offset + local_#11052 * 1 }; local_#4115_fmt := local_#11053; goto CFG_44987; CFG_44987: assume true; goto CFG_49357; CFG_39454: assume true; goto CFG_49361; CFG_49361: assume true; local_#11054 := (_memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]!offset) / 16; local_#11055 := 1; local_#11056 := (if local_#11054 <= local_#11055 then 1 else 0); if (local_#11056 != 0) { goto CFG_42348; } else { goto CFG_40016; } CFG_40016: assume true; local_#11057 := 0; local_#11058 := 0; assert { :LIR "60333" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45789; CFG_42348: assume true; local_#11059 := 0; local_#11060 := 0; assert { :LIR "60334" } { :check "overflow" } { :finding_ids "0" } true; local_#11061 := 1; goto CFG_45788; CFG_45788: assume true; call routine_#33733_luaD_growstack(local_#4114_L,local_#11061); goto CFG_40017; CFG_40017: assume true; local_#11062 := 0; local_#11063 := 0; assert { :LIR "60335" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45789; CFG_45789: assume true; call local_#11064 := routine_#34454_strlen(local_#4115_fmt); goto CFG_45790; CFG_45790: assume true; call routine_#35009_pushstr(local_#4114_L,local_#4115_fmt,local_#11064); goto CFG_49362; CFG_49362: assume true; local_#11065 := 0; local_#11066 := (if local_#31396_n > local_#11065 then 1 else 0); if (local_#11066 != 0) { goto CFG_42349; } else { goto CFG_38154; } CFG_42349: assume true; local_#11067 := 1; local_#11068 := local_#31396_n + local_#11067; assert { :LIR "66432" } { :check "overflow" } { :finding_ids "0" } local_#11068 <= 2147483647; goto CFG_45791; CFG_45791: assume true; call routine_#33891_luaV_concat(local_#4114_L,local_#11068); goto CFG_40018; CFG_40018: assume true; goto CFG_38154; CFG_38154: assume true; local_#11069 := 1; local_#11070 := { base : _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4114_L!base, offset : local_#4114_L!offset + 16 }]!offset - local_#11069 * 16 }; local_#11071 := { base : local_#11070!base, offset : local_#11070!offset + 0 }; local_#11072 := _memory_ptr[local_#11071]; assert { :LIR "60336" } { :check "overflow" } { :finding_ids "0" } true; local_#11073 := { base : local_#11072!base, offset : local_#11072!offset + 0 }; local_#11074 := local_#11073; assert { :LIR "60337" } { :check "overflow" } { :finding_ids "0" } true; local_#11075 := 24; local_#11076 := { base : local_#11074!base, offset : local_#11074!offset + local_#11075 * 1 }; local_#11077 := local_#11076; assert { :LIR "62423" } { :check "overflow" } { :finding_ids "0" } true; local_#7823 := local_#11077; goto CFG_37285; CFG_41912: assume true; goto CFG_42347; CFG_37285: assume true; } procedure routine_#33867_luaO_str2num(local_#4117_s_IN : { base : int, offset : int }, local_#4118_o_IN : { base : int, offset : int }) returns (local_#7824 : int) modifies _memory, _memory_ptr; { var local_#4117_s : { base : int, offset : int }; var local_#4118_o : { base : int, offset : int }; var local_#31409_i : { base : int, offset : int }; var local_#11078 : { base : int, offset : int }; var local_#11079 : { base : int, offset : int }; var local_#31408_e : { base : int, offset : int }; var local_#11080 : { base : int, offset : int }; var local_#11081 : int; var local_#31410_n : { base : int, offset : int }; var local_#11082 : { base : int, offset : int }; var local_#11083 : { base : int, offset : int }; var local_#11084 : { base : int, offset : int }; var local_#11085 : int; var local_#31412_io : { base : int, offset : int }; var local_#11086 : { base : int, offset : int }; var nondet_#0 : int; var local_#31411_io : { base : int, offset : int }; var local_#11087 : { base : int, offset : int }; var local_#11088 : int; var local_#11089 : int; var local_#11090 : int; var local_#11091 : int; local_#4117_s := local_#4117_s_IN; local_#4118_o := local_#4118_o_IN; goto CFG_36375; CFG_36375: assume true; goto CFG_42350; CFG_42350: assume true; local_#11078 := local_#31409_i; goto CFG_45792; CFG_45792: assume true; call local_#11079 := routine_#34850_l_str2int(local_#4117_s,local_#11078); goto CFG_49363; CFG_49363: assume true; local_#31408_e := local_#11079; local_#11080 := { base : 0, offset : 0 }; local_#11081 := (if local_#31408_e != local_#11080 then 1 else 0); if (local_#11081 != 0) { goto CFG_40021; } else { goto CFG_42351; } CFG_42351: assume true; local_#11082 := local_#31410_n; goto CFG_45793; CFG_45793: assume true; call local_#11083 := routine_#34848_l_str2d(local_#4117_s,local_#11082); goto CFG_49364; CFG_49364: assume true; local_#31408_e := local_#11083; local_#11084 := { base : 0, offset : 0 }; local_#11085 := (if local_#31408_e != local_#11084 then 1 else 0); if (local_#11085 != 0) { goto CFG_40019; } else { goto CFG_38155; } CFG_38155: assume true; local_#7824 := 0; goto CFG_37286; CFG_40019: assume true; local_#31412_io := local_#4118_o; local_#11086 := { base : local_#31412_io!base, offset : local_#31412_io!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31412_io!base, offset : local_#31412_io!offset + 8 }] := 3; goto CFG_40020; CFG_40020: assume true; goto CFG_38156; CFG_40021: assume true; local_#31411_io := local_#4118_o; local_#11087 := { base : local_#31411_io!base, offset : local_#31411_io!offset + 0 }; _memory[local_#11087] := _memory[local_#31409_i]; _memory[{ base : local_#31411_io!base, offset : local_#31411_io!offset + 8 }] := 19; goto CFG_38156; CFG_38156: assume true; local_#11088 := (local_#31408_e!offset - local_#4117_s!offset) / 1; local_#11089 := 1; local_#11090 := local_#11088 + local_#11089; assert { :LIR "66433" } { :check "overflow" } { :finding_ids "0" } local_#11090 <= 9223372036854775807; local_#11091 := ~uwrap64(local_#11090); assert { :LIR "62424" } { :check "overflow" } { :finding_ids "0" } true; local_#7824 := local_#11091; goto CFG_37286; CFG_37286: assume true; } procedure routine_#33868_luaO_tostring(local_#4119_L_IN : { base : int, offset : int }, local_#4120_obj_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4119_L : { base : int, offset : int }; var local_#4120_obj : { base : int, offset : int }; var local_#11092 : int; var local_#11093 : int; var local_#11094 : int; var local_#11095 : int; var local_#31413_buff : { base : int, offset : int }; var local_#11096 : { base : int, offset : int }; var local_#11097 : int; var local_#11098 : { base : int, offset : int }; var local_#11099 : { base : int, offset : int }; var local_#11100 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#11101 : int; var local_#11102 : int; var local_#11103 : int; var local_#31414_len : int; var local_#11104 : { base : int, offset : int }; var local_#11105 : { base : int, offset : int }; var local_#11106 : { base : int, offset : int }; var local_#11107 : int; var local_#11108 : int; var local_#11109 : int; var local_#11110 : int; var local_#11111 : { base : int, offset : int }; var local_#11112 : int; var local_#11113 : { base : int, offset : int }; var local_#11114 : int; var local_#11115 : int; var local_#11116 : int; var local_#11117 : int; var local_#11118 : int; var local_#11119 : { base : int, offset : int }; var local_#11120 : int; var local_#11121 : { base : int, offset : int }; var local_#11122 : { base : int, offset : int }; var local_#11123 : { base : int, offset : int }; var local_#11124 : int; var local_#11125 : int; var local_#11126 : int; var local_#31415_io : { base : int, offset : int }; var local_#11127 : { base : int, offset : int }; var local_#11128 : { base : int, offset : int }; var local_#31416_x_ : { base : int, offset : int }; var local_#11129 : { base : int, offset : int }; var local_#11130 : { base : int, offset : int }; var local_#11131 : { base : int, offset : int }; var local_#11132 : int; var local_#11133 : int; var local_#11134 : int; var local_#11135 : int; var local_#11136 : int; local_#4119_L := local_#4119_L_IN; local_#4120_obj := local_#4120_obj_IN; goto CFG_36376; CFG_36376: assume true; goto CFG_49365; CFG_49365: assume true; local_#11092 := 0; local_#11093 := 0; assert { :LIR "60338" } { :check "overflow" } { :finding_ids "0" } true; local_#11094 := 19; local_#11095 := (if _memory[{ base : local_#4120_obj!base, offset : local_#4120_obj!offset + 8 }] == local_#11094 then 1 else 0); if (local_#11095 != 0) { goto CFG_42354; } else { goto CFG_42352; } CFG_42352: assume true; local_#11096 := { base : local_#31413_buff!base, offset : local_#31413_buff!offset + 0 * 1 }; local_#11097 := 50; assume _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 0 }] == 37 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 1 }] == 46 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 2 }] == 49 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 3 }] == 52 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 4 }] == 103 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 5 }] == 0; local_#11098 := strlit_#70365; local_#11099 := { base : local_#11098!base, offset : local_#11098!offset + 0 * 1 }; assert { :LIR "62425" } { :check "overflow" } { :finding_ids "0" } true; local_#11100 := { base : local_#4120_obj!base, offset : local_#4120_obj!offset + 0 }; havoc nondet_#0; havoc nondet_#1; local_#11101 := nondet_#1 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60339 */; assert { :LIR "60339" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45794; CFG_45794: assume true; call local_#11102 := routine_#34434_snprintf(local_#11096,local_#11097,local_#11099,{ base : 0, offset : 0 }); goto CFG_42353; CFG_42353: assume true; local_#11103 := ~uwrap64(local_#11102); assert { :LIR "62426" } { :check "overflow" } { :finding_ids "0" } true; local_#31414_len := local_#11103; local_#11104 := { base : local_#31413_buff!base, offset : local_#31413_buff!offset + 0 * 1 }; assert { :LIR "62427" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 0 }] == 45 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 1 }] == 48 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 2 }] == 49 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 3 }] == 50 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 4 }] == 51 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 5 }] == 52 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 6 }] == 53 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 7 }] == 54 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 8 }] == 55 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 9 }] == 56 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 10 }] == 57 && _memory[{ base : strlit_#70366!base, offset : strlit_#70366!offset + 11 }] == 0; local_#11105 := strlit_#70366; local_#11106 := { base : local_#11105!base, offset : local_#11105!offset + 0 * 1 }; assert { :LIR "62428" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45795; CFG_45795: assume true; call local_#11107 := routine_#34461_strspn(local_#11104,local_#11106); goto CFG_49366; CFG_49366: assume true; local_#11108 := _memory[{ base : local_#31413_buff!base, offset : local_#31413_buff!offset + local_#11107 * 1 }]; assert { :LIR "62429" } { :check "overflow" } { :finding_ids "0" } local_#11108 <= 2147483647; local_#11109 := 0; local_#11110 := (if local_#11108 == local_#11109 then 1 else 0); if (local_#11110 != 0) { goto CFG_45796; } else { goto CFG_40023; } CFG_45796: assume true; call local_#11111 := routine_#33692_localeconv(); goto CFG_40022; CFG_40022: assume true; local_#11112 := 0; local_#11113 := { base : _memory_ptr[{ base : local_#11111!base, offset : local_#11111!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#11111!base, offset : local_#11111!offset + 0 }]!offset + local_#11112 * 1 }; local_#11114 := local_#31414_len; local_#11115 := 1; assume { :symbol "~uwrap64" } true; local_#31414_len := ~uwrap64(local_#11114 + local_#11115); assert { :LIR "66434" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31413_buff!base, offset : local_#31413_buff!offset + local_#11114 * 1 }] := _memory[local_#11113]; local_#11116 := 48; local_#11117 := local_#31414_len; local_#11118 := 1; assume { :symbol "~uwrap64" } true; local_#31414_len := ~uwrap64(local_#11117 + local_#11118); assert { :LIR "66435" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31413_buff!base, offset : local_#31413_buff!offset + local_#11117 * 1 }] := local_#11116; goto CFG_40023; CFG_40023: assume true; goto CFG_42355; CFG_42354: assume true; local_#11119 := { base : local_#31413_buff!base, offset : local_#31413_buff!offset + 0 * 1 }; local_#11120 := 50; assume _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 0 }] == 37 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 1 }] == 108 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 2 }] == 108 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 3 }] == 100 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 4 }] == 0; local_#11121 := strlit_#70367; local_#11122 := { base : local_#11121!base, offset : local_#11121!offset + 0 * 1 }; assert { :LIR "62430" } { :check "overflow" } { :finding_ids "0" } true; local_#11123 := { base : local_#4120_obj!base, offset : local_#4120_obj!offset + 0 }; local_#11124 := _memory[local_#11123]; assert { :LIR "60340" } { :check "overflow" } { :finding_ids "0" } local_#11124 <= 9223372036854775807; goto CFG_45797; CFG_45797: assume true; call local_#11125 := routine_#34434_snprintf(local_#11119,local_#11120,local_#11122,{ base : 0, offset : 0 }); goto CFG_40024; CFG_40024: assume true; local_#11126 := ~uwrap64(local_#11125); assert { :LIR "62431" } { :check "overflow" } { :finding_ids "0" } true; local_#31414_len := local_#11126; goto CFG_42355; CFG_42355: assume true; local_#31415_io := local_#4120_obj; local_#11127 := { base : local_#31413_buff!base, offset : local_#31413_buff!offset + 0 * 1 }; assert { :LIR "62432" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45798; CFG_45798: assume true; call local_#11128 := routine_#33877_luaS_newlstr(local_#4119_L,local_#11127,local_#31414_len); goto CFG_39160; CFG_39160: assume true; local_#31416_x_ := local_#11128; local_#11129 := local_#31416_x_; assert { :LIR "60341" } { :check "overflow" } { :finding_ids "0" } true; local_#11130 := { base : local_#11129!base, offset : local_#11129!offset + 0 }; local_#11131 := { base : local_#31415_io!base, offset : local_#31415_io!offset + 0 }; _memory_ptr[local_#11131] := local_#11130; local_#11132 := _memory[{ base : local_#31416_x_!base, offset : local_#31416_x_!offset + 8 }]; assert { :LIR "62433" } { :check "overflow" } { :finding_ids "0" } local_#11132 <= 2147483647; local_#11133 := 64; local_#11134 := ~sor32(local_#11132, local_#11133); _memory[{ base : local_#31415_io!base, offset : local_#31415_io!offset + 8 }] := local_#11134; local_#11135 := 0; local_#11136 := 0; assert { :LIR "60342" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37287; CFG_37287: assume true; } procedure routine_#33869_luaO_utf8esc(local_#4121_buff_IN : { base : int, offset : int }, local_#4122_x_IN : int) returns (local_#7825 : int) modifies _memory; { var local_#4121_buff : { base : int, offset : int }; var local_#4122_x : int; var local_#31417_n : int; var local_#11137 : int; var local_#11138 : int; var local_#11139 : int; var local_#11140 : int; var local_#31418_mfb : int; var local_#11141 : int; var local_#11142 : int; var local_#11143 : int; var local_#11144 : int; var local_#11145 : int; var local_#11146 : int; var local_#11147 : int; var local_#11148 : int; var local_#11149 : int; var local_#11150 : { base : int, offset : int }; var local_#11151 : int; var local_#11152 : int; var local_#11153 : int; var local_#11154 : int; var local_#11155 : int; var local_#11156 : int; var local_#11157 : int; var local_#11158 : int; var local_#11159 : int; var local_#11160 : int; var local_#11161 : int; var local_#11162 : int; var local_#11163 : { base : int, offset : int }; var local_#11164 : int; var local_#11165 : int; var local_#11166 : { base : int, offset : int }; local_#4121_buff := local_#4121_buff_IN; local_#4122_x := local_#4122_x_IN; goto CFG_36377; CFG_36377: assume true; goto CFG_49367; CFG_49367: assume true; local_#31417_n := 1; local_#11137 := 0; local_#11138 := 0; assert { :LIR "60343" } { :check "overflow" } { :finding_ids "0" } true; local_#11139 := 128; local_#11140 := (if local_#4122_x < local_#11139 then 1 else 0); if (local_#11140 != 0) { goto CFG_40026; } else { goto CFG_41647; } CFG_41647: assume true; local_#31418_mfb := 63; goto CFG_42356; CFG_42356: assume true; local_#11141 := 128; local_#11142 := 63; local_#11143 := ~uand64(local_#4122_x, local_#11142); local_#11144 := ~uor64(local_#11141, local_#11143); local_#11145 := local_#11144; assert { :LIR "60344" } { :check "overflow" } { :finding_ids "0" } local_#11145 <= 127; local_#11146 := 8; local_#11147 := local_#31417_n; local_#11148 := 1; local_#31417_n := local_#11147 + local_#11148; assert { :LIR "66436" } { :check "overflow" } { :finding_ids "0" } local_#31417_n <= 2147483647; local_#11149 := local_#11146 - local_#11147; assert { :LIR "67909" } { :check "overflow" } { :finding_ids "0" } local_#11149 <= 2147483647; local_#11150 := { base : local_#4121_buff!base, offset : local_#4121_buff!offset + local_#11149 * 1 }; _memory[local_#11150] := local_#11145; local_#11151 := 6; local_#4122_x := ~lshr64(local_#4122_x, local_#11151); local_#11152 := 1; local_#31418_mfb := ~lshr32(local_#31418_mfb, local_#11152); goto CFG_49368; CFG_49368: assume true; local_#11153 := ~uwrap64(local_#31418_mfb); assert { :LIR "62434" } { :check "overflow" } { :finding_ids "0" } true; local_#11154 := (if local_#4122_x > local_#11153 then 1 else 0); if (local_#11154 != 0) { goto CFG_44988; } else { goto CFG_40025; } CFG_40025: assume true; local_#11155 := ~unot32(local_#31418_mfb); assume { :symbol "~unot32" } 0 <= local_#31418_mfb && local_#31418_mfb <= 4294967295 ==> ~unot32(local_#31418_mfb) == 4294967295 - local_#31418_mfb; local_#11156 := 1; local_#11157 := ~shl32(local_#11155, local_#11156); local_#11158 := ~uwrap64(local_#11157); assert { :LIR "62435" } { :check "overflow" } { :finding_ids "0" } true; local_#11159 := ~uor64(local_#11158, local_#4122_x); local_#11160 := local_#11159; assert { :LIR "60345" } { :check "overflow" } { :finding_ids "0" } local_#11160 <= 127; local_#11161 := 8; local_#11162 := local_#11161 - local_#31417_n; assert { :LIR "67910" } { :check "overflow" } { :finding_ids "0" } local_#11162 <= 2147483647; local_#11163 := { base : local_#4121_buff!base, offset : local_#4121_buff!offset + local_#11162 * 1 }; _memory[local_#11163] := local_#11160; goto CFG_38157; CFG_44988: assume true; goto CFG_42356; CFG_40026: assume true; local_#11164 := local_#4122_x; assert { :LIR "60346" } { :check "overflow" } { :finding_ids "0" } local_#11164 <= 127; local_#11165 := 7; local_#11166 := { base : local_#4121_buff!base, offset : local_#4121_buff!offset + local_#11165 * 1 }; _memory[local_#11166] := local_#11164; goto CFG_38157; CFG_38157: assume true; local_#7825 := local_#31417_n; goto CFG_37288; CFG_37288: assume true; } procedure routine_#33870_luaS_clearcache(local_#4123_g_IN : { base : int, offset : int }) returns () modifies _memory_ptr; { var local_#4123_g : { base : int, offset : int }; var local_#31419_i : int; var local_#11167 : int; var local_#11168 : int; var local_#31420_j : int; var local_#11169 : int; var local_#11170 : int; var local_#11171 : int; var local_#11172 : int; var local_#11173 : int; var local_#11174 : { base : int, offset : int }; var local_#11175 : { base : int, offset : int }; var local_#11176 : { base : int, offset : int }; var local_#11177 : { base : int, offset : int }; var local_#11178 : int; var local_#11179 : int; var local_#11180 : int; var local_#11181 : { base : int, offset : int }; var local_#11182 : { base : int, offset : int }; var local_#11183 : { base : int, offset : int }; var local_#11184 : int; var local_#11185 : int; var local_#11186 : int; local_#4123_g := local_#4123_g_IN; goto CFG_36378; CFG_36378: assume true; goto CFG_41648; CFG_41648: assume true; local_#31419_i := 0; goto CFG_49369; CFG_49369: assume true; local_#11167 := 53; local_#11168 := (if local_#31419_i < local_#11167 then 1 else 0); if (local_#11168 != 0) { goto CFG_41649; } else { goto CFG_39161; } CFG_39161: assume true; goto CFG_37289; CFG_41649: assume true; local_#31420_j := 0; goto CFG_49370; CFG_49370: assume true; local_#11169 := 2; local_#11170 := (if local_#31420_j < local_#11169 then 1 else 0); if (local_#11170 != 0) { goto CFG_49371; } else { goto CFG_44989; } CFG_44989: assume true; local_#11171 := local_#31419_i; local_#11172 := 1; local_#31419_i := local_#11171 + local_#11172; assert { :LIR "66437" } { :check "overflow" } { :finding_ids "0" } local_#31419_i <= 2147483647; local_#11173 := local_#11171; goto CFG_49369; CFG_49371: assume true; local_#11174 := { base : local_#4123_g!base, offset : local_#4123_g!offset + 488 }; local_#11175 := { base : local_#11174!base, offset : local_#11174!offset + 0 * 16 + local_#31419_i * 16 }; local_#11176 := { base : local_#11175!base, offset : local_#11175!offset + 0 * 8 + local_#31420_j * 8 }; local_#11177 := _memory_ptr[local_#11176]; local_#11178 := _memory[{ base : local_#11177!base, offset : local_#11177!offset + 9 }]; assert { :LIR "62436" } { :check "overflow" } { :finding_ids "0" } local_#11178 <= 2147483647; local_#11179 := 3; local_#11180 := ~sand32(local_#11178, local_#11179); if (local_#11180 != 0) { goto CFG_40027; } else { goto CFG_44990; } CFG_40027: assume true; local_#11181 := { base : local_#4123_g!base, offset : local_#4123_g!offset + 488 }; local_#11182 := { base : local_#11181!base, offset : local_#11181!offset + 0 * 16 + local_#31419_i * 16 }; local_#11183 := { base : local_#11182!base, offset : local_#11182!offset + 0 * 8 + local_#31420_j * 8 }; _memory_ptr[local_#11183] := _memory_ptr[{ base : local_#4123_g!base, offset : local_#4123_g!offset + 216 }]; goto CFG_44990; CFG_44990: assume true; local_#11184 := local_#31420_j; local_#11185 := 1; local_#31420_j := local_#11184 + local_#11185; assert { :LIR "66438" } { :check "overflow" } { :finding_ids "0" } local_#31420_j <= 2147483647; local_#11186 := local_#11184; goto CFG_49370; CFG_37289: assume true; } procedure routine_#33871_luaS_createlngstrobj(local_#4124_L_IN : { base : int, offset : int }, local_#4125_l_IN : int) returns (local_#7826 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4124_L : { base : int, offset : int }; var local_#4125_l : int; var local_#11187 : int; var local_#11188 : { base : int, offset : int }; var local_#11189 : int; var local_#11190 : { base : int, offset : int }; var local_#31421_ts : { base : int, offset : int }; var local_#11191 : { base : int, offset : int }; local_#4124_L := local_#4124_L_IN; local_#4125_l := local_#4125_l_IN; goto CFG_36379; CFG_36379: assume true; goto CFG_42357; CFG_42357: assume true; local_#11187 := 20; local_#11188 := _memory_ptr[{ base : local_#4124_L!base, offset : local_#4124_L!offset + 24 }]; local_#11189 := _memory[{ base : local_#11188!base, offset : local_#11188!offset + 80 }]; goto CFG_45799; CFG_45799: assume true; call local_#11190 := routine_#34678_createstrobj(local_#4124_L,local_#4125_l,local_#11187,local_#11189); goto CFG_38158; CFG_38158: assume true; local_#31421_ts := local_#11190; local_#11191 := { base : local_#31421_ts!base, offset : local_#31421_ts!offset + 16 }; _memory[local_#11191] := local_#4125_l; local_#7826 := local_#31421_ts; goto CFG_37290; CFG_37290: assume true; } procedure routine_#33872_luaS_eqlngstr(local_#4126_a_IN : { base : int, offset : int }, local_#4127_b_IN : { base : int, offset : int }) returns (local_#7827 : int) { var local_#4126_a : { base : int, offset : int }; var local_#4127_b : { base : int, offset : int }; var local_#11192 : { base : int, offset : int }; var local_#31422_len : int; var local_#11193 : int; var local_#11194 : int; var local_#11195 : int; var local_#11196 : { base : int, offset : int }; var local_#11197 : int; var local_#11198 : { base : int, offset : int }; var local_#11199 : int; var local_#11200 : { base : int, offset : int }; var local_#11201 : { base : int, offset : int }; var local_#11202 : { base : int, offset : int }; var local_#11203 : int; var local_#11204 : { base : int, offset : int }; var local_#11205 : { base : int, offset : int }; var local_#11206 : int; var local_#11207 : int; var local_#11208 : int; var local_#30619 : int; local_#4126_a := local_#4126_a_IN; local_#4127_b := local_#4127_b_IN; goto CFG_36380; CFG_36380: assume true; goto CFG_49372; CFG_49372: assume true; local_#11192 := { base : local_#4126_a!base, offset : local_#4126_a!offset + 16 }; local_#31422_len := _memory[local_#11192]; local_#11193 := 0; local_#11194 := 0; assert { :LIR "60347" } { :check "overflow" } { :finding_ids "0" } true; local_#11195 := (if local_#4126_a == local_#4127_b then 1 else 0); if (local_#11195 != 0) { goto CFG_40029; } else { goto CFG_49373; } CFG_49373: assume true; local_#11196 := { base : local_#4127_b!base, offset : local_#4127_b!offset + 16 }; local_#11197 := (if local_#31422_len == _memory[local_#11196] then 1 else 0); if (local_#11197 != 0) { goto CFG_42358; } else { goto CFG_40028; } CFG_42358: assume true; local_#11198 := local_#4126_a; assert { :LIR "60348" } { :check "overflow" } { :finding_ids "0" } true; local_#11199 := 24; local_#11200 := { base : local_#11198!base, offset : local_#11198!offset + local_#11199 * 1 }; local_#11201 := local_#11200; assert { :LIR "62437" } { :check "overflow" } { :finding_ids "0" } true; local_#11202 := local_#4127_b; assert { :LIR "60349" } { :check "overflow" } { :finding_ids "0" } true; local_#11203 := 24; local_#11204 := { base : local_#11202!base, offset : local_#11202!offset + local_#11203 * 1 }; local_#11205 := local_#11204; assert { :LIR "62438" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45800; CFG_45800: assume true; call local_#11206 := routine_#34025_memcmp(local_#11201,local_#11205,local_#31422_len); goto CFG_49374; CFG_49374: assume true; local_#11207 := 0; local_#11208 := (if local_#11206 == local_#11207 then 1 else 0); if (local_#11208 != 0) { goto CFG_40029; } else { goto CFG_40028; } CFG_40028: assume true; local_#30619 := 0; goto CFG_38159; CFG_40029: assume true; local_#30619 := 1; goto CFG_38159; CFG_38159: assume true; local_#7827 := local_#30619; goto CFG_37291; CFG_37291: assume true; } procedure routine_#33873_luaS_hash(local_#4128_str_IN : { base : int, offset : int }, local_#4129_l_IN : int, local_#4130_seed_IN : int) returns (local_#7828 : int) { var local_#4128_str : { base : int, offset : int }; var local_#4129_l : int; var local_#4130_seed : int; var local_#11209 : int; var local_#11210 : int; var local_#31423_h : int; var local_#11211 : int; var local_#11212 : int; var local_#11213 : int; var local_#11214 : int; var local_#31424_step : int; var local_#11215 : int; var local_#11216 : int; var local_#11217 : int; var local_#11218 : int; var local_#11219 : int; var local_#11220 : int; var local_#11221 : int; var local_#11222 : int; var local_#11223 : { base : int, offset : int }; var local_#11224 : int; var local_#11225 : int; var local_#11226 : int; var local_#11227 : int; local_#4128_str := local_#4128_str_IN; local_#4129_l := local_#4129_l_IN; local_#4130_seed := local_#4130_seed_IN; goto CFG_36381; CFG_36381: assume true; goto CFG_41650; CFG_41650: assume true; local_#11209 := ~uwrap32(local_#4129_l); assert { :LIR "60350" } { :check "overflow" } { :finding_ids "0" } true; local_#11210 := ~uxor32(local_#4130_seed, local_#11209); local_#31423_h := local_#11210; local_#11211 := 5; local_#11212 := ~lshr64(local_#4129_l, local_#11211); local_#11213 := 1; assume { :symbol "~uwrap64" } true; local_#11214 := ~uwrap64(local_#11212 + local_#11213); assert { :LIR "66439" } { :check "overflow" } { :finding_ids "0" } true; local_#31424_step := local_#11214; goto CFG_49375; CFG_49375: assume true; local_#11215 := (if local_#4129_l >= local_#31424_step then 1 else 0); if (local_#11215 != 0) { goto CFG_42359; } else { goto CFG_38160; } CFG_38160: assume true; local_#7828 := local_#31423_h; goto CFG_37292; CFG_42359: assume true; local_#11216 := 5; local_#11217 := ~shl32(local_#31423_h, local_#11216); local_#11218 := 2; local_#11219 := ~lshr32(local_#31423_h, local_#11218); assume { :symbol "~uwrap32" } true; local_#11220 := ~uwrap32(local_#11217 + local_#11219); assert { :LIR "66440" } { :check "overflow" } { :finding_ids "0" } true; local_#11221 := 1; assume { :symbol "~uwrap64" } true; local_#11222 := ~uwrap64(local_#4129_l - local_#11221); assert { :LIR "67911" } { :check "overflow" } { :finding_ids "0" } true; local_#11223 := { base : local_#4128_str!base, offset : local_#4128_str!offset + local_#11222 * 1 }; local_#11224 := ~uwrap8(_memory[local_#11223]); assert { :LIR "60351" } { :check "overflow" } { :finding_ids "0" } true; local_#11225 := ~uwrap32(local_#11224); assert { :LIR "62439" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#11226 := ~uwrap32(local_#11220 + local_#11225); assert { :LIR "66441" } { :check "overflow" } { :finding_ids "0" } true; local_#31423_h := ~uxor32(local_#31423_h, local_#11226); goto CFG_44991; CFG_44991: assume true; assume { :symbol "~uwrap64" } true; local_#4129_l := ~uwrap64(local_#4129_l - local_#31424_step); assert { :LIR "67912" } { :check "overflow" } { :finding_ids "0" } true; local_#11227 := local_#4129_l; goto CFG_49375; CFG_37292: assume true; } procedure routine_#33874_luaS_hashlongstr(local_#4131_ts_IN : { base : int, offset : int }) returns (local_#7829 : int) modifies _memory; { var local_#4131_ts : { base : int, offset : int }; var local_#11228 : int; var local_#11229 : int; var local_#11230 : int; var local_#11231 : int; var local_#11232 : int; var local_#11233 : { base : int, offset : int }; var local_#11234 : int; var local_#11235 : { base : int, offset : int }; var local_#11236 : { base : int, offset : int }; var local_#11237 : { base : int, offset : int }; var local_#11238 : int; var local_#11239 : int; var local_#11240 : int; local_#4131_ts := local_#4131_ts_IN; goto CFG_36382; CFG_36382: assume true; goto CFG_49376; CFG_49376: assume true; local_#11228 := 0; local_#11229 := 0; assert { :LIR "60352" } { :check "overflow" } { :finding_ids "0" } true; local_#11230 := _memory[{ base : local_#4131_ts!base, offset : local_#4131_ts!offset + 10 }]; assert { :LIR "62440" } { :check "overflow" } { :finding_ids "0" } local_#11230 <= 2147483647; local_#11231 := 0; local_#11232 := (if local_#11230 == local_#11231 then 1 else 0); if (local_#11232 != 0) { goto CFG_42360; } else { goto CFG_38161; } CFG_42360: assume true; local_#11233 := local_#4131_ts; assert { :LIR "60353" } { :check "overflow" } { :finding_ids "0" } true; local_#11234 := 24; local_#11235 := { base : local_#11233!base, offset : local_#11233!offset + local_#11234 * 1 }; local_#11236 := local_#11235; assert { :LIR "62441" } { :check "overflow" } { :finding_ids "0" } true; local_#11237 := { base : local_#4131_ts!base, offset : local_#4131_ts!offset + 16 }; local_#11238 := _memory[local_#11237]; local_#11239 := _memory[{ base : local_#4131_ts!base, offset : local_#4131_ts!offset + 12 }]; goto CFG_45801; CFG_45801: assume true; call local_#11240 := routine_#33873_luaS_hash(local_#11236,local_#11238,local_#11239); goto CFG_40030; CFG_40030: assume true; _memory[{ base : local_#4131_ts!base, offset : local_#4131_ts!offset + 12 }] := local_#11240; _memory[{ base : local_#4131_ts!base, offset : local_#4131_ts!offset + 10 }] := 1; goto CFG_38161; CFG_38161: assume true; local_#7829 := _memory[{ base : local_#4131_ts!base, offset : local_#4131_ts!offset + 12 }]; goto CFG_37293; CFG_37293: assume true; } procedure routine_#33875_luaS_init(local_#4132_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4132_L : { base : int, offset : int }; var local_#31425_g : { base : int, offset : int }; var local_#11241 : int; var local_#11242 : { base : int, offset : int }; var local_#11243 : { base : int, offset : int }; var local_#11244 : int; var local_#11245 : { base : int, offset : int }; var local_#11246 : { base : int, offset : int }; var local_#11247 : { base : int, offset : int }; var local_#31426_i : int; var local_#11248 : int; var local_#11249 : int; var local_#31427_j : int; var local_#11250 : int; var local_#11251 : int; var local_#11252 : int; var local_#11253 : int; var local_#11254 : int; var local_#11255 : { base : int, offset : int }; var local_#11256 : { base : int, offset : int }; var local_#11257 : { base : int, offset : int }; var local_#11258 : int; var local_#11259 : int; var local_#11260 : int; local_#4132_L := local_#4132_L_IN; goto CFG_36383; CFG_36383: assume true; goto CFG_42361; CFG_42361: assume true; local_#31425_g := _memory_ptr[{ base : local_#4132_L!base, offset : local_#4132_L!offset + 24 }]; local_#11241 := 128; goto CFG_45802; CFG_45802: assume true; call routine_#33880_luaS_resize(local_#4132_L,local_#11241); goto CFG_42362; CFG_42362: assume true; assume _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 0 }] == 110 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 1 }] == 111 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 2 }] == 116 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 3 }] == 32 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 4 }] == 101 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 5 }] == 110 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 6 }] == 111 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 7 }] == 117 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 8 }] == 103 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 9 }] == 104 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 10 }] == 32 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 11 }] == 109 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 12 }] == 101 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 13 }] == 109 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 14 }] == 111 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 15 }] == 114 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 16 }] == 121 && _memory[{ base : strlit_#70368!base, offset : strlit_#70368!offset + 17 }] == 0; local_#11242 := strlit_#70368; local_#11243 := { base : local_#11242!base, offset : local_#11242!offset + 0 * 1 }; assert { :LIR "62442" } { :check "overflow" } { :finding_ids "0" } true; local_#11244 := 17; goto CFG_45803; CFG_45803: assume true; call local_#11245 := routine_#33877_luaS_newlstr(local_#4132_L,local_#11243,local_#11244); goto CFG_42363; CFG_42363: assume true; _memory_ptr[{ base : local_#31425_g!base, offset : local_#31425_g!offset + 216 }] := local_#11245; local_#11246 := _memory_ptr[{ base : local_#31425_g!base, offset : local_#31425_g!offset + 216 }]; assert { :LIR "60354" } { :check "overflow" } { :finding_ids "0" } true; local_#11247 := { base : local_#11246!base, offset : local_#11246!offset + 0 }; goto CFG_45804; CFG_45804: assume true; call routine_#33723_luaC_fix(local_#4132_L,local_#11247); goto CFG_41651; CFG_41651: assume true; local_#31426_i := 0; goto CFG_49377; CFG_49377: assume true; local_#11248 := 53; local_#11249 := (if local_#31426_i < local_#11248 then 1 else 0); if (local_#11249 != 0) { goto CFG_41652; } else { goto CFG_39162; } CFG_39162: assume true; goto CFG_37294; CFG_41652: assume true; local_#31427_j := 0; goto CFG_49378; CFG_49378: assume true; local_#11250 := 2; local_#11251 := (if local_#31427_j < local_#11250 then 1 else 0); if (local_#11251 != 0) { goto CFG_42364; } else { goto CFG_44992; } CFG_44992: assume true; local_#11252 := local_#31426_i; local_#11253 := 1; local_#31426_i := local_#11252 + local_#11253; assert { :LIR "66442" } { :check "overflow" } { :finding_ids "0" } local_#31426_i <= 2147483647; local_#11254 := local_#11252; goto CFG_49377; CFG_42364: assume true; local_#11255 := { base : local_#31425_g!base, offset : local_#31425_g!offset + 488 }; local_#11256 := { base : local_#11255!base, offset : local_#11255!offset + 0 * 16 + local_#31426_i * 16 }; local_#11257 := { base : local_#11256!base, offset : local_#11256!offset + 0 * 8 + local_#31427_j * 8 }; _memory_ptr[local_#11257] := _memory_ptr[{ base : local_#31425_g!base, offset : local_#31425_g!offset + 216 }]; goto CFG_44993; CFG_44993: assume true; local_#11258 := local_#31427_j; local_#11259 := 1; local_#31427_j := local_#11258 + local_#11259; assert { :LIR "66443" } { :check "overflow" } { :finding_ids "0" } local_#31427_j <= 2147483647; local_#11260 := local_#11258; goto CFG_49378; CFG_37294: assume true; } procedure routine_#33876_luaS_new(local_#4133_L_IN : { base : int, offset : int }, local_#4134_str_IN : { base : int, offset : int }) returns (local_#7830 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4133_L : { base : int, offset : int }; var local_#4134_str : { base : int, offset : int }; var nondet_#0 : int; var local_#11261 : int; var local_#11262 : int; var local_#11263 : int; var local_#11264 : int; var local_#11265 : int; var local_#11266 : int; var local_#31428_i : int; var local_#11267 : { base : int, offset : int }; var local_#11268 : { base : int, offset : int }; var local_#11269 : { base : int, offset : int }; var local_#31430_p : { base : int, offset : int }; var local_#31429_j : int; var local_#11270 : int; var local_#11271 : int; var local_#11272 : int; var local_#11273 : int; var local_#11274 : int; var local_#11275 : { base : int, offset : int }; var local_#11276 : int; var local_#11277 : { base : int, offset : int }; var local_#11278 : int; var local_#11279 : { base : int, offset : int }; var local_#11280 : int; var local_#11281 : int; var local_#11282 : { base : int, offset : int }; var local_#11283 : { base : int, offset : int }; var local_#11284 : int; var local_#11285 : int; var local_#11286 : int; var local_#11287 : { base : int, offset : int }; var local_#11288 : { base : int, offset : int }; var local_#11289 : int; var local_#11290 : { base : int, offset : int }; var local_#11291 : { base : int, offset : int }; var local_#11292 : int; var local_#11293 : int; var local_#11294 : int; var local_#11295 : int; var local_#11296 : int; var local_#11297 : int; var local_#11298 : { base : int, offset : int }; local_#4133_L := local_#4133_L_IN; local_#4134_str := local_#4134_str_IN; goto CFG_36384; CFG_36384: assume true; goto CFG_41653; CFG_41653: assume true; havoc nondet_#0; local_#11261 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType801 is not supported in conversion 60355 */; assert { :LIR "60355" } { :check "overflow" } { :finding_ids "0" } true; local_#11262 := 4294967295; local_#11263 := ~uand64(local_#11261, local_#11262); local_#11264 := ~uwrap32(local_#11263); assert { :LIR "60356" } { :check "overflow" } { :finding_ids "0" } true; local_#11265 := 53; local_#11266 := local_#11264 % local_#11265; local_#31428_i := local_#11266; local_#11267 := _memory_ptr[{ base : local_#4133_L!base, offset : local_#4133_L!offset + 24 }]; local_#11268 := { base : local_#11267!base, offset : local_#11267!offset + 488 }; local_#11269 := { base : local_#11268!base, offset : local_#11268!offset + 0 * 16 + local_#31428_i * 16 }; local_#31430_p := { base : local_#11269!base, offset : local_#11269!offset + 0 * 8 }; local_#31429_j := 0; goto CFG_49379; CFG_49379: assume true; local_#11270 := 2; local_#11271 := (if local_#31429_j < local_#11270 then 1 else 0); if (local_#11271 != 0) { goto CFG_42366; } else { goto CFG_41654; } CFG_41654: assume true; local_#31429_j := 1; goto CFG_49380; CFG_49380: assume true; local_#11272 := 0; local_#11273 := (if local_#31429_j > local_#11272 then 1 else 0); if (local_#11273 != 0) { goto CFG_42365; } else { goto CFG_45805; } CFG_45805: assume true; call local_#11274 := routine_#34454_strlen(local_#4134_str); goto CFG_45806; CFG_45806: assume true; call local_#11275 := routine_#33877_luaS_newlstr(local_#4133_L,local_#4134_str,local_#11274); goto CFG_38162; CFG_38162: assume true; local_#11276 := 0; local_#11277 := { base : local_#31430_p!base, offset : local_#31430_p!offset + local_#11276 * 8 }; _memory_ptr[local_#11277] := local_#11275; local_#11278 := 0; local_#11279 := { base : local_#31430_p!base, offset : local_#31430_p!offset + local_#11278 * 8 }; local_#7830 := _memory_ptr[local_#11279]; goto CFG_37295; CFG_42365: assume true; local_#11280 := 1; local_#11281 := local_#31429_j - local_#11280; assert { :LIR "67913" } { :check "overflow" } { :finding_ids "0" } local_#11281 <= 2147483647; local_#11282 := { base : local_#31430_p!base, offset : local_#31430_p!offset + local_#11281 * 8 }; local_#11283 := { base : local_#31430_p!base, offset : local_#31430_p!offset + local_#31429_j * 8 }; _memory_ptr[local_#11283] := _memory_ptr[local_#11282]; goto CFG_44994; CFG_44994: assume true; local_#11284 := local_#31429_j; local_#11285 := 1; local_#31429_j := local_#11284 - local_#11285; assert { :LIR "67914" } { :check "overflow" } { :finding_ids "0" } local_#31429_j <= 2147483647; local_#11286 := local_#11284; goto CFG_49380; CFG_42366: assume true; local_#11287 := { base : local_#31430_p!base, offset : local_#31430_p!offset + local_#31429_j * 8 }; local_#11288 := _memory_ptr[local_#11287]; assert { :LIR "60357" } { :check "overflow" } { :finding_ids "0" } true; local_#11289 := 24; local_#11290 := { base : local_#11288!base, offset : local_#11288!offset + local_#11289 * 1 }; local_#11291 := local_#11290; assert { :LIR "62443" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45807; CFG_45807: assume true; call local_#11292 := routine_#34446_strcmp(local_#4134_str,local_#11291); goto CFG_49381; CFG_49381: assume true; local_#11293 := 0; local_#11294 := (if local_#11292 == local_#11293 then 1 else 0); if (local_#11294 != 0) { goto CFG_38163; } else { goto CFG_44995; } CFG_44995: assume true; local_#11295 := local_#31429_j; local_#11296 := 1; local_#31429_j := local_#11295 + local_#11296; assert { :LIR "66444" } { :check "overflow" } { :finding_ids "0" } local_#31429_j <= 2147483647; local_#11297 := local_#11295; goto CFG_49379; CFG_38163: assume true; local_#11298 := { base : local_#31430_p!base, offset : local_#31430_p!offset + local_#31429_j * 8 }; local_#7830 := _memory_ptr[local_#11298]; goto CFG_37295; CFG_37295: assume true; } procedure routine_#33877_luaS_newlstr(local_#4135_L_IN : { base : int, offset : int }, local_#4136_str_IN : { base : int, offset : int }, local_#4137_l_IN : int) returns (local_#7831 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4135_L : { base : int, offset : int }; var local_#4136_str : { base : int, offset : int }; var local_#4137_l : int; var local_#11299 : int; var local_#11300 : int; var local_#11301 : int; var local_#11302 : int; var local_#11303 : { base : int, offset : int }; var local_#31431_ts : { base : int, offset : int }; var local_#11304 : { base : int, offset : int }; var local_#11305 : int; var local_#11306 : { base : int, offset : int }; var local_#11307 : { base : int, offset : int }; var local_#11308 : { base : int, offset : int }; var local_#11309 : int; var local_#11310 : int; var local_#11311 : { base : int, offset : int }; var local_#11312 : { base : int, offset : int }; local_#4135_L := local_#4135_L_IN; local_#4136_str := local_#4136_str_IN; local_#4137_l := local_#4137_l_IN; goto CFG_36385; CFG_36385: assume true; goto CFG_49382; CFG_49382: assume true; local_#11299 := 40; local_#11300 := (if local_#4137_l <= local_#11299 then 1 else 0); if (local_#11300 != 0) { goto CFG_45811; } else { goto CFG_49383; } CFG_49383: assume true; local_#11301 := 9223372036854775783; local_#11302 := (if local_#4137_l >= local_#11301 then 1 else 0); if (local_#11302 != 0) { goto CFG_45810; } else { goto CFG_45808; } CFG_45808: assume true; call local_#11303 := routine_#33871_luaS_createlngstrobj(local_#4135_L,local_#4137_l); goto CFG_42367; CFG_42367: assume true; local_#31431_ts := local_#11303; local_#11304 := local_#31431_ts; assert { :LIR "60358" } { :check "overflow" } { :finding_ids "0" } true; local_#11305 := 24; local_#11306 := { base : local_#11304!base, offset : local_#11304!offset + local_#11305 * 1 }; local_#11307 := local_#11306; assert { :LIR "62444" } { :check "overflow" } { :finding_ids "0" } true; local_#11308 := local_#4136_str; assert { :LIR "62445" } { :check "overflow" } { :finding_ids "0" } true; local_#11309 := 1; assume { :symbol "~uwrap64" } true; local_#11310 := ~uwrap64(local_#4137_l * local_#11309); assert { :LIR "68524" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45809; CFG_45809: assume true; call local_#11311 := routine_#34026_memcpy(local_#11307,local_#11308,local_#11310); goto CFG_38164; CFG_38164: assume true; local_#7831 := local_#31431_ts; goto CFG_37296; CFG_45810: assume true; call routine_#33858_luaM_toobig(local_#4135_L); CFG_45811: assume true; call local_#11312 := routine_#34816_internshrstr(local_#4135_L,local_#4136_str,local_#4137_l); goto CFG_38165; CFG_38165: assume true; local_#7831 := local_#11312; goto CFG_37296; CFG_37296: assume true; } procedure routine_#33878_luaS_newudata(local_#4138_L_IN : { base : int, offset : int }, local_#4139_s_IN : int) returns (local_#7832 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4138_L : { base : int, offset : int }; var local_#4139_s : int; var local_#11313 : int; var local_#11314 : int; var local_#11315 : int; var local_#11316 : int; var local_#11317 : int; var local_#11318 : { base : int, offset : int }; var local_#31432_o : { base : int, offset : int }; var local_#11319 : { base : int, offset : int }; var local_#11320 : { base : int, offset : int }; var local_#31433_u : { base : int, offset : int }; var local_#31434_io : { base : int, offset : int }; var local_#31435_iu : { base : int, offset : int }; var local_#11321 : int; var local_#11322 : int; var local_#11323 : int; local_#4138_L := local_#4138_L_IN; local_#4139_s := local_#4139_s_IN; goto CFG_36386; CFG_36386: assume true; goto CFG_49384; CFG_49384: assume true; local_#11313 := 9223372036854775767; local_#11314 := (if local_#4139_s > local_#11313 then 1 else 0); if (local_#11314 != 0) { goto CFG_45813; } else { goto CFG_42368; } CFG_42368: assume true; local_#11315 := 7; local_#11316 := 40; assume { :symbol "~uwrap64" } true; local_#11317 := ~uwrap64(local_#11316 + local_#4139_s); assert { :LIR "66445" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45812; CFG_45812: assume true; call local_#11318 := routine_#33726_luaC_newobj(local_#4138_L,local_#11315,local_#11317); goto CFG_38166; CFG_38166: assume true; local_#31432_o := local_#11318; local_#11319 := local_#31432_o; assert { :LIR "60359" } { :check "overflow" } { :finding_ids "0" } true; local_#11320 := { base : local_#11319!base, offset : local_#11319!offset + 0 }; local_#31433_u := local_#11320; _memory[{ base : local_#31433_u!base, offset : local_#31433_u!offset + 24 }] := local_#4139_s; _memory_ptr[{ base : local_#31433_u!base, offset : local_#31433_u!offset + 16 }] := { base : 0, offset : 0 }; local_#31434_io := global_#33098_luaO_nilobject_; local_#31435_iu := local_#31433_u; assume read_type_#120(_memory, _memory_ptr, { base : local_#31434_io!base, offset : local_#31434_io!offset + 0 })!_b == _memory[{ base : local_#31434_io!base, offset : local_#31434_io!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31434_io!base, offset : local_#31434_io!offset + 0 })!_f == _memory_ptr[{ base : local_#31434_io!base, offset : local_#31434_io!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31434_io!base, offset : local_#31434_io!offset + 0 })!_gc == _memory_ptr[{ base : local_#31434_io!base, offset : local_#31434_io!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31434_io!base, offset : local_#31434_io!offset + 0 })!_i == _memory[{ base : local_#31434_io!base, offset : local_#31434_io!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, { base : local_#31434_io!base, offset : local_#31434_io!offset + 0 })!_p == _memory_ptr[{ base : local_#31434_io!base, offset : local_#31434_io!offset + 0 + 0 }]; call write_type_#120({ base : local_#31435_iu!base, offset : local_#31435_iu!offset + 32 },read_type_#120(_memory, _memory_ptr, { base : local_#31434_io!base, offset : local_#31434_io!offset + 0 })); local_#11321 := ~uwrap8(_memory[{ base : local_#31434_io!base, offset : local_#31434_io!offset + 8 }]); assert { :LIR "62446" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31435_iu!base, offset : local_#31435_iu!offset + 10 }] := local_#11321; local_#11322 := 0; local_#11323 := 0; assert { :LIR "60360" } { :check "overflow" } { :finding_ids "0" } true; local_#7832 := local_#31433_u; goto CFG_37297; CFG_45813: assume true; call routine_#33858_luaM_toobig(local_#4138_L); CFG_37297: assume true; } procedure routine_#33879_luaS_remove(local_#4140_L_IN : { base : int, offset : int }, local_#4141_ts_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4140_L : { base : int, offset : int }; var local_#4141_ts : { base : int, offset : int }; var local_#11324 : { base : int, offset : int }; var local_#31437_tb : { base : int, offset : int }; var local_#11325 : int; var local_#11326 : int; var local_#11327 : int; var local_#11328 : int; var local_#11329 : int; var local_#11330 : { base : int, offset : int }; var local_#31436_p : { base : int, offset : int }; var local_#11331 : int; var local_#11332 : { base : int, offset : int }; var local_#11333 : { base : int, offset : int }; var local_#11334 : int; var local_#11335 : int; var local_#11336 : int; var local_#11337 : { base : int, offset : int }; var local_#11338 : { base : int, offset : int }; local_#4140_L := local_#4140_L_IN; local_#4141_ts := local_#4141_ts_IN; goto CFG_36387; CFG_36387: assume true; goto CFG_41655; CFG_41655: assume true; local_#11324 := _memory_ptr[{ base : local_#4140_L!base, offset : local_#4140_L!offset + 24 }]; local_#31437_tb := { base : local_#11324!base, offset : local_#11324!offset + 48 }; local_#11325 := 1; local_#11326 := _memory[{ base : local_#31437_tb!base, offset : local_#31437_tb!offset + 12 }] - local_#11325; assert { :LIR "67915" } { :check "overflow" } { :finding_ids "0" } local_#11326 <= 2147483647; local_#11327 := ~uwrap32(local_#11326); assert { :LIR "62447" } { :check "overflow" } { :finding_ids "0" } true; local_#11328 := ~uand32(_memory[{ base : local_#4141_ts!base, offset : local_#4141_ts!offset + 12 }], local_#11327); local_#11329 := local_#11328; assert { :LIR "60361" } { :check "overflow" } { :finding_ids "0" } local_#11329 <= 2147483647; local_#11330 := { base : _memory_ptr[{ base : local_#31437_tb!base, offset : local_#31437_tb!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#31437_tb!base, offset : local_#31437_tb!offset + 0 }]!offset + local_#11329 * 8 }; local_#31436_p := local_#11330; goto CFG_49385; CFG_49385: assume true; local_#11331 := (if _memory_ptr[local_#31436_p] != local_#4141_ts then 1 else 0); if (local_#11331 != 0) { goto CFG_44996; } else { goto CFG_39163; } CFG_39163: assume true; local_#11332 := _memory_ptr[local_#31436_p]; local_#11333 := { base : local_#11332!base, offset : local_#11332!offset + 16 }; _memory_ptr[local_#31436_p] := _memory_ptr[local_#11333]; local_#11334 := _memory[{ base : local_#31437_tb!base, offset : local_#31437_tb!offset + 8 }]; local_#11335 := 1; _memory[{ base : local_#31437_tb!base, offset : local_#31437_tb!offset + 8 }] := local_#11334 - local_#11335; assert { :LIR "67916" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#31437_tb!base, offset : local_#31437_tb!offset + 8 }] <= -1; local_#11336 := local_#11334; goto CFG_37298; CFG_44996: assume true; local_#11337 := _memory_ptr[local_#31436_p]; local_#11338 := { base : local_#11337!base, offset : local_#11337!offset + 16 }; local_#31436_p := local_#11338; goto CFG_49385; CFG_37298: assume true; } procedure routine_#33880_luaS_resize(local_#4142_L_IN : { base : int, offset : int }, local_#4143_newsize_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4142_L : { base : int, offset : int }; var local_#4143_newsize : int; var local_#11339 : { base : int, offset : int }; var local_#31439_tb : { base : int, offset : int }; var local_#11340 : int; var local_#11341 : int; var local_#11342 : int; var local_#11343 : int; var local_#11344 : int; var local_#11345 : int; var local_#11346 : int; var local_#11347 : int; var local_#11348 : int; var local_#11349 : { base : int, offset : int }; var local_#11350 : int; var local_#11351 : int; var local_#11352 : int; var local_#11353 : int; var local_#11354 : int; var local_#11355 : int; var local_#11356 : { base : int, offset : int }; var local_#11357 : { base : int, offset : int }; var local_#31438_i : int; var local_#11358 : int; var local_#11359 : int; var local_#11360 : int; var local_#11361 : int; var local_#11362 : int; var local_#11363 : int; var local_#11364 : int; var local_#11365 : int; var local_#11366 : int; var local_#11367 : int; var local_#11368 : int; var local_#11369 : int; var local_#11370 : int; var local_#11371 : { base : int, offset : int }; var local_#11372 : int; var local_#11373 : int; var local_#11374 : int; var local_#11375 : int; var local_#11376 : int; var local_#11377 : int; var local_#11378 : { base : int, offset : int }; var local_#11379 : { base : int, offset : int }; var local_#11380 : { base : int, offset : int }; var local_#31440_p : { base : int, offset : int }; var local_#11381 : { base : int, offset : int }; var local_#11382 : { base : int, offset : int }; var local_#11383 : { base : int, offset : int }; var local_#11384 : int; var local_#11385 : int; var local_#11386 : int; var local_#11387 : { base : int, offset : int }; var local_#31442_hnext : { base : int, offset : int }; var local_#11388 : int; var local_#11389 : int; var local_#11390 : int; var local_#11391 : int; var local_#11392 : int; var local_#11393 : int; var local_#31441_h : int; var local_#11394 : { base : int, offset : int }; var local_#11395 : { base : int, offset : int }; var local_#11396 : { base : int, offset : int }; var local_#11397 : { base : int, offset : int }; var local_#11398 : { base : int, offset : int }; var local_#11399 : int; var local_#11400 : int; var local_#11401 : int; local_#4142_L := local_#4142_L_IN; local_#4143_newsize := local_#4143_newsize_IN; goto CFG_36388; CFG_36388: assume true; goto CFG_49386; CFG_49386: assume true; local_#11339 := _memory_ptr[{ base : local_#4142_L!base, offset : local_#4142_L!offset + 24 }]; local_#31439_tb := { base : local_#11339!base, offset : local_#11339!offset + 48 }; local_#11340 := (if local_#4143_newsize > _memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }] then 1 else 0); if (local_#11340 != 0) { goto CFG_49387; } else { goto CFG_41657; } CFG_49387: assume true; local_#11341 := 0; if (local_#11341 != 0) { goto CFG_49388; } else { goto CFG_40031; } CFG_49388: assume true; local_#11342 := ~uwrap64(local_#4143_newsize); assert { :LIR "60362" } { :check "overflow" } { :finding_ids "0" } true; local_#11343 := 1; assume { :symbol "~uwrap64" } true; local_#11344 := ~uwrap64(local_#11342 + local_#11343); assert { :LIR "66446" } { :check "overflow" } { :finding_ids "0" } true; local_#11345 := 2305843009213693951; local_#11346 := (if local_#11344 > local_#11345 then 1 else 0); if (local_#11346 != 0) { goto CFG_45817; } else { goto CFG_40031; } CFG_40031: assume true; local_#11347 := 0; local_#11348 := 0; assert { :LIR "60363" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42369; CFG_42369: assume true; local_#11349 := _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]; assert { :LIR "62448" } { :check "overflow" } { :finding_ids "0" } true; local_#11350 := ~uwrap64(_memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }]); assert { :LIR "62449" } { :check "overflow" } { :finding_ids "0" } true; local_#11351 := 8; assume { :symbol "~uwrap64" } true; local_#11352 := ~uwrap64(local_#11350 * local_#11351); assert { :LIR "68525" } { :check "overflow" } { :finding_ids "0" } true; local_#11353 := ~uwrap64(local_#4143_newsize); assert { :LIR "62450" } { :check "overflow" } { :finding_ids "0" } true; local_#11354 := 8; assume { :symbol "~uwrap64" } true; local_#11355 := ~uwrap64(local_#11353 * local_#11354); assert { :LIR "68526" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45814; CFG_45814: assume true; call local_#11356 := routine_#33857_luaM_realloc_(local_#4142_L,local_#11349,local_#11352,local_#11355); goto CFG_41656; CFG_41656: assume true; local_#11357 := local_#11356; assert { :LIR "60364" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }] := local_#11357; local_#31438_i := _memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }]; goto CFG_49389; CFG_49389: assume true; local_#11358 := (if local_#31438_i < local_#4143_newsize then 1 else 0); if (local_#11358 != 0) { goto CFG_42371; } else { goto CFG_40032; } CFG_40032: assume true; goto CFG_41657; CFG_41657: assume true; local_#31438_i := 0; goto CFG_49390; CFG_49390: assume true; local_#11359 := (if local_#31438_i < _memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }] then 1 else 0); if (local_#11359 != 0) { goto CFG_41658; } else { goto CFG_49391; } CFG_49391: assume true; local_#11360 := (if local_#4143_newsize < _memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }] then 1 else 0); if (local_#11360 != 0) { goto CFG_49392; } else { goto CFG_39164; } CFG_49392: assume true; local_#11361 := 0; local_#11362 := 0; assert { :LIR "60365" } { :check "overflow" } { :finding_ids "0" } true; local_#11363 := 0; if (local_#11363 != 0) { goto CFG_49393; } else { goto CFG_40033; } CFG_49393: assume true; local_#11364 := ~uwrap64(local_#4143_newsize); assert { :LIR "60366" } { :check "overflow" } { :finding_ids "0" } true; local_#11365 := 1; assume { :symbol "~uwrap64" } true; local_#11366 := ~uwrap64(local_#11364 + local_#11365); assert { :LIR "66447" } { :check "overflow" } { :finding_ids "0" } true; local_#11367 := 2305843009213693951; local_#11368 := (if local_#11366 > local_#11367 then 1 else 0); if (local_#11368 != 0) { goto CFG_45816; } else { goto CFG_40033; } CFG_40033: assume true; local_#11369 := 0; local_#11370 := 0; assert { :LIR "60367" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42370; CFG_42370: assume true; local_#11371 := _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]; assert { :LIR "62451" } { :check "overflow" } { :finding_ids "0" } true; local_#11372 := ~uwrap64(_memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }]); assert { :LIR "62452" } { :check "overflow" } { :finding_ids "0" } true; local_#11373 := 8; assume { :symbol "~uwrap64" } true; local_#11374 := ~uwrap64(local_#11372 * local_#11373); assert { :LIR "68527" } { :check "overflow" } { :finding_ids "0" } true; local_#11375 := ~uwrap64(local_#4143_newsize); assert { :LIR "62453" } { :check "overflow" } { :finding_ids "0" } true; local_#11376 := 8; assume { :symbol "~uwrap64" } true; local_#11377 := ~uwrap64(local_#11375 * local_#11376); assert { :LIR "68528" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45815; CFG_45815: assume true; call local_#11378 := routine_#33857_luaM_realloc_(local_#4142_L,local_#11371,local_#11374,local_#11377); goto CFG_40034; CFG_40034: assume true; local_#11379 := local_#11378; assert { :LIR "60368" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }] := local_#11379; goto CFG_39164; CFG_39164: assume true; _memory[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 12 }] := local_#4143_newsize; goto CFG_37299; CFG_45816: assume true; call routine_#33858_luaM_toobig(local_#4142_L); CFG_41658: assume true; local_#11380 := { base : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!offset + local_#31438_i * 8 }; local_#31440_p := _memory_ptr[local_#11380]; local_#11381 := { base : 0, offset : 0 }; local_#11382 := { base : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!offset + local_#31438_i * 8 }; _memory_ptr[local_#11382] := local_#11381; goto CFG_49394; CFG_49394: assume true; local_#11383 := local_#31440_p; if (local_#11383 != { base : 0, offset : 0 }) { goto CFG_44998; } else { goto CFG_44997; } CFG_44997: assume true; local_#11384 := local_#31438_i; local_#11385 := 1; local_#31438_i := local_#11384 + local_#11385; assert { :LIR "66448" } { :check "overflow" } { :finding_ids "0" } local_#31438_i <= 2147483647; local_#11386 := local_#11384; goto CFG_49390; CFG_44998: assume true; local_#11387 := { base : local_#31440_p!base, offset : local_#31440_p!offset + 16 }; local_#31442_hnext := _memory_ptr[local_#11387]; local_#11388 := 1; local_#11389 := local_#4143_newsize - local_#11388; assert { :LIR "67917" } { :check "overflow" } { :finding_ids "0" } local_#11389 <= 2147483647; local_#11390 := ~uwrap32(local_#11389); assert { :LIR "62454" } { :check "overflow" } { :finding_ids "0" } true; local_#11391 := ~uand32(_memory[{ base : local_#31440_p!base, offset : local_#31440_p!offset + 12 }], local_#11390); local_#11392 := local_#11391; assert { :LIR "60369" } { :check "overflow" } { :finding_ids "0" } local_#11392 <= 2147483647; local_#11393 := ~uwrap32(local_#11392); assert { :LIR "62455" } { :check "overflow" } { :finding_ids "0" } true; local_#31441_h := local_#11393; local_#11394 := { base : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!offset + local_#31441_h * 8 }; local_#11395 := { base : local_#31440_p!base, offset : local_#31440_p!offset + 16 }; _memory_ptr[local_#11395] := _memory_ptr[local_#11394]; local_#11396 := { base : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!offset + local_#31441_h * 8 }; _memory_ptr[local_#11396] := local_#31440_p; local_#31440_p := local_#31442_hnext; goto CFG_49394; CFG_42371: assume true; local_#11397 := { base : 0, offset : 0 }; local_#11398 := { base : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#31439_tb!base, offset : local_#31439_tb!offset + 0 }]!offset + local_#31438_i * 8 }; _memory_ptr[local_#11398] := local_#11397; goto CFG_44999; CFG_44999: assume true; local_#11399 := local_#31438_i; local_#11400 := 1; local_#31438_i := local_#11399 + local_#11400; assert { :LIR "66449" } { :check "overflow" } { :finding_ids "0" } local_#31438_i <= 2147483647; local_#11401 := local_#11399; goto CFG_49389; CFG_45817: assume true; call routine_#33858_luaM_toobig(local_#4142_L); CFG_40035: assume true; goto CFG_42369; CFG_40036: assume true; goto CFG_42370; CFG_37299: assume true; } procedure routine_#33881_luaT_callTM(local_#4144_L_IN : { base : int, offset : int }, local_#4145_f_IN : { base : int, offset : int }, local_#4146_p1_IN : { base : int, offset : int }, local_#4147_p2_IN : { base : int, offset : int }, local_#4148_p3_IN : { base : int, offset : int }, local_#4149_hasres_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4144_L : { base : int, offset : int }; var local_#4145_f : { base : int, offset : int }; var local_#4146_p1 : { base : int, offset : int }; var local_#4147_p2 : { base : int, offset : int }; var local_#4148_p3 : { base : int, offset : int }; var local_#4149_hasres : int; var local_#11402 : { base : int, offset : int }; var local_#11403 : { base : int, offset : int }; var local_#11404 : int; var local_#31444_result : int; var local_#31443_func : { base : int, offset : int }; var local_#31445_io1 : { base : int, offset : int }; var local_#11405 : int; var local_#11406 : int; var local_#11407 : int; var local_#11408 : int; var local_#11409 : { base : int, offset : int }; var local_#31446_io1 : { base : int, offset : int }; var local_#11410 : int; var local_#11411 : int; var local_#11412 : int; var local_#11413 : int; var local_#11414 : { base : int, offset : int }; var local_#31447_io1 : { base : int, offset : int }; var local_#11415 : int; var local_#11416 : int; var local_#11417 : int; var local_#11418 : int; var local_#11419 : int; var local_#11420 : { base : int, offset : int }; var local_#11421 : int; var local_#31448_io1 : { base : int, offset : int }; var local_#11422 : int; var local_#11423 : int; var local_#11424 : int; var local_#11425 : { base : int, offset : int }; var local_#11426 : int; var local_#11427 : int; var local_#11428 : int; var local_#11429 : int; var local_#11430 : { base : int, offset : int }; var local_#11431 : { base : int, offset : int }; var local_#11432 : { base : int, offset : int }; var local_#31449_io1 : { base : int, offset : int }; var local_#11433 : int; var local_#11434 : { base : int, offset : int }; var local_#11435 : int; var local_#11436 : int; var local_#11437 : int; local_#4144_L := local_#4144_L_IN; local_#4145_f := local_#4145_f_IN; local_#4146_p1 := local_#4146_p1_IN; local_#4147_p2 := local_#4147_p2_IN; local_#4148_p3 := local_#4148_p3_IN; local_#4149_hasres := local_#4149_hasres_IN; goto CFG_36389; CFG_36389: assume true; goto CFG_49395; CFG_49395: assume true; local_#11402 := local_#4148_p3; assert { :LIR "60370" } { :check "overflow" } { :finding_ids "0" } true; local_#11403 := _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 56 }]; assert { :LIR "60371" } { :check "overflow" } { :finding_ids "0" } true; local_#11404 := (local_#11402!offset - local_#11403!offset) / 1; local_#31444_result := local_#11404; local_#31443_func := _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]; local_#31445_io1 := local_#31443_func; assume read_type_#101(_memory, _memory_ptr, local_#4145_f)!_value_!_b == _memory[{ base : local_#4145_f!base, offset : local_#4145_f!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4145_f)!_value_!_f == _memory_ptr[{ base : local_#4145_f!base, offset : local_#4145_f!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4145_f)!_value_!_gc == _memory_ptr[{ base : local_#4145_f!base, offset : local_#4145_f!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4145_f)!_value_!_i == _memory[{ base : local_#4145_f!base, offset : local_#4145_f!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4145_f)!_value_!_p == _memory_ptr[{ base : local_#4145_f!base, offset : local_#4145_f!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4145_f)!_tt_ == _memory[{ base : local_#4145_f!base, offset : local_#4145_f!offset + 8 }]; call write_type_#101(local_#31445_io1,read_type_#101(_memory, _memory_ptr, local_#4145_f)); local_#11405 := 0; assert { :LIR "60372" } { :check "overflow" } { :finding_ids "0" } true; local_#11406 := 0; local_#11407 := 0; assert { :LIR "60373" } { :check "overflow" } { :finding_ids "0" } true; local_#11408 := 1; local_#11409 := { base : local_#31443_func!base, offset : local_#31443_func!offset + local_#11408 * 16 }; local_#31446_io1 := local_#11409; assume read_type_#101(_memory, _memory_ptr, local_#4146_p1)!_value_!_b == _memory[{ base : local_#4146_p1!base, offset : local_#4146_p1!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4146_p1)!_value_!_f == _memory_ptr[{ base : local_#4146_p1!base, offset : local_#4146_p1!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4146_p1)!_value_!_gc == _memory_ptr[{ base : local_#4146_p1!base, offset : local_#4146_p1!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4146_p1)!_value_!_i == _memory[{ base : local_#4146_p1!base, offset : local_#4146_p1!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4146_p1)!_value_!_p == _memory_ptr[{ base : local_#4146_p1!base, offset : local_#4146_p1!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4146_p1)!_tt_ == _memory[{ base : local_#4146_p1!base, offset : local_#4146_p1!offset + 8 }]; call write_type_#101(local_#31446_io1,read_type_#101(_memory, _memory_ptr, local_#4146_p1)); local_#11410 := 0; assert { :LIR "60374" } { :check "overflow" } { :finding_ids "0" } true; local_#11411 := 0; local_#11412 := 0; assert { :LIR "60375" } { :check "overflow" } { :finding_ids "0" } true; local_#11413 := 2; local_#11414 := { base : local_#31443_func!base, offset : local_#31443_func!offset + local_#11413 * 16 }; local_#31447_io1 := local_#11414; assume read_type_#101(_memory, _memory_ptr, local_#4147_p2)!_value_!_b == _memory[{ base : local_#4147_p2!base, offset : local_#4147_p2!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4147_p2)!_value_!_f == _memory_ptr[{ base : local_#4147_p2!base, offset : local_#4147_p2!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4147_p2)!_value_!_gc == _memory_ptr[{ base : local_#4147_p2!base, offset : local_#4147_p2!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4147_p2)!_value_!_i == _memory[{ base : local_#4147_p2!base, offset : local_#4147_p2!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4147_p2)!_value_!_p == _memory_ptr[{ base : local_#4147_p2!base, offset : local_#4147_p2!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4147_p2)!_tt_ == _memory[{ base : local_#4147_p2!base, offset : local_#4147_p2!offset + 8 }]; call write_type_#101(local_#31447_io1,read_type_#101(_memory, _memory_ptr, local_#4147_p2)); local_#11415 := 0; assert { :LIR "60376" } { :check "overflow" } { :finding_ids "0" } true; local_#11416 := 0; local_#11417 := 0; assert { :LIR "60377" } { :check "overflow" } { :finding_ids "0" } true; local_#11418 := 3; _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]!offset + local_#11418 * 16 }; local_#11419 := (if local_#4149_hasres != 0 then 0 else 1); if (local_#11419 != 0) { goto CFG_40037; } else { goto CFG_49396; } CFG_40037: assume true; local_#11420 := _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]; local_#11421 := 1; _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }] := { base : local_#11420!base, offset : local_#11420!offset + local_#11421 * 16 }; local_#31448_io1 := local_#11420; assume read_type_#101(_memory, _memory_ptr, local_#4148_p3)!_value_!_b == _memory[{ base : local_#4148_p3!base, offset : local_#4148_p3!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4148_p3)!_value_!_f == _memory_ptr[{ base : local_#4148_p3!base, offset : local_#4148_p3!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4148_p3)!_value_!_gc == _memory_ptr[{ base : local_#4148_p3!base, offset : local_#4148_p3!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4148_p3)!_value_!_i == _memory[{ base : local_#4148_p3!base, offset : local_#4148_p3!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4148_p3)!_value_!_p == _memory_ptr[{ base : local_#4148_p3!base, offset : local_#4148_p3!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4148_p3)!_tt_ == _memory[{ base : local_#4148_p3!base, offset : local_#4148_p3!offset + 8 }]; call write_type_#101(local_#31448_io1,read_type_#101(_memory, _memory_ptr, local_#4148_p3)); local_#11422 := 0; assert { :LIR "60378" } { :check "overflow" } { :finding_ids "0" } true; local_#11423 := 0; local_#11424 := 0; assert { :LIR "60379" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49396; CFG_49396: assume true; local_#11425 := _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 32 }]; local_#11426 := _memory[{ base : local_#11425!base, offset : local_#11425!offset + 66 }]; assert { :LIR "62456" } { :check "overflow" } { :finding_ids "0" } local_#11426 <= 2147483647; local_#11427 := 2; local_#11428 := ~sand32(local_#11426, local_#11427); if (local_#11428 != 0) { goto CFG_45819; } else { goto CFG_45818; } CFG_45818: assume true; call routine_#33732_luaD_callnoyield(local_#4144_L,local_#31443_func,local_#4149_hasres); goto CFG_40038; CFG_40038: assume true; goto CFG_49397; CFG_45819: assume true; call routine_#33731_luaD_call(local_#4144_L,local_#31443_func,local_#4149_hasres); goto CFG_40039; CFG_40039: assume true; goto CFG_49397; CFG_49397: assume true; local_#11429 := local_#4149_hasres; if (local_#11429 != 0) { goto CFG_40040; } else { goto CFG_39165; } CFG_40040: assume true; local_#11430 := _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 56 }]; assert { :LIR "60380" } { :check "overflow" } { :finding_ids "0" } true; local_#11431 := { base : local_#11430!base, offset : local_#11430!offset + local_#31444_result * 1 }; local_#11432 := local_#11431; assert { :LIR "60381" } { :check "overflow" } { :finding_ids "0" } true; local_#4148_p3 := local_#11432; local_#31449_io1 := local_#4148_p3; local_#11433 := 1; _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]!offset - local_#11433 * 16 }; local_#11434 := _memory_ptr[{ base : local_#4144_L!base, offset : local_#4144_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#11434)!_value_!_b == _memory[{ base : local_#11434!base, offset : local_#11434!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11434)!_value_!_f == _memory_ptr[{ base : local_#11434!base, offset : local_#11434!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11434)!_value_!_gc == _memory_ptr[{ base : local_#11434!base, offset : local_#11434!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11434)!_value_!_i == _memory[{ base : local_#11434!base, offset : local_#11434!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#11434)!_value_!_p == _memory_ptr[{ base : local_#11434!base, offset : local_#11434!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11434)!_tt_ == _memory[{ base : local_#11434!base, offset : local_#11434!offset + 8 }]; call write_type_#101(local_#31449_io1,read_type_#101(_memory, _memory_ptr, local_#11434)); local_#11435 := 0; assert { :LIR "60382" } { :check "overflow" } { :finding_ids "0" } true; local_#11436 := 0; local_#11437 := 0; assert { :LIR "60383" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39165; CFG_39165: assume true; goto CFG_37300; CFG_37300: assume true; } procedure routine_#33882_luaT_callbinTM(local_#4150_L_IN : { base : int, offset : int }, local_#4151_p1_IN : { base : int, offset : int }, local_#4152_p2_IN : { base : int, offset : int }, local_#4153_res_IN : { base : int, offset : int }, local_#4154_event_IN : int) returns (local_#7833 : int) modifies _memory, _memory_ptr, _valid; { var local_#4150_L : { base : int, offset : int }; var local_#4151_p1 : { base : int, offset : int }; var local_#4152_p2 : { base : int, offset : int }; var local_#4153_res : { base : int, offset : int }; var local_#4154_event : int; var local_#11438 : { base : int, offset : int }; var local_#31450_tm : { base : int, offset : int }; var local_#11439 : int; var local_#11440 : int; var local_#11441 : { base : int, offset : int }; var local_#11442 : int; var local_#11443 : int; var local_#11444 : int; local_#4150_L := local_#4150_L_IN; local_#4151_p1 := local_#4151_p1_IN; local_#4152_p2 := local_#4152_p2_IN; local_#4153_res := local_#4153_res_IN; local_#4154_event := local_#4154_event_IN; goto CFG_36390; CFG_36390: assume true; goto CFG_45820; CFG_45820: assume true; call local_#11438 := routine_#33885_luaT_gettmbyobj(local_#4150_L,local_#4151_p1,local_#4154_event); goto CFG_49398; CFG_49398: assume true; local_#31450_tm := local_#11438; local_#11439 := 0; local_#11440 := (if _memory[{ base : local_#31450_tm!base, offset : local_#31450_tm!offset + 8 }] == local_#11439 then 1 else 0); if (local_#11440 != 0) { goto CFG_45821; } else { goto CFG_49399; } CFG_45821: assume true; call local_#11441 := routine_#33885_luaT_gettmbyobj(local_#4150_L,local_#4152_p2,local_#4154_event); goto CFG_40041; CFG_40041: assume true; local_#31450_tm := local_#11441; goto CFG_49399; CFG_49399: assume true; local_#11442 := 0; local_#11443 := (if _memory[{ base : local_#31450_tm!base, offset : local_#31450_tm!offset + 8 }] == local_#11442 then 1 else 0); if (local_#11443 != 0) { goto CFG_38168; } else { goto CFG_42372; } CFG_42372: assume true; local_#11444 := 1; goto CFG_45822; CFG_45822: assume true; call routine_#33881_luaT_callTM(local_#4150_L,local_#31450_tm,local_#4151_p1,local_#4152_p2,local_#4153_res,local_#11444); goto CFG_38167; CFG_38167: assume true; local_#7833 := 1; goto CFG_37301; CFG_38168: assume true; local_#7833 := 0; goto CFG_37301; CFG_37301: assume true; } procedure routine_#33883_luaT_callorderTM(local_#4155_L_IN : { base : int, offset : int }, local_#4156_p1_IN : { base : int, offset : int }, local_#4157_p2_IN : { base : int, offset : int }, local_#4158_event_IN : int) returns (local_#7834 : int) modifies _memory, _memory_ptr, _valid; { var local_#4155_L : { base : int, offset : int }; var local_#4156_p1 : { base : int, offset : int }; var local_#4157_p2 : { base : int, offset : int }; var local_#4158_event : int; var local_#11445 : { base : int, offset : int }; var local_#11446 : int; var local_#11447 : int; var local_#11448 : { base : int, offset : int }; var local_#11449 : int; var local_#11450 : int; var local_#11451 : { base : int, offset : int }; var local_#11452 : int; var local_#11453 : int; var local_#11454 : { base : int, offset : int }; var local_#11455 : { base : int, offset : int }; var local_#11456 : int; var local_#11457 : int; var local_#30620 : int; var local_#11458 : int; local_#4155_L := local_#4155_L_IN; local_#4156_p1 := local_#4156_p1_IN; local_#4157_p2 := local_#4157_p2_IN; local_#4158_event := local_#4158_event_IN; goto CFG_36391; CFG_36391: assume true; goto CFG_42373; CFG_42373: assume true; local_#11445 := _memory_ptr[{ base : local_#4155_L!base, offset : local_#4155_L!offset + 16 }]; goto CFG_45823; CFG_45823: assume true; call local_#11446 := routine_#33882_luaT_callbinTM(local_#4155_L,local_#4156_p1,local_#4157_p2,local_#11445,local_#4158_event); goto CFG_49400; CFG_49400: assume true; local_#11447 := (if local_#11446 != 0 then 0 else 1); if (local_#11447 != 0) { goto CFG_38170; } else { goto CFG_49401; } CFG_49401: assume true; local_#11448 := _memory_ptr[{ base : local_#4155_L!base, offset : local_#4155_L!offset + 16 }]; local_#11449 := 0; local_#11450 := (if _memory[{ base : local_#11448!base, offset : local_#11448!offset + 8 }] == local_#11449 then 1 else 0); if (local_#11450 != 0) { goto CFG_40043; } else { goto CFG_49402; } CFG_49402: assume true; local_#11451 := _memory_ptr[{ base : local_#4155_L!base, offset : local_#4155_L!offset + 16 }]; local_#11452 := 1; local_#11453 := (if _memory[{ base : local_#11451!base, offset : local_#11451!offset + 8 }] == local_#11452 then 1 else 0); if (local_#11453 != 0) { goto CFG_49403; } else { goto CFG_40042; } CFG_49403: assume true; local_#11454 := _memory_ptr[{ base : local_#4155_L!base, offset : local_#4155_L!offset + 16 }]; local_#11455 := { base : local_#11454!base, offset : local_#11454!offset + 0 }; local_#11456 := 0; local_#11457 := (if _memory[local_#11455] == local_#11456 then 1 else 0); if (local_#11457 != 0) { goto CFG_40043; } else { goto CFG_40042; } CFG_40042: assume true; local_#30620 := 0; goto CFG_38169; CFG_40043: assume true; local_#30620 := 1; goto CFG_38169; CFG_38169: assume true; local_#11458 := (if local_#30620 != 0 then 0 else 1); local_#7834 := local_#11458; goto CFG_37302; CFG_38170: assume true; local_#7834 := -1; goto CFG_37302; CFG_37302: assume true; } procedure routine_#33884_luaT_gettm(local_#4159_events_IN : { base : int, offset : int }, local_#4160_event_IN : int, local_#4161_ename_IN : { base : int, offset : int }) returns (local_#7835 : { base : int, offset : int }) modifies _memory; { var local_#4159_events : { base : int, offset : int }; var local_#4160_event : int; var local_#4161_ename : { base : int, offset : int }; var local_#11459 : { base : int, offset : int }; var local_#31451_tm : { base : int, offset : int }; var local_#11460 : int; var local_#11461 : int; var local_#11462 : int; var local_#11463 : int; var local_#11464 : int; var local_#11465 : int; var local_#11466 : int; var local_#11467 : int; var local_#11468 : int; var local_#11469 : int; local_#4159_events := local_#4159_events_IN; local_#4160_event := local_#4160_event_IN; local_#4161_ename := local_#4161_ename_IN; goto CFG_36392; CFG_36392: assume true; goto CFG_45824; CFG_45824: assume true; call local_#11459 := routine_#33770_luaH_getshortstr(local_#4159_events,local_#4161_ename); goto CFG_49404; CFG_49404: assume true; local_#31451_tm := local_#11459; local_#11460 := 0; local_#11461 := 0; assert { :LIR "60384" } { :check "overflow" } { :finding_ids "0" } true; local_#11462 := 0; local_#11463 := (if _memory[{ base : local_#31451_tm!base, offset : local_#31451_tm!offset + 8 }] == local_#11462 then 1 else 0); if (local_#11463 != 0) { goto CFG_38172; } else { goto CFG_38171; } CFG_38171: assume true; local_#7835 := local_#31451_tm; goto CFG_37303; CFG_38172: assume true; local_#11464 := 1; local_#11465 := ~shl32(local_#11464, local_#4160_event); local_#11466 := ~uwrap8(local_#11465); assert { :LIR "60385" } { :check "overflow" } { :finding_ids "0" } true; local_#11467 := local_#11466; assert { :LIR "62457" } { :check "overflow" } { :finding_ids "0" } local_#11467 <= 2147483647; local_#11468 := _memory[{ base : local_#4159_events!base, offset : local_#4159_events!offset + 10 }]; assert { :LIR "62458" } { :check "overflow" } { :finding_ids "0" } local_#11468 <= 2147483647; local_#11469 := ~sor32(local_#11468, local_#11467); _memory[{ base : local_#4159_events!base, offset : local_#4159_events!offset + 10 }] := ~uwrap8(local_#11469); assert { :LIR "62459" } { :check "overflow" } { :finding_ids "0" } true; local_#7835 := { base : 0, offset : 0 }; goto CFG_37303; CFG_37303: assume true; } procedure routine_#33885_luaT_gettmbyobj(local_#4162_L_IN : { base : int, offset : int }, local_#4163_o_IN : { base : int, offset : int }, local_#4164_event_IN : int) returns (local_#7836 : { base : int, offset : int }) { var local_#4162_L : { base : int, offset : int }; var local_#4163_o : { base : int, offset : int }; var local_#4164_event : int; var local_#11470 : int; var local_#11471 : int; var local_#11472 : { base : int, offset : int }; var local_#11473 : { base : int, offset : int }; var local_#11474 : int; var local_#11475 : int; var local_#11476 : { base : int, offset : int }; var local_#31452_mt : { base : int, offset : int }; var local_#11477 : { base : int, offset : int }; var local_#11478 : { base : int, offset : int }; var local_#11479 : { base : int, offset : int }; var local_#11480 : { base : int, offset : int }; var local_#11481 : { base : int, offset : int }; var local_#11482 : { base : int, offset : int }; var local_#11483 : { base : int, offset : int }; var local_#30621 : { base : int, offset : int }; var local_#11484 : { base : int, offset : int }; var local_#11485 : { base : int, offset : int }; var local_#11486 : { base : int, offset : int }; var local_#11487 : { base : int, offset : int }; var local_#11488 : { base : int, offset : int }; local_#4162_L := local_#4162_L_IN; local_#4163_o := local_#4163_o_IN; local_#4164_event := local_#4164_event_IN; goto CFG_36393; CFG_36393: assume true; goto CFG_51513; CFG_51513: assume true; local_#11470 := 15; local_#11471 := ~sand32(_memory[{ base : local_#4163_o!base, offset : local_#4163_o!offset + 8 }], local_#11470); if (local_#11471 == 5) { goto CFG_39503; } if (local_#11471 == 7) { goto CFG_39502; } goto CFG_42374; CFG_42374: assume true; local_#11472 := _memory_ptr[{ base : local_#4162_L!base, offset : local_#4162_L!offset + 24 }]; local_#11473 := { base : local_#11472!base, offset : local_#11472!offset + 416 }; local_#11474 := 15; local_#11475 := ~sand32(_memory[{ base : local_#4163_o!base, offset : local_#4163_o!offset + 8 }], local_#11474); local_#11476 := { base : local_#11473!base, offset : local_#11473!offset + 0 * 8 + local_#11475 * 8 }; local_#31452_mt := _memory_ptr[local_#11476]; goto CFG_41913; CFG_41913: assume true; goto CFG_49405; CFG_39502: assume true; local_#11477 := { base : local_#4163_o!base, offset : local_#4163_o!offset + 0 }; local_#11478 := _memory_ptr[local_#11477]; assert { :LIR "60386" } { :check "overflow" } { :finding_ids "0" } true; local_#11479 := { base : local_#11478!base, offset : local_#11478!offset + 0 }; local_#31452_mt := _memory_ptr[{ base : local_#11479!base, offset : local_#11479!offset + 16 }]; goto CFG_49405; CFG_39503: assume true; local_#11480 := { base : local_#4163_o!base, offset : local_#4163_o!offset + 0 }; local_#11481 := _memory_ptr[local_#11480]; assert { :LIR "60387" } { :check "overflow" } { :finding_ids "0" } true; local_#11482 := { base : local_#11481!base, offset : local_#11481!offset + 0 }; local_#31452_mt := _memory_ptr[{ base : local_#11482!base, offset : local_#11482!offset + 40 }]; goto CFG_49405; CFG_49405: assume true; local_#11483 := local_#31452_mt; if (local_#11483 != { base : 0, offset : 0 }) { goto CFG_42375; } else { goto CFG_40044; } CFG_40044: assume true; local_#30621 := global_#33098_luaO_nilobject_; goto CFG_38173; CFG_42375: assume true; local_#11484 := _memory_ptr[{ base : local_#4162_L!base, offset : local_#4162_L!offset + 24 }]; local_#11485 := { base : local_#11484!base, offset : local_#11484!offset + 224 }; local_#11486 := { base : local_#11485!base, offset : local_#11485!offset + 0 * 8 + local_#4164_event * 8 }; local_#11487 := _memory_ptr[local_#11486]; goto CFG_45825; CFG_45825: assume true; call local_#11488 := routine_#33770_luaH_getshortstr(local_#31452_mt,local_#11487); goto CFG_40045; CFG_40045: assume true; local_#30621 := local_#11488; goto CFG_38173; CFG_38173: assume true; local_#7836 := local_#30621; goto CFG_37304; CFG_37304: assume true; } procedure routine_#33886_luaT_init(local_#4165_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4165_L : { base : int, offset : int }; var local_#31453_i : int; var local_#11489 : int; var local_#11490 : int; var local_#11491 : { base : int, offset : int }; var local_#11492 : { base : int, offset : int }; var local_#11493 : { base : int, offset : int }; var local_#11494 : { base : int, offset : int }; var local_#11495 : { base : int, offset : int }; var local_#11496 : { base : int, offset : int }; var local_#11497 : { base : int, offset : int }; var local_#11498 : { base : int, offset : int }; var local_#11499 : { base : int, offset : int }; var local_#11500 : { base : int, offset : int }; var local_#11501 : int; var local_#11502 : int; var local_#11503 : int; local_#4165_L := local_#4165_L_IN; goto CFG_36394; CFG_36394: assume true; goto CFG_41659; CFG_41659: assume true; local_#31453_i := 0; goto CFG_49406; CFG_49406: assume true; local_#11489 := 24; local_#11490 := (if local_#31453_i < local_#11489 then 1 else 0); if (local_#11490 != 0) { goto CFG_42376; } else { goto CFG_39166; } CFG_39166: assume true; goto CFG_37305; CFG_42376: assume true; local_#11491 := _memory_ptr[{ base : global_#31158_luaT_eventname!base, offset : global_#31158_luaT_eventname!offset + local_#31453_i * 8 }]; goto CFG_45826; CFG_45826: assume true; call local_#11492 := routine_#33876_luaS_new(local_#4165_L,local_#11491); goto CFG_42377; CFG_42377: assume true; local_#11493 := _memory_ptr[{ base : local_#4165_L!base, offset : local_#4165_L!offset + 24 }]; local_#11494 := { base : local_#11493!base, offset : local_#11493!offset + 224 }; local_#11495 := { base : local_#11494!base, offset : local_#11494!offset + 0 * 8 + local_#31453_i * 8 }; _memory_ptr[local_#11495] := local_#11492; local_#11496 := _memory_ptr[{ base : local_#4165_L!base, offset : local_#4165_L!offset + 24 }]; local_#11497 := { base : local_#11496!base, offset : local_#11496!offset + 224 }; local_#11498 := { base : local_#11497!base, offset : local_#11497!offset + 0 * 8 + local_#31453_i * 8 }; local_#11499 := _memory_ptr[local_#11498]; assert { :LIR "60388" } { :check "overflow" } { :finding_ids "0" } true; local_#11500 := { base : local_#11499!base, offset : local_#11499!offset + 0 }; goto CFG_45827; CFG_45827: assume true; call routine_#33723_luaC_fix(local_#4165_L,local_#11500); goto CFG_45000; CFG_45000: assume true; local_#11501 := local_#31453_i; local_#11502 := 1; local_#31453_i := local_#11501 + local_#11502; assert { :LIR "66450" } { :check "overflow" } { :finding_ids "0" } local_#31453_i <= 2147483647; local_#11503 := local_#11501; goto CFG_49406; CFG_37305: assume true; } procedure routine_#33887_luaT_objtypename(local_#4166_L_IN : { base : int, offset : int }, local_#4167_o_IN : { base : int, offset : int }) returns (local_#7837 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4166_L : { base : int, offset : int }; var local_#4167_o : { base : int, offset : int }; var local_#11504 : int; var local_#11505 : int; var local_#11506 : { base : int, offset : int }; var local_#11507 : { base : int, offset : int }; var local_#11508 : { base : int, offset : int }; var local_#31454_mt : { base : int, offset : int }; var local_#11509 : { base : int, offset : int }; var local_#11510 : int; var local_#11511 : int; var local_#11512 : int; var local_#11513 : { base : int, offset : int }; var local_#11514 : { base : int, offset : int }; var local_#11515 : { base : int, offset : int }; var local_#11516 : { base : int, offset : int }; var local_#11517 : int; var local_#11518 : { base : int, offset : int }; var local_#11519 : { base : int, offset : int }; var local_#11520 : { base : int, offset : int }; var local_#11521 : { base : int, offset : int }; var local_#31455_name : { base : int, offset : int }; var local_#11522 : int; var local_#11523 : int; var local_#11524 : int; var local_#11525 : int; var local_#11526 : int; var local_#11527 : int; var local_#11528 : int; var local_#11529 : int; var local_#11530 : { base : int, offset : int }; var local_#11531 : { base : int, offset : int }; var local_#11532 : { base : int, offset : int }; var local_#11533 : { base : int, offset : int }; var local_#11534 : int; var local_#11535 : { base : int, offset : int }; var local_#11536 : { base : int, offset : int }; local_#4166_L := local_#4166_L_IN; local_#4167_o := local_#4167_o_IN; goto CFG_36395; CFG_36395: assume true; goto CFG_49407; CFG_49407: assume true; local_#11504 := 69; local_#11505 := (if _memory[{ base : local_#4167_o!base, offset : local_#4167_o!offset + 8 }] == local_#11504 then 1 else 0); if (local_#11505 != 0) { goto CFG_49408; } else { goto CFG_49409; } CFG_49408: assume true; local_#11506 := { base : local_#4167_o!base, offset : local_#4167_o!offset + 0 }; local_#11507 := _memory_ptr[local_#11506]; assert { :LIR "60389" } { :check "overflow" } { :finding_ids "0" } true; local_#11508 := { base : local_#11507!base, offset : local_#11507!offset + 0 }; local_#31454_mt := _memory_ptr[{ base : local_#11508!base, offset : local_#11508!offset + 40 }]; local_#11509 := { base : 0, offset : 0 }; local_#11510 := (if local_#31454_mt != local_#11509 then 1 else 0); if (local_#11510 != 0) { goto CFG_42378; } else { goto CFG_49409; } CFG_49409: assume true; local_#11511 := 71; local_#11512 := (if _memory[{ base : local_#4167_o!base, offset : local_#4167_o!offset + 8 }] == local_#11511 then 1 else 0); if (local_#11512 != 0) { goto CFG_49410; } else { goto CFG_38174; } CFG_49410: assume true; local_#11513 := { base : local_#4167_o!base, offset : local_#4167_o!offset + 0 }; local_#11514 := _memory_ptr[local_#11513]; assert { :LIR "60390" } { :check "overflow" } { :finding_ids "0" } true; local_#11515 := { base : local_#11514!base, offset : local_#11514!offset + 0 }; local_#31454_mt := _memory_ptr[{ base : local_#11515!base, offset : local_#11515!offset + 16 }]; local_#11516 := { base : 0, offset : 0 }; local_#11517 := (if local_#31454_mt != local_#11516 then 1 else 0); if (local_#11517 != 0) { goto CFG_42378; } else { goto CFG_38174; } CFG_42378: assume true; assume _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 0 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 1 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 2 }] == 110 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 3 }] == 97 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 4 }] == 109 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 5 }] == 101 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 6 }] == 0; local_#11518 := strlit_#70330; local_#11519 := { base : local_#11518!base, offset : local_#11518!offset + 0 * 1 }; assert { :LIR "62460" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45828; CFG_45828: assume true; call local_#11520 := routine_#33876_luaS_new(local_#4166_L,local_#11519); goto CFG_45829; CFG_45829: assume true; call local_#11521 := routine_#33770_luaH_getshortstr(local_#31454_mt,local_#11520); goto CFG_49411; CFG_49411: assume true; local_#31455_name := local_#11521; local_#11522 := 15; local_#11523 := ~sand32(_memory[{ base : local_#31455_name!base, offset : local_#31455_name!offset + 8 }], local_#11522); local_#11524 := 4; local_#11525 := (if local_#11523 == local_#11524 then 1 else 0); if (local_#11525 != 0) { goto CFG_38175; } else { goto CFG_40046; } CFG_40046: assume true; goto CFG_38174; CFG_38174: assume true; local_#11526 := 15; local_#11527 := ~sand32(_memory[{ base : local_#4167_o!base, offset : local_#4167_o!offset + 8 }], local_#11526); local_#11528 := 1; local_#11529 := local_#11527 + local_#11528; assert { :LIR "66451" } { :check "overflow" } { :finding_ids "0" } local_#11529 <= 2147483647; local_#7837 := _memory_ptr[{ base : global_#33101_luaT_typenames_!base, offset : global_#33101_luaT_typenames_!offset + local_#11529 * 8 }]; goto CFG_37306; CFG_38175: assume true; local_#11530 := { base : local_#31455_name!base, offset : local_#31455_name!offset + 0 }; local_#11531 := _memory_ptr[local_#11530]; assert { :LIR "60391" } { :check "overflow" } { :finding_ids "0" } true; local_#11532 := { base : local_#11531!base, offset : local_#11531!offset + 0 }; local_#11533 := local_#11532; assert { :LIR "60392" } { :check "overflow" } { :finding_ids "0" } true; local_#11534 := 24; local_#11535 := { base : local_#11533!base, offset : local_#11533!offset + local_#11534 * 1 }; local_#11536 := local_#11535; assert { :LIR "62461" } { :check "overflow" } { :finding_ids "0" } true; local_#7837 := local_#11536; goto CFG_37306; CFG_37306: assume true; } procedure routine_#33888_luaT_trybinTM(local_#4168_L_IN : { base : int, offset : int }, local_#4169_p1_IN : { base : int, offset : int }, local_#4170_p2_IN : { base : int, offset : int }, local_#4171_res_IN : { base : int, offset : int }, local_#4172_event_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4168_L : { base : int, offset : int }; var local_#4169_p1 : { base : int, offset : int }; var local_#4170_p2 : { base : int, offset : int }; var local_#4171_res : { base : int, offset : int }; var local_#4172_event : int; var local_#11537 : int; var local_#11538 : int; var local_#11539 : int; var local_#11540 : { base : int, offset : int }; var local_#11541 : { base : int, offset : int }; var local_#11542 : int; var local_#11543 : int; var local_#31456_dummy : { base : int, offset : int }; var local_#11544 : { base : int, offset : int }; var local_#11545 : int; var local_#11546 : int; var local_#11547 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#11548 : int; var local_#11549 : int; var local_#11550 : int; var local_#11551 : int; var local_#11552 : { base : int, offset : int }; var local_#11553 : int; var local_#11554 : int; var local_#11555 : { base : int, offset : int }; var nondet_#2 : int; var nondet_#3 : int; var local_#11556 : int; var local_#11557 : int; var local_#11558 : { base : int, offset : int }; var local_#11559 : { base : int, offset : int }; local_#4168_L := local_#4168_L_IN; local_#4169_p1 := local_#4169_p1_IN; local_#4170_p2 := local_#4170_p2_IN; local_#4171_res := local_#4171_res_IN; local_#4172_event := local_#4172_event_IN; goto CFG_36396; CFG_36396: assume true; goto CFG_45830; CFG_45830: assume true; call local_#11537 := routine_#33882_luaT_callbinTM(local_#4168_L,local_#4169_p1,local_#4170_p2,local_#4171_res,local_#4172_event); goto CFG_49412; CFG_49412: assume true; local_#11538 := (if local_#11537 != 0 then 0 else 1); if (local_#11538 != 0) { goto CFG_51514; } else { goto CFG_39167; } CFG_39167: assume true; goto CFG_37307; CFG_51514: assume true; local_#11539 := local_#4172_event; if (local_#11539 == 22) { goto CFG_45836; } if (local_#11539 == 13) { goto CFG_49413; } if (local_#11539 == 14) { goto CFG_49413; } if (local_#11539 == 15) { goto CFG_49413; } if (local_#11539 == 16) { goto CFG_49413; } if (local_#11539 == 17) { goto CFG_49413; } if (local_#11539 == 19) { goto CFG_49413; } goto CFG_42379; CFG_42379: assume true; assume _memory[{ base : strlit_#70370!base, offset : strlit_#70370!offset + 21 }] == 0; local_#11540 := strlit_#70370; local_#11541 := { base : local_#11540!base, offset : local_#11540!offset + 0 * 1 }; assert { :LIR "62462" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45831; CFG_45831: assume true; call routine_#33760_luaG_opinterror(local_#4168_L,local_#4169_p1,local_#4170_p2,local_#11541); CFG_49413: assume true; local_#11542 := 3; local_#11543 := (if _memory[{ base : local_#4169_p1!base, offset : local_#4169_p1!offset + 8 }] == local_#11542 then 1 else 0); if (local_#11543 != 0) { goto CFG_49415; } else { goto CFG_42380; } CFG_42380: assume true; local_#11544 := local_#31456_dummy; goto CFG_45832; CFG_45832: assume true; call local_#11545 := routine_#33904_luaV_tonumber_(local_#4169_p1,local_#11544); goto CFG_49414; CFG_49414: assume true; local_#11546 := local_#11545; if (local_#11546 != 0) { goto CFG_49416; } else { goto CFG_42382; } CFG_49415: assume true; local_#11547 := { base : local_#4169_p1!base, offset : local_#4169_p1!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#11548 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#11549 := 1; if (local_#11549 != 0) { goto CFG_49416; } else { goto CFG_42382; } CFG_49416: assume true; local_#11550 := 3; local_#11551 := (if _memory[{ base : local_#4170_p2!base, offset : local_#4170_p2!offset + 8 }] == local_#11550 then 1 else 0); if (local_#11551 != 0) { goto CFG_49418; } else { goto CFG_42381; } CFG_42381: assume true; local_#11552 := local_#31456_dummy; goto CFG_45833; CFG_45833: assume true; call local_#11553 := routine_#33904_luaV_tonumber_(local_#4170_p2,local_#11552); goto CFG_49417; CFG_49417: assume true; local_#11554 := local_#11553; if (local_#11554 != 0) { goto CFG_45835; } else { goto CFG_42382; } CFG_49418: assume true; local_#11555 := { base : local_#4170_p2!base, offset : local_#4170_p2!offset + 0 }; havoc nondet_#2; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#3; local_#11556 := nondet_#3 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#11557 := 1; if (local_#11557 != 0) { goto CFG_45835; } else { goto CFG_42382; } CFG_42382: assume true; assume _memory[{ base : strlit_#70371!base, offset : strlit_#70371!offset + 28 }] == 0; local_#11558 := strlit_#70371; local_#11559 := { base : local_#11558!base, offset : local_#11558!offset + 0 * 1 }; assert { :LIR "62463" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45834; CFG_45834: assume true; call routine_#33760_luaG_opinterror(local_#4168_L,local_#4169_p1,local_#4170_p2,local_#11559); CFG_45835: assume true; call routine_#33763_luaG_tointerror(local_#4168_L,local_#4169_p1,local_#4170_p2); CFG_45836: assume true; call routine_#33758_luaG_concaterror(local_#4168_L,local_#4169_p1,local_#4170_p2); CFG_37307: assume true; } procedure routine_#33889_luaU_dump(local_#4173_L_IN : { base : int, offset : int }, local_#4174_f_IN : { base : int, offset : int }, local_#4175_w_IN : { base : int, offset : int }, local_#4176_data_IN : { base : int, offset : int }, local_#4177_strip_IN : int) returns (local_#7838 : int) modifies _memory, _memory_ptr; { var local_#4173_L : { base : int, offset : int }; var local_#4174_f : { base : int, offset : int }; var local_#4175_w : { base : int, offset : int }; var local_#4176_data : { base : int, offset : int }; var local_#4177_strip : int; var local_#31457_D : { base : int, offset : int }; var local_#11560 : { base : int, offset : int }; var local_#11561 : int; var local_#11562 : { base : int, offset : int }; var local_#11563 : { base : int, offset : int }; var local_#11564 : { base : int, offset : int }; local_#4173_L := local_#4173_L_IN; local_#4174_f := local_#4174_f_IN; local_#4175_w := local_#4175_w_IN; local_#4176_data := local_#4176_data_IN; local_#4177_strip := local_#4177_strip_IN; goto CFG_36397; CFG_36397: assume true; goto CFG_42383; CFG_42383: assume true; _memory_ptr[{ base : local_#31457_D!base, offset : local_#31457_D!offset + 0 }] := local_#4173_L; _memory_ptr[{ base : local_#31457_D!base, offset : local_#31457_D!offset + 8 }] := local_#4175_w; _memory_ptr[{ base : local_#31457_D!base, offset : local_#31457_D!offset + 16 }] := local_#4176_data; _memory[{ base : local_#31457_D!base, offset : local_#31457_D!offset + 24 }] := local_#4177_strip; _memory[{ base : local_#31457_D!base, offset : local_#31457_D!offset + 28 }] := 0; local_#11560 := local_#31457_D; goto CFG_45837; CFG_45837: assume true; call routine_#34545_DumpHeader(local_#11560); goto CFG_42384; CFG_42384: assume true; local_#11561 := _memory[{ base : local_#4174_f!base, offset : local_#4174_f!offset + 16 }]; local_#11562 := local_#31457_D; goto CFG_45838; CFG_45838: assume true; call routine_#34540_DumpByte(local_#11561,local_#11562); goto CFG_42385; CFG_42385: assume true; local_#11563 := { base : 0, offset : 0 }; local_#11564 := local_#31457_D; goto CFG_45839; CFG_45839: assume true; call routine_#34544_DumpFunction(local_#4174_f,local_#11563,local_#11564); goto CFG_38176; CFG_38176: assume true; local_#7838 := _memory[{ base : local_#31457_D!base, offset : local_#31457_D!offset + 28 }]; goto CFG_37308; CFG_37308: assume true; } procedure routine_#33890_luaU_undump(local_#4178_L_IN : { base : int, offset : int }, local_#4179_Z_IN : { base : int, offset : int }, local_#4180_name_IN : { base : int, offset : int }) returns (local_#7839 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4178_L : { base : int, offset : int }; var local_#4179_Z : { base : int, offset : int }; var local_#4180_name : { base : int, offset : int }; var local_#11565 : int; var local_#11566 : int; var local_#11567 : int; var local_#11568 : int; var local_#11569 : int; var local_#11570 : int; var local_#11571 : int; var local_#11572 : { base : int, offset : int }; var local_#11573 : int; var local_#11574 : int; var local_#31458_S : { base : int, offset : int }; var local_#11575 : { base : int, offset : int }; var local_#11576 : { base : int, offset : int }; var local_#11577 : int; var local_#11578 : { base : int, offset : int }; var local_#11579 : { base : int, offset : int }; var local_#11580 : { base : int, offset : int }; var local_#11581 : int; var local_#11582 : int; var local_#11583 : { base : int, offset : int }; var local_#31459_cl : { base : int, offset : int }; var local_#31460_io : { base : int, offset : int }; var local_#31461_x_ : { base : int, offset : int }; var local_#11584 : { base : int, offset : int }; var local_#11585 : { base : int, offset : int }; var local_#11586 : { base : int, offset : int }; var local_#11587 : int; var local_#11588 : int; var local_#11589 : { base : int, offset : int }; var local_#11590 : { base : int, offset : int }; var local_#11591 : { base : int, offset : int }; var local_#11592 : { base : int, offset : int }; var local_#11593 : int; var local_#11594 : int; local_#4178_L := local_#4178_L_IN; local_#4179_Z := local_#4179_Z_IN; local_#4180_name := local_#4180_name_IN; goto CFG_36398; CFG_36398: assume true; goto CFG_49419; CFG_49419: assume true; local_#11565 := _memory[local_#4180_name]; assert { :LIR "62464" } { :check "overflow" } { :finding_ids "0" } local_#11565 <= 2147483647; local_#11566 := 64; local_#11567 := (if local_#11565 == local_#11566 then 1 else 0); if (local_#11567 != 0) { goto CFG_40050; } else { goto CFG_49420; } CFG_49420: assume true; local_#11568 := _memory[local_#4180_name]; assert { :LIR "62465" } { :check "overflow" } { :finding_ids "0" } local_#11568 <= 2147483647; local_#11569 := 61; local_#11570 := (if local_#11568 == local_#11569 then 1 else 0); if (local_#11570 != 0) { goto CFG_40050; } else { goto CFG_49421; } CFG_49421: assume true; local_#11571 := _memory[local_#4180_name]; assert { :LIR "62466" } { :check "overflow" } { :finding_ids "0" } local_#11571 <= 2147483647; assume _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 0 }] == 27 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 1 }] == 76 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 2 }] == 117 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 3 }] == 97 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 4 }] == 0; local_#11572 := strlit_#70326; local_#11573 := _memory[{ base : local_#11572!base, offset : local_#11572!offset + 0 * 1 }]; assert { :LIR "62467" } { :check "overflow" } { :finding_ids "0" } local_#11573 <= 2147483647; local_#11574 := (if local_#11571 == local_#11573 then 1 else 0); if (local_#11574 != 0) { goto CFG_40048; } else { goto CFG_40047; } CFG_40047: assume true; _memory_ptr[{ base : local_#31458_S!base, offset : local_#31458_S!offset + 16 }] := local_#4180_name; goto CFG_40049; CFG_40048: assume true; assume _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 0 }] == 98 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 1 }] == 105 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 2 }] == 110 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 3 }] == 97 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 4 }] == 114 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 5 }] == 121 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 6 }] == 32 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 7 }] == 115 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 8 }] == 116 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 9 }] == 114 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 10 }] == 105 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 11 }] == 110 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 12 }] == 103 && _memory[{ base : strlit_#70373!base, offset : strlit_#70373!offset + 13 }] == 0; local_#11575 := strlit_#70373; local_#11576 := { base : local_#11575!base, offset : local_#11575!offset + 0 * 1 }; assert { :LIR "62468" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31458_S!base, offset : local_#31458_S!offset + 16 }] := local_#11576; goto CFG_40049; CFG_40049: assume true; goto CFG_42386; CFG_40050: assume true; local_#11577 := 1; local_#11578 := { base : local_#4180_name!base, offset : local_#4180_name!offset + local_#11577 * 1 }; _memory_ptr[{ base : local_#31458_S!base, offset : local_#31458_S!offset + 16 }] := local_#11578; goto CFG_42386; CFG_42386: assume true; _memory_ptr[{ base : local_#31458_S!base, offset : local_#31458_S!offset + 0 }] := local_#4178_L; _memory_ptr[{ base : local_#31458_S!base, offset : local_#31458_S!offset + 8 }] := local_#4179_Z; local_#11579 := local_#31458_S; goto CFG_45840; CFG_45840: assume true; call routine_#34622_checkHeader(local_#11579); goto CFG_42387; CFG_42387: assume true; local_#11580 := local_#31458_S; goto CFG_45841; CFG_45841: assume true; call local_#11581 := routine_#34558_LoadByte(local_#11580); goto CFG_42388; CFG_42388: assume true; local_#11582 := local_#11581; assert { :LIR "62469" } { :check "overflow" } { :finding_ids "0" } local_#11582 <= 2147483647; goto CFG_45842; CFG_45842: assume true; call local_#11583 := routine_#33755_luaF_newLclosure(local_#4178_L,local_#11582); goto CFG_42389; CFG_42389: assume true; local_#31459_cl := local_#11583; local_#31460_io := _memory_ptr[{ base : local_#4178_L!base, offset : local_#4178_L!offset + 16 }]; local_#31461_x_ := local_#31459_cl; local_#11584 := local_#31461_x_; assert { :LIR "60393" } { :check "overflow" } { :finding_ids "0" } true; local_#11585 := { base : local_#11584!base, offset : local_#11584!offset + 0 }; local_#11586 := { base : local_#31460_io!base, offset : local_#31460_io!offset + 0 }; _memory_ptr[local_#11586] := local_#11585; _memory[{ base : local_#31460_io!base, offset : local_#31460_io!offset + 8 }] := 70; local_#11587 := 0; local_#11588 := 0; assert { :LIR "60394" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45843; CFG_45843: assume true; call routine_#33735_luaD_inctop(local_#4178_L); goto CFG_45844; CFG_45844: assume true; call local_#11589 := routine_#33756_luaF_newproto(local_#4178_L); goto CFG_42390; CFG_42390: assume true; _memory_ptr[{ base : local_#31459_cl!base, offset : local_#31459_cl!offset + 24 }] := local_#11589; local_#11590 := local_#31458_S; local_#11591 := _memory_ptr[{ base : local_#31459_cl!base, offset : local_#31459_cl!offset + 24 }]; local_#11592 := { base : 0, offset : 0 }; goto CFG_45845; CFG_45845: assume true; call routine_#34562_LoadFunction(local_#11590,local_#11591,local_#11592); goto CFG_38177; CFG_38177: assume true; local_#11593 := 0; local_#11594 := 0; assert { :LIR "60395" } { :check "overflow" } { :finding_ids "0" } true; local_#7839 := local_#31459_cl; goto CFG_37309; CFG_37309: assume true; } procedure routine_#33891_luaV_concat(local_#4181_L_IN : { base : int, offset : int }, local_#4182_total_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4181_L : { base : int, offset : int }; var local_#4182_total : int; var local_#11595 : int; var local_#11596 : int; var local_#31463_top : { base : int, offset : int }; var local_#31462_n : int; var local_#11597 : int; var local_#11598 : { base : int, offset : int }; var local_#11599 : int; var local_#11600 : int; var local_#11601 : int; var local_#11602 : int; var local_#11603 : int; var local_#11604 : { base : int, offset : int }; var local_#11605 : int; var local_#11606 : int; var local_#11607 : int; var local_#11608 : int; var local_#11609 : int; var local_#11610 : { base : int, offset : int }; var local_#11611 : int; var local_#11612 : int; var local_#11613 : int; var local_#11614 : int; var local_#11615 : int; var local_#11616 : { base : int, offset : int }; var local_#11617 : int; var local_#11618 : int; var local_#11619 : int; var local_#11620 : int; var local_#11621 : int; var local_#11622 : { base : int, offset : int }; var local_#11623 : int; var local_#11624 : int; var local_#11625 : { base : int, offset : int }; var local_#11626 : { base : int, offset : int }; var local_#11627 : int; var local_#11628 : { base : int, offset : int }; var local_#11629 : { base : int, offset : int }; var local_#11630 : int; var local_#11631 : { base : int, offset : int }; var local_#11632 : int; var local_#11633 : int; var local_#11634 : { base : int, offset : int }; var local_#11635 : int; var local_#11636 : int; var local_#11637 : int; var local_#11638 : { base : int, offset : int }; var local_#11639 : { base : int, offset : int }; var local_#11640 : { base : int, offset : int }; var local_#11641 : { base : int, offset : int }; var local_#11642 : int; var local_#11643 : int; var local_#11644 : int; var local_#11645 : int; var local_#11646 : { base : int, offset : int }; var local_#11647 : int; var local_#11648 : int; var local_#11649 : int; var local_#11650 : { base : int, offset : int }; var local_#11651 : { base : int, offset : int }; var local_#11652 : { base : int, offset : int }; var local_#11653 : { base : int, offset : int }; var local_#11654 : int; var local_#11655 : int; var local_#11656 : int; var local_#11657 : int; var local_#11658 : { base : int, offset : int }; var local_#11659 : { base : int, offset : int }; var local_#11660 : { base : int, offset : int }; var local_#11661 : { base : int, offset : int }; var local_#11662 : int; var local_#11663 : int; var local_#11664 : int; var local_#11665 : int; var local_#11666 : { base : int, offset : int }; var local_#11667 : { base : int, offset : int }; var local_#11668 : { base : int, offset : int }; var local_#11669 : { base : int, offset : int }; var local_#11670 : { base : int, offset : int }; var local_#30622 : int; var local_#11671 : int; var local_#11672 : { base : int, offset : int }; var local_#11673 : { base : int, offset : int }; var local_#11674 : { base : int, offset : int }; var local_#11675 : { base : int, offset : int }; var local_#11676 : int; var local_#31465_tl : int; var local_#11677 : int; var local_#11678 : { base : int, offset : int }; var local_#11679 : int; var local_#11680 : { base : int, offset : int }; var local_#11681 : int; var local_#11682 : int; var local_#11683 : int; var local_#11684 : int; var local_#11685 : { base : int, offset : int }; var local_#11686 : int; var local_#11687 : { base : int, offset : int }; var local_#11688 : int; var local_#11689 : int; var local_#11690 : int; var local_#11691 : int; var local_#11692 : { base : int, offset : int }; var local_#11693 : int; var local_#11694 : { base : int, offset : int }; var local_#11695 : int; var local_#11696 : int; var local_#11697 : int; var local_#11698 : { base : int, offset : int }; var local_#31466_ts : { base : int, offset : int }; var local_#11699 : { base : int, offset : int }; var local_#11700 : int; var local_#11701 : { base : int, offset : int }; var local_#31468_buff : { base : int, offset : int }; var local_#11702 : { base : int, offset : int }; var local_#11703 : { base : int, offset : int }; var local_#11704 : { base : int, offset : int }; var local_#11705 : { base : int, offset : int }; var local_#31469_io : { base : int, offset : int }; var local_#31470_x_ : { base : int, offset : int }; var local_#11706 : { base : int, offset : int }; var local_#11707 : { base : int, offset : int }; var local_#11708 : { base : int, offset : int }; var local_#11709 : int; var local_#11710 : int; var local_#11711 : int; var local_#11712 : int; var local_#11713 : int; var local_#11714 : { base : int, offset : int }; var local_#11715 : int; var local_#11716 : { base : int, offset : int }; var local_#11717 : { base : int, offset : int }; var local_#11718 : { base : int, offset : int }; var local_#11719 : { base : int, offset : int }; var local_#11720 : int; var local_#11721 : int; var local_#11722 : int; var local_#11723 : { base : int, offset : int }; var local_#11724 : int; var local_#11725 : { base : int, offset : int }; var local_#11726 : { base : int, offset : int }; var local_#11727 : { base : int, offset : int }; var local_#11728 : { base : int, offset : int }; var local_#11729 : { base : int, offset : int }; var local_#30623 : int; var local_#11730 : { base : int, offset : int }; var local_#11731 : int; var local_#11732 : { base : int, offset : int }; var local_#11733 : { base : int, offset : int }; var local_#11734 : { base : int, offset : int }; var local_#11735 : { base : int, offset : int }; var local_#11736 : int; var local_#31467_l : int; var local_#11737 : int; var local_#11738 : int; var local_#11739 : int; var local_#11740 : int; var local_#11741 : int; var local_#11742 : int; var local_#11743 : { base : int, offset : int }; var local_#11744 : { base : int, offset : int }; var local_#11745 : int; var local_#11746 : { base : int, offset : int }; var local_#31464_io1 : { base : int, offset : int }; var local_#11747 : int; var local_#11748 : { base : int, offset : int }; var local_#11749 : int; var local_#11750 : int; var local_#11751 : int; var local_#11752 : int; var local_#11753 : { base : int, offset : int }; var local_#11754 : int; var local_#11755 : int; var local_#11756 : int; var local_#11757 : int; var local_#11758 : int; var local_#11759 : { base : int, offset : int }; var local_#11760 : int; var local_#11761 : int; var local_#11762 : int; var local_#11763 : int; var local_#11764 : int; var local_#11765 : { base : int, offset : int }; var local_#11766 : int; var local_#30624 : int; var local_#11767 : int; var local_#11768 : int; var local_#11769 : int; var local_#11770 : int; var local_#11771 : int; var local_#11772 : int; var local_#11773 : int; local_#4181_L := local_#4181_L_IN; local_#4182_total := local_#4182_total_IN; goto CFG_36399; CFG_36399: assume true; goto CFG_41660; CFG_41660: assume true; local_#11595 := 0; local_#11596 := 0; assert { :LIR "60396" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49422; CFG_49422: assume true; local_#31463_top := _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }]; local_#31462_n := 2; local_#11597 := 2; local_#11598 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11597 * 16 }; local_#11599 := 15; local_#11600 := ~sand32(_memory[{ base : local_#11598!base, offset : local_#11598!offset + 8 }], local_#11599); local_#11601 := 4; local_#11602 := (if local_#11600 == local_#11601 then 1 else 0); if (local_#11602 != 0) { goto CFG_49424; } else { goto CFG_49423; } CFG_49423: assume true; local_#11603 := 2; local_#11604 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11603 * 16 }; local_#11605 := 15; local_#11606 := ~sand32(_memory[{ base : local_#11604!base, offset : local_#11604!offset + 8 }], local_#11605); local_#11607 := 3; local_#11608 := (if local_#11606 == local_#11607 then 1 else 0); if (local_#11608 != 0) { goto CFG_49424; } else { goto CFG_42392; } CFG_49424: assume true; local_#11609 := 1; local_#11610 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11609 * 16 }; local_#11611 := 15; local_#11612 := ~sand32(_memory[{ base : local_#11610!base, offset : local_#11610!offset + 8 }], local_#11611); local_#11613 := 4; local_#11614 := (if local_#11612 == local_#11613 then 1 else 0); if (local_#11614 != 0) { goto CFG_49427; } else { goto CFG_49425; } CFG_49425: assume true; local_#11615 := 1; local_#11616 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11615 * 16 }; local_#11617 := 15; local_#11618 := ~sand32(_memory[{ base : local_#11616!base, offset : local_#11616!offset + 8 }], local_#11617); local_#11619 := 3; local_#11620 := (if local_#11618 == local_#11619 then 1 else 0); if (local_#11620 != 0) { goto CFG_42391; } else { goto CFG_42392; } CFG_42391: assume true; local_#11621 := 1; local_#11622 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11621 * 16 }; goto CFG_45846; CFG_45846: assume true; call routine_#33868_luaO_tostring(local_#4181_L,local_#11622); goto CFG_49426; CFG_49426: assume true; local_#11623 := 1; if (local_#11623 != 0) { goto CFG_49427; } else { goto CFG_42392; } CFG_42392: assume true; local_#11624 := 2; local_#11625 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11624 * 16 }; local_#11626 := local_#11625; assert { :LIR "62470" } { :check "overflow" } { :finding_ids "0" } true; local_#11627 := 1; local_#11628 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11627 * 16 }; local_#11629 := local_#11628; assert { :LIR "62471" } { :check "overflow" } { :finding_ids "0" } true; local_#11630 := 2; local_#11631 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11630 * 16 }; local_#11632 := 22; goto CFG_45847; CFG_45847: assume true; call routine_#33888_luaT_trybinTM(local_#4181_L,local_#11626,local_#11629,local_#11631,local_#11632); goto CFG_40051; CFG_40051: assume true; goto CFG_42400; CFG_49427: assume true; local_#11633 := 1; local_#11634 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11633 * 16 }; local_#11635 := 68; local_#11636 := (if _memory[{ base : local_#11634!base, offset : local_#11634!offset + 8 }] == local_#11635 then 1 else 0); if (local_#11636 != 0) { goto CFG_49428; } else { goto CFG_49429; } CFG_49428: assume true; local_#11637 := 1; local_#11638 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11637 * 16 }; local_#11639 := { base : local_#11638!base, offset : local_#11638!offset + 0 }; local_#11640 := _memory_ptr[local_#11639]; assert { :LIR "60397" } { :check "overflow" } { :finding_ids "0" } true; local_#11641 := { base : local_#11640!base, offset : local_#11640!offset + 0 }; local_#11642 := _memory[{ base : local_#11641!base, offset : local_#11641!offset + 11 }]; assert { :LIR "62472" } { :check "overflow" } { :finding_ids "0" } local_#11642 <= 2147483647; local_#11643 := 0; local_#11644 := (if local_#11642 == local_#11643 then 1 else 0); if (local_#11644 != 0) { goto CFG_49439; } else { goto CFG_49429; } CFG_49429: assume true; local_#11645 := 2; local_#11646 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11645 * 16 }; local_#11647 := 68; local_#11648 := (if _memory[{ base : local_#11646!base, offset : local_#11646!offset + 8 }] == local_#11647 then 1 else 0); if (local_#11648 != 0) { goto CFG_49430; } else { goto CFG_49431; } CFG_49430: assume true; local_#11649 := 2; local_#11650 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11649 * 16 }; local_#11651 := { base : local_#11650!base, offset : local_#11650!offset + 0 }; local_#11652 := _memory_ptr[local_#11651]; assert { :LIR "60398" } { :check "overflow" } { :finding_ids "0" } true; local_#11653 := { base : local_#11652!base, offset : local_#11652!offset + 0 }; local_#11654 := _memory[{ base : local_#11653!base, offset : local_#11653!offset + 11 }]; assert { :LIR "62473" } { :check "overflow" } { :finding_ids "0" } local_#11654 <= 2147483647; local_#11655 := 0; local_#11656 := (if local_#11654 == local_#11655 then 1 else 0); if (local_#11656 != 0) { goto CFG_40059; } else { goto CFG_49431; } CFG_49431: assume true; local_#11657 := 1; local_#11658 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11657 * 16 }; local_#11659 := { base : local_#11658!base, offset : local_#11658!offset + 0 }; local_#11660 := _memory_ptr[local_#11659]; assert { :LIR "60399" } { :check "overflow" } { :finding_ids "0" } true; local_#11661 := { base : local_#11660!base, offset : local_#11660!offset + 0 }; local_#11662 := _memory[{ base : local_#11661!base, offset : local_#11661!offset + 8 }]; assert { :LIR "62474" } { :check "overflow" } { :finding_ids "0" } local_#11662 <= 2147483647; local_#11663 := 4; local_#11664 := (if local_#11662 == local_#11663 then 1 else 0); if (local_#11664 != 0) { goto CFG_40053; } else { goto CFG_40052; } CFG_40052: assume true; local_#11665 := 1; local_#11666 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11665 * 16 }; local_#11667 := { base : local_#11666!base, offset : local_#11666!offset + 0 }; local_#11668 := _memory_ptr[local_#11667]; assert { :LIR "60400" } { :check "overflow" } { :finding_ids "0" } true; local_#11669 := { base : local_#11668!base, offset : local_#11668!offset + 0 }; local_#11670 := { base : local_#11669!base, offset : local_#11669!offset + 16 }; local_#30622 := _memory[local_#11670]; goto CFG_41661; CFG_40053: assume true; local_#11671 := 1; local_#11672 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11671 * 16 }; local_#11673 := { base : local_#11672!base, offset : local_#11672!offset + 0 }; local_#11674 := _memory_ptr[local_#11673]; assert { :LIR "60401" } { :check "overflow" } { :finding_ids "0" } true; local_#11675 := { base : local_#11674!base, offset : local_#11674!offset + 0 }; local_#11676 := ~uwrap64(_memory[{ base : local_#11675!base, offset : local_#11675!offset + 11 }]); assert { :LIR "62475" } { :check "overflow" } { :finding_ids "0" } true; local_#30622 := local_#11676; goto CFG_41661; CFG_41661: assume true; local_#31465_tl := local_#30622; local_#31462_n := 1; goto CFG_49432; CFG_49432: assume true; local_#11677 := (if local_#31462_n < local_#4182_total then 1 else 0); if (local_#11677 != 0) { goto CFG_49433; } else { goto CFG_49436; } CFG_49433: assume true; local_#11678 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#11679 := 1; local_#11680 := { base : local_#11678!base, offset : local_#11678!offset - local_#11679 * 16 }; local_#11681 := 15; local_#11682 := ~sand32(_memory[{ base : local_#11680!base, offset : local_#11680!offset + 8 }], local_#11681); local_#11683 := 4; local_#11684 := (if local_#11682 == local_#11683 then 1 else 0); if (local_#11684 != 0) { goto CFG_49437; } else { goto CFG_49434; } CFG_49434: assume true; local_#11685 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#11686 := 1; local_#11687 := { base : local_#11685!base, offset : local_#11685!offset - local_#11686 * 16 }; local_#11688 := 15; local_#11689 := ~sand32(_memory[{ base : local_#11687!base, offset : local_#11687!offset + 8 }], local_#11688); local_#11690 := 3; local_#11691 := (if local_#11689 == local_#11690 then 1 else 0); if (local_#11691 != 0) { goto CFG_42393; } else { goto CFG_49436; } CFG_42393: assume true; local_#11692 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#11693 := 1; local_#11694 := { base : local_#11692!base, offset : local_#11692!offset - local_#11693 * 16 }; goto CFG_45848; CFG_45848: assume true; call routine_#33868_luaO_tostring(local_#4181_L,local_#11694); goto CFG_49435; CFG_49435: assume true; local_#11695 := 1; if (local_#11695 != 0) { goto CFG_49437; } else { goto CFG_49436; } CFG_49436: assume true; local_#11696 := 40; local_#11697 := (if local_#31465_tl <= local_#11696 then 1 else 0); if (local_#11697 != 0) { goto CFG_42395; } else { goto CFG_45849; } CFG_45849: assume true; call local_#11698 := routine_#33871_luaS_createlngstrobj(local_#4181_L,local_#31465_tl); goto CFG_42394; CFG_42394: assume true; local_#31466_ts := local_#11698; local_#11699 := local_#31466_ts; assert { :LIR "60402" } { :check "overflow" } { :finding_ids "0" } true; local_#11700 := 24; local_#11701 := { base : local_#11699!base, offset : local_#11699!offset + local_#11700 * 1 }; goto CFG_45850; CFG_45850: assume true; call routine_#34668_copy2buff(local_#31463_top,local_#31462_n,local_#11701); goto CFG_40054; CFG_40054: assume true; goto CFG_40056; CFG_42395: assume true; local_#11702 := { base : local_#31468_buff!base, offset : local_#31468_buff!offset + 0 * 1 }; goto CFG_45851; CFG_45851: assume true; call routine_#34668_copy2buff(local_#31463_top,local_#31462_n,local_#11702); goto CFG_42396; CFG_42396: assume true; local_#11703 := { base : local_#31468_buff!base, offset : local_#31468_buff!offset + 0 * 1 }; assert { :LIR "62476" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45852; CFG_45852: assume true; call local_#11704 := routine_#33877_luaS_newlstr(local_#4181_L,local_#11703,local_#31465_tl); goto CFG_40055; CFG_40055: assume true; local_#31466_ts := local_#11704; goto CFG_40056; CFG_40056: assume true; local_#11705 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#31469_io := local_#11705; local_#31470_x_ := local_#31466_ts; local_#11706 := local_#31470_x_; assert { :LIR "60403" } { :check "overflow" } { :finding_ids "0" } true; local_#11707 := { base : local_#11706!base, offset : local_#11706!offset + 0 }; local_#11708 := { base : local_#31469_io!base, offset : local_#31469_io!offset + 0 }; _memory_ptr[local_#11708] := local_#11707; local_#11709 := _memory[{ base : local_#31470_x_!base, offset : local_#31470_x_!offset + 8 }]; assert { :LIR "62477" } { :check "overflow" } { :finding_ids "0" } local_#11709 <= 2147483647; local_#11710 := 64; local_#11711 := ~sor32(local_#11709, local_#11710); _memory[{ base : local_#31469_io!base, offset : local_#31469_io!offset + 8 }] := local_#11711; local_#11712 := 0; local_#11713 := 0; assert { :LIR "60404" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40060; CFG_49437: assume true; local_#11714 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#11715 := 1; local_#11716 := { base : local_#11714!base, offset : local_#11714!offset - local_#11715 * 16 }; local_#11717 := { base : local_#11716!base, offset : local_#11716!offset + 0 }; local_#11718 := _memory_ptr[local_#11717]; assert { :LIR "60405" } { :check "overflow" } { :finding_ids "0" } true; local_#11719 := { base : local_#11718!base, offset : local_#11718!offset + 0 }; local_#11720 := _memory[{ base : local_#11719!base, offset : local_#11719!offset + 8 }]; assert { :LIR "62478" } { :check "overflow" } { :finding_ids "0" } local_#11720 <= 2147483647; local_#11721 := 4; local_#11722 := (if local_#11720 == local_#11721 then 1 else 0); if (local_#11722 != 0) { goto CFG_40058; } else { goto CFG_40057; } CFG_40057: assume true; local_#11723 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#11724 := 1; local_#11725 := { base : local_#11723!base, offset : local_#11723!offset - local_#11724 * 16 }; local_#11726 := { base : local_#11725!base, offset : local_#11725!offset + 0 }; local_#11727 := _memory_ptr[local_#11726]; assert { :LIR "60406" } { :check "overflow" } { :finding_ids "0" } true; local_#11728 := { base : local_#11727!base, offset : local_#11727!offset + 0 }; local_#11729 := { base : local_#11728!base, offset : local_#11728!offset + 16 }; local_#30623 := _memory[local_#11729]; goto CFG_49438; CFG_40058: assume true; local_#11730 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#31462_n * 16 }; local_#11731 := 1; local_#11732 := { base : local_#11730!base, offset : local_#11730!offset - local_#11731 * 16 }; local_#11733 := { base : local_#11732!base, offset : local_#11732!offset + 0 }; local_#11734 := _memory_ptr[local_#11733]; assert { :LIR "60407" } { :check "overflow" } { :finding_ids "0" } true; local_#11735 := { base : local_#11734!base, offset : local_#11734!offset + 0 }; local_#11736 := ~uwrap64(_memory[{ base : local_#11735!base, offset : local_#11735!offset + 11 }]); assert { :LIR "62479" } { :check "overflow" } { :finding_ids "0" } true; local_#30623 := local_#11736; goto CFG_49438; CFG_49438: assume true; local_#31467_l := local_#30623; local_#11737 := 9223372036854775807; assume { :symbol "~uwrap64" } true; local_#11738 := ~uwrap64(local_#11737 - local_#31465_tl); assert { :LIR "67918" } { :check "overflow" } { :finding_ids "0" } true; local_#11739 := (if local_#31467_l >= local_#11738 then 1 else 0); if (local_#11739 != 0) { goto CFG_42398; } else { goto CFG_42397; } CFG_42397: assume true; assume { :symbol "~uwrap64" } true; local_#31465_tl := ~uwrap64(local_#31465_tl + local_#31467_l); assert { :LIR "66452" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45001; CFG_45001: assume true; local_#11740 := local_#31462_n; local_#11741 := 1; local_#31462_n := local_#11740 + local_#11741; assert { :LIR "66453" } { :check "overflow" } { :finding_ids "0" } local_#31462_n <= 2147483647; local_#11742 := local_#11740; goto CFG_49432; CFG_42398: assume true; assume _memory[{ base : strlit_#70374!base, offset : strlit_#70374!offset + 22 }] == 0; local_#11743 := strlit_#70374; local_#11744 := { base : local_#11743!base, offset : local_#11743!offset + 0 * 1 }; assert { :LIR "62480" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45853; CFG_45853: assume true; call routine_#33762_luaG_runerror(local_#4181_L,local_#11744,{ base : 0, offset : 0 }); CFG_40059: assume true; local_#11745 := 2; local_#11746 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11745 * 16 }; local_#31464_io1 := local_#11746; local_#11747 := 1; local_#11748 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11747 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_b == _memory[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_f == _memory_ptr[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_gc == _memory_ptr[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_i == _memory[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#11748)!_value_!_p == _memory_ptr[{ base : local_#11748!base, offset : local_#11748!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#11748)!_tt_ == _memory[{ base : local_#11748!base, offset : local_#11748!offset + 8 }]; call write_type_#101(local_#31464_io1,read_type_#101(_memory, _memory_ptr, local_#11748)); local_#11749 := 0; assert { :LIR "60408" } { :check "overflow" } { :finding_ids "0" } true; local_#11750 := 0; local_#11751 := 0; assert { :LIR "60409" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40060; CFG_40060: assume true; goto CFG_40064; CFG_49439: assume true; local_#11752 := 2; local_#11753 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11752 * 16 }; local_#11754 := 15; local_#11755 := ~sand32(_memory[{ base : local_#11753!base, offset : local_#11753!offset + 8 }], local_#11754); local_#11756 := 4; local_#11757 := (if local_#11755 == local_#11756 then 1 else 0); if (local_#11757 != 0) { goto CFG_40062; } else { goto CFG_49440; } CFG_49440: assume true; local_#11758 := 2; local_#11759 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11758 * 16 }; local_#11760 := 15; local_#11761 := ~sand32(_memory[{ base : local_#11759!base, offset : local_#11759!offset + 8 }], local_#11760); local_#11762 := 3; local_#11763 := (if local_#11761 == local_#11762 then 1 else 0); if (local_#11763 != 0) { goto CFG_42399; } else { goto CFG_40061; } CFG_42399: assume true; local_#11764 := 2; local_#11765 := { base : local_#31463_top!base, offset : local_#31463_top!offset - local_#11764 * 16 }; goto CFG_45854; CFG_45854: assume true; call routine_#33868_luaO_tostring(local_#4181_L,local_#11765); goto CFG_49441; CFG_49441: assume true; local_#11766 := 1; if (local_#11766 != 0) { goto CFG_40062; } else { goto CFG_40061; } CFG_40061: assume true; local_#30624 := 0; goto CFG_40063; CFG_40062: assume true; local_#30624 := 1; goto CFG_40063; CFG_40063: assume true; local_#11767 := 0; assert { :LIR "60410" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40064; CFG_40064: assume true; goto CFG_42400; CFG_42400: assume true; local_#11768 := 1; local_#11769 := local_#31462_n - local_#11768; assert { :LIR "67919" } { :check "overflow" } { :finding_ids "0" } local_#11769 <= 2147483647; local_#4182_total := local_#4182_total - local_#11769; assert { :LIR "67920" } { :check "overflow" } { :finding_ids "0" } local_#4182_total <= 2147483647; local_#11770 := 1; local_#11771 := local_#31462_n - local_#11770; assert { :LIR "67921" } { :check "overflow" } { :finding_ids "0" } local_#11771 <= 2147483647; _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4181_L!base, offset : local_#4181_L!offset + 16 }]!offset - local_#11771 * 16 }; goto CFG_49442; CFG_49442: assume true; local_#11772 := 1; local_#11773 := (if local_#4182_total > local_#11772 then 1 else 0); if (local_#11773 != 0) { goto CFG_45002; } else { goto CFG_39168; } CFG_39168: assume true; goto CFG_37310; CFG_45002: assume true; goto CFG_49422; CFG_37310: assume true; } procedure routine_#33892_luaV_div(local_#4183_L_IN : { base : int, offset : int }, local_#4184_m_IN : int, local_#4185_n_IN : int) returns (local_#7840 : int) modifies _memory, _memory_ptr, _valid; { var local_#4183_L : { base : int, offset : int }; var local_#4184_m : int; var local_#4185_n : int; var local_#11774 : int; var local_#11775 : int; var local_#11776 : int; var local_#11777 : int; var local_#11778 : int; var local_#11779 : int; var local_#31471_q : int; var local_#11780 : int; var local_#11781 : int; var local_#11782 : int; var local_#11783 : int; var local_#11784 : int; var local_#11785 : int; var local_#11786 : int; var local_#11787 : int; var local_#11788 : int; var local_#11789 : int; var local_#11790 : int; var local_#11791 : int; var local_#11792 : int; var local_#11793 : { base : int, offset : int }; var local_#11794 : { base : int, offset : int }; local_#4183_L := local_#4183_L_IN; local_#4184_m := local_#4184_m_IN; local_#4185_n := local_#4185_n_IN; goto CFG_36400; CFG_36400: assume true; goto CFG_49443; CFG_49443: assume true; local_#11774 := ~uwrap64(local_#4185_n); assert { :LIR "60411" } { :check "overflow" } { :finding_ids "0" } true; local_#11775 := 1; assume { :symbol "~uwrap64" } true; local_#11776 := ~uwrap64(local_#11774 + local_#11775); assert { :LIR "66454" } { :check "overflow" } { :finding_ids "0" } true; local_#11777 := 1; local_#11778 := (if local_#11776 <= local_#11777 then 1 else 0); if (local_#11778 != 0) { goto CFG_49446; } else { goto CFG_49444; } CFG_49444: assume true; local_#11779 := local_#4184_m / local_#4185_n; assert { :LIR "68635" } { :check "overflow" } { :finding_ids "0" } local_#11779 <= 9223372036854775807; local_#31471_q := local_#11779; local_#11780 := ~sxor64(local_#4184_m, local_#4185_n); local_#11781 := 0; local_#11782 := (if local_#11780 < local_#11781 then 1 else 0); if (local_#11782 != 0) { goto CFG_49445; } else { goto CFG_38178; } CFG_49445: assume true; local_#11783 := local_#4184_m % local_#4185_n; local_#11784 := 0; local_#11785 := (if local_#11783 != local_#11784 then 1 else 0); if (local_#11785 != 0) { goto CFG_40065; } else { goto CFG_38178; } CFG_40065: assume true; local_#11786 := 1; local_#31471_q := local_#31471_q - local_#11786; assert { :LIR "67922" } { :check "overflow" } { :finding_ids "0" } local_#31471_q <= 9223372036854775807; goto CFG_38178; CFG_38178: assume true; local_#7840 := local_#31471_q; goto CFG_37311; CFG_49446: assume true; local_#11787 := 0; local_#11788 := (if local_#4185_n == local_#11787 then 1 else 0); if (local_#11788 != 0) { goto CFG_42401; } else { goto CFG_38179; } CFG_38179: assume true; local_#11789 := 0; local_#11790 := ~uwrap64(local_#4184_m); assert { :LIR "60412" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#11791 := ~uwrap64(local_#11789 - local_#11790); assert { :LIR "67923" } { :check "overflow" } { :finding_ids "0" } true; local_#11792 := local_#11791; assert { :LIR "60413" } { :check "overflow" } { :finding_ids "0" } local_#11792 <= 9223372036854775807; local_#7840 := local_#11792; goto CFG_37311; CFG_42401: assume true; assume _memory[{ base : strlit_#70375!base, offset : strlit_#70375!offset + 25 }] == 0; local_#11793 := strlit_#70375; local_#11794 := { base : local_#11793!base, offset : local_#11793!offset + 0 * 1 }; assert { :LIR "62481" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45855; CFG_45855: assume true; call routine_#33762_luaG_runerror(local_#4183_L,local_#11794,{ base : 0, offset : 0 }); CFG_37311: assume true; } procedure routine_#33893_luaV_equalobj(local_#4186_L_IN : { base : int, offset : int }, local_#4187_t1_IN : { base : int, offset : int }, local_#4188_t2_IN : { base : int, offset : int }) returns (local_#7841 : int) modifies _memory, _memory_ptr, _valid; { var local_#4186_L : { base : int, offset : int }; var local_#4187_t1 : { base : int, offset : int }; var local_#4188_t2 : { base : int, offset : int }; var local_#11795 : int; var local_#11796 : int; var local_#11797 : int; var local_#11798 : int; var local_#11799 : int; var local_#11800 : int; var local_#11801 : int; var local_#11802 : { base : int, offset : int }; var local_#11803 : { base : int, offset : int }; var local_#11804 : int; var local_#11805 : { base : int, offset : int }; var local_#11806 : { base : int, offset : int }; var local_#11807 : { base : int, offset : int }; var local_#11808 : { base : int, offset : int }; var local_#11809 : { base : int, offset : int }; var local_#11810 : { base : int, offset : int }; var local_#11811 : int; var local_#11812 : { base : int, offset : int }; var local_#11813 : int; var local_#11814 : { base : int, offset : int }; var local_#11815 : { base : int, offset : int }; var local_#11816 : { base : int, offset : int }; var local_#11817 : { base : int, offset : int }; var local_#11818 : int; var local_#11819 : { base : int, offset : int }; var local_#11820 : { base : int, offset : int }; var local_#11821 : { base : int, offset : int }; var local_#11822 : { base : int, offset : int }; var local_#11823 : int; var local_#11824 : int; var local_#11825 : int; var local_#11826 : { base : int, offset : int }; var local_#11827 : { base : int, offset : int }; var local_#11828 : { base : int, offset : int }; var local_#11829 : { base : int, offset : int }; var local_#11830 : int; var local_#11831 : { base : int, offset : int }; var local_#11832 : { base : int, offset : int }; var local_#11833 : int; var local_#11834 : { base : int, offset : int }; var local_#11835 : { base : int, offset : int }; var local_#11836 : { base : int, offset : int }; var local_#30625 : { base : int, offset : int }; var local_#30626 : { base : int, offset : int }; var local_#31472_tm : { base : int, offset : int }; var local_#11837 : { base : int, offset : int }; var local_#11838 : int; var local_#11839 : { base : int, offset : int }; var local_#11840 : { base : int, offset : int }; var local_#11841 : { base : int, offset : int }; var local_#11842 : { base : int, offset : int }; var local_#11843 : int; var local_#11844 : { base : int, offset : int }; var local_#11845 : { base : int, offset : int }; var local_#11846 : { base : int, offset : int }; var local_#11847 : { base : int, offset : int }; var local_#11848 : int; var local_#11849 : int; var local_#11850 : int; var local_#11851 : { base : int, offset : int }; var local_#11852 : { base : int, offset : int }; var local_#11853 : { base : int, offset : int }; var local_#11854 : { base : int, offset : int }; var local_#11855 : int; var local_#11856 : { base : int, offset : int }; var local_#11857 : { base : int, offset : int }; var local_#11858 : int; var local_#11859 : { base : int, offset : int }; var local_#11860 : { base : int, offset : int }; var local_#11861 : { base : int, offset : int }; var local_#30627 : { base : int, offset : int }; var local_#30628 : { base : int, offset : int }; var local_#11862 : { base : int, offset : int }; var local_#11863 : { base : int, offset : int }; var local_#11864 : { base : int, offset : int }; var local_#11865 : { base : int, offset : int }; var local_#11866 : { base : int, offset : int }; var local_#11867 : { base : int, offset : int }; var local_#11868 : int; var local_#11869 : { base : int, offset : int }; var local_#11870 : int; var local_#11871 : { base : int, offset : int }; var local_#11872 : { base : int, offset : int }; var local_#11873 : { base : int, offset : int }; var local_#11874 : { base : int, offset : int }; var local_#11875 : int; var local_#11876 : { base : int, offset : int }; var local_#11877 : { base : int, offset : int }; var local_#11878 : { base : int, offset : int }; var local_#11879 : { base : int, offset : int }; var local_#11880 : int; var local_#11881 : int; var local_#11882 : int; var local_#11883 : { base : int, offset : int }; var local_#11884 : { base : int, offset : int }; var local_#11885 : { base : int, offset : int }; var local_#11886 : { base : int, offset : int }; var local_#11887 : int; var local_#11888 : { base : int, offset : int }; var local_#11889 : { base : int, offset : int }; var local_#11890 : int; var local_#11891 : { base : int, offset : int }; var local_#11892 : { base : int, offset : int }; var local_#11893 : { base : int, offset : int }; var local_#30629 : { base : int, offset : int }; var local_#30630 : { base : int, offset : int }; var local_#11894 : { base : int, offset : int }; var local_#11895 : int; var local_#11896 : { base : int, offset : int }; var local_#11897 : { base : int, offset : int }; var local_#11898 : { base : int, offset : int }; var local_#11899 : { base : int, offset : int }; var local_#11900 : int; var local_#11901 : { base : int, offset : int }; var local_#11902 : { base : int, offset : int }; var local_#11903 : { base : int, offset : int }; var local_#11904 : { base : int, offset : int }; var local_#11905 : int; var local_#11906 : int; var local_#11907 : int; var local_#11908 : { base : int, offset : int }; var local_#11909 : { base : int, offset : int }; var local_#11910 : { base : int, offset : int }; var local_#11911 : { base : int, offset : int }; var local_#11912 : int; var local_#11913 : { base : int, offset : int }; var local_#11914 : { base : int, offset : int }; var local_#11915 : int; var local_#11916 : { base : int, offset : int }; var local_#11917 : { base : int, offset : int }; var local_#11918 : { base : int, offset : int }; var local_#30631 : { base : int, offset : int }; var local_#30632 : { base : int, offset : int }; var local_#11919 : { base : int, offset : int }; var local_#11920 : int; var local_#11921 : { base : int, offset : int }; var local_#11922 : int; var local_#11923 : { base : int, offset : int }; var local_#11924 : int; var local_#11925 : int; var local_#11926 : { base : int, offset : int }; var local_#11927 : int; var local_#11928 : int; var local_#11929 : { base : int, offset : int }; var local_#11930 : { base : int, offset : int }; var local_#11931 : int; var local_#11932 : int; var local_#30633 : int; var local_#11933 : int; var local_#11934 : { base : int, offset : int }; var local_#11935 : { base : int, offset : int }; var local_#11936 : { base : int, offset : int }; var local_#11937 : { base : int, offset : int }; var local_#11938 : { base : int, offset : int }; var local_#11939 : { base : int, offset : int }; var local_#11940 : int; var local_#11941 : { base : int, offset : int }; var local_#11942 : { base : int, offset : int }; var local_#11943 : { base : int, offset : int }; var local_#11944 : { base : int, offset : int }; var local_#11945 : { base : int, offset : int }; var local_#11946 : { base : int, offset : int }; var local_#11947 : int; var local_#11948 : { base : int, offset : int }; var local_#11949 : { base : int, offset : int }; var local_#11950 : int; var local_#11951 : { base : int, offset : int }; var local_#11952 : { base : int, offset : int }; var local_#11953 : int; var local_#11954 : { base : int, offset : int }; var local_#11955 : { base : int, offset : int }; var local_#11956 : int; var local_#11957 : { base : int, offset : int }; var local_#11958 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var nondet_#2 : bool; var local_#11959 : int; var local_#11960 : { base : int, offset : int }; var local_#11961 : { base : int, offset : int }; var local_#11962 : int; var local_#11963 : int; var local_#11964 : int; var local_#11965 : int; var local_#11966 : int; var local_#11967 : int; var local_#11968 : int; var local_#11969 : int; var local_#11970 : int; var local_#11971 : int; var local_#11972 : int; var local_#11973 : int; var local_#31473_i1 : { base : int, offset : int }; var local_#11974 : { base : int, offset : int }; var local_#11975 : int; var local_#11976 : int; var local_#11977 : int; var local_#11978 : { base : int, offset : int }; var local_#11979 : int; var local_#11980 : int; var local_#11981 : int; var local_#11982 : int; var local_#31474_i2 : { base : int, offset : int }; var local_#11983 : { base : int, offset : int }; var local_#11984 : int; var local_#11985 : int; var local_#11986 : int; var local_#11987 : { base : int, offset : int }; var local_#11988 : int; var local_#11989 : int; var local_#11990 : int; var local_#30634 : int; local_#4186_L := local_#4186_L_IN; local_#4187_t1 := local_#4187_t1_IN; local_#4188_t2 := local_#4188_t2_IN; goto CFG_36401; CFG_36401: assume true; goto CFG_49447; CFG_49447: assume true; local_#11795 := 63; local_#11796 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11795); local_#11797 := 63; local_#11798 := ~sand32(_memory[{ base : local_#4188_t2!base, offset : local_#4188_t2!offset + 8 }], local_#11797); local_#11799 := (if local_#11796 != local_#11798 then 1 else 0); if (local_#11799 != 0) { goto CFG_49466; } else { goto CFG_51515; } CFG_51515: assume true; local_#11800 := 63; local_#11801 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11800); if (local_#11801 == 0) { goto CFG_38194; } if (local_#11801 == 19) { goto CFG_38193; } if (local_#11801 == 3) { goto CFG_38192; } if (local_#11801 == 1) { goto CFG_38191; } if (local_#11801 == 2) { goto CFG_38190; } if (local_#11801 == 22) { goto CFG_38189; } if (local_#11801 == 4) { goto CFG_38188; } if (local_#11801 == 20) { goto CFG_42407; } if (local_#11801 == 7) { goto CFG_49455; } if (local_#11801 == 5) { goto CFG_49448; } goto CFG_38180; CFG_38180: assume true; local_#11802 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11803 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11804 := (if _memory_ptr[local_#11802] == _memory_ptr[local_#11803] then 1 else 0); local_#7841 := local_#11804; goto CFG_37312; CFG_49448: assume true; local_#11805 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11806 := _memory_ptr[local_#11805]; assert { :LIR "60414" } { :check "overflow" } { :finding_ids "0" } true; local_#11807 := { base : local_#11806!base, offset : local_#11806!offset + 0 }; local_#11808 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11809 := _memory_ptr[local_#11808]; assert { :LIR "60415" } { :check "overflow" } { :finding_ids "0" } true; local_#11810 := { base : local_#11809!base, offset : local_#11809!offset + 0 }; local_#11811 := (if local_#11807 == local_#11810 then 1 else 0); if (local_#11811 != 0) { goto CFG_38182; } else { goto CFG_49449; } CFG_49449: assume true; local_#11812 := { base : 0, offset : 0 }; local_#11813 := (if local_#4186_L == local_#11812 then 1 else 0); if (local_#11813 != 0) { goto CFG_38181; } else { goto CFG_40066; } CFG_40066: assume true; goto CFG_49450; CFG_49450: assume true; local_#11814 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11815 := _memory_ptr[local_#11814]; assert { :LIR "60416" } { :check "overflow" } { :finding_ids "0" } true; local_#11816 := { base : local_#11815!base, offset : local_#11815!offset + 0 }; local_#11817 := { base : 0, offset : 0 }; local_#11818 := (if _memory_ptr[{ base : local_#11816!base, offset : local_#11816!offset + 40 }] == local_#11817 then 1 else 0); if (local_#11818 != 0) { goto CFG_40070; } else { goto CFG_49451; } CFG_49451: assume true; local_#11819 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11820 := _memory_ptr[local_#11819]; assert { :LIR "60417" } { :check "overflow" } { :finding_ids "0" } true; local_#11821 := { base : local_#11820!base, offset : local_#11820!offset + 0 }; local_#11822 := _memory_ptr[{ base : local_#11821!base, offset : local_#11821!offset + 40 }]; local_#11823 := ~uwrap32(_memory[{ base : local_#11822!base, offset : local_#11822!offset + 10 }]); assert { :LIR "62482" } { :check "overflow" } { :finding_ids "0" } true; local_#11824 := 32; local_#11825 := ~uand32(local_#11823, local_#11824); if (local_#11825 != 0) { goto CFG_40068; } else { goto CFG_42402; } CFG_42402: assume true; local_#11826 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11827 := _memory_ptr[local_#11826]; assert { :LIR "60418" } { :check "overflow" } { :finding_ids "0" } true; local_#11828 := { base : local_#11827!base, offset : local_#11827!offset + 0 }; local_#11829 := _memory_ptr[{ base : local_#11828!base, offset : local_#11828!offset + 40 }]; local_#11830 := 5; local_#11831 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; local_#11832 := { base : local_#11831!base, offset : local_#11831!offset + 224 }; local_#11833 := 5; local_#11834 := { base : local_#11832!base, offset : local_#11832!offset + 0 * 8 + local_#11833 * 8 }; local_#11835 := _memory_ptr[local_#11834]; goto CFG_45856; CFG_45856: assume true; call local_#11836 := routine_#33884_luaT_gettm(local_#11829,local_#11830,local_#11835); goto CFG_40067; CFG_40067: assume true; local_#30625 := local_#11836; goto CFG_40069; CFG_40068: assume true; local_#30625 := { base : 0, offset : 0 }; goto CFG_40069; CFG_40069: assume true; local_#30626 := local_#30625; goto CFG_49452; CFG_40070: assume true; local_#30626 := { base : 0, offset : 0 }; goto CFG_49452; CFG_49452: assume true; local_#31472_tm := local_#30626; local_#11837 := { base : 0, offset : 0 }; local_#11838 := (if local_#31472_tm == local_#11837 then 1 else 0); if (local_#11838 != 0) { goto CFG_49453; } else { goto CFG_39504; } CFG_49453: assume true; local_#11839 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11840 := _memory_ptr[local_#11839]; assert { :LIR "60419" } { :check "overflow" } { :finding_ids "0" } true; local_#11841 := { base : local_#11840!base, offset : local_#11840!offset + 0 }; local_#11842 := { base : 0, offset : 0 }; local_#11843 := (if _memory_ptr[{ base : local_#11841!base, offset : local_#11841!offset + 40 }] == local_#11842 then 1 else 0); if (local_#11843 != 0) { goto CFG_40074; } else { goto CFG_49454; } CFG_49454: assume true; local_#11844 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11845 := _memory_ptr[local_#11844]; assert { :LIR "60420" } { :check "overflow" } { :finding_ids "0" } true; local_#11846 := { base : local_#11845!base, offset : local_#11845!offset + 0 }; local_#11847 := _memory_ptr[{ base : local_#11846!base, offset : local_#11846!offset + 40 }]; local_#11848 := ~uwrap32(_memory[{ base : local_#11847!base, offset : local_#11847!offset + 10 }]); assert { :LIR "62483" } { :check "overflow" } { :finding_ids "0" } true; local_#11849 := 32; local_#11850 := ~uand32(local_#11848, local_#11849); if (local_#11850 != 0) { goto CFG_40072; } else { goto CFG_42403; } CFG_42403: assume true; local_#11851 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11852 := _memory_ptr[local_#11851]; assert { :LIR "60421" } { :check "overflow" } { :finding_ids "0" } true; local_#11853 := { base : local_#11852!base, offset : local_#11852!offset + 0 }; local_#11854 := _memory_ptr[{ base : local_#11853!base, offset : local_#11853!offset + 40 }]; local_#11855 := 5; local_#11856 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; local_#11857 := { base : local_#11856!base, offset : local_#11856!offset + 224 }; local_#11858 := 5; local_#11859 := { base : local_#11857!base, offset : local_#11857!offset + 0 * 8 + local_#11858 * 8 }; local_#11860 := _memory_ptr[local_#11859]; goto CFG_45857; CFG_45857: assume true; call local_#11861 := routine_#33884_luaT_gettm(local_#11854,local_#11855,local_#11860); goto CFG_40071; CFG_40071: assume true; local_#30627 := local_#11861; goto CFG_40073; CFG_40072: assume true; local_#30627 := { base : 0, offset : 0 }; goto CFG_40073; CFG_40073: assume true; local_#30628 := local_#30627; goto CFG_40075; CFG_40074: assume true; local_#30628 := { base : 0, offset : 0 }; goto CFG_40075; CFG_40075: assume true; local_#31472_tm := local_#30628; goto CFG_39504; CFG_39504: assume true; goto CFG_49462; CFG_38181: assume true; local_#7841 := 0; goto CFG_37312; CFG_38182: assume true; local_#7841 := 1; goto CFG_37312; CFG_49455: assume true; local_#11862 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11863 := _memory_ptr[local_#11862]; assert { :LIR "60422" } { :check "overflow" } { :finding_ids "0" } true; local_#11864 := { base : local_#11863!base, offset : local_#11863!offset + 0 }; local_#11865 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11866 := _memory_ptr[local_#11865]; assert { :LIR "60423" } { :check "overflow" } { :finding_ids "0" } true; local_#11867 := { base : local_#11866!base, offset : local_#11866!offset + 0 }; local_#11868 := (if local_#11864 == local_#11867 then 1 else 0); if (local_#11868 != 0) { goto CFG_38186; } else { goto CFG_49456; } CFG_49456: assume true; local_#11869 := { base : 0, offset : 0 }; local_#11870 := (if local_#4186_L == local_#11869 then 1 else 0); if (local_#11870 != 0) { goto CFG_38185; } else { goto CFG_40076; } CFG_40076: assume true; goto CFG_49457; CFG_49457: assume true; local_#11871 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11872 := _memory_ptr[local_#11871]; assert { :LIR "60424" } { :check "overflow" } { :finding_ids "0" } true; local_#11873 := { base : local_#11872!base, offset : local_#11872!offset + 0 }; local_#11874 := { base : 0, offset : 0 }; local_#11875 := (if _memory_ptr[{ base : local_#11873!base, offset : local_#11873!offset + 16 }] == local_#11874 then 1 else 0); if (local_#11875 != 0) { goto CFG_40080; } else { goto CFG_49458; } CFG_49458: assume true; local_#11876 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11877 := _memory_ptr[local_#11876]; assert { :LIR "60425" } { :check "overflow" } { :finding_ids "0" } true; local_#11878 := { base : local_#11877!base, offset : local_#11877!offset + 0 }; local_#11879 := _memory_ptr[{ base : local_#11878!base, offset : local_#11878!offset + 16 }]; local_#11880 := ~uwrap32(_memory[{ base : local_#11879!base, offset : local_#11879!offset + 10 }]); assert { :LIR "62484" } { :check "overflow" } { :finding_ids "0" } true; local_#11881 := 32; local_#11882 := ~uand32(local_#11880, local_#11881); if (local_#11882 != 0) { goto CFG_40078; } else { goto CFG_42404; } CFG_42404: assume true; local_#11883 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11884 := _memory_ptr[local_#11883]; assert { :LIR "60426" } { :check "overflow" } { :finding_ids "0" } true; local_#11885 := { base : local_#11884!base, offset : local_#11884!offset + 0 }; local_#11886 := _memory_ptr[{ base : local_#11885!base, offset : local_#11885!offset + 16 }]; local_#11887 := 5; local_#11888 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; local_#11889 := { base : local_#11888!base, offset : local_#11888!offset + 224 }; local_#11890 := 5; local_#11891 := { base : local_#11889!base, offset : local_#11889!offset + 0 * 8 + local_#11890 * 8 }; local_#11892 := _memory_ptr[local_#11891]; goto CFG_45858; CFG_45858: assume true; call local_#11893 := routine_#33884_luaT_gettm(local_#11886,local_#11887,local_#11892); goto CFG_40077; CFG_40077: assume true; local_#30629 := local_#11893; goto CFG_40079; CFG_40078: assume true; local_#30629 := { base : 0, offset : 0 }; goto CFG_40079; CFG_40079: assume true; local_#30630 := local_#30629; goto CFG_49459; CFG_40080: assume true; local_#30630 := { base : 0, offset : 0 }; goto CFG_49459; CFG_49459: assume true; local_#31472_tm := local_#30630; local_#11894 := { base : 0, offset : 0 }; local_#11895 := (if local_#31472_tm == local_#11894 then 1 else 0); if (local_#11895 != 0) { goto CFG_49460; } else { goto CFG_39505; } CFG_49460: assume true; local_#11896 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11897 := _memory_ptr[local_#11896]; assert { :LIR "60427" } { :check "overflow" } { :finding_ids "0" } true; local_#11898 := { base : local_#11897!base, offset : local_#11897!offset + 0 }; local_#11899 := { base : 0, offset : 0 }; local_#11900 := (if _memory_ptr[{ base : local_#11898!base, offset : local_#11898!offset + 16 }] == local_#11899 then 1 else 0); if (local_#11900 != 0) { goto CFG_40084; } else { goto CFG_49461; } CFG_49461: assume true; local_#11901 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11902 := _memory_ptr[local_#11901]; assert { :LIR "60428" } { :check "overflow" } { :finding_ids "0" } true; local_#11903 := { base : local_#11902!base, offset : local_#11902!offset + 0 }; local_#11904 := _memory_ptr[{ base : local_#11903!base, offset : local_#11903!offset + 16 }]; local_#11905 := ~uwrap32(_memory[{ base : local_#11904!base, offset : local_#11904!offset + 10 }]); assert { :LIR "62485" } { :check "overflow" } { :finding_ids "0" } true; local_#11906 := 32; local_#11907 := ~uand32(local_#11905, local_#11906); if (local_#11907 != 0) { goto CFG_40082; } else { goto CFG_42405; } CFG_42405: assume true; local_#11908 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11909 := _memory_ptr[local_#11908]; assert { :LIR "60429" } { :check "overflow" } { :finding_ids "0" } true; local_#11910 := { base : local_#11909!base, offset : local_#11909!offset + 0 }; local_#11911 := _memory_ptr[{ base : local_#11910!base, offset : local_#11910!offset + 16 }]; local_#11912 := 5; local_#11913 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 24 }]; local_#11914 := { base : local_#11913!base, offset : local_#11913!offset + 224 }; local_#11915 := 5; local_#11916 := { base : local_#11914!base, offset : local_#11914!offset + 0 * 8 + local_#11915 * 8 }; local_#11917 := _memory_ptr[local_#11916]; goto CFG_45859; CFG_45859: assume true; call local_#11918 := routine_#33884_luaT_gettm(local_#11911,local_#11912,local_#11917); goto CFG_40081; CFG_40081: assume true; local_#30631 := local_#11918; goto CFG_40083; CFG_40082: assume true; local_#30631 := { base : 0, offset : 0 }; goto CFG_40083; CFG_40083: assume true; local_#30632 := local_#30631; goto CFG_40085; CFG_40084: assume true; local_#30632 := { base : 0, offset : 0 }; goto CFG_40085; CFG_40085: assume true; local_#31472_tm := local_#30632; goto CFG_39505; CFG_39505: assume true; goto CFG_49462; CFG_49462: assume true; local_#11919 := { base : 0, offset : 0 }; local_#11920 := (if local_#31472_tm == local_#11919 then 1 else 0); if (local_#11920 != 0) { goto CFG_38184; } else { goto CFG_42406; } CFG_42406: assume true; local_#11921 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; local_#11922 := 1; goto CFG_45860; CFG_45860: assume true; call routine_#33881_luaT_callTM(local_#4186_L,local_#31472_tm,local_#4187_t1,local_#4188_t2,local_#11921,local_#11922); goto CFG_49463; CFG_49463: assume true; local_#11923 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; local_#11924 := 0; local_#11925 := (if _memory[{ base : local_#11923!base, offset : local_#11923!offset + 8 }] == local_#11924 then 1 else 0); if (local_#11925 != 0) { goto CFG_40087; } else { goto CFG_49464; } CFG_49464: assume true; local_#11926 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; local_#11927 := 1; local_#11928 := (if _memory[{ base : local_#11926!base, offset : local_#11926!offset + 8 }] == local_#11927 then 1 else 0); if (local_#11928 != 0) { goto CFG_49465; } else { goto CFG_40086; } CFG_49465: assume true; local_#11929 := _memory_ptr[{ base : local_#4186_L!base, offset : local_#4186_L!offset + 16 }]; local_#11930 := { base : local_#11929!base, offset : local_#11929!offset + 0 }; local_#11931 := 0; local_#11932 := (if _memory[local_#11930] == local_#11931 then 1 else 0); if (local_#11932 != 0) { goto CFG_40087; } else { goto CFG_40086; } CFG_40086: assume true; local_#30633 := 0; goto CFG_38183; CFG_40087: assume true; local_#30633 := 1; goto CFG_38183; CFG_38183: assume true; local_#11933 := (if local_#30633 != 0 then 0 else 1); local_#7841 := local_#11933; goto CFG_37312; CFG_38184: assume true; local_#7841 := 0; goto CFG_37312; CFG_38185: assume true; local_#7841 := 0; goto CFG_37312; CFG_38186: assume true; local_#7841 := 1; goto CFG_37312; CFG_42407: assume true; local_#11934 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11935 := _memory_ptr[local_#11934]; assert { :LIR "60430" } { :check "overflow" } { :finding_ids "0" } true; local_#11936 := { base : local_#11935!base, offset : local_#11935!offset + 0 }; local_#11937 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11938 := _memory_ptr[local_#11937]; assert { :LIR "60431" } { :check "overflow" } { :finding_ids "0" } true; local_#11939 := { base : local_#11938!base, offset : local_#11938!offset + 0 }; goto CFG_45861; CFG_45861: assume true; call local_#11940 := routine_#33872_luaS_eqlngstr(local_#11936,local_#11939); goto CFG_38187; CFG_38187: assume true; local_#7841 := local_#11940; goto CFG_37312; CFG_38188: assume true; local_#11941 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11942 := _memory_ptr[local_#11941]; assert { :LIR "60432" } { :check "overflow" } { :finding_ids "0" } true; local_#11943 := { base : local_#11942!base, offset : local_#11942!offset + 0 }; local_#11944 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11945 := _memory_ptr[local_#11944]; assert { :LIR "60433" } { :check "overflow" } { :finding_ids "0" } true; local_#11946 := { base : local_#11945!base, offset : local_#11945!offset + 0 }; local_#11947 := (if local_#11943 == local_#11946 then 1 else 0); local_#7841 := local_#11947; goto CFG_37312; CFG_38189: assume true; local_#11948 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11949 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11950 := (if _memory_ptr[local_#11948] == _memory_ptr[local_#11949] then 1 else 0); local_#7841 := local_#11950; goto CFG_37312; CFG_38190: assume true; local_#11951 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11952 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11953 := (if _memory_ptr[local_#11951] == _memory_ptr[local_#11952] then 1 else 0); local_#7841 := local_#11953; goto CFG_37312; CFG_38191: assume true; local_#11954 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11955 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11956 := (if _memory[local_#11954] == _memory[local_#11955] then 1 else 0); local_#7841 := local_#11956; goto CFG_37312; CFG_38192: assume true; local_#11957 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11958 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; havoc nondet_#0; havoc nondet_#1; havoc nondet_#2; local_#11959 := (if nondet_#2 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 64817. */ then 1 else 0); local_#7841 := local_#11959; goto CFG_37312; CFG_38193: assume true; local_#11960 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; local_#11961 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; local_#11962 := (if _memory[local_#11960] == _memory[local_#11961] then 1 else 0); local_#7841 := local_#11962; goto CFG_37312; CFG_38194: assume true; local_#7841 := 1; goto CFG_37312; CFG_49466: assume true; local_#11963 := 15; local_#11964 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11963); local_#11965 := 15; local_#11966 := ~sand32(_memory[{ base : local_#4188_t2!base, offset : local_#4188_t2!offset + 8 }], local_#11965); local_#11967 := (if local_#11964 != local_#11966 then 1 else 0); if (local_#11967 != 0) { goto CFG_38196; } else { goto CFG_49467; } CFG_49467: assume true; local_#11968 := 15; local_#11969 := ~sand32(_memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }], local_#11968); local_#11970 := 3; local_#11971 := (if local_#11969 != local_#11970 then 1 else 0); if (local_#11971 != 0) { goto CFG_38196; } else { goto CFG_49468; } CFG_49468: assume true; local_#11972 := 19; local_#11973 := (if _memory[{ base : local_#4187_t1!base, offset : local_#4187_t1!offset + 8 }] == local_#11972 then 1 else 0); if (local_#11973 != 0) { goto CFG_49470; } else { goto CFG_42408; } CFG_42408: assume true; local_#11974 := local_#31473_i1; local_#11975 := 0; goto CFG_45862; CFG_45862: assume true; call local_#11976 := routine_#33903_luaV_tointeger(local_#4187_t1,local_#11974,local_#11975); goto CFG_49469; CFG_49469: assume true; local_#11977 := local_#11976; if (local_#11977 != 0) { goto CFG_49471; } else { goto CFG_40088; } CFG_49470: assume true; local_#11978 := { base : local_#4187_t1!base, offset : local_#4187_t1!offset + 0 }; _memory[local_#31473_i1] := _memory[local_#11978]; local_#11979 := _memory[local_#31473_i1]; local_#11980 := 1; if (local_#11980 != 0) { goto CFG_49471; } else { goto CFG_40088; } CFG_49471: assume true; local_#11981 := 19; local_#11982 := (if _memory[{ base : local_#4188_t2!base, offset : local_#4188_t2!offset + 8 }] == local_#11981 then 1 else 0); if (local_#11982 != 0) { goto CFG_49473; } else { goto CFG_42409; } CFG_42409: assume true; local_#11983 := local_#31474_i2; local_#11984 := 0; goto CFG_45863; CFG_45863: assume true; call local_#11985 := routine_#33903_luaV_tointeger(local_#4188_t2,local_#11983,local_#11984); goto CFG_49472; CFG_49472: assume true; local_#11986 := local_#11985; if (local_#11986 != 0) { goto CFG_49474; } else { goto CFG_40088; } CFG_49473: assume true; local_#11987 := { base : local_#4188_t2!base, offset : local_#4188_t2!offset + 0 }; _memory[local_#31474_i2] := _memory[local_#11987]; local_#11988 := _memory[local_#31474_i2]; local_#11989 := 1; if (local_#11989 != 0) { goto CFG_49474; } else { goto CFG_40088; } CFG_49474: assume true; local_#11990 := (if _memory[local_#31473_i1] == _memory[local_#31474_i2] then 1 else 0); if (local_#11990 != 0) { goto CFG_40089; } else { goto CFG_40088; } CFG_40088: assume true; local_#30634 := 0; goto CFG_38195; CFG_40089: assume true; local_#30634 := 1; goto CFG_38195; CFG_38195: assume true; local_#7841 := local_#30634; goto CFG_37312; CFG_38196: assume true; local_#7841 := 0; goto CFG_37312; CFG_41914: assume true; goto CFG_49462; CFG_37312: assume true; } procedure routine_#33894_luaV_execute(local_#4189_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4189_L : { base : int, offset : int }; var local_#31476_ci : { base : int, offset : int }; var local_#11991 : int; var local_#11992 : int; var local_#11993 : int; var local_#11994 : int; var local_#11995 : int; var local_#11996 : { base : int, offset : int }; var local_#11997 : { base : int, offset : int }; var local_#11998 : { base : int, offset : int }; var local_#11999 : { base : int, offset : int }; var local_#12000 : { base : int, offset : int }; var local_#31477_cl : { base : int, offset : int }; var local_#12001 : { base : int, offset : int }; var local_#31478_k : { base : int, offset : int }; var local_#12002 : { base : int, offset : int }; var local_#31475_base : { base : int, offset : int }; var local_#12003 : int; var local_#12004 : { base : int, offset : int }; var local_#12005 : { base : int, offset : int }; var local_#12006 : int; var local_#31479_i : int; var local_#12007 : int; var local_#12008 : int; var local_#12009 : { base : int, offset : int }; var local_#12010 : int; var local_#12011 : int; var local_#12012 : int; var local_#12013 : int; var local_#12014 : int; var local_#12015 : { base : int, offset : int }; var local_#31480_ra : { base : int, offset : int }; var local_#12016 : int; var local_#12017 : int; var local_#12018 : int; var local_#12019 : int; var local_#12020 : int; var local_#12021 : int; var local_#12022 : int; var local_#12023 : int; var local_#12024 : int; var local_#12025 : int; var local_#12026 : int; var local_#12027 : int; var local_#12028 : int; var local_#12029 : int; var local_#12030 : int; var local_#12031 : int; var local_#12032 : int; var local_#12033 : int; var local_#31668_b : int; var local_#12034 : int; var local_#12035 : int; var local_#12036 : { base : int, offset : int }; var local_#12037 : int; var local_#12038 : int; var local_#12039 : int; var local_#12040 : int; var local_#31670_n : int; var local_#12041 : int; var local_#12042 : int; var local_#12043 : int; var local_#12044 : int; var local_#12045 : int; var local_#12046 : int; var local_#12047 : int; var local_#12048 : int; var local_#12049 : int; var local_#12050 : int; var local_#12051 : int; var local_#12052 : int; var local_#12053 : int; var local_#12054 : { base : int, offset : int }; var local_#12055 : int; var local_#12056 : int; var local_#12057 : int; var local_#12058 : int; var local_#12059 : int; var local_#12060 : { base : int, offset : int }; var local_#12061 : { base : int, offset : int }; var local_#31669_j : int; var local_#12062 : int; var local_#12063 : int; var local_#12064 : int; var local_#12065 : int; var local_#12066 : { base : int, offset : int }; var local_#12067 : int; var local_#12068 : int; var local_#12069 : int; var local_#12070 : { base : int, offset : int }; var local_#31671_io1 : { base : int, offset : int }; var local_#12071 : { base : int, offset : int }; var local_#12072 : { base : int, offset : int }; var local_#12073 : int; var local_#12074 : int; var local_#12075 : int; var local_#12076 : int; var local_#12077 : int; var local_#12078 : int; var local_#12079 : { base : int, offset : int }; var local_#12080 : int; var local_#12081 : int; var local_#12082 : int; var local_#12083 : int; var local_#12084 : int; var local_#12085 : { base : int, offset : int }; var local_#31665_p : { base : int, offset : int }; var local_#12086 : { base : int, offset : int }; var local_#12087 : { base : int, offset : int }; var local_#12088 : { base : int, offset : int }; var local_#31664_ncl : { base : int, offset : int }; var local_#12089 : { base : int, offset : int }; var local_#12090 : int; var local_#31666_io : { base : int, offset : int }; var local_#31667_x_ : { base : int, offset : int }; var local_#12091 : { base : int, offset : int }; var local_#12092 : { base : int, offset : int }; var local_#12093 : { base : int, offset : int }; var local_#12094 : int; var local_#12095 : int; var local_#12096 : { base : int, offset : int }; var local_#12097 : { base : int, offset : int }; var local_#12098 : { base : int, offset : int }; var local_#12099 : int; var local_#12100 : int; var local_#12101 : int; var local_#12102 : { base : int, offset : int }; var local_#12103 : { base : int, offset : int }; var local_#12104 : int; var local_#12105 : int; var local_#12106 : int; var local_#12107 : int; var local_#12108 : int; var local_#12109 : int; var local_#12110 : int; var local_#12111 : int; var local_#12112 : int; var local_#12113 : int; var local_#12114 : int; var local_#31662_n : int; var local_#12115 : int; var local_#12116 : int; var local_#12117 : int; var local_#12118 : int; var local_#12119 : int; var local_#31659_c : int; var local_#12120 : int; var local_#12121 : int; var local_#12122 : int; var local_#12123 : int; var local_#12124 : int; var local_#12125 : int; var local_#12126 : int; var local_#12127 : int; var local_#12128 : int; var local_#12129 : int; var local_#12130 : { base : int, offset : int }; var local_#12131 : { base : int, offset : int }; var local_#12132 : int; var local_#12133 : int; var local_#12134 : int; var local_#12135 : int; var local_#12136 : int; var local_#12137 : int; var local_#12138 : { base : int, offset : int }; var local_#12139 : { base : int, offset : int }; var local_#12140 : { base : int, offset : int }; var local_#31660_h : { base : int, offset : int }; var local_#12141 : int; var local_#12142 : int; var local_#12143 : int; var local_#12144 : int; var local_#12145 : int; var local_#12146 : int; var local_#31661_last : int; var local_#12147 : int; var local_#12148 : int; var local_#12149 : int; var local_#12150 : { base : int, offset : int }; var local_#31663_val : { base : int, offset : int }; var local_#12151 : int; var local_#12152 : int; var local_#12153 : int; var local_#12154 : int; var local_#12155 : int; var local_#12156 : int; var local_#12157 : int; var local_#12158 : int; var local_#12159 : { base : int, offset : int }; var local_#12160 : { base : int, offset : int }; var local_#12161 : int; var local_#12162 : int; var local_#12163 : int; var local_#12164 : int; var local_#12165 : int; var local_#12166 : int; var local_#12167 : int; var local_#12168 : int; var local_#12169 : int; var local_#12170 : { base : int, offset : int }; var local_#31654_cb : { base : int, offset : int }; var local_#12171 : int; var local_#12172 : { base : int, offset : int }; var local_#31655_io1 : { base : int, offset : int }; var local_#12173 : int; var local_#12174 : { base : int, offset : int }; var local_#12175 : int; var local_#12176 : int; var local_#12177 : int; var local_#12178 : int; var local_#12179 : { base : int, offset : int }; var local_#31656_io1 : { base : int, offset : int }; var local_#12180 : int; var local_#12181 : { base : int, offset : int }; var local_#12182 : int; var local_#12183 : int; var local_#12184 : int; var local_#31657_io1 : { base : int, offset : int }; var local_#12185 : int; var local_#12186 : int; var local_#12187 : int; var local_#12188 : int; var local_#12189 : { base : int, offset : int }; var local_#12190 : int; var local_#12191 : int; var local_#12192 : int; var local_#12193 : int; var local_#12194 : int; var local_#12195 : { base : int, offset : int }; var local_#12196 : { base : int, offset : int }; var local_#12197 : { base : int, offset : int }; var local_#12198 : int; var local_#12199 : int; var local_#12200 : int; var local_#12201 : int; var local_#12202 : int; var local_#12203 : int; var local_#12204 : { base : int, offset : int }; var local_#12205 : int; var local_#12206 : int; var local_#12207 : int; var local_#12208 : { base : int, offset : int }; var local_#12209 : int; var local_#12210 : int; var local_#12211 : int; var local_#31658_io1 : { base : int, offset : int }; var local_#12212 : int; var local_#12213 : { base : int, offset : int }; var local_#12214 : int; var local_#12215 : int; var local_#12216 : int; var local_#12217 : int; var local_#12218 : int; var local_#12219 : int; var local_#12220 : int; var local_#12221 : int; var local_#12222 : int; var local_#12223 : int; var local_#12224 : { base : int, offset : int }; var local_#31641_init : { base : int, offset : int }; var local_#12225 : int; var local_#12226 : { base : int, offset : int }; var local_#31642_plimit : { base : int, offset : int }; var local_#12227 : int; var local_#12228 : { base : int, offset : int }; var local_#31643_pstep : { base : int, offset : int }; var local_#12229 : int; var local_#12230 : int; var local_#12231 : int; var local_#12232 : int; var local_#12233 : { base : int, offset : int }; var local_#31640_ilimit : { base : int, offset : int }; var local_#12234 : { base : int, offset : int }; var local_#12235 : { base : int, offset : int }; var local_#12236 : int; var local_#31644_stopnow : { base : int, offset : int }; var local_#12237 : { base : int, offset : int }; var local_#12238 : int; var local_#12239 : int; var local_#12240 : int; var local_#12241 : int; var local_#12242 : { base : int, offset : int }; var local_#31649_nlimit : { base : int, offset : int }; var local_#12243 : { base : int, offset : int }; var local_#12244 : int; var local_#12245 : int; var local_#12246 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#12247 : int; var local_#12248 : int; var local_#12249 : { base : int, offset : int }; var local_#12250 : { base : int, offset : int }; var local_#31651_io : { base : int, offset : int }; var local_#12251 : { base : int, offset : int }; var nondet_#2 : int; var local_#12252 : int; var local_#12253 : int; var local_#12254 : { base : int, offset : int }; var local_#31650_nstep : { base : int, offset : int }; var local_#12255 : { base : int, offset : int }; var local_#12256 : int; var local_#12257 : int; var local_#12258 : { base : int, offset : int }; var nondet_#3 : int; var nondet_#4 : int; var local_#12259 : int; var local_#12260 : int; var local_#12261 : { base : int, offset : int }; var local_#12262 : { base : int, offset : int }; var local_#31652_io : { base : int, offset : int }; var local_#12263 : { base : int, offset : int }; var nondet_#5 : int; var local_#12264 : int; var local_#12265 : int; var local_#12266 : { base : int, offset : int }; var local_#31648_ninit : { base : int, offset : int }; var local_#12267 : { base : int, offset : int }; var local_#12268 : int; var local_#12269 : int; var local_#12270 : { base : int, offset : int }; var nondet_#6 : int; var nondet_#7 : int; var local_#12271 : int; var local_#12272 : int; var local_#12273 : { base : int, offset : int }; var local_#12274 : { base : int, offset : int }; var local_#31653_io : { base : int, offset : int }; var nondet_#8 : int; var nondet_#9 : int; var nondet_#10 : int; var local_#12275 : int; var local_#12276 : { base : int, offset : int }; var local_#12277 : int; var local_#12278 : { base : int, offset : int }; var local_#30635 : int; var local_#31645_initv : int; var local_#31646_io : { base : int, offset : int }; var local_#12279 : { base : int, offset : int }; var local_#31647_io : { base : int, offset : int }; var local_#12280 : int; var local_#12281 : { base : int, offset : int }; var local_#12282 : int; var local_#12283 : int; var local_#12284 : int; var local_#12285 : { base : int, offset : int }; var local_#12286 : int; var local_#12287 : int; var local_#12288 : int; var local_#12289 : int; var local_#12290 : int; var local_#12291 : int; var local_#12292 : int; var local_#12293 : { base : int, offset : int }; var local_#12294 : int; var local_#12295 : int; var local_#12296 : int; var local_#12297 : { base : int, offset : int }; var local_#12298 : { base : int, offset : int }; var nondet_#11 : int; var local_#31637_step : int; var local_#12299 : { base : int, offset : int }; var nondet_#12 : int; var nondet_#13 : int; var local_#12300 : int; var local_#31635_idx : int; var local_#12301 : int; var local_#12302 : { base : int, offset : int }; var local_#12303 : { base : int, offset : int }; var nondet_#14 : int; var local_#31636_limit : int; var nondet_#15 : int; var local_#12304 : int; var nondet_#16 : bool; var local_#12305 : int; var nondet_#17 : bool; var local_#12306 : int; var nondet_#18 : bool; var local_#12307 : int; var local_#12308 : int; var local_#12309 : int; var local_#12310 : int; var local_#12311 : int; var local_#12312 : int; var local_#12313 : int; var local_#12314 : int; var local_#12315 : { base : int, offset : int }; var local_#31638_io : { base : int, offset : int }; var local_#12316 : int; var local_#12317 : int; var local_#12318 : { base : int, offset : int }; var local_#12319 : int; var local_#12320 : { base : int, offset : int }; var local_#31639_io : { base : int, offset : int }; var local_#12321 : { base : int, offset : int }; var local_#12322 : int; var local_#12323 : { base : int, offset : int }; var local_#12324 : { base : int, offset : int }; var local_#31632_step : int; var local_#12325 : { base : int, offset : int }; var local_#12326 : int; var local_#12327 : int; var local_#12328 : int; var local_#12329 : int; var local_#31630_idx : int; var local_#12330 : int; var local_#12331 : { base : int, offset : int }; var local_#12332 : { base : int, offset : int }; var local_#31631_limit : int; var local_#12333 : int; var local_#12334 : int; var local_#12335 : int; var local_#12336 : int; var local_#12337 : int; var local_#12338 : int; var local_#12339 : int; var local_#12340 : int; var local_#12341 : int; var local_#12342 : int; var local_#12343 : int; var local_#12344 : { base : int, offset : int }; var local_#31633_io : { base : int, offset : int }; var local_#12345 : int; var local_#12346 : int; var local_#12347 : { base : int, offset : int }; var local_#12348 : int; var local_#12349 : { base : int, offset : int }; var local_#31634_io : { base : int, offset : int }; var local_#12350 : { base : int, offset : int }; var local_#12351 : int; var local_#12352 : int; var local_#12353 : int; var local_#12354 : int; var local_#12355 : int; var local_#31629_b : int; var local_#12356 : { base : int, offset : int }; var local_#12357 : int; var local_#12358 : int; var local_#12359 : int; var local_#12360 : int; var local_#12361 : int; var local_#12362 : int; var local_#30636 : int; var local_#12363 : int; var local_#12364 : int; var local_#12365 : int; var local_#12366 : int; var local_#12367 : int; var local_#12368 : int; var local_#12369 : int; var local_#12370 : int; var local_#12371 : int; var local_#12372 : int; var local_#12373 : int; var local_#12374 : int; var local_#12375 : int; var local_#12376 : int; var local_#12377 : int; var local_#12378 : int; var local_#31621_b : int; var local_#12379 : int; var local_#12380 : int; var local_#12381 : { base : int, offset : int }; var local_#12382 : int; var local_#12383 : int; var local_#12384 : int; var local_#12385 : int; var local_#12386 : int; var local_#31624_nci : { base : int, offset : int }; var local_#31626_oci : { base : int, offset : int }; var local_#31625_nfunc : { base : int, offset : int }; var local_#31627_ofunc : { base : int, offset : int }; var local_#12387 : { base : int, offset : int }; var local_#12388 : { base : int, offset : int }; var local_#12389 : { base : int, offset : int }; var local_#12390 : { base : int, offset : int }; var local_#12391 : { base : int, offset : int }; var local_#12392 : { base : int, offset : int }; var local_#12393 : { base : int, offset : int }; var local_#31623_lim : { base : int, offset : int }; var local_#12394 : { base : int, offset : int }; var local_#12395 : int; var local_#12396 : int; var local_#12397 : { base : int, offset : int }; var local_#12398 : { base : int, offset : int }; var local_#31622_aux : int; var local_#12399 : { base : int, offset : int }; var local_#12400 : int; var local_#12401 : { base : int, offset : int }; var local_#12402 : int; var local_#12403 : { base : int, offset : int }; var local_#12404 : { base : int, offset : int }; var local_#12405 : int; var local_#12406 : { base : int, offset : int }; var local_#12407 : { base : int, offset : int }; var local_#12408 : { base : int, offset : int }; var local_#12409 : int; var local_#12410 : int; var local_#12411 : int; var local_#12412 : int; var local_#12413 : int; var local_#12414 : { base : int, offset : int }; var local_#31628_io1 : { base : int, offset : int }; var local_#12415 : { base : int, offset : int }; var local_#12416 : int; var local_#12417 : int; var local_#12418 : int; var local_#12419 : int; var local_#12420 : int; var local_#12421 : int; var local_#12422 : int; var local_#12423 : int; var local_#12424 : { base : int, offset : int }; var local_#12425 : int; var local_#12426 : int; var local_#12427 : int; var local_#12428 : int; var local_#12429 : int; var local_#31619_b : int; var local_#12430 : int; var local_#12431 : int; var local_#12432 : int; var local_#12433 : int; var local_#12434 : int; var local_#12435 : int; var local_#12436 : int; var local_#31620_nresults : int; var local_#12437 : int; var local_#12438 : int; var local_#12439 : { base : int, offset : int }; var local_#12440 : int; var local_#12441 : int; var local_#12442 : int; var local_#12443 : int; var local_#12444 : int; var local_#12445 : int; var local_#12446 : { base : int, offset : int }; var local_#12447 : int; var local_#12448 : int; var local_#12449 : int; var local_#12450 : int; var local_#12451 : int; var local_#12452 : { base : int, offset : int }; var local_#31616_rb : { base : int, offset : int }; var local_#12453 : int; var local_#12454 : int; var local_#12455 : int; var local_#12456 : int; var local_#12457 : int; var local_#12458 : int; var local_#12459 : int; var local_#12460 : int; var local_#12461 : int; var local_#12462 : { base : int, offset : int }; var local_#12463 : int; var local_#12464 : int; var local_#12465 : int; var local_#12466 : int; var local_#12467 : int; var local_#12468 : int; var local_#12469 : { base : int, offset : int }; var local_#12470 : int; var local_#12471 : int; var local_#31617_io1 : { base : int, offset : int }; var local_#12472 : int; var local_#12473 : int; var local_#12474 : int; var local_#12475 : { base : int, offset : int }; var local_#12476 : { base : int, offset : int }; var local_#12477 : int; var local_#12478 : int; var local_#12479 : int; var local_#12480 : int; var local_#12481 : int; var local_#31618_a : int; var local_#12482 : int; var local_#12483 : int; var local_#12484 : { base : int, offset : int }; var local_#12485 : { base : int, offset : int }; var local_#12486 : int; var local_#12487 : { base : int, offset : int }; var local_#12488 : int; var local_#12489 : int; var local_#12490 : int; var local_#12491 : int; var local_#12492 : int; var local_#12493 : int; var local_#12494 : int; var local_#12495 : int; var local_#12496 : int; var local_#12497 : { base : int, offset : int }; var local_#12498 : { base : int, offset : int }; var local_#12499 : { base : int, offset : int }; var local_#12500 : int; var local_#12501 : { base : int, offset : int }; var local_#12502 : int; var local_#12503 : int; var local_#12504 : int; var local_#12505 : int; var local_#12506 : int; var local_#12507 : int; var local_#12508 : int; var local_#12509 : int; var local_#12510 : int; var local_#12511 : { base : int, offset : int }; var local_#12512 : int; var local_#12513 : int; var local_#12514 : int; var local_#12515 : int; var local_#12516 : int; var local_#12517 : int; var local_#12518 : { base : int, offset : int }; var local_#12519 : int; var local_#12520 : int; var local_#12521 : { base : int, offset : int }; var local_#12522 : { base : int, offset : int }; var local_#12523 : int; var local_#12524 : int; var local_#12525 : int; var local_#12526 : int; var local_#12527 : int; var local_#31615_a : int; var local_#12528 : int; var local_#12529 : int; var local_#12530 : { base : int, offset : int }; var local_#12531 : { base : int, offset : int }; var local_#12532 : int; var local_#12533 : { base : int, offset : int }; var local_#12534 : int; var local_#12535 : int; var local_#12536 : int; var local_#12537 : int; var local_#12538 : int; var local_#12539 : int; var local_#12540 : int; var local_#12541 : int; var local_#12542 : int; var local_#12543 : { base : int, offset : int }; var local_#12544 : { base : int, offset : int }; var local_#12545 : { base : int, offset : int }; var local_#12546 : int; var local_#12547 : { base : int, offset : int }; var local_#12548 : int; var local_#12549 : int; var local_#12550 : int; var local_#12551 : int; var local_#12552 : int; var local_#12553 : int; var local_#12554 : int; var local_#12555 : int; var local_#12556 : int; var local_#12557 : int; var local_#12558 : int; var local_#12559 : int; var local_#12560 : { base : int, offset : int }; var local_#30637 : { base : int, offset : int }; var local_#12561 : int; var local_#12562 : int; var local_#12563 : int; var local_#12564 : int; var local_#12565 : int; var local_#12566 : int; var local_#12567 : int; var local_#12568 : int; var local_#12569 : { base : int, offset : int }; var local_#12570 : { base : int, offset : int }; var local_#12571 : int; var local_#12572 : int; var local_#12573 : int; var local_#12574 : int; var local_#12575 : int; var local_#12576 : int; var local_#12577 : int; var local_#12578 : int; var local_#12579 : int; var local_#12580 : int; var local_#12581 : int; var local_#12582 : int; var local_#12583 : { base : int, offset : int }; var local_#30638 : { base : int, offset : int }; var local_#12584 : int; var local_#12585 : int; var local_#12586 : int; var local_#12587 : int; var local_#12588 : int; var local_#12589 : int; var local_#12590 : int; var local_#12591 : int; var local_#12592 : { base : int, offset : int }; var local_#12593 : { base : int, offset : int }; var local_#12594 : int; var local_#12595 : int; var local_#12596 : int; var local_#12597 : int; var local_#12598 : int; var local_#12599 : int; var local_#12600 : int; var local_#12601 : { base : int, offset : int }; var local_#12602 : { base : int, offset : int }; var local_#12603 : int; var local_#12604 : int; var local_#12605 : int; var local_#12606 : int; var local_#12607 : int; var local_#31614_a : int; var local_#12608 : int; var local_#12609 : int; var local_#12610 : { base : int, offset : int }; var local_#12611 : { base : int, offset : int }; var local_#12612 : int; var local_#12613 : { base : int, offset : int }; var local_#12614 : int; var local_#12615 : int; var local_#12616 : int; var local_#12617 : int; var local_#12618 : int; var local_#12619 : int; var local_#12620 : int; var local_#12621 : int; var local_#12622 : int; var local_#12623 : { base : int, offset : int }; var local_#12624 : { base : int, offset : int }; var local_#12625 : { base : int, offset : int }; var local_#12626 : int; var local_#12627 : { base : int, offset : int }; var local_#12628 : { base : int, offset : int }; var local_#12629 : int; var local_#12630 : int; var local_#12631 : int; var local_#12632 : int; var local_#12633 : int; var local_#12634 : int; var local_#12635 : int; var local_#12636 : int; var local_#12637 : int; var local_#12638 : int; var local_#12639 : int; var local_#12640 : int; var local_#12641 : { base : int, offset : int }; var local_#30639 : { base : int, offset : int }; var local_#12642 : int; var local_#12643 : int; var local_#12644 : int; var local_#12645 : int; var local_#12646 : int; var local_#12647 : int; var local_#12648 : int; var local_#12649 : int; var local_#12650 : { base : int, offset : int }; var local_#12651 : { base : int, offset : int }; var local_#12652 : int; var local_#12653 : int; var local_#12654 : int; var local_#12655 : int; var local_#12656 : int; var local_#12657 : int; var local_#12658 : int; var local_#12659 : int; var local_#12660 : int; var local_#12661 : int; var local_#12662 : int; var local_#12663 : int; var local_#12664 : { base : int, offset : int }; var local_#30640 : { base : int, offset : int }; var local_#12665 : int; var local_#12666 : int; var local_#12667 : int; var local_#12668 : int; var local_#12669 : int; var local_#12670 : int; var local_#12671 : int; var local_#12672 : int; var local_#12673 : { base : int, offset : int }; var local_#12674 : { base : int, offset : int }; var local_#12675 : int; var local_#12676 : int; var local_#12677 : int; var local_#12678 : int; var local_#12679 : int; var local_#12680 : int; var local_#12681 : int; var local_#12682 : { base : int, offset : int }; var local_#12683 : { base : int, offset : int }; var local_#12684 : int; var local_#12685 : int; var local_#12686 : int; var local_#12687 : int; var local_#12688 : int; var local_#31613_a : int; var local_#12689 : int; var local_#12690 : int; var local_#12691 : { base : int, offset : int }; var local_#12692 : { base : int, offset : int }; var local_#12693 : int; var local_#12694 : { base : int, offset : int }; var local_#12695 : int; var local_#12696 : int; var local_#12697 : int; var local_#12698 : int; var local_#12699 : int; var local_#12700 : int; var local_#12701 : int; var local_#12702 : int; var local_#12703 : int; var local_#12704 : { base : int, offset : int }; var local_#12705 : { base : int, offset : int }; var local_#12706 : { base : int, offset : int }; var local_#12707 : int; var local_#12708 : { base : int, offset : int }; var local_#12709 : { base : int, offset : int }; var local_#12710 : int; var local_#12711 : int; var local_#12712 : int; var local_#12713 : int; var local_#12714 : int; var local_#12715 : int; var local_#12716 : int; var local_#12717 : int; var local_#12718 : int; var local_#12719 : int; var local_#12720 : int; var local_#12721 : int; var local_#12722 : { base : int, offset : int }; var local_#30641 : { base : int, offset : int }; var local_#12723 : int; var local_#12724 : int; var local_#12725 : int; var local_#12726 : int; var local_#12727 : int; var local_#12728 : int; var local_#12729 : int; var local_#12730 : int; var local_#12731 : { base : int, offset : int }; var local_#31610_rb : { base : int, offset : int }; var local_#12732 : int; var local_#12733 : int; var local_#12734 : int; var local_#12735 : int; var local_#12736 : int; var local_#12737 : int; var local_#12738 : int; var local_#12739 : int; var local_#12740 : int; var local_#12741 : int; var local_#12742 : int; var local_#12743 : int; var local_#12744 : { base : int, offset : int }; var local_#30642 : { base : int, offset : int }; var local_#12745 : int; var local_#12746 : int; var local_#12747 : int; var local_#12748 : int; var local_#12749 : int; var local_#12750 : int; var local_#12751 : int; var local_#12752 : int; var local_#12753 : { base : int, offset : int }; var local_#31611_rc : { base : int, offset : int }; var local_#12754 : { base : int, offset : int }; var local_#12755 : { base : int, offset : int }; var local_#12756 : int; var local_#12757 : int; var local_#12758 : int; var local_#12759 : int; var local_#12760 : int; var local_#12761 : int; var local_#12762 : int; var local_#12763 : { base : int, offset : int }; var local_#12764 : { base : int, offset : int }; var local_#12765 : int; var local_#12766 : int; var local_#12767 : int; var local_#12768 : int; var local_#12769 : int; var local_#31612_a : int; var local_#12770 : int; var local_#12771 : int; var local_#12772 : { base : int, offset : int }; var local_#12773 : { base : int, offset : int }; var local_#12774 : int; var local_#12775 : { base : int, offset : int }; var local_#12776 : int; var local_#12777 : int; var local_#12778 : int; var local_#12779 : int; var local_#12780 : int; var local_#12781 : int; var local_#12782 : int; var local_#12783 : int; var local_#12784 : int; var local_#12785 : { base : int, offset : int }; var local_#12786 : { base : int, offset : int }; var local_#12787 : { base : int, offset : int }; var local_#12788 : int; var local_#12789 : { base : int, offset : int }; var local_#12790 : { base : int, offset : int }; var local_#12791 : int; var local_#12792 : int; var local_#12793 : int; var local_#12794 : int; var local_#12795 : int; var local_#31609_a : int; var local_#12796 : int; var local_#12797 : int; var local_#12798 : { base : int, offset : int }; var local_#12799 : { base : int, offset : int }; var local_#12800 : int; var local_#12801 : { base : int, offset : int }; var local_#12802 : int; var local_#12803 : int; var local_#12804 : int; var local_#12805 : int; var local_#12806 : int; var local_#12807 : int; var local_#12808 : int; var local_#12809 : int; var local_#12810 : int; var local_#12811 : { base : int, offset : int }; var local_#12812 : int; var local_#12813 : int; var local_#12814 : int; var local_#12815 : int; var local_#12816 : int; var local_#31605_b : int; var local_#12817 : int; var local_#12818 : int; var local_#12819 : int; var local_#12820 : int; var local_#12821 : int; var local_#31606_c : int; var local_#12822 : { base : int, offset : int }; var local_#12823 : int; var local_#12824 : { base : int, offset : int }; var local_#12825 : int; var local_#12826 : int; var local_#12827 : int; var local_#12828 : { base : int, offset : int }; var local_#12829 : int; var local_#12830 : int; var local_#12831 : int; var local_#12832 : int; var local_#12833 : int; var local_#12834 : { base : int, offset : int }; var local_#12835 : { base : int, offset : int }; var local_#31607_rb : { base : int, offset : int }; var local_#31608_io1 : { base : int, offset : int }; var local_#12836 : int; var local_#12837 : int; var local_#12838 : int; var local_#12839 : { base : int, offset : int }; var local_#12840 : int; var local_#12841 : int; var local_#12842 : int; var local_#30643 : { base : int, offset : int }; var local_#12843 : int; var local_#12844 : { base : int, offset : int }; var local_#12845 : { base : int, offset : int }; var local_#12846 : int; var local_#12847 : int; var local_#12848 : int; var local_#12849 : int; var local_#12850 : int; var local_#12851 : int; var local_#12852 : int; var local_#12853 : int; var local_#12854 : int; var local_#12855 : int; var local_#12856 : int; var local_#12857 : { base : int, offset : int }; var local_#12858 : { base : int, offset : int }; var local_#12859 : { base : int, offset : int }; var local_#12860 : int; var local_#12861 : int; var local_#12862 : int; var local_#12863 : int; var local_#12864 : int; var local_#12865 : { base : int, offset : int }; var local_#31602_rb : { base : int, offset : int }; var local_#12866 : int; var local_#12867 : int; var local_#12868 : int; var local_#12869 : int; var local_#12870 : { base : int, offset : int }; var local_#12871 : int; var local_#12872 : int; var local_#30644 : int; var local_#31603_res : int; var local_#31604_io : { base : int, offset : int }; var local_#12873 : { base : int, offset : int }; var local_#12874 : int; var local_#12875 : int; var local_#12876 : int; var local_#12877 : int; var local_#12878 : int; var local_#12879 : { base : int, offset : int }; var local_#31600_rb : { base : int, offset : int }; var local_#12880 : int; var local_#12881 : int; var local_#12882 : { base : int, offset : int }; var local_#31599_ib : { base : int, offset : int }; var local_#12883 : { base : int, offset : int }; var local_#12884 : int; var local_#12885 : int; var local_#12886 : int; var local_#12887 : { base : int, offset : int }; var local_#12888 : int; var local_#12889 : int; var local_#12890 : { base : int, offset : int }; var local_#12891 : { base : int, offset : int }; var local_#12892 : int; var local_#12893 : { base : int, offset : int }; var local_#31601_io : { base : int, offset : int }; var local_#12894 : int; var local_#12895 : int; var local_#12896 : int; var local_#12897 : int; var local_#12898 : { base : int, offset : int }; var local_#12899 : int; var local_#12900 : int; var local_#12901 : int; var local_#12902 : int; var local_#12903 : int; var local_#12904 : { base : int, offset : int }; var local_#31595_rb : { base : int, offset : int }; var local_#12905 : int; var local_#12906 : int; var local_#12907 : int; var local_#12908 : int; var local_#12909 : { base : int, offset : int }; var local_#31594_nb : { base : int, offset : int }; var local_#12910 : { base : int, offset : int }; var local_#12911 : int; var local_#12912 : int; var local_#12913 : { base : int, offset : int }; var nondet_#19 : int; var nondet_#20 : int; var local_#12914 : int; var local_#12915 : int; var local_#12916 : { base : int, offset : int }; var local_#12917 : { base : int, offset : int }; var local_#12918 : int; var local_#12919 : { base : int, offset : int }; var local_#31598_io : { base : int, offset : int }; var nondet_#21 : int; var nondet_#22 : int; var local_#12920 : int; var local_#12921 : { base : int, offset : int }; var local_#12922 : { base : int, offset : int }; var local_#31596_ib : int; var local_#31597_io : { base : int, offset : int }; var local_#12923 : int; var local_#12924 : int; var local_#12925 : int; var local_#12926 : int; var local_#12927 : { base : int, offset : int }; var local_#12928 : int; var local_#12929 : int; var local_#12930 : int; var local_#12931 : int; var local_#12932 : int; var local_#12933 : int; var local_#12934 : int; var local_#12935 : int; var local_#12936 : int; var local_#12937 : int; var local_#12938 : int; var local_#12939 : int; var local_#12940 : { base : int, offset : int }; var local_#30645 : { base : int, offset : int }; var local_#12941 : int; var local_#12942 : int; var local_#12943 : int; var local_#12944 : int; var local_#12945 : int; var local_#12946 : int; var local_#12947 : int; var local_#12948 : int; var local_#12949 : { base : int, offset : int }; var local_#31591_rb : { base : int, offset : int }; var local_#12950 : int; var local_#12951 : int; var local_#12952 : int; var local_#12953 : int; var local_#12954 : int; var local_#12955 : int; var local_#12956 : int; var local_#12957 : int; var local_#12958 : int; var local_#12959 : int; var local_#12960 : int; var local_#12961 : int; var local_#12962 : { base : int, offset : int }; var local_#30646 : { base : int, offset : int }; var local_#12963 : int; var local_#12964 : int; var local_#12965 : int; var local_#12966 : int; var local_#12967 : int; var local_#12968 : int; var local_#12969 : int; var local_#12970 : int; var local_#12971 : { base : int, offset : int }; var local_#31592_rc : { base : int, offset : int }; var local_#12972 : int; var local_#12973 : int; var local_#12974 : { base : int, offset : int }; var local_#31589_nb : { base : int, offset : int }; var local_#12975 : { base : int, offset : int }; var local_#12976 : int; var local_#12977 : int; var local_#12978 : { base : int, offset : int }; var nondet_#23 : int; var nondet_#24 : int; var local_#12979 : int; var local_#12980 : int; var local_#12981 : int; var local_#12982 : int; var local_#12983 : { base : int, offset : int }; var local_#31590_nc : { base : int, offset : int }; var local_#12984 : { base : int, offset : int }; var local_#12985 : int; var local_#12986 : int; var local_#12987 : { base : int, offset : int }; var nondet_#25 : int; var nondet_#26 : int; var local_#12988 : int; var local_#12989 : int; var local_#12990 : { base : int, offset : int }; var local_#12991 : { base : int, offset : int }; var local_#12992 : int; var local_#12993 : { base : int, offset : int }; var local_#31593_io : { base : int, offset : int }; var local_#12994 : int; var local_#12995 : int; var nondet_#27 : int; var nondet_#28 : int; var local_#12996 : { base : int, offset : int }; var local_#12997 : int; var local_#12998 : int; var local_#12999 : int; var local_#13000 : int; var local_#13001 : int; var local_#13002 : int; var local_#13003 : int; var local_#13004 : int; var local_#13005 : int; var local_#13006 : int; var local_#13007 : int; var local_#13008 : int; var local_#13009 : { base : int, offset : int }; var local_#30647 : { base : int, offset : int }; var local_#13010 : int; var local_#13011 : int; var local_#13012 : int; var local_#13013 : int; var local_#13014 : int; var local_#13015 : int; var local_#13016 : int; var local_#13017 : int; var local_#13018 : { base : int, offset : int }; var local_#31583_rb : { base : int, offset : int }; var local_#13019 : int; var local_#13020 : int; var local_#13021 : int; var local_#13022 : int; var local_#13023 : int; var local_#13024 : int; var local_#13025 : int; var local_#13026 : int; var local_#13027 : int; var local_#13028 : int; var local_#13029 : int; var local_#13030 : int; var local_#13031 : { base : int, offset : int }; var local_#30648 : { base : int, offset : int }; var local_#13032 : int; var local_#13033 : int; var local_#13034 : int; var local_#13035 : int; var local_#13036 : int; var local_#13037 : int; var local_#13038 : int; var local_#13039 : int; var local_#13040 : { base : int, offset : int }; var local_#31584_rc : { base : int, offset : int }; var local_#13041 : int; var local_#13042 : int; var local_#13043 : int; var local_#13044 : int; var local_#13045 : int; var local_#13046 : int; var local_#13047 : { base : int, offset : int }; var local_#31581_nb : { base : int, offset : int }; var local_#13048 : { base : int, offset : int }; var local_#13049 : int; var local_#13050 : int; var local_#13051 : { base : int, offset : int }; var nondet_#29 : int; var nondet_#30 : int; var local_#13052 : int; var local_#13053 : int; var local_#13054 : int; var local_#13055 : int; var local_#13056 : { base : int, offset : int }; var local_#31582_nc : { base : int, offset : int }; var local_#13057 : { base : int, offset : int }; var local_#13058 : int; var local_#13059 : int; var local_#13060 : { base : int, offset : int }; var nondet_#31 : int; var nondet_#32 : int; var local_#13061 : int; var local_#13062 : int; var local_#13063 : { base : int, offset : int }; var local_#13064 : { base : int, offset : int }; var local_#13065 : int; var local_#13066 : { base : int, offset : int }; var local_#31588_io : { base : int, offset : int }; var local_#13067 : int; var nondet_#33 : int; var nondet_#34 : int; var nondet_#35 : int; var local_#13068 : int; var local_#13069 : int; var local_#13070 : { base : int, offset : int }; var local_#13071 : { base : int, offset : int }; var local_#31585_ib : int; var local_#13072 : { base : int, offset : int }; var local_#31586_ic : int; var local_#31587_io : { base : int, offset : int }; var local_#13073 : int; var local_#13074 : { base : int, offset : int }; var local_#13075 : int; var local_#13076 : int; var local_#13077 : int; var local_#13078 : int; var local_#13079 : int; var local_#13080 : int; var local_#13081 : int; var local_#13082 : int; var local_#13083 : int; var local_#13084 : int; var local_#13085 : int; var local_#13086 : int; var local_#13087 : { base : int, offset : int }; var local_#30649 : { base : int, offset : int }; var local_#13088 : int; var local_#13089 : int; var local_#13090 : int; var local_#13091 : int; var local_#13092 : int; var local_#13093 : int; var local_#13094 : int; var local_#13095 : int; var local_#13096 : { base : int, offset : int }; var local_#31574_rb : { base : int, offset : int }; var local_#13097 : int; var local_#13098 : int; var local_#13099 : int; var local_#13100 : int; var local_#13101 : int; var local_#13102 : int; var local_#13103 : int; var local_#13104 : int; var local_#13105 : int; var local_#13106 : int; var local_#13107 : int; var local_#13108 : int; var local_#13109 : { base : int, offset : int }; var local_#30650 : { base : int, offset : int }; var local_#13110 : int; var local_#13111 : int; var local_#13112 : int; var local_#13113 : int; var local_#13114 : int; var local_#13115 : int; var local_#13116 : int; var local_#13117 : int; var local_#13118 : { base : int, offset : int }; var local_#31575_rc : { base : int, offset : int }; var local_#13119 : int; var local_#13120 : int; var local_#13121 : int; var local_#13122 : int; var local_#13123 : int; var local_#13124 : int; var local_#13125 : { base : int, offset : int }; var local_#31572_nb : { base : int, offset : int }; var local_#13126 : { base : int, offset : int }; var local_#13127 : int; var local_#13128 : int; var local_#13129 : { base : int, offset : int }; var nondet_#36 : int; var nondet_#37 : int; var local_#13130 : int; var local_#13131 : int; var local_#13132 : int; var local_#13133 : int; var local_#13134 : { base : int, offset : int }; var local_#31573_nc : { base : int, offset : int }; var local_#13135 : { base : int, offset : int }; var local_#13136 : int; var local_#13137 : int; var local_#13138 : { base : int, offset : int }; var nondet_#38 : int; var nondet_#39 : int; var local_#13139 : int; var local_#13140 : int; var local_#13141 : { base : int, offset : int }; var local_#13142 : { base : int, offset : int }; var local_#13143 : int; var local_#13144 : { base : int, offset : int }; var local_#13145 : int; var nondet_#40 : int; var nondet_#41 : int; var local_#31579_m : int; var nondet_#42 : int; var nondet_#43 : int; var local_#13146 : int; var nondet_#44 : int; var local_#13147 : int; var nondet_#45 : bool; var local_#13148 : int; var nondet_#46 : int; var nondet_#47 : int; var local_#31580_io : { base : int, offset : int }; var local_#13149 : { base : int, offset : int }; var local_#13150 : { base : int, offset : int }; var local_#31576_ib : int; var local_#13151 : { base : int, offset : int }; var local_#31577_ic : int; var local_#31578_io : { base : int, offset : int }; var local_#13152 : int; var local_#13153 : { base : int, offset : int }; var local_#13154 : int; var local_#13155 : int; var local_#13156 : int; var local_#13157 : int; var local_#13158 : int; var local_#13159 : int; var local_#13160 : int; var local_#13161 : int; var local_#13162 : int; var local_#13163 : int; var local_#13164 : int; var local_#13165 : int; var local_#13166 : { base : int, offset : int }; var local_#30651 : { base : int, offset : int }; var local_#13167 : int; var local_#13168 : int; var local_#13169 : int; var local_#13170 : int; var local_#13171 : int; var local_#13172 : int; var local_#13173 : int; var local_#13174 : int; var local_#13175 : { base : int, offset : int }; var local_#31569_rb : { base : int, offset : int }; var local_#13176 : int; var local_#13177 : int; var local_#13178 : int; var local_#13179 : int; var local_#13180 : int; var local_#13181 : int; var local_#13182 : int; var local_#13183 : int; var local_#13184 : int; var local_#13185 : int; var local_#13186 : int; var local_#13187 : int; var local_#13188 : { base : int, offset : int }; var local_#30652 : { base : int, offset : int }; var local_#13189 : int; var local_#13190 : int; var local_#13191 : int; var local_#13192 : int; var local_#13193 : int; var local_#13194 : int; var local_#13195 : int; var local_#13196 : int; var local_#13197 : { base : int, offset : int }; var local_#31570_rc : { base : int, offset : int }; var local_#13198 : int; var local_#13199 : int; var local_#13200 : { base : int, offset : int }; var local_#31567_ib : { base : int, offset : int }; var local_#13201 : { base : int, offset : int }; var local_#13202 : int; var local_#13203 : int; var local_#13204 : int; var local_#13205 : { base : int, offset : int }; var local_#13206 : int; var local_#13207 : int; var local_#13208 : int; var local_#13209 : int; var local_#13210 : { base : int, offset : int }; var local_#31568_ic : { base : int, offset : int }; var local_#13211 : { base : int, offset : int }; var local_#13212 : int; var local_#13213 : int; var local_#13214 : int; var local_#13215 : { base : int, offset : int }; var local_#13216 : int; var local_#13217 : int; var local_#13218 : { base : int, offset : int }; var local_#13219 : { base : int, offset : int }; var local_#13220 : int; var local_#13221 : { base : int, offset : int }; var local_#31571_io : { base : int, offset : int }; var local_#13222 : int; var local_#13223 : int; var local_#13224 : { base : int, offset : int }; var local_#13225 : int; var local_#13226 : int; var local_#13227 : int; var local_#13228 : int; var local_#13229 : int; var local_#13230 : int; var local_#13231 : int; var local_#13232 : int; var local_#13233 : int; var local_#13234 : int; var local_#13235 : int; var local_#13236 : int; var local_#13237 : { base : int, offset : int }; var local_#30653 : { base : int, offset : int }; var local_#13238 : int; var local_#13239 : int; var local_#13240 : int; var local_#13241 : int; var local_#13242 : int; var local_#13243 : int; var local_#13244 : int; var local_#13245 : int; var local_#13246 : { base : int, offset : int }; var local_#31564_rb : { base : int, offset : int }; var local_#13247 : int; var local_#13248 : int; var local_#13249 : int; var local_#13250 : int; var local_#13251 : int; var local_#13252 : int; var local_#13253 : int; var local_#13254 : int; var local_#13255 : int; var local_#13256 : int; var local_#13257 : int; var local_#13258 : int; var local_#13259 : { base : int, offset : int }; var local_#30654 : { base : int, offset : int }; var local_#13260 : int; var local_#13261 : int; var local_#13262 : int; var local_#13263 : int; var local_#13264 : int; var local_#13265 : int; var local_#13266 : int; var local_#13267 : int; var local_#13268 : { base : int, offset : int }; var local_#31565_rc : { base : int, offset : int }; var local_#13269 : int; var local_#13270 : int; var local_#13271 : { base : int, offset : int }; var local_#31562_ib : { base : int, offset : int }; var local_#13272 : { base : int, offset : int }; var local_#13273 : int; var local_#13274 : int; var local_#13275 : int; var local_#13276 : { base : int, offset : int }; var local_#13277 : int; var local_#13278 : int; var local_#13279 : int; var local_#13280 : int; var local_#13281 : { base : int, offset : int }; var local_#31563_ic : { base : int, offset : int }; var local_#13282 : { base : int, offset : int }; var local_#13283 : int; var local_#13284 : int; var local_#13285 : int; var local_#13286 : { base : int, offset : int }; var local_#13287 : int; var local_#13288 : int; var local_#13289 : { base : int, offset : int }; var local_#13290 : { base : int, offset : int }; var local_#13291 : int; var local_#13292 : { base : int, offset : int }; var local_#31566_io : { base : int, offset : int }; var local_#13293 : int; var local_#13294 : { base : int, offset : int }; var local_#13295 : int; var local_#13296 : int; var local_#13297 : int; var local_#13298 : int; var local_#13299 : int; var local_#13300 : int; var local_#13301 : int; var local_#13302 : int; var local_#13303 : int; var local_#13304 : int; var local_#13305 : int; var local_#13306 : int; var local_#13307 : { base : int, offset : int }; var local_#30655 : { base : int, offset : int }; var local_#13308 : int; var local_#13309 : int; var local_#13310 : int; var local_#13311 : int; var local_#13312 : int; var local_#13313 : int; var local_#13314 : int; var local_#13315 : int; var local_#13316 : { base : int, offset : int }; var local_#31559_rb : { base : int, offset : int }; var local_#13317 : int; var local_#13318 : int; var local_#13319 : int; var local_#13320 : int; var local_#13321 : int; var local_#13322 : int; var local_#13323 : int; var local_#13324 : int; var local_#13325 : int; var local_#13326 : int; var local_#13327 : int; var local_#13328 : int; var local_#13329 : { base : int, offset : int }; var local_#30656 : { base : int, offset : int }; var local_#13330 : int; var local_#13331 : int; var local_#13332 : int; var local_#13333 : int; var local_#13334 : int; var local_#13335 : int; var local_#13336 : int; var local_#13337 : int; var local_#13338 : { base : int, offset : int }; var local_#31560_rc : { base : int, offset : int }; var local_#13339 : int; var local_#13340 : int; var local_#13341 : { base : int, offset : int }; var local_#31557_ib : { base : int, offset : int }; var local_#13342 : { base : int, offset : int }; var local_#13343 : int; var local_#13344 : int; var local_#13345 : int; var local_#13346 : { base : int, offset : int }; var local_#13347 : int; var local_#13348 : int; var local_#13349 : int; var local_#13350 : int; var local_#13351 : { base : int, offset : int }; var local_#31558_ic : { base : int, offset : int }; var local_#13352 : { base : int, offset : int }; var local_#13353 : int; var local_#13354 : int; var local_#13355 : int; var local_#13356 : { base : int, offset : int }; var local_#13357 : int; var local_#13358 : int; var local_#13359 : { base : int, offset : int }; var local_#13360 : { base : int, offset : int }; var local_#13361 : int; var local_#13362 : { base : int, offset : int }; var local_#31561_io : { base : int, offset : int }; var local_#13363 : int; var local_#13364 : int; var local_#13365 : int; var local_#13366 : int; var local_#13367 : { base : int, offset : int }; var local_#13368 : int; var local_#13369 : int; var local_#13370 : int; var local_#13371 : int; var local_#13372 : int; var local_#13373 : int; var local_#13374 : int; var local_#13375 : int; var local_#13376 : int; var local_#13377 : int; var local_#13378 : int; var local_#13379 : int; var local_#13380 : { base : int, offset : int }; var local_#30657 : { base : int, offset : int }; var local_#13381 : int; var local_#13382 : int; var local_#13383 : int; var local_#13384 : int; var local_#13385 : int; var local_#13386 : int; var local_#13387 : int; var local_#13388 : int; var local_#13389 : { base : int, offset : int }; var local_#31554_rb : { base : int, offset : int }; var local_#13390 : int; var local_#13391 : int; var local_#13392 : int; var local_#13393 : int; var local_#13394 : int; var local_#13395 : int; var local_#13396 : int; var local_#13397 : int; var local_#13398 : int; var local_#13399 : int; var local_#13400 : int; var local_#13401 : int; var local_#13402 : { base : int, offset : int }; var local_#30658 : { base : int, offset : int }; var local_#13403 : int; var local_#13404 : int; var local_#13405 : int; var local_#13406 : int; var local_#13407 : int; var local_#13408 : int; var local_#13409 : int; var local_#13410 : int; var local_#13411 : { base : int, offset : int }; var local_#31555_rc : { base : int, offset : int }; var local_#13412 : int; var local_#13413 : int; var local_#13414 : { base : int, offset : int }; var local_#31552_ib : { base : int, offset : int }; var local_#13415 : { base : int, offset : int }; var local_#13416 : int; var local_#13417 : int; var local_#13418 : int; var local_#13419 : { base : int, offset : int }; var local_#13420 : int; var local_#13421 : int; var local_#13422 : int; var local_#13423 : int; var local_#13424 : { base : int, offset : int }; var local_#31553_ic : { base : int, offset : int }; var local_#13425 : { base : int, offset : int }; var local_#13426 : int; var local_#13427 : int; var local_#13428 : int; var local_#13429 : { base : int, offset : int }; var local_#13430 : int; var local_#13431 : int; var local_#13432 : { base : int, offset : int }; var local_#13433 : { base : int, offset : int }; var local_#13434 : int; var local_#13435 : { base : int, offset : int }; var local_#31556_io : { base : int, offset : int }; var local_#13436 : int; var local_#13437 : int; var local_#13438 : int; var local_#13439 : int; var local_#13440 : { base : int, offset : int }; var local_#13441 : int; var local_#13442 : int; var local_#13443 : int; var local_#13444 : int; var local_#13445 : int; var local_#13446 : int; var local_#13447 : int; var local_#13448 : int; var local_#13449 : int; var local_#13450 : int; var local_#13451 : int; var local_#13452 : int; var local_#13453 : { base : int, offset : int }; var local_#30659 : { base : int, offset : int }; var local_#13454 : int; var local_#13455 : int; var local_#13456 : int; var local_#13457 : int; var local_#13458 : int; var local_#13459 : int; var local_#13460 : int; var local_#13461 : int; var local_#13462 : { base : int, offset : int }; var local_#31549_rb : { base : int, offset : int }; var local_#13463 : int; var local_#13464 : int; var local_#13465 : int; var local_#13466 : int; var local_#13467 : int; var local_#13468 : int; var local_#13469 : int; var local_#13470 : int; var local_#13471 : int; var local_#13472 : int; var local_#13473 : int; var local_#13474 : int; var local_#13475 : { base : int, offset : int }; var local_#30660 : { base : int, offset : int }; var local_#13476 : int; var local_#13477 : int; var local_#13478 : int; var local_#13479 : int; var local_#13480 : int; var local_#13481 : int; var local_#13482 : int; var local_#13483 : int; var local_#13484 : { base : int, offset : int }; var local_#31550_rc : { base : int, offset : int }; var local_#13485 : int; var local_#13486 : int; var local_#13487 : { base : int, offset : int }; var local_#31547_ib : { base : int, offset : int }; var local_#13488 : { base : int, offset : int }; var local_#13489 : int; var local_#13490 : int; var local_#13491 : int; var local_#13492 : { base : int, offset : int }; var local_#13493 : int; var local_#13494 : int; var local_#13495 : int; var local_#13496 : int; var local_#13497 : { base : int, offset : int }; var local_#31548_ic : { base : int, offset : int }; var local_#13498 : { base : int, offset : int }; var local_#13499 : int; var local_#13500 : int; var local_#13501 : int; var local_#13502 : { base : int, offset : int }; var local_#13503 : int; var local_#13504 : int; var local_#13505 : { base : int, offset : int }; var local_#13506 : { base : int, offset : int }; var local_#13507 : int; var local_#13508 : { base : int, offset : int }; var local_#31551_io : { base : int, offset : int }; var local_#13509 : int; var local_#13510 : int; var local_#13511 : int; var local_#13512 : int; var local_#13513 : { base : int, offset : int }; var local_#13514 : int; var local_#13515 : int; var local_#13516 : int; var local_#13517 : int; var local_#13518 : int; var local_#13519 : int; var local_#13520 : int; var local_#13521 : int; var local_#13522 : int; var local_#13523 : int; var local_#13524 : int; var local_#13525 : int; var local_#13526 : { base : int, offset : int }; var local_#30661 : { base : int, offset : int }; var local_#13527 : int; var local_#13528 : int; var local_#13529 : int; var local_#13530 : int; var local_#13531 : int; var local_#13532 : int; var local_#13533 : int; var local_#13534 : int; var local_#13535 : { base : int, offset : int }; var local_#31544_rb : { base : int, offset : int }; var local_#13536 : int; var local_#13537 : int; var local_#13538 : int; var local_#13539 : int; var local_#13540 : int; var local_#13541 : int; var local_#13542 : int; var local_#13543 : int; var local_#13544 : int; var local_#13545 : int; var local_#13546 : int; var local_#13547 : int; var local_#13548 : { base : int, offset : int }; var local_#30662 : { base : int, offset : int }; var local_#13549 : int; var local_#13550 : int; var local_#13551 : int; var local_#13552 : int; var local_#13553 : int; var local_#13554 : int; var local_#13555 : int; var local_#13556 : int; var local_#13557 : { base : int, offset : int }; var local_#31545_rc : { base : int, offset : int }; var local_#13558 : int; var local_#13559 : int; var local_#13560 : { base : int, offset : int }; var local_#31542_nb : { base : int, offset : int }; var local_#13561 : { base : int, offset : int }; var local_#13562 : int; var local_#13563 : int; var local_#13564 : { base : int, offset : int }; var nondet_#48 : int; var nondet_#49 : int; var local_#13565 : int; var local_#13566 : int; var local_#13567 : int; var local_#13568 : int; var local_#13569 : { base : int, offset : int }; var local_#31543_nc : { base : int, offset : int }; var local_#13570 : { base : int, offset : int }; var local_#13571 : int; var local_#13572 : int; var local_#13573 : { base : int, offset : int }; var nondet_#50 : int; var nondet_#51 : int; var local_#13574 : int; var local_#13575 : int; var local_#13576 : { base : int, offset : int }; var local_#13577 : { base : int, offset : int }; var local_#13578 : int; var local_#13579 : { base : int, offset : int }; var local_#31546_io : { base : int, offset : int }; var nondet_#52 : int; var nondet_#53 : int; var nondet_#54 : int; var local_#13580 : int; var local_#13581 : { base : int, offset : int }; var local_#13582 : int; var local_#13583 : int; var local_#13584 : int; var local_#13585 : int; var local_#13586 : int; var local_#13587 : int; var local_#13588 : int; var local_#13589 : int; var local_#13590 : int; var local_#13591 : int; var local_#13592 : int; var local_#13593 : int; var local_#13594 : { base : int, offset : int }; var local_#30663 : { base : int, offset : int }; var local_#13595 : int; var local_#13596 : int; var local_#13597 : int; var local_#13598 : int; var local_#13599 : int; var local_#13600 : int; var local_#13601 : int; var local_#13602 : int; var local_#13603 : { base : int, offset : int }; var local_#31536_rb : { base : int, offset : int }; var local_#13604 : int; var local_#13605 : int; var local_#13606 : int; var local_#13607 : int; var local_#13608 : int; var local_#13609 : int; var local_#13610 : int; var local_#13611 : int; var local_#13612 : int; var local_#13613 : int; var local_#13614 : int; var local_#13615 : int; var local_#13616 : { base : int, offset : int }; var local_#30664 : { base : int, offset : int }; var local_#13617 : int; var local_#13618 : int; var local_#13619 : int; var local_#13620 : int; var local_#13621 : int; var local_#13622 : int; var local_#13623 : int; var local_#13624 : int; var local_#13625 : { base : int, offset : int }; var local_#31537_rc : { base : int, offset : int }; var local_#13626 : int; var local_#13627 : int; var local_#13628 : int; var local_#13629 : int; var local_#13630 : int; var local_#13631 : int; var local_#13632 : { base : int, offset : int }; var local_#31534_nb : { base : int, offset : int }; var local_#13633 : { base : int, offset : int }; var local_#13634 : int; var local_#13635 : int; var local_#13636 : { base : int, offset : int }; var nondet_#55 : int; var nondet_#56 : int; var local_#13637 : int; var local_#13638 : int; var local_#13639 : int; var local_#13640 : int; var local_#13641 : { base : int, offset : int }; var local_#31535_nc : { base : int, offset : int }; var local_#13642 : { base : int, offset : int }; var local_#13643 : int; var local_#13644 : int; var local_#13645 : { base : int, offset : int }; var nondet_#57 : int; var nondet_#58 : int; var local_#13646 : int; var local_#13647 : int; var local_#13648 : { base : int, offset : int }; var local_#13649 : { base : int, offset : int }; var local_#13650 : int; var local_#13651 : { base : int, offset : int }; var local_#31541_io : { base : int, offset : int }; var nondet_#59 : int; var nondet_#60 : int; var nondet_#61 : int; var local_#13652 : int; var local_#13653 : { base : int, offset : int }; var local_#13654 : { base : int, offset : int }; var local_#31538_ib : int; var local_#13655 : { base : int, offset : int }; var local_#31539_ic : int; var local_#31540_io : { base : int, offset : int }; var local_#13656 : int; var local_#13657 : int; var local_#13658 : int; var local_#13659 : int; var local_#13660 : { base : int, offset : int }; var local_#13661 : int; var local_#13662 : int; var local_#13663 : int; var local_#13664 : int; var local_#13665 : int; var local_#13666 : int; var local_#13667 : int; var local_#13668 : int; var local_#13669 : int; var local_#13670 : int; var local_#13671 : int; var local_#13672 : int; var local_#13673 : { base : int, offset : int }; var local_#30665 : { base : int, offset : int }; var local_#13674 : int; var local_#13675 : int; var local_#13676 : int; var local_#13677 : int; var local_#13678 : int; var local_#13679 : int; var local_#13680 : int; var local_#13681 : int; var local_#13682 : { base : int, offset : int }; var local_#31528_rb : { base : int, offset : int }; var local_#13683 : int; var local_#13684 : int; var local_#13685 : int; var local_#13686 : int; var local_#13687 : int; var local_#13688 : int; var local_#13689 : int; var local_#13690 : int; var local_#13691 : int; var local_#13692 : int; var local_#13693 : int; var local_#13694 : int; var local_#13695 : { base : int, offset : int }; var local_#30666 : { base : int, offset : int }; var local_#13696 : int; var local_#13697 : int; var local_#13698 : int; var local_#13699 : int; var local_#13700 : int; var local_#13701 : int; var local_#13702 : int; var local_#13703 : int; var local_#13704 : { base : int, offset : int }; var local_#31529_rc : { base : int, offset : int }; var local_#13705 : int; var local_#13706 : int; var local_#13707 : int; var local_#13708 : int; var local_#13709 : int; var local_#13710 : int; var local_#13711 : { base : int, offset : int }; var local_#31526_nb : { base : int, offset : int }; var local_#13712 : { base : int, offset : int }; var local_#13713 : int; var local_#13714 : int; var local_#13715 : { base : int, offset : int }; var nondet_#62 : int; var nondet_#63 : int; var local_#13716 : int; var local_#13717 : int; var local_#13718 : int; var local_#13719 : int; var local_#13720 : { base : int, offset : int }; var local_#31527_nc : { base : int, offset : int }; var local_#13721 : { base : int, offset : int }; var local_#13722 : int; var local_#13723 : int; var local_#13724 : { base : int, offset : int }; var nondet_#64 : int; var nondet_#65 : int; var local_#13725 : int; var local_#13726 : int; var local_#13727 : { base : int, offset : int }; var local_#13728 : { base : int, offset : int }; var local_#13729 : int; var local_#13730 : { base : int, offset : int }; var local_#31533_io : { base : int, offset : int }; var nondet_#66 : int; var nondet_#67 : int; var nondet_#68 : int; var local_#13731 : int; var local_#13732 : { base : int, offset : int }; var local_#13733 : { base : int, offset : int }; var local_#31530_ib : int; var local_#13734 : { base : int, offset : int }; var local_#31531_ic : int; var local_#31532_io : { base : int, offset : int }; var local_#13735 : int; var local_#13736 : int; var local_#13737 : int; var local_#13738 : int; var local_#13739 : { base : int, offset : int }; var local_#13740 : int; var local_#13741 : int; var local_#13742 : int; var local_#13743 : int; var local_#13744 : int; var local_#13745 : int; var local_#13746 : int; var local_#13747 : int; var local_#13748 : int; var local_#13749 : int; var local_#13750 : int; var local_#13751 : int; var local_#13752 : { base : int, offset : int }; var local_#30667 : { base : int, offset : int }; var local_#13753 : int; var local_#13754 : int; var local_#13755 : int; var local_#13756 : int; var local_#13757 : int; var local_#13758 : int; var local_#13759 : int; var local_#13760 : int; var local_#13761 : { base : int, offset : int }; var local_#31520_rb : { base : int, offset : int }; var local_#13762 : int; var local_#13763 : int; var local_#13764 : int; var local_#13765 : int; var local_#13766 : int; var local_#13767 : int; var local_#13768 : int; var local_#13769 : int; var local_#13770 : int; var local_#13771 : int; var local_#13772 : int; var local_#13773 : int; var local_#13774 : { base : int, offset : int }; var local_#30668 : { base : int, offset : int }; var local_#13775 : int; var local_#13776 : int; var local_#13777 : int; var local_#13778 : int; var local_#13779 : int; var local_#13780 : int; var local_#13781 : int; var local_#13782 : int; var local_#13783 : { base : int, offset : int }; var local_#31521_rc : { base : int, offset : int }; var local_#13784 : int; var local_#13785 : int; var local_#13786 : int; var local_#13787 : int; var local_#13788 : int; var local_#13789 : int; var local_#13790 : { base : int, offset : int }; var local_#31518_nb : { base : int, offset : int }; var local_#13791 : { base : int, offset : int }; var local_#13792 : int; var local_#13793 : int; var local_#13794 : { base : int, offset : int }; var nondet_#69 : int; var nondet_#70 : int; var local_#13795 : int; var local_#13796 : int; var local_#13797 : int; var local_#13798 : int; var local_#13799 : { base : int, offset : int }; var local_#31519_nc : { base : int, offset : int }; var local_#13800 : { base : int, offset : int }; var local_#13801 : int; var local_#13802 : int; var local_#13803 : { base : int, offset : int }; var nondet_#71 : int; var nondet_#72 : int; var local_#13804 : int; var local_#13805 : int; var local_#13806 : { base : int, offset : int }; var local_#13807 : { base : int, offset : int }; var local_#13808 : int; var local_#13809 : { base : int, offset : int }; var local_#31525_io : { base : int, offset : int }; var nondet_#73 : int; var nondet_#74 : int; var nondet_#75 : int; var local_#13810 : int; var local_#13811 : { base : int, offset : int }; var local_#13812 : { base : int, offset : int }; var local_#31522_ib : int; var local_#13813 : { base : int, offset : int }; var local_#31523_ic : int; var local_#31524_io : { base : int, offset : int }; var local_#13814 : int; var local_#13815 : int; var local_#13816 : int; var local_#13817 : int; var local_#13818 : { base : int, offset : int }; var local_#13819 : int; var local_#13820 : int; var local_#13821 : int; var local_#13822 : int; var local_#13823 : int; var local_#13824 : { base : int, offset : int }; var local_#31514_rb : { base : int, offset : int }; var local_#13825 : int; var local_#13826 : int; var local_#13827 : int; var local_#13828 : int; var local_#13829 : int; var local_#13830 : int; var local_#13831 : int; var local_#13832 : int; var local_#13833 : int; var local_#13834 : int; var local_#13835 : int; var local_#13836 : int; var local_#13837 : { base : int, offset : int }; var local_#30669 : { base : int, offset : int }; var local_#13838 : int; var local_#13839 : int; var local_#13840 : int; var local_#13841 : int; var local_#13842 : int; var local_#13843 : int; var local_#13844 : int; var local_#13845 : int; var local_#13846 : { base : int, offset : int }; var local_#31515_rc : { base : int, offset : int }; var local_#13847 : { base : int, offset : int }; var local_#13848 : { base : int, offset : int }; var local_#13849 : { base : int, offset : int }; var local_#31513_key : { base : int, offset : int }; var local_#13850 : int; var local_#13851 : { base : int, offset : int }; var local_#31516_io1 : { base : int, offset : int }; var local_#13852 : int; var local_#13853 : int; var local_#13854 : int; var local_#13855 : int; var local_#13856 : int; var local_#13857 : int; var local_#13858 : { base : int, offset : int }; var local_#13859 : { base : int, offset : int }; var local_#13860 : { base : int, offset : int }; var local_#13861 : { base : int, offset : int }; var local_#31512_aux : { base : int, offset : int }; var local_#13862 : { base : int, offset : int }; var local_#13863 : int; var local_#13864 : int; var local_#13865 : int; var local_#13866 : int; var local_#13867 : { base : int, offset : int }; var local_#13868 : int; var local_#13869 : { base : int, offset : int }; var local_#13870 : { base : int, offset : int }; var local_#31517_io1 : { base : int, offset : int }; var local_#13871 : int; var local_#13872 : int; var local_#13873 : int; var local_#13874 : int; var local_#13875 : int; var local_#13876 : int; var local_#13877 : int; var local_#13878 : int; var local_#31507_b : int; var local_#13879 : int; var local_#13880 : int; var local_#13881 : int; var local_#13882 : int; var local_#13883 : int; var local_#31508_c : int; var local_#13884 : { base : int, offset : int }; var local_#31509_t : { base : int, offset : int }; var local_#31510_io : { base : int, offset : int }; var local_#31511_x_ : { base : int, offset : int }; var local_#13885 : { base : int, offset : int }; var local_#13886 : { base : int, offset : int }; var local_#13887 : { base : int, offset : int }; var local_#13888 : int; var local_#13889 : int; var local_#13890 : int; var local_#13891 : int; var local_#13892 : int; var local_#13893 : int; var local_#13894 : int; var local_#13895 : int; var local_#13896 : int; var local_#13897 : int; var local_#13898 : { base : int, offset : int }; var local_#13899 : int; var local_#13900 : int; var local_#13901 : int; var local_#13902 : { base : int, offset : int }; var local_#13903 : { base : int, offset : int }; var local_#13904 : int; var local_#13905 : int; var local_#13906 : int; var local_#13907 : int; var local_#13908 : int; var local_#13909 : int; var local_#13910 : int; var local_#13911 : int; var local_#13912 : int; var local_#13913 : int; var local_#13914 : int; var local_#13915 : int; var local_#13916 : int; var local_#13917 : int; var local_#13918 : int; var local_#13919 : int; var local_#13920 : int; var local_#13921 : int; var local_#13922 : { base : int, offset : int }; var local_#30670 : { base : int, offset : int }; var local_#13923 : int; var local_#13924 : int; var local_#13925 : int; var local_#13926 : int; var local_#13927 : int; var local_#13928 : int; var local_#13929 : int; var local_#13930 : int; var local_#13931 : { base : int, offset : int }; var local_#31504_rb : { base : int, offset : int }; var local_#13932 : int; var local_#13933 : int; var local_#13934 : int; var local_#13935 : int; var local_#13936 : int; var local_#13937 : int; var local_#13938 : int; var local_#13939 : int; var local_#13940 : int; var local_#13941 : int; var local_#13942 : int; var local_#13943 : int; var local_#13944 : { base : int, offset : int }; var local_#30671 : { base : int, offset : int }; var local_#13945 : int; var local_#13946 : int; var local_#13947 : int; var local_#13948 : int; var local_#13949 : int; var local_#13950 : int; var local_#13951 : int; var local_#13952 : int; var local_#13953 : { base : int, offset : int }; var local_#31505_rc : { base : int, offset : int }; var local_#13954 : int; var local_#13955 : int; var local_#13956 : int; var local_#13957 : { base : int, offset : int }; var local_#13958 : { base : int, offset : int }; var local_#13959 : { base : int, offset : int }; var local_#13960 : { base : int, offset : int }; var local_#13961 : { base : int, offset : int }; var local_#31506_slot : { base : int, offset : int }; var local_#13962 : { base : int, offset : int }; var local_#13963 : int; var local_#13964 : int; var local_#13965 : int; var local_#13966 : int; var local_#13967 : { base : int, offset : int }; var local_#13968 : { base : int, offset : int }; var local_#13969 : { base : int, offset : int }; var local_#13970 : int; var local_#13971 : int; var local_#13972 : int; var local_#13973 : { base : int, offset : int }; var local_#13974 : { base : int, offset : int }; var local_#13975 : int; var local_#13976 : int; var local_#13977 : int; var local_#13978 : int; var local_#13979 : int; var local_#13980 : { base : int, offset : int }; var local_#13981 : { base : int, offset : int }; var local_#13982 : { base : int, offset : int }; var local_#13983 : int; var local_#13984 : { base : int, offset : int }; var local_#13985 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#13986 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#13987 : int; var local_#13988 : int; var local_#30672 : int; var local_#13989 : int; var local_#13990 : int; var local_#13991 : { base : int, offset : int }; var local_#13992 : int; var local_#13993 : { base : int, offset : int }; var local_#13994 : { base : int, offset : int }; var local_#13995 : { base : int, offset : int }; var local_#13996 : int; var local_#13997 : int; var local_#13998 : int; var local_#13999 : int; var local_#14000 : int; var local_#14001 : { base : int, offset : int }; var local_#31502_uv : { base : int, offset : int }; var local_#31503_io1 : { base : int, offset : int }; var local_#14002 : int; var local_#14003 : int; var local_#14004 : int; var local_#14005 : { base : int, offset : int }; var local_#14006 : int; var local_#14007 : int; var local_#14008 : { base : int, offset : int }; var local_#14009 : int; var local_#14010 : int; var local_#14011 : int; var local_#14012 : int; var local_#14013 : { base : int, offset : int }; var local_#14014 : int; var local_#14015 : int; var local_#14016 : int; var local_#14017 : int; var local_#14018 : int; var local_#14019 : { base : int, offset : int }; var local_#14020 : { base : int, offset : int }; var local_#31500_upval : { base : int, offset : int }; var local_#14021 : int; var local_#14022 : int; var local_#14023 : int; var local_#14024 : int; var local_#14025 : int; var local_#14026 : int; var local_#14027 : int; var local_#14028 : int; var local_#14029 : int; var local_#14030 : int; var local_#14031 : int; var local_#14032 : int; var local_#14033 : { base : int, offset : int }; var local_#30673 : { base : int, offset : int }; var local_#14034 : int; var local_#14035 : int; var local_#14036 : int; var local_#14037 : int; var local_#14038 : int; var local_#14039 : int; var local_#14040 : int; var local_#14041 : int; var local_#14042 : { base : int, offset : int }; var local_#31498_rb : { base : int, offset : int }; var local_#14043 : int; var local_#14044 : int; var local_#14045 : int; var local_#14046 : int; var local_#14047 : int; var local_#14048 : int; var local_#14049 : int; var local_#14050 : int; var local_#14051 : int; var local_#14052 : int; var local_#14053 : int; var local_#14054 : int; var local_#14055 : { base : int, offset : int }; var local_#30674 : { base : int, offset : int }; var local_#14056 : int; var local_#14057 : int; var local_#14058 : int; var local_#14059 : int; var local_#14060 : int; var local_#14061 : int; var local_#14062 : int; var local_#14063 : int; var local_#14064 : { base : int, offset : int }; var local_#31499_rc : { base : int, offset : int }; var local_#14065 : int; var local_#14066 : int; var local_#14067 : int; var local_#14068 : { base : int, offset : int }; var local_#14069 : { base : int, offset : int }; var local_#14070 : { base : int, offset : int }; var local_#14071 : { base : int, offset : int }; var local_#14072 : { base : int, offset : int }; var local_#31501_slot : { base : int, offset : int }; var local_#14073 : { base : int, offset : int }; var local_#14074 : int; var local_#14075 : int; var local_#14076 : int; var local_#14077 : int; var local_#14078 : { base : int, offset : int }; var local_#14079 : { base : int, offset : int }; var local_#14080 : { base : int, offset : int }; var local_#14081 : int; var local_#14082 : int; var local_#14083 : int; var local_#14084 : { base : int, offset : int }; var local_#14085 : { base : int, offset : int }; var local_#14086 : int; var local_#14087 : int; var local_#14088 : int; var local_#14089 : int; var local_#14090 : int; var local_#14091 : { base : int, offset : int }; var local_#14092 : { base : int, offset : int }; var local_#14093 : { base : int, offset : int }; var local_#14094 : int; var local_#14095 : { base : int, offset : int }; var local_#14096 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14097 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14098 : int; var local_#14099 : int; var local_#30675 : int; var local_#14100 : int; var local_#14101 : int; var local_#14102 : { base : int, offset : int }; var local_#14103 : int; var local_#14104 : { base : int, offset : int }; var local_#14105 : { base : int, offset : int }; var local_#14106 : int; var local_#14107 : int; var local_#14108 : int; var local_#14109 : int; var local_#14110 : int; var local_#14111 : { base : int, offset : int }; var local_#31494_rb : { base : int, offset : int }; var local_#14112 : int; var local_#14113 : int; var local_#14114 : int; var local_#14115 : int; var local_#14116 : int; var local_#14117 : int; var local_#14118 : int; var local_#14119 : int; var local_#14120 : int; var local_#14121 : int; var local_#14122 : int; var local_#14123 : int; var local_#14124 : { base : int, offset : int }; var local_#30676 : { base : int, offset : int }; var local_#14125 : int; var local_#14126 : int; var local_#14127 : int; var local_#14128 : int; var local_#14129 : int; var local_#14130 : int; var local_#14131 : int; var local_#14132 : int; var local_#14133 : { base : int, offset : int }; var local_#31495_rc : { base : int, offset : int }; var local_#14134 : int; var local_#14135 : int; var local_#14136 : int; var local_#14137 : { base : int, offset : int }; var local_#14138 : { base : int, offset : int }; var local_#14139 : { base : int, offset : int }; var local_#14140 : { base : int, offset : int }; var local_#14141 : { base : int, offset : int }; var local_#31496_slot : { base : int, offset : int }; var local_#14142 : { base : int, offset : int }; var local_#14143 : int; var local_#14144 : int; var local_#14145 : int; var local_#14146 : int; var local_#14147 : { base : int, offset : int }; var local_#14148 : int; var local_#14149 : { base : int, offset : int }; var local_#14150 : { base : int, offset : int }; var local_#31497_io1 : { base : int, offset : int }; var local_#14151 : int; var local_#14152 : int; var local_#14153 : int; var local_#14154 : { base : int, offset : int }; var local_#14155 : int; var local_#14156 : int; var local_#14157 : int; var local_#14158 : int; var local_#14159 : int; var local_#14160 : { base : int, offset : int }; var local_#14161 : { base : int, offset : int }; var local_#31491_upval : { base : int, offset : int }; var local_#14162 : int; var local_#14163 : int; var local_#14164 : int; var local_#14165 : int; var local_#14166 : int; var local_#14167 : int; var local_#14168 : int; var local_#14169 : int; var local_#14170 : int; var local_#14171 : int; var local_#14172 : int; var local_#14173 : int; var local_#14174 : { base : int, offset : int }; var local_#30677 : { base : int, offset : int }; var local_#14175 : int; var local_#14176 : int; var local_#14177 : int; var local_#14178 : int; var local_#14179 : int; var local_#14180 : int; var local_#14181 : int; var local_#14182 : int; var local_#14183 : { base : int, offset : int }; var local_#31490_rc : { base : int, offset : int }; var local_#14184 : int; var local_#14185 : int; var local_#14186 : int; var local_#14187 : { base : int, offset : int }; var local_#14188 : { base : int, offset : int }; var local_#14189 : { base : int, offset : int }; var local_#14190 : { base : int, offset : int }; var local_#14191 : { base : int, offset : int }; var local_#31492_slot : { base : int, offset : int }; var local_#14192 : { base : int, offset : int }; var local_#14193 : int; var local_#14194 : int; var local_#14195 : int; var local_#14196 : int; var local_#14197 : { base : int, offset : int }; var local_#14198 : int; var local_#14199 : { base : int, offset : int }; var local_#14200 : { base : int, offset : int }; var local_#31493_io1 : { base : int, offset : int }; var local_#14201 : int; var local_#14202 : int; var local_#14203 : int; var local_#14204 : int; var local_#14205 : int; var local_#14206 : int; var local_#14207 : int; var local_#14208 : int; var local_#31488_b : int; var local_#31489_io1 : { base : int, offset : int }; var local_#14209 : { base : int, offset : int }; var local_#14210 : { base : int, offset : int }; var local_#14211 : { base : int, offset : int }; var local_#14212 : { base : int, offset : int }; var local_#14213 : int; var local_#14214 : int; var local_#14215 : int; var local_#14216 : int; var local_#14217 : int; var local_#14218 : int; var local_#14219 : int; var local_#14220 : int; var local_#31487_b : int; var local_#14221 : int; var local_#14222 : { base : int, offset : int }; var local_#14223 : int; var local_#14224 : int; var local_#14225 : int; var local_#14226 : int; var local_#31486_io : { base : int, offset : int }; var local_#14227 : int; var local_#14228 : int; var local_#14229 : int; var local_#14230 : int; var local_#14231 : int; var local_#14232 : { base : int, offset : int }; var local_#14233 : int; var local_#14234 : int; var local_#14235 : int; var local_#14236 : int; var local_#14237 : int; var local_#14238 : { base : int, offset : int }; var local_#14239 : { base : int, offset : int }; var local_#14240 : int; var local_#14241 : { base : int, offset : int }; var local_#14242 : int; var local_#14243 : int; var local_#14244 : { base : int, offset : int }; var local_#14245 : { base : int, offset : int }; var local_#14246 : int; var local_#14247 : int; var local_#14248 : int; var local_#14249 : int; var local_#14250 : int; var local_#14251 : int; var local_#14252 : { base : int, offset : int }; var local_#31484_rb : { base : int, offset : int }; var local_#31485_io1 : { base : int, offset : int }; var local_#14253 : int; var local_#14254 : int; var local_#14255 : int; var local_#14256 : int; var local_#14257 : int; var local_#14258 : int; var local_#14259 : int; var local_#14260 : int; var local_#14261 : { base : int, offset : int }; var local_#31482_rb : { base : int, offset : int }; var local_#31483_io1 : { base : int, offset : int }; var local_#14262 : int; var local_#14263 : int; var local_#14264 : int; var local_#31481_io1 : { base : int, offset : int }; var local_#14265 : int; var local_#14266 : int; var local_#14267 : int; var local_#14268 : int; var local_#14269 : int; var local_#14270 : { base : int, offset : int }; var local_#14271 : int; var local_#14272 : int; var local_#14273 : int; local_#4189_L := local_#4189_L_IN; goto CFG_36402; CFG_36402: assume true; goto CFG_41915; CFG_41915: assume true; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; local_#11991 := 8; local_#11992 := _memory[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 66 }]; assert { :LIR "62486" } { :check "overflow" } { :finding_ids "0" } local_#11992 <= 2147483647; local_#11993 := ~sor32(local_#11992, local_#11991); _memory[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 66 }] := ~uwrap16(local_#11993); assert { :LIR "62487" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41662; CFG_41662: assume true; local_#11994 := 0; local_#11995 := 0; assert { :LIR "60434" } { :check "overflow" } { :finding_ids "0" } true; local_#11996 := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 0 }]; local_#11997 := { base : local_#11996!base, offset : local_#11996!offset + 0 }; local_#11998 := _memory_ptr[local_#11997]; assert { :LIR "60435" } { :check "overflow" } { :finding_ids "0" } true; local_#11999 := { base : local_#11998!base, offset : local_#11998!offset + 0 }; local_#12000 := { base : local_#11999!base, offset : local_#11999!offset + 0 }; local_#31477_cl := local_#12000; local_#12001 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; local_#31478_k := _memory_ptr[{ base : local_#12001!base, offset : local_#12001!offset + 48 }]; local_#12002 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12002!base, offset : local_#12002!offset + 0 }]; goto CFG_49475; CFG_49475: assume true; local_#12003 := 1; if (local_#12003 != 0) { goto CFG_49476; } else { goto CFG_37313; } CFG_49476: assume true; local_#12004 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12005 := _memory_ptr[{ base : local_#12004!base, offset : local_#12004!offset + 8 }]; local_#12006 := 1; _memory_ptr[{ base : local_#12004!base, offset : local_#12004!offset + 8 }] := { base : local_#12005!base, offset : local_#12005!offset + local_#12006 * 4 }; local_#31479_i := _memory[local_#12005]; local_#12007 := 12; local_#12008 := ~sand32(_memory[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 200 }], local_#12007); if (local_#12008 != 0) { goto CFG_45864; } else { goto CFG_51580; } CFG_45864: assume true; call routine_#33764_luaG_traceexec(local_#4189_L); goto CFG_40090; CFG_40090: assume true; local_#12009 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12009!base, offset : local_#12009!offset + 0 }]; goto CFG_51580; CFG_51580: assume true; local_#12010 := 6; local_#12011 := ~lshr32(local_#31479_i, local_#12010); local_#12012 := 255; local_#12013 := ~uand32(local_#12011, local_#12012); local_#12014 := local_#12013; assert { :LIR "60436" } { :check "overflow" } { :finding_ids "0" } local_#12014 <= 2147483647; local_#12015 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12014 * 16 }; local_#31480_ra := local_#12015; local_#12016 := 0; local_#12017 := 0; assert { :LIR "60437" } { :check "overflow" } { :finding_ids "0" } true; local_#12018 := 0; local_#12019 := 0; assert { :LIR "60438" } { :check "overflow" } { :finding_ids "0" } true; local_#12020 := 0; local_#12021 := ~lshr32(local_#31479_i, local_#12020); local_#12022 := 63; local_#12023 := ~uand32(local_#12021, local_#12022); local_#12024 := local_#12023; assert { :LIR "60439" } { :check "overflow" } { :finding_ids "0" } local_#12024 <= 46; if (local_#12024 == 0) { goto CFG_39550; } if (local_#12024 == 1) { goto CFG_39549; } if (local_#12024 == 2) { goto CFG_39548; } if (local_#12024 == 3) { goto CFG_49708; } if (local_#12024 == 4) { goto CFG_41667; } if (local_#12024 == 5) { goto CFG_39545; } if (local_#12024 == 6) { goto CFG_49703; } if (local_#12024 == 7) { goto CFG_49699; } if (local_#12024 == 8) { goto CFG_49690; } if (local_#12024 == 9) { goto CFG_49688; } if (local_#12024 == 10) { goto CFG_49679; } if (local_#12024 == 11) { goto CFG_42488; } if (local_#12024 == 12) { goto CFG_49672; } if (local_#12024 == 13) { goto CFG_49662; } if (local_#12024 == 14) { goto CFG_49652; } if (local_#12024 == 15) { goto CFG_49642; } if (local_#12024 == 18) { goto CFG_49634; } if (local_#12024 == 20) { goto CFG_49626; } if (local_#12024 == 21) { goto CFG_49618; } if (local_#12024 == 22) { goto CFG_49610; } if (local_#12024 == 23) { goto CFG_49602; } if (local_#12024 == 24) { goto CFG_49594; } if (local_#12024 == 16) { goto CFG_49583; } if (local_#12024 == 19) { goto CFG_49573; } if (local_#12024 == 17) { goto CFG_49565; } if (local_#12024 == 25) { goto CFG_49561; } if (local_#12024 == 26) { goto CFG_49558; } if (local_#12024 == 27) { goto CFG_49555; } if (local_#12024 == 28) { goto CFG_42439; } if (local_#12024 == 29) { goto CFG_42437; } if (local_#12024 == 30) { goto CFG_49552; } if (local_#12024 == 31) { goto CFG_49548; } if (local_#12024 == 32) { goto CFG_49544; } if (local_#12024 == 33) { goto CFG_49540; } if (local_#12024 == 34) { goto CFG_49532; } if (local_#12024 == 35) { goto CFG_49524; } if (local_#12024 == 36) { goto CFG_49521; } if (local_#12024 == 37) { goto CFG_49517; } if (local_#12024 == 38) { goto CFG_49513; } if (local_#12024 == 39) { goto CFG_49506; } if (local_#12024 == 40) { goto CFG_49493; } if (local_#12024 == 41) { goto CFG_42417; } if (local_#12024 == 42) { goto CFG_41917; } if (local_#12024 == 43) { goto CFG_49485; } if (local_#12024 == 44) { goto CFG_42413; } if (local_#12024 == 45) { goto CFG_49477; } if (local_#12024 == 46) { goto CFG_39506; } CFG_41916: assume true; goto CFG_45008; CFG_39506: assume true; local_#12025 := 0; local_#12026 := 0; assert { :LIR "60440" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_49477: assume true; local_#12027 := 23; local_#12028 := ~lshr32(local_#31479_i, local_#12027); local_#12029 := 511; local_#12030 := ~uand32(local_#12028, local_#12029); local_#12031 := local_#12030; assert { :LIR "60441" } { :check "overflow" } { :finding_ids "0" } local_#12031 <= 2147483647; local_#12032 := 1; local_#12033 := local_#12031 - local_#12032; assert { :LIR "67924" } { :check "overflow" } { :finding_ids "0" } local_#12033 <= 2147483647; local_#31668_b := local_#12033; local_#12034 := (local_#31475_base!offset - _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 0 }]!offset) / 16; local_#12035 := local_#12034; assert { :LIR "60442" } { :check "overflow" } { :finding_ids "0" } local_#12035 <= 2147483647; local_#12036 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; local_#12037 := _memory[{ base : local_#12036!base, offset : local_#12036!offset + 10 }]; assert { :LIR "62488" } { :check "overflow" } { :finding_ids "0" } local_#12037 <= 2147483647; local_#12038 := local_#12035 - local_#12037; assert { :LIR "67925" } { :check "overflow" } { :finding_ids "0" } local_#12038 <= 2147483647; local_#12039 := 1; local_#12040 := local_#12038 - local_#12039; assert { :LIR "67926" } { :check "overflow" } { :finding_ids "0" } local_#12040 <= 2147483647; local_#31670_n := local_#12040; local_#12041 := 0; local_#12042 := (if local_#31670_n < local_#12041 then 1 else 0); if (local_#12042 != 0) { goto CFG_40091; } else { goto CFG_49478; } CFG_40091: assume true; local_#31670_n := 0; goto CFG_49478; CFG_49478: assume true; local_#12043 := 0; local_#12044 := (if local_#31668_b < local_#12043 then 1 else 0); if (local_#12044 != 0) { goto CFG_49479; } else { goto CFG_41663; } CFG_49479: assume true; local_#31668_b := local_#31670_n; local_#12045 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset) / 16; local_#12046 := local_#31670_n; assert { :LIR "62489" } { :check "overflow" } { :finding_ids "0" } local_#12046 <= 9223372036854775807; local_#12047 := (if local_#12045 <= local_#12046 then 1 else 0); if (local_#12047 != 0) { goto CFG_42410; } else { goto CFG_40092; } CFG_40092: assume true; local_#12048 := 0; local_#12049 := 0; assert { :LIR "60443" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40094; CFG_42410: assume true; local_#12050 := 0; local_#12051 := 0; assert { :LIR "60444" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45865; CFG_45865: assume true; call routine_#33733_luaD_growstack(local_#4189_L,local_#31670_n); goto CFG_40093; CFG_40093: assume true; local_#12052 := 0; local_#12053 := 0; assert { :LIR "60445" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40094; CFG_40094: assume true; local_#12054 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12054!base, offset : local_#12054!offset + 0 }]; local_#12055 := 6; local_#12056 := ~lshr32(local_#31479_i, local_#12055); local_#12057 := 255; local_#12058 := ~uand32(local_#12056, local_#12057); local_#12059 := local_#12058; assert { :LIR "60446" } { :check "overflow" } { :finding_ids "0" } local_#12059 <= 2147483647; local_#12060 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12059 * 16 }; local_#31480_ra := local_#12060; local_#12061 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31670_n * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12061; goto CFG_41663; CFG_41663: assume true; local_#31669_j := 0; goto CFG_49480; CFG_49480: assume true; local_#12062 := (if local_#31669_j < local_#31668_b then 1 else 0); if (local_#12062 != 0) { goto CFG_49481; } else { goto CFG_41664; } CFG_49481: assume true; local_#12063 := (if local_#31669_j < local_#31670_n then 1 else 0); if (local_#12063 != 0) { goto CFG_42412; } else { goto CFG_41664; } CFG_41664: assume true; goto CFG_49482; CFG_49482: assume true; local_#12064 := (if local_#31669_j < local_#31668_b then 1 else 0); if (local_#12064 != 0) { goto CFG_42411; } else { goto CFG_39507; } CFG_39507: assume true; goto CFG_45008; CFG_42411: assume true; local_#12065 := 0; local_#12066 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31669_j * 16 }; _memory[{ base : local_#12066!base, offset : local_#12066!offset + 8 }] := local_#12065; goto CFG_45003; CFG_45003: assume true; local_#12067 := local_#31669_j; local_#12068 := 1; local_#31669_j := local_#12067 + local_#12068; assert { :LIR "66455" } { :check "overflow" } { :finding_ids "0" } local_#31669_j <= 2147483647; local_#12069 := local_#12067; goto CFG_49482; CFG_42412: assume true; local_#12070 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31669_j * 16 }; local_#31671_io1 := local_#12070; local_#12071 := { base : local_#31475_base!base, offset : local_#31475_base!offset - local_#31670_n * 16 }; local_#12072 := { base : local_#12071!base, offset : local_#12071!offset + local_#31669_j * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_b == _memory[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_f == _memory_ptr[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_gc == _memory_ptr[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_i == _memory[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12072)!_value_!_p == _memory_ptr[{ base : local_#12072!base, offset : local_#12072!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12072)!_tt_ == _memory[{ base : local_#12072!base, offset : local_#12072!offset + 8 }]; call write_type_#101(local_#31671_io1,read_type_#101(_memory, _memory_ptr, local_#12072)); local_#12073 := 0; assert { :LIR "60447" } { :check "overflow" } { :finding_ids "0" } true; local_#12074 := 0; local_#12075 := 0; assert { :LIR "60448" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45004; CFG_45004: assume true; local_#12076 := local_#31669_j; local_#12077 := 1; local_#31669_j := local_#12076 + local_#12077; assert { :LIR "66456" } { :check "overflow" } { :finding_ids "0" } local_#31669_j <= 2147483647; local_#12078 := local_#12076; goto CFG_49480; CFG_42413: assume true; local_#12079 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; local_#12080 := 14; local_#12081 := ~lshr32(local_#31479_i, local_#12080); local_#12082 := 262143; local_#12083 := ~uand32(local_#12081, local_#12082); local_#12084 := local_#12083; assert { :LIR "60449" } { :check "overflow" } { :finding_ids "0" } local_#12084 <= 2147483647; local_#12085 := { base : _memory_ptr[{ base : local_#12079!base, offset : local_#12079!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#12079!base, offset : local_#12079!offset + 64 }]!offset + local_#12084 * 8 }; local_#31665_p := _memory_ptr[local_#12085]; local_#12086 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; local_#12087 := { base : local_#12086!base, offset : local_#12086!offset + 0 * 8 }; goto CFG_45866; CFG_45866: assume true; call local_#12088 := routine_#34780_getcached(local_#31665_p,local_#12087,local_#31475_base); goto CFG_49483; CFG_49483: assume true; local_#31664_ncl := local_#12088; local_#12089 := { base : 0, offset : 0 }; local_#12090 := (if local_#31664_ncl == local_#12089 then 1 else 0); if (local_#12090 != 0) { goto CFG_42414; } else { goto CFG_40095; } CFG_40095: assume true; local_#31666_io := local_#31480_ra; local_#31667_x_ := local_#31664_ncl; local_#12091 := local_#31667_x_; assert { :LIR "60450" } { :check "overflow" } { :finding_ids "0" } true; local_#12092 := { base : local_#12091!base, offset : local_#12091!offset + 0 }; local_#12093 := { base : local_#31666_io!base, offset : local_#31666_io!offset + 0 }; _memory_ptr[local_#12093] := local_#12092; _memory[{ base : local_#31666_io!base, offset : local_#31666_io!offset + 8 }] := 70; local_#12094 := 0; local_#12095 := 0; assert { :LIR "60451" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49484; CFG_42414: assume true; local_#12096 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; local_#12097 := { base : local_#12096!base, offset : local_#12096!offset + 0 * 8 }; goto CFG_45867; CFG_45867: assume true; call routine_#35003_pushclosure(local_#4189_L,local_#31665_p,local_#12097,local_#31475_base,local_#31480_ra); goto CFG_40096; CFG_40096: assume true; goto CFG_49484; CFG_49484: assume true; local_#12098 := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 24 }]; local_#12099 := 0; local_#12100 := (if _memory[{ base : local_#12098!base, offset : local_#12098!offset + 24 }] > local_#12099 then 1 else 0); if (local_#12100 != 0) { goto CFG_42415; } else { goto CFG_39508; } CFG_42415: assume true; local_#12101 := 1; local_#12102 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12101 * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12102; goto CFG_45868; CFG_45868: assume true; call routine_#33728_luaC_step(local_#4189_L); goto CFG_40097; CFG_40097: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; local_#12103 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12103!base, offset : local_#12103!offset + 0 }]; goto CFG_39508; CFG_39508: assume true; local_#12104 := 0; local_#12105 := 0; assert { :LIR "60452" } { :check "overflow" } { :finding_ids "0" } true; local_#12106 := 0; local_#12107 := 0; assert { :LIR "60453" } { :check "overflow" } { :finding_ids "0" } true; local_#12108 := 0; local_#12109 := 0; assert { :LIR "60454" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_49485: assume true; local_#12110 := 23; local_#12111 := ~lshr32(local_#31479_i, local_#12110); local_#12112 := 511; local_#12113 := ~uand32(local_#12111, local_#12112); local_#12114 := local_#12113; assert { :LIR "60455" } { :check "overflow" } { :finding_ids "0" } local_#12114 <= 2147483647; local_#31662_n := local_#12114; local_#12115 := 14; local_#12116 := ~lshr32(local_#31479_i, local_#12115); local_#12117 := 511; local_#12118 := ~uand32(local_#12116, local_#12117); local_#12119 := local_#12118; assert { :LIR "60456" } { :check "overflow" } { :finding_ids "0" } local_#12119 <= 2147483647; local_#31659_c := local_#12119; local_#12120 := 0; local_#12121 := (if local_#31662_n == local_#12120 then 1 else 0); if (local_#12121 != 0) { goto CFG_40098; } else { goto CFG_49486; } CFG_40098: assume true; local_#12122 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset - local_#31480_ra!offset) / 16; local_#12123 := local_#12122; assert { :LIR "60457" } { :check "overflow" } { :finding_ids "0" } local_#12123 <= 2147483647; local_#12124 := 1; local_#12125 := local_#12123 - local_#12124; assert { :LIR "67927" } { :check "overflow" } { :finding_ids "0" } local_#12125 <= 2147483647; local_#31662_n := local_#12125; goto CFG_49486; CFG_49486: assume true; local_#12126 := 0; local_#12127 := (if local_#31659_c == local_#12126 then 1 else 0); if (local_#12127 != 0) { goto CFG_40099; } else { goto CFG_49487; } CFG_40099: assume true; local_#12128 := 0; local_#12129 := 0; assert { :LIR "60458" } { :check "overflow" } { :finding_ids "0" } true; local_#12130 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12131 := _memory_ptr[{ base : local_#12130!base, offset : local_#12130!offset + 8 }]; local_#12132 := 1; _memory_ptr[{ base : local_#12130!base, offset : local_#12130!offset + 8 }] := { base : local_#12131!base, offset : local_#12131!offset + local_#12132 * 4 }; local_#12133 := 6; local_#12134 := ~lshr32(_memory[local_#12131], local_#12133); local_#12135 := 67108863; local_#12136 := ~uand32(local_#12134, local_#12135); local_#12137 := local_#12136; assert { :LIR "60459" } { :check "overflow" } { :finding_ids "0" } local_#12137 <= 2147483647; local_#31659_c := local_#12137; goto CFG_49487; CFG_49487: assume true; local_#12138 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#12139 := _memory_ptr[local_#12138]; assert { :LIR "60460" } { :check "overflow" } { :finding_ids "0" } true; local_#12140 := { base : local_#12139!base, offset : local_#12139!offset + 0 }; local_#31660_h := local_#12140; local_#12141 := 1; local_#12142 := local_#31659_c - local_#12141; assert { :LIR "67928" } { :check "overflow" } { :finding_ids "0" } local_#12142 <= 2147483647; local_#12143 := 50; local_#12144 := local_#12142 * local_#12143; assert { :LIR "68529" } { :check "overflow" } { :finding_ids "0" } local_#12144 <= 2147483647; local_#12145 := local_#12144 + local_#31662_n; assert { :LIR "66457" } { :check "overflow" } { :finding_ids "0" } local_#12145 <= 2147483647; local_#12146 := ~uwrap32(local_#12145); assert { :LIR "62490" } { :check "overflow" } { :finding_ids "0" } true; local_#31661_last := local_#12146; local_#12147 := (if local_#31661_last > _memory[{ base : local_#31660_h!base, offset : local_#31660_h!offset + 12 }] then 1 else 0); if (local_#12147 != 0) { goto CFG_45869; } else { goto CFG_41665; } CFG_45869: assume true; call routine_#33776_luaH_resizearray(local_#4189_L,local_#31660_h,local_#31661_last); goto CFG_40100; CFG_40100: assume true; goto CFG_41665; CFG_41665: assume true; goto CFG_49488; CFG_49488: assume true; local_#12148 := 0; local_#12149 := (if local_#31662_n > local_#12148 then 1 else 0); if (local_#12149 != 0) { goto CFG_42416; } else { goto CFG_39509; } CFG_39509: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_45008; CFG_42416: assume true; local_#12150 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31662_n * 16 }; local_#31663_val := local_#12150; local_#12151 := local_#31661_last; local_#12152 := 1; assume { :symbol "~uwrap32" } true; local_#31661_last := ~uwrap32(local_#12151 - local_#12152); assert { :LIR "67929" } { :check "overflow" } { :finding_ids "0" } true; local_#12153 := local_#12151; assert { :LIR "62491" } { :check "overflow" } { :finding_ids "0" } local_#12153 <= 9223372036854775807; goto CFG_45870; CFG_45870: assume true; call routine_#33778_luaH_setint(local_#4189_L,local_#31660_h,local_#12153,local_#31663_val); goto CFG_49489; CFG_49489: assume true; local_#12154 := 64; local_#12155 := ~sand32(_memory[{ base : local_#31663_val!base, offset : local_#31663_val!offset + 8 }], local_#12154); if (local_#12155 != 0) { goto CFG_49490; } else { goto CFG_40101; } CFG_49490: assume true; local_#12156 := _memory[{ base : local_#31660_h!base, offset : local_#31660_h!offset + 9 }]; assert { :LIR "62492" } { :check "overflow" } { :finding_ids "0" } local_#12156 <= 2147483647; local_#12157 := 4; local_#12158 := ~sand32(local_#12156, local_#12157); if (local_#12158 != 0) { goto CFG_49491; } else { goto CFG_40101; } CFG_49491: assume true; local_#12159 := { base : local_#31663_val!base, offset : local_#31663_val!offset + 0 }; local_#12160 := _memory_ptr[local_#12159]; local_#12161 := _memory[{ base : local_#12160!base, offset : local_#12160!offset + 9 }]; assert { :LIR "62493" } { :check "overflow" } { :finding_ids "0" } local_#12161 <= 2147483647; local_#12162 := 3; local_#12163 := ~sand32(local_#12161, local_#12162); if (local_#12163 != 0) { goto CFG_45871; } else { goto CFG_40101; } CFG_40101: assume true; local_#12164 := 0; local_#12165 := 0; assert { :LIR "60461" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45005; CFG_45871: assume true; call routine_#33721_luaC_barrierback_(local_#4189_L,local_#31660_h); goto CFG_40102; CFG_40102: assume true; goto CFG_45005; CFG_45005: assume true; local_#12166 := local_#31662_n; local_#12167 := 1; local_#31662_n := local_#12166 - local_#12167; assert { :LIR "67930" } { :check "overflow" } { :finding_ids "0" } local_#31662_n <= 2147483647; local_#12168 := local_#12166; goto CFG_49488; CFG_41917: assume true; goto CFG_49492; CFG_42417: assume true; local_#12169 := 3; local_#12170 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12169 * 16 }; local_#31654_cb := local_#12170; local_#12171 := 2; local_#12172 := { base : local_#31654_cb!base, offset : local_#31654_cb!offset + local_#12171 * 16 }; local_#31655_io1 := local_#12172; local_#12173 := 2; local_#12174 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12173 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_b == _memory[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_f == _memory_ptr[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_gc == _memory_ptr[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_i == _memory[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12174)!_value_!_p == _memory_ptr[{ base : local_#12174!base, offset : local_#12174!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12174)!_tt_ == _memory[{ base : local_#12174!base, offset : local_#12174!offset + 8 }]; call write_type_#101(local_#31655_io1,read_type_#101(_memory, _memory_ptr, local_#12174)); local_#12175 := 0; assert { :LIR "60462" } { :check "overflow" } { :finding_ids "0" } true; local_#12176 := 0; local_#12177 := 0; assert { :LIR "60463" } { :check "overflow" } { :finding_ids "0" } true; local_#12178 := 1; local_#12179 := { base : local_#31654_cb!base, offset : local_#31654_cb!offset + local_#12178 * 16 }; local_#31656_io1 := local_#12179; local_#12180 := 1; local_#12181 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12180 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_b == _memory[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_f == _memory_ptr[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_gc == _memory_ptr[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_i == _memory[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12181)!_value_!_p == _memory_ptr[{ base : local_#12181!base, offset : local_#12181!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12181)!_tt_ == _memory[{ base : local_#12181!base, offset : local_#12181!offset + 8 }]; call write_type_#101(local_#31656_io1,read_type_#101(_memory, _memory_ptr, local_#12181)); local_#12182 := 0; assert { :LIR "60464" } { :check "overflow" } { :finding_ids "0" } true; local_#12183 := 0; local_#12184 := 0; assert { :LIR "60465" } { :check "overflow" } { :finding_ids "0" } true; local_#31657_io1 := local_#31654_cb; assume read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_b == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_f == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_gc == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_i == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_p == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_tt_ == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }]; call write_type_#101(local_#31657_io1,read_type_#101(_memory, _memory_ptr, local_#31480_ra)); local_#12185 := 0; assert { :LIR "60466" } { :check "overflow" } { :finding_ids "0" } true; local_#12186 := 0; local_#12187 := 0; assert { :LIR "60467" } { :check "overflow" } { :finding_ids "0" } true; local_#12188 := 3; local_#12189 := { base : local_#31654_cb!base, offset : local_#31654_cb!offset + local_#12188 * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12189; local_#12190 := 14; local_#12191 := ~lshr32(local_#31479_i, local_#12190); local_#12192 := 511; local_#12193 := ~uand32(local_#12191, local_#12192); local_#12194 := local_#12193; assert { :LIR "60468" } { :check "overflow" } { :finding_ids "0" } local_#12194 <= 2147483647; goto CFG_45872; CFG_45872: assume true; call routine_#33731_luaD_call(local_#4189_L,local_#31654_cb,local_#12194); goto CFG_45246; CFG_45246: assume true; local_#12195 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12195!base, offset : local_#12195!offset + 0 }]; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; local_#12196 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12197 := _memory_ptr[{ base : local_#12196!base, offset : local_#12196!offset + 8 }]; local_#12198 := 1; _memory_ptr[{ base : local_#12196!base, offset : local_#12196!offset + 8 }] := { base : local_#12197!base, offset : local_#12197!offset + local_#12198 * 4 }; local_#31479_i := _memory[local_#12197]; local_#12199 := 6; local_#12200 := ~lshr32(local_#31479_i, local_#12199); local_#12201 := 255; local_#12202 := ~uand32(local_#12200, local_#12201); local_#12203 := local_#12202; assert { :LIR "60469" } { :check "overflow" } { :finding_ids "0" } local_#12203 <= 2147483647; local_#12204 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12203 * 16 }; local_#31480_ra := local_#12204; local_#12205 := 0; local_#12206 := 0; assert { :LIR "60470" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49492; CFG_49492: assume true; local_#12207 := 1; local_#12208 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12207 * 16 }; local_#12209 := 0; local_#12210 := (if _memory[{ base : local_#12208!base, offset : local_#12208!offset + 8 }] == local_#12209 then 1 else 0); local_#12211 := (if local_#12210 != 0 then 0 else 1); if (local_#12211 != 0) { goto CFG_40103; } else { goto CFG_39510; } CFG_40103: assume true; local_#31658_io1 := local_#31480_ra; local_#12212 := 1; local_#12213 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12212 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_b == _memory[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_f == _memory_ptr[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_gc == _memory_ptr[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_i == _memory[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12213)!_value_!_p == _memory_ptr[{ base : local_#12213!base, offset : local_#12213!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12213)!_tt_ == _memory[{ base : local_#12213!base, offset : local_#12213!offset + 8 }]; call write_type_#101(local_#31658_io1,read_type_#101(_memory, _memory_ptr, local_#12213)); local_#12214 := 0; assert { :LIR "60471" } { :check "overflow" } { :finding_ids "0" } true; local_#12215 := 0; local_#12216 := 0; assert { :LIR "60472" } { :check "overflow" } { :finding_ids "0" } true; local_#12217 := 14; local_#12218 := ~lshr32(local_#31479_i, local_#12217); local_#12219 := 262143; local_#12220 := ~uand32(local_#12218, local_#12219); local_#12221 := local_#12220; assert { :LIR "60473" } { :check "overflow" } { :finding_ids "0" } local_#12221 <= 2147483647; local_#12222 := 131071; local_#12223 := local_#12221 - local_#12222; assert { :LIR "67931" } { :check "overflow" } { :finding_ids "0" } local_#12223 <= 2147483647; local_#12224 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12224!base, offset : local_#12224!offset + 8 }] := { base : _memory_ptr[{ base : local_#12224!base, offset : local_#12224!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12224!base, offset : local_#12224!offset + 8 }]!offset + local_#12223 * 4 }; goto CFG_39510; CFG_39510: assume true; goto CFG_45008; CFG_49493: assume true; local_#31641_init := local_#31480_ra; local_#12225 := 1; local_#12226 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12225 * 16 }; local_#31642_plimit := local_#12226; local_#12227 := 2; local_#12228 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12227 * 16 }; local_#31643_pstep := local_#12228; local_#12229 := 19; local_#12230 := (if _memory[{ base : local_#31641_init!base, offset : local_#31641_init!offset + 8 }] == local_#12229 then 1 else 0); if (local_#12230 != 0) { goto CFG_49494; } else { goto CFG_49496; } CFG_49494: assume true; local_#12231 := 19; local_#12232 := (if _memory[{ base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 8 }] == local_#12231 then 1 else 0); if (local_#12232 != 0) { goto CFG_42418; } else { goto CFG_49496; } CFG_42418: assume true; local_#12233 := local_#31642_plimit; assert { :LIR "62494" } { :check "overflow" } { :finding_ids "0" } true; local_#12234 := local_#31640_ilimit; local_#12235 := { base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 0 }; local_#12236 := _memory[local_#12235]; local_#12237 := local_#31644_stopnow; goto CFG_45873; CFG_45873: assume true; call local_#12238 := routine_#34755_forlimit(local_#12233,local_#12234,local_#12236,local_#12237); goto CFG_49495; CFG_49495: assume true; local_#12239 := local_#12238; if (local_#12239 != 0) { goto CFG_49505; } else { goto CFG_49496; } CFG_49496: assume true; local_#12240 := 3; local_#12241 := (if _memory[{ base : local_#31642_plimit!base, offset : local_#31642_plimit!offset + 8 }] == local_#12240 then 1 else 0); if (local_#12241 != 0) { goto CFG_49498; } else { goto CFG_42419; } CFG_42419: assume true; local_#12242 := local_#31642_plimit; assert { :LIR "62495" } { :check "overflow" } { :finding_ids "0" } true; local_#12243 := local_#31649_nlimit; goto CFG_45874; CFG_45874: assume true; call local_#12244 := routine_#33904_luaV_tonumber_(local_#12242,local_#12243); goto CFG_49497; CFG_49497: assume true; local_#12245 := local_#12244; if (local_#12245 != 0) { goto CFG_49499; } else { goto CFG_42420; } CFG_49498: assume true; local_#12246 := { base : local_#31642_plimit!base, offset : local_#31642_plimit!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#12247 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12248 := 1; if (local_#12248 != 0) { goto CFG_49499; } else { goto CFG_42420; } CFG_42420: assume true; assume _memory[{ base : strlit_#70376!base, offset : strlit_#70376!offset + 28 }] == 0; local_#12249 := strlit_#70376; local_#12250 := { base : local_#12249!base, offset : local_#12249!offset + 0 * 1 }; assert { :LIR "62496" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45875; CFG_45875: assume true; call routine_#33762_luaG_runerror(local_#4189_L,local_#12250,{ base : 0, offset : 0 }); CFG_49499: assume true; local_#31651_io := local_#31642_plimit; local_#12251 := { base : local_#31651_io!base, offset : local_#31651_io!offset + 0 }; havoc nondet_#2; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31651_io!base, offset : local_#31651_io!offset + 8 }] := 3; local_#12252 := 3; local_#12253 := (if _memory[{ base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 8 }] == local_#12252 then 1 else 0); if (local_#12253 != 0) { goto CFG_49501; } else { goto CFG_42421; } CFG_42421: assume true; local_#12254 := local_#31643_pstep; assert { :LIR "62497" } { :check "overflow" } { :finding_ids "0" } true; local_#12255 := local_#31650_nstep; goto CFG_45876; CFG_45876: assume true; call local_#12256 := routine_#33904_luaV_tonumber_(local_#12254,local_#12255); goto CFG_49500; CFG_49500: assume true; local_#12257 := local_#12256; if (local_#12257 != 0) { goto CFG_49502; } else { goto CFG_42422; } CFG_49501: assume true; local_#12258 := { base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 0 }; havoc nondet_#3; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#4; local_#12259 := nondet_#4 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12260 := 1; if (local_#12260 != 0) { goto CFG_49502; } else { goto CFG_42422; } CFG_42422: assume true; assume _memory[{ base : strlit_#70377!base, offset : strlit_#70377!offset + 27 }] == 0; local_#12261 := strlit_#70377; local_#12262 := { base : local_#12261!base, offset : local_#12261!offset + 0 * 1 }; assert { :LIR "62498" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45877; CFG_45877: assume true; call routine_#33762_luaG_runerror(local_#4189_L,local_#12262,{ base : 0, offset : 0 }); CFG_49502: assume true; local_#31652_io := local_#31643_pstep; local_#12263 := { base : local_#31652_io!base, offset : local_#31652_io!offset + 0 }; havoc nondet_#5; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31652_io!base, offset : local_#31652_io!offset + 8 }] := 3; local_#12264 := 3; local_#12265 := (if _memory[{ base : local_#31641_init!base, offset : local_#31641_init!offset + 8 }] == local_#12264 then 1 else 0); if (local_#12265 != 0) { goto CFG_49504; } else { goto CFG_42423; } CFG_42423: assume true; local_#12266 := local_#31641_init; assert { :LIR "62499" } { :check "overflow" } { :finding_ids "0" } true; local_#12267 := local_#31648_ninit; goto CFG_45878; CFG_45878: assume true; call local_#12268 := routine_#33904_luaV_tonumber_(local_#12266,local_#12267); goto CFG_49503; CFG_49503: assume true; local_#12269 := local_#12268; if (local_#12269 != 0) { goto CFG_40104; } else { goto CFG_42424; } CFG_49504: assume true; local_#12270 := { base : local_#31641_init!base, offset : local_#31641_init!offset + 0 }; havoc nondet_#6; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#7; local_#12271 := nondet_#7 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12272 := 1; if (local_#12272 != 0) { goto CFG_40104; } else { goto CFG_42424; } CFG_42424: assume true; assume _memory[{ base : strlit_#70378!base, offset : strlit_#70378!offset + 36 }] == 0; local_#12273 := strlit_#70378; local_#12274 := { base : local_#12273!base, offset : local_#12273!offset + 0 * 1 }; assert { :LIR "62500" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45879; CFG_45879: assume true; call routine_#33762_luaG_runerror(local_#4189_L,local_#12274,{ base : 0, offset : 0 }); CFG_40104: assume true; local_#31653_io := local_#31641_init; havoc nondet_#8; havoc nondet_#9; havoc nondet_#10; local_#12275 := nondet_#10 /* IR2BOOGIE-ERROR: Unsupported type for binary - in 67932. */; assert { :LIR "67932" } { :check "overflow" } { :finding_ids "0" } true; local_#12276 := { base : local_#31653_io!base, offset : local_#31653_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31653_io!base, offset : local_#31653_io!offset + 8 }] := 3; goto CFG_39511; CFG_49505: assume true; local_#12277 := _memory[local_#31644_stopnow]; if (local_#12277 != 0) { goto CFG_40106; } else { goto CFG_40105; } CFG_40105: assume true; local_#12278 := { base : local_#31641_init!base, offset : local_#31641_init!offset + 0 }; local_#30635 := _memory[local_#12278]; goto CFG_40107; CFG_40106: assume true; local_#30635 := 0; goto CFG_40107; CFG_40107: assume true; local_#31645_initv := local_#30635; local_#31646_io := local_#31642_plimit; local_#12279 := { base : local_#31646_io!base, offset : local_#31646_io!offset + 0 }; _memory[local_#12279] := _memory[local_#31640_ilimit]; _memory[{ base : local_#31646_io!base, offset : local_#31646_io!offset + 8 }] := 19; local_#31647_io := local_#31641_init; local_#12280 := ~uwrap64(local_#31645_initv); assert { :LIR "60474" } { :check "overflow" } { :finding_ids "0" } true; local_#12281 := { base : local_#31643_pstep!base, offset : local_#31643_pstep!offset + 0 }; local_#12282 := ~uwrap64(_memory[local_#12281]); assert { :LIR "60475" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#12283 := ~uwrap64(local_#12280 - local_#12282); assert { :LIR "67933" } { :check "overflow" } { :finding_ids "0" } true; local_#12284 := local_#12283; assert { :LIR "60476" } { :check "overflow" } { :finding_ids "0" } local_#12284 <= 9223372036854775807; local_#12285 := { base : local_#31647_io!base, offset : local_#31647_io!offset + 0 }; _memory[local_#12285] := local_#12284; _memory[{ base : local_#31647_io!base, offset : local_#31647_io!offset + 8 }] := 19; goto CFG_39511; CFG_39511: assume true; local_#12286 := 14; local_#12287 := ~lshr32(local_#31479_i, local_#12286); local_#12288 := 262143; local_#12289 := ~uand32(local_#12287, local_#12288); local_#12290 := local_#12289; assert { :LIR "60477" } { :check "overflow" } { :finding_ids "0" } local_#12290 <= 2147483647; local_#12291 := 131071; local_#12292 := local_#12290 - local_#12291; assert { :LIR "67934" } { :check "overflow" } { :finding_ids "0" } local_#12292 <= 2147483647; local_#12293 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12293!base, offset : local_#12293!offset + 8 }] := { base : _memory_ptr[{ base : local_#12293!base, offset : local_#12293!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12293!base, offset : local_#12293!offset + 8 }]!offset + local_#12292 * 4 }; goto CFG_45008; CFG_49506: assume true; local_#12294 := 19; local_#12295 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12294 then 1 else 0); if (local_#12295 != 0) { goto CFG_49510; } else { goto CFG_49507; } CFG_49507: assume true; local_#12296 := 2; local_#12297 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12296 * 16 }; local_#12298 := { base : local_#12297!base, offset : local_#12297!offset + 0 }; havoc nondet_#11; local_#31637_step := nondet_#11 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12299 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; havoc nondet_#12; havoc nondet_#13; local_#12300 := nondet_#13 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66458. */; assert { :LIR "66458" } { :check "overflow" } { :finding_ids "0" } true; local_#31635_idx := local_#12300; local_#12301 := 1; local_#12302 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12301 * 16 }; local_#12303 := { base : local_#12302!base, offset : local_#12302!offset + 0 }; havoc nondet_#14; local_#31636_limit := nondet_#14 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; havoc nondet_#15; local_#12304 := nondet_#15 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78594 */; havoc nondet_#16; local_#12305 := (if nondet_#16 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66170. */ then 1 else 0); if (local_#12305 != 0) { goto CFG_49509; } else { goto CFG_49508; } CFG_49508: assume true; havoc nondet_#17; local_#12306 := (if nondet_#17 /* IR2BOOGIE-ERROR: Unsupported type for relation <= in 66023. */ then 1 else 0); if (local_#12306 != 0) { goto CFG_40108; } else { goto CFG_40109; } CFG_49509: assume true; havoc nondet_#18; local_#12307 := (if nondet_#18 /* IR2BOOGIE-ERROR: Unsupported type for relation <= in 66024. */ then 1 else 0); if (local_#12307 != 0) { goto CFG_40108; } else { goto CFG_40109; } CFG_40108: assume true; local_#12308 := 14; local_#12309 := ~lshr32(local_#31479_i, local_#12308); local_#12310 := 262143; local_#12311 := ~uand32(local_#12309, local_#12310); local_#12312 := local_#12311; assert { :LIR "60478" } { :check "overflow" } { :finding_ids "0" } local_#12312 <= 2147483647; local_#12313 := 131071; local_#12314 := local_#12312 - local_#12313; assert { :LIR "67935" } { :check "overflow" } { :finding_ids "0" } local_#12314 <= 2147483647; local_#12315 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12315!base, offset : local_#12315!offset + 8 }] := { base : _memory_ptr[{ base : local_#12315!base, offset : local_#12315!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12315!base, offset : local_#12315!offset + 8 }]!offset + local_#12314 * 4 }; local_#31638_io := local_#31480_ra; local_#12316 := 0; local_#12317 := 0; assert { :LIR "60479" } { :check "overflow" } { :finding_ids "0" } true; local_#12318 := { base : local_#31638_io!base, offset : local_#31638_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ local_#12319 := 3; local_#12320 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12319 * 16 }; local_#31639_io := local_#12320; local_#12321 := { base : local_#31639_io!base, offset : local_#31639_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31639_io!base, offset : local_#31639_io!offset + 8 }] := 3; goto CFG_40109; CFG_40109: assume true; goto CFG_39512; CFG_49510: assume true; local_#12322 := 2; local_#12323 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12322 * 16 }; local_#12324 := { base : local_#12323!base, offset : local_#12323!offset + 0 }; local_#31632_step := _memory[local_#12324]; local_#12325 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#12326 := ~uwrap64(_memory[local_#12325]); assert { :LIR "60480" } { :check "overflow" } { :finding_ids "0" } true; local_#12327 := ~uwrap64(local_#31632_step); assert { :LIR "60481" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#12328 := ~uwrap64(local_#12326 + local_#12327); assert { :LIR "66459" } { :check "overflow" } { :finding_ids "0" } true; local_#12329 := local_#12328; assert { :LIR "60482" } { :check "overflow" } { :finding_ids "0" } local_#12329 <= 9223372036854775807; local_#31630_idx := local_#12329; local_#12330 := 1; local_#12331 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12330 * 16 }; local_#12332 := { base : local_#12331!base, offset : local_#12331!offset + 0 }; local_#31631_limit := _memory[local_#12332]; local_#12333 := 0; local_#12334 := (if local_#12333 < local_#31632_step then 1 else 0); if (local_#12334 != 0) { goto CFG_49512; } else { goto CFG_49511; } CFG_49511: assume true; local_#12335 := (if local_#31631_limit <= local_#31630_idx then 1 else 0); if (local_#12335 != 0) { goto CFG_40110; } else { goto CFG_40111; } CFG_49512: assume true; local_#12336 := (if local_#31630_idx <= local_#31631_limit then 1 else 0); if (local_#12336 != 0) { goto CFG_40110; } else { goto CFG_40111; } CFG_40110: assume true; local_#12337 := 14; local_#12338 := ~lshr32(local_#31479_i, local_#12337); local_#12339 := 262143; local_#12340 := ~uand32(local_#12338, local_#12339); local_#12341 := local_#12340; assert { :LIR "60483" } { :check "overflow" } { :finding_ids "0" } local_#12341 <= 2147483647; local_#12342 := 131071; local_#12343 := local_#12341 - local_#12342; assert { :LIR "67936" } { :check "overflow" } { :finding_ids "0" } local_#12343 <= 2147483647; local_#12344 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12344!base, offset : local_#12344!offset + 8 }] := { base : _memory_ptr[{ base : local_#12344!base, offset : local_#12344!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12344!base, offset : local_#12344!offset + 8 }]!offset + local_#12343 * 4 }; local_#31633_io := local_#31480_ra; local_#12345 := 0; local_#12346 := 0; assert { :LIR "60484" } { :check "overflow" } { :finding_ids "0" } true; local_#12347 := { base : local_#31633_io!base, offset : local_#31633_io!offset + 0 }; _memory[local_#12347] := local_#31630_idx; local_#12348 := 3; local_#12349 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12348 * 16 }; local_#31634_io := local_#12349; local_#12350 := { base : local_#31634_io!base, offset : local_#31634_io!offset + 0 }; _memory[local_#12350] := local_#31630_idx; _memory[{ base : local_#31634_io!base, offset : local_#31634_io!offset + 8 }] := 19; goto CFG_40111; CFG_40111: assume true; goto CFG_39512; CFG_39512: assume true; goto CFG_45008; CFG_49513: assume true; local_#12351 := 23; local_#12352 := ~lshr32(local_#31479_i, local_#12351); local_#12353 := 511; local_#12354 := ~uand32(local_#12352, local_#12353); local_#12355 := local_#12354; assert { :LIR "60485" } { :check "overflow" } { :finding_ids "0" } local_#12355 <= 2147483647; local_#31629_b := local_#12355; local_#12356 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; local_#12357 := 0; local_#12358 := (if _memory[{ base : local_#12356!base, offset : local_#12356!offset + 32 }] > local_#12357 then 1 else 0); if (local_#12358 != 0) { goto CFG_45880; } else { goto CFG_49514; } CFG_45880: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#31475_base); goto CFG_40112; CFG_40112: assume true; goto CFG_49514; CFG_49514: assume true; local_#12359 := 0; local_#12360 := (if local_#31629_b != local_#12359 then 1 else 0); if (local_#12360 != 0) { goto CFG_40114; } else { goto CFG_40113; } CFG_40113: assume true; local_#12361 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset - local_#31480_ra!offset) / 16; local_#12362 := local_#12361; assert { :LIR "60486" } { :check "overflow" } { :finding_ids "0" } local_#12362 <= 2147483647; local_#30636 := local_#12362; goto CFG_45881; CFG_40114: assume true; local_#12363 := 1; local_#12364 := local_#31629_b - local_#12363; assert { :LIR "67937" } { :check "overflow" } { :finding_ids "0" } local_#12364 <= 2147483647; local_#30636 := local_#12364; goto CFG_45881; CFG_45881: assume true; call local_#12365 := routine_#33737_luaD_poscall(local_#4189_L,local_#31476_ci,local_#31480_ra,local_#30636); goto CFG_49515; CFG_49515: assume true; local_#31629_b := local_#12365; local_#12366 := _memory[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 66 }]; assert { :LIR "62501" } { :check "overflow" } { :finding_ids "0" } local_#12366 <= 2147483647; local_#12367 := 8; local_#12368 := ~sand32(local_#12366, local_#12367); if (local_#12368 != 0) { goto CFG_39169; } else { goto CFG_49516; } CFG_49516: assume true; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; local_#12369 := local_#31629_b; if (local_#12369 != 0) { goto CFG_40115; } else { goto CFG_45247; } CFG_40115: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_45247; CFG_45247: assume true; local_#12370 := 0; local_#12371 := 0; assert { :LIR "60487" } { :check "overflow" } { :finding_ids "0" } true; local_#12372 := 0; local_#12373 := 0; assert { :LIR "60488" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41662; CFG_39169: assume true; goto CFG_37313; CFG_49517: assume true; local_#12374 := 23; local_#12375 := ~lshr32(local_#31479_i, local_#12374); local_#12376 := 511; local_#12377 := ~uand32(local_#12375, local_#12376); local_#12378 := local_#12377; assert { :LIR "60489" } { :check "overflow" } { :finding_ids "0" } local_#12378 <= 2147483647; local_#31621_b := local_#12378; local_#12379 := 0; local_#12380 := (if local_#31621_b != local_#12379 then 1 else 0); if (local_#12380 != 0) { goto CFG_40116; } else { goto CFG_42425; } CFG_40116: assume true; local_#12381 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31621_b * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12381; goto CFG_42425; CFG_42425: assume true; local_#12382 := 0; local_#12383 := 0; assert { :LIR "60490" } { :check "overflow" } { :finding_ids "0" } true; local_#12384 := -1; goto CFG_45882; CFG_45882: assume true; call local_#12385 := routine_#33738_luaD_precall(local_#4189_L,local_#31480_ra,local_#12384); goto CFG_49518; CFG_49518: assume true; local_#12386 := local_#12385; if (local_#12386 != 0) { goto CFG_40118; } else { goto CFG_49519; } CFG_49519: assume true; local_#31624_nci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; local_#31626_oci := _memory_ptr[{ base : local_#31624_nci!base, offset : local_#31624_nci!offset + 16 }]; local_#31625_nfunc := _memory_ptr[{ base : local_#31624_nci!base, offset : local_#31624_nci!offset + 0 }]; local_#31627_ofunc := _memory_ptr[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 0 }]; local_#12387 := { base : local_#31624_nci!base, offset : local_#31624_nci!offset + 32 }; local_#12388 := { base : local_#31625_nfunc!base, offset : local_#31625_nfunc!offset + 0 }; local_#12389 := _memory_ptr[local_#12388]; assert { :LIR "60491" } { :check "overflow" } { :finding_ids "0" } true; local_#12390 := { base : local_#12389!base, offset : local_#12389!offset + 0 }; local_#12391 := { base : local_#12390!base, offset : local_#12390!offset + 0 }; local_#12392 := _memory_ptr[{ base : local_#12391!base, offset : local_#12391!offset + 24 }]; local_#12393 := { base : _memory_ptr[{ base : local_#12387!base, offset : local_#12387!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12387!base, offset : local_#12387!offset + 0 }]!offset + _memory[{ base : local_#12392!base, offset : local_#12392!offset + 10 }] * 16 }; local_#31623_lim := local_#12393; local_#12394 := _memory_ptr[{ base : local_#31477_cl!base, offset : local_#31477_cl!offset + 24 }]; local_#12395 := 0; local_#12396 := (if _memory[{ base : local_#12394!base, offset : local_#12394!offset + 32 }] > local_#12395 then 1 else 0); if (local_#12396 != 0) { goto CFG_42426; } else { goto CFG_41666; } CFG_42426: assume true; local_#12397 := { base : local_#31626_oci!base, offset : local_#31626_oci!offset + 32 }; local_#12398 := _memory_ptr[{ base : local_#12397!base, offset : local_#12397!offset + 0 }]; goto CFG_45883; CFG_45883: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12398); goto CFG_40117; CFG_40117: assume true; goto CFG_41666; CFG_41666: assume true; local_#31622_aux := 0; goto CFG_49520; CFG_49520: assume true; local_#12399 := { base : local_#31625_nfunc!base, offset : local_#31625_nfunc!offset + local_#31622_aux * 16 }; local_#12400 := (if local_#12399!offset < local_#31623_lim!offset then 1 else 0); if (local_#12400 != 0) { goto CFG_42427; } else { goto CFG_45248; } CFG_45248: assume true; local_#12401 := { base : local_#31624_nci!base, offset : local_#31624_nci!offset + 32 }; local_#12402 := (_memory_ptr[{ base : local_#12401!base, offset : local_#12401!offset + 0 }]!offset - local_#31625_nfunc!offset) / 16; local_#12403 := { base : local_#31627_ofunc!base, offset : local_#31627_ofunc!offset + local_#12402 * 16 }; local_#12404 := { base : local_#31626_oci!base, offset : local_#31626_oci!offset + 32 }; _memory_ptr[{ base : local_#12404!base, offset : local_#12404!offset + 0 }] := local_#12403; local_#12405 := (_memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]!offset - local_#31625_nfunc!offset) / 16; local_#12406 := { base : local_#31627_ofunc!base, offset : local_#31627_ofunc!offset + local_#12405 * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12406; _memory_ptr[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 8 }] := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }]; local_#12407 := { base : local_#31624_nci!base, offset : local_#31624_nci!offset + 32 }; local_#12408 := { base : local_#31626_oci!base, offset : local_#31626_oci!offset + 32 }; _memory_ptr[{ base : local_#12408!base, offset : local_#12408!offset + 8 }] := _memory_ptr[{ base : local_#12407!base, offset : local_#12407!offset + 8 }]; local_#12409 := 32; local_#12410 := _memory[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 66 }]; assert { :LIR "62502" } { :check "overflow" } { :finding_ids "0" } local_#12410 <= 2147483647; local_#12411 := ~sor32(local_#12410, local_#12409); _memory[{ base : local_#31626_oci!base, offset : local_#31626_oci!offset + 66 }] := ~uwrap16(local_#12411); assert { :LIR "62503" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }] := local_#31626_oci; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; local_#12412 := 0; local_#12413 := 0; assert { :LIR "60492" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41662; CFG_42427: assume true; local_#12414 := { base : local_#31627_ofunc!base, offset : local_#31627_ofunc!offset + local_#31622_aux * 16 }; local_#31628_io1 := local_#12414; local_#12415 := { base : local_#31625_nfunc!base, offset : local_#31625_nfunc!offset + local_#31622_aux * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_b == _memory[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_f == _memory_ptr[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_gc == _memory_ptr[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_i == _memory[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#12415)!_value_!_p == _memory_ptr[{ base : local_#12415!base, offset : local_#12415!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#12415)!_tt_ == _memory[{ base : local_#12415!base, offset : local_#12415!offset + 8 }]; call write_type_#101(local_#31628_io1,read_type_#101(_memory, _memory_ptr, local_#12415)); local_#12416 := 0; assert { :LIR "60493" } { :check "overflow" } { :finding_ids "0" } true; local_#12417 := 0; local_#12418 := 0; assert { :LIR "60494" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45006; CFG_45006: assume true; local_#12419 := local_#31622_aux; local_#12420 := 1; local_#31622_aux := local_#12419 + local_#12420; assert { :LIR "66460" } { :check "overflow" } { :finding_ids "0" } local_#31622_aux <= 2147483647; local_#12421 := local_#12419; goto CFG_49520; CFG_40118: assume true; local_#12422 := 0; local_#12423 := 0; assert { :LIR "60495" } { :check "overflow" } { :finding_ids "0" } true; local_#12424 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12424!base, offset : local_#12424!offset + 0 }]; goto CFG_39513; CFG_39513: assume true; goto CFG_45008; CFG_49521: assume true; local_#12425 := 23; local_#12426 := ~lshr32(local_#31479_i, local_#12425); local_#12427 := 511; local_#12428 := ~uand32(local_#12426, local_#12427); local_#12429 := local_#12428; assert { :LIR "60496" } { :check "overflow" } { :finding_ids "0" } local_#12429 <= 2147483647; local_#31619_b := local_#12429; local_#12430 := 14; local_#12431 := ~lshr32(local_#31479_i, local_#12430); local_#12432 := 511; local_#12433 := ~uand32(local_#12431, local_#12432); local_#12434 := local_#12433; assert { :LIR "60497" } { :check "overflow" } { :finding_ids "0" } local_#12434 <= 2147483647; local_#12435 := 1; local_#12436 := local_#12434 - local_#12435; assert { :LIR "67938" } { :check "overflow" } { :finding_ids "0" } local_#12436 <= 2147483647; local_#31620_nresults := local_#12436; local_#12437 := 0; local_#12438 := (if local_#31619_b != local_#12437 then 1 else 0); if (local_#12438 != 0) { goto CFG_40119; } else { goto CFG_45884; } CFG_40119: assume true; local_#12439 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#31619_b * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12439; goto CFG_45884; CFG_45884: assume true; call local_#12440 := routine_#33738_luaD_precall(local_#4189_L,local_#31480_ra,local_#31620_nresults); goto CFG_49522; CFG_49522: assume true; local_#12441 := local_#12440; if (local_#12441 != 0) { goto CFG_49523; } else { goto CFG_45249; } CFG_45249: assume true; local_#31476_ci := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 32 }]; goto CFG_41662; CFG_49523: assume true; local_#12442 := 0; local_#12443 := (if local_#31620_nresults >= local_#12442 then 1 else 0); if (local_#12443 != 0) { goto CFG_40120; } else { goto CFG_40121; } CFG_40120: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_40121; CFG_40121: assume true; local_#12444 := 0; local_#12445 := 0; assert { :LIR "60498" } { :check "overflow" } { :finding_ids "0" } true; local_#12446 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12446!base, offset : local_#12446!offset + 0 }]; goto CFG_39514; CFG_39514: assume true; goto CFG_45008; CFG_49524: assume true; local_#12447 := 23; local_#12448 := ~lshr32(local_#31479_i, local_#12447); local_#12449 := 511; local_#12450 := ~uand32(local_#12448, local_#12449); local_#12451 := local_#12450; assert { :LIR "60499" } { :check "overflow" } { :finding_ids "0" } local_#12451 <= 2147483647; local_#12452 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12451 * 16 }; local_#31616_rb := local_#12452; local_#12453 := 14; local_#12454 := ~lshr32(local_#31479_i, local_#12453); local_#12455 := 511; local_#12456 := ~uand32(local_#12454, local_#12455); local_#12457 := local_#12456; assert { :LIR "60500" } { :check "overflow" } { :finding_ids "0" } local_#12457 <= 2147483647; if (local_#12457 != 0) { goto CFG_49528; } else { goto CFG_49525; } CFG_49525: assume true; local_#12458 := 0; local_#12459 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12458 then 1 else 0); if (local_#12459 != 0) { goto CFG_49531; } else { goto CFG_49526; } CFG_49526: assume true; local_#12460 := 1; local_#12461 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12460 then 1 else 0); if (local_#12461 != 0) { goto CFG_49527; } else { goto CFG_40124; } CFG_49527: assume true; local_#12462 := { base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 }; local_#12463 := 0; local_#12464 := (if _memory[local_#12462] == local_#12463 then 1 else 0); if (local_#12464 != 0) { goto CFG_49531; } else { goto CFG_40124; } CFG_49528: assume true; local_#12465 := 0; local_#12466 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12465 then 1 else 0); if (local_#12466 != 0) { goto CFG_40124; } else { goto CFG_49529; } CFG_49529: assume true; local_#12467 := 1; local_#12468 := (if _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }] == local_#12467 then 1 else 0); if (local_#12468 != 0) { goto CFG_49530; } else { goto CFG_49531; } CFG_49530: assume true; local_#12469 := { base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 }; local_#12470 := 0; local_#12471 := (if _memory[local_#12469] == local_#12470 then 1 else 0); if (local_#12471 != 0) { goto CFG_40124; } else { goto CFG_49531; } CFG_49531: assume true; local_#31617_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_b == _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_f == _memory_ptr[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_gc == _memory_ptr[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_i == _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_value_!_p == _memory_ptr[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31616_rb)!_tt_ == _memory[{ base : local_#31616_rb!base, offset : local_#31616_rb!offset + 8 }]; call write_type_#101(local_#31617_io1,read_type_#101(_memory, _memory_ptr, local_#31616_rb)); local_#12472 := 0; assert { :LIR "60501" } { :check "overflow" } { :finding_ids "0" } true; local_#12473 := 0; local_#12474 := 0; assert { :LIR "60502" } { :check "overflow" } { :finding_ids "0" } true; local_#12475 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12476 := _memory_ptr[{ base : local_#12475!base, offset : local_#12475!offset + 8 }]; local_#31479_i := _memory[local_#12476]; local_#12477 := 6; local_#12478 := ~lshr32(local_#31479_i, local_#12477); local_#12479 := 255; local_#12480 := ~uand32(local_#12478, local_#12479); local_#12481 := local_#12480; assert { :LIR "60503" } { :check "overflow" } { :finding_ids "0" } local_#12481 <= 2147483647; local_#31618_a := local_#12481; local_#12482 := 0; local_#12483 := (if local_#31618_a != local_#12482 then 1 else 0); if (local_#12483 != 0) { goto CFG_42428; } else { goto CFG_40123; } CFG_42428: assume true; local_#12484 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12485 := { base : _memory_ptr[{ base : local_#12484!base, offset : local_#12484!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12484!base, offset : local_#12484!offset + 0 }]!offset + local_#31618_a * 16 }; local_#12486 := 1; local_#12487 := { base : local_#12485!base, offset : local_#12485!offset - local_#12486 * 16 }; goto CFG_45885; CFG_45885: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12487); goto CFG_40122; CFG_40122: assume true; goto CFG_40123; CFG_40123: assume true; local_#12488 := 14; local_#12489 := ~lshr32(local_#31479_i, local_#12488); local_#12490 := 262143; local_#12491 := ~uand32(local_#12489, local_#12490); local_#12492 := local_#12491; assert { :LIR "60504" } { :check "overflow" } { :finding_ids "0" } local_#12492 <= 2147483647; local_#12493 := 131071; local_#12494 := local_#12492 - local_#12493; assert { :LIR "67939" } { :check "overflow" } { :finding_ids "0" } local_#12494 <= 2147483647; local_#12495 := 1; local_#12496 := local_#12494 + local_#12495; assert { :LIR "66461" } { :check "overflow" } { :finding_ids "0" } local_#12496 <= 2147483647; local_#12497 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12497!base, offset : local_#12497!offset + 8 }] := { base : _memory_ptr[{ base : local_#12497!base, offset : local_#12497!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12497!base, offset : local_#12497!offset + 8 }]!offset + local_#12496 * 4 }; goto CFG_39515; CFG_40124: assume true; local_#12498 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12499 := _memory_ptr[{ base : local_#12498!base, offset : local_#12498!offset + 8 }]; local_#12500 := 1; _memory_ptr[{ base : local_#12498!base, offset : local_#12498!offset + 8 }] := { base : local_#12499!base, offset : local_#12499!offset + local_#12500 * 4 }; local_#12501 := local_#12499; goto CFG_39515; CFG_39515: assume true; goto CFG_45008; CFG_49532: assume true; local_#12502 := 14; local_#12503 := ~lshr32(local_#31479_i, local_#12502); local_#12504 := 511; local_#12505 := ~uand32(local_#12503, local_#12504); local_#12506 := local_#12505; assert { :LIR "60505" } { :check "overflow" } { :finding_ids "0" } local_#12506 <= 2147483647; if (local_#12506 != 0) { goto CFG_49536; } else { goto CFG_49533; } CFG_49533: assume true; local_#12507 := 0; local_#12508 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12507 then 1 else 0); if (local_#12508 != 0) { goto CFG_49539; } else { goto CFG_49534; } CFG_49534: assume true; local_#12509 := 1; local_#12510 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12509 then 1 else 0); if (local_#12510 != 0) { goto CFG_49535; } else { goto CFG_40127; } CFG_49535: assume true; local_#12511 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#12512 := 0; local_#12513 := (if _memory[local_#12511] == local_#12512 then 1 else 0); if (local_#12513 != 0) { goto CFG_49539; } else { goto CFG_40127; } CFG_49536: assume true; local_#12514 := 0; local_#12515 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12514 then 1 else 0); if (local_#12515 != 0) { goto CFG_40127; } else { goto CFG_49537; } CFG_49537: assume true; local_#12516 := 1; local_#12517 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#12516 then 1 else 0); if (local_#12517 != 0) { goto CFG_49538; } else { goto CFG_49539; } CFG_49538: assume true; local_#12518 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#12519 := 0; local_#12520 := (if _memory[local_#12518] == local_#12519 then 1 else 0); if (local_#12520 != 0) { goto CFG_40127; } else { goto CFG_49539; } CFG_49539: assume true; local_#12521 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12522 := _memory_ptr[{ base : local_#12521!base, offset : local_#12521!offset + 8 }]; local_#31479_i := _memory[local_#12522]; local_#12523 := 6; local_#12524 := ~lshr32(local_#31479_i, local_#12523); local_#12525 := 255; local_#12526 := ~uand32(local_#12524, local_#12525); local_#12527 := local_#12526; assert { :LIR "60506" } { :check "overflow" } { :finding_ids "0" } local_#12527 <= 2147483647; local_#31615_a := local_#12527; local_#12528 := 0; local_#12529 := (if local_#31615_a != local_#12528 then 1 else 0); if (local_#12529 != 0) { goto CFG_42429; } else { goto CFG_40126; } CFG_42429: assume true; local_#12530 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12531 := { base : _memory_ptr[{ base : local_#12530!base, offset : local_#12530!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12530!base, offset : local_#12530!offset + 0 }]!offset + local_#31615_a * 16 }; local_#12532 := 1; local_#12533 := { base : local_#12531!base, offset : local_#12531!offset - local_#12532 * 16 }; goto CFG_45886; CFG_45886: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12533); goto CFG_40125; CFG_40125: assume true; goto CFG_40126; CFG_40126: assume true; local_#12534 := 14; local_#12535 := ~lshr32(local_#31479_i, local_#12534); local_#12536 := 262143; local_#12537 := ~uand32(local_#12535, local_#12536); local_#12538 := local_#12537; assert { :LIR "60507" } { :check "overflow" } { :finding_ids "0" } local_#12538 <= 2147483647; local_#12539 := 131071; local_#12540 := local_#12538 - local_#12539; assert { :LIR "67940" } { :check "overflow" } { :finding_ids "0" } local_#12540 <= 2147483647; local_#12541 := 1; local_#12542 := local_#12540 + local_#12541; assert { :LIR "66462" } { :check "overflow" } { :finding_ids "0" } local_#12542 <= 2147483647; local_#12543 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12543!base, offset : local_#12543!offset + 8 }] := { base : _memory_ptr[{ base : local_#12543!base, offset : local_#12543!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12543!base, offset : local_#12543!offset + 8 }]!offset + local_#12542 * 4 }; goto CFG_39516; CFG_40127: assume true; local_#12544 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12545 := _memory_ptr[{ base : local_#12544!base, offset : local_#12544!offset + 8 }]; local_#12546 := 1; _memory_ptr[{ base : local_#12544!base, offset : local_#12544!offset + 8 }] := { base : local_#12545!base, offset : local_#12545!offset + local_#12546 * 4 }; local_#12547 := local_#12545; goto CFG_39516; CFG_39516: assume true; goto CFG_45008; CFG_49540: assume true; local_#12548 := 23; local_#12549 := ~lshr32(local_#31479_i, local_#12548); local_#12550 := 511; local_#12551 := ~uand32(local_#12549, local_#12550); local_#12552 := local_#12551; assert { :LIR "60508" } { :check "overflow" } { :finding_ids "0" } local_#12552 <= 2147483647; local_#12553 := 256; local_#12554 := ~sand32(local_#12552, local_#12553); if (local_#12554 != 0) { goto CFG_40129; } else { goto CFG_40128; } CFG_40128: assume true; local_#12555 := 23; local_#12556 := ~lshr32(local_#31479_i, local_#12555); local_#12557 := 511; local_#12558 := ~uand32(local_#12556, local_#12557); local_#12559 := local_#12558; assert { :LIR "60509" } { :check "overflow" } { :finding_ids "0" } local_#12559 <= 2147483647; local_#12560 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12559 * 16 }; local_#30637 := local_#12560; goto CFG_49541; CFG_40129: assume true; local_#12561 := 23; local_#12562 := ~lshr32(local_#31479_i, local_#12561); local_#12563 := 511; local_#12564 := ~uand32(local_#12562, local_#12563); local_#12565 := local_#12564; assert { :LIR "60510" } { :check "overflow" } { :finding_ids "0" } local_#12565 <= 2147483647; local_#12566 := local_#12565; assert { :LIR "60511" } { :check "overflow" } { :finding_ids "0" } local_#12566 <= 2147483647; local_#12567 := -257; local_#12568 := ~sand32(local_#12566, local_#12567); local_#12569 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12568 * 16 }; local_#30637 := local_#12569; goto CFG_49541; CFG_49541: assume true; local_#12570 := local_#30637; assert { :LIR "62504" } { :check "overflow" } { :finding_ids "0" } true; local_#12571 := 14; local_#12572 := ~lshr32(local_#31479_i, local_#12571); local_#12573 := 511; local_#12574 := ~uand32(local_#12572, local_#12573); local_#12575 := local_#12574; assert { :LIR "60512" } { :check "overflow" } { :finding_ids "0" } local_#12575 <= 2147483647; local_#12576 := 256; local_#12577 := ~sand32(local_#12575, local_#12576); if (local_#12577 != 0) { goto CFG_40131; } else { goto CFG_40130; } CFG_40130: assume true; local_#12578 := 14; local_#12579 := ~lshr32(local_#31479_i, local_#12578); local_#12580 := 511; local_#12581 := ~uand32(local_#12579, local_#12580); local_#12582 := local_#12581; assert { :LIR "60513" } { :check "overflow" } { :finding_ids "0" } local_#12582 <= 2147483647; local_#12583 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12582 * 16 }; local_#30638 := local_#12583; goto CFG_42430; CFG_40131: assume true; local_#12584 := 14; local_#12585 := ~lshr32(local_#31479_i, local_#12584); local_#12586 := 511; local_#12587 := ~uand32(local_#12585, local_#12586); local_#12588 := local_#12587; assert { :LIR "60514" } { :check "overflow" } { :finding_ids "0" } local_#12588 <= 2147483647; local_#12589 := local_#12588; assert { :LIR "60515" } { :check "overflow" } { :finding_ids "0" } local_#12589 <= 2147483647; local_#12590 := -257; local_#12591 := ~sand32(local_#12589, local_#12590); local_#12592 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12591 * 16 }; local_#30638 := local_#12592; goto CFG_42430; CFG_42430: assume true; local_#12593 := local_#30638; assert { :LIR "62505" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45887; CFG_45887: assume true; call local_#12594 := routine_#33898_luaV_lessequal(local_#4189_L,local_#12570,local_#12593); goto CFG_49542; CFG_49542: assume true; local_#12595 := 6; local_#12596 := ~lshr32(local_#31479_i, local_#12595); local_#12597 := 255; local_#12598 := ~uand32(local_#12596, local_#12597); local_#12599 := local_#12598; assert { :LIR "60516" } { :check "overflow" } { :finding_ids "0" } local_#12599 <= 2147483647; local_#12600 := (if local_#12594 != local_#12599 then 1 else 0); if (local_#12600 != 0) { goto CFG_40134; } else { goto CFG_49543; } CFG_49543: assume true; local_#12601 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12602 := _memory_ptr[{ base : local_#12601!base, offset : local_#12601!offset + 8 }]; local_#31479_i := _memory[local_#12602]; local_#12603 := 6; local_#12604 := ~lshr32(local_#31479_i, local_#12603); local_#12605 := 255; local_#12606 := ~uand32(local_#12604, local_#12605); local_#12607 := local_#12606; assert { :LIR "60517" } { :check "overflow" } { :finding_ids "0" } local_#12607 <= 2147483647; local_#31614_a := local_#12607; local_#12608 := 0; local_#12609 := (if local_#31614_a != local_#12608 then 1 else 0); if (local_#12609 != 0) { goto CFG_42431; } else { goto CFG_40133; } CFG_42431: assume true; local_#12610 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12611 := { base : _memory_ptr[{ base : local_#12610!base, offset : local_#12610!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12610!base, offset : local_#12610!offset + 0 }]!offset + local_#31614_a * 16 }; local_#12612 := 1; local_#12613 := { base : local_#12611!base, offset : local_#12611!offset - local_#12612 * 16 }; goto CFG_45888; CFG_45888: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12613); goto CFG_40132; CFG_40132: assume true; goto CFG_40133; CFG_40133: assume true; local_#12614 := 14; local_#12615 := ~lshr32(local_#31479_i, local_#12614); local_#12616 := 262143; local_#12617 := ~uand32(local_#12615, local_#12616); local_#12618 := local_#12617; assert { :LIR "60518" } { :check "overflow" } { :finding_ids "0" } local_#12618 <= 2147483647; local_#12619 := 131071; local_#12620 := local_#12618 - local_#12619; assert { :LIR "67941" } { :check "overflow" } { :finding_ids "0" } local_#12620 <= 2147483647; local_#12621 := 1; local_#12622 := local_#12620 + local_#12621; assert { :LIR "66463" } { :check "overflow" } { :finding_ids "0" } local_#12622 <= 2147483647; local_#12623 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12623!base, offset : local_#12623!offset + 8 }] := { base : _memory_ptr[{ base : local_#12623!base, offset : local_#12623!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12623!base, offset : local_#12623!offset + 8 }]!offset + local_#12622 * 4 }; goto CFG_39517; CFG_40134: assume true; local_#12624 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12625 := _memory_ptr[{ base : local_#12624!base, offset : local_#12624!offset + 8 }]; local_#12626 := 1; _memory_ptr[{ base : local_#12624!base, offset : local_#12624!offset + 8 }] := { base : local_#12625!base, offset : local_#12625!offset + local_#12626 * 4 }; local_#12627 := local_#12625; goto CFG_39517; CFG_39517: assume true; local_#12628 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12628!base, offset : local_#12628!offset + 0 }]; goto CFG_45008; CFG_49544: assume true; local_#12629 := 23; local_#12630 := ~lshr32(local_#31479_i, local_#12629); local_#12631 := 511; local_#12632 := ~uand32(local_#12630, local_#12631); local_#12633 := local_#12632; assert { :LIR "60519" } { :check "overflow" } { :finding_ids "0" } local_#12633 <= 2147483647; local_#12634 := 256; local_#12635 := ~sand32(local_#12633, local_#12634); if (local_#12635 != 0) { goto CFG_40136; } else { goto CFG_40135; } CFG_40135: assume true; local_#12636 := 23; local_#12637 := ~lshr32(local_#31479_i, local_#12636); local_#12638 := 511; local_#12639 := ~uand32(local_#12637, local_#12638); local_#12640 := local_#12639; assert { :LIR "60520" } { :check "overflow" } { :finding_ids "0" } local_#12640 <= 2147483647; local_#12641 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12640 * 16 }; local_#30639 := local_#12641; goto CFG_49545; CFG_40136: assume true; local_#12642 := 23; local_#12643 := ~lshr32(local_#31479_i, local_#12642); local_#12644 := 511; local_#12645 := ~uand32(local_#12643, local_#12644); local_#12646 := local_#12645; assert { :LIR "60521" } { :check "overflow" } { :finding_ids "0" } local_#12646 <= 2147483647; local_#12647 := local_#12646; assert { :LIR "60522" } { :check "overflow" } { :finding_ids "0" } local_#12647 <= 2147483647; local_#12648 := -257; local_#12649 := ~sand32(local_#12647, local_#12648); local_#12650 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12649 * 16 }; local_#30639 := local_#12650; goto CFG_49545; CFG_49545: assume true; local_#12651 := local_#30639; assert { :LIR "62506" } { :check "overflow" } { :finding_ids "0" } true; local_#12652 := 14; local_#12653 := ~lshr32(local_#31479_i, local_#12652); local_#12654 := 511; local_#12655 := ~uand32(local_#12653, local_#12654); local_#12656 := local_#12655; assert { :LIR "60523" } { :check "overflow" } { :finding_ids "0" } local_#12656 <= 2147483647; local_#12657 := 256; local_#12658 := ~sand32(local_#12656, local_#12657); if (local_#12658 != 0) { goto CFG_40138; } else { goto CFG_40137; } CFG_40137: assume true; local_#12659 := 14; local_#12660 := ~lshr32(local_#31479_i, local_#12659); local_#12661 := 511; local_#12662 := ~uand32(local_#12660, local_#12661); local_#12663 := local_#12662; assert { :LIR "60524" } { :check "overflow" } { :finding_ids "0" } local_#12663 <= 2147483647; local_#12664 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12663 * 16 }; local_#30640 := local_#12664; goto CFG_42432; CFG_40138: assume true; local_#12665 := 14; local_#12666 := ~lshr32(local_#31479_i, local_#12665); local_#12667 := 511; local_#12668 := ~uand32(local_#12666, local_#12667); local_#12669 := local_#12668; assert { :LIR "60525" } { :check "overflow" } { :finding_ids "0" } local_#12669 <= 2147483647; local_#12670 := local_#12669; assert { :LIR "60526" } { :check "overflow" } { :finding_ids "0" } local_#12670 <= 2147483647; local_#12671 := -257; local_#12672 := ~sand32(local_#12670, local_#12671); local_#12673 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12672 * 16 }; local_#30640 := local_#12673; goto CFG_42432; CFG_42432: assume true; local_#12674 := local_#30640; assert { :LIR "62507" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45889; CFG_45889: assume true; call local_#12675 := routine_#33899_luaV_lessthan(local_#4189_L,local_#12651,local_#12674); goto CFG_49546; CFG_49546: assume true; local_#12676 := 6; local_#12677 := ~lshr32(local_#31479_i, local_#12676); local_#12678 := 255; local_#12679 := ~uand32(local_#12677, local_#12678); local_#12680 := local_#12679; assert { :LIR "60527" } { :check "overflow" } { :finding_ids "0" } local_#12680 <= 2147483647; local_#12681 := (if local_#12675 != local_#12680 then 1 else 0); if (local_#12681 != 0) { goto CFG_40141; } else { goto CFG_49547; } CFG_49547: assume true; local_#12682 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12683 := _memory_ptr[{ base : local_#12682!base, offset : local_#12682!offset + 8 }]; local_#31479_i := _memory[local_#12683]; local_#12684 := 6; local_#12685 := ~lshr32(local_#31479_i, local_#12684); local_#12686 := 255; local_#12687 := ~uand32(local_#12685, local_#12686); local_#12688 := local_#12687; assert { :LIR "60528" } { :check "overflow" } { :finding_ids "0" } local_#12688 <= 2147483647; local_#31613_a := local_#12688; local_#12689 := 0; local_#12690 := (if local_#31613_a != local_#12689 then 1 else 0); if (local_#12690 != 0) { goto CFG_42433; } else { goto CFG_40140; } CFG_42433: assume true; local_#12691 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12692 := { base : _memory_ptr[{ base : local_#12691!base, offset : local_#12691!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12691!base, offset : local_#12691!offset + 0 }]!offset + local_#31613_a * 16 }; local_#12693 := 1; local_#12694 := { base : local_#12692!base, offset : local_#12692!offset - local_#12693 * 16 }; goto CFG_45890; CFG_45890: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12694); goto CFG_40139; CFG_40139: assume true; goto CFG_40140; CFG_40140: assume true; local_#12695 := 14; local_#12696 := ~lshr32(local_#31479_i, local_#12695); local_#12697 := 262143; local_#12698 := ~uand32(local_#12696, local_#12697); local_#12699 := local_#12698; assert { :LIR "60529" } { :check "overflow" } { :finding_ids "0" } local_#12699 <= 2147483647; local_#12700 := 131071; local_#12701 := local_#12699 - local_#12700; assert { :LIR "67942" } { :check "overflow" } { :finding_ids "0" } local_#12701 <= 2147483647; local_#12702 := 1; local_#12703 := local_#12701 + local_#12702; assert { :LIR "66464" } { :check "overflow" } { :finding_ids "0" } local_#12703 <= 2147483647; local_#12704 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12704!base, offset : local_#12704!offset + 8 }] := { base : _memory_ptr[{ base : local_#12704!base, offset : local_#12704!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12704!base, offset : local_#12704!offset + 8 }]!offset + local_#12703 * 4 }; goto CFG_39518; CFG_40141: assume true; local_#12705 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12706 := _memory_ptr[{ base : local_#12705!base, offset : local_#12705!offset + 8 }]; local_#12707 := 1; _memory_ptr[{ base : local_#12705!base, offset : local_#12705!offset + 8 }] := { base : local_#12706!base, offset : local_#12706!offset + local_#12707 * 4 }; local_#12708 := local_#12706; goto CFG_39518; CFG_39518: assume true; local_#12709 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12709!base, offset : local_#12709!offset + 0 }]; goto CFG_45008; CFG_49548: assume true; local_#12710 := 23; local_#12711 := ~lshr32(local_#31479_i, local_#12710); local_#12712 := 511; local_#12713 := ~uand32(local_#12711, local_#12712); local_#12714 := local_#12713; assert { :LIR "60530" } { :check "overflow" } { :finding_ids "0" } local_#12714 <= 2147483647; local_#12715 := 256; local_#12716 := ~sand32(local_#12714, local_#12715); if (local_#12716 != 0) { goto CFG_40143; } else { goto CFG_40142; } CFG_40142: assume true; local_#12717 := 23; local_#12718 := ~lshr32(local_#31479_i, local_#12717); local_#12719 := 511; local_#12720 := ~uand32(local_#12718, local_#12719); local_#12721 := local_#12720; assert { :LIR "60531" } { :check "overflow" } { :finding_ids "0" } local_#12721 <= 2147483647; local_#12722 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12721 * 16 }; local_#30641 := local_#12722; goto CFG_49549; CFG_40143: assume true; local_#12723 := 23; local_#12724 := ~lshr32(local_#31479_i, local_#12723); local_#12725 := 511; local_#12726 := ~uand32(local_#12724, local_#12725); local_#12727 := local_#12726; assert { :LIR "60532" } { :check "overflow" } { :finding_ids "0" } local_#12727 <= 2147483647; local_#12728 := local_#12727; assert { :LIR "60533" } { :check "overflow" } { :finding_ids "0" } local_#12728 <= 2147483647; local_#12729 := -257; local_#12730 := ~sand32(local_#12728, local_#12729); local_#12731 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12730 * 16 }; local_#30641 := local_#12731; goto CFG_49549; CFG_49549: assume true; local_#31610_rb := local_#30641; local_#12732 := 14; local_#12733 := ~lshr32(local_#31479_i, local_#12732); local_#12734 := 511; local_#12735 := ~uand32(local_#12733, local_#12734); local_#12736 := local_#12735; assert { :LIR "60534" } { :check "overflow" } { :finding_ids "0" } local_#12736 <= 2147483647; local_#12737 := 256; local_#12738 := ~sand32(local_#12736, local_#12737); if (local_#12738 != 0) { goto CFG_40145; } else { goto CFG_40144; } CFG_40144: assume true; local_#12739 := 14; local_#12740 := ~lshr32(local_#31479_i, local_#12739); local_#12741 := 511; local_#12742 := ~uand32(local_#12740, local_#12741); local_#12743 := local_#12742; assert { :LIR "60535" } { :check "overflow" } { :finding_ids "0" } local_#12743 <= 2147483647; local_#12744 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12743 * 16 }; local_#30642 := local_#12744; goto CFG_42434; CFG_40145: assume true; local_#12745 := 14; local_#12746 := ~lshr32(local_#31479_i, local_#12745); local_#12747 := 511; local_#12748 := ~uand32(local_#12746, local_#12747); local_#12749 := local_#12748; assert { :LIR "60536" } { :check "overflow" } { :finding_ids "0" } local_#12749 <= 2147483647; local_#12750 := local_#12749; assert { :LIR "60537" } { :check "overflow" } { :finding_ids "0" } local_#12750 <= 2147483647; local_#12751 := -257; local_#12752 := ~sand32(local_#12750, local_#12751); local_#12753 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12752 * 16 }; local_#30642 := local_#12753; goto CFG_42434; CFG_42434: assume true; local_#31611_rc := local_#30642; local_#12754 := local_#31610_rb; assert { :LIR "62508" } { :check "overflow" } { :finding_ids "0" } true; local_#12755 := local_#31611_rc; assert { :LIR "62509" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45891; CFG_45891: assume true; call local_#12756 := routine_#33893_luaV_equalobj(local_#4189_L,local_#12754,local_#12755); goto CFG_49550; CFG_49550: assume true; local_#12757 := 6; local_#12758 := ~lshr32(local_#31479_i, local_#12757); local_#12759 := 255; local_#12760 := ~uand32(local_#12758, local_#12759); local_#12761 := local_#12760; assert { :LIR "60538" } { :check "overflow" } { :finding_ids "0" } local_#12761 <= 2147483647; local_#12762 := (if local_#12756 != local_#12761 then 1 else 0); if (local_#12762 != 0) { goto CFG_40148; } else { goto CFG_49551; } CFG_49551: assume true; local_#12763 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12764 := _memory_ptr[{ base : local_#12763!base, offset : local_#12763!offset + 8 }]; local_#31479_i := _memory[local_#12764]; local_#12765 := 6; local_#12766 := ~lshr32(local_#31479_i, local_#12765); local_#12767 := 255; local_#12768 := ~uand32(local_#12766, local_#12767); local_#12769 := local_#12768; assert { :LIR "60539" } { :check "overflow" } { :finding_ids "0" } local_#12769 <= 2147483647; local_#31612_a := local_#12769; local_#12770 := 0; local_#12771 := (if local_#31612_a != local_#12770 then 1 else 0); if (local_#12771 != 0) { goto CFG_42435; } else { goto CFG_40147; } CFG_42435: assume true; local_#12772 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12773 := { base : _memory_ptr[{ base : local_#12772!base, offset : local_#12772!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12772!base, offset : local_#12772!offset + 0 }]!offset + local_#31612_a * 16 }; local_#12774 := 1; local_#12775 := { base : local_#12773!base, offset : local_#12773!offset - local_#12774 * 16 }; goto CFG_45892; CFG_45892: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12775); goto CFG_40146; CFG_40146: assume true; goto CFG_40147; CFG_40147: assume true; local_#12776 := 14; local_#12777 := ~lshr32(local_#31479_i, local_#12776); local_#12778 := 262143; local_#12779 := ~uand32(local_#12777, local_#12778); local_#12780 := local_#12779; assert { :LIR "60540" } { :check "overflow" } { :finding_ids "0" } local_#12780 <= 2147483647; local_#12781 := 131071; local_#12782 := local_#12780 - local_#12781; assert { :LIR "67943" } { :check "overflow" } { :finding_ids "0" } local_#12782 <= 2147483647; local_#12783 := 1; local_#12784 := local_#12782 + local_#12783; assert { :LIR "66465" } { :check "overflow" } { :finding_ids "0" } local_#12784 <= 2147483647; local_#12785 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12785!base, offset : local_#12785!offset + 8 }] := { base : _memory_ptr[{ base : local_#12785!base, offset : local_#12785!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12785!base, offset : local_#12785!offset + 8 }]!offset + local_#12784 * 4 }; goto CFG_39519; CFG_40148: assume true; local_#12786 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12787 := _memory_ptr[{ base : local_#12786!base, offset : local_#12786!offset + 8 }]; local_#12788 := 1; _memory_ptr[{ base : local_#12786!base, offset : local_#12786!offset + 8 }] := { base : local_#12787!base, offset : local_#12787!offset + local_#12788 * 4 }; local_#12789 := local_#12787; goto CFG_39519; CFG_39519: assume true; local_#12790 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12790!base, offset : local_#12790!offset + 0 }]; goto CFG_45008; CFG_49552: assume true; local_#12791 := 6; local_#12792 := ~lshr32(local_#31479_i, local_#12791); local_#12793 := 255; local_#12794 := ~uand32(local_#12792, local_#12793); local_#12795 := local_#12794; assert { :LIR "60541" } { :check "overflow" } { :finding_ids "0" } local_#12795 <= 2147483647; local_#31609_a := local_#12795; local_#12796 := 0; local_#12797 := (if local_#31609_a != local_#12796 then 1 else 0); if (local_#12797 != 0) { goto CFG_42436; } else { goto CFG_39520; } CFG_42436: assume true; local_#12798 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#12799 := { base : _memory_ptr[{ base : local_#12798!base, offset : local_#12798!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#12798!base, offset : local_#12798!offset + 0 }]!offset + local_#31609_a * 16 }; local_#12800 := 1; local_#12801 := { base : local_#12799!base, offset : local_#12799!offset - local_#12800 * 16 }; goto CFG_45893; CFG_45893: assume true; call routine_#33749_luaF_close(local_#4189_L,local_#12801); goto CFG_40149; CFG_40149: assume true; goto CFG_39520; CFG_39520: assume true; local_#12802 := 14; local_#12803 := ~lshr32(local_#31479_i, local_#12802); local_#12804 := 262143; local_#12805 := ~uand32(local_#12803, local_#12804); local_#12806 := local_#12805; assert { :LIR "60542" } { :check "overflow" } { :finding_ids "0" } local_#12806 <= 2147483647; local_#12807 := 131071; local_#12808 := local_#12806 - local_#12807; assert { :LIR "67944" } { :check "overflow" } { :finding_ids "0" } local_#12808 <= 2147483647; local_#12809 := 0; local_#12810 := local_#12808 + local_#12809; assert { :LIR "66466" } { :check "overflow" } { :finding_ids "0" } local_#12810 <= 2147483647; local_#12811 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; _memory_ptr[{ base : local_#12811!base, offset : local_#12811!offset + 8 }] := { base : _memory_ptr[{ base : local_#12811!base, offset : local_#12811!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#12811!base, offset : local_#12811!offset + 8 }]!offset + local_#12810 * 4 }; goto CFG_45008; CFG_42437: assume true; local_#12812 := 23; local_#12813 := ~lshr32(local_#31479_i, local_#12812); local_#12814 := 511; local_#12815 := ~uand32(local_#12813, local_#12814); local_#12816 := local_#12815; assert { :LIR "60543" } { :check "overflow" } { :finding_ids "0" } local_#12816 <= 2147483647; local_#31605_b := local_#12816; local_#12817 := 14; local_#12818 := ~lshr32(local_#31479_i, local_#12817); local_#12819 := 511; local_#12820 := ~uand32(local_#12818, local_#12819); local_#12821 := local_#12820; assert { :LIR "60544" } { :check "overflow" } { :finding_ids "0" } local_#12821 <= 2147483647; local_#31606_c := local_#12821; local_#12822 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#31606_c * 16 }; local_#12823 := 1; local_#12824 := { base : local_#12822!base, offset : local_#12822!offset + local_#12823 * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#12824; local_#12825 := local_#31606_c - local_#31605_b; assert { :LIR "67945" } { :check "overflow" } { :finding_ids "0" } local_#12825 <= 2147483647; local_#12826 := 1; local_#12827 := local_#12825 + local_#12826; assert { :LIR "66467" } { :check "overflow" } { :finding_ids "0" } local_#12827 <= 2147483647; goto CFG_45894; CFG_45894: assume true; call routine_#33891_luaV_concat(local_#4189_L,local_#12827); goto CFG_49553; CFG_49553: assume true; local_#12828 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12828!base, offset : local_#12828!offset + 0 }]; local_#12829 := 6; local_#12830 := ~lshr32(local_#31479_i, local_#12829); local_#12831 := 255; local_#12832 := ~uand32(local_#12830, local_#12831); local_#12833 := local_#12832; assert { :LIR "60545" } { :check "overflow" } { :finding_ids "0" } local_#12833 <= 2147483647; local_#12834 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12833 * 16 }; local_#31480_ra := local_#12834; local_#12835 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#31605_b * 16 }; local_#31607_rb := local_#12835; local_#31608_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_b == _memory[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_f == _memory_ptr[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_gc == _memory_ptr[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_i == _memory[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_value_!_p == _memory_ptr[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31607_rb)!_tt_ == _memory[{ base : local_#31607_rb!base, offset : local_#31607_rb!offset + 8 }]; call write_type_#101(local_#31608_io1,read_type_#101(_memory, _memory_ptr, local_#31607_rb)); local_#12836 := 0; assert { :LIR "60546" } { :check "overflow" } { :finding_ids "0" } true; local_#12837 := 0; local_#12838 := 0; assert { :LIR "60547" } { :check "overflow" } { :finding_ids "0" } true; local_#12839 := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 24 }]; local_#12840 := 0; local_#12841 := (if _memory[{ base : local_#12839!base, offset : local_#12839!offset + 24 }] > local_#12840 then 1 else 0); if (local_#12841 != 0) { goto CFG_49554; } else { goto CFG_39521; } CFG_49554: assume true; local_#12842 := (if local_#31480_ra!offset >= local_#31607_rb!offset then 1 else 0); if (local_#12842 != 0) { goto CFG_40151; } else { goto CFG_40150; } CFG_40150: assume true; local_#30643 := local_#31607_rb; goto CFG_42438; CFG_40151: assume true; local_#12843 := 1; local_#12844 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#12843 * 16 }; local_#30643 := local_#12844; goto CFG_42438; CFG_42438: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#30643; goto CFG_45895; CFG_45895: assume true; call routine_#33728_luaC_step(local_#4189_L); goto CFG_40152; CFG_40152: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; local_#12845 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12845!base, offset : local_#12845!offset + 0 }]; goto CFG_39521; CFG_39521: assume true; local_#12846 := 0; local_#12847 := 0; assert { :LIR "60548" } { :check "overflow" } { :finding_ids "0" } true; local_#12848 := 0; local_#12849 := 0; assert { :LIR "60549" } { :check "overflow" } { :finding_ids "0" } true; local_#12850 := 0; local_#12851 := 0; assert { :LIR "60550" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; goto CFG_45008; CFG_42439: assume true; local_#12852 := 23; local_#12853 := ~lshr32(local_#31479_i, local_#12852); local_#12854 := 511; local_#12855 := ~uand32(local_#12853, local_#12854); local_#12856 := local_#12855; assert { :LIR "60551" } { :check "overflow" } { :finding_ids "0" } local_#12856 <= 2147483647; local_#12857 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12856 * 16 }; local_#12858 := local_#12857; assert { :LIR "62510" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45896; CFG_45896: assume true; call routine_#33901_luaV_objlen(local_#4189_L,local_#31480_ra,local_#12858); goto CFG_39522; CFG_39522: assume true; local_#12859 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12859!base, offset : local_#12859!offset + 0 }]; goto CFG_45008; CFG_49555: assume true; local_#12860 := 23; local_#12861 := ~lshr32(local_#31479_i, local_#12860); local_#12862 := 511; local_#12863 := ~uand32(local_#12861, local_#12862); local_#12864 := local_#12863; assert { :LIR "60552" } { :check "overflow" } { :finding_ids "0" } local_#12864 <= 2147483647; local_#12865 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12864 * 16 }; local_#31602_rb := local_#12865; local_#12866 := 0; local_#12867 := (if _memory[{ base : local_#31602_rb!base, offset : local_#31602_rb!offset + 8 }] == local_#12866 then 1 else 0); if (local_#12867 != 0) { goto CFG_40154; } else { goto CFG_49556; } CFG_49556: assume true; local_#12868 := 1; local_#12869 := (if _memory[{ base : local_#31602_rb!base, offset : local_#31602_rb!offset + 8 }] == local_#12868 then 1 else 0); if (local_#12869 != 0) { goto CFG_49557; } else { goto CFG_40153; } CFG_49557: assume true; local_#12870 := { base : local_#31602_rb!base, offset : local_#31602_rb!offset + 0 }; local_#12871 := 0; local_#12872 := (if _memory[local_#12870] == local_#12871 then 1 else 0); if (local_#12872 != 0) { goto CFG_40154; } else { goto CFG_40153; } CFG_40153: assume true; local_#30644 := 0; goto CFG_39523; CFG_40154: assume true; local_#30644 := 1; goto CFG_39523; CFG_39523: assume true; local_#31603_res := local_#30644; local_#31604_io := local_#31480_ra; local_#12873 := { base : local_#31604_io!base, offset : local_#31604_io!offset + 0 }; _memory[local_#12873] := local_#31603_res; _memory[{ base : local_#31604_io!base, offset : local_#31604_io!offset + 8 }] := 1; goto CFG_45008; CFG_49558: assume true; local_#12874 := 23; local_#12875 := ~lshr32(local_#31479_i, local_#12874); local_#12876 := 511; local_#12877 := ~uand32(local_#12875, local_#12876); local_#12878 := local_#12877; assert { :LIR "60553" } { :check "overflow" } { :finding_ids "0" } local_#12878 <= 2147483647; local_#12879 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12878 * 16 }; local_#31600_rb := local_#12879; local_#12880 := 19; local_#12881 := (if _memory[{ base : local_#31600_rb!base, offset : local_#31600_rb!offset + 8 }] == local_#12880 then 1 else 0); if (local_#12881 != 0) { goto CFG_49560; } else { goto CFG_42440; } CFG_42440: assume true; local_#12882 := local_#31600_rb; assert { :LIR "62511" } { :check "overflow" } { :finding_ids "0" } true; local_#12883 := local_#31599_ib; local_#12884 := 0; goto CFG_45897; CFG_45897: assume true; call local_#12885 := routine_#33903_luaV_tointeger(local_#12882,local_#12883,local_#12884); goto CFG_49559; CFG_49559: assume true; local_#12886 := local_#12885; if (local_#12886 != 0) { goto CFG_40156; } else { goto CFG_42441; } CFG_49560: assume true; local_#12887 := { base : local_#31600_rb!base, offset : local_#31600_rb!offset + 0 }; _memory[local_#31599_ib] := _memory[local_#12887]; local_#12888 := _memory[local_#31599_ib]; local_#12889 := 1; if (local_#12889 != 0) { goto CFG_40156; } else { goto CFG_42441; } CFG_42441: assume true; local_#12890 := local_#31600_rb; assert { :LIR "62512" } { :check "overflow" } { :finding_ids "0" } true; local_#12891 := local_#31600_rb; assert { :LIR "62513" } { :check "overflow" } { :finding_ids "0" } true; local_#12892 := 19; goto CFG_45898; CFG_45898: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#12890,local_#12891,local_#31480_ra,local_#12892); goto CFG_40155; CFG_40155: assume true; local_#12893 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12893!base, offset : local_#12893!offset + 0 }]; goto CFG_39524; CFG_40156: assume true; local_#31601_io := local_#31480_ra; local_#12894 := 18446744073709551615; local_#12895 := ~uwrap64(_memory[local_#31599_ib]); assert { :LIR "60554" } { :check "overflow" } { :finding_ids "0" } true; local_#12896 := ~uxor64(local_#12894, local_#12895); local_#12897 := local_#12896; assert { :LIR "60555" } { :check "overflow" } { :finding_ids "0" } local_#12897 <= 9223372036854775807; local_#12898 := { base : local_#31601_io!base, offset : local_#31601_io!offset + 0 }; _memory[local_#12898] := local_#12897; _memory[{ base : local_#31601_io!base, offset : local_#31601_io!offset + 8 }] := 19; goto CFG_39524; CFG_39524: assume true; goto CFG_45008; CFG_49561: assume true; local_#12899 := 23; local_#12900 := ~lshr32(local_#31479_i, local_#12899); local_#12901 := 511; local_#12902 := ~uand32(local_#12900, local_#12901); local_#12903 := local_#12902; assert { :LIR "60556" } { :check "overflow" } { :finding_ids "0" } local_#12903 <= 2147483647; local_#12904 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12903 * 16 }; local_#31595_rb := local_#12904; local_#12905 := 19; local_#12906 := (if _memory[{ base : local_#31595_rb!base, offset : local_#31595_rb!offset + 8 }] == local_#12905 then 1 else 0); if (local_#12906 != 0) { goto CFG_40160; } else { goto CFG_49562; } CFG_49562: assume true; local_#12907 := 3; local_#12908 := (if _memory[{ base : local_#31595_rb!base, offset : local_#31595_rb!offset + 8 }] == local_#12907 then 1 else 0); if (local_#12908 != 0) { goto CFG_49564; } else { goto CFG_42442; } CFG_42442: assume true; local_#12909 := local_#31595_rb; assert { :LIR "62514" } { :check "overflow" } { :finding_ids "0" } true; local_#12910 := local_#31594_nb; goto CFG_45899; CFG_45899: assume true; call local_#12911 := routine_#33904_luaV_tonumber_(local_#12909,local_#12910); goto CFG_49563; CFG_49563: assume true; local_#12912 := local_#12911; if (local_#12912 != 0) { goto CFG_40158; } else { goto CFG_42443; } CFG_49564: assume true; local_#12913 := { base : local_#31595_rb!base, offset : local_#31595_rb!offset + 0 }; havoc nondet_#19; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#20; local_#12914 := nondet_#20 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12915 := 1; if (local_#12915 != 0) { goto CFG_40158; } else { goto CFG_42443; } CFG_42443: assume true; local_#12916 := local_#31595_rb; assert { :LIR "62515" } { :check "overflow" } { :finding_ids "0" } true; local_#12917 := local_#31595_rb; assert { :LIR "62516" } { :check "overflow" } { :finding_ids "0" } true; local_#12918 := 18; goto CFG_45900; CFG_45900: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#12916,local_#12917,local_#31480_ra,local_#12918); goto CFG_40157; CFG_40157: assume true; local_#12919 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12919!base, offset : local_#12919!offset + 0 }]; goto CFG_40159; CFG_40158: assume true; local_#31598_io := local_#31480_ra; havoc nondet_#21; havoc nondet_#22; local_#12920 := nondet_#22 /* IR2BOOGIE-ERROR: Unsupported type for unary - in 64651. */; assert { :LIR "64651" } { :check "overflow" } { :finding_ids "0" } true; local_#12921 := { base : local_#31598_io!base, offset : local_#31598_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31598_io!base, offset : local_#31598_io!offset + 8 }] := 3; goto CFG_40159; CFG_40159: assume true; goto CFG_39525; CFG_40160: assume true; local_#12922 := { base : local_#31595_rb!base, offset : local_#31595_rb!offset + 0 }; local_#31596_ib := _memory[local_#12922]; local_#31597_io := local_#31480_ra; local_#12923 := 0; local_#12924 := ~uwrap64(local_#31596_ib); assert { :LIR "60557" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#12925 := ~uwrap64(local_#12923 - local_#12924); assert { :LIR "67946" } { :check "overflow" } { :finding_ids "0" } true; local_#12926 := local_#12925; assert { :LIR "60558" } { :check "overflow" } { :finding_ids "0" } local_#12926 <= 9223372036854775807; local_#12927 := { base : local_#31597_io!base, offset : local_#31597_io!offset + 0 }; _memory[local_#12927] := local_#12926; _memory[{ base : local_#31597_io!base, offset : local_#31597_io!offset + 8 }] := 19; goto CFG_39525; CFG_39525: assume true; goto CFG_45008; CFG_49565: assume true; local_#12928 := 23; local_#12929 := ~lshr32(local_#31479_i, local_#12928); local_#12930 := 511; local_#12931 := ~uand32(local_#12929, local_#12930); local_#12932 := local_#12931; assert { :LIR "60559" } { :check "overflow" } { :finding_ids "0" } local_#12932 <= 2147483647; local_#12933 := 256; local_#12934 := ~sand32(local_#12932, local_#12933); if (local_#12934 != 0) { goto CFG_40162; } else { goto CFG_40161; } CFG_40161: assume true; local_#12935 := 23; local_#12936 := ~lshr32(local_#31479_i, local_#12935); local_#12937 := 511; local_#12938 := ~uand32(local_#12936, local_#12937); local_#12939 := local_#12938; assert { :LIR "60560" } { :check "overflow" } { :finding_ids "0" } local_#12939 <= 2147483647; local_#12940 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12939 * 16 }; local_#30645 := local_#12940; goto CFG_49566; CFG_40162: assume true; local_#12941 := 23; local_#12942 := ~lshr32(local_#31479_i, local_#12941); local_#12943 := 511; local_#12944 := ~uand32(local_#12942, local_#12943); local_#12945 := local_#12944; assert { :LIR "60561" } { :check "overflow" } { :finding_ids "0" } local_#12945 <= 2147483647; local_#12946 := local_#12945; assert { :LIR "60562" } { :check "overflow" } { :finding_ids "0" } local_#12946 <= 2147483647; local_#12947 := -257; local_#12948 := ~sand32(local_#12946, local_#12947); local_#12949 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12948 * 16 }; local_#30645 := local_#12949; goto CFG_49566; CFG_49566: assume true; local_#31591_rb := local_#30645; local_#12950 := 14; local_#12951 := ~lshr32(local_#31479_i, local_#12950); local_#12952 := 511; local_#12953 := ~uand32(local_#12951, local_#12952); local_#12954 := local_#12953; assert { :LIR "60563" } { :check "overflow" } { :finding_ids "0" } local_#12954 <= 2147483647; local_#12955 := 256; local_#12956 := ~sand32(local_#12954, local_#12955); if (local_#12956 != 0) { goto CFG_40164; } else { goto CFG_40163; } CFG_40163: assume true; local_#12957 := 14; local_#12958 := ~lshr32(local_#31479_i, local_#12957); local_#12959 := 511; local_#12960 := ~uand32(local_#12958, local_#12959); local_#12961 := local_#12960; assert { :LIR "60564" } { :check "overflow" } { :finding_ids "0" } local_#12961 <= 2147483647; local_#12962 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#12961 * 16 }; local_#30646 := local_#12962; goto CFG_49567; CFG_40164: assume true; local_#12963 := 14; local_#12964 := ~lshr32(local_#31479_i, local_#12963); local_#12965 := 511; local_#12966 := ~uand32(local_#12964, local_#12965); local_#12967 := local_#12966; assert { :LIR "60565" } { :check "overflow" } { :finding_ids "0" } local_#12967 <= 2147483647; local_#12968 := local_#12967; assert { :LIR "60566" } { :check "overflow" } { :finding_ids "0" } local_#12968 <= 2147483647; local_#12969 := -257; local_#12970 := ~sand32(local_#12968, local_#12969); local_#12971 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#12970 * 16 }; local_#30646 := local_#12971; goto CFG_49567; CFG_49567: assume true; local_#31592_rc := local_#30646; local_#12972 := 3; local_#12973 := (if _memory[{ base : local_#31591_rb!base, offset : local_#31591_rb!offset + 8 }] == local_#12972 then 1 else 0); if (local_#12973 != 0) { goto CFG_49569; } else { goto CFG_42444; } CFG_42444: assume true; local_#12974 := local_#31591_rb; assert { :LIR "62517" } { :check "overflow" } { :finding_ids "0" } true; local_#12975 := local_#31589_nb; goto CFG_45901; CFG_45901: assume true; call local_#12976 := routine_#33904_luaV_tonumber_(local_#12974,local_#12975); goto CFG_49568; CFG_49568: assume true; local_#12977 := local_#12976; if (local_#12977 != 0) { goto CFG_49570; } else { goto CFG_42446; } CFG_49569: assume true; local_#12978 := { base : local_#31591_rb!base, offset : local_#31591_rb!offset + 0 }; havoc nondet_#23; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#24; local_#12979 := nondet_#24 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12980 := 1; if (local_#12980 != 0) { goto CFG_49570; } else { goto CFG_42446; } CFG_49570: assume true; local_#12981 := 3; local_#12982 := (if _memory[{ base : local_#31592_rc!base, offset : local_#31592_rc!offset + 8 }] == local_#12981 then 1 else 0); if (local_#12982 != 0) { goto CFG_49572; } else { goto CFG_42445; } CFG_42445: assume true; local_#12983 := local_#31592_rc; assert { :LIR "62518" } { :check "overflow" } { :finding_ids "0" } true; local_#12984 := local_#31590_nc; goto CFG_45902; CFG_45902: assume true; call local_#12985 := routine_#33904_luaV_tonumber_(local_#12983,local_#12984); goto CFG_49571; CFG_49571: assume true; local_#12986 := local_#12985; if (local_#12986 != 0) { goto CFG_42447; } else { goto CFG_42446; } CFG_49572: assume true; local_#12987 := { base : local_#31592_rc!base, offset : local_#31592_rc!offset + 0 }; havoc nondet_#25; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#26; local_#12988 := nondet_#26 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#12989 := 1; if (local_#12989 != 0) { goto CFG_42447; } else { goto CFG_42446; } CFG_42446: assume true; local_#12990 := local_#31591_rb; assert { :LIR "62519" } { :check "overflow" } { :finding_ids "0" } true; local_#12991 := local_#31592_rc; assert { :LIR "62520" } { :check "overflow" } { :finding_ids "0" } true; local_#12992 := 10; goto CFG_45903; CFG_45903: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#12990,local_#12991,local_#31480_ra,local_#12992); goto CFG_40165; CFG_40165: assume true; local_#12993 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#12993!base, offset : local_#12993!offset + 0 }]; goto CFG_39526; CFG_42447: assume true; local_#31593_io := local_#31480_ra; local_#12994 := 0; assert { :LIR "60567" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45904; CFG_45904: assume true; havoc nondet_#27; havoc nondet_#28; call local_#12995 := routine_#34060_pow(nondet_#27 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */,nondet_#28 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */); goto CFG_40166; CFG_40166: assume true; local_#12996 := { base : local_#31593_io!base, offset : local_#31593_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31593_io!base, offset : local_#31593_io!offset + 8 }] := 3; goto CFG_39526; CFG_39526: assume true; goto CFG_45008; CFG_49573: assume true; local_#12997 := 23; local_#12998 := ~lshr32(local_#31479_i, local_#12997); local_#12999 := 511; local_#13000 := ~uand32(local_#12998, local_#12999); local_#13001 := local_#13000; assert { :LIR "60568" } { :check "overflow" } { :finding_ids "0" } local_#13001 <= 2147483647; local_#13002 := 256; local_#13003 := ~sand32(local_#13001, local_#13002); if (local_#13003 != 0) { goto CFG_40168; } else { goto CFG_40167; } CFG_40167: assume true; local_#13004 := 23; local_#13005 := ~lshr32(local_#31479_i, local_#13004); local_#13006 := 511; local_#13007 := ~uand32(local_#13005, local_#13006); local_#13008 := local_#13007; assert { :LIR "60569" } { :check "overflow" } { :finding_ids "0" } local_#13008 <= 2147483647; local_#13009 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13008 * 16 }; local_#30647 := local_#13009; goto CFG_49574; CFG_40168: assume true; local_#13010 := 23; local_#13011 := ~lshr32(local_#31479_i, local_#13010); local_#13012 := 511; local_#13013 := ~uand32(local_#13011, local_#13012); local_#13014 := local_#13013; assert { :LIR "60570" } { :check "overflow" } { :finding_ids "0" } local_#13014 <= 2147483647; local_#13015 := local_#13014; assert { :LIR "60571" } { :check "overflow" } { :finding_ids "0" } local_#13015 <= 2147483647; local_#13016 := -257; local_#13017 := ~sand32(local_#13015, local_#13016); local_#13018 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13017 * 16 }; local_#30647 := local_#13018; goto CFG_49574; CFG_49574: assume true; local_#31583_rb := local_#30647; local_#13019 := 14; local_#13020 := ~lshr32(local_#31479_i, local_#13019); local_#13021 := 511; local_#13022 := ~uand32(local_#13020, local_#13021); local_#13023 := local_#13022; assert { :LIR "60572" } { :check "overflow" } { :finding_ids "0" } local_#13023 <= 2147483647; local_#13024 := 256; local_#13025 := ~sand32(local_#13023, local_#13024); if (local_#13025 != 0) { goto CFG_40170; } else { goto CFG_40169; } CFG_40169: assume true; local_#13026 := 14; local_#13027 := ~lshr32(local_#31479_i, local_#13026); local_#13028 := 511; local_#13029 := ~uand32(local_#13027, local_#13028); local_#13030 := local_#13029; assert { :LIR "60573" } { :check "overflow" } { :finding_ids "0" } local_#13030 <= 2147483647; local_#13031 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13030 * 16 }; local_#30648 := local_#13031; goto CFG_49575; CFG_40170: assume true; local_#13032 := 14; local_#13033 := ~lshr32(local_#31479_i, local_#13032); local_#13034 := 511; local_#13035 := ~uand32(local_#13033, local_#13034); local_#13036 := local_#13035; assert { :LIR "60574" } { :check "overflow" } { :finding_ids "0" } local_#13036 <= 2147483647; local_#13037 := local_#13036; assert { :LIR "60575" } { :check "overflow" } { :finding_ids "0" } local_#13037 <= 2147483647; local_#13038 := -257; local_#13039 := ~sand32(local_#13037, local_#13038); local_#13040 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13039 * 16 }; local_#30648 := local_#13040; goto CFG_49575; CFG_49575: assume true; local_#31584_rc := local_#30648; local_#13041 := 19; local_#13042 := (if _memory[{ base : local_#31583_rb!base, offset : local_#31583_rb!offset + 8 }] == local_#13041 then 1 else 0); if (local_#13042 != 0) { goto CFG_49576; } else { goto CFG_49577; } CFG_49576: assume true; local_#13043 := 19; local_#13044 := (if _memory[{ base : local_#31584_rc!base, offset : local_#31584_rc!offset + 8 }] == local_#13043 then 1 else 0); if (local_#13044 != 0) { goto CFG_42452; } else { goto CFG_49577; } CFG_49577: assume true; local_#13045 := 3; local_#13046 := (if _memory[{ base : local_#31583_rb!base, offset : local_#31583_rb!offset + 8 }] == local_#13045 then 1 else 0); if (local_#13046 != 0) { goto CFG_49579; } else { goto CFG_42448; } CFG_42448: assume true; local_#13047 := local_#31583_rb; assert { :LIR "62521" } { :check "overflow" } { :finding_ids "0" } true; local_#13048 := local_#31581_nb; goto CFG_45905; CFG_45905: assume true; call local_#13049 := routine_#33904_luaV_tonumber_(local_#13047,local_#13048); goto CFG_49578; CFG_49578: assume true; local_#13050 := local_#13049; if (local_#13050 != 0) { goto CFG_49580; } else { goto CFG_42450; } CFG_49579: assume true; local_#13051 := { base : local_#31583_rb!base, offset : local_#31583_rb!offset + 0 }; havoc nondet_#29; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#30; local_#13052 := nondet_#30 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13053 := 1; if (local_#13053 != 0) { goto CFG_49580; } else { goto CFG_42450; } CFG_49580: assume true; local_#13054 := 3; local_#13055 := (if _memory[{ base : local_#31584_rc!base, offset : local_#31584_rc!offset + 8 }] == local_#13054 then 1 else 0); if (local_#13055 != 0) { goto CFG_49582; } else { goto CFG_42449; } CFG_42449: assume true; local_#13056 := local_#31584_rc; assert { :LIR "62522" } { :check "overflow" } { :finding_ids "0" } true; local_#13057 := local_#31582_nc; goto CFG_45906; CFG_45906: assume true; call local_#13058 := routine_#33904_luaV_tonumber_(local_#13056,local_#13057); goto CFG_49581; CFG_49581: assume true; local_#13059 := local_#13058; if (local_#13059 != 0) { goto CFG_42451; } else { goto CFG_42450; } CFG_49582: assume true; local_#13060 := { base : local_#31584_rc!base, offset : local_#31584_rc!offset + 0 }; havoc nondet_#31; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#32; local_#13061 := nondet_#32 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13062 := 1; if (local_#13062 != 0) { goto CFG_42451; } else { goto CFG_42450; } CFG_42450: assume true; local_#13063 := local_#31583_rb; assert { :LIR "62523" } { :check "overflow" } { :finding_ids "0" } true; local_#13064 := local_#31584_rc; assert { :LIR "62524" } { :check "overflow" } { :finding_ids "0" } true; local_#13065 := 12; goto CFG_45907; CFG_45907: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13063,local_#13064,local_#31480_ra,local_#13065); goto CFG_40171; CFG_40171: assume true; local_#13066 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13066!base, offset : local_#13066!offset + 0 }]; goto CFG_40173; CFG_42451: assume true; local_#31588_io := local_#31480_ra; local_#13067 := 0; assert { :LIR "60576" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#33; havoc nondet_#34; havoc nondet_#35; local_#13068 := nondet_#35 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68636. */; assert { :LIR "68636" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45908; CFG_45908: assume true; call local_#13069 := routine_#33562_floor(local_#13068); goto CFG_40172; CFG_40172: assume true; local_#13070 := { base : local_#31588_io!base, offset : local_#31588_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31588_io!base, offset : local_#31588_io!offset + 8 }] := 3; goto CFG_40173; CFG_40173: assume true; goto CFG_39527; CFG_42452: assume true; local_#13071 := { base : local_#31583_rb!base, offset : local_#31583_rb!offset + 0 }; local_#31585_ib := _memory[local_#13071]; local_#13072 := { base : local_#31584_rc!base, offset : local_#31584_rc!offset + 0 }; local_#31586_ic := _memory[local_#13072]; local_#31587_io := local_#31480_ra; goto CFG_45909; CFG_45909: assume true; call local_#13073 := routine_#33892_luaV_div(local_#4189_L,local_#31585_ib,local_#31586_ic); goto CFG_40174; CFG_40174: assume true; local_#13074 := { base : local_#31587_io!base, offset : local_#31587_io!offset + 0 }; _memory[local_#13074] := local_#13073; _memory[{ base : local_#31587_io!base, offset : local_#31587_io!offset + 8 }] := 19; goto CFG_39527; CFG_39527: assume true; goto CFG_45008; CFG_49583: assume true; local_#13075 := 23; local_#13076 := ~lshr32(local_#31479_i, local_#13075); local_#13077 := 511; local_#13078 := ~uand32(local_#13076, local_#13077); local_#13079 := local_#13078; assert { :LIR "60577" } { :check "overflow" } { :finding_ids "0" } local_#13079 <= 2147483647; local_#13080 := 256; local_#13081 := ~sand32(local_#13079, local_#13080); if (local_#13081 != 0) { goto CFG_40176; } else { goto CFG_40175; } CFG_40175: assume true; local_#13082 := 23; local_#13083 := ~lshr32(local_#31479_i, local_#13082); local_#13084 := 511; local_#13085 := ~uand32(local_#13083, local_#13084); local_#13086 := local_#13085; assert { :LIR "60578" } { :check "overflow" } { :finding_ids "0" } local_#13086 <= 2147483647; local_#13087 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13086 * 16 }; local_#30649 := local_#13087; goto CFG_49584; CFG_40176: assume true; local_#13088 := 23; local_#13089 := ~lshr32(local_#31479_i, local_#13088); local_#13090 := 511; local_#13091 := ~uand32(local_#13089, local_#13090); local_#13092 := local_#13091; assert { :LIR "60579" } { :check "overflow" } { :finding_ids "0" } local_#13092 <= 2147483647; local_#13093 := local_#13092; assert { :LIR "60580" } { :check "overflow" } { :finding_ids "0" } local_#13093 <= 2147483647; local_#13094 := -257; local_#13095 := ~sand32(local_#13093, local_#13094); local_#13096 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13095 * 16 }; local_#30649 := local_#13096; goto CFG_49584; CFG_49584: assume true; local_#31574_rb := local_#30649; local_#13097 := 14; local_#13098 := ~lshr32(local_#31479_i, local_#13097); local_#13099 := 511; local_#13100 := ~uand32(local_#13098, local_#13099); local_#13101 := local_#13100; assert { :LIR "60581" } { :check "overflow" } { :finding_ids "0" } local_#13101 <= 2147483647; local_#13102 := 256; local_#13103 := ~sand32(local_#13101, local_#13102); if (local_#13103 != 0) { goto CFG_40178; } else { goto CFG_40177; } CFG_40177: assume true; local_#13104 := 14; local_#13105 := ~lshr32(local_#31479_i, local_#13104); local_#13106 := 511; local_#13107 := ~uand32(local_#13105, local_#13106); local_#13108 := local_#13107; assert { :LIR "60582" } { :check "overflow" } { :finding_ids "0" } local_#13108 <= 2147483647; local_#13109 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13108 * 16 }; local_#30650 := local_#13109; goto CFG_49585; CFG_40178: assume true; local_#13110 := 14; local_#13111 := ~lshr32(local_#31479_i, local_#13110); local_#13112 := 511; local_#13113 := ~uand32(local_#13111, local_#13112); local_#13114 := local_#13113; assert { :LIR "60583" } { :check "overflow" } { :finding_ids "0" } local_#13114 <= 2147483647; local_#13115 := local_#13114; assert { :LIR "60584" } { :check "overflow" } { :finding_ids "0" } local_#13115 <= 2147483647; local_#13116 := -257; local_#13117 := ~sand32(local_#13115, local_#13116); local_#13118 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13117 * 16 }; local_#30650 := local_#13118; goto CFG_49585; CFG_49585: assume true; local_#31575_rc := local_#30650; local_#13119 := 19; local_#13120 := (if _memory[{ base : local_#31574_rb!base, offset : local_#31574_rb!offset + 8 }] == local_#13119 then 1 else 0); if (local_#13120 != 0) { goto CFG_49586; } else { goto CFG_49587; } CFG_49586: assume true; local_#13121 := 19; local_#13122 := (if _memory[{ base : local_#31575_rc!base, offset : local_#31575_rc!offset + 8 }] == local_#13121 then 1 else 0); if (local_#13122 != 0) { goto CFG_42456; } else { goto CFG_49587; } CFG_49587: assume true; local_#13123 := 3; local_#13124 := (if _memory[{ base : local_#31574_rb!base, offset : local_#31574_rb!offset + 8 }] == local_#13123 then 1 else 0); if (local_#13124 != 0) { goto CFG_49589; } else { goto CFG_42453; } CFG_42453: assume true; local_#13125 := local_#31574_rb; assert { :LIR "62525" } { :check "overflow" } { :finding_ids "0" } true; local_#13126 := local_#31572_nb; goto CFG_45910; CFG_45910: assume true; call local_#13127 := routine_#33904_luaV_tonumber_(local_#13125,local_#13126); goto CFG_49588; CFG_49588: assume true; local_#13128 := local_#13127; if (local_#13128 != 0) { goto CFG_49590; } else { goto CFG_42455; } CFG_49589: assume true; local_#13129 := { base : local_#31574_rb!base, offset : local_#31574_rb!offset + 0 }; havoc nondet_#36; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#37; local_#13130 := nondet_#37 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13131 := 1; if (local_#13131 != 0) { goto CFG_49590; } else { goto CFG_42455; } CFG_49590: assume true; local_#13132 := 3; local_#13133 := (if _memory[{ base : local_#31575_rc!base, offset : local_#31575_rc!offset + 8 }] == local_#13132 then 1 else 0); if (local_#13133 != 0) { goto CFG_49592; } else { goto CFG_42454; } CFG_42454: assume true; local_#13134 := local_#31575_rc; assert { :LIR "62526" } { :check "overflow" } { :finding_ids "0" } true; local_#13135 := local_#31573_nc; goto CFG_45911; CFG_45911: assume true; call local_#13136 := routine_#33904_luaV_tonumber_(local_#13134,local_#13135); goto CFG_49591; CFG_49591: assume true; local_#13137 := local_#13136; if (local_#13137 != 0) { goto CFG_45913; } else { goto CFG_42455; } CFG_49592: assume true; local_#13138 := { base : local_#31575_rc!base, offset : local_#31575_rc!offset + 0 }; havoc nondet_#38; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#39; local_#13139 := nondet_#39 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13140 := 1; if (local_#13140 != 0) { goto CFG_45913; } else { goto CFG_42455; } CFG_42455: assume true; local_#13141 := local_#31574_rb; assert { :LIR "62527" } { :check "overflow" } { :finding_ids "0" } true; local_#13142 := local_#31575_rc; assert { :LIR "62528" } { :check "overflow" } { :finding_ids "0" } true; local_#13143 := 9; goto CFG_45912; CFG_45912: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13141,local_#13142,local_#31480_ra,local_#13143); goto CFG_40179; CFG_40179: assume true; local_#13144 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13144!base, offset : local_#13144!offset + 0 }]; goto CFG_40182; CFG_45913: assume true; havoc nondet_#40; havoc nondet_#41; call local_#13145 := routine_#33574_fmod(nondet_#40 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */,nondet_#41 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */); goto CFG_49593; CFG_49593: assume true; local_#31579_m := local_#13145; havoc nondet_#42; havoc nondet_#43; local_#13146 := nondet_#43 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68530. */; assert { :LIR "68530" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#44; local_#13147 := nondet_#44 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78595 */; havoc nondet_#45; local_#13148 := (if nondet_#45 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66173. */ then 1 else 0); if (local_#13148 != 0) { goto CFG_40180; } else { goto CFG_40181; } CFG_40180: assume true; havoc nondet_#46; havoc nondet_#47; local_#31579_m := nondet_#47 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66468. */; assert { :LIR "66468" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40181; CFG_40181: assume true; local_#31580_io := local_#31480_ra; local_#13149 := { base : local_#31580_io!base, offset : local_#31580_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31580_io!base, offset : local_#31580_io!offset + 8 }] := 3; goto CFG_40182; CFG_40182: assume true; goto CFG_39528; CFG_42456: assume true; local_#13150 := { base : local_#31574_rb!base, offset : local_#31574_rb!offset + 0 }; local_#31576_ib := _memory[local_#13150]; local_#13151 := { base : local_#31575_rc!base, offset : local_#31575_rc!offset + 0 }; local_#31577_ic := _memory[local_#13151]; local_#31578_io := local_#31480_ra; goto CFG_45914; CFG_45914: assume true; call local_#13152 := routine_#33900_luaV_mod(local_#4189_L,local_#31576_ib,local_#31577_ic); goto CFG_40183; CFG_40183: assume true; local_#13153 := { base : local_#31578_io!base, offset : local_#31578_io!offset + 0 }; _memory[local_#13153] := local_#13152; _memory[{ base : local_#31578_io!base, offset : local_#31578_io!offset + 8 }] := 19; goto CFG_39528; CFG_39528: assume true; goto CFG_45008; CFG_49594: assume true; local_#13154 := 23; local_#13155 := ~lshr32(local_#31479_i, local_#13154); local_#13156 := 511; local_#13157 := ~uand32(local_#13155, local_#13156); local_#13158 := local_#13157; assert { :LIR "60585" } { :check "overflow" } { :finding_ids "0" } local_#13158 <= 2147483647; local_#13159 := 256; local_#13160 := ~sand32(local_#13158, local_#13159); if (local_#13160 != 0) { goto CFG_40185; } else { goto CFG_40184; } CFG_40184: assume true; local_#13161 := 23; local_#13162 := ~lshr32(local_#31479_i, local_#13161); local_#13163 := 511; local_#13164 := ~uand32(local_#13162, local_#13163); local_#13165 := local_#13164; assert { :LIR "60586" } { :check "overflow" } { :finding_ids "0" } local_#13165 <= 2147483647; local_#13166 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13165 * 16 }; local_#30651 := local_#13166; goto CFG_49595; CFG_40185: assume true; local_#13167 := 23; local_#13168 := ~lshr32(local_#31479_i, local_#13167); local_#13169 := 511; local_#13170 := ~uand32(local_#13168, local_#13169); local_#13171 := local_#13170; assert { :LIR "60587" } { :check "overflow" } { :finding_ids "0" } local_#13171 <= 2147483647; local_#13172 := local_#13171; assert { :LIR "60588" } { :check "overflow" } { :finding_ids "0" } local_#13172 <= 2147483647; local_#13173 := -257; local_#13174 := ~sand32(local_#13172, local_#13173); local_#13175 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13174 * 16 }; local_#30651 := local_#13175; goto CFG_49595; CFG_49595: assume true; local_#31569_rb := local_#30651; local_#13176 := 14; local_#13177 := ~lshr32(local_#31479_i, local_#13176); local_#13178 := 511; local_#13179 := ~uand32(local_#13177, local_#13178); local_#13180 := local_#13179; assert { :LIR "60589" } { :check "overflow" } { :finding_ids "0" } local_#13180 <= 2147483647; local_#13181 := 256; local_#13182 := ~sand32(local_#13180, local_#13181); if (local_#13182 != 0) { goto CFG_40187; } else { goto CFG_40186; } CFG_40186: assume true; local_#13183 := 14; local_#13184 := ~lshr32(local_#31479_i, local_#13183); local_#13185 := 511; local_#13186 := ~uand32(local_#13184, local_#13185); local_#13187 := local_#13186; assert { :LIR "60590" } { :check "overflow" } { :finding_ids "0" } local_#13187 <= 2147483647; local_#13188 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13187 * 16 }; local_#30652 := local_#13188; goto CFG_49596; CFG_40187: assume true; local_#13189 := 14; local_#13190 := ~lshr32(local_#31479_i, local_#13189); local_#13191 := 511; local_#13192 := ~uand32(local_#13190, local_#13191); local_#13193 := local_#13192; assert { :LIR "60591" } { :check "overflow" } { :finding_ids "0" } local_#13193 <= 2147483647; local_#13194 := local_#13193; assert { :LIR "60592" } { :check "overflow" } { :finding_ids "0" } local_#13194 <= 2147483647; local_#13195 := -257; local_#13196 := ~sand32(local_#13194, local_#13195); local_#13197 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13196 * 16 }; local_#30652 := local_#13197; goto CFG_49596; CFG_49596: assume true; local_#31570_rc := local_#30652; local_#13198 := 19; local_#13199 := (if _memory[{ base : local_#31569_rb!base, offset : local_#31569_rb!offset + 8 }] == local_#13198 then 1 else 0); if (local_#13199 != 0) { goto CFG_49598; } else { goto CFG_42457; } CFG_42457: assume true; local_#13200 := local_#31569_rb; assert { :LIR "62529" } { :check "overflow" } { :finding_ids "0" } true; local_#13201 := local_#31567_ib; local_#13202 := 0; goto CFG_45915; CFG_45915: assume true; call local_#13203 := routine_#33903_luaV_tointeger(local_#13200,local_#13201,local_#13202); goto CFG_49597; CFG_49597: assume true; local_#13204 := local_#13203; if (local_#13204 != 0) { goto CFG_49599; } else { goto CFG_42459; } CFG_49598: assume true; local_#13205 := { base : local_#31569_rb!base, offset : local_#31569_rb!offset + 0 }; _memory[local_#31567_ib] := _memory[local_#13205]; local_#13206 := _memory[local_#31567_ib]; local_#13207 := 1; if (local_#13207 != 0) { goto CFG_49599; } else { goto CFG_42459; } CFG_49599: assume true; local_#13208 := 19; local_#13209 := (if _memory[{ base : local_#31570_rc!base, offset : local_#31570_rc!offset + 8 }] == local_#13208 then 1 else 0); if (local_#13209 != 0) { goto CFG_49601; } else { goto CFG_42458; } CFG_42458: assume true; local_#13210 := local_#31570_rc; assert { :LIR "62530" } { :check "overflow" } { :finding_ids "0" } true; local_#13211 := local_#31568_ic; local_#13212 := 0; goto CFG_45916; CFG_45916: assume true; call local_#13213 := routine_#33903_luaV_tointeger(local_#13210,local_#13211,local_#13212); goto CFG_49600; CFG_49600: assume true; local_#13214 := local_#13213; if (local_#13214 != 0) { goto CFG_42460; } else { goto CFG_42459; } CFG_49601: assume true; local_#13215 := { base : local_#31570_rc!base, offset : local_#31570_rc!offset + 0 }; _memory[local_#31568_ic] := _memory[local_#13215]; local_#13216 := _memory[local_#31568_ic]; local_#13217 := 1; if (local_#13217 != 0) { goto CFG_42460; } else { goto CFG_42459; } CFG_42459: assume true; local_#13218 := local_#31569_rb; assert { :LIR "62531" } { :check "overflow" } { :finding_ids "0" } true; local_#13219 := local_#31570_rc; assert { :LIR "62532" } { :check "overflow" } { :finding_ids "0" } true; local_#13220 := 17; goto CFG_45917; CFG_45917: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13218,local_#13219,local_#31480_ra,local_#13220); goto CFG_40188; CFG_40188: assume true; local_#13221 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13221!base, offset : local_#13221!offset + 0 }]; goto CFG_39529; CFG_42460: assume true; local_#31571_io := local_#31480_ra; local_#13222 := -_memory[local_#31568_ic]; assert { :LIR "64652" } { :check "overflow" } { :finding_ids "0" } local_#13222 <= 9223372036854775807; goto CFG_45918; CFG_45918: assume true; call local_#13223 := routine_#33902_luaV_shiftl(_memory[local_#31567_ib],local_#13222); goto CFG_40189; CFG_40189: assume true; local_#13224 := { base : local_#31571_io!base, offset : local_#31571_io!offset + 0 }; _memory[local_#13224] := local_#13223; _memory[{ base : local_#31571_io!base, offset : local_#31571_io!offset + 8 }] := 19; goto CFG_39529; CFG_39529: assume true; goto CFG_45008; CFG_49602: assume true; local_#13225 := 23; local_#13226 := ~lshr32(local_#31479_i, local_#13225); local_#13227 := 511; local_#13228 := ~uand32(local_#13226, local_#13227); local_#13229 := local_#13228; assert { :LIR "60593" } { :check "overflow" } { :finding_ids "0" } local_#13229 <= 2147483647; local_#13230 := 256; local_#13231 := ~sand32(local_#13229, local_#13230); if (local_#13231 != 0) { goto CFG_40191; } else { goto CFG_40190; } CFG_40190: assume true; local_#13232 := 23; local_#13233 := ~lshr32(local_#31479_i, local_#13232); local_#13234 := 511; local_#13235 := ~uand32(local_#13233, local_#13234); local_#13236 := local_#13235; assert { :LIR "60594" } { :check "overflow" } { :finding_ids "0" } local_#13236 <= 2147483647; local_#13237 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13236 * 16 }; local_#30653 := local_#13237; goto CFG_49603; CFG_40191: assume true; local_#13238 := 23; local_#13239 := ~lshr32(local_#31479_i, local_#13238); local_#13240 := 511; local_#13241 := ~uand32(local_#13239, local_#13240); local_#13242 := local_#13241; assert { :LIR "60595" } { :check "overflow" } { :finding_ids "0" } local_#13242 <= 2147483647; local_#13243 := local_#13242; assert { :LIR "60596" } { :check "overflow" } { :finding_ids "0" } local_#13243 <= 2147483647; local_#13244 := -257; local_#13245 := ~sand32(local_#13243, local_#13244); local_#13246 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13245 * 16 }; local_#30653 := local_#13246; goto CFG_49603; CFG_49603: assume true; local_#31564_rb := local_#30653; local_#13247 := 14; local_#13248 := ~lshr32(local_#31479_i, local_#13247); local_#13249 := 511; local_#13250 := ~uand32(local_#13248, local_#13249); local_#13251 := local_#13250; assert { :LIR "60597" } { :check "overflow" } { :finding_ids "0" } local_#13251 <= 2147483647; local_#13252 := 256; local_#13253 := ~sand32(local_#13251, local_#13252); if (local_#13253 != 0) { goto CFG_40193; } else { goto CFG_40192; } CFG_40192: assume true; local_#13254 := 14; local_#13255 := ~lshr32(local_#31479_i, local_#13254); local_#13256 := 511; local_#13257 := ~uand32(local_#13255, local_#13256); local_#13258 := local_#13257; assert { :LIR "60598" } { :check "overflow" } { :finding_ids "0" } local_#13258 <= 2147483647; local_#13259 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13258 * 16 }; local_#30654 := local_#13259; goto CFG_49604; CFG_40193: assume true; local_#13260 := 14; local_#13261 := ~lshr32(local_#31479_i, local_#13260); local_#13262 := 511; local_#13263 := ~uand32(local_#13261, local_#13262); local_#13264 := local_#13263; assert { :LIR "60599" } { :check "overflow" } { :finding_ids "0" } local_#13264 <= 2147483647; local_#13265 := local_#13264; assert { :LIR "60600" } { :check "overflow" } { :finding_ids "0" } local_#13265 <= 2147483647; local_#13266 := -257; local_#13267 := ~sand32(local_#13265, local_#13266); local_#13268 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13267 * 16 }; local_#30654 := local_#13268; goto CFG_49604; CFG_49604: assume true; local_#31565_rc := local_#30654; local_#13269 := 19; local_#13270 := (if _memory[{ base : local_#31564_rb!base, offset : local_#31564_rb!offset + 8 }] == local_#13269 then 1 else 0); if (local_#13270 != 0) { goto CFG_49606; } else { goto CFG_42461; } CFG_42461: assume true; local_#13271 := local_#31564_rb; assert { :LIR "62533" } { :check "overflow" } { :finding_ids "0" } true; local_#13272 := local_#31562_ib; local_#13273 := 0; goto CFG_45919; CFG_45919: assume true; call local_#13274 := routine_#33903_luaV_tointeger(local_#13271,local_#13272,local_#13273); goto CFG_49605; CFG_49605: assume true; local_#13275 := local_#13274; if (local_#13275 != 0) { goto CFG_49607; } else { goto CFG_42463; } CFG_49606: assume true; local_#13276 := { base : local_#31564_rb!base, offset : local_#31564_rb!offset + 0 }; _memory[local_#31562_ib] := _memory[local_#13276]; local_#13277 := _memory[local_#31562_ib]; local_#13278 := 1; if (local_#13278 != 0) { goto CFG_49607; } else { goto CFG_42463; } CFG_49607: assume true; local_#13279 := 19; local_#13280 := (if _memory[{ base : local_#31565_rc!base, offset : local_#31565_rc!offset + 8 }] == local_#13279 then 1 else 0); if (local_#13280 != 0) { goto CFG_49609; } else { goto CFG_42462; } CFG_42462: assume true; local_#13281 := local_#31565_rc; assert { :LIR "62534" } { :check "overflow" } { :finding_ids "0" } true; local_#13282 := local_#31563_ic; local_#13283 := 0; goto CFG_45920; CFG_45920: assume true; call local_#13284 := routine_#33903_luaV_tointeger(local_#13281,local_#13282,local_#13283); goto CFG_49608; CFG_49608: assume true; local_#13285 := local_#13284; if (local_#13285 != 0) { goto CFG_42464; } else { goto CFG_42463; } CFG_49609: assume true; local_#13286 := { base : local_#31565_rc!base, offset : local_#31565_rc!offset + 0 }; _memory[local_#31563_ic] := _memory[local_#13286]; local_#13287 := _memory[local_#31563_ic]; local_#13288 := 1; if (local_#13288 != 0) { goto CFG_42464; } else { goto CFG_42463; } CFG_42463: assume true; local_#13289 := local_#31564_rb; assert { :LIR "62535" } { :check "overflow" } { :finding_ids "0" } true; local_#13290 := local_#31565_rc; assert { :LIR "62536" } { :check "overflow" } { :finding_ids "0" } true; local_#13291 := 16; goto CFG_45921; CFG_45921: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13289,local_#13290,local_#31480_ra,local_#13291); goto CFG_40194; CFG_40194: assume true; local_#13292 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13292!base, offset : local_#13292!offset + 0 }]; goto CFG_39530; CFG_42464: assume true; local_#31566_io := local_#31480_ra; goto CFG_45922; CFG_45922: assume true; call local_#13293 := routine_#33902_luaV_shiftl(_memory[local_#31562_ib],_memory[local_#31563_ic]); goto CFG_40195; CFG_40195: assume true; local_#13294 := { base : local_#31566_io!base, offset : local_#31566_io!offset + 0 }; _memory[local_#13294] := local_#13293; _memory[{ base : local_#31566_io!base, offset : local_#31566_io!offset + 8 }] := 19; goto CFG_39530; CFG_39530: assume true; goto CFG_45008; CFG_49610: assume true; local_#13295 := 23; local_#13296 := ~lshr32(local_#31479_i, local_#13295); local_#13297 := 511; local_#13298 := ~uand32(local_#13296, local_#13297); local_#13299 := local_#13298; assert { :LIR "60601" } { :check "overflow" } { :finding_ids "0" } local_#13299 <= 2147483647; local_#13300 := 256; local_#13301 := ~sand32(local_#13299, local_#13300); if (local_#13301 != 0) { goto CFG_40197; } else { goto CFG_40196; } CFG_40196: assume true; local_#13302 := 23; local_#13303 := ~lshr32(local_#31479_i, local_#13302); local_#13304 := 511; local_#13305 := ~uand32(local_#13303, local_#13304); local_#13306 := local_#13305; assert { :LIR "60602" } { :check "overflow" } { :finding_ids "0" } local_#13306 <= 2147483647; local_#13307 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13306 * 16 }; local_#30655 := local_#13307; goto CFG_49611; CFG_40197: assume true; local_#13308 := 23; local_#13309 := ~lshr32(local_#31479_i, local_#13308); local_#13310 := 511; local_#13311 := ~uand32(local_#13309, local_#13310); local_#13312 := local_#13311; assert { :LIR "60603" } { :check "overflow" } { :finding_ids "0" } local_#13312 <= 2147483647; local_#13313 := local_#13312; assert { :LIR "60604" } { :check "overflow" } { :finding_ids "0" } local_#13313 <= 2147483647; local_#13314 := -257; local_#13315 := ~sand32(local_#13313, local_#13314); local_#13316 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13315 * 16 }; local_#30655 := local_#13316; goto CFG_49611; CFG_49611: assume true; local_#31559_rb := local_#30655; local_#13317 := 14; local_#13318 := ~lshr32(local_#31479_i, local_#13317); local_#13319 := 511; local_#13320 := ~uand32(local_#13318, local_#13319); local_#13321 := local_#13320; assert { :LIR "60605" } { :check "overflow" } { :finding_ids "0" } local_#13321 <= 2147483647; local_#13322 := 256; local_#13323 := ~sand32(local_#13321, local_#13322); if (local_#13323 != 0) { goto CFG_40199; } else { goto CFG_40198; } CFG_40198: assume true; local_#13324 := 14; local_#13325 := ~lshr32(local_#31479_i, local_#13324); local_#13326 := 511; local_#13327 := ~uand32(local_#13325, local_#13326); local_#13328 := local_#13327; assert { :LIR "60606" } { :check "overflow" } { :finding_ids "0" } local_#13328 <= 2147483647; local_#13329 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13328 * 16 }; local_#30656 := local_#13329; goto CFG_49612; CFG_40199: assume true; local_#13330 := 14; local_#13331 := ~lshr32(local_#31479_i, local_#13330); local_#13332 := 511; local_#13333 := ~uand32(local_#13331, local_#13332); local_#13334 := local_#13333; assert { :LIR "60607" } { :check "overflow" } { :finding_ids "0" } local_#13334 <= 2147483647; local_#13335 := local_#13334; assert { :LIR "60608" } { :check "overflow" } { :finding_ids "0" } local_#13335 <= 2147483647; local_#13336 := -257; local_#13337 := ~sand32(local_#13335, local_#13336); local_#13338 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13337 * 16 }; local_#30656 := local_#13338; goto CFG_49612; CFG_49612: assume true; local_#31560_rc := local_#30656; local_#13339 := 19; local_#13340 := (if _memory[{ base : local_#31559_rb!base, offset : local_#31559_rb!offset + 8 }] == local_#13339 then 1 else 0); if (local_#13340 != 0) { goto CFG_49614; } else { goto CFG_42465; } CFG_42465: assume true; local_#13341 := local_#31559_rb; assert { :LIR "62537" } { :check "overflow" } { :finding_ids "0" } true; local_#13342 := local_#31557_ib; local_#13343 := 0; goto CFG_45923; CFG_45923: assume true; call local_#13344 := routine_#33903_luaV_tointeger(local_#13341,local_#13342,local_#13343); goto CFG_49613; CFG_49613: assume true; local_#13345 := local_#13344; if (local_#13345 != 0) { goto CFG_49615; } else { goto CFG_42467; } CFG_49614: assume true; local_#13346 := { base : local_#31559_rb!base, offset : local_#31559_rb!offset + 0 }; _memory[local_#31557_ib] := _memory[local_#13346]; local_#13347 := _memory[local_#31557_ib]; local_#13348 := 1; if (local_#13348 != 0) { goto CFG_49615; } else { goto CFG_42467; } CFG_49615: assume true; local_#13349 := 19; local_#13350 := (if _memory[{ base : local_#31560_rc!base, offset : local_#31560_rc!offset + 8 }] == local_#13349 then 1 else 0); if (local_#13350 != 0) { goto CFG_49617; } else { goto CFG_42466; } CFG_42466: assume true; local_#13351 := local_#31560_rc; assert { :LIR "62538" } { :check "overflow" } { :finding_ids "0" } true; local_#13352 := local_#31558_ic; local_#13353 := 0; goto CFG_45924; CFG_45924: assume true; call local_#13354 := routine_#33903_luaV_tointeger(local_#13351,local_#13352,local_#13353); goto CFG_49616; CFG_49616: assume true; local_#13355 := local_#13354; if (local_#13355 != 0) { goto CFG_40201; } else { goto CFG_42467; } CFG_49617: assume true; local_#13356 := { base : local_#31560_rc!base, offset : local_#31560_rc!offset + 0 }; _memory[local_#31558_ic] := _memory[local_#13356]; local_#13357 := _memory[local_#31558_ic]; local_#13358 := 1; if (local_#13358 != 0) { goto CFG_40201; } else { goto CFG_42467; } CFG_42467: assume true; local_#13359 := local_#31559_rb; assert { :LIR "62539" } { :check "overflow" } { :finding_ids "0" } true; local_#13360 := local_#31560_rc; assert { :LIR "62540" } { :check "overflow" } { :finding_ids "0" } true; local_#13361 := 15; goto CFG_45925; CFG_45925: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13359,local_#13360,local_#31480_ra,local_#13361); goto CFG_40200; CFG_40200: assume true; local_#13362 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13362!base, offset : local_#13362!offset + 0 }]; goto CFG_39531; CFG_40201: assume true; local_#31561_io := local_#31480_ra; local_#13363 := ~uwrap64(_memory[local_#31557_ib]); assert { :LIR "60609" } { :check "overflow" } { :finding_ids "0" } true; local_#13364 := ~uwrap64(_memory[local_#31558_ic]); assert { :LIR "60610" } { :check "overflow" } { :finding_ids "0" } true; local_#13365 := ~uxor64(local_#13363, local_#13364); local_#13366 := local_#13365; assert { :LIR "60611" } { :check "overflow" } { :finding_ids "0" } local_#13366 <= 9223372036854775807; local_#13367 := { base : local_#31561_io!base, offset : local_#31561_io!offset + 0 }; _memory[local_#13367] := local_#13366; _memory[{ base : local_#31561_io!base, offset : local_#31561_io!offset + 8 }] := 19; goto CFG_39531; CFG_39531: assume true; goto CFG_45008; CFG_49618: assume true; local_#13368 := 23; local_#13369 := ~lshr32(local_#31479_i, local_#13368); local_#13370 := 511; local_#13371 := ~uand32(local_#13369, local_#13370); local_#13372 := local_#13371; assert { :LIR "60612" } { :check "overflow" } { :finding_ids "0" } local_#13372 <= 2147483647; local_#13373 := 256; local_#13374 := ~sand32(local_#13372, local_#13373); if (local_#13374 != 0) { goto CFG_40203; } else { goto CFG_40202; } CFG_40202: assume true; local_#13375 := 23; local_#13376 := ~lshr32(local_#31479_i, local_#13375); local_#13377 := 511; local_#13378 := ~uand32(local_#13376, local_#13377); local_#13379 := local_#13378; assert { :LIR "60613" } { :check "overflow" } { :finding_ids "0" } local_#13379 <= 2147483647; local_#13380 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13379 * 16 }; local_#30657 := local_#13380; goto CFG_49619; CFG_40203: assume true; local_#13381 := 23; local_#13382 := ~lshr32(local_#31479_i, local_#13381); local_#13383 := 511; local_#13384 := ~uand32(local_#13382, local_#13383); local_#13385 := local_#13384; assert { :LIR "60614" } { :check "overflow" } { :finding_ids "0" } local_#13385 <= 2147483647; local_#13386 := local_#13385; assert { :LIR "60615" } { :check "overflow" } { :finding_ids "0" } local_#13386 <= 2147483647; local_#13387 := -257; local_#13388 := ~sand32(local_#13386, local_#13387); local_#13389 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13388 * 16 }; local_#30657 := local_#13389; goto CFG_49619; CFG_49619: assume true; local_#31554_rb := local_#30657; local_#13390 := 14; local_#13391 := ~lshr32(local_#31479_i, local_#13390); local_#13392 := 511; local_#13393 := ~uand32(local_#13391, local_#13392); local_#13394 := local_#13393; assert { :LIR "60616" } { :check "overflow" } { :finding_ids "0" } local_#13394 <= 2147483647; local_#13395 := 256; local_#13396 := ~sand32(local_#13394, local_#13395); if (local_#13396 != 0) { goto CFG_40205; } else { goto CFG_40204; } CFG_40204: assume true; local_#13397 := 14; local_#13398 := ~lshr32(local_#31479_i, local_#13397); local_#13399 := 511; local_#13400 := ~uand32(local_#13398, local_#13399); local_#13401 := local_#13400; assert { :LIR "60617" } { :check "overflow" } { :finding_ids "0" } local_#13401 <= 2147483647; local_#13402 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13401 * 16 }; local_#30658 := local_#13402; goto CFG_49620; CFG_40205: assume true; local_#13403 := 14; local_#13404 := ~lshr32(local_#31479_i, local_#13403); local_#13405 := 511; local_#13406 := ~uand32(local_#13404, local_#13405); local_#13407 := local_#13406; assert { :LIR "60618" } { :check "overflow" } { :finding_ids "0" } local_#13407 <= 2147483647; local_#13408 := local_#13407; assert { :LIR "60619" } { :check "overflow" } { :finding_ids "0" } local_#13408 <= 2147483647; local_#13409 := -257; local_#13410 := ~sand32(local_#13408, local_#13409); local_#13411 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13410 * 16 }; local_#30658 := local_#13411; goto CFG_49620; CFG_49620: assume true; local_#31555_rc := local_#30658; local_#13412 := 19; local_#13413 := (if _memory[{ base : local_#31554_rb!base, offset : local_#31554_rb!offset + 8 }] == local_#13412 then 1 else 0); if (local_#13413 != 0) { goto CFG_49622; } else { goto CFG_42468; } CFG_42468: assume true; local_#13414 := local_#31554_rb; assert { :LIR "62541" } { :check "overflow" } { :finding_ids "0" } true; local_#13415 := local_#31552_ib; local_#13416 := 0; goto CFG_45926; CFG_45926: assume true; call local_#13417 := routine_#33903_luaV_tointeger(local_#13414,local_#13415,local_#13416); goto CFG_49621; CFG_49621: assume true; local_#13418 := local_#13417; if (local_#13418 != 0) { goto CFG_49623; } else { goto CFG_42470; } CFG_49622: assume true; local_#13419 := { base : local_#31554_rb!base, offset : local_#31554_rb!offset + 0 }; _memory[local_#31552_ib] := _memory[local_#13419]; local_#13420 := _memory[local_#31552_ib]; local_#13421 := 1; if (local_#13421 != 0) { goto CFG_49623; } else { goto CFG_42470; } CFG_49623: assume true; local_#13422 := 19; local_#13423 := (if _memory[{ base : local_#31555_rc!base, offset : local_#31555_rc!offset + 8 }] == local_#13422 then 1 else 0); if (local_#13423 != 0) { goto CFG_49625; } else { goto CFG_42469; } CFG_42469: assume true; local_#13424 := local_#31555_rc; assert { :LIR "62542" } { :check "overflow" } { :finding_ids "0" } true; local_#13425 := local_#31553_ic; local_#13426 := 0; goto CFG_45927; CFG_45927: assume true; call local_#13427 := routine_#33903_luaV_tointeger(local_#13424,local_#13425,local_#13426); goto CFG_49624; CFG_49624: assume true; local_#13428 := local_#13427; if (local_#13428 != 0) { goto CFG_40207; } else { goto CFG_42470; } CFG_49625: assume true; local_#13429 := { base : local_#31555_rc!base, offset : local_#31555_rc!offset + 0 }; _memory[local_#31553_ic] := _memory[local_#13429]; local_#13430 := _memory[local_#31553_ic]; local_#13431 := 1; if (local_#13431 != 0) { goto CFG_40207; } else { goto CFG_42470; } CFG_42470: assume true; local_#13432 := local_#31554_rb; assert { :LIR "62543" } { :check "overflow" } { :finding_ids "0" } true; local_#13433 := local_#31555_rc; assert { :LIR "62544" } { :check "overflow" } { :finding_ids "0" } true; local_#13434 := 14; goto CFG_45928; CFG_45928: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13432,local_#13433,local_#31480_ra,local_#13434); goto CFG_40206; CFG_40206: assume true; local_#13435 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13435!base, offset : local_#13435!offset + 0 }]; goto CFG_39532; CFG_40207: assume true; local_#31556_io := local_#31480_ra; local_#13436 := ~uwrap64(_memory[local_#31552_ib]); assert { :LIR "60620" } { :check "overflow" } { :finding_ids "0" } true; local_#13437 := ~uwrap64(_memory[local_#31553_ic]); assert { :LIR "60621" } { :check "overflow" } { :finding_ids "0" } true; local_#13438 := ~uor64(local_#13436, local_#13437); local_#13439 := local_#13438; assert { :LIR "60622" } { :check "overflow" } { :finding_ids "0" } local_#13439 <= 9223372036854775807; local_#13440 := { base : local_#31556_io!base, offset : local_#31556_io!offset + 0 }; _memory[local_#13440] := local_#13439; _memory[{ base : local_#31556_io!base, offset : local_#31556_io!offset + 8 }] := 19; goto CFG_39532; CFG_39532: assume true; goto CFG_45008; CFG_49626: assume true; local_#13441 := 23; local_#13442 := ~lshr32(local_#31479_i, local_#13441); local_#13443 := 511; local_#13444 := ~uand32(local_#13442, local_#13443); local_#13445 := local_#13444; assert { :LIR "60623" } { :check "overflow" } { :finding_ids "0" } local_#13445 <= 2147483647; local_#13446 := 256; local_#13447 := ~sand32(local_#13445, local_#13446); if (local_#13447 != 0) { goto CFG_40209; } else { goto CFG_40208; } CFG_40208: assume true; local_#13448 := 23; local_#13449 := ~lshr32(local_#31479_i, local_#13448); local_#13450 := 511; local_#13451 := ~uand32(local_#13449, local_#13450); local_#13452 := local_#13451; assert { :LIR "60624" } { :check "overflow" } { :finding_ids "0" } local_#13452 <= 2147483647; local_#13453 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13452 * 16 }; local_#30659 := local_#13453; goto CFG_49627; CFG_40209: assume true; local_#13454 := 23; local_#13455 := ~lshr32(local_#31479_i, local_#13454); local_#13456 := 511; local_#13457 := ~uand32(local_#13455, local_#13456); local_#13458 := local_#13457; assert { :LIR "60625" } { :check "overflow" } { :finding_ids "0" } local_#13458 <= 2147483647; local_#13459 := local_#13458; assert { :LIR "60626" } { :check "overflow" } { :finding_ids "0" } local_#13459 <= 2147483647; local_#13460 := -257; local_#13461 := ~sand32(local_#13459, local_#13460); local_#13462 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13461 * 16 }; local_#30659 := local_#13462; goto CFG_49627; CFG_49627: assume true; local_#31549_rb := local_#30659; local_#13463 := 14; local_#13464 := ~lshr32(local_#31479_i, local_#13463); local_#13465 := 511; local_#13466 := ~uand32(local_#13464, local_#13465); local_#13467 := local_#13466; assert { :LIR "60627" } { :check "overflow" } { :finding_ids "0" } local_#13467 <= 2147483647; local_#13468 := 256; local_#13469 := ~sand32(local_#13467, local_#13468); if (local_#13469 != 0) { goto CFG_40211; } else { goto CFG_40210; } CFG_40210: assume true; local_#13470 := 14; local_#13471 := ~lshr32(local_#31479_i, local_#13470); local_#13472 := 511; local_#13473 := ~uand32(local_#13471, local_#13472); local_#13474 := local_#13473; assert { :LIR "60628" } { :check "overflow" } { :finding_ids "0" } local_#13474 <= 2147483647; local_#13475 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13474 * 16 }; local_#30660 := local_#13475; goto CFG_49628; CFG_40211: assume true; local_#13476 := 14; local_#13477 := ~lshr32(local_#31479_i, local_#13476); local_#13478 := 511; local_#13479 := ~uand32(local_#13477, local_#13478); local_#13480 := local_#13479; assert { :LIR "60629" } { :check "overflow" } { :finding_ids "0" } local_#13480 <= 2147483647; local_#13481 := local_#13480; assert { :LIR "60630" } { :check "overflow" } { :finding_ids "0" } local_#13481 <= 2147483647; local_#13482 := -257; local_#13483 := ~sand32(local_#13481, local_#13482); local_#13484 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13483 * 16 }; local_#30660 := local_#13484; goto CFG_49628; CFG_49628: assume true; local_#31550_rc := local_#30660; local_#13485 := 19; local_#13486 := (if _memory[{ base : local_#31549_rb!base, offset : local_#31549_rb!offset + 8 }] == local_#13485 then 1 else 0); if (local_#13486 != 0) { goto CFG_49630; } else { goto CFG_42471; } CFG_42471: assume true; local_#13487 := local_#31549_rb; assert { :LIR "62545" } { :check "overflow" } { :finding_ids "0" } true; local_#13488 := local_#31547_ib; local_#13489 := 0; goto CFG_45929; CFG_45929: assume true; call local_#13490 := routine_#33903_luaV_tointeger(local_#13487,local_#13488,local_#13489); goto CFG_49629; CFG_49629: assume true; local_#13491 := local_#13490; if (local_#13491 != 0) { goto CFG_49631; } else { goto CFG_42473; } CFG_49630: assume true; local_#13492 := { base : local_#31549_rb!base, offset : local_#31549_rb!offset + 0 }; _memory[local_#31547_ib] := _memory[local_#13492]; local_#13493 := _memory[local_#31547_ib]; local_#13494 := 1; if (local_#13494 != 0) { goto CFG_49631; } else { goto CFG_42473; } CFG_49631: assume true; local_#13495 := 19; local_#13496 := (if _memory[{ base : local_#31550_rc!base, offset : local_#31550_rc!offset + 8 }] == local_#13495 then 1 else 0); if (local_#13496 != 0) { goto CFG_49633; } else { goto CFG_42472; } CFG_42472: assume true; local_#13497 := local_#31550_rc; assert { :LIR "62546" } { :check "overflow" } { :finding_ids "0" } true; local_#13498 := local_#31548_ic; local_#13499 := 0; goto CFG_45930; CFG_45930: assume true; call local_#13500 := routine_#33903_luaV_tointeger(local_#13497,local_#13498,local_#13499); goto CFG_49632; CFG_49632: assume true; local_#13501 := local_#13500; if (local_#13501 != 0) { goto CFG_40213; } else { goto CFG_42473; } CFG_49633: assume true; local_#13502 := { base : local_#31550_rc!base, offset : local_#31550_rc!offset + 0 }; _memory[local_#31548_ic] := _memory[local_#13502]; local_#13503 := _memory[local_#31548_ic]; local_#13504 := 1; if (local_#13504 != 0) { goto CFG_40213; } else { goto CFG_42473; } CFG_42473: assume true; local_#13505 := local_#31549_rb; assert { :LIR "62547" } { :check "overflow" } { :finding_ids "0" } true; local_#13506 := local_#31550_rc; assert { :LIR "62548" } { :check "overflow" } { :finding_ids "0" } true; local_#13507 := 13; goto CFG_45931; CFG_45931: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13505,local_#13506,local_#31480_ra,local_#13507); goto CFG_40212; CFG_40212: assume true; local_#13508 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13508!base, offset : local_#13508!offset + 0 }]; goto CFG_39533; CFG_40213: assume true; local_#31551_io := local_#31480_ra; local_#13509 := ~uwrap64(_memory[local_#31547_ib]); assert { :LIR "60631" } { :check "overflow" } { :finding_ids "0" } true; local_#13510 := ~uwrap64(_memory[local_#31548_ic]); assert { :LIR "60632" } { :check "overflow" } { :finding_ids "0" } true; local_#13511 := ~uand64(local_#13509, local_#13510); local_#13512 := local_#13511; assert { :LIR "60633" } { :check "overflow" } { :finding_ids "0" } local_#13512 <= 9223372036854775807; local_#13513 := { base : local_#31551_io!base, offset : local_#31551_io!offset + 0 }; _memory[local_#13513] := local_#13512; _memory[{ base : local_#31551_io!base, offset : local_#31551_io!offset + 8 }] := 19; goto CFG_39533; CFG_39533: assume true; goto CFG_45008; CFG_49634: assume true; local_#13514 := 23; local_#13515 := ~lshr32(local_#31479_i, local_#13514); local_#13516 := 511; local_#13517 := ~uand32(local_#13515, local_#13516); local_#13518 := local_#13517; assert { :LIR "60634" } { :check "overflow" } { :finding_ids "0" } local_#13518 <= 2147483647; local_#13519 := 256; local_#13520 := ~sand32(local_#13518, local_#13519); if (local_#13520 != 0) { goto CFG_40215; } else { goto CFG_40214; } CFG_40214: assume true; local_#13521 := 23; local_#13522 := ~lshr32(local_#31479_i, local_#13521); local_#13523 := 511; local_#13524 := ~uand32(local_#13522, local_#13523); local_#13525 := local_#13524; assert { :LIR "60635" } { :check "overflow" } { :finding_ids "0" } local_#13525 <= 2147483647; local_#13526 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13525 * 16 }; local_#30661 := local_#13526; goto CFG_49635; CFG_40215: assume true; local_#13527 := 23; local_#13528 := ~lshr32(local_#31479_i, local_#13527); local_#13529 := 511; local_#13530 := ~uand32(local_#13528, local_#13529); local_#13531 := local_#13530; assert { :LIR "60636" } { :check "overflow" } { :finding_ids "0" } local_#13531 <= 2147483647; local_#13532 := local_#13531; assert { :LIR "60637" } { :check "overflow" } { :finding_ids "0" } local_#13532 <= 2147483647; local_#13533 := -257; local_#13534 := ~sand32(local_#13532, local_#13533); local_#13535 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13534 * 16 }; local_#30661 := local_#13535; goto CFG_49635; CFG_49635: assume true; local_#31544_rb := local_#30661; local_#13536 := 14; local_#13537 := ~lshr32(local_#31479_i, local_#13536); local_#13538 := 511; local_#13539 := ~uand32(local_#13537, local_#13538); local_#13540 := local_#13539; assert { :LIR "60638" } { :check "overflow" } { :finding_ids "0" } local_#13540 <= 2147483647; local_#13541 := 256; local_#13542 := ~sand32(local_#13540, local_#13541); if (local_#13542 != 0) { goto CFG_40217; } else { goto CFG_40216; } CFG_40216: assume true; local_#13543 := 14; local_#13544 := ~lshr32(local_#31479_i, local_#13543); local_#13545 := 511; local_#13546 := ~uand32(local_#13544, local_#13545); local_#13547 := local_#13546; assert { :LIR "60639" } { :check "overflow" } { :finding_ids "0" } local_#13547 <= 2147483647; local_#13548 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13547 * 16 }; local_#30662 := local_#13548; goto CFG_49636; CFG_40217: assume true; local_#13549 := 14; local_#13550 := ~lshr32(local_#31479_i, local_#13549); local_#13551 := 511; local_#13552 := ~uand32(local_#13550, local_#13551); local_#13553 := local_#13552; assert { :LIR "60640" } { :check "overflow" } { :finding_ids "0" } local_#13553 <= 2147483647; local_#13554 := local_#13553; assert { :LIR "60641" } { :check "overflow" } { :finding_ids "0" } local_#13554 <= 2147483647; local_#13555 := -257; local_#13556 := ~sand32(local_#13554, local_#13555); local_#13557 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13556 * 16 }; local_#30662 := local_#13557; goto CFG_49636; CFG_49636: assume true; local_#31545_rc := local_#30662; local_#13558 := 3; local_#13559 := (if _memory[{ base : local_#31544_rb!base, offset : local_#31544_rb!offset + 8 }] == local_#13558 then 1 else 0); if (local_#13559 != 0) { goto CFG_49638; } else { goto CFG_42474; } CFG_42474: assume true; local_#13560 := local_#31544_rb; assert { :LIR "62549" } { :check "overflow" } { :finding_ids "0" } true; local_#13561 := local_#31542_nb; goto CFG_45932; CFG_45932: assume true; call local_#13562 := routine_#33904_luaV_tonumber_(local_#13560,local_#13561); goto CFG_49637; CFG_49637: assume true; local_#13563 := local_#13562; if (local_#13563 != 0) { goto CFG_49639; } else { goto CFG_42476; } CFG_49638: assume true; local_#13564 := { base : local_#31544_rb!base, offset : local_#31544_rb!offset + 0 }; havoc nondet_#48; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#49; local_#13565 := nondet_#49 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13566 := 1; if (local_#13566 != 0) { goto CFG_49639; } else { goto CFG_42476; } CFG_49639: assume true; local_#13567 := 3; local_#13568 := (if _memory[{ base : local_#31545_rc!base, offset : local_#31545_rc!offset + 8 }] == local_#13567 then 1 else 0); if (local_#13568 != 0) { goto CFG_49641; } else { goto CFG_42475; } CFG_42475: assume true; local_#13569 := local_#31545_rc; assert { :LIR "62550" } { :check "overflow" } { :finding_ids "0" } true; local_#13570 := local_#31543_nc; goto CFG_45933; CFG_45933: assume true; call local_#13571 := routine_#33904_luaV_tonumber_(local_#13569,local_#13570); goto CFG_49640; CFG_49640: assume true; local_#13572 := local_#13571; if (local_#13572 != 0) { goto CFG_40219; } else { goto CFG_42476; } CFG_49641: assume true; local_#13573 := { base : local_#31545_rc!base, offset : local_#31545_rc!offset + 0 }; havoc nondet_#50; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#51; local_#13574 := nondet_#51 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13575 := 1; if (local_#13575 != 0) { goto CFG_40219; } else { goto CFG_42476; } CFG_42476: assume true; local_#13576 := local_#31544_rb; assert { :LIR "62551" } { :check "overflow" } { :finding_ids "0" } true; local_#13577 := local_#31545_rc; assert { :LIR "62552" } { :check "overflow" } { :finding_ids "0" } true; local_#13578 := 11; goto CFG_45934; CFG_45934: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13576,local_#13577,local_#31480_ra,local_#13578); goto CFG_40218; CFG_40218: assume true; local_#13579 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13579!base, offset : local_#13579!offset + 0 }]; goto CFG_39534; CFG_40219: assume true; local_#31546_io := local_#31480_ra; havoc nondet_#52; havoc nondet_#53; havoc nondet_#54; local_#13580 := nondet_#54 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68637. */; assert { :LIR "68637" } { :check "overflow" } { :finding_ids "0" } true; local_#13581 := { base : local_#31546_io!base, offset : local_#31546_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31546_io!base, offset : local_#31546_io!offset + 8 }] := 3; goto CFG_39534; CFG_39534: assume true; goto CFG_45008; CFG_49642: assume true; local_#13582 := 23; local_#13583 := ~lshr32(local_#31479_i, local_#13582); local_#13584 := 511; local_#13585 := ~uand32(local_#13583, local_#13584); local_#13586 := local_#13585; assert { :LIR "60642" } { :check "overflow" } { :finding_ids "0" } local_#13586 <= 2147483647; local_#13587 := 256; local_#13588 := ~sand32(local_#13586, local_#13587); if (local_#13588 != 0) { goto CFG_40221; } else { goto CFG_40220; } CFG_40220: assume true; local_#13589 := 23; local_#13590 := ~lshr32(local_#31479_i, local_#13589); local_#13591 := 511; local_#13592 := ~uand32(local_#13590, local_#13591); local_#13593 := local_#13592; assert { :LIR "60643" } { :check "overflow" } { :finding_ids "0" } local_#13593 <= 2147483647; local_#13594 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13593 * 16 }; local_#30663 := local_#13594; goto CFG_49643; CFG_40221: assume true; local_#13595 := 23; local_#13596 := ~lshr32(local_#31479_i, local_#13595); local_#13597 := 511; local_#13598 := ~uand32(local_#13596, local_#13597); local_#13599 := local_#13598; assert { :LIR "60644" } { :check "overflow" } { :finding_ids "0" } local_#13599 <= 2147483647; local_#13600 := local_#13599; assert { :LIR "60645" } { :check "overflow" } { :finding_ids "0" } local_#13600 <= 2147483647; local_#13601 := -257; local_#13602 := ~sand32(local_#13600, local_#13601); local_#13603 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13602 * 16 }; local_#30663 := local_#13603; goto CFG_49643; CFG_49643: assume true; local_#31536_rb := local_#30663; local_#13604 := 14; local_#13605 := ~lshr32(local_#31479_i, local_#13604); local_#13606 := 511; local_#13607 := ~uand32(local_#13605, local_#13606); local_#13608 := local_#13607; assert { :LIR "60646" } { :check "overflow" } { :finding_ids "0" } local_#13608 <= 2147483647; local_#13609 := 256; local_#13610 := ~sand32(local_#13608, local_#13609); if (local_#13610 != 0) { goto CFG_40223; } else { goto CFG_40222; } CFG_40222: assume true; local_#13611 := 14; local_#13612 := ~lshr32(local_#31479_i, local_#13611); local_#13613 := 511; local_#13614 := ~uand32(local_#13612, local_#13613); local_#13615 := local_#13614; assert { :LIR "60647" } { :check "overflow" } { :finding_ids "0" } local_#13615 <= 2147483647; local_#13616 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13615 * 16 }; local_#30664 := local_#13616; goto CFG_49644; CFG_40223: assume true; local_#13617 := 14; local_#13618 := ~lshr32(local_#31479_i, local_#13617); local_#13619 := 511; local_#13620 := ~uand32(local_#13618, local_#13619); local_#13621 := local_#13620; assert { :LIR "60648" } { :check "overflow" } { :finding_ids "0" } local_#13621 <= 2147483647; local_#13622 := local_#13621; assert { :LIR "60649" } { :check "overflow" } { :finding_ids "0" } local_#13622 <= 2147483647; local_#13623 := -257; local_#13624 := ~sand32(local_#13622, local_#13623); local_#13625 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13624 * 16 }; local_#30664 := local_#13625; goto CFG_49644; CFG_49644: assume true; local_#31537_rc := local_#30664; local_#13626 := 19; local_#13627 := (if _memory[{ base : local_#31536_rb!base, offset : local_#31536_rb!offset + 8 }] == local_#13626 then 1 else 0); if (local_#13627 != 0) { goto CFG_49645; } else { goto CFG_49646; } CFG_49645: assume true; local_#13628 := 19; local_#13629 := (if _memory[{ base : local_#31537_rc!base, offset : local_#31537_rc!offset + 8 }] == local_#13628 then 1 else 0); if (local_#13629 != 0) { goto CFG_40227; } else { goto CFG_49646; } CFG_49646: assume true; local_#13630 := 3; local_#13631 := (if _memory[{ base : local_#31536_rb!base, offset : local_#31536_rb!offset + 8 }] == local_#13630 then 1 else 0); if (local_#13631 != 0) { goto CFG_49648; } else { goto CFG_42477; } CFG_42477: assume true; local_#13632 := local_#31536_rb; assert { :LIR "62553" } { :check "overflow" } { :finding_ids "0" } true; local_#13633 := local_#31534_nb; goto CFG_45935; CFG_45935: assume true; call local_#13634 := routine_#33904_luaV_tonumber_(local_#13632,local_#13633); goto CFG_49647; CFG_49647: assume true; local_#13635 := local_#13634; if (local_#13635 != 0) { goto CFG_49649; } else { goto CFG_42479; } CFG_49648: assume true; local_#13636 := { base : local_#31536_rb!base, offset : local_#31536_rb!offset + 0 }; havoc nondet_#55; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#56; local_#13637 := nondet_#56 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13638 := 1; if (local_#13638 != 0) { goto CFG_49649; } else { goto CFG_42479; } CFG_49649: assume true; local_#13639 := 3; local_#13640 := (if _memory[{ base : local_#31537_rc!base, offset : local_#31537_rc!offset + 8 }] == local_#13639 then 1 else 0); if (local_#13640 != 0) { goto CFG_49651; } else { goto CFG_42478; } CFG_42478: assume true; local_#13641 := local_#31537_rc; assert { :LIR "62554" } { :check "overflow" } { :finding_ids "0" } true; local_#13642 := local_#31535_nc; goto CFG_45936; CFG_45936: assume true; call local_#13643 := routine_#33904_luaV_tonumber_(local_#13641,local_#13642); goto CFG_49650; CFG_49650: assume true; local_#13644 := local_#13643; if (local_#13644 != 0) { goto CFG_40225; } else { goto CFG_42479; } CFG_49651: assume true; local_#13645 := { base : local_#31537_rc!base, offset : local_#31537_rc!offset + 0 }; havoc nondet_#57; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#58; local_#13646 := nondet_#58 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13647 := 1; if (local_#13647 != 0) { goto CFG_40225; } else { goto CFG_42479; } CFG_42479: assume true; local_#13648 := local_#31536_rb; assert { :LIR "62555" } { :check "overflow" } { :finding_ids "0" } true; local_#13649 := local_#31537_rc; assert { :LIR "62556" } { :check "overflow" } { :finding_ids "0" } true; local_#13650 := 8; goto CFG_45937; CFG_45937: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13648,local_#13649,local_#31480_ra,local_#13650); goto CFG_40224; CFG_40224: assume true; local_#13651 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13651!base, offset : local_#13651!offset + 0 }]; goto CFG_40226; CFG_40225: assume true; local_#31541_io := local_#31480_ra; havoc nondet_#59; havoc nondet_#60; havoc nondet_#61; local_#13652 := nondet_#61 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68531. */; assert { :LIR "68531" } { :check "overflow" } { :finding_ids "0" } true; local_#13653 := { base : local_#31541_io!base, offset : local_#31541_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31541_io!base, offset : local_#31541_io!offset + 8 }] := 3; goto CFG_40226; CFG_40226: assume true; goto CFG_39535; CFG_40227: assume true; local_#13654 := { base : local_#31536_rb!base, offset : local_#31536_rb!offset + 0 }; local_#31538_ib := _memory[local_#13654]; local_#13655 := { base : local_#31537_rc!base, offset : local_#31537_rc!offset + 0 }; local_#31539_ic := _memory[local_#13655]; local_#31540_io := local_#31480_ra; local_#13656 := ~uwrap64(local_#31538_ib); assert { :LIR "60650" } { :check "overflow" } { :finding_ids "0" } true; local_#13657 := ~uwrap64(local_#31539_ic); assert { :LIR "60651" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#13658 := ~uwrap64(local_#13656 * local_#13657); assert { :LIR "68532" } { :check "overflow" } { :finding_ids "0" } true; local_#13659 := local_#13658; assert { :LIR "60652" } { :check "overflow" } { :finding_ids "0" } local_#13659 <= 9223372036854775807; local_#13660 := { base : local_#31540_io!base, offset : local_#31540_io!offset + 0 }; _memory[local_#13660] := local_#13659; _memory[{ base : local_#31540_io!base, offset : local_#31540_io!offset + 8 }] := 19; goto CFG_39535; CFG_39535: assume true; goto CFG_45008; CFG_49652: assume true; local_#13661 := 23; local_#13662 := ~lshr32(local_#31479_i, local_#13661); local_#13663 := 511; local_#13664 := ~uand32(local_#13662, local_#13663); local_#13665 := local_#13664; assert { :LIR "60653" } { :check "overflow" } { :finding_ids "0" } local_#13665 <= 2147483647; local_#13666 := 256; local_#13667 := ~sand32(local_#13665, local_#13666); if (local_#13667 != 0) { goto CFG_40229; } else { goto CFG_40228; } CFG_40228: assume true; local_#13668 := 23; local_#13669 := ~lshr32(local_#31479_i, local_#13668); local_#13670 := 511; local_#13671 := ~uand32(local_#13669, local_#13670); local_#13672 := local_#13671; assert { :LIR "60654" } { :check "overflow" } { :finding_ids "0" } local_#13672 <= 2147483647; local_#13673 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13672 * 16 }; local_#30665 := local_#13673; goto CFG_49653; CFG_40229: assume true; local_#13674 := 23; local_#13675 := ~lshr32(local_#31479_i, local_#13674); local_#13676 := 511; local_#13677 := ~uand32(local_#13675, local_#13676); local_#13678 := local_#13677; assert { :LIR "60655" } { :check "overflow" } { :finding_ids "0" } local_#13678 <= 2147483647; local_#13679 := local_#13678; assert { :LIR "60656" } { :check "overflow" } { :finding_ids "0" } local_#13679 <= 2147483647; local_#13680 := -257; local_#13681 := ~sand32(local_#13679, local_#13680); local_#13682 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13681 * 16 }; local_#30665 := local_#13682; goto CFG_49653; CFG_49653: assume true; local_#31528_rb := local_#30665; local_#13683 := 14; local_#13684 := ~lshr32(local_#31479_i, local_#13683); local_#13685 := 511; local_#13686 := ~uand32(local_#13684, local_#13685); local_#13687 := local_#13686; assert { :LIR "60657" } { :check "overflow" } { :finding_ids "0" } local_#13687 <= 2147483647; local_#13688 := 256; local_#13689 := ~sand32(local_#13687, local_#13688); if (local_#13689 != 0) { goto CFG_40231; } else { goto CFG_40230; } CFG_40230: assume true; local_#13690 := 14; local_#13691 := ~lshr32(local_#31479_i, local_#13690); local_#13692 := 511; local_#13693 := ~uand32(local_#13691, local_#13692); local_#13694 := local_#13693; assert { :LIR "60658" } { :check "overflow" } { :finding_ids "0" } local_#13694 <= 2147483647; local_#13695 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13694 * 16 }; local_#30666 := local_#13695; goto CFG_49654; CFG_40231: assume true; local_#13696 := 14; local_#13697 := ~lshr32(local_#31479_i, local_#13696); local_#13698 := 511; local_#13699 := ~uand32(local_#13697, local_#13698); local_#13700 := local_#13699; assert { :LIR "60659" } { :check "overflow" } { :finding_ids "0" } local_#13700 <= 2147483647; local_#13701 := local_#13700; assert { :LIR "60660" } { :check "overflow" } { :finding_ids "0" } local_#13701 <= 2147483647; local_#13702 := -257; local_#13703 := ~sand32(local_#13701, local_#13702); local_#13704 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13703 * 16 }; local_#30666 := local_#13704; goto CFG_49654; CFG_49654: assume true; local_#31529_rc := local_#30666; local_#13705 := 19; local_#13706 := (if _memory[{ base : local_#31528_rb!base, offset : local_#31528_rb!offset + 8 }] == local_#13705 then 1 else 0); if (local_#13706 != 0) { goto CFG_49655; } else { goto CFG_49656; } CFG_49655: assume true; local_#13707 := 19; local_#13708 := (if _memory[{ base : local_#31529_rc!base, offset : local_#31529_rc!offset + 8 }] == local_#13707 then 1 else 0); if (local_#13708 != 0) { goto CFG_40235; } else { goto CFG_49656; } CFG_49656: assume true; local_#13709 := 3; local_#13710 := (if _memory[{ base : local_#31528_rb!base, offset : local_#31528_rb!offset + 8 }] == local_#13709 then 1 else 0); if (local_#13710 != 0) { goto CFG_49658; } else { goto CFG_42480; } CFG_42480: assume true; local_#13711 := local_#31528_rb; assert { :LIR "62557" } { :check "overflow" } { :finding_ids "0" } true; local_#13712 := local_#31526_nb; goto CFG_45938; CFG_45938: assume true; call local_#13713 := routine_#33904_luaV_tonumber_(local_#13711,local_#13712); goto CFG_49657; CFG_49657: assume true; local_#13714 := local_#13713; if (local_#13714 != 0) { goto CFG_49659; } else { goto CFG_42482; } CFG_49658: assume true; local_#13715 := { base : local_#31528_rb!base, offset : local_#31528_rb!offset + 0 }; havoc nondet_#62; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#63; local_#13716 := nondet_#63 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13717 := 1; if (local_#13717 != 0) { goto CFG_49659; } else { goto CFG_42482; } CFG_49659: assume true; local_#13718 := 3; local_#13719 := (if _memory[{ base : local_#31529_rc!base, offset : local_#31529_rc!offset + 8 }] == local_#13718 then 1 else 0); if (local_#13719 != 0) { goto CFG_49661; } else { goto CFG_42481; } CFG_42481: assume true; local_#13720 := local_#31529_rc; assert { :LIR "62558" } { :check "overflow" } { :finding_ids "0" } true; local_#13721 := local_#31527_nc; goto CFG_45939; CFG_45939: assume true; call local_#13722 := routine_#33904_luaV_tonumber_(local_#13720,local_#13721); goto CFG_49660; CFG_49660: assume true; local_#13723 := local_#13722; if (local_#13723 != 0) { goto CFG_40233; } else { goto CFG_42482; } CFG_49661: assume true; local_#13724 := { base : local_#31529_rc!base, offset : local_#31529_rc!offset + 0 }; havoc nondet_#64; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#65; local_#13725 := nondet_#65 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13726 := 1; if (local_#13726 != 0) { goto CFG_40233; } else { goto CFG_42482; } CFG_42482: assume true; local_#13727 := local_#31528_rb; assert { :LIR "62559" } { :check "overflow" } { :finding_ids "0" } true; local_#13728 := local_#31529_rc; assert { :LIR "62560" } { :check "overflow" } { :finding_ids "0" } true; local_#13729 := 7; goto CFG_45940; CFG_45940: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13727,local_#13728,local_#31480_ra,local_#13729); goto CFG_40232; CFG_40232: assume true; local_#13730 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13730!base, offset : local_#13730!offset + 0 }]; goto CFG_40234; CFG_40233: assume true; local_#31533_io := local_#31480_ra; havoc nondet_#66; havoc nondet_#67; havoc nondet_#68; local_#13731 := nondet_#68 /* IR2BOOGIE-ERROR: Unsupported type for binary - in 67947. */; assert { :LIR "67947" } { :check "overflow" } { :finding_ids "0" } true; local_#13732 := { base : local_#31533_io!base, offset : local_#31533_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31533_io!base, offset : local_#31533_io!offset + 8 }] := 3; goto CFG_40234; CFG_40234: assume true; goto CFG_39536; CFG_40235: assume true; local_#13733 := { base : local_#31528_rb!base, offset : local_#31528_rb!offset + 0 }; local_#31530_ib := _memory[local_#13733]; local_#13734 := { base : local_#31529_rc!base, offset : local_#31529_rc!offset + 0 }; local_#31531_ic := _memory[local_#13734]; local_#31532_io := local_#31480_ra; local_#13735 := ~uwrap64(local_#31530_ib); assert { :LIR "60661" } { :check "overflow" } { :finding_ids "0" } true; local_#13736 := ~uwrap64(local_#31531_ic); assert { :LIR "60662" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#13737 := ~uwrap64(local_#13735 - local_#13736); assert { :LIR "67948" } { :check "overflow" } { :finding_ids "0" } true; local_#13738 := local_#13737; assert { :LIR "60663" } { :check "overflow" } { :finding_ids "0" } local_#13738 <= 9223372036854775807; local_#13739 := { base : local_#31532_io!base, offset : local_#31532_io!offset + 0 }; _memory[local_#13739] := local_#13738; _memory[{ base : local_#31532_io!base, offset : local_#31532_io!offset + 8 }] := 19; goto CFG_39536; CFG_39536: assume true; goto CFG_45008; CFG_49662: assume true; local_#13740 := 23; local_#13741 := ~lshr32(local_#31479_i, local_#13740); local_#13742 := 511; local_#13743 := ~uand32(local_#13741, local_#13742); local_#13744 := local_#13743; assert { :LIR "60664" } { :check "overflow" } { :finding_ids "0" } local_#13744 <= 2147483647; local_#13745 := 256; local_#13746 := ~sand32(local_#13744, local_#13745); if (local_#13746 != 0) { goto CFG_40237; } else { goto CFG_40236; } CFG_40236: assume true; local_#13747 := 23; local_#13748 := ~lshr32(local_#31479_i, local_#13747); local_#13749 := 511; local_#13750 := ~uand32(local_#13748, local_#13749); local_#13751 := local_#13750; assert { :LIR "60665" } { :check "overflow" } { :finding_ids "0" } local_#13751 <= 2147483647; local_#13752 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13751 * 16 }; local_#30667 := local_#13752; goto CFG_49663; CFG_40237: assume true; local_#13753 := 23; local_#13754 := ~lshr32(local_#31479_i, local_#13753); local_#13755 := 511; local_#13756 := ~uand32(local_#13754, local_#13755); local_#13757 := local_#13756; assert { :LIR "60666" } { :check "overflow" } { :finding_ids "0" } local_#13757 <= 2147483647; local_#13758 := local_#13757; assert { :LIR "60667" } { :check "overflow" } { :finding_ids "0" } local_#13758 <= 2147483647; local_#13759 := -257; local_#13760 := ~sand32(local_#13758, local_#13759); local_#13761 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13760 * 16 }; local_#30667 := local_#13761; goto CFG_49663; CFG_49663: assume true; local_#31520_rb := local_#30667; local_#13762 := 14; local_#13763 := ~lshr32(local_#31479_i, local_#13762); local_#13764 := 511; local_#13765 := ~uand32(local_#13763, local_#13764); local_#13766 := local_#13765; assert { :LIR "60668" } { :check "overflow" } { :finding_ids "0" } local_#13766 <= 2147483647; local_#13767 := 256; local_#13768 := ~sand32(local_#13766, local_#13767); if (local_#13768 != 0) { goto CFG_40239; } else { goto CFG_40238; } CFG_40238: assume true; local_#13769 := 14; local_#13770 := ~lshr32(local_#31479_i, local_#13769); local_#13771 := 511; local_#13772 := ~uand32(local_#13770, local_#13771); local_#13773 := local_#13772; assert { :LIR "60669" } { :check "overflow" } { :finding_ids "0" } local_#13773 <= 2147483647; local_#13774 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13773 * 16 }; local_#30668 := local_#13774; goto CFG_49664; CFG_40239: assume true; local_#13775 := 14; local_#13776 := ~lshr32(local_#31479_i, local_#13775); local_#13777 := 511; local_#13778 := ~uand32(local_#13776, local_#13777); local_#13779 := local_#13778; assert { :LIR "60670" } { :check "overflow" } { :finding_ids "0" } local_#13779 <= 2147483647; local_#13780 := local_#13779; assert { :LIR "60671" } { :check "overflow" } { :finding_ids "0" } local_#13780 <= 2147483647; local_#13781 := -257; local_#13782 := ~sand32(local_#13780, local_#13781); local_#13783 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13782 * 16 }; local_#30668 := local_#13783; goto CFG_49664; CFG_49664: assume true; local_#31521_rc := local_#30668; local_#13784 := 19; local_#13785 := (if _memory[{ base : local_#31520_rb!base, offset : local_#31520_rb!offset + 8 }] == local_#13784 then 1 else 0); if (local_#13785 != 0) { goto CFG_49665; } else { goto CFG_49666; } CFG_49665: assume true; local_#13786 := 19; local_#13787 := (if _memory[{ base : local_#31521_rc!base, offset : local_#31521_rc!offset + 8 }] == local_#13786 then 1 else 0); if (local_#13787 != 0) { goto CFG_40243; } else { goto CFG_49666; } CFG_49666: assume true; local_#13788 := 3; local_#13789 := (if _memory[{ base : local_#31520_rb!base, offset : local_#31520_rb!offset + 8 }] == local_#13788 then 1 else 0); if (local_#13789 != 0) { goto CFG_49668; } else { goto CFG_42483; } CFG_42483: assume true; local_#13790 := local_#31520_rb; assert { :LIR "62561" } { :check "overflow" } { :finding_ids "0" } true; local_#13791 := local_#31518_nb; goto CFG_45941; CFG_45941: assume true; call local_#13792 := routine_#33904_luaV_tonumber_(local_#13790,local_#13791); goto CFG_49667; CFG_49667: assume true; local_#13793 := local_#13792; if (local_#13793 != 0) { goto CFG_49669; } else { goto CFG_42485; } CFG_49668: assume true; local_#13794 := { base : local_#31520_rb!base, offset : local_#31520_rb!offset + 0 }; havoc nondet_#69; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#70; local_#13795 := nondet_#70 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13796 := 1; if (local_#13796 != 0) { goto CFG_49669; } else { goto CFG_42485; } CFG_49669: assume true; local_#13797 := 3; local_#13798 := (if _memory[{ base : local_#31521_rc!base, offset : local_#31521_rc!offset + 8 }] == local_#13797 then 1 else 0); if (local_#13798 != 0) { goto CFG_49671; } else { goto CFG_42484; } CFG_42484: assume true; local_#13799 := local_#31521_rc; assert { :LIR "62562" } { :check "overflow" } { :finding_ids "0" } true; local_#13800 := local_#31519_nc; goto CFG_45942; CFG_45942: assume true; call local_#13801 := routine_#33904_luaV_tonumber_(local_#13799,local_#13800); goto CFG_49670; CFG_49670: assume true; local_#13802 := local_#13801; if (local_#13802 != 0) { goto CFG_40241; } else { goto CFG_42485; } CFG_49671: assume true; local_#13803 := { base : local_#31521_rc!base, offset : local_#31521_rc!offset + 0 }; havoc nondet_#71; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#72; local_#13804 := nondet_#72 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#13805 := 1; if (local_#13805 != 0) { goto CFG_40241; } else { goto CFG_42485; } CFG_42485: assume true; local_#13806 := local_#31520_rb; assert { :LIR "62563" } { :check "overflow" } { :finding_ids "0" } true; local_#13807 := local_#31521_rc; assert { :LIR "62564" } { :check "overflow" } { :finding_ids "0" } true; local_#13808 := 6; goto CFG_45943; CFG_45943: assume true; call routine_#33888_luaT_trybinTM(local_#4189_L,local_#13806,local_#13807,local_#31480_ra,local_#13808); goto CFG_40240; CFG_40240: assume true; local_#13809 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13809!base, offset : local_#13809!offset + 0 }]; goto CFG_40242; CFG_40241: assume true; local_#31525_io := local_#31480_ra; havoc nondet_#73; havoc nondet_#74; havoc nondet_#75; local_#13810 := nondet_#75 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66469. */; assert { :LIR "66469" } { :check "overflow" } { :finding_ids "0" } true; local_#13811 := { base : local_#31525_io!base, offset : local_#31525_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31525_io!base, offset : local_#31525_io!offset + 8 }] := 3; goto CFG_40242; CFG_40242: assume true; goto CFG_39537; CFG_40243: assume true; local_#13812 := { base : local_#31520_rb!base, offset : local_#31520_rb!offset + 0 }; local_#31522_ib := _memory[local_#13812]; local_#13813 := { base : local_#31521_rc!base, offset : local_#31521_rc!offset + 0 }; local_#31523_ic := _memory[local_#13813]; local_#31524_io := local_#31480_ra; local_#13814 := ~uwrap64(local_#31522_ib); assert { :LIR "60672" } { :check "overflow" } { :finding_ids "0" } true; local_#13815 := ~uwrap64(local_#31523_ic); assert { :LIR "60673" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#13816 := ~uwrap64(local_#13814 + local_#13815); assert { :LIR "66470" } { :check "overflow" } { :finding_ids "0" } true; local_#13817 := local_#13816; assert { :LIR "60674" } { :check "overflow" } { :finding_ids "0" } local_#13817 <= 9223372036854775807; local_#13818 := { base : local_#31524_io!base, offset : local_#31524_io!offset + 0 }; _memory[local_#13818] := local_#13817; _memory[{ base : local_#31524_io!base, offset : local_#31524_io!offset + 8 }] := 19; goto CFG_39537; CFG_39537: assume true; goto CFG_45008; CFG_49672: assume true; local_#13819 := 23; local_#13820 := ~lshr32(local_#31479_i, local_#13819); local_#13821 := 511; local_#13822 := ~uand32(local_#13820, local_#13821); local_#13823 := local_#13822; assert { :LIR "60675" } { :check "overflow" } { :finding_ids "0" } local_#13823 <= 2147483647; local_#13824 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13823 * 16 }; local_#31514_rb := local_#13824; local_#13825 := 14; local_#13826 := ~lshr32(local_#31479_i, local_#13825); local_#13827 := 511; local_#13828 := ~uand32(local_#13826, local_#13827); local_#13829 := local_#13828; assert { :LIR "60676" } { :check "overflow" } { :finding_ids "0" } local_#13829 <= 2147483647; local_#13830 := 256; local_#13831 := ~sand32(local_#13829, local_#13830); if (local_#13831 != 0) { goto CFG_40245; } else { goto CFG_40244; } CFG_40244: assume true; local_#13832 := 14; local_#13833 := ~lshr32(local_#31479_i, local_#13832); local_#13834 := 511; local_#13835 := ~uand32(local_#13833, local_#13834); local_#13836 := local_#13835; assert { :LIR "60677" } { :check "overflow" } { :finding_ids "0" } local_#13836 <= 2147483647; local_#13837 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13836 * 16 }; local_#30669 := local_#13837; goto CFG_49673; CFG_40245: assume true; local_#13838 := 14; local_#13839 := ~lshr32(local_#31479_i, local_#13838); local_#13840 := 511; local_#13841 := ~uand32(local_#13839, local_#13840); local_#13842 := local_#13841; assert { :LIR "60678" } { :check "overflow" } { :finding_ids "0" } local_#13842 <= 2147483647; local_#13843 := local_#13842; assert { :LIR "60679" } { :check "overflow" } { :finding_ids "0" } local_#13843 <= 2147483647; local_#13844 := -257; local_#13845 := ~sand32(local_#13843, local_#13844); local_#13846 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13845 * 16 }; local_#30669 := local_#13846; goto CFG_49673; CFG_49673: assume true; local_#31515_rc := local_#30669; local_#13847 := { base : local_#31515_rc!base, offset : local_#31515_rc!offset + 0 }; local_#13848 := _memory_ptr[local_#13847]; assert { :LIR "60680" } { :check "overflow" } { :finding_ids "0" } true; local_#13849 := { base : local_#13848!base, offset : local_#13848!offset + 0 }; local_#31513_key := local_#13849; local_#13850 := 1; local_#13851 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#13850 * 16 }; local_#31516_io1 := local_#13851; assume read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_b == _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_f == _memory_ptr[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_gc == _memory_ptr[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_i == _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_value_!_p == _memory_ptr[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31514_rb)!_tt_ == _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 8 }]; call write_type_#101(local_#31516_io1,read_type_#101(_memory, _memory_ptr, local_#31514_rb)); local_#13852 := 0; assert { :LIR "60681" } { :check "overflow" } { :finding_ids "0" } true; local_#13853 := 0; local_#13854 := 0; assert { :LIR "60682" } { :check "overflow" } { :finding_ids "0" } true; local_#13855 := 69; local_#13856 := (if _memory[{ base : local_#31514_rb!base, offset : local_#31514_rb!offset + 8 }] == local_#13855 then 1 else 0); local_#13857 := (if local_#13856 != 0 then 0 else 1); if (local_#13857 != 0) { goto CFG_49675; } else { goto CFG_42486; } CFG_42486: assume true; local_#13858 := { base : local_#31514_rb!base, offset : local_#31514_rb!offset + 0 }; local_#13859 := _memory_ptr[local_#13858]; assert { :LIR "60683" } { :check "overflow" } { :finding_ids "0" } true; local_#13860 := { base : local_#13859!base, offset : local_#13859!offset + 0 }; goto CFG_45944; CFG_45944: assume true; call local_#13861 := routine_#33771_luaH_getstr(local_#13860,local_#31513_key); goto CFG_49674; CFG_49674: assume true; local_#31512_aux := local_#13861; local_#13862 := local_#31512_aux; local_#13863 := 0; local_#13864 := (if _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 8 }] == local_#13863 then 1 else 0); local_#13865 := (if local_#13864 != 0 then 0 else 1); local_#13866 := local_#13865; if (local_#13866 != 0) { goto CFG_40247; } else { goto CFG_42487; } CFG_49675: assume true; local_#31512_aux := { base : 0, offset : 0 }; local_#13867 := local_#31512_aux; local_#13868 := 0; if (local_#13868 != 0) { goto CFG_40247; } else { goto CFG_42487; } CFG_42487: assume true; local_#13869 := local_#31514_rb; assert { :LIR "62565" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45945; CFG_45945: assume true; call routine_#33896_luaV_finishget(local_#4189_L,local_#13869,local_#31515_rc,local_#31480_ra,local_#31512_aux); goto CFG_40246; CFG_40246: assume true; local_#13870 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13870!base, offset : local_#13870!offset + 0 }]; goto CFG_39538; CFG_40247: assume true; local_#31517_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_b == _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_f == _memory_ptr[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_gc == _memory_ptr[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_i == _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_value_!_p == _memory_ptr[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31512_aux)!_tt_ == _memory[{ base : local_#31512_aux!base, offset : local_#31512_aux!offset + 8 }]; call write_type_#101(local_#31517_io1,read_type_#101(_memory, _memory_ptr, local_#31512_aux)); local_#13871 := 0; assert { :LIR "60684" } { :check "overflow" } { :finding_ids "0" } true; local_#13872 := 0; local_#13873 := 0; assert { :LIR "60685" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39538; CFG_39538: assume true; goto CFG_45008; CFG_42488: assume true; local_#13874 := 23; local_#13875 := ~lshr32(local_#31479_i, local_#13874); local_#13876 := 511; local_#13877 := ~uand32(local_#13875, local_#13876); local_#13878 := local_#13877; assert { :LIR "60686" } { :check "overflow" } { :finding_ids "0" } local_#13878 <= 2147483647; local_#31507_b := local_#13878; local_#13879 := 14; local_#13880 := ~lshr32(local_#31479_i, local_#13879); local_#13881 := 511; local_#13882 := ~uand32(local_#13880, local_#13881); local_#13883 := local_#13882; assert { :LIR "60687" } { :check "overflow" } { :finding_ids "0" } local_#13883 <= 2147483647; local_#31508_c := local_#13883; goto CFG_45946; CFG_45946: assume true; call local_#13884 := routine_#33772_luaH_new(local_#4189_L); goto CFG_49676; CFG_49676: assume true; local_#31509_t := local_#13884; local_#31510_io := local_#31480_ra; local_#31511_x_ := local_#31509_t; local_#13885 := local_#31511_x_; assert { :LIR "60688" } { :check "overflow" } { :finding_ids "0" } true; local_#13886 := { base : local_#13885!base, offset : local_#13885!offset + 0 }; local_#13887 := { base : local_#31510_io!base, offset : local_#31510_io!offset + 0 }; _memory_ptr[local_#13887] := local_#13886; _memory[{ base : local_#31510_io!base, offset : local_#31510_io!offset + 8 }] := 69; local_#13888 := 0; local_#13889 := 0; assert { :LIR "60689" } { :check "overflow" } { :finding_ids "0" } true; local_#13890 := 0; local_#13891 := (if local_#31507_b != local_#13890 then 1 else 0); if (local_#13891 != 0) { goto CFG_45947; } else { goto CFG_49677; } CFG_49677: assume true; local_#13892 := 0; local_#13893 := (if local_#31508_c != local_#13892 then 1 else 0); if (local_#13893 != 0) { goto CFG_45947; } else { goto CFG_49678; } CFG_45947: assume true; call local_#13894 := routine_#33862_luaO_fb2int(local_#31507_b); goto CFG_42489; CFG_42489: assume true; local_#13895 := ~uwrap32(local_#13894); assert { :LIR "62566" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45948; CFG_45948: assume true; call local_#13896 := routine_#33862_luaO_fb2int(local_#31508_c); goto CFG_42490; CFG_42490: assume true; local_#13897 := ~uwrap32(local_#13896); assert { :LIR "62567" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45949; CFG_45949: assume true; call routine_#33775_luaH_resize(local_#4189_L,local_#31509_t,local_#13895,local_#13897); goto CFG_40248; CFG_40248: assume true; goto CFG_49678; CFG_49678: assume true; local_#13898 := _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 24 }]; local_#13899 := 0; local_#13900 := (if _memory[{ base : local_#13898!base, offset : local_#13898!offset + 24 }] > local_#13899 then 1 else 0); if (local_#13900 != 0) { goto CFG_42491; } else { goto CFG_39539; } CFG_42491: assume true; local_#13901 := 1; local_#13902 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + local_#13901 * 16 }; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := local_#13902; goto CFG_45950; CFG_45950: assume true; call routine_#33728_luaC_step(local_#4189_L); goto CFG_40249; CFG_40249: assume true; _memory_ptr[{ base : local_#4189_L!base, offset : local_#4189_L!offset + 16 }] := _memory_ptr[{ base : local_#31476_ci!base, offset : local_#31476_ci!offset + 8 }]; local_#13903 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13903!base, offset : local_#13903!offset + 0 }]; goto CFG_39539; CFG_39539: assume true; local_#13904 := 0; local_#13905 := 0; assert { :LIR "60690" } { :check "overflow" } { :finding_ids "0" } true; local_#13906 := 0; local_#13907 := 0; assert { :LIR "60691" } { :check "overflow" } { :finding_ids "0" } true; local_#13908 := 0; local_#13909 := 0; assert { :LIR "60692" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_49679: assume true; local_#13910 := 23; local_#13911 := ~lshr32(local_#31479_i, local_#13910); local_#13912 := 511; local_#13913 := ~uand32(local_#13911, local_#13912); local_#13914 := local_#13913; assert { :LIR "60693" } { :check "overflow" } { :finding_ids "0" } local_#13914 <= 2147483647; local_#13915 := 256; local_#13916 := ~sand32(local_#13914, local_#13915); if (local_#13916 != 0) { goto CFG_40251; } else { goto CFG_40250; } CFG_40250: assume true; local_#13917 := 23; local_#13918 := ~lshr32(local_#31479_i, local_#13917); local_#13919 := 511; local_#13920 := ~uand32(local_#13918, local_#13919); local_#13921 := local_#13920; assert { :LIR "60694" } { :check "overflow" } { :finding_ids "0" } local_#13921 <= 2147483647; local_#13922 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13921 * 16 }; local_#30670 := local_#13922; goto CFG_49680; CFG_40251: assume true; local_#13923 := 23; local_#13924 := ~lshr32(local_#31479_i, local_#13923); local_#13925 := 511; local_#13926 := ~uand32(local_#13924, local_#13925); local_#13927 := local_#13926; assert { :LIR "60695" } { :check "overflow" } { :finding_ids "0" } local_#13927 <= 2147483647; local_#13928 := local_#13927; assert { :LIR "60696" } { :check "overflow" } { :finding_ids "0" } local_#13928 <= 2147483647; local_#13929 := -257; local_#13930 := ~sand32(local_#13928, local_#13929); local_#13931 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13930 * 16 }; local_#30670 := local_#13931; goto CFG_49680; CFG_49680: assume true; local_#31504_rb := local_#30670; local_#13932 := 14; local_#13933 := ~lshr32(local_#31479_i, local_#13932); local_#13934 := 511; local_#13935 := ~uand32(local_#13933, local_#13934); local_#13936 := local_#13935; assert { :LIR "60697" } { :check "overflow" } { :finding_ids "0" } local_#13936 <= 2147483647; local_#13937 := 256; local_#13938 := ~sand32(local_#13936, local_#13937); if (local_#13938 != 0) { goto CFG_40253; } else { goto CFG_40252; } CFG_40252: assume true; local_#13939 := 14; local_#13940 := ~lshr32(local_#31479_i, local_#13939); local_#13941 := 511; local_#13942 := ~uand32(local_#13940, local_#13941); local_#13943 := local_#13942; assert { :LIR "60698" } { :check "overflow" } { :finding_ids "0" } local_#13943 <= 2147483647; local_#13944 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#13943 * 16 }; local_#30671 := local_#13944; goto CFG_49681; CFG_40253: assume true; local_#13945 := 14; local_#13946 := ~lshr32(local_#31479_i, local_#13945); local_#13947 := 511; local_#13948 := ~uand32(local_#13946, local_#13947); local_#13949 := local_#13948; assert { :LIR "60699" } { :check "overflow" } { :finding_ids "0" } local_#13949 <= 2147483647; local_#13950 := local_#13949; assert { :LIR "60700" } { :check "overflow" } { :finding_ids "0" } local_#13950 <= 2147483647; local_#13951 := -257; local_#13952 := ~sand32(local_#13950, local_#13951); local_#13953 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#13952 * 16 }; local_#30671 := local_#13953; goto CFG_49681; CFG_49681: assume true; local_#31505_rc := local_#30671; local_#13954 := 69; local_#13955 := (if _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }] == local_#13954 then 1 else 0); local_#13956 := (if local_#13955 != 0 then 0 else 1); if (local_#13956 != 0) { goto CFG_49687; } else { goto CFG_42492; } CFG_42492: assume true; local_#13957 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#13958 := _memory_ptr[local_#13957]; assert { :LIR "60701" } { :check "overflow" } { :finding_ids "0" } true; local_#13959 := { base : local_#13958!base, offset : local_#13958!offset + 0 }; local_#13960 := local_#31504_rb; assert { :LIR "62568" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45951; CFG_45951: assume true; call local_#13961 := routine_#33767_luaH_get(local_#13959,local_#13960); goto CFG_49682; CFG_49682: assume true; local_#31506_slot := local_#13961; local_#13962 := local_#31506_slot; local_#13963 := 0; local_#13964 := (if _memory[{ base : local_#31506_slot!base, offset : local_#31506_slot!offset + 8 }] == local_#13963 then 1 else 0); if (local_#13964 != 0) { goto CFG_40257; } else { goto CFG_49683; } CFG_49683: assume true; local_#13965 := 64; local_#13966 := ~sand32(_memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 8 }], local_#13965); if (local_#13966 != 0) { goto CFG_49684; } else { goto CFG_40254; } CFG_49684: assume true; local_#13967 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#13968 := _memory_ptr[local_#13967]; assert { :LIR "60702" } { :check "overflow" } { :finding_ids "0" } true; local_#13969 := { base : local_#13968!base, offset : local_#13968!offset + 0 }; local_#13970 := _memory[{ base : local_#13969!base, offset : local_#13969!offset + 9 }]; assert { :LIR "62569" } { :check "overflow" } { :finding_ids "0" } local_#13970 <= 2147483647; local_#13971 := 4; local_#13972 := ~sand32(local_#13970, local_#13971); if (local_#13972 != 0) { goto CFG_49685; } else { goto CFG_40254; } CFG_49685: assume true; local_#13973 := { base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 }; local_#13974 := _memory_ptr[local_#13973]; local_#13975 := _memory[{ base : local_#13974!base, offset : local_#13974!offset + 9 }]; assert { :LIR "62570" } { :check "overflow" } { :finding_ids "0" } local_#13975 <= 2147483647; local_#13976 := 3; local_#13977 := ~sand32(local_#13975, local_#13976); if (local_#13977 != 0) { goto CFG_42493; } else { goto CFG_40254; } CFG_40254: assume true; local_#13978 := 0; local_#13979 := 0; assert { :LIR "60703" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40256; CFG_42493: assume true; local_#13980 := { base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 }; local_#13981 := _memory_ptr[local_#13980]; assert { :LIR "60704" } { :check "overflow" } { :finding_ids "0" } true; local_#13982 := { base : local_#13981!base, offset : local_#13981!offset + 0 }; goto CFG_45952; CFG_45952: assume true; call routine_#33721_luaC_barrierback_(local_#4189_L,local_#13982); goto CFG_40255; CFG_40255: assume true; goto CFG_40256; CFG_40256: assume true; local_#13983 := 0; assert { :LIR "60705" } { :check "overflow" } { :finding_ids "0" } true; local_#13984 := local_#31506_slot; assert { :LIR "60706" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_b == _memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_f == _memory_ptr[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_gc == _memory_ptr[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_i == _memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_value_!_p == _memory_ptr[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31505_rc)!_tt_ == _memory[{ base : local_#31505_rc!base, offset : local_#31505_rc!offset + 8 }]; call write_type_#101(local_#13984,read_type_#101(_memory, _memory_ptr, local_#31505_rc)); assume read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_b == _memory[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_f == _memory_ptr[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_gc == _memory_ptr[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_i == _memory[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#13984)!_value_!_p == _memory_ptr[{ base : local_#13984!base, offset : local_#13984!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#13984)!_tt_ == _memory[{ base : local_#13984!base, offset : local_#13984!offset + 8 }]; local_#13985 := read_type_#101(_memory, _memory_ptr, local_#13984); local_#13986 := local_#13985; local_#13987 := 0; local_#13988 := 0; assert { :LIR "60707" } { :check "overflow" } { :finding_ids "0" } true; local_#30672 := 1; goto CFG_49686; CFG_40257: assume true; local_#30672 := 0; goto CFG_49686; CFG_49686: assume true; local_#13989 := local_#30672; local_#13990 := local_#13989; if (local_#13990 != 0) { goto CFG_39540; } else { goto CFG_42494; } CFG_49687: assume true; local_#31506_slot := { base : 0, offset : 0 }; local_#13991 := local_#31506_slot; local_#13992 := 0; if (local_#13992 != 0) { goto CFG_39540; } else { goto CFG_42494; } CFG_42494: assume true; local_#13993 := local_#31480_ra; assert { :LIR "62571" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45953; CFG_45953: assume true; call routine_#33897_luaV_finishset(local_#4189_L,local_#13993,local_#31504_rb,local_#31505_rc,local_#31506_slot); goto CFG_40258; CFG_40258: assume true; local_#13994 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#13994!base, offset : local_#13994!offset + 0 }]; goto CFG_39540; CFG_39540: assume true; goto CFG_45008; CFG_49688: assume true; local_#13995 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; local_#13996 := 23; local_#13997 := ~lshr32(local_#31479_i, local_#13996); local_#13998 := 511; local_#13999 := ~uand32(local_#13997, local_#13998); local_#14000 := local_#13999; assert { :LIR "60708" } { :check "overflow" } { :finding_ids "0" } local_#14000 <= 2147483647; local_#14001 := { base : local_#13995!base, offset : local_#13995!offset + 0 * 8 + local_#14000 * 8 }; local_#31502_uv := _memory_ptr[local_#14001]; local_#31503_io1 := _memory_ptr[{ base : local_#31502_uv!base, offset : local_#31502_uv!offset + 0 }]; assume read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_b == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_f == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_gc == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_i == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_value_!_p == _memory_ptr[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31480_ra)!_tt_ == _memory[{ base : local_#31480_ra!base, offset : local_#31480_ra!offset + 8 }]; call write_type_#101(local_#31503_io1,read_type_#101(_memory, _memory_ptr, local_#31480_ra)); local_#14002 := 0; assert { :LIR "60709" } { :check "overflow" } { :finding_ids "0" } true; local_#14003 := 0; local_#14004 := 0; assert { :LIR "60710" } { :check "overflow" } { :finding_ids "0" } true; local_#14005 := _memory_ptr[{ base : local_#31502_uv!base, offset : local_#31502_uv!offset + 0 }]; local_#14006 := 64; local_#14007 := ~sand32(_memory[{ base : local_#14005!base, offset : local_#14005!offset + 8 }], local_#14006); if (local_#14007 != 0) { goto CFG_49689; } else { goto CFG_40259; } CFG_49689: assume true; local_#14008 := { base : local_#31502_uv!base, offset : local_#31502_uv!offset + 16 }; local_#14009 := (if _memory_ptr[{ base : local_#31502_uv!base, offset : local_#31502_uv!offset + 0 }] != local_#14008 then 1 else 0); local_#14010 := (if local_#14009 != 0 then 0 else 1); if (local_#14010 != 0) { goto CFG_45954; } else { goto CFG_40259; } CFG_40259: assume true; local_#14011 := 0; local_#14012 := 0; assert { :LIR "60711" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39541; CFG_45954: assume true; call routine_#33729_luaC_upvalbarrier_(local_#4189_L,local_#31502_uv); goto CFG_40260; CFG_40260: assume true; goto CFG_39541; CFG_39541: assume true; goto CFG_45008; CFG_49690: assume true; local_#14013 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; local_#14014 := 6; local_#14015 := ~lshr32(local_#31479_i, local_#14014); local_#14016 := 255; local_#14017 := ~uand32(local_#14015, local_#14016); local_#14018 := local_#14017; assert { :LIR "60712" } { :check "overflow" } { :finding_ids "0" } local_#14018 <= 2147483647; local_#14019 := { base : local_#14013!base, offset : local_#14013!offset + 0 * 8 + local_#14018 * 8 }; local_#14020 := _memory_ptr[local_#14019]; local_#31500_upval := _memory_ptr[{ base : local_#14020!base, offset : local_#14020!offset + 0 }]; local_#14021 := 23; local_#14022 := ~lshr32(local_#31479_i, local_#14021); local_#14023 := 511; local_#14024 := ~uand32(local_#14022, local_#14023); local_#14025 := local_#14024; assert { :LIR "60713" } { :check "overflow" } { :finding_ids "0" } local_#14025 <= 2147483647; local_#14026 := 256; local_#14027 := ~sand32(local_#14025, local_#14026); if (local_#14027 != 0) { goto CFG_40262; } else { goto CFG_40261; } CFG_40261: assume true; local_#14028 := 23; local_#14029 := ~lshr32(local_#31479_i, local_#14028); local_#14030 := 511; local_#14031 := ~uand32(local_#14029, local_#14030); local_#14032 := local_#14031; assert { :LIR "60714" } { :check "overflow" } { :finding_ids "0" } local_#14032 <= 2147483647; local_#14033 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14032 * 16 }; local_#30673 := local_#14033; goto CFG_49691; CFG_40262: assume true; local_#14034 := 23; local_#14035 := ~lshr32(local_#31479_i, local_#14034); local_#14036 := 511; local_#14037 := ~uand32(local_#14035, local_#14036); local_#14038 := local_#14037; assert { :LIR "60715" } { :check "overflow" } { :finding_ids "0" } local_#14038 <= 2147483647; local_#14039 := local_#14038; assert { :LIR "60716" } { :check "overflow" } { :finding_ids "0" } local_#14039 <= 2147483647; local_#14040 := -257; local_#14041 := ~sand32(local_#14039, local_#14040); local_#14042 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14041 * 16 }; local_#30673 := local_#14042; goto CFG_49691; CFG_49691: assume true; local_#31498_rb := local_#30673; local_#14043 := 14; local_#14044 := ~lshr32(local_#31479_i, local_#14043); local_#14045 := 511; local_#14046 := ~uand32(local_#14044, local_#14045); local_#14047 := local_#14046; assert { :LIR "60717" } { :check "overflow" } { :finding_ids "0" } local_#14047 <= 2147483647; local_#14048 := 256; local_#14049 := ~sand32(local_#14047, local_#14048); if (local_#14049 != 0) { goto CFG_40264; } else { goto CFG_40263; } CFG_40263: assume true; local_#14050 := 14; local_#14051 := ~lshr32(local_#31479_i, local_#14050); local_#14052 := 511; local_#14053 := ~uand32(local_#14051, local_#14052); local_#14054 := local_#14053; assert { :LIR "60718" } { :check "overflow" } { :finding_ids "0" } local_#14054 <= 2147483647; local_#14055 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14054 * 16 }; local_#30674 := local_#14055; goto CFG_49692; CFG_40264: assume true; local_#14056 := 14; local_#14057 := ~lshr32(local_#31479_i, local_#14056); local_#14058 := 511; local_#14059 := ~uand32(local_#14057, local_#14058); local_#14060 := local_#14059; assert { :LIR "60719" } { :check "overflow" } { :finding_ids "0" } local_#14060 <= 2147483647; local_#14061 := local_#14060; assert { :LIR "60720" } { :check "overflow" } { :finding_ids "0" } local_#14061 <= 2147483647; local_#14062 := -257; local_#14063 := ~sand32(local_#14061, local_#14062); local_#14064 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14063 * 16 }; local_#30674 := local_#14064; goto CFG_49692; CFG_49692: assume true; local_#31499_rc := local_#30674; local_#14065 := 69; local_#14066 := (if _memory[{ base : local_#31500_upval!base, offset : local_#31500_upval!offset + 8 }] == local_#14065 then 1 else 0); local_#14067 := (if local_#14066 != 0 then 0 else 1); if (local_#14067 != 0) { goto CFG_49698; } else { goto CFG_42495; } CFG_42495: assume true; local_#14068 := { base : local_#31500_upval!base, offset : local_#31500_upval!offset + 0 }; local_#14069 := _memory_ptr[local_#14068]; assert { :LIR "60721" } { :check "overflow" } { :finding_ids "0" } true; local_#14070 := { base : local_#14069!base, offset : local_#14069!offset + 0 }; local_#14071 := local_#31498_rb; assert { :LIR "62572" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45955; CFG_45955: assume true; call local_#14072 := routine_#33767_luaH_get(local_#14070,local_#14071); goto CFG_49693; CFG_49693: assume true; local_#31501_slot := local_#14072; local_#14073 := local_#31501_slot; local_#14074 := 0; local_#14075 := (if _memory[{ base : local_#31501_slot!base, offset : local_#31501_slot!offset + 8 }] == local_#14074 then 1 else 0); if (local_#14075 != 0) { goto CFG_40268; } else { goto CFG_49694; } CFG_49694: assume true; local_#14076 := 64; local_#14077 := ~sand32(_memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 8 }], local_#14076); if (local_#14077 != 0) { goto CFG_49695; } else { goto CFG_40265; } CFG_49695: assume true; local_#14078 := { base : local_#31500_upval!base, offset : local_#31500_upval!offset + 0 }; local_#14079 := _memory_ptr[local_#14078]; assert { :LIR "60722" } { :check "overflow" } { :finding_ids "0" } true; local_#14080 := { base : local_#14079!base, offset : local_#14079!offset + 0 }; local_#14081 := _memory[{ base : local_#14080!base, offset : local_#14080!offset + 9 }]; assert { :LIR "62573" } { :check "overflow" } { :finding_ids "0" } local_#14081 <= 2147483647; local_#14082 := 4; local_#14083 := ~sand32(local_#14081, local_#14082); if (local_#14083 != 0) { goto CFG_49696; } else { goto CFG_40265; } CFG_49696: assume true; local_#14084 := { base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 }; local_#14085 := _memory_ptr[local_#14084]; local_#14086 := _memory[{ base : local_#14085!base, offset : local_#14085!offset + 9 }]; assert { :LIR "62574" } { :check "overflow" } { :finding_ids "0" } local_#14086 <= 2147483647; local_#14087 := 3; local_#14088 := ~sand32(local_#14086, local_#14087); if (local_#14088 != 0) { goto CFG_42496; } else { goto CFG_40265; } CFG_40265: assume true; local_#14089 := 0; local_#14090 := 0; assert { :LIR "60723" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40267; CFG_42496: assume true; local_#14091 := { base : local_#31500_upval!base, offset : local_#31500_upval!offset + 0 }; local_#14092 := _memory_ptr[local_#14091]; assert { :LIR "60724" } { :check "overflow" } { :finding_ids "0" } true; local_#14093 := { base : local_#14092!base, offset : local_#14092!offset + 0 }; goto CFG_45956; CFG_45956: assume true; call routine_#33721_luaC_barrierback_(local_#4189_L,local_#14093); goto CFG_40266; CFG_40266: assume true; goto CFG_40267; CFG_40267: assume true; local_#14094 := 0; assert { :LIR "60725" } { :check "overflow" } { :finding_ids "0" } true; local_#14095 := local_#31501_slot; assert { :LIR "60726" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_b == _memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_f == _memory_ptr[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_gc == _memory_ptr[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_i == _memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_value_!_p == _memory_ptr[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31499_rc)!_tt_ == _memory[{ base : local_#31499_rc!base, offset : local_#31499_rc!offset + 8 }]; call write_type_#101(local_#14095,read_type_#101(_memory, _memory_ptr, local_#31499_rc)); assume read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_b == _memory[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_f == _memory_ptr[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_gc == _memory_ptr[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_i == _memory[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14095)!_value_!_p == _memory_ptr[{ base : local_#14095!base, offset : local_#14095!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14095)!_tt_ == _memory[{ base : local_#14095!base, offset : local_#14095!offset + 8 }]; local_#14096 := read_type_#101(_memory, _memory_ptr, local_#14095); local_#14097 := local_#14096; local_#14098 := 0; local_#14099 := 0; assert { :LIR "60727" } { :check "overflow" } { :finding_ids "0" } true; local_#30675 := 1; goto CFG_49697; CFG_40268: assume true; local_#30675 := 0; goto CFG_49697; CFG_49697: assume true; local_#14100 := local_#30675; local_#14101 := local_#14100; if (local_#14101 != 0) { goto CFG_39542; } else { goto CFG_42497; } CFG_49698: assume true; local_#31501_slot := { base : 0, offset : 0 }; local_#14102 := local_#31501_slot; local_#14103 := 0; if (local_#14103 != 0) { goto CFG_39542; } else { goto CFG_42497; } CFG_42497: assume true; local_#14104 := local_#31500_upval; assert { :LIR "62575" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45957; CFG_45957: assume true; call routine_#33897_luaV_finishset(local_#4189_L,local_#14104,local_#31498_rb,local_#31499_rc,local_#31501_slot); goto CFG_40269; CFG_40269: assume true; local_#14105 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#14105!base, offset : local_#14105!offset + 0 }]; goto CFG_39542; CFG_39542: assume true; goto CFG_45008; CFG_49699: assume true; local_#14106 := 23; local_#14107 := ~lshr32(local_#31479_i, local_#14106); local_#14108 := 511; local_#14109 := ~uand32(local_#14107, local_#14108); local_#14110 := local_#14109; assert { :LIR "60728" } { :check "overflow" } { :finding_ids "0" } local_#14110 <= 2147483647; local_#14111 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14110 * 16 }; local_#31494_rb := local_#14111; local_#14112 := 14; local_#14113 := ~lshr32(local_#31479_i, local_#14112); local_#14114 := 511; local_#14115 := ~uand32(local_#14113, local_#14114); local_#14116 := local_#14115; assert { :LIR "60729" } { :check "overflow" } { :finding_ids "0" } local_#14116 <= 2147483647; local_#14117 := 256; local_#14118 := ~sand32(local_#14116, local_#14117); if (local_#14118 != 0) { goto CFG_40271; } else { goto CFG_40270; } CFG_40270: assume true; local_#14119 := 14; local_#14120 := ~lshr32(local_#31479_i, local_#14119); local_#14121 := 511; local_#14122 := ~uand32(local_#14120, local_#14121); local_#14123 := local_#14122; assert { :LIR "60730" } { :check "overflow" } { :finding_ids "0" } local_#14123 <= 2147483647; local_#14124 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14123 * 16 }; local_#30676 := local_#14124; goto CFG_49700; CFG_40271: assume true; local_#14125 := 14; local_#14126 := ~lshr32(local_#31479_i, local_#14125); local_#14127 := 511; local_#14128 := ~uand32(local_#14126, local_#14127); local_#14129 := local_#14128; assert { :LIR "60731" } { :check "overflow" } { :finding_ids "0" } local_#14129 <= 2147483647; local_#14130 := local_#14129; assert { :LIR "60732" } { :check "overflow" } { :finding_ids "0" } local_#14130 <= 2147483647; local_#14131 := -257; local_#14132 := ~sand32(local_#14130, local_#14131); local_#14133 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14132 * 16 }; local_#30676 := local_#14133; goto CFG_49700; CFG_49700: assume true; local_#31495_rc := local_#30676; local_#14134 := 69; local_#14135 := (if _memory[{ base : local_#31494_rb!base, offset : local_#31494_rb!offset + 8 }] == local_#14134 then 1 else 0); local_#14136 := (if local_#14135 != 0 then 0 else 1); if (local_#14136 != 0) { goto CFG_49702; } else { goto CFG_42498; } CFG_42498: assume true; local_#14137 := { base : local_#31494_rb!base, offset : local_#31494_rb!offset + 0 }; local_#14138 := _memory_ptr[local_#14137]; assert { :LIR "60733" } { :check "overflow" } { :finding_ids "0" } true; local_#14139 := { base : local_#14138!base, offset : local_#14138!offset + 0 }; local_#14140 := local_#31495_rc; assert { :LIR "62576" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45958; CFG_45958: assume true; call local_#14141 := routine_#33767_luaH_get(local_#14139,local_#14140); goto CFG_49701; CFG_49701: assume true; local_#31496_slot := local_#14141; local_#14142 := local_#31496_slot; local_#14143 := 0; local_#14144 := (if _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 8 }] == local_#14143 then 1 else 0); local_#14145 := (if local_#14144 != 0 then 0 else 1); local_#14146 := local_#14145; if (local_#14146 != 0) { goto CFG_40273; } else { goto CFG_42499; } CFG_49702: assume true; local_#31496_slot := { base : 0, offset : 0 }; local_#14147 := local_#31496_slot; local_#14148 := 0; if (local_#14148 != 0) { goto CFG_40273; } else { goto CFG_42499; } CFG_42499: assume true; local_#14149 := local_#31494_rb; assert { :LIR "62577" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45959; CFG_45959: assume true; call routine_#33896_luaV_finishget(local_#4189_L,local_#14149,local_#31495_rc,local_#31480_ra,local_#31496_slot); goto CFG_40272; CFG_40272: assume true; local_#14150 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#14150!base, offset : local_#14150!offset + 0 }]; goto CFG_39543; CFG_40273: assume true; local_#31497_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_b == _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_f == _memory_ptr[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_gc == _memory_ptr[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_i == _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_value_!_p == _memory_ptr[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31496_slot)!_tt_ == _memory[{ base : local_#31496_slot!base, offset : local_#31496_slot!offset + 8 }]; call write_type_#101(local_#31497_io1,read_type_#101(_memory, _memory_ptr, local_#31496_slot)); local_#14151 := 0; assert { :LIR "60734" } { :check "overflow" } { :finding_ids "0" } true; local_#14152 := 0; local_#14153 := 0; assert { :LIR "60735" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39543; CFG_39543: assume true; goto CFG_45008; CFG_49703: assume true; local_#14154 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; local_#14155 := 23; local_#14156 := ~lshr32(local_#31479_i, local_#14155); local_#14157 := 511; local_#14158 := ~uand32(local_#14156, local_#14157); local_#14159 := local_#14158; assert { :LIR "60736" } { :check "overflow" } { :finding_ids "0" } local_#14159 <= 2147483647; local_#14160 := { base : local_#14154!base, offset : local_#14154!offset + 0 * 8 + local_#14159 * 8 }; local_#14161 := _memory_ptr[local_#14160]; local_#31491_upval := _memory_ptr[{ base : local_#14161!base, offset : local_#14161!offset + 0 }]; local_#14162 := 14; local_#14163 := ~lshr32(local_#31479_i, local_#14162); local_#14164 := 511; local_#14165 := ~uand32(local_#14163, local_#14164); local_#14166 := local_#14165; assert { :LIR "60737" } { :check "overflow" } { :finding_ids "0" } local_#14166 <= 2147483647; local_#14167 := 256; local_#14168 := ~sand32(local_#14166, local_#14167); if (local_#14168 != 0) { goto CFG_40275; } else { goto CFG_40274; } CFG_40274: assume true; local_#14169 := 14; local_#14170 := ~lshr32(local_#31479_i, local_#14169); local_#14171 := 511; local_#14172 := ~uand32(local_#14170, local_#14171); local_#14173 := local_#14172; assert { :LIR "60738" } { :check "overflow" } { :finding_ids "0" } local_#14173 <= 2147483647; local_#14174 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14173 * 16 }; local_#30677 := local_#14174; goto CFG_49704; CFG_40275: assume true; local_#14175 := 14; local_#14176 := ~lshr32(local_#31479_i, local_#14175); local_#14177 := 511; local_#14178 := ~uand32(local_#14176, local_#14177); local_#14179 := local_#14178; assert { :LIR "60739" } { :check "overflow" } { :finding_ids "0" } local_#14179 <= 2147483647; local_#14180 := local_#14179; assert { :LIR "60740" } { :check "overflow" } { :finding_ids "0" } local_#14180 <= 2147483647; local_#14181 := -257; local_#14182 := ~sand32(local_#14180, local_#14181); local_#14183 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14182 * 16 }; local_#30677 := local_#14183; goto CFG_49704; CFG_49704: assume true; local_#31490_rc := local_#30677; local_#14184 := 69; local_#14185 := (if _memory[{ base : local_#31491_upval!base, offset : local_#31491_upval!offset + 8 }] == local_#14184 then 1 else 0); local_#14186 := (if local_#14185 != 0 then 0 else 1); if (local_#14186 != 0) { goto CFG_49706; } else { goto CFG_42500; } CFG_42500: assume true; local_#14187 := { base : local_#31491_upval!base, offset : local_#31491_upval!offset + 0 }; local_#14188 := _memory_ptr[local_#14187]; assert { :LIR "60741" } { :check "overflow" } { :finding_ids "0" } true; local_#14189 := { base : local_#14188!base, offset : local_#14188!offset + 0 }; local_#14190 := local_#31490_rc; assert { :LIR "62578" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45960; CFG_45960: assume true; call local_#14191 := routine_#33767_luaH_get(local_#14189,local_#14190); goto CFG_49705; CFG_49705: assume true; local_#31492_slot := local_#14191; local_#14192 := local_#31492_slot; local_#14193 := 0; local_#14194 := (if _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 8 }] == local_#14193 then 1 else 0); local_#14195 := (if local_#14194 != 0 then 0 else 1); local_#14196 := local_#14195; if (local_#14196 != 0) { goto CFG_40277; } else { goto CFG_42501; } CFG_49706: assume true; local_#31492_slot := { base : 0, offset : 0 }; local_#14197 := local_#31492_slot; local_#14198 := 0; if (local_#14198 != 0) { goto CFG_40277; } else { goto CFG_42501; } CFG_42501: assume true; local_#14199 := local_#31491_upval; assert { :LIR "62579" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45961; CFG_45961: assume true; call routine_#33896_luaV_finishget(local_#4189_L,local_#14199,local_#31490_rc,local_#31480_ra,local_#31492_slot); goto CFG_40276; CFG_40276: assume true; local_#14200 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#31475_base := _memory_ptr[{ base : local_#14200!base, offset : local_#14200!offset + 0 }]; goto CFG_39544; CFG_40277: assume true; local_#31493_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_b == _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_f == _memory_ptr[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_gc == _memory_ptr[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_i == _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_value_!_p == _memory_ptr[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31492_slot)!_tt_ == _memory[{ base : local_#31492_slot!base, offset : local_#31492_slot!offset + 8 }]; call write_type_#101(local_#31493_io1,read_type_#101(_memory, _memory_ptr, local_#31492_slot)); local_#14201 := 0; assert { :LIR "60742" } { :check "overflow" } { :finding_ids "0" } true; local_#14202 := 0; local_#14203 := 0; assert { :LIR "60743" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39544; CFG_39544: assume true; goto CFG_45008; CFG_39545: assume true; local_#14204 := 23; local_#14205 := ~lshr32(local_#31479_i, local_#14204); local_#14206 := 511; local_#14207 := ~uand32(local_#14205, local_#14206); local_#14208 := local_#14207; assert { :LIR "60744" } { :check "overflow" } { :finding_ids "0" } local_#14208 <= 2147483647; local_#31488_b := local_#14208; local_#31489_io1 := local_#31480_ra; local_#14209 := { base : local_#31477_cl!base, offset : local_#31477_cl!offset + 32 }; local_#14210 := { base : local_#14209!base, offset : local_#14209!offset + 0 * 8 + local_#31488_b * 8 }; local_#14211 := _memory_ptr[local_#14210]; local_#14212 := _memory_ptr[{ base : local_#14211!base, offset : local_#14211!offset + 0 }]; assume read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_b == _memory[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_f == _memory_ptr[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_gc == _memory_ptr[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_i == _memory[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14212)!_value_!_p == _memory_ptr[{ base : local_#14212!base, offset : local_#14212!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14212)!_tt_ == _memory[{ base : local_#14212!base, offset : local_#14212!offset + 8 }]; call write_type_#101(local_#31489_io1,read_type_#101(_memory, _memory_ptr, local_#14212)); local_#14213 := 0; assert { :LIR "60745" } { :check "overflow" } { :finding_ids "0" } true; local_#14214 := 0; local_#14215 := 0; assert { :LIR "60746" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_41667: assume true; local_#14216 := 23; local_#14217 := ~lshr32(local_#31479_i, local_#14216); local_#14218 := 511; local_#14219 := ~uand32(local_#14217, local_#14218); local_#14220 := local_#14219; assert { :LIR "60747" } { :check "overflow" } { :finding_ids "0" } local_#14220 <= 2147483647; local_#31487_b := local_#14220; goto CFG_42502; CFG_42502: assume true; local_#14221 := 0; local_#14222 := local_#31480_ra; local_#14223 := 1; local_#31480_ra := { base : local_#14222!base, offset : local_#14222!offset + local_#14223 * 16 }; _memory[{ base : local_#14222!base, offset : local_#14222!offset + 8 }] := local_#14221; goto CFG_49707; CFG_49707: assume true; local_#14224 := local_#31487_b; local_#14225 := 1; local_#31487_b := local_#14224 - local_#14225; assert { :LIR "67949" } { :check "overflow" } { :finding_ids "0" } local_#31487_b <= 2147483647; local_#14226 := local_#14224; if (local_#14226 != 0) { goto CFG_45007; } else { goto CFG_39546; } CFG_39546: assume true; goto CFG_45008; CFG_45007: assume true; goto CFG_42502; CFG_49708: assume true; local_#31486_io := local_#31480_ra; local_#14227 := 23; local_#14228 := ~lshr32(local_#31479_i, local_#14227); local_#14229 := 511; local_#14230 := ~uand32(local_#14228, local_#14229); local_#14231 := local_#14230; assert { :LIR "60748" } { :check "overflow" } { :finding_ids "0" } local_#14231 <= 2147483647; local_#14232 := { base : local_#31486_io!base, offset : local_#31486_io!offset + 0 }; _memory[local_#14232] := local_#14231; _memory[{ base : local_#31486_io!base, offset : local_#31486_io!offset + 8 }] := 1; local_#14233 := 14; local_#14234 := ~lshr32(local_#31479_i, local_#14233); local_#14235 := 511; local_#14236 := ~uand32(local_#14234, local_#14235); local_#14237 := local_#14236; assert { :LIR "60749" } { :check "overflow" } { :finding_ids "0" } local_#14237 <= 2147483647; if (local_#14237 != 0) { goto CFG_40278; } else { goto CFG_39547; } CFG_40278: assume true; local_#14238 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#14239 := _memory_ptr[{ base : local_#14238!base, offset : local_#14238!offset + 8 }]; local_#14240 := 1; _memory_ptr[{ base : local_#14238!base, offset : local_#14238!offset + 8 }] := { base : local_#14239!base, offset : local_#14239!offset + local_#14240 * 4 }; local_#14241 := local_#14239; goto CFG_39547; CFG_39547: assume true; goto CFG_45008; CFG_39548: assume true; local_#14242 := 0; local_#14243 := 0; assert { :LIR "60750" } { :check "overflow" } { :finding_ids "0" } true; local_#14244 := { base : local_#31476_ci!base, offset : local_#31476_ci!offset + 32 }; local_#14245 := _memory_ptr[{ base : local_#14244!base, offset : local_#14244!offset + 8 }]; local_#14246 := 1; _memory_ptr[{ base : local_#14244!base, offset : local_#14244!offset + 8 }] := { base : local_#14245!base, offset : local_#14245!offset + local_#14246 * 4 }; local_#14247 := 6; local_#14248 := ~lshr32(_memory[local_#14245], local_#14247); local_#14249 := 67108863; local_#14250 := ~uand32(local_#14248, local_#14249); local_#14251 := local_#14250; assert { :LIR "60751" } { :check "overflow" } { :finding_ids "0" } local_#14251 <= 2147483647; local_#14252 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14251 * 16 }; local_#31484_rb := local_#14252; local_#31485_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_b == _memory[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_f == _memory_ptr[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_gc == _memory_ptr[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_i == _memory[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_value_!_p == _memory_ptr[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31484_rb)!_tt_ == _memory[{ base : local_#31484_rb!base, offset : local_#31484_rb!offset + 8 }]; call write_type_#101(local_#31485_io1,read_type_#101(_memory, _memory_ptr, local_#31484_rb)); local_#14253 := 0; assert { :LIR "60752" } { :check "overflow" } { :finding_ids "0" } true; local_#14254 := 0; local_#14255 := 0; assert { :LIR "60753" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_39549: assume true; local_#14256 := 14; local_#14257 := ~lshr32(local_#31479_i, local_#14256); local_#14258 := 262143; local_#14259 := ~uand32(local_#14257, local_#14258); local_#14260 := local_#14259; assert { :LIR "60754" } { :check "overflow" } { :finding_ids "0" } local_#14260 <= 2147483647; local_#14261 := { base : local_#31478_k!base, offset : local_#31478_k!offset + local_#14260 * 16 }; local_#31482_rb := local_#14261; local_#31483_io1 := local_#31480_ra; assume read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_b == _memory[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_f == _memory_ptr[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_gc == _memory_ptr[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_i == _memory[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_value_!_p == _memory_ptr[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31482_rb)!_tt_ == _memory[{ base : local_#31482_rb!base, offset : local_#31482_rb!offset + 8 }]; call write_type_#101(local_#31483_io1,read_type_#101(_memory, _memory_ptr, local_#31482_rb)); local_#14262 := 0; assert { :LIR "60755" } { :check "overflow" } { :finding_ids "0" } true; local_#14263 := 0; local_#14264 := 0; assert { :LIR "60756" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_39550: assume true; local_#31481_io1 := local_#31480_ra; local_#14265 := 23; local_#14266 := ~lshr32(local_#31479_i, local_#14265); local_#14267 := 511; local_#14268 := ~uand32(local_#14266, local_#14267); local_#14269 := local_#14268; assert { :LIR "60757" } { :check "overflow" } { :finding_ids "0" } local_#14269 <= 2147483647; local_#14270 := { base : local_#31475_base!base, offset : local_#31475_base!offset + local_#14269 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_b == _memory[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_f == _memory_ptr[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_gc == _memory_ptr[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_i == _memory[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14270)!_value_!_p == _memory_ptr[{ base : local_#14270!base, offset : local_#14270!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14270)!_tt_ == _memory[{ base : local_#14270!base, offset : local_#14270!offset + 8 }]; call write_type_#101(local_#31481_io1,read_type_#101(_memory, _memory_ptr, local_#14270)); local_#14271 := 0; assert { :LIR "60758" } { :check "overflow" } { :finding_ids "0" } true; local_#14272 := 0; local_#14273 := 0; assert { :LIR "60759" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45008; CFG_45008: assume true; goto CFG_49475; CFG_37313: assume true; } procedure routine_#33895_luaV_finishOp(local_#4190_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4190_L : { base : int, offset : int }; var local_#31673_ci : { base : int, offset : int }; var local_#14274 : { base : int, offset : int }; var local_#31672_base : { base : int, offset : int }; var local_#14275 : { base : int, offset : int }; var local_#14276 : int; var local_#14277 : { base : int, offset : int }; var local_#31674_inst : int; var local_#14278 : int; var local_#14279 : int; var local_#14280 : int; var local_#14281 : int; var local_#14282 : int; var local_#31675_op : int; var local_#14283 : int; var local_#14284 : int; var local_#14285 : int; var local_#14286 : int; var local_#14287 : int; var local_#14288 : int; var local_#14289 : int; var local_#14290 : int; var local_#14291 : int; var local_#14292 : int; var local_#14293 : int; var local_#14294 : int; var local_#14295 : int; var local_#14296 : int; var local_#14297 : int; var local_#14298 : { base : int, offset : int }; var local_#31679_top : { base : int, offset : int }; var local_#14299 : int; var local_#14300 : int; var local_#14301 : int; var local_#14302 : int; var local_#14303 : int; var local_#31678_b : int; var local_#14304 : int; var local_#14305 : { base : int, offset : int }; var local_#14306 : { base : int, offset : int }; var local_#14307 : int; var local_#14308 : int; var local_#31680_total : int; var local_#14309 : int; var local_#14310 : { base : int, offset : int }; var local_#31681_io1 : { base : int, offset : int }; var local_#14311 : int; var local_#14312 : int; var local_#14313 : int; var local_#14314 : int; var local_#14315 : int; var local_#14316 : int; var local_#14317 : { base : int, offset : int }; var local_#14318 : { base : int, offset : int }; var local_#14319 : int; var local_#14320 : int; var local_#14321 : int; var local_#14322 : int; var local_#14323 : int; var local_#14324 : { base : int, offset : int }; var local_#31682_io1 : { base : int, offset : int }; var local_#14325 : int; var local_#14326 : { base : int, offset : int }; var local_#14327 : int; var local_#14328 : int; var local_#14329 : int; var local_#14330 : int; var local_#14331 : { base : int, offset : int }; var local_#14332 : int; var local_#14333 : int; var local_#14334 : int; var local_#14335 : { base : int, offset : int }; var local_#14336 : int; var local_#14337 : int; var local_#14338 : int; var local_#14339 : { base : int, offset : int }; var local_#14340 : { base : int, offset : int }; var local_#14341 : int; var local_#14342 : int; var local_#30678 : int; var local_#14343 : int; var local_#31677_res : int; var local_#14344 : { base : int, offset : int }; var local_#14345 : int; var local_#14346 : { base : int, offset : int }; var local_#14347 : int; var local_#14348 : int; var local_#14349 : int; var local_#14350 : int; var local_#14351 : int; var local_#14352 : int; var local_#14353 : int; var local_#14354 : int; var local_#14355 : int; var local_#14356 : int; var local_#14357 : int; var local_#14358 : int; var local_#14359 : int; var local_#14360 : int; var local_#14361 : int; var local_#14362 : int; var local_#14363 : int; var local_#14364 : { base : int, offset : int }; var local_#14365 : { base : int, offset : int }; var local_#14366 : int; var local_#14367 : { base : int, offset : int }; var local_#14368 : int; var local_#14369 : int; var local_#14370 : int; var local_#14371 : int; var local_#14372 : int; var local_#14373 : { base : int, offset : int }; var local_#31676_io1 : { base : int, offset : int }; var local_#14374 : int; var local_#14375 : { base : int, offset : int }; var local_#14376 : int; var local_#14377 : int; var local_#14378 : int; local_#4190_L := local_#4190_L_IN; goto CFG_36403; CFG_36403: assume true; goto CFG_51516; CFG_51516: assume true; local_#31673_ci := _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 32 }]; local_#14274 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; local_#31672_base := _memory_ptr[{ base : local_#14274!base, offset : local_#14274!offset + 0 }]; local_#14275 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; local_#14276 := 1; local_#14277 := { base : _memory_ptr[{ base : local_#14275!base, offset : local_#14275!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#14275!base, offset : local_#14275!offset + 8 }]!offset - local_#14276 * 4 }; local_#31674_inst := _memory[local_#14277]; local_#14278 := 0; local_#14279 := ~lshr32(local_#31674_inst, local_#14278); local_#14280 := 63; local_#14281 := ~uand32(local_#14279, local_#14280); local_#14282 := local_#14281; assert { :LIR "60760" } { :check "overflow" } { :finding_ids "0" } local_#14282 <= 46; local_#31675_op := local_#14282; local_#14283 := local_#31675_op; if (local_#14283 == 13) { goto CFG_39556; } if (local_#14283 == 14) { goto CFG_39556; } if (local_#14283 == 15) { goto CFG_39556; } if (local_#14283 == 18) { goto CFG_39556; } if (local_#14283 == 19) { goto CFG_39556; } if (local_#14283 == 20) { goto CFG_39556; } if (local_#14283 == 21) { goto CFG_39556; } if (local_#14283 == 22) { goto CFG_39556; } if (local_#14283 == 23) { goto CFG_39556; } if (local_#14283 == 24) { goto CFG_39556; } if (local_#14283 == 16) { goto CFG_39556; } if (local_#14283 == 17) { goto CFG_39556; } if (local_#14283 == 25) { goto CFG_39556; } if (local_#14283 == 26) { goto CFG_39556; } if (local_#14283 == 28) { goto CFG_39556; } if (local_#14283 == 6) { goto CFG_39556; } if (local_#14283 == 7) { goto CFG_39556; } if (local_#14283 == 12) { goto CFG_39556; } if (local_#14283 == 33) { goto CFG_49711; } if (local_#14283 == 32) { goto CFG_49711; } if (local_#14283 == 31) { goto CFG_49711; } if (local_#14283 == 29) { goto CFG_49710; } if (local_#14283 == 41) { goto CFG_39553; } if (local_#14283 == 36) { goto CFG_49709; } if (local_#14283 == 37) { goto CFG_39551; } if (local_#14283 == 8) { goto CFG_39551; } if (local_#14283 == 10) { goto CFG_39551; } goto CFG_42503; CFG_42503: assume true; local_#14284 := 0; local_#14285 := 0; assert { :LIR "60761" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41918; CFG_41918: assume true; goto CFG_39170; CFG_39551: assume true; goto CFG_39170; CFG_49709: assume true; local_#14286 := 14; local_#14287 := ~lshr32(local_#31674_inst, local_#14286); local_#14288 := 511; local_#14289 := ~uand32(local_#14287, local_#14288); local_#14290 := local_#14289; assert { :LIR "60762" } { :check "overflow" } { :finding_ids "0" } local_#14290 <= 2147483647; local_#14291 := 1; local_#14292 := local_#14290 - local_#14291; assert { :LIR "67950" } { :check "overflow" } { :finding_ids "0" } local_#14292 <= 2147483647; local_#14293 := 0; local_#14294 := (if local_#14292 >= local_#14293 then 1 else 0); if (local_#14294 != 0) { goto CFG_40279; } else { goto CFG_39552; } CFG_40279: assume true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := _memory_ptr[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 8 }]; goto CFG_39552; CFG_39552: assume true; goto CFG_39170; CFG_39553: assume true; local_#14295 := 0; local_#14296 := 0; assert { :LIR "60763" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := _memory_ptr[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 8 }]; goto CFG_39170; CFG_49710: assume true; local_#14297 := 1; local_#14298 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14297 * 16 }; local_#31679_top := local_#14298; local_#14299 := 23; local_#14300 := ~lshr32(local_#31674_inst, local_#14299); local_#14301 := 511; local_#14302 := ~uand32(local_#14300, local_#14301); local_#14303 := local_#14302; assert { :LIR "60764" } { :check "overflow" } { :finding_ids "0" } local_#14303 <= 2147483647; local_#31678_b := local_#14303; local_#14304 := 1; local_#14305 := { base : local_#31679_top!base, offset : local_#31679_top!offset - local_#14304 * 16 }; local_#14306 := { base : local_#31672_base!base, offset : local_#31672_base!offset + local_#31678_b * 16 }; local_#14307 := (local_#14305!offset - local_#14306!offset) / 16; local_#14308 := local_#14307; assert { :LIR "60765" } { :check "overflow" } { :finding_ids "0" } local_#14308 <= 2147483647; local_#31680_total := local_#14308; local_#14309 := 2; local_#14310 := { base : local_#31679_top!base, offset : local_#31679_top!offset - local_#14309 * 16 }; local_#31681_io1 := local_#14310; assume read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_b == _memory[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_f == _memory_ptr[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_gc == _memory_ptr[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_i == _memory[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_value_!_p == _memory_ptr[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31679_top)!_tt_ == _memory[{ base : local_#31679_top!base, offset : local_#31679_top!offset + 8 }]; call write_type_#101(local_#31681_io1,read_type_#101(_memory, _memory_ptr, local_#31679_top)); local_#14311 := 0; assert { :LIR "60766" } { :check "overflow" } { :finding_ids "0" } true; local_#14312 := 0; local_#14313 := 0; assert { :LIR "60767" } { :check "overflow" } { :finding_ids "0" } true; local_#14314 := 1; local_#14315 := (if local_#31680_total > local_#14314 then 1 else 0); if (local_#14315 != 0) { goto CFG_42504; } else { goto CFG_39554; } CFG_42504: assume true; local_#14316 := 1; local_#14317 := { base : local_#31679_top!base, offset : local_#31679_top!offset - local_#14316 * 16 }; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := local_#14317; goto CFG_45962; CFG_45962: assume true; call routine_#33891_luaV_concat(local_#4190_L,local_#31680_total); goto CFG_40280; CFG_40280: assume true; goto CFG_39554; CFG_39554: assume true; local_#14318 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; local_#14319 := 6; local_#14320 := ~lshr32(local_#31674_inst, local_#14319); local_#14321 := 255; local_#14322 := ~uand32(local_#14320, local_#14321); local_#14323 := local_#14322; assert { :LIR "60768" } { :check "overflow" } { :finding_ids "0" } local_#14323 <= 2147483647; local_#14324 := { base : _memory_ptr[{ base : local_#14318!base, offset : local_#14318!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#14318!base, offset : local_#14318!offset + 0 }]!offset + local_#14323 * 16 }; local_#31682_io1 := local_#14324; local_#14325 := 1; local_#14326 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14325 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_b == _memory[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_f == _memory_ptr[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_gc == _memory_ptr[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_i == _memory[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14326)!_value_!_p == _memory_ptr[{ base : local_#14326!base, offset : local_#14326!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14326)!_tt_ == _memory[{ base : local_#14326!base, offset : local_#14326!offset + 8 }]; call write_type_#101(local_#31682_io1,read_type_#101(_memory, _memory_ptr, local_#14326)); local_#14327 := 0; assert { :LIR "60769" } { :check "overflow" } { :finding_ids "0" } true; local_#14328 := 0; local_#14329 := 0; assert { :LIR "60770" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := _memory_ptr[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 8 }]; goto CFG_39170; CFG_49711: assume true; local_#14330 := 1; local_#14331 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14330 * 16 }; local_#14332 := 0; local_#14333 := (if _memory[{ base : local_#14331!base, offset : local_#14331!offset + 8 }] == local_#14332 then 1 else 0); if (local_#14333 != 0) { goto CFG_40282; } else { goto CFG_49712; } CFG_49712: assume true; local_#14334 := 1; local_#14335 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14334 * 16 }; local_#14336 := 1; local_#14337 := (if _memory[{ base : local_#14335!base, offset : local_#14335!offset + 8 }] == local_#14336 then 1 else 0); if (local_#14337 != 0) { goto CFG_49713; } else { goto CFG_40281; } CFG_49713: assume true; local_#14338 := 1; local_#14339 := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14338 * 16 }; local_#14340 := { base : local_#14339!base, offset : local_#14339!offset + 0 }; local_#14341 := 0; local_#14342 := (if _memory[local_#14340] == local_#14341 then 1 else 0); if (local_#14342 != 0) { goto CFG_40282; } else { goto CFG_40281; } CFG_40281: assume true; local_#30678 := 0; goto CFG_49714; CFG_40282: assume true; local_#30678 := 1; goto CFG_49714; CFG_49714: assume true; local_#14343 := (if local_#30678 != 0 then 0 else 1); local_#31677_res := local_#14343; local_#14344 := _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]; local_#14345 := 1; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := { base : local_#14344!base, offset : local_#14344!offset - local_#14345 * 16 }; local_#14346 := local_#14344; local_#14347 := _memory[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 66 }]; assert { :LIR "62580" } { :check "overflow" } { :finding_ids "0" } local_#14347 <= 2147483647; local_#14348 := 128; local_#14349 := ~sand32(local_#14347, local_#14348); if (local_#14349 != 0) { goto CFG_40283; } else { goto CFG_49715; } CFG_40283: assume true; local_#14350 := 0; local_#14351 := 0; assert { :LIR "60771" } { :check "overflow" } { :finding_ids "0" } true; local_#14352 := 128; local_#14353 := _memory[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 66 }]; assert { :LIR "62581" } { :check "overflow" } { :finding_ids "0" } local_#14353 <= 2147483647; local_#14354 := ~sxor32(local_#14353, local_#14352); _memory[{ base : local_#31673_ci!base, offset : local_#31673_ci!offset + 66 }] := ~uwrap16(local_#14354); assert { :LIR "62582" } { :check "overflow" } { :finding_ids "0" } true; local_#14355 := (if local_#31677_res != 0 then 0 else 1); local_#31677_res := local_#14355; goto CFG_49715; CFG_49715: assume true; local_#14356 := 0; local_#14357 := 0; assert { :LIR "60772" } { :check "overflow" } { :finding_ids "0" } true; local_#14358 := 6; local_#14359 := ~lshr32(local_#31674_inst, local_#14358); local_#14360 := 255; local_#14361 := ~uand32(local_#14359, local_#14360); local_#14362 := local_#14361; assert { :LIR "60773" } { :check "overflow" } { :finding_ids "0" } local_#14362 <= 2147483647; local_#14363 := (if local_#31677_res != local_#14362 then 1 else 0); if (local_#14363 != 0) { goto CFG_40284; } else { goto CFG_39555; } CFG_40284: assume true; local_#14364 := { base : local_#31673_ci!base, offset : local_#31673_ci!offset + 32 }; local_#14365 := _memory_ptr[{ base : local_#14364!base, offset : local_#14364!offset + 8 }]; local_#14366 := 1; _memory_ptr[{ base : local_#14364!base, offset : local_#14364!offset + 8 }] := { base : local_#14365!base, offset : local_#14365!offset + local_#14366 * 4 }; local_#14367 := local_#14365; goto CFG_39555; CFG_39555: assume true; goto CFG_39170; CFG_39556: assume true; local_#14368 := 6; local_#14369 := ~lshr32(local_#31674_inst, local_#14368); local_#14370 := 255; local_#14371 := ~uand32(local_#14369, local_#14370); local_#14372 := local_#14371; assert { :LIR "60774" } { :check "overflow" } { :finding_ids "0" } local_#14372 <= 2147483647; local_#14373 := { base : local_#31672_base!base, offset : local_#31672_base!offset + local_#14372 * 16 }; local_#31676_io1 := local_#14373; local_#14374 := 1; _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]!offset - local_#14374 * 16 }; local_#14375 := _memory_ptr[{ base : local_#4190_L!base, offset : local_#4190_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_b == _memory[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_f == _memory_ptr[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_gc == _memory_ptr[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_i == _memory[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14375)!_value_!_p == _memory_ptr[{ base : local_#14375!base, offset : local_#14375!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14375)!_tt_ == _memory[{ base : local_#14375!base, offset : local_#14375!offset + 8 }]; call write_type_#101(local_#31676_io1,read_type_#101(_memory, _memory_ptr, local_#14375)); local_#14376 := 0; assert { :LIR "60775" } { :check "overflow" } { :finding_ids "0" } true; local_#14377 := 0; local_#14378 := 0; assert { :LIR "60776" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39170; CFG_39170: assume true; goto CFG_37314; CFG_37314: assume true; } procedure routine_#33896_luaV_finishget(local_#4191_L_IN : { base : int, offset : int }, local_#4192_t_IN : { base : int, offset : int }, local_#4193_key_IN : { base : int, offset : int }, local_#4194_val_IN : { base : int, offset : int }, local_#4195_slot_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4191_L : { base : int, offset : int }; var local_#4192_t : { base : int, offset : int }; var local_#4193_key : { base : int, offset : int }; var local_#4194_val : { base : int, offset : int }; var local_#4195_slot : { base : int, offset : int }; var local_#31683_loop : int; var local_#14379 : int; var local_#14380 : int; var local_#14381 : { base : int, offset : int }; var local_#14382 : { base : int, offset : int }; var local_#14383 : { base : int, offset : int }; var local_#14384 : int; var local_#14385 : int; var local_#14386 : int; var local_#14387 : { base : int, offset : int }; var local_#14388 : { base : int, offset : int }; var local_#14389 : { base : int, offset : int }; var local_#14390 : { base : int, offset : int }; var local_#14391 : int; var local_#14392 : { base : int, offset : int }; var local_#14393 : { base : int, offset : int }; var local_#14394 : { base : int, offset : int }; var local_#14395 : { base : int, offset : int }; var local_#14396 : int; var local_#14397 : int; var local_#14398 : int; var local_#14399 : { base : int, offset : int }; var local_#14400 : { base : int, offset : int }; var local_#14401 : { base : int, offset : int }; var local_#14402 : { base : int, offset : int }; var local_#14403 : int; var local_#14404 : { base : int, offset : int }; var local_#14405 : { base : int, offset : int }; var local_#14406 : int; var local_#14407 : { base : int, offset : int }; var local_#14408 : { base : int, offset : int }; var local_#14409 : { base : int, offset : int }; var local_#30679 : { base : int, offset : int }; var local_#30680 : { base : int, offset : int }; var local_#31684_tm : { base : int, offset : int }; var local_#14410 : { base : int, offset : int }; var local_#14411 : int; var local_#14412 : int; var local_#14413 : int; var local_#14414 : int; var local_#14415 : { base : int, offset : int }; var local_#14416 : int; var local_#14417 : int; var local_#14418 : int; var local_#14419 : int; var local_#14420 : int; var local_#14421 : int; var local_#14422 : int; var local_#14423 : int; var local_#14424 : int; var local_#14425 : { base : int, offset : int }; var local_#14426 : { base : int, offset : int }; var local_#14427 : { base : int, offset : int }; var local_#14428 : { base : int, offset : int }; var local_#14429 : { base : int, offset : int }; var local_#14430 : { base : int, offset : int }; var local_#14431 : int; var local_#14432 : int; var local_#14433 : int; var local_#14434 : int; var local_#14435 : { base : int, offset : int }; var local_#14436 : int; var local_#14437 : int; var local_#14438 : int; var local_#14439 : int; var local_#31685_io1 : { base : int, offset : int }; var local_#14440 : int; var local_#14441 : int; var local_#14442 : int; var local_#14443 : { base : int, offset : int }; var local_#14444 : int; var local_#14445 : { base : int, offset : int }; var local_#14446 : { base : int, offset : int }; local_#4191_L := local_#4191_L_IN; local_#4192_t := local_#4192_t_IN; local_#4193_key := local_#4193_key_IN; local_#4194_val := local_#4194_val_IN; local_#4195_slot := local_#4195_slot_IN; goto CFG_36404; CFG_36404: assume true; goto CFG_41668; CFG_41668: assume true; local_#31683_loop := 0; goto CFG_49716; CFG_49716: assume true; local_#14379 := 2000; local_#14380 := (if local_#31683_loop < local_#14379 then 1 else 0); if (local_#14380 != 0) { goto CFG_49717; } else { goto CFG_42505; } CFG_42505: assume true; assume _memory[{ base : strlit_#70379!base, offset : strlit_#70379!offset + 39 }] == 0; local_#14381 := strlit_#70379; local_#14382 := { base : local_#14381!base, offset : local_#14381!offset + 0 * 1 }; assert { :LIR "62583" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45963; CFG_45963: assume true; call routine_#33762_luaG_runerror(local_#4191_L,local_#14382,{ base : 0, offset : 0 }); CFG_49717: assume true; local_#14383 := { base : 0, offset : 0 }; local_#14384 := (if local_#4195_slot == local_#14383 then 1 else 0); if (local_#14384 != 0) { goto CFG_42507; } else { goto CFG_49718; } CFG_49718: assume true; local_#14385 := 0; local_#14386 := 0; assert { :LIR "60777" } { :check "overflow" } { :finding_ids "0" } true; local_#14387 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; local_#14388 := _memory_ptr[local_#14387]; assert { :LIR "60778" } { :check "overflow" } { :finding_ids "0" } true; local_#14389 := { base : local_#14388!base, offset : local_#14388!offset + 0 }; local_#14390 := { base : 0, offset : 0 }; local_#14391 := (if _memory_ptr[{ base : local_#14389!base, offset : local_#14389!offset + 40 }] == local_#14390 then 1 else 0); if (local_#14391 != 0) { goto CFG_40288; } else { goto CFG_49719; } CFG_49719: assume true; local_#14392 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; local_#14393 := _memory_ptr[local_#14392]; assert { :LIR "60779" } { :check "overflow" } { :finding_ids "0" } true; local_#14394 := { base : local_#14393!base, offset : local_#14393!offset + 0 }; local_#14395 := _memory_ptr[{ base : local_#14394!base, offset : local_#14394!offset + 40 }]; local_#14396 := ~uwrap32(_memory[{ base : local_#14395!base, offset : local_#14395!offset + 10 }]); assert { :LIR "62584" } { :check "overflow" } { :finding_ids "0" } true; local_#14397 := 1; local_#14398 := ~uand32(local_#14396, local_#14397); if (local_#14398 != 0) { goto CFG_40286; } else { goto CFG_42506; } CFG_42506: assume true; local_#14399 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; local_#14400 := _memory_ptr[local_#14399]; assert { :LIR "60780" } { :check "overflow" } { :finding_ids "0" } true; local_#14401 := { base : local_#14400!base, offset : local_#14400!offset + 0 }; local_#14402 := _memory_ptr[{ base : local_#14401!base, offset : local_#14401!offset + 40 }]; local_#14403 := 0; local_#14404 := _memory_ptr[{ base : local_#4191_L!base, offset : local_#4191_L!offset + 24 }]; local_#14405 := { base : local_#14404!base, offset : local_#14404!offset + 224 }; local_#14406 := 0; local_#14407 := { base : local_#14405!base, offset : local_#14405!offset + 0 * 8 + local_#14406 * 8 }; local_#14408 := _memory_ptr[local_#14407]; goto CFG_45964; CFG_45964: assume true; call local_#14409 := routine_#33884_luaT_gettm(local_#14402,local_#14403,local_#14408); goto CFG_40285; CFG_40285: assume true; local_#30679 := local_#14409; goto CFG_40287; CFG_40286: assume true; local_#30679 := { base : 0, offset : 0 }; goto CFG_40287; CFG_40287: assume true; local_#30680 := local_#30679; goto CFG_49720; CFG_40288: assume true; local_#30680 := { base : 0, offset : 0 }; goto CFG_49720; CFG_49720: assume true; local_#31684_tm := local_#30680; local_#14410 := { base : 0, offset : 0 }; local_#14411 := (if local_#31684_tm == local_#14410 then 1 else 0); if (local_#14411 != 0) { goto CFG_39171; } else { goto CFG_40289; } CFG_40289: assume true; goto CFG_49722; CFG_39171: assume true; _memory[{ base : local_#4194_val!base, offset : local_#4194_val!offset + 8 }] := 0; goto CFG_37315; CFG_42507: assume true; local_#14412 := 0; local_#14413 := 0; assert { :LIR "60781" } { :check "overflow" } { :finding_ids "0" } true; local_#14414 := 0; goto CFG_45965; CFG_45965: assume true; call local_#14415 := routine_#33885_luaT_gettmbyobj(local_#4191_L,local_#4192_t,local_#14414); goto CFG_49721; CFG_49721: assume true; local_#31684_tm := local_#14415; local_#14416 := 0; local_#14417 := (if _memory[{ base : local_#31684_tm!base, offset : local_#31684_tm!offset + 8 }] == local_#14416 then 1 else 0); if (local_#14417 != 0) { goto CFG_42510; } else { goto CFG_40290; } CFG_40290: assume true; goto CFG_49722; CFG_49722: assume true; local_#14418 := 15; local_#14419 := ~sand32(_memory[{ base : local_#31684_tm!base, offset : local_#31684_tm!offset + 8 }], local_#14418); local_#14420 := 6; local_#14421 := (if local_#14419 == local_#14420 then 1 else 0); if (local_#14421 != 0) { goto CFG_42509; } else { goto CFG_49723; } CFG_49723: assume true; local_#4192_t := local_#31684_tm; local_#14422 := 69; local_#14423 := (if _memory[{ base : local_#4192_t!base, offset : local_#4192_t!offset + 8 }] == local_#14422 then 1 else 0); local_#14424 := (if local_#14423 != 0 then 0 else 1); if (local_#14424 != 0) { goto CFG_49725; } else { goto CFG_42508; } CFG_42508: assume true; local_#14425 := { base : local_#4192_t!base, offset : local_#4192_t!offset + 0 }; local_#14426 := _memory_ptr[local_#14425]; assert { :LIR "60782" } { :check "overflow" } { :finding_ids "0" } true; local_#14427 := { base : local_#14426!base, offset : local_#14426!offset + 0 }; local_#14428 := local_#4193_key; assert { :LIR "62585" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45966; CFG_45966: assume true; call local_#14429 := routine_#33767_luaH_get(local_#14427,local_#14428); goto CFG_49724; CFG_49724: assume true; local_#4195_slot := local_#14429; local_#14430 := local_#4195_slot; local_#14431 := 0; local_#14432 := (if _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 8 }] == local_#14431 then 1 else 0); local_#14433 := (if local_#14432 != 0 then 0 else 1); local_#14434 := local_#14433; if (local_#14434 != 0) { goto CFG_39172; } else { goto CFG_45009; } CFG_49725: assume true; local_#4195_slot := { base : 0, offset : 0 }; local_#14435 := local_#4195_slot; local_#14436 := 0; if (local_#14436 != 0) { goto CFG_39172; } else { goto CFG_45009; } CFG_45009: assume true; local_#14437 := local_#31683_loop; local_#14438 := 1; local_#31683_loop := local_#14437 + local_#14438; assert { :LIR "66471" } { :check "overflow" } { :finding_ids "0" } local_#31683_loop <= 2147483647; local_#14439 := local_#14437; goto CFG_49716; CFG_39172: assume true; local_#31685_io1 := local_#4194_val; assume read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_b == _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_f == _memory_ptr[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_gc == _memory_ptr[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_i == _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_value_!_p == _memory_ptr[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4195_slot)!_tt_ == _memory[{ base : local_#4195_slot!base, offset : local_#4195_slot!offset + 8 }]; call write_type_#101(local_#31685_io1,read_type_#101(_memory, _memory_ptr, local_#4195_slot)); local_#14440 := 0; assert { :LIR "60783" } { :check "overflow" } { :finding_ids "0" } true; local_#14441 := 0; local_#14442 := 0; assert { :LIR "60784" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37315; CFG_42509: assume true; local_#14443 := local_#4193_key; assert { :LIR "62586" } { :check "overflow" } { :finding_ids "0" } true; local_#14444 := 1; goto CFG_45967; CFG_45967: assume true; call routine_#33881_luaT_callTM(local_#4191_L,local_#31684_tm,local_#4192_t,local_#14443,local_#4194_val,local_#14444); goto CFG_39173; CFG_39173: assume true; goto CFG_37315; CFG_42510: assume true; assume _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 0 }] == 105 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 1 }] == 110 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 2 }] == 100 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 3 }] == 101 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 4 }] == 120 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 5 }] == 0; local_#14445 := strlit_#70380; local_#14446 := { base : local_#14445!base, offset : local_#14445!offset + 0 * 1 }; assert { :LIR "62587" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45968; CFG_45968: assume true; call routine_#33765_luaG_typeerror(local_#4191_L,local_#4192_t,local_#14446); CFG_39174: assume true; goto CFG_37315; CFG_37315: assume true; } procedure routine_#33897_luaV_finishset(local_#4196_L_IN : { base : int, offset : int }, local_#4197_t_IN : { base : int, offset : int }, local_#4198_key_IN : { base : int, offset : int }, local_#4199_val_IN : { base : int, offset : int }, local_#4200_slot_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4196_L : { base : int, offset : int }; var local_#4197_t : { base : int, offset : int }; var local_#4198_key : { base : int, offset : int }; var local_#4199_val : { base : int, offset : int }; var local_#4200_slot : { base : int, offset : int }; var local_#31686_loop : int; var local_#14447 : int; var local_#14448 : int; var local_#14449 : { base : int, offset : int }; var local_#14450 : { base : int, offset : int }; var local_#14451 : { base : int, offset : int }; var local_#14452 : int; var local_#14453 : int; var local_#14454 : { base : int, offset : int }; var local_#31687_tm : { base : int, offset : int }; var local_#14455 : int; var local_#14456 : int; var local_#14457 : { base : int, offset : int }; var local_#14458 : { base : int, offset : int }; var local_#14459 : { base : int, offset : int }; var local_#14460 : { base : int, offset : int }; var local_#14461 : { base : int, offset : int }; var local_#31688_h : { base : int, offset : int }; var local_#14462 : int; var local_#14463 : int; var local_#14464 : { base : int, offset : int }; var local_#14465 : int; var local_#14466 : { base : int, offset : int }; var local_#14467 : int; var local_#14468 : int; var local_#14469 : int; var local_#14470 : { base : int, offset : int }; var local_#14471 : int; var local_#14472 : { base : int, offset : int }; var local_#14473 : { base : int, offset : int }; var local_#14474 : int; var local_#14475 : { base : int, offset : int }; var local_#14476 : { base : int, offset : int }; var local_#14477 : { base : int, offset : int }; var local_#30681 : { base : int, offset : int }; var local_#30682 : { base : int, offset : int }; var local_#14478 : { base : int, offset : int }; var local_#14479 : int; var local_#14480 : int; var local_#14481 : int; var local_#14482 : int; var local_#14483 : int; var local_#14484 : int; var local_#14485 : int; var local_#14486 : int; var local_#14487 : { base : int, offset : int }; var local_#14488 : { base : int, offset : int }; var local_#14489 : { base : int, offset : int }; var local_#14490 : { base : int, offset : int }; var local_#14491 : { base : int, offset : int }; var local_#14492 : { base : int, offset : int }; var local_#14493 : int; var local_#14494 : int; var local_#14495 : int; var local_#14496 : int; var local_#14497 : { base : int, offset : int }; var local_#14498 : { base : int, offset : int }; var local_#14499 : { base : int, offset : int }; var local_#14500 : int; var local_#14501 : int; var local_#14502 : int; var local_#14503 : { base : int, offset : int }; var local_#14504 : { base : int, offset : int }; var local_#14505 : int; var local_#14506 : int; var local_#14507 : int; var local_#14508 : int; var local_#14509 : int; var local_#14510 : { base : int, offset : int }; var local_#14511 : { base : int, offset : int }; var local_#14512 : { base : int, offset : int }; var local_#14513 : int; var local_#14514 : { base : int, offset : int }; var local_#14515 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14516 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14517 : int; var local_#14518 : int; var local_#30683 : int; var local_#14519 : int; var local_#14520 : int; var local_#14521 : { base : int, offset : int }; var local_#14522 : int; var local_#14523 : int; var local_#14524 : int; var local_#14525 : int; var local_#14526 : { base : int, offset : int }; var local_#14527 : int; var local_#14528 : int; var local_#14529 : { base : int, offset : int }; var local_#14530 : { base : int, offset : int }; var local_#14531 : { base : int, offset : int }; var local_#14532 : int; var local_#14533 : { base : int, offset : int }; var local_#14534 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14535 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#14536 : int; var local_#14537 : int; var local_#14538 : int; var local_#14539 : int; var local_#14540 : int; var local_#14541 : int; var local_#14542 : int; var local_#14543 : { base : int, offset : int }; var local_#14544 : { base : int, offset : int }; var local_#14545 : int; var local_#14546 : int; var local_#14547 : int; var local_#14548 : int; var local_#14549 : int; local_#4196_L := local_#4196_L_IN; local_#4197_t := local_#4197_t_IN; local_#4198_key := local_#4198_key_IN; local_#4199_val := local_#4199_val_IN; local_#4200_slot := local_#4200_slot_IN; goto CFG_36405; CFG_36405: assume true; goto CFG_41669; CFG_41669: assume true; local_#31686_loop := 0; goto CFG_49726; CFG_49726: assume true; local_#14447 := 2000; local_#14448 := (if local_#31686_loop < local_#14447 then 1 else 0); if (local_#14448 != 0) { goto CFG_49727; } else { goto CFG_42511; } CFG_42511: assume true; assume _memory[{ base : strlit_#70381!base, offset : strlit_#70381!offset + 42 }] == 0; local_#14449 := strlit_#70381; local_#14450 := { base : local_#14449!base, offset : local_#14449!offset + 0 * 1 }; assert { :LIR "62588" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45969; CFG_45969: assume true; call routine_#33762_luaG_runerror(local_#4196_L,local_#14450,{ base : 0, offset : 0 }); CFG_49727: assume true; local_#14451 := { base : 0, offset : 0 }; local_#14452 := (if local_#4200_slot != local_#14451 then 1 else 0); if (local_#14452 != 0) { goto CFG_49729; } else { goto CFG_42512; } CFG_42512: assume true; local_#14453 := 1; goto CFG_45970; CFG_45970: assume true; call local_#14454 := routine_#33885_luaT_gettmbyobj(local_#4196_L,local_#4197_t,local_#14453); goto CFG_49728; CFG_49728: assume true; local_#31687_tm := local_#14454; local_#14455 := 0; local_#14456 := (if _memory[{ base : local_#31687_tm!base, offset : local_#31687_tm!offset + 8 }] == local_#14455 then 1 else 0); if (local_#14456 != 0) { goto CFG_42513; } else { goto CFG_40291; } CFG_40291: assume true; goto CFG_49732; CFG_42513: assume true; assume _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 0 }] == 105 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 1 }] == 110 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 2 }] == 100 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 3 }] == 101 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 4 }] == 120 && _memory[{ base : strlit_#70380!base, offset : strlit_#70380!offset + 5 }] == 0; local_#14457 := strlit_#70380; local_#14458 := { base : local_#14457!base, offset : local_#14457!offset + 0 * 1 }; assert { :LIR "62589" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45971; CFG_45971: assume true; call routine_#33765_luaG_typeerror(local_#4196_L,local_#4197_t,local_#14458); CFG_49729: assume true; local_#14459 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; local_#14460 := _memory_ptr[local_#14459]; assert { :LIR "60785" } { :check "overflow" } { :finding_ids "0" } true; local_#14461 := { base : local_#14460!base, offset : local_#14460!offset + 0 }; local_#31688_h := local_#14461; local_#14462 := 0; local_#14463 := 0; assert { :LIR "60786" } { :check "overflow" } { :finding_ids "0" } true; local_#14464 := { base : 0, offset : 0 }; local_#14465 := (if _memory_ptr[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 40 }] == local_#14464 then 1 else 0); if (local_#14465 != 0) { goto CFG_40295; } else { goto CFG_49730; } CFG_49730: assume true; local_#14466 := _memory_ptr[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 40 }]; local_#14467 := ~uwrap32(_memory[{ base : local_#14466!base, offset : local_#14466!offset + 10 }]); assert { :LIR "62590" } { :check "overflow" } { :finding_ids "0" } true; local_#14468 := 2; local_#14469 := ~uand32(local_#14467, local_#14468); if (local_#14469 != 0) { goto CFG_40293; } else { goto CFG_42514; } CFG_42514: assume true; local_#14470 := _memory_ptr[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 40 }]; local_#14471 := 1; local_#14472 := _memory_ptr[{ base : local_#4196_L!base, offset : local_#4196_L!offset + 24 }]; local_#14473 := { base : local_#14472!base, offset : local_#14472!offset + 224 }; local_#14474 := 1; local_#14475 := { base : local_#14473!base, offset : local_#14473!offset + 0 * 8 + local_#14474 * 8 }; local_#14476 := _memory_ptr[local_#14475]; goto CFG_45972; CFG_45972: assume true; call local_#14477 := routine_#33884_luaT_gettm(local_#14470,local_#14471,local_#14476); goto CFG_40292; CFG_40292: assume true; local_#30681 := local_#14477; goto CFG_40294; CFG_40293: assume true; local_#30681 := { base : 0, offset : 0 }; goto CFG_40294; CFG_40294: assume true; local_#30682 := local_#30681; goto CFG_49731; CFG_40295: assume true; local_#30682 := { base : 0, offset : 0 }; goto CFG_49731; CFG_49731: assume true; local_#31687_tm := local_#30682; local_#14478 := { base : 0, offset : 0 }; local_#14479 := (if local_#31687_tm == local_#14478 then 1 else 0); if (local_#14479 != 0) { goto CFG_49740; } else { goto CFG_40296; } CFG_40296: assume true; goto CFG_49732; CFG_49732: assume true; local_#14480 := 15; local_#14481 := ~sand32(_memory[{ base : local_#31687_tm!base, offset : local_#31687_tm!offset + 8 }], local_#14480); local_#14482 := 6; local_#14483 := (if local_#14481 == local_#14482 then 1 else 0); if (local_#14483 != 0) { goto CFG_42517; } else { goto CFG_49733; } CFG_49733: assume true; local_#4197_t := local_#31687_tm; local_#14484 := 69; local_#14485 := (if _memory[{ base : local_#4197_t!base, offset : local_#4197_t!offset + 8 }] == local_#14484 then 1 else 0); local_#14486 := (if local_#14485 != 0 then 0 else 1); if (local_#14486 != 0) { goto CFG_49739; } else { goto CFG_42515; } CFG_42515: assume true; local_#14487 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; local_#14488 := _memory_ptr[local_#14487]; assert { :LIR "60787" } { :check "overflow" } { :finding_ids "0" } true; local_#14489 := { base : local_#14488!base, offset : local_#14488!offset + 0 }; local_#14490 := local_#4198_key; assert { :LIR "62591" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45973; CFG_45973: assume true; call local_#14491 := routine_#33767_luaH_get(local_#14489,local_#14490); goto CFG_49734; CFG_49734: assume true; local_#4200_slot := local_#14491; local_#14492 := local_#4200_slot; local_#14493 := 0; local_#14494 := (if _memory[{ base : local_#4200_slot!base, offset : local_#4200_slot!offset + 8 }] == local_#14493 then 1 else 0); if (local_#14494 != 0) { goto CFG_40300; } else { goto CFG_49735; } CFG_49735: assume true; local_#14495 := 64; local_#14496 := ~sand32(_memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }], local_#14495); if (local_#14496 != 0) { goto CFG_49736; } else { goto CFG_40297; } CFG_49736: assume true; local_#14497 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; local_#14498 := _memory_ptr[local_#14497]; assert { :LIR "60788" } { :check "overflow" } { :finding_ids "0" } true; local_#14499 := { base : local_#14498!base, offset : local_#14498!offset + 0 }; local_#14500 := _memory[{ base : local_#14499!base, offset : local_#14499!offset + 9 }]; assert { :LIR "62592" } { :check "overflow" } { :finding_ids "0" } local_#14500 <= 2147483647; local_#14501 := 4; local_#14502 := ~sand32(local_#14500, local_#14501); if (local_#14502 != 0) { goto CFG_49737; } else { goto CFG_40297; } CFG_49737: assume true; local_#14503 := { base : local_#4199_val!base, offset : local_#4199_val!offset + 0 }; local_#14504 := _memory_ptr[local_#14503]; local_#14505 := _memory[{ base : local_#14504!base, offset : local_#14504!offset + 9 }]; assert { :LIR "62593" } { :check "overflow" } { :finding_ids "0" } local_#14505 <= 2147483647; local_#14506 := 3; local_#14507 := ~sand32(local_#14505, local_#14506); if (local_#14507 != 0) { goto CFG_42516; } else { goto CFG_40297; } CFG_40297: assume true; local_#14508 := 0; local_#14509 := 0; assert { :LIR "60789" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40299; CFG_42516: assume true; local_#14510 := { base : local_#4197_t!base, offset : local_#4197_t!offset + 0 }; local_#14511 := _memory_ptr[local_#14510]; assert { :LIR "60790" } { :check "overflow" } { :finding_ids "0" } true; local_#14512 := { base : local_#14511!base, offset : local_#14511!offset + 0 }; goto CFG_45974; CFG_45974: assume true; call routine_#33721_luaC_barrierback_(local_#4196_L,local_#14512); goto CFG_40298; CFG_40298: assume true; goto CFG_40299; CFG_40299: assume true; local_#14513 := 0; assert { :LIR "60791" } { :check "overflow" } { :finding_ids "0" } true; local_#14514 := local_#4200_slot; assert { :LIR "60792" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_b == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_f == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_gc == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_i == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_p == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_tt_ == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }]; call write_type_#101(local_#14514,read_type_#101(_memory, _memory_ptr, local_#4199_val)); assume read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_b == _memory[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_f == _memory_ptr[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_gc == _memory_ptr[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_i == _memory[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14514)!_value_!_p == _memory_ptr[{ base : local_#14514!base, offset : local_#14514!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14514)!_tt_ == _memory[{ base : local_#14514!base, offset : local_#14514!offset + 8 }]; local_#14515 := read_type_#101(_memory, _memory_ptr, local_#14514); local_#14516 := local_#14515; local_#14517 := 0; local_#14518 := 0; assert { :LIR "60793" } { :check "overflow" } { :finding_ids "0" } true; local_#30683 := 1; goto CFG_49738; CFG_40300: assume true; local_#30683 := 0; goto CFG_49738; CFG_49738: assume true; local_#14519 := local_#30683; local_#14520 := local_#14519; if (local_#14520 != 0) { goto CFG_39175; } else { goto CFG_45010; } CFG_49739: assume true; local_#4200_slot := { base : 0, offset : 0 }; local_#14521 := local_#4200_slot; local_#14522 := 0; if (local_#14522 != 0) { goto CFG_39175; } else { goto CFG_45010; } CFG_45010: assume true; local_#14523 := local_#31686_loop; local_#14524 := 1; local_#31686_loop := local_#14523 + local_#14524; assert { :LIR "66472" } { :check "overflow" } { :finding_ids "0" } local_#31686_loop <= 2147483647; local_#14525 := local_#14523; goto CFG_49726; CFG_39175: assume true; goto CFG_37316; CFG_42517: assume true; local_#14526 := local_#4198_key; assert { :LIR "62594" } { :check "overflow" } { :finding_ids "0" } true; local_#14527 := 0; goto CFG_45975; CFG_45975: assume true; call routine_#33881_luaT_callTM(local_#4196_L,local_#31687_tm,local_#4197_t,local_#14526,local_#4199_val,local_#14527); goto CFG_39176; CFG_39176: assume true; goto CFG_37316; CFG_49740: assume true; local_#14528 := (if local_#4200_slot == global_#33098_luaO_nilobject_ then 1 else 0); if (local_#14528 != 0) { goto CFG_42518; } else { goto CFG_49741; } CFG_42518: assume true; local_#14529 := local_#4198_key; assert { :LIR "62595" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45976; CFG_45976: assume true; call local_#14530 := routine_#33773_luaH_newkey(local_#4196_L,local_#31688_h,local_#14529); goto CFG_40301; CFG_40301: assume true; local_#14531 := local_#14530; assert { :LIR "62596" } { :check "overflow" } { :finding_ids "0" } true; local_#4200_slot := local_#14531; goto CFG_49741; CFG_49741: assume true; local_#14532 := 0; assert { :LIR "60794" } { :check "overflow" } { :finding_ids "0" } true; local_#14533 := local_#4200_slot; assert { :LIR "60795" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_b == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_f == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_gc == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_i == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_value_!_p == _memory_ptr[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#4199_val)!_tt_ == _memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }]; call write_type_#101(local_#14533,read_type_#101(_memory, _memory_ptr, local_#4199_val)); assume read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_b == _memory[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_f == _memory_ptr[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_gc == _memory_ptr[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_i == _memory[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14533)!_value_!_p == _memory_ptr[{ base : local_#14533!base, offset : local_#14533!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14533)!_tt_ == _memory[{ base : local_#14533!base, offset : local_#14533!offset + 8 }]; local_#14534 := read_type_#101(_memory, _memory_ptr, local_#14533); local_#14535 := local_#14534; local_#14536 := 0; local_#14537 := 0; assert { :LIR "60796" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 10 }] := 0; local_#14538 := 64; local_#14539 := ~sand32(_memory[{ base : local_#4199_val!base, offset : local_#4199_val!offset + 8 }], local_#14538); if (local_#14539 != 0) { goto CFG_49742; } else { goto CFG_40302; } CFG_49742: assume true; local_#14540 := _memory[{ base : local_#31688_h!base, offset : local_#31688_h!offset + 9 }]; assert { :LIR "62597" } { :check "overflow" } { :finding_ids "0" } local_#14540 <= 2147483647; local_#14541 := 4; local_#14542 := ~sand32(local_#14540, local_#14541); if (local_#14542 != 0) { goto CFG_49743; } else { goto CFG_40302; } CFG_49743: assume true; local_#14543 := { base : local_#4199_val!base, offset : local_#4199_val!offset + 0 }; local_#14544 := _memory_ptr[local_#14543]; local_#14545 := _memory[{ base : local_#14544!base, offset : local_#14544!offset + 9 }]; assert { :LIR "62598" } { :check "overflow" } { :finding_ids "0" } local_#14545 <= 2147483647; local_#14546 := 3; local_#14547 := ~sand32(local_#14545, local_#14546); if (local_#14547 != 0) { goto CFG_45977; } else { goto CFG_40302; } CFG_40302: assume true; local_#14548 := 0; local_#14549 := 0; assert { :LIR "60797" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39177; CFG_45977: assume true; call routine_#33721_luaC_barrierback_(local_#4196_L,local_#31688_h); goto CFG_40303; CFG_40303: assume true; goto CFG_39177; CFG_39177: assume true; goto CFG_37316; CFG_39178: assume true; goto CFG_37316; CFG_37316: assume true; } procedure routine_#33898_luaV_lessequal(local_#4201_L_IN : { base : int, offset : int }, local_#4202_l_IN : { base : int, offset : int }, local_#4203_r_IN : { base : int, offset : int }) returns (local_#7842 : int) modifies _memory, _memory_ptr, _valid; { var local_#4201_L : { base : int, offset : int }; var local_#4202_l : { base : int, offset : int }; var local_#4203_r : { base : int, offset : int }; var local_#14550 : int; var local_#14551 : int; var local_#14552 : int; var local_#14553 : int; var local_#14554 : int; var local_#14555 : int; var local_#14556 : int; var local_#14557 : int; var local_#14558 : int; var local_#14559 : int; var local_#14560 : int; var local_#14561 : int; var local_#14562 : int; var local_#14563 : int; var local_#14564 : int; var local_#14565 : int; var local_#14566 : int; var local_#14567 : int; var local_#31689_res : int; var local_#14568 : int; var local_#14569 : int; var local_#14570 : int; var local_#14571 : { base : int, offset : int }; var local_#14572 : int; var local_#14573 : int; var local_#14574 : int; var local_#14575 : int; var local_#14576 : int; var local_#14577 : { base : int, offset : int }; var local_#14578 : int; var local_#14579 : int; var local_#14580 : int; var local_#14581 : int; var local_#14582 : int; var local_#14583 : { base : int, offset : int }; var local_#14584 : { base : int, offset : int }; var local_#14585 : { base : int, offset : int }; var local_#14586 : { base : int, offset : int }; var local_#14587 : { base : int, offset : int }; var local_#14588 : { base : int, offset : int }; var local_#14589 : { base : int, offset : int }; var local_#14590 : { base : int, offset : int }; var local_#14591 : int; var local_#14592 : int; var local_#14593 : int; var local_#14594 : int; local_#4201_L := local_#4201_L_IN; local_#4202_l := local_#4202_l_IN; local_#4203_r := local_#4203_r_IN; goto CFG_36406; CFG_36406: assume true; goto CFG_49744; CFG_49744: assume true; local_#14550 := 15; local_#14551 := ~sand32(_memory[{ base : local_#4202_l!base, offset : local_#4202_l!offset + 8 }], local_#14550); local_#14552 := 3; local_#14553 := (if local_#14551 == local_#14552 then 1 else 0); if (local_#14553 != 0) { goto CFG_49745; } else { goto CFG_49746; } CFG_49745: assume true; local_#14554 := 15; local_#14555 := ~sand32(_memory[{ base : local_#4203_r!base, offset : local_#4203_r!offset + 8 }], local_#14554); local_#14556 := 3; local_#14557 := (if local_#14555 == local_#14556 then 1 else 0); if (local_#14557 != 0) { goto CFG_45982; } else { goto CFG_49746; } CFG_49746: assume true; local_#14558 := 15; local_#14559 := ~sand32(_memory[{ base : local_#4202_l!base, offset : local_#4202_l!offset + 8 }], local_#14558); local_#14560 := 4; local_#14561 := (if local_#14559 == local_#14560 then 1 else 0); if (local_#14561 != 0) { goto CFG_49747; } else { goto CFG_42519; } CFG_49747: assume true; local_#14562 := 15; local_#14563 := ~sand32(_memory[{ base : local_#4203_r!base, offset : local_#4203_r!offset + 8 }], local_#14562); local_#14564 := 4; local_#14565 := (if local_#14563 == local_#14564 then 1 else 0); if (local_#14565 != 0) { goto CFG_42521; } else { goto CFG_42519; } CFG_42519: assume true; local_#14566 := 21; goto CFG_45978; CFG_45978: assume true; call local_#14567 := routine_#33883_luaT_callorderTM(local_#4201_L,local_#4202_l,local_#4203_r,local_#14566); goto CFG_49748; CFG_49748: assume true; local_#31689_res := local_#14567; local_#14568 := 0; local_#14569 := (if local_#31689_res >= local_#14568 then 1 else 0); if (local_#14569 != 0) { goto CFG_38198; } else { goto CFG_42520; } CFG_42520: assume true; local_#14570 := 128; local_#14571 := _memory_ptr[{ base : local_#4201_L!base, offset : local_#4201_L!offset + 32 }]; local_#14572 := _memory[{ base : local_#14571!base, offset : local_#14571!offset + 66 }]; assert { :LIR "62599" } { :check "overflow" } { :finding_ids "0" } local_#14572 <= 2147483647; local_#14573 := ~sor32(local_#14572, local_#14570); _memory[{ base : local_#14571!base, offset : local_#14571!offset + 66 }] := ~uwrap16(local_#14573); assert { :LIR "62600" } { :check "overflow" } { :finding_ids "0" } true; local_#14574 := 20; goto CFG_45979; CFG_45979: assume true; call local_#14575 := routine_#33883_luaT_callorderTM(local_#4201_L,local_#4203_r,local_#4202_l,local_#14574); goto CFG_49749; CFG_49749: assume true; local_#31689_res := local_#14575; local_#14576 := 128; local_#14577 := _memory_ptr[{ base : local_#4201_L!base, offset : local_#4201_L!offset + 32 }]; local_#14578 := _memory[{ base : local_#14577!base, offset : local_#14577!offset + 66 }]; assert { :LIR "62601" } { :check "overflow" } { :finding_ids "0" } local_#14578 <= 2147483647; local_#14579 := ~sxor32(local_#14578, local_#14576); _memory[{ base : local_#14577!base, offset : local_#14577!offset + 66 }] := ~uwrap16(local_#14579); assert { :LIR "62602" } { :check "overflow" } { :finding_ids "0" } true; local_#14580 := 0; local_#14581 := (if local_#31689_res < local_#14580 then 1 else 0); if (local_#14581 != 0) { goto CFG_45980; } else { goto CFG_38197; } CFG_38197: assume true; local_#14582 := (if local_#31689_res != 0 then 0 else 1); local_#7842 := local_#14582; goto CFG_37317; CFG_45980: assume true; call routine_#33761_luaG_ordererror(local_#4201_L,local_#4202_l,local_#4203_r); CFG_38198: assume true; local_#7842 := local_#31689_res; goto CFG_37317; CFG_42521: assume true; local_#14583 := { base : local_#4202_l!base, offset : local_#4202_l!offset + 0 }; local_#14584 := _memory_ptr[local_#14583]; assert { :LIR "60798" } { :check "overflow" } { :finding_ids "0" } true; local_#14585 := { base : local_#14584!base, offset : local_#14584!offset + 0 }; local_#14586 := local_#14585; assert { :LIR "62603" } { :check "overflow" } { :finding_ids "0" } true; local_#14587 := { base : local_#4203_r!base, offset : local_#4203_r!offset + 0 }; local_#14588 := _memory_ptr[local_#14587]; assert { :LIR "60799" } { :check "overflow" } { :finding_ids "0" } true; local_#14589 := { base : local_#14588!base, offset : local_#14588!offset + 0 }; local_#14590 := local_#14589; assert { :LIR "62604" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45981; CFG_45981: assume true; call local_#14591 := routine_#34851_l_strcmp(local_#14586,local_#14590); goto CFG_38199; CFG_38199: assume true; local_#14592 := 0; local_#14593 := (if local_#14591 <= local_#14592 then 1 else 0); local_#7842 := local_#14593; goto CFG_37317; CFG_45982: assume true; call local_#14594 := routine_#34554_LEnum(local_#4202_l,local_#4203_r); goto CFG_38200; CFG_38200: assume true; local_#7842 := local_#14594; goto CFG_37317; CFG_37317: assume true; } procedure routine_#33899_luaV_lessthan(local_#4204_L_IN : { base : int, offset : int }, local_#4205_l_IN : { base : int, offset : int }, local_#4206_r_IN : { base : int, offset : int }) returns (local_#7843 : int) modifies _memory, _memory_ptr, _valid; { var local_#4204_L : { base : int, offset : int }; var local_#4205_l : { base : int, offset : int }; var local_#4206_r : { base : int, offset : int }; var local_#14595 : int; var local_#14596 : int; var local_#14597 : int; var local_#14598 : int; var local_#14599 : int; var local_#14600 : int; var local_#14601 : int; var local_#14602 : int; var local_#14603 : int; var local_#14604 : int; var local_#14605 : int; var local_#14606 : int; var local_#14607 : int; var local_#14608 : int; var local_#14609 : int; var local_#14610 : int; var local_#14611 : int; var local_#14612 : int; var local_#31690_res : int; var local_#14613 : int; var local_#14614 : int; var local_#14615 : { base : int, offset : int }; var local_#14616 : { base : int, offset : int }; var local_#14617 : { base : int, offset : int }; var local_#14618 : { base : int, offset : int }; var local_#14619 : { base : int, offset : int }; var local_#14620 : { base : int, offset : int }; var local_#14621 : { base : int, offset : int }; var local_#14622 : { base : int, offset : int }; var local_#14623 : int; var local_#14624 : int; var local_#14625 : int; var local_#14626 : int; local_#4204_L := local_#4204_L_IN; local_#4205_l := local_#4205_l_IN; local_#4206_r := local_#4206_r_IN; goto CFG_36407; CFG_36407: assume true; goto CFG_49750; CFG_49750: assume true; local_#14595 := 15; local_#14596 := ~sand32(_memory[{ base : local_#4205_l!base, offset : local_#4205_l!offset + 8 }], local_#14595); local_#14597 := 3; local_#14598 := (if local_#14596 == local_#14597 then 1 else 0); if (local_#14598 != 0) { goto CFG_49751; } else { goto CFG_49752; } CFG_49751: assume true; local_#14599 := 15; local_#14600 := ~sand32(_memory[{ base : local_#4206_r!base, offset : local_#4206_r!offset + 8 }], local_#14599); local_#14601 := 3; local_#14602 := (if local_#14600 == local_#14601 then 1 else 0); if (local_#14602 != 0) { goto CFG_45986; } else { goto CFG_49752; } CFG_49752: assume true; local_#14603 := 15; local_#14604 := ~sand32(_memory[{ base : local_#4205_l!base, offset : local_#4205_l!offset + 8 }], local_#14603); local_#14605 := 4; local_#14606 := (if local_#14604 == local_#14605 then 1 else 0); if (local_#14606 != 0) { goto CFG_49753; } else { goto CFG_42522; } CFG_49753: assume true; local_#14607 := 15; local_#14608 := ~sand32(_memory[{ base : local_#4206_r!base, offset : local_#4206_r!offset + 8 }], local_#14607); local_#14609 := 4; local_#14610 := (if local_#14608 == local_#14609 then 1 else 0); if (local_#14610 != 0) { goto CFG_42523; } else { goto CFG_42522; } CFG_42522: assume true; local_#14611 := 20; goto CFG_45983; CFG_45983: assume true; call local_#14612 := routine_#33883_luaT_callorderTM(local_#4204_L,local_#4205_l,local_#4206_r,local_#14611); goto CFG_49754; CFG_49754: assume true; local_#31690_res := local_#14612; local_#14613 := 0; local_#14614 := (if local_#31690_res < local_#14613 then 1 else 0); if (local_#14614 != 0) { goto CFG_45984; } else { goto CFG_40304; } CFG_40304: assume true; goto CFG_40305; CFG_40305: assume true; goto CFG_38201; CFG_38201: assume true; local_#7843 := local_#31690_res; goto CFG_37318; CFG_45984: assume true; call routine_#33761_luaG_ordererror(local_#4204_L,local_#4205_l,local_#4206_r); CFG_42523: assume true; local_#14615 := { base : local_#4205_l!base, offset : local_#4205_l!offset + 0 }; local_#14616 := _memory_ptr[local_#14615]; assert { :LIR "60800" } { :check "overflow" } { :finding_ids "0" } true; local_#14617 := { base : local_#14616!base, offset : local_#14616!offset + 0 }; local_#14618 := local_#14617; assert { :LIR "62605" } { :check "overflow" } { :finding_ids "0" } true; local_#14619 := { base : local_#4206_r!base, offset : local_#4206_r!offset + 0 }; local_#14620 := _memory_ptr[local_#14619]; assert { :LIR "60801" } { :check "overflow" } { :finding_ids "0" } true; local_#14621 := { base : local_#14620!base, offset : local_#14620!offset + 0 }; local_#14622 := local_#14621; assert { :LIR "62606" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45985; CFG_45985: assume true; call local_#14623 := routine_#34851_l_strcmp(local_#14618,local_#14622); goto CFG_38202; CFG_38202: assume true; local_#14624 := 0; local_#14625 := (if local_#14623 < local_#14624 then 1 else 0); local_#7843 := local_#14625; goto CFG_37318; CFG_45986: assume true; call local_#14626 := routine_#34556_LTnum(local_#4205_l,local_#4206_r); goto CFG_38203; CFG_38203: assume true; local_#7843 := local_#14626; goto CFG_37318; CFG_37318: assume true; } procedure routine_#33900_luaV_mod(local_#4207_L_IN : { base : int, offset : int }, local_#4208_m_IN : int, local_#4209_n_IN : int) returns (local_#7844 : int) modifies _memory, _memory_ptr, _valid; { var local_#4207_L : { base : int, offset : int }; var local_#4208_m : int; var local_#4209_n : int; var local_#14627 : int; var local_#14628 : int; var local_#14629 : int; var local_#14630 : int; var local_#14631 : int; var local_#14632 : int; var local_#31691_r : int; var local_#14633 : int; var local_#14634 : int; var local_#14635 : int; var local_#14636 : int; var local_#14637 : int; var local_#14638 : int; var local_#14639 : int; var local_#14640 : { base : int, offset : int }; var local_#14641 : { base : int, offset : int }; local_#4207_L := local_#4207_L_IN; local_#4208_m := local_#4208_m_IN; local_#4209_n := local_#4209_n_IN; goto CFG_36408; CFG_36408: assume true; goto CFG_49755; CFG_49755: assume true; local_#14627 := ~uwrap64(local_#4209_n); assert { :LIR "60802" } { :check "overflow" } { :finding_ids "0" } true; local_#14628 := 1; assume { :symbol "~uwrap64" } true; local_#14629 := ~uwrap64(local_#14627 + local_#14628); assert { :LIR "66473" } { :check "overflow" } { :finding_ids "0" } true; local_#14630 := 1; local_#14631 := (if local_#14629 <= local_#14630 then 1 else 0); if (local_#14631 != 0) { goto CFG_49758; } else { goto CFG_49756; } CFG_49756: assume true; local_#14632 := local_#4208_m % local_#4209_n; local_#31691_r := local_#14632; local_#14633 := 0; local_#14634 := (if local_#31691_r != local_#14633 then 1 else 0); if (local_#14634 != 0) { goto CFG_49757; } else { goto CFG_38204; } CFG_49757: assume true; local_#14635 := ~sxor64(local_#4208_m, local_#4209_n); local_#14636 := 0; local_#14637 := (if local_#14635 < local_#14636 then 1 else 0); if (local_#14637 != 0) { goto CFG_40306; } else { goto CFG_38204; } CFG_40306: assume true; local_#31691_r := local_#31691_r + local_#4209_n; assert { :LIR "66474" } { :check "overflow" } { :finding_ids "0" } local_#31691_r <= 9223372036854775807; goto CFG_38204; CFG_38204: assume true; local_#7844 := local_#31691_r; goto CFG_37319; CFG_49758: assume true; local_#14638 := 0; local_#14639 := (if local_#4209_n == local_#14638 then 1 else 0); if (local_#14639 != 0) { goto CFG_42524; } else { goto CFG_38205; } CFG_38205: assume true; local_#7844 := 0; goto CFG_37319; CFG_42524: assume true; assume _memory[{ base : strlit_#70383!base, offset : strlit_#70383!offset + 25 }] == 0; local_#14640 := strlit_#70383; local_#14641 := { base : local_#14640!base, offset : local_#14640!offset + 0 * 1 }; assert { :LIR "62607" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45987; CFG_45987: assume true; call routine_#33762_luaG_runerror(local_#4207_L,local_#14641,{ base : 0, offset : 0 }); CFG_37319: assume true; } procedure routine_#33901_luaV_objlen(local_#4210_L_IN : { base : int, offset : int }, local_#4211_ra_IN : { base : int, offset : int }, local_#4212_rb_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4210_L : { base : int, offset : int }; var local_#4211_ra : { base : int, offset : int }; var local_#4212_rb : { base : int, offset : int }; var local_#14642 : int; var local_#14643 : int; var local_#14644 : int; var local_#14645 : { base : int, offset : int }; var local_#31692_tm : { base : int, offset : int }; var local_#14646 : int; var local_#14647 : int; var local_#14648 : { base : int, offset : int }; var local_#14649 : { base : int, offset : int }; var local_#31696_io : { base : int, offset : int }; var local_#14650 : { base : int, offset : int }; var local_#14651 : { base : int, offset : int }; var local_#14652 : { base : int, offset : int }; var local_#14653 : { base : int, offset : int }; var local_#14654 : int; var local_#14655 : { base : int, offset : int }; var local_#31695_io : { base : int, offset : int }; var local_#14656 : { base : int, offset : int }; var local_#14657 : { base : int, offset : int }; var local_#14658 : { base : int, offset : int }; var local_#14659 : int; var local_#14660 : { base : int, offset : int }; var local_#14661 : { base : int, offset : int }; var local_#14662 : { base : int, offset : int }; var local_#14663 : { base : int, offset : int }; var local_#31693_h : { base : int, offset : int }; var local_#14664 : { base : int, offset : int }; var local_#14665 : int; var local_#14666 : { base : int, offset : int }; var local_#14667 : int; var local_#14668 : int; var local_#14669 : int; var local_#14670 : { base : int, offset : int }; var local_#14671 : int; var local_#14672 : { base : int, offset : int }; var local_#14673 : { base : int, offset : int }; var local_#14674 : int; var local_#14675 : { base : int, offset : int }; var local_#14676 : { base : int, offset : int }; var local_#14677 : { base : int, offset : int }; var local_#30684 : { base : int, offset : int }; var local_#30685 : { base : int, offset : int }; var local_#14678 : { base : int, offset : int }; var local_#31694_io : { base : int, offset : int }; var local_#14679 : int; var local_#14680 : int; var local_#14681 : { base : int, offset : int }; var local_#14682 : int; local_#4210_L := local_#4210_L_IN; local_#4211_ra := local_#4211_ra_IN; local_#4212_rb := local_#4212_rb_IN; goto CFG_36409; CFG_36409: assume true; goto CFG_51517; CFG_51517: assume true; local_#14642 := 63; local_#14643 := ~sand32(_memory[{ base : local_#4212_rb!base, offset : local_#4212_rb!offset + 8 }], local_#14642); if (local_#14643 == 5) { goto CFG_49760; } if (local_#14643 == 4) { goto CFG_39180; } if (local_#14643 == 20) { goto CFG_39179; } goto CFG_42525; CFG_42525: assume true; local_#14644 := 4; goto CFG_45988; CFG_45988: assume true; call local_#14645 := routine_#33885_luaT_gettmbyobj(local_#4210_L,local_#4212_rb,local_#14644); goto CFG_49759; CFG_49759: assume true; local_#31692_tm := local_#14645; local_#14646 := 0; local_#14647 := (if _memory[{ base : local_#31692_tm!base, offset : local_#31692_tm!offset + 8 }] == local_#14646 then 1 else 0); if (local_#14647 != 0) { goto CFG_42526; } else { goto CFG_39557; } CFG_39557: assume true; goto CFG_42529; CFG_42526: assume true; assume _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 0 }] == 103 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 1 }] == 101 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 2 }] == 116 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 3 }] == 32 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 4 }] == 108 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 5 }] == 101 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 6 }] == 110 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 7 }] == 103 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 8 }] == 116 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 9 }] == 104 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 10 }] == 32 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 11 }] == 111 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 12 }] == 102 && _memory[{ base : strlit_#70384!base, offset : strlit_#70384!offset + 13 }] == 0; local_#14648 := strlit_#70384; local_#14649 := { base : local_#14648!base, offset : local_#14648!offset + 0 * 1 }; assert { :LIR "62608" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45989; CFG_45989: assume true; call routine_#33765_luaG_typeerror(local_#4210_L,local_#4212_rb,local_#14649); CFG_39179: assume true; local_#31696_io := local_#4211_ra; local_#14650 := { base : local_#4212_rb!base, offset : local_#4212_rb!offset + 0 }; local_#14651 := _memory_ptr[local_#14650]; assert { :LIR "60803" } { :check "overflow" } { :finding_ids "0" } true; local_#14652 := { base : local_#14651!base, offset : local_#14651!offset + 0 }; local_#14653 := { base : local_#14652!base, offset : local_#14652!offset + 16 }; local_#14654 := _memory[local_#14653]; assert { :LIR "62609" } { :check "overflow" } { :finding_ids "0" } local_#14654 <= 9223372036854775807; local_#14655 := { base : local_#31696_io!base, offset : local_#31696_io!offset + 0 }; _memory[local_#14655] := local_#14654; _memory[{ base : local_#31696_io!base, offset : local_#31696_io!offset + 8 }] := 19; goto CFG_37320; CFG_39180: assume true; local_#31695_io := local_#4211_ra; local_#14656 := { base : local_#4212_rb!base, offset : local_#4212_rb!offset + 0 }; local_#14657 := _memory_ptr[local_#14656]; assert { :LIR "60804" } { :check "overflow" } { :finding_ids "0" } true; local_#14658 := { base : local_#14657!base, offset : local_#14657!offset + 0 }; local_#14659 := _memory[{ base : local_#14658!base, offset : local_#14658!offset + 11 }]; assert { :LIR "62610" } { :check "overflow" } { :finding_ids "0" } local_#14659 <= 9223372036854775807; local_#14660 := { base : local_#31695_io!base, offset : local_#31695_io!offset + 0 }; _memory[local_#14660] := local_#14659; _memory[{ base : local_#31695_io!base, offset : local_#31695_io!offset + 8 }] := 19; goto CFG_37320; CFG_49760: assume true; local_#14661 := { base : local_#4212_rb!base, offset : local_#4212_rb!offset + 0 }; local_#14662 := _memory_ptr[local_#14661]; assert { :LIR "60805" } { :check "overflow" } { :finding_ids "0" } true; local_#14663 := { base : local_#14662!base, offset : local_#14662!offset + 0 }; local_#31693_h := local_#14663; local_#14664 := { base : 0, offset : 0 }; local_#14665 := (if _memory_ptr[{ base : local_#31693_h!base, offset : local_#31693_h!offset + 40 }] == local_#14664 then 1 else 0); if (local_#14665 != 0) { goto CFG_40310; } else { goto CFG_49761; } CFG_49761: assume true; local_#14666 := _memory_ptr[{ base : local_#31693_h!base, offset : local_#31693_h!offset + 40 }]; local_#14667 := ~uwrap32(_memory[{ base : local_#14666!base, offset : local_#14666!offset + 10 }]); assert { :LIR "62611" } { :check "overflow" } { :finding_ids "0" } true; local_#14668 := 16; local_#14669 := ~uand32(local_#14667, local_#14668); if (local_#14669 != 0) { goto CFG_40308; } else { goto CFG_42527; } CFG_42527: assume true; local_#14670 := _memory_ptr[{ base : local_#31693_h!base, offset : local_#31693_h!offset + 40 }]; local_#14671 := 4; local_#14672 := _memory_ptr[{ base : local_#4210_L!base, offset : local_#4210_L!offset + 24 }]; local_#14673 := { base : local_#14672!base, offset : local_#14672!offset + 224 }; local_#14674 := 4; local_#14675 := { base : local_#14673!base, offset : local_#14673!offset + 0 * 8 + local_#14674 * 8 }; local_#14676 := _memory_ptr[local_#14675]; goto CFG_45990; CFG_45990: assume true; call local_#14677 := routine_#33884_luaT_gettm(local_#14670,local_#14671,local_#14676); goto CFG_40307; CFG_40307: assume true; local_#30684 := local_#14677; goto CFG_40309; CFG_40308: assume true; local_#30684 := { base : 0, offset : 0 }; goto CFG_40309; CFG_40309: assume true; local_#30685 := local_#30684; goto CFG_49762; CFG_40310: assume true; local_#30685 := { base : 0, offset : 0 }; goto CFG_49762; CFG_49762: assume true; local_#31692_tm := local_#30685; local_#14678 := local_#31692_tm; if (local_#14678 != { base : 0, offset : 0 }) { goto CFG_39558; } else { goto CFG_42528; } CFG_42528: assume true; local_#31694_io := local_#4211_ra; goto CFG_45991; CFG_45991: assume true; call local_#14679 := routine_#33769_luaH_getn(local_#31693_h); goto CFG_39181; CFG_39181: assume true; local_#14680 := local_#14679; assert { :LIR "62612" } { :check "overflow" } { :finding_ids "0" } local_#14680 <= 9223372036854775807; local_#14681 := { base : local_#31694_io!base, offset : local_#31694_io!offset + 0 }; _memory[local_#14681] := local_#14680; _memory[{ base : local_#31694_io!base, offset : local_#31694_io!offset + 8 }] := 19; goto CFG_37320; CFG_39558: assume true; goto CFG_42529; CFG_42529: assume true; local_#14682 := 1; goto CFG_45992; CFG_45992: assume true; call routine_#33881_luaT_callTM(local_#4210_L,local_#31692_tm,local_#4212_rb,local_#4212_rb,local_#4211_ra,local_#14682); goto CFG_39182; CFG_39182: assume true; goto CFG_37320; CFG_41919: assume true; goto CFG_42529; CFG_37320: assume true; } procedure routine_#33902_luaV_shiftl(local_#4213_x_IN : int, local_#4214_y_IN : int) returns (local_#7845 : int) { var local_#4213_x : int; var local_#4214_y : int; var local_#14683 : int; var local_#14684 : int; var local_#14685 : int; var local_#14686 : int; var local_#14687 : int; var local_#14688 : int; var local_#14689 : int; var local_#14690 : int; var local_#14691 : int; var local_#14692 : int; var local_#14693 : int; var local_#14694 : int; var local_#14695 : int; var local_#14696 : int; var local_#14697 : int; local_#4213_x := local_#4213_x_IN; local_#4214_y := local_#4214_y_IN; goto CFG_36410; CFG_36410: assume true; goto CFG_49763; CFG_49763: assume true; local_#14683 := 0; local_#14684 := (if local_#4214_y < local_#14683 then 1 else 0); if (local_#14684 != 0) { goto CFG_49765; } else { goto CFG_49764; } CFG_49764: assume true; local_#14685 := 64; local_#14686 := (if local_#4214_y >= local_#14685 then 1 else 0); if (local_#14686 != 0) { goto CFG_38207; } else { goto CFG_38206; } CFG_38206: assume true; local_#14687 := ~uwrap64(local_#4213_x); assert { :LIR "60806" } { :check "overflow" } { :finding_ids "0" } true; local_#14688 := ~uwrap64(local_#4214_y); assert { :LIR "60807" } { :check "overflow" } { :finding_ids "0" } true; local_#14689 := ~shl64(local_#14687, local_#14688); local_#14690 := local_#14689; assert { :LIR "60808" } { :check "overflow" } { :finding_ids "0" } local_#14690 <= 9223372036854775807; local_#7845 := local_#14690; goto CFG_37321; CFG_38207: assume true; local_#7845 := 0; goto CFG_37321; CFG_49765: assume true; local_#14691 := -64; local_#14692 := (if local_#4214_y <= local_#14691 then 1 else 0); if (local_#14692 != 0) { goto CFG_38209; } else { goto CFG_38208; } CFG_38208: assume true; local_#14693 := ~uwrap64(local_#4213_x); assert { :LIR "60809" } { :check "overflow" } { :finding_ids "0" } true; local_#14694 := -local_#4214_y; assert { :LIR "64653" } { :check "overflow" } { :finding_ids "0" } local_#14694 <= 9223372036854775807; local_#14695 := ~uwrap64(local_#14694); assert { :LIR "60810" } { :check "overflow" } { :finding_ids "0" } true; local_#14696 := ~lshr64(local_#14693, local_#14695); local_#14697 := local_#14696; assert { :LIR "60811" } { :check "overflow" } { :finding_ids "0" } local_#14697 <= 9223372036854775807; local_#7845 := local_#14697; goto CFG_37321; CFG_38209: assume true; local_#7845 := 0; goto CFG_37321; CFG_37321: assume true; } procedure routine_#33903_luaV_tointeger(local_#4215_obj_IN : { base : int, offset : int }, local_#4216_p_IN : { base : int, offset : int }, local_#4217_mode_IN : int) returns (local_#7846 : int) modifies _memory, _memory_ptr; { var local_#4215_obj : { base : int, offset : int }; var local_#4216_p : { base : int, offset : int }; var local_#4217_mode : int; var local_#14698 : int; var local_#14699 : int; var local_#14700 : int; var local_#14701 : int; var local_#14702 : int; var local_#14703 : int; var local_#14704 : int; var local_#14705 : int; var local_#14706 : { base : int, offset : int }; var local_#14707 : { base : int, offset : int }; var local_#14708 : { base : int, offset : int }; var local_#14709 : { base : int, offset : int }; var local_#14710 : int; var local_#14711 : { base : int, offset : int }; var local_#14712 : { base : int, offset : int }; var local_#31697_v : { base : int, offset : int }; var local_#14713 : { base : int, offset : int }; var local_#14714 : int; var local_#14715 : { base : int, offset : int }; var local_#14716 : { base : int, offset : int }; var local_#14717 : { base : int, offset : int }; var local_#14718 : int; var local_#14719 : int; var local_#14720 : int; var local_#14721 : { base : int, offset : int }; var local_#14722 : { base : int, offset : int }; var local_#14723 : { base : int, offset : int }; var local_#14724 : { base : int, offset : int }; var local_#30686 : int; var local_#14725 : { base : int, offset : int }; var local_#14726 : { base : int, offset : int }; var local_#14727 : { base : int, offset : int }; var local_#14728 : int; var local_#14729 : int; var local_#14730 : int; var local_#14731 : int; var local_#14732 : { base : int, offset : int }; var local_#14733 : { base : int, offset : int }; var local_#14734 : { base : int, offset : int }; var nondet_#0 : int; var local_#31699_n : int; var local_#14735 : int; var local_#31698_f : int; var nondet_#1 : bool; var local_#14736 : int; var local_#14737 : int; var local_#14738 : int; var local_#14739 : int; var local_#14740 : int; var nondet_#2 : int; var local_#14741 : int; var nondet_#3 : int; var nondet_#4 : int; var local_#14742 : int; var nondet_#5 : bool; var local_#14743 : int; var nondet_#6 : int; var local_#14744 : int; var nondet_#7 : bool; var local_#14745 : int; var local_#14746 : int; var nondet_#8 : int; var local_#14747 : int; var local_#14748 : int; var local_#30687 : int; local_#4215_obj := local_#4215_obj_IN; local_#4216_p := local_#4216_p_IN; local_#4217_mode := local_#4217_mode_IN; goto CFG_36411; CFG_36411: assume true; goto CFG_41920; CFG_41920: assume true; goto CFG_49766; CFG_49766: assume true; local_#14698 := 3; local_#14699 := (if _memory[{ base : local_#4215_obj!base, offset : local_#4215_obj!offset + 8 }] == local_#14698 then 1 else 0); if (local_#14699 != 0) { goto CFG_42531; } else { goto CFG_49767; } CFG_49767: assume true; local_#14700 := 19; local_#14701 := (if _memory[{ base : local_#4215_obj!base, offset : local_#4215_obj!offset + 8 }] == local_#14700 then 1 else 0); if (local_#14701 != 0) { goto CFG_38211; } else { goto CFG_49768; } CFG_49768: assume true; local_#14702 := 15; local_#14703 := ~sand32(_memory[{ base : local_#4215_obj!base, offset : local_#4215_obj!offset + 8 }], local_#14702); local_#14704 := 4; local_#14705 := (if local_#14703 == local_#14704 then 1 else 0); if (local_#14705 != 0) { goto CFG_42530; } else { goto CFG_40313; } CFG_42530: assume true; local_#14706 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; local_#14707 := _memory_ptr[local_#14706]; assert { :LIR "60812" } { :check "overflow" } { :finding_ids "0" } true; local_#14708 := { base : local_#14707!base, offset : local_#14707!offset + 0 }; local_#14709 := local_#14708; assert { :LIR "60813" } { :check "overflow" } { :finding_ids "0" } true; local_#14710 := 24; local_#14711 := { base : local_#14709!base, offset : local_#14709!offset + local_#14710 * 1 }; local_#14712 := local_#14711; assert { :LIR "62613" } { :check "overflow" } { :finding_ids "0" } true; local_#14713 := local_#31697_v; goto CFG_45993; CFG_45993: assume true; call local_#14714 := routine_#33867_luaO_str2num(local_#14712,local_#14713); goto CFG_49769; CFG_49769: assume true; local_#14715 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; local_#14716 := _memory_ptr[local_#14715]; assert { :LIR "60814" } { :check "overflow" } { :finding_ids "0" } true; local_#14717 := { base : local_#14716!base, offset : local_#14716!offset + 0 }; local_#14718 := _memory[{ base : local_#14717!base, offset : local_#14717!offset + 8 }]; assert { :LIR "62614" } { :check "overflow" } { :finding_ids "0" } local_#14718 <= 2147483647; local_#14719 := 4; local_#14720 := (if local_#14718 == local_#14719 then 1 else 0); if (local_#14720 != 0) { goto CFG_40312; } else { goto CFG_40311; } CFG_40311: assume true; local_#14721 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; local_#14722 := _memory_ptr[local_#14721]; assert { :LIR "60815" } { :check "overflow" } { :finding_ids "0" } true; local_#14723 := { base : local_#14722!base, offset : local_#14722!offset + 0 }; local_#14724 := { base : local_#14723!base, offset : local_#14723!offset + 16 }; local_#30686 := _memory[local_#14724]; goto CFG_49770; CFG_40312: assume true; local_#14725 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; local_#14726 := _memory_ptr[local_#14725]; assert { :LIR "60816" } { :check "overflow" } { :finding_ids "0" } true; local_#14727 := { base : local_#14726!base, offset : local_#14726!offset + 0 }; local_#14728 := ~uwrap64(_memory[{ base : local_#14727!base, offset : local_#14727!offset + 11 }]); assert { :LIR "62615" } { :check "overflow" } { :finding_ids "0" } true; local_#30686 := local_#14728; goto CFG_49770; CFG_49770: assume true; local_#14729 := 1; assume { :symbol "~uwrap64" } true; local_#14730 := ~uwrap64(local_#30686 + local_#14729); assert { :LIR "66475" } { :check "overflow" } { :finding_ids "0" } true; local_#14731 := (if local_#14714 == local_#14730 then 1 else 0); if (local_#14731 != 0) { goto CFG_45250; } else { goto CFG_40313; } CFG_40313: assume true; goto CFG_40314; CFG_40314: assume true; goto CFG_38210; CFG_38210: assume true; local_#7846 := 0; goto CFG_37322; CFG_45250: assume true; local_#14732 := local_#31697_v; assert { :LIR "62616" } { :check "overflow" } { :finding_ids "0" } true; local_#4215_obj := local_#14732; goto CFG_49766; CFG_38211: assume true; local_#14733 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; _memory[local_#4216_p] := _memory[local_#14733]; local_#7846 := 1; goto CFG_37322; CFG_42531: assume true; local_#14734 := { base : local_#4215_obj!base, offset : local_#4215_obj!offset + 0 }; havoc nondet_#0; local_#31699_n := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_45994; CFG_45994: assume true; call local_#14735 := routine_#33562_floor(local_#31699_n); goto CFG_49771; CFG_49771: assume true; local_#31698_f := local_#14735; havoc nondet_#1; local_#14736 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation != in 65502. */ then 1 else 0); if (local_#14736 != 0) { goto CFG_49772; } else { goto CFG_49774; } CFG_49772: assume true; local_#14737 := 0; local_#14738 := (if local_#4217_mode == local_#14737 then 1 else 0); if (local_#14738 != 0) { goto CFG_38213; } else { goto CFG_49773; } CFG_49773: assume true; local_#14739 := 1; local_#14740 := (if local_#4217_mode > local_#14739 then 1 else 0); if (local_#14740 != 0) { goto CFG_40315; } else { goto CFG_40316; } CFG_40315: assume true; havoc nondet_#2; local_#14741 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78596 */; havoc nondet_#3; local_#31698_f := nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66476. */; assert { :LIR "66476" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40316; CFG_40316: assume true; goto CFG_40317; CFG_40317: assume true; goto CFG_49774; CFG_49774: assume true; havoc nondet_#4; local_#14742 := nondet_#4 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78597 */; havoc nondet_#5; local_#14743 := (if nondet_#5 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65713. */ then 1 else 0); if (local_#14743 != 0) { goto CFG_49775; } else { goto CFG_40318; } CFG_49775: assume true; havoc nondet_#6; local_#14744 := nondet_#6 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78598 */; havoc nondet_#7; local_#14745 := (if nondet_#7 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66181. */ then 1 else 0); if (local_#14745 != 0) { goto CFG_49776; } else { goto CFG_40318; } CFG_49776: assume true; havoc nondet_#8; local_#14746 := nondet_#8 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 60817 */; assert { :LIR "60817" } { :check "overflow" } { :finding_ids "0" } local_#14746 <= 9223372036854775807; _memory[local_#4216_p] := local_#14746; local_#14747 := _memory[local_#4216_p]; local_#14748 := 1; if (local_#14748 != 0) { goto CFG_40319; } else { goto CFG_40318; } CFG_40318: assume true; local_#30687 := 0; goto CFG_38212; CFG_40319: assume true; local_#30687 := 1; goto CFG_38212; CFG_38212: assume true; local_#7846 := local_#30687; goto CFG_37322; CFG_38213: assume true; local_#7846 := 0; goto CFG_37322; CFG_37322: assume true; } procedure routine_#33904_luaV_tonumber_(local_#4218_obj_IN : { base : int, offset : int }, local_#4219_n_IN : { base : int, offset : int }) returns (local_#7847 : int) modifies _memory, _memory_ptr; { var local_#4218_obj : { base : int, offset : int }; var local_#4219_n : { base : int, offset : int }; var local_#14749 : int; var local_#14750 : int; var local_#14751 : int; var local_#14752 : int; var local_#14753 : int; var local_#14754 : int; var local_#14755 : { base : int, offset : int }; var local_#14756 : { base : int, offset : int }; var local_#14757 : { base : int, offset : int }; var local_#14758 : { base : int, offset : int }; var local_#14759 : int; var local_#14760 : { base : int, offset : int }; var local_#14761 : { base : int, offset : int }; var local_#31700_v : { base : int, offset : int }; var local_#14762 : { base : int, offset : int }; var local_#14763 : int; var local_#14764 : { base : int, offset : int }; var local_#14765 : { base : int, offset : int }; var local_#14766 : { base : int, offset : int }; var local_#14767 : int; var local_#14768 : int; var local_#14769 : int; var local_#14770 : { base : int, offset : int }; var local_#14771 : { base : int, offset : int }; var local_#14772 : { base : int, offset : int }; var local_#14773 : { base : int, offset : int }; var local_#30688 : int; var local_#14774 : { base : int, offset : int }; var local_#14775 : { base : int, offset : int }; var local_#14776 : { base : int, offset : int }; var local_#14777 : int; var local_#14778 : int; var local_#14779 : int; var local_#14780 : int; var local_#14781 : int; var local_#14782 : int; var local_#14783 : { base : int, offset : int }; var nondet_#0 : int; var local_#30689 : int; var local_#14784 : { base : int, offset : int }; var nondet_#1 : int; var local_#14785 : int; var local_#14786 : { base : int, offset : int }; var nondet_#2 : int; var local_#14787 : int; local_#4218_obj := local_#4218_obj_IN; local_#4219_n := local_#4219_n_IN; goto CFG_36412; CFG_36412: assume true; goto CFG_49777; CFG_49777: assume true; local_#14749 := 19; local_#14750 := (if _memory[{ base : local_#4218_obj!base, offset : local_#4218_obj!offset + 8 }] == local_#14749 then 1 else 0); if (local_#14750 != 0) { goto CFG_38216; } else { goto CFG_49778; } CFG_49778: assume true; local_#14751 := 15; local_#14752 := ~sand32(_memory[{ base : local_#4218_obj!base, offset : local_#4218_obj!offset + 8 }], local_#14751); local_#14753 := 4; local_#14754 := (if local_#14752 == local_#14753 then 1 else 0); if (local_#14754 != 0) { goto CFG_42532; } else { goto CFG_38214; } CFG_42532: assume true; local_#14755 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; local_#14756 := _memory_ptr[local_#14755]; assert { :LIR "60818" } { :check "overflow" } { :finding_ids "0" } true; local_#14757 := { base : local_#14756!base, offset : local_#14756!offset + 0 }; local_#14758 := local_#14757; assert { :LIR "60819" } { :check "overflow" } { :finding_ids "0" } true; local_#14759 := 24; local_#14760 := { base : local_#14758!base, offset : local_#14758!offset + local_#14759 * 1 }; local_#14761 := local_#14760; assert { :LIR "62617" } { :check "overflow" } { :finding_ids "0" } true; local_#14762 := local_#31700_v; goto CFG_45995; CFG_45995: assume true; call local_#14763 := routine_#33867_luaO_str2num(local_#14761,local_#14762); goto CFG_49779; CFG_49779: assume true; local_#14764 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; local_#14765 := _memory_ptr[local_#14764]; assert { :LIR "60820" } { :check "overflow" } { :finding_ids "0" } true; local_#14766 := { base : local_#14765!base, offset : local_#14765!offset + 0 }; local_#14767 := _memory[{ base : local_#14766!base, offset : local_#14766!offset + 8 }]; assert { :LIR "62618" } { :check "overflow" } { :finding_ids "0" } local_#14767 <= 2147483647; local_#14768 := 4; local_#14769 := (if local_#14767 == local_#14768 then 1 else 0); if (local_#14769 != 0) { goto CFG_40321; } else { goto CFG_40320; } CFG_40320: assume true; local_#14770 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; local_#14771 := _memory_ptr[local_#14770]; assert { :LIR "60821" } { :check "overflow" } { :finding_ids "0" } true; local_#14772 := { base : local_#14771!base, offset : local_#14771!offset + 0 }; local_#14773 := { base : local_#14772!base, offset : local_#14772!offset + 16 }; local_#30688 := _memory[local_#14773]; goto CFG_49780; CFG_40321: assume true; local_#14774 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; local_#14775 := _memory_ptr[local_#14774]; assert { :LIR "60822" } { :check "overflow" } { :finding_ids "0" } true; local_#14776 := { base : local_#14775!base, offset : local_#14775!offset + 0 }; local_#14777 := ~uwrap64(_memory[{ base : local_#14776!base, offset : local_#14776!offset + 11 }]); assert { :LIR "62619" } { :check "overflow" } { :finding_ids "0" } true; local_#30688 := local_#14777; goto CFG_49780; CFG_49780: assume true; local_#14778 := 1; assume { :symbol "~uwrap64" } true; local_#14779 := ~uwrap64(local_#30688 + local_#14778); assert { :LIR "66477" } { :check "overflow" } { :finding_ids "0" } true; local_#14780 := (if local_#14763 == local_#14779 then 1 else 0); if (local_#14780 != 0) { goto CFG_49781; } else { goto CFG_38214; } CFG_38214: assume true; local_#7847 := 0; goto CFG_37323; CFG_49781: assume true; local_#14781 := 19; local_#14782 := (if _memory[{ base : local_#31700_v!base, offset : local_#31700_v!offset + 8 }] == local_#14781 then 1 else 0); if (local_#14782 != 0) { goto CFG_40323; } else { goto CFG_40322; } CFG_40322: assume true; local_#14783 := { base : local_#31700_v!base, offset : local_#31700_v!offset + 0 }; havoc nondet_#0; local_#30689 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_38215; CFG_40323: assume true; local_#14784 := { base : local_#31700_v!base, offset : local_#31700_v!offset + 0 }; havoc nondet_#1; local_#14785 := nondet_#1 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 60823 */; assert { :LIR "60823" } { :check "overflow" } { :finding_ids "0" } true; local_#30689 := local_#14785; goto CFG_38215; CFG_38215: assume true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ local_#7847 := 1; goto CFG_37323; CFG_38216: assume true; local_#14786 := { base : local_#4218_obj!base, offset : local_#4218_obj!offset + 0 }; havoc nondet_#2; local_#14787 := nondet_#2 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 60824 */; assert { :LIR "60824" } { :check "overflow" } { :finding_ids "0" } true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ local_#7847 := 1; goto CFG_37323; CFG_37323: assume true; } procedure routine_#33905_luaX_init(local_#4220_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4220_L : { base : int, offset : int }; var local_#14788 : { base : int, offset : int }; var local_#14789 : { base : int, offset : int }; var local_#14790 : int; var local_#14791 : { base : int, offset : int }; var local_#31701_e : { base : int, offset : int }; var local_#14792 : { base : int, offset : int }; var local_#14793 : { base : int, offset : int }; var local_#31702_i : int; var local_#14794 : int; var local_#14795 : int; var local_#14796 : { base : int, offset : int }; var local_#14797 : { base : int, offset : int }; var local_#31703_ts : { base : int, offset : int }; var local_#14798 : { base : int, offset : int }; var local_#14799 : { base : int, offset : int }; var local_#14800 : int; var local_#14801 : int; var local_#14802 : int; var local_#14803 : int; var local_#14804 : int; var local_#14805 : int; local_#4220_L := local_#4220_L_IN; goto CFG_36413; CFG_36413: assume true; goto CFG_42533; CFG_42533: assume true; assume _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 0 }] == 95 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 1 }] == 69 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 2 }] == 78 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 3 }] == 86 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 4 }] == 0; local_#14788 := strlit_#70385; local_#14789 := { base : local_#14788!base, offset : local_#14788!offset + 0 * 1 }; assert { :LIR "62620" } { :check "overflow" } { :finding_ids "0" } true; local_#14790 := 4; goto CFG_45996; CFG_45996: assume true; call local_#14791 := routine_#33877_luaS_newlstr(local_#4220_L,local_#14789,local_#14790); goto CFG_42534; CFG_42534: assume true; local_#31701_e := local_#14791; local_#14792 := local_#31701_e; assert { :LIR "60825" } { :check "overflow" } { :finding_ids "0" } true; local_#14793 := { base : local_#14792!base, offset : local_#14792!offset + 0 }; goto CFG_45997; CFG_45997: assume true; call routine_#33723_luaC_fix(local_#4220_L,local_#14793); goto CFG_41670; CFG_41670: assume true; local_#31702_i := 0; goto CFG_49782; CFG_49782: assume true; local_#14794 := 22; local_#14795 := (if local_#31702_i < local_#14794 then 1 else 0); if (local_#14795 != 0) { goto CFG_42535; } else { goto CFG_39183; } CFG_39183: assume true; goto CFG_37324; CFG_42535: assume true; local_#14796 := _memory_ptr[{ base : global_#33060_luaX_tokens!base, offset : global_#33060_luaX_tokens!offset + local_#31702_i * 8 }]; goto CFG_45998; CFG_45998: assume true; call local_#14797 := routine_#33876_luaS_new(local_#4220_L,local_#14796); goto CFG_42536; CFG_42536: assume true; local_#31703_ts := local_#14797; local_#14798 := local_#31703_ts; assert { :LIR "60826" } { :check "overflow" } { :finding_ids "0" } true; local_#14799 := { base : local_#14798!base, offset : local_#14798!offset + 0 }; goto CFG_45999; CFG_45999: assume true; call routine_#33723_luaC_fix(local_#4220_L,local_#14799); goto CFG_42537; CFG_42537: assume true; local_#14800 := 1; local_#14801 := local_#31702_i + local_#14800; assert { :LIR "66478" } { :check "overflow" } { :finding_ids "0" } local_#14801 <= 2147483647; local_#14802 := ~uwrap8(local_#14801); assert { :LIR "60827" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31703_ts!base, offset : local_#31703_ts!offset + 10 }] := local_#14802; goto CFG_45011; CFG_45011: assume true; local_#14803 := local_#31702_i; local_#14804 := 1; local_#31702_i := local_#14803 + local_#14804; assert { :LIR "66479" } { :check "overflow" } { :finding_ids "0" } local_#31702_i <= 2147483647; local_#14805 := local_#14803; goto CFG_49782; CFG_37324: assume true; } procedure routine_#33906_luaX_lookahead(local_#4221_ls_IN : { base : int, offset : int }) returns (local_#7848 : int) modifies _memory, _memory_ptr, _valid; { var local_#4221_ls : { base : int, offset : int }; var local_#14806 : int; var local_#14807 : int; var local_#14808 : { base : int, offset : int }; var local_#14809 : int; local_#4221_ls := local_#4221_ls_IN; goto CFG_36414; CFG_36414: assume true; goto CFG_42538; CFG_42538: assume true; local_#14806 := 0; local_#14807 := 0; assert { :LIR "60828" } { :check "overflow" } { :finding_ids "0" } true; local_#14808 := { base : local_#4221_ls!base, offset : local_#4221_ls!offset + 40 }; goto CFG_46000; CFG_46000: assume true; call local_#14809 := routine_#34862_llex(local_#4221_ls,local_#14808); goto CFG_38217; CFG_38217: assume true; _memory[{ base : local_#4221_ls!base, offset : local_#4221_ls!offset + 32 }] := local_#14809; local_#7848 := _memory[{ base : local_#4221_ls!base, offset : local_#4221_ls!offset + 32 }]; goto CFG_37325; CFG_37325: assume true; } procedure routine_#33907_luaX_newstring(local_#4222_ls_IN : { base : int, offset : int }, local_#4223_str_IN : { base : int, offset : int }, local_#4224_l_IN : int) returns (local_#7849 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4222_ls : { base : int, offset : int }; var local_#4223_str : { base : int, offset : int }; var local_#4224_l : int; var local_#31704_L : { base : int, offset : int }; var local_#14810 : { base : int, offset : int }; var local_#31706_ts : { base : int, offset : int }; var local_#14811 : { base : int, offset : int }; var local_#14812 : int; var local_#31707_io : { base : int, offset : int }; var local_#31708_x_ : { base : int, offset : int }; var local_#14813 : { base : int, offset : int }; var local_#14814 : { base : int, offset : int }; var local_#14815 : { base : int, offset : int }; var local_#14816 : int; var local_#14817 : int; var local_#14818 : int; var local_#14819 : int; var local_#14820 : int; var local_#14821 : { base : int, offset : int }; var local_#14822 : int; var local_#14823 : { base : int, offset : int }; var local_#14824 : { base : int, offset : int }; var local_#14825 : { base : int, offset : int }; var local_#31705_o : { base : int, offset : int }; var local_#14826 : int; var local_#14827 : int; var local_#14828 : { base : int, offset : int }; var local_#14829 : int; var local_#14830 : { base : int, offset : int }; var local_#14831 : { base : int, offset : int }; var local_#14832 : { base : int, offset : int }; var local_#14833 : { base : int, offset : int }; var local_#14834 : { base : int, offset : int }; var local_#14835 : { base : int, offset : int }; var local_#14836 : { base : int, offset : int }; var local_#31709_io : { base : int, offset : int }; var local_#14837 : int; var local_#14838 : { base : int, offset : int }; var local_#14839 : { base : int, offset : int }; var local_#14840 : int; var local_#14841 : int; var local_#14842 : int; var local_#14843 : int; var local_#14844 : int; var local_#14845 : int; var local_#14846 : int; var local_#14847 : int; var local_#14848 : { base : int, offset : int }; var local_#14849 : int; var local_#14850 : { base : int, offset : int }; local_#4222_ls := local_#4222_ls_IN; local_#4223_str := local_#4223_str_IN; local_#4224_l := local_#4224_l_IN; goto CFG_36415; CFG_36415: assume true; goto CFG_42539; CFG_42539: assume true; local_#31704_L := _memory_ptr[{ base : local_#4222_ls!base, offset : local_#4222_ls!offset + 56 }]; goto CFG_46001; CFG_46001: assume true; call local_#14810 := routine_#33877_luaS_newlstr(local_#31704_L,local_#4223_str,local_#4224_l); goto CFG_42540; CFG_42540: assume true; local_#31706_ts := local_#14810; local_#14811 := _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 16 }]; local_#14812 := 1; _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 16 }] := { base : local_#14811!base, offset : local_#14811!offset + local_#14812 * 16 }; local_#31707_io := local_#14811; local_#31708_x_ := local_#31706_ts; local_#14813 := local_#31708_x_; assert { :LIR "60829" } { :check "overflow" } { :finding_ids "0" } true; local_#14814 := { base : local_#14813!base, offset : local_#14813!offset + 0 }; local_#14815 := { base : local_#31707_io!base, offset : local_#31707_io!offset + 0 }; _memory_ptr[local_#14815] := local_#14814; local_#14816 := _memory[{ base : local_#31708_x_!base, offset : local_#31708_x_!offset + 8 }]; assert { :LIR "62621" } { :check "overflow" } { :finding_ids "0" } local_#14816 <= 2147483647; local_#14817 := 64; local_#14818 := ~sor32(local_#14816, local_#14817); _memory[{ base : local_#31707_io!base, offset : local_#31707_io!offset + 8 }] := local_#14818; local_#14819 := 0; local_#14820 := 0; assert { :LIR "60830" } { :check "overflow" } { :finding_ids "0" } true; local_#14821 := _memory_ptr[{ base : local_#4222_ls!base, offset : local_#4222_ls!offset + 80 }]; local_#14822 := 1; local_#14823 := { base : _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 16 }]!offset - local_#14822 * 16 }; local_#14824 := local_#14823; assert { :LIR "62622" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46002; CFG_46002: assume true; call local_#14825 := routine_#33777_luaH_set(local_#31704_L,local_#14821,local_#14824); goto CFG_49783; CFG_49783: assume true; local_#31705_o := local_#14825; local_#14826 := 0; local_#14827 := (if _memory[{ base : local_#31705_o!base, offset : local_#31705_o!offset + 8 }] == local_#14826 then 1 else 0); if (local_#14827 != 0) { goto CFG_49784; } else { goto CFG_40324; } CFG_40324: assume true; local_#14828 := local_#31705_o; assert { :LIR "60831" } { :check "overflow" } { :finding_ids "0" } true; local_#14829 := 0; local_#14830 := { base : local_#14828!base, offset : local_#14828!offset - local_#14829 * 1 }; local_#14831 := local_#14830; assert { :LIR "60832" } { :check "overflow" } { :finding_ids "0" } true; local_#14832 := { base : local_#14831!base, offset : local_#14831!offset + 16 }; local_#14833 := local_#14832; assert { :LIR "60833" } { :check "overflow" } { :finding_ids "0" } true; local_#14834 := { base : local_#14833!base, offset : local_#14833!offset + 0 }; local_#14835 := _memory_ptr[local_#14834]; assert { :LIR "60834" } { :check "overflow" } { :finding_ids "0" } true; local_#14836 := { base : local_#14835!base, offset : local_#14835!offset + 0 }; local_#31706_ts := local_#14836; goto CFG_38218; CFG_49784: assume true; local_#31709_io := local_#31705_o; local_#14837 := 1; local_#14838 := { base : local_#31709_io!base, offset : local_#31709_io!offset + 0 }; _memory[local_#14838] := local_#14837; _memory[{ base : local_#31709_io!base, offset : local_#31709_io!offset + 8 }] := 1; local_#14839 := _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 24 }]; local_#14840 := 0; local_#14841 := (if _memory[{ base : local_#14839!base, offset : local_#14839!offset + 24 }] > local_#14840 then 1 else 0); if (local_#14841 != 0) { goto CFG_42541; } else { goto CFG_40326; } CFG_42541: assume true; local_#14842 := 0; local_#14843 := 0; assert { :LIR "60835" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46003; CFG_46003: assume true; call routine_#33728_luaC_step(local_#31704_L); goto CFG_40325; CFG_40325: assume true; local_#14844 := 0; local_#14845 := 0; assert { :LIR "60836" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40326; CFG_40326: assume true; local_#14846 := 0; local_#14847 := 0; assert { :LIR "60837" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38218; CFG_38218: assume true; local_#14848 := _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 16 }]; local_#14849 := 1; _memory_ptr[{ base : local_#31704_L!base, offset : local_#31704_L!offset + 16 }] := { base : local_#14848!base, offset : local_#14848!offset - local_#14849 * 16 }; local_#14850 := local_#14848; local_#7849 := local_#31706_ts; goto CFG_37326; CFG_37326: assume true; } procedure routine_#33908_luaX_next(local_#4225_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4225_ls : { base : int, offset : int }; var local_#14851 : int; var local_#14852 : int; var local_#14853 : { base : int, offset : int }; var local_#14854 : int; local_#4225_ls := local_#4225_ls_IN; goto CFG_36416; CFG_36416: assume true; goto CFG_49785; CFG_49785: assume true; _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 8 }] := _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 4 }]; local_#14851 := 289; local_#14852 := (if _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 }] != local_#14851 then 1 else 0); if (local_#14852 != 0) { goto CFG_40328; } else { goto CFG_42542; } CFG_42542: assume true; local_#14853 := { base : local_#4225_ls!base, offset : local_#4225_ls!offset + 24 }; goto CFG_46004; CFG_46004: assume true; call local_#14854 := routine_#34862_llex(local_#4225_ls,local_#14853); goto CFG_40327; CFG_40327: assume true; _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 16 }] := local_#14854; goto CFG_39184; CFG_40328: assume true; assume read_type_#64(_memory, _memory_ptr, { base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 })!_token == _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 + 0 }] && (read_type_#64(_memory, _memory_ptr, { base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 })!_seminfo!_i == _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 + 8 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#64(_memory, _memory_ptr, { base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 })!_seminfo!_ts == _memory_ptr[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 + 8 + 0 }]); call write_type_#64({ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 16 },read_type_#64(_memory, _memory_ptr, { base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 })); _memory[{ base : local_#4225_ls!base, offset : local_#4225_ls!offset + 32 }] := 289; goto CFG_39184; CFG_39184: assume true; goto CFG_37327; CFG_37327: assume true; } procedure routine_#33909_luaX_setinput(local_#4226_L_IN : { base : int, offset : int }, local_#4227_ls_IN : { base : int, offset : int }, local_#4228_z_IN : { base : int, offset : int }, local_#4229_source_IN : { base : int, offset : int }, local_#4230_firstchar_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4226_L : { base : int, offset : int }; var local_#4227_ls : { base : int, offset : int }; var local_#4228_z : { base : int, offset : int }; var local_#4229_source : { base : int, offset : int }; var local_#4230_firstchar : int; var local_#14855 : { base : int, offset : int }; var local_#14856 : { base : int, offset : int }; var local_#14857 : int; var local_#14858 : { base : int, offset : int }; var local_#14859 : { base : int, offset : int }; var local_#14860 : { base : int, offset : int }; var local_#14861 : { base : int, offset : int }; var local_#14862 : { base : int, offset : int }; var local_#14863 : int; var local_#14864 : int; var local_#14865 : int; var local_#14866 : { base : int, offset : int }; var local_#14867 : { base : int, offset : int }; var local_#14868 : { base : int, offset : int }; var local_#14869 : { base : int, offset : int }; var local_#14870 : int; var local_#14871 : { base : int, offset : int }; var local_#14872 : int; var local_#14873 : int; local_#4226_L := local_#4226_L_IN; local_#4227_ls := local_#4227_ls_IN; local_#4228_z := local_#4228_z_IN; local_#4229_source := local_#4229_source_IN; local_#4230_firstchar := local_#4230_firstchar_IN; goto CFG_36417; CFG_36417: assume true; goto CFG_42543; CFG_42543: assume true; _memory[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 16 }] := 0; _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 56 }] := local_#4226_L; _memory[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 0 }] := local_#4230_firstchar; _memory[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 32 }] := 289; _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 64 }] := local_#4228_z; _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 48 }] := { base : 0, offset : 0 }; _memory[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 4 }] := 1; _memory[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 8 }] := 1; _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 96 }] := local_#4229_source; assume _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 0 }] == 95 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 1 }] == 69 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 2 }] == 78 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 3 }] == 86 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 4 }] == 0; local_#14855 := strlit_#70385; local_#14856 := { base : local_#14855!base, offset : local_#14855!offset + 0 * 1 }; assert { :LIR "62623" } { :check "overflow" } { :finding_ids "0" } true; local_#14857 := 4; goto CFG_46005; CFG_46005: assume true; call local_#14858 := routine_#33877_luaS_newlstr(local_#4226_L,local_#14856,local_#14857); goto CFG_42544; CFG_42544: assume true; _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 104 }] := local_#14858; local_#14859 := _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 56 }]; local_#14860 := _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 72 }]; local_#14861 := _memory_ptr[{ base : local_#14860!base, offset : local_#14860!offset + 0 }]; assert { :LIR "62624" } { :check "overflow" } { :finding_ids "0" } true; local_#14862 := _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 72 }]; local_#14863 := 1; assume { :symbol "~uwrap64" } true; local_#14864 := ~uwrap64(_memory[{ base : local_#14862!base, offset : local_#14862!offset + 16 }] * local_#14863); assert { :LIR "68533" } { :check "overflow" } { :finding_ids "0" } true; local_#14865 := 32; goto CFG_46006; CFG_46006: assume true; call local_#14866 := routine_#33857_luaM_realloc_(local_#14859,local_#14861,local_#14864,local_#14865); goto CFG_39185; CFG_39185: assume true; local_#14867 := local_#14866; assert { :LIR "60838" } { :check "overflow" } { :finding_ids "0" } true; local_#14868 := _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 72 }]; _memory_ptr[{ base : local_#14868!base, offset : local_#14868!offset + 0 }] := local_#14867; local_#14869 := _memory_ptr[{ base : local_#14868!base, offset : local_#14868!offset + 0 }]; local_#14870 := 32; local_#14871 := _memory_ptr[{ base : local_#4227_ls!base, offset : local_#4227_ls!offset + 72 }]; _memory[{ base : local_#14871!base, offset : local_#14871!offset + 16 }] := local_#14870; local_#14872 := _memory[{ base : local_#14871!base, offset : local_#14871!offset + 16 }]; local_#14873 := local_#14872; goto CFG_37328; CFG_37328: assume true; } procedure routine_#33910_luaX_syntaxerror(local_#4231_ls_IN : { base : int, offset : int }, local_#4232_msg_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4231_ls : { base : int, offset : int }; var local_#4232_msg : { base : int, offset : int }; var local_#14874 : int; local_#4231_ls := local_#4231_ls_IN; local_#4232_msg := local_#4232_msg_IN; goto CFG_36418; CFG_36418: assume true; goto CFG_42545; CFG_42545: assume true; local_#14874 := _memory[{ base : local_#4231_ls!base, offset : local_#4231_ls!offset + 16 }]; goto CFG_46007; CFG_46007: assume true; call routine_#34857_lexerror(local_#4231_ls,local_#4232_msg,local_#14874); CFG_39186: assume true; goto CFG_37329; CFG_37329: assume true; } procedure routine_#33911_luaX_token2str(local_#4233_ls_IN : { base : int, offset : int }, local_#4234_token_IN : int) returns (local_#7850 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4233_ls : { base : int, offset : int }; var local_#4234_token : int; var local_#14875 : int; var local_#14876 : int; var local_#14877 : int; var local_#14878 : int; var local_#31710_s : { base : int, offset : int }; var local_#14879 : int; var local_#14880 : int; var local_#14881 : { base : int, offset : int }; var local_#14882 : { base : int, offset : int }; var local_#14883 : { base : int, offset : int }; var local_#14884 : { base : int, offset : int }; var local_#14885 : int; var local_#14886 : int; var local_#14887 : { base : int, offset : int }; var local_#14888 : { base : int, offset : int }; var local_#14889 : { base : int, offset : int }; var local_#14890 : { base : int, offset : int }; local_#4233_ls := local_#4233_ls_IN; local_#4234_token := local_#4234_token_IN; goto CFG_36419; CFG_36419: assume true; goto CFG_49786; CFG_49786: assume true; local_#14875 := 257; local_#14876 := (if local_#4234_token < local_#14875 then 1 else 0); if (local_#14876 != 0) { goto CFG_42547; } else { goto CFG_49787; } CFG_49787: assume true; local_#14877 := 257; local_#14878 := local_#4234_token - local_#14877; assert { :LIR "67951" } { :check "overflow" } { :finding_ids "0" } local_#14878 <= 2147483647; local_#31710_s := _memory_ptr[{ base : global_#33060_luaX_tokens!base, offset : global_#33060_luaX_tokens!offset + local_#14878 * 8 }]; local_#14879 := 289; local_#14880 := (if local_#4234_token < local_#14879 then 1 else 0); if (local_#14880 != 0) { goto CFG_42546; } else { goto CFG_38219; } CFG_38219: assume true; local_#7850 := local_#31710_s; goto CFG_37330; CFG_42546: assume true; local_#14881 := _memory_ptr[{ base : local_#4233_ls!base, offset : local_#4233_ls!offset + 56 }]; assume _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 0 }] == 39 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 1 }] == 37 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 2 }] == 115 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 3 }] == 39 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 4 }] == 0; local_#14882 := strlit_#70387; local_#14883 := { base : local_#14882!base, offset : local_#14882!offset + 0 * 1 }; assert { :LIR "62625" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46008; CFG_46008: assume true; call local_#14884 := routine_#33865_luaO_pushfstring(local_#14881,local_#14883,{ base : 0, offset : 0 }); goto CFG_38220; CFG_38220: assume true; local_#7850 := local_#14884; goto CFG_37330; CFG_42547: assume true; local_#14885 := 0; local_#14886 := 0; assert { :LIR "60839" } { :check "overflow" } { :finding_ids "0" } true; local_#14887 := _memory_ptr[{ base : local_#4233_ls!base, offset : local_#4233_ls!offset + 56 }]; assume _memory[{ base : strlit_#70388!base, offset : strlit_#70388!offset + 0 }] == 39 && _memory[{ base : strlit_#70388!base, offset : strlit_#70388!offset + 1 }] == 37 && _memory[{ base : strlit_#70388!base, offset : strlit_#70388!offset + 2 }] == 99 && _memory[{ base : strlit_#70388!base, offset : strlit_#70388!offset + 3 }] == 39 && _memory[{ base : strlit_#70388!base, offset : strlit_#70388!offset + 4 }] == 0; local_#14888 := strlit_#70388; local_#14889 := { base : local_#14888!base, offset : local_#14888!offset + 0 * 1 }; assert { :LIR "62626" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46009; CFG_46009: assume true; call local_#14890 := routine_#33865_luaO_pushfstring(local_#14887,local_#14889,{ base : 0, offset : 0 }); goto CFG_38221; CFG_38221: assume true; local_#7850 := local_#14890; goto CFG_37330; CFG_37330: assume true; } procedure routine_#33912_luaY_parser(local_#4235_L_IN : { base : int, offset : int }, local_#4236_z_IN : { base : int, offset : int }, local_#4237_buff_IN : { base : int, offset : int }, local_#4238_dyd_IN : { base : int, offset : int }, local_#4239_name_IN : { base : int, offset : int }, local_#4240_firstchar_IN : int) returns (local_#7851 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4235_L : { base : int, offset : int }; var local_#4236_z : { base : int, offset : int }; var local_#4237_buff : { base : int, offset : int }; var local_#4238_dyd : { base : int, offset : int }; var local_#4239_name : { base : int, offset : int }; var local_#4240_firstchar : int; var local_#14891 : int; var local_#14892 : { base : int, offset : int }; var local_#31711_cl : { base : int, offset : int }; var local_#31714_io : { base : int, offset : int }; var local_#31715_x_ : { base : int, offset : int }; var local_#14893 : { base : int, offset : int }; var local_#14894 : { base : int, offset : int }; var local_#14895 : { base : int, offset : int }; var local_#14896 : int; var local_#14897 : int; var local_#14898 : { base : int, offset : int }; var local_#31713_lexstate : { base : int, offset : int }; var local_#31716_io : { base : int, offset : int }; var local_#31717_x_ : { base : int, offset : int }; var local_#14899 : { base : int, offset : int }; var local_#14900 : { base : int, offset : int }; var local_#14901 : { base : int, offset : int }; var local_#14902 : int; var local_#14903 : int; var local_#14904 : { base : int, offset : int }; var local_#31712_funcstate : { base : int, offset : int }; var local_#14905 : { base : int, offset : int }; var local_#14906 : { base : int, offset : int }; var local_#14907 : int; var local_#14908 : int; var local_#14909 : { base : int, offset : int }; var local_#14910 : { base : int, offset : int }; var local_#14911 : { base : int, offset : int }; var local_#14912 : { base : int, offset : int }; var local_#14913 : { base : int, offset : int }; var local_#14914 : int; var local_#14915 : int; var local_#14916 : int; var local_#14917 : int; var local_#14918 : { base : int, offset : int }; var local_#14919 : int; var local_#14920 : { base : int, offset : int }; local_#4235_L := local_#4235_L_IN; local_#4236_z := local_#4236_z_IN; local_#4237_buff := local_#4237_buff_IN; local_#4238_dyd := local_#4238_dyd_IN; local_#4239_name := local_#4239_name_IN; local_#4240_firstchar := local_#4240_firstchar_IN; goto CFG_36420; CFG_36420: assume true; goto CFG_42548; CFG_42548: assume true; local_#14891 := 1; goto CFG_46010; CFG_46010: assume true; call local_#14892 := routine_#33755_luaF_newLclosure(local_#4235_L,local_#14891); goto CFG_42549; CFG_42549: assume true; local_#31711_cl := local_#14892; local_#31714_io := _memory_ptr[{ base : local_#4235_L!base, offset : local_#4235_L!offset + 16 }]; local_#31715_x_ := local_#31711_cl; local_#14893 := local_#31715_x_; assert { :LIR "60840" } { :check "overflow" } { :finding_ids "0" } true; local_#14894 := { base : local_#14893!base, offset : local_#14893!offset + 0 }; local_#14895 := { base : local_#31714_io!base, offset : local_#31714_io!offset + 0 }; _memory_ptr[local_#14895] := local_#14894; _memory[{ base : local_#31714_io!base, offset : local_#31714_io!offset + 8 }] := 70; local_#14896 := 0; local_#14897 := 0; assert { :LIR "60841" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46011; CFG_46011: assume true; call routine_#33735_luaD_inctop(local_#4235_L); goto CFG_46012; CFG_46012: assume true; call local_#14898 := routine_#33772_luaH_new(local_#4235_L); goto CFG_42550; CFG_42550: assume true; _memory_ptr[{ base : local_#31713_lexstate!base, offset : local_#31713_lexstate!offset + 80 }] := local_#14898; local_#31716_io := _memory_ptr[{ base : local_#4235_L!base, offset : local_#4235_L!offset + 16 }]; local_#31717_x_ := _memory_ptr[{ base : local_#31713_lexstate!base, offset : local_#31713_lexstate!offset + 80 }]; local_#14899 := local_#31717_x_; assert { :LIR "60842" } { :check "overflow" } { :finding_ids "0" } true; local_#14900 := { base : local_#14899!base, offset : local_#14899!offset + 0 }; local_#14901 := { base : local_#31716_io!base, offset : local_#31716_io!offset + 0 }; _memory_ptr[local_#14901] := local_#14900; _memory[{ base : local_#31716_io!base, offset : local_#31716_io!offset + 8 }] := 69; local_#14902 := 0; local_#14903 := 0; assert { :LIR "60843" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46013; CFG_46013: assume true; call routine_#33735_luaD_inctop(local_#4235_L); goto CFG_46014; CFG_46014: assume true; call local_#14904 := routine_#33756_luaF_newproto(local_#4235_L); goto CFG_42551; CFG_42551: assume true; _memory_ptr[{ base : local_#31711_cl!base, offset : local_#31711_cl!offset + 24 }] := local_#14904; _memory_ptr[{ base : local_#31712_funcstate!base, offset : local_#31712_funcstate!offset + 0 }] := _memory_ptr[{ base : local_#31711_cl!base, offset : local_#31711_cl!offset + 24 }]; goto CFG_46015; CFG_46015: assume true; call local_#14905 := routine_#33876_luaS_new(local_#4235_L,local_#4239_name); goto CFG_42552; CFG_42552: assume true; local_#14906 := _memory_ptr[{ base : local_#31712_funcstate!base, offset : local_#31712_funcstate!offset + 0 }]; _memory_ptr[{ base : local_#14906!base, offset : local_#14906!offset + 104 }] := local_#14905; local_#14907 := 0; local_#14908 := 0; assert { :LIR "60844" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31713_lexstate!base, offset : local_#31713_lexstate!offset + 72 }] := local_#4237_buff; _memory_ptr[{ base : local_#31713_lexstate!base, offset : local_#31713_lexstate!offset + 88 }] := local_#4238_dyd; _memory[{ base : local_#4238_dyd!base, offset : local_#4238_dyd!offset + 40 }] := 0; _memory[{ base : local_#4238_dyd!base, offset : local_#4238_dyd!offset + 24 }] := _memory[{ base : local_#4238_dyd!base, offset : local_#4238_dyd!offset + 40 }]; _memory[{ base : local_#4238_dyd!base, offset : local_#4238_dyd!offset + 8 }] := _memory[{ base : local_#4238_dyd!base, offset : local_#4238_dyd!offset + 24 }]; local_#14909 := local_#31713_lexstate; local_#14910 := _memory_ptr[{ base : local_#31712_funcstate!base, offset : local_#31712_funcstate!offset + 0 }]; local_#14911 := _memory_ptr[{ base : local_#14910!base, offset : local_#14910!offset + 104 }]; goto CFG_46016; CFG_46016: assume true; call routine_#33909_luaX_setinput(local_#4235_L,local_#14909,local_#4236_z,local_#14911,local_#4240_firstchar); goto CFG_42553; CFG_42553: assume true; local_#14912 := local_#31713_lexstate; local_#14913 := local_#31712_funcstate; goto CFG_46017; CFG_46017: assume true; call routine_#34906_mainfunc(local_#14912,local_#14913); goto CFG_38222; CFG_38222: assume true; local_#14914 := 0; local_#14915 := 0; assert { :LIR "60845" } { :check "overflow" } { :finding_ids "0" } true; local_#14916 := 0; local_#14917 := 0; assert { :LIR "60846" } { :check "overflow" } { :finding_ids "0" } true; local_#14918 := _memory_ptr[{ base : local_#4235_L!base, offset : local_#4235_L!offset + 16 }]; local_#14919 := 1; _memory_ptr[{ base : local_#4235_L!base, offset : local_#4235_L!offset + 16 }] := { base : local_#14918!base, offset : local_#14918!offset - local_#14919 * 16 }; local_#14920 := local_#14918; local_#7851 := local_#31711_cl; goto CFG_37331; CFG_37331: assume true; } procedure routine_#33913_luaZ_fill(local_#4241_z_IN : { base : int, offset : int }) returns (local_#7852 : int) modifies _memory, _memory_ptr; { var local_#4241_z : { base : int, offset : int }; var local_#31718_L : { base : int, offset : int }; var local_#14921 : int; var local_#14922 : int; var local_#14923 : { base : int, offset : int }; var local_#14924 : { base : int, offset : int }; var local_#31720_size : { base : int, offset : int }; var local_#14925 : { base : int, offset : int }; var local_#14926 : { base : int, offset : int }; var local_#31719_buff : { base : int, offset : int }; var local_#14927 : int; var local_#14928 : int; var local_#14929 : { base : int, offset : int }; var local_#14930 : int; var local_#14931 : int; var local_#14932 : int; var local_#14933 : int; var local_#14934 : int; var local_#14935 : { base : int, offset : int }; var local_#14936 : int; var local_#14937 : int; var local_#14938 : int; local_#4241_z := local_#4241_z_IN; goto CFG_36421; CFG_36421: assume true; goto CFG_42554; CFG_42554: assume true; local_#31718_L := _memory_ptr[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 32 }]; local_#14921 := 0; local_#14922 := 0; assert { :LIR "60847" } { :check "overflow" } { :finding_ids "0" } true; local_#14923 := _memory_ptr[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 16 }]; local_#14924 := _memory_ptr[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 24 }]; local_#14925 := local_#31720_size; goto CFG_46018; CFG_46018: assume true; if (local_#14923 == fun_addr_#34776_getS) { call local_#14926 := routine_#34776_getS(local_#31718_L,local_#14924,local_#14925); } else if (local_#14923 == fun_addr_#34775_getF) { call local_#14926 := routine_#34775_getF(local_#31718_L,local_#14924,local_#14925); } else { assume false; } goto CFG_49788; CFG_49788: assume true; local_#31719_buff := local_#14926; local_#14927 := 0; local_#14928 := 0; assert { :LIR "60848" } { :check "overflow" } { :finding_ids "0" } true; local_#14929 := { base : 0, offset : 0 }; local_#14930 := (if local_#31719_buff == local_#14929 then 1 else 0); if (local_#14930 != 0) { goto CFG_38224; } else { goto CFG_49789; } CFG_49789: assume true; local_#14931 := 0; local_#14932 := (if _memory[local_#31720_size] == local_#14931 then 1 else 0); if (local_#14932 != 0) { goto CFG_38224; } else { goto CFG_38223; } CFG_38223: assume true; local_#14933 := 1; assume { :symbol "~uwrap64" } true; local_#14934 := ~uwrap64(_memory[local_#31720_size] - local_#14933); assert { :LIR "67952" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 0 }] := local_#14934; _memory_ptr[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 8 }] := local_#31719_buff; local_#14935 := _memory_ptr[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 8 }]; local_#14936 := 1; _memory_ptr[{ base : local_#4241_z!base, offset : local_#4241_z!offset + 8 }] := { base : local_#14935!base, offset : local_#14935!offset + local_#14936 * 1 }; local_#14937 := ~uwrap8(_memory[local_#14935]); assert { :LIR "60849" } { :check "overflow" } { :finding_ids "0" } true; local_#14938 := local_#14937; assert { :LIR "62627" } { :check "overflow" } { :finding_ids "0" } local_#14938 <= 2147483647; local_#7852 := local_#14938; goto CFG_37332; CFG_38224: assume true; local_#7852 := -1; goto CFG_37332; CFG_37332: assume true; } procedure routine_#33914_luaZ_init(local_#4242_L_IN : { base : int, offset : int }, local_#4243_z_IN : { base : int, offset : int }, local_#4244_reader_IN : { base : int, offset : int }, local_#4245_data_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4242_L : { base : int, offset : int }; var local_#4243_z : { base : int, offset : int }; var local_#4244_reader : { base : int, offset : int }; var local_#4245_data : { base : int, offset : int }; local_#4242_L := local_#4242_L_IN; local_#4243_z := local_#4243_z_IN; local_#4244_reader := local_#4244_reader_IN; local_#4245_data := local_#4245_data_IN; goto CFG_36422; CFG_36422: assume true; goto CFG_39187; CFG_39187: assume true; _memory_ptr[{ base : local_#4243_z!base, offset : local_#4243_z!offset + 32 }] := local_#4242_L; _memory_ptr[{ base : local_#4243_z!base, offset : local_#4243_z!offset + 16 }] := local_#4244_reader; _memory_ptr[{ base : local_#4243_z!base, offset : local_#4243_z!offset + 24 }] := local_#4245_data; _memory[{ base : local_#4243_z!base, offset : local_#4243_z!offset + 0 }] := 0; _memory_ptr[{ base : local_#4243_z!base, offset : local_#4243_z!offset + 8 }] := { base : 0, offset : 0 }; goto CFG_37333; CFG_37333: assume true; } procedure routine_#33915_luaZ_read(local_#4246_z_IN : { base : int, offset : int }, local_#4247_b_IN : { base : int, offset : int }, local_#4248_n_IN : int) returns (local_#7853 : int) modifies _memory, _memory_ptr; { var local_#4246_z : { base : int, offset : int }; var local_#4247_b : { base : int, offset : int }; var local_#4248_n : int; var local_#14939 : int; var local_#14940 : int; var local_#14941 : int; var local_#14942 : int; var local_#14943 : int; var local_#14944 : int; var local_#14945 : int; var local_#14946 : int; var local_#14947 : int; var local_#14948 : { base : int, offset : int }; var local_#14949 : int; var local_#14950 : { base : int, offset : int }; var local_#14951 : int; var local_#30690 : int; var local_#31721_m : int; var local_#14952 : { base : int, offset : int }; var local_#14953 : { base : int, offset : int }; var local_#14954 : { base : int, offset : int }; var local_#14955 : { base : int, offset : int }; var local_#14956 : { base : int, offset : int }; local_#4246_z := local_#4246_z_IN; local_#4247_b := local_#4247_b_IN; local_#4248_n := local_#4248_n_IN; goto CFG_36423; CFG_36423: assume true; goto CFG_41671; CFG_41671: assume true; goto CFG_49790; CFG_49790: assume true; local_#14939 := local_#4248_n; if (local_#14939 != 0) { goto CFG_49791; } else { goto CFG_38225; } CFG_38225: assume true; local_#7853 := 0; goto CFG_37334; CFG_49791: assume true; local_#14940 := 0; local_#14941 := (if _memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }] == local_#14940 then 1 else 0); if (local_#14941 != 0) { goto CFG_46019; } else { goto CFG_49793; } CFG_46019: assume true; call local_#14942 := routine_#33913_luaZ_fill(local_#4246_z); goto CFG_49792; CFG_49792: assume true; local_#14943 := -1; local_#14944 := (if local_#14942 == local_#14943 then 1 else 0); if (local_#14944 != 0) { goto CFG_38226; } else { goto CFG_40329; } CFG_40329: assume true; local_#14945 := _memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }]; local_#14946 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }] := ~uwrap64(local_#14945 + local_#14946); assert { :LIR "66480" } { :check "overflow" } { :finding_ids "0" } true; local_#14947 := local_#14945; local_#14948 := _memory_ptr[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 8 }]; local_#14949 := 1; _memory_ptr[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 8 }] := { base : local_#14948!base, offset : local_#14948!offset - local_#14949 * 1 }; local_#14950 := local_#14948; goto CFG_40330; CFG_40330: assume true; goto CFG_49793; CFG_49793: assume true; local_#14951 := (if local_#4248_n <= _memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }] then 1 else 0); if (local_#14951 != 0) { goto CFG_40332; } else { goto CFG_40331; } CFG_40331: assume true; local_#30690 := _memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }]; goto CFG_42555; CFG_40332: assume true; local_#30690 := local_#4248_n; goto CFG_42555; CFG_42555: assume true; local_#31721_m := local_#30690; local_#14952 := _memory_ptr[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 8 }]; assert { :LIR "62628" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46020; CFG_46020: assume true; call local_#14953 := routine_#34026_memcpy(local_#4247_b,local_#14952,local_#31721_m); goto CFG_45012; CFG_45012: assume true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }] := ~uwrap64(_memory[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 0 }] - local_#31721_m); assert { :LIR "67953" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 8 }] := { base : _memory_ptr[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#4246_z!base, offset : local_#4246_z!offset + 8 }]!offset + local_#31721_m * 1 }; local_#14954 := local_#4247_b; assert { :LIR "60850" } { :check "overflow" } { :finding_ids "0" } true; local_#14955 := { base : local_#14954!base, offset : local_#14954!offset + local_#31721_m * 1 }; local_#14956 := local_#14955; assert { :LIR "62629" } { :check "overflow" } { :finding_ids "0" } true; local_#4247_b := local_#14956; assume { :symbol "~uwrap64" } true; local_#4248_n := ~uwrap64(local_#4248_n - local_#31721_m); assert { :LIR "67954" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49790; CFG_38226: assume true; local_#7853 := local_#4248_n; goto CFG_37334; CFG_37334: assume true; } procedure routine_#33916_lua_absindex(local_#4249_L_IN : { base : int, offset : int }, local_#4250_idx_IN : int) returns (local_#7854 : int) { var local_#4249_L : { base : int, offset : int }; var local_#4250_idx : int; var local_#14957 : int; var local_#14958 : int; var local_#14959 : int; var local_#14960 : int; var local_#14961 : { base : int, offset : int }; var local_#14962 : int; var local_#14963 : int; var local_#14964 : int; var local_#30691 : int; local_#4249_L := local_#4249_L_IN; local_#4250_idx := local_#4250_idx_IN; goto CFG_36424; CFG_36424: assume true; goto CFG_49794; CFG_49794: assume true; local_#14957 := 0; local_#14958 := (if local_#4250_idx > local_#14957 then 1 else 0); if (local_#14958 != 0) { goto CFG_40334; } else { goto CFG_49795; } CFG_49795: assume true; local_#14959 := -1001000; local_#14960 := (if local_#4250_idx <= local_#14959 then 1 else 0); if (local_#14960 != 0) { goto CFG_40334; } else { goto CFG_40333; } CFG_40333: assume true; local_#14961 := _memory_ptr[{ base : local_#4249_L!base, offset : local_#4249_L!offset + 32 }]; local_#14962 := (_memory_ptr[{ base : local_#4249_L!base, offset : local_#4249_L!offset + 16 }]!offset - _memory_ptr[{ base : local_#14961!base, offset : local_#14961!offset + 0 }]!offset) / 16; local_#14963 := local_#14962; assert { :LIR "60851" } { :check "overflow" } { :finding_ids "0" } local_#14963 <= 2147483647; local_#14964 := local_#14963 + local_#4250_idx; assert { :LIR "66481" } { :check "overflow" } { :finding_ids "0" } local_#14964 <= 2147483647; local_#30691 := local_#14964; goto CFG_38227; CFG_40334: assume true; local_#30691 := local_#4250_idx; goto CFG_38227; CFG_38227: assume true; local_#7854 := local_#30691; goto CFG_37335; CFG_37335: assume true; } procedure routine_#33917_lua_arith(local_#4251_L_IN : { base : int, offset : int }, local_#4252_op_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4251_L : { base : int, offset : int }; var local_#4252_op : int; var local_#14965 : int; var local_#14966 : int; var local_#14967 : int; var local_#14968 : int; var local_#14969 : int; var local_#14970 : int; var local_#14971 : int; var local_#14972 : int; var local_#31722_io1 : { base : int, offset : int }; var local_#14973 : int; var local_#14974 : { base : int, offset : int }; var local_#14975 : int; var local_#14976 : int; var local_#14977 : int; var local_#14978 : { base : int, offset : int }; var local_#14979 : int; var local_#14980 : { base : int, offset : int }; var local_#14981 : int; var local_#14982 : int; var local_#14983 : int; var local_#14984 : int; var local_#14985 : int; var local_#14986 : { base : int, offset : int }; var local_#14987 : { base : int, offset : int }; var local_#14988 : int; var local_#14989 : { base : int, offset : int }; var local_#14990 : { base : int, offset : int }; var local_#14991 : int; var local_#14992 : { base : int, offset : int }; var local_#14993 : { base : int, offset : int }; var local_#14994 : int; var local_#14995 : { base : int, offset : int }; var local_#14996 : int; var local_#14997 : int; local_#4251_L := local_#4251_L_IN; local_#4252_op := local_#4252_op_IN; goto CFG_36425; CFG_36425: assume true; goto CFG_49796; CFG_49796: assume true; local_#14965 := 0; local_#14966 := 0; assert { :LIR "60852" } { :check "overflow" } { :finding_ids "0" } true; local_#14967 := 12; local_#14968 := (if local_#4252_op != local_#14967 then 1 else 0); if (local_#14968 != 0) { goto CFG_49797; } else { goto CFG_40335; } CFG_49797: assume true; local_#14969 := 13; local_#14970 := (if local_#4252_op != local_#14969 then 1 else 0); if (local_#14970 != 0) { goto CFG_40336; } else { goto CFG_40335; } CFG_40335: assume true; local_#14971 := 0; local_#14972 := 0; assert { :LIR "60853" } { :check "overflow" } { :finding_ids "0" } true; local_#31722_io1 := _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]; local_#14973 := 1; local_#14974 := { base : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!offset - local_#14973 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#14974)!_value_!_b == _memory[{ base : local_#14974!base, offset : local_#14974!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14974)!_value_!_f == _memory_ptr[{ base : local_#14974!base, offset : local_#14974!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14974)!_value_!_gc == _memory_ptr[{ base : local_#14974!base, offset : local_#14974!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14974)!_value_!_i == _memory[{ base : local_#14974!base, offset : local_#14974!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#14974)!_value_!_p == _memory_ptr[{ base : local_#14974!base, offset : local_#14974!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#14974)!_tt_ == _memory[{ base : local_#14974!base, offset : local_#14974!offset + 8 }]; call write_type_#101(local_#31722_io1,read_type_#101(_memory, _memory_ptr, local_#14974)); local_#14975 := 0; assert { :LIR "60854" } { :check "overflow" } { :finding_ids "0" } true; local_#14976 := 0; local_#14977 := 0; assert { :LIR "60855" } { :check "overflow" } { :finding_ids "0" } true; local_#14978 := _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]; local_#14979 := 1; _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }] := { base : local_#14978!base, offset : local_#14978!offset + local_#14979 * 16 }; local_#14980 := local_#14978; local_#14981 := 0; local_#14982 := 0; assert { :LIR "60856" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42556; CFG_40336: assume true; local_#14983 := 0; local_#14984 := 0; assert { :LIR "60857" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42556; CFG_42556: assume true; local_#14985 := 2; local_#14986 := { base : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!offset - local_#14985 * 16 }; local_#14987 := local_#14986; assert { :LIR "62630" } { :check "overflow" } { :finding_ids "0" } true; local_#14988 := 1; local_#14989 := { base : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!offset - local_#14988 * 16 }; local_#14990 := local_#14989; assert { :LIR "62631" } { :check "overflow" } { :finding_ids "0" } true; local_#14991 := 2; local_#14992 := { base : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]!offset - local_#14991 * 16 }; goto CFG_46021; CFG_46021: assume true; call routine_#33859_luaO_arith(local_#4251_L,local_#4252_op,local_#14987,local_#14990,local_#14992); goto CFG_39188; CFG_39188: assume true; local_#14993 := _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }]; local_#14994 := 1; _memory_ptr[{ base : local_#4251_L!base, offset : local_#4251_L!offset + 16 }] := { base : local_#14993!base, offset : local_#14993!offset - local_#14994 * 16 }; local_#14995 := local_#14993; local_#14996 := 0; local_#14997 := 0; assert { :LIR "60858" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37336; CFG_37336: assume true; } procedure routine_#33918_lua_atpanic(local_#4253_L_IN : { base : int, offset : int }, local_#4254_panicf_IN : { base : int, offset : int }) returns (local_#7855 : { base : int, offset : int }) modifies _memory_ptr; { var local_#4253_L : { base : int, offset : int }; var local_#4254_panicf : { base : int, offset : int }; var local_#14998 : int; var local_#14999 : int; var local_#15000 : { base : int, offset : int }; var local_#31723_old : { base : int, offset : int }; var local_#15001 : { base : int, offset : int }; var local_#15002 : int; var local_#15003 : int; local_#4253_L := local_#4253_L_IN; local_#4254_panicf := local_#4254_panicf_IN; goto CFG_36426; CFG_36426: assume true; goto CFG_38228; CFG_38228: assume true; local_#14998 := 0; local_#14999 := 0; assert { :LIR "60859" } { :check "overflow" } { :finding_ids "0" } true; local_#15000 := _memory_ptr[{ base : local_#4253_L!base, offset : local_#4253_L!offset + 24 }]; local_#31723_old := _memory_ptr[{ base : local_#15000!base, offset : local_#15000!offset + 192 }]; local_#15001 := _memory_ptr[{ base : local_#4253_L!base, offset : local_#4253_L!offset + 24 }]; _memory_ptr[{ base : local_#15001!base, offset : local_#15001!offset + 192 }] := local_#4254_panicf; local_#15002 := 0; local_#15003 := 0; assert { :LIR "60860" } { :check "overflow" } { :finding_ids "0" } true; local_#7855 := local_#31723_old; goto CFG_37337; CFG_37337: assume true; } procedure routine_#33919_lua_callk(local_#4255_L_IN : { base : int, offset : int }, local_#4256_nargs_IN : int, local_#4257_nresults_IN : int, local_#4258_ctx_IN : int, local_#4259_k_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4255_L : { base : int, offset : int }; var local_#4256_nargs : int; var local_#4257_nresults : int; var local_#4258_ctx : int; var local_#4259_k : { base : int, offset : int }; var local_#15004 : int; var local_#15005 : int; var local_#15006 : int; var local_#15007 : int; var local_#15008 : int; var local_#15009 : int; var local_#15010 : int; var local_#15011 : int; var local_#15012 : int; var local_#15013 : int; var local_#15014 : int; var local_#15015 : int; var local_#15016 : { base : int, offset : int }; var local_#31724_func : { base : int, offset : int }; var local_#15017 : { base : int, offset : int }; var local_#15018 : int; var local_#15019 : int; var local_#15020 : int; var local_#15021 : int; var local_#15022 : { base : int, offset : int }; var local_#15023 : { base : int, offset : int }; var local_#15024 : { base : int, offset : int }; var local_#15025 : { base : int, offset : int }; var local_#15026 : int; var local_#15027 : int; var local_#15028 : { base : int, offset : int }; var local_#15029 : int; var local_#15030 : { base : int, offset : int }; var local_#15031 : int; var local_#15032 : int; local_#4255_L := local_#4255_L_IN; local_#4256_nargs := local_#4256_nargs_IN; local_#4257_nresults := local_#4257_nresults_IN; local_#4258_ctx := local_#4258_ctx_IN; local_#4259_k := local_#4259_k_IN; goto CFG_36427; CFG_36427: assume true; goto CFG_49798; CFG_49798: assume true; local_#15004 := 0; local_#15005 := 0; assert { :LIR "60861" } { :check "overflow" } { :finding_ids "0" } true; local_#15006 := 0; local_#15007 := 0; assert { :LIR "60862" } { :check "overflow" } { :finding_ids "0" } true; local_#15008 := 0; local_#15009 := 0; assert { :LIR "60863" } { :check "overflow" } { :finding_ids "0" } true; local_#15010 := 0; local_#15011 := 0; assert { :LIR "60864" } { :check "overflow" } { :finding_ids "0" } true; local_#15012 := 0; local_#15013 := 0; assert { :LIR "60865" } { :check "overflow" } { :finding_ids "0" } true; local_#15014 := 1; local_#15015 := local_#4256_nargs + local_#15014; assert { :LIR "66482" } { :check "overflow" } { :finding_ids "0" } local_#15015 <= 2147483647; local_#15016 := { base : _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 16 }]!offset - local_#15015 * 16 }; local_#31724_func := local_#15016; local_#15017 := { base : 0, offset : 0 }; local_#15018 := (if local_#4259_k != local_#15017 then 1 else 0); if (local_#15018 != 0) { goto CFG_49799; } else { goto CFG_46022; } CFG_49799: assume true; local_#15019 := _memory[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 196 }]; assert { :LIR "62632" } { :check "overflow" } { :finding_ids "0" } local_#15019 <= 2147483647; local_#15020 := 0; local_#15021 := (if local_#15019 == local_#15020 then 1 else 0); if (local_#15021 != 0) { goto CFG_42557; } else { goto CFG_46022; } CFG_46022: assume true; call routine_#33732_luaD_callnoyield(local_#4255_L,local_#31724_func,local_#4257_nresults); goto CFG_40337; CFG_40337: assume true; goto CFG_49800; CFG_42557: assume true; local_#15022 := _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 32 }]; local_#15023 := { base : local_#15022!base, offset : local_#15022!offset + 32 }; _memory_ptr[{ base : local_#15023!base, offset : local_#15023!offset + 0 }] := local_#4259_k; local_#15024 := _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 32 }]; local_#15025 := { base : local_#15024!base, offset : local_#15024!offset + 32 }; _memory[{ base : local_#15025!base, offset : local_#15025!offset + 16 }] := local_#4258_ctx; goto CFG_46023; CFG_46023: assume true; call routine_#33731_luaD_call(local_#4255_L,local_#31724_func,local_#4257_nresults); goto CFG_40338; CFG_40338: assume true; goto CFG_49800; CFG_49800: assume true; local_#15026 := -1; local_#15027 := (if local_#4257_nresults == local_#15026 then 1 else 0); if (local_#15027 != 0) { goto CFG_49801; } else { goto CFG_39189; } CFG_49801: assume true; local_#15028 := _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 32 }]; local_#15029 := (if _memory_ptr[{ base : local_#15028!base, offset : local_#15028!offset + 8 }]!offset < _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 16 }]!offset then 1 else 0); if (local_#15029 != 0) { goto CFG_40339; } else { goto CFG_39189; } CFG_40339: assume true; local_#15030 := _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 32 }]; _memory_ptr[{ base : local_#15030!base, offset : local_#15030!offset + 8 }] := _memory_ptr[{ base : local_#4255_L!base, offset : local_#4255_L!offset + 16 }]; goto CFG_39189; CFG_39189: assume true; local_#15031 := 0; local_#15032 := 0; assert { :LIR "60866" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37338; CFG_37338: assume true; } procedure routine_#33920_lua_checkstack(local_#4260_L_IN : { base : int, offset : int }, local_#4261_n_IN : int) returns (local_#7856 : int) modifies _memory, _memory_ptr, _valid; { var local_#4260_L : { base : int, offset : int }; var local_#4261_n : { base : int, offset : int }; var local_#31725_ci : { base : int, offset : int }; var local_#15033 : int; var local_#15034 : int; var local_#15035 : int; var local_#15036 : int; var local_#15037 : int; var local_#15038 : int; var local_#15039 : int; var local_#15040 : int; var local_#15041 : int; var local_#15042 : int; var local_#15043 : int; var local_#31727_inuse : int; var local_#15044 : int; var local_#15045 : int; var local_#15046 : int; var local_#15047 : { base : int, offset : int }; var local_#15048 : { base : int, offset : int }; var local_#15049 : int; var local_#15050 : int; var local_#15051 : int; var local_#31726_res : int; var local_#15052 : int; var local_#15053 : { base : int, offset : int }; var local_#15054 : int; var local_#15055 : { base : int, offset : int }; var local_#15056 : int; var local_#15057 : int; local_#4260_L := local_#4260_L_IN; _memory[local_#4261_n] := local_#4261_n_IN; goto CFG_36428; CFG_36428: assume true; goto CFG_49802; CFG_49802: assume true; local_#31725_ci := _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 32 }]; local_#15033 := 0; local_#15034 := 0; assert { :LIR "60867" } { :check "overflow" } { :finding_ids "0" } true; local_#15035 := 0; local_#15036 := 0; assert { :LIR "60868" } { :check "overflow" } { :finding_ids "0" } true; local_#15037 := (_memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 48 }]!offset - _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 16 }]!offset) / 16; local_#15038 := _memory[local_#4261_n]; assert { :LIR "62633" } { :check "overflow" } { :finding_ids "0" } local_#15038 <= 9223372036854775807; local_#15039 := (if local_#15037 > local_#15038 then 1 else 0); if (local_#15039 != 0) { goto CFG_40343; } else { goto CFG_49803; } CFG_49803: assume true; local_#15040 := (_memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 16 }]!offset - _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 56 }]!offset) / 16; local_#15041 := local_#15040; assert { :LIR "60869" } { :check "overflow" } { :finding_ids "0" } local_#15041 <= 2147483647; local_#15042 := 5; local_#15043 := local_#15041 + local_#15042; assert { :LIR "66483" } { :check "overflow" } { :finding_ids "0" } local_#15043 <= 2147483647; local_#31727_inuse := local_#15043; local_#15044 := 1000000; local_#15045 := local_#15044 - _memory[local_#4261_n]; assert { :LIR "67955" } { :check "overflow" } { :finding_ids "0" } local_#15045 <= 2147483647; local_#15046 := (if local_#31727_inuse > local_#15045 then 1 else 0); if (local_#15046 != 0) { goto CFG_40341; } else { goto CFG_42558; } CFG_42558: assume true; local_#15047 := fun_addr_#34804_growstack; local_#15048 := local_#4261_n; assert { :LIR "62634" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46024; CFG_46024: assume true; call local_#15049 := routine_#33740_luaD_rawrunprotected(local_#4260_L,local_#15047,local_#15048); goto CFG_40340; CFG_40340: assume true; local_#15050 := 0; local_#15051 := (if local_#15049 == local_#15050 then 1 else 0); local_#31726_res := local_#15051; goto CFG_40342; CFG_40341: assume true; local_#31726_res := 0; goto CFG_40342; CFG_40342: assume true; goto CFG_49804; CFG_40343: assume true; local_#31726_res := 1; goto CFG_49804; CFG_49804: assume true; local_#15052 := local_#31726_res; if (local_#15052 != 0) { goto CFG_49805; } else { goto CFG_38229; } CFG_49805: assume true; local_#15053 := { base : _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 16 }]!offset + _memory[local_#4261_n] * 16 }; local_#15054 := (if _memory_ptr[{ base : local_#31725_ci!base, offset : local_#31725_ci!offset + 8 }]!offset < local_#15053!offset then 1 else 0); if (local_#15054 != 0) { goto CFG_40344; } else { goto CFG_38229; } CFG_40344: assume true; local_#15055 := { base : _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4260_L!base, offset : local_#4260_L!offset + 16 }]!offset + _memory[local_#4261_n] * 16 }; _memory_ptr[{ base : local_#31725_ci!base, offset : local_#31725_ci!offset + 8 }] := local_#15055; goto CFG_38229; CFG_38229: assume true; local_#15056 := 0; local_#15057 := 0; assert { :LIR "60870" } { :check "overflow" } { :finding_ids "0" } true; local_#7856 := local_#31726_res; goto CFG_37339; CFG_37339: assume true; } procedure routine_#33921_lua_close(local_#4262_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4262_L : { base : int, offset : int }; var local_#15058 : { base : int, offset : int }; var local_#15059 : int; var local_#15060 : int; local_#4262_L := local_#4262_L_IN; goto CFG_36429; CFG_36429: assume true; goto CFG_42559; CFG_42559: assume true; local_#15058 := _memory_ptr[{ base : local_#4262_L!base, offset : local_#4262_L!offset + 24 }]; local_#4262_L := _memory_ptr[{ base : local_#15058!base, offset : local_#15058!offset + 200 }]; local_#15059 := 0; local_#15060 := 0; assert { :LIR "60871" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46025; CFG_46025: assume true; call routine_#34648_close_state(local_#4262_L); goto CFG_39190; CFG_39190: assume true; goto CFG_37340; CFG_37340: assume true; } procedure routine_#33922_lua_compare(local_#4263_L_IN : { base : int, offset : int }, local_#4264_index1_IN : int, local_#4265_index2_IN : int, local_#4266_op_IN : int) returns (local_#7857 : int) modifies _memory, _memory_ptr, _valid; { var local_#4263_L : { base : int, offset : int }; var local_#4264_index1 : int; var local_#4265_index2 : int; var local_#4266_op : int; var local_#31728_i : int; var local_#15061 : int; var local_#15062 : int; var local_#15063 : { base : int, offset : int }; var local_#31729_o1 : { base : int, offset : int }; var local_#15064 : { base : int, offset : int }; var local_#31730_o2 : { base : int, offset : int }; var local_#15065 : { base : int, offset : int }; var local_#15066 : int; var local_#15067 : { base : int, offset : int }; var local_#15068 : int; var local_#15069 : int; var local_#15070 : int; var local_#15071 : int; var local_#15072 : { base : int, offset : int }; var local_#15073 : { base : int, offset : int }; var local_#15074 : int; var local_#15075 : { base : int, offset : int }; var local_#15076 : { base : int, offset : int }; var local_#15077 : int; var local_#15078 : { base : int, offset : int }; var local_#15079 : { base : int, offset : int }; var local_#15080 : int; var local_#15081 : int; var local_#15082 : int; local_#4263_L := local_#4263_L_IN; local_#4264_index1 := local_#4264_index1_IN; local_#4265_index2 := local_#4265_index2_IN; local_#4266_op := local_#4266_op_IN; goto CFG_36430; CFG_36430: assume true; goto CFG_42560; CFG_42560: assume true; local_#31728_i := 0; local_#15061 := 0; local_#15062 := 0; assert { :LIR "60872" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46026; CFG_46026: assume true; call local_#15063 := routine_#34811_index2addr(local_#4263_L,local_#4264_index1); goto CFG_42561; CFG_42561: assume true; local_#31729_o1 := local_#15063; goto CFG_46027; CFG_46027: assume true; call local_#15064 := routine_#34811_index2addr(local_#4263_L,local_#4265_index2); goto CFG_49806; CFG_49806: assume true; local_#31730_o2 := local_#15064; local_#15065 := local_#31729_o1; assert { :LIR "62635" } { :check "overflow" } { :finding_ids "0" } true; local_#15066 := (if local_#15065 != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#15066 != 0) { goto CFG_49807; } else { goto CFG_38230; } CFG_49807: assume true; local_#15067 := local_#31730_o2; assert { :LIR "62636" } { :check "overflow" } { :finding_ids "0" } true; local_#15068 := (if local_#15067 != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#15068 != 0) { goto CFG_51518; } else { goto CFG_38230; } CFG_51518: assume true; local_#15069 := local_#4266_op; if (local_#15069 == 0) { goto CFG_42565; } if (local_#15069 == 1) { goto CFG_42564; } if (local_#15069 == 2) { goto CFG_42563; } goto CFG_42562; CFG_42562: assume true; local_#15070 := 0; local_#15071 := 0; assert { :LIR "60873" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41921; CFG_41921: assume true; goto CFG_40345; CFG_42563: assume true; local_#15072 := local_#31729_o1; assert { :LIR "62637" } { :check "overflow" } { :finding_ids "0" } true; local_#15073 := local_#31730_o2; assert { :LIR "62638" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46028; CFG_46028: assume true; call local_#15074 := routine_#33898_luaV_lessequal(local_#4263_L,local_#15072,local_#15073); goto CFG_39559; CFG_39559: assume true; local_#31728_i := local_#15074; goto CFG_40345; CFG_42564: assume true; local_#15075 := local_#31729_o1; assert { :LIR "62639" } { :check "overflow" } { :finding_ids "0" } true; local_#15076 := local_#31730_o2; assert { :LIR "62640" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46029; CFG_46029: assume true; call local_#15077 := routine_#33899_luaV_lessthan(local_#4263_L,local_#15075,local_#15076); goto CFG_39560; CFG_39560: assume true; local_#31728_i := local_#15077; goto CFG_40345; CFG_42565: assume true; local_#15078 := local_#31729_o1; assert { :LIR "62641" } { :check "overflow" } { :finding_ids "0" } true; local_#15079 := local_#31730_o2; assert { :LIR "62642" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46030; CFG_46030: assume true; call local_#15080 := routine_#33893_luaV_equalobj(local_#4263_L,local_#15078,local_#15079); goto CFG_39561; CFG_39561: assume true; local_#31728_i := local_#15080; goto CFG_40345; CFG_40345: assume true; goto CFG_38230; CFG_38230: assume true; local_#15081 := 0; local_#15082 := 0; assert { :LIR "60874" } { :check "overflow" } { :finding_ids "0" } true; local_#7857 := local_#31728_i; goto CFG_37341; CFG_37341: assume true; } procedure routine_#33923_lua_concat(local_#4267_L_IN : { base : int, offset : int }, local_#4268_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4267_L : { base : int, offset : int }; var local_#4268_n : int; var local_#15083 : int; var local_#15084 : int; var local_#15085 : int; var local_#15086 : int; var local_#15087 : int; var local_#15088 : int; var local_#15089 : int; var local_#15090 : int; var local_#31731_io : { base : int, offset : int }; var local_#15091 : { base : int, offset : int }; var local_#15092 : { base : int, offset : int }; var local_#15093 : int; var local_#15094 : { base : int, offset : int }; var local_#31732_x_ : { base : int, offset : int }; var local_#15095 : { base : int, offset : int }; var local_#15096 : { base : int, offset : int }; var local_#15097 : { base : int, offset : int }; var local_#15098 : int; var local_#15099 : int; var local_#15100 : int; var local_#15101 : int; var local_#15102 : int; var local_#15103 : { base : int, offset : int }; var local_#15104 : int; var local_#15105 : { base : int, offset : int }; var local_#15106 : int; var local_#15107 : int; var local_#15108 : { base : int, offset : int }; var local_#15109 : int; var local_#15110 : int; var local_#15111 : int; var local_#15112 : int; var local_#15113 : int; var local_#15114 : int; var local_#15115 : int; var local_#15116 : int; var local_#15117 : int; var local_#15118 : int; local_#4267_L := local_#4267_L_IN; local_#4268_n := local_#4268_n_IN; goto CFG_36431; CFG_36431: assume true; goto CFG_49808; CFG_49808: assume true; local_#15083 := 0; local_#15084 := 0; assert { :LIR "60875" } { :check "overflow" } { :finding_ids "0" } true; local_#15085 := 0; local_#15086 := 0; assert { :LIR "60876" } { :check "overflow" } { :finding_ids "0" } true; local_#15087 := 2; local_#15088 := (if local_#4268_n >= local_#15087 then 1 else 0); if (local_#15088 != 0) { goto CFG_46032; } else { goto CFG_49809; } CFG_49809: assume true; local_#15089 := 0; local_#15090 := (if local_#4268_n == local_#15089 then 1 else 0); if (local_#15090 != 0) { goto CFG_42566; } else { goto CFG_40347; } CFG_42566: assume true; local_#31731_io := _memory_ptr[{ base : local_#4267_L!base, offset : local_#4267_L!offset + 16 }]; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#15091 := strlit_#70352; local_#15092 := { base : local_#15091!base, offset : local_#15091!offset + 0 * 1 }; assert { :LIR "62643" } { :check "overflow" } { :finding_ids "0" } true; local_#15093 := 0; goto CFG_46031; CFG_46031: assume true; call local_#15094 := routine_#33877_luaS_newlstr(local_#4267_L,local_#15092,local_#15093); goto CFG_40346; CFG_40346: assume true; local_#31732_x_ := local_#15094; local_#15095 := local_#31732_x_; assert { :LIR "60877" } { :check "overflow" } { :finding_ids "0" } true; local_#15096 := { base : local_#15095!base, offset : local_#15095!offset + 0 }; local_#15097 := { base : local_#31731_io!base, offset : local_#31731_io!offset + 0 }; _memory_ptr[local_#15097] := local_#15096; local_#15098 := _memory[{ base : local_#31732_x_!base, offset : local_#31732_x_!offset + 8 }]; assert { :LIR "62644" } { :check "overflow" } { :finding_ids "0" } local_#15098 <= 2147483647; local_#15099 := 64; local_#15100 := ~sor32(local_#15098, local_#15099); _memory[{ base : local_#31731_io!base, offset : local_#31731_io!offset + 8 }] := local_#15100; local_#15101 := 0; local_#15102 := 0; assert { :LIR "60878" } { :check "overflow" } { :finding_ids "0" } true; local_#15103 := _memory_ptr[{ base : local_#4267_L!base, offset : local_#4267_L!offset + 16 }]; local_#15104 := 1; _memory_ptr[{ base : local_#4267_L!base, offset : local_#4267_L!offset + 16 }] := { base : local_#15103!base, offset : local_#15103!offset + local_#15104 * 16 }; local_#15105 := local_#15103; local_#15106 := 0; local_#15107 := 0; assert { :LIR "60879" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40347; CFG_40347: assume true; goto CFG_49810; CFG_46032: assume true; call routine_#33891_luaV_concat(local_#4267_L,local_#4268_n); goto CFG_40348; CFG_40348: assume true; goto CFG_49810; CFG_49810: assume true; local_#15108 := _memory_ptr[{ base : local_#4267_L!base, offset : local_#4267_L!offset + 24 }]; local_#15109 := 0; local_#15110 := (if _memory[{ base : local_#15108!base, offset : local_#15108!offset + 24 }] > local_#15109 then 1 else 0); if (local_#15110 != 0) { goto CFG_42567; } else { goto CFG_39191; } CFG_42567: assume true; local_#15111 := 0; local_#15112 := 0; assert { :LIR "60880" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46033; CFG_46033: assume true; call routine_#33728_luaC_step(local_#4267_L); goto CFG_40349; CFG_40349: assume true; local_#15113 := 0; local_#15114 := 0; assert { :LIR "60881" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39191; CFG_39191: assume true; local_#15115 := 0; local_#15116 := 0; assert { :LIR "60882" } { :check "overflow" } { :finding_ids "0" } true; local_#15117 := 0; local_#15118 := 0; assert { :LIR "60883" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37342; CFG_37342: assume true; } procedure routine_#33924_lua_copy(local_#4269_L_IN : { base : int, offset : int }, local_#4270_fromidx_IN : int, local_#4271_toidx_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4269_L : { base : int, offset : int }; var local_#4270_fromidx : int; var local_#4271_toidx : int; var local_#15119 : int; var local_#15120 : int; var local_#15121 : { base : int, offset : int }; var local_#31733_fr : { base : int, offset : int }; var local_#15122 : { base : int, offset : int }; var local_#31734_to : { base : int, offset : int }; var local_#15123 : int; var local_#15124 : int; var local_#31735_io1 : { base : int, offset : int }; var local_#15125 : int; var local_#15126 : int; var local_#15127 : int; var local_#15128 : int; var local_#15129 : int; var local_#15130 : int; var local_#15131 : int; var local_#15132 : { base : int, offset : int }; var local_#15133 : { base : int, offset : int }; var local_#15134 : { base : int, offset : int }; var local_#15135 : { base : int, offset : int }; var local_#15136 : { base : int, offset : int }; var local_#15137 : { base : int, offset : int }; var local_#15138 : int; var local_#15139 : int; var local_#15140 : int; var local_#15141 : { base : int, offset : int }; var local_#15142 : { base : int, offset : int }; var local_#15143 : int; var local_#15144 : int; var local_#15145 : int; var local_#15146 : int; var local_#15147 : int; var local_#15148 : { base : int, offset : int }; var local_#15149 : { base : int, offset : int }; var local_#15150 : { base : int, offset : int }; var local_#15151 : { base : int, offset : int }; var local_#15152 : { base : int, offset : int }; var local_#15153 : { base : int, offset : int }; var local_#15154 : { base : int, offset : int }; var local_#15155 : { base : int, offset : int }; var local_#15156 : { base : int, offset : int }; var local_#15157 : { base : int, offset : int }; var local_#15158 : int; var local_#15159 : int; local_#4269_L := local_#4269_L_IN; local_#4270_fromidx := local_#4270_fromidx_IN; local_#4271_toidx := local_#4271_toidx_IN; goto CFG_36432; CFG_36432: assume true; goto CFG_42568; CFG_42568: assume true; local_#15119 := 0; local_#15120 := 0; assert { :LIR "60884" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46034; CFG_46034: assume true; call local_#15121 := routine_#34811_index2addr(local_#4269_L,local_#4270_fromidx); goto CFG_42569; CFG_42569: assume true; local_#31733_fr := local_#15121; goto CFG_46035; CFG_46035: assume true; call local_#15122 := routine_#34811_index2addr(local_#4269_L,local_#4271_toidx); goto CFG_49811; CFG_49811: assume true; local_#31734_to := local_#15122; local_#15123 := 0; local_#15124 := 0; assert { :LIR "60885" } { :check "overflow" } { :finding_ids "0" } true; local_#31735_io1 := local_#31734_to; assume read_type_#101(_memory, _memory_ptr, local_#31733_fr)!_value_!_b == _memory[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31733_fr)!_value_!_f == _memory_ptr[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31733_fr)!_value_!_gc == _memory_ptr[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31733_fr)!_value_!_i == _memory[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31733_fr)!_value_!_p == _memory_ptr[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31733_fr)!_tt_ == _memory[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 8 }]; call write_type_#101(local_#31735_io1,read_type_#101(_memory, _memory_ptr, local_#31733_fr)); local_#15125 := 0; assert { :LIR "60886" } { :check "overflow" } { :finding_ids "0" } true; local_#15126 := 0; local_#15127 := 0; assert { :LIR "60887" } { :check "overflow" } { :finding_ids "0" } true; local_#15128 := -1001000; local_#15129 := (if local_#4271_toidx < local_#15128 then 1 else 0); if (local_#15129 != 0) { goto CFG_49812; } else { goto CFG_39192; } CFG_49812: assume true; local_#15130 := 64; local_#15131 := ~sand32(_memory[{ base : local_#31733_fr!base, offset : local_#31733_fr!offset + 8 }], local_#15130); if (local_#15131 != 0) { goto CFG_49813; } else { goto CFG_40350; } CFG_49813: assume true; local_#15132 := _memory_ptr[{ base : local_#4269_L!base, offset : local_#4269_L!offset + 32 }]; local_#15133 := _memory_ptr[{ base : local_#15132!base, offset : local_#15132!offset + 0 }]; local_#15134 := { base : local_#15133!base, offset : local_#15133!offset + 0 }; local_#15135 := _memory_ptr[local_#15134]; assert { :LIR "60888" } { :check "overflow" } { :finding_ids "0" } true; local_#15136 := { base : local_#15135!base, offset : local_#15135!offset + 0 }; local_#15137 := { base : local_#15136!base, offset : local_#15136!offset + 0 }; local_#15138 := _memory[{ base : local_#15137!base, offset : local_#15137!offset + 9 }]; assert { :LIR "62645" } { :check "overflow" } { :finding_ids "0" } local_#15138 <= 2147483647; local_#15139 := 4; local_#15140 := ~sand32(local_#15138, local_#15139); if (local_#15140 != 0) { goto CFG_49814; } else { goto CFG_40350; } CFG_49814: assume true; local_#15141 := { base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 }; local_#15142 := _memory_ptr[local_#15141]; local_#15143 := _memory[{ base : local_#15142!base, offset : local_#15142!offset + 9 }]; assert { :LIR "62646" } { :check "overflow" } { :finding_ids "0" } local_#15143 <= 2147483647; local_#15144 := 3; local_#15145 := ~sand32(local_#15143, local_#15144); if (local_#15145 != 0) { goto CFG_42570; } else { goto CFG_40350; } CFG_40350: assume true; local_#15146 := 0; local_#15147 := 0; assert { :LIR "60889" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40352; CFG_42570: assume true; local_#15148 := _memory_ptr[{ base : local_#4269_L!base, offset : local_#4269_L!offset + 32 }]; local_#15149 := _memory_ptr[{ base : local_#15148!base, offset : local_#15148!offset + 0 }]; local_#15150 := { base : local_#15149!base, offset : local_#15149!offset + 0 }; local_#15151 := _memory_ptr[local_#15150]; assert { :LIR "60890" } { :check "overflow" } { :finding_ids "0" } true; local_#15152 := { base : local_#15151!base, offset : local_#15151!offset + 0 }; local_#15153 := { base : local_#15152!base, offset : local_#15152!offset + 0 }; local_#15154 := local_#15153; assert { :LIR "60891" } { :check "overflow" } { :finding_ids "0" } true; local_#15155 := { base : local_#15154!base, offset : local_#15154!offset + 0 }; local_#15156 := { base : local_#31733_fr!base, offset : local_#31733_fr!offset + 0 }; local_#15157 := _memory_ptr[local_#15156]; goto CFG_46036; CFG_46036: assume true; call routine_#33720_luaC_barrier_(local_#4269_L,local_#15155,local_#15157); goto CFG_40351; CFG_40351: assume true; goto CFG_40352; CFG_40352: assume true; goto CFG_39192; CFG_39192: assume true; local_#15158 := 0; local_#15159 := 0; assert { :LIR "60892" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37343; CFG_37343: assume true; } procedure routine_#33925_lua_createtable(local_#4272_L_IN : { base : int, offset : int }, local_#4273_narray_IN : int, local_#4274_nrec_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4272_L : { base : int, offset : int }; var local_#4273_narray : int; var local_#4274_nrec : int; var local_#15160 : int; var local_#15161 : int; var local_#15162 : { base : int, offset : int }; var local_#31736_t : { base : int, offset : int }; var local_#31737_io : { base : int, offset : int }; var local_#31738_x_ : { base : int, offset : int }; var local_#15163 : { base : int, offset : int }; var local_#15164 : { base : int, offset : int }; var local_#15165 : { base : int, offset : int }; var local_#15166 : int; var local_#15167 : int; var local_#15168 : { base : int, offset : int }; var local_#15169 : int; var local_#15170 : { base : int, offset : int }; var local_#15171 : int; var local_#15172 : int; var local_#15173 : int; var local_#15174 : int; var local_#15175 : int; var local_#15176 : int; var local_#15177 : int; var local_#15178 : int; var local_#15179 : { base : int, offset : int }; var local_#15180 : int; var local_#15181 : int; var local_#15182 : int; var local_#15183 : int; var local_#15184 : int; var local_#15185 : int; var local_#15186 : int; var local_#15187 : int; var local_#15188 : int; var local_#15189 : int; local_#4272_L := local_#4272_L_IN; local_#4273_narray := local_#4273_narray_IN; local_#4274_nrec := local_#4274_nrec_IN; goto CFG_36433; CFG_36433: assume true; goto CFG_42571; CFG_42571: assume true; local_#15160 := 0; local_#15161 := 0; assert { :LIR "60893" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46037; CFG_46037: assume true; call local_#15162 := routine_#33772_luaH_new(local_#4272_L); goto CFG_49815; CFG_49815: assume true; local_#31736_t := local_#15162; local_#31737_io := _memory_ptr[{ base : local_#4272_L!base, offset : local_#4272_L!offset + 16 }]; local_#31738_x_ := local_#31736_t; local_#15163 := local_#31738_x_; assert { :LIR "60894" } { :check "overflow" } { :finding_ids "0" } true; local_#15164 := { base : local_#15163!base, offset : local_#15163!offset + 0 }; local_#15165 := { base : local_#31737_io!base, offset : local_#31737_io!offset + 0 }; _memory_ptr[local_#15165] := local_#15164; _memory[{ base : local_#31737_io!base, offset : local_#31737_io!offset + 8 }] := 69; local_#15166 := 0; local_#15167 := 0; assert { :LIR "60895" } { :check "overflow" } { :finding_ids "0" } true; local_#15168 := _memory_ptr[{ base : local_#4272_L!base, offset : local_#4272_L!offset + 16 }]; local_#15169 := 1; _memory_ptr[{ base : local_#4272_L!base, offset : local_#4272_L!offset + 16 }] := { base : local_#15168!base, offset : local_#15168!offset + local_#15169 * 16 }; local_#15170 := local_#15168; local_#15171 := 0; local_#15172 := 0; assert { :LIR "60896" } { :check "overflow" } { :finding_ids "0" } true; local_#15173 := 0; local_#15174 := (if local_#4273_narray > local_#15173 then 1 else 0); if (local_#15174 != 0) { goto CFG_42572; } else { goto CFG_49816; } CFG_49816: assume true; local_#15175 := 0; local_#15176 := (if local_#4274_nrec > local_#15175 then 1 else 0); if (local_#15176 != 0) { goto CFG_42572; } else { goto CFG_49817; } CFG_42572: assume true; local_#15177 := ~uwrap32(local_#4273_narray); assert { :LIR "62647" } { :check "overflow" } { :finding_ids "0" } true; local_#15178 := ~uwrap32(local_#4274_nrec); assert { :LIR "62648" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46038; CFG_46038: assume true; call routine_#33775_luaH_resize(local_#4272_L,local_#31736_t,local_#15177,local_#15178); goto CFG_40353; CFG_40353: assume true; goto CFG_49817; CFG_49817: assume true; local_#15179 := _memory_ptr[{ base : local_#4272_L!base, offset : local_#4272_L!offset + 24 }]; local_#15180 := 0; local_#15181 := (if _memory[{ base : local_#15179!base, offset : local_#15179!offset + 24 }] > local_#15180 then 1 else 0); if (local_#15181 != 0) { goto CFG_42573; } else { goto CFG_39193; } CFG_42573: assume true; local_#15182 := 0; local_#15183 := 0; assert { :LIR "60897" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46039; CFG_46039: assume true; call routine_#33728_luaC_step(local_#4272_L); goto CFG_40354; CFG_40354: assume true; local_#15184 := 0; local_#15185 := 0; assert { :LIR "60898" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39193; CFG_39193: assume true; local_#15186 := 0; local_#15187 := 0; assert { :LIR "60899" } { :check "overflow" } { :finding_ids "0" } true; local_#15188 := 0; local_#15189 := 0; assert { :LIR "60900" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37344; CFG_37344: assume true; } procedure routine_#33926_lua_dump(local_#4275_L_IN : { base : int, offset : int }, local_#4276_writer_IN : { base : int, offset : int }, local_#4277_data_IN : { base : int, offset : int }, local_#4278_strip_IN : int) returns (local_#7858 : int) modifies _memory, _memory_ptr; { var local_#4275_L : { base : int, offset : int }; var local_#4276_writer : { base : int, offset : int }; var local_#4277_data : { base : int, offset : int }; var local_#4278_strip : int; var local_#15190 : int; var local_#15191 : int; var local_#15192 : int; var local_#15193 : int; var local_#15194 : int; var local_#15195 : { base : int, offset : int }; var local_#31739_o : { base : int, offset : int }; var local_#15196 : int; var local_#15197 : int; var local_#31740_status : int; var local_#15198 : { base : int, offset : int }; var local_#15199 : { base : int, offset : int }; var local_#15200 : { base : int, offset : int }; var local_#15201 : { base : int, offset : int }; var local_#15202 : { base : int, offset : int }; var local_#15203 : int; var local_#15204 : int; var local_#15205 : int; local_#4275_L := local_#4275_L_IN; local_#4276_writer := local_#4276_writer_IN; local_#4277_data := local_#4277_data_IN; local_#4278_strip := local_#4278_strip_IN; goto CFG_36434; CFG_36434: assume true; goto CFG_49818; CFG_49818: assume true; local_#15190 := 0; local_#15191 := 0; assert { :LIR "60901" } { :check "overflow" } { :finding_ids "0" } true; local_#15192 := 0; local_#15193 := 0; assert { :LIR "60902" } { :check "overflow" } { :finding_ids "0" } true; local_#15194 := 1; local_#15195 := { base : _memory_ptr[{ base : local_#4275_L!base, offset : local_#4275_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4275_L!base, offset : local_#4275_L!offset + 16 }]!offset - local_#15194 * 16 }; local_#31739_o := local_#15195; local_#15196 := 70; local_#15197 := (if _memory[{ base : local_#31739_o!base, offset : local_#31739_o!offset + 8 }] == local_#15196 then 1 else 0); if (local_#15197 != 0) { goto CFG_42574; } else { goto CFG_40355; } CFG_40355: assume true; local_#31740_status := 1; goto CFG_38231; CFG_42574: assume true; local_#15198 := { base : local_#31739_o!base, offset : local_#31739_o!offset + 0 }; local_#15199 := _memory_ptr[local_#15198]; assert { :LIR "60903" } { :check "overflow" } { :finding_ids "0" } true; local_#15200 := { base : local_#15199!base, offset : local_#15199!offset + 0 }; local_#15201 := { base : local_#15200!base, offset : local_#15200!offset + 0 }; local_#15202 := _memory_ptr[{ base : local_#15201!base, offset : local_#15201!offset + 24 }]; assert { :LIR "62649" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46040; CFG_46040: assume true; call local_#15203 := routine_#33889_luaU_dump(local_#4275_L,local_#15202,local_#4276_writer,local_#4277_data,local_#4278_strip); goto CFG_40356; CFG_40356: assume true; local_#31740_status := local_#15203; goto CFG_38231; CFG_38231: assume true; local_#15204 := 0; local_#15205 := 0; assert { :LIR "60904" } { :check "overflow" } { :finding_ids "0" } true; local_#7858 := local_#31740_status; goto CFG_37345; CFG_37345: assume true; } procedure routine_#33927_lua_error(local_#4279_L_IN : { base : int, offset : int }) returns (local_#7859 : int) modifies _memory, _memory_ptr, _valid; { var local_#4279_L : { base : int, offset : int }; var local_#15206 : int; var local_#15207 : int; var local_#15208 : int; var local_#15209 : int; local_#4279_L := local_#4279_L_IN; goto CFG_36435; CFG_36435: assume true; goto CFG_42575; CFG_42575: assume true; local_#15206 := 0; local_#15207 := 0; assert { :LIR "60905" } { :check "overflow" } { :finding_ids "0" } true; local_#15208 := 0; local_#15209 := 0; assert { :LIR "60906" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46041; CFG_46041: assume true; call routine_#33759_luaG_errormsg(local_#4279_L); CFG_38232: assume true; local_#7859 := 0; goto CFG_37346; CFG_37346: assume true; } procedure routine_#33928_lua_gc(local_#4280_L_IN : { base : int, offset : int }, local_#4281_what_IN : int, local_#4282_data_IN : int) returns (local_#7860 : int) modifies _memory, _memory_ptr, _valid; { var local_#4280_L : { base : int, offset : int }; var local_#4281_what : int; var local_#4282_data : int; var local_#31742_res : int; var local_#15210 : int; var local_#15211 : int; var local_#31741_g : { base : int, offset : int }; var local_#15212 : int; var local_#15213 : int; var local_#15214 : int; var local_#15215 : int; var local_#31743_debt : int; var local_#31744_oldrunning : int; var local_#15216 : int; var local_#15217 : int; var local_#15218 : int; var local_#15219 : int; var local_#15220 : int; var local_#15221 : int; var local_#15222 : { base : int, offset : int }; var local_#15223 : int; var local_#15224 : int; var local_#15225 : int; var local_#15226 : int; var local_#15227 : int; var local_#15228 : int; var local_#15229 : int; var local_#15230 : int; var local_#15231 : int; var local_#15232 : int; var local_#15233 : int; var local_#15234 : int; var local_#15235 : int; var local_#15236 : int; var local_#15237 : int; var local_#15238 : int; var local_#15239 : int; var local_#15240 : int; var local_#15241 : int; var local_#15242 : int; var local_#15243 : int; var local_#15244 : int; var local_#15245 : int; var local_#15246 : int; var local_#15247 : int; var local_#15248 : int; var local_#15249 : int; var local_#15250 : int; local_#4280_L := local_#4280_L_IN; local_#4281_what := local_#4281_what_IN; local_#4282_data := local_#4282_data_IN; goto CFG_36436; CFG_36436: assume true; goto CFG_51519; CFG_51519: assume true; local_#31742_res := 0; local_#15210 := 0; local_#15211 := 0; assert { :LIR "60907" } { :check "overflow" } { :finding_ids "0" } true; local_#31741_g := _memory_ptr[{ base : local_#4280_L!base, offset : local_#4280_L!offset + 24 }]; local_#15212 := local_#4281_what; if (local_#15212 == 0) { goto CFG_39570; } if (local_#15212 == 1) { goto CFG_42581; } if (local_#15212 == 2) { goto CFG_42580; } if (local_#15212 == 3) { goto CFG_39567; } if (local_#15212 == 4) { goto CFG_39566; } if (local_#15212 == 5) { goto CFG_49820; } if (local_#15212 == 6) { goto CFG_39564; } if (local_#15212 == 7) { goto CFG_49819; } if (local_#15212 == 9) { goto CFG_39562; } goto CFG_42576; CFG_42576: assume true; local_#31742_res := -1; goto CFG_41922; CFG_41922: assume true; goto CFG_38233; CFG_39562: assume true; local_#15213 := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 87 }]; assert { :LIR "62650" } { :check "overflow" } { :finding_ids "0" } local_#15213 <= 2147483647; local_#31742_res := local_#15213; goto CFG_38233; CFG_49819: assume true; local_#31742_res := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 184 }]; local_#15214 := 40; local_#15215 := (if local_#4282_data < local_#15214 then 1 else 0); if (local_#15215 != 0) { goto CFG_40357; } else { goto CFG_39563; } CFG_40357: assume true; local_#4282_data := 40; goto CFG_39563; CFG_39563: assume true; _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 184 }] := local_#4282_data; goto CFG_38233; CFG_39564: assume true; local_#31742_res := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 180 }]; _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 180 }] := local_#4282_data; goto CFG_38233; CFG_49820: assume true; local_#31743_debt := 1; local_#31744_oldrunning := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 87 }]; _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 87 }] := 1; local_#15216 := 0; local_#15217 := (if local_#4282_data == local_#15216 then 1 else 0); if (local_#15217 != 0) { goto CFG_42579; } else { goto CFG_42577; } CFG_42577: assume true; local_#15218 := local_#4282_data; assert { :LIR "60908" } { :check "overflow" } { :finding_ids "0" } local_#15218 <= 9223372036854775807; local_#15219 := 1024; local_#15220 := local_#15218 * local_#15219; assert { :LIR "68534" } { :check "overflow" } { :finding_ids "0" } local_#15220 <= 9223372036854775807; local_#15221 := local_#15220 + _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 24 }]; assert { :LIR "66484" } { :check "overflow" } { :finding_ids "0" } local_#15221 <= 9223372036854775807; local_#31743_debt := local_#15221; goto CFG_46042; CFG_46042: assume true; call routine_#33747_luaE_setdebt(local_#31741_g,local_#31743_debt); goto CFG_49821; CFG_49821: assume true; local_#15222 := _memory_ptr[{ base : local_#4280_L!base, offset : local_#4280_L!offset + 24 }]; local_#15223 := 0; local_#15224 := (if _memory[{ base : local_#15222!base, offset : local_#15222!offset + 24 }] > local_#15223 then 1 else 0); if (local_#15224 != 0) { goto CFG_42578; } else { goto CFG_40359; } CFG_42578: assume true; local_#15225 := 0; local_#15226 := 0; assert { :LIR "60909" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46043; CFG_46043: assume true; call routine_#33728_luaC_step(local_#4280_L); goto CFG_40358; CFG_40358: assume true; local_#15227 := 0; local_#15228 := 0; assert { :LIR "60910" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40359; CFG_40359: assume true; local_#15229 := 0; local_#15230 := 0; assert { :LIR "60911" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49822; CFG_42579: assume true; local_#15231 := -2400; goto CFG_46044; CFG_46044: assume true; call routine_#33747_luaE_setdebt(local_#31741_g,local_#15231); goto CFG_46045; CFG_46045: assume true; call routine_#33728_luaC_step(local_#4280_L); goto CFG_40360; CFG_40360: assume true; goto CFG_49822; CFG_49822: assume true; _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 87 }] := local_#31744_oldrunning; local_#15232 := 0; local_#15233 := (if local_#31743_debt > local_#15232 then 1 else 0); if (local_#15233 != 0) { goto CFG_49823; } else { goto CFG_39565; } CFG_49823: assume true; local_#15234 := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 85 }]; assert { :LIR "62651" } { :check "overflow" } { :finding_ids "0" } local_#15234 <= 2147483647; local_#15235 := 7; local_#15236 := (if local_#15234 == local_#15235 then 1 else 0); if (local_#15236 != 0) { goto CFG_40361; } else { goto CFG_39565; } CFG_40361: assume true; local_#31742_res := 1; goto CFG_39565; CFG_39565: assume true; goto CFG_38233; CFG_39566: assume true; local_#15237 := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 16 }] + _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 24 }]; assert { :LIR "66485" } { :check "overflow" } { :finding_ids "0" } local_#15237 <= 9223372036854775807; local_#15238 := ~uwrap64(local_#15237); assert { :LIR "60912" } { :check "overflow" } { :finding_ids "0" } true; local_#15239 := 1023; local_#15240 := ~uand64(local_#15238, local_#15239); local_#15241 := local_#15240; assert { :LIR "60913" } { :check "overflow" } { :finding_ids "0" } local_#15241 <= 2147483647; local_#31742_res := local_#15241; goto CFG_38233; CFG_39567: assume true; local_#15242 := _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 16 }] + _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 24 }]; assert { :LIR "66486" } { :check "overflow" } { :finding_ids "0" } local_#15242 <= 9223372036854775807; local_#15243 := ~uwrap64(local_#15242); assert { :LIR "60914" } { :check "overflow" } { :finding_ids "0" } true; local_#15244 := 10; local_#15245 := ~lshr64(local_#15243, local_#15244); local_#15246 := local_#15245; assert { :LIR "60915" } { :check "overflow" } { :finding_ids "0" } local_#15246 <= 2147483647; local_#31742_res := local_#15246; goto CFG_38233; CFG_42580: assume true; local_#15247 := 0; goto CFG_46046; CFG_46046: assume true; call routine_#33725_luaC_fullgc(local_#4280_L,local_#15247); goto CFG_39568; CFG_39568: assume true; goto CFG_38233; CFG_42581: assume true; local_#15248 := 0; goto CFG_46047; CFG_46047: assume true; call routine_#33747_luaE_setdebt(local_#31741_g,local_#15248); goto CFG_39569; CFG_39569: assume true; _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 87 }] := 1; goto CFG_38233; CFG_39570: assume true; _memory[{ base : local_#31741_g!base, offset : local_#31741_g!offset + 87 }] := 0; goto CFG_38233; CFG_38233: assume true; local_#15249 := 0; local_#15250 := 0; assert { :LIR "60916" } { :check "overflow" } { :finding_ids "0" } true; local_#7860 := local_#31742_res; goto CFG_37347; CFG_37347: assume true; } procedure routine_#33929_lua_getallocf(local_#4283_L_IN : { base : int, offset : int }, local_#4284_ud_IN : { base : int, offset : int }) returns (local_#7861 : { base : int, offset : int }) modifies _memory_ptr; { var local_#4283_L : { base : int, offset : int }; var local_#4284_ud : { base : int, offset : int }; var local_#15251 : int; var local_#15252 : int; var local_#15253 : { base : int, offset : int }; var local_#15254 : { base : int, offset : int }; var local_#15255 : { base : int, offset : int }; var local_#31745_f : { base : int, offset : int }; var local_#15256 : int; var local_#15257 : int; local_#4283_L := local_#4283_L_IN; local_#4284_ud := local_#4284_ud_IN; goto CFG_36437; CFG_36437: assume true; goto CFG_49824; CFG_49824: assume true; local_#15251 := 0; local_#15252 := 0; assert { :LIR "60917" } { :check "overflow" } { :finding_ids "0" } true; local_#15253 := local_#4284_ud; if (local_#15253 != { base : 0, offset : 0 }) { goto CFG_40362; } else { goto CFG_38234; } CFG_40362: assume true; local_#15254 := _memory_ptr[{ base : local_#4283_L!base, offset : local_#4283_L!offset + 24 }]; _memory_ptr[local_#4284_ud] := _memory_ptr[{ base : local_#15254!base, offset : local_#15254!offset + 8 }]; goto CFG_38234; CFG_38234: assume true; local_#15255 := _memory_ptr[{ base : local_#4283_L!base, offset : local_#4283_L!offset + 24 }]; local_#31745_f := _memory_ptr[{ base : local_#15255!base, offset : local_#15255!offset + 0 }]; local_#15256 := 0; local_#15257 := 0; assert { :LIR "60918" } { :check "overflow" } { :finding_ids "0" } true; local_#7861 := local_#31745_f; goto CFG_37348; CFG_37348: assume true; } procedure routine_#33930_lua_getfield(local_#4285_L_IN : { base : int, offset : int }, local_#4286_idx_IN : int, local_#4287_k_IN : { base : int, offset : int }) returns (local_#7862 : int) modifies _memory, _memory_ptr, _valid; { var local_#4285_L : { base : int, offset : int }; var local_#4286_idx : int; var local_#4287_k : { base : int, offset : int }; var local_#15258 : int; var local_#15259 : int; var local_#15260 : { base : int, offset : int }; var local_#15261 : { base : int, offset : int }; var local_#15262 : int; local_#4285_L := local_#4285_L_IN; local_#4286_idx := local_#4286_idx_IN; local_#4287_k := local_#4287_k_IN; goto CFG_36438; CFG_36438: assume true; goto CFG_42582; CFG_42582: assume true; local_#15258 := 0; local_#15259 := 0; assert { :LIR "60919" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46048; CFG_46048: assume true; call local_#15260 := routine_#34811_index2addr(local_#4285_L,local_#4286_idx); goto CFG_42583; CFG_42583: assume true; local_#15261 := local_#15260; assert { :LIR "62652" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46049; CFG_46049: assume true; call local_#15262 := routine_#34590_auxgetstr(local_#4285_L,local_#15261,local_#4287_k); goto CFG_38235; CFG_38235: assume true; local_#7862 := local_#15262; goto CFG_37349; CFG_37349: assume true; } procedure routine_#33931_lua_getglobal(local_#4288_L_IN : { base : int, offset : int }, local_#4289_name_IN : { base : int, offset : int }) returns (local_#7863 : int) modifies _memory, _memory_ptr, _valid; { var local_#4288_L : { base : int, offset : int }; var local_#4289_name : { base : int, offset : int }; var local_#15263 : { base : int, offset : int }; var local_#15264 : { base : int, offset : int }; var local_#15265 : { base : int, offset : int }; var local_#15266 : { base : int, offset : int }; var local_#31746_reg : { base : int, offset : int }; var local_#15267 : int; var local_#15268 : int; var local_#15269 : int; var local_#15270 : { base : int, offset : int }; var local_#15271 : int; local_#4288_L := local_#4288_L_IN; local_#4289_name := local_#4289_name_IN; goto CFG_36439; CFG_36439: assume true; goto CFG_42584; CFG_42584: assume true; local_#15263 := _memory_ptr[{ base : local_#4288_L!base, offset : local_#4288_L!offset + 24 }]; local_#15264 := { base : local_#15263!base, offset : local_#15263!offset + 64 }; local_#15265 := _memory_ptr[local_#15264]; assert { :LIR "60920" } { :check "overflow" } { :finding_ids "0" } true; local_#15266 := { base : local_#15265!base, offset : local_#15265!offset + 0 }; local_#31746_reg := local_#15266; local_#15267 := 0; local_#15268 := 0; assert { :LIR "60921" } { :check "overflow" } { :finding_ids "0" } true; local_#15269 := 2; goto CFG_46050; CFG_46050: assume true; call local_#15270 := routine_#33768_luaH_getint(local_#31746_reg,local_#15269); goto CFG_46051; CFG_46051: assume true; call local_#15271 := routine_#34590_auxgetstr(local_#4288_L,local_#15270,local_#4289_name); goto CFG_38236; CFG_38236: assume true; local_#7863 := local_#15271; goto CFG_37350; CFG_37350: assume true; } procedure routine_#33932_lua_gethook(local_#4290_L_IN : { base : int, offset : int }) returns (local_#7864 : { base : int, offset : int }) { var local_#4290_L : { base : int, offset : int }; local_#4290_L := local_#4290_L_IN; goto CFG_36440; CFG_36440: assume true; goto CFG_38237; CFG_38237: assume true; local_#7864 := _memory_ptr[{ base : local_#4290_L!base, offset : local_#4290_L!offset + 168 }]; goto CFG_37351; CFG_37351: assume true; } procedure routine_#33933_lua_gethookcount(local_#4291_L_IN : { base : int, offset : int }) returns (local_#7865 : int) { var local_#4291_L : { base : int, offset : int }; local_#4291_L := local_#4291_L_IN; goto CFG_36441; CFG_36441: assume true; goto CFG_38238; CFG_38238: assume true; local_#7865 := _memory[{ base : local_#4291_L!base, offset : local_#4291_L!offset + 188 }]; goto CFG_37352; CFG_37352: assume true; } procedure routine_#33934_lua_gethookmask(local_#4292_L_IN : { base : int, offset : int }) returns (local_#7866 : int) { var local_#4292_L : { base : int, offset : int }; local_#4292_L := local_#4292_L_IN; goto CFG_36442; CFG_36442: assume true; goto CFG_38239; CFG_38239: assume true; local_#7866 := _memory[{ base : local_#4292_L!base, offset : local_#4292_L!offset + 200 }]; goto CFG_37353; CFG_37353: assume true; } procedure routine_#33935_lua_geti(local_#4293_L_IN : { base : int, offset : int }, local_#4294_idx_IN : int, local_#4295_n_IN : int) returns (local_#7867 : int) modifies _memory, _memory_ptr, _valid; { var local_#4293_L : { base : int, offset : int }; var local_#4294_idx : int; var local_#4295_n : int; var local_#15272 : int; var local_#15273 : int; var local_#15274 : { base : int, offset : int }; var local_#31748_t : { base : int, offset : int }; var local_#15275 : int; var local_#15276 : int; var local_#15277 : int; var local_#15278 : { base : int, offset : int }; var local_#15279 : { base : int, offset : int }; var local_#15280 : { base : int, offset : int }; var local_#15281 : { base : int, offset : int }; var local_#31747_slot : { base : int, offset : int }; var local_#15282 : { base : int, offset : int }; var local_#15283 : int; var local_#15284 : int; var local_#15285 : int; var local_#15286 : int; var local_#15287 : { base : int, offset : int }; var local_#15288 : int; var local_#31750_io : { base : int, offset : int }; var local_#15289 : { base : int, offset : int }; var local_#15290 : { base : int, offset : int }; var local_#15291 : int; var local_#15292 : { base : int, offset : int }; var local_#15293 : int; var local_#15294 : int; var local_#15295 : { base : int, offset : int }; var local_#15296 : int; var local_#15297 : { base : int, offset : int }; var local_#15298 : int; var local_#15299 : { base : int, offset : int }; var local_#31749_io1 : { base : int, offset : int }; var local_#15300 : int; var local_#15301 : int; var local_#15302 : int; var local_#15303 : { base : int, offset : int }; var local_#15304 : int; var local_#15305 : { base : int, offset : int }; var local_#15306 : int; var local_#15307 : int; var local_#15308 : int; var local_#15309 : int; var local_#15310 : int; var local_#15311 : { base : int, offset : int }; var local_#15312 : int; var local_#15313 : int; local_#4293_L := local_#4293_L_IN; local_#4294_idx := local_#4294_idx_IN; local_#4295_n := local_#4295_n_IN; goto CFG_36443; CFG_36443: assume true; goto CFG_42585; CFG_42585: assume true; local_#15272 := 0; local_#15273 := 0; assert { :LIR "60922" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46052; CFG_46052: assume true; call local_#15274 := routine_#34811_index2addr(local_#4293_L,local_#4294_idx); goto CFG_49825; CFG_49825: assume true; local_#31748_t := local_#15274; local_#15275 := 69; local_#15276 := (if _memory[{ base : local_#31748_t!base, offset : local_#31748_t!offset + 8 }] == local_#15275 then 1 else 0); local_#15277 := (if local_#15276 != 0 then 0 else 1); if (local_#15277 != 0) { goto CFG_49827; } else { goto CFG_42586; } CFG_42586: assume true; local_#15278 := { base : local_#31748_t!base, offset : local_#31748_t!offset + 0 }; local_#15279 := _memory_ptr[local_#15278]; assert { :LIR "60923" } { :check "overflow" } { :finding_ids "0" } true; local_#15280 := { base : local_#15279!base, offset : local_#15279!offset + 0 }; goto CFG_46053; CFG_46053: assume true; call local_#15281 := routine_#33768_luaH_getint(local_#15280,local_#4295_n); goto CFG_49826; CFG_49826: assume true; local_#31747_slot := local_#15281; local_#15282 := local_#31747_slot; local_#15283 := 0; local_#15284 := (if _memory[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 8 }] == local_#15283 then 1 else 0); local_#15285 := (if local_#15284 != 0 then 0 else 1); local_#15286 := local_#15285; if (local_#15286 != 0) { goto CFG_40364; } else { goto CFG_42587; } CFG_49827: assume true; local_#31747_slot := { base : 0, offset : 0 }; local_#15287 := local_#31747_slot; local_#15288 := 0; if (local_#15288 != 0) { goto CFG_40364; } else { goto CFG_42587; } CFG_42587: assume true; local_#31750_io := _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]; local_#15289 := { base : local_#31750_io!base, offset : local_#31750_io!offset + 0 }; _memory[local_#15289] := local_#4295_n; _memory[{ base : local_#31750_io!base, offset : local_#31750_io!offset + 8 }] := 19; local_#15290 := _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]; local_#15291 := 1; _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }] := { base : local_#15290!base, offset : local_#15290!offset + local_#15291 * 16 }; local_#15292 := local_#15290; local_#15293 := 0; local_#15294 := 0; assert { :LIR "60924" } { :check "overflow" } { :finding_ids "0" } true; local_#15295 := local_#31748_t; assert { :LIR "62653" } { :check "overflow" } { :finding_ids "0" } true; local_#15296 := 1; local_#15297 := { base : _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]!offset - local_#15296 * 16 }; local_#15298 := 1; local_#15299 := { base : _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]!offset - local_#15298 * 16 }; goto CFG_46054; CFG_46054: assume true; call routine_#33896_luaV_finishget(local_#4293_L,local_#15295,local_#15297,local_#15299,local_#31747_slot); goto CFG_40363; CFG_40363: assume true; goto CFG_38240; CFG_40364: assume true; local_#31749_io1 := _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#31747_slot)!_value_!_b == _memory[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31747_slot)!_value_!_f == _memory_ptr[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31747_slot)!_value_!_gc == _memory_ptr[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31747_slot)!_value_!_i == _memory[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31747_slot)!_value_!_p == _memory_ptr[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31747_slot)!_tt_ == _memory[{ base : local_#31747_slot!base, offset : local_#31747_slot!offset + 8 }]; call write_type_#101(local_#31749_io1,read_type_#101(_memory, _memory_ptr, local_#31747_slot)); local_#15300 := 0; assert { :LIR "60925" } { :check "overflow" } { :finding_ids "0" } true; local_#15301 := 0; local_#15302 := 0; assert { :LIR "60926" } { :check "overflow" } { :finding_ids "0" } true; local_#15303 := _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]; local_#15304 := 1; _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }] := { base : local_#15303!base, offset : local_#15303!offset + local_#15304 * 16 }; local_#15305 := local_#15303; local_#15306 := 0; local_#15307 := 0; assert { :LIR "60927" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38240; CFG_38240: assume true; local_#15308 := 0; local_#15309 := 0; assert { :LIR "60928" } { :check "overflow" } { :finding_ids "0" } true; local_#15310 := 1; local_#15311 := { base : _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4293_L!base, offset : local_#4293_L!offset + 16 }]!offset - local_#15310 * 16 }; local_#15312 := 15; local_#15313 := ~sand32(_memory[{ base : local_#15311!base, offset : local_#15311!offset + 8 }], local_#15312); local_#7867 := local_#15313; goto CFG_37354; CFG_37354: assume true; } procedure routine_#33936_lua_getinfo(local_#4296_L_IN : { base : int, offset : int }, local_#4297_what_IN : { base : int, offset : int }, local_#4298_ar_IN : { base : int, offset : int }) returns (local_#7868 : int) modifies _memory, _memory_ptr, _valid; { var local_#4296_L : { base : int, offset : int }; var local_#4297_what : { base : int, offset : int }; var local_#4298_ar : { base : int, offset : int }; var local_#15314 : int; var local_#15315 : int; var local_#15316 : int; var local_#15317 : int; var local_#15318 : int; var local_#31751_ci : { base : int, offset : int }; var local_#31753_func : { base : int, offset : int }; var local_#15319 : int; var local_#15320 : int; var local_#15321 : int; var local_#15322 : { base : int, offset : int }; var local_#15323 : int; var local_#15324 : int; var local_#15325 : { base : int, offset : int }; var local_#15326 : int; var local_#15327 : { base : int, offset : int }; var local_#15328 : { base : int, offset : int }; var local_#15329 : int; var local_#15330 : { base : int, offset : int }; var local_#15331 : int; var local_#15332 : int; var local_#15333 : int; var local_#15334 : int; var local_#30692 : { base : int, offset : int }; var local_#15335 : { base : int, offset : int }; var local_#15336 : { base : int, offset : int }; var local_#15337 : { base : int, offset : int }; var local_#31752_cl : { base : int, offset : int }; var local_#15338 : int; var local_#31754_status : int; var local_#15339 : int; var local_#15340 : { base : int, offset : int }; var local_#15341 : { base : int, offset : int }; var local_#31755_io1 : { base : int, offset : int }; var local_#15342 : int; var local_#15343 : int; var local_#15344 : int; var local_#15345 : { base : int, offset : int }; var local_#15346 : int; var local_#15347 : { base : int, offset : int }; var local_#15348 : int; var local_#15349 : int; var local_#15350 : int; var local_#15351 : { base : int, offset : int }; var local_#15352 : { base : int, offset : int }; var local_#15353 : int; var local_#15354 : int; local_#4296_L := local_#4296_L_IN; local_#4297_what := local_#4297_what_IN; local_#4298_ar := local_#4298_ar_IN; goto CFG_36444; CFG_36444: assume true; goto CFG_42588; CFG_42588: assume true; local_#15314 := 0; local_#15315 := 0; assert { :LIR "60929" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46055; CFG_46055: assume true; call routine_#35103_swapextra(local_#4296_L); goto CFG_49828; CFG_49828: assume true; local_#15316 := _memory[local_#4297_what]; assert { :LIR "62654" } { :check "overflow" } { :finding_ids "0" } local_#15316 <= 2147483647; local_#15317 := 62; local_#15318 := (if local_#15316 == local_#15317 then 1 else 0); if (local_#15318 != 0) { goto CFG_40366; } else { goto CFG_40365; } CFG_40365: assume true; local_#31751_ci := _memory_ptr[{ base : local_#4298_ar!base, offset : local_#4298_ar!offset + 120 }]; local_#31753_func := _memory_ptr[{ base : local_#31751_ci!base, offset : local_#31751_ci!offset + 0 }]; local_#15319 := 0; local_#15320 := 0; assert { :LIR "60930" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49829; CFG_40366: assume true; local_#31751_ci := { base : 0, offset : 0 }; local_#15321 := 1; local_#15322 := { base : _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }]!offset - local_#15321 * 16 }; local_#31753_func := local_#15322; local_#15323 := 0; local_#15324 := 0; assert { :LIR "60931" } { :check "overflow" } { :finding_ids "0" } true; local_#15325 := local_#4297_what; local_#15326 := 1; local_#4297_what := { base : local_#15325!base, offset : local_#15325!offset + local_#15326 * 1 }; local_#15327 := local_#15325; local_#15328 := _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }]; local_#15329 := 1; _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }] := { base : local_#15328!base, offset : local_#15328!offset - local_#15329 * 16 }; local_#15330 := local_#15328; goto CFG_49829; CFG_49829: assume true; local_#15331 := 31; local_#15332 := ~sand32(_memory[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 8 }], local_#15331); local_#15333 := 6; local_#15334 := (if local_#15332 == local_#15333 then 1 else 0); if (local_#15334 != 0) { goto CFG_40368; } else { goto CFG_40367; } CFG_40367: assume true; local_#30692 := { base : 0, offset : 0 }; goto CFG_42589; CFG_40368: assume true; local_#15335 := { base : local_#31753_func!base, offset : local_#31753_func!offset + 0 }; local_#15336 := _memory_ptr[local_#15335]; assert { :LIR "60932" } { :check "overflow" } { :finding_ids "0" } true; local_#15337 := { base : local_#15336!base, offset : local_#15336!offset + 0 }; local_#30692 := local_#15337; goto CFG_42589; CFG_42589: assume true; local_#31752_cl := local_#30692; goto CFG_46056; CFG_46056: assume true; call local_#15338 := routine_#34589_auxgetinfo(local_#4296_L,local_#4297_what,local_#4298_ar,local_#31752_cl,local_#31751_ci); goto CFG_42590; CFG_42590: assume true; local_#31754_status := local_#15338; local_#15339 := 102; goto CFG_46057; CFG_46057: assume true; call local_#15340 := routine_#34445_strchr(local_#4297_what,local_#15339); goto CFG_49830; CFG_49830: assume true; local_#15341 := local_#15340; if (local_#15341 != { base : 0, offset : 0 }) { goto CFG_40369; } else { goto CFG_46058; } CFG_40369: assume true; local_#31755_io1 := _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#31753_func)!_value_!_b == _memory[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31753_func)!_value_!_f == _memory_ptr[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31753_func)!_value_!_gc == _memory_ptr[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31753_func)!_value_!_i == _memory[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31753_func)!_value_!_p == _memory_ptr[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31753_func)!_tt_ == _memory[{ base : local_#31753_func!base, offset : local_#31753_func!offset + 8 }]; call write_type_#101(local_#31755_io1,read_type_#101(_memory, _memory_ptr, local_#31753_func)); local_#15342 := 0; assert { :LIR "60933" } { :check "overflow" } { :finding_ids "0" } true; local_#15343 := 0; local_#15344 := 0; assert { :LIR "60934" } { :check "overflow" } { :finding_ids "0" } true; local_#15345 := _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }]; local_#15346 := 1; _memory_ptr[{ base : local_#4296_L!base, offset : local_#4296_L!offset + 16 }] := { base : local_#15345!base, offset : local_#15345!offset + local_#15346 * 16 }; local_#15347 := local_#15345; local_#15348 := 0; local_#15349 := 0; assert { :LIR "60935" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46058; CFG_46058: assume true; call routine_#35103_swapextra(local_#4296_L); goto CFG_42591; CFG_42591: assume true; local_#15350 := 76; goto CFG_46059; CFG_46059: assume true; call local_#15351 := routine_#34445_strchr(local_#4297_what,local_#15350); goto CFG_49831; CFG_49831: assume true; local_#15352 := local_#15351; if (local_#15352 != { base : 0, offset : 0 }) { goto CFG_46060; } else { goto CFG_38241; } CFG_46060: assume true; call routine_#34661_collectvalidlines(local_#4296_L,local_#31752_cl); goto CFG_40370; CFG_40370: assume true; goto CFG_38241; CFG_38241: assume true; local_#15353 := 0; local_#15354 := 0; assert { :LIR "60936" } { :check "overflow" } { :finding_ids "0" } true; local_#7868 := local_#31754_status; goto CFG_37355; CFG_37355: assume true; } procedure routine_#33937_lua_getlocal(local_#4299_L_IN : { base : int, offset : int }, local_#4300_ar_IN : { base : int, offset : int }, local_#4301_n_IN : int) returns (local_#7869 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#4299_L : { base : int, offset : int }; var local_#4300_ar : { base : int, offset : int }; var local_#4301_n : int; var local_#15355 : int; var local_#15356 : int; var local_#15357 : { base : int, offset : int }; var local_#15358 : int; var local_#31757_pos : { base : int, offset : int }; var local_#15359 : { base : int, offset : int }; var local_#15360 : { base : int, offset : int }; var local_#15361 : { base : int, offset : int }; var local_#31756_name : { base : int, offset : int }; var local_#15362 : { base : int, offset : int }; var local_#31758_io1 : { base : int, offset : int }; var local_#15363 : int; var local_#15364 : int; var local_#15365 : int; var local_#15366 : { base : int, offset : int }; var local_#15367 : int; var local_#15368 : { base : int, offset : int }; var local_#15369 : int; var local_#15370 : int; var local_#15371 : int; var local_#15372 : { base : int, offset : int }; var local_#15373 : int; var local_#15374 : int; var local_#15375 : int; var local_#15376 : int; var local_#15377 : { base : int, offset : int }; var local_#15378 : { base : int, offset : int }; var local_#15379 : { base : int, offset : int }; var local_#15380 : { base : int, offset : int }; var local_#15381 : { base : int, offset : int }; var local_#15382 : { base : int, offset : int }; var local_#15383 : int; var local_#15384 : { base : int, offset : int }; var local_#15385 : int; var local_#15386 : int; local_#4299_L := local_#4299_L_IN; local_#4300_ar := local_#4300_ar_IN; local_#4301_n := local_#4301_n_IN; goto CFG_36445; CFG_36445: assume true; goto CFG_42592; CFG_42592: assume true; local_#15355 := 0; local_#15356 := 0; assert { :LIR "60937" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46061; CFG_46061: assume true; call routine_#35103_swapextra(local_#4299_L); goto CFG_49832; CFG_49832: assume true; local_#15357 := { base : 0, offset : 0 }; local_#15358 := (if local_#4300_ar == local_#15357 then 1 else 0); if (local_#15358 != 0) { goto CFG_49834; } else { goto CFG_42593; } CFG_42593: assume true; _memory_ptr[local_#31757_pos] := { base : 0, offset : 0 }; local_#15359 := _memory_ptr[{ base : local_#4300_ar!base, offset : local_#4300_ar!offset + 120 }]; local_#15360 := local_#31757_pos; goto CFG_46062; CFG_46062: assume true; call local_#15361 := routine_#34747_findlocal(local_#4299_L,local_#15359,local_#4301_n,local_#15360); goto CFG_49833; CFG_49833: assume true; local_#31756_name := local_#15361; local_#15362 := local_#31756_name; if (local_#15362 != { base : 0, offset : 0 }) { goto CFG_40371; } else { goto CFG_40372; } CFG_40371: assume true; local_#31758_io1 := _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])!_value_!_b == _memory[{ base : _memory_ptr[local_#31757_pos]!base, offset : _memory_ptr[local_#31757_pos]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])!_value_!_f == _memory_ptr[{ base : _memory_ptr[local_#31757_pos]!base, offset : _memory_ptr[local_#31757_pos]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])!_value_!_gc == _memory_ptr[{ base : _memory_ptr[local_#31757_pos]!base, offset : _memory_ptr[local_#31757_pos]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])!_value_!_i == _memory[{ base : _memory_ptr[local_#31757_pos]!base, offset : _memory_ptr[local_#31757_pos]!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])!_value_!_p == _memory_ptr[{ base : _memory_ptr[local_#31757_pos]!base, offset : _memory_ptr[local_#31757_pos]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])!_tt_ == _memory[{ base : _memory_ptr[local_#31757_pos]!base, offset : _memory_ptr[local_#31757_pos]!offset + 8 }]; call write_type_#101(local_#31758_io1,read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31757_pos])); local_#15363 := 0; assert { :LIR "60938" } { :check "overflow" } { :finding_ids "0" } true; local_#15364 := 0; local_#15365 := 0; assert { :LIR "60939" } { :check "overflow" } { :finding_ids "0" } true; local_#15366 := _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }]; local_#15367 := 1; _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }] := { base : local_#15366!base, offset : local_#15366!offset + local_#15367 * 16 }; local_#15368 := local_#15366; local_#15369 := 0; local_#15370 := 0; assert { :LIR "60940" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40372; CFG_40372: assume true; goto CFG_46064; CFG_49834: assume true; local_#15371 := 1; local_#15372 := { base : _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }]!offset - local_#15371 * 16 }; local_#15373 := 70; local_#15374 := (if _memory[{ base : local_#15372!base, offset : local_#15372!offset + 8 }] == local_#15373 then 1 else 0); local_#15375 := (if local_#15374 != 0 then 0 else 1); if (local_#15375 != 0) { goto CFG_40374; } else { goto CFG_42594; } CFG_42594: assume true; local_#15376 := 1; local_#15377 := { base : _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4299_L!base, offset : local_#4299_L!offset + 16 }]!offset - local_#15376 * 16 }; local_#15378 := { base : local_#15377!base, offset : local_#15377!offset + 0 }; local_#15379 := _memory_ptr[local_#15378]; assert { :LIR "60941" } { :check "overflow" } { :finding_ids "0" } true; local_#15380 := { base : local_#15379!base, offset : local_#15379!offset + 0 }; local_#15381 := { base : local_#15380!base, offset : local_#15380!offset + 0 }; local_#15382 := _memory_ptr[{ base : local_#15381!base, offset : local_#15381!offset + 24 }]; assert { :LIR "62655" } { :check "overflow" } { :finding_ids "0" } true; local_#15383 := 0; goto CFG_46063; CFG_46063: assume true; call local_#15384 := routine_#33752_luaF_getlocalname(local_#15382,local_#4301_n,local_#15383); goto CFG_40373; CFG_40373: assume true; local_#31756_name := local_#15384; goto CFG_40375; CFG_40374: assume true; local_#31756_name := { base : 0, offset : 0 }; goto CFG_40375; CFG_40375: assume true; goto CFG_46064; CFG_46064: assume true; call routine_#35103_swapextra(local_#4299_L); goto CFG_38242; CFG_38242: assume true; local_#15385 := 0; local_#15386 := 0; assert { :LIR "60942" } { :check "overflow" } { :finding_ids "0" } true; local_#7869 := local_#31756_name; goto CFG_37356; CFG_37356: assume true; } procedure routine_#33938_lua_getmetatable(local_#4302_L_IN : { base : int, offset : int }, local_#4303_objindex_IN : int) returns (local_#7870 : int) modifies _memory, _memory_ptr; { var local_#4302_L : { base : int, offset : int }; var local_#4303_objindex : int; var local_#31761_res : int; var local_#15387 : int; var local_#15388 : int; var local_#15389 : { base : int, offset : int }; var local_#15390 : { base : int, offset : int }; var local_#31760_obj : { base : int, offset : int }; var local_#15391 : int; var local_#15392 : int; var local_#15393 : { base : int, offset : int }; var local_#15394 : { base : int, offset : int }; var local_#15395 : int; var local_#15396 : int; var local_#15397 : { base : int, offset : int }; var local_#31759_mt : { base : int, offset : int }; var local_#15398 : { base : int, offset : int }; var local_#15399 : { base : int, offset : int }; var local_#15400 : { base : int, offset : int }; var local_#15401 : { base : int, offset : int }; var local_#15402 : { base : int, offset : int }; var local_#15403 : { base : int, offset : int }; var local_#15404 : { base : int, offset : int }; var local_#15405 : int; var local_#31762_io : { base : int, offset : int }; var local_#31763_x_ : { base : int, offset : int }; var local_#15406 : { base : int, offset : int }; var local_#15407 : { base : int, offset : int }; var local_#15408 : { base : int, offset : int }; var local_#15409 : int; var local_#15410 : int; var local_#15411 : { base : int, offset : int }; var local_#15412 : int; var local_#15413 : { base : int, offset : int }; var local_#15414 : int; var local_#15415 : int; var local_#15416 : int; var local_#15417 : int; local_#4302_L := local_#4302_L_IN; local_#4303_objindex := local_#4303_objindex_IN; goto CFG_36446; CFG_36446: assume true; goto CFG_42595; CFG_42595: assume true; local_#31761_res := 0; local_#15387 := 0; local_#15388 := 0; assert { :LIR "60943" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46065; CFG_46065: assume true; call local_#15389 := routine_#34811_index2addr(local_#4302_L,local_#4303_objindex); goto CFG_51520; CFG_51520: assume true; local_#15390 := local_#15389; assert { :LIR "62656" } { :check "overflow" } { :finding_ids "0" } true; local_#31760_obj := local_#15390; local_#15391 := 15; local_#15392 := ~sand32(_memory[{ base : local_#31760_obj!base, offset : local_#31760_obj!offset + 8 }], local_#15391); if (local_#15392 == 5) { goto CFG_39573; } if (local_#15392 == 7) { goto CFG_39572; } goto CFG_39571; CFG_39571: assume true; local_#15393 := _memory_ptr[{ base : local_#4302_L!base, offset : local_#4302_L!offset + 24 }]; local_#15394 := { base : local_#15393!base, offset : local_#15393!offset + 416 }; local_#15395 := 15; local_#15396 := ~sand32(_memory[{ base : local_#31760_obj!base, offset : local_#31760_obj!offset + 8 }], local_#15395); local_#15397 := { base : local_#15394!base, offset : local_#15394!offset + 0 * 8 + local_#15396 * 8 }; local_#31759_mt := _memory_ptr[local_#15397]; goto CFG_49835; CFG_39572: assume true; local_#15398 := { base : local_#31760_obj!base, offset : local_#31760_obj!offset + 0 }; local_#15399 := _memory_ptr[local_#15398]; assert { :LIR "60944" } { :check "overflow" } { :finding_ids "0" } true; local_#15400 := { base : local_#15399!base, offset : local_#15399!offset + 0 }; local_#31759_mt := _memory_ptr[{ base : local_#15400!base, offset : local_#15400!offset + 16 }]; goto CFG_49835; CFG_39573: assume true; local_#15401 := { base : local_#31760_obj!base, offset : local_#31760_obj!offset + 0 }; local_#15402 := _memory_ptr[local_#15401]; assert { :LIR "60945" } { :check "overflow" } { :finding_ids "0" } true; local_#15403 := { base : local_#15402!base, offset : local_#15402!offset + 0 }; local_#31759_mt := _memory_ptr[{ base : local_#15403!base, offset : local_#15403!offset + 40 }]; goto CFG_49835; CFG_49835: assume true; local_#15404 := { base : 0, offset : 0 }; local_#15405 := (if local_#31759_mt != local_#15404 then 1 else 0); if (local_#15405 != 0) { goto CFG_40376; } else { goto CFG_38243; } CFG_40376: assume true; local_#31762_io := _memory_ptr[{ base : local_#4302_L!base, offset : local_#4302_L!offset + 16 }]; local_#31763_x_ := local_#31759_mt; local_#15406 := local_#31763_x_; assert { :LIR "60946" } { :check "overflow" } { :finding_ids "0" } true; local_#15407 := { base : local_#15406!base, offset : local_#15406!offset + 0 }; local_#15408 := { base : local_#31762_io!base, offset : local_#31762_io!offset + 0 }; _memory_ptr[local_#15408] := local_#15407; _memory[{ base : local_#31762_io!base, offset : local_#31762_io!offset + 8 }] := 69; local_#15409 := 0; local_#15410 := 0; assert { :LIR "60947" } { :check "overflow" } { :finding_ids "0" } true; local_#15411 := _memory_ptr[{ base : local_#4302_L!base, offset : local_#4302_L!offset + 16 }]; local_#15412 := 1; _memory_ptr[{ base : local_#4302_L!base, offset : local_#4302_L!offset + 16 }] := { base : local_#15411!base, offset : local_#15411!offset + local_#15412 * 16 }; local_#15413 := local_#15411; local_#15414 := 0; local_#15415 := 0; assert { :LIR "60948" } { :check "overflow" } { :finding_ids "0" } true; local_#31761_res := 1; goto CFG_38243; CFG_38243: assume true; local_#15416 := 0; local_#15417 := 0; assert { :LIR "60949" } { :check "overflow" } { :finding_ids "0" } true; local_#7870 := local_#31761_res; goto CFG_37357; CFG_41923: assume true; goto CFG_49835; CFG_37357: assume true; } procedure routine_#33939_lua_getstack(local_#4304_L_IN : { base : int, offset : int }, local_#4305_level_IN : int, local_#4306_ar_IN : { base : int, offset : int }) returns (local_#7871 : int) modifies _memory_ptr; { var local_#4304_L : { base : int, offset : int }; var local_#4305_level : int; var local_#4306_ar : { base : int, offset : int }; var local_#15418 : int; var local_#15419 : int; var local_#15420 : int; var local_#15421 : int; var local_#31764_ci : { base : int, offset : int }; var local_#15422 : int; var local_#15423 : int; var local_#15424 : int; var local_#15425 : int; var local_#15426 : int; var local_#15427 : int; var local_#31765_status : int; var local_#15428 : int; var local_#15429 : int; var local_#15430 : int; var local_#15431 : int; var local_#15432 : int; var local_#15433 : { base : int, offset : int }; local_#4304_L := local_#4304_L_IN; local_#4305_level := local_#4305_level_IN; local_#4306_ar := local_#4306_ar_IN; goto CFG_36447; CFG_36447: assume true; goto CFG_49836; CFG_49836: assume true; local_#15418 := 0; local_#15419 := (if local_#4305_level < local_#15418 then 1 else 0); if (local_#15419 != 0) { goto CFG_38245; } else { goto CFG_41672; } CFG_41672: assume true; local_#15420 := 0; local_#15421 := 0; assert { :LIR "60950" } { :check "overflow" } { :finding_ids "0" } true; local_#31764_ci := _memory_ptr[{ base : local_#4304_L!base, offset : local_#4304_L!offset + 32 }]; goto CFG_49837; CFG_49837: assume true; local_#15422 := 0; local_#15423 := (if local_#4305_level > local_#15422 then 1 else 0); if (local_#15423 != 0) { goto CFG_49838; } else { goto CFG_49839; } CFG_49838: assume true; local_#15424 := (if local_#31764_ci != { base : local_#4304_L!base, offset : local_#4304_L!offset + 96 } then 1 else 0); if (local_#15424 != 0) { goto CFG_42596; } else { goto CFG_49839; } CFG_49839: assume true; local_#15425 := 0; local_#15426 := (if local_#4305_level == local_#15425 then 1 else 0); if (local_#15426 != 0) { goto CFG_49840; } else { goto CFG_40377; } CFG_49840: assume true; local_#15427 := (if local_#31764_ci != { base : local_#4304_L!base, offset : local_#4304_L!offset + 96 } then 1 else 0); if (local_#15427 != 0) { goto CFG_40378; } else { goto CFG_40377; } CFG_40377: assume true; local_#31765_status := 0; goto CFG_38244; CFG_40378: assume true; local_#31765_status := 1; _memory_ptr[{ base : local_#4306_ar!base, offset : local_#4306_ar!offset + 120 }] := local_#31764_ci; goto CFG_38244; CFG_38244: assume true; local_#15428 := 0; local_#15429 := 0; assert { :LIR "60951" } { :check "overflow" } { :finding_ids "0" } true; local_#7871 := local_#31765_status; goto CFG_37358; CFG_42596: assume true; local_#15430 := local_#4305_level; local_#15431 := 1; local_#4305_level := local_#15430 - local_#15431; assert { :LIR "67956" } { :check "overflow" } { :finding_ids "0" } local_#4305_level <= 2147483647; local_#15432 := local_#15430; goto CFG_45013; CFG_45013: assume true; local_#31764_ci := _memory_ptr[{ base : local_#31764_ci!base, offset : local_#31764_ci!offset + 16 }]; local_#15433 := local_#31764_ci; goto CFG_49837; CFG_38245: assume true; local_#7871 := 0; goto CFG_37358; CFG_37358: assume true; } procedure routine_#33940_lua_gettable(local_#4307_L_IN : { base : int, offset : int }, local_#4308_idx_IN : int) returns (local_#7872 : int) modifies _memory, _memory_ptr, _valid; { var local_#4307_L : { base : int, offset : int }; var local_#4308_idx : int; var local_#15434 : int; var local_#15435 : int; var local_#15436 : { base : int, offset : int }; var local_#31766_t : { base : int, offset : int }; var local_#15437 : int; var local_#15438 : int; var local_#15439 : int; var local_#15440 : { base : int, offset : int }; var local_#15441 : { base : int, offset : int }; var local_#15442 : { base : int, offset : int }; var local_#15443 : int; var local_#15444 : { base : int, offset : int }; var local_#15445 : { base : int, offset : int }; var local_#15446 : { base : int, offset : int }; var local_#31767_slot : { base : int, offset : int }; var local_#15447 : { base : int, offset : int }; var local_#15448 : int; var local_#15449 : int; var local_#15450 : int; var local_#15451 : int; var local_#15452 : { base : int, offset : int }; var local_#15453 : int; var local_#15454 : { base : int, offset : int }; var local_#15455 : int; var local_#15456 : { base : int, offset : int }; var local_#15457 : int; var local_#15458 : { base : int, offset : int }; var local_#15459 : int; var local_#15460 : { base : int, offset : int }; var local_#31768_io1 : { base : int, offset : int }; var local_#15461 : int; var local_#15462 : int; var local_#15463 : int; var local_#15464 : int; var local_#15465 : int; var local_#15466 : int; var local_#15467 : { base : int, offset : int }; var local_#15468 : int; var local_#15469 : int; local_#4307_L := local_#4307_L_IN; local_#4308_idx := local_#4308_idx_IN; goto CFG_36448; CFG_36448: assume true; goto CFG_42597; CFG_42597: assume true; local_#15434 := 0; local_#15435 := 0; assert { :LIR "60952" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46066; CFG_46066: assume true; call local_#15436 := routine_#34811_index2addr(local_#4307_L,local_#4308_idx); goto CFG_49841; CFG_49841: assume true; local_#31766_t := local_#15436; local_#15437 := 69; local_#15438 := (if _memory[{ base : local_#31766_t!base, offset : local_#31766_t!offset + 8 }] == local_#15437 then 1 else 0); local_#15439 := (if local_#15438 != 0 then 0 else 1); if (local_#15439 != 0) { goto CFG_49843; } else { goto CFG_42598; } CFG_42598: assume true; local_#15440 := { base : local_#31766_t!base, offset : local_#31766_t!offset + 0 }; local_#15441 := _memory_ptr[local_#15440]; assert { :LIR "60953" } { :check "overflow" } { :finding_ids "0" } true; local_#15442 := { base : local_#15441!base, offset : local_#15441!offset + 0 }; local_#15443 := 1; local_#15444 := { base : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!offset - local_#15443 * 16 }; local_#15445 := local_#15444; assert { :LIR "62657" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46067; CFG_46067: assume true; call local_#15446 := routine_#33767_luaH_get(local_#15442,local_#15445); goto CFG_49842; CFG_49842: assume true; local_#31767_slot := local_#15446; local_#15447 := local_#31767_slot; local_#15448 := 0; local_#15449 := (if _memory[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 8 }] == local_#15448 then 1 else 0); local_#15450 := (if local_#15449 != 0 then 0 else 1); local_#15451 := local_#15450; if (local_#15451 != 0) { goto CFG_40380; } else { goto CFG_42599; } CFG_49843: assume true; local_#31767_slot := { base : 0, offset : 0 }; local_#15452 := local_#31767_slot; local_#15453 := 0; if (local_#15453 != 0) { goto CFG_40380; } else { goto CFG_42599; } CFG_42599: assume true; local_#15454 := local_#31766_t; assert { :LIR "62658" } { :check "overflow" } { :finding_ids "0" } true; local_#15455 := 1; local_#15456 := { base : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!offset - local_#15455 * 16 }; local_#15457 := 1; local_#15458 := { base : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!offset - local_#15457 * 16 }; goto CFG_46068; CFG_46068: assume true; call routine_#33896_luaV_finishget(local_#4307_L,local_#15454,local_#15456,local_#15458,local_#31767_slot); goto CFG_40379; CFG_40379: assume true; goto CFG_38246; CFG_40380: assume true; local_#15459 := 1; local_#15460 := { base : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!offset - local_#15459 * 16 }; local_#31768_io1 := local_#15460; assume read_type_#101(_memory, _memory_ptr, local_#31767_slot)!_value_!_b == _memory[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31767_slot)!_value_!_f == _memory_ptr[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31767_slot)!_value_!_gc == _memory_ptr[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31767_slot)!_value_!_i == _memory[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31767_slot)!_value_!_p == _memory_ptr[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31767_slot)!_tt_ == _memory[{ base : local_#31767_slot!base, offset : local_#31767_slot!offset + 8 }]; call write_type_#101(local_#31768_io1,read_type_#101(_memory, _memory_ptr, local_#31767_slot)); local_#15461 := 0; assert { :LIR "60954" } { :check "overflow" } { :finding_ids "0" } true; local_#15462 := 0; local_#15463 := 0; assert { :LIR "60955" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38246; CFG_38246: assume true; local_#15464 := 0; local_#15465 := 0; assert { :LIR "60956" } { :check "overflow" } { :finding_ids "0" } true; local_#15466 := 1; local_#15467 := { base : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4307_L!base, offset : local_#4307_L!offset + 16 }]!offset - local_#15466 * 16 }; local_#15468 := 15; local_#15469 := ~sand32(_memory[{ base : local_#15467!base, offset : local_#15467!offset + 8 }], local_#15468); local_#7872 := local_#15469; goto CFG_37359; CFG_37359: assume true; } procedure routine_#33941_lua_gettop(local_#4309_L_IN : { base : int, offset : int }) returns (local_#7873 : int) { var local_#4309_L : { base : int, offset : int }; var local_#15470 : { base : int, offset : int }; var local_#15471 : int; var local_#15472 : { base : int, offset : int }; var local_#15473 : int; var local_#15474 : int; local_#4309_L := local_#4309_L_IN; goto CFG_36449; CFG_36449: assume true; goto CFG_38247; CFG_38247: assume true; local_#15470 := _memory_ptr[{ base : local_#4309_L!base, offset : local_#4309_L!offset + 32 }]; local_#15471 := 1; local_#15472 := { base : _memory_ptr[{ base : local_#15470!base, offset : local_#15470!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#15470!base, offset : local_#15470!offset + 0 }]!offset + local_#15471 * 16 }; local_#15473 := (_memory_ptr[{ base : local_#4309_L!base, offset : local_#4309_L!offset + 16 }]!offset - local_#15472!offset) / 16; local_#15474 := local_#15473; assert { :LIR "60957" } { :check "overflow" } { :finding_ids "0" } local_#15474 <= 2147483647; local_#7873 := local_#15474; goto CFG_37360; CFG_37360: assume true; } procedure routine_#33942_lua_getupvalue(local_#4310_L_IN : { base : int, offset : int }, local_#4311_funcindex_IN : int, local_#4312_n_IN : int) returns (local_#7874 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#4310_L : { base : int, offset : int }; var local_#4311_funcindex : int; var local_#4312_n : int; var local_#31770_val : { base : int, offset : int }; var local_#15475 : int; var local_#15476 : int; var local_#15477 : { base : int, offset : int }; var local_#15478 : { base : int, offset : int }; var local_#15479 : { base : int, offset : int }; var local_#15480 : { base : int, offset : int }; var local_#15481 : { base : int, offset : int }; var local_#31769_name : { base : int, offset : int }; var local_#15482 : { base : int, offset : int }; var local_#31771_io1 : { base : int, offset : int }; var local_#15483 : int; var local_#15484 : int; var local_#15485 : int; var local_#15486 : { base : int, offset : int }; var local_#15487 : int; var local_#15488 : { base : int, offset : int }; var local_#15489 : int; var local_#15490 : int; var local_#15491 : int; var local_#15492 : int; local_#4310_L := local_#4310_L_IN; local_#4311_funcindex := local_#4311_funcindex_IN; local_#4312_n := local_#4312_n_IN; goto CFG_36450; CFG_36450: assume true; goto CFG_42600; CFG_42600: assume true; _memory_ptr[local_#31770_val] := { base : 0, offset : 0 }; local_#15475 := 0; local_#15476 := 0; assert { :LIR "60958" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46069; CFG_46069: assume true; call local_#15477 := routine_#34811_index2addr(local_#4310_L,local_#4311_funcindex); goto CFG_42601; CFG_42601: assume true; local_#15478 := local_#31770_val; local_#15479 := { base : 0, offset : 0 }; local_#15480 := { base : 0, offset : 0 }; goto CFG_46070; CFG_46070: assume true; call local_#15481 := routine_#34588_aux_upvalue(local_#15477,local_#4312_n,local_#15478,local_#15479,local_#15480); goto CFG_49844; CFG_49844: assume true; local_#31769_name := local_#15481; local_#15482 := local_#31769_name; if (local_#15482 != { base : 0, offset : 0 }) { goto CFG_40381; } else { goto CFG_38248; } CFG_40381: assume true; local_#31771_io1 := _memory_ptr[{ base : local_#4310_L!base, offset : local_#4310_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])!_value_!_b == _memory[{ base : _memory_ptr[local_#31770_val]!base, offset : _memory_ptr[local_#31770_val]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])!_value_!_f == _memory_ptr[{ base : _memory_ptr[local_#31770_val]!base, offset : _memory_ptr[local_#31770_val]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])!_value_!_gc == _memory_ptr[{ base : _memory_ptr[local_#31770_val]!base, offset : _memory_ptr[local_#31770_val]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])!_value_!_i == _memory[{ base : _memory_ptr[local_#31770_val]!base, offset : _memory_ptr[local_#31770_val]!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])!_value_!_p == _memory_ptr[{ base : _memory_ptr[local_#31770_val]!base, offset : _memory_ptr[local_#31770_val]!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])!_tt_ == _memory[{ base : _memory_ptr[local_#31770_val]!base, offset : _memory_ptr[local_#31770_val]!offset + 8 }]; call write_type_#101(local_#31771_io1,read_type_#101(_memory, _memory_ptr, _memory_ptr[local_#31770_val])); local_#15483 := 0; assert { :LIR "60959" } { :check "overflow" } { :finding_ids "0" } true; local_#15484 := 0; local_#15485 := 0; assert { :LIR "60960" } { :check "overflow" } { :finding_ids "0" } true; local_#15486 := _memory_ptr[{ base : local_#4310_L!base, offset : local_#4310_L!offset + 16 }]; local_#15487 := 1; _memory_ptr[{ base : local_#4310_L!base, offset : local_#4310_L!offset + 16 }] := { base : local_#15486!base, offset : local_#15486!offset + local_#15487 * 16 }; local_#15488 := local_#15486; local_#15489 := 0; local_#15490 := 0; assert { :LIR "60961" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38248; CFG_38248: assume true; local_#15491 := 0; local_#15492 := 0; assert { :LIR "60962" } { :check "overflow" } { :finding_ids "0" } true; local_#7874 := local_#31769_name; goto CFG_37361; CFG_37361: assume true; } procedure routine_#33943_lua_getuservalue(local_#4313_L_IN : { base : int, offset : int }, local_#4314_idx_IN : int) returns (local_#7875 : int) modifies _memory, _memory_ptr; { var local_#4313_L : { base : int, offset : int }; var local_#4314_idx : int; var local_#15493 : int; var local_#15494 : int; var local_#15495 : { base : int, offset : int }; var local_#31772_o : { base : int, offset : int }; var local_#15496 : int; var local_#15497 : int; var local_#31773_io : { base : int, offset : int }; var local_#15498 : { base : int, offset : int }; var local_#15499 : { base : int, offset : int }; var local_#15500 : { base : int, offset : int }; var local_#15501 : { base : int, offset : int }; var local_#31774_iu : { base : int, offset : int }; var local_#15502 : int; var local_#15503 : int; var local_#15504 : int; var local_#15505 : { base : int, offset : int }; var local_#15506 : int; var local_#15507 : { base : int, offset : int }; var local_#15508 : int; var local_#15509 : int; var local_#15510 : int; var local_#15511 : int; var local_#15512 : int; var local_#15513 : { base : int, offset : int }; var local_#15514 : int; var local_#15515 : int; local_#4313_L := local_#4313_L_IN; local_#4314_idx := local_#4314_idx_IN; goto CFG_36451; CFG_36451: assume true; goto CFG_42602; CFG_42602: assume true; local_#15493 := 0; local_#15494 := 0; assert { :LIR "60963" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46071; CFG_46071: assume true; call local_#15495 := routine_#34811_index2addr(local_#4313_L,local_#4314_idx); goto CFG_38249; CFG_38249: assume true; local_#31772_o := local_#15495; local_#15496 := 0; local_#15497 := 0; assert { :LIR "60964" } { :check "overflow" } { :finding_ids "0" } true; local_#31773_io := _memory_ptr[{ base : local_#4313_L!base, offset : local_#4313_L!offset + 16 }]; local_#15498 := { base : local_#31772_o!base, offset : local_#31772_o!offset + 0 }; local_#15499 := _memory_ptr[local_#15498]; assert { :LIR "60965" } { :check "overflow" } { :finding_ids "0" } true; local_#15500 := { base : local_#15499!base, offset : local_#15499!offset + 0 }; local_#15501 := local_#15500; assert { :LIR "62659" } { :check "overflow" } { :finding_ids "0" } true; local_#31774_iu := local_#15501; assume read_type_#120(_memory, _memory_ptr, { base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 })!_b == _memory[{ base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 })!_f == _memory_ptr[{ base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 })!_gc == _memory_ptr[{ base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 })!_i == _memory[{ base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, { base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 })!_p == _memory_ptr[{ base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 + 0 }]; call write_type_#120({ base : local_#31773_io!base, offset : local_#31773_io!offset + 0 },read_type_#120(_memory, _memory_ptr, { base : local_#31774_iu!base, offset : local_#31774_iu!offset + 32 })); local_#15502 := _memory[{ base : local_#31774_iu!base, offset : local_#31774_iu!offset + 10 }]; assert { :LIR "62660" } { :check "overflow" } { :finding_ids "0" } local_#15502 <= 2147483647; _memory[{ base : local_#31773_io!base, offset : local_#31773_io!offset + 8 }] := local_#15502; local_#15503 := 0; local_#15504 := 0; assert { :LIR "60966" } { :check "overflow" } { :finding_ids "0" } true; local_#15505 := _memory_ptr[{ base : local_#4313_L!base, offset : local_#4313_L!offset + 16 }]; local_#15506 := 1; _memory_ptr[{ base : local_#4313_L!base, offset : local_#4313_L!offset + 16 }] := { base : local_#15505!base, offset : local_#15505!offset + local_#15506 * 16 }; local_#15507 := local_#15505; local_#15508 := 0; local_#15509 := 0; assert { :LIR "60967" } { :check "overflow" } { :finding_ids "0" } true; local_#15510 := 0; local_#15511 := 0; assert { :LIR "60968" } { :check "overflow" } { :finding_ids "0" } true; local_#15512 := 1; local_#15513 := { base : _memory_ptr[{ base : local_#4313_L!base, offset : local_#4313_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4313_L!base, offset : local_#4313_L!offset + 16 }]!offset - local_#15512 * 16 }; local_#15514 := 15; local_#15515 := ~sand32(_memory[{ base : local_#15513!base, offset : local_#15513!offset + 8 }], local_#15514); local_#7875 := local_#15515; goto CFG_37362; CFG_37362: assume true; } procedure routine_#33944_lua_iscfunction(local_#4315_L_IN : { base : int, offset : int }, local_#4316_idx_IN : int) returns (local_#7876 : int) { var local_#4315_L : { base : int, offset : int }; var local_#4316_idx : int; var local_#15516 : { base : int, offset : int }; var local_#31775_o : { base : int, offset : int }; var local_#15517 : int; var local_#15518 : int; var local_#15519 : int; var local_#15520 : int; var local_#30693 : int; local_#4315_L := local_#4315_L_IN; local_#4316_idx := local_#4316_idx_IN; goto CFG_36452; CFG_36452: assume true; goto CFG_46072; CFG_46072: assume true; call local_#15516 := routine_#34811_index2addr(local_#4315_L,local_#4316_idx); goto CFG_49845; CFG_49845: assume true; local_#31775_o := local_#15516; local_#15517 := 22; local_#15518 := (if _memory[{ base : local_#31775_o!base, offset : local_#31775_o!offset + 8 }] == local_#15517 then 1 else 0); if (local_#15518 != 0) { goto CFG_40383; } else { goto CFG_49846; } CFG_49846: assume true; local_#15519 := 102; local_#15520 := (if _memory[{ base : local_#31775_o!base, offset : local_#31775_o!offset + 8 }] == local_#15519 then 1 else 0); if (local_#15520 != 0) { goto CFG_40383; } else { goto CFG_40382; } CFG_40382: assume true; local_#30693 := 0; goto CFG_38250; CFG_40383: assume true; local_#30693 := 1; goto CFG_38250; CFG_38250: assume true; local_#7876 := local_#30693; goto CFG_37363; CFG_37363: assume true; } procedure routine_#33945_lua_isinteger(local_#4317_L_IN : { base : int, offset : int }, local_#4318_idx_IN : int) returns (local_#7877 : int) { var local_#4317_L : { base : int, offset : int }; var local_#4318_idx : int; var local_#15521 : { base : int, offset : int }; var local_#31776_o : { base : int, offset : int }; var local_#15522 : int; var local_#15523 : int; local_#4317_L := local_#4317_L_IN; local_#4318_idx := local_#4318_idx_IN; goto CFG_36453; CFG_36453: assume true; goto CFG_46073; CFG_46073: assume true; call local_#15521 := routine_#34811_index2addr(local_#4317_L,local_#4318_idx); goto CFG_38251; CFG_38251: assume true; local_#31776_o := local_#15521; local_#15522 := 19; local_#15523 := (if _memory[{ base : local_#31776_o!base, offset : local_#31776_o!offset + 8 }] == local_#15522 then 1 else 0); local_#7877 := local_#15523; goto CFG_37364; CFG_37364: assume true; } procedure routine_#33946_lua_isnumber(local_#4319_L_IN : { base : int, offset : int }, local_#4320_idx_IN : int) returns (local_#7878 : int) modifies _memory, _memory_ptr; { var local_#4319_L : { base : int, offset : int }; var local_#4320_idx : int; var local_#15524 : { base : int, offset : int }; var local_#15525 : { base : int, offset : int }; var local_#31778_o : { base : int, offset : int }; var local_#15526 : int; var local_#15527 : int; var local_#31777_n : { base : int, offset : int }; var local_#15528 : { base : int, offset : int }; var local_#15529 : int; var local_#30694 : int; var local_#15530 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#15531 : int; local_#4319_L := local_#4319_L_IN; local_#4320_idx := local_#4320_idx_IN; goto CFG_36454; CFG_36454: assume true; goto CFG_46074; CFG_46074: assume true; call local_#15524 := routine_#34811_index2addr(local_#4319_L,local_#4320_idx); goto CFG_49847; CFG_49847: assume true; local_#15525 := local_#15524; assert { :LIR "62661" } { :check "overflow" } { :finding_ids "0" } true; local_#31778_o := local_#15525; local_#15526 := 3; local_#15527 := (if _memory[{ base : local_#31778_o!base, offset : local_#31778_o!offset + 8 }] == local_#15526 then 1 else 0); if (local_#15527 != 0) { goto CFG_40385; } else { goto CFG_42603; } CFG_42603: assume true; local_#15528 := local_#31777_n; goto CFG_46075; CFG_46075: assume true; call local_#15529 := routine_#33904_luaV_tonumber_(local_#31778_o,local_#15528); goto CFG_40384; CFG_40384: assume true; local_#30694 := local_#15529; goto CFG_38252; CFG_40385: assume true; local_#15530 := { base : local_#31778_o!base, offset : local_#31778_o!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#15531 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#30694 := 1; goto CFG_38252; CFG_38252: assume true; local_#7878 := local_#30694; goto CFG_37365; CFG_37365: assume true; } procedure routine_#33947_lua_isstring(local_#4321_L_IN : { base : int, offset : int }, local_#4322_idx_IN : int) returns (local_#7879 : int) { var local_#4321_L : { base : int, offset : int }; var local_#4322_idx : int; var local_#15532 : { base : int, offset : int }; var local_#15533 : { base : int, offset : int }; var local_#31779_o : { base : int, offset : int }; var local_#15534 : int; var local_#15535 : int; var local_#15536 : int; var local_#15537 : int; var local_#15538 : int; var local_#15539 : int; var local_#15540 : int; var local_#15541 : int; var local_#30695 : int; local_#4321_L := local_#4321_L_IN; local_#4322_idx := local_#4322_idx_IN; goto CFG_36455; CFG_36455: assume true; goto CFG_46076; CFG_46076: assume true; call local_#15532 := routine_#34811_index2addr(local_#4321_L,local_#4322_idx); goto CFG_49848; CFG_49848: assume true; local_#15533 := local_#15532; assert { :LIR "62662" } { :check "overflow" } { :finding_ids "0" } true; local_#31779_o := local_#15533; local_#15534 := 15; local_#15535 := ~sand32(_memory[{ base : local_#31779_o!base, offset : local_#31779_o!offset + 8 }], local_#15534); local_#15536 := 4; local_#15537 := (if local_#15535 == local_#15536 then 1 else 0); if (local_#15537 != 0) { goto CFG_40387; } else { goto CFG_49849; } CFG_49849: assume true; local_#15538 := 15; local_#15539 := ~sand32(_memory[{ base : local_#31779_o!base, offset : local_#31779_o!offset + 8 }], local_#15538); local_#15540 := 3; local_#15541 := (if local_#15539 == local_#15540 then 1 else 0); if (local_#15541 != 0) { goto CFG_40387; } else { goto CFG_40386; } CFG_40386: assume true; local_#30695 := 0; goto CFG_38253; CFG_40387: assume true; local_#30695 := 1; goto CFG_38253; CFG_38253: assume true; local_#7879 := local_#30695; goto CFG_37366; CFG_37366: assume true; } procedure routine_#33948_lua_isuserdata(local_#4323_L_IN : { base : int, offset : int }, local_#4324_idx_IN : int) returns (local_#7880 : int) { var local_#4323_L : { base : int, offset : int }; var local_#4324_idx : int; var local_#15542 : { base : int, offset : int }; var local_#15543 : { base : int, offset : int }; var local_#31780_o : { base : int, offset : int }; var local_#15544 : int; var local_#15545 : int; var local_#15546 : int; var local_#15547 : int; var local_#30696 : int; local_#4323_L := local_#4323_L_IN; local_#4324_idx := local_#4324_idx_IN; goto CFG_36456; CFG_36456: assume true; goto CFG_46077; CFG_46077: assume true; call local_#15542 := routine_#34811_index2addr(local_#4323_L,local_#4324_idx); goto CFG_49850; CFG_49850: assume true; local_#15543 := local_#15542; assert { :LIR "62663" } { :check "overflow" } { :finding_ids "0" } true; local_#31780_o := local_#15543; local_#15544 := 71; local_#15545 := (if _memory[{ base : local_#31780_o!base, offset : local_#31780_o!offset + 8 }] == local_#15544 then 1 else 0); if (local_#15545 != 0) { goto CFG_40389; } else { goto CFG_49851; } CFG_49851: assume true; local_#15546 := 2; local_#15547 := (if _memory[{ base : local_#31780_o!base, offset : local_#31780_o!offset + 8 }] == local_#15546 then 1 else 0); if (local_#15547 != 0) { goto CFG_40389; } else { goto CFG_40388; } CFG_40388: assume true; local_#30696 := 0; goto CFG_38254; CFG_40389: assume true; local_#30696 := 1; goto CFG_38254; CFG_38254: assume true; local_#7880 := local_#30696; goto CFG_37367; CFG_37367: assume true; } procedure routine_#33949_lua_isyieldable(local_#4325_L_IN : { base : int, offset : int }) returns (local_#7881 : int) { var local_#4325_L : { base : int, offset : int }; var local_#15548 : int; var local_#15549 : int; var local_#15550 : int; local_#4325_L := local_#4325_L_IN; goto CFG_36457; CFG_36457: assume true; goto CFG_38255; CFG_38255: assume true; local_#15548 := _memory[{ base : local_#4325_L!base, offset : local_#4325_L!offset + 196 }]; assert { :LIR "62664" } { :check "overflow" } { :finding_ids "0" } local_#15548 <= 2147483647; local_#15549 := 0; local_#15550 := (if local_#15548 == local_#15549 then 1 else 0); local_#7881 := local_#15550; goto CFG_37368; CFG_37368: assume true; } procedure routine_#33950_lua_len(local_#4326_L_IN : { base : int, offset : int }, local_#4327_idx_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4326_L : { base : int, offset : int }; var local_#4327_idx : int; var local_#15551 : int; var local_#15552 : int; var local_#15553 : { base : int, offset : int }; var local_#31781_t : { base : int, offset : int }; var local_#15554 : { base : int, offset : int }; var local_#15555 : { base : int, offset : int }; var local_#15556 : { base : int, offset : int }; var local_#15557 : int; var local_#15558 : { base : int, offset : int }; var local_#15559 : int; var local_#15560 : int; var local_#15561 : int; var local_#15562 : int; local_#4326_L := local_#4326_L_IN; local_#4327_idx := local_#4327_idx_IN; goto CFG_36458; CFG_36458: assume true; goto CFG_42604; CFG_42604: assume true; local_#15551 := 0; local_#15552 := 0; assert { :LIR "60969" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46078; CFG_46078: assume true; call local_#15553 := routine_#34811_index2addr(local_#4326_L,local_#4327_idx); goto CFG_42605; CFG_42605: assume true; local_#31781_t := local_#15553; local_#15554 := _memory_ptr[{ base : local_#4326_L!base, offset : local_#4326_L!offset + 16 }]; local_#15555 := local_#31781_t; assert { :LIR "62665" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46079; CFG_46079: assume true; call routine_#33901_luaV_objlen(local_#4326_L,local_#15554,local_#15555); goto CFG_39194; CFG_39194: assume true; local_#15556 := _memory_ptr[{ base : local_#4326_L!base, offset : local_#4326_L!offset + 16 }]; local_#15557 := 1; _memory_ptr[{ base : local_#4326_L!base, offset : local_#4326_L!offset + 16 }] := { base : local_#15556!base, offset : local_#15556!offset + local_#15557 * 16 }; local_#15558 := local_#15556; local_#15559 := 0; local_#15560 := 0; assert { :LIR "60970" } { :check "overflow" } { :finding_ids "0" } true; local_#15561 := 0; local_#15562 := 0; assert { :LIR "60971" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37369; CFG_37369: assume true; } procedure routine_#33951_lua_load(local_#4328_L_IN : { base : int, offset : int }, local_#4329_reader_IN : { base : int, offset : int }, local_#4330_data_IN : { base : int, offset : int }, local_#4331_chunkname_IN : { base : int, offset : int }, local_#4332_mode_IN : { base : int, offset : int }) returns (local_#7882 : int) modifies _memory, _memory_ptr, _valid; { var local_#4328_L : { base : int, offset : int }; var local_#4329_reader : { base : int, offset : int }; var local_#4330_data : { base : int, offset : int }; var local_#4331_chunkname : { base : int, offset : int }; var local_#4332_mode : { base : int, offset : int }; var local_#15563 : int; var local_#15564 : int; var local_#15565 : int; var local_#15566 : { base : int, offset : int }; var local_#15567 : { base : int, offset : int }; var local_#31783_z : { base : int, offset : int }; var local_#15568 : { base : int, offset : int }; var local_#15569 : { base : int, offset : int }; var local_#15570 : int; var local_#31782_status : int; var local_#15571 : int; var local_#15572 : int; var local_#15573 : int; var local_#15574 : { base : int, offset : int }; var local_#15575 : { base : int, offset : int }; var local_#15576 : { base : int, offset : int }; var local_#15577 : { base : int, offset : int }; var local_#15578 : { base : int, offset : int }; var local_#31784_f : { base : int, offset : int }; var local_#15579 : int; var local_#15580 : int; var local_#15581 : int; var local_#15582 : { base : int, offset : int }; var local_#15583 : { base : int, offset : int }; var local_#15584 : { base : int, offset : int }; var local_#15585 : { base : int, offset : int }; var local_#31786_reg : { base : int, offset : int }; var local_#15586 : int; var local_#15587 : { base : int, offset : int }; var local_#31785_gt : { base : int, offset : int }; var local_#15588 : { base : int, offset : int }; var local_#15589 : int; var local_#15590 : { base : int, offset : int }; var local_#15591 : { base : int, offset : int }; var local_#31787_io1 : { base : int, offset : int }; var local_#15592 : int; var local_#15593 : int; var local_#15594 : int; var local_#15595 : { base : int, offset : int }; var local_#15596 : int; var local_#15597 : { base : int, offset : int }; var local_#15598 : { base : int, offset : int }; var local_#15599 : { base : int, offset : int }; var local_#15600 : int; var local_#15601 : int; var local_#15602 : { base : int, offset : int }; var local_#15603 : int; var local_#15604 : { base : int, offset : int }; var local_#15605 : { base : int, offset : int }; var local_#15606 : { base : int, offset : int }; var local_#15607 : int; var local_#15608 : { base : int, offset : int }; var local_#15609 : { base : int, offset : int }; var local_#15610 : { base : int, offset : int }; var local_#15611 : int; var local_#15612 : int; var local_#15613 : int; var local_#15614 : int; var local_#15615 : { base : int, offset : int }; var local_#15616 : int; var local_#15617 : { base : int, offset : int }; var local_#15618 : { base : int, offset : int }; var local_#15619 : int; var local_#15620 : int; local_#4328_L := local_#4328_L_IN; local_#4329_reader := local_#4329_reader_IN; local_#4330_data := local_#4330_data_IN; local_#4331_chunkname := local_#4331_chunkname_IN; local_#4332_mode := local_#4332_mode_IN; goto CFG_36459; CFG_36459: assume true; goto CFG_49852; CFG_49852: assume true; local_#15563 := 0; local_#15564 := 0; assert { :LIR "60972" } { :check "overflow" } { :finding_ids "0" } true; local_#15565 := (if local_#4331_chunkname != { base : 0, offset : 0 } then 0 else 1); if (local_#15565 != 0) { goto CFG_40390; } else { goto CFG_42606; } CFG_40390: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#15566 := strlit_#70307; local_#15567 := { base : local_#15566!base, offset : local_#15566!offset + 0 * 1 }; assert { :LIR "62666" } { :check "overflow" } { :finding_ids "0" } true; local_#4331_chunkname := local_#15567; goto CFG_42606; CFG_42606: assume true; local_#15568 := local_#31783_z; goto CFG_46080; CFG_46080: assume true; call routine_#33914_luaZ_init(local_#4328_L,local_#15568,local_#4329_reader,local_#4330_data); goto CFG_42607; CFG_42607: assume true; local_#15569 := local_#31783_z; goto CFG_46081; CFG_46081: assume true; call local_#15570 := routine_#33739_luaD_protectedparser(local_#4328_L,local_#15569,local_#4331_chunkname,local_#4332_mode); goto CFG_49853; CFG_49853: assume true; local_#31782_status := local_#15570; local_#15571 := 0; local_#15572 := (if local_#31782_status == local_#15571 then 1 else 0); if (local_#15572 != 0) { goto CFG_49854; } else { goto CFG_38256; } CFG_49854: assume true; local_#15573 := 1; local_#15574 := { base : _memory_ptr[{ base : local_#4328_L!base, offset : local_#4328_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4328_L!base, offset : local_#4328_L!offset + 16 }]!offset - local_#15573 * 16 }; local_#15575 := { base : local_#15574!base, offset : local_#15574!offset + 0 }; local_#15576 := _memory_ptr[local_#15575]; assert { :LIR "60973" } { :check "overflow" } { :finding_ids "0" } true; local_#15577 := { base : local_#15576!base, offset : local_#15576!offset + 0 }; local_#15578 := { base : local_#15577!base, offset : local_#15577!offset + 0 }; local_#31784_f := local_#15578; local_#15579 := _memory[{ base : local_#31784_f!base, offset : local_#31784_f!offset + 10 }]; assert { :LIR "62667" } { :check "overflow" } { :finding_ids "0" } local_#15579 <= 2147483647; local_#15580 := 1; local_#15581 := (if local_#15579 >= local_#15580 then 1 else 0); if (local_#15581 != 0) { goto CFG_42608; } else { goto CFG_40394; } CFG_42608: assume true; local_#15582 := _memory_ptr[{ base : local_#4328_L!base, offset : local_#4328_L!offset + 24 }]; local_#15583 := { base : local_#15582!base, offset : local_#15582!offset + 64 }; local_#15584 := _memory_ptr[local_#15583]; assert { :LIR "60974" } { :check "overflow" } { :finding_ids "0" } true; local_#15585 := { base : local_#15584!base, offset : local_#15584!offset + 0 }; local_#31786_reg := local_#15585; local_#15586 := 2; goto CFG_46082; CFG_46082: assume true; call local_#15587 := routine_#33768_luaH_getint(local_#31786_reg,local_#15586); goto CFG_49855; CFG_49855: assume true; local_#31785_gt := local_#15587; local_#15588 := { base : local_#31784_f!base, offset : local_#31784_f!offset + 32 }; local_#15589 := 0; local_#15590 := { base : local_#15588!base, offset : local_#15588!offset + 0 * 8 + local_#15589 * 8 }; local_#15591 := _memory_ptr[local_#15590]; local_#31787_io1 := _memory_ptr[{ base : local_#15591!base, offset : local_#15591!offset + 0 }]; assume read_type_#101(_memory, _memory_ptr, local_#31785_gt)!_value_!_b == _memory[{ base : local_#31785_gt!base, offset : local_#31785_gt!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31785_gt)!_value_!_f == _memory_ptr[{ base : local_#31785_gt!base, offset : local_#31785_gt!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31785_gt)!_value_!_gc == _memory_ptr[{ base : local_#31785_gt!base, offset : local_#31785_gt!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31785_gt)!_value_!_i == _memory[{ base : local_#31785_gt!base, offset : local_#31785_gt!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31785_gt)!_value_!_p == _memory_ptr[{ base : local_#31785_gt!base, offset : local_#31785_gt!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31785_gt)!_tt_ == _memory[{ base : local_#31785_gt!base, offset : local_#31785_gt!offset + 8 }]; call write_type_#101(local_#31787_io1,read_type_#101(_memory, _memory_ptr, local_#31785_gt)); local_#15592 := 0; assert { :LIR "60975" } { :check "overflow" } { :finding_ids "0" } true; local_#15593 := 0; local_#15594 := 0; assert { :LIR "60976" } { :check "overflow" } { :finding_ids "0" } true; local_#15595 := { base : local_#31784_f!base, offset : local_#31784_f!offset + 32 }; local_#15596 := 0; local_#15597 := { base : local_#15595!base, offset : local_#15595!offset + 0 * 8 + local_#15596 * 8 }; local_#15598 := _memory_ptr[local_#15597]; local_#15599 := _memory_ptr[{ base : local_#15598!base, offset : local_#15598!offset + 0 }]; local_#15600 := 64; local_#15601 := ~sand32(_memory[{ base : local_#15599!base, offset : local_#15599!offset + 8 }], local_#15600); if (local_#15601 != 0) { goto CFG_49856; } else { goto CFG_40391; } CFG_49856: assume true; local_#15602 := { base : local_#31784_f!base, offset : local_#31784_f!offset + 32 }; local_#15603 := 0; local_#15604 := { base : local_#15602!base, offset : local_#15602!offset + 0 * 8 + local_#15603 * 8 }; local_#15605 := _memory_ptr[local_#15604]; local_#15606 := { base : local_#31784_f!base, offset : local_#31784_f!offset + 32 }; local_#15607 := 0; local_#15608 := { base : local_#15606!base, offset : local_#15606!offset + 0 * 8 + local_#15607 * 8 }; local_#15609 := _memory_ptr[local_#15608]; local_#15610 := { base : local_#15609!base, offset : local_#15609!offset + 16 }; local_#15611 := (if _memory_ptr[{ base : local_#15605!base, offset : local_#15605!offset + 0 }] != local_#15610 then 1 else 0); local_#15612 := (if local_#15611 != 0 then 0 else 1); if (local_#15612 != 0) { goto CFG_42609; } else { goto CFG_40391; } CFG_40391: assume true; local_#15613 := 0; local_#15614 := 0; assert { :LIR "60977" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40393; CFG_42609: assume true; local_#15615 := { base : local_#31784_f!base, offset : local_#31784_f!offset + 32 }; local_#15616 := 0; local_#15617 := { base : local_#15615!base, offset : local_#15615!offset + 0 * 8 + local_#15616 * 8 }; local_#15618 := _memory_ptr[local_#15617]; goto CFG_46083; CFG_46083: assume true; call routine_#33729_luaC_upvalbarrier_(local_#4328_L,local_#15618); goto CFG_40392; CFG_40392: assume true; goto CFG_40393; CFG_40393: assume true; goto CFG_40394; CFG_40394: assume true; goto CFG_38256; CFG_38256: assume true; local_#15619 := 0; local_#15620 := 0; assert { :LIR "60978" } { :check "overflow" } { :finding_ids "0" } true; local_#7882 := local_#31782_status; goto CFG_37370; CFG_37370: assume true; } procedure routine_#33952_lua_newstate(local_#4333_f_IN : { base : int, offset : int }, local_#4334_ud_IN : { base : int, offset : int }) returns (local_#7883 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4333_f : { base : int, offset : int }; var local_#4334_ud : { base : int, offset : int }; var local_#15621 : { base : int, offset : int }; var local_#15622 : int; var local_#15623 : int; var local_#15624 : { base : int, offset : int }; var local_#15625 : { base : int, offset : int }; var local_#31791_l : { base : int, offset : int }; var local_#15626 : { base : int, offset : int }; var local_#15627 : int; var local_#31788_L : { base : int, offset : int }; var local_#31789_g : { base : int, offset : int }; var local_#15628 : int; var local_#15629 : int; var local_#15630 : int; var local_#15631 : int; var local_#15632 : int; var local_#31790_i : int; var local_#15633 : int; var local_#15634 : int; var local_#15635 : { base : int, offset : int }; var local_#15636 : { base : int, offset : int }; var local_#15637 : int; var local_#15638 : int; var local_#15639 : int; var local_#15640 : { base : int, offset : int }; var local_#15641 : { base : int, offset : int }; var local_#15642 : { base : int, offset : int }; var local_#15643 : int; var local_#15644 : int; var local_#15645 : int; local_#4333_f := local_#4333_f_IN; local_#4334_ud := local_#4334_ud_IN; goto CFG_36460; CFG_36460: assume true; goto CFG_42610; CFG_42610: assume true; local_#15621 := { base : 0, offset : 0 }; local_#15622 := 8; local_#15623 := 1552; goto CFG_46084; CFG_46084: assume true; if (local_#4333_f == fun_addr_#34841_l_alloc) { call local_#15624 := routine_#34841_l_alloc(local_#4334_ud,local_#15621,local_#15622,local_#15623); } else { assume false; } goto CFG_49857; CFG_49857: assume true; local_#15625 := local_#15624; assert { :LIR "60979" } { :check "overflow" } { :finding_ids "0" } true; local_#31791_l := local_#15625; local_#15626 := { base : 0, offset : 0 }; local_#15627 := (if local_#31791_l == local_#15626 then 1 else 0); if (local_#15627 != 0) { goto CFG_38258; } else { goto CFG_42611; } CFG_42611: assume true; local_#31788_L := { base : local_#31791_l!base, offset : local_#31791_l!offset + 8 }; local_#31789_g := { base : local_#31791_l!base, offset : local_#31791_l!offset + 216 }; _memory_ptr[{ base : local_#31788_L!base, offset : local_#31788_L!offset + 0 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31788_L!base, offset : local_#31788_L!offset + 8 }] := 8; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 84 }] := 1; local_#15628 := _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 84 }]; assert { :LIR "62668" } { :check "overflow" } { :finding_ids "0" } local_#15628 <= 2147483647; local_#15629 := 3; local_#15630 := ~sand32(local_#15628, local_#15629); local_#15631 := ~uwrap8(local_#15630); assert { :LIR "60980" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31788_L!base, offset : local_#31788_L!offset + 9 }] := local_#15631; goto CFG_46085; CFG_46085: assume true; call routine_#34993_preinit_thread(local_#31788_L,local_#31789_g); goto CFG_42612; CFG_42612: assume true; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 0 }] := local_#4333_f; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 8 }] := local_#4334_ud; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 200 }] := local_#31788_L; goto CFG_46086; CFG_46086: assume true; call local_#15632 := routine_#34909_makeseed(local_#31788_L); goto CFG_41673; CFG_41673: assume true; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 80 }] := local_#15632; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 87 }] := 0; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 40 }] := 0; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 56 }] := 0; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 60 }] := _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 56 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 48 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 72 }] := 0; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 192 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 208 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 85 }] := 7; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 86 }] := 0; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 160 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 152 }] := _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 160 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 104 }] := _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 152 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 88 }] := _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 104 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 96 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 120 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 112 }] := _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 120 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 144 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 136 }] := _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 144 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 128 }] := _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 136 }]; _memory_ptr[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 168 }] := { base : 0, offset : 0 }; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 16 }] := 1552; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 24 }] := 0; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 176 }] := 0; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 180 }] := 200; _memory[{ base : local_#31789_g!base, offset : local_#31789_g!offset + 184 }] := 200; local_#31790_i := 0; goto CFG_49858; CFG_49858: assume true; local_#15633 := 9; local_#15634 := (if local_#31790_i < local_#15633 then 1 else 0); if (local_#15634 != 0) { goto CFG_42614; } else { goto CFG_42613; } CFG_42613: assume true; local_#15635 := fun_addr_#34728_f_luaopen; local_#15636 := { base : 0, offset : 0 }; goto CFG_46087; CFG_46087: assume true; call local_#15637 := routine_#33740_luaD_rawrunprotected(local_#31788_L,local_#15635,local_#15636); goto CFG_49859; CFG_49859: assume true; local_#15638 := 0; local_#15639 := (if local_#15637 != local_#15638 then 1 else 0); if (local_#15639 != 0) { goto CFG_46088; } else { goto CFG_38257; } CFG_46088: assume true; call routine_#34648_close_state(local_#31788_L); goto CFG_40395; CFG_40395: assume true; local_#31788_L := { base : 0, offset : 0 }; goto CFG_38257; CFG_38257: assume true; local_#7883 := local_#31788_L; goto CFG_37371; CFG_42614: assume true; local_#15640 := { base : 0, offset : 0 }; local_#15641 := { base : local_#31789_g!base, offset : local_#31789_g!offset + 416 }; local_#15642 := { base : local_#15641!base, offset : local_#15641!offset + 0 * 8 + local_#31790_i * 8 }; _memory_ptr[local_#15642] := local_#15640; goto CFG_45014; CFG_45014: assume true; local_#15643 := local_#31790_i; local_#15644 := 1; local_#31790_i := local_#15643 + local_#15644; assert { :LIR "66487" } { :check "overflow" } { :finding_ids "0" } local_#31790_i <= 2147483647; local_#15645 := local_#15643; goto CFG_49858; CFG_38258: assume true; local_#7883 := { base : 0, offset : 0 }; goto CFG_37371; CFG_37371: assume true; } procedure routine_#33953_lua_newthread(local_#4335_L_IN : { base : int, offset : int }) returns (local_#7884 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4335_L : { base : int, offset : int }; var local_#31793_g : { base : int, offset : int }; var local_#15646 : int; var local_#15647 : int; var local_#15648 : { base : int, offset : int }; var local_#15649 : int; var local_#15650 : int; var local_#15651 : int; var local_#15652 : int; var local_#15653 : int; var local_#15654 : int; var local_#15655 : int; var local_#15656 : int; var local_#15657 : { base : int, offset : int }; var local_#15658 : int; var local_#15659 : int; var local_#15660 : { base : int, offset : int }; var local_#15661 : { base : int, offset : int }; var local_#31792_L1 : { base : int, offset : int }; var local_#15662 : int; var local_#15663 : int; var local_#15664 : int; var local_#15665 : int; var local_#15666 : { base : int, offset : int }; var local_#15667 : { base : int, offset : int }; var local_#31794_io : { base : int, offset : int }; var local_#31795_x_ : { base : int, offset : int }; var local_#15668 : { base : int, offset : int }; var local_#15669 : { base : int, offset : int }; var local_#15670 : { base : int, offset : int }; var local_#15671 : int; var local_#15672 : int; var local_#15673 : { base : int, offset : int }; var local_#15674 : int; var local_#15675 : { base : int, offset : int }; var local_#15676 : int; var local_#15677 : int; var local_#15678 : { base : int, offset : int }; var local_#15679 : int; var local_#15680 : { base : int, offset : int }; var local_#15681 : { base : int, offset : int }; var local_#15682 : { base : int, offset : int }; var local_#15683 : int; var local_#15684 : { base : int, offset : int }; var local_#15685 : { base : int, offset : int }; var local_#15686 : { base : int, offset : int }; var local_#15687 : int; var local_#15688 : { base : int, offset : int }; var local_#15689 : int; var local_#15690 : int; var local_#15691 : int; local_#4335_L := local_#4335_L_IN; goto CFG_36461; CFG_36461: assume true; goto CFG_49860; CFG_49860: assume true; local_#31793_g := _memory_ptr[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 24 }]; local_#15646 := 0; local_#15647 := 0; assert { :LIR "60981" } { :check "overflow" } { :finding_ids "0" } true; local_#15648 := _memory_ptr[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 24 }]; local_#15649 := 0; local_#15650 := (if _memory[{ base : local_#15648!base, offset : local_#15648!offset + 24 }] > local_#15649 then 1 else 0); if (local_#15650 != 0) { goto CFG_42615; } else { goto CFG_42616; } CFG_42615: assume true; local_#15651 := 0; local_#15652 := 0; assert { :LIR "60982" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46089; CFG_46089: assume true; call routine_#33728_luaC_step(local_#4335_L); goto CFG_40396; CFG_40396: assume true; local_#15653 := 0; local_#15654 := 0; assert { :LIR "60983" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42616; CFG_42616: assume true; local_#15655 := 0; local_#15656 := 0; assert { :LIR "60984" } { :check "overflow" } { :finding_ids "0" } true; local_#15657 := { base : 0, offset : 0 }; local_#15658 := 8; local_#15659 := 216; goto CFG_46090; CFG_46090: assume true; call local_#15660 := routine_#33857_luaM_realloc_(local_#4335_L,local_#15657,local_#15658,local_#15659); goto CFG_42617; CFG_42617: assume true; local_#15661 := local_#15660; assert { :LIR "60985" } { :check "overflow" } { :finding_ids "0" } true; local_#31792_L1 := { base : local_#15661!base, offset : local_#15661!offset + 8 }; local_#15662 := _memory[{ base : local_#31793_g!base, offset : local_#31793_g!offset + 84 }]; assert { :LIR "62669" } { :check "overflow" } { :finding_ids "0" } local_#15662 <= 2147483647; local_#15663 := 3; local_#15664 := ~sand32(local_#15662, local_#15663); local_#15665 := ~uwrap8(local_#15664); assert { :LIR "60986" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 9 }] := local_#15665; _memory[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 8 }] := 8; _memory_ptr[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 0 }] := _memory_ptr[{ base : local_#31793_g!base, offset : local_#31793_g!offset + 88 }]; local_#15666 := local_#31792_L1; assert { :LIR "60987" } { :check "overflow" } { :finding_ids "0" } true; local_#15667 := { base : local_#15666!base, offset : local_#15666!offset + 0 }; _memory_ptr[{ base : local_#31793_g!base, offset : local_#31793_g!offset + 88 }] := local_#15667; local_#31794_io := _memory_ptr[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 16 }]; local_#31795_x_ := local_#31792_L1; local_#15668 := local_#31795_x_; assert { :LIR "60988" } { :check "overflow" } { :finding_ids "0" } true; local_#15669 := { base : local_#15668!base, offset : local_#15668!offset + 0 }; local_#15670 := { base : local_#31794_io!base, offset : local_#31794_io!offset + 0 }; _memory_ptr[local_#15670] := local_#15669; _memory[{ base : local_#31794_io!base, offset : local_#31794_io!offset + 8 }] := 72; local_#15671 := 0; local_#15672 := 0; assert { :LIR "60989" } { :check "overflow" } { :finding_ids "0" } true; local_#15673 := _memory_ptr[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 16 }]; local_#15674 := 1; _memory_ptr[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 16 }] := { base : local_#15673!base, offset : local_#15673!offset + local_#15674 * 16 }; local_#15675 := local_#15673; local_#15676 := 0; local_#15677 := 0; assert { :LIR "60990" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46091; CFG_46091: assume true; call routine_#34993_preinit_thread(local_#31792_L1,local_#31793_g); goto CFG_42618; CFG_42618: assume true; _memory[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 200 }] := _memory[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 200 }]; _memory[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 188 }] := _memory[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 188 }]; _memory_ptr[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 168 }] := _memory_ptr[{ base : local_#4335_L!base, offset : local_#4335_L!offset + 168 }]; _memory[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 192 }] := _memory[{ base : local_#31792_L1!base, offset : local_#31792_L1!offset + 188 }]; local_#15678 := local_#31792_L1; assert { :LIR "60991" } { :check "overflow" } { :finding_ids "0" } true; local_#15679 := 8; local_#15680 := { base : local_#15678!base, offset : local_#15678!offset - local_#15679 * 1 }; local_#15681 := local_#15680; assert { :LIR "60992" } { :check "overflow" } { :finding_ids "0" } true; local_#15682 := _memory_ptr[{ base : local_#31793_g!base, offset : local_#31793_g!offset + 200 }]; assert { :LIR "60993" } { :check "overflow" } { :finding_ids "0" } true; local_#15683 := 8; local_#15684 := { base : local_#15682!base, offset : local_#15682!offset - local_#15683 * 1 }; local_#15685 := local_#15684; assert { :LIR "60994" } { :check "overflow" } { :finding_ids "0" } true; local_#15686 := local_#15685; assert { :LIR "62670" } { :check "overflow" } { :finding_ids "0" } true; local_#15687 := 8; goto CFG_46092; CFG_46092: assume true; call local_#15688 := routine_#34026_memcpy(local_#15681,local_#15686,local_#15687); goto CFG_42619; CFG_42619: assume true; local_#15689 := 0; assert { :LIR "60995" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46093; CFG_46093: assume true; call routine_#35077_stack_init(local_#31792_L1,local_#4335_L); goto CFG_38259; CFG_38259: assume true; local_#15690 := 0; local_#15691 := 0; assert { :LIR "60996" } { :check "overflow" } { :finding_ids "0" } true; local_#7884 := local_#31792_L1; goto CFG_37372; CFG_37372: assume true; } procedure routine_#33954_lua_newuserdata(local_#4336_L_IN : { base : int, offset : int }, local_#4337_size_IN : int) returns (local_#7885 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4336_L : { base : int, offset : int }; var local_#4337_size : int; var local_#15692 : int; var local_#15693 : int; var local_#15694 : { base : int, offset : int }; var local_#31796_u : { base : int, offset : int }; var local_#31797_io : { base : int, offset : int }; var local_#31798_x_ : { base : int, offset : int }; var local_#15695 : { base : int, offset : int }; var local_#15696 : { base : int, offset : int }; var local_#15697 : { base : int, offset : int }; var local_#15698 : int; var local_#15699 : int; var local_#15700 : { base : int, offset : int }; var local_#15701 : int; var local_#15702 : { base : int, offset : int }; var local_#15703 : int; var local_#15704 : int; var local_#15705 : { base : int, offset : int }; var local_#15706 : int; var local_#15707 : int; var local_#15708 : int; var local_#15709 : int; var local_#15710 : int; var local_#15711 : int; var local_#15712 : int; var local_#15713 : int; var local_#15714 : int; var local_#15715 : int; var local_#15716 : { base : int, offset : int }; var local_#15717 : int; var local_#15718 : { base : int, offset : int }; var local_#15719 : { base : int, offset : int }; local_#4336_L := local_#4336_L_IN; local_#4337_size := local_#4337_size_IN; goto CFG_36462; CFG_36462: assume true; goto CFG_42620; CFG_42620: assume true; local_#15692 := 0; local_#15693 := 0; assert { :LIR "60997" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46094; CFG_46094: assume true; call local_#15694 := routine_#33878_luaS_newudata(local_#4336_L,local_#4337_size); goto CFG_49861; CFG_49861: assume true; local_#31796_u := local_#15694; local_#31797_io := _memory_ptr[{ base : local_#4336_L!base, offset : local_#4336_L!offset + 16 }]; local_#31798_x_ := local_#31796_u; local_#15695 := local_#31798_x_; assert { :LIR "60998" } { :check "overflow" } { :finding_ids "0" } true; local_#15696 := { base : local_#15695!base, offset : local_#15695!offset + 0 }; local_#15697 := { base : local_#31797_io!base, offset : local_#31797_io!offset + 0 }; _memory_ptr[local_#15697] := local_#15696; _memory[{ base : local_#31797_io!base, offset : local_#31797_io!offset + 8 }] := 71; local_#15698 := 0; local_#15699 := 0; assert { :LIR "60999" } { :check "overflow" } { :finding_ids "0" } true; local_#15700 := _memory_ptr[{ base : local_#4336_L!base, offset : local_#4336_L!offset + 16 }]; local_#15701 := 1; _memory_ptr[{ base : local_#4336_L!base, offset : local_#4336_L!offset + 16 }] := { base : local_#15700!base, offset : local_#15700!offset + local_#15701 * 16 }; local_#15702 := local_#15700; local_#15703 := 0; local_#15704 := 0; assert { :LIR "61000" } { :check "overflow" } { :finding_ids "0" } true; local_#15705 := _memory_ptr[{ base : local_#4336_L!base, offset : local_#4336_L!offset + 24 }]; local_#15706 := 0; local_#15707 := (if _memory[{ base : local_#15705!base, offset : local_#15705!offset + 24 }] > local_#15706 then 1 else 0); if (local_#15707 != 0) { goto CFG_42621; } else { goto CFG_38260; } CFG_42621: assume true; local_#15708 := 0; local_#15709 := 0; assert { :LIR "61001" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46095; CFG_46095: assume true; call routine_#33728_luaC_step(local_#4336_L); goto CFG_40397; CFG_40397: assume true; local_#15710 := 0; local_#15711 := 0; assert { :LIR "61002" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38260; CFG_38260: assume true; local_#15712 := 0; local_#15713 := 0; assert { :LIR "61003" } { :check "overflow" } { :finding_ids "0" } true; local_#15714 := 0; local_#15715 := 0; assert { :LIR "61004" } { :check "overflow" } { :finding_ids "0" } true; local_#15716 := local_#31796_u; assert { :LIR "61005" } { :check "overflow" } { :finding_ids "0" } true; local_#15717 := 40; local_#15718 := { base : local_#15716!base, offset : local_#15716!offset + local_#15717 * 1 }; local_#15719 := local_#15718; assert { :LIR "62671" } { :check "overflow" } { :finding_ids "0" } true; local_#7885 := local_#15719; goto CFG_37373; CFG_37373: assume true; } procedure routine_#33955_lua_next(local_#4338_L_IN : { base : int, offset : int }, local_#4339_idx_IN : int) returns (local_#7886 : int) modifies _memory, _memory_ptr, _valid; { var local_#4338_L : { base : int, offset : int }; var local_#4339_idx : int; var local_#15720 : int; var local_#15721 : int; var local_#15722 : { base : int, offset : int }; var local_#31800_t : { base : int, offset : int }; var local_#15723 : int; var local_#15724 : int; var local_#15725 : { base : int, offset : int }; var local_#15726 : { base : int, offset : int }; var local_#15727 : { base : int, offset : int }; var local_#15728 : int; var local_#15729 : { base : int, offset : int }; var local_#15730 : int; var local_#31799_more : int; var local_#15731 : int; var local_#15732 : int; var local_#15733 : { base : int, offset : int }; var local_#15734 : int; var local_#15735 : { base : int, offset : int }; var local_#15736 : int; var local_#15737 : int; var local_#15738 : int; var local_#15739 : int; local_#4338_L := local_#4338_L_IN; local_#4339_idx := local_#4339_idx_IN; goto CFG_36463; CFG_36463: assume true; goto CFG_42622; CFG_42622: assume true; local_#15720 := 0; local_#15721 := 0; assert { :LIR "61006" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46096; CFG_46096: assume true; call local_#15722 := routine_#34811_index2addr(local_#4338_L,local_#4339_idx); goto CFG_42623; CFG_42623: assume true; local_#31800_t := local_#15722; local_#15723 := 0; local_#15724 := 0; assert { :LIR "61007" } { :check "overflow" } { :finding_ids "0" } true; local_#15725 := { base : local_#31800_t!base, offset : local_#31800_t!offset + 0 }; local_#15726 := _memory_ptr[local_#15725]; assert { :LIR "61008" } { :check "overflow" } { :finding_ids "0" } true; local_#15727 := { base : local_#15726!base, offset : local_#15726!offset + 0 }; local_#15728 := 1; local_#15729 := { base : _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }]!offset - local_#15728 * 16 }; goto CFG_46097; CFG_46097: assume true; call local_#15730 := routine_#33774_luaH_next(local_#4338_L,local_#15727,local_#15729); goto CFG_49862; CFG_49862: assume true; local_#31799_more := local_#15730; local_#15731 := local_#31799_more; if (local_#15731 != 0) { goto CFG_40399; } else { goto CFG_40398; } CFG_40398: assume true; local_#15732 := 1; _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }]!offset - local_#15732 * 16 }; goto CFG_38261; CFG_40399: assume true; local_#15733 := _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }]; local_#15734 := 1; _memory_ptr[{ base : local_#4338_L!base, offset : local_#4338_L!offset + 16 }] := { base : local_#15733!base, offset : local_#15733!offset + local_#15734 * 16 }; local_#15735 := local_#15733; local_#15736 := 0; local_#15737 := 0; assert { :LIR "61009" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38261; CFG_38261: assume true; local_#15738 := 0; local_#15739 := 0; assert { :LIR "61010" } { :check "overflow" } { :finding_ids "0" } true; local_#7886 := local_#31799_more; goto CFG_37374; CFG_37374: assume true; } procedure routine_#33956_lua_pcallk(local_#4340_L_IN : { base : int, offset : int }, local_#4341_nargs_IN : int, local_#4342_nresults_IN : int, local_#4343_errfunc_IN : int, local_#4344_ctx_IN : int, local_#4345_k_IN : { base : int, offset : int }) returns (local_#7887 : int) modifies _memory, _memory_ptr, _valid; { var local_#4340_L : { base : int, offset : int }; var local_#4341_nargs : int; var local_#4342_nresults : int; var local_#4343_errfunc : int; var local_#4344_ctx : int; var local_#4345_k : { base : int, offset : int }; var local_#15740 : int; var local_#15741 : int; var local_#15742 : int; var local_#15743 : int; var local_#15744 : int; var local_#15745 : int; var local_#15746 : int; var local_#15747 : int; var local_#15748 : int; var local_#15749 : int; var local_#15750 : int; var local_#15751 : int; var local_#15752 : { base : int, offset : int }; var local_#31804_o : { base : int, offset : int }; var local_#15753 : int; var local_#15754 : int; var local_#15755 : { base : int, offset : int }; var local_#15756 : { base : int, offset : int }; var local_#15757 : int; var local_#31802_func : int; var local_#15758 : int; var local_#15759 : int; var local_#15760 : { base : int, offset : int }; var local_#31801_c : { base : int, offset : int }; var local_#15761 : { base : int, offset : int }; var local_#15762 : int; var local_#15763 : int; var local_#15764 : int; var local_#15765 : int; var local_#31805_ci : { base : int, offset : int }; var local_#15766 : { base : int, offset : int }; var local_#15767 : { base : int, offset : int }; var local_#15768 : { base : int, offset : int }; var local_#15769 : { base : int, offset : int }; var local_#15770 : int; var local_#15771 : { base : int, offset : int }; var local_#15772 : int; var local_#15773 : int; var local_#15774 : int; var local_#15775 : int; var local_#15776 : int; var local_#15777 : int; var local_#15778 : int; var local_#15779 : int; var local_#15780 : int; var local_#15781 : { base : int, offset : int }; var local_#15782 : int; var local_#15783 : int; var local_#15784 : int; var local_#15785 : { base : int, offset : int }; var local_#31803_status : int; var local_#15786 : { base : int, offset : int }; var local_#15787 : { base : int, offset : int }; var local_#15788 : { base : int, offset : int }; var local_#15789 : { base : int, offset : int }; var local_#15790 : int; var local_#15791 : int; var local_#15792 : int; var local_#15793 : int; var local_#15794 : { base : int, offset : int }; var local_#15795 : int; var local_#15796 : { base : int, offset : int }; var local_#15797 : int; var local_#15798 : int; local_#4340_L := local_#4340_L_IN; local_#4341_nargs := local_#4341_nargs_IN; local_#4342_nresults := local_#4342_nresults_IN; local_#4343_errfunc := local_#4343_errfunc_IN; local_#4344_ctx := local_#4344_ctx_IN; local_#4345_k := local_#4345_k_IN; goto CFG_36464; CFG_36464: assume true; goto CFG_49863; CFG_49863: assume true; local_#15740 := 0; local_#15741 := 0; assert { :LIR "61011" } { :check "overflow" } { :finding_ids "0" } true; local_#15742 := 0; local_#15743 := 0; assert { :LIR "61012" } { :check "overflow" } { :finding_ids "0" } true; local_#15744 := 0; local_#15745 := 0; assert { :LIR "61013" } { :check "overflow" } { :finding_ids "0" } true; local_#15746 := 0; local_#15747 := 0; assert { :LIR "61014" } { :check "overflow" } { :finding_ids "0" } true; local_#15748 := 0; local_#15749 := 0; assert { :LIR "61015" } { :check "overflow" } { :finding_ids "0" } true; local_#15750 := 0; local_#15751 := (if local_#4343_errfunc == local_#15750 then 1 else 0); if (local_#15751 != 0) { goto CFG_40401; } else { goto CFG_46098; } CFG_46098: assume true; call local_#15752 := routine_#34811_index2addr(local_#4340_L,local_#4343_errfunc); goto CFG_40400; CFG_40400: assume true; local_#31804_o := local_#15752; local_#15753 := 0; local_#15754 := 0; assert { :LIR "61016" } { :check "overflow" } { :finding_ids "0" } true; local_#15755 := local_#31804_o; assert { :LIR "61017" } { :check "overflow" } { :finding_ids "0" } true; local_#15756 := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 56 }]; assert { :LIR "61018" } { :check "overflow" } { :finding_ids "0" } true; local_#15757 := (local_#15755!offset - local_#15756!offset) / 1; local_#31802_func := local_#15757; goto CFG_49864; CFG_40401: assume true; local_#31802_func := 0; goto CFG_49864; CFG_49864: assume true; local_#15758 := 1; local_#15759 := local_#4341_nargs + local_#15758; assert { :LIR "66488" } { :check "overflow" } { :finding_ids "0" } local_#15759 <= 2147483647; local_#15760 := { base : _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 16 }]!offset - local_#15759 * 16 }; _memory_ptr[{ base : local_#31801_c!base, offset : local_#31801_c!offset + 0 }] := local_#15760; local_#15761 := { base : 0, offset : 0 }; local_#15762 := (if local_#4345_k == local_#15761 then 1 else 0); if (local_#15762 != 0) { goto CFG_42625; } else { goto CFG_49865; } CFG_49865: assume true; local_#15763 := _memory[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 196 }]; assert { :LIR "62672" } { :check "overflow" } { :finding_ids "0" } local_#15763 <= 2147483647; local_#15764 := 0; local_#15765 := (if local_#15763 > local_#15764 then 1 else 0); if (local_#15765 != 0) { goto CFG_42625; } else { goto CFG_42624; } CFG_42624: assume true; local_#31805_ci := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 32 }]; local_#15766 := { base : local_#31805_ci!base, offset : local_#31805_ci!offset + 32 }; _memory_ptr[{ base : local_#15766!base, offset : local_#15766!offset + 0 }] := local_#4345_k; local_#15767 := { base : local_#31805_ci!base, offset : local_#31805_ci!offset + 32 }; _memory[{ base : local_#15767!base, offset : local_#15767!offset + 16 }] := local_#4344_ctx; local_#15768 := _memory_ptr[{ base : local_#31801_c!base, offset : local_#31801_c!offset + 0 }]; assert { :LIR "61019" } { :check "overflow" } { :finding_ids "0" } true; local_#15769 := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 56 }]; assert { :LIR "61020" } { :check "overflow" } { :finding_ids "0" } true; local_#15770 := (local_#15768!offset - local_#15769!offset) / 1; _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 56 }] := local_#15770; local_#15771 := { base : local_#31805_ci!base, offset : local_#31805_ci!offset + 32 }; _memory[{ base : local_#15771!base, offset : local_#15771!offset + 8 }] := _memory[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 176 }]; _memory[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 176 }] := local_#31802_func; local_#15772 := _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 66 }]; assert { :LIR "62673" } { :check "overflow" } { :finding_ids "0" } local_#15772 <= 2147483647; local_#15773 := -2; local_#15774 := ~sand32(local_#15772, local_#15773); local_#15775 := _memory[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 204 }]; assert { :LIR "62674" } { :check "overflow" } { :finding_ids "0" } local_#15775 <= 2147483647; local_#15776 := ~sor32(local_#15774, local_#15775); local_#15777 := ~uwrap16(local_#15776); assert { :LIR "62675" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 66 }] := local_#15777; local_#15778 := 16; local_#15779 := _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 66 }]; assert { :LIR "62676" } { :check "overflow" } { :finding_ids "0" } local_#15779 <= 2147483647; local_#15780 := ~sor32(local_#15779, local_#15778); _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 66 }] := ~uwrap16(local_#15780); assert { :LIR "62677" } { :check "overflow" } { :finding_ids "0" } true; local_#15781 := _memory_ptr[{ base : local_#31801_c!base, offset : local_#31801_c!offset + 0 }]; goto CFG_46099; CFG_46099: assume true; call routine_#33731_luaD_call(local_#4340_L,local_#15781,local_#4342_nresults); goto CFG_40402; CFG_40402: assume true; local_#15782 := -17; local_#15783 := _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 66 }]; assert { :LIR "62678" } { :check "overflow" } { :finding_ids "0" } local_#15783 <= 2147483647; local_#15784 := ~sand32(local_#15783, local_#15782); _memory[{ base : local_#31805_ci!base, offset : local_#31805_ci!offset + 66 }] := ~uwrap16(local_#15784); assert { :LIR "62679" } { :check "overflow" } { :finding_ids "0" } true; local_#15785 := { base : local_#31805_ci!base, offset : local_#31805_ci!offset + 32 }; _memory[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 176 }] := _memory[{ base : local_#15785!base, offset : local_#15785!offset + 8 }]; local_#31803_status := 0; goto CFG_49866; CFG_42625: assume true; _memory[{ base : local_#31801_c!base, offset : local_#31801_c!offset + 8 }] := local_#4342_nresults; local_#15786 := fun_addr_#34723_f_call; local_#15787 := local_#31801_c; assert { :LIR "62680" } { :check "overflow" } { :finding_ids "0" } true; local_#15788 := _memory_ptr[{ base : local_#31801_c!base, offset : local_#31801_c!offset + 0 }]; assert { :LIR "61021" } { :check "overflow" } { :finding_ids "0" } true; local_#15789 := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 56 }]; assert { :LIR "61022" } { :check "overflow" } { :finding_ids "0" } true; local_#15790 := (local_#15788!offset - local_#15789!offset) / 1; goto CFG_46100; CFG_46100: assume true; call local_#15791 := routine_#33736_luaD_pcall(local_#4340_L,local_#15786,local_#15787,local_#15790,local_#31802_func); goto CFG_40403; CFG_40403: assume true; local_#31803_status := local_#15791; goto CFG_49866; CFG_49866: assume true; local_#15792 := -1; local_#15793 := (if local_#4342_nresults == local_#15792 then 1 else 0); if (local_#15793 != 0) { goto CFG_49867; } else { goto CFG_38262; } CFG_49867: assume true; local_#15794 := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 32 }]; local_#15795 := (if _memory_ptr[{ base : local_#15794!base, offset : local_#15794!offset + 8 }]!offset < _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 16 }]!offset then 1 else 0); if (local_#15795 != 0) { goto CFG_40404; } else { goto CFG_38262; } CFG_40404: assume true; local_#15796 := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 32 }]; _memory_ptr[{ base : local_#15796!base, offset : local_#15796!offset + 8 }] := _memory_ptr[{ base : local_#4340_L!base, offset : local_#4340_L!offset + 16 }]; goto CFG_38262; CFG_38262: assume true; local_#15797 := 0; local_#15798 := 0; assert { :LIR "61023" } { :check "overflow" } { :finding_ids "0" } true; local_#7887 := local_#31803_status; goto CFG_37375; CFG_37375: assume true; } procedure routine_#33957_lua_pushboolean(local_#4346_L_IN : { base : int, offset : int }, local_#4347_b_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4346_L : { base : int, offset : int }; var local_#4347_b : int; var local_#15799 : int; var local_#15800 : int; var local_#31806_io : { base : int, offset : int }; var local_#15801 : int; var local_#15802 : int; var local_#15803 : { base : int, offset : int }; var local_#15804 : { base : int, offset : int }; var local_#15805 : int; var local_#15806 : { base : int, offset : int }; var local_#15807 : int; var local_#15808 : int; var local_#15809 : int; var local_#15810 : int; local_#4346_L := local_#4346_L_IN; local_#4347_b := local_#4347_b_IN; goto CFG_36465; CFG_36465: assume true; goto CFG_39195; CFG_39195: assume true; local_#15799 := 0; local_#15800 := 0; assert { :LIR "61024" } { :check "overflow" } { :finding_ids "0" } true; local_#31806_io := _memory_ptr[{ base : local_#4346_L!base, offset : local_#4346_L!offset + 16 }]; local_#15801 := 0; local_#15802 := (if local_#4347_b != local_#15801 then 1 else 0); local_#15803 := { base : local_#31806_io!base, offset : local_#31806_io!offset + 0 }; _memory[local_#15803] := local_#15802; _memory[{ base : local_#31806_io!base, offset : local_#31806_io!offset + 8 }] := 1; local_#15804 := _memory_ptr[{ base : local_#4346_L!base, offset : local_#4346_L!offset + 16 }]; local_#15805 := 1; _memory_ptr[{ base : local_#4346_L!base, offset : local_#4346_L!offset + 16 }] := { base : local_#15804!base, offset : local_#15804!offset + local_#15805 * 16 }; local_#15806 := local_#15804; local_#15807 := 0; local_#15808 := 0; assert { :LIR "61025" } { :check "overflow" } { :finding_ids "0" } true; local_#15809 := 0; local_#15810 := 0; assert { :LIR "61026" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37376; CFG_37376: assume true; } procedure routine_#33958_lua_pushcclosure(local_#4348_L_IN : { base : int, offset : int }, local_#4349_fn_IN : { base : int, offset : int }, local_#4350_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4348_L : { base : int, offset : int }; var local_#4349_fn : { base : int, offset : int }; var local_#4350_n : int; var local_#15811 : int; var local_#15812 : int; var local_#15813 : int; var local_#15814 : int; var local_#15815 : int; var local_#15816 : int; var local_#15817 : int; var local_#15818 : int; var local_#15819 : { base : int, offset : int }; var local_#31808_cl : { base : int, offset : int }; var local_#15820 : int; var local_#15821 : int; var local_#15822 : int; var local_#31810_io : { base : int, offset : int }; var local_#31811_x_ : { base : int, offset : int }; var local_#15823 : { base : int, offset : int }; var local_#15824 : { base : int, offset : int }; var local_#15825 : { base : int, offset : int }; var local_#15826 : int; var local_#15827 : int; var local_#15828 : { base : int, offset : int }; var local_#15829 : int; var local_#15830 : { base : int, offset : int }; var local_#15831 : int; var local_#15832 : int; var local_#15833 : { base : int, offset : int }; var local_#15834 : int; var local_#15835 : int; var local_#15836 : int; var local_#15837 : int; var local_#15838 : int; var local_#15839 : int; var local_#15840 : int; var local_#15841 : int; var local_#15842 : { base : int, offset : int }; var local_#15843 : { base : int, offset : int }; var local_#31809_io1 : { base : int, offset : int }; var local_#15844 : { base : int, offset : int }; var local_#15845 : int; var local_#15846 : int; var local_#15847 : int; var local_#31807_io : { base : int, offset : int }; var local_#15848 : { base : int, offset : int }; var local_#15849 : { base : int, offset : int }; var local_#15850 : int; var local_#15851 : { base : int, offset : int }; var local_#15852 : int; var local_#15853 : int; var local_#15854 : int; var local_#15855 : int; local_#4348_L := local_#4348_L_IN; local_#4349_fn := local_#4349_fn_IN; local_#4350_n := local_#4350_n_IN; goto CFG_36466; CFG_36466: assume true; goto CFG_49868; CFG_49868: assume true; local_#15811 := 0; local_#15812 := 0; assert { :LIR "61027" } { :check "overflow" } { :finding_ids "0" } true; local_#15813 := 0; local_#15814 := (if local_#4350_n == local_#15813 then 1 else 0); if (local_#15814 != 0) { goto CFG_40407; } else { goto CFG_42626; } CFG_42626: assume true; local_#15815 := 0; local_#15816 := 0; assert { :LIR "61028" } { :check "overflow" } { :finding_ids "0" } true; local_#15817 := 0; local_#15818 := 0; assert { :LIR "61029" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46101; CFG_46101: assume true; call local_#15819 := routine_#33754_luaF_newCclosure(local_#4348_L,local_#4350_n); goto CFG_41674; CFG_41674: assume true; local_#31808_cl := local_#15819; _memory_ptr[{ base : local_#31808_cl!base, offset : local_#31808_cl!offset + 24 }] := local_#4349_fn; _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]!offset - local_#4350_n * 16 }; goto CFG_49869; CFG_49869: assume true; local_#15820 := local_#4350_n; local_#15821 := 1; local_#4350_n := local_#15820 - local_#15821; assert { :LIR "67957" } { :check "overflow" } { :finding_ids "0" } local_#4350_n <= 2147483647; local_#15822 := local_#15820; if (local_#15822 != 0) { goto CFG_45015; } else { goto CFG_49870; } CFG_49870: assume true; local_#31810_io := _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]; local_#31811_x_ := local_#31808_cl; local_#15823 := local_#31811_x_; assert { :LIR "61030" } { :check "overflow" } { :finding_ids "0" } true; local_#15824 := { base : local_#15823!base, offset : local_#15823!offset + 0 }; local_#15825 := { base : local_#31810_io!base, offset : local_#31810_io!offset + 0 }; _memory_ptr[local_#15825] := local_#15824; _memory[{ base : local_#31810_io!base, offset : local_#31810_io!offset + 8 }] := 102; local_#15826 := 0; local_#15827 := 0; assert { :LIR "61031" } { :check "overflow" } { :finding_ids "0" } true; local_#15828 := _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]; local_#15829 := 1; _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }] := { base : local_#15828!base, offset : local_#15828!offset + local_#15829 * 16 }; local_#15830 := local_#15828; local_#15831 := 0; local_#15832 := 0; assert { :LIR "61032" } { :check "overflow" } { :finding_ids "0" } true; local_#15833 := _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 24 }]; local_#15834 := 0; local_#15835 := (if _memory[{ base : local_#15833!base, offset : local_#15833!offset + 24 }] > local_#15834 then 1 else 0); if (local_#15835 != 0) { goto CFG_42627; } else { goto CFG_40406; } CFG_42627: assume true; local_#15836 := 0; local_#15837 := 0; assert { :LIR "61033" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46102; CFG_46102: assume true; call routine_#33728_luaC_step(local_#4348_L); goto CFG_40405; CFG_40405: assume true; local_#15838 := 0; local_#15839 := 0; assert { :LIR "61034" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40406; CFG_40406: assume true; local_#15840 := 0; local_#15841 := 0; assert { :LIR "61035" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39196; CFG_45015: assume true; local_#15842 := { base : local_#31808_cl!base, offset : local_#31808_cl!offset + 32 }; local_#15843 := { base : local_#15842!base, offset : local_#15842!offset + 0 * 16 + local_#4350_n * 16 }; local_#31809_io1 := local_#15843; local_#15844 := { base : _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]!offset + local_#4350_n * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#15844)!_value_!_b == _memory[{ base : local_#15844!base, offset : local_#15844!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#15844)!_value_!_f == _memory_ptr[{ base : local_#15844!base, offset : local_#15844!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#15844)!_value_!_gc == _memory_ptr[{ base : local_#15844!base, offset : local_#15844!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#15844)!_value_!_i == _memory[{ base : local_#15844!base, offset : local_#15844!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#15844)!_value_!_p == _memory_ptr[{ base : local_#15844!base, offset : local_#15844!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#15844)!_tt_ == _memory[{ base : local_#15844!base, offset : local_#15844!offset + 8 }]; call write_type_#101(local_#31809_io1,read_type_#101(_memory, _memory_ptr, local_#15844)); local_#15845 := 0; assert { :LIR "61036" } { :check "overflow" } { :finding_ids "0" } true; local_#15846 := 0; local_#15847 := 0; assert { :LIR "61037" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49869; CFG_40407: assume true; local_#31807_io := _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]; local_#15848 := { base : local_#31807_io!base, offset : local_#31807_io!offset + 0 }; _memory_ptr[local_#15848] := local_#4349_fn; _memory[{ base : local_#31807_io!base, offset : local_#31807_io!offset + 8 }] := 22; local_#15849 := _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }]; local_#15850 := 1; _memory_ptr[{ base : local_#4348_L!base, offset : local_#4348_L!offset + 16 }] := { base : local_#15849!base, offset : local_#15849!offset + local_#15850 * 16 }; local_#15851 := local_#15849; local_#15852 := 0; local_#15853 := 0; assert { :LIR "61038" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39196; CFG_39196: assume true; local_#15854 := 0; local_#15855 := 0; assert { :LIR "61039" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37377; CFG_37377: assume true; } procedure routine_#33959_lua_pushfstring(local_#4351_L_IN : { base : int, offset : int }, local_#4352_fmt_IN : { base : int, offset : int }, local_#7747_IN : { base : int, offset : int }) returns (local_#7888 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4351_L : { base : int, offset : int }; var local_#4352_fmt : { base : int, offset : int }; var local_#7747 : { base : int, offset : int }; var local_#15856 : int; var local_#15857 : int; var local_#31812_argp : { base : int, offset : int }; var local_#15858 : { base : int, offset : int }; var local_#15859 : { base : int, offset : int }; var local_#15860 : { base : int, offset : int }; var local_#31813_ret : { base : int, offset : int }; var local_#15861 : { base : int, offset : int }; var local_#15862 : int; var local_#15863 : int; var local_#15864 : int; var local_#15865 : int; var local_#15866 : int; var local_#15867 : int; var local_#15868 : int; var local_#15869 : int; var local_#15870 : int; var local_#15871 : int; local_#4351_L := local_#4351_L_IN; _memory_ptr[local_#4352_fmt] := local_#4352_fmt_IN; _memory_ptr[local_#7747] := local_#7747_IN; goto CFG_36467; CFG_36467: assume true; goto CFG_42628; CFG_42628: assume true; local_#15856 := 0; local_#15857 := 0; assert { :LIR "61040" } { :check "overflow" } { :finding_ids "0" } true; local_#15858 := { base : local_#31812_argp!base, offset : local_#31812_argp!offset + 0 * 24 }; _memory_ptr[{ base : local_#15858!base, offset : local_#15858!offset + 8 }] := local_#7747; local_#15859 := { base : local_#31812_argp!base, offset : local_#31812_argp!offset + 0 * 24 }; goto CFG_46103; CFG_46103: assume true; call local_#15860 := routine_#33866_luaO_pushvfstring(local_#4351_L,_memory_ptr[local_#4352_fmt],local_#15859); goto CFG_49871; CFG_49871: assume true; local_#31813_ret := local_#15860; local_#15861 := _memory_ptr[{ base : local_#4351_L!base, offset : local_#4351_L!offset + 24 }]; local_#15862 := 0; local_#15863 := (if _memory[{ base : local_#15861!base, offset : local_#15861!offset + 24 }] > local_#15862 then 1 else 0); if (local_#15863 != 0) { goto CFG_42629; } else { goto CFG_38263; } CFG_42629: assume true; local_#15864 := 0; local_#15865 := 0; assert { :LIR "61041" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46104; CFG_46104: assume true; call routine_#33728_luaC_step(local_#4351_L); goto CFG_40408; CFG_40408: assume true; local_#15866 := 0; local_#15867 := 0; assert { :LIR "61042" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38263; CFG_38263: assume true; local_#15868 := 0; local_#15869 := 0; assert { :LIR "61043" } { :check "overflow" } { :finding_ids "0" } true; local_#15870 := 0; local_#15871 := 0; assert { :LIR "61044" } { :check "overflow" } { :finding_ids "0" } true; local_#7888 := local_#31813_ret; goto CFG_37378; CFG_37378: assume true; } procedure routine_#33960_lua_pushinteger(local_#4353_L_IN : { base : int, offset : int }, local_#4354_n_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4353_L : { base : int, offset : int }; var local_#4354_n : int; var local_#15872 : int; var local_#15873 : int; var local_#31814_io : { base : int, offset : int }; var local_#15874 : { base : int, offset : int }; var local_#15875 : { base : int, offset : int }; var local_#15876 : int; var local_#15877 : { base : int, offset : int }; var local_#15878 : int; var local_#15879 : int; var local_#15880 : int; var local_#15881 : int; local_#4353_L := local_#4353_L_IN; local_#4354_n := local_#4354_n_IN; goto CFG_36468; CFG_36468: assume true; goto CFG_39197; CFG_39197: assume true; local_#15872 := 0; local_#15873 := 0; assert { :LIR "61045" } { :check "overflow" } { :finding_ids "0" } true; local_#31814_io := _memory_ptr[{ base : local_#4353_L!base, offset : local_#4353_L!offset + 16 }]; local_#15874 := { base : local_#31814_io!base, offset : local_#31814_io!offset + 0 }; _memory[local_#15874] := local_#4354_n; _memory[{ base : local_#31814_io!base, offset : local_#31814_io!offset + 8 }] := 19; local_#15875 := _memory_ptr[{ base : local_#4353_L!base, offset : local_#4353_L!offset + 16 }]; local_#15876 := 1; _memory_ptr[{ base : local_#4353_L!base, offset : local_#4353_L!offset + 16 }] := { base : local_#15875!base, offset : local_#15875!offset + local_#15876 * 16 }; local_#15877 := local_#15875; local_#15878 := 0; local_#15879 := 0; assert { :LIR "61046" } { :check "overflow" } { :finding_ids "0" } true; local_#15880 := 0; local_#15881 := 0; assert { :LIR "61047" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37379; CFG_37379: assume true; } procedure routine_#33961_lua_pushlightuserdata(local_#4355_L_IN : { base : int, offset : int }, local_#4356_p_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4355_L : { base : int, offset : int }; var local_#4356_p : { base : int, offset : int }; var local_#15882 : int; var local_#15883 : int; var local_#31815_io : { base : int, offset : int }; var local_#15884 : { base : int, offset : int }; var local_#15885 : { base : int, offset : int }; var local_#15886 : int; var local_#15887 : { base : int, offset : int }; var local_#15888 : int; var local_#15889 : int; var local_#15890 : int; var local_#15891 : int; local_#4355_L := local_#4355_L_IN; local_#4356_p := local_#4356_p_IN; goto CFG_36469; CFG_36469: assume true; goto CFG_39198; CFG_39198: assume true; local_#15882 := 0; local_#15883 := 0; assert { :LIR "61048" } { :check "overflow" } { :finding_ids "0" } true; local_#31815_io := _memory_ptr[{ base : local_#4355_L!base, offset : local_#4355_L!offset + 16 }]; local_#15884 := { base : local_#31815_io!base, offset : local_#31815_io!offset + 0 }; _memory_ptr[local_#15884] := local_#4356_p; _memory[{ base : local_#31815_io!base, offset : local_#31815_io!offset + 8 }] := 2; local_#15885 := _memory_ptr[{ base : local_#4355_L!base, offset : local_#4355_L!offset + 16 }]; local_#15886 := 1; _memory_ptr[{ base : local_#4355_L!base, offset : local_#4355_L!offset + 16 }] := { base : local_#15885!base, offset : local_#15885!offset + local_#15886 * 16 }; local_#15887 := local_#15885; local_#15888 := 0; local_#15889 := 0; assert { :LIR "61049" } { :check "overflow" } { :finding_ids "0" } true; local_#15890 := 0; local_#15891 := 0; assert { :LIR "61050" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37380; CFG_37380: assume true; } procedure routine_#33962_lua_pushlstring(local_#4357_L_IN : { base : int, offset : int }, local_#4358_s_IN : { base : int, offset : int }, local_#4359_len_IN : int) returns (local_#7889 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4357_L : { base : int, offset : int }; var local_#4358_s : { base : int, offset : int }; var local_#4359_len : int; var local_#15892 : int; var local_#15893 : int; var local_#15894 : int; var local_#15895 : int; var local_#15896 : { base : int, offset : int }; var local_#30697 : { base : int, offset : int }; var local_#15897 : { base : int, offset : int }; var local_#15898 : { base : int, offset : int }; var local_#15899 : { base : int, offset : int }; var local_#31816_ts : { base : int, offset : int }; var local_#31817_io : { base : int, offset : int }; var local_#31818_x_ : { base : int, offset : int }; var local_#15900 : { base : int, offset : int }; var local_#15901 : { base : int, offset : int }; var local_#15902 : { base : int, offset : int }; var local_#15903 : int; var local_#15904 : int; var local_#15905 : int; var local_#15906 : int; var local_#15907 : int; var local_#15908 : { base : int, offset : int }; var local_#15909 : int; var local_#15910 : { base : int, offset : int }; var local_#15911 : int; var local_#15912 : int; var local_#15913 : { base : int, offset : int }; var local_#15914 : int; var local_#15915 : int; var local_#15916 : int; var local_#15917 : int; var local_#15918 : int; var local_#15919 : int; var local_#15920 : int; var local_#15921 : int; var local_#15922 : int; var local_#15923 : int; var local_#15924 : { base : int, offset : int }; var local_#15925 : int; var local_#15926 : { base : int, offset : int }; var local_#15927 : { base : int, offset : int }; local_#4357_L := local_#4357_L_IN; local_#4358_s := local_#4358_s_IN; local_#4359_len := local_#4359_len_IN; goto CFG_36470; CFG_36470: assume true; goto CFG_49872; CFG_49872: assume true; local_#15892 := 0; local_#15893 := 0; assert { :LIR "61051" } { :check "overflow" } { :finding_ids "0" } true; local_#15894 := 0; local_#15895 := (if local_#4359_len == local_#15894 then 1 else 0); if (local_#15895 != 0) { goto CFG_42630; } else { goto CFG_46105; } CFG_46105: assume true; call local_#15896 := routine_#33877_luaS_newlstr(local_#4357_L,local_#4358_s,local_#4359_len); goto CFG_40409; CFG_40409: assume true; local_#30697 := local_#15896; goto CFG_49873; CFG_42630: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#15897 := strlit_#70352; local_#15898 := { base : local_#15897!base, offset : local_#15897!offset + 0 * 1 }; assert { :LIR "62681" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46106; CFG_46106: assume true; call local_#15899 := routine_#33876_luaS_new(local_#4357_L,local_#15898); goto CFG_40410; CFG_40410: assume true; local_#30697 := local_#15899; goto CFG_49873; CFG_49873: assume true; local_#31816_ts := local_#30697; local_#31817_io := _memory_ptr[{ base : local_#4357_L!base, offset : local_#4357_L!offset + 16 }]; local_#31818_x_ := local_#31816_ts; local_#15900 := local_#31818_x_; assert { :LIR "61052" } { :check "overflow" } { :finding_ids "0" } true; local_#15901 := { base : local_#15900!base, offset : local_#15900!offset + 0 }; local_#15902 := { base : local_#31817_io!base, offset : local_#31817_io!offset + 0 }; _memory_ptr[local_#15902] := local_#15901; local_#15903 := _memory[{ base : local_#31818_x_!base, offset : local_#31818_x_!offset + 8 }]; assert { :LIR "62682" } { :check "overflow" } { :finding_ids "0" } local_#15903 <= 2147483647; local_#15904 := 64; local_#15905 := ~sor32(local_#15903, local_#15904); _memory[{ base : local_#31817_io!base, offset : local_#31817_io!offset + 8 }] := local_#15905; local_#15906 := 0; local_#15907 := 0; assert { :LIR "61053" } { :check "overflow" } { :finding_ids "0" } true; local_#15908 := _memory_ptr[{ base : local_#4357_L!base, offset : local_#4357_L!offset + 16 }]; local_#15909 := 1; _memory_ptr[{ base : local_#4357_L!base, offset : local_#4357_L!offset + 16 }] := { base : local_#15908!base, offset : local_#15908!offset + local_#15909 * 16 }; local_#15910 := local_#15908; local_#15911 := 0; local_#15912 := 0; assert { :LIR "61054" } { :check "overflow" } { :finding_ids "0" } true; local_#15913 := _memory_ptr[{ base : local_#4357_L!base, offset : local_#4357_L!offset + 24 }]; local_#15914 := 0; local_#15915 := (if _memory[{ base : local_#15913!base, offset : local_#15913!offset + 24 }] > local_#15914 then 1 else 0); if (local_#15915 != 0) { goto CFG_42631; } else { goto CFG_38264; } CFG_42631: assume true; local_#15916 := 0; local_#15917 := 0; assert { :LIR "61055" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46107; CFG_46107: assume true; call routine_#33728_luaC_step(local_#4357_L); goto CFG_40411; CFG_40411: assume true; local_#15918 := 0; local_#15919 := 0; assert { :LIR "61056" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38264; CFG_38264: assume true; local_#15920 := 0; local_#15921 := 0; assert { :LIR "61057" } { :check "overflow" } { :finding_ids "0" } true; local_#15922 := 0; local_#15923 := 0; assert { :LIR "61058" } { :check "overflow" } { :finding_ids "0" } true; local_#15924 := local_#31816_ts; assert { :LIR "61059" } { :check "overflow" } { :finding_ids "0" } true; local_#15925 := 24; local_#15926 := { base : local_#15924!base, offset : local_#15924!offset + local_#15925 * 1 }; local_#15927 := local_#15926; assert { :LIR "62683" } { :check "overflow" } { :finding_ids "0" } true; local_#7889 := local_#15927; goto CFG_37381; CFG_37381: assume true; } procedure routine_#33963_lua_pushnil(local_#4360_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#4360_L : { base : int, offset : int }; var local_#15928 : int; var local_#15929 : int; var local_#15930 : int; var local_#15931 : { base : int, offset : int }; var local_#15932 : { base : int, offset : int }; var local_#15933 : int; var local_#15934 : { base : int, offset : int }; var local_#15935 : int; var local_#15936 : int; var local_#15937 : int; var local_#15938 : int; local_#4360_L := local_#4360_L_IN; goto CFG_36471; CFG_36471: assume true; goto CFG_39199; CFG_39199: assume true; local_#15928 := 0; local_#15929 := 0; assert { :LIR "61060" } { :check "overflow" } { :finding_ids "0" } true; local_#15930 := 0; local_#15931 := _memory_ptr[{ base : local_#4360_L!base, offset : local_#4360_L!offset + 16 }]; _memory[{ base : local_#15931!base, offset : local_#15931!offset + 8 }] := local_#15930; local_#15932 := _memory_ptr[{ base : local_#4360_L!base, offset : local_#4360_L!offset + 16 }]; local_#15933 := 1; _memory_ptr[{ base : local_#4360_L!base, offset : local_#4360_L!offset + 16 }] := { base : local_#15932!base, offset : local_#15932!offset + local_#15933 * 16 }; local_#15934 := local_#15932; local_#15935 := 0; local_#15936 := 0; assert { :LIR "61061" } { :check "overflow" } { :finding_ids "0" } true; local_#15937 := 0; local_#15938 := 0; assert { :LIR "61062" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37382; CFG_37382: assume true; } procedure routine_#33964_lua_pushnumber(local_#4361_L_IN : { base : int, offset : int }, local_#4362_n_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4361_L : { base : int, offset : int }; var local_#4362_n : int; var local_#15939 : int; var local_#15940 : int; var local_#31819_io : { base : int, offset : int }; var local_#15941 : { base : int, offset : int }; var local_#15942 : { base : int, offset : int }; var local_#15943 : int; var local_#15944 : { base : int, offset : int }; var local_#15945 : int; var local_#15946 : int; var local_#15947 : int; var local_#15948 : int; local_#4361_L := local_#4361_L_IN; local_#4362_n := local_#4362_n_IN; goto CFG_36472; CFG_36472: assume true; goto CFG_39200; CFG_39200: assume true; local_#15939 := 0; local_#15940 := 0; assert { :LIR "61063" } { :check "overflow" } { :finding_ids "0" } true; local_#31819_io := _memory_ptr[{ base : local_#4361_L!base, offset : local_#4361_L!offset + 16 }]; local_#15941 := { base : local_#31819_io!base, offset : local_#31819_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31819_io!base, offset : local_#31819_io!offset + 8 }] := 3; local_#15942 := _memory_ptr[{ base : local_#4361_L!base, offset : local_#4361_L!offset + 16 }]; local_#15943 := 1; _memory_ptr[{ base : local_#4361_L!base, offset : local_#4361_L!offset + 16 }] := { base : local_#15942!base, offset : local_#15942!offset + local_#15943 * 16 }; local_#15944 := local_#15942; local_#15945 := 0; local_#15946 := 0; assert { :LIR "61064" } { :check "overflow" } { :finding_ids "0" } true; local_#15947 := 0; local_#15948 := 0; assert { :LIR "61065" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37383; CFG_37383: assume true; } procedure routine_#33965_lua_pushstring(local_#4363_L_IN : { base : int, offset : int }, local_#4364_s_IN : { base : int, offset : int }) returns (local_#7890 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4363_L : { base : int, offset : int }; var local_#4364_s : { base : int, offset : int }; var local_#15949 : int; var local_#15950 : int; var local_#15951 : { base : int, offset : int }; var local_#15952 : int; var local_#15953 : { base : int, offset : int }; var local_#31820_ts : { base : int, offset : int }; var local_#31821_io : { base : int, offset : int }; var local_#31822_x_ : { base : int, offset : int }; var local_#15954 : { base : int, offset : int }; var local_#15955 : { base : int, offset : int }; var local_#15956 : { base : int, offset : int }; var local_#15957 : int; var local_#15958 : int; var local_#15959 : int; var local_#15960 : int; var local_#15961 : int; var local_#15962 : { base : int, offset : int }; var local_#15963 : int; var local_#15964 : { base : int, offset : int }; var local_#15965 : { base : int, offset : int }; var local_#15966 : int; var local_#15967 : { base : int, offset : int }; var local_#15968 : { base : int, offset : int }; var local_#15969 : int; var local_#15970 : { base : int, offset : int }; var local_#15971 : int; var local_#15972 : int; var local_#15973 : { base : int, offset : int }; var local_#15974 : int; var local_#15975 : int; var local_#15976 : int; var local_#15977 : int; var local_#15978 : int; var local_#15979 : int; var local_#15980 : int; var local_#15981 : int; var local_#15982 : int; var local_#15983 : int; local_#4363_L := local_#4363_L_IN; local_#4364_s := local_#4364_s_IN; goto CFG_36473; CFG_36473: assume true; goto CFG_49874; CFG_49874: assume true; local_#15949 := 0; local_#15950 := 0; assert { :LIR "61066" } { :check "overflow" } { :finding_ids "0" } true; local_#15951 := { base : 0, offset : 0 }; local_#15952 := (if local_#4364_s == local_#15951 then 1 else 0); if (local_#15952 != 0) { goto CFG_40413; } else { goto CFG_46108; } CFG_46108: assume true; call local_#15953 := routine_#33876_luaS_new(local_#4363_L,local_#4364_s); goto CFG_40412; CFG_40412: assume true; local_#31820_ts := local_#15953; local_#31821_io := _memory_ptr[{ base : local_#4363_L!base, offset : local_#4363_L!offset + 16 }]; local_#31822_x_ := local_#31820_ts; local_#15954 := local_#31822_x_; assert { :LIR "61067" } { :check "overflow" } { :finding_ids "0" } true; local_#15955 := { base : local_#15954!base, offset : local_#15954!offset + 0 }; local_#15956 := { base : local_#31821_io!base, offset : local_#31821_io!offset + 0 }; _memory_ptr[local_#15956] := local_#15955; local_#15957 := _memory[{ base : local_#31822_x_!base, offset : local_#31822_x_!offset + 8 }]; assert { :LIR "62684" } { :check "overflow" } { :finding_ids "0" } local_#15957 <= 2147483647; local_#15958 := 64; local_#15959 := ~sor32(local_#15957, local_#15958); _memory[{ base : local_#31821_io!base, offset : local_#31821_io!offset + 8 }] := local_#15959; local_#15960 := 0; local_#15961 := 0; assert { :LIR "61068" } { :check "overflow" } { :finding_ids "0" } true; local_#15962 := local_#31820_ts; assert { :LIR "61069" } { :check "overflow" } { :finding_ids "0" } true; local_#15963 := 24; local_#15964 := { base : local_#15962!base, offset : local_#15962!offset + local_#15963 * 1 }; local_#15965 := local_#15964; assert { :LIR "62685" } { :check "overflow" } { :finding_ids "0" } true; local_#4364_s := local_#15965; goto CFG_49875; CFG_40413: assume true; local_#15966 := 0; local_#15967 := _memory_ptr[{ base : local_#4363_L!base, offset : local_#4363_L!offset + 16 }]; _memory[{ base : local_#15967!base, offset : local_#15967!offset + 8 }] := local_#15966; goto CFG_49875; CFG_49875: assume true; local_#15968 := _memory_ptr[{ base : local_#4363_L!base, offset : local_#4363_L!offset + 16 }]; local_#15969 := 1; _memory_ptr[{ base : local_#4363_L!base, offset : local_#4363_L!offset + 16 }] := { base : local_#15968!base, offset : local_#15968!offset + local_#15969 * 16 }; local_#15970 := local_#15968; local_#15971 := 0; local_#15972 := 0; assert { :LIR "61070" } { :check "overflow" } { :finding_ids "0" } true; local_#15973 := _memory_ptr[{ base : local_#4363_L!base, offset : local_#4363_L!offset + 24 }]; local_#15974 := 0; local_#15975 := (if _memory[{ base : local_#15973!base, offset : local_#15973!offset + 24 }] > local_#15974 then 1 else 0); if (local_#15975 != 0) { goto CFG_42632; } else { goto CFG_38265; } CFG_42632: assume true; local_#15976 := 0; local_#15977 := 0; assert { :LIR "61071" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46109; CFG_46109: assume true; call routine_#33728_luaC_step(local_#4363_L); goto CFG_40414; CFG_40414: assume true; local_#15978 := 0; local_#15979 := 0; assert { :LIR "61072" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38265; CFG_38265: assume true; local_#15980 := 0; local_#15981 := 0; assert { :LIR "61073" } { :check "overflow" } { :finding_ids "0" } true; local_#15982 := 0; local_#15983 := 0; assert { :LIR "61074" } { :check "overflow" } { :finding_ids "0" } true; local_#7890 := local_#4364_s; goto CFG_37384; CFG_37384: assume true; } procedure routine_#33966_lua_pushthread(local_#4365_L_IN : { base : int, offset : int }) returns (local_#7891 : int) modifies _memory, _memory_ptr; { var local_#4365_L : { base : int, offset : int }; var local_#15984 : int; var local_#15985 : int; var local_#31823_io : { base : int, offset : int }; var local_#31824_x_ : { base : int, offset : int }; var local_#15986 : { base : int, offset : int }; var local_#15987 : { base : int, offset : int }; var local_#15988 : { base : int, offset : int }; var local_#15989 : int; var local_#15990 : int; var local_#15991 : { base : int, offset : int }; var local_#15992 : int; var local_#15993 : { base : int, offset : int }; var local_#15994 : int; var local_#15995 : int; var local_#15996 : int; var local_#15997 : int; var local_#15998 : { base : int, offset : int }; var local_#15999 : int; local_#4365_L := local_#4365_L_IN; goto CFG_36474; CFG_36474: assume true; goto CFG_38266; CFG_38266: assume true; local_#15984 := 0; local_#15985 := 0; assert { :LIR "61075" } { :check "overflow" } { :finding_ids "0" } true; local_#31823_io := _memory_ptr[{ base : local_#4365_L!base, offset : local_#4365_L!offset + 16 }]; local_#31824_x_ := local_#4365_L; local_#15986 := local_#31824_x_; assert { :LIR "61076" } { :check "overflow" } { :finding_ids "0" } true; local_#15987 := { base : local_#15986!base, offset : local_#15986!offset + 0 }; local_#15988 := { base : local_#31823_io!base, offset : local_#31823_io!offset + 0 }; _memory_ptr[local_#15988] := local_#15987; _memory[{ base : local_#31823_io!base, offset : local_#31823_io!offset + 8 }] := 72; local_#15989 := 0; local_#15990 := 0; assert { :LIR "61077" } { :check "overflow" } { :finding_ids "0" } true; local_#15991 := _memory_ptr[{ base : local_#4365_L!base, offset : local_#4365_L!offset + 16 }]; local_#15992 := 1; _memory_ptr[{ base : local_#4365_L!base, offset : local_#4365_L!offset + 16 }] := { base : local_#15991!base, offset : local_#15991!offset + local_#15992 * 16 }; local_#15993 := local_#15991; local_#15994 := 0; local_#15995 := 0; assert { :LIR "61078" } { :check "overflow" } { :finding_ids "0" } true; local_#15996 := 0; local_#15997 := 0; assert { :LIR "61079" } { :check "overflow" } { :finding_ids "0" } true; local_#15998 := _memory_ptr[{ base : local_#4365_L!base, offset : local_#4365_L!offset + 24 }]; local_#15999 := (if _memory_ptr[{ base : local_#15998!base, offset : local_#15998!offset + 200 }] == local_#4365_L then 1 else 0); local_#7891 := local_#15999; goto CFG_37385; CFG_37385: assume true; } procedure routine_#33967_lua_pushvalue(local_#4366_L_IN : { base : int, offset : int }, local_#4367_idx_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4366_L : { base : int, offset : int }; var local_#4367_idx : int; var local_#16000 : int; var local_#16001 : int; var local_#31825_io1 : { base : int, offset : int }; var local_#16002 : { base : int, offset : int }; var local_#16003 : int; var local_#16004 : int; var local_#16005 : int; var local_#16006 : { base : int, offset : int }; var local_#16007 : int; var local_#16008 : { base : int, offset : int }; var local_#16009 : int; var local_#16010 : int; var local_#16011 : int; var local_#16012 : int; local_#4366_L := local_#4366_L_IN; local_#4367_idx := local_#4367_idx_IN; goto CFG_36475; CFG_36475: assume true; goto CFG_42633; CFG_42633: assume true; local_#16000 := 0; local_#16001 := 0; assert { :LIR "61080" } { :check "overflow" } { :finding_ids "0" } true; local_#31825_io1 := _memory_ptr[{ base : local_#4366_L!base, offset : local_#4366_L!offset + 16 }]; goto CFG_46110; CFG_46110: assume true; call local_#16002 := routine_#34811_index2addr(local_#4366_L,local_#4367_idx); goto CFG_39201; CFG_39201: assume true; assume read_type_#101(_memory, _memory_ptr, local_#16002)!_value_!_b == _memory[{ base : local_#16002!base, offset : local_#16002!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16002)!_value_!_f == _memory_ptr[{ base : local_#16002!base, offset : local_#16002!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16002)!_value_!_gc == _memory_ptr[{ base : local_#16002!base, offset : local_#16002!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16002)!_value_!_i == _memory[{ base : local_#16002!base, offset : local_#16002!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16002)!_value_!_p == _memory_ptr[{ base : local_#16002!base, offset : local_#16002!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16002)!_tt_ == _memory[{ base : local_#16002!base, offset : local_#16002!offset + 8 }]; call write_type_#101(local_#31825_io1,read_type_#101(_memory, _memory_ptr, local_#16002)); local_#16003 := 0; assert { :LIR "61081" } { :check "overflow" } { :finding_ids "0" } true; local_#16004 := 0; local_#16005 := 0; assert { :LIR "61082" } { :check "overflow" } { :finding_ids "0" } true; local_#16006 := _memory_ptr[{ base : local_#4366_L!base, offset : local_#4366_L!offset + 16 }]; local_#16007 := 1; _memory_ptr[{ base : local_#4366_L!base, offset : local_#4366_L!offset + 16 }] := { base : local_#16006!base, offset : local_#16006!offset + local_#16007 * 16 }; local_#16008 := local_#16006; local_#16009 := 0; local_#16010 := 0; assert { :LIR "61083" } { :check "overflow" } { :finding_ids "0" } true; local_#16011 := 0; local_#16012 := 0; assert { :LIR "61084" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37386; CFG_37386: assume true; } procedure routine_#33968_lua_pushvfstring(local_#4368_L_IN : { base : int, offset : int }, local_#4369_fmt_IN : { base : int, offset : int }, local_#4370_argp_IN : { base : int, offset : int }) returns (local_#7892 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4368_L : { base : int, offset : int }; var local_#4369_fmt : { base : int, offset : int }; var local_#4370_argp : { base : int, offset : int }; var local_#16013 : int; var local_#16014 : int; var local_#16015 : { base : int, offset : int }; var local_#31826_ret : { base : int, offset : int }; var local_#16016 : { base : int, offset : int }; var local_#16017 : int; var local_#16018 : int; var local_#16019 : int; var local_#16020 : int; var local_#16021 : int; var local_#16022 : int; var local_#16023 : int; var local_#16024 : int; var local_#16025 : int; var local_#16026 : int; local_#4368_L := local_#4368_L_IN; local_#4369_fmt := local_#4369_fmt_IN; local_#4370_argp := local_#4370_argp_IN; goto CFG_36476; CFG_36476: assume true; goto CFG_42634; CFG_42634: assume true; local_#16013 := 0; local_#16014 := 0; assert { :LIR "61085" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46111; CFG_46111: assume true; call local_#16015 := routine_#33866_luaO_pushvfstring(local_#4368_L,local_#4369_fmt,local_#4370_argp); goto CFG_49876; CFG_49876: assume true; local_#31826_ret := local_#16015; local_#16016 := _memory_ptr[{ base : local_#4368_L!base, offset : local_#4368_L!offset + 24 }]; local_#16017 := 0; local_#16018 := (if _memory[{ base : local_#16016!base, offset : local_#16016!offset + 24 }] > local_#16017 then 1 else 0); if (local_#16018 != 0) { goto CFG_42635; } else { goto CFG_38267; } CFG_42635: assume true; local_#16019 := 0; local_#16020 := 0; assert { :LIR "61086" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46112; CFG_46112: assume true; call routine_#33728_luaC_step(local_#4368_L); goto CFG_40415; CFG_40415: assume true; local_#16021 := 0; local_#16022 := 0; assert { :LIR "61087" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38267; CFG_38267: assume true; local_#16023 := 0; local_#16024 := 0; assert { :LIR "61088" } { :check "overflow" } { :finding_ids "0" } true; local_#16025 := 0; local_#16026 := 0; assert { :LIR "61089" } { :check "overflow" } { :finding_ids "0" } true; local_#7892 := local_#31826_ret; goto CFG_37387; CFG_37387: assume true; } procedure routine_#33969_lua_rawequal(local_#4371_L_IN : { base : int, offset : int }, local_#4372_index1_IN : int, local_#4373_index2_IN : int) returns (local_#7893 : int) modifies _memory, _memory_ptr, _valid; { var local_#4371_L : { base : int, offset : int }; var local_#4372_index1 : int; var local_#4373_index2 : int; var local_#16027 : { base : int, offset : int }; var local_#31827_o1 : { base : int, offset : int }; var local_#16028 : { base : int, offset : int }; var local_#31828_o2 : { base : int, offset : int }; var local_#16029 : { base : int, offset : int }; var local_#16030 : int; var local_#16031 : { base : int, offset : int }; var local_#16032 : int; var local_#30698 : int; var local_#16033 : { base : int, offset : int }; var local_#16034 : { base : int, offset : int }; var local_#16035 : { base : int, offset : int }; var local_#16036 : int; local_#4371_L := local_#4371_L_IN; local_#4372_index1 := local_#4372_index1_IN; local_#4373_index2 := local_#4373_index2_IN; goto CFG_36477; CFG_36477: assume true; goto CFG_46113; CFG_46113: assume true; call local_#16027 := routine_#34811_index2addr(local_#4371_L,local_#4372_index1); goto CFG_42636; CFG_42636: assume true; local_#31827_o1 := local_#16027; goto CFG_46114; CFG_46114: assume true; call local_#16028 := routine_#34811_index2addr(local_#4371_L,local_#4373_index2); goto CFG_49877; CFG_49877: assume true; local_#31828_o2 := local_#16028; local_#16029 := local_#31827_o1; assert { :LIR "62686" } { :check "overflow" } { :finding_ids "0" } true; local_#16030 := (if local_#16029 != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#16030 != 0) { goto CFG_49878; } else { goto CFG_40416; } CFG_49878: assume true; local_#16031 := local_#31828_o2; assert { :LIR "62687" } { :check "overflow" } { :finding_ids "0" } true; local_#16032 := (if local_#16031 != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#16032 != 0) { goto CFG_42637; } else { goto CFG_40416; } CFG_40416: assume true; local_#30698 := 0; goto CFG_38268; CFG_42637: assume true; local_#16033 := { base : 0, offset : 0 }; local_#16034 := local_#31827_o1; assert { :LIR "62688" } { :check "overflow" } { :finding_ids "0" } true; local_#16035 := local_#31828_o2; assert { :LIR "62689" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46115; CFG_46115: assume true; call local_#16036 := routine_#33893_luaV_equalobj(local_#16033,local_#16034,local_#16035); goto CFG_40417; CFG_40417: assume true; local_#30698 := local_#16036; goto CFG_38268; CFG_38268: assume true; local_#7893 := local_#30698; goto CFG_37388; CFG_37388: assume true; } procedure routine_#33970_lua_rawget(local_#4374_L_IN : { base : int, offset : int }, local_#4375_idx_IN : int) returns (local_#7894 : int) modifies _memory, _memory_ptr, _valid; { var local_#4374_L : { base : int, offset : int }; var local_#4375_idx : int; var local_#16037 : int; var local_#16038 : int; var local_#16039 : { base : int, offset : int }; var local_#31829_t : { base : int, offset : int }; var local_#16040 : int; var local_#16041 : int; var local_#16042 : int; var local_#16043 : { base : int, offset : int }; var local_#31830_io1 : { base : int, offset : int }; var local_#16044 : { base : int, offset : int }; var local_#16045 : { base : int, offset : int }; var local_#16046 : { base : int, offset : int }; var local_#16047 : int; var local_#16048 : { base : int, offset : int }; var local_#16049 : { base : int, offset : int }; var local_#16050 : { base : int, offset : int }; var local_#16051 : int; var local_#16052 : int; var local_#16053 : int; var local_#16054 : int; var local_#16055 : int; var local_#16056 : int; var local_#16057 : { base : int, offset : int }; var local_#16058 : int; var local_#16059 : int; local_#4374_L := local_#4374_L_IN; local_#4375_idx := local_#4375_idx_IN; goto CFG_36478; CFG_36478: assume true; goto CFG_42638; CFG_42638: assume true; local_#16037 := 0; local_#16038 := 0; assert { :LIR "61090" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46116; CFG_46116: assume true; call local_#16039 := routine_#34811_index2addr(local_#4374_L,local_#4375_idx); goto CFG_42639; CFG_42639: assume true; local_#31829_t := local_#16039; local_#16040 := 0; local_#16041 := 0; assert { :LIR "61091" } { :check "overflow" } { :finding_ids "0" } true; local_#16042 := 1; local_#16043 := { base : _memory_ptr[{ base : local_#4374_L!base, offset : local_#4374_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4374_L!base, offset : local_#4374_L!offset + 16 }]!offset - local_#16042 * 16 }; local_#31830_io1 := local_#16043; local_#16044 := { base : local_#31829_t!base, offset : local_#31829_t!offset + 0 }; local_#16045 := _memory_ptr[local_#16044]; assert { :LIR "61092" } { :check "overflow" } { :finding_ids "0" } true; local_#16046 := { base : local_#16045!base, offset : local_#16045!offset + 0 }; local_#16047 := 1; local_#16048 := { base : _memory_ptr[{ base : local_#4374_L!base, offset : local_#4374_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4374_L!base, offset : local_#4374_L!offset + 16 }]!offset - local_#16047 * 16 }; local_#16049 := local_#16048; assert { :LIR "62690" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46117; CFG_46117: assume true; call local_#16050 := routine_#33767_luaH_get(local_#16046,local_#16049); goto CFG_38269; CFG_38269: assume true; assume read_type_#101(_memory, _memory_ptr, local_#16050)!_value_!_b == _memory[{ base : local_#16050!base, offset : local_#16050!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16050)!_value_!_f == _memory_ptr[{ base : local_#16050!base, offset : local_#16050!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16050)!_value_!_gc == _memory_ptr[{ base : local_#16050!base, offset : local_#16050!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16050)!_value_!_i == _memory[{ base : local_#16050!base, offset : local_#16050!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16050)!_value_!_p == _memory_ptr[{ base : local_#16050!base, offset : local_#16050!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16050)!_tt_ == _memory[{ base : local_#16050!base, offset : local_#16050!offset + 8 }]; call write_type_#101(local_#31830_io1,read_type_#101(_memory, _memory_ptr, local_#16050)); local_#16051 := 0; assert { :LIR "61093" } { :check "overflow" } { :finding_ids "0" } true; local_#16052 := 0; local_#16053 := 0; assert { :LIR "61094" } { :check "overflow" } { :finding_ids "0" } true; local_#16054 := 0; local_#16055 := 0; assert { :LIR "61095" } { :check "overflow" } { :finding_ids "0" } true; local_#16056 := 1; local_#16057 := { base : _memory_ptr[{ base : local_#4374_L!base, offset : local_#4374_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4374_L!base, offset : local_#4374_L!offset + 16 }]!offset - local_#16056 * 16 }; local_#16058 := 15; local_#16059 := ~sand32(_memory[{ base : local_#16057!base, offset : local_#16057!offset + 8 }], local_#16058); local_#7894 := local_#16059; goto CFG_37389; CFG_37389: assume true; } procedure routine_#33971_lua_rawgeti(local_#4376_L_IN : { base : int, offset : int }, local_#4377_idx_IN : int, local_#4378_n_IN : int) returns (local_#7895 : int) modifies _memory, _memory_ptr; { var local_#4376_L : { base : int, offset : int }; var local_#4377_idx : int; var local_#4378_n : int; var local_#16060 : int; var local_#16061 : int; var local_#16062 : { base : int, offset : int }; var local_#31831_t : { base : int, offset : int }; var local_#16063 : int; var local_#16064 : int; var local_#31832_io1 : { base : int, offset : int }; var local_#16065 : { base : int, offset : int }; var local_#16066 : { base : int, offset : int }; var local_#16067 : { base : int, offset : int }; var local_#16068 : { base : int, offset : int }; var local_#16069 : int; var local_#16070 : int; var local_#16071 : int; var local_#16072 : { base : int, offset : int }; var local_#16073 : int; var local_#16074 : { base : int, offset : int }; var local_#16075 : int; var local_#16076 : int; var local_#16077 : int; var local_#16078 : int; var local_#16079 : int; var local_#16080 : { base : int, offset : int }; var local_#16081 : int; var local_#16082 : int; local_#4376_L := local_#4376_L_IN; local_#4377_idx := local_#4377_idx_IN; local_#4378_n := local_#4378_n_IN; goto CFG_36479; CFG_36479: assume true; goto CFG_42640; CFG_42640: assume true; local_#16060 := 0; local_#16061 := 0; assert { :LIR "61096" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46118; CFG_46118: assume true; call local_#16062 := routine_#34811_index2addr(local_#4376_L,local_#4377_idx); goto CFG_42641; CFG_42641: assume true; local_#31831_t := local_#16062; local_#16063 := 0; local_#16064 := 0; assert { :LIR "61097" } { :check "overflow" } { :finding_ids "0" } true; local_#31832_io1 := _memory_ptr[{ base : local_#4376_L!base, offset : local_#4376_L!offset + 16 }]; local_#16065 := { base : local_#31831_t!base, offset : local_#31831_t!offset + 0 }; local_#16066 := _memory_ptr[local_#16065]; assert { :LIR "61098" } { :check "overflow" } { :finding_ids "0" } true; local_#16067 := { base : local_#16066!base, offset : local_#16066!offset + 0 }; goto CFG_46119; CFG_46119: assume true; call local_#16068 := routine_#33768_luaH_getint(local_#16067,local_#4378_n); goto CFG_38270; CFG_38270: assume true; assume read_type_#101(_memory, _memory_ptr, local_#16068)!_value_!_b == _memory[{ base : local_#16068!base, offset : local_#16068!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16068)!_value_!_f == _memory_ptr[{ base : local_#16068!base, offset : local_#16068!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16068)!_value_!_gc == _memory_ptr[{ base : local_#16068!base, offset : local_#16068!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16068)!_value_!_i == _memory[{ base : local_#16068!base, offset : local_#16068!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16068)!_value_!_p == _memory_ptr[{ base : local_#16068!base, offset : local_#16068!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16068)!_tt_ == _memory[{ base : local_#16068!base, offset : local_#16068!offset + 8 }]; call write_type_#101(local_#31832_io1,read_type_#101(_memory, _memory_ptr, local_#16068)); local_#16069 := 0; assert { :LIR "61099" } { :check "overflow" } { :finding_ids "0" } true; local_#16070 := 0; local_#16071 := 0; assert { :LIR "61100" } { :check "overflow" } { :finding_ids "0" } true; local_#16072 := _memory_ptr[{ base : local_#4376_L!base, offset : local_#4376_L!offset + 16 }]; local_#16073 := 1; _memory_ptr[{ base : local_#4376_L!base, offset : local_#4376_L!offset + 16 }] := { base : local_#16072!base, offset : local_#16072!offset + local_#16073 * 16 }; local_#16074 := local_#16072; local_#16075 := 0; local_#16076 := 0; assert { :LIR "61101" } { :check "overflow" } { :finding_ids "0" } true; local_#16077 := 0; local_#16078 := 0; assert { :LIR "61102" } { :check "overflow" } { :finding_ids "0" } true; local_#16079 := 1; local_#16080 := { base : _memory_ptr[{ base : local_#4376_L!base, offset : local_#4376_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4376_L!base, offset : local_#4376_L!offset + 16 }]!offset - local_#16079 * 16 }; local_#16081 := 15; local_#16082 := ~sand32(_memory[{ base : local_#16080!base, offset : local_#16080!offset + 8 }], local_#16081); local_#7895 := local_#16082; goto CFG_37390; CFG_37390: assume true; } procedure routine_#33972_lua_rawgetp(local_#4379_L_IN : { base : int, offset : int }, local_#4380_idx_IN : int, local_#4381_p_IN : { base : int, offset : int }) returns (local_#7896 : int) modifies _memory, _memory_ptr, _valid; { var local_#4379_L : { base : int, offset : int }; var local_#4380_idx : int; var local_#4381_p : { base : int, offset : int }; var local_#16083 : int; var local_#16084 : int; var local_#16085 : { base : int, offset : int }; var local_#31834_t : { base : int, offset : int }; var local_#16086 : int; var local_#16087 : int; var local_#31833_k : { base : int, offset : int }; var local_#31835_io : { base : int, offset : int }; var local_#16088 : { base : int, offset : int }; var local_#16089 : { base : int, offset : int }; var local_#31836_io1 : { base : int, offset : int }; var local_#16090 : { base : int, offset : int }; var local_#16091 : { base : int, offset : int }; var local_#16092 : { base : int, offset : int }; var local_#16093 : { base : int, offset : int }; var local_#16094 : { base : int, offset : int }; var local_#16095 : int; var local_#16096 : int; var local_#16097 : int; var local_#16098 : { base : int, offset : int }; var local_#16099 : int; var local_#16100 : { base : int, offset : int }; var local_#16101 : int; var local_#16102 : int; var local_#16103 : int; var local_#16104 : int; var local_#16105 : int; var local_#16106 : { base : int, offset : int }; var local_#16107 : int; var local_#16108 : int; local_#4379_L := local_#4379_L_IN; local_#4380_idx := local_#4380_idx_IN; local_#4381_p := local_#4381_p_IN; goto CFG_36480; CFG_36480: assume true; goto CFG_42642; CFG_42642: assume true; local_#16083 := 0; local_#16084 := 0; assert { :LIR "61103" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46120; CFG_46120: assume true; call local_#16085 := routine_#34811_index2addr(local_#4379_L,local_#4380_idx); goto CFG_42643; CFG_42643: assume true; local_#31834_t := local_#16085; local_#16086 := 0; local_#16087 := 0; assert { :LIR "61104" } { :check "overflow" } { :finding_ids "0" } true; local_#31835_io := local_#31833_k; local_#16088 := local_#4381_p; assert { :LIR "61105" } { :check "overflow" } { :finding_ids "0" } true; local_#16089 := { base : local_#31835_io!base, offset : local_#31835_io!offset + 0 }; _memory_ptr[local_#16089] := local_#16088; _memory[{ base : local_#31835_io!base, offset : local_#31835_io!offset + 8 }] := 2; local_#31836_io1 := _memory_ptr[{ base : local_#4379_L!base, offset : local_#4379_L!offset + 16 }]; local_#16090 := { base : local_#31834_t!base, offset : local_#31834_t!offset + 0 }; local_#16091 := _memory_ptr[local_#16090]; assert { :LIR "61106" } { :check "overflow" } { :finding_ids "0" } true; local_#16092 := { base : local_#16091!base, offset : local_#16091!offset + 0 }; local_#16093 := local_#31833_k; assert { :LIR "62691" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46121; CFG_46121: assume true; call local_#16094 := routine_#33767_luaH_get(local_#16092,local_#16093); goto CFG_38271; CFG_38271: assume true; assume read_type_#101(_memory, _memory_ptr, local_#16094)!_value_!_b == _memory[{ base : local_#16094!base, offset : local_#16094!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16094)!_value_!_f == _memory_ptr[{ base : local_#16094!base, offset : local_#16094!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16094)!_value_!_gc == _memory_ptr[{ base : local_#16094!base, offset : local_#16094!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16094)!_value_!_i == _memory[{ base : local_#16094!base, offset : local_#16094!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16094)!_value_!_p == _memory_ptr[{ base : local_#16094!base, offset : local_#16094!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16094)!_tt_ == _memory[{ base : local_#16094!base, offset : local_#16094!offset + 8 }]; call write_type_#101(local_#31836_io1,read_type_#101(_memory, _memory_ptr, local_#16094)); local_#16095 := 0; assert { :LIR "61107" } { :check "overflow" } { :finding_ids "0" } true; local_#16096 := 0; local_#16097 := 0; assert { :LIR "61108" } { :check "overflow" } { :finding_ids "0" } true; local_#16098 := _memory_ptr[{ base : local_#4379_L!base, offset : local_#4379_L!offset + 16 }]; local_#16099 := 1; _memory_ptr[{ base : local_#4379_L!base, offset : local_#4379_L!offset + 16 }] := { base : local_#16098!base, offset : local_#16098!offset + local_#16099 * 16 }; local_#16100 := local_#16098; local_#16101 := 0; local_#16102 := 0; assert { :LIR "61109" } { :check "overflow" } { :finding_ids "0" } true; local_#16103 := 0; local_#16104 := 0; assert { :LIR "61110" } { :check "overflow" } { :finding_ids "0" } true; local_#16105 := 1; local_#16106 := { base : _memory_ptr[{ base : local_#4379_L!base, offset : local_#4379_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4379_L!base, offset : local_#4379_L!offset + 16 }]!offset - local_#16105 * 16 }; local_#16107 := 15; local_#16108 := ~sand32(_memory[{ base : local_#16106!base, offset : local_#16106!offset + 8 }], local_#16107); local_#7896 := local_#16108; goto CFG_37391; CFG_37391: assume true; } procedure routine_#33973_lua_rawlen(local_#4382_L_IN : { base : int, offset : int }, local_#4383_idx_IN : int) returns (local_#7897 : int) { var local_#4382_L : { base : int, offset : int }; var local_#4383_idx : int; var local_#16109 : { base : int, offset : int }; var local_#31837_o : { base : int, offset : int }; var local_#16110 : int; var local_#16111 : int; var local_#16112 : { base : int, offset : int }; var local_#16113 : { base : int, offset : int }; var local_#16114 : { base : int, offset : int }; var local_#16115 : int; var local_#16116 : int; var local_#16117 : { base : int, offset : int }; var local_#16118 : { base : int, offset : int }; var local_#16119 : { base : int, offset : int }; var local_#16120 : { base : int, offset : int }; var local_#16121 : { base : int, offset : int }; var local_#16122 : { base : int, offset : int }; var local_#16123 : { base : int, offset : int }; var local_#16124 : { base : int, offset : int }; var local_#16125 : { base : int, offset : int }; var local_#16126 : { base : int, offset : int }; var local_#16127 : int; local_#4382_L := local_#4382_L_IN; local_#4383_idx := local_#4383_idx_IN; goto CFG_36481; CFG_36481: assume true; goto CFG_46122; CFG_46122: assume true; call local_#16109 := routine_#34811_index2addr(local_#4382_L,local_#4383_idx); goto CFG_51521; CFG_51521: assume true; local_#31837_o := local_#16109; local_#16110 := 63; local_#16111 := ~sand32(_memory[{ base : local_#31837_o!base, offset : local_#31837_o!offset + 8 }], local_#16110); if (local_#16111 == 4) { goto CFG_38276; } if (local_#16111 == 20) { goto CFG_38275; } if (local_#16111 == 7) { goto CFG_38274; } if (local_#16111 == 5) { goto CFG_42644; } goto CFG_38272; CFG_38272: assume true; local_#7897 := 0; goto CFG_37392; CFG_42644: assume true; local_#16112 := { base : local_#31837_o!base, offset : local_#31837_o!offset + 0 }; local_#16113 := _memory_ptr[local_#16112]; assert { :LIR "61111" } { :check "overflow" } { :finding_ids "0" } true; local_#16114 := { base : local_#16113!base, offset : local_#16113!offset + 0 }; goto CFG_46123; CFG_46123: assume true; call local_#16115 := routine_#33769_luaH_getn(local_#16114); goto CFG_38273; CFG_38273: assume true; local_#16116 := ~uwrap64(local_#16115); assert { :LIR "62692" } { :check "overflow" } { :finding_ids "0" } true; local_#7897 := local_#16116; goto CFG_37392; CFG_38274: assume true; local_#16117 := { base : local_#31837_o!base, offset : local_#31837_o!offset + 0 }; local_#16118 := _memory_ptr[local_#16117]; assert { :LIR "61112" } { :check "overflow" } { :finding_ids "0" } true; local_#16119 := { base : local_#16118!base, offset : local_#16118!offset + 0 }; local_#7897 := _memory[{ base : local_#16119!base, offset : local_#16119!offset + 24 }]; goto CFG_37392; CFG_38275: assume true; local_#16120 := { base : local_#31837_o!base, offset : local_#31837_o!offset + 0 }; local_#16121 := _memory_ptr[local_#16120]; assert { :LIR "61113" } { :check "overflow" } { :finding_ids "0" } true; local_#16122 := { base : local_#16121!base, offset : local_#16121!offset + 0 }; local_#16123 := { base : local_#16122!base, offset : local_#16122!offset + 16 }; local_#7897 := _memory[local_#16123]; goto CFG_37392; CFG_38276: assume true; local_#16124 := { base : local_#31837_o!base, offset : local_#31837_o!offset + 0 }; local_#16125 := _memory_ptr[local_#16124]; assert { :LIR "61114" } { :check "overflow" } { :finding_ids "0" } true; local_#16126 := { base : local_#16125!base, offset : local_#16125!offset + 0 }; local_#16127 := ~uwrap64(_memory[{ base : local_#16126!base, offset : local_#16126!offset + 11 }]); assert { :LIR "62693" } { :check "overflow" } { :finding_ids "0" } true; local_#7897 := local_#16127; goto CFG_37392; CFG_37392: assume true; } procedure routine_#33974_lua_rawset(local_#4384_L_IN : { base : int, offset : int }, local_#4385_idx_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4384_L : { base : int, offset : int }; var local_#4385_idx : int; var local_#16128 : int; var local_#16129 : int; var local_#16130 : int; var local_#16131 : int; var local_#16132 : { base : int, offset : int }; var local_#31838_o : { base : int, offset : int }; var local_#16133 : int; var local_#16134 : int; var local_#16135 : { base : int, offset : int }; var local_#16136 : { base : int, offset : int }; var local_#16137 : { base : int, offset : int }; var local_#16138 : int; var local_#16139 : { base : int, offset : int }; var local_#16140 : { base : int, offset : int }; var local_#16141 : { base : int, offset : int }; var local_#31839_slot : { base : int, offset : int }; var local_#16142 : int; var local_#16143 : int; var local_#16144 : { base : int, offset : int }; var local_#16145 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16146 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16147 : int; var local_#16148 : int; var local_#16149 : int; var local_#16150 : { base : int, offset : int }; var local_#16151 : { base : int, offset : int }; var local_#16152 : { base : int, offset : int }; var local_#16153 : int; var local_#16154 : { base : int, offset : int }; var local_#16155 : int; var local_#16156 : int; var local_#16157 : { base : int, offset : int }; var local_#16158 : { base : int, offset : int }; var local_#16159 : { base : int, offset : int }; var local_#16160 : int; var local_#16161 : int; var local_#16162 : int; var local_#16163 : int; var local_#16164 : { base : int, offset : int }; var local_#16165 : { base : int, offset : int }; var local_#16166 : { base : int, offset : int }; var local_#16167 : int; var local_#16168 : int; var local_#16169 : int; var local_#16170 : int; var local_#16171 : int; var local_#16172 : { base : int, offset : int }; var local_#16173 : { base : int, offset : int }; var local_#16174 : { base : int, offset : int }; var local_#16175 : int; var local_#16176 : int; var local_#16177 : int; local_#4384_L := local_#4384_L_IN; local_#4385_idx := local_#4385_idx_IN; goto CFG_36482; CFG_36482: assume true; goto CFG_42645; CFG_42645: assume true; local_#16128 := 0; local_#16129 := 0; assert { :LIR "61115" } { :check "overflow" } { :finding_ids "0" } true; local_#16130 := 0; local_#16131 := 0; assert { :LIR "61116" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46124; CFG_46124: assume true; call local_#16132 := routine_#34811_index2addr(local_#4384_L,local_#4385_idx); goto CFG_42646; CFG_42646: assume true; local_#31838_o := local_#16132; local_#16133 := 0; local_#16134 := 0; assert { :LIR "61117" } { :check "overflow" } { :finding_ids "0" } true; local_#16135 := { base : local_#31838_o!base, offset : local_#31838_o!offset + 0 }; local_#16136 := _memory_ptr[local_#16135]; assert { :LIR "61118" } { :check "overflow" } { :finding_ids "0" } true; local_#16137 := { base : local_#16136!base, offset : local_#16136!offset + 0 }; local_#16138 := 2; local_#16139 := { base : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!offset - local_#16138 * 16 }; local_#16140 := local_#16139; assert { :LIR "62694" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46125; CFG_46125: assume true; call local_#16141 := routine_#33777_luaH_set(local_#4384_L,local_#16137,local_#16140); goto CFG_49879; CFG_49879: assume true; local_#31839_slot := local_#16141; local_#16142 := 0; assert { :LIR "61119" } { :check "overflow" } { :finding_ids "0" } true; local_#16143 := 1; local_#16144 := { base : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!offset - local_#16143 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#16144)!_value_!_b == _memory[{ base : local_#16144!base, offset : local_#16144!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16144)!_value_!_f == _memory_ptr[{ base : local_#16144!base, offset : local_#16144!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16144)!_value_!_gc == _memory_ptr[{ base : local_#16144!base, offset : local_#16144!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16144)!_value_!_i == _memory[{ base : local_#16144!base, offset : local_#16144!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16144)!_value_!_p == _memory_ptr[{ base : local_#16144!base, offset : local_#16144!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16144)!_tt_ == _memory[{ base : local_#16144!base, offset : local_#16144!offset + 8 }]; call write_type_#101(local_#31839_slot,read_type_#101(_memory, _memory_ptr, local_#16144)); assume read_type_#101(_memory, _memory_ptr, local_#31839_slot)!_value_!_b == _memory[{ base : local_#31839_slot!base, offset : local_#31839_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31839_slot)!_value_!_f == _memory_ptr[{ base : local_#31839_slot!base, offset : local_#31839_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31839_slot)!_value_!_gc == _memory_ptr[{ base : local_#31839_slot!base, offset : local_#31839_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31839_slot)!_value_!_i == _memory[{ base : local_#31839_slot!base, offset : local_#31839_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31839_slot)!_value_!_p == _memory_ptr[{ base : local_#31839_slot!base, offset : local_#31839_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31839_slot)!_tt_ == _memory[{ base : local_#31839_slot!base, offset : local_#31839_slot!offset + 8 }]; local_#16145 := read_type_#101(_memory, _memory_ptr, local_#31839_slot); local_#16146 := local_#16145; local_#16147 := 0; local_#16148 := 0; assert { :LIR "61120" } { :check "overflow" } { :finding_ids "0" } true; local_#16149 := 0; local_#16150 := { base : local_#31838_o!base, offset : local_#31838_o!offset + 0 }; local_#16151 := _memory_ptr[local_#16150]; assert { :LIR "61121" } { :check "overflow" } { :finding_ids "0" } true; local_#16152 := { base : local_#16151!base, offset : local_#16151!offset + 0 }; _memory[{ base : local_#16152!base, offset : local_#16152!offset + 10 }] := local_#16149; local_#16153 := 1; local_#16154 := { base : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!offset - local_#16153 * 16 }; local_#16155 := 64; local_#16156 := ~sand32(_memory[{ base : local_#16154!base, offset : local_#16154!offset + 8 }], local_#16155); if (local_#16156 != 0) { goto CFG_49880; } else { goto CFG_40418; } CFG_49880: assume true; local_#16157 := { base : local_#31838_o!base, offset : local_#31838_o!offset + 0 }; local_#16158 := _memory_ptr[local_#16157]; assert { :LIR "61122" } { :check "overflow" } { :finding_ids "0" } true; local_#16159 := { base : local_#16158!base, offset : local_#16158!offset + 0 }; local_#16160 := _memory[{ base : local_#16159!base, offset : local_#16159!offset + 9 }]; assert { :LIR "62695" } { :check "overflow" } { :finding_ids "0" } local_#16160 <= 2147483647; local_#16161 := 4; local_#16162 := ~sand32(local_#16160, local_#16161); if (local_#16162 != 0) { goto CFG_49881; } else { goto CFG_40418; } CFG_49881: assume true; local_#16163 := 1; local_#16164 := { base : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!offset - local_#16163 * 16 }; local_#16165 := { base : local_#16164!base, offset : local_#16164!offset + 0 }; local_#16166 := _memory_ptr[local_#16165]; local_#16167 := _memory[{ base : local_#16166!base, offset : local_#16166!offset + 9 }]; assert { :LIR "62696" } { :check "overflow" } { :finding_ids "0" } local_#16167 <= 2147483647; local_#16168 := 3; local_#16169 := ~sand32(local_#16167, local_#16168); if (local_#16169 != 0) { goto CFG_42647; } else { goto CFG_40418; } CFG_40418: assume true; local_#16170 := 0; local_#16171 := 0; assert { :LIR "61123" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39202; CFG_42647: assume true; local_#16172 := { base : local_#31838_o!base, offset : local_#31838_o!offset + 0 }; local_#16173 := _memory_ptr[local_#16172]; assert { :LIR "61124" } { :check "overflow" } { :finding_ids "0" } true; local_#16174 := { base : local_#16173!base, offset : local_#16173!offset + 0 }; goto CFG_46126; CFG_46126: assume true; call routine_#33721_luaC_barrierback_(local_#4384_L,local_#16174); goto CFG_40419; CFG_40419: assume true; goto CFG_39202; CFG_39202: assume true; local_#16175 := 2; _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4384_L!base, offset : local_#4384_L!offset + 16 }]!offset - local_#16175 * 16 }; local_#16176 := 0; local_#16177 := 0; assert { :LIR "61125" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37393; CFG_37393: assume true; } procedure routine_#33975_lua_rawseti(local_#4386_L_IN : { base : int, offset : int }, local_#4387_idx_IN : int, local_#4388_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4386_L : { base : int, offset : int }; var local_#4387_idx : int; var local_#4388_n : int; var local_#16178 : int; var local_#16179 : int; var local_#16180 : int; var local_#16181 : int; var local_#16182 : { base : int, offset : int }; var local_#31840_o : { base : int, offset : int }; var local_#16183 : int; var local_#16184 : int; var local_#16185 : { base : int, offset : int }; var local_#16186 : { base : int, offset : int }; var local_#16187 : { base : int, offset : int }; var local_#16188 : int; var local_#16189 : { base : int, offset : int }; var local_#16190 : int; var local_#16191 : { base : int, offset : int }; var local_#16192 : int; var local_#16193 : int; var local_#16194 : { base : int, offset : int }; var local_#16195 : { base : int, offset : int }; var local_#16196 : { base : int, offset : int }; var local_#16197 : int; var local_#16198 : int; var local_#16199 : int; var local_#16200 : int; var local_#16201 : { base : int, offset : int }; var local_#16202 : { base : int, offset : int }; var local_#16203 : { base : int, offset : int }; var local_#16204 : int; var local_#16205 : int; var local_#16206 : int; var local_#16207 : int; var local_#16208 : int; var local_#16209 : { base : int, offset : int }; var local_#16210 : { base : int, offset : int }; var local_#16211 : { base : int, offset : int }; var local_#16212 : { base : int, offset : int }; var local_#16213 : int; var local_#16214 : { base : int, offset : int }; var local_#16215 : int; var local_#16216 : int; local_#4386_L := local_#4386_L_IN; local_#4387_idx := local_#4387_idx_IN; local_#4388_n := local_#4388_n_IN; goto CFG_36483; CFG_36483: assume true; goto CFG_42648; CFG_42648: assume true; local_#16178 := 0; local_#16179 := 0; assert { :LIR "61126" } { :check "overflow" } { :finding_ids "0" } true; local_#16180 := 0; local_#16181 := 0; assert { :LIR "61127" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46127; CFG_46127: assume true; call local_#16182 := routine_#34811_index2addr(local_#4386_L,local_#4387_idx); goto CFG_42649; CFG_42649: assume true; local_#31840_o := local_#16182; local_#16183 := 0; local_#16184 := 0; assert { :LIR "61128" } { :check "overflow" } { :finding_ids "0" } true; local_#16185 := { base : local_#31840_o!base, offset : local_#31840_o!offset + 0 }; local_#16186 := _memory_ptr[local_#16185]; assert { :LIR "61129" } { :check "overflow" } { :finding_ids "0" } true; local_#16187 := { base : local_#16186!base, offset : local_#16186!offset + 0 }; local_#16188 := 1; local_#16189 := { base : _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]!offset - local_#16188 * 16 }; goto CFG_46128; CFG_46128: assume true; call routine_#33778_luaH_setint(local_#4386_L,local_#16187,local_#4388_n,local_#16189); goto CFG_49882; CFG_49882: assume true; local_#16190 := 1; local_#16191 := { base : _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]!offset - local_#16190 * 16 }; local_#16192 := 64; local_#16193 := ~sand32(_memory[{ base : local_#16191!base, offset : local_#16191!offset + 8 }], local_#16192); if (local_#16193 != 0) { goto CFG_49883; } else { goto CFG_40420; } CFG_49883: assume true; local_#16194 := { base : local_#31840_o!base, offset : local_#31840_o!offset + 0 }; local_#16195 := _memory_ptr[local_#16194]; assert { :LIR "61130" } { :check "overflow" } { :finding_ids "0" } true; local_#16196 := { base : local_#16195!base, offset : local_#16195!offset + 0 }; local_#16197 := _memory[{ base : local_#16196!base, offset : local_#16196!offset + 9 }]; assert { :LIR "62697" } { :check "overflow" } { :finding_ids "0" } local_#16197 <= 2147483647; local_#16198 := 4; local_#16199 := ~sand32(local_#16197, local_#16198); if (local_#16199 != 0) { goto CFG_49884; } else { goto CFG_40420; } CFG_49884: assume true; local_#16200 := 1; local_#16201 := { base : _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]!offset - local_#16200 * 16 }; local_#16202 := { base : local_#16201!base, offset : local_#16201!offset + 0 }; local_#16203 := _memory_ptr[local_#16202]; local_#16204 := _memory[{ base : local_#16203!base, offset : local_#16203!offset + 9 }]; assert { :LIR "62698" } { :check "overflow" } { :finding_ids "0" } local_#16204 <= 2147483647; local_#16205 := 3; local_#16206 := ~sand32(local_#16204, local_#16205); if (local_#16206 != 0) { goto CFG_42650; } else { goto CFG_40420; } CFG_40420: assume true; local_#16207 := 0; local_#16208 := 0; assert { :LIR "61131" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39203; CFG_42650: assume true; local_#16209 := { base : local_#31840_o!base, offset : local_#31840_o!offset + 0 }; local_#16210 := _memory_ptr[local_#16209]; assert { :LIR "61132" } { :check "overflow" } { :finding_ids "0" } true; local_#16211 := { base : local_#16210!base, offset : local_#16210!offset + 0 }; goto CFG_46129; CFG_46129: assume true; call routine_#33721_luaC_barrierback_(local_#4386_L,local_#16211); goto CFG_40421; CFG_40421: assume true; goto CFG_39203; CFG_39203: assume true; local_#16212 := _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }]; local_#16213 := 1; _memory_ptr[{ base : local_#4386_L!base, offset : local_#4386_L!offset + 16 }] := { base : local_#16212!base, offset : local_#16212!offset - local_#16213 * 16 }; local_#16214 := local_#16212; local_#16215 := 0; local_#16216 := 0; assert { :LIR "61133" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37394; CFG_37394: assume true; } procedure routine_#33976_lua_rawsetp(local_#4389_L_IN : { base : int, offset : int }, local_#4390_idx_IN : int, local_#4391_p_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4389_L : { base : int, offset : int }; var local_#4390_idx : int; var local_#4391_p : { base : int, offset : int }; var local_#16217 : int; var local_#16218 : int; var local_#16219 : int; var local_#16220 : int; var local_#16221 : { base : int, offset : int }; var local_#31842_o : { base : int, offset : int }; var local_#16222 : int; var local_#16223 : int; var local_#31841_k : { base : int, offset : int }; var local_#31844_io : { base : int, offset : int }; var local_#16224 : { base : int, offset : int }; var local_#16225 : { base : int, offset : int }; var local_#16226 : { base : int, offset : int }; var local_#16227 : { base : int, offset : int }; var local_#16228 : { base : int, offset : int }; var local_#16229 : { base : int, offset : int }; var local_#16230 : { base : int, offset : int }; var local_#31843_slot : { base : int, offset : int }; var local_#16231 : int; var local_#16232 : int; var local_#16233 : { base : int, offset : int }; var local_#16234 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16235 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16236 : int; var local_#16237 : int; var local_#16238 : int; var local_#16239 : { base : int, offset : int }; var local_#16240 : int; var local_#16241 : int; var local_#16242 : { base : int, offset : int }; var local_#16243 : { base : int, offset : int }; var local_#16244 : { base : int, offset : int }; var local_#16245 : int; var local_#16246 : int; var local_#16247 : int; var local_#16248 : int; var local_#16249 : { base : int, offset : int }; var local_#16250 : { base : int, offset : int }; var local_#16251 : { base : int, offset : int }; var local_#16252 : int; var local_#16253 : int; var local_#16254 : int; var local_#16255 : int; var local_#16256 : int; var local_#16257 : { base : int, offset : int }; var local_#16258 : { base : int, offset : int }; var local_#16259 : { base : int, offset : int }; var local_#16260 : { base : int, offset : int }; var local_#16261 : int; var local_#16262 : { base : int, offset : int }; var local_#16263 : int; var local_#16264 : int; local_#4389_L := local_#4389_L_IN; local_#4390_idx := local_#4390_idx_IN; local_#4391_p := local_#4391_p_IN; goto CFG_36484; CFG_36484: assume true; goto CFG_42651; CFG_42651: assume true; local_#16217 := 0; local_#16218 := 0; assert { :LIR "61134" } { :check "overflow" } { :finding_ids "0" } true; local_#16219 := 0; local_#16220 := 0; assert { :LIR "61135" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46130; CFG_46130: assume true; call local_#16221 := routine_#34811_index2addr(local_#4389_L,local_#4390_idx); goto CFG_42652; CFG_42652: assume true; local_#31842_o := local_#16221; local_#16222 := 0; local_#16223 := 0; assert { :LIR "61136" } { :check "overflow" } { :finding_ids "0" } true; local_#31844_io := local_#31841_k; local_#16224 := local_#4391_p; assert { :LIR "61137" } { :check "overflow" } { :finding_ids "0" } true; local_#16225 := { base : local_#31844_io!base, offset : local_#31844_io!offset + 0 }; _memory_ptr[local_#16225] := local_#16224; _memory[{ base : local_#31844_io!base, offset : local_#31844_io!offset + 8 }] := 2; local_#16226 := { base : local_#31842_o!base, offset : local_#31842_o!offset + 0 }; local_#16227 := _memory_ptr[local_#16226]; assert { :LIR "61138" } { :check "overflow" } { :finding_ids "0" } true; local_#16228 := { base : local_#16227!base, offset : local_#16227!offset + 0 }; local_#16229 := local_#31841_k; assert { :LIR "62699" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46131; CFG_46131: assume true; call local_#16230 := routine_#33777_luaH_set(local_#4389_L,local_#16228,local_#16229); goto CFG_49885; CFG_49885: assume true; local_#31843_slot := local_#16230; local_#16231 := 0; assert { :LIR "61139" } { :check "overflow" } { :finding_ids "0" } true; local_#16232 := 1; local_#16233 := { base : _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]!offset - local_#16232 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#16233)!_value_!_b == _memory[{ base : local_#16233!base, offset : local_#16233!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16233)!_value_!_f == _memory_ptr[{ base : local_#16233!base, offset : local_#16233!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16233)!_value_!_gc == _memory_ptr[{ base : local_#16233!base, offset : local_#16233!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16233)!_value_!_i == _memory[{ base : local_#16233!base, offset : local_#16233!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16233)!_value_!_p == _memory_ptr[{ base : local_#16233!base, offset : local_#16233!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16233)!_tt_ == _memory[{ base : local_#16233!base, offset : local_#16233!offset + 8 }]; call write_type_#101(local_#31843_slot,read_type_#101(_memory, _memory_ptr, local_#16233)); assume read_type_#101(_memory, _memory_ptr, local_#31843_slot)!_value_!_b == _memory[{ base : local_#31843_slot!base, offset : local_#31843_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31843_slot)!_value_!_f == _memory_ptr[{ base : local_#31843_slot!base, offset : local_#31843_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31843_slot)!_value_!_gc == _memory_ptr[{ base : local_#31843_slot!base, offset : local_#31843_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31843_slot)!_value_!_i == _memory[{ base : local_#31843_slot!base, offset : local_#31843_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31843_slot)!_value_!_p == _memory_ptr[{ base : local_#31843_slot!base, offset : local_#31843_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31843_slot)!_tt_ == _memory[{ base : local_#31843_slot!base, offset : local_#31843_slot!offset + 8 }]; local_#16234 := read_type_#101(_memory, _memory_ptr, local_#31843_slot); local_#16235 := local_#16234; local_#16236 := 0; local_#16237 := 0; assert { :LIR "61140" } { :check "overflow" } { :finding_ids "0" } true; local_#16238 := 1; local_#16239 := { base : _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]!offset - local_#16238 * 16 }; local_#16240 := 64; local_#16241 := ~sand32(_memory[{ base : local_#16239!base, offset : local_#16239!offset + 8 }], local_#16240); if (local_#16241 != 0) { goto CFG_49886; } else { goto CFG_40422; } CFG_49886: assume true; local_#16242 := { base : local_#31842_o!base, offset : local_#31842_o!offset + 0 }; local_#16243 := _memory_ptr[local_#16242]; assert { :LIR "61141" } { :check "overflow" } { :finding_ids "0" } true; local_#16244 := { base : local_#16243!base, offset : local_#16243!offset + 0 }; local_#16245 := _memory[{ base : local_#16244!base, offset : local_#16244!offset + 9 }]; assert { :LIR "62700" } { :check "overflow" } { :finding_ids "0" } local_#16245 <= 2147483647; local_#16246 := 4; local_#16247 := ~sand32(local_#16245, local_#16246); if (local_#16247 != 0) { goto CFG_49887; } else { goto CFG_40422; } CFG_49887: assume true; local_#16248 := 1; local_#16249 := { base : _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]!offset - local_#16248 * 16 }; local_#16250 := { base : local_#16249!base, offset : local_#16249!offset + 0 }; local_#16251 := _memory_ptr[local_#16250]; local_#16252 := _memory[{ base : local_#16251!base, offset : local_#16251!offset + 9 }]; assert { :LIR "62701" } { :check "overflow" } { :finding_ids "0" } local_#16252 <= 2147483647; local_#16253 := 3; local_#16254 := ~sand32(local_#16252, local_#16253); if (local_#16254 != 0) { goto CFG_42653; } else { goto CFG_40422; } CFG_40422: assume true; local_#16255 := 0; local_#16256 := 0; assert { :LIR "61142" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39204; CFG_42653: assume true; local_#16257 := { base : local_#31842_o!base, offset : local_#31842_o!offset + 0 }; local_#16258 := _memory_ptr[local_#16257]; assert { :LIR "61143" } { :check "overflow" } { :finding_ids "0" } true; local_#16259 := { base : local_#16258!base, offset : local_#16258!offset + 0 }; goto CFG_46132; CFG_46132: assume true; call routine_#33721_luaC_barrierback_(local_#4389_L,local_#16259); goto CFG_40423; CFG_40423: assume true; goto CFG_39204; CFG_39204: assume true; local_#16260 := _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }]; local_#16261 := 1; _memory_ptr[{ base : local_#4389_L!base, offset : local_#4389_L!offset + 16 }] := { base : local_#16260!base, offset : local_#16260!offset - local_#16261 * 16 }; local_#16262 := local_#16260; local_#16263 := 0; local_#16264 := 0; assert { :LIR "61144" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37395; CFG_37395: assume true; } procedure routine_#33977_lua_resume(local_#4392_L_IN : { base : int, offset : int }, local_#4393_from_IN : { base : int, offset : int }, local_#4394_nargs_IN : int) returns (local_#7898 : int) modifies _memory, _memory_ptr, _valid; { var local_#4392_L : { base : int, offset : int }; var local_#4393_from : { base : int, offset : int }; var local_#4394_nargs : { base : int, offset : int }; var local_#31845_oldnny : int; var local_#16265 : int; var local_#16266 : int; var local_#16267 : int; var local_#16268 : int; var local_#16269 : int; var local_#16270 : int; var local_#16271 : int; var local_#16272 : int; var local_#16273 : { base : int, offset : int }; var local_#16274 : { base : int, offset : int }; var local_#16275 : int; var local_#16276 : int; var local_#16277 : { base : int, offset : int }; var local_#30699 : int; var local_#16278 : int; var local_#16279 : int; var local_#16280 : int; var local_#16281 : int; var local_#16282 : int; var local_#16283 : int; var local_#16284 : int; var local_#16285 : int; var local_#16286 : int; var local_#16287 : int; var local_#16288 : { base : int, offset : int }; var local_#16289 : { base : int, offset : int }; var local_#16290 : int; var local_#31846_status : { base : int, offset : int }; var local_#16291 : int; var local_#16292 : int; var local_#16293 : int; var local_#16294 : int; var local_#16295 : int; var local_#16296 : int; var local_#16297 : int; var local_#16298 : int; var local_#16299 : int; var local_#16300 : int; var local_#16301 : int; var local_#16302 : { base : int, offset : int }; var local_#16303 : { base : int, offset : int }; var local_#16304 : { base : int, offset : int }; var local_#16305 : { base : int, offset : int }; var local_#16306 : int; var local_#16307 : int; var local_#16308 : int; var local_#16309 : int; var local_#16310 : int; var local_#16311 : int; var local_#16312 : int; var local_#16313 : int; var local_#16314 : { base : int, offset : int }; var local_#16315 : { base : int, offset : int }; var local_#16316 : int; var local_#16317 : { base : int, offset : int }; var local_#16318 : { base : int, offset : int }; var local_#16319 : int; local_#4392_L := local_#4392_L_IN; local_#4393_from := local_#4393_from_IN; _memory[local_#4394_nargs] := local_#4394_nargs_IN; goto CFG_36485; CFG_36485: assume true; goto CFG_49888; CFG_49888: assume true; local_#31845_oldnny := _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 196 }]; local_#16265 := 0; local_#16266 := 0; assert { :LIR "61145" } { :check "overflow" } { :finding_ids "0" } true; local_#16267 := _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 12 }]; assert { :LIR "62702" } { :check "overflow" } { :finding_ids "0" } local_#16267 <= 2147483647; local_#16268 := 0; local_#16269 := (if local_#16267 == local_#16268 then 1 else 0); if (local_#16269 != 0) { goto CFG_49890; } else { goto CFG_49889; } CFG_49889: assume true; local_#16270 := _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 12 }]; assert { :LIR "62703" } { :check "overflow" } { :finding_ids "0" } local_#16270 <= 2147483647; local_#16271 := 1; local_#16272 := (if local_#16270 != local_#16271 then 1 else 0); if (local_#16272 != 0) { goto CFG_42654; } else { goto CFG_40424; } CFG_40424: assume true; goto CFG_49891; CFG_42654: assume true; assume _memory[{ base : strlit_#70392!base, offset : strlit_#70392!offset + 28 }] == 0; local_#16273 := strlit_#70392; local_#16274 := { base : local_#16273!base, offset : local_#16273!offset + 0 * 1 }; assert { :LIR "62704" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46133; CFG_46133: assume true; call local_#16275 := routine_#35038_resume_error(local_#4392_L,local_#16274,_memory[local_#4394_nargs]); goto CFG_38277; CFG_38277: assume true; local_#7898 := local_#16275; goto CFG_37396; CFG_49890: assume true; local_#16276 := (if _memory_ptr[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 32 }] != { base : local_#4392_L!base, offset : local_#4392_L!offset + 96 } then 1 else 0); if (local_#16276 != 0) { goto CFG_42659; } else { goto CFG_40425; } CFG_40425: assume true; goto CFG_49891; CFG_49891: assume true; local_#16277 := local_#4393_from; if (local_#16277 != { base : 0, offset : 0 }) { goto CFG_40427; } else { goto CFG_40426; } CFG_40426: assume true; local_#30699 := 1; goto CFG_49892; CFG_40427: assume true; local_#16278 := _memory[{ base : local_#4393_from!base, offset : local_#4393_from!offset + 198 }]; assert { :LIR "62705" } { :check "overflow" } { :finding_ids "0" } local_#16278 <= 2147483647; local_#16279 := 1; local_#16280 := local_#16278 + local_#16279; assert { :LIR "66489" } { :check "overflow" } { :finding_ids "0" } local_#16280 <= 2147483647; local_#30699 := local_#16280; goto CFG_49892; CFG_49892: assume true; local_#16281 := ~uwrap16(local_#30699); assert { :LIR "62706" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 198 }] := local_#16281; local_#16282 := _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 198 }]; assert { :LIR "62707" } { :check "overflow" } { :finding_ids "0" } local_#16282 <= 2147483647; local_#16283 := 200; local_#16284 := (if local_#16282 >= local_#16283 then 1 else 0); if (local_#16284 != 0) { goto CFG_42658; } else { goto CFG_42655; } CFG_42655: assume true; local_#16285 := 0; assert { :LIR "61146" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 196 }] := 0; local_#16286 := 0; local_#16287 := 0; assert { :LIR "61147" } { :check "overflow" } { :finding_ids "0" } true; local_#16288 := fun_addr_#35037_resume; local_#16289 := local_#4394_nargs; assert { :LIR "62708" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46134; CFG_46134: assume true; call local_#16290 := routine_#33740_luaD_rawrunprotected(local_#4392_L,local_#16288,local_#16289); goto CFG_49893; CFG_49893: assume true; _memory[local_#31846_status] := local_#16290; local_#16291 := -1; local_#16292 := (if _memory[local_#31846_status] == local_#16291 then 1 else 0); if (local_#16292 != 0) { goto CFG_40431; } else { goto CFG_41675; } CFG_41675: assume true; goto CFG_49894; CFG_49894: assume true; local_#16293 := 1; local_#16294 := (if _memory[local_#31846_status] > local_#16293 then 1 else 0); if (local_#16294 != 0) { goto CFG_46135; } else { goto CFG_49896; } CFG_46135: assume true; call local_#16295 := routine_#35025_recover(local_#4392_L,_memory[local_#31846_status]); goto CFG_49895; CFG_49895: assume true; local_#16296 := local_#16295; if (local_#16296 != 0) { goto CFG_42657; } else { goto CFG_49896; } CFG_49896: assume true; local_#16297 := 1; local_#16298 := (if _memory[local_#31846_status] > local_#16297 then 1 else 0); if (local_#16298 != 0) { goto CFG_42656; } else { goto CFG_40428; } CFG_40428: assume true; local_#16299 := 0; local_#16300 := 0; assert { :LIR "61148" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40430; CFG_42656: assume true; local_#16301 := ~uwrap8(_memory[local_#31846_status]); assert { :LIR "61149" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 12 }] := local_#16301; local_#16302 := _memory_ptr[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 16 }]; goto CFG_46136; CFG_46136: assume true; call routine_#35058_seterrorobj(local_#4392_L,_memory[local_#31846_status],local_#16302); goto CFG_40429; CFG_40429: assume true; local_#16303 := _memory_ptr[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 32 }]; _memory_ptr[{ base : local_#16303!base, offset : local_#16303!offset + 8 }] := _memory_ptr[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 16 }]; goto CFG_40430; CFG_40430: assume true; goto CFG_38278; CFG_42657: assume true; local_#16304 := fun_addr_#35137_unroll; local_#16305 := local_#31846_status; assert { :LIR "62709" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46137; CFG_46137: assume true; call local_#16306 := routine_#33740_luaD_rawrunprotected(local_#4392_L,local_#16304,local_#16305); goto CFG_45016; CFG_45016: assume true; _memory[local_#31846_status] := local_#16306; goto CFG_49894; CFG_40431: assume true; _memory[local_#31846_status] := 2; goto CFG_38278; CFG_38278: assume true; _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 196 }] := local_#31845_oldnny; local_#16307 := _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 198 }]; local_#16308 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#4392_L!base, offset : local_#4392_L!offset + 198 }] := ~uwrap16(local_#16307 - local_#16308); assert { :LIR "67958" } { :check "overflow" } { :finding_ids "0" } true; local_#16309 := local_#16307; local_#16310 := 0; local_#16311 := 0; assert { :LIR "61150" } { :check "overflow" } { :finding_ids "0" } true; local_#16312 := 0; local_#16313 := 0; assert { :LIR "61151" } { :check "overflow" } { :finding_ids "0" } true; local_#7898 := _memory[local_#31846_status]; goto CFG_37396; CFG_42658: assume true; assume _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 0 }] == 67 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 1 }] == 32 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 2 }] == 115 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 3 }] == 116 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 4 }] == 97 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 5 }] == 99 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 6 }] == 107 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 7 }] == 32 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 8 }] == 111 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 9 }] == 118 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 10 }] == 101 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 11 }] == 114 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 12 }] == 102 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 13 }] == 108 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 14 }] == 111 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 15 }] == 119 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 16 }] == 0; local_#16314 := strlit_#70393; local_#16315 := { base : local_#16314!base, offset : local_#16314!offset + 0 * 1 }; assert { :LIR "62710" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46138; CFG_46138: assume true; call local_#16316 := routine_#35038_resume_error(local_#4392_L,local_#16315,_memory[local_#4394_nargs]); goto CFG_38279; CFG_38279: assume true; local_#7898 := local_#16316; goto CFG_37396; CFG_42659: assume true; assume _memory[{ base : strlit_#70394!base, offset : strlit_#70394!offset + 37 }] == 0; local_#16317 := strlit_#70394; local_#16318 := { base : local_#16317!base, offset : local_#16317!offset + 0 * 1 }; assert { :LIR "62711" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46139; CFG_46139: assume true; call local_#16319 := routine_#35038_resume_error(local_#4392_L,local_#16318,_memory[local_#4394_nargs]); goto CFG_38280; CFG_38280: assume true; local_#7898 := local_#16319; goto CFG_37396; CFG_37396: assume true; } procedure routine_#33978_lua_rotate(local_#4395_L_IN : { base : int, offset : int }, local_#4396_idx_IN : int, local_#4397_n_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4395_L : { base : int, offset : int }; var local_#4396_idx : int; var local_#4397_n : int; var local_#16320 : int; var local_#16321 : int; var local_#16322 : int; var local_#16323 : { base : int, offset : int }; var local_#31849_t : { base : int, offset : int }; var local_#16324 : { base : int, offset : int }; var local_#31848_p : { base : int, offset : int }; var local_#16325 : int; var local_#16326 : int; var local_#16327 : int; var local_#16328 : int; var local_#16329 : int; var local_#16330 : int; var local_#16331 : { base : int, offset : int }; var local_#16332 : int; var local_#16333 : { base : int, offset : int }; var local_#30700 : { base : int, offset : int }; var local_#16334 : { base : int, offset : int }; var local_#31847_m : { base : int, offset : int }; var local_#16335 : int; var local_#16336 : { base : int, offset : int }; var local_#16337 : int; var local_#16338 : int; local_#4395_L := local_#4395_L_IN; local_#4396_idx := local_#4396_idx_IN; local_#4397_n := local_#4397_n_IN; goto CFG_36486; CFG_36486: assume true; goto CFG_42660; CFG_42660: assume true; local_#16320 := 0; local_#16321 := 0; assert { :LIR "61152" } { :check "overflow" } { :finding_ids "0" } true; local_#16322 := 1; local_#16323 := { base : _memory_ptr[{ base : local_#4395_L!base, offset : local_#4395_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4395_L!base, offset : local_#4395_L!offset + 16 }]!offset - local_#16322 * 16 }; local_#31849_t := local_#16323; goto CFG_46140; CFG_46140: assume true; call local_#16324 := routine_#34811_index2addr(local_#4395_L,local_#4396_idx); goto CFG_49897; CFG_49897: assume true; local_#31848_p := local_#16324; local_#16325 := 0; local_#16326 := 0; assert { :LIR "61153" } { :check "overflow" } { :finding_ids "0" } true; local_#16327 := 0; local_#16328 := 0; assert { :LIR "61154" } { :check "overflow" } { :finding_ids "0" } true; local_#16329 := 0; local_#16330 := (if local_#4397_n >= local_#16329 then 1 else 0); if (local_#16330 != 0) { goto CFG_40433; } else { goto CFG_40432; } CFG_40432: assume true; local_#16331 := { base : local_#31848_p!base, offset : local_#31848_p!offset - local_#4397_n * 16 }; local_#16332 := 1; local_#16333 := { base : local_#16331!base, offset : local_#16331!offset - local_#16332 * 16 }; local_#30700 := local_#16333; goto CFG_42661; CFG_40433: assume true; local_#16334 := { base : local_#31849_t!base, offset : local_#31849_t!offset - local_#4397_n * 16 }; local_#30700 := local_#16334; goto CFG_42661; CFG_42661: assume true; local_#31847_m := local_#30700; goto CFG_46141; CFG_46141: assume true; call routine_#35040_reverse(local_#4395_L,local_#31848_p,local_#31847_m); goto CFG_42662; CFG_42662: assume true; local_#16335 := 1; local_#16336 := { base : local_#31847_m!base, offset : local_#31847_m!offset + local_#16335 * 16 }; goto CFG_46142; CFG_46142: assume true; call routine_#35040_reverse(local_#4395_L,local_#16336,local_#31849_t); goto CFG_46143; CFG_46143: assume true; call routine_#35040_reverse(local_#4395_L,local_#31848_p,local_#31849_t); goto CFG_39205; CFG_39205: assume true; local_#16337 := 0; local_#16338 := 0; assert { :LIR "61155" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37397; CFG_37397: assume true; } procedure routine_#33979_lua_setallocf(local_#4398_L_IN : { base : int, offset : int }, local_#4399_f_IN : { base : int, offset : int }, local_#4400_ud_IN : { base : int, offset : int }) returns () modifies _memory_ptr; { var local_#4398_L : { base : int, offset : int }; var local_#4399_f : { base : int, offset : int }; var local_#4400_ud : { base : int, offset : int }; var local_#16339 : int; var local_#16340 : int; var local_#16341 : { base : int, offset : int }; var local_#16342 : { base : int, offset : int }; var local_#16343 : int; var local_#16344 : int; local_#4398_L := local_#4398_L_IN; local_#4399_f := local_#4399_f_IN; local_#4400_ud := local_#4400_ud_IN; goto CFG_36487; CFG_36487: assume true; goto CFG_39206; CFG_39206: assume true; local_#16339 := 0; local_#16340 := 0; assert { :LIR "61156" } { :check "overflow" } { :finding_ids "0" } true; local_#16341 := _memory_ptr[{ base : local_#4398_L!base, offset : local_#4398_L!offset + 24 }]; _memory_ptr[{ base : local_#16341!base, offset : local_#16341!offset + 8 }] := local_#4400_ud; local_#16342 := _memory_ptr[{ base : local_#4398_L!base, offset : local_#4398_L!offset + 24 }]; _memory_ptr[{ base : local_#16342!base, offset : local_#16342!offset + 0 }] := local_#4399_f; local_#16343 := 0; local_#16344 := 0; assert { :LIR "61157" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37398; CFG_37398: assume true; } procedure routine_#33980_lua_setfield(local_#4401_L_IN : { base : int, offset : int }, local_#4402_idx_IN : int, local_#4403_k_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4401_L : { base : int, offset : int }; var local_#4402_idx : int; var local_#4403_k : { base : int, offset : int }; var local_#16345 : int; var local_#16346 : int; var local_#16347 : { base : int, offset : int }; var local_#16348 : { base : int, offset : int }; local_#4401_L := local_#4401_L_IN; local_#4402_idx := local_#4402_idx_IN; local_#4403_k := local_#4403_k_IN; goto CFG_36488; CFG_36488: assume true; goto CFG_42663; CFG_42663: assume true; local_#16345 := 0; local_#16346 := 0; assert { :LIR "61158" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46144; CFG_46144: assume true; call local_#16347 := routine_#34811_index2addr(local_#4401_L,local_#4402_idx); goto CFG_42664; CFG_42664: assume true; local_#16348 := local_#16347; assert { :LIR "62712" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46145; CFG_46145: assume true; call routine_#34593_auxsetstr(local_#4401_L,local_#16348,local_#4403_k); goto CFG_39207; CFG_39207: assume true; goto CFG_37399; CFG_37399: assume true; } procedure routine_#33981_lua_setglobal(local_#4404_L_IN : { base : int, offset : int }, local_#4405_name_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#4404_L : { base : int, offset : int }; var local_#4405_name : { base : int, offset : int }; var local_#16349 : { base : int, offset : int }; var local_#16350 : { base : int, offset : int }; var local_#16351 : { base : int, offset : int }; var local_#16352 : { base : int, offset : int }; var local_#31850_reg : { base : int, offset : int }; var local_#16353 : int; var local_#16354 : int; var local_#16355 : int; var local_#16356 : { base : int, offset : int }; local_#4404_L := local_#4404_L_IN; local_#4405_name := local_#4405_name_IN; goto CFG_36489; CFG_36489: assume true; goto CFG_42665; CFG_42665: assume true; local_#16349 := _memory_ptr[{ base : local_#4404_L!base, offset : local_#4404_L!offset + 24 }]; local_#16350 := { base : local_#16349!base, offset : local_#16349!offset + 64 }; local_#16351 := _memory_ptr[local_#16350]; assert { :LIR "61159" } { :check "overflow" } { :finding_ids "0" } true; local_#16352 := { base : local_#16351!base, offset : local_#16351!offset + 0 }; local_#31850_reg := local_#16352; local_#16353 := 0; local_#16354 := 0; assert { :LIR "61160" } { :check "overflow" } { :finding_ids "0" } true; local_#16355 := 2; goto CFG_46146; CFG_46146: assume true; call local_#16356 := routine_#33768_luaH_getint(local_#31850_reg,local_#16355); goto CFG_46147; CFG_46147: assume true; call routine_#34593_auxsetstr(local_#4404_L,local_#16356,local_#4405_name); goto CFG_39208; CFG_39208: assume true; goto CFG_37400; CFG_37400: assume true; } procedure routine_#33982_lua_sethook(local_#4406_L_IN : { base : int, offset : int }, local_#4407_func_IN : { base : int, offset : int }, local_#4408_mask_IN : int, local_#4409_count_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4406_L : { base : int, offset : int }; var local_#4407_func : { base : int, offset : int }; var local_#4408_mask : int; var local_#4409_count : int; var local_#16357 : { base : int, offset : int }; var local_#16358 : int; var local_#16359 : int; var local_#16360 : int; var local_#16361 : { base : int, offset : int }; var local_#16362 : int; var local_#16363 : int; var local_#16364 : int; var local_#16365 : { base : int, offset : int }; var local_#16366 : { base : int, offset : int }; var local_#16367 : int; var local_#16368 : int; local_#4406_L := local_#4406_L_IN; local_#4407_func := local_#4407_func_IN; local_#4408_mask := local_#4408_mask_IN; local_#4409_count := local_#4409_count_IN; goto CFG_36490; CFG_36490: assume true; goto CFG_49898; CFG_49898: assume true; local_#16357 := { base : 0, offset : 0 }; local_#16358 := (if local_#4407_func == local_#16357 then 1 else 0); if (local_#16358 != 0) { goto CFG_40434; } else { goto CFG_49899; } CFG_49899: assume true; local_#16359 := 0; local_#16360 := (if local_#4408_mask == local_#16359 then 1 else 0); if (local_#16360 != 0) { goto CFG_40434; } else { goto CFG_49900; } CFG_40434: assume true; local_#4408_mask := 0; local_#4407_func := { base : 0, offset : 0 }; goto CFG_49900; CFG_49900: assume true; local_#16361 := _memory_ptr[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 32 }]; local_#16362 := _memory[{ base : local_#16361!base, offset : local_#16361!offset + 66 }]; assert { :LIR "62713" } { :check "overflow" } { :finding_ids "0" } local_#16362 <= 2147483647; local_#16363 := 2; local_#16364 := ~sand32(local_#16362, local_#16363); if (local_#16364 != 0) { goto CFG_40435; } else { goto CFG_39209; } CFG_40435: assume true; local_#16365 := _memory_ptr[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 32 }]; local_#16366 := { base : local_#16365!base, offset : local_#16365!offset + 32 }; _memory_ptr[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 40 }] := _memory_ptr[{ base : local_#16366!base, offset : local_#16366!offset + 8 }]; goto CFG_39209; CFG_39209: assume true; _memory_ptr[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 168 }] := local_#4407_func; _memory[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 188 }] := local_#4409_count; _memory[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 192 }] := _memory[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 188 }]; local_#16367 := ~uwrap8(local_#4408_mask); assert { :LIR "61161" } { :check "overflow" } { :finding_ids "0" } true; local_#16368 := local_#16367; assert { :LIR "62714" } { :check "overflow" } { :finding_ids "0" } local_#16368 <= 2147483647; _memory[{ base : local_#4406_L!base, offset : local_#4406_L!offset + 200 }] := local_#16368; goto CFG_37401; CFG_37401: assume true; } procedure routine_#33983_lua_seti(local_#4410_L_IN : { base : int, offset : int }, local_#4411_idx_IN : int, local_#4412_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4410_L : { base : int, offset : int }; var local_#4411_idx : int; var local_#4412_n : int; var local_#16369 : int; var local_#16370 : int; var local_#16371 : int; var local_#16372 : int; var local_#16373 : { base : int, offset : int }; var local_#31852_t : { base : int, offset : int }; var local_#16374 : int; var local_#16375 : int; var local_#16376 : int; var local_#16377 : { base : int, offset : int }; var local_#16378 : { base : int, offset : int }; var local_#16379 : { base : int, offset : int }; var local_#16380 : { base : int, offset : int }; var local_#31851_slot : { base : int, offset : int }; var local_#16381 : { base : int, offset : int }; var local_#16382 : int; var local_#16383 : int; var local_#16384 : int; var local_#16385 : { base : int, offset : int }; var local_#16386 : int; var local_#16387 : int; var local_#16388 : { base : int, offset : int }; var local_#16389 : { base : int, offset : int }; var local_#16390 : { base : int, offset : int }; var local_#16391 : int; var local_#16392 : int; var local_#16393 : int; var local_#16394 : int; var local_#16395 : { base : int, offset : int }; var local_#16396 : { base : int, offset : int }; var local_#16397 : { base : int, offset : int }; var local_#16398 : int; var local_#16399 : int; var local_#16400 : int; var local_#16401 : int; var local_#16402 : int; var local_#16403 : { base : int, offset : int }; var local_#16404 : { base : int, offset : int }; var local_#16405 : { base : int, offset : int }; var local_#16406 : int; var local_#16407 : int; var local_#16408 : { base : int, offset : int }; var local_#16409 : { base : int, offset : int }; var local_#16410 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16411 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16412 : int; var local_#16413 : int; var local_#30701 : int; var local_#16414 : int; var local_#16415 : int; var local_#16416 : { base : int, offset : int }; var local_#16417 : int; var local_#31853_io : { base : int, offset : int }; var local_#16418 : { base : int, offset : int }; var local_#16419 : { base : int, offset : int }; var local_#16420 : int; var local_#16421 : { base : int, offset : int }; var local_#16422 : int; var local_#16423 : int; var local_#16424 : { base : int, offset : int }; var local_#16425 : int; var local_#16426 : { base : int, offset : int }; var local_#16427 : int; var local_#16428 : { base : int, offset : int }; var local_#16429 : int; var local_#16430 : { base : int, offset : int }; var local_#16431 : int; var local_#16432 : { base : int, offset : int }; var local_#16433 : int; var local_#16434 : int; local_#4410_L := local_#4410_L_IN; local_#4411_idx := local_#4411_idx_IN; local_#4412_n := local_#4412_n_IN; goto CFG_36491; CFG_36491: assume true; goto CFG_42666; CFG_42666: assume true; local_#16369 := 0; local_#16370 := 0; assert { :LIR "61162" } { :check "overflow" } { :finding_ids "0" } true; local_#16371 := 0; local_#16372 := 0; assert { :LIR "61163" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46148; CFG_46148: assume true; call local_#16373 := routine_#34811_index2addr(local_#4410_L,local_#4411_idx); goto CFG_49901; CFG_49901: assume true; local_#31852_t := local_#16373; local_#16374 := 69; local_#16375 := (if _memory[{ base : local_#31852_t!base, offset : local_#31852_t!offset + 8 }] == local_#16374 then 1 else 0); local_#16376 := (if local_#16375 != 0 then 0 else 1); if (local_#16376 != 0) { goto CFG_49907; } else { goto CFG_42667; } CFG_42667: assume true; local_#16377 := { base : local_#31852_t!base, offset : local_#31852_t!offset + 0 }; local_#16378 := _memory_ptr[local_#16377]; assert { :LIR "61164" } { :check "overflow" } { :finding_ids "0" } true; local_#16379 := { base : local_#16378!base, offset : local_#16378!offset + 0 }; goto CFG_46149; CFG_46149: assume true; call local_#16380 := routine_#33768_luaH_getint(local_#16379,local_#4412_n); goto CFG_49902; CFG_49902: assume true; local_#31851_slot := local_#16380; local_#16381 := local_#31851_slot; local_#16382 := 0; local_#16383 := (if _memory[{ base : local_#31851_slot!base, offset : local_#31851_slot!offset + 8 }] == local_#16382 then 1 else 0); if (local_#16383 != 0) { goto CFG_40439; } else { goto CFG_49903; } CFG_49903: assume true; local_#16384 := 1; local_#16385 := { base : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!offset - local_#16384 * 16 }; local_#16386 := 64; local_#16387 := ~sand32(_memory[{ base : local_#16385!base, offset : local_#16385!offset + 8 }], local_#16386); if (local_#16387 != 0) { goto CFG_49904; } else { goto CFG_40436; } CFG_49904: assume true; local_#16388 := { base : local_#31852_t!base, offset : local_#31852_t!offset + 0 }; local_#16389 := _memory_ptr[local_#16388]; assert { :LIR "61165" } { :check "overflow" } { :finding_ids "0" } true; local_#16390 := { base : local_#16389!base, offset : local_#16389!offset + 0 }; local_#16391 := _memory[{ base : local_#16390!base, offset : local_#16390!offset + 9 }]; assert { :LIR "62715" } { :check "overflow" } { :finding_ids "0" } local_#16391 <= 2147483647; local_#16392 := 4; local_#16393 := ~sand32(local_#16391, local_#16392); if (local_#16393 != 0) { goto CFG_49905; } else { goto CFG_40436; } CFG_49905: assume true; local_#16394 := 1; local_#16395 := { base : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!offset - local_#16394 * 16 }; local_#16396 := { base : local_#16395!base, offset : local_#16395!offset + 0 }; local_#16397 := _memory_ptr[local_#16396]; local_#16398 := _memory[{ base : local_#16397!base, offset : local_#16397!offset + 9 }]; assert { :LIR "62716" } { :check "overflow" } { :finding_ids "0" } local_#16398 <= 2147483647; local_#16399 := 3; local_#16400 := ~sand32(local_#16398, local_#16399); if (local_#16400 != 0) { goto CFG_42668; } else { goto CFG_40436; } CFG_40436: assume true; local_#16401 := 0; local_#16402 := 0; assert { :LIR "61166" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40438; CFG_42668: assume true; local_#16403 := { base : local_#31852_t!base, offset : local_#31852_t!offset + 0 }; local_#16404 := _memory_ptr[local_#16403]; assert { :LIR "61167" } { :check "overflow" } { :finding_ids "0" } true; local_#16405 := { base : local_#16404!base, offset : local_#16404!offset + 0 }; goto CFG_46150; CFG_46150: assume true; call routine_#33721_luaC_barrierback_(local_#4410_L,local_#16405); goto CFG_40437; CFG_40437: assume true; goto CFG_40438; CFG_40438: assume true; local_#16406 := 0; assert { :LIR "61168" } { :check "overflow" } { :finding_ids "0" } true; local_#16407 := 1; local_#16408 := { base : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!offset - local_#16407 * 16 }; local_#16409 := local_#31851_slot; assert { :LIR "61169" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#16408)!_value_!_b == _memory[{ base : local_#16408!base, offset : local_#16408!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16408)!_value_!_f == _memory_ptr[{ base : local_#16408!base, offset : local_#16408!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16408)!_value_!_gc == _memory_ptr[{ base : local_#16408!base, offset : local_#16408!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16408)!_value_!_i == _memory[{ base : local_#16408!base, offset : local_#16408!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16408)!_value_!_p == _memory_ptr[{ base : local_#16408!base, offset : local_#16408!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16408)!_tt_ == _memory[{ base : local_#16408!base, offset : local_#16408!offset + 8 }]; call write_type_#101(local_#16409,read_type_#101(_memory, _memory_ptr, local_#16408)); assume read_type_#101(_memory, _memory_ptr, local_#16409)!_value_!_b == _memory[{ base : local_#16409!base, offset : local_#16409!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16409)!_value_!_f == _memory_ptr[{ base : local_#16409!base, offset : local_#16409!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16409)!_value_!_gc == _memory_ptr[{ base : local_#16409!base, offset : local_#16409!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16409)!_value_!_i == _memory[{ base : local_#16409!base, offset : local_#16409!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16409)!_value_!_p == _memory_ptr[{ base : local_#16409!base, offset : local_#16409!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16409)!_tt_ == _memory[{ base : local_#16409!base, offset : local_#16409!offset + 8 }]; local_#16410 := read_type_#101(_memory, _memory_ptr, local_#16409); local_#16411 := local_#16410; local_#16412 := 0; local_#16413 := 0; assert { :LIR "61170" } { :check "overflow" } { :finding_ids "0" } true; local_#30701 := 1; goto CFG_49906; CFG_40439: assume true; local_#30701 := 0; goto CFG_49906; CFG_49906: assume true; local_#16414 := local_#30701; local_#16415 := local_#16414; if (local_#16415 != 0) { goto CFG_40441; } else { goto CFG_42669; } CFG_49907: assume true; local_#31851_slot := { base : 0, offset : 0 }; local_#16416 := local_#31851_slot; local_#16417 := 0; if (local_#16417 != 0) { goto CFG_40441; } else { goto CFG_42669; } CFG_42669: assume true; local_#31853_io := _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]; local_#16418 := { base : local_#31853_io!base, offset : local_#31853_io!offset + 0 }; _memory[local_#16418] := local_#4412_n; _memory[{ base : local_#31853_io!base, offset : local_#31853_io!offset + 8 }] := 19; local_#16419 := _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]; local_#16420 := 1; _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }] := { base : local_#16419!base, offset : local_#16419!offset + local_#16420 * 16 }; local_#16421 := local_#16419; local_#16422 := 0; local_#16423 := 0; assert { :LIR "61171" } { :check "overflow" } { :finding_ids "0" } true; local_#16424 := local_#31852_t; assert { :LIR "62717" } { :check "overflow" } { :finding_ids "0" } true; local_#16425 := 1; local_#16426 := { base : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!offset - local_#16425 * 16 }; local_#16427 := 2; local_#16428 := { base : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!offset - local_#16427 * 16 }; goto CFG_46151; CFG_46151: assume true; call routine_#33897_luaV_finishset(local_#4410_L,local_#16424,local_#16426,local_#16428,local_#31851_slot); goto CFG_40440; CFG_40440: assume true; local_#16429 := 2; _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]!offset - local_#16429 * 16 }; goto CFG_39210; CFG_40441: assume true; local_#16430 := _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }]; local_#16431 := 1; _memory_ptr[{ base : local_#4410_L!base, offset : local_#4410_L!offset + 16 }] := { base : local_#16430!base, offset : local_#16430!offset - local_#16431 * 16 }; local_#16432 := local_#16430; goto CFG_39210; CFG_39210: assume true; local_#16433 := 0; local_#16434 := 0; assert { :LIR "61172" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37402; CFG_37402: assume true; } procedure routine_#33984_lua_setlocal(local_#4413_L_IN : { base : int, offset : int }, local_#4414_ar_IN : { base : int, offset : int }, local_#4415_n_IN : int) returns (local_#7899 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#4413_L : { base : int, offset : int }; var local_#4414_ar : { base : int, offset : int }; var local_#4415_n : int; var local_#31855_pos : { base : int, offset : int }; var local_#16435 : int; var local_#16436 : int; var local_#16437 : { base : int, offset : int }; var local_#16438 : { base : int, offset : int }; var local_#16439 : { base : int, offset : int }; var local_#31854_name : { base : int, offset : int }; var local_#16440 : { base : int, offset : int }; var local_#31856_io1 : { base : int, offset : int }; var local_#16441 : int; var local_#16442 : { base : int, offset : int }; var local_#16443 : int; var local_#16444 : int; var local_#16445 : int; var local_#16446 : { base : int, offset : int }; var local_#16447 : int; var local_#16448 : { base : int, offset : int }; var local_#16449 : int; var local_#16450 : int; local_#4413_L := local_#4413_L_IN; local_#4414_ar := local_#4414_ar_IN; local_#4415_n := local_#4415_n_IN; goto CFG_36492; CFG_36492: assume true; goto CFG_42670; CFG_42670: assume true; _memory_ptr[local_#31855_pos] := { base : 0, offset : 0 }; local_#16435 := 0; local_#16436 := 0; assert { :LIR "61173" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46152; CFG_46152: assume true; call routine_#35103_swapextra(local_#4413_L); goto CFG_42671; CFG_42671: assume true; local_#16437 := _memory_ptr[{ base : local_#4414_ar!base, offset : local_#4414_ar!offset + 120 }]; local_#16438 := local_#31855_pos; goto CFG_46153; CFG_46153: assume true; call local_#16439 := routine_#34747_findlocal(local_#4413_L,local_#16437,local_#4415_n,local_#16438); goto CFG_49908; CFG_49908: assume true; local_#31854_name := local_#16439; local_#16440 := local_#31854_name; if (local_#16440 != { base : 0, offset : 0 }) { goto CFG_40442; } else { goto CFG_46154; } CFG_40442: assume true; local_#31856_io1 := _memory_ptr[local_#31855_pos]; local_#16441 := 1; local_#16442 := { base : _memory_ptr[{ base : local_#4413_L!base, offset : local_#4413_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4413_L!base, offset : local_#4413_L!offset + 16 }]!offset - local_#16441 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#16442)!_value_!_b == _memory[{ base : local_#16442!base, offset : local_#16442!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16442)!_value_!_f == _memory_ptr[{ base : local_#16442!base, offset : local_#16442!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16442)!_value_!_gc == _memory_ptr[{ base : local_#16442!base, offset : local_#16442!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16442)!_value_!_i == _memory[{ base : local_#16442!base, offset : local_#16442!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16442)!_value_!_p == _memory_ptr[{ base : local_#16442!base, offset : local_#16442!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16442)!_tt_ == _memory[{ base : local_#16442!base, offset : local_#16442!offset + 8 }]; call write_type_#101(local_#31856_io1,read_type_#101(_memory, _memory_ptr, local_#16442)); local_#16443 := 0; assert { :LIR "61174" } { :check "overflow" } { :finding_ids "0" } true; local_#16444 := 0; local_#16445 := 0; assert { :LIR "61175" } { :check "overflow" } { :finding_ids "0" } true; local_#16446 := _memory_ptr[{ base : local_#4413_L!base, offset : local_#4413_L!offset + 16 }]; local_#16447 := 1; _memory_ptr[{ base : local_#4413_L!base, offset : local_#4413_L!offset + 16 }] := { base : local_#16446!base, offset : local_#16446!offset - local_#16447 * 16 }; local_#16448 := local_#16446; goto CFG_46154; CFG_46154: assume true; call routine_#35103_swapextra(local_#4413_L); goto CFG_38281; CFG_38281: assume true; local_#16449 := 0; local_#16450 := 0; assert { :LIR "61176" } { :check "overflow" } { :finding_ids "0" } true; local_#7899 := local_#31854_name; goto CFG_37403; CFG_37403: assume true; } procedure routine_#33985_lua_setmetatable(local_#4416_L_IN : { base : int, offset : int }, local_#4417_objindex_IN : int) returns (local_#7900 : int) modifies _memory, _memory_ptr, _valid; { var local_#4416_L : { base : int, offset : int }; var local_#4417_objindex : int; var local_#16451 : int; var local_#16452 : int; var local_#16453 : int; var local_#16454 : int; var local_#16455 : { base : int, offset : int }; var local_#31858_obj : { base : int, offset : int }; var local_#16456 : int; var local_#16457 : { base : int, offset : int }; var local_#16458 : int; var local_#16459 : int; var local_#16460 : int; var local_#16461 : int; var local_#16462 : int; var local_#16463 : { base : int, offset : int }; var local_#16464 : { base : int, offset : int }; var local_#16465 : { base : int, offset : int }; var local_#16466 : { base : int, offset : int }; var local_#31857_mt : { base : int, offset : int }; var local_#16467 : int; var local_#16468 : int; var local_#16469 : { base : int, offset : int }; var local_#16470 : { base : int, offset : int }; var local_#16471 : int; var local_#16472 : int; var local_#16473 : { base : int, offset : int }; var local_#16474 : { base : int, offset : int }; var local_#16475 : { base : int, offset : int }; var local_#16476 : { base : int, offset : int }; var local_#16477 : { base : int, offset : int }; var local_#16478 : { base : int, offset : int }; var local_#16479 : { base : int, offset : int }; var local_#16480 : { base : int, offset : int }; var local_#16481 : int; var local_#16482 : int; var local_#16483 : int; var local_#16484 : int; var local_#16485 : int; var local_#16486 : int; var local_#16487 : int; var local_#16488 : int; var local_#16489 : { base : int, offset : int }; var local_#16490 : { base : int, offset : int }; var local_#16491 : { base : int, offset : int }; var local_#16492 : { base : int, offset : int }; var local_#16493 : { base : int, offset : int }; var local_#16494 : { base : int, offset : int }; var local_#16495 : { base : int, offset : int }; var local_#16496 : { base : int, offset : int }; var local_#16497 : { base : int, offset : int }; var local_#16498 : { base : int, offset : int }; var local_#16499 : { base : int, offset : int }; var local_#16500 : { base : int, offset : int }; var local_#16501 : { base : int, offset : int }; var local_#16502 : { base : int, offset : int }; var local_#16503 : { base : int, offset : int }; var local_#16504 : int; var local_#16505 : int; var local_#16506 : int; var local_#16507 : int; var local_#16508 : int; var local_#16509 : int; var local_#16510 : int; var local_#16511 : int; var local_#16512 : { base : int, offset : int }; var local_#16513 : { base : int, offset : int }; var local_#16514 : { base : int, offset : int }; var local_#16515 : { base : int, offset : int }; var local_#16516 : { base : int, offset : int }; var local_#16517 : { base : int, offset : int }; var local_#16518 : { base : int, offset : int }; var local_#16519 : { base : int, offset : int }; var local_#16520 : int; var local_#16521 : { base : int, offset : int }; var local_#16522 : int; var local_#16523 : int; local_#4416_L := local_#4416_L_IN; local_#4417_objindex := local_#4417_objindex_IN; goto CFG_36493; CFG_36493: assume true; goto CFG_42672; CFG_42672: assume true; local_#16451 := 0; local_#16452 := 0; assert { :LIR "61177" } { :check "overflow" } { :finding_ids "0" } true; local_#16453 := 0; local_#16454 := 0; assert { :LIR "61178" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46155; CFG_46155: assume true; call local_#16455 := routine_#34811_index2addr(local_#4416_L,local_#4417_objindex); goto CFG_49909; CFG_49909: assume true; local_#31858_obj := local_#16455; local_#16456 := 1; local_#16457 := { base : _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 16 }]!offset - local_#16456 * 16 }; local_#16458 := 0; local_#16459 := (if _memory[{ base : local_#16457!base, offset : local_#16457!offset + 8 }] == local_#16458 then 1 else 0); if (local_#16459 != 0) { goto CFG_40444; } else { goto CFG_40443; } CFG_40443: assume true; local_#16460 := 0; local_#16461 := 0; assert { :LIR "61179" } { :check "overflow" } { :finding_ids "0" } true; local_#16462 := 1; local_#16463 := { base : _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 16 }]!offset - local_#16462 * 16 }; local_#16464 := { base : local_#16463!base, offset : local_#16463!offset + 0 }; local_#16465 := _memory_ptr[local_#16464]; assert { :LIR "61180" } { :check "overflow" } { :finding_ids "0" } true; local_#16466 := { base : local_#16465!base, offset : local_#16465!offset + 0 }; local_#31857_mt := local_#16466; goto CFG_51522; CFG_40444: assume true; local_#31857_mt := { base : 0, offset : 0 }; goto CFG_51522; CFG_51522: assume true; local_#16467 := 15; local_#16468 := ~sand32(_memory[{ base : local_#31858_obj!base, offset : local_#31858_obj!offset + 8 }], local_#16467); if (local_#16468 == 5) { goto CFG_49913; } if (local_#16468 == 7) { goto CFG_49910; } goto CFG_39574; CFG_39574: assume true; local_#16469 := _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 24 }]; local_#16470 := { base : local_#16469!base, offset : local_#16469!offset + 416 }; local_#16471 := 15; local_#16472 := ~sand32(_memory[{ base : local_#31858_obj!base, offset : local_#31858_obj!offset + 8 }], local_#16471); local_#16473 := { base : local_#16470!base, offset : local_#16470!offset + 0 * 8 + local_#16472 * 8 }; _memory_ptr[local_#16473] := local_#31857_mt; goto CFG_38282; CFG_49910: assume true; local_#16474 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16475 := _memory_ptr[local_#16474]; assert { :LIR "61181" } { :check "overflow" } { :finding_ids "0" } true; local_#16476 := { base : local_#16475!base, offset : local_#16475!offset + 0 }; _memory_ptr[{ base : local_#16476!base, offset : local_#16476!offset + 16 }] := local_#31857_mt; local_#16477 := local_#31857_mt; if (local_#16477 != { base : 0, offset : 0 }) { goto CFG_49911; } else { goto CFG_39575; } CFG_49911: assume true; local_#16478 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16479 := _memory_ptr[local_#16478]; assert { :LIR "61182" } { :check "overflow" } { :finding_ids "0" } true; local_#16480 := { base : local_#16479!base, offset : local_#16479!offset + 0 }; local_#16481 := _memory[{ base : local_#16480!base, offset : local_#16480!offset + 9 }]; assert { :LIR "62718" } { :check "overflow" } { :finding_ids "0" } local_#16481 <= 2147483647; local_#16482 := 4; local_#16483 := ~sand32(local_#16481, local_#16482); if (local_#16483 != 0) { goto CFG_49912; } else { goto CFG_40445; } CFG_49912: assume true; local_#16484 := _memory[{ base : local_#31857_mt!base, offset : local_#31857_mt!offset + 9 }]; assert { :LIR "62719" } { :check "overflow" } { :finding_ids "0" } local_#16484 <= 2147483647; local_#16485 := 3; local_#16486 := ~sand32(local_#16484, local_#16485); if (local_#16486 != 0) { goto CFG_42673; } else { goto CFG_40445; } CFG_40445: assume true; local_#16487 := 0; local_#16488 := 0; assert { :LIR "61183" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42674; CFG_42673: assume true; local_#16489 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16490 := _memory_ptr[local_#16489]; assert { :LIR "61184" } { :check "overflow" } { :finding_ids "0" } true; local_#16491 := { base : local_#16490!base, offset : local_#16490!offset + 0 }; local_#16492 := local_#16491; assert { :LIR "61185" } { :check "overflow" } { :finding_ids "0" } true; local_#16493 := { base : local_#16492!base, offset : local_#16492!offset + 0 }; local_#16494 := local_#31857_mt; assert { :LIR "61186" } { :check "overflow" } { :finding_ids "0" } true; local_#16495 := { base : local_#16494!base, offset : local_#16494!offset + 0 }; goto CFG_46156; CFG_46156: assume true; call routine_#33720_luaC_barrier_(local_#4416_L,local_#16493,local_#16495); goto CFG_40446; CFG_40446: assume true; goto CFG_42674; CFG_42674: assume true; local_#16496 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16497 := _memory_ptr[local_#16496]; goto CFG_46157; CFG_46157: assume true; call routine_#33722_luaC_checkfinalizer(local_#4416_L,local_#16497,local_#31857_mt); goto CFG_40447; CFG_40447: assume true; goto CFG_39575; CFG_39575: assume true; goto CFG_38282; CFG_49913: assume true; local_#16498 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16499 := _memory_ptr[local_#16498]; assert { :LIR "61187" } { :check "overflow" } { :finding_ids "0" } true; local_#16500 := { base : local_#16499!base, offset : local_#16499!offset + 0 }; _memory_ptr[{ base : local_#16500!base, offset : local_#16500!offset + 40 }] := local_#31857_mt; local_#16501 := local_#31857_mt; if (local_#16501 != { base : 0, offset : 0 }) { goto CFG_49914; } else { goto CFG_39576; } CFG_49914: assume true; local_#16502 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16503 := _memory_ptr[local_#16502]; local_#16504 := _memory[{ base : local_#16503!base, offset : local_#16503!offset + 9 }]; assert { :LIR "62720" } { :check "overflow" } { :finding_ids "0" } local_#16504 <= 2147483647; local_#16505 := 4; local_#16506 := ~sand32(local_#16504, local_#16505); if (local_#16506 != 0) { goto CFG_49915; } else { goto CFG_40448; } CFG_49915: assume true; local_#16507 := _memory[{ base : local_#31857_mt!base, offset : local_#31857_mt!offset + 9 }]; assert { :LIR "62721" } { :check "overflow" } { :finding_ids "0" } local_#16507 <= 2147483647; local_#16508 := 3; local_#16509 := ~sand32(local_#16507, local_#16508); if (local_#16509 != 0) { goto CFG_42675; } else { goto CFG_40448; } CFG_40448: assume true; local_#16510 := 0; local_#16511 := 0; assert { :LIR "61188" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42676; CFG_42675: assume true; local_#16512 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16513 := _memory_ptr[local_#16512]; assert { :LIR "61189" } { :check "overflow" } { :finding_ids "0" } true; local_#16514 := { base : local_#16513!base, offset : local_#16513!offset + 0 }; local_#16515 := local_#31857_mt; assert { :LIR "61190" } { :check "overflow" } { :finding_ids "0" } true; local_#16516 := { base : local_#16515!base, offset : local_#16515!offset + 0 }; goto CFG_46158; CFG_46158: assume true; call routine_#33720_luaC_barrier_(local_#4416_L,local_#16514,local_#16516); goto CFG_40449; CFG_40449: assume true; goto CFG_42676; CFG_42676: assume true; local_#16517 := { base : local_#31858_obj!base, offset : local_#31858_obj!offset + 0 }; local_#16518 := _memory_ptr[local_#16517]; goto CFG_46159; CFG_46159: assume true; call routine_#33722_luaC_checkfinalizer(local_#4416_L,local_#16518,local_#31857_mt); goto CFG_40450; CFG_40450: assume true; goto CFG_39576; CFG_39576: assume true; goto CFG_38282; CFG_38282: assume true; local_#16519 := _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 16 }]; local_#16520 := 1; _memory_ptr[{ base : local_#4416_L!base, offset : local_#4416_L!offset + 16 }] := { base : local_#16519!base, offset : local_#16519!offset - local_#16520 * 16 }; local_#16521 := local_#16519; local_#16522 := 0; local_#16523 := 0; assert { :LIR "61191" } { :check "overflow" } { :finding_ids "0" } true; local_#7900 := 1; goto CFG_37404; CFG_41924: assume true; goto CFG_38282; CFG_37404: assume true; } procedure routine_#33986_lua_settable(local_#4418_L_IN : { base : int, offset : int }, local_#4419_idx_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4418_L : { base : int, offset : int }; var local_#4419_idx : int; var local_#16524 : int; var local_#16525 : int; var local_#16526 : int; var local_#16527 : int; var local_#16528 : { base : int, offset : int }; var local_#31859_t : { base : int, offset : int }; var local_#16529 : int; var local_#16530 : int; var local_#16531 : int; var local_#16532 : { base : int, offset : int }; var local_#16533 : { base : int, offset : int }; var local_#16534 : { base : int, offset : int }; var local_#16535 : int; var local_#16536 : { base : int, offset : int }; var local_#16537 : { base : int, offset : int }; var local_#16538 : { base : int, offset : int }; var local_#31860_slot : { base : int, offset : int }; var local_#16539 : { base : int, offset : int }; var local_#16540 : int; var local_#16541 : int; var local_#16542 : int; var local_#16543 : { base : int, offset : int }; var local_#16544 : int; var local_#16545 : int; var local_#16546 : { base : int, offset : int }; var local_#16547 : { base : int, offset : int }; var local_#16548 : { base : int, offset : int }; var local_#16549 : int; var local_#16550 : int; var local_#16551 : int; var local_#16552 : int; var local_#16553 : { base : int, offset : int }; var local_#16554 : { base : int, offset : int }; var local_#16555 : { base : int, offset : int }; var local_#16556 : int; var local_#16557 : int; var local_#16558 : int; var local_#16559 : int; var local_#16560 : int; var local_#16561 : { base : int, offset : int }; var local_#16562 : { base : int, offset : int }; var local_#16563 : { base : int, offset : int }; var local_#16564 : int; var local_#16565 : int; var local_#16566 : { base : int, offset : int }; var local_#16567 : { base : int, offset : int }; var local_#16568 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16569 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#16570 : int; var local_#16571 : int; var local_#30702 : int; var local_#16572 : int; var local_#16573 : int; var local_#16574 : { base : int, offset : int }; var local_#16575 : int; var local_#16576 : { base : int, offset : int }; var local_#16577 : int; var local_#16578 : { base : int, offset : int }; var local_#16579 : int; var local_#16580 : { base : int, offset : int }; var local_#16581 : int; var local_#16582 : int; var local_#16583 : int; local_#4418_L := local_#4418_L_IN; local_#4419_idx := local_#4419_idx_IN; goto CFG_36494; CFG_36494: assume true; goto CFG_42677; CFG_42677: assume true; local_#16524 := 0; local_#16525 := 0; assert { :LIR "61192" } { :check "overflow" } { :finding_ids "0" } true; local_#16526 := 0; local_#16527 := 0; assert { :LIR "61193" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46160; CFG_46160: assume true; call local_#16528 := routine_#34811_index2addr(local_#4418_L,local_#4419_idx); goto CFG_49916; CFG_49916: assume true; local_#31859_t := local_#16528; local_#16529 := 69; local_#16530 := (if _memory[{ base : local_#31859_t!base, offset : local_#31859_t!offset + 8 }] == local_#16529 then 1 else 0); local_#16531 := (if local_#16530 != 0 then 0 else 1); if (local_#16531 != 0) { goto CFG_49922; } else { goto CFG_42678; } CFG_42678: assume true; local_#16532 := { base : local_#31859_t!base, offset : local_#31859_t!offset + 0 }; local_#16533 := _memory_ptr[local_#16532]; assert { :LIR "61194" } { :check "overflow" } { :finding_ids "0" } true; local_#16534 := { base : local_#16533!base, offset : local_#16533!offset + 0 }; local_#16535 := 2; local_#16536 := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16535 * 16 }; local_#16537 := local_#16536; assert { :LIR "62722" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46161; CFG_46161: assume true; call local_#16538 := routine_#33767_luaH_get(local_#16534,local_#16537); goto CFG_49917; CFG_49917: assume true; local_#31860_slot := local_#16538; local_#16539 := local_#31860_slot; local_#16540 := 0; local_#16541 := (if _memory[{ base : local_#31860_slot!base, offset : local_#31860_slot!offset + 8 }] == local_#16540 then 1 else 0); if (local_#16541 != 0) { goto CFG_40454; } else { goto CFG_49918; } CFG_49918: assume true; local_#16542 := 1; local_#16543 := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16542 * 16 }; local_#16544 := 64; local_#16545 := ~sand32(_memory[{ base : local_#16543!base, offset : local_#16543!offset + 8 }], local_#16544); if (local_#16545 != 0) { goto CFG_49919; } else { goto CFG_40451; } CFG_49919: assume true; local_#16546 := { base : local_#31859_t!base, offset : local_#31859_t!offset + 0 }; local_#16547 := _memory_ptr[local_#16546]; assert { :LIR "61195" } { :check "overflow" } { :finding_ids "0" } true; local_#16548 := { base : local_#16547!base, offset : local_#16547!offset + 0 }; local_#16549 := _memory[{ base : local_#16548!base, offset : local_#16548!offset + 9 }]; assert { :LIR "62723" } { :check "overflow" } { :finding_ids "0" } local_#16549 <= 2147483647; local_#16550 := 4; local_#16551 := ~sand32(local_#16549, local_#16550); if (local_#16551 != 0) { goto CFG_49920; } else { goto CFG_40451; } CFG_49920: assume true; local_#16552 := 1; local_#16553 := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16552 * 16 }; local_#16554 := { base : local_#16553!base, offset : local_#16553!offset + 0 }; local_#16555 := _memory_ptr[local_#16554]; local_#16556 := _memory[{ base : local_#16555!base, offset : local_#16555!offset + 9 }]; assert { :LIR "62724" } { :check "overflow" } { :finding_ids "0" } local_#16556 <= 2147483647; local_#16557 := 3; local_#16558 := ~sand32(local_#16556, local_#16557); if (local_#16558 != 0) { goto CFG_42679; } else { goto CFG_40451; } CFG_40451: assume true; local_#16559 := 0; local_#16560 := 0; assert { :LIR "61196" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40453; CFG_42679: assume true; local_#16561 := { base : local_#31859_t!base, offset : local_#31859_t!offset + 0 }; local_#16562 := _memory_ptr[local_#16561]; assert { :LIR "61197" } { :check "overflow" } { :finding_ids "0" } true; local_#16563 := { base : local_#16562!base, offset : local_#16562!offset + 0 }; goto CFG_46162; CFG_46162: assume true; call routine_#33721_luaC_barrierback_(local_#4418_L,local_#16563); goto CFG_40452; CFG_40452: assume true; goto CFG_40453; CFG_40453: assume true; local_#16564 := 0; assert { :LIR "61198" } { :check "overflow" } { :finding_ids "0" } true; local_#16565 := 1; local_#16566 := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16565 * 16 }; local_#16567 := local_#31860_slot; assert { :LIR "61199" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#16566)!_value_!_b == _memory[{ base : local_#16566!base, offset : local_#16566!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16566)!_value_!_f == _memory_ptr[{ base : local_#16566!base, offset : local_#16566!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16566)!_value_!_gc == _memory_ptr[{ base : local_#16566!base, offset : local_#16566!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16566)!_value_!_i == _memory[{ base : local_#16566!base, offset : local_#16566!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16566)!_value_!_p == _memory_ptr[{ base : local_#16566!base, offset : local_#16566!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16566)!_tt_ == _memory[{ base : local_#16566!base, offset : local_#16566!offset + 8 }]; call write_type_#101(local_#16567,read_type_#101(_memory, _memory_ptr, local_#16566)); assume read_type_#101(_memory, _memory_ptr, local_#16567)!_value_!_b == _memory[{ base : local_#16567!base, offset : local_#16567!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16567)!_value_!_f == _memory_ptr[{ base : local_#16567!base, offset : local_#16567!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16567)!_value_!_gc == _memory_ptr[{ base : local_#16567!base, offset : local_#16567!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16567)!_value_!_i == _memory[{ base : local_#16567!base, offset : local_#16567!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16567)!_value_!_p == _memory_ptr[{ base : local_#16567!base, offset : local_#16567!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16567)!_tt_ == _memory[{ base : local_#16567!base, offset : local_#16567!offset + 8 }]; local_#16568 := read_type_#101(_memory, _memory_ptr, local_#16567); local_#16569 := local_#16568; local_#16570 := 0; local_#16571 := 0; assert { :LIR "61200" } { :check "overflow" } { :finding_ids "0" } true; local_#30702 := 1; goto CFG_49921; CFG_40454: assume true; local_#30702 := 0; goto CFG_49921; CFG_49921: assume true; local_#16572 := local_#30702; local_#16573 := local_#16572; if (local_#16573 != 0) { goto CFG_39211; } else { goto CFG_42680; } CFG_49922: assume true; local_#31860_slot := { base : 0, offset : 0 }; local_#16574 := local_#31860_slot; local_#16575 := 0; if (local_#16575 != 0) { goto CFG_39211; } else { goto CFG_42680; } CFG_42680: assume true; local_#16576 := local_#31859_t; assert { :LIR "62725" } { :check "overflow" } { :finding_ids "0" } true; local_#16577 := 2; local_#16578 := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16577 * 16 }; local_#16579 := 1; local_#16580 := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16579 * 16 }; goto CFG_46163; CFG_46163: assume true; call routine_#33897_luaV_finishset(local_#4418_L,local_#16576,local_#16578,local_#16580,local_#31860_slot); goto CFG_40455; CFG_40455: assume true; goto CFG_39211; CFG_39211: assume true; local_#16581 := 2; _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4418_L!base, offset : local_#4418_L!offset + 16 }]!offset - local_#16581 * 16 }; local_#16582 := 0; local_#16583 := 0; assert { :LIR "61201" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37405; CFG_37405: assume true; } procedure routine_#33987_lua_settop(local_#4420_L_IN : { base : int, offset : int }, local_#4421_idx_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4420_L : { base : int, offset : int }; var local_#4421_idx : int; var local_#16584 : { base : int, offset : int }; var local_#31861_func : { base : int, offset : int }; var local_#16585 : int; var local_#16586 : int; var local_#16587 : int; var local_#16588 : int; var local_#16589 : int; var local_#16590 : int; var local_#16591 : int; var local_#16592 : int; var local_#16593 : int; var local_#16594 : int; var local_#16595 : int; var local_#16596 : { base : int, offset : int }; var local_#16597 : { base : int, offset : int }; var local_#16598 : int; var local_#16599 : int; var local_#16600 : { base : int, offset : int }; var local_#16601 : { base : int, offset : int }; var local_#16602 : int; var local_#16603 : int; var local_#16604 : int; var local_#16605 : { base : int, offset : int }; var local_#16606 : int; local_#4420_L := local_#4420_L_IN; local_#4421_idx := local_#4421_idx_IN; goto CFG_36495; CFG_36495: assume true; goto CFG_49923; CFG_49923: assume true; local_#16584 := _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 32 }]; local_#31861_func := _memory_ptr[{ base : local_#16584!base, offset : local_#16584!offset + 0 }]; local_#16585 := 0; local_#16586 := 0; assert { :LIR "61202" } { :check "overflow" } { :finding_ids "0" } true; local_#16587 := 0; local_#16588 := (if local_#4421_idx >= local_#16587 then 1 else 0); if (local_#16588 != 0) { goto CFG_41676; } else { goto CFG_40456; } CFG_40456: assume true; local_#16589 := 0; local_#16590 := 0; assert { :LIR "61203" } { :check "overflow" } { :finding_ids "0" } true; local_#16591 := 1; local_#16592 := local_#4421_idx + local_#16591; assert { :LIR "66490" } { :check "overflow" } { :finding_ids "0" } local_#16592 <= 2147483647; _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }]!offset + local_#16592 * 16 }; goto CFG_39212; CFG_41676: assume true; local_#16593 := 0; local_#16594 := 0; assert { :LIR "61204" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49924; CFG_49924: assume true; local_#16595 := 1; local_#16596 := { base : local_#31861_func!base, offset : local_#31861_func!offset + local_#16595 * 16 }; local_#16597 := { base : local_#16596!base, offset : local_#16596!offset + local_#4421_idx * 16 }; local_#16598 := (if _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }]!offset < local_#16597!offset then 1 else 0); if (local_#16598 != 0) { goto CFG_45017; } else { goto CFG_40457; } CFG_40457: assume true; local_#16599 := 1; local_#16600 := { base : local_#31861_func!base, offset : local_#31861_func!offset + local_#16599 * 16 }; local_#16601 := { base : local_#16600!base, offset : local_#16600!offset + local_#4421_idx * 16 }; _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }] := local_#16601; goto CFG_39212; CFG_39212: assume true; local_#16602 := 0; local_#16603 := 0; assert { :LIR "61205" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37406; CFG_45017: assume true; local_#16604 := 0; local_#16605 := _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }]; local_#16606 := 1; _memory_ptr[{ base : local_#4420_L!base, offset : local_#4420_L!offset + 16 }] := { base : local_#16605!base, offset : local_#16605!offset + local_#16606 * 16 }; _memory[{ base : local_#16605!base, offset : local_#16605!offset + 8 }] := local_#16604; goto CFG_49924; CFG_37406: assume true; } procedure routine_#33988_lua_setupvalue(local_#4422_L_IN : { base : int, offset : int }, local_#4423_funcindex_IN : int, local_#4424_n_IN : int) returns (local_#7901 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#4422_L : { base : int, offset : int }; var local_#4423_funcindex : int; var local_#4424_n : int; var local_#31866_val : { base : int, offset : int }; var local_#31864_owner : { base : int, offset : int }; var local_#31865_uv : { base : int, offset : int }; var local_#16607 : int; var local_#16608 : int; var local_#16609 : { base : int, offset : int }; var local_#31862_fi : { base : int, offset : int }; var local_#16610 : int; var local_#16611 : int; var local_#16612 : { base : int, offset : int }; var local_#16613 : { base : int, offset : int }; var local_#16614 : { base : int, offset : int }; var local_#16615 : { base : int, offset : int }; var local_#31863_name : { base : int, offset : int }; var local_#16616 : { base : int, offset : int }; var local_#16617 : { base : int, offset : int }; var local_#16618 : int; var local_#16619 : { base : int, offset : int }; var local_#31867_io1 : { base : int, offset : int }; var local_#16620 : { base : int, offset : int }; var local_#16621 : int; var local_#16622 : int; var local_#16623 : int; var local_#16624 : { base : int, offset : int }; var local_#16625 : { base : int, offset : int }; var local_#16626 : { base : int, offset : int }; var local_#16627 : int; var local_#16628 : int; var local_#16629 : { base : int, offset : int }; var local_#16630 : int; var local_#16631 : int; var local_#16632 : int; var local_#16633 : int; var local_#16634 : { base : int, offset : int }; var local_#16635 : int; var local_#16636 : int; var local_#16637 : int; var local_#16638 : int; var local_#16639 : int; var local_#16640 : { base : int, offset : int }; var local_#16641 : { base : int, offset : int }; var local_#16642 : { base : int, offset : int }; var local_#16643 : int; var local_#16644 : int; var local_#16645 : int; var local_#16646 : int; var local_#16647 : int; var local_#16648 : { base : int, offset : int }; var local_#16649 : { base : int, offset : int }; var local_#16650 : { base : int, offset : int }; var local_#16651 : { base : int, offset : int }; var local_#16652 : { base : int, offset : int }; var local_#16653 : int; var local_#16654 : int; local_#4422_L := local_#4422_L_IN; local_#4423_funcindex := local_#4423_funcindex_IN; local_#4424_n := local_#4424_n_IN; goto CFG_36496; CFG_36496: assume true; goto CFG_42681; CFG_42681: assume true; _memory_ptr[local_#31866_val] := { base : 0, offset : 0 }; _memory_ptr[local_#31864_owner] := { base : 0, offset : 0 }; _memory_ptr[local_#31865_uv] := { base : 0, offset : 0 }; local_#16607 := 0; local_#16608 := 0; assert { :LIR "61206" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46164; CFG_46164: assume true; call local_#16609 := routine_#34811_index2addr(local_#4422_L,local_#4423_funcindex); goto CFG_42682; CFG_42682: assume true; local_#31862_fi := local_#16609; local_#16610 := 0; local_#16611 := 0; assert { :LIR "61207" } { :check "overflow" } { :finding_ids "0" } true; local_#16612 := local_#31866_val; local_#16613 := local_#31864_owner; local_#16614 := local_#31865_uv; goto CFG_46165; CFG_46165: assume true; call local_#16615 := routine_#34588_aux_upvalue(local_#31862_fi,local_#4424_n,local_#16612,local_#16613,local_#16614); goto CFG_49925; CFG_49925: assume true; local_#31863_name := local_#16615; local_#16616 := local_#31863_name; if (local_#16616 != { base : 0, offset : 0 }) { goto CFG_49926; } else { goto CFG_38283; } CFG_49926: assume true; local_#16617 := _memory_ptr[{ base : local_#4422_L!base, offset : local_#4422_L!offset + 16 }]; local_#16618 := 1; _memory_ptr[{ base : local_#4422_L!base, offset : local_#4422_L!offset + 16 }] := { base : local_#16617!base, offset : local_#16617!offset - local_#16618 * 16 }; local_#16619 := local_#16617; local_#31867_io1 := _memory_ptr[local_#31866_val]; local_#16620 := _memory_ptr[{ base : local_#4422_L!base, offset : local_#4422_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#16620)!_value_!_b == _memory[{ base : local_#16620!base, offset : local_#16620!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16620)!_value_!_f == _memory_ptr[{ base : local_#16620!base, offset : local_#16620!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16620)!_value_!_gc == _memory_ptr[{ base : local_#16620!base, offset : local_#16620!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16620)!_value_!_i == _memory[{ base : local_#16620!base, offset : local_#16620!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16620)!_value_!_p == _memory_ptr[{ base : local_#16620!base, offset : local_#16620!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16620)!_tt_ == _memory[{ base : local_#16620!base, offset : local_#16620!offset + 8 }]; call write_type_#101(local_#31867_io1,read_type_#101(_memory, _memory_ptr, local_#16620)); local_#16621 := 0; assert { :LIR "61208" } { :check "overflow" } { :finding_ids "0" } true; local_#16622 := 0; local_#16623 := 0; assert { :LIR "61209" } { :check "overflow" } { :finding_ids "0" } true; local_#16624 := _memory_ptr[local_#31864_owner]; if (local_#16624 != { base : 0, offset : 0 }) { goto CFG_49930; } else { goto CFG_49927; } CFG_49927: assume true; local_#16625 := _memory_ptr[local_#31865_uv]; if (local_#16625 != { base : 0, offset : 0 }) { goto CFG_49928; } else { goto CFG_40461; } CFG_49928: assume true; local_#16626 := _memory_ptr[{ base : _memory_ptr[local_#31865_uv]!base, offset : _memory_ptr[local_#31865_uv]!offset + 0 }]; local_#16627 := 64; local_#16628 := ~sand32(_memory[{ base : local_#16626!base, offset : local_#16626!offset + 8 }], local_#16627); if (local_#16628 != 0) { goto CFG_49929; } else { goto CFG_40458; } CFG_49929: assume true; local_#16629 := { base : _memory_ptr[local_#31865_uv]!base, offset : _memory_ptr[local_#31865_uv]!offset + 16 }; local_#16630 := (if _memory_ptr[{ base : _memory_ptr[local_#31865_uv]!base, offset : _memory_ptr[local_#31865_uv]!offset + 0 }] != local_#16629 then 1 else 0); local_#16631 := (if local_#16630 != 0 then 0 else 1); if (local_#16631 != 0) { goto CFG_46166; } else { goto CFG_40458; } CFG_40458: assume true; local_#16632 := 0; local_#16633 := 0; assert { :LIR "61210" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40460; CFG_46166: assume true; call routine_#33729_luaC_upvalbarrier_(local_#4422_L,_memory_ptr[local_#31865_uv]); goto CFG_40459; CFG_40459: assume true; goto CFG_40460; CFG_40460: assume true; goto CFG_40461; CFG_40461: assume true; goto CFG_40465; CFG_49930: assume true; local_#16634 := _memory_ptr[{ base : local_#4422_L!base, offset : local_#4422_L!offset + 16 }]; local_#16635 := 64; local_#16636 := ~sand32(_memory[{ base : local_#16634!base, offset : local_#16634!offset + 8 }], local_#16635); if (local_#16636 != 0) { goto CFG_49931; } else { goto CFG_40462; } CFG_49931: assume true; local_#16637 := _memory[{ base : _memory_ptr[local_#31864_owner]!base, offset : _memory_ptr[local_#31864_owner]!offset + 9 }]; assert { :LIR "62726" } { :check "overflow" } { :finding_ids "0" } local_#16637 <= 2147483647; local_#16638 := 4; local_#16639 := ~sand32(local_#16637, local_#16638); if (local_#16639 != 0) { goto CFG_49932; } else { goto CFG_40462; } CFG_49932: assume true; local_#16640 := _memory_ptr[{ base : local_#4422_L!base, offset : local_#4422_L!offset + 16 }]; local_#16641 := { base : local_#16640!base, offset : local_#16640!offset + 0 }; local_#16642 := _memory_ptr[local_#16641]; local_#16643 := _memory[{ base : local_#16642!base, offset : local_#16642!offset + 9 }]; assert { :LIR "62727" } { :check "overflow" } { :finding_ids "0" } local_#16643 <= 2147483647; local_#16644 := 3; local_#16645 := ~sand32(local_#16643, local_#16644); if (local_#16645 != 0) { goto CFG_42683; } else { goto CFG_40462; } CFG_40462: assume true; local_#16646 := 0; local_#16647 := 0; assert { :LIR "61211" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40464; CFG_42683: assume true; local_#16648 := _memory_ptr[local_#31864_owner]; assert { :LIR "61212" } { :check "overflow" } { :finding_ids "0" } true; local_#16649 := { base : local_#16648!base, offset : local_#16648!offset + 0 }; local_#16650 := _memory_ptr[{ base : local_#4422_L!base, offset : local_#4422_L!offset + 16 }]; local_#16651 := { base : local_#16650!base, offset : local_#16650!offset + 0 }; local_#16652 := _memory_ptr[local_#16651]; goto CFG_46167; CFG_46167: assume true; call routine_#33720_luaC_barrier_(local_#4422_L,local_#16649,local_#16652); goto CFG_40463; CFG_40463: assume true; goto CFG_40464; CFG_40464: assume true; goto CFG_40465; CFG_40465: assume true; goto CFG_38283; CFG_38283: assume true; local_#16653 := 0; local_#16654 := 0; assert { :LIR "61213" } { :check "overflow" } { :finding_ids "0" } true; local_#7901 := local_#31863_name; goto CFG_37407; CFG_37407: assume true; } procedure routine_#33989_lua_setuservalue(local_#4425_L_IN : { base : int, offset : int }, local_#4426_idx_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4425_L : { base : int, offset : int }; var local_#4426_idx : int; var local_#16655 : int; var local_#16656 : int; var local_#16657 : int; var local_#16658 : int; var local_#16659 : { base : int, offset : int }; var local_#31868_o : { base : int, offset : int }; var local_#16660 : int; var local_#16661 : int; var local_#16662 : int; var local_#16663 : { base : int, offset : int }; var local_#16664 : { base : int, offset : int }; var local_#31869_io : { base : int, offset : int }; var local_#16665 : { base : int, offset : int }; var local_#16666 : { base : int, offset : int }; var local_#16667 : { base : int, offset : int }; var local_#31870_iu : { base : int, offset : int }; var local_#16668 : int; var local_#16669 : int; var local_#16670 : int; var local_#16671 : int; var local_#16672 : { base : int, offset : int }; var local_#16673 : int; var local_#16674 : int; var local_#16675 : { base : int, offset : int }; var local_#16676 : { base : int, offset : int }; var local_#16677 : int; var local_#16678 : int; var local_#16679 : int; var local_#16680 : int; var local_#16681 : { base : int, offset : int }; var local_#16682 : { base : int, offset : int }; var local_#16683 : { base : int, offset : int }; var local_#16684 : int; var local_#16685 : int; var local_#16686 : int; var local_#16687 : int; var local_#16688 : int; var local_#16689 : { base : int, offset : int }; var local_#16690 : { base : int, offset : int }; var local_#16691 : { base : int, offset : int }; var local_#16692 : int; var local_#16693 : { base : int, offset : int }; var local_#16694 : { base : int, offset : int }; var local_#16695 : { base : int, offset : int }; var local_#16696 : { base : int, offset : int }; var local_#16697 : int; var local_#16698 : { base : int, offset : int }; var local_#16699 : int; var local_#16700 : int; local_#4425_L := local_#4425_L_IN; local_#4426_idx := local_#4426_idx_IN; goto CFG_36497; CFG_36497: assume true; goto CFG_42684; CFG_42684: assume true; local_#16655 := 0; local_#16656 := 0; assert { :LIR "61214" } { :check "overflow" } { :finding_ids "0" } true; local_#16657 := 0; local_#16658 := 0; assert { :LIR "61215" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46168; CFG_46168: assume true; call local_#16659 := routine_#34811_index2addr(local_#4425_L,local_#4426_idx); goto CFG_49933; CFG_49933: assume true; local_#31868_o := local_#16659; local_#16660 := 0; local_#16661 := 0; assert { :LIR "61216" } { :check "overflow" } { :finding_ids "0" } true; local_#16662 := 1; local_#16663 := { base : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!offset - local_#16662 * 16 }; local_#16664 := local_#16663; assert { :LIR "62728" } { :check "overflow" } { :finding_ids "0" } true; local_#31869_io := local_#16664; local_#16665 := { base : local_#31868_o!base, offset : local_#31868_o!offset + 0 }; local_#16666 := _memory_ptr[local_#16665]; assert { :LIR "61217" } { :check "overflow" } { :finding_ids "0" } true; local_#16667 := { base : local_#16666!base, offset : local_#16666!offset + 0 }; local_#31870_iu := local_#16667; assume read_type_#120(_memory, _memory_ptr, { base : local_#31869_io!base, offset : local_#31869_io!offset + 0 })!_b == _memory[{ base : local_#31869_io!base, offset : local_#31869_io!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31869_io!base, offset : local_#31869_io!offset + 0 })!_f == _memory_ptr[{ base : local_#31869_io!base, offset : local_#31869_io!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31869_io!base, offset : local_#31869_io!offset + 0 })!_gc == _memory_ptr[{ base : local_#31869_io!base, offset : local_#31869_io!offset + 0 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#31869_io!base, offset : local_#31869_io!offset + 0 })!_i == _memory[{ base : local_#31869_io!base, offset : local_#31869_io!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, { base : local_#31869_io!base, offset : local_#31869_io!offset + 0 })!_p == _memory_ptr[{ base : local_#31869_io!base, offset : local_#31869_io!offset + 0 + 0 }]; call write_type_#120({ base : local_#31870_iu!base, offset : local_#31870_iu!offset + 32 },read_type_#120(_memory, _memory_ptr, { base : local_#31869_io!base, offset : local_#31869_io!offset + 0 })); local_#16668 := ~uwrap8(_memory[{ base : local_#31869_io!base, offset : local_#31869_io!offset + 8 }]); assert { :LIR "62729" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31870_iu!base, offset : local_#31870_iu!offset + 10 }] := local_#16668; local_#16669 := 0; local_#16670 := 0; assert { :LIR "61218" } { :check "overflow" } { :finding_ids "0" } true; local_#16671 := 1; local_#16672 := { base : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!offset - local_#16671 * 16 }; local_#16673 := 64; local_#16674 := ~sand32(_memory[{ base : local_#16672!base, offset : local_#16672!offset + 8 }], local_#16673); if (local_#16674 != 0) { goto CFG_49934; } else { goto CFG_40466; } CFG_49934: assume true; local_#16675 := { base : local_#31868_o!base, offset : local_#31868_o!offset + 0 }; local_#16676 := _memory_ptr[local_#16675]; local_#16677 := _memory[{ base : local_#16676!base, offset : local_#16676!offset + 9 }]; assert { :LIR "62730" } { :check "overflow" } { :finding_ids "0" } local_#16677 <= 2147483647; local_#16678 := 4; local_#16679 := ~sand32(local_#16677, local_#16678); if (local_#16679 != 0) { goto CFG_49935; } else { goto CFG_40466; } CFG_49935: assume true; local_#16680 := 1; local_#16681 := { base : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!offset - local_#16680 * 16 }; local_#16682 := { base : local_#16681!base, offset : local_#16681!offset + 0 }; local_#16683 := _memory_ptr[local_#16682]; local_#16684 := _memory[{ base : local_#16683!base, offset : local_#16683!offset + 9 }]; assert { :LIR "62731" } { :check "overflow" } { :finding_ids "0" } local_#16684 <= 2147483647; local_#16685 := 3; local_#16686 := ~sand32(local_#16684, local_#16685); if (local_#16686 != 0) { goto CFG_42685; } else { goto CFG_40466; } CFG_40466: assume true; local_#16687 := 0; local_#16688 := 0; assert { :LIR "61219" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39213; CFG_42685: assume true; local_#16689 := { base : local_#31868_o!base, offset : local_#31868_o!offset + 0 }; local_#16690 := _memory_ptr[local_#16689]; assert { :LIR "61220" } { :check "overflow" } { :finding_ids "0" } true; local_#16691 := { base : local_#16690!base, offset : local_#16690!offset + 0 }; local_#16692 := 1; local_#16693 := { base : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]!offset - local_#16692 * 16 }; local_#16694 := { base : local_#16693!base, offset : local_#16693!offset + 0 }; local_#16695 := _memory_ptr[local_#16694]; goto CFG_46169; CFG_46169: assume true; call routine_#33720_luaC_barrier_(local_#4425_L,local_#16691,local_#16695); goto CFG_40467; CFG_40467: assume true; goto CFG_39213; CFG_39213: assume true; local_#16696 := _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }]; local_#16697 := 1; _memory_ptr[{ base : local_#4425_L!base, offset : local_#4425_L!offset + 16 }] := { base : local_#16696!base, offset : local_#16696!offset - local_#16697 * 16 }; local_#16698 := local_#16696; local_#16699 := 0; local_#16700 := 0; assert { :LIR "61221" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37408; CFG_37408: assume true; } procedure routine_#33990_lua_status(local_#4427_L_IN : { base : int, offset : int }) returns (local_#7902 : int) { var local_#4427_L : { base : int, offset : int }; var local_#16701 : int; local_#4427_L := local_#4427_L_IN; goto CFG_36498; CFG_36498: assume true; goto CFG_38284; CFG_38284: assume true; local_#16701 := _memory[{ base : local_#4427_L!base, offset : local_#4427_L!offset + 12 }]; assert { :LIR "62732" } { :check "overflow" } { :finding_ids "0" } local_#16701 <= 2147483647; local_#7902 := local_#16701; goto CFG_37409; CFG_37409: assume true; } procedure routine_#33991_lua_stringtonumber(local_#4428_L_IN : { base : int, offset : int }, local_#4429_s_IN : { base : int, offset : int }) returns (local_#7903 : int) modifies _memory, _memory_ptr; { var local_#4428_L : { base : int, offset : int }; var local_#4429_s : { base : int, offset : int }; var local_#16702 : { base : int, offset : int }; var local_#16703 : int; var local_#31871_sz : int; var local_#16704 : int; var local_#16705 : int; var local_#16706 : { base : int, offset : int }; var local_#16707 : int; var local_#16708 : { base : int, offset : int }; var local_#16709 : int; var local_#16710 : int; local_#4428_L := local_#4428_L_IN; local_#4429_s := local_#4429_s_IN; goto CFG_36499; CFG_36499: assume true; goto CFG_42686; CFG_42686: assume true; local_#16702 := _memory_ptr[{ base : local_#4428_L!base, offset : local_#4428_L!offset + 16 }]; goto CFG_46170; CFG_46170: assume true; call local_#16703 := routine_#33867_luaO_str2num(local_#4429_s,local_#16702); goto CFG_49936; CFG_49936: assume true; local_#31871_sz := local_#16703; local_#16704 := 0; local_#16705 := (if local_#31871_sz != local_#16704 then 1 else 0); if (local_#16705 != 0) { goto CFG_40468; } else { goto CFG_38285; } CFG_40468: assume true; local_#16706 := _memory_ptr[{ base : local_#4428_L!base, offset : local_#4428_L!offset + 16 }]; local_#16707 := 1; _memory_ptr[{ base : local_#4428_L!base, offset : local_#4428_L!offset + 16 }] := { base : local_#16706!base, offset : local_#16706!offset + local_#16707 * 16 }; local_#16708 := local_#16706; local_#16709 := 0; local_#16710 := 0; assert { :LIR "61222" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38285; CFG_38285: assume true; local_#7903 := local_#31871_sz; goto CFG_37410; CFG_37410: assume true; } procedure routine_#33992_lua_toboolean(local_#4430_L_IN : { base : int, offset : int }, local_#4431_idx_IN : int) returns (local_#7904 : int) { var local_#4430_L : { base : int, offset : int }; var local_#4431_idx : int; var local_#16711 : { base : int, offset : int }; var local_#16712 : { base : int, offset : int }; var local_#31872_o : { base : int, offset : int }; var local_#16713 : int; var local_#16714 : int; var local_#16715 : int; var local_#16716 : int; var local_#16717 : { base : int, offset : int }; var local_#16718 : int; var local_#16719 : int; var local_#30703 : int; var local_#16720 : int; local_#4430_L := local_#4430_L_IN; local_#4431_idx := local_#4431_idx_IN; goto CFG_36500; CFG_36500: assume true; goto CFG_46171; CFG_46171: assume true; call local_#16711 := routine_#34811_index2addr(local_#4430_L,local_#4431_idx); goto CFG_49937; CFG_49937: assume true; local_#16712 := local_#16711; assert { :LIR "62733" } { :check "overflow" } { :finding_ids "0" } true; local_#31872_o := local_#16712; local_#16713 := 0; local_#16714 := (if _memory[{ base : local_#31872_o!base, offset : local_#31872_o!offset + 8 }] == local_#16713 then 1 else 0); if (local_#16714 != 0) { goto CFG_40470; } else { goto CFG_49938; } CFG_49938: assume true; local_#16715 := 1; local_#16716 := (if _memory[{ base : local_#31872_o!base, offset : local_#31872_o!offset + 8 }] == local_#16715 then 1 else 0); if (local_#16716 != 0) { goto CFG_49939; } else { goto CFG_40469; } CFG_49939: assume true; local_#16717 := { base : local_#31872_o!base, offset : local_#31872_o!offset + 0 }; local_#16718 := 0; local_#16719 := (if _memory[local_#16717] == local_#16718 then 1 else 0); if (local_#16719 != 0) { goto CFG_40470; } else { goto CFG_40469; } CFG_40469: assume true; local_#30703 := 0; goto CFG_38286; CFG_40470: assume true; local_#30703 := 1; goto CFG_38286; CFG_38286: assume true; local_#16720 := (if local_#30703 != 0 then 0 else 1); local_#7904 := local_#16720; goto CFG_37411; CFG_37411: assume true; } procedure routine_#33993_lua_tocfunction(local_#4432_L_IN : { base : int, offset : int }, local_#4433_idx_IN : int) returns (local_#7905 : { base : int, offset : int }) { var local_#4432_L : { base : int, offset : int }; var local_#4433_idx : int; var local_#16721 : { base : int, offset : int }; var local_#31873_o : { base : int, offset : int }; var local_#16722 : int; var local_#16723 : int; var local_#16724 : int; var local_#16725 : int; var local_#16726 : { base : int, offset : int }; var local_#16727 : { base : int, offset : int }; var local_#16728 : { base : int, offset : int }; var local_#16729 : { base : int, offset : int }; var local_#16730 : { base : int, offset : int }; local_#4432_L := local_#4432_L_IN; local_#4433_idx := local_#4433_idx_IN; goto CFG_36501; CFG_36501: assume true; goto CFG_46172; CFG_46172: assume true; call local_#16721 := routine_#34811_index2addr(local_#4432_L,local_#4433_idx); goto CFG_49940; CFG_49940: assume true; local_#31873_o := local_#16721; local_#16722 := 22; local_#16723 := (if _memory[{ base : local_#31873_o!base, offset : local_#31873_o!offset + 8 }] == local_#16722 then 1 else 0); if (local_#16723 != 0) { goto CFG_38289; } else { goto CFG_49941; } CFG_49941: assume true; local_#16724 := 102; local_#16725 := (if _memory[{ base : local_#31873_o!base, offset : local_#31873_o!offset + 8 }] == local_#16724 then 1 else 0); if (local_#16725 != 0) { goto CFG_38288; } else { goto CFG_38287; } CFG_38287: assume true; local_#7905 := { base : 0, offset : 0 }; goto CFG_37412; CFG_38288: assume true; local_#16726 := { base : local_#31873_o!base, offset : local_#31873_o!offset + 0 }; local_#16727 := _memory_ptr[local_#16726]; assert { :LIR "61223" } { :check "overflow" } { :finding_ids "0" } true; local_#16728 := { base : local_#16727!base, offset : local_#16727!offset + 0 }; local_#16729 := { base : local_#16728!base, offset : local_#16728!offset + 0 }; local_#7905 := _memory_ptr[{ base : local_#16729!base, offset : local_#16729!offset + 24 }]; goto CFG_37412; CFG_38289: assume true; local_#16730 := { base : local_#31873_o!base, offset : local_#31873_o!offset + 0 }; local_#7905 := _memory_ptr[local_#16730]; goto CFG_37412; CFG_37412: assume true; } procedure routine_#33994_lua_tointegerx(local_#4434_L_IN : { base : int, offset : int }, local_#4435_idx_IN : int, local_#4436_pisnum_IN : { base : int, offset : int }) returns (local_#7906 : int) modifies _memory, _memory_ptr; { var local_#4434_L : { base : int, offset : int }; var local_#4435_idx : int; var local_#4436_pisnum : { base : int, offset : int }; var local_#16731 : { base : int, offset : int }; var local_#16732 : { base : int, offset : int }; var local_#31875_o : { base : int, offset : int }; var local_#16733 : int; var local_#16734 : int; var local_#31876_res : { base : int, offset : int }; var local_#16735 : { base : int, offset : int }; var local_#16736 : int; var local_#16737 : int; var local_#30704 : int; var local_#16738 : { base : int, offset : int }; var local_#16739 : int; var local_#31874_isnum : int; var local_#16740 : int; var local_#16741 : { base : int, offset : int }; local_#4434_L := local_#4434_L_IN; local_#4435_idx := local_#4435_idx_IN; local_#4436_pisnum := local_#4436_pisnum_IN; goto CFG_36502; CFG_36502: assume true; goto CFG_46173; CFG_46173: assume true; call local_#16731 := routine_#34811_index2addr(local_#4434_L,local_#4435_idx); goto CFG_49942; CFG_49942: assume true; local_#16732 := local_#16731; assert { :LIR "62734" } { :check "overflow" } { :finding_ids "0" } true; local_#31875_o := local_#16732; local_#16733 := 19; local_#16734 := (if _memory[{ base : local_#31875_o!base, offset : local_#31875_o!offset + 8 }] == local_#16733 then 1 else 0); if (local_#16734 != 0) { goto CFG_40472; } else { goto CFG_42687; } CFG_42687: assume true; local_#16735 := local_#31876_res; local_#16736 := 0; goto CFG_46174; CFG_46174: assume true; call local_#16737 := routine_#33903_luaV_tointeger(local_#31875_o,local_#16735,local_#16736); goto CFG_40471; CFG_40471: assume true; local_#30704 := local_#16737; goto CFG_49943; CFG_40472: assume true; local_#16738 := { base : local_#31875_o!base, offset : local_#31875_o!offset + 0 }; _memory[local_#31876_res] := _memory[local_#16738]; local_#16739 := _memory[local_#31876_res]; local_#30704 := 1; goto CFG_49943; CFG_49943: assume true; local_#31874_isnum := local_#30704; local_#16740 := (if local_#31874_isnum != 0 then 0 else 1); if (local_#16740 != 0) { goto CFG_40473; } else { goto CFG_49944; } CFG_40473: assume true; _memory[local_#31876_res] := 0; goto CFG_49944; CFG_49944: assume true; local_#16741 := local_#4436_pisnum; if (local_#16741 != { base : 0, offset : 0 }) { goto CFG_40474; } else { goto CFG_38290; } CFG_40474: assume true; _memory[local_#4436_pisnum] := local_#31874_isnum; goto CFG_38290; CFG_38290: assume true; local_#7906 := _memory[local_#31876_res]; goto CFG_37413; CFG_37413: assume true; } procedure routine_#33995_lua_tolstring(local_#4437_L_IN : { base : int, offset : int }, local_#4438_idx_IN : int, local_#4439_len_IN : { base : int, offset : int }) returns (local_#7907 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#4437_L : { base : int, offset : int }; var local_#4438_idx : int; var local_#4439_len : { base : int, offset : int }; var local_#16742 : { base : int, offset : int }; var local_#31877_o : { base : int, offset : int }; var local_#16743 : int; var local_#16744 : int; var local_#16745 : int; var local_#16746 : int; var local_#16747 : int; var local_#16748 : int; var local_#16749 : int; var local_#16750 : int; var local_#16751 : int; var local_#16752 : int; var local_#16753 : int; var local_#16754 : int; var local_#16755 : { base : int, offset : int }; var local_#16756 : int; var local_#16757 : int; var local_#16758 : int; var local_#16759 : int; var local_#16760 : int; var local_#16761 : int; var local_#16762 : int; var local_#16763 : int; var local_#16764 : { base : int, offset : int }; var local_#16765 : int; var local_#16766 : int; var local_#16767 : { base : int, offset : int }; var local_#16768 : int; var local_#16769 : { base : int, offset : int }; var local_#16770 : { base : int, offset : int }; var local_#16771 : { base : int, offset : int }; var local_#16772 : int; var local_#16773 : int; var local_#16774 : int; var local_#16775 : { base : int, offset : int }; var local_#16776 : { base : int, offset : int }; var local_#16777 : { base : int, offset : int }; var local_#16778 : { base : int, offset : int }; var local_#30705 : int; var local_#16779 : { base : int, offset : int }; var local_#16780 : { base : int, offset : int }; var local_#16781 : { base : int, offset : int }; var local_#16782 : int; var local_#16783 : { base : int, offset : int }; var local_#16784 : { base : int, offset : int }; var local_#16785 : { base : int, offset : int }; var local_#16786 : { base : int, offset : int }; var local_#16787 : int; var local_#16788 : { base : int, offset : int }; var local_#16789 : { base : int, offset : int }; var local_#16790 : { base : int, offset : int }; var local_#16791 : int; local_#4437_L := local_#4437_L_IN; local_#4438_idx := local_#4438_idx_IN; local_#4439_len := local_#4439_len_IN; goto CFG_36503; CFG_36503: assume true; goto CFG_46175; CFG_46175: assume true; call local_#16742 := routine_#34811_index2addr(local_#4437_L,local_#4438_idx); goto CFG_49945; CFG_49945: assume true; local_#31877_o := local_#16742; local_#16743 := 15; local_#16744 := ~sand32(_memory[{ base : local_#31877_o!base, offset : local_#31877_o!offset + 8 }], local_#16743); local_#16745 := 4; local_#16746 := (if local_#16744 == local_#16745 then 1 else 0); local_#16747 := (if local_#16746 != 0 then 0 else 1); if (local_#16747 != 0) { goto CFG_49946; } else { goto CFG_49948; } CFG_49946: assume true; local_#16748 := 15; local_#16749 := ~sand32(_memory[{ base : local_#31877_o!base, offset : local_#31877_o!offset + 8 }], local_#16748); local_#16750 := 3; local_#16751 := (if local_#16749 == local_#16750 then 1 else 0); local_#16752 := (if local_#16751 != 0 then 0 else 1); if (local_#16752 != 0) { goto CFG_49950; } else { goto CFG_42688; } CFG_42688: assume true; local_#16753 := 0; local_#16754 := 0; assert { :LIR "61224" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46176; CFG_46176: assume true; call routine_#33868_luaO_tostring(local_#4437_L,local_#31877_o); goto CFG_49947; CFG_49947: assume true; local_#16755 := _memory_ptr[{ base : local_#4437_L!base, offset : local_#4437_L!offset + 24 }]; local_#16756 := 0; local_#16757 := (if _memory[{ base : local_#16755!base, offset : local_#16755!offset + 24 }] > local_#16756 then 1 else 0); if (local_#16757 != 0) { goto CFG_42689; } else { goto CFG_42690; } CFG_42689: assume true; local_#16758 := 0; local_#16759 := 0; assert { :LIR "61225" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46177; CFG_46177: assume true; call routine_#33728_luaC_step(local_#4437_L); goto CFG_40475; CFG_40475: assume true; local_#16760 := 0; local_#16761 := 0; assert { :LIR "61226" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42690; CFG_42690: assume true; local_#16762 := 0; local_#16763 := 0; assert { :LIR "61227" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46178; CFG_46178: assume true; call local_#16764 := routine_#34811_index2addr(local_#4437_L,local_#4438_idx); goto CFG_40476; CFG_40476: assume true; local_#31877_o := local_#16764; local_#16765 := 0; local_#16766 := 0; assert { :LIR "61228" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49948; CFG_49948: assume true; local_#16767 := { base : 0, offset : 0 }; local_#16768 := (if local_#4439_len != local_#16767 then 1 else 0); if (local_#16768 != 0) { goto CFG_49949; } else { goto CFG_38291; } CFG_49949: assume true; local_#16769 := { base : local_#31877_o!base, offset : local_#31877_o!offset + 0 }; local_#16770 := _memory_ptr[local_#16769]; assert { :LIR "61229" } { :check "overflow" } { :finding_ids "0" } true; local_#16771 := { base : local_#16770!base, offset : local_#16770!offset + 0 }; local_#16772 := _memory[{ base : local_#16771!base, offset : local_#16771!offset + 8 }]; assert { :LIR "62735" } { :check "overflow" } { :finding_ids "0" } local_#16772 <= 2147483647; local_#16773 := 4; local_#16774 := (if local_#16772 == local_#16773 then 1 else 0); if (local_#16774 != 0) { goto CFG_40478; } else { goto CFG_40477; } CFG_40477: assume true; local_#16775 := { base : local_#31877_o!base, offset : local_#31877_o!offset + 0 }; local_#16776 := _memory_ptr[local_#16775]; assert { :LIR "61230" } { :check "overflow" } { :finding_ids "0" } true; local_#16777 := { base : local_#16776!base, offset : local_#16776!offset + 0 }; local_#16778 := { base : local_#16777!base, offset : local_#16777!offset + 16 }; local_#30705 := _memory[local_#16778]; goto CFG_40479; CFG_40478: assume true; local_#16779 := { base : local_#31877_o!base, offset : local_#31877_o!offset + 0 }; local_#16780 := _memory_ptr[local_#16779]; assert { :LIR "61231" } { :check "overflow" } { :finding_ids "0" } true; local_#16781 := { base : local_#16780!base, offset : local_#16780!offset + 0 }; local_#16782 := ~uwrap64(_memory[{ base : local_#16781!base, offset : local_#16781!offset + 11 }]); assert { :LIR "62736" } { :check "overflow" } { :finding_ids "0" } true; local_#30705 := local_#16782; goto CFG_40479; CFG_40479: assume true; _memory[local_#4439_len] := local_#30705; goto CFG_38291; CFG_38291: assume true; local_#16783 := { base : local_#31877_o!base, offset : local_#31877_o!offset + 0 }; local_#16784 := _memory_ptr[local_#16783]; assert { :LIR "61232" } { :check "overflow" } { :finding_ids "0" } true; local_#16785 := { base : local_#16784!base, offset : local_#16784!offset + 0 }; local_#16786 := local_#16785; assert { :LIR "61233" } { :check "overflow" } { :finding_ids "0" } true; local_#16787 := 24; local_#16788 := { base : local_#16786!base, offset : local_#16786!offset + local_#16787 * 1 }; local_#16789 := local_#16788; assert { :LIR "62737" } { :check "overflow" } { :finding_ids "0" } true; local_#7907 := local_#16789; goto CFG_37414; CFG_49950: assume true; local_#16790 := { base : 0, offset : 0 }; local_#16791 := (if local_#4439_len != local_#16790 then 1 else 0); if (local_#16791 != 0) { goto CFG_40480; } else { goto CFG_38292; } CFG_40480: assume true; _memory[local_#4439_len] := 0; goto CFG_38292; CFG_38292: assume true; local_#7907 := { base : 0, offset : 0 }; goto CFG_37414; CFG_37414: assume true; } procedure routine_#33996_lua_tonumberx(local_#4440_L_IN : { base : int, offset : int }, local_#4441_idx_IN : int, local_#4442_pisnum_IN : { base : int, offset : int }) returns (local_#7908 : int) modifies _memory, _memory_ptr; { var local_#4440_L : { base : int, offset : int }; var local_#4441_idx : int; var local_#4442_pisnum : { base : int, offset : int }; var local_#16792 : { base : int, offset : int }; var local_#16793 : { base : int, offset : int }; var local_#31880_o : { base : int, offset : int }; var local_#16794 : int; var local_#16795 : int; var local_#31879_n : { base : int, offset : int }; var local_#16796 : { base : int, offset : int }; var local_#16797 : int; var local_#30706 : int; var local_#16798 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#16799 : int; var local_#31878_isnum : int; var local_#16800 : int; var nondet_#2 : int; var local_#16801 : { base : int, offset : int }; var nondet_#3 : int; local_#4440_L := local_#4440_L_IN; local_#4441_idx := local_#4441_idx_IN; local_#4442_pisnum := local_#4442_pisnum_IN; goto CFG_36504; CFG_36504: assume true; goto CFG_46179; CFG_46179: assume true; call local_#16792 := routine_#34811_index2addr(local_#4440_L,local_#4441_idx); goto CFG_49951; CFG_49951: assume true; local_#16793 := local_#16792; assert { :LIR "62738" } { :check "overflow" } { :finding_ids "0" } true; local_#31880_o := local_#16793; local_#16794 := 3; local_#16795 := (if _memory[{ base : local_#31880_o!base, offset : local_#31880_o!offset + 8 }] == local_#16794 then 1 else 0); if (local_#16795 != 0) { goto CFG_40482; } else { goto CFG_42691; } CFG_42691: assume true; local_#16796 := local_#31879_n; goto CFG_46180; CFG_46180: assume true; call local_#16797 := routine_#33904_luaV_tonumber_(local_#31880_o,local_#16796); goto CFG_40481; CFG_40481: assume true; local_#30706 := local_#16797; goto CFG_49952; CFG_40482: assume true; local_#16798 := { base : local_#31880_o!base, offset : local_#31880_o!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#16799 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#30706 := 1; goto CFG_49952; CFG_49952: assume true; local_#31878_isnum := local_#30706; local_#16800 := (if local_#31878_isnum != 0 then 0 else 1); if (local_#16800 != 0) { goto CFG_40483; } else { goto CFG_49953; } CFG_40483: assume true; havoc nondet_#2; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ goto CFG_49953; CFG_49953: assume true; local_#16801 := local_#4442_pisnum; if (local_#16801 != { base : 0, offset : 0 }) { goto CFG_40484; } else { goto CFG_38293; } CFG_40484: assume true; _memory[local_#4442_pisnum] := local_#31878_isnum; goto CFG_38293; CFG_38293: assume true; havoc nondet_#3; local_#7908 := nondet_#3 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_37415; CFG_37415: assume true; } procedure routine_#33997_lua_topointer(local_#4443_L_IN : { base : int, offset : int }, local_#4444_idx_IN : int) returns (local_#7909 : { base : int, offset : int }) { var local_#4443_L : { base : int, offset : int }; var local_#4444_idx : int; var local_#16802 : { base : int, offset : int }; var local_#31881_o : { base : int, offset : int }; var local_#16803 : int; var local_#16804 : int; var local_#16805 : { base : int, offset : int }; var local_#16806 : { base : int, offset : int }; var local_#16807 : { base : int, offset : int }; var local_#16808 : { base : int, offset : int }; var local_#16809 : { base : int, offset : int }; var local_#16810 : { base : int, offset : int }; var local_#16811 : int; var local_#16812 : { base : int, offset : int }; var local_#16813 : { base : int, offset : int }; var local_#16814 : { base : int, offset : int }; var local_#16815 : { base : int, offset : int }; var local_#16816 : { base : int, offset : int }; var local_#16817 : { base : int, offset : int }; var local_#16818 : { base : int, offset : int }; var nondet_#0 : int; var local_#16819 : int; var nondet_#1 : { base : int, offset : int }; var local_#16820 : { base : int, offset : int }; var local_#16821 : { base : int, offset : int }; var local_#16822 : { base : int, offset : int }; var local_#16823 : { base : int, offset : int }; var local_#16824 : { base : int, offset : int }; var local_#16825 : { base : int, offset : int }; var local_#16826 : { base : int, offset : int }; var local_#16827 : { base : int, offset : int }; var local_#16828 : { base : int, offset : int }; var local_#16829 : { base : int, offset : int }; var local_#16830 : { base : int, offset : int }; var local_#16831 : { base : int, offset : int }; var local_#16832 : { base : int, offset : int }; var local_#16833 : { base : int, offset : int }; var local_#16834 : { base : int, offset : int }; var local_#16835 : { base : int, offset : int }; local_#4443_L := local_#4443_L_IN; local_#4444_idx := local_#4444_idx_IN; goto CFG_36505; CFG_36505: assume true; goto CFG_46181; CFG_46181: assume true; call local_#16802 := routine_#34811_index2addr(local_#4443_L,local_#4444_idx); goto CFG_51523; CFG_51523: assume true; local_#31881_o := local_#16802; local_#16803 := 63; local_#16804 := ~sand32(_memory[{ base : local_#31881_o!base, offset : local_#31881_o!offset + 8 }], local_#16803); if (local_#16804 == 5) { goto CFG_38301; } if (local_#16804 == 6) { goto CFG_38300; } if (local_#16804 == 38) { goto CFG_38299; } if (local_#16804 == 22) { goto CFG_38298; } if (local_#16804 == 8) { goto CFG_38297; } if (local_#16804 == 7) { goto CFG_38296; } if (local_#16804 == 2) { goto CFG_38295; } goto CFG_38294; CFG_38294: assume true; local_#7909 := { base : 0, offset : 0 }; goto CFG_37416; CFG_38295: assume true; local_#16805 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; local_#16806 := _memory_ptr[local_#16805]; assert { :LIR "62739" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16806; goto CFG_37416; CFG_38296: assume true; local_#16807 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; local_#16808 := _memory_ptr[local_#16807]; assert { :LIR "61234" } { :check "overflow" } { :finding_ids "0" } true; local_#16809 := { base : local_#16808!base, offset : local_#16808!offset + 0 }; local_#16810 := local_#16809; assert { :LIR "61235" } { :check "overflow" } { :finding_ids "0" } true; local_#16811 := 40; local_#16812 := { base : local_#16810!base, offset : local_#16810!offset + local_#16811 * 1 }; local_#16813 := local_#16812; assert { :LIR "62740" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16813; goto CFG_37416; CFG_38297: assume true; local_#16814 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; local_#16815 := _memory_ptr[local_#16814]; assert { :LIR "61236" } { :check "overflow" } { :finding_ids "0" } true; local_#16816 := { base : local_#16815!base, offset : local_#16815!offset + 0 }; local_#16817 := local_#16816; assert { :LIR "62741" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16817; goto CFG_37416; CFG_38298: assume true; local_#16818 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; havoc nondet_#0; local_#16819 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType863 is not supported in conversion 61237 */; assert { :LIR "61237" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#1; local_#16820 := nondet_#1 /* IR2BOOGIE-ERROR: To Type IRType783 is not supported in conversion 61238 */; assert { :LIR "61238" } { :check "overflow" } { :finding_ids "0" } true; local_#16821 := local_#16820; assert { :LIR "62742" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16821; goto CFG_37416; CFG_38299: assume true; local_#16822 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; local_#16823 := _memory_ptr[local_#16822]; assert { :LIR "61239" } { :check "overflow" } { :finding_ids "0" } true; local_#16824 := { base : local_#16823!base, offset : local_#16823!offset + 0 }; local_#16825 := { base : local_#16824!base, offset : local_#16824!offset + 0 }; local_#16826 := local_#16825; assert { :LIR "62743" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16826; goto CFG_37416; CFG_38300: assume true; local_#16827 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; local_#16828 := _memory_ptr[local_#16827]; assert { :LIR "61240" } { :check "overflow" } { :finding_ids "0" } true; local_#16829 := { base : local_#16828!base, offset : local_#16828!offset + 0 }; local_#16830 := { base : local_#16829!base, offset : local_#16829!offset + 0 }; local_#16831 := local_#16830; assert { :LIR "62744" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16831; goto CFG_37416; CFG_38301: assume true; local_#16832 := { base : local_#31881_o!base, offset : local_#31881_o!offset + 0 }; local_#16833 := _memory_ptr[local_#16832]; assert { :LIR "61241" } { :check "overflow" } { :finding_ids "0" } true; local_#16834 := { base : local_#16833!base, offset : local_#16833!offset + 0 }; local_#16835 := local_#16834; assert { :LIR "62745" } { :check "overflow" } { :finding_ids "0" } true; local_#7909 := local_#16835; goto CFG_37416; CFG_37416: assume true; } procedure routine_#33998_lua_tothread(local_#4445_L_IN : { base : int, offset : int }, local_#4446_idx_IN : int) returns (local_#7910 : { base : int, offset : int }) { var local_#4445_L : { base : int, offset : int }; var local_#4446_idx : int; var local_#16836 : { base : int, offset : int }; var local_#31882_o : { base : int, offset : int }; var local_#16837 : int; var local_#16838 : int; var local_#16839 : int; var local_#16840 : { base : int, offset : int }; var local_#16841 : { base : int, offset : int }; var local_#16842 : { base : int, offset : int }; var local_#30707 : { base : int, offset : int }; local_#4445_L := local_#4445_L_IN; local_#4446_idx := local_#4446_idx_IN; goto CFG_36506; CFG_36506: assume true; goto CFG_46182; CFG_46182: assume true; call local_#16836 := routine_#34811_index2addr(local_#4445_L,local_#4446_idx); goto CFG_49954; CFG_49954: assume true; local_#31882_o := local_#16836; local_#16837 := 72; local_#16838 := (if _memory[{ base : local_#31882_o!base, offset : local_#31882_o!offset + 8 }] == local_#16837 then 1 else 0); local_#16839 := (if local_#16838 != 0 then 0 else 1); if (local_#16839 != 0) { goto CFG_40486; } else { goto CFG_40485; } CFG_40485: assume true; local_#16840 := { base : local_#31882_o!base, offset : local_#31882_o!offset + 0 }; local_#16841 := _memory_ptr[local_#16840]; assert { :LIR "61242" } { :check "overflow" } { :finding_ids "0" } true; local_#16842 := { base : local_#16841!base, offset : local_#16841!offset + 0 }; local_#30707 := local_#16842; goto CFG_38302; CFG_40486: assume true; local_#30707 := { base : 0, offset : 0 }; goto CFG_38302; CFG_38302: assume true; local_#7910 := local_#30707; goto CFG_37417; CFG_37417: assume true; } procedure routine_#33999_lua_touserdata(local_#4447_L_IN : { base : int, offset : int }, local_#4448_idx_IN : int) returns (local_#7911 : { base : int, offset : int }) { var local_#4447_L : { base : int, offset : int }; var local_#4448_idx : int; var local_#16843 : { base : int, offset : int }; var local_#31883_o : { base : int, offset : int }; var local_#16844 : int; var local_#16845 : int; var local_#16846 : { base : int, offset : int }; var local_#16847 : { base : int, offset : int }; var local_#16848 : { base : int, offset : int }; var local_#16849 : { base : int, offset : int }; var local_#16850 : { base : int, offset : int }; var local_#16851 : int; var local_#16852 : { base : int, offset : int }; var local_#16853 : { base : int, offset : int }; local_#4447_L := local_#4447_L_IN; local_#4448_idx := local_#4448_idx_IN; goto CFG_36507; CFG_36507: assume true; goto CFG_46183; CFG_46183: assume true; call local_#16843 := routine_#34811_index2addr(local_#4447_L,local_#4448_idx); goto CFG_51524; CFG_51524: assume true; local_#31883_o := local_#16843; local_#16844 := 15; local_#16845 := ~sand32(_memory[{ base : local_#31883_o!base, offset : local_#31883_o!offset + 8 }], local_#16844); if (local_#16845 == 7) { goto CFG_38305; } if (local_#16845 == 2) { goto CFG_38304; } goto CFG_38303; CFG_38303: assume true; local_#7911 := { base : 0, offset : 0 }; goto CFG_37418; CFG_38304: assume true; local_#16846 := { base : local_#31883_o!base, offset : local_#31883_o!offset + 0 }; local_#7911 := _memory_ptr[local_#16846]; goto CFG_37418; CFG_38305: assume true; local_#16847 := { base : local_#31883_o!base, offset : local_#31883_o!offset + 0 }; local_#16848 := _memory_ptr[local_#16847]; assert { :LIR "61243" } { :check "overflow" } { :finding_ids "0" } true; local_#16849 := { base : local_#16848!base, offset : local_#16848!offset + 0 }; local_#16850 := local_#16849; assert { :LIR "61244" } { :check "overflow" } { :finding_ids "0" } true; local_#16851 := 40; local_#16852 := { base : local_#16850!base, offset : local_#16850!offset + local_#16851 * 1 }; local_#16853 := local_#16852; assert { :LIR "62746" } { :check "overflow" } { :finding_ids "0" } true; local_#7911 := local_#16853; goto CFG_37418; CFG_37418: assume true; } procedure routine_#34000_lua_type(local_#4449_L_IN : { base : int, offset : int }, local_#4450_idx_IN : int) returns (local_#7912 : int) { var local_#4449_L : { base : int, offset : int }; var local_#4450_idx : int; var local_#16854 : { base : int, offset : int }; var local_#31884_o : { base : int, offset : int }; var local_#16855 : { base : int, offset : int }; var local_#16856 : int; var local_#30708 : int; var local_#16857 : int; var local_#16858 : int; local_#4449_L := local_#4449_L_IN; local_#4450_idx := local_#4450_idx_IN; goto CFG_36508; CFG_36508: assume true; goto CFG_46184; CFG_46184: assume true; call local_#16854 := routine_#34811_index2addr(local_#4449_L,local_#4450_idx); goto CFG_49955; CFG_49955: assume true; local_#31884_o := local_#16854; local_#16855 := local_#31884_o; assert { :LIR "62747" } { :check "overflow" } { :finding_ids "0" } true; local_#16856 := (if local_#16855 != global_#33098_luaO_nilobject_ then 1 else 0); if (local_#16856 != 0) { goto CFG_40488; } else { goto CFG_40487; } CFG_40487: assume true; local_#30708 := -1; goto CFG_38306; CFG_40488: assume true; local_#16857 := 15; local_#16858 := ~sand32(_memory[{ base : local_#31884_o!base, offset : local_#31884_o!offset + 8 }], local_#16857); local_#30708 := local_#16858; goto CFG_38306; CFG_38306: assume true; local_#7912 := local_#30708; goto CFG_37419; CFG_37419: assume true; } procedure routine_#34001_lua_typename(local_#4451_L_IN : { base : int, offset : int }, local_#4452_t_IN : int) returns (local_#7913 : { base : int, offset : int }) { var local_#4451_L : { base : int, offset : int }; var local_#4452_t : int; var local_#16859 : int; var local_#16860 : int; var local_#16861 : int; var local_#16862 : int; var local_#16863 : int; local_#4451_L := local_#4451_L_IN; local_#4452_t := local_#4452_t_IN; goto CFG_36509; CFG_36509: assume true; goto CFG_38307; CFG_38307: assume true; local_#16859 := 0; assert { :LIR "61245" } { :check "overflow" } { :finding_ids "0" } true; local_#16860 := 0; local_#16861 := 0; assert { :LIR "61246" } { :check "overflow" } { :finding_ids "0" } true; local_#16862 := 1; local_#16863 := local_#4452_t + local_#16862; assert { :LIR "66491" } { :check "overflow" } { :finding_ids "0" } local_#16863 <= 2147483647; local_#7913 := _memory_ptr[{ base : global_#33101_luaT_typenames_!base, offset : global_#33101_luaT_typenames_!offset + local_#16863 * 8 }]; goto CFG_37420; CFG_37420: assume true; } procedure routine_#34002_lua_upvalueid(local_#4453_L_IN : { base : int, offset : int }, local_#4454_fidx_IN : int, local_#4455_n_IN : int) returns (local_#7914 : { base : int, offset : int }) modifies _memory_ptr; { var local_#4453_L : { base : int, offset : int }; var local_#4454_fidx : int; var local_#4455_n : int; var local_#16864 : { base : int, offset : int }; var local_#31885_fi : { base : int, offset : int }; var local_#16865 : int; var local_#16866 : int; var local_#16867 : int; var local_#16868 : int; var local_#16869 : { base : int, offset : int }; var local_#16870 : { base : int, offset : int }; var local_#16871 : { base : int, offset : int }; var local_#16872 : { base : int, offset : int }; var local_#31886_f : { base : int, offset : int }; var local_#16873 : int; var local_#16874 : int; var local_#16875 : { base : int, offset : int }; var local_#16876 : int; var local_#16877 : int; var local_#16878 : { base : int, offset : int }; var local_#16879 : { base : int, offset : int }; var local_#16880 : { base : int, offset : int }; var local_#16881 : { base : int, offset : int }; var local_#16882 : { base : int, offset : int }; local_#4453_L := local_#4453_L_IN; local_#4454_fidx := local_#4454_fidx_IN; local_#4455_n := local_#4455_n_IN; goto CFG_36510; CFG_36510: assume true; goto CFG_46185; CFG_46185: assume true; call local_#16864 := routine_#34811_index2addr(local_#4453_L,local_#4454_fidx); goto CFG_51525; CFG_51525: assume true; local_#31885_fi := local_#16864; local_#16865 := 63; local_#16866 := ~sand32(_memory[{ base : local_#31885_fi!base, offset : local_#31885_fi!offset + 8 }], local_#16865); if (local_#16866 == 6) { goto CFG_42692; } if (local_#16866 == 38) { goto CFG_38309; } goto CFG_38308; CFG_38308: assume true; local_#16867 := 0; local_#16868 := 0; assert { :LIR "61247" } { :check "overflow" } { :finding_ids "0" } true; local_#7914 := { base : 0, offset : 0 }; goto CFG_37421; CFG_38309: assume true; local_#16869 := { base : local_#31885_fi!base, offset : local_#31885_fi!offset + 0 }; local_#16870 := _memory_ptr[local_#16869]; assert { :LIR "61248" } { :check "overflow" } { :finding_ids "0" } true; local_#16871 := { base : local_#16870!base, offset : local_#16870!offset + 0 }; local_#16872 := { base : local_#16871!base, offset : local_#16871!offset + 0 }; local_#31886_f := local_#16872; local_#16873 := 0; local_#16874 := 0; assert { :LIR "61249" } { :check "overflow" } { :finding_ids "0" } true; local_#16875 := { base : local_#31886_f!base, offset : local_#31886_f!offset + 32 }; local_#16876 := 1; local_#16877 := local_#4455_n - local_#16876; assert { :LIR "67959" } { :check "overflow" } { :finding_ids "0" } local_#16877 <= 2147483647; local_#16878 := { base : local_#16875!base, offset : local_#16875!offset + 0 * 16 + local_#16877 * 16 }; local_#16879 := local_#16878; assert { :LIR "62748" } { :check "overflow" } { :finding_ids "0" } true; local_#7914 := local_#16879; goto CFG_37421; CFG_42692: assume true; local_#16880 := { base : 0, offset : 0 }; goto CFG_46186; CFG_46186: assume true; call local_#16881 := routine_#34800_getupvalref(local_#4453_L,local_#4454_fidx,local_#4455_n,local_#16880); goto CFG_38310; CFG_38310: assume true; local_#16882 := _memory_ptr[local_#16881]; assert { :LIR "62749" } { :check "overflow" } { :finding_ids "0" } true; local_#7914 := local_#16882; goto CFG_37421; CFG_37421: assume true; } procedure routine_#34003_lua_upvaluejoin(local_#4456_L_IN : { base : int, offset : int }, local_#4457_fidx1_IN : int, local_#4458_n1_IN : int, local_#4459_fidx2_IN : int, local_#4460_n2_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#4456_L : { base : int, offset : int }; var local_#4457_fidx1 : int; var local_#4458_n1 : int; var local_#4459_fidx2 : int; var local_#4460_n2 : int; var local_#31887_f1 : { base : int, offset : int }; var local_#16883 : { base : int, offset : int }; var local_#16884 : { base : int, offset : int }; var local_#31888_up1 : { base : int, offset : int }; var local_#16885 : { base : int, offset : int }; var local_#16886 : { base : int, offset : int }; var local_#31889_up2 : { base : int, offset : int }; var local_#16887 : { base : int, offset : int }; var local_#16888 : { base : int, offset : int }; var local_#16889 : int; var local_#16890 : int; var local_#16891 : int; var local_#16892 : { base : int, offset : int }; var local_#16893 : { base : int, offset : int }; var local_#16894 : { base : int, offset : int }; var local_#16895 : int; var local_#16896 : int; var local_#16897 : { base : int, offset : int }; var local_#16898 : { base : int, offset : int }; var local_#16899 : { base : int, offset : int }; var local_#16900 : { base : int, offset : int }; var local_#16901 : int; var local_#16902 : int; var local_#16903 : { base : int, offset : int }; var local_#16904 : { base : int, offset : int }; var local_#16905 : { base : int, offset : int }; var local_#16906 : int; var local_#16907 : int; var local_#16908 : int; var local_#16909 : int; var local_#16910 : { base : int, offset : int }; local_#4456_L := local_#4456_L_IN; local_#4457_fidx1 := local_#4457_fidx1_IN; local_#4458_n1 := local_#4458_n1_IN; local_#4459_fidx2 := local_#4459_fidx2_IN; local_#4460_n2 := local_#4460_n2_IN; goto CFG_36511; CFG_36511: assume true; goto CFG_42693; CFG_42693: assume true; local_#16883 := local_#31887_f1; goto CFG_46187; CFG_46187: assume true; call local_#16884 := routine_#34800_getupvalref(local_#4456_L,local_#4457_fidx1,local_#4458_n1,local_#16883); goto CFG_42694; CFG_42694: assume true; local_#31888_up1 := local_#16884; local_#16885 := { base : 0, offset : 0 }; goto CFG_46188; CFG_46188: assume true; call local_#16886 := routine_#34800_getupvalref(local_#4456_L,local_#4459_fidx2,local_#4460_n2,local_#16885); goto CFG_42695; CFG_42695: assume true; local_#31889_up2 := local_#16886; local_#16887 := _memory_ptr[local_#31888_up1]; goto CFG_46189; CFG_46189: assume true; call routine_#33730_luaC_upvdeccount(local_#4456_L,local_#16887); goto CFG_49956; CFG_49956: assume true; _memory_ptr[local_#31888_up1] := _memory_ptr[local_#31889_up2]; local_#16888 := _memory_ptr[local_#31888_up1]; local_#16889 := _memory[{ base : local_#16888!base, offset : local_#16888!offset + 8 }]; local_#16890 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#16888!base, offset : local_#16888!offset + 8 }] := ~uwrap64(local_#16889 + local_#16890); assert { :LIR "66492" } { :check "overflow" } { :finding_ids "0" } true; local_#16891 := local_#16889; local_#16892 := _memory_ptr[local_#31888_up1]; local_#16893 := _memory_ptr[local_#31888_up1]; local_#16894 := { base : local_#16893!base, offset : local_#16893!offset + 16 }; local_#16895 := (if _memory_ptr[{ base : local_#16892!base, offset : local_#16892!offset + 0 }] != local_#16894 then 1 else 0); if (local_#16895 != 0) { goto CFG_40489; } else { goto CFG_49957; } CFG_40489: assume true; local_#16896 := 1; local_#16897 := _memory_ptr[local_#31888_up1]; local_#16898 := { base : local_#16897!base, offset : local_#16897!offset + 16 }; _memory[{ base : local_#16898!base, offset : local_#16898!offset + 8 }] := local_#16896; goto CFG_49957; CFG_49957: assume true; local_#16899 := _memory_ptr[local_#31888_up1]; local_#16900 := _memory_ptr[{ base : local_#16899!base, offset : local_#16899!offset + 0 }]; local_#16901 := 64; local_#16902 := ~sand32(_memory[{ base : local_#16900!base, offset : local_#16900!offset + 8 }], local_#16901); if (local_#16902 != 0) { goto CFG_49958; } else { goto CFG_40490; } CFG_49958: assume true; local_#16903 := _memory_ptr[local_#31888_up1]; local_#16904 := _memory_ptr[local_#31888_up1]; local_#16905 := { base : local_#16904!base, offset : local_#16904!offset + 16 }; local_#16906 := (if _memory_ptr[{ base : local_#16903!base, offset : local_#16903!offset + 0 }] != local_#16905 then 1 else 0); local_#16907 := (if local_#16906 != 0 then 0 else 1); if (local_#16907 != 0) { goto CFG_42696; } else { goto CFG_40490; } CFG_40490: assume true; local_#16908 := 0; local_#16909 := 0; assert { :LIR "61250" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39214; CFG_42696: assume true; local_#16910 := _memory_ptr[local_#31888_up1]; goto CFG_46190; CFG_46190: assume true; call routine_#33729_luaC_upvalbarrier_(local_#4456_L,local_#16910); goto CFG_40491; CFG_40491: assume true; goto CFG_39214; CFG_39214: assume true; goto CFG_37422; CFG_37422: assume true; } procedure routine_#34004_lua_version(local_#4461_L_IN : { base : int, offset : int }) returns (local_#7915 : { base : int, offset : int }) { var local_#4461_L : { base : int, offset : int }; var local_#16911 : { base : int, offset : int }; var local_#16912 : int; var local_#16913 : { base : int, offset : int }; local_#4461_L := local_#4461_L_IN; goto CFG_36512; CFG_36512: assume true; goto CFG_49959; CFG_49959: assume true; local_#16911 := { base : 0, offset : 0 }; local_#16912 := (if local_#4461_L == local_#16911 then 1 else 0); if (local_#16912 != 0) { goto CFG_38312; } else { goto CFG_38311; } CFG_38311: assume true; local_#16913 := _memory_ptr[{ base : local_#4461_L!base, offset : local_#4461_L!offset + 24 }]; local_#7915 := _memory_ptr[{ base : local_#16913!base, offset : local_#16913!offset + 208 }]; goto CFG_37423; CFG_38312: assume true; local_#7915 := global_#31159_version; goto CFG_37423; CFG_37423: assume true; } procedure routine_#34005_lua_xmove(local_#4462_from_IN : { base : int, offset : int }, local_#4463_to_IN : { base : int, offset : int }, local_#4464_n_IN : int) returns () modifies _memory, _memory_ptr; { var local_#4462_from : { base : int, offset : int }; var local_#4463_to : { base : int, offset : int }; var local_#4464_n : int; var local_#16914 : int; var local_#16915 : int; var local_#16916 : int; var local_#16917 : int; var local_#16918 : int; var local_#16919 : int; var local_#16920 : int; var local_#16921 : int; var local_#16922 : int; var local_#31890_i : int; var local_#16923 : int; var local_#16924 : int; var local_#16925 : int; var local_#31891_io1 : { base : int, offset : int }; var local_#16926 : { base : int, offset : int }; var local_#16927 : int; var local_#16928 : int; var local_#16929 : int; var local_#16930 : { base : int, offset : int }; var local_#16931 : int; var local_#16932 : { base : int, offset : int }; var local_#16933 : int; var local_#16934 : int; var local_#16935 : int; local_#4462_from := local_#4462_from_IN; local_#4463_to := local_#4463_to_IN; local_#4464_n := local_#4464_n_IN; goto CFG_36513; CFG_36513: assume true; goto CFG_49960; CFG_49960: assume true; local_#16914 := (if local_#4462_from == local_#4463_to then 1 else 0); if (local_#16914 != 0) { goto CFG_39216; } else { goto CFG_41677; } CFG_41677: assume true; local_#16915 := 0; local_#16916 := 0; assert { :LIR "61251" } { :check "overflow" } { :finding_ids "0" } true; local_#16917 := 0; local_#16918 := 0; assert { :LIR "61252" } { :check "overflow" } { :finding_ids "0" } true; local_#16919 := 0; local_#16920 := 0; assert { :LIR "61253" } { :check "overflow" } { :finding_ids "0" } true; local_#16921 := 0; local_#16922 := 0; assert { :LIR "61254" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#4462_from!base, offset : local_#4462_from!offset + 16 }] := { base : _memory_ptr[{ base : local_#4462_from!base, offset : local_#4462_from!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4462_from!base, offset : local_#4462_from!offset + 16 }]!offset - local_#4464_n * 16 }; local_#31890_i := 0; goto CFG_49961; CFG_49961: assume true; local_#16923 := (if local_#31890_i < local_#4464_n then 1 else 0); if (local_#16923 != 0) { goto CFG_42697; } else { goto CFG_39215; } CFG_39215: assume true; local_#16924 := 0; local_#16925 := 0; assert { :LIR "61255" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37424; CFG_42697: assume true; local_#31891_io1 := _memory_ptr[{ base : local_#4463_to!base, offset : local_#4463_to!offset + 16 }]; local_#16926 := { base : _memory_ptr[{ base : local_#4462_from!base, offset : local_#4462_from!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4462_from!base, offset : local_#4462_from!offset + 16 }]!offset + local_#31890_i * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#16926)!_value_!_b == _memory[{ base : local_#16926!base, offset : local_#16926!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16926)!_value_!_f == _memory_ptr[{ base : local_#16926!base, offset : local_#16926!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16926)!_value_!_gc == _memory_ptr[{ base : local_#16926!base, offset : local_#16926!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16926)!_value_!_i == _memory[{ base : local_#16926!base, offset : local_#16926!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#16926)!_value_!_p == _memory_ptr[{ base : local_#16926!base, offset : local_#16926!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#16926)!_tt_ == _memory[{ base : local_#16926!base, offset : local_#16926!offset + 8 }]; call write_type_#101(local_#31891_io1,read_type_#101(_memory, _memory_ptr, local_#16926)); local_#16927 := 0; assert { :LIR "61256" } { :check "overflow" } { :finding_ids "0" } true; local_#16928 := 0; local_#16929 := 0; assert { :LIR "61257" } { :check "overflow" } { :finding_ids "0" } true; local_#16930 := _memory_ptr[{ base : local_#4463_to!base, offset : local_#4463_to!offset + 16 }]; local_#16931 := 1; _memory_ptr[{ base : local_#4463_to!base, offset : local_#4463_to!offset + 16 }] := { base : local_#16930!base, offset : local_#16930!offset + local_#16931 * 16 }; local_#16932 := local_#16930; goto CFG_45018; CFG_45018: assume true; local_#16933 := local_#31890_i; local_#16934 := 1; local_#31890_i := local_#16933 + local_#16934; assert { :LIR "66493" } { :check "overflow" } { :finding_ids "0" } local_#31890_i <= 2147483647; local_#16935 := local_#16933; goto CFG_49961; CFG_39216: assume true; goto CFG_37424; CFG_37424: assume true; } procedure routine_#34006_lua_yieldk(local_#4465_L_IN : { base : int, offset : int }, local_#4466_nresults_IN : int, local_#4467_ctx_IN : int, local_#4468_k_IN : { base : int, offset : int }) returns (local_#7916 : int) modifies _memory, _memory_ptr, _valid; { var local_#4465_L : { base : int, offset : int }; var local_#4466_nresults : int; var local_#4467_ctx : int; var local_#4468_k : { base : int, offset : int }; var local_#31892_ci : { base : int, offset : int }; var local_#16936 : int; var local_#16937 : int; var local_#16938 : int; var local_#16939 : int; var local_#16940 : int; var local_#16941 : int; var local_#16942 : int; var local_#16943 : int; var local_#16944 : { base : int, offset : int }; var local_#16945 : { base : int, offset : int }; var local_#16946 : int; var local_#16947 : int; var local_#16948 : int; var local_#16949 : int; var local_#16950 : { base : int, offset : int }; var local_#16951 : { base : int, offset : int }; var local_#16952 : int; var local_#16953 : { base : int, offset : int }; var local_#16954 : { base : int, offset : int }; var local_#16955 : int; var local_#16956 : { base : int, offset : int }; var local_#16957 : int; var local_#16958 : int; var local_#16959 : int; var local_#16960 : int; var local_#16961 : int; var local_#16962 : int; var local_#16963 : int; var local_#16964 : { base : int, offset : int }; var local_#16965 : int; var local_#16966 : { base : int, offset : int }; var local_#16967 : { base : int, offset : int }; var local_#16968 : { base : int, offset : int }; var local_#16969 : { base : int, offset : int }; local_#4465_L := local_#4465_L_IN; local_#4466_nresults := local_#4466_nresults_IN; local_#4467_ctx := local_#4467_ctx_IN; local_#4468_k := local_#4468_k_IN; goto CFG_36514; CFG_36514: assume true; goto CFG_49962; CFG_49962: assume true; local_#31892_ci := _memory_ptr[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 32 }]; local_#16936 := 0; assert { :LIR "61258" } { :check "overflow" } { :finding_ids "0" } true; local_#16937 := 0; local_#16938 := 0; assert { :LIR "61259" } { :check "overflow" } { :finding_ids "0" } true; local_#16939 := 0; local_#16940 := 0; assert { :LIR "61260" } { :check "overflow" } { :finding_ids "0" } true; local_#16941 := _memory[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 196 }]; assert { :LIR "62750" } { :check "overflow" } { :finding_ids "0" } local_#16941 <= 2147483647; local_#16942 := 0; local_#16943 := (if local_#16941 > local_#16942 then 1 else 0); if (local_#16943 != 0) { goto CFG_49965; } else { goto CFG_49963; } CFG_49963: assume true; _memory[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 12 }] := 1; local_#16944 := _memory_ptr[{ base : local_#31892_ci!base, offset : local_#31892_ci!offset + 0 }]; assert { :LIR "61261" } { :check "overflow" } { :finding_ids "0" } true; local_#16945 := _memory_ptr[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 56 }]; assert { :LIR "61262" } { :check "overflow" } { :finding_ids "0" } true; local_#16946 := (local_#16944!offset - local_#16945!offset) / 1; _memory[{ base : local_#31892_ci!base, offset : local_#31892_ci!offset + 56 }] := local_#16946; local_#16947 := _memory[{ base : local_#31892_ci!base, offset : local_#31892_ci!offset + 66 }]; assert { :LIR "62751" } { :check "overflow" } { :finding_ids "0" } local_#16947 <= 2147483647; local_#16948 := 2; local_#16949 := ~sand32(local_#16947, local_#16948); if (local_#16949 != 0) { goto CFG_40493; } else { goto CFG_49964; } CFG_49964: assume true; local_#16950 := { base : local_#31892_ci!base, offset : local_#31892_ci!offset + 32 }; _memory_ptr[{ base : local_#16950!base, offset : local_#16950!offset + 0 }] := local_#4468_k; local_#16951 := { base : 0, offset : 0 }; local_#16952 := (if _memory_ptr[{ base : local_#16950!base, offset : local_#16950!offset + 0 }] != local_#16951 then 1 else 0); if (local_#16952 != 0) { goto CFG_40492; } else { goto CFG_42698; } CFG_40492: assume true; local_#16953 := { base : local_#31892_ci!base, offset : local_#31892_ci!offset + 32 }; _memory[{ base : local_#16953!base, offset : local_#16953!offset + 16 }] := local_#4467_ctx; goto CFG_42698; CFG_42698: assume true; local_#16954 := { base : _memory_ptr[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 16 }]!offset - local_#4466_nresults * 16 }; local_#16955 := 1; local_#16956 := { base : local_#16954!base, offset : local_#16954!offset - local_#16955 * 16 }; _memory_ptr[{ base : local_#31892_ci!base, offset : local_#31892_ci!offset + 0 }] := local_#16956; local_#16957 := 1; goto CFG_46191; CFG_46191: assume true; call routine_#33743_luaD_throw(local_#4465_L,local_#16957); CFG_40493: assume true; local_#16958 := 0; local_#16959 := 0; assert { :LIR "61263" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38313; CFG_38313: assume true; local_#16960 := 0; local_#16961 := 0; assert { :LIR "61264" } { :check "overflow" } { :finding_ids "0" } true; local_#16962 := 0; local_#16963 := 0; assert { :LIR "61265" } { :check "overflow" } { :finding_ids "0" } true; local_#7916 := 0; goto CFG_37425; CFG_49965: assume true; local_#16964 := _memory_ptr[{ base : local_#4465_L!base, offset : local_#4465_L!offset + 24 }]; local_#16965 := (if local_#4465_L != _memory_ptr[{ base : local_#16964!base, offset : local_#16964!offset + 200 }] then 1 else 0); if (local_#16965 != 0) { goto CFG_42700; } else { goto CFG_42699; } CFG_42699: assume true; assume _memory[{ base : strlit_#70395!base, offset : strlit_#70395!offset + 41 }] == 0; local_#16966 := strlit_#70395; local_#16967 := { base : local_#16966!base, offset : local_#16966!offset + 0 * 1 }; assert { :LIR "62752" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46192; CFG_46192: assume true; call routine_#33762_luaG_runerror(local_#4465_L,local_#16967,{ base : 0, offset : 0 }); CFG_42700: assume true; assume _memory[{ base : strlit_#70396!base, offset : strlit_#70396!offset + 41 }] == 0; local_#16968 := strlit_#70396; local_#16969 := { base : local_#16968!base, offset : local_#16968!offset + 0 * 1 }; assert { :LIR "62753" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46193; CFG_46193: assume true; call routine_#33762_luaG_runerror(local_#4465_L,local_#16969,{ base : 0, offset : 0 }); CFG_37425: assume true; } procedure routine_#34007_luaopen_base(local_#4469_L_IN : { base : int, offset : int }) returns (local_#7917 : int) modifies _memory, _memory_ptr, _valid; { var local_#4469_L : { base : int, offset : int }; var local_#16970 : int; var local_#16971 : int; var local_#16972 : int; var local_#16973 : int; var local_#16974 : { base : int, offset : int }; var local_#16975 : int; var local_#16976 : int; var local_#16977 : int; var local_#16978 : { base : int, offset : int }; var local_#16979 : { base : int, offset : int }; var local_#16980 : { base : int, offset : int }; var local_#16981 : { base : int, offset : int }; var local_#16982 : { base : int, offset : int }; var local_#16983 : int; var local_#16984 : { base : int, offset : int }; var local_#16985 : { base : int, offset : int }; local_#4469_L := local_#4469_L_IN; goto CFG_36515; CFG_36515: assume true; goto CFG_42701; CFG_42701: assume true; local_#16970 := -1001000; local_#16971 := 2; goto CFG_46194; CFG_46194: assume true; call local_#16972 := routine_#33971_lua_rawgeti(local_#4469_L,local_#16970,local_#16971); goto CFG_42702; CFG_42702: assume true; local_#16973 := 0; assert { :LIR "61266" } { :check "overflow" } { :finding_ids "0" } true; local_#16974 := { base : global_#33049_base_funcs!base, offset : global_#33049_base_funcs!offset + 0 * 16 }; local_#16975 := 0; goto CFG_46195; CFG_46195: assume true; call routine_#33849_luaL_setfuncs(local_#4469_L,local_#16974,local_#16975); goto CFG_42703; CFG_42703: assume true; local_#16976 := -1; goto CFG_46196; CFG_46196: assume true; call routine_#33967_lua_pushvalue(local_#4469_L,local_#16976); goto CFG_42704; CFG_42704: assume true; local_#16977 := -2; assume _memory[{ base : strlit_#70397!base, offset : strlit_#70397!offset + 0 }] == 95 && _memory[{ base : strlit_#70397!base, offset : strlit_#70397!offset + 1 }] == 71 && _memory[{ base : strlit_#70397!base, offset : strlit_#70397!offset + 2 }] == 0; local_#16978 := strlit_#70397; local_#16979 := { base : local_#16978!base, offset : local_#16978!offset + 0 * 1 }; assert { :LIR "62754" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46197; CFG_46197: assume true; call routine_#33980_lua_setfield(local_#4469_L,local_#16977,local_#16979); goto CFG_42705; CFG_42705: assume true; assume _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 0 }] == 76 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 1 }] == 117 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 2 }] == 97 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 3 }] == 32 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 4 }] == 53 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 5 }] == 46 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 6 }] == 51 && _memory[{ base : strlit_#70398!base, offset : strlit_#70398!offset + 7 }] == 0; local_#16980 := strlit_#70398; local_#16981 := { base : local_#16980!base, offset : local_#16980!offset + 0 * 1 }; assert { :LIR "62755" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46198; CFG_46198: assume true; call local_#16982 := routine_#33965_lua_pushstring(local_#4469_L,local_#16981); goto CFG_42706; CFG_42706: assume true; local_#16983 := -2; assume _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 0 }] == 95 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 1 }] == 86 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 2 }] == 69 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 3 }] == 82 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 4 }] == 83 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 5 }] == 73 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 6 }] == 79 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 7 }] == 78 && _memory[{ base : strlit_#70399!base, offset : strlit_#70399!offset + 8 }] == 0; local_#16984 := strlit_#70399; local_#16985 := { base : local_#16984!base, offset : local_#16984!offset + 0 * 1 }; assert { :LIR "62756" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46199; CFG_46199: assume true; call routine_#33980_lua_setfield(local_#4469_L,local_#16983,local_#16985); goto CFG_38314; CFG_38314: assume true; local_#7917 := 1; goto CFG_37426; CFG_37426: assume true; } procedure routine_#34008_luaopen_bit32(local_#4470_L_IN : { base : int, offset : int }) returns (local_#7918 : int) modifies _memory, _memory_ptr, _valid; { var local_#4470_L : { base : int, offset : int }; var nondet_#0 : int; var local_#16986 : int; var local_#16987 : int; var local_#16988 : int; var local_#16989 : int; var local_#16990 : { base : int, offset : int }; var local_#16991 : int; local_#4470_L := local_#4470_L_IN; goto CFG_36516; CFG_36516: assume true; goto CFG_42707; CFG_42707: assume true; havoc nondet_#0; local_#16986 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78600 */; local_#16987 := 136; goto CFG_46200; CFG_46200: assume true; call routine_#33827_luaL_checkversion_(local_#4470_L,local_#16986,local_#16987); goto CFG_42708; CFG_42708: assume true; local_#16988 := 0; local_#16989 := 12; goto CFG_46201; CFG_46201: assume true; call routine_#33925_lua_createtable(local_#4470_L,local_#16988,local_#16989); goto CFG_42709; CFG_42709: assume true; local_#16990 := { base : global_#33050_bitlib!base, offset : global_#33050_bitlib!offset + 0 * 16 }; local_#16991 := 0; goto CFG_46202; CFG_46202: assume true; call routine_#33849_luaL_setfuncs(local_#4470_L,local_#16990,local_#16991); goto CFG_38315; CFG_38315: assume true; local_#7918 := 1; goto CFG_37427; CFG_37427: assume true; } procedure routine_#34009_luaopen_coroutine(local_#4471_L_IN : { base : int, offset : int }) returns (local_#7919 : int) modifies _memory, _memory_ptr, _valid; { var local_#4471_L : { base : int, offset : int }; var nondet_#0 : int; var local_#16992 : int; var local_#16993 : int; var local_#16994 : int; var local_#16995 : int; var local_#16996 : { base : int, offset : int }; var local_#16997 : int; local_#4471_L := local_#4471_L_IN; goto CFG_36517; CFG_36517: assume true; goto CFG_42710; CFG_42710: assume true; havoc nondet_#0; local_#16992 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78601 */; local_#16993 := 136; goto CFG_46203; CFG_46203: assume true; call routine_#33827_luaL_checkversion_(local_#4471_L,local_#16992,local_#16993); goto CFG_42711; CFG_42711: assume true; local_#16994 := 0; local_#16995 := 7; goto CFG_46204; CFG_46204: assume true; call routine_#33925_lua_createtable(local_#4471_L,local_#16994,local_#16995); goto CFG_42712; CFG_42712: assume true; local_#16996 := { base : global_#33051_co_funcs!base, offset : global_#33051_co_funcs!offset + 0 * 16 }; local_#16997 := 0; goto CFG_46205; CFG_46205: assume true; call routine_#33849_luaL_setfuncs(local_#4471_L,local_#16996,local_#16997); goto CFG_38316; CFG_38316: assume true; local_#7919 := 1; goto CFG_37428; CFG_37428: assume true; } procedure routine_#34010_luaopen_debug(local_#4472_L_IN : { base : int, offset : int }) returns (local_#7920 : int) modifies _memory, _memory_ptr, _valid; { var local_#4472_L : { base : int, offset : int }; var nondet_#0 : int; var local_#16998 : int; var local_#16999 : int; var local_#17000 : int; var local_#17001 : int; var local_#17002 : { base : int, offset : int }; var local_#17003 : int; local_#4472_L := local_#4472_L_IN; goto CFG_36518; CFG_36518: assume true; goto CFG_42713; CFG_42713: assume true; havoc nondet_#0; local_#16998 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78602 */; local_#16999 := 136; goto CFG_46206; CFG_46206: assume true; call routine_#33827_luaL_checkversion_(local_#4472_L,local_#16998,local_#16999); goto CFG_42714; CFG_42714: assume true; local_#17000 := 0; local_#17001 := 16; goto CFG_46207; CFG_46207: assume true; call routine_#33925_lua_createtable(local_#4472_L,local_#17000,local_#17001); goto CFG_42715; CFG_42715: assume true; local_#17002 := { base : global_#33052_dblib!base, offset : global_#33052_dblib!offset + 0 * 16 }; local_#17003 := 0; goto CFG_46208; CFG_46208: assume true; call routine_#33849_luaL_setfuncs(local_#4472_L,local_#17002,local_#17003); goto CFG_38317; CFG_38317: assume true; local_#7920 := 1; goto CFG_37429; CFG_37429: assume true; } procedure routine_#34011_luaopen_io(local_#4473_L_IN : { base : int, offset : int }) returns (local_#7921 : int) modifies _memory, _memory_ptr, _valid; { var local_#4473_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17004 : int; var local_#17005 : int; var local_#17006 : int; var local_#17007 : int; var local_#17008 : { base : int, offset : int }; var local_#17009 : int; var local_#17010 : { base : int, offset : int }; var local_#17011 : { base : int, offset : int }; var local_#17012 : { base : int, offset : int }; var local_#17013 : { base : int, offset : int }; var local_#17014 : { base : int, offset : int }; var local_#17015 : { base : int, offset : int }; var local_#17016 : { base : int, offset : int }; var local_#17017 : { base : int, offset : int }; var local_#17018 : { base : int, offset : int }; var local_#17019 : { base : int, offset : int }; var local_#17020 : { base : int, offset : int }; local_#4473_L := local_#4473_L_IN; goto CFG_36519; CFG_36519: assume true; goto CFG_42716; CFG_42716: assume true; havoc nondet_#0; local_#17004 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78603 */; local_#17005 := 136; goto CFG_46209; CFG_46209: assume true; call routine_#33827_luaL_checkversion_(local_#4473_L,local_#17004,local_#17005); goto CFG_42717; CFG_42717: assume true; local_#17006 := 0; local_#17007 := 11; goto CFG_46210; CFG_46210: assume true; call routine_#33925_lua_createtable(local_#4473_L,local_#17006,local_#17007); goto CFG_42718; CFG_42718: assume true; local_#17008 := { base : global_#33057_iolib!base, offset : global_#33057_iolib!offset + 0 * 16 }; local_#17009 := 0; goto CFG_46211; CFG_46211: assume true; call routine_#33849_luaL_setfuncs(local_#4473_L,local_#17008,local_#17009); goto CFG_46212; CFG_46212: assume true; call routine_#34674_createmeta(local_#4473_L); goto CFG_42719; CFG_42719: assume true; assume _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 0 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 1 }] == 73 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 2 }] == 79 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 3 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 4 }] == 105 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 5 }] == 110 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 6 }] == 112 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 7 }] == 117 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 8 }] == 116 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 9 }] == 0; local_#17010 := strlit_#70400; local_#17011 := { base : local_#17010!base, offset : local_#17010!offset + 0 * 1 }; assert { :LIR "62757" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70401!base, offset : strlit_#70401!offset + 0 }] == 115 && _memory[{ base : strlit_#70401!base, offset : strlit_#70401!offset + 1 }] == 116 && _memory[{ base : strlit_#70401!base, offset : strlit_#70401!offset + 2 }] == 100 && _memory[{ base : strlit_#70401!base, offset : strlit_#70401!offset + 3 }] == 105 && _memory[{ base : strlit_#70401!base, offset : strlit_#70401!offset + 4 }] == 110 && _memory[{ base : strlit_#70401!base, offset : strlit_#70401!offset + 5 }] == 0; local_#17012 := strlit_#70401; local_#17013 := { base : local_#17012!base, offset : local_#17012!offset + 0 * 1 }; assert { :LIR "62758" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46213; CFG_46213: assume true; call routine_#34677_createstdfile(local_#4473_L,global_#33191_stdin,local_#17011,local_#17013); goto CFG_42720; CFG_42720: assume true; assume _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 0 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 1 }] == 73 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 2 }] == 79 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 3 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 4 }] == 111 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 5 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 6 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 7 }] == 112 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 8 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 9 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 10 }] == 0; local_#17014 := strlit_#70402; local_#17015 := { base : local_#17014!base, offset : local_#17014!offset + 0 * 1 }; assert { :LIR "62759" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 0 }] == 115 && _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 1 }] == 116 && _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 2 }] == 100 && _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 3 }] == 111 && _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 4 }] == 117 && _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 5 }] == 116 && _memory[{ base : strlit_#70403!base, offset : strlit_#70403!offset + 6 }] == 0; local_#17016 := strlit_#70403; local_#17017 := { base : local_#17016!base, offset : local_#17016!offset + 0 * 1 }; assert { :LIR "62760" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46214; CFG_46214: assume true; call routine_#34677_createstdfile(local_#4473_L,global_#33192_stdout,local_#17015,local_#17017); goto CFG_42721; CFG_42721: assume true; local_#17018 := { base : 0, offset : 0 }; assume _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 0 }] == 115 && _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 1 }] == 116 && _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 2 }] == 100 && _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 3 }] == 101 && _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 4 }] == 114 && _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 5 }] == 114 && _memory[{ base : strlit_#70404!base, offset : strlit_#70404!offset + 6 }] == 0; local_#17019 := strlit_#70404; local_#17020 := { base : local_#17019!base, offset : local_#17019!offset + 0 * 1 }; assert { :LIR "62761" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46215; CFG_46215: assume true; call routine_#34677_createstdfile(local_#4473_L,global_#33190_stderr,local_#17018,local_#17020); goto CFG_38318; CFG_38318: assume true; local_#7921 := 1; goto CFG_37430; CFG_37430: assume true; } procedure routine_#34012_luaopen_math(local_#4474_L_IN : { base : int, offset : int }) returns (local_#7922 : int) modifies _memory, _memory_ptr, _valid; { var local_#4474_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17021 : int; var local_#17022 : int; var local_#17023 : int; var local_#17024 : int; var local_#17025 : { base : int, offset : int }; var local_#17026 : int; var nondet_#1 : int; var local_#17027 : int; var local_#17028 : int; var local_#17029 : { base : int, offset : int }; var local_#17030 : { base : int, offset : int }; var nondet_#2 : int; var local_#17031 : int; var local_#17032 : int; var local_#17033 : { base : int, offset : int }; var local_#17034 : { base : int, offset : int }; var local_#17035 : int; var local_#17036 : int; var local_#17037 : { base : int, offset : int }; var local_#17038 : { base : int, offset : int }; var local_#17039 : int; var local_#17040 : int; var local_#17041 : { base : int, offset : int }; var local_#17042 : { base : int, offset : int }; local_#4474_L := local_#4474_L_IN; goto CFG_36520; CFG_36520: assume true; goto CFG_42722; CFG_42722: assume true; havoc nondet_#0; local_#17021 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78604 */; local_#17022 := 136; goto CFG_46216; CFG_46216: assume true; call routine_#33827_luaL_checkversion_(local_#4474_L,local_#17021,local_#17022); goto CFG_42723; CFG_42723: assume true; local_#17023 := 0; local_#17024 := 35; goto CFG_46217; CFG_46217: assume true; call routine_#33925_lua_createtable(local_#4474_L,local_#17023,local_#17024); goto CFG_42724; CFG_42724: assume true; local_#17025 := { base : global_#33061_mathlib!base, offset : global_#33061_mathlib!offset + 0 * 16 }; local_#17026 := 0; goto CFG_46218; CFG_46218: assume true; call routine_#33849_luaL_setfuncs(local_#4474_L,local_#17025,local_#17026); goto CFG_42725; CFG_42725: assume true; havoc nondet_#1; local_#17027 := nondet_#1 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78605 */; goto CFG_46219; CFG_46219: assume true; call routine_#33964_lua_pushnumber(local_#4474_L,local_#17027); goto CFG_42726; CFG_42726: assume true; local_#17028 := -2; assume _memory[{ base : strlit_#70405!base, offset : strlit_#70405!offset + 0 }] == 112 && _memory[{ base : strlit_#70405!base, offset : strlit_#70405!offset + 1 }] == 105 && _memory[{ base : strlit_#70405!base, offset : strlit_#70405!offset + 2 }] == 0; local_#17029 := strlit_#70405; local_#17030 := { base : local_#17029!base, offset : local_#17029!offset + 0 * 1 }; assert { :LIR "62762" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46220; CFG_46220: assume true; call routine_#33980_lua_setfield(local_#4474_L,local_#17028,local_#17030); goto CFG_42727; CFG_42727: assume true; havoc nondet_#2; local_#17031 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78606 */; goto CFG_46221; CFG_46221: assume true; call routine_#33964_lua_pushnumber(local_#4474_L,local_#17031); goto CFG_42728; CFG_42728: assume true; local_#17032 := -2; assume _memory[{ base : strlit_#70406!base, offset : strlit_#70406!offset + 0 }] == 104 && _memory[{ base : strlit_#70406!base, offset : strlit_#70406!offset + 1 }] == 117 && _memory[{ base : strlit_#70406!base, offset : strlit_#70406!offset + 2 }] == 103 && _memory[{ base : strlit_#70406!base, offset : strlit_#70406!offset + 3 }] == 101 && _memory[{ base : strlit_#70406!base, offset : strlit_#70406!offset + 4 }] == 0; local_#17033 := strlit_#70406; local_#17034 := { base : local_#17033!base, offset : local_#17033!offset + 0 * 1 }; assert { :LIR "62763" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46222; CFG_46222: assume true; call routine_#33980_lua_setfield(local_#4474_L,local_#17032,local_#17034); goto CFG_42729; CFG_42729: assume true; local_#17035 := 9223372036854775807; goto CFG_46223; CFG_46223: assume true; call routine_#33960_lua_pushinteger(local_#4474_L,local_#17035); goto CFG_42730; CFG_42730: assume true; local_#17036 := -2; assume _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 0 }] == 109 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 1 }] == 97 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 2 }] == 120 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 3 }] == 105 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 4 }] == 110 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 5 }] == 116 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 6 }] == 101 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 7 }] == 103 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 8 }] == 101 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 9 }] == 114 && _memory[{ base : strlit_#70407!base, offset : strlit_#70407!offset + 10 }] == 0; local_#17037 := strlit_#70407; local_#17038 := { base : local_#17037!base, offset : local_#17037!offset + 0 * 1 }; assert { :LIR "62764" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46224; CFG_46224: assume true; call routine_#33980_lua_setfield(local_#4474_L,local_#17036,local_#17038); goto CFG_42731; CFG_42731: assume true; local_#17039 := -9223372036854775808; goto CFG_46225; CFG_46225: assume true; call routine_#33960_lua_pushinteger(local_#4474_L,local_#17039); goto CFG_42732; CFG_42732: assume true; local_#17040 := -2; assume _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 0 }] == 109 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 1 }] == 105 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 2 }] == 110 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 3 }] == 105 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 4 }] == 110 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 5 }] == 116 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 6 }] == 101 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 7 }] == 103 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 8 }] == 101 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 9 }] == 114 && _memory[{ base : strlit_#70408!base, offset : strlit_#70408!offset + 10 }] == 0; local_#17041 := strlit_#70408; local_#17042 := { base : local_#17041!base, offset : local_#17041!offset + 0 * 1 }; assert { :LIR "62765" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46226; CFG_46226: assume true; call routine_#33980_lua_setfield(local_#4474_L,local_#17040,local_#17042); goto CFG_38319; CFG_38319: assume true; local_#7922 := 1; goto CFG_37431; CFG_37431: assume true; } procedure routine_#34013_luaopen_os(local_#4475_L_IN : { base : int, offset : int }) returns (local_#7923 : int) modifies _memory, _memory_ptr, _valid; { var local_#4475_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17043 : int; var local_#17044 : int; var local_#17045 : int; var local_#17046 : int; var local_#17047 : { base : int, offset : int }; var local_#17048 : int; local_#4475_L := local_#4475_L_IN; goto CFG_36521; CFG_36521: assume true; goto CFG_42733; CFG_42733: assume true; havoc nondet_#0; local_#17043 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78607 */; local_#17044 := 136; goto CFG_46227; CFG_46227: assume true; call routine_#33827_luaL_checkversion_(local_#4475_L,local_#17043,local_#17044); goto CFG_42734; CFG_42734: assume true; local_#17045 := 0; local_#17046 := 11; goto CFG_46228; CFG_46228: assume true; call routine_#33925_lua_createtable(local_#4475_L,local_#17045,local_#17046); goto CFG_42735; CFG_42735: assume true; local_#17047 := { base : global_#33067_syslib!base, offset : global_#33067_syslib!offset + 0 * 16 }; local_#17048 := 0; goto CFG_46229; CFG_46229: assume true; call routine_#33849_luaL_setfuncs(local_#4475_L,local_#17047,local_#17048); goto CFG_38320; CFG_38320: assume true; local_#7923 := 1; goto CFG_37432; CFG_37432: assume true; } procedure routine_#34014_luaopen_package(local_#4476_L_IN : { base : int, offset : int }) returns (local_#7924 : int) modifies _memory, _memory_ptr, _valid; { var local_#4476_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17049 : int; var local_#17050 : int; var local_#17051 : int; var local_#17052 : int; var local_#17053 : { base : int, offset : int }; var local_#17054 : int; var local_#17055 : { base : int, offset : int }; var local_#17056 : { base : int, offset : int }; var local_#17057 : { base : int, offset : int }; var local_#17058 : { base : int, offset : int }; var local_#17059 : { base : int, offset : int }; var local_#17060 : { base : int, offset : int }; var local_#17061 : { base : int, offset : int }; var local_#17062 : { base : int, offset : int }; var local_#17063 : { base : int, offset : int }; var local_#17064 : { base : int, offset : int }; var local_#17065 : { base : int, offset : int }; var local_#17066 : { base : int, offset : int }; var local_#17067 : { base : int, offset : int }; var local_#17068 : { base : int, offset : int }; var local_#17069 : { base : int, offset : int }; var local_#17070 : int; var local_#17071 : { base : int, offset : int }; var local_#17072 : { base : int, offset : int }; var local_#17073 : int; var local_#17074 : { base : int, offset : int }; var local_#17075 : { base : int, offset : int }; var local_#17076 : int; var local_#17077 : int; var local_#17078 : { base : int, offset : int }; var local_#17079 : { base : int, offset : int }; var local_#17080 : int; var local_#17081 : { base : int, offset : int }; var local_#17082 : { base : int, offset : int }; var local_#17083 : int; var local_#17084 : int; var local_#17085 : { base : int, offset : int }; var local_#17086 : { base : int, offset : int }; var local_#17087 : int; var local_#17088 : int; var local_#17089 : int; var local_#17090 : int; var local_#17091 : int; var local_#17092 : { base : int, offset : int }; var local_#17093 : int; var local_#17094 : int; local_#4476_L := local_#4476_L_IN; goto CFG_36522; CFG_36522: assume true; goto CFG_46230; CFG_46230: assume true; call routine_#34673_createclibstable(local_#4476_L); goto CFG_42736; CFG_42736: assume true; havoc nondet_#0; local_#17049 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78608 */; local_#17050 := 136; goto CFG_46231; CFG_46231: assume true; call routine_#33827_luaL_checkversion_(local_#4476_L,local_#17049,local_#17050); goto CFG_42737; CFG_42737: assume true; local_#17051 := 0; local_#17052 := 7; goto CFG_46232; CFG_46232: assume true; call routine_#33925_lua_createtable(local_#4476_L,local_#17051,local_#17052); goto CFG_42738; CFG_42738: assume true; local_#17053 := { base : global_#33063_pk_funcs!base, offset : global_#33063_pk_funcs!offset + 0 * 16 }; local_#17054 := 0; goto CFG_46233; CFG_46233: assume true; call routine_#33849_luaL_setfuncs(local_#4476_L,local_#17053,local_#17054); goto CFG_46234; CFG_46234: assume true; call routine_#34676_createsearcherstable(local_#4476_L); goto CFG_42739; CFG_42739: assume true; assume _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 0 }] == 112 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 1 }] == 97 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 2 }] == 116 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 3 }] == 104 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 4 }] == 0; local_#17055 := strlit_#70409; local_#17056 := { base : local_#17055!base, offset : local_#17055!offset + 0 * 1 }; assert { :LIR "62766" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 0 }] == 76 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 1 }] == 85 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 2 }] == 65 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 3 }] == 95 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 4 }] == 80 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 5 }] == 65 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 6 }] == 84 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 7 }] == 72 && _memory[{ base : strlit_#70410!base, offset : strlit_#70410!offset + 8 }] == 0; local_#17057 := strlit_#70410; local_#17058 := { base : local_#17057!base, offset : local_#17057!offset + 0 * 1 }; assert { :LIR "62767" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70411!base, offset : strlit_#70411!offset + 150 }] == 0; local_#17059 := strlit_#70411; local_#17060 := { base : local_#17059!base, offset : local_#17059!offset + 0 * 1 }; assert { :LIR "62768" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46235; CFG_46235: assume true; call routine_#35061_setpath(local_#4476_L,local_#17056,local_#17058,local_#17060); goto CFG_42740; CFG_42740: assume true; assume _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 0 }] == 99 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 1 }] == 112 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 2 }] == 97 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 3 }] == 116 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 4 }] == 104 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 5 }] == 0; local_#17061 := strlit_#70412; local_#17062 := { base : local_#17061!base, offset : local_#17061!offset + 0 * 1 }; assert { :LIR "62769" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 0 }] == 76 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 1 }] == 85 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 2 }] == 65 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 3 }] == 95 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 4 }] == 67 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 5 }] == 80 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 6 }] == 65 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 7 }] == 84 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 8 }] == 72 && _memory[{ base : strlit_#70413!base, offset : strlit_#70413!offset + 9 }] == 0; local_#17063 := strlit_#70413; local_#17064 := { base : local_#17063!base, offset : local_#17063!offset + 0 * 1 }; assert { :LIR "62770" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70414!base, offset : strlit_#70414!offset + 68 }] == 0; local_#17065 := strlit_#70414; local_#17066 := { base : local_#17065!base, offset : local_#17065!offset + 0 * 1 }; assert { :LIR "62771" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46236; CFG_46236: assume true; call routine_#35061_setpath(local_#4476_L,local_#17062,local_#17064,local_#17066); goto CFG_42741; CFG_42741: assume true; assume _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 0 }] == 47 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 1 }] == 10 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 2 }] == 59 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 3 }] == 10 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 4 }] == 63 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 5 }] == 10 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 6 }] == 33 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 7 }] == 10 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 8 }] == 45 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 9 }] == 10 && _memory[{ base : strlit_#70415!base, offset : strlit_#70415!offset + 10 }] == 0; local_#17067 := strlit_#70415; local_#17068 := { base : local_#17067!base, offset : local_#17067!offset + 0 * 1 }; assert { :LIR "62772" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46237; CFG_46237: assume true; call local_#17069 := routine_#33965_lua_pushstring(local_#4476_L,local_#17068); goto CFG_42742; CFG_42742: assume true; local_#17070 := -2; assume _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 0 }] == 99 && _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 1 }] == 111 && _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 2 }] == 110 && _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 3 }] == 102 && _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 4 }] == 105 && _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 5 }] == 103 && _memory[{ base : strlit_#70416!base, offset : strlit_#70416!offset + 6 }] == 0; local_#17071 := strlit_#70416; local_#17072 := { base : local_#17071!base, offset : local_#17071!offset + 0 * 1 }; assert { :LIR "62773" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46238; CFG_46238: assume true; call routine_#33980_lua_setfield(local_#4476_L,local_#17070,local_#17072); goto CFG_42743; CFG_42743: assume true; local_#17073 := -1001000; assume _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 0 }] == 95 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 1 }] == 76 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 2 }] == 79 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 3 }] == 65 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 4 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 5 }] == 69 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 6 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 7 }] == 0; local_#17074 := strlit_#70332; local_#17075 := { base : local_#17074!base, offset : local_#17074!offset + 0 * 1 }; assert { :LIR "62774" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46239; CFG_46239: assume true; call local_#17076 := routine_#33832_luaL_getsubtable(local_#4476_L,local_#17073,local_#17075); goto CFG_42744; CFG_42744: assume true; local_#17077 := -2; assume _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 0 }] == 108 && _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 1 }] == 111 && _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 2 }] == 97 && _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 3 }] == 100 && _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 4 }] == 101 && _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 5 }] == 100 && _memory[{ base : strlit_#70418!base, offset : strlit_#70418!offset + 6 }] == 0; local_#17078 := strlit_#70418; local_#17079 := { base : local_#17078!base, offset : local_#17078!offset + 0 * 1 }; assert { :LIR "62775" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46240; CFG_46240: assume true; call routine_#33980_lua_setfield(local_#4476_L,local_#17077,local_#17079); goto CFG_42745; CFG_42745: assume true; local_#17080 := -1001000; assume _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 0 }] == 95 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 1 }] == 80 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 2 }] == 82 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 3 }] == 69 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 4 }] == 76 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 5 }] == 79 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 6 }] == 65 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 7 }] == 68 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 8 }] == 0; local_#17081 := strlit_#70419; local_#17082 := { base : local_#17081!base, offset : local_#17081!offset + 0 * 1 }; assert { :LIR "62776" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46241; CFG_46241: assume true; call local_#17083 := routine_#33832_luaL_getsubtable(local_#4476_L,local_#17080,local_#17082); goto CFG_42746; CFG_42746: assume true; local_#17084 := -2; assume _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 0 }] == 112 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 1 }] == 114 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 2 }] == 101 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 3 }] == 108 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 4 }] == 111 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 5 }] == 97 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 6 }] == 100 && _memory[{ base : strlit_#70420!base, offset : strlit_#70420!offset + 7 }] == 0; local_#17085 := strlit_#70420; local_#17086 := { base : local_#17085!base, offset : local_#17085!offset + 0 * 1 }; assert { :LIR "62777" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46242; CFG_46242: assume true; call routine_#33980_lua_setfield(local_#4476_L,local_#17084,local_#17086); goto CFG_42747; CFG_42747: assume true; local_#17087 := -1001000; local_#17088 := 2; goto CFG_46243; CFG_46243: assume true; call local_#17089 := routine_#33971_lua_rawgeti(local_#4476_L,local_#17087,local_#17088); goto CFG_42748; CFG_42748: assume true; local_#17090 := 0; assert { :LIR "61267" } { :check "overflow" } { :finding_ids "0" } true; local_#17091 := -2; goto CFG_46244; CFG_46244: assume true; call routine_#33967_lua_pushvalue(local_#4476_L,local_#17091); goto CFG_42749; CFG_42749: assume true; local_#17092 := { base : global_#33058_ll_funcs!base, offset : global_#33058_ll_funcs!offset + 0 * 16 }; local_#17093 := 1; goto CFG_46245; CFG_46245: assume true; call routine_#33849_luaL_setfuncs(local_#4476_L,local_#17092,local_#17093); goto CFG_42750; CFG_42750: assume true; local_#17094 := -2; goto CFG_46246; CFG_46246: assume true; call routine_#33987_lua_settop(local_#4476_L,local_#17094); goto CFG_38321; CFG_38321: assume true; local_#7924 := 1; goto CFG_37433; CFG_37433: assume true; } procedure routine_#34015_luaopen_string(local_#4477_L_IN : { base : int, offset : int }) returns (local_#7925 : int) modifies _memory, _memory_ptr, _valid; { var local_#4477_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17095 : int; var local_#17096 : int; var local_#17097 : int; var local_#17098 : int; var local_#17099 : { base : int, offset : int }; var local_#17100 : int; local_#4477_L := local_#4477_L_IN; goto CFG_36523; CFG_36523: assume true; goto CFG_42751; CFG_42751: assume true; havoc nondet_#0; local_#17095 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78609 */; local_#17096 := 136; goto CFG_46247; CFG_46247: assume true; call routine_#33827_luaL_checkversion_(local_#4477_L,local_#17095,local_#17096); goto CFG_42752; CFG_42752: assume true; local_#17097 := 0; local_#17098 := 17; goto CFG_46248; CFG_46248: assume true; call routine_#33925_lua_createtable(local_#4477_L,local_#17097,local_#17098); goto CFG_42753; CFG_42753: assume true; local_#17099 := { base : global_#33066_strlib!base, offset : global_#33066_strlib!offset + 0 * 16 }; local_#17100 := 0; goto CFG_46249; CFG_46249: assume true; call routine_#33849_luaL_setfuncs(local_#4477_L,local_#17099,local_#17100); goto CFG_46250; CFG_46250: assume true; call routine_#34675_createmetatable(local_#4477_L); goto CFG_38322; CFG_38322: assume true; local_#7925 := 1; goto CFG_37434; CFG_37434: assume true; } procedure routine_#34016_luaopen_table(local_#4478_L_IN : { base : int, offset : int }) returns (local_#7926 : int) modifies _memory, _memory_ptr, _valid; { var local_#4478_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17101 : int; var local_#17102 : int; var local_#17103 : int; var local_#17104 : int; var local_#17105 : { base : int, offset : int }; var local_#17106 : int; local_#4478_L := local_#4478_L_IN; goto CFG_36524; CFG_36524: assume true; goto CFG_42754; CFG_42754: assume true; havoc nondet_#0; local_#17101 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78610 */; local_#17102 := 136; goto CFG_46251; CFG_46251: assume true; call routine_#33827_luaL_checkversion_(local_#4478_L,local_#17101,local_#17102); goto CFG_42755; CFG_42755: assume true; local_#17103 := 0; local_#17104 := 7; goto CFG_46252; CFG_46252: assume true; call routine_#33925_lua_createtable(local_#4478_L,local_#17103,local_#17104); goto CFG_42756; CFG_42756: assume true; local_#17105 := { base : global_#33068_tab_funcs!base, offset : global_#33068_tab_funcs!offset + 0 * 16 }; local_#17106 := 0; goto CFG_46253; CFG_46253: assume true; call routine_#33849_luaL_setfuncs(local_#4478_L,local_#17105,local_#17106); goto CFG_38323; CFG_38323: assume true; local_#7926 := 1; goto CFG_37435; CFG_37435: assume true; } procedure routine_#34017_luaopen_utf8(local_#4479_L_IN : { base : int, offset : int }) returns (local_#7927 : int) modifies _memory, _memory_ptr, _valid; { var local_#4479_L : { base : int, offset : int }; var nondet_#0 : int; var local_#17107 : int; var local_#17108 : int; var local_#17109 : int; var local_#17110 : int; var local_#17111 : { base : int, offset : int }; var local_#17112 : int; var local_#17113 : { base : int, offset : int }; var local_#17114 : { base : int, offset : int }; var local_#17115 : int; var local_#17116 : { base : int, offset : int }; var local_#17117 : int; var local_#17118 : { base : int, offset : int }; var local_#17119 : { base : int, offset : int }; local_#4479_L := local_#4479_L_IN; goto CFG_36525; CFG_36525: assume true; goto CFG_42757; CFG_42757: assume true; havoc nondet_#0; local_#17107 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78611 */; local_#17108 := 136; goto CFG_46254; CFG_46254: assume true; call routine_#33827_luaL_checkversion_(local_#4479_L,local_#17107,local_#17108); goto CFG_42758; CFG_42758: assume true; local_#17109 := 0; local_#17110 := 6; goto CFG_46255; CFG_46255: assume true; call routine_#33925_lua_createtable(local_#4479_L,local_#17109,local_#17110); goto CFG_42759; CFG_42759: assume true; local_#17111 := { base : global_#33055_funcs!base, offset : global_#33055_funcs!offset + 0 * 16 }; local_#17112 := 0; goto CFG_46256; CFG_46256: assume true; call routine_#33849_luaL_setfuncs(local_#4479_L,local_#17111,local_#17112); goto CFG_42760; CFG_42760: assume true; assume _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 0 }] == 91 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 1 }] == 0 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 2 }] == 45 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 3 }] == 127 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 4 }] == 194 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 5 }] == 45 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 6 }] == 244 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 7 }] == 93 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 8 }] == 91 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 9 }] == 128 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 10 }] == 45 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 11 }] == 191 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 12 }] == 93 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 13 }] == 42 && _memory[{ base : strlit_#70421!base, offset : strlit_#70421!offset + 14 }] == 0; local_#17113 := strlit_#70421; local_#17114 := { base : local_#17113!base, offset : local_#17113!offset + 0 * 1 }; assert { :LIR "62778" } { :check "overflow" } { :finding_ids "0" } true; local_#17115 := 14; goto CFG_46257; CFG_46257: assume true; call local_#17116 := routine_#33962_lua_pushlstring(local_#4479_L,local_#17114,local_#17115); goto CFG_42761; CFG_42761: assume true; local_#17117 := -2; assume _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 0 }] == 99 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 1 }] == 104 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 2 }] == 97 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 3 }] == 114 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 4 }] == 112 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 5 }] == 97 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 6 }] == 116 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 7 }] == 116 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 8 }] == 101 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 9 }] == 114 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 10 }] == 110 && _memory[{ base : strlit_#70422!base, offset : strlit_#70422!offset + 11 }] == 0; local_#17118 := strlit_#70422; local_#17119 := { base : local_#17118!base, offset : local_#17118!offset + 0 * 1 }; assert { :LIR "62779" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46258; CFG_46258: assume true; call routine_#33980_lua_setfield(local_#4479_L,local_#17117,local_#17119); goto CFG_38324; CFG_38324: assume true; local_#7927 := 1; goto CFG_37436; CFG_37436: assume true; } procedure routine_#34018_main(local_#4480_argc_IN : int, local_#4481_argv_IN : { base : int, offset : int }) returns (local_#7928 : int) modifies _memory, _memory_ptr, _valid; { var local_#4480_argc : int; var local_#4481_argv : { base : int, offset : int }; var local_#17120 : { base : int, offset : int }; var local_#31893_L : { base : int, offset : int }; var local_#17121 : { base : int, offset : int }; var local_#17122 : int; var local_#17123 : { base : int, offset : int }; var local_#17124 : int; var local_#17125 : int; var local_#17126 : { base : int, offset : int }; var local_#17127 : int; var local_#17128 : int; var local_#17129 : int; var local_#17130 : int; var local_#17131 : { base : int, offset : int }; var local_#17132 : int; var local_#31895_status : int; var local_#17133 : int; var local_#17134 : int; var local_#31894_result : int; var local_#17135 : int; var local_#17136 : int; var local_#17137 : int; var local_#17138 : int; var local_#30709 : int; var local_#17139 : int; var local_#17140 : { base : int, offset : int }; var local_#17141 : { base : int, offset : int }; var local_#17142 : { base : int, offset : int }; var local_#17143 : { base : int, offset : int }; local_#4480_argc := local_#4480_argc_IN; local_#4481_argv := local_#4481_argv_IN; goto CFG_36526; CFG_36526: assume true; goto CFG_46259; CFG_46259: assume true; call local_#17120 := routine_#33839_luaL_newstate(); goto CFG_49966; CFG_49966: assume true; local_#31893_L := local_#17120; local_#17121 := { base : 0, offset : 0 }; local_#17122 := (if local_#31893_L == local_#17121 then 1 else 0); if (local_#17122 != 0) { goto CFG_42768; } else { goto CFG_42762; } CFG_42762: assume true; local_#17123 := fun_addr_#34991_pmain; local_#17124 := 0; goto CFG_46260; CFG_46260: assume true; call routine_#33958_lua_pushcclosure(local_#31893_L,local_#17123,local_#17124); goto CFG_42763; CFG_42763: assume true; local_#17125 := local_#4480_argc; assert { :LIR "62780" } { :check "overflow" } { :finding_ids "0" } local_#17125 <= 9223372036854775807; goto CFG_46261; CFG_46261: assume true; call routine_#33960_lua_pushinteger(local_#31893_L,local_#17125); goto CFG_42764; CFG_42764: assume true; local_#17126 := local_#4481_argv; assert { :LIR "62781" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46262; CFG_46262: assume true; call routine_#33961_lua_pushlightuserdata(local_#31893_L,local_#17126); goto CFG_42765; CFG_42765: assume true; local_#17127 := 2; local_#17128 := 1; local_#17129 := 0; local_#17130 := 0; local_#17131 := { base : 0, offset : 0 }; goto CFG_46263; CFG_46263: assume true; call local_#17132 := routine_#33956_lua_pcallk(local_#31893_L,local_#17127,local_#17128,local_#17129,local_#17130,local_#17131); goto CFG_42766; CFG_42766: assume true; local_#31895_status := local_#17132; local_#17133 := -1; goto CFG_46264; CFG_46264: assume true; call local_#17134 := routine_#33992_lua_toboolean(local_#31893_L,local_#17133); goto CFG_42767; CFG_42767: assume true; local_#31894_result := local_#17134; goto CFG_46265; CFG_46265: assume true; call local_#17135 := routine_#35033_report(local_#31893_L,local_#31895_status); goto CFG_46266; CFG_46266: assume true; call routine_#33921_lua_close(local_#31893_L); goto CFG_49967; CFG_49967: assume true; local_#17136 := local_#31894_result; if (local_#17136 != 0) { goto CFG_49968; } else { goto CFG_40494; } CFG_49968: assume true; local_#17137 := 0; local_#17138 := (if local_#31895_status == local_#17137 then 1 else 0); if (local_#17138 != 0) { goto CFG_40495; } else { goto CFG_40494; } CFG_40494: assume true; local_#30709 := 1; goto CFG_38325; CFG_40495: assume true; local_#30709 := 0; goto CFG_38325; CFG_38325: assume true; local_#7928 := local_#30709; goto CFG_37437; CFG_42768: assume true; local_#17139 := 0; local_#17140 := { base : local_#4481_argv!base, offset : local_#4481_argv!offset + local_#17139 * 8 }; local_#17141 := _memory_ptr[local_#17140]; assert { :LIR "62782" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70423!base, offset : strlit_#70423!offset + 38 }] == 0; local_#17142 := strlit_#70423; local_#17143 := { base : local_#17142!base, offset : local_#17142!offset + 0 * 1 }; assert { :LIR "62783" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46267; CFG_46267: assume true; call routine_#34845_l_message(local_#17141,local_#17143); goto CFG_38326; CFG_38326: assume true; local_#7928 := 1; goto CFG_37437; CFG_37437: assume true; } procedure routine_#34019_malloc(local_#4482___size_IN : int) returns (external_return_#34019 : { base : int, offset : int }); modifies _length, _valid; ensures old(_valid)[external_return_#34019!base] == 0 && _valid == old(_valid)[external_return_#34019!base := 1] && _length == old(_length)[external_return_#34019!base := local_#4482___size_IN] && external_return_#34019!offset == 0; procedure routine_#34020_mblen(local_#4483___s_IN : { base : int, offset : int }, local_#4484___n_IN : int) returns (external_return_#34020 : int); procedure routine_#34021_mbstowcs(local_#4485___pwcs_IN : { base : int, offset : int }, local_#4486___s_IN : { base : int, offset : int }, local_#4487___n_IN : int) returns (external_return_#34021 : int); procedure routine_#34022_mbtowc(local_#4488___pwc_IN : { base : int, offset : int }, local_#4489___s_IN : { base : int, offset : int }, local_#4490___n_IN : int) returns (external_return_#34022 : int); procedure routine_#34023_memccpy(local_#4491___dest_IN : { base : int, offset : int }, local_#4492___src_IN : { base : int, offset : int }, local_#4493___c_IN : int, local_#4494___n_IN : int) returns (external_return_#34023 : { base : int, offset : int }); procedure routine_#34024_memchr(local_#4495___s_IN : { base : int, offset : int }, local_#4496___c_IN : int, local_#4497___n_IN : int) returns (external_return_#34024 : { base : int, offset : int }); procedure routine_#34025_memcmp(local_#4498___s1_IN : { base : int, offset : int }, local_#4499___s2_IN : { base : int, offset : int }, local_#4500___n_IN : int) returns (external_return_#34025 : int); procedure routine_#34026_memcpy(local_#4501___dest_IN : { base : int, offset : int }, local_#4502___src_IN : { base : int, offset : int }, local_#4503___n_IN : int) returns (external_return_#34026 : { base : int, offset : int }); procedure routine_#34027_memmove(local_#4504___dest_IN : { base : int, offset : int }, local_#4505___src_IN : { base : int, offset : int }, local_#4506___n_IN : int) returns (external_return_#34027 : { base : int, offset : int }); procedure routine_#34028_memset(local_#4507___s_IN : { base : int, offset : int }, local_#4508___c_IN : int, local_#4509___n_IN : int) returns (external_return_#34028 : { base : int, offset : int }); procedure routine_#34029_mkstemp(local_#4510___template_IN : { base : int, offset : int }) returns (external_return_#34029 : int); procedure routine_#34030_mktemp(local_#4511___template_IN : { base : int, offset : int }) returns (external_return_#34030 : { base : int, offset : int }); procedure routine_#34031_mktime(local_#4512___tp_IN : { base : int, offset : int }) returns (external_return_#34031 : int); procedure routine_#34032_modf(local_#4513___x_IN : int, local_#4514___iptr_IN : { base : int, offset : int }) returns (external_return_#34032 : int); procedure routine_#34033_modff(local_#4515___x_IN : int, local_#4516___iptr_IN : { base : int, offset : int }) returns (external_return_#34033 : int); procedure routine_#34034_modfl(local_#4517___x_IN : int, local_#4518___iptr_IN : { base : int, offset : int }) returns (external_return_#34034 : int); procedure routine_#34035_mrand48() returns (external_return_#34035 : int); procedure routine_#34036_nan(local_#4519___tagb_IN : { base : int, offset : int }) returns (external_return_#34036 : int); procedure routine_#34037_nanf(local_#4520___tagb_IN : { base : int, offset : int }) returns (external_return_#34037 : int); procedure routine_#34038_nanl(local_#4521___tagb_IN : { base : int, offset : int }) returns (external_return_#34038 : int); procedure routine_#34039_nanosleep(local_#4522___requested_time_IN : { base : int, offset : int }, local_#4523___remaining_IN : { base : int, offset : int }) returns (external_return_#34039 : int); procedure routine_#34040_nearbyint(local_#4524___x_IN : int) returns (external_return_#34040 : int); procedure routine_#34041_nearbyintf(local_#4525___x_IN : int) returns (external_return_#34041 : int); procedure routine_#34042_nearbyintl(local_#4526___x_IN : int) returns (external_return_#34042 : int); procedure routine_#34043_next_history() returns (external_return_#34043 : { base : int, offset : int }); procedure routine_#34044_nextafter(local_#4527___x_IN : int, local_#4528___y_IN : int) returns (external_return_#34044 : int); procedure routine_#34045_nextafterf(local_#4529___x_IN : int, local_#4530___y_IN : int) returns (external_return_#34045 : int); procedure routine_#34046_nextafterl(local_#4531___x_IN : int, local_#4532___y_IN : int) returns (external_return_#34046 : int); procedure routine_#34047_nexttoward(local_#4533___x_IN : int, local_#4534___y_IN : int) returns (external_return_#34047 : int); procedure routine_#34048_nexttowardf(local_#4535___x_IN : int, local_#4536___y_IN : int) returns (external_return_#34048 : int); procedure routine_#34049_nexttowardl(local_#4537___x_IN : int, local_#4538___y_IN : int) returns (external_return_#34049 : int); procedure routine_#34050_nice(local_#4539___inc_IN : int) returns (external_return_#34050 : int); procedure routine_#34051_nrand48(local_#4540___xsubi_IN : { base : int, offset : int }) returns (external_return_#34051 : int); procedure routine_#34052_pathconf(local_#4541___path_IN : { base : int, offset : int }, local_#4542___name_IN : int) returns (external_return_#34052 : int); procedure routine_#34053_pause() returns (external_return_#34053 : int); procedure routine_#34054_pclose(local_#4543___stream_IN : { base : int, offset : int }) returns (external_return_#34054 : int); procedure routine_#34055_perror(local_#4544___s_IN : { base : int, offset : int }) returns (); procedure routine_#34056_pipe(local_#4545___pipedes_IN : { base : int, offset : int }) returns (external_return_#34056 : int); procedure routine_#34057_popen(local_#4546___command_IN : { base : int, offset : int }, local_#4547___modes_IN : { base : int, offset : int }) returns (external_return_#34057 : { base : int, offset : int }); procedure routine_#34058_posix_memalign(local_#4548___memptr_IN : { base : int, offset : int }, local_#4549___alignment_IN : int, local_#4550___size_IN : int) returns (external_return_#34058 : int); procedure routine_#34059_posix_openpt(local_#4551___oflag_IN : int) returns (external_return_#34059 : int); procedure routine_#34060_pow(local_#4552___x_IN : int, local_#4553___y_IN : int) returns (external_return_#34060 : int); procedure routine_#34061_powf(local_#4554___x_IN : int, local_#4555___y_IN : int) returns (external_return_#34061 : int); procedure routine_#34062_powl(local_#4556___x_IN : int, local_#4557___y_IN : int) returns (external_return_#34062 : int); procedure routine_#34063_pread(local_#4558___fd_IN : int, local_#4559___buf_IN : { base : int, offset : int }, local_#4560___nbytes_IN : int, local_#4561___offset_IN : int) returns (external_return_#34063 : int); procedure routine_#34064_previous_history() returns (external_return_#34064 : { base : int, offset : int }); procedure routine_#34065_printf(local_#4562___format_IN : { base : int, offset : int }, local_#7748_IN : { base : int, offset : int }) returns (external_return_#34065 : int); modifies _memory_ptr; procedure routine_#34066_pthread_kill(local_#4563___threadid_IN : int, local_#4564___signo_IN : int) returns (external_return_#34066 : int); procedure routine_#34067_pthread_sigmask(local_#4565___how_IN : int, local_#4566___newmask_IN : { base : int, offset : int }, local_#4567___oldmask_IN : { base : int, offset : int }) returns (external_return_#34067 : int); procedure routine_#34068_ptsname(local_#4568___fd_IN : int) returns (external_return_#34068 : { base : int, offset : int }); procedure routine_#34069_putc(local_#4569___c_IN : int, local_#4570___stream_IN : { base : int, offset : int }) returns (external_return_#34069 : int); procedure routine_#34070_putc_unlocked(local_#4571___c_IN : int, local_#4572___stream_IN : { base : int, offset : int }) returns (external_return_#34070 : int); procedure routine_#34071_putchar(local_#4573___c_IN : int) returns (external_return_#34071 : int); procedure routine_#34072_putchar_unlocked(local_#4574___c_IN : int) returns (external_return_#34072 : int); procedure routine_#34073_putenv(local_#4575___string_IN : { base : int, offset : int }) returns (external_return_#34073 : int); procedure routine_#34074_puts(local_#4576___s_IN : { base : int, offset : int }) returns (external_return_#34074 : int); procedure routine_#34075_pwrite(local_#4577___fd_IN : int, local_#4578___buf_IN : { base : int, offset : int }, local_#4579___nbytes_IN : int, local_#4580___offset_IN : int) returns (external_return_#34075 : int); procedure routine_#34076_qsort(local_#4581___base_IN : { base : int, offset : int }, local_#4582___nmemb_IN : int, local_#4583___size_IN : int, local_#4584___compar_IN : { base : int, offset : int }) returns (); procedure routine_#34077_quick_exit(local_#4585___status_IN : int) returns (); procedure routine_#34078_raise(local_#4586___sig_IN : int) returns (external_return_#34078 : int); procedure routine_#34079_rand() returns (external_return_#34079 : int); procedure routine_#34080_rand_r(local_#4587___seed_IN : { base : int, offset : int }) returns (external_return_#34080 : int); procedure routine_#34081_random() returns (external_return_#34081 : int); procedure routine_#34082_read(local_#4588___fd_IN : int, local_#4589___buf_IN : { base : int, offset : int }, local_#4590___nbytes_IN : int) returns (external_return_#34082 : int); procedure routine_#34083_read_history(local_#4591_IN : { base : int, offset : int }) returns (external_return_#34083 : int); procedure routine_#34084_read_history_range(local_#4592_IN : { base : int, offset : int }, local_#4593_IN : int, local_#4594_IN : int) returns (external_return_#34084 : int); procedure routine_#34085_readline(local_#4595_IN : { base : int, offset : int }) returns (external_return_#34085 : { base : int, offset : int }); procedure routine_#34086_readlink(local_#4596___path_IN : { base : int, offset : int }, local_#4597___buf_IN : { base : int, offset : int }, local_#4598___len_IN : int) returns (external_return_#34086 : int); procedure routine_#34087_realloc(local_#4599___ptr_IN : { base : int, offset : int }, local_#4600___size_IN : int) returns (external_return_#34087 : { base : int, offset : int }); procedure routine_#34088_realpath(local_#4601___name_IN : { base : int, offset : int }, local_#4602___resolved_IN : { base : int, offset : int }) returns (external_return_#34088 : { base : int, offset : int }); procedure routine_#34089_remainder(local_#4603___x_IN : int, local_#4604___y_IN : int) returns (external_return_#34089 : int); procedure routine_#34090_remainderf(local_#4605___x_IN : int, local_#4606___y_IN : int) returns (external_return_#34090 : int); procedure routine_#34091_remainderl(local_#4607___x_IN : int, local_#4608___y_IN : int) returns (external_return_#34091 : int); procedure routine_#34092_remove(local_#4609___filename_IN : { base : int, offset : int }) returns (external_return_#34092 : int); procedure routine_#34093_remove_history(local_#4610_IN : int) returns (external_return_#34093 : { base : int, offset : int }); procedure routine_#34094_remove_history_range(local_#4611_IN : int, local_#4612_IN : int) returns (external_return_#34094 : { base : int, offset : int }); procedure routine_#34095_remquo(local_#4613___x_IN : int, local_#4614___y_IN : int, local_#4615___quo_IN : { base : int, offset : int }) returns (external_return_#34095 : int); procedure routine_#34096_remquof(local_#4616___x_IN : int, local_#4617___y_IN : int, local_#4618___quo_IN : { base : int, offset : int }) returns (external_return_#34096 : int); procedure routine_#34097_remquol(local_#4619___x_IN : int, local_#4620___y_IN : int, local_#4621___quo_IN : { base : int, offset : int }) returns (external_return_#34097 : int); procedure routine_#34098_rename(local_#4622___old_IN : { base : int, offset : int }, local_#4623___new_IN : { base : int, offset : int }) returns (external_return_#34098 : int); procedure routine_#34099_replace_history_entry(local_#4624_IN : int, local_#4625_IN : { base : int, offset : int }, local_#4626_IN : { base : int, offset : int }) returns (external_return_#34099 : { base : int, offset : int }); procedure routine_#34100_rewind(local_#4627___stream_IN : { base : int, offset : int }) returns (); procedure routine_#34101_rint(local_#4628___x_IN : int) returns (external_return_#34101 : int); procedure routine_#34102_rintf(local_#4629___x_IN : int) returns (external_return_#34102 : int); procedure routine_#34103_rintl(local_#4630___x_IN : int) returns (external_return_#34103 : int); procedure routine_#34104_rl_abort(local_#4631_IN : int, local_#4632_IN : int) returns (external_return_#34104 : int); procedure routine_#34105_rl_activate_mark() returns (); procedure routine_#34106_rl_add_defun(local_#4633_IN : { base : int, offset : int }, local_#4634_IN : { base : int, offset : int }, local_#4635_IN : int) returns (external_return_#34106 : int); procedure routine_#34107_rl_add_funmap_entry(local_#4636_IN : { base : int, offset : int }, local_#4637_IN : { base : int, offset : int }) returns (external_return_#34107 : int); procedure routine_#34108_rl_add_undo(local_#4638_IN : int, local_#4639_IN : int, local_#4640_IN : int, local_#4641_IN : { base : int, offset : int }) returns (); procedure routine_#34109_rl_alphabetic(local_#4642_IN : int) returns (external_return_#34109 : int); procedure routine_#34110_rl_arrow_keys(local_#4643_IN : int, local_#4644_IN : int) returns (external_return_#34110 : int); procedure routine_#34111_rl_backward(local_#4645_IN : int, local_#4646_IN : int) returns (external_return_#34111 : int); procedure routine_#34112_rl_backward_byte(local_#4647_IN : int, local_#4648_IN : int) returns (external_return_#34112 : int); procedure routine_#34113_rl_backward_char(local_#4649_IN : int, local_#4650_IN : int) returns (external_return_#34113 : int); procedure routine_#34114_rl_backward_char_search(local_#4651_IN : int, local_#4652_IN : int) returns (external_return_#34114 : int); procedure routine_#34115_rl_backward_kill_line(local_#4653_IN : int, local_#4654_IN : int) returns (external_return_#34115 : int); procedure routine_#34116_rl_backward_kill_word(local_#4655_IN : int, local_#4656_IN : int) returns (external_return_#34116 : int); procedure routine_#34117_rl_backward_menu_complete(local_#4657_IN : int, local_#4658_IN : int) returns (external_return_#34117 : int); procedure routine_#34118_rl_backward_word(local_#4659_IN : int, local_#4660_IN : int) returns (external_return_#34118 : int); procedure routine_#34119_rl_beg_of_line(local_#4661_IN : int, local_#4662_IN : int) returns (external_return_#34119 : int); procedure routine_#34120_rl_begin_undo_group() returns (external_return_#34120 : int); procedure routine_#34121_rl_beginning_of_history(local_#4663_IN : int, local_#4664_IN : int) returns (external_return_#34121 : int); procedure routine_#34122_rl_bind_key(local_#4665_IN : int, local_#4666_IN : { base : int, offset : int }) returns (external_return_#34122 : int); procedure routine_#34123_rl_bind_key_if_unbound(local_#4667_IN : int, local_#4668_IN : { base : int, offset : int }) returns (external_return_#34123 : int); procedure routine_#34124_rl_bind_key_if_unbound_in_map(local_#4669_IN : int, local_#4670_IN : { base : int, offset : int }, local_#4671_IN : { base : int, offset : int }) returns (external_return_#34124 : int); procedure routine_#34125_rl_bind_key_in_map(local_#4672_IN : int, local_#4673_IN : { base : int, offset : int }, local_#4674_IN : { base : int, offset : int }) returns (external_return_#34125 : int); procedure routine_#34126_rl_bind_keyseq(local_#4675_IN : { base : int, offset : int }, local_#4676_IN : { base : int, offset : int }) returns (external_return_#34126 : int); procedure routine_#34127_rl_bind_keyseq_if_unbound(local_#4677_IN : { base : int, offset : int }, local_#4678_IN : { base : int, offset : int }) returns (external_return_#34127 : int); procedure routine_#34128_rl_bind_keyseq_if_unbound_in_map(local_#4679_IN : { base : int, offset : int }, local_#4680_IN : { base : int, offset : int }, local_#4681_IN : { base : int, offset : int }) returns (external_return_#34128 : int); procedure routine_#34129_rl_bind_keyseq_in_map(local_#4682_IN : { base : int, offset : int }, local_#4683_IN : { base : int, offset : int }, local_#4684_IN : { base : int, offset : int }) returns (external_return_#34129 : int); procedure routine_#34130_rl_bracketed_paste_begin(local_#4685_IN : int, local_#4686_IN : int) returns (external_return_#34130 : int); procedure routine_#34131_rl_call_last_kbd_macro(local_#4687_IN : int, local_#4688_IN : int) returns (external_return_#34131 : int); procedure routine_#34132_rl_callback_handler_install(local_#4689_IN : { base : int, offset : int }, local_#4690_IN : { base : int, offset : int }) returns (); procedure routine_#34133_rl_callback_handler_remove() returns (); procedure routine_#34134_rl_callback_read_char() returns (); procedure routine_#34135_rl_callback_sigcleanup() returns (); procedure routine_#34136_rl_capitalize_word(local_#4691_IN : int, local_#4692_IN : int) returns (external_return_#34136 : int); procedure routine_#34137_rl_char_search(local_#4693_IN : int, local_#4694_IN : int) returns (external_return_#34137 : int); procedure routine_#34138_rl_character_len(local_#4695_IN : int, local_#4696_IN : int) returns (external_return_#34138 : int); procedure routine_#34139_rl_check_signals() returns (); procedure routine_#34140_rl_cleanup_after_signal() returns (); procedure routine_#34141_rl_clear_display(local_#4697_IN : int, local_#4698_IN : int) returns (external_return_#34141 : int); procedure routine_#34142_rl_clear_history() returns (); procedure routine_#34143_rl_clear_message() returns (external_return_#34143 : int); procedure routine_#34144_rl_clear_pending_input() returns (external_return_#34144 : int); procedure routine_#34145_rl_clear_screen(local_#4699_IN : int, local_#4700_IN : int) returns (external_return_#34145 : int); procedure routine_#34146_rl_clear_signals() returns (external_return_#34146 : int); procedure routine_#34147_rl_clear_visible_line() returns (external_return_#34147 : int); procedure routine_#34148_rl_complete(local_#4701_IN : int, local_#4702_IN : int) returns (external_return_#34148 : int); procedure routine_#34149_rl_complete_internal(local_#4703_IN : int) returns (external_return_#34149 : int); procedure routine_#34150_rl_completion_matches(local_#4704_IN : { base : int, offset : int }, local_#4705_IN : { base : int, offset : int }) returns (external_return_#34150 : { base : int, offset : int }); procedure routine_#34151_rl_completion_mode(local_#4706_IN : { base : int, offset : int }) returns (external_return_#34151 : int); procedure routine_#34152_rl_copy_backward_word(local_#4707_IN : int, local_#4708_IN : int) returns (external_return_#34152 : int); procedure routine_#34153_rl_copy_forward_word(local_#4709_IN : int, local_#4710_IN : int) returns (external_return_#34153 : int); procedure routine_#34154_rl_copy_keymap(local_#4711_IN : { base : int, offset : int }) returns (external_return_#34154 : { base : int, offset : int }); procedure routine_#34155_rl_copy_region_to_kill(local_#4712_IN : int, local_#4713_IN : int) returns (external_return_#34155 : int); procedure routine_#34156_rl_copy_text(local_#4714_IN : int, local_#4715_IN : int) returns (external_return_#34156 : { base : int, offset : int }); procedure routine_#34157_rl_crlf() returns (external_return_#34157 : int); procedure routine_#34158_rl_deactivate_mark() returns (); procedure routine_#34159_rl_delete(local_#4716_IN : int, local_#4717_IN : int) returns (external_return_#34159 : int); procedure routine_#34160_rl_delete_horizontal_space(local_#4718_IN : int, local_#4719_IN : int) returns (external_return_#34160 : int); procedure routine_#34161_rl_delete_or_show_completions(local_#4720_IN : int, local_#4721_IN : int) returns (external_return_#34161 : int); procedure routine_#34162_rl_delete_text(local_#4722_IN : int, local_#4723_IN : int) returns (external_return_#34162 : int); procedure routine_#34163_rl_deprep_terminal() returns (); procedure routine_#34164_rl_digit_argument(local_#4724_IN : int, local_#4725_IN : int) returns (external_return_#34164 : int); procedure routine_#34165_rl_ding() returns (external_return_#34165 : int); procedure routine_#34166_rl_discard_argument() returns (external_return_#34166 : int); procedure routine_#34167_rl_discard_keymap(local_#4726_IN : { base : int, offset : int }) returns (); procedure routine_#34168_rl_display_match_list(local_#4727_IN : { base : int, offset : int }, local_#4728_IN : int, local_#4729_IN : int) returns (); procedure routine_#34169_rl_do_lowercase_version(local_#4730_IN : int, local_#4731_IN : int) returns (external_return_#34169 : int); procedure routine_#34170_rl_do_undo() returns (external_return_#34170 : int); procedure routine_#34171_rl_downcase_word(local_#4732_IN : int, local_#4733_IN : int) returns (external_return_#34171 : int); procedure routine_#34172_rl_dump_functions(local_#4734_IN : int, local_#4735_IN : int) returns (external_return_#34172 : int); procedure routine_#34173_rl_dump_macros(local_#4736_IN : int, local_#4737_IN : int) returns (external_return_#34173 : int); procedure routine_#34174_rl_dump_variables(local_#4738_IN : int, local_#4739_IN : int) returns (external_return_#34174 : int); procedure routine_#34175_rl_echo_signal_char(local_#4740_IN : int) returns (); procedure routine_#34176_rl_emacs_editing_mode(local_#4741_IN : int, local_#4742_IN : int) returns (external_return_#34176 : int); procedure routine_#34177_rl_empty_keymap(local_#4743_IN : { base : int, offset : int }) returns (external_return_#34177 : int); procedure routine_#34178_rl_end_kbd_macro(local_#4744_IN : int, local_#4745_IN : int) returns (external_return_#34178 : int); procedure routine_#34179_rl_end_of_history(local_#4746_IN : int, local_#4747_IN : int) returns (external_return_#34179 : int); procedure routine_#34180_rl_end_of_line(local_#4748_IN : int, local_#4749_IN : int) returns (external_return_#34180 : int); procedure routine_#34181_rl_end_undo_group() returns (external_return_#34181 : int); procedure routine_#34182_rl_exchange_point_and_mark(local_#4750_IN : int, local_#4751_IN : int) returns (external_return_#34182 : int); procedure routine_#34183_rl_execute_next(local_#4752_IN : int) returns (external_return_#34183 : int); procedure routine_#34184_rl_expand_prompt(local_#4753_IN : { base : int, offset : int }) returns (external_return_#34184 : int); procedure routine_#34185_rl_extend_line_buffer(local_#4754_IN : int) returns (); procedure routine_#34186_rl_filename_completion_function(local_#4755_IN : { base : int, offset : int }, local_#4756_IN : int) returns (external_return_#34186 : { base : int, offset : int }); procedure routine_#34187_rl_forced_update_display() returns (external_return_#34187 : int); procedure routine_#34188_rl_forward(local_#4757_IN : int, local_#4758_IN : int) returns (external_return_#34188 : int); procedure routine_#34189_rl_forward_byte(local_#4759_IN : int, local_#4760_IN : int) returns (external_return_#34189 : int); procedure routine_#34190_rl_forward_char(local_#4761_IN : int, local_#4762_IN : int) returns (external_return_#34190 : int); procedure routine_#34191_rl_forward_search_history(local_#4763_IN : int, local_#4764_IN : int) returns (external_return_#34191 : int); procedure routine_#34192_rl_forward_word(local_#4765_IN : int, local_#4766_IN : int) returns (external_return_#34192 : int); procedure routine_#34193_rl_free(local_#4767_IN : { base : int, offset : int }) returns (); procedure routine_#34194_rl_free_keymap(local_#4768_IN : { base : int, offset : int }) returns (); procedure routine_#34195_rl_free_line_state() returns (); procedure routine_#34196_rl_free_undo_list() returns (); procedure routine_#34197_rl_function_dumper(local_#4769_IN : int) returns (); procedure routine_#34198_rl_function_of_keyseq(local_#4770_IN : { base : int, offset : int }, local_#4771_IN : { base : int, offset : int }, local_#4772_IN : { base : int, offset : int }) returns (external_return_#34198 : { base : int, offset : int }); procedure routine_#34199_rl_function_of_keyseq_len(local_#4773_IN : { base : int, offset : int }, local_#4774_IN : int, local_#4775_IN : { base : int, offset : int }, local_#4776_IN : { base : int, offset : int }) returns (external_return_#34199 : { base : int, offset : int }); procedure routine_#34200_rl_funmap_names() returns (external_return_#34200 : { base : int, offset : int }); procedure routine_#34201_rl_generic_bind(local_#4777_IN : int, local_#4778_IN : { base : int, offset : int }, local_#4779_IN : { base : int, offset : int }, local_#4780_IN : { base : int, offset : int }) returns (external_return_#34201 : int); procedure routine_#34202_rl_get_keymap() returns (external_return_#34202 : { base : int, offset : int }); procedure routine_#34203_rl_get_keymap_by_name(local_#4781_IN : { base : int, offset : int }) returns (external_return_#34203 : { base : int, offset : int }); procedure routine_#34204_rl_get_keymap_name(local_#4782_IN : { base : int, offset : int }) returns (external_return_#34204 : { base : int, offset : int }); procedure routine_#34205_rl_get_keymap_name_from_edit_mode() returns (external_return_#34205 : { base : int, offset : int }); procedure routine_#34206_rl_get_next_history(local_#4783_IN : int, local_#4784_IN : int) returns (external_return_#34206 : int); procedure routine_#34207_rl_get_previous_history(local_#4785_IN : int, local_#4786_IN : int) returns (external_return_#34207 : int); procedure routine_#34208_rl_get_screen_size(local_#4787_IN : { base : int, offset : int }, local_#4788_IN : { base : int, offset : int }) returns (); procedure routine_#34209_rl_get_termcap(local_#4789_IN : { base : int, offset : int }) returns (external_return_#34209 : { base : int, offset : int }); procedure routine_#34210_rl_getc(local_#4790_IN : { base : int, offset : int }) returns (external_return_#34210 : int); procedure routine_#34211_rl_history_search_backward(local_#4791_IN : int, local_#4792_IN : int) returns (external_return_#34211 : int); procedure routine_#34212_rl_history_search_forward(local_#4793_IN : int, local_#4794_IN : int) returns (external_return_#34212 : int); procedure routine_#34213_rl_history_substr_search_backward(local_#4795_IN : int, local_#4796_IN : int) returns (external_return_#34213 : int); procedure routine_#34214_rl_history_substr_search_forward(local_#4797_IN : int, local_#4798_IN : int) returns (external_return_#34214 : int); procedure routine_#34215_rl_initialize() returns (external_return_#34215 : int); procedure routine_#34216_rl_initialize_funmap() returns (); procedure routine_#34217_rl_insert(local_#4799_IN : int, local_#4800_IN : int) returns (external_return_#34217 : int); procedure routine_#34218_rl_insert_close(local_#4801_IN : int, local_#4802_IN : int) returns (external_return_#34218 : int); procedure routine_#34219_rl_insert_comment(local_#4803_IN : int, local_#4804_IN : int) returns (external_return_#34219 : int); procedure routine_#34220_rl_insert_completions(local_#4805_IN : int, local_#4806_IN : int) returns (external_return_#34220 : int); procedure routine_#34221_rl_insert_text(local_#4807_IN : { base : int, offset : int }) returns (external_return_#34221 : int); procedure routine_#34222_rl_invoking_keyseqs(local_#4808_IN : { base : int, offset : int }) returns (external_return_#34222 : { base : int, offset : int }); procedure routine_#34223_rl_invoking_keyseqs_in_map(local_#4809_IN : { base : int, offset : int }, local_#4810_IN : { base : int, offset : int }) returns (external_return_#34223 : { base : int, offset : int }); procedure routine_#34224_rl_keep_mark_active() returns (); procedure routine_#34225_rl_kill_full_line(local_#4811_IN : int, local_#4812_IN : int) returns (external_return_#34225 : int); procedure routine_#34226_rl_kill_line(local_#4813_IN : int, local_#4814_IN : int) returns (external_return_#34226 : int); procedure routine_#34227_rl_kill_region(local_#4815_IN : int, local_#4816_IN : int) returns (external_return_#34227 : int); procedure routine_#34228_rl_kill_text(local_#4817_IN : int, local_#4818_IN : int) returns (external_return_#34228 : int); procedure routine_#34229_rl_kill_word(local_#4819_IN : int, local_#4820_IN : int) returns (external_return_#34229 : int); procedure routine_#34230_rl_list_funmap_names() returns (); procedure routine_#34231_rl_macro_bind(local_#4821_IN : { base : int, offset : int }, local_#4822_IN : { base : int, offset : int }, local_#4823_IN : { base : int, offset : int }) returns (external_return_#34231 : int); procedure routine_#34232_rl_macro_dumper(local_#4824_IN : int) returns (); procedure routine_#34233_rl_make_bare_keymap() returns (external_return_#34233 : { base : int, offset : int }); procedure routine_#34234_rl_make_keymap() returns (external_return_#34234 : { base : int, offset : int }); procedure routine_#34235_rl_mark_active_p() returns (external_return_#34235 : int); procedure routine_#34236_rl_maybe_replace_line() returns (external_return_#34236 : int); procedure routine_#34237_rl_maybe_save_line() returns (external_return_#34237 : int); procedure routine_#34238_rl_maybe_unsave_line() returns (external_return_#34238 : int); procedure routine_#34239_rl_menu_complete(local_#4825_IN : int, local_#4826_IN : int) returns (external_return_#34239 : int); procedure routine_#34240_rl_message() returns (external_return_#34240 : int); procedure routine_#34241_rl_modifying(local_#4827_IN : int, local_#4828_IN : int) returns (external_return_#34241 : int); procedure routine_#34242_rl_named_function(local_#4829_IN : { base : int, offset : int }) returns (external_return_#34242 : { base : int, offset : int }); procedure routine_#34243_rl_newline(local_#4830_IN : int, local_#4831_IN : int) returns (external_return_#34243 : int); procedure routine_#34244_rl_next_screen_line(local_#4832_IN : int, local_#4833_IN : int) returns (external_return_#34244 : int); procedure routine_#34245_rl_noninc_forward_search(local_#4834_IN : int, local_#4835_IN : int) returns (external_return_#34245 : int); procedure routine_#34246_rl_noninc_forward_search_again(local_#4836_IN : int, local_#4837_IN : int) returns (external_return_#34246 : int); procedure routine_#34247_rl_noninc_reverse_search(local_#4838_IN : int, local_#4839_IN : int) returns (external_return_#34247 : int); procedure routine_#34248_rl_noninc_reverse_search_again(local_#4840_IN : int, local_#4841_IN : int) returns (external_return_#34248 : int); procedure routine_#34249_rl_old_menu_complete(local_#4842_IN : int, local_#4843_IN : int) returns (external_return_#34249 : int); procedure routine_#34250_rl_on_new_line() returns (external_return_#34250 : int); procedure routine_#34251_rl_on_new_line_with_prompt() returns (external_return_#34251 : int); procedure routine_#34252_rl_operate_and_get_next(local_#4844_IN : int, local_#4845_IN : int) returns (external_return_#34252 : int); procedure routine_#34253_rl_overwrite_mode(local_#4846_IN : int, local_#4847_IN : int) returns (external_return_#34253 : int); procedure routine_#34254_rl_parse_and_bind(local_#4848_IN : { base : int, offset : int }) returns (external_return_#34254 : int); procedure routine_#34255_rl_pending_signal() returns (external_return_#34255 : int); procedure routine_#34256_rl_possible_completions(local_#4849_IN : int, local_#4850_IN : int) returns (external_return_#34256 : int); procedure routine_#34257_rl_prep_terminal(local_#4851_IN : int) returns (); procedure routine_#34258_rl_previous_screen_line(local_#4852_IN : int, local_#4853_IN : int) returns (external_return_#34258 : int); procedure routine_#34259_rl_print_last_kbd_macro(local_#4854_IN : int, local_#4855_IN : int) returns (external_return_#34259 : int); procedure routine_#34260_rl_push_macro_input(local_#4856_IN : { base : int, offset : int }) returns (); procedure routine_#34261_rl_quoted_insert(local_#4857_IN : int, local_#4858_IN : int) returns (external_return_#34261 : int); procedure routine_#34262_rl_re_read_init_file(local_#4859_IN : int, local_#4860_IN : int) returns (external_return_#34262 : int); procedure routine_#34263_rl_read_init_file(local_#4861_IN : { base : int, offset : int }) returns (external_return_#34263 : int); procedure routine_#34264_rl_read_key() returns (external_return_#34264 : int); procedure routine_#34265_rl_redisplay() returns (); procedure routine_#34266_rl_redraw_prompt_last_line() returns (); procedure routine_#34267_rl_refresh_line(local_#4862_IN : int, local_#4863_IN : int) returns (external_return_#34267 : int); procedure routine_#34268_rl_replace_line(local_#4864_IN : { base : int, offset : int }, local_#4865_IN : int) returns (); procedure routine_#34269_rl_reset_after_signal() returns (); procedure routine_#34270_rl_reset_line_state() returns (external_return_#34270 : int); procedure routine_#34271_rl_reset_screen_size() returns (); procedure routine_#34272_rl_reset_terminal(local_#4866_IN : { base : int, offset : int }) returns (external_return_#34272 : int); procedure routine_#34273_rl_resize_terminal() returns (); procedure routine_#34274_rl_restart_output(local_#4867_IN : int, local_#4868_IN : int) returns (external_return_#34274 : int); procedure routine_#34275_rl_restore_prompt() returns (); procedure routine_#34276_rl_restore_state(local_#4869_IN : { base : int, offset : int }) returns (external_return_#34276 : int); procedure routine_#34277_rl_reverse_search_history(local_#4870_IN : int, local_#4871_IN : int) returns (external_return_#34277 : int); procedure routine_#34278_rl_revert_line(local_#4872_IN : int, local_#4873_IN : int) returns (external_return_#34278 : int); procedure routine_#34279_rl_rubout(local_#4874_IN : int, local_#4875_IN : int) returns (external_return_#34279 : int); procedure routine_#34280_rl_rubout_or_delete(local_#4876_IN : int, local_#4877_IN : int) returns (external_return_#34280 : int); procedure routine_#34281_rl_save_prompt() returns (); procedure routine_#34282_rl_save_state(local_#4878_IN : { base : int, offset : int }) returns (external_return_#34282 : int); procedure routine_#34283_rl_set_key(local_#4879_IN : { base : int, offset : int }, local_#4880_IN : { base : int, offset : int }, local_#4881_IN : { base : int, offset : int }) returns (external_return_#34283 : int); procedure routine_#34284_rl_set_keyboard_input_timeout(local_#4882_IN : int) returns (external_return_#34284 : int); procedure routine_#34285_rl_set_keymap(local_#4883_IN : { base : int, offset : int }) returns (); procedure routine_#34286_rl_set_keymap_from_edit_mode() returns (); procedure routine_#34287_rl_set_keymap_name(local_#4884_IN : { base : int, offset : int }, local_#4885_IN : { base : int, offset : int }) returns (external_return_#34287 : int); procedure routine_#34288_rl_set_mark(local_#4886_IN : int, local_#4887_IN : int) returns (external_return_#34288 : int); procedure routine_#34289_rl_set_paren_blink_timeout(local_#4888_IN : int) returns (external_return_#34289 : int); procedure routine_#34290_rl_set_prompt(local_#4889_IN : { base : int, offset : int }) returns (external_return_#34290 : int); procedure routine_#34291_rl_set_screen_size(local_#4890_IN : int, local_#4891_IN : int) returns (); procedure routine_#34292_rl_set_signals() returns (external_return_#34292 : int); procedure routine_#34293_rl_show_char(local_#4892_IN : int) returns (external_return_#34293 : int); procedure routine_#34294_rl_skip_csi_sequence(local_#4893_IN : int, local_#4894_IN : int) returns (external_return_#34294 : int); procedure routine_#34295_rl_start_kbd_macro(local_#4895_IN : int, local_#4896_IN : int) returns (external_return_#34295 : int); procedure routine_#34296_rl_stop_output(local_#4897_IN : int, local_#4898_IN : int) returns (external_return_#34296 : int); procedure routine_#34297_rl_stuff_char(local_#4899_IN : int) returns (external_return_#34297 : int); procedure routine_#34298_rl_tab_insert(local_#4900_IN : int, local_#4901_IN : int) returns (external_return_#34298 : int); procedure routine_#34299_rl_tilde_expand(local_#4902_IN : int, local_#4903_IN : int) returns (external_return_#34299 : int); procedure routine_#34300_rl_translate_keyseq(local_#4904_IN : { base : int, offset : int }, local_#4905_IN : { base : int, offset : int }, local_#4906_IN : { base : int, offset : int }) returns (external_return_#34300 : int); procedure routine_#34301_rl_transpose_chars(local_#4907_IN : int, local_#4908_IN : int) returns (external_return_#34301 : int); procedure routine_#34302_rl_transpose_words(local_#4909_IN : int, local_#4910_IN : int) returns (external_return_#34302 : int); procedure routine_#34303_rl_tty_set_default_bindings(local_#4911_IN : { base : int, offset : int }) returns (); procedure routine_#34304_rl_tty_set_echoing(local_#4912_IN : int) returns (external_return_#34304 : int); procedure routine_#34305_rl_tty_status(local_#4913_IN : int, local_#4914_IN : int) returns (external_return_#34305 : int); procedure routine_#34306_rl_tty_unset_default_bindings(local_#4915_IN : { base : int, offset : int }) returns (); procedure routine_#34307_rl_unbind_command_in_map(local_#4916_IN : { base : int, offset : int }, local_#4917_IN : { base : int, offset : int }) returns (external_return_#34307 : int); procedure routine_#34308_rl_unbind_function_in_map(local_#4918_IN : { base : int, offset : int }, local_#4919_IN : { base : int, offset : int }) returns (external_return_#34308 : int); procedure routine_#34309_rl_unbind_key(local_#4920_IN : int) returns (external_return_#34309 : int); procedure routine_#34310_rl_unbind_key_in_map(local_#4921_IN : int, local_#4922_IN : { base : int, offset : int }) returns (external_return_#34310 : int); procedure routine_#34311_rl_undo_command(local_#4923_IN : int, local_#4924_IN : int) returns (external_return_#34311 : int); procedure routine_#34312_rl_universal_argument(local_#4925_IN : int, local_#4926_IN : int) returns (external_return_#34312 : int); procedure routine_#34313_rl_unix_filename_rubout(local_#4927_IN : int, local_#4928_IN : int) returns (external_return_#34313 : int); procedure routine_#34314_rl_unix_line_discard(local_#4929_IN : int, local_#4930_IN : int) returns (external_return_#34314 : int); procedure routine_#34315_rl_unix_word_rubout(local_#4931_IN : int, local_#4932_IN : int) returns (external_return_#34315 : int); procedure routine_#34316_rl_untranslate_keyseq(local_#4933_IN : int) returns (external_return_#34316 : { base : int, offset : int }); procedure routine_#34317_rl_upcase_word(local_#4934_IN : int, local_#4935_IN : int) returns (external_return_#34317 : int); procedure routine_#34318_rl_username_completion_function(local_#4936_IN : { base : int, offset : int }, local_#4937_IN : int) returns (external_return_#34318 : { base : int, offset : int }); procedure routine_#34319_rl_variable_bind(local_#4938_IN : { base : int, offset : int }, local_#4939_IN : { base : int, offset : int }) returns (external_return_#34319 : int); procedure routine_#34320_rl_variable_dumper(local_#4940_IN : int) returns (); procedure routine_#34321_rl_variable_value(local_#4941_IN : { base : int, offset : int }) returns (external_return_#34321 : { base : int, offset : int }); procedure routine_#34322_rl_vi_append_eol(local_#4942_IN : int, local_#4943_IN : int) returns (external_return_#34322 : int); procedure routine_#34323_rl_vi_append_mode(local_#4944_IN : int, local_#4945_IN : int) returns (external_return_#34323 : int); procedure routine_#34324_rl_vi_arg_digit(local_#4946_IN : int, local_#4947_IN : int) returns (external_return_#34324 : int); procedure routine_#34325_rl_vi_bWord(local_#4948_IN : int, local_#4949_IN : int) returns (external_return_#34325 : int); procedure routine_#34326_rl_vi_back_to_indent(local_#4950_IN : int, local_#4951_IN : int) returns (external_return_#34326 : int); procedure routine_#34327_rl_vi_bracktype(local_#4952_IN : int) returns (external_return_#34327 : int); procedure routine_#34328_rl_vi_bword(local_#4953_IN : int, local_#4954_IN : int) returns (external_return_#34328 : int); procedure routine_#34329_rl_vi_change_case(local_#4955_IN : int, local_#4956_IN : int) returns (external_return_#34329 : int); procedure routine_#34330_rl_vi_change_char(local_#4957_IN : int, local_#4958_IN : int) returns (external_return_#34330 : int); procedure routine_#34331_rl_vi_change_to(local_#4959_IN : int, local_#4960_IN : int) returns (external_return_#34331 : int); procedure routine_#34332_rl_vi_char_search(local_#4961_IN : int, local_#4962_IN : int) returns (external_return_#34332 : int); procedure routine_#34333_rl_vi_check() returns (external_return_#34333 : int); procedure routine_#34334_rl_vi_column(local_#4963_IN : int, local_#4964_IN : int) returns (external_return_#34334 : int); procedure routine_#34335_rl_vi_complete(local_#4965_IN : int, local_#4966_IN : int) returns (external_return_#34335 : int); procedure routine_#34336_rl_vi_delete(local_#4967_IN : int, local_#4968_IN : int) returns (external_return_#34336 : int); procedure routine_#34337_rl_vi_delete_to(local_#4969_IN : int, local_#4970_IN : int) returns (external_return_#34337 : int); procedure routine_#34338_rl_vi_domove(local_#4971_IN : int, local_#4972_IN : { base : int, offset : int }) returns (external_return_#34338 : int); procedure routine_#34339_rl_vi_eWord(local_#4973_IN : int, local_#4974_IN : int) returns (external_return_#34339 : int); procedure routine_#34340_rl_vi_editing_mode(local_#4975_IN : int, local_#4976_IN : int) returns (external_return_#34340 : int); procedure routine_#34341_rl_vi_end_word(local_#4977_IN : int, local_#4978_IN : int) returns (external_return_#34341 : int); procedure routine_#34342_rl_vi_eof_maybe(local_#4979_IN : int, local_#4980_IN : int) returns (external_return_#34342 : int); procedure routine_#34343_rl_vi_eword(local_#4981_IN : int, local_#4982_IN : int) returns (external_return_#34343 : int); procedure routine_#34344_rl_vi_fWord(local_#4983_IN : int, local_#4984_IN : int) returns (external_return_#34344 : int); procedure routine_#34345_rl_vi_fetch_history(local_#4985_IN : int, local_#4986_IN : int) returns (external_return_#34345 : int); procedure routine_#34346_rl_vi_first_print(local_#4987_IN : int, local_#4988_IN : int) returns (external_return_#34346 : int); procedure routine_#34347_rl_vi_fword(local_#4989_IN : int, local_#4990_IN : int) returns (external_return_#34347 : int); procedure routine_#34348_rl_vi_goto_mark(local_#4991_IN : int, local_#4992_IN : int) returns (external_return_#34348 : int); procedure routine_#34349_rl_vi_insert_beg(local_#4993_IN : int, local_#4994_IN : int) returns (external_return_#34349 : int); procedure routine_#34350_rl_vi_insert_mode(local_#4995_IN : int, local_#4996_IN : int) returns (external_return_#34350 : int); procedure routine_#34351_rl_vi_insertion_mode(local_#4997_IN : int, local_#4998_IN : int) returns (external_return_#34351 : int); procedure routine_#34352_rl_vi_match(local_#4999_IN : int, local_#5000_IN : int) returns (external_return_#34352 : int); procedure routine_#34353_rl_vi_movement_mode(local_#5001_IN : int, local_#5002_IN : int) returns (external_return_#34353 : int); procedure routine_#34354_rl_vi_next_word(local_#5003_IN : int, local_#5004_IN : int) returns (external_return_#34354 : int); procedure routine_#34355_rl_vi_overstrike(local_#5005_IN : int, local_#5006_IN : int) returns (external_return_#34355 : int); procedure routine_#34356_rl_vi_overstrike_delete(local_#5007_IN : int, local_#5008_IN : int) returns (external_return_#34356 : int); procedure routine_#34357_rl_vi_prev_word(local_#5009_IN : int, local_#5010_IN : int) returns (external_return_#34357 : int); procedure routine_#34358_rl_vi_put(local_#5011_IN : int, local_#5012_IN : int) returns (external_return_#34358 : int); procedure routine_#34359_rl_vi_redo(local_#5013_IN : int, local_#5014_IN : int) returns (external_return_#34359 : int); procedure routine_#34360_rl_vi_replace(local_#5015_IN : int, local_#5016_IN : int) returns (external_return_#34360 : int); procedure routine_#34361_rl_vi_rubout(local_#5017_IN : int, local_#5018_IN : int) returns (external_return_#34361 : int); procedure routine_#34362_rl_vi_search(local_#5019_IN : int, local_#5020_IN : int) returns (external_return_#34362 : int); procedure routine_#34363_rl_vi_search_again(local_#5021_IN : int, local_#5022_IN : int) returns (external_return_#34363 : int); procedure routine_#34364_rl_vi_set_mark(local_#5023_IN : int, local_#5024_IN : int) returns (external_return_#34364 : int); procedure routine_#34365_rl_vi_start_inserting(local_#5025_IN : int, local_#5026_IN : int, local_#5027_IN : int) returns (); procedure routine_#34366_rl_vi_subst(local_#5028_IN : int, local_#5029_IN : int) returns (external_return_#34366 : int); procedure routine_#34367_rl_vi_tilde_expand(local_#5030_IN : int, local_#5031_IN : int) returns (external_return_#34367 : int); procedure routine_#34368_rl_vi_undo(local_#5032_IN : int, local_#5033_IN : int) returns (external_return_#34368 : int); procedure routine_#34369_rl_vi_unix_word_rubout(local_#5034_IN : int, local_#5035_IN : int) returns (external_return_#34369 : int); procedure routine_#34370_rl_vi_yank_arg(local_#5036_IN : int, local_#5037_IN : int) returns (external_return_#34370 : int); procedure routine_#34371_rl_vi_yank_pop(local_#5038_IN : int, local_#5039_IN : int) returns (external_return_#34371 : int); procedure routine_#34372_rl_vi_yank_to(local_#5040_IN : int, local_#5041_IN : int) returns (external_return_#34372 : int); procedure routine_#34373_rl_yank(local_#5042_IN : int, local_#5043_IN : int) returns (external_return_#34373 : int); procedure routine_#34374_rl_yank_last_arg(local_#5044_IN : int, local_#5045_IN : int) returns (external_return_#34374 : int); procedure routine_#34375_rl_yank_nth_arg(local_#5046_IN : int, local_#5047_IN : int) returns (external_return_#34375 : int); procedure routine_#34376_rl_yank_pop(local_#5048_IN : int, local_#5049_IN : int) returns (external_return_#34376 : int); procedure routine_#34377_rmdir(local_#5050___path_IN : { base : int, offset : int }) returns (external_return_#34377 : int); procedure routine_#34378_round(local_#5051___x_IN : int) returns (external_return_#34378 : int); procedure routine_#34379_roundf(local_#5052___x_IN : int) returns (external_return_#34379 : int); procedure routine_#34380_roundl(local_#5053___x_IN : int) returns (external_return_#34380 : int); procedure routine_#34381_scalb(local_#5054___x_IN : int, local_#5055___n_IN : int) returns (external_return_#34381 : int); procedure routine_#34382_scalbln(local_#5056___x_IN : int, local_#5057___n_IN : int) returns (external_return_#34382 : int); procedure routine_#34383_scalblnf(local_#5058___x_IN : int, local_#5059___n_IN : int) returns (external_return_#34383 : int); procedure routine_#34384_scalblnl(local_#5060___x_IN : int, local_#5061___n_IN : int) returns (external_return_#34384 : int); procedure routine_#34385_scalbn(local_#5062___x_IN : int, local_#5063___n_IN : int) returns (external_return_#34385 : int); procedure routine_#34386_scalbnf(local_#5064___x_IN : int, local_#5065___n_IN : int) returns (external_return_#34386 : int); procedure routine_#34387_scalbnl(local_#5066___x_IN : int, local_#5067___n_IN : int) returns (external_return_#34387 : int); procedure routine_#34388_scanf(local_#5068___format_IN : { base : int, offset : int }, local_#7749_IN : { base : int, offset : int }) returns (external_return_#34388 : int); modifies _memory_ptr; procedure routine_#34389_seed48(local_#5069___seed16v_IN : { base : int, offset : int }) returns (external_return_#34389 : { base : int, offset : int }); procedure routine_#34390_setbuf(local_#5070___stream_IN : { base : int, offset : int }, local_#5071___buf_IN : { base : int, offset : int }) returns (); procedure routine_#34391_setegid(local_#5072___gid_IN : int) returns (external_return_#34391 : int); procedure routine_#34392_setenv(local_#5073___name_IN : { base : int, offset : int }, local_#5074___value_IN : { base : int, offset : int }, local_#5075___replace_IN : int) returns (external_return_#34392 : int); procedure routine_#34393_seteuid(local_#5076___uid_IN : int) returns (external_return_#34393 : int); procedure routine_#34394_setgid(local_#5077___gid_IN : int) returns (external_return_#34394 : int); procedure routine_#34395_setjmp(local_#5078___env_IN : { base : int, offset : int }) returns (external_return_#34395 : int); procedure routine_#34396_setlocale(local_#5079___category_IN : int, local_#5080___locale_IN : { base : int, offset : int }) returns (external_return_#34396 : { base : int, offset : int }); procedure routine_#34397_setpgid(local_#5081___pid_IN : int, local_#5082___pgid_IN : int) returns (external_return_#34397 : int); procedure routine_#34398_setpgrp() returns (external_return_#34398 : int); procedure routine_#34399_setregid(local_#5083___rgid_IN : int, local_#5084___egid_IN : int) returns (external_return_#34399 : int); procedure routine_#34400_setreuid(local_#5085___ruid_IN : int, local_#5086___euid_IN : int) returns (external_return_#34400 : int); procedure routine_#34401_setsid() returns (external_return_#34401 : int); procedure routine_#34402_setstate(local_#5087___statebuf_IN : { base : int, offset : int }) returns (external_return_#34402 : { base : int, offset : int }); procedure routine_#34403_setuid(local_#5088___uid_IN : int) returns (external_return_#34403 : int); procedure routine_#34404_setvbuf(local_#5089___stream_IN : { base : int, offset : int }, local_#5090___buf_IN : { base : int, offset : int }, local_#5091___modes_IN : int, local_#5092___n_IN : int) returns (external_return_#34404 : int); procedure routine_#34405_sigaction(local_#5093___sig_IN : int, local_#5094___act_IN : { base : int, offset : int }, local_#5095___oact_IN : { base : int, offset : int }) returns (external_return_#34405 : int); procedure routine_#34406_sigaddset(local_#5096___set_IN : { base : int, offset : int }, local_#5097___signo_IN : int) returns (external_return_#34406 : int); procedure routine_#34407_sigaltstack(local_#5098___ss_IN : { base : int, offset : int }, local_#5099___oss_IN : { base : int, offset : int }) returns (external_return_#34407 : int); procedure routine_#34408_sigdelset(local_#5100___set_IN : { base : int, offset : int }, local_#5101___signo_IN : int) returns (external_return_#34408 : int); procedure routine_#34409_sigemptyset(local_#5102___set_IN : { base : int, offset : int }) returns (external_return_#34409 : int); procedure routine_#34410_sigfillset(local_#5103___set_IN : { base : int, offset : int }) returns (external_return_#34410 : int); procedure routine_#34411_sighold(local_#5104___sig_IN : int) returns (external_return_#34411 : int); procedure routine_#34412_sigignore(local_#5105___sig_IN : int) returns (external_return_#34412 : int); procedure routine_#34413_siginterrupt(local_#5106___sig_IN : int, local_#5107___interrupt_IN : int) returns (external_return_#34413 : int); procedure routine_#34414_sigismember(local_#5108___set_IN : { base : int, offset : int }, local_#5109___signo_IN : int) returns (external_return_#34414 : int); procedure routine_#34415_siglongjmp(local_#5110___env_IN : { base : int, offset : int }, local_#5111___val_IN : int) returns (); procedure routine_#34416_signal(local_#5112___sig_IN : int, local_#5113___handler_IN : { base : int, offset : int }) returns (external_return_#34416 : { base : int, offset : int }); procedure routine_#34417_sigpause(local_#5114___sig_IN : int) returns (external_return_#34417 : int); procedure routine_#34418_sigpending(local_#5115___set_IN : { base : int, offset : int }) returns (external_return_#34418 : int); procedure routine_#34419_sigprocmask(local_#5116___how_IN : int, local_#5117___set_IN : { base : int, offset : int }, local_#5118___oset_IN : { base : int, offset : int }) returns (external_return_#34419 : int); procedure routine_#34420_sigqueue(local_#5119___pid_IN : int, local_#5120___sig_IN : int, local_#5121___val_IN : { _sival_int : int, _sival_ptr : { base : int, offset : int } }) returns (external_return_#34420 : int); procedure routine_#34421_sigrelse(local_#5122___sig_IN : int) returns (external_return_#34421 : int); procedure routine_#34422_sigset(local_#5123___sig_IN : int, local_#5124___disp_IN : { base : int, offset : int }) returns (external_return_#34422 : { base : int, offset : int }); procedure routine_#34423_sigsuspend(local_#5125___set_IN : { base : int, offset : int }) returns (external_return_#34423 : int); procedure routine_#34424_sigtimedwait(local_#5126___set_IN : { base : int, offset : int }, local_#5127___info_IN : { base : int, offset : int }, local_#5128___timeout_IN : { base : int, offset : int }) returns (external_return_#34424 : int); procedure routine_#34425_sigwait(local_#5129___set_IN : { base : int, offset : int }, local_#5130___sig_IN : { base : int, offset : int }) returns (external_return_#34425 : int); procedure routine_#34426_sigwaitinfo(local_#5131___set_IN : { base : int, offset : int }, local_#5132___info_IN : { base : int, offset : int }) returns (external_return_#34426 : int); procedure routine_#34427_sin(local_#5133___x_IN : int) returns (external_return_#34427 : int); procedure routine_#34428_sinf(local_#5134___x_IN : int) returns (external_return_#34428 : int); procedure routine_#34429_sinh(local_#5135___x_IN : int) returns (external_return_#34429 : int); procedure routine_#34430_sinhf(local_#5136___x_IN : int) returns (external_return_#34430 : int); procedure routine_#34431_sinhl(local_#5137___x_IN : int) returns (external_return_#34431 : int); procedure routine_#34432_sinl(local_#5138___x_IN : int) returns (external_return_#34432 : int); procedure routine_#34433_sleep(local_#5139___seconds_IN : int) returns (external_return_#34433 : int); procedure routine_#34434_snprintf(local_#5140___s_IN : { base : int, offset : int }, local_#5141___maxlen_IN : int, local_#5142___format_IN : { base : int, offset : int }, local_#7750_IN : { base : int, offset : int }) returns (external_return_#34434 : int); modifies _memory_ptr; procedure routine_#34435_sprintf(local_#5143___s_IN : { base : int, offset : int }, local_#5144___format_IN : { base : int, offset : int }, local_#7751_IN : { base : int, offset : int }) returns (external_return_#34435 : int); modifies _memory_ptr; procedure routine_#34436_sqrt(local_#5145___x_IN : int) returns (external_return_#34436 : int); procedure routine_#34437_sqrtf(local_#5146___x_IN : int) returns (external_return_#34437 : int); procedure routine_#34438_sqrtl(local_#5147___x_IN : int) returns (external_return_#34438 : int); procedure routine_#34439_srand(local_#5148___seed_IN : int) returns (); procedure routine_#34440_srand48(local_#5149___seedval_IN : int) returns (); procedure routine_#34441_srandom(local_#5150___seed_IN : int) returns (); procedure routine_#34442_sscanf(local_#5151___s_IN : { base : int, offset : int }, local_#5152___format_IN : { base : int, offset : int }, local_#7752_IN : { base : int, offset : int }) returns (external_return_#34442 : int); modifies _memory_ptr; procedure routine_#34443_stifle_history(local_#5153_IN : int) returns (); procedure routine_#34444_strcat(local_#5154___dest_IN : { base : int, offset : int }, local_#5155___src_IN : { base : int, offset : int }) returns (external_return_#34444 : { base : int, offset : int }); procedure routine_#34445_strchr(local_#5156___s_IN : { base : int, offset : int }, local_#5157___c_IN : int) returns (external_return_#34445 : { base : int, offset : int }); procedure routine_#34446_strcmp(local_#5158___s1_IN : { base : int, offset : int }, local_#5159___s2_IN : { base : int, offset : int }) returns (external_return_#34446 : int); procedure routine_#34447_strcoll(local_#5160___s1_IN : { base : int, offset : int }, local_#5161___s2_IN : { base : int, offset : int }) returns (external_return_#34447 : int); procedure routine_#34448_strcpy(local_#5162___dest_IN : { base : int, offset : int }, local_#5163___src_IN : { base : int, offset : int }) returns (external_return_#34448 : { base : int, offset : int }); procedure routine_#34449_strcspn(local_#5164___s_IN : { base : int, offset : int }, local_#5165___reject_IN : { base : int, offset : int }) returns (external_return_#34449 : int); procedure routine_#34450_strdup(local_#5166___s_IN : { base : int, offset : int }) returns (external_return_#34450 : { base : int, offset : int }); procedure routine_#34451_strerror(local_#5167___errnum_IN : int) returns (external_return_#34451 : { base : int, offset : int }); procedure routine_#34452_strerror_r(local_#5168___errnum_IN : int, local_#5169___buf_IN : { base : int, offset : int }, local_#5170___buflen_IN : int) returns (external_return_#34452 : int); procedure routine_#34453_strftime(local_#5171___s_IN : { base : int, offset : int }, local_#5172___maxsize_IN : int, local_#5173___format_IN : { base : int, offset : int }, local_#5174___tp_IN : { base : int, offset : int }) returns (external_return_#34453 : int); procedure routine_#34454_strlen(local_#5175___s_IN : { base : int, offset : int }) returns (external_return_#34454 : int); procedure routine_#34455_strncat(local_#5176___dest_IN : { base : int, offset : int }, local_#5177___src_IN : { base : int, offset : int }, local_#5178___n_IN : int) returns (external_return_#34455 : { base : int, offset : int }); procedure routine_#34456_strncmp(local_#5179___s1_IN : { base : int, offset : int }, local_#5180___s2_IN : { base : int, offset : int }, local_#5181___n_IN : int) returns (external_return_#34456 : int); procedure routine_#34457_strncpy(local_#5182___dest_IN : { base : int, offset : int }, local_#5183___src_IN : { base : int, offset : int }, local_#5184___n_IN : int) returns (external_return_#34457 : { base : int, offset : int }); procedure routine_#34458_strpbrk(local_#5185___s_IN : { base : int, offset : int }, local_#5186___accept_IN : { base : int, offset : int }) returns (external_return_#34458 : { base : int, offset : int }); procedure routine_#34459_strptime(local_#5187___s_IN : { base : int, offset : int }, local_#5188___fmt_IN : { base : int, offset : int }, local_#5189___tp_IN : { base : int, offset : int }) returns (external_return_#34459 : { base : int, offset : int }); procedure routine_#34460_strrchr(local_#5190___s_IN : { base : int, offset : int }, local_#5191___c_IN : int) returns (external_return_#34460 : { base : int, offset : int }); procedure routine_#34461_strspn(local_#5192___s_IN : { base : int, offset : int }, local_#5193___accept_IN : { base : int, offset : int }) returns (external_return_#34461 : int); procedure routine_#34462_strstr(local_#5194___haystack_IN : { base : int, offset : int }, local_#5195___needle_IN : { base : int, offset : int }) returns (external_return_#34462 : { base : int, offset : int }); procedure routine_#34463_strtod(local_#5196___nptr_IN : { base : int, offset : int }, local_#5197___endptr_IN : { base : int, offset : int }) returns (external_return_#34463 : int); procedure routine_#34464_strtof(local_#5198___nptr_IN : { base : int, offset : int }, local_#5199___endptr_IN : { base : int, offset : int }) returns (external_return_#34464 : int); procedure routine_#34465_strtok(local_#5200___s_IN : { base : int, offset : int }, local_#5201___delim_IN : { base : int, offset : int }) returns (external_return_#34465 : { base : int, offset : int }); procedure routine_#34466_strtok_r(local_#5202___s_IN : { base : int, offset : int }, local_#5203___delim_IN : { base : int, offset : int }, local_#5204___save_ptr_IN : { base : int, offset : int }) returns (external_return_#34466 : { base : int, offset : int }); procedure routine_#34467_strtol(local_#5205___nptr_IN : { base : int, offset : int }, local_#5206___endptr_IN : { base : int, offset : int }, local_#5207___base_IN : int) returns (external_return_#34467 : int); procedure routine_#34468_strtold(local_#5208___nptr_IN : { base : int, offset : int }, local_#5209___endptr_IN : { base : int, offset : int }) returns (external_return_#34468 : int); procedure routine_#34469_strtoll(local_#5210___nptr_IN : { base : int, offset : int }, local_#5211___endptr_IN : { base : int, offset : int }, local_#5212___base_IN : int) returns (external_return_#34469 : int); procedure routine_#34470_strtoul(local_#5213___nptr_IN : { base : int, offset : int }, local_#5214___endptr_IN : { base : int, offset : int }, local_#5215___base_IN : int) returns (external_return_#34470 : int); procedure routine_#34471_strtoull(local_#5216___nptr_IN : { base : int, offset : int }, local_#5217___endptr_IN : { base : int, offset : int }, local_#5218___base_IN : int) returns (external_return_#34471 : int); procedure routine_#34472_strxfrm(local_#5219___dest_IN : { base : int, offset : int }, local_#5220___src_IN : { base : int, offset : int }, local_#5221___n_IN : int) returns (external_return_#34472 : int); procedure routine_#34473_swab(local_#5222___from_IN : { base : int, offset : int }, local_#5223___to_IN : { base : int, offset : int }, local_#5224___n_IN : int) returns (); procedure routine_#34474_symlink(local_#5225___from_IN : { base : int, offset : int }, local_#5226___to_IN : { base : int, offset : int }) returns (external_return_#34474 : int); procedure routine_#34475_sync() returns (); procedure routine_#34476_sysconf(local_#5227___name_IN : int) returns (external_return_#34476 : int); procedure routine_#34477_system(local_#5228___command_IN : { base : int, offset : int }) returns (external_return_#34477 : int); procedure routine_#34478_tan(local_#5229___x_IN : int) returns (external_return_#34478 : int); procedure routine_#34479_tanf(local_#5230___x_IN : int) returns (external_return_#34479 : int); procedure routine_#34480_tanh(local_#5231___x_IN : int) returns (external_return_#34480 : int); procedure routine_#34481_tanhf(local_#5232___x_IN : int) returns (external_return_#34481 : int); procedure routine_#34482_tanhl(local_#5233___x_IN : int) returns (external_return_#34482 : int); procedure routine_#34483_tanl(local_#5234___x_IN : int) returns (external_return_#34483 : int); procedure routine_#34484_tcgetpgrp(local_#5235___fd_IN : int) returns (external_return_#34484 : int); procedure routine_#34485_tcsetpgrp(local_#5236___fd_IN : int, local_#5237___pgrp_id_IN : int) returns (external_return_#34485 : int); procedure routine_#34486_tempnam(local_#5238___dir_IN : { base : int, offset : int }, local_#5239___pfx_IN : { base : int, offset : int }) returns (external_return_#34486 : { base : int, offset : int }); procedure routine_#34487_tgamma(local_#5240_IN : int) returns (external_return_#34487 : int); procedure routine_#34488_tgammaf(local_#5241_IN : int) returns (external_return_#34488 : int); procedure routine_#34489_tgammal(local_#5242_IN : int) returns (external_return_#34489 : int); procedure routine_#34490_tilde_expand(local_#5243_IN : { base : int, offset : int }) returns (external_return_#34490 : { base : int, offset : int }); procedure routine_#34491_tilde_expand_word(local_#5244_IN : { base : int, offset : int }) returns (external_return_#34491 : { base : int, offset : int }); procedure routine_#34492_tilde_find_word(local_#5245_IN : { base : int, offset : int }, local_#5246_IN : int, local_#5247_IN : { base : int, offset : int }) returns (external_return_#34492 : { base : int, offset : int }); procedure routine_#34493_time(local_#5248___timer_IN : { base : int, offset : int }) returns (external_return_#34493 : int); procedure routine_#34494_timer_create(local_#5249___clock_id_IN : int, local_#5250___evp_IN : { base : int, offset : int }, local_#5251___timerid_IN : { base : int, offset : int }) returns (external_return_#34494 : int); procedure routine_#34495_timer_delete(local_#5252___timerid_IN : { base : int, offset : int }) returns (external_return_#34495 : int); procedure routine_#34496_timer_getoverrun(local_#5253___timerid_IN : { base : int, offset : int }) returns (external_return_#34496 : int); procedure routine_#34497_timer_gettime(local_#5254___timerid_IN : { base : int, offset : int }, local_#5255___value_IN : { base : int, offset : int }) returns (external_return_#34497 : int); procedure routine_#34498_timer_settime(local_#5256___timerid_IN : { base : int, offset : int }, local_#5257___flags_IN : int, local_#5258___value_IN : { base : int, offset : int }, local_#5259___ovalue_IN : { base : int, offset : int }) returns (external_return_#34498 : int); procedure routine_#34499_timespec_get(local_#5260___ts_IN : { base : int, offset : int }, local_#5261___base_IN : int) returns (external_return_#34499 : int); procedure routine_#34500_tmpfile() returns (external_return_#34500 : { base : int, offset : int }); procedure routine_#34501_tmpnam(local_#5262___s_IN : { base : int, offset : int }) returns (external_return_#34501 : { base : int, offset : int }); procedure routine_#34502_toascii(local_#5263___c_IN : int) returns (external_return_#34502 : int); procedure routine_#34503_tolower(local_#5264___c_IN : int) returns (external_return_#34503 : int); procedure routine_#34504_toupper(local_#5265___c_IN : int) returns (external_return_#34504 : int); procedure routine_#34505_trunc(local_#5266___x_IN : int) returns (external_return_#34505 : int); procedure routine_#34506_truncate(local_#5267___file_IN : { base : int, offset : int }, local_#5268___length_IN : int) returns (external_return_#34506 : int); procedure routine_#34507_truncf(local_#5269___x_IN : int) returns (external_return_#34507 : int); procedure routine_#34508_truncl(local_#5270___x_IN : int) returns (external_return_#34508 : int); procedure routine_#34509_ttyname(local_#5271___fd_IN : int) returns (external_return_#34509 : { base : int, offset : int }); procedure routine_#34510_ttyname_r(local_#5272___fd_IN : int, local_#5273___buf_IN : { base : int, offset : int }, local_#5274___buflen_IN : int) returns (external_return_#34510 : int); procedure routine_#34511_tzset() returns (); procedure routine_#34512_ualarm(local_#5275___value_IN : int, local_#5276___interval_IN : int) returns (external_return_#34512 : int); procedure routine_#34513_ungetc(local_#5277___c_IN : int, local_#5278___stream_IN : { base : int, offset : int }) returns (external_return_#34513 : int); procedure routine_#34514_unlink(local_#5279___name_IN : { base : int, offset : int }) returns (external_return_#34514 : int); procedure routine_#34515_unlockpt(local_#5280___fd_IN : int) returns (external_return_#34515 : int); procedure routine_#34516_unsetenv(local_#5281___name_IN : { base : int, offset : int }) returns (external_return_#34516 : int); procedure routine_#34517_unstifle_history() returns (external_return_#34517 : int); procedure routine_#34518_using_history() returns (); procedure routine_#34519_usleep(local_#5282___useconds_IN : int) returns (external_return_#34519 : int); procedure routine_#34520_vfork() returns (external_return_#34520 : int); procedure routine_#34521_vfprintf(local_#5283___s_IN : { base : int, offset : int }, local_#5284___format_IN : { base : int, offset : int }, local_#5285___arg_IN : { base : int, offset : int }) returns (external_return_#34521 : int); procedure routine_#34522_vfscanf(local_#5286___s_IN : { base : int, offset : int }, local_#5287___format_IN : { base : int, offset : int }, local_#5288___arg_IN : { base : int, offset : int }) returns (external_return_#34522 : int); procedure routine_#34523_vprintf(local_#5289___format_IN : { base : int, offset : int }, local_#5290___arg_IN : { base : int, offset : int }) returns (external_return_#34523 : int); procedure routine_#34524_vscanf(local_#5291___format_IN : { base : int, offset : int }, local_#5292___arg_IN : { base : int, offset : int }) returns (external_return_#34524 : int); procedure routine_#34525_vsnprintf(local_#5293___s_IN : { base : int, offset : int }, local_#5294___maxlen_IN : int, local_#5295___format_IN : { base : int, offset : int }, local_#5296___arg_IN : { base : int, offset : int }) returns (external_return_#34525 : int); procedure routine_#34526_vsprintf(local_#5297___s_IN : { base : int, offset : int }, local_#5298___format_IN : { base : int, offset : int }, local_#5299___arg_IN : { base : int, offset : int }) returns (external_return_#34526 : int); procedure routine_#34527_vsscanf(local_#5300___s_IN : { base : int, offset : int }, local_#5301___format_IN : { base : int, offset : int }, local_#5302___arg_IN : { base : int, offset : int }) returns (external_return_#34527 : int); procedure routine_#34528_wait(local_#5303___stat_loc_IN : { base : int, offset : int }) returns (external_return_#34528 : int); procedure routine_#34529_waitid(local_#5304___idtype_IN : int, local_#5305___id_IN : int, local_#5306___infop_IN : { base : int, offset : int }, local_#5307___options_IN : int) returns (external_return_#34529 : int); procedure routine_#34530_waitpid(local_#5308___pid_IN : int, local_#5309___stat_loc_IN : { base : int, offset : int }, local_#5310___options_IN : int) returns (external_return_#34530 : int); procedure routine_#34531_wcstombs(local_#5311___s_IN : { base : int, offset : int }, local_#5312___pwcs_IN : { base : int, offset : int }, local_#5313___n_IN : int) returns (external_return_#34531 : int); procedure routine_#34532_wctomb(local_#5314___s_IN : { base : int, offset : int }, local_#5315___wchar_IN : int) returns (external_return_#34532 : int); procedure routine_#34533_where_history() returns (external_return_#34533 : int); procedure routine_#34534_write(local_#5316___fd_IN : int, local_#5317___buf_IN : { base : int, offset : int }, local_#5318___n_IN : int) returns (external_return_#34534 : int); procedure routine_#34535_write_history(local_#5319_IN : { base : int, offset : int }) returns (external_return_#34535 : int); procedure routine_#34536_y0(local_#5320_IN : int) returns (external_return_#34536 : int); procedure routine_#34537_y1(local_#5321_IN : int) returns (external_return_#34537 : int); procedure routine_#34538_yn(local_#5322_IN : int, local_#5323_IN : int) returns (external_return_#34538 : int); procedure routine_#34539_DumpBlock(local_#5324_b_IN : { base : int, offset : int }, local_#5325_size_IN : int, local_#5326_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5324_b : { base : int, offset : int }; var local_#5325_size : int; var local_#5326_D : { base : int, offset : int }; var local_#17144 : int; var local_#17145 : int; var local_#17146 : int; var local_#17147 : int; var local_#17148 : int; var local_#17149 : int; var local_#17150 : { base : int, offset : int }; var local_#17151 : { base : int, offset : int }; var local_#17152 : { base : int, offset : int }; var local_#17153 : int; var local_#17154 : int; var local_#17155 : int; local_#5324_b := local_#5324_b_IN; local_#5325_size := local_#5325_size_IN; local_#5326_D := local_#5326_D_IN; goto CFG_36527; CFG_36527: assume true; goto CFG_49969; CFG_49969: assume true; local_#17144 := 0; local_#17145 := (if _memory[{ base : local_#5326_D!base, offset : local_#5326_D!offset + 28 }] == local_#17144 then 1 else 0); if (local_#17145 != 0) { goto CFG_49970; } else { goto CFG_39217; } CFG_49970: assume true; local_#17146 := 0; local_#17147 := (if local_#5325_size > local_#17146 then 1 else 0); if (local_#17147 != 0) { goto CFG_42769; } else { goto CFG_39217; } CFG_42769: assume true; local_#17148 := 0; local_#17149 := 0; assert { :LIR "61268" } { :check "overflow" } { :finding_ids "0" } true; local_#17150 := _memory_ptr[{ base : local_#5326_D!base, offset : local_#5326_D!offset + 8 }]; local_#17151 := _memory_ptr[{ base : local_#5326_D!base, offset : local_#5326_D!offset + 0 }]; local_#17152 := _memory_ptr[{ base : local_#5326_D!base, offset : local_#5326_D!offset + 16 }]; goto CFG_46268; CFG_46268: assume true; assume false; goto CFG_40496; CFG_40496: assume true; _memory[{ base : local_#5326_D!base, offset : local_#5326_D!offset + 28 }] := local_#17153; local_#17154 := 0; local_#17155 := 0; assert { :LIR "61269" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39217; CFG_39217: assume true; goto CFG_37438; CFG_37438: assume true; } procedure routine_#34540_DumpByte(local_#5327_y_IN : int, local_#5328_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5327_y : int; var local_#5328_D : { base : int, offset : int }; var local_#17156 : int; var local_#31896_x : { base : int, offset : int }; var local_#17157 : { base : int, offset : int }; var local_#17158 : int; local_#5327_y := local_#5327_y_IN; local_#5328_D := local_#5328_D_IN; goto CFG_36528; CFG_36528: assume true; goto CFG_42770; CFG_42770: assume true; local_#17156 := ~uwrap8(local_#5327_y); assert { :LIR "61270" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#31896_x] := local_#17156; local_#17157 := local_#31896_x; assert { :LIR "62784" } { :check "overflow" } { :finding_ids "0" } true; local_#17158 := 1; goto CFG_46269; CFG_46269: assume true; call routine_#34539_DumpBlock(local_#17157,local_#17158,local_#5328_D); goto CFG_39218; CFG_39218: assume true; goto CFG_37439; CFG_37439: assume true; } procedure routine_#34541_DumpCode(local_#5329_f_IN : { base : int, offset : int }, local_#5330_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5329_f : { base : int, offset : int }; var local_#5330_D : { base : int, offset : int }; var local_#17159 : int; var local_#17160 : { base : int, offset : int }; var local_#17161 : int; var local_#17162 : int; var local_#17163 : int; local_#5329_f := local_#5329_f_IN; local_#5330_D := local_#5330_D_IN; goto CFG_36529; CFG_36529: assume true; goto CFG_42771; CFG_42771: assume true; local_#17159 := _memory[{ base : local_#5329_f!base, offset : local_#5329_f!offset + 24 }]; goto CFG_46270; CFG_46270: assume true; call routine_#34546_DumpInt(local_#17159,local_#5330_D); goto CFG_42772; CFG_42772: assume true; local_#17160 := _memory_ptr[{ base : local_#5329_f!base, offset : local_#5329_f!offset + 56 }]; assert { :LIR "62785" } { :check "overflow" } { :finding_ids "0" } true; local_#17161 := ~uwrap64(_memory[{ base : local_#5329_f!base, offset : local_#5329_f!offset + 24 }]); assert { :LIR "62786" } { :check "overflow" } { :finding_ids "0" } true; local_#17162 := 4; assume { :symbol "~uwrap64" } true; local_#17163 := ~uwrap64(local_#17161 * local_#17162); assert { :LIR "68535" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46271; CFG_46271: assume true; call routine_#34539_DumpBlock(local_#17160,local_#17163,local_#5330_D); goto CFG_39219; CFG_39219: assume true; goto CFG_37440; CFG_37440: assume true; } procedure routine_#34542_DumpConstants(local_#5331_f_IN : { base : int, offset : int }, local_#5332_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5331_f : { base : int, offset : int }; var local_#5332_D : { base : int, offset : int }; var local_#31898_n : int; var local_#31897_i : int; var local_#17164 : int; var local_#17165 : { base : int, offset : int }; var local_#17166 : { base : int, offset : int }; var local_#31899_o : { base : int, offset : int }; var local_#17167 : int; var local_#17168 : int; var local_#17169 : int; var local_#17170 : int; var local_#17171 : int; var local_#17172 : int; var local_#17173 : { base : int, offset : int }; var local_#17174 : { base : int, offset : int }; var local_#17175 : { base : int, offset : int }; var local_#17176 : { base : int, offset : int }; var local_#17177 : { base : int, offset : int }; var local_#17178 : int; var local_#17179 : { base : int, offset : int }; var nondet_#0 : int; var local_#17180 : int; var local_#17181 : { base : int, offset : int }; var local_#17182 : int; var local_#17183 : int; var local_#17184 : int; var local_#17185 : int; local_#5331_f := local_#5331_f_IN; local_#5332_D := local_#5332_D_IN; goto CFG_36530; CFG_36530: assume true; goto CFG_42773; CFG_42773: assume true; local_#31898_n := _memory[{ base : local_#5331_f!base, offset : local_#5331_f!offset + 20 }]; goto CFG_46272; CFG_46272: assume true; call routine_#34546_DumpInt(local_#31898_n,local_#5332_D); goto CFG_41678; CFG_41678: assume true; local_#31897_i := 0; goto CFG_49971; CFG_49971: assume true; local_#17164 := (if local_#31897_i < local_#31898_n then 1 else 0); if (local_#17164 != 0) { goto CFG_42774; } else { goto CFG_39220; } CFG_39220: assume true; goto CFG_37441; CFG_42774: assume true; local_#17165 := { base : _memory_ptr[{ base : local_#5331_f!base, offset : local_#5331_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#5331_f!base, offset : local_#5331_f!offset + 48 }]!offset + local_#31897_i * 16 }; local_#17166 := local_#17165; assert { :LIR "62787" } { :check "overflow" } { :finding_ids "0" } true; local_#31899_o := local_#17166; local_#17167 := 63; local_#17168 := ~sand32(_memory[{ base : local_#31899_o!base, offset : local_#31899_o!offset + 8 }], local_#17167); goto CFG_46273; CFG_46273: assume true; call routine_#34540_DumpByte(local_#17168,local_#5332_D); goto CFG_51526; CFG_51526: assume true; local_#17169 := 63; local_#17170 := ~sand32(_memory[{ base : local_#31899_o!base, offset : local_#31899_o!offset + 8 }], local_#17169); if (local_#17170 == 0) { goto CFG_39581; } if (local_#17170 == 1) { goto CFG_42779; } if (local_#17170 == 3) { goto CFG_42778; } if (local_#17170 == 19) { goto CFG_42777; } if (local_#17170 == 4) { goto CFG_42776; } if (local_#17170 == 20) { goto CFG_42776; } goto CFG_42775; CFG_42775: assume true; local_#17171 := 0; local_#17172 := 0; assert { :LIR "61271" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41925; CFG_41925: assume true; goto CFG_45019; CFG_42776: assume true; local_#17173 := { base : local_#31899_o!base, offset : local_#31899_o!offset + 0 }; local_#17174 := _memory_ptr[local_#17173]; assert { :LIR "61272" } { :check "overflow" } { :finding_ids "0" } true; local_#17175 := { base : local_#17174!base, offset : local_#17174!offset + 0 }; local_#17176 := local_#17175; assert { :LIR "62788" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46274; CFG_46274: assume true; call routine_#34550_DumpString(local_#17176,local_#5332_D); goto CFG_39577; CFG_39577: assume true; goto CFG_45019; CFG_42777: assume true; local_#17177 := { base : local_#31899_o!base, offset : local_#31899_o!offset + 0 }; local_#17178 := _memory[local_#17177]; goto CFG_46275; CFG_46275: assume true; call routine_#34547_DumpInteger(local_#17178,local_#5332_D); goto CFG_39578; CFG_39578: assume true; goto CFG_45019; CFG_42778: assume true; local_#17179 := { base : local_#31899_o!base, offset : local_#31899_o!offset + 0 }; havoc nondet_#0; local_#17180 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_46276; CFG_46276: assume true; call routine_#34548_DumpNumber(local_#17180,local_#5332_D); goto CFG_39579; CFG_39579: assume true; goto CFG_45019; CFG_42779: assume true; local_#17181 := { base : local_#31899_o!base, offset : local_#31899_o!offset + 0 }; local_#17182 := _memory[local_#17181]; goto CFG_46277; CFG_46277: assume true; call routine_#34540_DumpByte(local_#17182,local_#5332_D); goto CFG_39580; CFG_39580: assume true; goto CFG_45019; CFG_39581: assume true; goto CFG_45019; CFG_45019: assume true; local_#17183 := local_#31897_i; local_#17184 := 1; local_#31897_i := local_#17183 + local_#17184; assert { :LIR "66494" } { :check "overflow" } { :finding_ids "0" } local_#31897_i <= 2147483647; local_#17185 := local_#17183; goto CFG_49971; CFG_37441: assume true; } procedure routine_#34543_DumpDebug(local_#5333_f_IN : { base : int, offset : int }, local_#5334_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5333_f : { base : int, offset : int }; var local_#5334_D : { base : int, offset : int }; var local_#17186 : int; var local_#30710 : int; var local_#31901_n : int; var local_#17187 : { base : int, offset : int }; var local_#17188 : int; var local_#17189 : int; var local_#17190 : int; var local_#17191 : int; var local_#30711 : int; var local_#31900_i : int; var local_#17192 : int; var local_#17193 : int; var local_#30712 : int; var local_#17194 : int; var local_#17195 : { base : int, offset : int }; var local_#17196 : { base : int, offset : int }; var local_#17197 : int; var local_#17198 : int; var local_#17199 : int; var local_#17200 : { base : int, offset : int }; var local_#17201 : { base : int, offset : int }; var local_#17202 : { base : int, offset : int }; var local_#17203 : int; var local_#17204 : { base : int, offset : int }; var local_#17205 : int; var local_#17206 : int; var local_#17207 : int; var local_#17208 : int; local_#5333_f := local_#5333_f_IN; local_#5334_D := local_#5334_D_IN; goto CFG_36531; CFG_36531: assume true; goto CFG_49972; CFG_49972: assume true; local_#17186 := _memory[{ base : local_#5334_D!base, offset : local_#5334_D!offset + 24 }]; if (local_#17186 != 0) { goto CFG_40498; } else { goto CFG_40497; } CFG_40497: assume true; local_#30710 := _memory[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 28 }]; goto CFG_42780; CFG_40498: assume true; local_#30710 := 0; goto CFG_42780; CFG_42780: assume true; local_#31901_n := local_#30710; goto CFG_46278; CFG_46278: assume true; call routine_#34546_DumpInt(local_#31901_n,local_#5334_D); goto CFG_42781; CFG_42781: assume true; local_#17187 := _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 72 }]; assert { :LIR "62789" } { :check "overflow" } { :finding_ids "0" } true; local_#17188 := ~uwrap64(local_#31901_n); assert { :LIR "62790" } { :check "overflow" } { :finding_ids "0" } true; local_#17189 := 4; assume { :symbol "~uwrap64" } true; local_#17190 := ~uwrap64(local_#17188 * local_#17189); assert { :LIR "68536" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46279; CFG_46279: assume true; call routine_#34539_DumpBlock(local_#17187,local_#17190,local_#5334_D); goto CFG_49973; CFG_49973: assume true; local_#17191 := _memory[{ base : local_#5334_D!base, offset : local_#5334_D!offset + 24 }]; if (local_#17191 != 0) { goto CFG_40500; } else { goto CFG_40499; } CFG_40499: assume true; local_#30711 := _memory[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 36 }]; goto CFG_42782; CFG_40500: assume true; local_#30711 := 0; goto CFG_42782; CFG_42782: assume true; local_#31901_n := local_#30711; goto CFG_46280; CFG_46280: assume true; call routine_#34546_DumpInt(local_#31901_n,local_#5334_D); goto CFG_41679; CFG_41679: assume true; local_#31900_i := 0; goto CFG_49974; CFG_49974: assume true; local_#17192 := (if local_#31900_i < local_#31901_n then 1 else 0); if (local_#17192 != 0) { goto CFG_42785; } else { goto CFG_49975; } CFG_49975: assume true; local_#17193 := _memory[{ base : local_#5334_D!base, offset : local_#5334_D!offset + 24 }]; if (local_#17193 != 0) { goto CFG_40502; } else { goto CFG_40501; } CFG_40501: assume true; local_#30712 := _memory[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 16 }]; goto CFG_42783; CFG_40502: assume true; local_#30712 := 0; goto CFG_42783; CFG_42783: assume true; local_#31901_n := local_#30712; goto CFG_46281; CFG_46281: assume true; call routine_#34546_DumpInt(local_#31901_n,local_#5334_D); goto CFG_41680; CFG_41680: assume true; local_#31900_i := 0; goto CFG_49976; CFG_49976: assume true; local_#17194 := (if local_#31900_i < local_#31901_n then 1 else 0); if (local_#17194 != 0) { goto CFG_42784; } else { goto CFG_39221; } CFG_39221: assume true; goto CFG_37442; CFG_42784: assume true; local_#17195 := { base : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 88 }]!offset + local_#31900_i * 16 }; local_#17196 := _memory_ptr[{ base : local_#17195!base, offset : local_#17195!offset + 0 }]; assert { :LIR "62791" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46282; CFG_46282: assume true; call routine_#34550_DumpString(local_#17196,local_#5334_D); goto CFG_45020; CFG_45020: assume true; local_#17197 := local_#31900_i; local_#17198 := 1; local_#31900_i := local_#17197 + local_#17198; assert { :LIR "66495" } { :check "overflow" } { :finding_ids "0" } local_#31900_i <= 2147483647; local_#17199 := local_#17197; goto CFG_49976; CFG_42785: assume true; local_#17200 := { base : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 80 }]!offset + local_#31900_i * 16 }; local_#17201 := _memory_ptr[{ base : local_#17200!base, offset : local_#17200!offset + 0 }]; assert { :LIR "62792" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46283; CFG_46283: assume true; call routine_#34550_DumpString(local_#17201,local_#5334_D); goto CFG_42786; CFG_42786: assume true; local_#17202 := { base : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 80 }]!offset + local_#31900_i * 16 }; local_#17203 := _memory[{ base : local_#17202!base, offset : local_#17202!offset + 8 }]; goto CFG_46284; CFG_46284: assume true; call routine_#34546_DumpInt(local_#17203,local_#5334_D); goto CFG_42787; CFG_42787: assume true; local_#17204 := { base : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5333_f!base, offset : local_#5333_f!offset + 80 }]!offset + local_#31900_i * 16 }; local_#17205 := _memory[{ base : local_#17204!base, offset : local_#17204!offset + 12 }]; goto CFG_46285; CFG_46285: assume true; call routine_#34546_DumpInt(local_#17205,local_#5334_D); goto CFG_45021; CFG_45021: assume true; local_#17206 := local_#31900_i; local_#17207 := 1; local_#31900_i := local_#17206 + local_#17207; assert { :LIR "66496" } { :check "overflow" } { :finding_ids "0" } local_#31900_i <= 2147483647; local_#17208 := local_#17206; goto CFG_49974; CFG_37442: assume true; } procedure routine_#34544_DumpFunction(local_#5335_f_IN : { base : int, offset : int }, local_#5336_psource_IN : { base : int, offset : int }, local_#5337_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5335_f : { base : int, offset : int }; var local_#5336_psource : { base : int, offset : int }; var local_#5337_D : { base : int, offset : int }; var local_#17209 : int; var local_#17210 : int; var local_#17211 : { base : int, offset : int }; var local_#17212 : { base : int, offset : int }; var local_#17213 : int; var local_#17214 : int; var local_#17215 : int; var local_#17216 : int; var local_#17217 : int; local_#5335_f := local_#5335_f_IN; local_#5336_psource := local_#5336_psource_IN; local_#5337_D := local_#5337_D_IN; goto CFG_36532; CFG_36532: assume true; goto CFG_49977; CFG_49977: assume true; local_#17209 := _memory[{ base : local_#5337_D!base, offset : local_#5337_D!offset + 24 }]; if (local_#17209 != 0) { goto CFG_42789; } else { goto CFG_49978; } CFG_49978: assume true; local_#17210 := (if _memory_ptr[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 104 }] == local_#5336_psource then 1 else 0); if (local_#17210 != 0) { goto CFG_42789; } else { goto CFG_42788; } CFG_42788: assume true; local_#17211 := _memory_ptr[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 104 }]; assert { :LIR "62793" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46286; CFG_46286: assume true; call routine_#34550_DumpString(local_#17211,local_#5337_D); goto CFG_40503; CFG_40503: assume true; goto CFG_42790; CFG_42789: assume true; local_#17212 := { base : 0, offset : 0 }; goto CFG_46287; CFG_46287: assume true; call routine_#34550_DumpString(local_#17212,local_#5337_D); goto CFG_40504; CFG_40504: assume true; goto CFG_42790; CFG_42790: assume true; local_#17213 := _memory[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 40 }]; goto CFG_46288; CFG_46288: assume true; call routine_#34546_DumpInt(local_#17213,local_#5337_D); goto CFG_42791; CFG_42791: assume true; local_#17214 := _memory[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 44 }]; goto CFG_46289; CFG_46289: assume true; call routine_#34546_DumpInt(local_#17214,local_#5337_D); goto CFG_42792; CFG_42792: assume true; local_#17215 := _memory[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 10 }]; assert { :LIR "62794" } { :check "overflow" } { :finding_ids "0" } local_#17215 <= 2147483647; goto CFG_46290; CFG_46290: assume true; call routine_#34540_DumpByte(local_#17215,local_#5337_D); goto CFG_42793; CFG_42793: assume true; local_#17216 := _memory[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 11 }]; assert { :LIR "62795" } { :check "overflow" } { :finding_ids "0" } local_#17216 <= 2147483647; goto CFG_46291; CFG_46291: assume true; call routine_#34540_DumpByte(local_#17216,local_#5337_D); goto CFG_42794; CFG_42794: assume true; local_#17217 := _memory[{ base : local_#5335_f!base, offset : local_#5335_f!offset + 12 }]; assert { :LIR "62796" } { :check "overflow" } { :finding_ids "0" } local_#17217 <= 2147483647; goto CFG_46292; CFG_46292: assume true; call routine_#34540_DumpByte(local_#17217,local_#5337_D); goto CFG_46293; CFG_46293: assume true; call routine_#34541_DumpCode(local_#5335_f,local_#5337_D); goto CFG_46294; CFG_46294: assume true; call routine_#34542_DumpConstants(local_#5335_f,local_#5337_D); goto CFG_46295; CFG_46295: assume true; call routine_#34551_DumpUpvalues(local_#5335_f,local_#5337_D); goto CFG_46296; CFG_46296: assume true; call routine_#34549_DumpProtos(local_#5335_f,local_#5337_D); goto CFG_46297; CFG_46297: assume true; call routine_#34543_DumpDebug(local_#5335_f,local_#5337_D); goto CFG_39222; CFG_39222: assume true; goto CFG_37443; CFG_37443: assume true; } procedure routine_#34545_DumpHeader(local_#5338_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5338_D : { base : int, offset : int }; var local_#17218 : { base : int, offset : int }; var local_#17219 : { base : int, offset : int }; var local_#17220 : int; var local_#17221 : { base : int, offset : int }; var local_#17222 : int; var local_#17223 : int; var local_#17224 : int; var local_#17225 : int; var local_#17226 : int; var local_#17227 : { base : int, offset : int }; var local_#17228 : int; var local_#17229 : int; var local_#17230 : int; var local_#17231 : int; var local_#17232 : int; var local_#17233 : { base : int, offset : int }; var local_#17234 : { base : int, offset : int }; var local_#17235 : int; var local_#17236 : int; var local_#17237 : int; var local_#17238 : int; var local_#17239 : int; var local_#17240 : int; var local_#17241 : int; var nondet_#0 : int; var local_#17242 : int; local_#5338_D := local_#5338_D_IN; goto CFG_36533; CFG_36533: assume true; goto CFG_42795; CFG_42795: assume true; assume _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 0 }] == 27 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 1 }] == 76 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 2 }] == 117 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 3 }] == 97 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 4 }] == 0; local_#17218 := strlit_#70326; local_#17219 := { base : local_#17218!base, offset : local_#17218!offset + 0 * 1 }; assert { :LIR "62797" } { :check "overflow" } { :finding_ids "0" } true; local_#17220 := 4; goto CFG_46298; CFG_46298: assume true; call routine_#34539_DumpBlock(local_#17219,local_#17220,local_#5338_D); goto CFG_42796; CFG_42796: assume true; assume _memory[{ base : strlit_#70425!base, offset : strlit_#70425!offset + 0 }] == 53 && _memory[{ base : strlit_#70425!base, offset : strlit_#70425!offset + 1 }] == 0; local_#17221 := strlit_#70425; local_#17222 := _memory[{ base : local_#17221!base, offset : local_#17221!offset + 0 * 1 }]; assert { :LIR "62798" } { :check "overflow" } { :finding_ids "0" } local_#17222 <= 2147483647; local_#17223 := 48; local_#17224 := local_#17222 - local_#17223; assert { :LIR "67960" } { :check "overflow" } { :finding_ids "0" } local_#17224 <= 2147483647; local_#17225 := 16; local_#17226 := local_#17224 * local_#17225; assert { :LIR "68537" } { :check "overflow" } { :finding_ids "0" } local_#17226 <= 2147483647; assume _memory[{ base : strlit_#70426!base, offset : strlit_#70426!offset + 0 }] == 51 && _memory[{ base : strlit_#70426!base, offset : strlit_#70426!offset + 1 }] == 0; local_#17227 := strlit_#70426; local_#17228 := _memory[{ base : local_#17227!base, offset : local_#17227!offset + 0 * 1 }]; assert { :LIR "62799" } { :check "overflow" } { :finding_ids "0" } local_#17228 <= 2147483647; local_#17229 := 48; local_#17230 := local_#17228 - local_#17229; assert { :LIR "67961" } { :check "overflow" } { :finding_ids "0" } local_#17230 <= 2147483647; local_#17231 := local_#17226 + local_#17230; assert { :LIR "66497" } { :check "overflow" } { :finding_ids "0" } local_#17231 <= 2147483647; goto CFG_46299; CFG_46299: assume true; call routine_#34540_DumpByte(local_#17231,local_#5338_D); goto CFG_42797; CFG_42797: assume true; local_#17232 := 0; goto CFG_46300; CFG_46300: assume true; call routine_#34540_DumpByte(local_#17232,local_#5338_D); goto CFG_42798; CFG_42798: assume true; assume _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 0 }] == 25 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 1 }] == 147 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 2 }] == 13 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 3 }] == 10 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 4 }] == 26 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 5 }] == 10 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 6 }] == 0; local_#17233 := strlit_#70427; local_#17234 := { base : local_#17233!base, offset : local_#17233!offset + 0 * 1 }; assert { :LIR "62800" } { :check "overflow" } { :finding_ids "0" } true; local_#17235 := 6; goto CFG_46301; CFG_46301: assume true; call routine_#34539_DumpBlock(local_#17234,local_#17235,local_#5338_D); goto CFG_42799; CFG_42799: assume true; local_#17236 := 4; goto CFG_46302; CFG_46302: assume true; call routine_#34540_DumpByte(local_#17236,local_#5338_D); goto CFG_42800; CFG_42800: assume true; local_#17237 := 8; goto CFG_46303; CFG_46303: assume true; call routine_#34540_DumpByte(local_#17237,local_#5338_D); goto CFG_42801; CFG_42801: assume true; local_#17238 := 4; goto CFG_46304; CFG_46304: assume true; call routine_#34540_DumpByte(local_#17238,local_#5338_D); goto CFG_42802; CFG_42802: assume true; local_#17239 := 8; goto CFG_46305; CFG_46305: assume true; call routine_#34540_DumpByte(local_#17239,local_#5338_D); goto CFG_42803; CFG_42803: assume true; local_#17240 := 8; goto CFG_46306; CFG_46306: assume true; call routine_#34540_DumpByte(local_#17240,local_#5338_D); goto CFG_42804; CFG_42804: assume true; local_#17241 := 22136; goto CFG_46307; CFG_46307: assume true; call routine_#34547_DumpInteger(local_#17241,local_#5338_D); goto CFG_42805; CFG_42805: assume true; havoc nondet_#0; local_#17242 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78612 */; goto CFG_46308; CFG_46308: assume true; call routine_#34548_DumpNumber(local_#17242,local_#5338_D); goto CFG_39223; CFG_39223: assume true; goto CFG_37444; CFG_37444: assume true; } procedure routine_#34546_DumpInt(local_#5339_x_IN : int, local_#5340_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5339_x : { base : int, offset : int }; var local_#5340_D : { base : int, offset : int }; var local_#17243 : { base : int, offset : int }; var local_#17244 : int; _memory[local_#5339_x] := local_#5339_x_IN; local_#5340_D := local_#5340_D_IN; goto CFG_36534; CFG_36534: assume true; goto CFG_42806; CFG_42806: assume true; local_#17243 := local_#5339_x; assert { :LIR "62801" } { :check "overflow" } { :finding_ids "0" } true; local_#17244 := 4; goto CFG_46309; CFG_46309: assume true; call routine_#34539_DumpBlock(local_#17243,local_#17244,local_#5340_D); goto CFG_39224; CFG_39224: assume true; goto CFG_37445; CFG_37445: assume true; } procedure routine_#34547_DumpInteger(local_#5341_x_IN : int, local_#5342_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5341_x : { base : int, offset : int }; var local_#5342_D : { base : int, offset : int }; var local_#17245 : { base : int, offset : int }; var local_#17246 : int; _memory[local_#5341_x] := local_#5341_x_IN; local_#5342_D := local_#5342_D_IN; goto CFG_36535; CFG_36535: assume true; goto CFG_42807; CFG_42807: assume true; local_#17245 := local_#5341_x; assert { :LIR "62802" } { :check "overflow" } { :finding_ids "0" } true; local_#17246 := 8; goto CFG_46310; CFG_46310: assume true; call routine_#34539_DumpBlock(local_#17245,local_#17246,local_#5342_D); goto CFG_39225; CFG_39225: assume true; goto CFG_37446; CFG_37446: assume true; } procedure routine_#34548_DumpNumber(local_#5343_x_IN : int, local_#5344_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5343_x : { base : int, offset : int }; var local_#5344_D : { base : int, offset : int }; var local_#17247 : { base : int, offset : int }; var local_#17248 : int; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ local_#5344_D := local_#5344_D_IN; goto CFG_36536; CFG_36536: assume true; goto CFG_42808; CFG_42808: assume true; local_#17247 := local_#5343_x; assert { :LIR "62803" } { :check "overflow" } { :finding_ids "0" } true; local_#17248 := 8; goto CFG_46311; CFG_46311: assume true; call routine_#34539_DumpBlock(local_#17247,local_#17248,local_#5344_D); goto CFG_39226; CFG_39226: assume true; goto CFG_37447; CFG_37447: assume true; } procedure routine_#34549_DumpProtos(local_#5345_f_IN : { base : int, offset : int }, local_#5346_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5345_f : { base : int, offset : int }; var local_#5346_D : { base : int, offset : int }; var local_#31903_n : int; var local_#31902_i : int; var local_#17249 : int; var local_#17250 : { base : int, offset : int }; var local_#17251 : { base : int, offset : int }; var local_#17252 : { base : int, offset : int }; var local_#17253 : int; var local_#17254 : int; var local_#17255 : int; local_#5345_f := local_#5345_f_IN; local_#5346_D := local_#5346_D_IN; goto CFG_36537; CFG_36537: assume true; goto CFG_42809; CFG_42809: assume true; local_#31903_n := _memory[{ base : local_#5345_f!base, offset : local_#5345_f!offset + 32 }]; goto CFG_46312; CFG_46312: assume true; call routine_#34546_DumpInt(local_#31903_n,local_#5346_D); goto CFG_41681; CFG_41681: assume true; local_#31902_i := 0; goto CFG_49979; CFG_49979: assume true; local_#17249 := (if local_#31902_i < local_#31903_n then 1 else 0); if (local_#17249 != 0) { goto CFG_42810; } else { goto CFG_39227; } CFG_39227: assume true; goto CFG_37448; CFG_42810: assume true; local_#17250 := { base : _memory_ptr[{ base : local_#5345_f!base, offset : local_#5345_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#5345_f!base, offset : local_#5345_f!offset + 64 }]!offset + local_#31902_i * 8 }; local_#17251 := _memory_ptr[local_#17250]; assert { :LIR "62804" } { :check "overflow" } { :finding_ids "0" } true; local_#17252 := _memory_ptr[{ base : local_#5345_f!base, offset : local_#5345_f!offset + 104 }]; goto CFG_46313; CFG_46313: assume true; call routine_#34544_DumpFunction(local_#17251,local_#17252,local_#5346_D); goto CFG_45022; CFG_45022: assume true; local_#17253 := local_#31902_i; local_#17254 := 1; local_#31902_i := local_#17253 + local_#17254; assert { :LIR "66498" } { :check "overflow" } { :finding_ids "0" } local_#31902_i <= 2147483647; local_#17255 := local_#17253; goto CFG_49979; CFG_37448: assume true; } procedure routine_#34550_DumpString(local_#5347_s_IN : { base : int, offset : int }, local_#5348_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5347_s : { base : int, offset : int }; var local_#5348_D : { base : int, offset : int }; var local_#17256 : { base : int, offset : int }; var local_#17257 : int; var local_#17258 : int; var local_#17259 : int; var local_#17260 : int; var local_#17261 : { base : int, offset : int }; var local_#30713 : int; var local_#17262 : int; var local_#17263 : int; var local_#17264 : int; var local_#31904_size : { base : int, offset : int }; var local_#17265 : { base : int, offset : int }; var local_#17266 : int; var local_#17267 : { base : int, offset : int }; var local_#17268 : { base : int, offset : int }; var local_#31905_str : { base : int, offset : int }; var local_#17269 : int; var local_#17270 : int; var local_#17271 : int; var local_#17272 : { base : int, offset : int }; var local_#17273 : int; var local_#17274 : int; var local_#17275 : { base : int, offset : int }; var local_#17276 : int; var local_#17277 : int; var local_#17278 : int; var local_#17279 : int; var local_#17280 : int; local_#5347_s := local_#5347_s_IN; local_#5348_D := local_#5348_D_IN; goto CFG_36538; CFG_36538: assume true; goto CFG_49980; CFG_49980: assume true; local_#17256 := { base : 0, offset : 0 }; local_#17257 := (if local_#5347_s == local_#17256 then 1 else 0); if (local_#17257 != 0) { goto CFG_42815; } else { goto CFG_49981; } CFG_49981: assume true; local_#17258 := _memory[{ base : local_#5347_s!base, offset : local_#5347_s!offset + 8 }]; assert { :LIR "62805" } { :check "overflow" } { :finding_ids "0" } local_#17258 <= 2147483647; local_#17259 := 4; local_#17260 := (if local_#17258 == local_#17259 then 1 else 0); if (local_#17260 != 0) { goto CFG_40506; } else { goto CFG_40505; } CFG_40505: assume true; local_#17261 := { base : local_#5347_s!base, offset : local_#5347_s!offset + 16 }; local_#30713 := _memory[local_#17261]; goto CFG_49982; CFG_40506: assume true; local_#17262 := ~uwrap64(_memory[{ base : local_#5347_s!base, offset : local_#5347_s!offset + 11 }]); assert { :LIR "62806" } { :check "overflow" } { :finding_ids "0" } true; local_#30713 := local_#17262; goto CFG_49982; CFG_49982: assume true; local_#17263 := 1; assume { :symbol "~uwrap64" } true; local_#17264 := ~uwrap64(local_#30713 + local_#17263); assert { :LIR "66499" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#31904_size] := local_#17264; local_#17265 := local_#5347_s; assert { :LIR "61273" } { :check "overflow" } { :finding_ids "0" } true; local_#17266 := 24; local_#17267 := { base : local_#17265!base, offset : local_#17265!offset + local_#17266 * 1 }; local_#17268 := local_#17267; assert { :LIR "62807" } { :check "overflow" } { :finding_ids "0" } true; local_#31905_str := local_#17268; local_#17269 := 255; local_#17270 := (if _memory[local_#31904_size] < local_#17269 then 1 else 0); if (local_#17270 != 0) { goto CFG_42813; } else { goto CFG_42811; } CFG_42811: assume true; local_#17271 := 255; goto CFG_46314; CFG_46314: assume true; call routine_#34540_DumpByte(local_#17271,local_#5348_D); goto CFG_42812; CFG_42812: assume true; local_#17272 := local_#31904_size; assert { :LIR "62808" } { :check "overflow" } { :finding_ids "0" } true; local_#17273 := 8; goto CFG_46315; CFG_46315: assume true; call routine_#34539_DumpBlock(local_#17272,local_#17273,local_#5348_D); goto CFG_40507; CFG_40507: assume true; goto CFG_42814; CFG_42813: assume true; local_#17274 := _memory[local_#31904_size]; assert { :LIR "61274" } { :check "overflow" } { :finding_ids "0" } local_#17274 <= 2147483647; goto CFG_46316; CFG_46316: assume true; call routine_#34540_DumpByte(local_#17274,local_#5348_D); goto CFG_40508; CFG_40508: assume true; goto CFG_42814; CFG_42814: assume true; local_#17275 := local_#31905_str; assert { :LIR "62809" } { :check "overflow" } { :finding_ids "0" } true; local_#17276 := 1; assume { :symbol "~uwrap64" } true; local_#17277 := ~uwrap64(_memory[local_#31904_size] - local_#17276); assert { :LIR "67962" } { :check "overflow" } { :finding_ids "0" } true; local_#17278 := 1; assume { :symbol "~uwrap64" } true; local_#17279 := ~uwrap64(local_#17277 * local_#17278); assert { :LIR "68538" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46317; CFG_46317: assume true; call routine_#34539_DumpBlock(local_#17275,local_#17279,local_#5348_D); goto CFG_40509; CFG_40509: assume true; goto CFG_39228; CFG_42815: assume true; local_#17280 := 0; goto CFG_46318; CFG_46318: assume true; call routine_#34540_DumpByte(local_#17280,local_#5348_D); goto CFG_40510; CFG_40510: assume true; goto CFG_39228; CFG_39228: assume true; goto CFG_37449; CFG_37449: assume true; } procedure routine_#34551_DumpUpvalues(local_#5349_f_IN : { base : int, offset : int }, local_#5350_D_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5349_f : { base : int, offset : int }; var local_#5350_D : { base : int, offset : int }; var local_#31907_n : int; var local_#31906_i : int; var local_#17281 : int; var local_#17282 : { base : int, offset : int }; var local_#17283 : int; var local_#17284 : { base : int, offset : int }; var local_#17285 : int; var local_#17286 : int; var local_#17287 : int; var local_#17288 : int; local_#5349_f := local_#5349_f_IN; local_#5350_D := local_#5350_D_IN; goto CFG_36539; CFG_36539: assume true; goto CFG_42816; CFG_42816: assume true; local_#31907_n := _memory[{ base : local_#5349_f!base, offset : local_#5349_f!offset + 16 }]; goto CFG_46319; CFG_46319: assume true; call routine_#34546_DumpInt(local_#31907_n,local_#5350_D); goto CFG_41682; CFG_41682: assume true; local_#31906_i := 0; goto CFG_49983; CFG_49983: assume true; local_#17281 := (if local_#31906_i < local_#31907_n then 1 else 0); if (local_#17281 != 0) { goto CFG_42817; } else { goto CFG_39229; } CFG_39229: assume true; goto CFG_37450; CFG_42817: assume true; local_#17282 := { base : _memory_ptr[{ base : local_#5349_f!base, offset : local_#5349_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5349_f!base, offset : local_#5349_f!offset + 88 }]!offset + local_#31906_i * 16 }; local_#17283 := _memory[{ base : local_#17282!base, offset : local_#17282!offset + 8 }]; assert { :LIR "62810" } { :check "overflow" } { :finding_ids "0" } local_#17283 <= 2147483647; goto CFG_46320; CFG_46320: assume true; call routine_#34540_DumpByte(local_#17283,local_#5350_D); goto CFG_42818; CFG_42818: assume true; local_#17284 := { base : _memory_ptr[{ base : local_#5349_f!base, offset : local_#5349_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5349_f!base, offset : local_#5349_f!offset + 88 }]!offset + local_#31906_i * 16 }; local_#17285 := _memory[{ base : local_#17284!base, offset : local_#17284!offset + 9 }]; assert { :LIR "62811" } { :check "overflow" } { :finding_ids "0" } local_#17285 <= 2147483647; goto CFG_46321; CFG_46321: assume true; call routine_#34540_DumpByte(local_#17285,local_#5350_D); goto CFG_45023; CFG_45023: assume true; local_#17286 := local_#31906_i; local_#17287 := 1; local_#31906_i := local_#17286 + local_#17287; assert { :LIR "66500" } { :check "overflow" } { :finding_ids "0" } local_#31906_i <= 2147483647; local_#17288 := local_#17286; goto CFG_49983; CFG_37450: assume true; } procedure routine_#34552_GCTM(local_#5351_L_IN : { base : int, offset : int }, local_#5352_propagateerrors_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5351_L : { base : int, offset : int }; var local_#5352_propagateerrors : int; var local_#31908_g : { base : int, offset : int }; var local_#31910_v : { base : int, offset : int }; var local_#31912_io : { base : int, offset : int }; var local_#17289 : { base : int, offset : int }; var local_#31911_i_g : { base : int, offset : int }; var local_#17290 : { base : int, offset : int }; var local_#17291 : int; var local_#17292 : int; var local_#17293 : int; var local_#17294 : { base : int, offset : int }; var local_#17295 : int; var local_#17296 : { base : int, offset : int }; var local_#31909_tm : { base : int, offset : int }; var local_#17297 : { base : int, offset : int }; var local_#17298 : int; var local_#17299 : int; var local_#17300 : int; var local_#17301 : int; var local_#17302 : int; var local_#31913_oldah : int; var local_#17303 : int; var local_#31914_running : int; var local_#31916_io1 : { base : int, offset : int }; var local_#17304 : int; var local_#17305 : int; var local_#17306 : int; var local_#17307 : int; var local_#17308 : { base : int, offset : int }; var local_#31917_io1 : { base : int, offset : int }; var local_#17309 : int; var local_#17310 : int; var local_#17311 : int; var local_#17312 : int; var local_#17313 : int; var local_#17314 : { base : int, offset : int }; var local_#17315 : int; var local_#17316 : int; var local_#17317 : { base : int, offset : int }; var local_#17318 : { base : int, offset : int }; var local_#17319 : int; var local_#17320 : { base : int, offset : int }; var local_#17321 : { base : int, offset : int }; var local_#17322 : { base : int, offset : int }; var local_#17323 : int; var local_#17324 : int; var local_#17325 : int; var local_#31915_status : int; var local_#17326 : int; var local_#17327 : { base : int, offset : int }; var local_#17328 : int; var local_#17329 : int; var local_#17330 : int; var local_#17331 : int; var local_#17332 : int; var local_#17333 : int; var local_#17334 : int; var local_#17335 : int; var local_#17336 : int; var local_#17337 : { base : int, offset : int }; var local_#17338 : int; var local_#17339 : int; var local_#17340 : int; var local_#17341 : int; var local_#17342 : { base : int, offset : int }; var local_#30714 : { base : int, offset : int }; var local_#17343 : int; var local_#17344 : { base : int, offset : int }; var local_#17345 : { base : int, offset : int }; var local_#17346 : { base : int, offset : int }; var local_#17347 : { base : int, offset : int }; var local_#17348 : { base : int, offset : int }; var local_#17349 : int; var local_#17350 : { base : int, offset : int }; var local_#17351 : { base : int, offset : int }; var local_#31918_msg : { base : int, offset : int }; var local_#17352 : { base : int, offset : int }; var local_#17353 : { base : int, offset : int }; var local_#17354 : { base : int, offset : int }; local_#5351_L := local_#5351_L_IN; local_#5352_propagateerrors := local_#5352_propagateerrors_IN; goto CFG_36540; CFG_36540: assume true; goto CFG_42819; CFG_42819: assume true; local_#31908_g := _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 24 }]; local_#31912_io := local_#31910_v; goto CFG_46322; CFG_46322: assume true; call local_#17289 := routine_#35131_udata2finalize(local_#31908_g); goto CFG_42820; CFG_42820: assume true; local_#31911_i_g := local_#17289; local_#17290 := { base : local_#31912_io!base, offset : local_#31912_io!offset + 0 }; _memory_ptr[local_#17290] := local_#31911_i_g; local_#17291 := _memory[{ base : local_#31911_i_g!base, offset : local_#31911_i_g!offset + 8 }]; assert { :LIR "62812" } { :check "overflow" } { :finding_ids "0" } local_#17291 <= 2147483647; local_#17292 := 64; local_#17293 := ~sor32(local_#17291, local_#17292); _memory[{ base : local_#31912_io!base, offset : local_#31912_io!offset + 8 }] := local_#17293; local_#17294 := local_#31910_v; assert { :LIR "62813" } { :check "overflow" } { :finding_ids "0" } true; local_#17295 := 2; goto CFG_46323; CFG_46323: assume true; call local_#17296 := routine_#33885_luaT_gettmbyobj(local_#5351_L,local_#17294,local_#17295); goto CFG_49984; CFG_49984: assume true; local_#31909_tm := local_#17296; local_#17297 := { base : 0, offset : 0 }; local_#17298 := (if local_#31909_tm != local_#17297 then 1 else 0); if (local_#17298 != 0) { goto CFG_49985; } else { goto CFG_39230; } CFG_49985: assume true; local_#17299 := 15; local_#17300 := ~sand32(_memory[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 8 }], local_#17299); local_#17301 := 6; local_#17302 := (if local_#17300 == local_#17301 then 1 else 0); if (local_#17302 != 0) { goto CFG_42821; } else { goto CFG_39230; } CFG_42821: assume true; local_#31913_oldah := _memory[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 204 }]; local_#17303 := _memory[{ base : local_#31908_g!base, offset : local_#31908_g!offset + 87 }]; assert { :LIR "62814" } { :check "overflow" } { :finding_ids "0" } local_#17303 <= 2147483647; local_#31914_running := local_#17303; _memory[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 204 }] := 0; _memory[{ base : local_#31908_g!base, offset : local_#31908_g!offset + 87 }] := 0; local_#31916_io1 := _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#31909_tm)!_value_!_b == _memory[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31909_tm)!_value_!_f == _memory_ptr[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31909_tm)!_value_!_gc == _memory_ptr[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31909_tm)!_value_!_i == _memory[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31909_tm)!_value_!_p == _memory_ptr[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31909_tm)!_tt_ == _memory[{ base : local_#31909_tm!base, offset : local_#31909_tm!offset + 8 }]; call write_type_#101(local_#31916_io1,read_type_#101(_memory, _memory_ptr, local_#31909_tm)); local_#17304 := 0; assert { :LIR "61275" } { :check "overflow" } { :finding_ids "0" } true; local_#17305 := 0; local_#17306 := 0; assert { :LIR "61276" } { :check "overflow" } { :finding_ids "0" } true; local_#17307 := 1; local_#17308 := { base : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!offset + local_#17307 * 16 }; local_#31917_io1 := local_#17308; assume read_type_#101(_memory, _memory_ptr, local_#31910_v)!_value_!_b == _memory[{ base : local_#31910_v!base, offset : local_#31910_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31910_v)!_value_!_f == _memory_ptr[{ base : local_#31910_v!base, offset : local_#31910_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31910_v)!_value_!_gc == _memory_ptr[{ base : local_#31910_v!base, offset : local_#31910_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31910_v)!_value_!_i == _memory[{ base : local_#31910_v!base, offset : local_#31910_v!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#31910_v)!_value_!_p == _memory_ptr[{ base : local_#31910_v!base, offset : local_#31910_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#31910_v)!_tt_ == _memory[{ base : local_#31910_v!base, offset : local_#31910_v!offset + 8 }]; call write_type_#101(local_#31917_io1,read_type_#101(_memory, _memory_ptr, local_#31910_v)); local_#17309 := 0; assert { :LIR "61277" } { :check "overflow" } { :finding_ids "0" } true; local_#17310 := 0; local_#17311 := 0; assert { :LIR "61278" } { :check "overflow" } { :finding_ids "0" } true; local_#17312 := 2; _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!offset + local_#17312 * 16 }; local_#17313 := 256; local_#17314 := _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 32 }]; local_#17315 := _memory[{ base : local_#17314!base, offset : local_#17314!offset + 66 }]; assert { :LIR "62815" } { :check "overflow" } { :finding_ids "0" } local_#17315 <= 2147483647; local_#17316 := ~sor32(local_#17315, local_#17313); _memory[{ base : local_#17314!base, offset : local_#17314!offset + 66 }] := ~uwrap16(local_#17316); assert { :LIR "62816" } { :check "overflow" } { :finding_ids "0" } true; local_#17317 := fun_addr_#34708_dothecall; local_#17318 := { base : 0, offset : 0 }; local_#17319 := 2; local_#17320 := { base : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!offset - local_#17319 * 16 }; local_#17321 := local_#17320; assert { :LIR "61279" } { :check "overflow" } { :finding_ids "0" } true; local_#17322 := _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 56 }]; assert { :LIR "61280" } { :check "overflow" } { :finding_ids "0" } true; local_#17323 := (local_#17321!offset - local_#17322!offset) / 1; local_#17324 := 0; goto CFG_46324; CFG_46324: assume true; call local_#17325 := routine_#33736_luaD_pcall(local_#5351_L,local_#17317,local_#17318,local_#17323,local_#17324); goto CFG_49986; CFG_49986: assume true; local_#31915_status := local_#17325; local_#17326 := -257; local_#17327 := _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 32 }]; local_#17328 := _memory[{ base : local_#17327!base, offset : local_#17327!offset + 66 }]; assert { :LIR "62817" } { :check "overflow" } { :finding_ids "0" } local_#17328 <= 2147483647; local_#17329 := ~sand32(local_#17328, local_#17326); _memory[{ base : local_#17327!base, offset : local_#17327!offset + 66 }] := ~uwrap16(local_#17329); assert { :LIR "62818" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 204 }] := local_#31913_oldah; local_#17330 := ~uwrap8(local_#31914_running); assert { :LIR "62819" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31908_g!base, offset : local_#31908_g!offset + 87 }] := local_#17330; local_#17331 := 0; local_#17332 := (if local_#31915_status != local_#17331 then 1 else 0); if (local_#17332 != 0) { goto CFG_49987; } else { goto CFG_40511; } CFG_49987: assume true; local_#17333 := local_#5352_propagateerrors; if (local_#17333 != 0) { goto CFG_49988; } else { goto CFG_40511; } CFG_40511: assume true; goto CFG_39230; CFG_39230: assume true; goto CFG_37451; CFG_49988: assume true; local_#17334 := 2; local_#17335 := (if local_#31915_status == local_#17334 then 1 else 0); if (local_#17335 != 0) { goto CFG_49989; } else { goto CFG_46326; } CFG_49989: assume true; local_#17336 := 1; local_#17337 := { base : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!offset - local_#17336 * 16 }; local_#17338 := 15; local_#17339 := ~sand32(_memory[{ base : local_#17337!base, offset : local_#17337!offset + 8 }], local_#17338); local_#17340 := 4; local_#17341 := (if local_#17339 == local_#17340 then 1 else 0); if (local_#17341 != 0) { goto CFG_40513; } else { goto CFG_40512; } CFG_40512: assume true; assume _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 0 }] == 110 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 1 }] == 111 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 2 }] == 32 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 3 }] == 109 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 4 }] == 101 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 5 }] == 115 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 6 }] == 115 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 7 }] == 97 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 8 }] == 103 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 9 }] == 101 && _memory[{ base : strlit_#70428!base, offset : strlit_#70428!offset + 10 }] == 0; local_#17342 := strlit_#70428; local_#30714 := { base : local_#17342!base, offset : local_#17342!offset + 0 * 1 }; goto CFG_42822; CFG_40513: assume true; local_#17343 := 1; local_#17344 := { base : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5351_L!base, offset : local_#5351_L!offset + 16 }]!offset - local_#17343 * 16 }; local_#17345 := { base : local_#17344!base, offset : local_#17344!offset + 0 }; local_#17346 := _memory_ptr[local_#17345]; assert { :LIR "61281" } { :check "overflow" } { :finding_ids "0" } true; local_#17347 := { base : local_#17346!base, offset : local_#17346!offset + 0 }; local_#17348 := local_#17347; assert { :LIR "61282" } { :check "overflow" } { :finding_ids "0" } true; local_#17349 := 24; local_#17350 := { base : local_#17348!base, offset : local_#17348!offset + local_#17349 * 1 }; local_#30714 := local_#17350; goto CFG_42822; CFG_42822: assume true; local_#17351 := local_#30714; assert { :LIR "62820" } { :check "overflow" } { :finding_ids "0" } true; local_#31918_msg := local_#17351; assume _memory[{ base : strlit_#70429!base, offset : strlit_#70429!offset + 29 }] == 0; local_#17352 := strlit_#70429; local_#17353 := { base : local_#17352!base, offset : local_#17352!offset + 0 * 1 }; assert { :LIR "62821" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46325; CFG_46325: assume true; call local_#17354 := routine_#33865_luaO_pushfstring(local_#5351_L,local_#17353,{ base : 0, offset : 0 }); goto CFG_40514; CFG_40514: assume true; local_#31915_status := 5; goto CFG_46326; CFG_46326: assume true; call routine_#33743_luaD_throw(local_#5351_L,local_#31915_status); CFG_37451: assume true; } procedure routine_#34553_LEintfloat(local_#5353_i_IN : int, local_#5354_f_IN : int) returns (local_#7929 : int) { var local_#5353_i : int; var local_#5354_f : int; var local_#17355 : int; var local_#17356 : int; var local_#17357 : int; var local_#17358 : int; var nondet_#0 : int; var local_#17359 : int; var nondet_#1 : bool; var local_#17360 : int; var nondet_#2 : int; var local_#17361 : int; var nondet_#3 : bool; var local_#17362 : int; var local_#17363 : int; var nondet_#4 : int; var local_#17364 : int; var nondet_#5 : int; var local_#17365 : int; var nondet_#6 : bool; var local_#17366 : int; local_#5353_i := local_#5353_i_IN; local_#5354_f := local_#5354_f_IN; goto CFG_36541; CFG_36541: assume true; goto CFG_49990; CFG_49990: assume true; local_#17355 := -9007199254740992; local_#17356 := (if local_#17355 <= local_#5353_i then 1 else 0); if (local_#17356 != 0) { goto CFG_49991; } else { goto CFG_49992; } CFG_49991: assume true; local_#17357 := 9007199254740992; local_#17358 := (if local_#5353_i <= local_#17357 then 1 else 0); if (local_#17358 != 0) { goto CFG_38330; } else { goto CFG_49992; } CFG_49992: assume true; havoc nondet_#0; local_#17359 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78613 */; havoc nondet_#1; local_#17360 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65719. */ then 1 else 0); if (local_#17360 != 0) { goto CFG_38329; } else { goto CFG_49993; } CFG_49993: assume true; havoc nondet_#2; local_#17361 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78614 */; havoc nondet_#3; local_#17362 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65720. */ then 1 else 0); if (local_#17362 != 0) { goto CFG_38328; } else { goto CFG_38327; } CFG_38327: assume true; local_#7929 := 0; goto CFG_37452; CFG_38328: assume true; havoc nondet_#4; local_#17363 := nondet_#4 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61283 */; assert { :LIR "61283" } { :check "overflow" } { :finding_ids "0" } local_#17363 <= 9223372036854775807; local_#17364 := (if local_#5353_i <= local_#17363 then 1 else 0); local_#7929 := local_#17364; goto CFG_37452; CFG_38329: assume true; local_#7929 := 1; goto CFG_37452; CFG_38330: assume true; havoc nondet_#5; local_#17365 := nondet_#5 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61284 */; assert { :LIR "61284" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#6; local_#17366 := (if nondet_#6 /* IR2BOOGIE-ERROR: Unsupported type for relation <= in 66035. */ then 1 else 0); local_#7929 := local_#17366; goto CFG_37452; CFG_37452: assume true; } procedure routine_#34554_LEnum(local_#5355_l_IN : { base : int, offset : int }, local_#5356_r_IN : { base : int, offset : int }) returns (local_#7930 : int) { var local_#5355_l : { base : int, offset : int }; var local_#5356_r : { base : int, offset : int }; var local_#17367 : int; var local_#17368 : int; var local_#17369 : { base : int, offset : int }; var nondet_#0 : int; var local_#31920_lf : int; var local_#17370 : int; var local_#17371 : int; var nondet_#1 : bool; var local_#17372 : int; var local_#17373 : int; var local_#17374 : { base : int, offset : int }; var local_#17375 : int; var local_#17376 : int; var local_#17377 : int; var local_#17378 : { base : int, offset : int }; var nondet_#2 : int; var nondet_#3 : bool; var local_#17379 : int; var local_#17380 : { base : int, offset : int }; var local_#31919_li : int; var local_#17381 : int; var local_#17382 : int; var local_#17383 : { base : int, offset : int }; var nondet_#4 : int; var local_#17384 : int; var local_#17385 : int; var local_#17386 : { base : int, offset : int }; var local_#17387 : int; local_#5355_l := local_#5355_l_IN; local_#5356_r := local_#5356_r_IN; goto CFG_36542; CFG_36542: assume true; goto CFG_49994; CFG_49994: assume true; local_#17367 := 19; local_#17368 := (if _memory[{ base : local_#5355_l!base, offset : local_#5355_l!offset + 8 }] == local_#17367 then 1 else 0); if (local_#17368 != 0) { goto CFG_49997; } else { goto CFG_49995; } CFG_49995: assume true; local_#17369 := { base : local_#5355_l!base, offset : local_#5355_l!offset + 0 }; havoc nondet_#0; local_#31920_lf := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#17370 := 3; local_#17371 := (if _memory[{ base : local_#5356_r!base, offset : local_#5356_r!offset + 8 }] == local_#17370 then 1 else 0); if (local_#17371 != 0) { goto CFG_38333; } else { goto CFG_49996; } CFG_49996: assume true; havoc nondet_#1; local_#17372 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65005. */ then 1 else 0); local_#17373 := (if local_#17372 != 0 then 0 else 1); if (local_#17373 != 0) { goto CFG_38332; } else { goto CFG_42823; } CFG_42823: assume true; local_#17374 := { base : local_#5356_r!base, offset : local_#5356_r!offset + 0 }; local_#17375 := _memory[local_#17374]; goto CFG_46327; CFG_46327: assume true; call local_#17376 := routine_#34555_LTintfloat(local_#17375,local_#31920_lf); goto CFG_38331; CFG_38331: assume true; local_#17377 := (if local_#17376 != 0 then 0 else 1); local_#7930 := local_#17377; goto CFG_37453; CFG_38332: assume true; local_#7930 := 0; goto CFG_37453; CFG_38333: assume true; local_#17378 := { base : local_#5356_r!base, offset : local_#5356_r!offset + 0 }; havoc nondet_#2; havoc nondet_#3; local_#17379 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation <= in 66036. */ then 1 else 0); local_#7930 := local_#17379; goto CFG_37453; CFG_49997: assume true; local_#17380 := { base : local_#5355_l!base, offset : local_#5355_l!offset + 0 }; local_#31919_li := _memory[local_#17380]; local_#17381 := 19; local_#17382 := (if _memory[{ base : local_#5356_r!base, offset : local_#5356_r!offset + 8 }] == local_#17381 then 1 else 0); if (local_#17382 != 0) { goto CFG_38335; } else { goto CFG_42824; } CFG_42824: assume true; local_#17383 := { base : local_#5356_r!base, offset : local_#5356_r!offset + 0 }; havoc nondet_#4; local_#17384 := nondet_#4 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_46328; CFG_46328: assume true; call local_#17385 := routine_#34553_LEintfloat(local_#31919_li,local_#17384); goto CFG_38334; CFG_38334: assume true; local_#7930 := local_#17385; goto CFG_37453; CFG_38335: assume true; local_#17386 := { base : local_#5356_r!base, offset : local_#5356_r!offset + 0 }; local_#17387 := (if local_#31919_li <= _memory[local_#17386] then 1 else 0); local_#7930 := local_#17387; goto CFG_37453; CFG_37453: assume true; } procedure routine_#34555_LTintfloat(local_#5357_i_IN : int, local_#5358_f_IN : int) returns (local_#7931 : int) { var local_#5357_i : int; var local_#5358_f : int; var local_#17388 : int; var local_#17389 : int; var local_#17390 : int; var local_#17391 : int; var nondet_#0 : int; var local_#17392 : int; var nondet_#1 : bool; var local_#17393 : int; var nondet_#2 : int; var local_#17394 : int; var nondet_#3 : bool; var local_#17395 : int; var local_#17396 : int; var nondet_#4 : int; var local_#17397 : int; var nondet_#5 : int; var local_#17398 : int; var nondet_#6 : bool; var local_#17399 : int; local_#5357_i := local_#5357_i_IN; local_#5358_f := local_#5358_f_IN; goto CFG_36543; CFG_36543: assume true; goto CFG_49998; CFG_49998: assume true; local_#17388 := -9007199254740992; local_#17389 := (if local_#17388 <= local_#5357_i then 1 else 0); if (local_#17389 != 0) { goto CFG_49999; } else { goto CFG_50000; } CFG_49999: assume true; local_#17390 := 9007199254740992; local_#17391 := (if local_#5357_i <= local_#17390 then 1 else 0); if (local_#17391 != 0) { goto CFG_38339; } else { goto CFG_50000; } CFG_50000: assume true; havoc nondet_#0; local_#17392 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78615 */; havoc nondet_#1; local_#17393 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65721. */ then 1 else 0); if (local_#17393 != 0) { goto CFG_38338; } else { goto CFG_50001; } CFG_50001: assume true; havoc nondet_#2; local_#17394 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78616 */; havoc nondet_#3; local_#17395 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation > in 65845. */ then 1 else 0); if (local_#17395 != 0) { goto CFG_38337; } else { goto CFG_38336; } CFG_38336: assume true; local_#7931 := 0; goto CFG_37454; CFG_38337: assume true; havoc nondet_#4; local_#17396 := nondet_#4 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61285 */; assert { :LIR "61285" } { :check "overflow" } { :finding_ids "0" } local_#17396 <= 9223372036854775807; local_#17397 := (if local_#5357_i < local_#17396 then 1 else 0); local_#7931 := local_#17397; goto CFG_37454; CFG_38338: assume true; local_#7931 := 1; goto CFG_37454; CFG_38339: assume true; havoc nondet_#5; local_#17398 := nondet_#5 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61286 */; assert { :LIR "61286" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#6; local_#17399 := (if nondet_#6 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66201. */ then 1 else 0); local_#7931 := local_#17399; goto CFG_37454; CFG_37454: assume true; } procedure routine_#34556_LTnum(local_#5359_l_IN : { base : int, offset : int }, local_#5360_r_IN : { base : int, offset : int }) returns (local_#7932 : int) { var local_#5359_l : { base : int, offset : int }; var local_#5360_r : { base : int, offset : int }; var local_#17400 : int; var local_#17401 : int; var local_#17402 : { base : int, offset : int }; var nondet_#0 : int; var local_#31922_lf : int; var local_#17403 : int; var local_#17404 : int; var nondet_#1 : bool; var local_#17405 : int; var local_#17406 : int; var local_#17407 : { base : int, offset : int }; var local_#17408 : int; var local_#17409 : int; var local_#17410 : int; var local_#17411 : { base : int, offset : int }; var nondet_#2 : int; var nondet_#3 : bool; var local_#17412 : int; var local_#17413 : { base : int, offset : int }; var local_#31921_li : int; var local_#17414 : int; var local_#17415 : int; var local_#17416 : { base : int, offset : int }; var nondet_#4 : int; var local_#17417 : int; var local_#17418 : int; var local_#17419 : { base : int, offset : int }; var local_#17420 : int; local_#5359_l := local_#5359_l_IN; local_#5360_r := local_#5360_r_IN; goto CFG_36544; CFG_36544: assume true; goto CFG_50002; CFG_50002: assume true; local_#17400 := 19; local_#17401 := (if _memory[{ base : local_#5359_l!base, offset : local_#5359_l!offset + 8 }] == local_#17400 then 1 else 0); if (local_#17401 != 0) { goto CFG_50005; } else { goto CFG_50003; } CFG_50003: assume true; local_#17402 := { base : local_#5359_l!base, offset : local_#5359_l!offset + 0 }; havoc nondet_#0; local_#31922_lf := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#17403 := 3; local_#17404 := (if _memory[{ base : local_#5360_r!base, offset : local_#5360_r!offset + 8 }] == local_#17403 then 1 else 0); if (local_#17404 != 0) { goto CFG_38342; } else { goto CFG_50004; } CFG_50004: assume true; havoc nondet_#1; local_#17405 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65009. */ then 1 else 0); local_#17406 := (if local_#17405 != 0 then 0 else 1); if (local_#17406 != 0) { goto CFG_38341; } else { goto CFG_42825; } CFG_42825: assume true; local_#17407 := { base : local_#5360_r!base, offset : local_#5360_r!offset + 0 }; local_#17408 := _memory[local_#17407]; goto CFG_46329; CFG_46329: assume true; call local_#17409 := routine_#34553_LEintfloat(local_#17408,local_#31922_lf); goto CFG_38340; CFG_38340: assume true; local_#17410 := (if local_#17409 != 0 then 0 else 1); local_#7932 := local_#17410; goto CFG_37455; CFG_38341: assume true; local_#7932 := 0; goto CFG_37455; CFG_38342: assume true; local_#17411 := { base : local_#5360_r!base, offset : local_#5360_r!offset + 0 }; havoc nondet_#2; havoc nondet_#3; local_#17412 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66202. */ then 1 else 0); local_#7932 := local_#17412; goto CFG_37455; CFG_50005: assume true; local_#17413 := { base : local_#5359_l!base, offset : local_#5359_l!offset + 0 }; local_#31921_li := _memory[local_#17413]; local_#17414 := 19; local_#17415 := (if _memory[{ base : local_#5360_r!base, offset : local_#5360_r!offset + 8 }] == local_#17414 then 1 else 0); if (local_#17415 != 0) { goto CFG_38344; } else { goto CFG_42826; } CFG_42826: assume true; local_#17416 := { base : local_#5360_r!base, offset : local_#5360_r!offset + 0 }; havoc nondet_#4; local_#17417 := nondet_#4 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_46330; CFG_46330: assume true; call local_#17418 := routine_#34555_LTintfloat(local_#31921_li,local_#17417); goto CFG_38343; CFG_38343: assume true; local_#7932 := local_#17418; goto CFG_37455; CFG_38344: assume true; local_#17419 := { base : local_#5360_r!base, offset : local_#5360_r!offset + 0 }; local_#17420 := (if local_#31921_li < _memory[local_#17419] then 1 else 0); local_#7932 := local_#17420; goto CFG_37455; CFG_37455: assume true; } procedure routine_#34557_LoadBlock(local_#5361_S_IN : { base : int, offset : int }, local_#5362_b_IN : { base : int, offset : int }, local_#5363_size_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5361_S : { base : int, offset : int }; var local_#5362_b : { base : int, offset : int }; var local_#5363_size : int; var local_#17421 : { base : int, offset : int }; var local_#17422 : int; var local_#17423 : int; var local_#17424 : int; var local_#17425 : { base : int, offset : int }; var local_#17426 : { base : int, offset : int }; local_#5361_S := local_#5361_S_IN; local_#5362_b := local_#5362_b_IN; local_#5363_size := local_#5363_size_IN; goto CFG_36545; CFG_36545: assume true; goto CFG_42827; CFG_42827: assume true; local_#17421 := _memory_ptr[{ base : local_#5361_S!base, offset : local_#5361_S!offset + 8 }]; goto CFG_46331; CFG_46331: assume true; call local_#17422 := routine_#33915_luaZ_read(local_#17421,local_#5362_b,local_#5363_size); goto CFG_50006; CFG_50006: assume true; local_#17423 := 0; local_#17424 := (if local_#17422 != local_#17423 then 1 else 0); if (local_#17424 != 0) { goto CFG_42828; } else { goto CFG_39231; } CFG_39231: assume true; goto CFG_37456; CFG_42828: assume true; assume _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 0 }] == 116 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 1 }] == 114 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 2 }] == 117 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 3 }] == 110 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 4 }] == 99 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 5 }] == 97 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 6 }] == 116 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 7 }] == 101 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 8 }] == 100 && _memory[{ base : strlit_#70430!base, offset : strlit_#70430!offset + 9 }] == 0; local_#17425 := strlit_#70430; local_#17426 := { base : local_#17425!base, offset : local_#17425!offset + 0 * 1 }; assert { :LIR "62822" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46332; CFG_46332: assume true; call routine_#34714_error(local_#5361_S,local_#17426); CFG_37456: assume true; } procedure routine_#34558_LoadByte(local_#5364_S_IN : { base : int, offset : int }) returns (local_#7933 : int) modifies _memory, _memory_ptr, _valid; { var local_#5364_S : { base : int, offset : int }; var local_#31923_x : { base : int, offset : int }; var local_#17427 : { base : int, offset : int }; var local_#17428 : int; local_#5364_S := local_#5364_S_IN; goto CFG_36546; CFG_36546: assume true; goto CFG_42829; CFG_42829: assume true; local_#17427 := local_#31923_x; assert { :LIR "62823" } { :check "overflow" } { :finding_ids "0" } true; local_#17428 := 1; goto CFG_46333; CFG_46333: assume true; call routine_#34557_LoadBlock(local_#5364_S,local_#17427,local_#17428); goto CFG_38345; CFG_38345: assume true; local_#7933 := _memory[local_#31923_x]; goto CFG_37457; CFG_37457: assume true; } procedure routine_#34559_LoadCode(local_#5365_S_IN : { base : int, offset : int }, local_#5366_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5365_S : { base : int, offset : int }; var local_#5366_f : { base : int, offset : int }; var local_#17429 : int; var local_#31924_n : int; var local_#17430 : int; var local_#17431 : int; var local_#17432 : int; var local_#17433 : int; var local_#17434 : int; var local_#17435 : int; var local_#17436 : int; var local_#17437 : int; var local_#17438 : { base : int, offset : int }; var local_#17439 : { base : int, offset : int }; var local_#17440 : int; var local_#17441 : int; var local_#17442 : int; var local_#17443 : int; var local_#17444 : { base : int, offset : int }; var local_#17445 : { base : int, offset : int }; var local_#17446 : { base : int, offset : int }; var local_#17447 : int; var local_#17448 : int; var local_#17449 : int; var local_#17450 : { base : int, offset : int }; local_#5365_S := local_#5365_S_IN; local_#5366_f := local_#5366_f_IN; goto CFG_36547; CFG_36547: assume true; goto CFG_46334; CFG_46334: assume true; call local_#17429 := routine_#34563_LoadInt(local_#5365_S); goto CFG_50007; CFG_50007: assume true; local_#31924_n := local_#17429; local_#17430 := 0; if (local_#17430 != 0) { goto CFG_50008; } else { goto CFG_40515; } CFG_50008: assume true; local_#17431 := ~uwrap64(local_#31924_n); assert { :LIR "61287" } { :check "overflow" } { :finding_ids "0" } true; local_#17432 := 1; assume { :symbol "~uwrap64" } true; local_#17433 := ~uwrap64(local_#17431 + local_#17432); assert { :LIR "66501" } { :check "overflow" } { :finding_ids "0" } true; local_#17434 := 4611686018427387903; local_#17435 := (if local_#17433 > local_#17434 then 1 else 0); if (local_#17435 != 0) { goto CFG_42832; } else { goto CFG_40515; } CFG_40515: assume true; local_#17436 := 0; local_#17437 := 0; assert { :LIR "61288" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42830; CFG_42830: assume true; local_#17438 := _memory_ptr[{ base : local_#5365_S!base, offset : local_#5365_S!offset + 0 }]; local_#17439 := { base : 0, offset : 0 }; local_#17440 := 0; local_#17441 := ~uwrap64(local_#31924_n); assert { :LIR "62824" } { :check "overflow" } { :finding_ids "0" } true; local_#17442 := 4; assume { :symbol "~uwrap64" } true; local_#17443 := ~uwrap64(local_#17441 * local_#17442); assert { :LIR "68539" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46335; CFG_46335: assume true; call local_#17444 := routine_#33857_luaM_realloc_(local_#17438,local_#17439,local_#17440,local_#17443); goto CFG_42831; CFG_42831: assume true; local_#17445 := local_#17444; assert { :LIR "61289" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5366_f!base, offset : local_#5366_f!offset + 56 }] := local_#17445; _memory[{ base : local_#5366_f!base, offset : local_#5366_f!offset + 24 }] := local_#31924_n; local_#17446 := _memory_ptr[{ base : local_#5366_f!base, offset : local_#5366_f!offset + 56 }]; assert { :LIR "62825" } { :check "overflow" } { :finding_ids "0" } true; local_#17447 := ~uwrap64(local_#31924_n); assert { :LIR "62826" } { :check "overflow" } { :finding_ids "0" } true; local_#17448 := 4; assume { :symbol "~uwrap64" } true; local_#17449 := ~uwrap64(local_#17447 * local_#17448); assert { :LIR "68540" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46336; CFG_46336: assume true; call routine_#34557_LoadBlock(local_#5365_S,local_#17446,local_#17449); goto CFG_39232; CFG_39232: assume true; goto CFG_37458; CFG_42832: assume true; local_#17450 := _memory_ptr[{ base : local_#5365_S!base, offset : local_#5365_S!offset + 0 }]; goto CFG_46337; CFG_46337: assume true; call routine_#33858_luaM_toobig(local_#17450); CFG_40516: assume true; goto CFG_42830; CFG_37458: assume true; } procedure routine_#34560_LoadConstants(local_#5367_S_IN : { base : int, offset : int }, local_#5368_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5367_S : { base : int, offset : int }; var local_#5368_f : { base : int, offset : int }; var local_#17451 : int; var local_#31926_n : int; var local_#17452 : int; var local_#17453 : int; var local_#17454 : int; var local_#17455 : int; var local_#17456 : int; var local_#17457 : int; var local_#17458 : int; var local_#17459 : int; var local_#17460 : { base : int, offset : int }; var local_#17461 : { base : int, offset : int }; var local_#17462 : int; var local_#17463 : int; var local_#17464 : int; var local_#17465 : int; var local_#17466 : { base : int, offset : int }; var local_#17467 : { base : int, offset : int }; var local_#31925_i : int; var local_#17468 : int; var local_#17469 : int; var local_#17470 : { base : int, offset : int }; var local_#31927_o : { base : int, offset : int }; var local_#17471 : int; var local_#17472 : int; var local_#31928_t : int; var local_#17473 : int; var local_#17474 : int; var local_#17475 : int; var local_#31932_io : { base : int, offset : int }; var local_#17476 : { base : int, offset : int }; var local_#31933_x_ : { base : int, offset : int }; var local_#17477 : { base : int, offset : int }; var local_#17478 : { base : int, offset : int }; var local_#17479 : { base : int, offset : int }; var local_#17480 : int; var local_#17481 : int; var local_#17482 : int; var local_#17483 : int; var local_#17484 : int; var local_#31931_io : { base : int, offset : int }; var local_#17485 : int; var local_#17486 : { base : int, offset : int }; var local_#31930_io : { base : int, offset : int }; var local_#17487 : int; var local_#17488 : { base : int, offset : int }; var local_#31929_io : { base : int, offset : int }; var local_#17489 : int; var local_#17490 : int; var local_#17491 : { base : int, offset : int }; var local_#17492 : int; var local_#17493 : int; var local_#17494 : int; var local_#17495 : int; var local_#17496 : { base : int, offset : int }; var local_#17497 : int; var local_#17498 : int; var local_#17499 : int; var local_#17500 : { base : int, offset : int }; local_#5367_S := local_#5367_S_IN; local_#5368_f := local_#5368_f_IN; goto CFG_36548; CFG_36548: assume true; goto CFG_46338; CFG_46338: assume true; call local_#17451 := routine_#34563_LoadInt(local_#5367_S); goto CFG_50009; CFG_50009: assume true; local_#31926_n := local_#17451; local_#17452 := 0; if (local_#17452 != 0) { goto CFG_50010; } else { goto CFG_40517; } CFG_50010: assume true; local_#17453 := ~uwrap64(local_#31926_n); assert { :LIR "61290" } { :check "overflow" } { :finding_ids "0" } true; local_#17454 := 1; assume { :symbol "~uwrap64" } true; local_#17455 := ~uwrap64(local_#17453 + local_#17454); assert { :LIR "66502" } { :check "overflow" } { :finding_ids "0" } true; local_#17456 := 1152921504606846975; local_#17457 := (if local_#17455 > local_#17456 then 1 else 0); if (local_#17457 != 0) { goto CFG_42841; } else { goto CFG_40517; } CFG_40517: assume true; local_#17458 := 0; local_#17459 := 0; assert { :LIR "61291" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42833; CFG_42833: assume true; local_#17460 := _memory_ptr[{ base : local_#5367_S!base, offset : local_#5367_S!offset + 0 }]; local_#17461 := { base : 0, offset : 0 }; local_#17462 := 0; local_#17463 := ~uwrap64(local_#31926_n); assert { :LIR "62827" } { :check "overflow" } { :finding_ids "0" } true; local_#17464 := 16; assume { :symbol "~uwrap64" } true; local_#17465 := ~uwrap64(local_#17463 * local_#17464); assert { :LIR "68541" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46339; CFG_46339: assume true; call local_#17466 := routine_#33857_luaM_realloc_(local_#17460,local_#17461,local_#17462,local_#17465); goto CFG_41683; CFG_41683: assume true; local_#17467 := local_#17466; assert { :LIR "61292" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5368_f!base, offset : local_#5368_f!offset + 48 }] := local_#17467; _memory[{ base : local_#5368_f!base, offset : local_#5368_f!offset + 20 }] := local_#31926_n; local_#31925_i := 0; goto CFG_50011; CFG_50011: assume true; local_#17468 := (if local_#31925_i < local_#31926_n then 1 else 0); if (local_#17468 != 0) { goto CFG_42840; } else { goto CFG_41684; } CFG_41684: assume true; local_#31925_i := 0; goto CFG_50012; CFG_50012: assume true; local_#17469 := (if local_#31925_i < local_#31926_n then 1 else 0); if (local_#17469 != 0) { goto CFG_42834; } else { goto CFG_39233; } CFG_39233: assume true; goto CFG_37459; CFG_42834: assume true; local_#17470 := { base : _memory_ptr[{ base : local_#5368_f!base, offset : local_#5368_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#5368_f!base, offset : local_#5368_f!offset + 48 }]!offset + local_#31925_i * 16 }; local_#31927_o := local_#17470; goto CFG_46340; CFG_46340: assume true; call local_#17471 := routine_#34558_LoadByte(local_#5367_S); goto CFG_51527; CFG_51527: assume true; local_#17472 := local_#17471; assert { :LIR "62828" } { :check "overflow" } { :finding_ids "0" } local_#17472 <= 2147483647; local_#31928_t := local_#17472; local_#17473 := local_#31928_t; if (local_#17473 == 0) { goto CFG_39586; } if (local_#17473 == 1) { goto CFG_42839; } if (local_#17473 == 3) { goto CFG_42838; } if (local_#17473 == 19) { goto CFG_42837; } if (local_#17473 == 4) { goto CFG_42836; } if (local_#17473 == 20) { goto CFG_42836; } goto CFG_42835; CFG_42835: assume true; local_#17474 := 0; local_#17475 := 0; assert { :LIR "61293" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41926; CFG_41926: assume true; goto CFG_45024; CFG_42836: assume true; local_#31932_io := local_#31927_o; goto CFG_46341; CFG_46341: assume true; call local_#17476 := routine_#34567_LoadString(local_#5367_S); goto CFG_39582; CFG_39582: assume true; local_#31933_x_ := local_#17476; local_#17477 := local_#31933_x_; assert { :LIR "61294" } { :check "overflow" } { :finding_ids "0" } true; local_#17478 := { base : local_#17477!base, offset : local_#17477!offset + 0 }; local_#17479 := { base : local_#31932_io!base, offset : local_#31932_io!offset + 0 }; _memory_ptr[local_#17479] := local_#17478; local_#17480 := _memory[{ base : local_#31933_x_!base, offset : local_#31933_x_!offset + 8 }]; assert { :LIR "62829" } { :check "overflow" } { :finding_ids "0" } local_#17480 <= 2147483647; local_#17481 := 64; local_#17482 := ~sor32(local_#17480, local_#17481); _memory[{ base : local_#31932_io!base, offset : local_#31932_io!offset + 8 }] := local_#17482; local_#17483 := 0; local_#17484 := 0; assert { :LIR "61295" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45024; CFG_42837: assume true; local_#31931_io := local_#31927_o; goto CFG_46342; CFG_46342: assume true; call local_#17485 := routine_#34564_LoadInteger(local_#5367_S); goto CFG_39583; CFG_39583: assume true; local_#17486 := { base : local_#31931_io!base, offset : local_#31931_io!offset + 0 }; _memory[local_#17486] := local_#17485; _memory[{ base : local_#31931_io!base, offset : local_#31931_io!offset + 8 }] := 19; goto CFG_45024; CFG_42838: assume true; local_#31930_io := local_#31927_o; goto CFG_46343; CFG_46343: assume true; call local_#17487 := routine_#34565_LoadNumber(local_#5367_S); goto CFG_39584; CFG_39584: assume true; local_#17488 := { base : local_#31930_io!base, offset : local_#31930_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#31930_io!base, offset : local_#31930_io!offset + 8 }] := 3; goto CFG_45024; CFG_42839: assume true; local_#31929_io := local_#31927_o; goto CFG_46344; CFG_46344: assume true; call local_#17489 := routine_#34558_LoadByte(local_#5367_S); goto CFG_39585; CFG_39585: assume true; local_#17490 := local_#17489; assert { :LIR "62830" } { :check "overflow" } { :finding_ids "0" } local_#17490 <= 2147483647; local_#17491 := { base : local_#31929_io!base, offset : local_#31929_io!offset + 0 }; _memory[local_#17491] := local_#17490; _memory[{ base : local_#31929_io!base, offset : local_#31929_io!offset + 8 }] := 1; goto CFG_45024; CFG_39586: assume true; _memory[{ base : local_#31927_o!base, offset : local_#31927_o!offset + 8 }] := 0; goto CFG_45024; CFG_45024: assume true; local_#17492 := local_#31925_i; local_#17493 := 1; local_#31925_i := local_#17492 + local_#17493; assert { :LIR "66503" } { :check "overflow" } { :finding_ids "0" } local_#31925_i <= 2147483647; local_#17494 := local_#17492; goto CFG_50012; CFG_42840: assume true; local_#17495 := 0; local_#17496 := { base : _memory_ptr[{ base : local_#5368_f!base, offset : local_#5368_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#5368_f!base, offset : local_#5368_f!offset + 48 }]!offset + local_#31925_i * 16 }; _memory[{ base : local_#17496!base, offset : local_#17496!offset + 8 }] := local_#17495; goto CFG_45025; CFG_45025: assume true; local_#17497 := local_#31925_i; local_#17498 := 1; local_#31925_i := local_#17497 + local_#17498; assert { :LIR "66504" } { :check "overflow" } { :finding_ids "0" } local_#31925_i <= 2147483647; local_#17499 := local_#17497; goto CFG_50011; CFG_42841: assume true; local_#17500 := _memory_ptr[{ base : local_#5367_S!base, offset : local_#5367_S!offset + 0 }]; goto CFG_46345; CFG_46345: assume true; call routine_#33858_luaM_toobig(local_#17500); CFG_40518: assume true; goto CFG_42833; CFG_37459: assume true; } procedure routine_#34561_LoadDebug(local_#5369_S_IN : { base : int, offset : int }, local_#5370_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5369_S : { base : int, offset : int }; var local_#5370_f : { base : int, offset : int }; var local_#17501 : int; var local_#31935_n : int; var local_#17502 : int; var local_#17503 : int; var local_#17504 : int; var local_#17505 : int; var local_#17506 : int; var local_#17507 : int; var local_#17508 : int; var local_#17509 : int; var local_#17510 : { base : int, offset : int }; var local_#17511 : { base : int, offset : int }; var local_#17512 : int; var local_#17513 : int; var local_#17514 : int; var local_#17515 : int; var local_#17516 : { base : int, offset : int }; var local_#17517 : { base : int, offset : int }; var local_#17518 : { base : int, offset : int }; var local_#17519 : int; var local_#17520 : int; var local_#17521 : int; var local_#17522 : int; var local_#17523 : int; var local_#17524 : int; var local_#17525 : int; var local_#17526 : int; var local_#17527 : int; var local_#17528 : int; var local_#17529 : int; var local_#17530 : int; var local_#17531 : { base : int, offset : int }; var local_#17532 : { base : int, offset : int }; var local_#17533 : int; var local_#17534 : int; var local_#17535 : int; var local_#17536 : int; var local_#17537 : { base : int, offset : int }; var local_#17538 : { base : int, offset : int }; var local_#31934_i : int; var local_#17539 : int; var local_#17540 : int; var local_#17541 : int; var local_#17542 : int; var local_#17543 : { base : int, offset : int }; var local_#17544 : { base : int, offset : int }; var local_#17545 : int; var local_#17546 : int; var local_#17547 : int; var local_#17548 : { base : int, offset : int }; var local_#17549 : { base : int, offset : int }; var local_#17550 : int; var local_#17551 : { base : int, offset : int }; var local_#17552 : int; var local_#17553 : { base : int, offset : int }; var local_#17554 : int; var local_#17555 : int; var local_#17556 : int; var local_#17557 : { base : int, offset : int }; var local_#17558 : { base : int, offset : int }; var local_#17559 : int; var local_#17560 : int; var local_#17561 : int; var local_#17562 : { base : int, offset : int }; var local_#17563 : { base : int, offset : int }; local_#5369_S := local_#5369_S_IN; local_#5370_f := local_#5370_f_IN; goto CFG_36549; CFG_36549: assume true; goto CFG_46346; CFG_46346: assume true; call local_#17501 := routine_#34563_LoadInt(local_#5369_S); goto CFG_50013; CFG_50013: assume true; local_#31935_n := local_#17501; local_#17502 := 0; if (local_#17502 != 0) { goto CFG_50014; } else { goto CFG_40519; } CFG_50014: assume true; local_#17503 := ~uwrap64(local_#31935_n); assert { :LIR "61296" } { :check "overflow" } { :finding_ids "0" } true; local_#17504 := 1; assume { :symbol "~uwrap64" } true; local_#17505 := ~uwrap64(local_#17503 + local_#17504); assert { :LIR "66505" } { :check "overflow" } { :finding_ids "0" } true; local_#17506 := 4611686018427387903; local_#17507 := (if local_#17505 > local_#17506 then 1 else 0); if (local_#17507 != 0) { goto CFG_42851; } else { goto CFG_40519; } CFG_40519: assume true; local_#17508 := 0; local_#17509 := 0; assert { :LIR "61297" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42842; CFG_42842: assume true; local_#17510 := _memory_ptr[{ base : local_#5369_S!base, offset : local_#5369_S!offset + 0 }]; local_#17511 := { base : 0, offset : 0 }; local_#17512 := 0; local_#17513 := ~uwrap64(local_#31935_n); assert { :LIR "62831" } { :check "overflow" } { :finding_ids "0" } true; local_#17514 := 4; assume { :symbol "~uwrap64" } true; local_#17515 := ~uwrap64(local_#17513 * local_#17514); assert { :LIR "68542" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46347; CFG_46347: assume true; call local_#17516 := routine_#33857_luaM_realloc_(local_#17510,local_#17511,local_#17512,local_#17515); goto CFG_42843; CFG_42843: assume true; local_#17517 := local_#17516; assert { :LIR "61298" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 72 }] := local_#17517; _memory[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 28 }] := local_#31935_n; local_#17518 := _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 72 }]; assert { :LIR "62832" } { :check "overflow" } { :finding_ids "0" } true; local_#17519 := ~uwrap64(local_#31935_n); assert { :LIR "62833" } { :check "overflow" } { :finding_ids "0" } true; local_#17520 := 4; assume { :symbol "~uwrap64" } true; local_#17521 := ~uwrap64(local_#17519 * local_#17520); assert { :LIR "68543" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46348; CFG_46348: assume true; call routine_#34557_LoadBlock(local_#5369_S,local_#17518,local_#17521); goto CFG_46349; CFG_46349: assume true; call local_#17522 := routine_#34563_LoadInt(local_#5369_S); goto CFG_50015; CFG_50015: assume true; local_#31935_n := local_#17522; local_#17523 := 0; if (local_#17523 != 0) { goto CFG_50016; } else { goto CFG_40520; } CFG_50016: assume true; local_#17524 := ~uwrap64(local_#31935_n); assert { :LIR "61299" } { :check "overflow" } { :finding_ids "0" } true; local_#17525 := 1; assume { :symbol "~uwrap64" } true; local_#17526 := ~uwrap64(local_#17524 + local_#17525); assert { :LIR "66506" } { :check "overflow" } { :finding_ids "0" } true; local_#17527 := 1152921504606846975; local_#17528 := (if local_#17526 > local_#17527 then 1 else 0); if (local_#17528 != 0) { goto CFG_42850; } else { goto CFG_40520; } CFG_40520: assume true; local_#17529 := 0; local_#17530 := 0; assert { :LIR "61300" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42844; CFG_42844: assume true; local_#17531 := _memory_ptr[{ base : local_#5369_S!base, offset : local_#5369_S!offset + 0 }]; local_#17532 := { base : 0, offset : 0 }; local_#17533 := 0; local_#17534 := ~uwrap64(local_#31935_n); assert { :LIR "62834" } { :check "overflow" } { :finding_ids "0" } true; local_#17535 := 16; assume { :symbol "~uwrap64" } true; local_#17536 := ~uwrap64(local_#17534 * local_#17535); assert { :LIR "68544" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46350; CFG_46350: assume true; call local_#17537 := routine_#33857_luaM_realloc_(local_#17531,local_#17532,local_#17533,local_#17536); goto CFG_41685; CFG_41685: assume true; local_#17538 := local_#17537; assert { :LIR "61301" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }] := local_#17538; _memory[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 36 }] := local_#31935_n; local_#31934_i := 0; goto CFG_50017; CFG_50017: assume true; local_#17539 := (if local_#31934_i < local_#31935_n then 1 else 0); if (local_#17539 != 0) { goto CFG_42849; } else { goto CFG_41686; } CFG_41686: assume true; local_#31934_i := 0; goto CFG_50018; CFG_50018: assume true; local_#17540 := (if local_#31934_i < local_#31935_n then 1 else 0); if (local_#17540 != 0) { goto CFG_46353; } else { goto CFG_46351; } CFG_46351: assume true; call local_#17541 := routine_#34563_LoadInt(local_#5369_S); goto CFG_41687; CFG_41687: assume true; local_#31935_n := local_#17541; local_#31934_i := 0; goto CFG_50019; CFG_50019: assume true; local_#17542 := (if local_#31934_i < local_#31935_n then 1 else 0); if (local_#17542 != 0) { goto CFG_46352; } else { goto CFG_39234; } CFG_39234: assume true; goto CFG_37460; CFG_46352: assume true; call local_#17543 := routine_#34567_LoadString(local_#5369_S); goto CFG_42845; CFG_42845: assume true; local_#17544 := { base : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 88 }]!offset + local_#31934_i * 16 }; _memory_ptr[{ base : local_#17544!base, offset : local_#17544!offset + 0 }] := local_#17543; goto CFG_45026; CFG_45026: assume true; local_#17545 := local_#31934_i; local_#17546 := 1; local_#31934_i := local_#17545 + local_#17546; assert { :LIR "66507" } { :check "overflow" } { :finding_ids "0" } local_#31934_i <= 2147483647; local_#17547 := local_#17545; goto CFG_50019; CFG_46353: assume true; call local_#17548 := routine_#34567_LoadString(local_#5369_S); goto CFG_42846; CFG_42846: assume true; local_#17549 := { base : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!offset + local_#31934_i * 16 }; _memory_ptr[{ base : local_#17549!base, offset : local_#17549!offset + 0 }] := local_#17548; goto CFG_46354; CFG_46354: assume true; call local_#17550 := routine_#34563_LoadInt(local_#5369_S); goto CFG_42847; CFG_42847: assume true; local_#17551 := { base : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!offset + local_#31934_i * 16 }; _memory[{ base : local_#17551!base, offset : local_#17551!offset + 8 }] := local_#17550; goto CFG_46355; CFG_46355: assume true; call local_#17552 := routine_#34563_LoadInt(local_#5369_S); goto CFG_42848; CFG_42848: assume true; local_#17553 := { base : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!offset + local_#31934_i * 16 }; _memory[{ base : local_#17553!base, offset : local_#17553!offset + 12 }] := local_#17552; goto CFG_45027; CFG_45027: assume true; local_#17554 := local_#31934_i; local_#17555 := 1; local_#31934_i := local_#17554 + local_#17555; assert { :LIR "66508" } { :check "overflow" } { :finding_ids "0" } local_#31934_i <= 2147483647; local_#17556 := local_#17554; goto CFG_50018; CFG_42849: assume true; local_#17557 := { base : 0, offset : 0 }; local_#17558 := { base : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#5370_f!base, offset : local_#5370_f!offset + 80 }]!offset + local_#31934_i * 16 }; _memory_ptr[{ base : local_#17558!base, offset : local_#17558!offset + 0 }] := local_#17557; goto CFG_45028; CFG_45028: assume true; local_#17559 := local_#31934_i; local_#17560 := 1; local_#31934_i := local_#17559 + local_#17560; assert { :LIR "66509" } { :check "overflow" } { :finding_ids "0" } local_#31934_i <= 2147483647; local_#17561 := local_#17559; goto CFG_50017; CFG_42850: assume true; local_#17562 := _memory_ptr[{ base : local_#5369_S!base, offset : local_#5369_S!offset + 0 }]; goto CFG_46356; CFG_46356: assume true; call routine_#33858_luaM_toobig(local_#17562); CFG_42851: assume true; local_#17563 := _memory_ptr[{ base : local_#5369_S!base, offset : local_#5369_S!offset + 0 }]; goto CFG_46357; CFG_46357: assume true; call routine_#33858_luaM_toobig(local_#17563); CFG_40521: assume true; goto CFG_42842; CFG_40522: assume true; goto CFG_42844; CFG_37460: assume true; } procedure routine_#34562_LoadFunction(local_#5371_S_IN : { base : int, offset : int }, local_#5372_f_IN : { base : int, offset : int }, local_#5373_psource_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5371_S : { base : int, offset : int }; var local_#5372_f : { base : int, offset : int }; var local_#5373_psource : { base : int, offset : int }; var local_#17564 : { base : int, offset : int }; var local_#17565 : { base : int, offset : int }; var local_#17566 : int; var local_#17567 : int; var local_#17568 : int; var local_#17569 : int; var local_#17570 : int; var local_#17571 : int; local_#5371_S := local_#5371_S_IN; local_#5372_f := local_#5372_f_IN; local_#5373_psource := local_#5373_psource_IN; goto CFG_36550; CFG_36550: assume true; goto CFG_46358; CFG_46358: assume true; call local_#17564 := routine_#34567_LoadString(local_#5371_S); goto CFG_50020; CFG_50020: assume true; _memory_ptr[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 104 }] := local_#17564; local_#17565 := { base : 0, offset : 0 }; local_#17566 := (if _memory_ptr[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 104 }] == local_#17565 then 1 else 0); if (local_#17566 != 0) { goto CFG_40523; } else { goto CFG_46359; } CFG_40523: assume true; _memory_ptr[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 104 }] := local_#5373_psource; goto CFG_46359; CFG_46359: assume true; call local_#17567 := routine_#34563_LoadInt(local_#5371_S); goto CFG_42852; CFG_42852: assume true; _memory[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 40 }] := local_#17567; goto CFG_46360; CFG_46360: assume true; call local_#17568 := routine_#34563_LoadInt(local_#5371_S); goto CFG_42853; CFG_42853: assume true; _memory[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 44 }] := local_#17568; goto CFG_46361; CFG_46361: assume true; call local_#17569 := routine_#34558_LoadByte(local_#5371_S); goto CFG_42854; CFG_42854: assume true; _memory[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 10 }] := local_#17569; goto CFG_46362; CFG_46362: assume true; call local_#17570 := routine_#34558_LoadByte(local_#5371_S); goto CFG_42855; CFG_42855: assume true; _memory[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 11 }] := local_#17570; goto CFG_46363; CFG_46363: assume true; call local_#17571 := routine_#34558_LoadByte(local_#5371_S); goto CFG_42856; CFG_42856: assume true; _memory[{ base : local_#5372_f!base, offset : local_#5372_f!offset + 12 }] := local_#17571; goto CFG_46364; CFG_46364: assume true; call routine_#34559_LoadCode(local_#5371_S,local_#5372_f); goto CFG_46365; CFG_46365: assume true; call routine_#34560_LoadConstants(local_#5371_S,local_#5372_f); goto CFG_46366; CFG_46366: assume true; call routine_#34568_LoadUpvalues(local_#5371_S,local_#5372_f); goto CFG_46367; CFG_46367: assume true; call routine_#34566_LoadProtos(local_#5371_S,local_#5372_f); goto CFG_46368; CFG_46368: assume true; call routine_#34561_LoadDebug(local_#5371_S,local_#5372_f); goto CFG_39235; CFG_39235: assume true; goto CFG_37461; CFG_37461: assume true; } procedure routine_#34563_LoadInt(local_#5374_S_IN : { base : int, offset : int }) returns (local_#7934 : int) modifies _memory, _memory_ptr, _valid; { var local_#5374_S : { base : int, offset : int }; var local_#31936_x : { base : int, offset : int }; var local_#17572 : { base : int, offset : int }; var local_#17573 : int; local_#5374_S := local_#5374_S_IN; goto CFG_36551; CFG_36551: assume true; goto CFG_42857; CFG_42857: assume true; local_#17572 := local_#31936_x; assert { :LIR "62835" } { :check "overflow" } { :finding_ids "0" } true; local_#17573 := 4; goto CFG_46369; CFG_46369: assume true; call routine_#34557_LoadBlock(local_#5374_S,local_#17572,local_#17573); goto CFG_38346; CFG_38346: assume true; local_#7934 := _memory[local_#31936_x]; goto CFG_37462; CFG_37462: assume true; } procedure routine_#34564_LoadInteger(local_#5375_S_IN : { base : int, offset : int }) returns (local_#7935 : int) modifies _memory, _memory_ptr, _valid; { var local_#5375_S : { base : int, offset : int }; var local_#31937_x : { base : int, offset : int }; var local_#17574 : { base : int, offset : int }; var local_#17575 : int; local_#5375_S := local_#5375_S_IN; goto CFG_36552; CFG_36552: assume true; goto CFG_42858; CFG_42858: assume true; local_#17574 := local_#31937_x; assert { :LIR "62836" } { :check "overflow" } { :finding_ids "0" } true; local_#17575 := 8; goto CFG_46370; CFG_46370: assume true; call routine_#34557_LoadBlock(local_#5375_S,local_#17574,local_#17575); goto CFG_38347; CFG_38347: assume true; local_#7935 := _memory[local_#31937_x]; goto CFG_37463; CFG_37463: assume true; } procedure routine_#34565_LoadNumber(local_#5376_S_IN : { base : int, offset : int }) returns (local_#7936 : int) modifies _memory, _memory_ptr, _valid; { var local_#5376_S : { base : int, offset : int }; var local_#31938_x : { base : int, offset : int }; var local_#17576 : { base : int, offset : int }; var local_#17577 : int; var nondet_#0 : int; local_#5376_S := local_#5376_S_IN; goto CFG_36553; CFG_36553: assume true; goto CFG_42859; CFG_42859: assume true; local_#17576 := local_#31938_x; assert { :LIR "62837" } { :check "overflow" } { :finding_ids "0" } true; local_#17577 := 8; goto CFG_46371; CFG_46371: assume true; call routine_#34557_LoadBlock(local_#5376_S,local_#17576,local_#17577); goto CFG_38348; CFG_38348: assume true; havoc nondet_#0; local_#7936 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_37464; CFG_37464: assume true; } procedure routine_#34566_LoadProtos(local_#5377_S_IN : { base : int, offset : int }, local_#5378_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5377_S : { base : int, offset : int }; var local_#5378_f : { base : int, offset : int }; var local_#17578 : int; var local_#31940_n : int; var local_#17579 : int; var local_#17580 : int; var local_#17581 : int; var local_#17582 : int; var local_#17583 : int; var local_#17584 : int; var local_#17585 : int; var local_#17586 : int; var local_#17587 : { base : int, offset : int }; var local_#17588 : { base : int, offset : int }; var local_#17589 : int; var local_#17590 : int; var local_#17591 : int; var local_#17592 : int; var local_#17593 : { base : int, offset : int }; var local_#17594 : { base : int, offset : int }; var local_#31939_i : int; var local_#17595 : int; var local_#17596 : int; var local_#17597 : { base : int, offset : int }; var local_#17598 : { base : int, offset : int }; var local_#17599 : { base : int, offset : int }; var local_#17600 : { base : int, offset : int }; var local_#17601 : { base : int, offset : int }; var local_#17602 : { base : int, offset : int }; var local_#17603 : int; var local_#17604 : int; var local_#17605 : int; var local_#17606 : { base : int, offset : int }; var local_#17607 : { base : int, offset : int }; var local_#17608 : int; var local_#17609 : int; var local_#17610 : int; var local_#17611 : { base : int, offset : int }; local_#5377_S := local_#5377_S_IN; local_#5378_f := local_#5378_f_IN; goto CFG_36554; CFG_36554: assume true; goto CFG_46372; CFG_46372: assume true; call local_#17578 := routine_#34563_LoadInt(local_#5377_S); goto CFG_50021; CFG_50021: assume true; local_#31940_n := local_#17578; local_#17579 := 0; if (local_#17579 != 0) { goto CFG_50022; } else { goto CFG_40524; } CFG_50022: assume true; local_#17580 := ~uwrap64(local_#31940_n); assert { :LIR "61302" } { :check "overflow" } { :finding_ids "0" } true; local_#17581 := 1; assume { :symbol "~uwrap64" } true; local_#17582 := ~uwrap64(local_#17580 + local_#17581); assert { :LIR "66510" } { :check "overflow" } { :finding_ids "0" } true; local_#17583 := 2305843009213693951; local_#17584 := (if local_#17582 > local_#17583 then 1 else 0); if (local_#17584 != 0) { goto CFG_42864; } else { goto CFG_40524; } CFG_40524: assume true; local_#17585 := 0; local_#17586 := 0; assert { :LIR "61303" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42860; CFG_42860: assume true; local_#17587 := _memory_ptr[{ base : local_#5377_S!base, offset : local_#5377_S!offset + 0 }]; local_#17588 := { base : 0, offset : 0 }; local_#17589 := 0; local_#17590 := ~uwrap64(local_#31940_n); assert { :LIR "62838" } { :check "overflow" } { :finding_ids "0" } true; local_#17591 := 8; assume { :symbol "~uwrap64" } true; local_#17592 := ~uwrap64(local_#17590 * local_#17591); assert { :LIR "68545" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46373; CFG_46373: assume true; call local_#17593 := routine_#33857_luaM_realloc_(local_#17587,local_#17588,local_#17589,local_#17592); goto CFG_41688; CFG_41688: assume true; local_#17594 := local_#17593; assert { :LIR "61304" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }] := local_#17594; _memory[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 32 }] := local_#31940_n; local_#31939_i := 0; goto CFG_50023; CFG_50023: assume true; local_#17595 := (if local_#31939_i < local_#31940_n then 1 else 0); if (local_#17595 != 0) { goto CFG_42863; } else { goto CFG_41689; } CFG_41689: assume true; local_#31939_i := 0; goto CFG_50024; CFG_50024: assume true; local_#17596 := (if local_#31939_i < local_#31940_n then 1 else 0); if (local_#17596 != 0) { goto CFG_42861; } else { goto CFG_39236; } CFG_39236: assume true; goto CFG_37465; CFG_42861: assume true; local_#17597 := _memory_ptr[{ base : local_#5377_S!base, offset : local_#5377_S!offset + 0 }]; goto CFG_46374; CFG_46374: assume true; call local_#17598 := routine_#33756_luaF_newproto(local_#17597); goto CFG_42862; CFG_42862: assume true; local_#17599 := { base : _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }]!offset + local_#31939_i * 8 }; _memory_ptr[local_#17599] := local_#17598; local_#17600 := { base : _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }]!offset + local_#31939_i * 8 }; local_#17601 := _memory_ptr[local_#17600]; local_#17602 := _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 104 }]; goto CFG_46375; CFG_46375: assume true; call routine_#34562_LoadFunction(local_#5377_S,local_#17601,local_#17602); goto CFG_45029; CFG_45029: assume true; local_#17603 := local_#31939_i; local_#17604 := 1; local_#31939_i := local_#17603 + local_#17604; assert { :LIR "66511" } { :check "overflow" } { :finding_ids "0" } local_#31939_i <= 2147483647; local_#17605 := local_#17603; goto CFG_50024; CFG_42863: assume true; local_#17606 := { base : 0, offset : 0 }; local_#17607 := { base : _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#5378_f!base, offset : local_#5378_f!offset + 64 }]!offset + local_#31939_i * 8 }; _memory_ptr[local_#17607] := local_#17606; goto CFG_45030; CFG_45030: assume true; local_#17608 := local_#31939_i; local_#17609 := 1; local_#31939_i := local_#17608 + local_#17609; assert { :LIR "66512" } { :check "overflow" } { :finding_ids "0" } local_#31939_i <= 2147483647; local_#17610 := local_#17608; goto CFG_50023; CFG_42864: assume true; local_#17611 := _memory_ptr[{ base : local_#5377_S!base, offset : local_#5377_S!offset + 0 }]; goto CFG_46376; CFG_46376: assume true; call routine_#33858_luaM_toobig(local_#17611); CFG_40525: assume true; goto CFG_42860; CFG_37465: assume true; } procedure routine_#34567_LoadString(local_#5379_S_IN : { base : int, offset : int }) returns (local_#7937 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5379_S : { base : int, offset : int }; var local_#17612 : int; var local_#17613 : int; var local_#31941_size : { base : int, offset : int }; var local_#17614 : int; var local_#17615 : int; var local_#17616 : { base : int, offset : int }; var local_#17617 : int; var local_#17618 : int; var local_#17619 : int; var local_#17620 : int; var local_#17621 : int; var local_#17622 : int; var local_#17623 : { base : int, offset : int }; var local_#17624 : { base : int, offset : int }; var local_#31943_ts : { base : int, offset : int }; var local_#17625 : { base : int, offset : int }; var local_#17626 : int; var local_#17627 : { base : int, offset : int }; var local_#17628 : { base : int, offset : int }; var local_#17629 : int; var local_#17630 : int; var local_#31942_buff : { base : int, offset : int }; var local_#17631 : { base : int, offset : int }; var local_#17632 : int; var local_#17633 : int; var local_#17634 : { base : int, offset : int }; var local_#17635 : { base : int, offset : int }; var local_#17636 : { base : int, offset : int }; local_#5379_S := local_#5379_S_IN; goto CFG_36555; CFG_36555: assume true; goto CFG_46377; CFG_46377: assume true; call local_#17612 := routine_#34558_LoadByte(local_#5379_S); goto CFG_50025; CFG_50025: assume true; local_#17613 := ~uwrap64(local_#17612); assert { :LIR "62839" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#31941_size] := local_#17613; local_#17614 := 255; local_#17615 := (if _memory[local_#31941_size] == local_#17614 then 1 else 0); if (local_#17615 != 0) { goto CFG_42865; } else { goto CFG_50026; } CFG_42865: assume true; local_#17616 := local_#31941_size; assert { :LIR "62840" } { :check "overflow" } { :finding_ids "0" } true; local_#17617 := 8; goto CFG_46378; CFG_46378: assume true; call routine_#34557_LoadBlock(local_#5379_S,local_#17616,local_#17617); goto CFG_40526; CFG_40526: assume true; goto CFG_50026; CFG_50026: assume true; local_#17618 := 0; local_#17619 := (if _memory[local_#31941_size] == local_#17618 then 1 else 0); if (local_#17619 != 0) { goto CFG_38351; } else { goto CFG_50027; } CFG_50027: assume true; local_#17620 := 1; assume { :symbol "~uwrap64" } true; _memory[local_#31941_size] := ~uwrap64(_memory[local_#31941_size] - local_#17620); assert { :LIR "67963" } { :check "overflow" } { :finding_ids "0" } true; local_#17621 := 40; local_#17622 := (if _memory[local_#31941_size] <= local_#17621 then 1 else 0); if (local_#17622 != 0) { goto CFG_42868; } else { goto CFG_42866; } CFG_42866: assume true; local_#17623 := _memory_ptr[{ base : local_#5379_S!base, offset : local_#5379_S!offset + 0 }]; goto CFG_46379; CFG_46379: assume true; call local_#17624 := routine_#33871_luaS_createlngstrobj(local_#17623,_memory[local_#31941_size]); goto CFG_42867; CFG_42867: assume true; local_#31943_ts := local_#17624; local_#17625 := local_#31943_ts; assert { :LIR "61305" } { :check "overflow" } { :finding_ids "0" } true; local_#17626 := 24; local_#17627 := { base : local_#17625!base, offset : local_#17625!offset + local_#17626 * 1 }; local_#17628 := local_#17627; assert { :LIR "62841" } { :check "overflow" } { :finding_ids "0" } true; local_#17629 := 1; assume { :symbol "~uwrap64" } true; local_#17630 := ~uwrap64(_memory[local_#31941_size] * local_#17629); assert { :LIR "68546" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46380; CFG_46380: assume true; call routine_#34557_LoadBlock(local_#5379_S,local_#17628,local_#17630); goto CFG_38349; CFG_38349: assume true; local_#7937 := local_#31943_ts; goto CFG_37466; CFG_42868: assume true; local_#17631 := { base : local_#31942_buff!base, offset : local_#31942_buff!offset + 0 * 1 }; assert { :LIR "62842" } { :check "overflow" } { :finding_ids "0" } true; local_#17632 := 1; assume { :symbol "~uwrap64" } true; local_#17633 := ~uwrap64(_memory[local_#31941_size] * local_#17632); assert { :LIR "68547" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46381; CFG_46381: assume true; call routine_#34557_LoadBlock(local_#5379_S,local_#17631,local_#17633); goto CFG_42869; CFG_42869: assume true; local_#17634 := _memory_ptr[{ base : local_#5379_S!base, offset : local_#5379_S!offset + 0 }]; local_#17635 := { base : local_#31942_buff!base, offset : local_#31942_buff!offset + 0 * 1 }; assert { :LIR "62843" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46382; CFG_46382: assume true; call local_#17636 := routine_#33877_luaS_newlstr(local_#17634,local_#17635,_memory[local_#31941_size]); goto CFG_38350; CFG_38350: assume true; local_#7937 := local_#17636; goto CFG_37466; CFG_38351: assume true; local_#7937 := { base : 0, offset : 0 }; goto CFG_37466; CFG_37466: assume true; } procedure routine_#34568_LoadUpvalues(local_#5380_S_IN : { base : int, offset : int }, local_#5381_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5380_S : { base : int, offset : int }; var local_#5381_f : { base : int, offset : int }; var local_#17637 : int; var local_#31945_n : int; var local_#17638 : int; var local_#17639 : int; var local_#17640 : int; var local_#17641 : int; var local_#17642 : int; var local_#17643 : int; var local_#17644 : int; var local_#17645 : int; var local_#17646 : { base : int, offset : int }; var local_#17647 : { base : int, offset : int }; var local_#17648 : int; var local_#17649 : int; var local_#17650 : int; var local_#17651 : int; var local_#17652 : { base : int, offset : int }; var local_#17653 : { base : int, offset : int }; var local_#31944_i : int; var local_#17654 : int; var local_#17655 : int; var local_#17656 : int; var local_#17657 : { base : int, offset : int }; var local_#17658 : int; var local_#17659 : { base : int, offset : int }; var local_#17660 : int; var local_#17661 : int; var local_#17662 : int; var local_#17663 : { base : int, offset : int }; var local_#17664 : { base : int, offset : int }; var local_#17665 : int; var local_#17666 : int; var local_#17667 : int; var local_#17668 : { base : int, offset : int }; local_#5380_S := local_#5380_S_IN; local_#5381_f := local_#5381_f_IN; goto CFG_36556; CFG_36556: assume true; goto CFG_46383; CFG_46383: assume true; call local_#17637 := routine_#34563_LoadInt(local_#5380_S); goto CFG_50028; CFG_50028: assume true; local_#31945_n := local_#17637; local_#17638 := 0; if (local_#17638 != 0) { goto CFG_50029; } else { goto CFG_40527; } CFG_50029: assume true; local_#17639 := ~uwrap64(local_#31945_n); assert { :LIR "61306" } { :check "overflow" } { :finding_ids "0" } true; local_#17640 := 1; assume { :symbol "~uwrap64" } true; local_#17641 := ~uwrap64(local_#17639 + local_#17640); assert { :LIR "66513" } { :check "overflow" } { :finding_ids "0" } true; local_#17642 := 1152921504606846975; local_#17643 := (if local_#17641 > local_#17642 then 1 else 0); if (local_#17643 != 0) { goto CFG_42874; } else { goto CFG_40527; } CFG_40527: assume true; local_#17644 := 0; local_#17645 := 0; assert { :LIR "61307" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_42870; CFG_42870: assume true; local_#17646 := _memory_ptr[{ base : local_#5380_S!base, offset : local_#5380_S!offset + 0 }]; local_#17647 := { base : 0, offset : 0 }; local_#17648 := 0; local_#17649 := ~uwrap64(local_#31945_n); assert { :LIR "62844" } { :check "overflow" } { :finding_ids "0" } true; local_#17650 := 16; assume { :symbol "~uwrap64" } true; local_#17651 := ~uwrap64(local_#17649 * local_#17650); assert { :LIR "68548" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46384; CFG_46384: assume true; call local_#17652 := routine_#33857_luaM_realloc_(local_#17646,local_#17647,local_#17648,local_#17651); goto CFG_41690; CFG_41690: assume true; local_#17653 := local_#17652; assert { :LIR "61308" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }] := local_#17653; _memory[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 16 }] := local_#31945_n; local_#31944_i := 0; goto CFG_50030; CFG_50030: assume true; local_#17654 := (if local_#31944_i < local_#31945_n then 1 else 0); if (local_#17654 != 0) { goto CFG_42873; } else { goto CFG_41691; } CFG_41691: assume true; local_#31944_i := 0; goto CFG_50031; CFG_50031: assume true; local_#17655 := (if local_#31944_i < local_#31945_n then 1 else 0); if (local_#17655 != 0) { goto CFG_46385; } else { goto CFG_39237; } CFG_39237: assume true; goto CFG_37467; CFG_46385: assume true; call local_#17656 := routine_#34558_LoadByte(local_#5380_S); goto CFG_42871; CFG_42871: assume true; local_#17657 := { base : _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }]!offset + local_#31944_i * 16 }; _memory[{ base : local_#17657!base, offset : local_#17657!offset + 8 }] := local_#17656; goto CFG_46386; CFG_46386: assume true; call local_#17658 := routine_#34558_LoadByte(local_#5380_S); goto CFG_42872; CFG_42872: assume true; local_#17659 := { base : _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }]!offset + local_#31944_i * 16 }; _memory[{ base : local_#17659!base, offset : local_#17659!offset + 9 }] := local_#17658; goto CFG_45031; CFG_45031: assume true; local_#17660 := local_#31944_i; local_#17661 := 1; local_#31944_i := local_#17660 + local_#17661; assert { :LIR "66514" } { :check "overflow" } { :finding_ids "0" } local_#31944_i <= 2147483647; local_#17662 := local_#17660; goto CFG_50031; CFG_42873: assume true; local_#17663 := { base : 0, offset : 0 }; local_#17664 := { base : _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#5381_f!base, offset : local_#5381_f!offset + 88 }]!offset + local_#31944_i * 16 }; _memory_ptr[{ base : local_#17664!base, offset : local_#17664!offset + 0 }] := local_#17663; goto CFG_45032; CFG_45032: assume true; local_#17665 := local_#31944_i; local_#17666 := 1; local_#31944_i := local_#17665 + local_#17666; assert { :LIR "66515" } { :check "overflow" } { :finding_ids "0" } local_#31944_i <= 2147483647; local_#17667 := local_#17665; goto CFG_50030; CFG_42874: assume true; local_#17668 := _memory_ptr[{ base : local_#5380_S!base, offset : local_#5380_S!offset + 0 }]; goto CFG_46387; CFG_46387: assume true; call routine_#33858_luaM_toobig(local_#17668); CFG_40528: assume true; goto CFG_42870; CFG_37467: assume true; } procedure routine_#34569_add_s(local_#5382_ms_IN : { base : int, offset : int }, local_#5383_b_IN : { base : int, offset : int }, local_#5384_s_IN : { base : int, offset : int }, local_#5385_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5382_ms : { base : int, offset : int }; var local_#5383_b : { base : int, offset : int }; var local_#5384_s : { base : int, offset : int }; var local_#5385_e : { base : int, offset : int }; var local_#31946_L : { base : int, offset : int }; var local_#17669 : int; var local_#31948_l : { base : int, offset : int }; var local_#17670 : { base : int, offset : int }; var local_#17671 : { base : int, offset : int }; var local_#31949_news : { base : int, offset : int }; var local_#31947_i : int; var local_#17672 : int; var local_#17673 : { base : int, offset : int }; var local_#17674 : int; var local_#17675 : int; var local_#17676 : int; var local_#17677 : int; var local_#17678 : int; var local_#17679 : int; var local_#17680 : { base : int, offset : int }; var local_#17681 : { base : int, offset : int }; var local_#17682 : int; var local_#17683 : int; var local_#17684 : { base : int, offset : int }; var local_#17685 : int; var local_#17686 : int; var local_#17687 : int; var local_#17688 : int; var local_#17689 : { base : int, offset : int }; var local_#17690 : int; var local_#17691 : int; var local_#17692 : int; var local_#17693 : { base : int, offset : int }; var local_#17694 : int; var local_#17695 : int; var local_#17696 : int; var local_#17697 : int; var local_#17698 : { base : int, offset : int }; var local_#17699 : { base : int, offset : int }; var local_#17700 : int; var local_#17701 : int; var local_#17702 : int; var local_#17703 : int; var local_#17704 : int; var local_#17705 : { base : int, offset : int }; var local_#17706 : int; var local_#17707 : int; var local_#17708 : int; var local_#17709 : { base : int, offset : int }; var local_#17710 : { base : int, offset : int }; var local_#17711 : int; var local_#17712 : int; var local_#17713 : int; var local_#17714 : int; var local_#17715 : { base : int, offset : int }; var local_#17716 : { base : int, offset : int }; var local_#30715 : int; var local_#17717 : int; var local_#17718 : { base : int, offset : int }; var local_#17719 : int; var local_#17720 : int; var local_#17721 : { base : int, offset : int }; var local_#17722 : int; var local_#17723 : int; var local_#17724 : int; var local_#17725 : int; var local_#17726 : { base : int, offset : int }; var local_#17727 : { base : int, offset : int }; var local_#30716 : int; var local_#17728 : int; var local_#17729 : { base : int, offset : int }; var local_#17730 : int; var local_#17731 : int; var local_#17732 : { base : int, offset : int }; var local_#17733 : int; var local_#17734 : int; var local_#17735 : int; var local_#17736 : int; var local_#17737 : int; local_#5382_ms := local_#5382_ms_IN; local_#5383_b := local_#5383_b_IN; local_#5384_s := local_#5384_s_IN; local_#5385_e := local_#5385_e_IN; goto CFG_36557; CFG_36557: assume true; goto CFG_42875; CFG_42875: assume true; local_#31946_L := _memory_ptr[{ base : local_#5382_ms!base, offset : local_#5382_ms!offset + 24 }]; local_#17669 := 3; local_#17670 := local_#31948_l; goto CFG_46388; CFG_46388: assume true; call local_#17671 := routine_#33995_lua_tolstring(local_#31946_L,local_#17669,local_#17670); goto CFG_41692; CFG_41692: assume true; local_#31949_news := local_#17671; local_#31947_i := 0; goto CFG_50032; CFG_50032: assume true; local_#17672 := (if local_#31947_i < _memory[local_#31948_l] then 1 else 0); if (local_#17672 != 0) { goto CFG_50033; } else { goto CFG_39238; } CFG_39238: assume true; goto CFG_37468; CFG_50033: assume true; local_#17673 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17674 := _memory[local_#17673]; assert { :LIR "62845" } { :check "overflow" } { :finding_ids "0" } local_#17674 <= 2147483647; local_#17675 := 37; local_#17676 := (if local_#17674 != local_#17675 then 1 else 0); if (local_#17676 != 0) { goto CFG_50039; } else { goto CFG_42876; } CFG_42876: assume true; local_#17677 := local_#31947_i; local_#17678 := 1; assume { :symbol "~uwrap64" } true; local_#31947_i := ~uwrap64(local_#17677 + local_#17678); assert { :LIR "66516" } { :check "overflow" } { :finding_ids "0" } true; local_#17679 := local_#17677; goto CFG_46389; CFG_46389: assume true; call local_#17680 := routine_#33248___ctype_b_loc(); goto CFG_50034; CFG_50034: assume true; local_#17681 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17682 := ~uwrap8(_memory[local_#17681]); assert { :LIR "61309" } { :check "overflow" } { :finding_ids "0" } true; local_#17683 := local_#17682; assert { :LIR "61310" } { :check "overflow" } { :finding_ids "0" } local_#17683 <= 2147483647; local_#17684 := { base : _memory_ptr[local_#17680]!base, offset : _memory_ptr[local_#17680]!offset + local_#17683 * 2 }; local_#17685 := _memory[local_#17684]; assert { :LIR "62846" } { :check "overflow" } { :finding_ids "0" } local_#17685 <= 2147483647; local_#17686 := 2048; local_#17687 := ~sand32(local_#17685, local_#17686); local_#17688 := (if local_#17687 != 0 then 0 else 1); if (local_#17688 != 0) { goto CFG_50036; } else { goto CFG_50035; } CFG_50035: assume true; local_#17689 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17690 := _memory[local_#17689]; assert { :LIR "62847" } { :check "overflow" } { :finding_ids "0" } local_#17690 <= 2147483647; local_#17691 := 48; local_#17692 := (if local_#17690 == local_#17691 then 1 else 0); if (local_#17692 != 0) { goto CFG_42881; } else { goto CFG_42877; } CFG_42877: assume true; local_#17693 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17694 := _memory[local_#17693]; assert { :LIR "62848" } { :check "overflow" } { :finding_ids "0" } local_#17694 <= 2147483647; local_#17695 := 49; local_#17696 := local_#17694 - local_#17695; assert { :LIR "67964" } { :check "overflow" } { :finding_ids "0" } local_#17696 <= 2147483647; goto CFG_46390; CFG_46390: assume true; call routine_#35001_push_onecapture(local_#5382_ms,local_#17696,local_#5384_s,local_#5385_e); goto CFG_42878; CFG_42878: assume true; local_#17697 := -1; local_#17698 := { base : 0, offset : 0 }; goto CFG_46391; CFG_46391: assume true; call local_#17699 := routine_#33852_luaL_tolstring(local_#31946_L,local_#17697,local_#17698); goto CFG_42879; CFG_42879: assume true; local_#17700 := -2; local_#17701 := -1; goto CFG_46392; CFG_46392: assume true; call routine_#33978_lua_rotate(local_#31946_L,local_#17700,local_#17701); goto CFG_42880; CFG_42880: assume true; local_#17702 := -2; goto CFG_46393; CFG_46393: assume true; call routine_#33987_lua_settop(local_#31946_L,local_#17702); goto CFG_46394; CFG_46394: assume true; call routine_#33814_luaL_addvalue(local_#5383_b); goto CFG_40529; CFG_40529: assume true; goto CFG_40531; CFG_42881: assume true; local_#17703 := (local_#5385_e!offset - local_#5384_s!offset) / 1; local_#17704 := ~uwrap64(local_#17703); assert { :LIR "62849" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46395; CFG_46395: assume true; call routine_#33812_luaL_addlstring(local_#5383_b,local_#5384_s,local_#17704); goto CFG_40530; CFG_40530: assume true; goto CFG_40531; CFG_40531: assume true; goto CFG_40536; CFG_50036: assume true; local_#17705 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17706 := _memory[local_#17705]; assert { :LIR "62850" } { :check "overflow" } { :finding_ids "0" } local_#17706 <= 2147483647; local_#17707 := 37; local_#17708 := (if local_#17706 != local_#17707 then 1 else 0); if (local_#17708 != 0) { goto CFG_42882; } else { goto CFG_50037; } CFG_42882: assume true; assume _memory[{ base : strlit_#70431!base, offset : strlit_#70431!offset + 41 }] == 0; local_#17709 := strlit_#70431; local_#17710 := { base : local_#17709!base, offset : local_#17709!offset + 0 * 1 }; assert { :LIR "62851" } { :check "overflow" } { :finding_ids "0" } true; local_#17711 := 37; goto CFG_46396; CFG_46396: assume true; call local_#17712 := routine_#33828_luaL_error(local_#31946_L,local_#17710,{ base : 0, offset : 0 }); goto CFG_40532; CFG_40532: assume true; goto CFG_50037; CFG_50037: assume true; local_#17713 := (if _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 16 }] < _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 8 }] then 1 else 0); if (local_#17713 != 0) { goto CFG_40534; } else { goto CFG_42883; } CFG_42883: assume true; local_#17714 := 1; goto CFG_46397; CFG_46397: assume true; call local_#17715 := routine_#33844_luaL_prepbuffsize(local_#5383_b,local_#17714); goto CFG_50038; CFG_50038: assume true; local_#17716 := local_#17715; if (local_#17716 != { base : 0, offset : 0 }) { goto CFG_40534; } else { goto CFG_40533; } CFG_40533: assume true; local_#30715 := 0; goto CFG_40535; CFG_40534: assume true; local_#30715 := 1; goto CFG_40535; CFG_40535: assume true; local_#17717 := 0; assert { :LIR "61311" } { :check "overflow" } { :finding_ids "0" } true; local_#17718 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17719 := _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 16 }]; local_#17720 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 16 }] := ~uwrap64(local_#17719 + local_#17720); assert { :LIR "66517" } { :check "overflow" } { :finding_ids "0" } true; local_#17721 := { base : _memory_ptr[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 0 }]!offset + local_#17719 * 1 }; _memory[local_#17721] := _memory[local_#17718]; local_#17722 := _memory[local_#17721]; local_#17723 := local_#17722; goto CFG_40536; CFG_40536: assume true; goto CFG_45033; CFG_50039: assume true; local_#17724 := (if _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 16 }] < _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 8 }] then 1 else 0); if (local_#17724 != 0) { goto CFG_40538; } else { goto CFG_42884; } CFG_42884: assume true; local_#17725 := 1; goto CFG_46398; CFG_46398: assume true; call local_#17726 := routine_#33844_luaL_prepbuffsize(local_#5383_b,local_#17725); goto CFG_50040; CFG_50040: assume true; local_#17727 := local_#17726; if (local_#17727 != { base : 0, offset : 0 }) { goto CFG_40538; } else { goto CFG_40537; } CFG_40537: assume true; local_#30716 := 0; goto CFG_40539; CFG_40538: assume true; local_#30716 := 1; goto CFG_40539; CFG_40539: assume true; local_#17728 := 0; assert { :LIR "61312" } { :check "overflow" } { :finding_ids "0" } true; local_#17729 := { base : local_#31949_news!base, offset : local_#31949_news!offset + local_#31947_i * 1 }; local_#17730 := _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 16 }]; local_#17731 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 16 }] := ~uwrap64(local_#17730 + local_#17731); assert { :LIR "66518" } { :check "overflow" } { :finding_ids "0" } true; local_#17732 := { base : _memory_ptr[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5383_b!base, offset : local_#5383_b!offset + 0 }]!offset + local_#17730 * 1 }; _memory[local_#17732] := _memory[local_#17729]; local_#17733 := _memory[local_#17732]; local_#17734 := local_#17733; goto CFG_45033; CFG_45033: assume true; local_#17735 := local_#31947_i; local_#17736 := 1; assume { :symbol "~uwrap64" } true; local_#31947_i := ~uwrap64(local_#17735 + local_#17736); assert { :LIR "66519" } { :check "overflow" } { :finding_ids "0" } true; local_#17737 := local_#17735; goto CFG_50032; CFG_37468: assume true; } procedure routine_#34570_add_value(local_#5386_ms_IN : { base : int, offset : int }, local_#5387_b_IN : { base : int, offset : int }, local_#5388_s_IN : { base : int, offset : int }, local_#5389_e_IN : { base : int, offset : int }, local_#5390_tr_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5386_ms : { base : int, offset : int }; var local_#5387_b : { base : int, offset : int }; var local_#5388_s : { base : int, offset : int }; var local_#5389_e : { base : int, offset : int }; var local_#5390_tr : int; var local_#31950_L : { base : int, offset : int }; var local_#17738 : int; var local_#17739 : int; var local_#17740 : int; var local_#17741 : int; var local_#17742 : int; var local_#17743 : int; var local_#31951_n : int; var local_#17744 : int; var local_#17745 : int; var local_#17746 : { base : int, offset : int }; var local_#17747 : int; var local_#17748 : int; var local_#17749 : int; var local_#17750 : int; var local_#17751 : int; var local_#17752 : int; var local_#17753 : { base : int, offset : int }; var local_#17754 : { base : int, offset : int }; var local_#17755 : int; var local_#17756 : int; var local_#17757 : { base : int, offset : int }; var local_#17758 : int; var local_#17759 : int; var local_#17760 : int; var local_#17761 : int; var local_#17762 : { base : int, offset : int }; local_#5386_ms := local_#5386_ms_IN; local_#5387_b := local_#5387_b_IN; local_#5388_s := local_#5388_s_IN; local_#5389_e := local_#5389_e_IN; local_#5390_tr := local_#5390_tr_IN; goto CFG_36558; CFG_36558: assume true; goto CFG_51528; CFG_51528: assume true; local_#31950_L := _memory_ptr[{ base : local_#5386_ms!base, offset : local_#5386_ms!offset + 24 }]; local_#17738 := local_#5390_tr; if (local_#17738 == 6) { goto CFG_42887; } if (local_#17738 == 5) { goto CFG_42885; } goto CFG_46399; CFG_46399: assume true; call routine_#34569_add_s(local_#5386_ms,local_#5387_b,local_#5388_s,local_#5389_e); goto CFG_39239; CFG_39239: assume true; goto CFG_37469; CFG_42885: assume true; local_#17739 := 0; goto CFG_46400; CFG_46400: assume true; call routine_#35001_push_onecapture(local_#5386_ms,local_#17739,local_#5388_s,local_#5389_e); goto CFG_42886; CFG_42886: assume true; local_#17740 := 3; goto CFG_46401; CFG_46401: assume true; call local_#17741 := routine_#33940_lua_gettable(local_#31950_L,local_#17740); goto CFG_39587; CFG_39587: assume true; goto CFG_42889; CFG_42887: assume true; local_#17742 := 3; goto CFG_46402; CFG_46402: assume true; call routine_#33967_lua_pushvalue(local_#31950_L,local_#17742); goto CFG_46403; CFG_46403: assume true; call local_#17743 := routine_#35000_push_captures(local_#5386_ms,local_#5388_s,local_#5389_e); goto CFG_42888; CFG_42888: assume true; local_#31951_n := local_#17743; local_#17744 := 1; local_#17745 := 0; local_#17746 := { base : 0, offset : 0 }; goto CFG_46404; CFG_46404: assume true; call routine_#33919_lua_callk(local_#31950_L,local_#31951_n,local_#17744,local_#17745,local_#17746); goto CFG_39588; CFG_39588: assume true; goto CFG_42889; CFG_42889: assume true; local_#17747 := -1; goto CFG_46405; CFG_46405: assume true; call local_#17748 := routine_#33992_lua_toboolean(local_#31950_L,local_#17747); goto CFG_50041; CFG_50041: assume true; local_#17749 := (if local_#17748 != 0 then 0 else 1); if (local_#17749 != 0) { goto CFG_42892; } else { goto CFG_42890; } CFG_42890: assume true; local_#17750 := -1; goto CFG_46406; CFG_46406: assume true; call local_#17751 := routine_#33947_lua_isstring(local_#31950_L,local_#17750); goto CFG_50042; CFG_50042: assume true; local_#17752 := (if local_#17751 != 0 then 0 else 1); if (local_#17752 != 0) { goto CFG_42891; } else { goto CFG_40541; } CFG_42891: assume true; assume _memory[{ base : strlit_#70432!base, offset : strlit_#70432!offset + 32 }] == 0; local_#17753 := strlit_#70432; local_#17754 := { base : local_#17753!base, offset : local_#17753!offset + 0 * 1 }; assert { :LIR "62852" } { :check "overflow" } { :finding_ids "0" } true; local_#17755 := -1; goto CFG_46407; CFG_46407: assume true; call local_#17756 := routine_#34000_lua_type(local_#31950_L,local_#17755); goto CFG_46408; CFG_46408: assume true; call local_#17757 := routine_#34001_lua_typename(local_#31950_L,local_#17756); goto CFG_46409; CFG_46409: assume true; call local_#17758 := routine_#33828_luaL_error(local_#31950_L,local_#17754,{ base : 0, offset : 0 }); goto CFG_40540; CFG_40540: assume true; goto CFG_40541; CFG_40541: assume true; goto CFG_46412; CFG_42892: assume true; local_#17759 := -2; goto CFG_46410; CFG_46410: assume true; call routine_#33987_lua_settop(local_#31950_L,local_#17759); goto CFG_42893; CFG_42893: assume true; local_#17760 := (local_#5389_e!offset - local_#5388_s!offset) / 1; local_#17761 := ~uwrap64(local_#17760); assert { :LIR "62853" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46411; CFG_46411: assume true; call local_#17762 := routine_#33962_lua_pushlstring(local_#31950_L,local_#5388_s,local_#17761); goto CFG_40542; CFG_40542: assume true; goto CFG_46412; CFG_46412: assume true; call routine_#33814_luaL_addvalue(local_#5387_b); goto CFG_39240; CFG_39240: assume true; goto CFG_37469; CFG_41927: assume true; goto CFG_42889; CFG_37469: assume true; } procedure routine_#34571_addfield(local_#5391_L_IN : { base : int, offset : int }, local_#5392_b_IN : { base : int, offset : int }, local_#5393_i_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5391_L : { base : int, offset : int }; var local_#5392_b : { base : int, offset : int }; var local_#5393_i : int; var local_#17763 : int; var local_#17764 : int; var local_#17765 : int; var local_#17766 : int; var local_#17767 : int; var local_#17768 : { base : int, offset : int }; var local_#17769 : { base : int, offset : int }; var local_#17770 : int; var local_#17771 : int; var local_#17772 : { base : int, offset : int }; var local_#17773 : int; local_#5391_L := local_#5391_L_IN; local_#5392_b := local_#5392_b_IN; local_#5393_i := local_#5393_i_IN; goto CFG_36559; CFG_36559: assume true; goto CFG_42894; CFG_42894: assume true; local_#17763 := 1; goto CFG_46413; CFG_46413: assume true; call local_#17764 := routine_#33935_lua_geti(local_#5391_L,local_#17763,local_#5393_i); goto CFG_42895; CFG_42895: assume true; local_#17765 := -1; goto CFG_46414; CFG_46414: assume true; call local_#17766 := routine_#33947_lua_isstring(local_#5391_L,local_#17765); goto CFG_50043; CFG_50043: assume true; local_#17767 := (if local_#17766 != 0 then 0 else 1); if (local_#17767 != 0) { goto CFG_42896; } else { goto CFG_46418; } CFG_42896: assume true; assume _memory[{ base : strlit_#70433!base, offset : strlit_#70433!offset + 52 }] == 0; local_#17768 := strlit_#70433; local_#17769 := { base : local_#17768!base, offset : local_#17768!offset + 0 * 1 }; assert { :LIR "62854" } { :check "overflow" } { :finding_ids "0" } true; local_#17770 := -1; goto CFG_46415; CFG_46415: assume true; call local_#17771 := routine_#34000_lua_type(local_#5391_L,local_#17770); goto CFG_46416; CFG_46416: assume true; call local_#17772 := routine_#34001_lua_typename(local_#5391_L,local_#17771); goto CFG_46417; CFG_46417: assume true; call local_#17773 := routine_#33828_luaL_error(local_#5391_L,local_#17769,{ base : 0, offset : 0 }); goto CFG_40543; CFG_40543: assume true; goto CFG_46418; CFG_46418: assume true; call routine_#33814_luaL_addvalue(local_#5392_b); goto CFG_39241; CFG_39241: assume true; goto CFG_37470; CFG_37470: assume true; } procedure routine_#34572_addk(local_#5394_fs_IN : { base : int, offset : int }, local_#5395_key_IN : { base : int, offset : int }, local_#5396_v_IN : { base : int, offset : int }) returns (local_#7938 : int) modifies _memory, _memory_ptr, _valid; { var local_#5394_fs : { base : int, offset : int }; var local_#5395_key : { base : int, offset : int }; var local_#5396_v : { base : int, offset : int }; var local_#17774 : { base : int, offset : int }; var local_#31952_L : { base : int, offset : int }; var local_#31953_f : { base : int, offset : int }; var local_#17775 : { base : int, offset : int }; var local_#17776 : { base : int, offset : int }; var local_#17777 : { base : int, offset : int }; var local_#17778 : { base : int, offset : int }; var local_#31954_idx : { base : int, offset : int }; var local_#17779 : int; var local_#17780 : int; var local_#17781 : { base : int, offset : int }; var local_#17782 : int; var local_#31955_k : int; var local_#17783 : int; var local_#17784 : { base : int, offset : int }; var local_#17785 : int; var local_#17786 : int; var local_#17787 : int; var local_#17788 : int; var local_#17789 : int; var local_#17790 : { base : int, offset : int }; var local_#17791 : { base : int, offset : int }; var local_#17792 : { base : int, offset : int }; var local_#17793 : { base : int, offset : int }; var local_#17794 : int; var local_#17795 : int; var local_#31956_oldsize : int; var local_#31957_io : { base : int, offset : int }; var local_#17796 : int; var local_#17797 : { base : int, offset : int }; var local_#17798 : int; var local_#17799 : int; var local_#17800 : int; var local_#17801 : { base : int, offset : int }; var local_#17802 : { base : int, offset : int }; var local_#17803 : int; var local_#17804 : int; var local_#17805 : { base : int, offset : int }; var local_#17806 : { base : int, offset : int }; var local_#17807 : { base : int, offset : int }; var local_#17808 : { base : int, offset : int }; var local_#17809 : int; var local_#17810 : { base : int, offset : int }; var local_#31958_io1 : { base : int, offset : int }; var local_#17811 : int; var local_#17812 : int; var local_#17813 : int; var local_#17814 : int; var local_#17815 : int; var local_#17816 : int; var local_#17817 : int; var local_#17818 : int; var local_#17819 : int; var local_#17820 : int; var local_#17821 : int; var local_#17822 : { base : int, offset : int }; var local_#17823 : { base : int, offset : int }; var local_#17824 : int; var local_#17825 : int; var local_#17826 : int; var local_#17827 : int; var local_#17828 : int; var local_#17829 : { base : int, offset : int }; var local_#17830 : { base : int, offset : int }; var local_#17831 : { base : int, offset : int }; var local_#17832 : { base : int, offset : int }; var local_#17833 : int; var local_#17834 : int; var local_#17835 : int; var local_#17836 : { base : int, offset : int }; local_#5394_fs := local_#5394_fs_IN; local_#5395_key := local_#5395_key_IN; local_#5396_v := local_#5396_v_IN; goto CFG_36560; CFG_36560: assume true; goto CFG_42897; CFG_42897: assume true; local_#17774 := _memory_ptr[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 16 }]; local_#31952_L := _memory_ptr[{ base : local_#17774!base, offset : local_#17774!offset + 56 }]; local_#31953_f := _memory_ptr[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 0 }]; local_#17775 := _memory_ptr[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 16 }]; local_#17776 := _memory_ptr[{ base : local_#17775!base, offset : local_#17775!offset + 80 }]; local_#17777 := local_#5395_key; assert { :LIR "62855" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46419; CFG_46419: assume true; call local_#17778 := routine_#33777_luaH_set(local_#31952_L,local_#17776,local_#17777); goto CFG_50044; CFG_50044: assume true; local_#31954_idx := local_#17778; local_#17779 := 19; local_#17780 := (if _memory[{ base : local_#31954_idx!base, offset : local_#31954_idx!offset + 8 }] == local_#17779 then 1 else 0); if (local_#17780 != 0) { goto CFG_50045; } else { goto CFG_50048; } CFG_50045: assume true; local_#17781 := { base : local_#31954_idx!base, offset : local_#31954_idx!offset + 0 }; local_#17782 := _memory[local_#17781]; assert { :LIR "61313" } { :check "overflow" } { :finding_ids "0" } local_#17782 <= 2147483647; local_#31955_k := local_#17782; local_#17783 := (if local_#31955_k < _memory[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 44 }] then 1 else 0); if (local_#17783 != 0) { goto CFG_50046; } else { goto CFG_40544; } CFG_50046: assume true; local_#17784 := { base : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!offset + local_#31955_k * 16 }; local_#17785 := 63; local_#17786 := ~sand32(_memory[{ base : local_#17784!base, offset : local_#17784!offset + 8 }], local_#17785); local_#17787 := 63; local_#17788 := ~sand32(_memory[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 8 }], local_#17787); local_#17789 := (if local_#17786 == local_#17788 then 1 else 0); if (local_#17789 != 0) { goto CFG_42898; } else { goto CFG_40544; } CFG_42898: assume true; local_#17790 := { base : 0, offset : 0 }; local_#17791 := { base : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!offset + local_#31955_k * 16 }; local_#17792 := local_#17791; assert { :LIR "62856" } { :check "overflow" } { :finding_ids "0" } true; local_#17793 := local_#5396_v; assert { :LIR "62857" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46420; CFG_46420: assume true; call local_#17794 := routine_#33893_luaV_equalobj(local_#17790,local_#17792,local_#17793); goto CFG_50047; CFG_50047: assume true; local_#17795 := local_#17794; if (local_#17795 != 0) { goto CFG_38353; } else { goto CFG_40544; } CFG_40544: assume true; goto CFG_50048; CFG_50048: assume true; local_#31956_oldsize := _memory[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 20 }]; local_#31955_k := _memory[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 44 }]; local_#31957_io := local_#31954_idx; local_#17796 := local_#31955_k; assert { :LIR "62858" } { :check "overflow" } { :finding_ids "0" } local_#17796 <= 9223372036854775807; local_#17797 := { base : local_#31957_io!base, offset : local_#31957_io!offset + 0 }; _memory[local_#17797] := local_#17796; _memory[{ base : local_#31957_io!base, offset : local_#31957_io!offset + 8 }] := 19; local_#17798 := 1; local_#17799 := local_#31955_k + local_#17798; assert { :LIR "66520" } { :check "overflow" } { :finding_ids "0" } local_#17799 <= 2147483647; local_#17800 := (if local_#17799 > _memory[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 20 }] then 1 else 0); if (local_#17800 != 0) { goto CFG_42899; } else { goto CFG_41693; } CFG_42899: assume true; local_#17801 := _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]; assert { :LIR "62859" } { :check "overflow" } { :finding_ids "0" } true; local_#17802 := { base : local_#31953_f!base, offset : local_#31953_f!offset + 20 }; local_#17803 := 16; local_#17804 := 67108863; assume _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 0 }] == 99 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 1 }] == 111 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 2 }] == 110 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 3 }] == 115 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 4 }] == 116 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 5 }] == 97 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 6 }] == 110 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 7 }] == 116 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 8 }] == 115 && _memory[{ base : strlit_#70434!base, offset : strlit_#70434!offset + 9 }] == 0; local_#17805 := strlit_#70434; local_#17806 := { base : local_#17805!base, offset : local_#17805!offset + 0 * 1 }; assert { :LIR "62860" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46421; CFG_46421: assume true; call local_#17807 := routine_#33856_luaM_growaux_(local_#31952_L,local_#17801,local_#17802,local_#17803,local_#17804,local_#17806); goto CFG_40545; CFG_40545: assume true; local_#17808 := local_#17807; assert { :LIR "61314" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }] := local_#17808; goto CFG_41693; CFG_41693: assume true; goto CFG_50049; CFG_50049: assume true; local_#17809 := (if local_#31956_oldsize < _memory[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 20 }] then 1 else 0); if (local_#17809 != 0) { goto CFG_45034; } else { goto CFG_50050; } CFG_50050: assume true; local_#17810 := { base : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!offset + local_#31955_k * 16 }; local_#31958_io1 := local_#17810; assume read_type_#101(_memory, _memory_ptr, local_#5396_v)!_value_!_b == _memory[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#5396_v)!_value_!_f == _memory_ptr[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#5396_v)!_value_!_gc == _memory_ptr[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#5396_v)!_value_!_i == _memory[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#5396_v)!_value_!_p == _memory_ptr[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#5396_v)!_tt_ == _memory[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 8 }]; call write_type_#101(local_#31958_io1,read_type_#101(_memory, _memory_ptr, local_#5396_v)); local_#17811 := 0; assert { :LIR "61315" } { :check "overflow" } { :finding_ids "0" } true; local_#17812 := 0; local_#17813 := 0; assert { :LIR "61316" } { :check "overflow" } { :finding_ids "0" } true; local_#17814 := _memory[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 44 }]; local_#17815 := 1; _memory[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 44 }] := local_#17814 + local_#17815; assert { :LIR "66521" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#5394_fs!base, offset : local_#5394_fs!offset + 44 }] <= -1; local_#17816 := local_#17814; local_#17817 := 64; local_#17818 := ~sand32(_memory[{ base : local_#5396_v!base, offset : local_#5396_v!offset + 8 }], local_#17817); if (local_#17818 != 0) { goto CFG_50051; } else { goto CFG_40546; } CFG_50051: assume true; local_#17819 := _memory[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 9 }]; assert { :LIR "62861" } { :check "overflow" } { :finding_ids "0" } local_#17819 <= 2147483647; local_#17820 := 4; local_#17821 := ~sand32(local_#17819, local_#17820); if (local_#17821 != 0) { goto CFG_50052; } else { goto CFG_40546; } CFG_50052: assume true; local_#17822 := { base : local_#5396_v!base, offset : local_#5396_v!offset + 0 }; local_#17823 := _memory_ptr[local_#17822]; local_#17824 := _memory[{ base : local_#17823!base, offset : local_#17823!offset + 9 }]; assert { :LIR "62862" } { :check "overflow" } { :finding_ids "0" } local_#17824 <= 2147483647; local_#17825 := 3; local_#17826 := ~sand32(local_#17824, local_#17825); if (local_#17826 != 0) { goto CFG_42900; } else { goto CFG_40546; } CFG_40546: assume true; local_#17827 := 0; local_#17828 := 0; assert { :LIR "61317" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38352; CFG_42900: assume true; local_#17829 := local_#31953_f; assert { :LIR "61318" } { :check "overflow" } { :finding_ids "0" } true; local_#17830 := { base : local_#17829!base, offset : local_#17829!offset + 0 }; local_#17831 := { base : local_#5396_v!base, offset : local_#5396_v!offset + 0 }; local_#17832 := _memory_ptr[local_#17831]; goto CFG_46422; CFG_46422: assume true; call routine_#33720_luaC_barrier_(local_#31952_L,local_#17830,local_#17832); goto CFG_40547; CFG_40547: assume true; goto CFG_38352; CFG_38352: assume true; local_#7938 := local_#31955_k; goto CFG_37471; CFG_45034: assume true; local_#17833 := 0; local_#17834 := local_#31956_oldsize; local_#17835 := 1; local_#31956_oldsize := local_#17834 + local_#17835; assert { :LIR "66522" } { :check "overflow" } { :finding_ids "0" } local_#31956_oldsize <= 2147483647; local_#17836 := { base : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#31953_f!base, offset : local_#31953_f!offset + 48 }]!offset + local_#17834 * 16 }; _memory[{ base : local_#17836!base, offset : local_#17836!offset + 8 }] := local_#17833; goto CFG_50049; CFG_38353: assume true; local_#7938 := local_#31955_k; goto CFG_37471; CFG_37471: assume true; } procedure routine_#34573_addlenmod(local_#5397_form_IN : { base : int, offset : int }, local_#5398_lenmod_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5397_form : { base : int, offset : int }; var local_#5398_lenmod : { base : int, offset : int }; var local_#17837 : { base : int, offset : int }; var local_#17838 : int; var local_#31959_l : int; var local_#17839 : int; var local_#31960_lm : int; var local_#17840 : int; var local_#17841 : int; var local_#17842 : { base : int, offset : int }; var local_#31961_spec : int; var local_#17843 : { base : int, offset : int }; var local_#17844 : int; var local_#17845 : { base : int, offset : int }; var local_#17846 : { base : int, offset : int }; var local_#17847 : int; var local_#17848 : int; var local_#17849 : int; var local_#17850 : { base : int, offset : int }; var local_#17851 : int; var local_#17852 : int; var local_#17853 : { base : int, offset : int }; local_#5397_form := local_#5397_form_IN; local_#5398_lenmod := local_#5398_lenmod_IN; goto CFG_36561; CFG_36561: assume true; goto CFG_42901; CFG_42901: assume true; local_#17837 := local_#5397_form; assert { :LIR "62863" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46423; CFG_46423: assume true; call local_#17838 := routine_#34454_strlen(local_#17837); goto CFG_42902; CFG_42902: assume true; local_#31959_l := local_#17838; goto CFG_46424; CFG_46424: assume true; call local_#17839 := routine_#34454_strlen(local_#5398_lenmod); goto CFG_42903; CFG_42903: assume true; local_#31960_lm := local_#17839; local_#17840 := 1; assume { :symbol "~uwrap64" } true; local_#17841 := ~uwrap64(local_#31959_l - local_#17840); assert { :LIR "67965" } { :check "overflow" } { :finding_ids "0" } true; local_#17842 := { base : local_#5397_form!base, offset : local_#5397_form!offset + local_#17841 * 1 }; local_#31961_spec := _memory[local_#17842]; local_#17843 := { base : local_#5397_form!base, offset : local_#5397_form!offset + local_#31959_l * 1 }; local_#17844 := 1; local_#17845 := { base : local_#17843!base, offset : local_#17843!offset - local_#17844 * 1 }; goto CFG_46425; CFG_46425: assume true; call local_#17846 := routine_#34448_strcpy(local_#17845,local_#5398_lenmod); goto CFG_39242; CFG_39242: assume true; assume { :symbol "~uwrap64" } true; local_#17847 := ~uwrap64(local_#31959_l + local_#31960_lm); assert { :LIR "66523" } { :check "overflow" } { :finding_ids "0" } true; local_#17848 := 1; assume { :symbol "~uwrap64" } true; local_#17849 := ~uwrap64(local_#17847 - local_#17848); assert { :LIR "67966" } { :check "overflow" } { :finding_ids "0" } true; local_#17850 := { base : local_#5397_form!base, offset : local_#5397_form!offset + local_#17849 * 1 }; _memory[local_#17850] := local_#31961_spec; local_#17851 := 0; assume { :symbol "~uwrap64" } true; local_#17852 := ~uwrap64(local_#31959_l + local_#31960_lm); assert { :LIR "66524" } { :check "overflow" } { :finding_ids "0" } true; local_#17853 := { base : local_#5397_form!base, offset : local_#5397_form!offset + local_#17852 * 1 }; _memory[local_#17853] := local_#17851; goto CFG_37472; CFG_37472: assume true; } procedure routine_#34574_addliteral(local_#5399_L_IN : { base : int, offset : int }, local_#5400_b_IN : { base : int, offset : int }, local_#5401_arg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5399_L : { base : int, offset : int }; var local_#5400_b : { base : int, offset : int }; var local_#5401_arg : int; var local_#17854 : int; var local_#17855 : int; var local_#17856 : { base : int, offset : int }; var local_#17857 : { base : int, offset : int }; var local_#17858 : int; var local_#17859 : { base : int, offset : int }; var local_#17860 : { base : int, offset : int }; var local_#17861 : int; var local_#17862 : { base : int, offset : int }; var local_#31964_buff : { base : int, offset : int }; var local_#17863 : int; var local_#17864 : int; var local_#17865 : { base : int, offset : int }; var local_#17866 : int; var local_#31968_n : int; var local_#17867 : int; var local_#17868 : int; var local_#17869 : { base : int, offset : int }; var local_#30717 : { base : int, offset : int }; var local_#17870 : { base : int, offset : int }; var local_#17871 : { base : int, offset : int }; var local_#31967_format : { base : int, offset : int }; var local_#17872 : int; var local_#17873 : int; var local_#17874 : int; var local_#31965_nb : int; var local_#17875 : { base : int, offset : int }; var local_#17876 : int; var local_#31966_n : int; var local_#17877 : int; var local_#17878 : int; var local_#17879 : { base : int, offset : int }; var local_#17880 : { base : int, offset : int }; var nondet_#0 : int; var local_#17881 : int; var local_#17882 : int; var local_#17883 : int; var local_#31962_len : { base : int, offset : int }; var local_#17884 : { base : int, offset : int }; var local_#17885 : { base : int, offset : int }; var local_#31963_s : { base : int, offset : int }; local_#5399_L := local_#5399_L_IN; local_#5400_b := local_#5400_b_IN; local_#5401_arg := local_#5401_arg_IN; goto CFG_36562; CFG_36562: assume true; goto CFG_46426; CFG_46426: assume true; call local_#17854 := routine_#34000_lua_type(local_#5399_L,local_#5401_arg); goto CFG_51529; CFG_51529: assume true; local_#17855 := local_#17854; if (local_#17855 == 4) { goto CFG_42913; } if (local_#17855 == 3) { goto CFG_42906; } if (local_#17855 == 0) { goto CFG_42905; } if (local_#17855 == 1) { goto CFG_42905; } goto CFG_42904; CFG_42904: assume true; assume _memory[{ base : strlit_#70435!base, offset : strlit_#70435!offset + 25 }] == 0; local_#17856 := strlit_#70435; local_#17857 := { base : local_#17856!base, offset : local_#17856!offset + 0 * 1 }; assert { :LIR "62864" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46427; CFG_46427: assume true; call local_#17858 := routine_#33815_luaL_argerror(local_#5399_L,local_#5401_arg,local_#17857); goto CFG_41928; CFG_41928: assume true; goto CFG_39243; CFG_42905: assume true; local_#17859 := { base : 0, offset : 0 }; goto CFG_46428; CFG_46428: assume true; call local_#17860 := routine_#33852_luaL_tolstring(local_#5399_L,local_#5401_arg,local_#17859); goto CFG_46429; CFG_46429: assume true; call routine_#33814_luaL_addvalue(local_#5400_b); goto CFG_39589; CFG_39589: assume true; goto CFG_39243; CFG_42906: assume true; local_#17861 := 428; goto CFG_46430; CFG_46430: assume true; call local_#17862 := routine_#33844_luaL_prepbuffsize(local_#5400_b,local_#17861); goto CFG_42907; CFG_42907: assume true; local_#31964_buff := local_#17862; goto CFG_46431; CFG_46431: assume true; call local_#17863 := routine_#33945_lua_isinteger(local_#5399_L,local_#5401_arg); goto CFG_50053; CFG_50053: assume true; local_#17864 := (if local_#17863 != 0 then 0 else 1); if (local_#17864 != 0) { goto CFG_42910; } else { goto CFG_42908; } CFG_42908: assume true; local_#17865 := { base : 0, offset : 0 }; goto CFG_46432; CFG_46432: assume true; call local_#17866 := routine_#33994_lua_tointegerx(local_#5399_L,local_#5401_arg,local_#17865); goto CFG_50054; CFG_50054: assume true; local_#31968_n := local_#17866; local_#17867 := -9223372036854775808; local_#17868 := (if local_#31968_n == local_#17867 then 1 else 0); if (local_#17868 != 0) { goto CFG_40549; } else { goto CFG_40548; } CFG_40548: assume true; assume _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 0 }] == 37 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 1 }] == 108 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 2 }] == 108 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 3 }] == 100 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 4 }] == 0; local_#17869 := strlit_#70367; local_#30717 := { base : local_#17869!base, offset : local_#17869!offset + 0 * 1 }; goto CFG_42909; CFG_40549: assume true; assume _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 0 }] == 48 && _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 1 }] == 120 && _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 2 }] == 37 && _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 3 }] == 108 && _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 4 }] == 108 && _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 5 }] == 120 && _memory[{ base : strlit_#70437!base, offset : strlit_#70437!offset + 6 }] == 0; local_#17870 := strlit_#70437; local_#30717 := { base : local_#17870!base, offset : local_#17870!offset + 0 * 1 }; goto CFG_42909; CFG_42909: assume true; local_#17871 := local_#30717; assert { :LIR "62865" } { :check "overflow" } { :finding_ids "0" } true; local_#31967_format := local_#17871; local_#17872 := 428; local_#17873 := local_#31968_n; assert { :LIR "61319" } { :check "overflow" } { :finding_ids "0" } local_#17873 <= 9223372036854775807; goto CFG_46433; CFG_46433: assume true; call local_#17874 := routine_#34434_snprintf(local_#31964_buff,local_#17872,local_#31967_format,{ base : 0, offset : 0 }); goto CFG_40550; CFG_40550: assume true; local_#31965_nb := local_#17874; goto CFG_39590; CFG_42910: assume true; local_#17875 := { base : 0, offset : 0 }; goto CFG_46434; CFG_46434: assume true; call local_#17876 := routine_#33996_lua_tonumberx(local_#5399_L,local_#5401_arg,local_#17875); goto CFG_42911; CFG_42911: assume true; local_#31966_n := local_#17876; local_#17877 := 0; assert { :LIR "61320" } { :check "overflow" } { :finding_ids "0" } true; local_#17878 := 428; assume _memory[{ base : strlit_#70438!base, offset : strlit_#70438!offset + 0 }] == 37 && _memory[{ base : strlit_#70438!base, offset : strlit_#70438!offset + 1 }] == 97 && _memory[{ base : strlit_#70438!base, offset : strlit_#70438!offset + 2 }] == 0; local_#17879 := strlit_#70438; local_#17880 := { base : local_#17879!base, offset : local_#17879!offset + 0 * 1 }; assert { :LIR "62866" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#0; local_#17881 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61321 */; assert { :LIR "61321" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46435; CFG_46435: assume true; call local_#17882 := routine_#34434_snprintf(local_#31964_buff,local_#17878,local_#17880,{ base : 0, offset : 0 }); goto CFG_42912; CFG_42912: assume true; local_#31965_nb := local_#17882; goto CFG_46436; CFG_46436: assume true; call routine_#34630_checkdp(local_#31964_buff,local_#31965_nb); goto CFG_40551; CFG_40551: assume true; goto CFG_39590; CFG_39590: assume true; local_#17883 := ~uwrap64(local_#31965_nb); assert { :LIR "62867" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5400_b!base, offset : local_#5400_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#5400_b!base, offset : local_#5400_b!offset + 16 }] + local_#17883); assert { :LIR "66525" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39243; CFG_42913: assume true; local_#17884 := local_#31962_len; goto CFG_46437; CFG_46437: assume true; call local_#17885 := routine_#33995_lua_tolstring(local_#5399_L,local_#5401_arg,local_#17884); goto CFG_42914; CFG_42914: assume true; local_#31963_s := local_#17885; goto CFG_46438; CFG_46438: assume true; call routine_#34576_addquoted(local_#5400_b,local_#31963_s,_memory[local_#31962_len]); goto CFG_39591; CFG_39591: assume true; goto CFG_39243; CFG_39243: assume true; goto CFG_37473; CFG_37473: assume true; } procedure routine_#34575_addprototype(local_#5402_ls_IN : { base : int, offset : int }) returns (local_#7939 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5402_ls : { base : int, offset : int }; var local_#31969_L : { base : int, offset : int }; var local_#31972_fs : { base : int, offset : int }; var local_#31971_f : { base : int, offset : int }; var local_#17886 : int; var local_#31973_oldsize : int; var local_#17887 : int; var local_#17888 : int; var local_#17889 : int; var local_#17890 : { base : int, offset : int }; var local_#17891 : { base : int, offset : int }; var local_#17892 : int; var local_#17893 : int; var local_#17894 : { base : int, offset : int }; var local_#17895 : { base : int, offset : int }; var local_#17896 : { base : int, offset : int }; var local_#17897 : { base : int, offset : int }; var local_#17898 : int; var local_#17899 : { base : int, offset : int }; var local_#31970_clp : { base : int, offset : int }; var local_#17900 : int; var local_#17901 : int; var local_#17902 : { base : int, offset : int }; var local_#17903 : int; var local_#17904 : int; var local_#17905 : int; var local_#17906 : int; var local_#17907 : int; var local_#17908 : int; var local_#17909 : int; var local_#17910 : int; var local_#17911 : { base : int, offset : int }; var local_#17912 : { base : int, offset : int }; var local_#17913 : { base : int, offset : int }; var local_#17914 : { base : int, offset : int }; var local_#17915 : { base : int, offset : int }; var local_#17916 : int; var local_#17917 : int; var local_#17918 : { base : int, offset : int }; local_#5402_ls := local_#5402_ls_IN; goto CFG_36563; CFG_36563: assume true; goto CFG_50055; CFG_50055: assume true; local_#31969_L := _memory_ptr[{ base : local_#5402_ls!base, offset : local_#5402_ls!offset + 56 }]; local_#31972_fs := _memory_ptr[{ base : local_#5402_ls!base, offset : local_#5402_ls!offset + 48 }]; local_#31971_f := _memory_ptr[{ base : local_#31972_fs!base, offset : local_#31972_fs!offset + 0 }]; local_#17886 := (if _memory[{ base : local_#31972_fs!base, offset : local_#31972_fs!offset + 48 }] >= _memory[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 32 }] then 1 else 0); if (local_#17886 != 0) { goto CFG_50056; } else { goto CFG_46440; } CFG_50056: assume true; local_#31973_oldsize := _memory[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 32 }]; local_#17887 := 1; local_#17888 := _memory[{ base : local_#31972_fs!base, offset : local_#31972_fs!offset + 48 }] + local_#17887; assert { :LIR "66526" } { :check "overflow" } { :finding_ids "0" } local_#17888 <= 2147483647; local_#17889 := (if local_#17888 > _memory[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 32 }] then 1 else 0); if (local_#17889 != 0) { goto CFG_42915; } else { goto CFG_41694; } CFG_42915: assume true; local_#17890 := _memory_ptr[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 64 }]; assert { :LIR "62868" } { :check "overflow" } { :finding_ids "0" } true; local_#17891 := { base : local_#31971_f!base, offset : local_#31971_f!offset + 32 }; local_#17892 := 8; local_#17893 := 262143; assume _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 0 }] == 102 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 1 }] == 117 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 2 }] == 110 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 3 }] == 99 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 4 }] == 116 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 5 }] == 105 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 6 }] == 111 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 7 }] == 110 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 8 }] == 115 && _memory[{ base : strlit_#70439!base, offset : strlit_#70439!offset + 9 }] == 0; local_#17894 := strlit_#70439; local_#17895 := { base : local_#17894!base, offset : local_#17894!offset + 0 * 1 }; assert { :LIR "62869" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46439; CFG_46439: assume true; call local_#17896 := routine_#33856_luaM_growaux_(local_#31969_L,local_#17890,local_#17891,local_#17892,local_#17893,local_#17895); goto CFG_40552; CFG_40552: assume true; local_#17897 := local_#17896; assert { :LIR "61322" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 64 }] := local_#17897; goto CFG_41694; CFG_41694: assume true; goto CFG_50057; CFG_50057: assume true; local_#17898 := (if local_#31973_oldsize < _memory[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 32 }] then 1 else 0); if (local_#17898 != 0) { goto CFG_45035; } else { goto CFG_40553; } CFG_40553: assume true; goto CFG_46440; CFG_46440: assume true; call local_#17899 := routine_#33756_luaF_newproto(local_#31969_L); goto CFG_50058; CFG_50058: assume true; local_#31970_clp := local_#17899; local_#17900 := _memory[{ base : local_#31972_fs!base, offset : local_#31972_fs!offset + 48 }]; local_#17901 := 1; _memory[{ base : local_#31972_fs!base, offset : local_#31972_fs!offset + 48 }] := local_#17900 + local_#17901; assert { :LIR "66527" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#31972_fs!base, offset : local_#31972_fs!offset + 48 }] <= -1; local_#17902 := { base : _memory_ptr[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 64 }]!offset + local_#17900 * 8 }; _memory_ptr[local_#17902] := local_#31970_clp; local_#17903 := _memory[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 9 }]; assert { :LIR "62870" } { :check "overflow" } { :finding_ids "0" } local_#17903 <= 2147483647; local_#17904 := 4; local_#17905 := ~sand32(local_#17903, local_#17904); if (local_#17905 != 0) { goto CFG_50059; } else { goto CFG_40554; } CFG_50059: assume true; local_#17906 := _memory[{ base : local_#31970_clp!base, offset : local_#31970_clp!offset + 9 }]; assert { :LIR "62871" } { :check "overflow" } { :finding_ids "0" } local_#17906 <= 2147483647; local_#17907 := 3; local_#17908 := ~sand32(local_#17906, local_#17907); if (local_#17908 != 0) { goto CFG_42916; } else { goto CFG_40554; } CFG_40554: assume true; local_#17909 := 0; local_#17910 := 0; assert { :LIR "61323" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38354; CFG_42916: assume true; local_#17911 := local_#31971_f; assert { :LIR "61324" } { :check "overflow" } { :finding_ids "0" } true; local_#17912 := { base : local_#17911!base, offset : local_#17911!offset + 0 }; local_#17913 := local_#31970_clp; assert { :LIR "61325" } { :check "overflow" } { :finding_ids "0" } true; local_#17914 := { base : local_#17913!base, offset : local_#17913!offset + 0 }; goto CFG_46441; CFG_46441: assume true; call routine_#33720_luaC_barrier_(local_#31969_L,local_#17912,local_#17914); goto CFG_40555; CFG_40555: assume true; goto CFG_38354; CFG_38354: assume true; local_#7939 := local_#31970_clp; goto CFG_37474; CFG_45035: assume true; local_#17915 := { base : 0, offset : 0 }; local_#17916 := local_#31973_oldsize; local_#17917 := 1; local_#31973_oldsize := local_#17916 + local_#17917; assert { :LIR "66528" } { :check "overflow" } { :finding_ids "0" } local_#31973_oldsize <= 2147483647; local_#17918 := { base : _memory_ptr[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#31971_f!base, offset : local_#31971_f!offset + 64 }]!offset + local_#17916 * 8 }; _memory_ptr[local_#17918] := local_#17915; goto CFG_50057; CFG_37474: assume true; } procedure routine_#34576_addquoted(local_#5403_b_IN : { base : int, offset : int }, local_#5404_s_IN : { base : int, offset : int }, local_#5405_len_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5403_b : { base : int, offset : int }; var local_#5404_s : { base : int, offset : int }; var local_#5405_len : int; var local_#17919 : int; var local_#17920 : int; var local_#17921 : { base : int, offset : int }; var local_#17922 : { base : int, offset : int }; var local_#30718 : int; var local_#17923 : int; var local_#17924 : int; var local_#17925 : int; var local_#17926 : int; var local_#17927 : { base : int, offset : int }; var local_#17928 : int; var local_#17929 : int; var local_#17930 : int; var local_#17931 : int; var local_#17932 : int; var local_#17933 : int; var local_#17934 : int; var local_#17935 : { base : int, offset : int }; var local_#17936 : { base : int, offset : int }; var local_#30719 : int; var local_#17937 : int; var local_#17938 : int; var local_#17939 : int; var local_#17940 : int; var local_#17941 : { base : int, offset : int }; var local_#17942 : int; var local_#17943 : int; var local_#17944 : int; var local_#17945 : int; var local_#17946 : int; var local_#17947 : int; var local_#17948 : int; var local_#17949 : int; var local_#17950 : int; var local_#17951 : int; var local_#17952 : int; var local_#17953 : { base : int, offset : int }; var local_#17954 : int; var local_#17955 : int; var local_#17956 : { base : int, offset : int }; var local_#17957 : int; var local_#17958 : int; var local_#17959 : int; var local_#17960 : int; var local_#17961 : int; var local_#17962 : { base : int, offset : int }; var local_#17963 : { base : int, offset : int }; var local_#30720 : int; var local_#17964 : int; var local_#17965 : int; var local_#17966 : int; var local_#17967 : { base : int, offset : int }; var local_#17968 : int; var local_#17969 : int; var local_#17970 : { base : int, offset : int }; var local_#17971 : int; var local_#17972 : { base : int, offset : int }; var local_#17973 : int; var local_#17974 : int; var local_#17975 : { base : int, offset : int }; var local_#17976 : int; var local_#17977 : int; var local_#17978 : int; var local_#17979 : int; var local_#31974_buff : { base : int, offset : int }; var local_#17980 : { base : int, offset : int }; var local_#17981 : int; var local_#17982 : { base : int, offset : int }; var local_#17983 : { base : int, offset : int }; var local_#17984 : int; var local_#17985 : int; var local_#17986 : int; var local_#17987 : { base : int, offset : int }; var local_#17988 : int; var local_#17989 : { base : int, offset : int }; var local_#17990 : { base : int, offset : int }; var local_#17991 : int; var local_#17992 : int; var local_#17993 : int; var local_#17994 : { base : int, offset : int }; var local_#17995 : int; var local_#17996 : int; var local_#17997 : { base : int, offset : int }; var local_#17998 : { base : int, offset : int }; var local_#30721 : int; var local_#17999 : int; var local_#18000 : int; var local_#18001 : int; var local_#18002 : int; var local_#18003 : { base : int, offset : int }; var local_#18004 : int; var local_#18005 : int; var local_#18006 : int; var local_#18007 : int; var local_#18008 : { base : int, offset : int }; var local_#18009 : { base : int, offset : int }; var local_#30722 : int; var local_#18010 : int; var local_#18011 : int; var local_#18012 : int; var local_#18013 : { base : int, offset : int }; var local_#18014 : int; var local_#18015 : int; var local_#18016 : { base : int, offset : int }; var local_#18017 : int; var local_#18018 : { base : int, offset : int }; local_#5403_b := local_#5403_b_IN; local_#5404_s := local_#5404_s_IN; local_#5405_len := local_#5405_len_IN; goto CFG_36564; CFG_36564: assume true; goto CFG_50060; CFG_50060: assume true; local_#17919 := (if _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] < _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 8 }] then 1 else 0); if (local_#17919 != 0) { goto CFG_40557; } else { goto CFG_42917; } CFG_42917: assume true; local_#17920 := 1; goto CFG_46442; CFG_46442: assume true; call local_#17921 := routine_#33844_luaL_prepbuffsize(local_#5403_b,local_#17920); goto CFG_50061; CFG_50061: assume true; local_#17922 := local_#17921; if (local_#17922 != { base : 0, offset : 0 }) { goto CFG_40557; } else { goto CFG_40556; } CFG_40556: assume true; local_#30718 := 0; goto CFG_41695; CFG_40557: assume true; local_#30718 := 1; goto CFG_41695; CFG_41695: assume true; local_#17923 := 0; assert { :LIR "61326" } { :check "overflow" } { :finding_ids "0" } true; local_#17924 := 34; local_#17925 := _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }]; local_#17926 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] := ~uwrap64(local_#17925 + local_#17926); assert { :LIR "66529" } { :check "overflow" } { :finding_ids "0" } true; local_#17927 := { base : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!offset + local_#17925 * 1 }; _memory[local_#17927] := local_#17924; local_#17928 := _memory[local_#17927]; local_#17929 := local_#17928; goto CFG_50062; CFG_50062: assume true; local_#17930 := local_#5405_len; local_#17931 := 1; assume { :symbol "~uwrap64" } true; local_#5405_len := ~uwrap64(local_#17930 - local_#17931); assert { :LIR "67967" } { :check "overflow" } { :finding_ids "0" } true; local_#17932 := local_#17930; if (local_#17932 != 0) { goto CFG_50065; } else { goto CFG_50063; } CFG_50063: assume true; local_#17933 := (if _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] < _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 8 }] then 1 else 0); if (local_#17933 != 0) { goto CFG_40559; } else { goto CFG_42918; } CFG_42918: assume true; local_#17934 := 1; goto CFG_46443; CFG_46443: assume true; call local_#17935 := routine_#33844_luaL_prepbuffsize(local_#5403_b,local_#17934); goto CFG_50064; CFG_50064: assume true; local_#17936 := local_#17935; if (local_#17936 != { base : 0, offset : 0 }) { goto CFG_40559; } else { goto CFG_40558; } CFG_40558: assume true; local_#30719 := 0; goto CFG_39244; CFG_40559: assume true; local_#30719 := 1; goto CFG_39244; CFG_39244: assume true; local_#17937 := 0; assert { :LIR "61327" } { :check "overflow" } { :finding_ids "0" } true; local_#17938 := 34; local_#17939 := _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }]; local_#17940 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] := ~uwrap64(local_#17939 + local_#17940); assert { :LIR "66530" } { :check "overflow" } { :finding_ids "0" } true; local_#17941 := { base : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!offset + local_#17939 * 1 }; _memory[local_#17941] := local_#17938; local_#17942 := _memory[local_#17941]; local_#17943 := local_#17942; goto CFG_37475; CFG_50065: assume true; local_#17944 := _memory[local_#5404_s]; assert { :LIR "62872" } { :check "overflow" } { :finding_ids "0" } local_#17944 <= 2147483647; local_#17945 := 34; local_#17946 := (if local_#17944 == local_#17945 then 1 else 0); if (local_#17946 != 0) { goto CFG_50072; } else { goto CFG_50066; } CFG_50066: assume true; local_#17947 := _memory[local_#5404_s]; assert { :LIR "62873" } { :check "overflow" } { :finding_ids "0" } local_#17947 <= 2147483647; local_#17948 := 92; local_#17949 := (if local_#17947 == local_#17948 then 1 else 0); if (local_#17949 != 0) { goto CFG_50072; } else { goto CFG_50067; } CFG_50067: assume true; local_#17950 := _memory[local_#5404_s]; assert { :LIR "62874" } { :check "overflow" } { :finding_ids "0" } local_#17950 <= 2147483647; local_#17951 := 10; local_#17952 := (if local_#17950 == local_#17951 then 1 else 0); if (local_#17952 != 0) { goto CFG_50072; } else { goto CFG_46444; } CFG_46444: assume true; call local_#17953 := routine_#33248___ctype_b_loc(); goto CFG_50068; CFG_50068: assume true; local_#17954 := ~uwrap8(_memory[local_#5404_s]); assert { :LIR "61328" } { :check "overflow" } { :finding_ids "0" } true; local_#17955 := local_#17954; assert { :LIR "61329" } { :check "overflow" } { :finding_ids "0" } local_#17955 <= 2147483647; local_#17956 := { base : _memory_ptr[local_#17953]!base, offset : _memory_ptr[local_#17953]!offset + local_#17955 * 2 }; local_#17957 := _memory[local_#17956]; assert { :LIR "62875" } { :check "overflow" } { :finding_ids "0" } local_#17957 <= 2147483647; local_#17958 := 2; local_#17959 := ~sand32(local_#17957, local_#17958); if (local_#17959 != 0) { goto CFG_46446; } else { goto CFG_50069; } CFG_50069: assume true; local_#17960 := (if _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] < _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 8 }] then 1 else 0); if (local_#17960 != 0) { goto CFG_40561; } else { goto CFG_42919; } CFG_42919: assume true; local_#17961 := 1; goto CFG_46445; CFG_46445: assume true; call local_#17962 := routine_#33844_luaL_prepbuffsize(local_#5403_b,local_#17961); goto CFG_50070; CFG_50070: assume true; local_#17963 := local_#17962; if (local_#17963 != { base : 0, offset : 0 }) { goto CFG_40561; } else { goto CFG_40560; } CFG_40560: assume true; local_#30720 := 0; goto CFG_40562; CFG_40561: assume true; local_#30720 := 1; goto CFG_40562; CFG_40562: assume true; local_#17964 := 0; assert { :LIR "61330" } { :check "overflow" } { :finding_ids "0" } true; local_#17965 := _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }]; local_#17966 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] := ~uwrap64(local_#17965 + local_#17966); assert { :LIR "66531" } { :check "overflow" } { :finding_ids "0" } true; local_#17967 := { base : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!offset + local_#17965 * 1 }; _memory[local_#17967] := _memory[local_#5404_s]; local_#17968 := _memory[local_#17967]; local_#17969 := local_#17968; goto CFG_40566; CFG_46446: assume true; call local_#17970 := routine_#33248___ctype_b_loc(); goto CFG_50071; CFG_50071: assume true; local_#17971 := 1; local_#17972 := { base : local_#5404_s!base, offset : local_#5404_s!offset + local_#17971 * 1 }; local_#17973 := ~uwrap8(_memory[local_#17972]); assert { :LIR "61331" } { :check "overflow" } { :finding_ids "0" } true; local_#17974 := local_#17973; assert { :LIR "61332" } { :check "overflow" } { :finding_ids "0" } local_#17974 <= 2147483647; local_#17975 := { base : _memory_ptr[local_#17970]!base, offset : _memory_ptr[local_#17970]!offset + local_#17974 * 2 }; local_#17976 := _memory[local_#17975]; assert { :LIR "62876" } { :check "overflow" } { :finding_ids "0" } local_#17976 <= 2147483647; local_#17977 := 2048; local_#17978 := ~sand32(local_#17976, local_#17977); local_#17979 := (if local_#17978 != 0 then 0 else 1); if (local_#17979 != 0) { goto CFG_42921; } else { goto CFG_42920; } CFG_42920: assume true; local_#17980 := { base : local_#31974_buff!base, offset : local_#31974_buff!offset + 0 * 1 }; local_#17981 := 10; assume _memory[{ base : strlit_#70440!base, offset : strlit_#70440!offset + 0 }] == 92 && _memory[{ base : strlit_#70440!base, offset : strlit_#70440!offset + 1 }] == 37 && _memory[{ base : strlit_#70440!base, offset : strlit_#70440!offset + 2 }] == 48 && _memory[{ base : strlit_#70440!base, offset : strlit_#70440!offset + 3 }] == 51 && _memory[{ base : strlit_#70440!base, offset : strlit_#70440!offset + 4 }] == 100 && _memory[{ base : strlit_#70440!base, offset : strlit_#70440!offset + 5 }] == 0; local_#17982 := strlit_#70440; local_#17983 := { base : local_#17982!base, offset : local_#17982!offset + 0 * 1 }; assert { :LIR "62877" } { :check "overflow" } { :finding_ids "0" } true; local_#17984 := ~uwrap8(_memory[local_#5404_s]); assert { :LIR "61333" } { :check "overflow" } { :finding_ids "0" } true; local_#17985 := local_#17984; assert { :LIR "61334" } { :check "overflow" } { :finding_ids "0" } local_#17985 <= 2147483647; goto CFG_46447; CFG_46447: assume true; call local_#17986 := routine_#34434_snprintf(local_#17980,local_#17981,local_#17983,{ base : 0, offset : 0 }); goto CFG_40563; CFG_40563: assume true; goto CFG_42922; CFG_42921: assume true; local_#17987 := { base : local_#31974_buff!base, offset : local_#31974_buff!offset + 0 * 1 }; local_#17988 := 10; assume _memory[{ base : strlit_#70441!base, offset : strlit_#70441!offset + 0 }] == 92 && _memory[{ base : strlit_#70441!base, offset : strlit_#70441!offset + 1 }] == 37 && _memory[{ base : strlit_#70441!base, offset : strlit_#70441!offset + 2 }] == 100 && _memory[{ base : strlit_#70441!base, offset : strlit_#70441!offset + 3 }] == 0; local_#17989 := strlit_#70441; local_#17990 := { base : local_#17989!base, offset : local_#17989!offset + 0 * 1 }; assert { :LIR "62878" } { :check "overflow" } { :finding_ids "0" } true; local_#17991 := ~uwrap8(_memory[local_#5404_s]); assert { :LIR "61335" } { :check "overflow" } { :finding_ids "0" } true; local_#17992 := local_#17991; assert { :LIR "61336" } { :check "overflow" } { :finding_ids "0" } local_#17992 <= 2147483647; goto CFG_46448; CFG_46448: assume true; call local_#17993 := routine_#34434_snprintf(local_#17987,local_#17988,local_#17990,{ base : 0, offset : 0 }); goto CFG_40564; CFG_40564: assume true; goto CFG_42922; CFG_42922: assume true; local_#17994 := { base : local_#31974_buff!base, offset : local_#31974_buff!offset + 0 * 1 }; assert { :LIR "62879" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46449; CFG_46449: assume true; call routine_#33813_luaL_addstring(local_#5403_b,local_#17994); goto CFG_40565; CFG_40565: assume true; goto CFG_40566; CFG_40566: assume true; goto CFG_45036; CFG_50072: assume true; local_#17995 := (if _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] < _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 8 }] then 1 else 0); if (local_#17995 != 0) { goto CFG_40568; } else { goto CFG_42923; } CFG_42923: assume true; local_#17996 := 1; goto CFG_46450; CFG_46450: assume true; call local_#17997 := routine_#33844_luaL_prepbuffsize(local_#5403_b,local_#17996); goto CFG_50073; CFG_50073: assume true; local_#17998 := local_#17997; if (local_#17998 != { base : 0, offset : 0 }) { goto CFG_40568; } else { goto CFG_40567; } CFG_40567: assume true; local_#30721 := 0; goto CFG_50074; CFG_40568: assume true; local_#30721 := 1; goto CFG_50074; CFG_50074: assume true; local_#17999 := 0; assert { :LIR "61337" } { :check "overflow" } { :finding_ids "0" } true; local_#18000 := 92; local_#18001 := _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }]; local_#18002 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] := ~uwrap64(local_#18001 + local_#18002); assert { :LIR "66532" } { :check "overflow" } { :finding_ids "0" } true; local_#18003 := { base : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!offset + local_#18001 * 1 }; _memory[local_#18003] := local_#18000; local_#18004 := _memory[local_#18003]; local_#18005 := local_#18004; local_#18006 := (if _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] < _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 8 }] then 1 else 0); if (local_#18006 != 0) { goto CFG_40570; } else { goto CFG_42924; } CFG_42924: assume true; local_#18007 := 1; goto CFG_46451; CFG_46451: assume true; call local_#18008 := routine_#33844_luaL_prepbuffsize(local_#5403_b,local_#18007); goto CFG_50075; CFG_50075: assume true; local_#18009 := local_#18008; if (local_#18009 != { base : 0, offset : 0 }) { goto CFG_40570; } else { goto CFG_40569; } CFG_40569: assume true; local_#30722 := 0; goto CFG_40571; CFG_40570: assume true; local_#30722 := 1; goto CFG_40571; CFG_40571: assume true; local_#18010 := 0; assert { :LIR "61338" } { :check "overflow" } { :finding_ids "0" } true; local_#18011 := _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }]; local_#18012 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 16 }] := ~uwrap64(local_#18011 + local_#18012); assert { :LIR "66533" } { :check "overflow" } { :finding_ids "0" } true; local_#18013 := { base : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5403_b!base, offset : local_#5403_b!offset + 0 }]!offset + local_#18011 * 1 }; _memory[local_#18013] := _memory[local_#5404_s]; local_#18014 := _memory[local_#18013]; local_#18015 := local_#18014; goto CFG_45036; CFG_45036: assume true; local_#18016 := local_#5404_s; local_#18017 := 1; local_#5404_s := { base : local_#18016!base, offset : local_#18016!offset + local_#18017 * 1 }; local_#18018 := local_#18016; goto CFG_50062; CFG_37475: assume true; } procedure routine_#34577_addreturn(local_#5406_L_IN : { base : int, offset : int }) returns (local_#7940 : int) modifies _memory, _memory_ptr, _valid; { var local_#5406_L : { base : int, offset : int }; var local_#18019 : int; var local_#18020 : { base : int, offset : int }; var local_#18021 : { base : int, offset : int }; var local_#31975_line : { base : int, offset : int }; var local_#18022 : { base : int, offset : int }; var local_#18023 : { base : int, offset : int }; var local_#18024 : { base : int, offset : int }; var local_#31976_retline : { base : int, offset : int }; var local_#18025 : int; var local_#18026 : { base : int, offset : int }; var local_#18027 : { base : int, offset : int }; var local_#18028 : { base : int, offset : int }; var local_#18029 : int; var local_#31977_status : int; var local_#18030 : int; var local_#18031 : int; var local_#18032 : int; var local_#18033 : int; var local_#18034 : int; var local_#18035 : int; var local_#18036 : int; var local_#18037 : { base : int, offset : int }; var local_#18038 : int; var local_#18039 : int; var local_#18040 : int; var local_#18041 : int; local_#5406_L := local_#5406_L_IN; goto CFG_36565; CFG_36565: assume true; goto CFG_42925; CFG_42925: assume true; local_#18019 := -1; local_#18020 := { base : 0, offset : 0 }; goto CFG_46452; CFG_46452: assume true; call local_#18021 := routine_#33995_lua_tolstring(local_#5406_L,local_#18019,local_#18020); goto CFG_42926; CFG_42926: assume true; local_#31975_line := local_#18021; assume _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 0 }] == 114 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 1 }] == 101 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 2 }] == 116 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 3 }] == 117 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 4 }] == 114 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 5 }] == 110 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 6 }] == 32 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 7 }] == 37 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 8 }] == 115 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 9 }] == 59 && _memory[{ base : strlit_#70442!base, offset : strlit_#70442!offset + 10 }] == 0; local_#18022 := strlit_#70442; local_#18023 := { base : local_#18022!base, offset : local_#18022!offset + 0 * 1 }; assert { :LIR "62880" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46453; CFG_46453: assume true; call local_#18024 := routine_#33959_lua_pushfstring(local_#5406_L,local_#18023,{ base : 0, offset : 0 }); goto CFG_42927; CFG_42927: assume true; local_#31976_retline := local_#18024; goto CFG_46454; CFG_46454: assume true; call local_#18025 := routine_#34454_strlen(local_#31976_retline); goto CFG_42928; CFG_42928: assume true; assume _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 0 }] == 61 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 1 }] == 115 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 2 }] == 116 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 3 }] == 100 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 4 }] == 105 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 5 }] == 110 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 6 }] == 0; local_#18026 := strlit_#70325; local_#18027 := { base : local_#18026!base, offset : local_#18026!offset + 0 * 1 }; assert { :LIR "62881" } { :check "overflow" } { :finding_ids "0" } true; local_#18028 := { base : 0, offset : 0 }; goto CFG_46455; CFG_46455: assume true; call local_#18029 := routine_#33835_luaL_loadbufferx(local_#5406_L,local_#31976_retline,local_#18025,local_#18027,local_#18028); goto CFG_50076; CFG_50076: assume true; local_#31977_status := local_#18029; local_#18030 := 0; local_#18031 := (if local_#31977_status == local_#18030 then 1 else 0); if (local_#18031 != 0) { goto CFG_42930; } else { goto CFG_42929; } CFG_42929: assume true; local_#18032 := -3; goto CFG_46456; CFG_46456: assume true; call routine_#33987_lua_settop(local_#5406_L,local_#18032); goto CFG_40572; CFG_40572: assume true; goto CFG_38355; CFG_42930: assume true; local_#18033 := -2; local_#18034 := -1; goto CFG_46457; CFG_46457: assume true; call routine_#33978_lua_rotate(local_#5406_L,local_#18033,local_#18034); goto CFG_42931; CFG_42931: assume true; local_#18035 := -2; goto CFG_46458; CFG_46458: assume true; call routine_#33987_lua_settop(local_#5406_L,local_#18035); goto CFG_50077; CFG_50077: assume true; local_#18036 := 0; local_#18037 := { base : local_#31975_line!base, offset : local_#31975_line!offset + local_#18036 * 1 }; local_#18038 := _memory[local_#18037]; assert { :LIR "62882" } { :check "overflow" } { :finding_ids "0" } local_#18038 <= 2147483647; local_#18039 := 0; local_#18040 := (if local_#18038 != local_#18039 then 1 else 0); if (local_#18040 != 0) { goto CFG_42932; } else { goto CFG_40574; } CFG_42932: assume true; local_#18041 := 0; assert { :LIR "61339" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46459; CFG_46459: assume true; call routine_#33445_add_history(local_#31975_line); goto CFG_40573; CFG_40573: assume true; goto CFG_40574; CFG_40574: assume true; goto CFG_38355; CFG_38355: assume true; local_#7940 := local_#31977_status; goto CFG_37476; CFG_37476: assume true; } procedure routine_#34578_addtoclib(local_#5407_L_IN : { base : int, offset : int }, local_#5408_path_IN : { base : int, offset : int }, local_#5409_plib_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5407_L : { base : int, offset : int }; var local_#5408_path : { base : int, offset : int }; var local_#5409_plib : { base : int, offset : int }; var local_#18042 : int; var local_#18043 : { base : int, offset : int }; var local_#18044 : int; var local_#18045 : int; var local_#18046 : int; var local_#18047 : int; var local_#18048 : int; var local_#18049 : int; var local_#18050 : int; var local_#18051 : int; var local_#18052 : int; local_#5407_L := local_#5407_L_IN; local_#5408_path := local_#5408_path_IN; local_#5409_plib := local_#5409_plib_IN; goto CFG_36566; CFG_36566: assume true; goto CFG_42933; CFG_42933: assume true; local_#18042 := -1001000; local_#18043 := global_#33047_CLIBS; assert { :LIR "62883" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46460; CFG_46460: assume true; call local_#18044 := routine_#33972_lua_rawgetp(local_#5407_L,local_#18042,local_#18043); goto CFG_46461; CFG_46461: assume true; call routine_#33961_lua_pushlightuserdata(local_#5407_L,local_#5409_plib); goto CFG_42934; CFG_42934: assume true; local_#18045 := -1; goto CFG_46462; CFG_46462: assume true; call routine_#33967_lua_pushvalue(local_#5407_L,local_#18045); goto CFG_42935; CFG_42935: assume true; local_#18046 := -3; goto CFG_46463; CFG_46463: assume true; call routine_#33980_lua_setfield(local_#5407_L,local_#18046,local_#5408_path); goto CFG_42936; CFG_42936: assume true; local_#18047 := -2; local_#18048 := -2; goto CFG_46464; CFG_46464: assume true; call local_#18049 := routine_#33834_luaL_len(local_#5407_L,local_#18048); goto CFG_42937; CFG_42937: assume true; local_#18050 := 1; local_#18051 := local_#18049 + local_#18050; assert { :LIR "66534" } { :check "overflow" } { :finding_ids "0" } local_#18051 <= 9223372036854775807; goto CFG_46465; CFG_46465: assume true; call routine_#33975_lua_rawseti(local_#5407_L,local_#18047,local_#18051); goto CFG_42938; CFG_42938: assume true; local_#18052 := -2; goto CFG_46466; CFG_46466: assume true; call routine_#33987_lua_settop(local_#5407_L,local_#18052); goto CFG_39245; CFG_39245: assume true; goto CFG_37477; CFG_37477: assume true; } procedure routine_#34579_adjust_assign(local_#5410_ls_IN : { base : int, offset : int }, local_#5411_nvars_IN : int, local_#5412_nexps_IN : int, local_#5413_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5410_ls : { base : int, offset : int }; var local_#5411_nvars : int; var local_#5412_nexps : int; var local_#5413_e : { base : int, offset : int }; var local_#31979_fs : { base : int, offset : int }; var local_#18053 : int; var local_#31978_extra : int; var local_#18054 : int; var local_#18055 : int; var local_#18056 : int; var local_#18057 : int; var local_#18058 : int; var local_#18059 : int; var local_#18060 : int; var local_#18061 : int; var local_#18062 : int; var local_#18063 : int; var local_#18064 : int; var local_#18065 : int; var local_#31980_reg : int; var local_#18066 : int; var local_#18067 : int; var local_#18068 : int; var local_#18069 : int; var local_#18070 : int; var local_#18071 : int; var local_#18072 : int; var local_#18073 : int; var local_#18074 : int; var local_#18075 : int; var local_#18076 : int; var local_#18077 : { base : int, offset : int }; var local_#18078 : int; var local_#18079 : int; local_#5410_ls := local_#5410_ls_IN; local_#5411_nvars := local_#5411_nvars_IN; local_#5412_nexps := local_#5412_nexps_IN; local_#5413_e := local_#5413_e_IN; goto CFG_36567; CFG_36567: assume true; goto CFG_50078; CFG_50078: assume true; local_#31979_fs := _memory_ptr[{ base : local_#5410_ls!base, offset : local_#5410_ls!offset + 48 }]; local_#18053 := local_#5411_nvars - local_#5412_nexps; assert { :LIR "67968" } { :check "overflow" } { :finding_ids "0" } local_#18053 <= 2147483647; local_#31978_extra := local_#18053; local_#18054 := ~uwrap32(_memory[{ base : local_#5413_e!base, offset : local_#5413_e!offset + 0 }]); assert { :LIR "62884" } { :check "overflow" } { :finding_ids "0" } true; local_#18055 := 13; local_#18056 := (if local_#18054 == local_#18055 then 1 else 0); if (local_#18056 != 0) { goto CFG_50082; } else { goto CFG_50079; } CFG_50079: assume true; local_#18057 := ~uwrap32(_memory[{ base : local_#5413_e!base, offset : local_#5413_e!offset + 0 }]); assert { :LIR "62885" } { :check "overflow" } { :finding_ids "0" } true; local_#18058 := 14; local_#18059 := (if local_#18057 == local_#18058 then 1 else 0); if (local_#18059 != 0) { goto CFG_50082; } else { goto CFG_50080; } CFG_50080: assume true; local_#18060 := ~uwrap32(_memory[{ base : local_#5413_e!base, offset : local_#5413_e!offset + 0 }]); assert { :LIR "62886" } { :check "overflow" } { :finding_ids "0" } true; local_#18061 := 0; local_#18062 := (if local_#18060 != local_#18061 then 1 else 0); if (local_#18062 != 0) { goto CFG_46467; } else { goto CFG_50081; } CFG_46467: assume true; call routine_#33788_luaK_exp2nextreg(local_#31979_fs,local_#5413_e); goto CFG_40575; CFG_40575: assume true; goto CFG_50081; CFG_50081: assume true; local_#18063 := 0; local_#18064 := (if local_#31978_extra > local_#18063 then 1 else 0); if (local_#18064 != 0) { goto CFG_42939; } else { goto CFG_40577; } CFG_42939: assume true; local_#18065 := _memory[{ base : local_#31979_fs!base, offset : local_#31979_fs!offset + 60 }]; assert { :LIR "62887" } { :check "overflow" } { :finding_ids "0" } local_#18065 <= 2147483647; local_#31980_reg := local_#18065; goto CFG_46468; CFG_46468: assume true; call routine_#33804_luaK_reserveregs(local_#31979_fs,local_#31978_extra); goto CFG_46469; CFG_46469: assume true; call routine_#33798_luaK_nil(local_#31979_fs,local_#31980_reg,local_#31978_extra); goto CFG_40576; CFG_40576: assume true; goto CFG_40577; CFG_40577: assume true; goto CFG_50084; CFG_50082: assume true; local_#18066 := local_#31978_extra; local_#18067 := 1; local_#31978_extra := local_#18066 + local_#18067; assert { :LIR "66535" } { :check "overflow" } { :finding_ids "0" } local_#31978_extra <= 2147483647; local_#18068 := local_#18066; local_#18069 := 0; local_#18070 := (if local_#31978_extra < local_#18069 then 1 else 0); if (local_#18070 != 0) { goto CFG_40578; } else { goto CFG_46470; } CFG_40578: assume true; local_#31978_extra := 0; goto CFG_46470; CFG_46470: assume true; call routine_#33809_luaK_setreturns(local_#31979_fs,local_#5413_e,local_#31978_extra); goto CFG_50083; CFG_50083: assume true; local_#18071 := 1; local_#18072 := (if local_#31978_extra > local_#18071 then 1 else 0); if (local_#18072 != 0) { goto CFG_42940; } else { goto CFG_40580; } CFG_42940: assume true; local_#18073 := 1; local_#18074 := local_#31978_extra - local_#18073; assert { :LIR "67969" } { :check "overflow" } { :finding_ids "0" } local_#18074 <= 2147483647; goto CFG_46471; CFG_46471: assume true; call routine_#33804_luaK_reserveregs(local_#31979_fs,local_#18074); goto CFG_40579; CFG_40579: assume true; goto CFG_40580; CFG_40580: assume true; goto CFG_50084; CFG_50084: assume true; local_#18075 := (if local_#5412_nexps > local_#5411_nvars then 1 else 0); if (local_#18075 != 0) { goto CFG_40581; } else { goto CFG_39246; } CFG_40581: assume true; local_#18076 := local_#5412_nexps - local_#5411_nvars; assert { :LIR "67970" } { :check "overflow" } { :finding_ids "0" } local_#18076 <= 2147483647; local_#18077 := _memory_ptr[{ base : local_#5410_ls!base, offset : local_#5410_ls!offset + 48 }]; local_#18078 := _memory[{ base : local_#18077!base, offset : local_#18077!offset + 60 }]; assert { :LIR "62888" } { :check "overflow" } { :finding_ids "0" } local_#18078 <= 2147483647; local_#18079 := local_#18078 - local_#18076; assert { :LIR "67971" } { :check "overflow" } { :finding_ids "0" } local_#18079 <= 2147483647; _memory[{ base : local_#18077!base, offset : local_#18077!offset + 60 }] := ~uwrap8(local_#18079); assert { :LIR "62889" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39246; CFG_39246: assume true; goto CFG_37478; CFG_37478: assume true; } procedure routine_#34580_adjust_varargs(local_#5414_L_IN : { base : int, offset : int }, local_#5415_p_IN : { base : int, offset : int }, local_#5416_actual_IN : int) returns (local_#7941 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#5414_L : { base : int, offset : int }; var local_#5415_p : { base : int, offset : int }; var local_#5416_actual : int; var local_#18080 : int; var local_#31984_nfixargs : int; var local_#18081 : { base : int, offset : int }; var local_#31982_fixed : { base : int, offset : int }; var local_#31981_base : { base : int, offset : int }; var local_#31983_i : int; var local_#18082 : int; var local_#18083 : int; var local_#18084 : int; var local_#18085 : int; var local_#18086 : { base : int, offset : int }; var local_#18087 : int; var local_#18088 : int; var local_#18089 : int; var local_#18090 : int; var local_#18091 : { base : int, offset : int }; var local_#18092 : int; var local_#31985_io1 : { base : int, offset : int }; var local_#18093 : { base : int, offset : int }; var local_#18094 : int; var local_#18095 : int; var local_#18096 : int; var local_#18097 : int; var local_#18098 : { base : int, offset : int }; var local_#18099 : int; var local_#18100 : int; var local_#18101 : int; local_#5414_L := local_#5414_L_IN; local_#5415_p := local_#5415_p_IN; local_#5416_actual := local_#5416_actual_IN; goto CFG_36568; CFG_36568: assume true; goto CFG_41696; CFG_41696: assume true; local_#18080 := _memory[{ base : local_#5415_p!base, offset : local_#5415_p!offset + 10 }]; assert { :LIR "62890" } { :check "overflow" } { :finding_ids "0" } local_#18080 <= 2147483647; local_#31984_nfixargs := local_#18080; local_#18081 := { base : _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }]!offset - local_#5416_actual * 16 }; local_#31982_fixed := local_#18081; local_#31981_base := _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }]; local_#31983_i := 0; goto CFG_50085; CFG_50085: assume true; local_#18082 := (if local_#31983_i < local_#31984_nfixargs then 1 else 0); if (local_#18082 != 0) { goto CFG_50086; } else { goto CFG_41697; } CFG_50086: assume true; local_#18083 := (if local_#31983_i < local_#5416_actual then 1 else 0); if (local_#18083 != 0) { goto CFG_42942; } else { goto CFG_41697; } CFG_41697: assume true; goto CFG_50087; CFG_50087: assume true; local_#18084 := (if local_#31983_i < local_#31984_nfixargs then 1 else 0); if (local_#18084 != 0) { goto CFG_42941; } else { goto CFG_38356; } CFG_38356: assume true; local_#7941 := local_#31981_base; goto CFG_37479; CFG_42941: assume true; local_#18085 := 0; local_#18086 := _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }]; local_#18087 := 1; _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }] := { base : local_#18086!base, offset : local_#18086!offset + local_#18087 * 16 }; _memory[{ base : local_#18086!base, offset : local_#18086!offset + 8 }] := local_#18085; goto CFG_45037; CFG_45037: assume true; local_#18088 := local_#31983_i; local_#18089 := 1; local_#31983_i := local_#18088 + local_#18089; assert { :LIR "66536" } { :check "overflow" } { :finding_ids "0" } local_#31983_i <= 2147483647; local_#18090 := local_#18088; goto CFG_50087; CFG_42942: assume true; local_#18091 := _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }]; local_#18092 := 1; _memory_ptr[{ base : local_#5414_L!base, offset : local_#5414_L!offset + 16 }] := { base : local_#18091!base, offset : local_#18091!offset + local_#18092 * 16 }; local_#31985_io1 := local_#18091; local_#18093 := { base : local_#31982_fixed!base, offset : local_#31982_fixed!offset + local_#31983_i * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#18093)!_value_!_b == _memory[{ base : local_#18093!base, offset : local_#18093!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18093)!_value_!_f == _memory_ptr[{ base : local_#18093!base, offset : local_#18093!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18093)!_value_!_gc == _memory_ptr[{ base : local_#18093!base, offset : local_#18093!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18093)!_value_!_i == _memory[{ base : local_#18093!base, offset : local_#18093!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#18093)!_value_!_p == _memory_ptr[{ base : local_#18093!base, offset : local_#18093!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18093)!_tt_ == _memory[{ base : local_#18093!base, offset : local_#18093!offset + 8 }]; call write_type_#101(local_#31985_io1,read_type_#101(_memory, _memory_ptr, local_#18093)); local_#18094 := 0; assert { :LIR "61340" } { :check "overflow" } { :finding_ids "0" } true; local_#18095 := 0; local_#18096 := 0; assert { :LIR "61341" } { :check "overflow" } { :finding_ids "0" } true; local_#18097 := 0; local_#18098 := { base : local_#31982_fixed!base, offset : local_#31982_fixed!offset + local_#31983_i * 16 }; _memory[{ base : local_#18098!base, offset : local_#18098!offset + 8 }] := local_#18097; goto CFG_45038; CFG_45038: assume true; local_#18099 := local_#31983_i; local_#18100 := 1; local_#31983_i := local_#18099 + local_#18100; assert { :LIR "66537" } { :check "overflow" } { :finding_ids "0" } local_#31983_i <= 2147483647; local_#18101 := local_#18099; goto CFG_50085; CFG_37479: assume true; } procedure routine_#34581_adjustlocalvars(local_#5417_ls_IN : { base : int, offset : int }, local_#5418_nvars_IN : int) returns () modifies _memory; { var local_#5417_ls : { base : int, offset : int }; var local_#5418_nvars : int; var local_#31986_fs : { base : int, offset : int }; var local_#18102 : int; var local_#18103 : int; var local_#18104 : int; var local_#18105 : int; var local_#18106 : int; var local_#18107 : int; var local_#18108 : { base : int, offset : int }; var local_#18109 : int; var local_#18110 : int; var local_#18111 : int; local_#5417_ls := local_#5417_ls_IN; local_#5418_nvars := local_#5418_nvars_IN; goto CFG_36569; CFG_36569: assume true; goto CFG_41698; CFG_41698: assume true; local_#31986_fs := _memory_ptr[{ base : local_#5417_ls!base, offset : local_#5417_ls!offset + 48 }]; local_#18102 := _memory[{ base : local_#31986_fs!base, offset : local_#31986_fs!offset + 58 }]; assert { :LIR "62891" } { :check "overflow" } { :finding_ids "0" } local_#18102 <= 2147483647; local_#18103 := local_#18102 + local_#5418_nvars; assert { :LIR "66538" } { :check "overflow" } { :finding_ids "0" } local_#18103 <= 2147483647; local_#18104 := ~uwrap8(local_#18103); assert { :LIR "61342" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31986_fs!base, offset : local_#31986_fs!offset + 58 }] := local_#18104; goto CFG_50088; CFG_50088: assume true; local_#18105 := local_#5418_nvars; if (local_#18105 != 0) { goto CFG_42943; } else { goto CFG_39247; } CFG_39247: assume true; goto CFG_37480; CFG_42943: assume true; local_#18106 := _memory[{ base : local_#31986_fs!base, offset : local_#31986_fs!offset + 58 }]; assert { :LIR "62892" } { :check "overflow" } { :finding_ids "0" } local_#18106 <= 2147483647; local_#18107 := local_#18106 - local_#5418_nvars; assert { :LIR "67972" } { :check "overflow" } { :finding_ids "0" } local_#18107 <= 2147483647; goto CFG_46472; CFG_46472: assume true; call local_#18108 := routine_#34792_getlocvar(local_#31986_fs,local_#18107); goto CFG_42944; CFG_42944: assume true; _memory[{ base : local_#18108!base, offset : local_#18108!offset + 8 }] := _memory[{ base : local_#31986_fs!base, offset : local_#31986_fs!offset + 32 }]; goto CFG_45039; CFG_45039: assume true; local_#18109 := local_#5418_nvars; local_#18110 := 1; local_#5418_nvars := local_#18109 - local_#18110; assert { :LIR "67973" } { :check "overflow" } { :finding_ids "0" } local_#5418_nvars <= 2147483647; local_#18111 := local_#18109; goto CFG_50088; CFG_37480: assume true; } procedure routine_#34582_andaux(local_#5419_L_IN : { base : int, offset : int }) returns (local_#7942 : int) modifies _memory, _memory_ptr, _valid; { var local_#5419_L : { base : int, offset : int }; var local_#18112 : int; var local_#31988_n : int; var local_#31989_r : int; var local_#31987_i : int; var local_#18113 : int; var local_#18114 : int; var local_#18115 : int; var local_#18116 : int; var local_#18117 : int; var local_#18118 : int; var local_#18119 : int; var local_#18120 : int; local_#5419_L := local_#5419_L_IN; goto CFG_36570; CFG_36570: assume true; goto CFG_46473; CFG_46473: assume true; call local_#18112 := routine_#33941_lua_gettop(local_#5419_L); goto CFG_41699; CFG_41699: assume true; local_#31988_n := local_#18112; local_#31989_r := 18446744073709551615; local_#31987_i := 1; goto CFG_50089; CFG_50089: assume true; local_#18113 := (if local_#31987_i <= local_#31988_n then 1 else 0); if (local_#18113 != 0) { goto CFG_46474; } else { goto CFG_38357; } CFG_38357: assume true; local_#18114 := 4294967295; local_#18115 := ~uand64(local_#31989_r, local_#18114); local_#7942 := local_#18115; goto CFG_37481; CFG_46474: assume true; call local_#18116 := routine_#33820_luaL_checkinteger(local_#5419_L,local_#31987_i); goto CFG_42945; CFG_42945: assume true; local_#18117 := ~uwrap64(local_#18116); assert { :LIR "61343" } { :check "overflow" } { :finding_ids "0" } true; local_#31989_r := ~uand64(local_#31989_r, local_#18117); goto CFG_45040; CFG_45040: assume true; local_#18118 := local_#31987_i; local_#18119 := 1; local_#31987_i := local_#18118 + local_#18119; assert { :LIR "66539" } { :check "overflow" } { :finding_ids "0" } local_#31987_i <= 2147483647; local_#18120 := local_#18118; goto CFG_50089; CFG_37481: assume true; } procedure routine_#34583_arrayindex(local_#5420_key_IN : { base : int, offset : int }) returns (local_#7943 : int) { var local_#5420_key : { base : int, offset : int }; var local_#18121 : int; var local_#18122 : int; var local_#18123 : { base : int, offset : int }; var local_#31990_k : int; var local_#18124 : int; var local_#18125 : int; var local_#18126 : int; var local_#18127 : int; var local_#18128 : int; var local_#18129 : int; local_#5420_key := local_#5420_key_IN; goto CFG_36571; CFG_36571: assume true; goto CFG_50090; CFG_50090: assume true; local_#18121 := 19; local_#18122 := (if _memory[{ base : local_#5420_key!base, offset : local_#5420_key!offset + 8 }] == local_#18121 then 1 else 0); if (local_#18122 != 0) { goto CFG_50091; } else { goto CFG_38358; } CFG_50091: assume true; local_#18123 := { base : local_#5420_key!base, offset : local_#5420_key!offset + 0 }; local_#31990_k := _memory[local_#18123]; local_#18124 := 0; local_#18125 := (if local_#18124 < local_#31990_k then 1 else 0); if (local_#18125 != 0) { goto CFG_50092; } else { goto CFG_40582; } CFG_50092: assume true; local_#18126 := ~uwrap64(local_#31990_k); assert { :LIR "61344" } { :check "overflow" } { :finding_ids "0" } true; local_#18127 := 2147483648; local_#18128 := (if local_#18126 <= local_#18127 then 1 else 0); if (local_#18128 != 0) { goto CFG_38359; } else { goto CFG_40582; } CFG_40582: assume true; goto CFG_38358; CFG_38358: assume true; local_#7943 := 0; goto CFG_37482; CFG_38359: assume true; local_#18129 := ~uwrap32(local_#31990_k); assert { :LIR "61345" } { :check "overflow" } { :finding_ids "0" } true; local_#7943 := local_#18129; goto CFG_37482; CFG_37482: assume true; } procedure routine_#34584_assignment(local_#5421_ls_IN : { base : int, offset : int }, local_#5422_lh_IN : { base : int, offset : int }, local_#5423_nvars_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5421_ls : { base : int, offset : int }; var local_#5422_lh : { base : int, offset : int }; var local_#5423_nvars : int; var local_#18130 : int; var local_#18131 : int; var local_#18132 : int; var local_#18133 : int; var local_#18134 : int; var local_#18135 : int; var local_#18136 : { base : int, offset : int }; var local_#18137 : { base : int, offset : int }; var local_#18138 : int; var local_#18139 : int; var local_#18140 : int; var local_#18141 : int; var local_#31991_e : { base : int, offset : int }; var local_#18142 : { base : int, offset : int }; var local_#18143 : int; var local_#31993_nexps : int; var local_#18144 : int; var local_#18145 : { base : int, offset : int }; var local_#18146 : { base : int, offset : int }; var local_#18147 : { base : int, offset : int }; var local_#18148 : { base : int, offset : int }; var local_#18149 : { base : int, offset : int }; var local_#18150 : { base : int, offset : int }; var local_#31992_nv : { base : int, offset : int }; var local_#18151 : { base : int, offset : int }; var local_#18152 : int; var local_#18153 : int; var local_#18154 : int; var local_#18155 : { base : int, offset : int }; var local_#18156 : { base : int, offset : int }; var local_#18157 : { base : int, offset : int }; var local_#18158 : int; var local_#18159 : int; var local_#18160 : int; var local_#18161 : { base : int, offset : int }; var local_#18162 : { base : int, offset : int }; var local_#18163 : { base : int, offset : int }; var local_#18164 : int; var local_#18165 : int; var local_#18166 : { base : int, offset : int }; var local_#18167 : int; var local_#18168 : { base : int, offset : int }; var local_#18169 : int; var local_#18170 : int; var local_#18171 : int; var local_#18172 : { base : int, offset : int }; var local_#18173 : { base : int, offset : int }; var local_#18174 : { base : int, offset : int }; local_#5421_ls := local_#5421_ls_IN; local_#5422_lh := local_#5422_lh_IN; local_#5423_nvars := local_#5423_nvars_IN; goto CFG_36572; CFG_36572: assume true; goto CFG_50093; CFG_50093: assume true; local_#18130 := 8; local_#18131 := ~uwrap32(_memory[{ base : local_#5422_lh!base, offset : local_#5422_lh!offset + 8 }]); assert { :LIR "62893" } { :check "overflow" } { :finding_ids "0" } true; local_#18132 := (if local_#18130 <= local_#18131 then 1 else 0); if (local_#18132 != 0) { goto CFG_50094; } else { goto CFG_42946; } CFG_50094: assume true; local_#18133 := ~uwrap32(_memory[{ base : local_#5422_lh!base, offset : local_#5422_lh!offset + 8 }]); assert { :LIR "62894" } { :check "overflow" } { :finding_ids "0" } true; local_#18134 := 10; local_#18135 := (if local_#18133 <= local_#18134 then 1 else 0); if (local_#18135 != 0) { goto CFG_42947; } else { goto CFG_42946; } CFG_42946: assume true; assume _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 0 }] == 115 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 1 }] == 121 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 2 }] == 110 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 3 }] == 116 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 4 }] == 97 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 5 }] == 120 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 6 }] == 32 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 7 }] == 101 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 8 }] == 114 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 9 }] == 114 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 10 }] == 111 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 11 }] == 114 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 12 }] == 0; local_#18136 := strlit_#70444; local_#18137 := { base : local_#18136!base, offset : local_#18136!offset + 0 * 1 }; assert { :LIR "62895" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46475; CFG_46475: assume true; call routine_#33910_luaX_syntaxerror(local_#5421_ls,local_#18137); CFG_42947: assume true; local_#18138 := 44; goto CFG_46476; CFG_46476: assume true; call local_#18139 := routine_#35112_testnext(local_#5421_ls,local_#18138); goto CFG_50095; CFG_50095: assume true; local_#18140 := local_#18139; if (local_#18140 != 0) { goto CFG_42953; } else { goto CFG_42948; } CFG_42948: assume true; local_#18141 := 61; goto CFG_46477; CFG_46477: assume true; call routine_#34637_checknext(local_#5421_ls,local_#18141); goto CFG_42949; CFG_42949: assume true; local_#18142 := local_#31991_e; goto CFG_46478; CFG_46478: assume true; call local_#18143 := routine_#34720_explist(local_#5421_ls,local_#18142); goto CFG_50096; CFG_50096: assume true; local_#31993_nexps := local_#18143; local_#18144 := (if local_#31993_nexps != local_#5423_nvars then 1 else 0); if (local_#18144 != 0) { goto CFG_42952; } else { goto CFG_42950; } CFG_42950: assume true; local_#18145 := _memory_ptr[{ base : local_#5421_ls!base, offset : local_#5421_ls!offset + 48 }]; local_#18146 := local_#31991_e; goto CFG_46479; CFG_46479: assume true; call routine_#33808_luaK_setoneret(local_#18145,local_#18146); goto CFG_42951; CFG_42951: assume true; local_#18147 := _memory_ptr[{ base : local_#5421_ls!base, offset : local_#5421_ls!offset + 48 }]; local_#18148 := { base : local_#5422_lh!base, offset : local_#5422_lh!offset + 8 }; local_#18149 := local_#31991_e; goto CFG_46480; CFG_46480: assume true; call routine_#33810_luaK_storevar(local_#18147,local_#18148,local_#18149); goto CFG_39248; CFG_39248: assume true; goto CFG_37483; CFG_42952: assume true; local_#18150 := local_#31991_e; goto CFG_46481; CFG_46481: assume true; call routine_#34579_adjust_assign(local_#5421_ls,local_#5423_nvars,local_#31993_nexps,local_#18150); goto CFG_40583; CFG_40583: assume true; goto CFG_40584; CFG_40584: assume true; goto CFG_42957; CFG_42953: assume true; _memory_ptr[{ base : local_#31992_nv!base, offset : local_#31992_nv!offset + 0 }] := local_#5422_lh; local_#18151 := { base : local_#31992_nv!base, offset : local_#31992_nv!offset + 8 }; goto CFG_46482; CFG_46482: assume true; call routine_#35102_suffixedexp(local_#5421_ls,local_#18151); goto CFG_50097; CFG_50097: assume true; local_#18152 := ~uwrap32(_memory[{ base : local_#31992_nv!base, offset : local_#31992_nv!offset + 8 }]); assert { :LIR "62896" } { :check "overflow" } { :finding_ids "0" } true; local_#18153 := 10; local_#18154 := (if local_#18152 != local_#18153 then 1 else 0); if (local_#18154 != 0) { goto CFG_42954; } else { goto CFG_42955; } CFG_42954: assume true; local_#18155 := { base : local_#31992_nv!base, offset : local_#31992_nv!offset + 8 }; goto CFG_46483; CFG_46483: assume true; call routine_#34625_check_conflict(local_#5421_ls,local_#5422_lh,local_#18155); goto CFG_40585; CFG_40585: assume true; goto CFG_42955; CFG_42955: assume true; local_#18156 := _memory_ptr[{ base : local_#5421_ls!base, offset : local_#5421_ls!offset + 48 }]; local_#18157 := _memory_ptr[{ base : local_#5421_ls!base, offset : local_#5421_ls!offset + 56 }]; local_#18158 := _memory[{ base : local_#18157!base, offset : local_#18157!offset + 198 }]; assert { :LIR "62897" } { :check "overflow" } { :finding_ids "0" } local_#18158 <= 2147483647; local_#18159 := local_#5423_nvars + local_#18158; assert { :LIR "66540" } { :check "overflow" } { :finding_ids "0" } local_#18159 <= 2147483647; local_#18160 := 200; assume _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 0 }] == 67 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 1 }] == 32 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 2 }] == 108 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 3 }] == 101 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 4 }] == 118 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 5 }] == 101 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 6 }] == 108 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 7 }] == 115 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 8 }] == 0; local_#18161 := strlit_#70445; local_#18162 := { base : local_#18161!base, offset : local_#18161!offset + 0 * 1 }; assert { :LIR "62898" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46484; CFG_46484: assume true; call routine_#34632_checklimit(local_#18156,local_#18159,local_#18160,local_#18162); goto CFG_42956; CFG_42956: assume true; local_#18163 := local_#31992_nv; local_#18164 := 1; local_#18165 := local_#5423_nvars + local_#18164; assert { :LIR "66541" } { :check "overflow" } { :finding_ids "0" } local_#18165 <= 2147483647; goto CFG_46485; CFG_46485: assume true; call routine_#34584_assignment(local_#5421_ls,local_#18163,local_#18165); goto CFG_40586; CFG_40586: assume true; goto CFG_42957; CFG_42957: assume true; local_#18166 := local_#31991_e; local_#18167 := 7; local_#18168 := _memory_ptr[{ base : local_#5421_ls!base, offset : local_#5421_ls!offset + 48 }]; local_#18169 := _memory[{ base : local_#18168!base, offset : local_#18168!offset + 60 }]; assert { :LIR "62899" } { :check "overflow" } { :finding_ids "0" } local_#18169 <= 2147483647; local_#18170 := 1; local_#18171 := local_#18169 - local_#18170; assert { :LIR "67974" } { :check "overflow" } { :finding_ids "0" } local_#18171 <= 2147483647; goto CFG_46486; CFG_46486: assume true; call routine_#34812_init_exp(local_#18166,local_#18167,local_#18171); goto CFG_42958; CFG_42958: assume true; local_#18172 := _memory_ptr[{ base : local_#5421_ls!base, offset : local_#5421_ls!offset + 48 }]; local_#18173 := { base : local_#5422_lh!base, offset : local_#5422_lh!offset + 8 }; local_#18174 := local_#31991_e; goto CFG_46487; CFG_46487: assume true; call routine_#33810_luaK_storevar(local_#18172,local_#18173,local_#18174); goto CFG_39249; CFG_39249: assume true; goto CFG_37483; CFG_37483: assume true; } procedure routine_#34585_atomic(local_#5424_L_IN : { base : int, offset : int }) returns (local_#7944 : int) modifies _memory, _memory_ptr, _valid; { var local_#5424_L : { base : int, offset : int }; var local_#31994_g : { base : int, offset : int }; var local_#31995_grayagain : { base : int, offset : int }; var local_#18175 : int; var local_#18176 : int; var local_#18177 : int; var local_#18178 : int; var local_#18179 : int; var local_#18180 : int; var local_#18181 : int; var local_#18182 : { base : int, offset : int }; var local_#18183 : { base : int, offset : int }; var local_#18184 : int; var local_#18185 : int; var local_#18186 : int; var local_#18187 : int; var local_#18188 : { base : int, offset : int }; var local_#18189 : { base : int, offset : int }; var local_#18190 : int; var local_#18191 : int; var local_#18192 : int; var local_#18193 : { base : int, offset : int }; var local_#18194 : { base : int, offset : int }; var local_#18195 : int; var local_#31998_work : int; var local_#18196 : { base : int, offset : int }; var local_#18197 : { base : int, offset : int }; var local_#18198 : { base : int, offset : int }; var local_#18199 : { base : int, offset : int }; var local_#31997_origweak : { base : int, offset : int }; var local_#31996_origall : { base : int, offset : int }; var local_#18200 : int; var local_#18201 : int; var local_#18202 : int; var local_#18203 : { base : int, offset : int }; var local_#18204 : { base : int, offset : int }; var local_#18205 : { base : int, offset : int }; var local_#18206 : { base : int, offset : int }; var local_#18207 : { base : int, offset : int }; var local_#18208 : { base : int, offset : int }; var local_#18209 : int; var local_#18210 : int; var local_#18211 : int; var local_#18212 : int; var local_#18213 : int; var local_#18214 : int; local_#5424_L := local_#5424_L_IN; goto CFG_36573; CFG_36573: assume true; goto CFG_50098; CFG_50098: assume true; local_#31994_g := _memory_ptr[{ base : local_#5424_L!base, offset : local_#5424_L!offset + 24 }]; local_#31995_grayagain := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 120 }]; local_#18175 := 0; local_#18176 := 0; assert { :LIR "61346" } { :check "overflow" } { :finding_ids "0" } true; local_#18177 := 0; local_#18178 := 0; assert { :LIR "61347" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 85 }] := 8; _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 32 }] := 0; local_#18179 := _memory[{ base : local_#5424_L!base, offset : local_#5424_L!offset + 9 }]; assert { :LIR "62900" } { :check "overflow" } { :finding_ids "0" } local_#18179 <= 2147483647; local_#18180 := 3; local_#18181 := ~sand32(local_#18179, local_#18180); if (local_#18181 != 0) { goto CFG_42959; } else { goto CFG_50099; } CFG_42959: assume true; local_#18182 := local_#5424_L; assert { :LIR "61348" } { :check "overflow" } { :finding_ids "0" } true; local_#18183 := { base : local_#18182!base, offset : local_#18182!offset + 0 }; goto CFG_46488; CFG_46488: assume true; call routine_#35023_reallymarkobject(local_#31994_g,local_#18183); goto CFG_40587; CFG_40587: assume true; goto CFG_50099; CFG_50099: assume true; local_#18184 := 0; local_#18185 := 0; assert { :LIR "61349" } { :check "overflow" } { :finding_ids "0" } true; local_#18186 := 64; local_#18187 := ~sand32(_memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 72 }], local_#18186); if (local_#18187 != 0) { goto CFG_50100; } else { goto CFG_46490; } CFG_50100: assume true; local_#18188 := { base : local_#31994_g!base, offset : local_#31994_g!offset + 64 }; local_#18189 := _memory_ptr[local_#18188]; local_#18190 := _memory[{ base : local_#18189!base, offset : local_#18189!offset + 9 }]; assert { :LIR "62901" } { :check "overflow" } { :finding_ids "0" } local_#18190 <= 2147483647; local_#18191 := 3; local_#18192 := ~sand32(local_#18190, local_#18191); if (local_#18192 != 0) { goto CFG_42960; } else { goto CFG_46490; } CFG_42960: assume true; local_#18193 := { base : local_#31994_g!base, offset : local_#31994_g!offset + 64 }; local_#18194 := _memory_ptr[local_#18193]; goto CFG_46489; CFG_46489: assume true; call routine_#35023_reallymarkobject(local_#31994_g,local_#18194); goto CFG_40588; CFG_40588: assume true; goto CFG_46490; CFG_46490: assume true; call routine_#34911_markmt(local_#31994_g); goto CFG_46491; CFG_46491: assume true; call routine_#35028_remarkupvals(local_#31994_g); goto CFG_46492; CFG_46492: assume true; call routine_#34998_propagateall(local_#31994_g); goto CFG_42961; CFG_42961: assume true; local_#18195 := _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 32 }]; assert { :LIR "62902" } { :check "overflow" } { :finding_ids "0" } local_#18195 <= 9223372036854775807; local_#31998_work := local_#18195; _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 112 }] := local_#31995_grayagain; goto CFG_46493; CFG_46493: assume true; call routine_#34998_propagateall(local_#31994_g); goto CFG_42962; CFG_42962: assume true; _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 32 }] := 0; goto CFG_46494; CFG_46494: assume true; call routine_#34667_convergeephemerons(local_#31994_g); goto CFG_42963; CFG_42963: assume true; local_#18196 := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 128 }]; local_#18197 := { base : 0, offset : 0 }; goto CFG_46495; CFG_46495: assume true; call routine_#34646_clearvalues(local_#31994_g,local_#18196,local_#18197); goto CFG_42964; CFG_42964: assume true; local_#18198 := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 144 }]; local_#18199 := { base : 0, offset : 0 }; goto CFG_46496; CFG_46496: assume true; call routine_#34646_clearvalues(local_#31994_g,local_#18198,local_#18199); goto CFG_42965; CFG_42965: assume true; local_#31997_origweak := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 128 }]; local_#31996_origall := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 144 }]; local_#18200 := ~uwrap64(local_#31998_work); assert { :LIR "62903" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#18201 := ~uwrap64(local_#18200 + _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 32 }]); assert { :LIR "66542" } { :check "overflow" } { :finding_ids "0" } true; local_#31998_work := local_#18201; assert { :LIR "62904" } { :check "overflow" } { :finding_ids "0" } local_#31998_work <= 9223372036854775807; local_#18202 := 0; goto CFG_46497; CFG_46497: assume true; call routine_#35053_separatetobefnz(local_#31994_g,local_#18202); goto CFG_42966; CFG_42966: assume true; _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 176 }] := 1; goto CFG_46498; CFG_46498: assume true; call routine_#34910_markbeingfnz(local_#31994_g); goto CFG_46499; CFG_46499: assume true; call routine_#34998_propagateall(local_#31994_g); goto CFG_42967; CFG_42967: assume true; _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 32 }] := 0; goto CFG_46500; CFG_46500: assume true; call routine_#34667_convergeephemerons(local_#31994_g); goto CFG_42968; CFG_42968: assume true; local_#18203 := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 136 }]; local_#18204 := { base : 0, offset : 0 }; goto CFG_46501; CFG_46501: assume true; call routine_#34645_clearkeys(local_#31994_g,local_#18203,local_#18204); goto CFG_42969; CFG_42969: assume true; local_#18205 := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 144 }]; local_#18206 := { base : 0, offset : 0 }; goto CFG_46502; CFG_46502: assume true; call routine_#34645_clearkeys(local_#31994_g,local_#18205,local_#18206); goto CFG_42970; CFG_42970: assume true; local_#18207 := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 128 }]; goto CFG_46503; CFG_46503: assume true; call routine_#34646_clearvalues(local_#31994_g,local_#18207,local_#31997_origweak); goto CFG_42971; CFG_42971: assume true; local_#18208 := _memory_ptr[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 144 }]; goto CFG_46504; CFG_46504: assume true; call routine_#34646_clearvalues(local_#31994_g,local_#18208,local_#31996_origall); goto CFG_46505; CFG_46505: assume true; call routine_#33870_luaS_clearcache(local_#31994_g); goto CFG_38360; CFG_38360: assume true; local_#18209 := _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 84 }]; assert { :LIR "62905" } { :check "overflow" } { :finding_ids "0" } local_#18209 <= 2147483647; local_#18210 := 3; local_#18211 := ~sxor32(local_#18209, local_#18210); local_#18212 := ~uwrap8(local_#18211); assert { :LIR "61350" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 84 }] := local_#18212; local_#18213 := ~uwrap64(local_#31998_work); assert { :LIR "62906" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#18214 := ~uwrap64(local_#18213 + _memory[{ base : local_#31994_g!base, offset : local_#31994_g!offset + 32 }]); assert { :LIR "66543" } { :check "overflow" } { :finding_ids "0" } true; local_#31998_work := local_#18214; assert { :LIR "62907" } { :check "overflow" } { :finding_ids "0" } local_#31998_work <= 9223372036854775807; local_#7944 := local_#31998_work; goto CFG_37484; CFG_37484: assume true; } procedure routine_#34586_aux_close(local_#5425_L_IN : { base : int, offset : int }) returns (local_#7945 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#5425_L : { base : int, offset : int }; var local_#18215 : int; var local_#18216 : { base : int, offset : int }; var local_#18217 : { base : int, offset : int }; var local_#18218 : { base : int, offset : int }; var local_#18219 : { base : int, offset : int }; var local_#32000_p : { base : int, offset : int }; var local_#31999_cf : { base : int, offset : int }; var local_#18220 : int; local_#5425_L := local_#5425_L_IN; goto CFG_36574; CFG_36574: assume true; goto CFG_42972; CFG_42972: assume true; local_#18215 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#18216 := strlit_#70446; local_#18217 := { base : local_#18216!base, offset : local_#18216!offset + 0 * 1 }; assert { :LIR "62908" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46506; CFG_46506: assume true; call local_#18218 := routine_#33826_luaL_checkudata(local_#5425_L,local_#18215,local_#18217); goto CFG_42973; CFG_42973: assume true; local_#18219 := local_#18218; assert { :LIR "61351" } { :check "overflow" } { :finding_ids "0" } true; local_#32000_p := local_#18219; local_#31999_cf := _memory_ptr[{ base : local_#32000_p!base, offset : local_#32000_p!offset + 8 }]; _memory_ptr[{ base : local_#32000_p!base, offset : local_#32000_p!offset + 8 }] := { base : 0, offset : 0 }; goto CFG_46507; CFG_46507: assume true; if (local_#31999_cf == fun_addr_#34986_panic) { call local_#18220 := routine_#34986_panic(local_#5425_L); } else if (local_#31999_cf == fun_addr_#34991_pmain) { call local_#18220 := routine_#34991_pmain(local_#5425_L); } else { assume false; } goto CFG_38361; CFG_38361: assume true; local_#7945 := local_#18220; goto CFG_37485; CFG_37485: assume true; } procedure routine_#34587_aux_lines(local_#5426_L_IN : { base : int, offset : int }, local_#5427_toclose_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5426_L : { base : int, offset : int }; var local_#5427_toclose : int; var local_#18221 : int; var local_#18222 : int; var local_#18223 : int; var local_#32001_n : int; var local_#18224 : int; var local_#18225 : int; var local_#18226 : int; var local_#18227 : { base : int, offset : int }; var local_#18228 : { base : int, offset : int }; var local_#18229 : int; var local_#18230 : int; var local_#30723 : int; var local_#18231 : int; var local_#18232 : int; var local_#18233 : int; var local_#18234 : int; var local_#18235 : { base : int, offset : int }; var local_#18236 : int; var local_#18237 : int; local_#5426_L := local_#5426_L_IN; local_#5427_toclose := local_#5427_toclose_IN; goto CFG_36575; CFG_36575: assume true; goto CFG_46508; CFG_46508: assume true; call local_#18221 := routine_#33941_lua_gettop(local_#5426_L); goto CFG_50101; CFG_50101: assume true; local_#18222 := 1; local_#18223 := local_#18221 - local_#18222; assert { :LIR "67975" } { :check "overflow" } { :finding_ids "0" } local_#18223 <= 2147483647; local_#32001_n := local_#18223; local_#18224 := 250; local_#18225 := (if local_#32001_n <= local_#18224 then 1 else 0); if (local_#18225 != 0) { goto CFG_40590; } else { goto CFG_42974; } CFG_42974: assume true; local_#18226 := 252; assume _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 0 }] == 116 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 1 }] == 111 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 2 }] == 111 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 3 }] == 32 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 4 }] == 109 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 5 }] == 97 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 6 }] == 110 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 7 }] == 121 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 8 }] == 32 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 9 }] == 97 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 10 }] == 114 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 11 }] == 103 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 12 }] == 117 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 13 }] == 109 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 14 }] == 101 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 15 }] == 110 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 16 }] == 116 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 17 }] == 115 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 18 }] == 0; local_#18227 := strlit_#70447; local_#18228 := { base : local_#18227!base, offset : local_#18227!offset + 0 * 1 }; assert { :LIR "62909" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46509; CFG_46509: assume true; call local_#18229 := routine_#33815_luaL_argerror(local_#5426_L,local_#18226,local_#18228); goto CFG_50102; CFG_50102: assume true; local_#18230 := local_#18229; if (local_#18230 != 0) { goto CFG_40590; } else { goto CFG_40589; } CFG_40589: assume true; local_#30723 := 0; goto CFG_42975; CFG_40590: assume true; local_#30723 := 1; goto CFG_42975; CFG_42975: assume true; local_#18231 := 0; assert { :LIR "61352" } { :check "overflow" } { :finding_ids "0" } true; local_#18232 := local_#32001_n; assert { :LIR "62910" } { :check "overflow" } { :finding_ids "0" } local_#18232 <= 9223372036854775807; goto CFG_46510; CFG_46510: assume true; call routine_#33960_lua_pushinteger(local_#5426_L,local_#18232); goto CFG_46511; CFG_46511: assume true; call routine_#33957_lua_pushboolean(local_#5426_L,local_#5427_toclose); goto CFG_42976; CFG_42976: assume true; local_#18233 := 2; local_#18234 := 2; goto CFG_46512; CFG_46512: assume true; call routine_#33978_lua_rotate(local_#5426_L,local_#18233,local_#18234); goto CFG_42977; CFG_42977: assume true; local_#18235 := fun_addr_#34829_io_readline; local_#18236 := 3; local_#18237 := local_#18236 + local_#32001_n; assert { :LIR "66544" } { :check "overflow" } { :finding_ids "0" } local_#18237 <= 2147483647; goto CFG_46513; CFG_46513: assume true; call routine_#33958_lua_pushcclosure(local_#5426_L,local_#18235,local_#18237); goto CFG_39250; CFG_39250: assume true; goto CFG_37486; CFG_37486: assume true; } procedure routine_#34588_aux_upvalue(local_#5428_fi_IN : { base : int, offset : int }, local_#5429_n_IN : int, local_#5430_val_IN : { base : int, offset : int }, local_#5431_owner_IN : { base : int, offset : int }, local_#5432_uv_IN : { base : int, offset : int }) returns (local_#7946 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5428_fi : { base : int, offset : int }; var local_#5429_n : int; var local_#5430_val : { base : int, offset : int }; var local_#5431_owner : { base : int, offset : int }; var local_#5432_uv : { base : int, offset : int }; var local_#18238 : int; var local_#18239 : int; var local_#18240 : { base : int, offset : int }; var local_#18241 : { base : int, offset : int }; var local_#18242 : { base : int, offset : int }; var local_#18243 : { base : int, offset : int }; var local_#32003_f : { base : int, offset : int }; var local_#32005_p : { base : int, offset : int }; var local_#18244 : int; var local_#18245 : int; var local_#18246 : int; var local_#18247 : { base : int, offset : int }; var local_#18248 : int; var local_#18249 : int; var local_#18250 : { base : int, offset : int }; var local_#18251 : { base : int, offset : int }; var local_#18252 : { base : int, offset : int }; var local_#18253 : { base : int, offset : int }; var local_#18254 : int; var local_#18255 : int; var local_#18256 : { base : int, offset : int }; var local_#18257 : int; var local_#18258 : int; var local_#18259 : { base : int, offset : int }; var local_#32004_name : { base : int, offset : int }; var local_#18260 : { base : int, offset : int }; var local_#18261 : int; var local_#18262 : { base : int, offset : int }; var local_#18263 : int; var local_#18264 : { base : int, offset : int }; var local_#30724 : { base : int, offset : int }; var local_#18265 : { base : int, offset : int }; var local_#18266 : { base : int, offset : int }; var local_#18267 : { base : int, offset : int }; var local_#18268 : { base : int, offset : int }; var local_#18269 : { base : int, offset : int }; var local_#18270 : { base : int, offset : int }; var local_#32002_f : { base : int, offset : int }; var local_#18271 : int; var local_#18272 : int; var local_#18273 : int; var local_#18274 : int; var local_#18275 : { base : int, offset : int }; var local_#18276 : int; var local_#18277 : int; var local_#18278 : { base : int, offset : int }; var local_#18279 : { base : int, offset : int }; var local_#18280 : { base : int, offset : int }; var local_#18281 : { base : int, offset : int }; local_#5428_fi := local_#5428_fi_IN; local_#5429_n := local_#5429_n_IN; local_#5430_val := local_#5430_val_IN; local_#5431_owner := local_#5431_owner_IN; local_#5432_uv := local_#5432_uv_IN; goto CFG_36576; CFG_36576: assume true; goto CFG_51530; CFG_51530: assume true; local_#18238 := 63; local_#18239 := ~sand32(_memory[{ base : local_#5428_fi!base, offset : local_#5428_fi!offset + 8 }], local_#18238); if (local_#18239 == 38) { goto CFG_50107; } if (local_#18239 == 6) { goto CFG_50103; } goto CFG_38362; CFG_38362: assume true; local_#7946 := { base : 0, offset : 0 }; goto CFG_37487; CFG_50103: assume true; local_#18240 := { base : local_#5428_fi!base, offset : local_#5428_fi!offset + 0 }; local_#18241 := _memory_ptr[local_#18240]; assert { :LIR "61353" } { :check "overflow" } { :finding_ids "0" } true; local_#18242 := { base : local_#18241!base, offset : local_#18241!offset + 0 }; local_#18243 := { base : local_#18242!base, offset : local_#18242!offset + 0 }; local_#32003_f := local_#18243; local_#32005_p := _memory_ptr[{ base : local_#32003_f!base, offset : local_#32003_f!offset + 24 }]; local_#18244 := 1; local_#18245 := (if local_#18244 <= local_#5429_n then 1 else 0); if (local_#18245 != 0) { goto CFG_50104; } else { goto CFG_38363; } CFG_50104: assume true; local_#18246 := (if local_#5429_n <= _memory[{ base : local_#32005_p!base, offset : local_#32005_p!offset + 16 }] then 1 else 0); if (local_#18246 != 0) { goto CFG_50105; } else { goto CFG_38363; } CFG_38363: assume true; local_#7946 := { base : 0, offset : 0 }; goto CFG_37487; CFG_50105: assume true; local_#18247 := { base : local_#32003_f!base, offset : local_#32003_f!offset + 32 }; local_#18248 := 1; local_#18249 := local_#5429_n - local_#18248; assert { :LIR "67976" } { :check "overflow" } { :finding_ids "0" } local_#18249 <= 2147483647; local_#18250 := { base : local_#18247!base, offset : local_#18247!offset + 0 * 8 + local_#18249 * 8 }; local_#18251 := _memory_ptr[local_#18250]; _memory_ptr[local_#5430_val] := _memory_ptr[{ base : local_#18251!base, offset : local_#18251!offset + 0 }]; local_#18252 := local_#5432_uv; if (local_#18252 != { base : 0, offset : 0 }) { goto CFG_40591; } else { goto CFG_50106; } CFG_40591: assume true; local_#18253 := { base : local_#32003_f!base, offset : local_#32003_f!offset + 32 }; local_#18254 := 1; local_#18255 := local_#5429_n - local_#18254; assert { :LIR "67977" } { :check "overflow" } { :finding_ids "0" } local_#18255 <= 2147483647; local_#18256 := { base : local_#18253!base, offset : local_#18253!offset + 0 * 8 + local_#18255 * 8 }; _memory_ptr[local_#5432_uv] := _memory_ptr[local_#18256]; goto CFG_50106; CFG_50106: assume true; local_#18257 := 1; local_#18258 := local_#5429_n - local_#18257; assert { :LIR "67978" } { :check "overflow" } { :finding_ids "0" } local_#18258 <= 2147483647; local_#18259 := { base : _memory_ptr[{ base : local_#32005_p!base, offset : local_#32005_p!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#32005_p!base, offset : local_#32005_p!offset + 88 }]!offset + local_#18258 * 16 }; local_#32004_name := _memory_ptr[{ base : local_#18259!base, offset : local_#18259!offset + 0 }]; local_#18260 := { base : 0, offset : 0 }; local_#18261 := (if local_#32004_name == local_#18260 then 1 else 0); if (local_#18261 != 0) { goto CFG_40593; } else { goto CFG_40592; } CFG_40592: assume true; local_#18262 := local_#32004_name; assert { :LIR "61354" } { :check "overflow" } { :finding_ids "0" } true; local_#18263 := 24; local_#18264 := { base : local_#18262!base, offset : local_#18262!offset + local_#18263 * 1 }; local_#30724 := local_#18264; goto CFG_38364; CFG_40593: assume true; assume _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 0 }] == 40 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 1 }] == 42 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 2 }] == 110 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 3 }] == 111 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 4 }] == 32 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 5 }] == 110 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 6 }] == 97 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 7 }] == 109 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 8 }] == 101 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 9 }] == 41 && _memory[{ base : strlit_#70448!base, offset : strlit_#70448!offset + 10 }] == 0; local_#18265 := strlit_#70448; local_#30724 := { base : local_#18265!base, offset : local_#18265!offset + 0 * 1 }; goto CFG_38364; CFG_38364: assume true; local_#18266 := local_#30724; assert { :LIR "62911" } { :check "overflow" } { :finding_ids "0" } true; local_#7946 := local_#18266; goto CFG_37487; CFG_50107: assume true; local_#18267 := { base : local_#5428_fi!base, offset : local_#5428_fi!offset + 0 }; local_#18268 := _memory_ptr[local_#18267]; assert { :LIR "61355" } { :check "overflow" } { :finding_ids "0" } true; local_#18269 := { base : local_#18268!base, offset : local_#18268!offset + 0 }; local_#18270 := { base : local_#18269!base, offset : local_#18269!offset + 0 }; local_#32002_f := local_#18270; local_#18271 := 1; local_#18272 := (if local_#18271 <= local_#5429_n then 1 else 0); if (local_#18272 != 0) { goto CFG_50108; } else { goto CFG_38365; } CFG_50108: assume true; local_#18273 := _memory[{ base : local_#32002_f!base, offset : local_#32002_f!offset + 10 }]; assert { :LIR "62912" } { :check "overflow" } { :finding_ids "0" } local_#18273 <= 2147483647; local_#18274 := (if local_#5429_n <= local_#18273 then 1 else 0); if (local_#18274 != 0) { goto CFG_50109; } else { goto CFG_38365; } CFG_38365: assume true; local_#7946 := { base : 0, offset : 0 }; goto CFG_37487; CFG_50109: assume true; local_#18275 := { base : local_#32002_f!base, offset : local_#32002_f!offset + 32 }; local_#18276 := 1; local_#18277 := local_#5429_n - local_#18276; assert { :LIR "67979" } { :check "overflow" } { :finding_ids "0" } local_#18277 <= 2147483647; local_#18278 := { base : local_#18275!base, offset : local_#18275!offset + 0 * 16 + local_#18277 * 16 }; _memory_ptr[local_#5430_val] := local_#18278; local_#18279 := local_#5431_owner; if (local_#18279 != { base : 0, offset : 0 }) { goto CFG_40594; } else { goto CFG_38366; } CFG_40594: assume true; _memory_ptr[local_#5431_owner] := local_#32002_f; goto CFG_38366; CFG_38366: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#18280 := strlit_#70352; local_#18281 := { base : local_#18280!base, offset : local_#18280!offset + 0 * 1 }; assert { :LIR "62913" } { :check "overflow" } { :finding_ids "0" } true; local_#7946 := local_#18281; goto CFG_37487; CFG_37487: assume true; } procedure routine_#34589_auxgetinfo(local_#5433_L_IN : { base : int, offset : int }, local_#5434_what_IN : { base : int, offset : int }, local_#5435_ar_IN : { base : int, offset : int }, local_#5436_f_IN : { base : int, offset : int }, local_#5437_ci_IN : { base : int, offset : int }) returns (local_#7947 : int) modifies _memory, _memory_ptr; { var local_#5433_L : { base : int, offset : int }; var local_#5434_what : { base : int, offset : int }; var local_#5435_ar : { base : int, offset : int }; var local_#5436_f : { base : int, offset : int }; var local_#5437_ci : { base : int, offset : int }; var local_#32006_status : int; var local_#18282 : int; var local_#18283 : int; var local_#18284 : { base : int, offset : int }; var local_#18285 : { base : int, offset : int }; var local_#18286 : { base : int, offset : int }; var local_#18287 : int; var local_#18288 : { base : int, offset : int }; var local_#18289 : { base : int, offset : int }; var local_#18290 : { base : int, offset : int }; var local_#30725 : int; var local_#18291 : int; var local_#18292 : int; var local_#18293 : int; var local_#18294 : int; var local_#18295 : { base : int, offset : int }; var local_#18296 : int; var local_#18297 : { base : int, offset : int }; var local_#18298 : int; var local_#30726 : int; var local_#18299 : int; var local_#18300 : { base : int, offset : int }; var local_#18301 : int; var local_#18302 : { base : int, offset : int }; var local_#18303 : int; var local_#18304 : int; var local_#18305 : int; var local_#18306 : { base : int, offset : int }; var local_#18307 : { base : int, offset : int }; var local_#18308 : int; var local_#18309 : { base : int, offset : int }; var local_#18310 : { base : int, offset : int }; var local_#18311 : { base : int, offset : int }; var local_#18312 : int; var local_#18313 : int; var local_#18314 : int; var local_#30727 : int; var local_#18315 : int; var local_#18316 : { base : int, offset : int }; var local_#18317 : int; var local_#18318 : { base : int, offset : int }; local_#5433_L := local_#5433_L_IN; local_#5434_what := local_#5434_what_IN; local_#5435_ar := local_#5435_ar_IN; local_#5436_f := local_#5436_f_IN; local_#5437_ci := local_#5437_ci_IN; goto CFG_36577; CFG_36577: assume true; goto CFG_41700; CFG_41700: assume true; local_#32006_status := 1; goto CFG_50110; CFG_50110: assume true; local_#18282 := _memory[local_#5434_what]; if (local_#18282 != 0) { goto CFG_51531; } else { goto CFG_38367; } CFG_38367: assume true; local_#7947 := local_#32006_status; goto CFG_37488; CFG_51531: assume true; local_#18283 := _memory[local_#5434_what]; assert { :LIR "62914" } { :check "overflow" } { :finding_ids "0" } local_#18283 <= 2147483647; if (local_#18283 == 83) { goto CFG_46516; } if (local_#18283 == 108) { goto CFG_50116; } if (local_#18283 == 117) { goto CFG_50113; } if (local_#18283 == 116) { goto CFG_50112; } if (local_#18283 == 110) { goto CFG_42979; } if (local_#18283 == 76) { goto CFG_39592; } if (local_#18283 == 102) { goto CFG_39592; } goto CFG_42978; CFG_42978: assume true; local_#32006_status := 0; goto CFG_41929; CFG_41929: assume true; goto CFG_45041; CFG_39592: assume true; goto CFG_45041; CFG_42979: assume true; local_#18284 := { base : local_#5435_ar!base, offset : local_#5435_ar!offset + 8 }; goto CFG_46514; CFG_46514: assume true; call local_#18285 := routine_#34786_getfuncname(local_#5433_L,local_#5437_ci,local_#18284); goto CFG_50111; CFG_50111: assume true; _memory_ptr[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 16 }] := local_#18285; local_#18286 := { base : 0, offset : 0 }; local_#18287 := (if _memory_ptr[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 16 }] == local_#18286 then 1 else 0); if (local_#18287 != 0) { goto CFG_40595; } else { goto CFG_39593; } CFG_40595: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#18288 := strlit_#70352; local_#18289 := { base : local_#18288!base, offset : local_#18288!offset + 0 * 1 }; assert { :LIR "62915" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 16 }] := local_#18289; _memory_ptr[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 8 }] := { base : 0, offset : 0 }; goto CFG_39593; CFG_39593: assume true; goto CFG_45041; CFG_50112: assume true; local_#18290 := local_#5437_ci; if (local_#18290 != { base : 0, offset : 0 }) { goto CFG_40597; } else { goto CFG_40596; } CFG_40596: assume true; local_#30725 := 0; goto CFG_39594; CFG_40597: assume true; local_#18291 := _memory[{ base : local_#5437_ci!base, offset : local_#5437_ci!offset + 66 }]; assert { :LIR "62916" } { :check "overflow" } { :finding_ids "0" } local_#18291 <= 2147483647; local_#18292 := 32; local_#18293 := ~sand32(local_#18291, local_#18292); local_#30725 := local_#18293; goto CFG_39594; CFG_39594: assume true; local_#18294 := local_#30725; assert { :LIR "62917" } { :check "overflow" } { :finding_ids "0" } local_#18294 <= 127; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 55 }] := local_#18294; goto CFG_45041; CFG_50113: assume true; local_#18295 := { base : 0, offset : 0 }; local_#18296 := (if local_#5436_f == local_#18295 then 1 else 0); if (local_#18296 != 0) { goto CFG_40599; } else { goto CFG_40598; } CFG_40598: assume true; local_#18297 := { base : local_#5436_f!base, offset : local_#5436_f!offset + 0 }; local_#18298 := _memory[{ base : local_#18297!base, offset : local_#18297!offset + 10 }]; assert { :LIR "62918" } { :check "overflow" } { :finding_ids "0" } local_#18298 <= 2147483647; local_#30726 := local_#18298; goto CFG_50114; CFG_40599: assume true; local_#30726 := 0; goto CFG_50114; CFG_50114: assume true; local_#18299 := ~uwrap8(local_#30726); assert { :LIR "62919" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 52 }] := local_#18299; local_#18300 := { base : 0, offset : 0 }; local_#18301 := (if local_#5436_f == local_#18300 then 1 else 0); if (local_#18301 != 0) { goto CFG_40601; } else { goto CFG_50115; } CFG_50115: assume true; local_#18302 := { base : local_#5436_f!base, offset : local_#5436_f!offset + 0 }; local_#18303 := _memory[{ base : local_#18302!base, offset : local_#18302!offset + 8 }]; assert { :LIR "62920" } { :check "overflow" } { :finding_ids "0" } local_#18303 <= 2147483647; local_#18304 := 38; local_#18305 := (if local_#18303 == local_#18304 then 1 else 0); if (local_#18305 != 0) { goto CFG_40601; } else { goto CFG_40600; } CFG_40600: assume true; local_#18306 := { base : local_#5436_f!base, offset : local_#5436_f!offset + 0 }; local_#18307 := _memory_ptr[{ base : local_#18306!base, offset : local_#18306!offset + 24 }]; local_#18308 := _memory[{ base : local_#18307!base, offset : local_#18307!offset + 11 }]; assert { :LIR "62921" } { :check "overflow" } { :finding_ids "0" } local_#18308 <= 127; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 54 }] := local_#18308; local_#18309 := { base : local_#5436_f!base, offset : local_#5436_f!offset + 0 }; local_#18310 := _memory_ptr[{ base : local_#18309!base, offset : local_#18309!offset + 24 }]; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 53 }] := _memory[{ base : local_#18310!base, offset : local_#18310!offset + 10 }]; goto CFG_39595; CFG_40601: assume true; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 54 }] := 1; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 53 }] := 0; goto CFG_39595; CFG_39595: assume true; goto CFG_45041; CFG_50116: assume true; local_#18311 := local_#5437_ci; if (local_#18311 != { base : 0, offset : 0 }) { goto CFG_50117; } else { goto CFG_40602; } CFG_50117: assume true; local_#18312 := _memory[{ base : local_#5437_ci!base, offset : local_#5437_ci!offset + 66 }]; assert { :LIR "62922" } { :check "overflow" } { :finding_ids "0" } local_#18312 <= 2147483647; local_#18313 := 2; local_#18314 := ~sand32(local_#18312, local_#18313); if (local_#18314 != 0) { goto CFG_46515; } else { goto CFG_40602; } CFG_40602: assume true; local_#30727 := -1; goto CFG_39596; CFG_46515: assume true; call local_#18315 := routine_#34679_currentline(local_#5437_ci); goto CFG_40603; CFG_40603: assume true; local_#30727 := local_#18315; goto CFG_39596; CFG_39596: assume true; _memory[{ base : local_#5435_ar!base, offset : local_#5435_ar!offset + 40 }] := local_#30727; goto CFG_45041; CFG_46516: assume true; call routine_#34766_funcinfo(local_#5435_ar,local_#5436_f); goto CFG_39597; CFG_39597: assume true; goto CFG_45041; CFG_45041: assume true; local_#18316 := local_#5434_what; local_#18317 := 1; local_#5434_what := { base : local_#18316!base, offset : local_#18316!offset + local_#18317 * 1 }; local_#18318 := local_#18316; goto CFG_50110; CFG_37488: assume true; } procedure routine_#34590_auxgetstr(local_#5438_L_IN : { base : int, offset : int }, local_#5439_t_IN : { base : int, offset : int }, local_#5440_k_IN : { base : int, offset : int }) returns (local_#7948 : int) modifies _memory, _memory_ptr, _valid; { var local_#5438_L : { base : int, offset : int }; var local_#5439_t : { base : int, offset : int }; var local_#5440_k : { base : int, offset : int }; var local_#18319 : { base : int, offset : int }; var local_#32008_str : { base : int, offset : int }; var local_#18320 : int; var local_#18321 : int; var local_#18322 : int; var local_#18323 : { base : int, offset : int }; var local_#18324 : { base : int, offset : int }; var local_#18325 : { base : int, offset : int }; var local_#18326 : { base : int, offset : int }; var local_#32007_slot : { base : int, offset : int }; var local_#18327 : { base : int, offset : int }; var local_#18328 : int; var local_#18329 : int; var local_#18330 : int; var local_#18331 : int; var local_#18332 : { base : int, offset : int }; var local_#18333 : int; var local_#32010_io : { base : int, offset : int }; var local_#32011_x_ : { base : int, offset : int }; var local_#18334 : { base : int, offset : int }; var local_#18335 : { base : int, offset : int }; var local_#18336 : { base : int, offset : int }; var local_#18337 : int; var local_#18338 : int; var local_#18339 : int; var local_#18340 : int; var local_#18341 : int; var local_#18342 : { base : int, offset : int }; var local_#18343 : int; var local_#18344 : { base : int, offset : int }; var local_#18345 : int; var local_#18346 : int; var local_#18347 : int; var local_#18348 : { base : int, offset : int }; var local_#18349 : int; var local_#18350 : { base : int, offset : int }; var local_#32009_io1 : { base : int, offset : int }; var local_#18351 : int; var local_#18352 : int; var local_#18353 : int; var local_#18354 : { base : int, offset : int }; var local_#18355 : int; var local_#18356 : { base : int, offset : int }; var local_#18357 : int; var local_#18358 : int; var local_#18359 : int; var local_#18360 : int; var local_#18361 : int; var local_#18362 : { base : int, offset : int }; var local_#18363 : int; var local_#18364 : int; local_#5438_L := local_#5438_L_IN; local_#5439_t := local_#5439_t_IN; local_#5440_k := local_#5440_k_IN; goto CFG_36578; CFG_36578: assume true; goto CFG_46517; CFG_46517: assume true; call local_#18319 := routine_#33876_luaS_new(local_#5438_L,local_#5440_k); goto CFG_50118; CFG_50118: assume true; local_#32008_str := local_#18319; local_#18320 := 69; local_#18321 := (if _memory[{ base : local_#5439_t!base, offset : local_#5439_t!offset + 8 }] == local_#18320 then 1 else 0); local_#18322 := (if local_#18321 != 0 then 0 else 1); if (local_#18322 != 0) { goto CFG_50120; } else { goto CFG_42980; } CFG_42980: assume true; local_#18323 := { base : local_#5439_t!base, offset : local_#5439_t!offset + 0 }; local_#18324 := _memory_ptr[local_#18323]; assert { :LIR "61356" } { :check "overflow" } { :finding_ids "0" } true; local_#18325 := { base : local_#18324!base, offset : local_#18324!offset + 0 }; goto CFG_46518; CFG_46518: assume true; call local_#18326 := routine_#33771_luaH_getstr(local_#18325,local_#32008_str); goto CFG_50119; CFG_50119: assume true; local_#32007_slot := local_#18326; local_#18327 := local_#32007_slot; local_#18328 := 0; local_#18329 := (if _memory[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 8 }] == local_#18328 then 1 else 0); local_#18330 := (if local_#18329 != 0 then 0 else 1); local_#18331 := local_#18330; if (local_#18331 != 0) { goto CFG_40605; } else { goto CFG_42981; } CFG_50120: assume true; local_#32007_slot := { base : 0, offset : 0 }; local_#18332 := local_#32007_slot; local_#18333 := 0; if (local_#18333 != 0) { goto CFG_40605; } else { goto CFG_42981; } CFG_42981: assume true; local_#32010_io := _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]; local_#32011_x_ := local_#32008_str; local_#18334 := local_#32011_x_; assert { :LIR "61357" } { :check "overflow" } { :finding_ids "0" } true; local_#18335 := { base : local_#18334!base, offset : local_#18334!offset + 0 }; local_#18336 := { base : local_#32010_io!base, offset : local_#32010_io!offset + 0 }; _memory_ptr[local_#18336] := local_#18335; local_#18337 := _memory[{ base : local_#32011_x_!base, offset : local_#32011_x_!offset + 8 }]; assert { :LIR "62923" } { :check "overflow" } { :finding_ids "0" } local_#18337 <= 2147483647; local_#18338 := 64; local_#18339 := ~sor32(local_#18337, local_#18338); _memory[{ base : local_#32010_io!base, offset : local_#32010_io!offset + 8 }] := local_#18339; local_#18340 := 0; local_#18341 := 0; assert { :LIR "61358" } { :check "overflow" } { :finding_ids "0" } true; local_#18342 := _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]; local_#18343 := 1; _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }] := { base : local_#18342!base, offset : local_#18342!offset + local_#18343 * 16 }; local_#18344 := local_#18342; local_#18345 := 0; local_#18346 := 0; assert { :LIR "61359" } { :check "overflow" } { :finding_ids "0" } true; local_#18347 := 1; local_#18348 := { base : _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]!offset - local_#18347 * 16 }; local_#18349 := 1; local_#18350 := { base : _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]!offset - local_#18349 * 16 }; goto CFG_46519; CFG_46519: assume true; call routine_#33896_luaV_finishget(local_#5438_L,local_#5439_t,local_#18348,local_#18350,local_#32007_slot); goto CFG_40604; CFG_40604: assume true; goto CFG_38368; CFG_40605: assume true; local_#32009_io1 := _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]; assume read_type_#101(_memory, _memory_ptr, local_#32007_slot)!_value_!_b == _memory[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32007_slot)!_value_!_f == _memory_ptr[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32007_slot)!_value_!_gc == _memory_ptr[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32007_slot)!_value_!_i == _memory[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#32007_slot)!_value_!_p == _memory_ptr[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32007_slot)!_tt_ == _memory[{ base : local_#32007_slot!base, offset : local_#32007_slot!offset + 8 }]; call write_type_#101(local_#32009_io1,read_type_#101(_memory, _memory_ptr, local_#32007_slot)); local_#18351 := 0; assert { :LIR "61360" } { :check "overflow" } { :finding_ids "0" } true; local_#18352 := 0; local_#18353 := 0; assert { :LIR "61361" } { :check "overflow" } { :finding_ids "0" } true; local_#18354 := _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]; local_#18355 := 1; _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }] := { base : local_#18354!base, offset : local_#18354!offset + local_#18355 * 16 }; local_#18356 := local_#18354; local_#18357 := 0; local_#18358 := 0; assert { :LIR "61362" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38368; CFG_38368: assume true; local_#18359 := 0; local_#18360 := 0; assert { :LIR "61363" } { :check "overflow" } { :finding_ids "0" } true; local_#18361 := 1; local_#18362 := { base : _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5438_L!base, offset : local_#5438_L!offset + 16 }]!offset - local_#18361 * 16 }; local_#18363 := 15; local_#18364 := ~sand32(_memory[{ base : local_#18362!base, offset : local_#18362!offset + 8 }], local_#18363); local_#7948 := local_#18364; goto CFG_37489; CFG_37489: assume true; } procedure routine_#34591_auxresume(local_#5441_L_IN : { base : int, offset : int }, local_#5442_co_IN : { base : int, offset : int }, local_#5443_narg_IN : int) returns (local_#7949 : int) modifies _memory, _memory_ptr, _valid; { var local_#5441_L : { base : int, offset : int }; var local_#5442_co : { base : int, offset : int }; var local_#5443_narg : int; var local_#18365 : int; var local_#18366 : int; var local_#18367 : int; var local_#18368 : int; var local_#18369 : int; var local_#18370 : int; var local_#18371 : int; var local_#18372 : int; var local_#18373 : int; var local_#32012_status : int; var local_#18374 : int; var local_#18375 : int; var local_#18376 : int; var local_#18377 : int; var local_#18378 : int; var local_#18379 : int; var local_#32013_nres : int; var local_#18380 : int; var local_#18381 : int; var local_#18382 : int; var local_#18383 : int; var local_#18384 : int; var local_#18385 : int; var local_#18386 : int; var local_#18387 : { base : int, offset : int }; var local_#18388 : { base : int, offset : int }; var local_#18389 : { base : int, offset : int }; var local_#18390 : { base : int, offset : int }; var local_#18391 : { base : int, offset : int }; var local_#18392 : { base : int, offset : int }; var local_#18393 : { base : int, offset : int }; var local_#18394 : { base : int, offset : int }; var local_#18395 : { base : int, offset : int }; local_#5441_L := local_#5441_L_IN; local_#5442_co := local_#5442_co_IN; local_#5443_narg := local_#5443_narg_IN; goto CFG_36579; CFG_36579: assume true; goto CFG_46520; CFG_46520: assume true; call local_#18365 := routine_#33920_lua_checkstack(local_#5442_co,local_#5443_narg); goto CFG_50121; CFG_50121: assume true; local_#18366 := (if local_#18365 != 0 then 0 else 1); if (local_#18366 != 0) { goto CFG_42987; } else { goto CFG_46521; } CFG_46521: assume true; call local_#18367 := routine_#33990_lua_status(local_#5442_co); goto CFG_50122; CFG_50122: assume true; local_#18368 := 0; local_#18369 := (if local_#18367 == local_#18368 then 1 else 0); if (local_#18369 != 0) { goto CFG_46522; } else { goto CFG_46523; } CFG_46522: assume true; call local_#18370 := routine_#33941_lua_gettop(local_#5442_co); goto CFG_50123; CFG_50123: assume true; local_#18371 := 0; local_#18372 := (if local_#18370 == local_#18371 then 1 else 0); if (local_#18372 != 0) { goto CFG_42986; } else { goto CFG_46523; } CFG_46523: assume true; call routine_#34005_lua_xmove(local_#5441_L,local_#5442_co,local_#5443_narg); goto CFG_46524; CFG_46524: assume true; call local_#18373 := routine_#33977_lua_resume(local_#5442_co,local_#5441_L,local_#5443_narg); goto CFG_50124; CFG_50124: assume true; local_#32012_status := local_#18373; local_#18374 := 0; local_#18375 := (if local_#32012_status == local_#18374 then 1 else 0); if (local_#18375 != 0) { goto CFG_46526; } else { goto CFG_50125; } CFG_50125: assume true; local_#18376 := 1; local_#18377 := (if local_#32012_status == local_#18376 then 1 else 0); if (local_#18377 != 0) { goto CFG_46526; } else { goto CFG_42982; } CFG_42982: assume true; local_#18378 := 1; goto CFG_46525; CFG_46525: assume true; call routine_#34005_lua_xmove(local_#5442_co,local_#5441_L,local_#18378); goto CFG_38369; CFG_38369: assume true; local_#7949 := -1; goto CFG_37490; CFG_46526: assume true; call local_#18379 := routine_#33941_lua_gettop(local_#5442_co); goto CFG_42983; CFG_42983: assume true; local_#32013_nres := local_#18379; local_#18380 := 1; local_#18381 := local_#32013_nres + local_#18380; assert { :LIR "66545" } { :check "overflow" } { :finding_ids "0" } local_#18381 <= 2147483647; goto CFG_46527; CFG_46527: assume true; call local_#18382 := routine_#33920_lua_checkstack(local_#5441_L,local_#18381); goto CFG_50126; CFG_50126: assume true; local_#18383 := (if local_#18382 != 0 then 0 else 1); if (local_#18383 != 0) { goto CFG_42984; } else { goto CFG_46528; } CFG_46528: assume true; call routine_#34005_lua_xmove(local_#5442_co,local_#5441_L,local_#32013_nres); goto CFG_38370; CFG_38370: assume true; local_#7949 := local_#32013_nres; goto CFG_37490; CFG_42984: assume true; local_#18384 := -local_#32013_nres; assert { :LIR "64654" } { :check "overflow" } { :finding_ids "0" } local_#18384 <= 2147483647; local_#18385 := 1; local_#18386 := local_#18384 - local_#18385; assert { :LIR "67980" } { :check "overflow" } { :finding_ids "0" } local_#18386 <= 2147483647; goto CFG_46529; CFG_46529: assume true; call routine_#33987_lua_settop(local_#5442_co,local_#18386); goto CFG_42985; CFG_42985: assume true; assume _memory[{ base : strlit_#70451!base, offset : strlit_#70451!offset + 26 }] == 0; local_#18387 := strlit_#70451; local_#18388 := { base : local_#18387!base, offset : local_#18387!offset + 0 * 1 }; assert { :LIR "62924" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46530; CFG_46530: assume true; call local_#18389 := routine_#33965_lua_pushstring(local_#5441_L,local_#18388); goto CFG_38371; CFG_38371: assume true; local_#7949 := -1; goto CFG_37490; CFG_42986: assume true; assume _memory[{ base : strlit_#70392!base, offset : strlit_#70392!offset + 28 }] == 0; local_#18390 := strlit_#70392; local_#18391 := { base : local_#18390!base, offset : local_#18390!offset + 0 * 1 }; assert { :LIR "62925" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46531; CFG_46531: assume true; call local_#18392 := routine_#33965_lua_pushstring(local_#5441_L,local_#18391); goto CFG_38372; CFG_38372: assume true; local_#7949 := -1; goto CFG_37490; CFG_42987: assume true; assume _memory[{ base : strlit_#70453!base, offset : strlit_#70453!offset + 28 }] == 0; local_#18393 := strlit_#70453; local_#18394 := { base : local_#18393!base, offset : local_#18393!offset + 0 * 1 }; assert { :LIR "62926" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46532; CFG_46532: assume true; call local_#18395 := routine_#33965_lua_pushstring(local_#5441_L,local_#18394); goto CFG_38373; CFG_38373: assume true; local_#7949 := -1; goto CFG_37490; CFG_37490: assume true; } procedure routine_#34592_auxsetnode(local_#5444_L_IN : { base : int, offset : int }, local_#5445_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5444_L : { base : int, offset : int }; var local_#5445_ud : { base : int, offset : int }; var local_#18396 : { base : int, offset : int }; var local_#32014_asn : { base : int, offset : int }; var local_#18397 : { base : int, offset : int }; var local_#18398 : int; local_#5444_L := local_#5444_L_IN; local_#5445_ud := local_#5445_ud_IN; goto CFG_36580; CFG_36580: assume true; goto CFG_42988; CFG_42988: assume true; local_#18396 := local_#5445_ud; assert { :LIR "61364" } { :check "overflow" } { :finding_ids "0" } true; local_#32014_asn := local_#18396; local_#18397 := _memory_ptr[{ base : local_#32014_asn!base, offset : local_#32014_asn!offset + 0 }]; local_#18398 := _memory[{ base : local_#32014_asn!base, offset : local_#32014_asn!offset + 8 }]; goto CFG_46533; CFG_46533: assume true; call routine_#35060_setnodevector(local_#5444_L,local_#18397,local_#18398); goto CFG_39251; CFG_39251: assume true; goto CFG_37491; CFG_37491: assume true; } procedure routine_#34593_auxsetstr(local_#5446_L_IN : { base : int, offset : int }, local_#5447_t_IN : { base : int, offset : int }, local_#5448_k_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5446_L : { base : int, offset : int }; var local_#5447_t : { base : int, offset : int }; var local_#5448_k : { base : int, offset : int }; var local_#18399 : { base : int, offset : int }; var local_#32016_str : { base : int, offset : int }; var local_#18400 : int; var local_#18401 : int; var local_#18402 : int; var local_#18403 : int; var local_#18404 : int; var local_#18405 : { base : int, offset : int }; var local_#18406 : { base : int, offset : int }; var local_#18407 : { base : int, offset : int }; var local_#18408 : { base : int, offset : int }; var local_#32015_slot : { base : int, offset : int }; var local_#18409 : { base : int, offset : int }; var local_#18410 : int; var local_#18411 : int; var local_#18412 : int; var local_#18413 : { base : int, offset : int }; var local_#18414 : int; var local_#18415 : int; var local_#18416 : { base : int, offset : int }; var local_#18417 : { base : int, offset : int }; var local_#18418 : { base : int, offset : int }; var local_#18419 : int; var local_#18420 : int; var local_#18421 : int; var local_#18422 : int; var local_#18423 : { base : int, offset : int }; var local_#18424 : { base : int, offset : int }; var local_#18425 : { base : int, offset : int }; var local_#18426 : int; var local_#18427 : int; var local_#18428 : int; var local_#18429 : int; var local_#18430 : int; var local_#18431 : { base : int, offset : int }; var local_#18432 : { base : int, offset : int }; var local_#18433 : { base : int, offset : int }; var local_#18434 : int; var local_#18435 : int; var local_#18436 : { base : int, offset : int }; var local_#18437 : { base : int, offset : int }; var local_#18438 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#18439 : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }; var local_#18440 : int; var local_#18441 : int; var local_#30728 : int; var local_#18442 : int; var local_#18443 : int; var local_#18444 : { base : int, offset : int }; var local_#18445 : int; var local_#32017_io : { base : int, offset : int }; var local_#32018_x_ : { base : int, offset : int }; var local_#18446 : { base : int, offset : int }; var local_#18447 : { base : int, offset : int }; var local_#18448 : { base : int, offset : int }; var local_#18449 : int; var local_#18450 : int; var local_#18451 : int; var local_#18452 : int; var local_#18453 : int; var local_#18454 : { base : int, offset : int }; var local_#18455 : int; var local_#18456 : { base : int, offset : int }; var local_#18457 : int; var local_#18458 : int; var local_#18459 : int; var local_#18460 : { base : int, offset : int }; var local_#18461 : int; var local_#18462 : { base : int, offset : int }; var local_#18463 : int; var local_#18464 : { base : int, offset : int }; var local_#18465 : int; var local_#18466 : { base : int, offset : int }; var local_#18467 : int; var local_#18468 : int; local_#5446_L := local_#5446_L_IN; local_#5447_t := local_#5447_t_IN; local_#5448_k := local_#5448_k_IN; goto CFG_36581; CFG_36581: assume true; goto CFG_46534; CFG_46534: assume true; call local_#18399 := routine_#33876_luaS_new(local_#5446_L,local_#5448_k); goto CFG_50127; CFG_50127: assume true; local_#32016_str := local_#18399; local_#18400 := 0; local_#18401 := 0; assert { :LIR "61365" } { :check "overflow" } { :finding_ids "0" } true; local_#18402 := 69; local_#18403 := (if _memory[{ base : local_#5447_t!base, offset : local_#5447_t!offset + 8 }] == local_#18402 then 1 else 0); local_#18404 := (if local_#18403 != 0 then 0 else 1); if (local_#18404 != 0) { goto CFG_50133; } else { goto CFG_42989; } CFG_42989: assume true; local_#18405 := { base : local_#5447_t!base, offset : local_#5447_t!offset + 0 }; local_#18406 := _memory_ptr[local_#18405]; assert { :LIR "61366" } { :check "overflow" } { :finding_ids "0" } true; local_#18407 := { base : local_#18406!base, offset : local_#18406!offset + 0 }; goto CFG_46535; CFG_46535: assume true; call local_#18408 := routine_#33771_luaH_getstr(local_#18407,local_#32016_str); goto CFG_50128; CFG_50128: assume true; local_#32015_slot := local_#18408; local_#18409 := local_#32015_slot; local_#18410 := 0; local_#18411 := (if _memory[{ base : local_#32015_slot!base, offset : local_#32015_slot!offset + 8 }] == local_#18410 then 1 else 0); if (local_#18411 != 0) { goto CFG_40609; } else { goto CFG_50129; } CFG_50129: assume true; local_#18412 := 1; local_#18413 := { base : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!offset - local_#18412 * 16 }; local_#18414 := 64; local_#18415 := ~sand32(_memory[{ base : local_#18413!base, offset : local_#18413!offset + 8 }], local_#18414); if (local_#18415 != 0) { goto CFG_50130; } else { goto CFG_40606; } CFG_50130: assume true; local_#18416 := { base : local_#5447_t!base, offset : local_#5447_t!offset + 0 }; local_#18417 := _memory_ptr[local_#18416]; assert { :LIR "61367" } { :check "overflow" } { :finding_ids "0" } true; local_#18418 := { base : local_#18417!base, offset : local_#18417!offset + 0 }; local_#18419 := _memory[{ base : local_#18418!base, offset : local_#18418!offset + 9 }]; assert { :LIR "62927" } { :check "overflow" } { :finding_ids "0" } local_#18419 <= 2147483647; local_#18420 := 4; local_#18421 := ~sand32(local_#18419, local_#18420); if (local_#18421 != 0) { goto CFG_50131; } else { goto CFG_40606; } CFG_50131: assume true; local_#18422 := 1; local_#18423 := { base : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!offset - local_#18422 * 16 }; local_#18424 := { base : local_#18423!base, offset : local_#18423!offset + 0 }; local_#18425 := _memory_ptr[local_#18424]; local_#18426 := _memory[{ base : local_#18425!base, offset : local_#18425!offset + 9 }]; assert { :LIR "62928" } { :check "overflow" } { :finding_ids "0" } local_#18426 <= 2147483647; local_#18427 := 3; local_#18428 := ~sand32(local_#18426, local_#18427); if (local_#18428 != 0) { goto CFG_42990; } else { goto CFG_40606; } CFG_40606: assume true; local_#18429 := 0; local_#18430 := 0; assert { :LIR "61368" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_40608; CFG_42990: assume true; local_#18431 := { base : local_#5447_t!base, offset : local_#5447_t!offset + 0 }; local_#18432 := _memory_ptr[local_#18431]; assert { :LIR "61369" } { :check "overflow" } { :finding_ids "0" } true; local_#18433 := { base : local_#18432!base, offset : local_#18432!offset + 0 }; goto CFG_46536; CFG_46536: assume true; call routine_#33721_luaC_barrierback_(local_#5446_L,local_#18433); goto CFG_40607; CFG_40607: assume true; goto CFG_40608; CFG_40608: assume true; local_#18434 := 0; assert { :LIR "61370" } { :check "overflow" } { :finding_ids "0" } true; local_#18435 := 1; local_#18436 := { base : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!offset - local_#18435 * 16 }; local_#18437 := local_#32015_slot; assert { :LIR "61371" } { :check "overflow" } { :finding_ids "0" } true; assume read_type_#101(_memory, _memory_ptr, local_#18436)!_value_!_b == _memory[{ base : local_#18436!base, offset : local_#18436!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18436)!_value_!_f == _memory_ptr[{ base : local_#18436!base, offset : local_#18436!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18436)!_value_!_gc == _memory_ptr[{ base : local_#18436!base, offset : local_#18436!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18436)!_value_!_i == _memory[{ base : local_#18436!base, offset : local_#18436!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#18436)!_value_!_p == _memory_ptr[{ base : local_#18436!base, offset : local_#18436!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18436)!_tt_ == _memory[{ base : local_#18436!base, offset : local_#18436!offset + 8 }]; call write_type_#101(local_#18437,read_type_#101(_memory, _memory_ptr, local_#18436)); assume read_type_#101(_memory, _memory_ptr, local_#18437)!_value_!_b == _memory[{ base : local_#18437!base, offset : local_#18437!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18437)!_value_!_f == _memory_ptr[{ base : local_#18437!base, offset : local_#18437!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18437)!_value_!_gc == _memory_ptr[{ base : local_#18437!base, offset : local_#18437!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18437)!_value_!_i == _memory[{ base : local_#18437!base, offset : local_#18437!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#18437)!_value_!_p == _memory_ptr[{ base : local_#18437!base, offset : local_#18437!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#18437)!_tt_ == _memory[{ base : local_#18437!base, offset : local_#18437!offset + 8 }]; local_#18438 := read_type_#101(_memory, _memory_ptr, local_#18437); local_#18439 := local_#18438; local_#18440 := 0; local_#18441 := 0; assert { :LIR "61372" } { :check "overflow" } { :finding_ids "0" } true; local_#30728 := 1; goto CFG_50132; CFG_40609: assume true; local_#30728 := 0; goto CFG_50132; CFG_50132: assume true; local_#18442 := local_#30728; local_#18443 := local_#18442; if (local_#18443 != 0) { goto CFG_40611; } else { goto CFG_42991; } CFG_50133: assume true; local_#32015_slot := { base : 0, offset : 0 }; local_#18444 := local_#32015_slot; local_#18445 := 0; if (local_#18445 != 0) { goto CFG_40611; } else { goto CFG_42991; } CFG_42991: assume true; local_#32017_io := _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]; local_#32018_x_ := local_#32016_str; local_#18446 := local_#32018_x_; assert { :LIR "61373" } { :check "overflow" } { :finding_ids "0" } true; local_#18447 := { base : local_#18446!base, offset : local_#18446!offset + 0 }; local_#18448 := { base : local_#32017_io!base, offset : local_#32017_io!offset + 0 }; _memory_ptr[local_#18448] := local_#18447; local_#18449 := _memory[{ base : local_#32018_x_!base, offset : local_#32018_x_!offset + 8 }]; assert { :LIR "62929" } { :check "overflow" } { :finding_ids "0" } local_#18449 <= 2147483647; local_#18450 := 64; local_#18451 := ~sor32(local_#18449, local_#18450); _memory[{ base : local_#32017_io!base, offset : local_#32017_io!offset + 8 }] := local_#18451; local_#18452 := 0; local_#18453 := 0; assert { :LIR "61374" } { :check "overflow" } { :finding_ids "0" } true; local_#18454 := _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]; local_#18455 := 1; _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }] := { base : local_#18454!base, offset : local_#18454!offset + local_#18455 * 16 }; local_#18456 := local_#18454; local_#18457 := 0; local_#18458 := 0; assert { :LIR "61375" } { :check "overflow" } { :finding_ids "0" } true; local_#18459 := 1; local_#18460 := { base : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!offset - local_#18459 * 16 }; local_#18461 := 2; local_#18462 := { base : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!offset - local_#18461 * 16 }; goto CFG_46537; CFG_46537: assume true; call routine_#33897_luaV_finishset(local_#5446_L,local_#5447_t,local_#18460,local_#18462,local_#32015_slot); goto CFG_40610; CFG_40610: assume true; local_#18463 := 2; _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]!offset - local_#18463 * 16 }; goto CFG_39252; CFG_40611: assume true; local_#18464 := _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }]; local_#18465 := 1; _memory_ptr[{ base : local_#5446_L!base, offset : local_#5446_L!offset + 16 }] := { base : local_#18464!base, offset : local_#18464!offset - local_#18465 * 16 }; local_#18466 := local_#18464; goto CFG_39252; CFG_39252: assume true; local_#18467 := 0; local_#18468 := 0; assert { :LIR "61376" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37492; CFG_37492: assume true; } procedure routine_#34594_auxsort(local_#5449_L_IN : { base : int, offset : int }, local_#5450_lo_IN : int, local_#5451_up_IN : int, local_#5452_rnd_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5449_L : { base : int, offset : int }; var local_#5450_lo : int; var local_#5451_up : int; var local_#5452_rnd : int; var local_#18469 : int; var local_#18470 : int; var local_#18471 : int; var local_#18472 : int; var local_#18473 : int; var local_#18474 : int; var local_#18475 : int; var local_#18476 : int; var local_#18477 : int; var local_#18478 : int; var local_#18479 : int; var local_#18480 : int; var local_#18481 : int; var local_#18482 : int; var local_#18483 : int; var local_#18484 : int; var local_#18485 : int; var local_#18486 : int; var local_#18487 : int; var local_#18488 : int; var local_#18489 : int; var local_#32020_p : int; var local_#18490 : int; var local_#18491 : int; var local_#18492 : int; var local_#18493 : int; var local_#18494 : int; var local_#18495 : int; var local_#18496 : int; var local_#18497 : int; var local_#18498 : int; var local_#18499 : int; var local_#18500 : int; var local_#18501 : int; var local_#18502 : int; var local_#18503 : int; var local_#18504 : int; var local_#18505 : int; var local_#18506 : int; var local_#18507 : int; var local_#18508 : int; var local_#18509 : int; var local_#18510 : int; var local_#18511 : int; var local_#18512 : int; var local_#18513 : int; var local_#18514 : int; var local_#18515 : int; var local_#18516 : int; var local_#18517 : int; var local_#18518 : int; var local_#18519 : int; var local_#18520 : int; var local_#18521 : int; var local_#18522 : int; var local_#18523 : int; var local_#18524 : int; var local_#18525 : int; var local_#18526 : int; var local_#18527 : int; var local_#18528 : int; var local_#18529 : int; var local_#18530 : int; var local_#18531 : int; var local_#18532 : int; var local_#32019_n : int; var local_#18533 : int; var local_#18534 : int; var local_#18535 : int; var local_#18536 : int; var local_#18537 : int; var local_#18538 : int; var local_#18539 : int; var local_#18540 : int; var local_#18541 : int; var local_#18542 : int; var local_#18543 : int; var local_#18544 : int; local_#5449_L := local_#5449_L_IN; local_#5450_lo := local_#5450_lo_IN; local_#5451_up := local_#5451_up_IN; local_#5452_rnd := local_#5452_rnd_IN; goto CFG_36582; CFG_36582: assume true; goto CFG_41701; CFG_41701: assume true; goto CFG_50134; CFG_50134: assume true; local_#18469 := (if local_#5450_lo < local_#5451_up then 1 else 0); if (local_#18469 != 0) { goto CFG_42992; } else { goto CFG_39253; } CFG_39253: assume true; goto CFG_37493; CFG_42992: assume true; local_#18470 := 1; local_#18471 := local_#5450_lo; assert { :LIR "62930" } { :check "overflow" } { :finding_ids "0" } local_#18471 <= 9223372036854775807; goto CFG_46538; CFG_46538: assume true; call local_#18472 := routine_#33935_lua_geti(local_#5449_L,local_#18470,local_#18471); goto CFG_42993; CFG_42993: assume true; local_#18473 := 1; local_#18474 := local_#5451_up; assert { :LIR "62931" } { :check "overflow" } { :finding_ids "0" } local_#18474 <= 9223372036854775807; goto CFG_46539; CFG_46539: assume true; call local_#18475 := routine_#33935_lua_geti(local_#5449_L,local_#18473,local_#18474); goto CFG_42994; CFG_42994: assume true; local_#18476 := -1; local_#18477 := -2; goto CFG_46540; CFG_46540: assume true; call local_#18478 := routine_#35076_sort_comp(local_#5449_L,local_#18476,local_#18477); goto CFG_50135; CFG_50135: assume true; local_#18479 := local_#18478; if (local_#18479 != 0) { goto CFG_46542; } else { goto CFG_42995; } CFG_42995: assume true; local_#18480 := -3; goto CFG_46541; CFG_46541: assume true; call routine_#33987_lua_settop(local_#5449_L,local_#18480); goto CFG_40612; CFG_40612: assume true; goto CFG_50136; CFG_46542: assume true; call routine_#35054_set2(local_#5449_L,local_#5450_lo,local_#5451_up); goto CFG_40613; CFG_40613: assume true; goto CFG_50136; CFG_50136: assume true; assume { :symbol "~uwrap32" } true; local_#18481 := ~uwrap32(local_#5451_up - local_#5450_lo); assert { :LIR "67981" } { :check "overflow" } { :finding_ids "0" } true; local_#18482 := 1; local_#18483 := (if local_#18481 == local_#18482 then 1 else 0); if (local_#18483 != 0) { goto CFG_39255; } else { goto CFG_50137; } CFG_50137: assume true; assume { :symbol "~uwrap32" } true; local_#18484 := ~uwrap32(local_#5451_up - local_#5450_lo); assert { :LIR "67982" } { :check "overflow" } { :finding_ids "0" } true; local_#18485 := 100; local_#18486 := (if local_#18484 < local_#18485 then 1 else 0); if (local_#18486 != 0) { goto CFG_40615; } else { goto CFG_50138; } CFG_50138: assume true; local_#18487 := 0; local_#18488 := (if local_#5452_rnd == local_#18487 then 1 else 0); if (local_#18488 != 0) { goto CFG_40615; } else { goto CFG_46543; } CFG_46543: assume true; call local_#18489 := routine_#34643_choosePivot(local_#5450_lo,local_#5451_up,local_#5452_rnd); goto CFG_40614; CFG_40614: assume true; local_#32020_p := local_#18489; goto CFG_42996; CFG_40615: assume true; assume { :symbol "~uwrap32" } true; local_#18490 := ~uwrap32(local_#5450_lo + local_#5451_up); assert { :LIR "66546" } { :check "overflow" } { :finding_ids "0" } true; local_#18491 := 2; local_#18492 := local_#18490 / local_#18491; assert { :LIR "68638" } { :check "overflow" } { :finding_ids "0" } true; local_#32020_p := local_#18492; goto CFG_42996; CFG_42996: assume true; local_#18493 := 1; local_#18494 := local_#32020_p; assert { :LIR "62932" } { :check "overflow" } { :finding_ids "0" } local_#18494 <= 9223372036854775807; goto CFG_46544; CFG_46544: assume true; call local_#18495 := routine_#33935_lua_geti(local_#5449_L,local_#18493,local_#18494); goto CFG_42997; CFG_42997: assume true; local_#18496 := 1; local_#18497 := local_#5450_lo; assert { :LIR "62933" } { :check "overflow" } { :finding_ids "0" } local_#18497 <= 9223372036854775807; goto CFG_46545; CFG_46545: assume true; call local_#18498 := routine_#33935_lua_geti(local_#5449_L,local_#18496,local_#18497); goto CFG_42998; CFG_42998: assume true; local_#18499 := -2; local_#18500 := -1; goto CFG_46546; CFG_46546: assume true; call local_#18501 := routine_#35076_sort_comp(local_#5449_L,local_#18499,local_#18500); goto CFG_50139; CFG_50139: assume true; local_#18502 := local_#18501; if (local_#18502 != 0) { goto CFG_46552; } else { goto CFG_42999; } CFG_42999: assume true; local_#18503 := -2; goto CFG_46547; CFG_46547: assume true; call routine_#33987_lua_settop(local_#5449_L,local_#18503); goto CFG_43000; CFG_43000: assume true; local_#18504 := 1; local_#18505 := local_#5451_up; assert { :LIR "62934" } { :check "overflow" } { :finding_ids "0" } local_#18505 <= 9223372036854775807; goto CFG_46548; CFG_46548: assume true; call local_#18506 := routine_#33935_lua_geti(local_#5449_L,local_#18504,local_#18505); goto CFG_43001; CFG_43001: assume true; local_#18507 := -1; local_#18508 := -2; goto CFG_46549; CFG_46549: assume true; call local_#18509 := routine_#35076_sort_comp(local_#5449_L,local_#18507,local_#18508); goto CFG_50140; CFG_50140: assume true; local_#18510 := local_#18509; if (local_#18510 != 0) { goto CFG_46551; } else { goto CFG_43002; } CFG_43002: assume true; local_#18511 := -3; goto CFG_46550; CFG_46550: assume true; call routine_#33987_lua_settop(local_#5449_L,local_#18511); goto CFG_40616; CFG_40616: assume true; goto CFG_40618; CFG_46551: assume true; call routine_#35054_set2(local_#5449_L,local_#32020_p,local_#5451_up); goto CFG_40617; CFG_40617: assume true; goto CFG_40618; CFG_40618: assume true; goto CFG_50141; CFG_46552: assume true; call routine_#35054_set2(local_#5449_L,local_#32020_p,local_#5450_lo); goto CFG_40619; CFG_40619: assume true; goto CFG_50141; CFG_50141: assume true; assume { :symbol "~uwrap32" } true; local_#18512 := ~uwrap32(local_#5451_up - local_#5450_lo); assert { :LIR "67983" } { :check "overflow" } { :finding_ids "0" } true; local_#18513 := 2; local_#18514 := (if local_#18512 == local_#18513 then 1 else 0); if (local_#18514 != 0) { goto CFG_39254; } else { goto CFG_43003; } CFG_43003: assume true; local_#18515 := 1; local_#18516 := local_#32020_p; assert { :LIR "62935" } { :check "overflow" } { :finding_ids "0" } local_#18516 <= 9223372036854775807; goto CFG_46553; CFG_46553: assume true; call local_#18517 := routine_#33935_lua_geti(local_#5449_L,local_#18515,local_#18516); goto CFG_43004; CFG_43004: assume true; local_#18518 := -1; goto CFG_46554; CFG_46554: assume true; call routine_#33967_lua_pushvalue(local_#5449_L,local_#18518); goto CFG_43005; CFG_43005: assume true; local_#18519 := 1; local_#18520 := 1; assume { :symbol "~uwrap32" } true; local_#18521 := ~uwrap32(local_#5451_up - local_#18520); assert { :LIR "67984" } { :check "overflow" } { :finding_ids "0" } true; local_#18522 := local_#18521; assert { :LIR "62936" } { :check "overflow" } { :finding_ids "0" } local_#18522 <= 9223372036854775807; goto CFG_46555; CFG_46555: assume true; call local_#18523 := routine_#33935_lua_geti(local_#5449_L,local_#18519,local_#18522); goto CFG_43006; CFG_43006: assume true; local_#18524 := 1; assume { :symbol "~uwrap32" } true; local_#18525 := ~uwrap32(local_#5451_up - local_#18524); assert { :LIR "67985" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46556; CFG_46556: assume true; call routine_#35054_set2(local_#5449_L,local_#32020_p,local_#18525); goto CFG_46557; CFG_46557: assume true; call local_#18526 := routine_#34988_partition(local_#5449_L,local_#5450_lo,local_#5451_up); goto CFG_50142; CFG_50142: assume true; local_#32020_p := local_#18526; assume { :symbol "~uwrap32" } true; local_#18527 := ~uwrap32(local_#32020_p - local_#5450_lo); assert { :LIR "67986" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#18528 := ~uwrap32(local_#5451_up - local_#32020_p); assert { :LIR "67987" } { :check "overflow" } { :finding_ids "0" } true; local_#18529 := (if local_#18527 < local_#18528 then 1 else 0); if (local_#18529 != 0) { goto CFG_43008; } else { goto CFG_43007; } CFG_43007: assume true; local_#18530 := 1; assume { :symbol "~uwrap32" } true; local_#18531 := ~uwrap32(local_#32020_p + local_#18530); assert { :LIR "66547" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46558; CFG_46558: assume true; call routine_#34594_auxsort(local_#5449_L,local_#18531,local_#5451_up,local_#5452_rnd); goto CFG_40620; CFG_40620: assume true; assume { :symbol "~uwrap32" } true; local_#18532 := ~uwrap32(local_#5451_up - local_#32020_p); assert { :LIR "67988" } { :check "overflow" } { :finding_ids "0" } true; local_#32019_n := local_#18532; local_#18533 := 1; assume { :symbol "~uwrap32" } true; local_#18534 := ~uwrap32(local_#32020_p - local_#18533); assert { :LIR "67989" } { :check "overflow" } { :finding_ids "0" } true; local_#5451_up := local_#18534; goto CFG_50143; CFG_43008: assume true; local_#18535 := 1; assume { :symbol "~uwrap32" } true; local_#18536 := ~uwrap32(local_#32020_p - local_#18535); assert { :LIR "67990" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46559; CFG_46559: assume true; call routine_#34594_auxsort(local_#5449_L,local_#5450_lo,local_#18536,local_#5452_rnd); goto CFG_40621; CFG_40621: assume true; assume { :symbol "~uwrap32" } true; local_#18537 := ~uwrap32(local_#32020_p - local_#5450_lo); assert { :LIR "67991" } { :check "overflow" } { :finding_ids "0" } true; local_#32019_n := local_#18537; local_#18538 := 1; assume { :symbol "~uwrap32" } true; local_#18539 := ~uwrap32(local_#32020_p + local_#18538); assert { :LIR "66548" } { :check "overflow" } { :finding_ids "0" } true; local_#5450_lo := local_#18539; goto CFG_50143; CFG_50143: assume true; assume { :symbol "~uwrap32" } true; local_#18540 := ~uwrap32(local_#5451_up - local_#5450_lo); assert { :LIR "67992" } { :check "overflow" } { :finding_ids "0" } true; local_#18541 := 128; local_#18542 := local_#18540 / local_#18541; assert { :LIR "68639" } { :check "overflow" } { :finding_ids "0" } true; local_#18543 := (if local_#18542 > local_#32019_n then 1 else 0); if (local_#18543 != 0) { goto CFG_46560; } else { goto CFG_45042; } CFG_46560: assume true; call local_#18544 := routine_#34847_l_randomizePivot(); goto CFG_40622; CFG_40622: assume true; local_#5452_rnd := local_#18544; goto CFG_45042; CFG_45042: assume true; goto CFG_50134; CFG_39254: assume true; goto CFG_37493; CFG_39255: assume true; goto CFG_37493; CFG_37493: assume true; } procedure routine_#34595_auxupvalue(local_#5453_L_IN : { base : int, offset : int }, local_#5454_get_IN : int) returns (local_#7950 : int) modifies _memory, _memory_ptr, _valid; { var local_#5453_L : { base : int, offset : int }; var local_#5454_get : int; var local_#18545 : int; var local_#18546 : int; var local_#18547 : int; var local_#32021_n : int; var local_#18548 : int; var local_#18549 : int; var local_#18550 : int; var local_#18551 : int; var local_#18552 : { base : int, offset : int }; var local_#30729 : { base : int, offset : int }; var local_#18553 : int; var local_#18554 : { base : int, offset : int }; var local_#32022_name : { base : int, offset : int }; var local_#18555 : { base : int, offset : int }; var local_#18556 : int; var local_#18557 : { base : int, offset : int }; var local_#18558 : int; var local_#18559 : int; var local_#18560 : int; var local_#18561 : int; var local_#18562 : int; var local_#18563 : int; local_#5453_L := local_#5453_L_IN; local_#5454_get := local_#5454_get_IN; goto CFG_36583; CFG_36583: assume true; goto CFG_43009; CFG_43009: assume true; local_#18545 := 2; goto CFG_46561; CFG_46561: assume true; call local_#18546 := routine_#33820_luaL_checkinteger(local_#5453_L,local_#18545); goto CFG_43010; CFG_43010: assume true; local_#18547 := local_#18546; assert { :LIR "61377" } { :check "overflow" } { :finding_ids "0" } local_#18547 <= 2147483647; local_#32021_n := local_#18547; local_#18548 := 1; local_#18549 := 6; goto CFG_46562; CFG_46562: assume true; call routine_#33825_luaL_checktype(local_#5453_L,local_#18548,local_#18549); goto CFG_50144; CFG_50144: assume true; local_#18550 := local_#5454_get; if (local_#18550 != 0) { goto CFG_43012; } else { goto CFG_43011; } CFG_43011: assume true; local_#18551 := 1; goto CFG_46563; CFG_46563: assume true; call local_#18552 := routine_#33988_lua_setupvalue(local_#5453_L,local_#18551,local_#32021_n); goto CFG_40623; CFG_40623: assume true; local_#30729 := local_#18552; goto CFG_50145; CFG_43012: assume true; local_#18553 := 1; goto CFG_46564; CFG_46564: assume true; call local_#18554 := routine_#33942_lua_getupvalue(local_#5453_L,local_#18553,local_#32021_n); goto CFG_40624; CFG_40624: assume true; local_#30729 := local_#18554; goto CFG_50145; CFG_50145: assume true; local_#32022_name := local_#30729; local_#18555 := { base : 0, offset : 0 }; local_#18556 := (if local_#32022_name == local_#18555 then 1 else 0); if (local_#18556 != 0) { goto CFG_38375; } else { goto CFG_46565; } CFG_46565: assume true; call local_#18557 := routine_#33965_lua_pushstring(local_#5453_L,local_#32022_name); goto CFG_43013; CFG_43013: assume true; local_#18558 := 1; local_#18559 := local_#5454_get + local_#18558; assert { :LIR "66549" } { :check "overflow" } { :finding_ids "0" } local_#18559 <= 2147483647; local_#18560 := -local_#18559; assert { :LIR "64655" } { :check "overflow" } { :finding_ids "0" } local_#18560 <= 2147483647; local_#18561 := 1; goto CFG_46566; CFG_46566: assume true; call routine_#33978_lua_rotate(local_#5453_L,local_#18560,local_#18561); goto CFG_38374; CFG_38374: assume true; local_#18562 := 1; local_#18563 := local_#5454_get + local_#18562; assert { :LIR "66550" } { :check "overflow" } { :finding_ids "0" } local_#18563 <= 2147483647; local_#7950 := local_#18563; goto CFG_37494; CFG_38375: assume true; local_#7950 := 0; goto CFG_37494; CFG_37494: assume true; } procedure routine_#34596_b_and(local_#5455_L_IN : { base : int, offset : int }) returns (local_#7951 : int) modifies _memory, _memory_ptr, _valid; { var local_#5455_L : { base : int, offset : int }; var local_#18564 : int; var local_#32023_r : int; var local_#18565 : int; local_#5455_L := local_#5455_L_IN; goto CFG_36584; CFG_36584: assume true; goto CFG_46567; CFG_46567: assume true; call local_#18564 := routine_#34582_andaux(local_#5455_L); goto CFG_43014; CFG_43014: assume true; local_#32023_r := local_#18564; local_#18565 := local_#32023_r; assert { :LIR "61378" } { :check "overflow" } { :finding_ids "0" } local_#18565 <= 9223372036854775807; goto CFG_46568; CFG_46568: assume true; call routine_#33960_lua_pushinteger(local_#5455_L,local_#18565); goto CFG_38376; CFG_38376: assume true; local_#7951 := 1; goto CFG_37495; CFG_37495: assume true; } procedure routine_#34597_b_arshift(local_#5456_L_IN : { base : int, offset : int }) returns (local_#7952 : int) modifies _memory, _memory_ptr, _valid; { var local_#5456_L : { base : int, offset : int }; var local_#18566 : int; var local_#18567 : int; var local_#18568 : int; var local_#32025_r : int; var local_#18569 : int; var local_#18570 : int; var local_#32024_i : int; var local_#18571 : int; var local_#18572 : int; var local_#18573 : int; var local_#18574 : int; var local_#18575 : int; var local_#18576 : int; var local_#18577 : int; var local_#18578 : int; var local_#18579 : int; var local_#18580 : int; var local_#18581 : int; var local_#18582 : int; var local_#18583 : int; var local_#18584 : int; var local_#18585 : int; var local_#18586 : int; var local_#18587 : int; local_#5456_L := local_#5456_L_IN; goto CFG_36585; CFG_36585: assume true; goto CFG_43015; CFG_43015: assume true; local_#18566 := 1; goto CFG_46569; CFG_46569: assume true; call local_#18567 := routine_#33820_luaL_checkinteger(local_#5456_L,local_#18566); goto CFG_43016; CFG_43016: assume true; local_#18568 := ~uwrap64(local_#18567); assert { :LIR "61379" } { :check "overflow" } { :finding_ids "0" } true; local_#32025_r := local_#18568; local_#18569 := 2; goto CFG_46570; CFG_46570: assume true; call local_#18570 := routine_#33820_luaL_checkinteger(local_#5456_L,local_#18569); goto CFG_50146; CFG_50146: assume true; local_#32024_i := local_#18570; local_#18571 := 0; local_#18572 := (if local_#32024_i < local_#18571 then 1 else 0); if (local_#18572 != 0) { goto CFG_43018; } else { goto CFG_50147; } CFG_50147: assume true; local_#18573 := 2147483648; local_#18574 := ~uand64(local_#32025_r, local_#18573); local_#18575 := (if local_#18574 != 0 then 0 else 1); if (local_#18575 != 0) { goto CFG_43018; } else { goto CFG_50148; } CFG_50148: assume true; local_#18576 := 32; local_#18577 := (if local_#32024_i >= local_#18576 then 1 else 0); if (local_#18577 != 0) { goto CFG_40626; } else { goto CFG_40625; } CFG_40625: assume true; local_#18578 := ~lshr64(local_#32025_r, local_#32024_i); local_#18579 := 4294967295; local_#18580 := ~lshr64(local_#18579, local_#32024_i); local_#18581 := ~unot64(local_#18580); assume { :symbol "~unot64" } 0 <= local_#18580 && local_#18580 <= 18446744073709551615 ==> ~unot64(local_#18580) == 18446744073709551615 - local_#18580; local_#18582 := ~uor64(local_#18578, local_#18581); local_#18583 := 4294967295; local_#18584 := ~uand64(local_#18582, local_#18583); local_#32025_r := local_#18584; goto CFG_43017; CFG_40626: assume true; local_#32025_r := 4294967295; goto CFG_43017; CFG_43017: assume true; local_#18585 := local_#32025_r; assert { :LIR "61380" } { :check "overflow" } { :finding_ids "0" } local_#18585 <= 9223372036854775807; goto CFG_46571; CFG_46571: assume true; call routine_#33960_lua_pushinteger(local_#5456_L,local_#18585); goto CFG_38377; CFG_38377: assume true; local_#7952 := 1; goto CFG_37496; CFG_43018: assume true; local_#18586 := -local_#32024_i; assert { :LIR "64656" } { :check "overflow" } { :finding_ids "0" } local_#18586 <= 9223372036854775807; goto CFG_46572; CFG_46572: assume true; call local_#18587 := routine_#34607_b_shift(local_#5456_L,local_#32025_r,local_#18586); goto CFG_38378; CFG_38378: assume true; local_#7952 := local_#18587; goto CFG_37496; CFG_37496: assume true; } procedure routine_#34598_b_extract(local_#5457_L_IN : { base : int, offset : int }) returns (local_#7953 : int) modifies _memory, _memory_ptr, _valid; { var local_#5457_L : { base : int, offset : int }; var local_#18588 : int; var local_#18589 : int; var local_#18590 : int; var local_#18591 : int; var local_#18592 : int; var local_#32027_r : int; var local_#18593 : int; var local_#32028_w : { base : int, offset : int }; var local_#18594 : { base : int, offset : int }; var local_#18595 : int; var local_#32026_f : int; var local_#18596 : int; var local_#18597 : int; var local_#18598 : int; var local_#18599 : int; var local_#18600 : int; var local_#18601 : int; var local_#18602 : int; var local_#18603 : int; local_#5457_L := local_#5457_L_IN; goto CFG_36586; CFG_36586: assume true; goto CFG_43019; CFG_43019: assume true; local_#18588 := 1; goto CFG_46573; CFG_46573: assume true; call local_#18589 := routine_#33820_luaL_checkinteger(local_#5457_L,local_#18588); goto CFG_43020; CFG_43020: assume true; local_#18590 := ~uwrap64(local_#18589); assert { :LIR "61381" } { :check "overflow" } { :finding_ids "0" } true; local_#18591 := 4294967295; local_#18592 := ~uand64(local_#18590, local_#18591); local_#32027_r := local_#18592; local_#18593 := 2; local_#18594 := local_#32028_w; goto CFG_46574; CFG_46574: assume true; call local_#18595 := routine_#34737_fieldargs(local_#5457_L,local_#18593,local_#18594); goto CFG_43021; CFG_43021: assume true; local_#32026_f := local_#18595; local_#18596 := ~lshr64(local_#32027_r, local_#32026_f); local_#18597 := 8589934590; local_#18598 := 1; local_#18599 := _memory[local_#32028_w] - local_#18598; assert { :LIR "67993" } { :check "overflow" } { :finding_ids "0" } local_#18599 <= 2147483647; local_#18600 := ~shl64(local_#18597, local_#18599); local_#18601 := ~unot64(local_#18600); assume { :symbol "~unot64" } 0 <= local_#18600 && local_#18600 <= 18446744073709551615 ==> ~unot64(local_#18600) == 18446744073709551615 - local_#18600; local_#18602 := ~uand64(local_#18596, local_#18601); local_#32027_r := local_#18602; local_#18603 := local_#32027_r; assert { :LIR "61382" } { :check "overflow" } { :finding_ids "0" } local_#18603 <= 9223372036854775807; goto CFG_46575; CFG_46575: assume true; call routine_#33960_lua_pushinteger(local_#5457_L,local_#18603); goto CFG_38379; CFG_38379: assume true; local_#7953 := 1; goto CFG_37497; CFG_37497: assume true; } procedure routine_#34599_b_lrot(local_#5458_L_IN : { base : int, offset : int }) returns (local_#7954 : int) modifies _memory, _memory_ptr, _valid; { var local_#5458_L : { base : int, offset : int }; var local_#18604 : int; var local_#18605 : int; var local_#18606 : int; local_#5458_L := local_#5458_L_IN; goto CFG_36587; CFG_36587: assume true; goto CFG_43022; CFG_43022: assume true; local_#18604 := 2; goto CFG_46576; CFG_46576: assume true; call local_#18605 := routine_#33820_luaL_checkinteger(local_#5458_L,local_#18604); goto CFG_46577; CFG_46577: assume true; call local_#18606 := routine_#34604_b_rot(local_#5458_L,local_#18605); goto CFG_38380; CFG_38380: assume true; local_#7954 := local_#18606; goto CFG_37498; CFG_37498: assume true; } procedure routine_#34600_b_lshift(local_#5459_L_IN : { base : int, offset : int }) returns (local_#7955 : int) modifies _memory, _memory_ptr, _valid; { var local_#5459_L : { base : int, offset : int }; var local_#18607 : int; var local_#18608 : int; var local_#18609 : int; var local_#18610 : int; var local_#18611 : int; var local_#18612 : int; local_#5459_L := local_#5459_L_IN; goto CFG_36588; CFG_36588: assume true; goto CFG_43023; CFG_43023: assume true; local_#18607 := 1; goto CFG_46578; CFG_46578: assume true; call local_#18608 := routine_#33820_luaL_checkinteger(local_#5459_L,local_#18607); goto CFG_43024; CFG_43024: assume true; local_#18609 := ~uwrap64(local_#18608); assert { :LIR "61383" } { :check "overflow" } { :finding_ids "0" } true; local_#18610 := 2; goto CFG_46579; CFG_46579: assume true; call local_#18611 := routine_#33820_luaL_checkinteger(local_#5459_L,local_#18610); goto CFG_46580; CFG_46580: assume true; call local_#18612 := routine_#34607_b_shift(local_#5459_L,local_#18609,local_#18611); goto CFG_38381; CFG_38381: assume true; local_#7955 := local_#18612; goto CFG_37499; CFG_37499: assume true; } procedure routine_#34601_b_not(local_#5460_L_IN : { base : int, offset : int }) returns (local_#7956 : int) modifies _memory, _memory_ptr, _valid; { var local_#5460_L : { base : int, offset : int }; var local_#18613 : int; var local_#18614 : int; var local_#18615 : int; var local_#18616 : int; var local_#32029_r : int; var local_#18617 : int; var local_#18618 : int; var local_#18619 : int; local_#5460_L := local_#5460_L_IN; goto CFG_36589; CFG_36589: assume true; goto CFG_43025; CFG_43025: assume true; local_#18613 := 1; goto CFG_46581; CFG_46581: assume true; call local_#18614 := routine_#33820_luaL_checkinteger(local_#5460_L,local_#18613); goto CFG_43026; CFG_43026: assume true; local_#18615 := ~uwrap64(local_#18614); assert { :LIR "61384" } { :check "overflow" } { :finding_ids "0" } true; local_#18616 := ~unot64(local_#18615); assume { :symbol "~unot64" } 0 <= local_#18615 && local_#18615 <= 18446744073709551615 ==> ~unot64(local_#18615) == 18446744073709551615 - local_#18615; local_#32029_r := local_#18616; local_#18617 := 4294967295; local_#18618 := ~uand64(local_#32029_r, local_#18617); local_#18619 := local_#18618; assert { :LIR "61385" } { :check "overflow" } { :finding_ids "0" } local_#18619 <= 9223372036854775807; goto CFG_46582; CFG_46582: assume true; call routine_#33960_lua_pushinteger(local_#5460_L,local_#18619); goto CFG_38382; CFG_38382: assume true; local_#7956 := 1; goto CFG_37500; CFG_37500: assume true; } procedure routine_#34602_b_or(local_#5461_L_IN : { base : int, offset : int }) returns (local_#7957 : int) modifies _memory, _memory_ptr, _valid; { var local_#5461_L : { base : int, offset : int }; var local_#18620 : int; var local_#32031_n : int; var local_#32032_r : int; var local_#32030_i : int; var local_#18621 : int; var local_#18622 : int; var local_#18623 : int; var local_#18624 : int; var local_#18625 : int; var local_#18626 : int; var local_#18627 : int; var local_#18628 : int; var local_#18629 : int; local_#5461_L := local_#5461_L_IN; goto CFG_36590; CFG_36590: assume true; goto CFG_46583; CFG_46583: assume true; call local_#18620 := routine_#33941_lua_gettop(local_#5461_L); goto CFG_41702; CFG_41702: assume true; local_#32031_n := local_#18620; local_#32032_r := 0; local_#32030_i := 1; goto CFG_50149; CFG_50149: assume true; local_#18621 := (if local_#32030_i <= local_#32031_n then 1 else 0); if (local_#18621 != 0) { goto CFG_46585; } else { goto CFG_43027; } CFG_43027: assume true; local_#18622 := 4294967295; local_#18623 := ~uand64(local_#32032_r, local_#18622); local_#18624 := local_#18623; assert { :LIR "61386" } { :check "overflow" } { :finding_ids "0" } local_#18624 <= 9223372036854775807; goto CFG_46584; CFG_46584: assume true; call routine_#33960_lua_pushinteger(local_#5461_L,local_#18624); goto CFG_38383; CFG_38383: assume true; local_#7957 := 1; goto CFG_37501; CFG_46585: assume true; call local_#18625 := routine_#33820_luaL_checkinteger(local_#5461_L,local_#32030_i); goto CFG_43028; CFG_43028: assume true; local_#18626 := ~uwrap64(local_#18625); assert { :LIR "61387" } { :check "overflow" } { :finding_ids "0" } true; local_#32032_r := ~uor64(local_#32032_r, local_#18626); goto CFG_45043; CFG_45043: assume true; local_#18627 := local_#32030_i; local_#18628 := 1; local_#32030_i := local_#18627 + local_#18628; assert { :LIR "66551" } { :check "overflow" } { :finding_ids "0" } local_#32030_i <= 2147483647; local_#18629 := local_#18627; goto CFG_50149; CFG_37501: assume true; } procedure routine_#34603_b_replace(local_#5462_L_IN : { base : int, offset : int }) returns (local_#7958 : int) modifies _memory, _memory_ptr, _valid; { var local_#5462_L : { base : int, offset : int }; var local_#18630 : int; var local_#18631 : int; var local_#18632 : int; var local_#18633 : int; var local_#18634 : int; var local_#32035_r : int; var local_#18635 : int; var local_#18636 : int; var local_#18637 : int; var local_#18638 : int; var local_#18639 : int; var local_#32036_v : int; var local_#18640 : int; var local_#32037_w : { base : int, offset : int }; var local_#18641 : { base : int, offset : int }; var local_#18642 : int; var local_#32033_f : int; var local_#18643 : int; var local_#18644 : int; var local_#18645 : int; var local_#18646 : int; var local_#18647 : int; var local_#32034_m : int; var local_#18648 : int; var local_#18649 : int; var local_#18650 : int; var local_#18651 : int; var local_#18652 : int; var local_#18653 : int; var local_#18654 : int; local_#5462_L := local_#5462_L_IN; goto CFG_36591; CFG_36591: assume true; goto CFG_43029; CFG_43029: assume true; local_#18630 := 1; goto CFG_46586; CFG_46586: assume true; call local_#18631 := routine_#33820_luaL_checkinteger(local_#5462_L,local_#18630); goto CFG_43030; CFG_43030: assume true; local_#18632 := ~uwrap64(local_#18631); assert { :LIR "61388" } { :check "overflow" } { :finding_ids "0" } true; local_#18633 := 4294967295; local_#18634 := ~uand64(local_#18632, local_#18633); local_#32035_r := local_#18634; local_#18635 := 2; goto CFG_46587; CFG_46587: assume true; call local_#18636 := routine_#33820_luaL_checkinteger(local_#5462_L,local_#18635); goto CFG_43031; CFG_43031: assume true; local_#18637 := ~uwrap64(local_#18636); assert { :LIR "61389" } { :check "overflow" } { :finding_ids "0" } true; local_#18638 := 4294967295; local_#18639 := ~uand64(local_#18637, local_#18638); local_#32036_v := local_#18639; local_#18640 := 3; local_#18641 := local_#32037_w; goto CFG_46588; CFG_46588: assume true; call local_#18642 := routine_#34737_fieldargs(local_#5462_L,local_#18640,local_#18641); goto CFG_43032; CFG_43032: assume true; local_#32033_f := local_#18642; local_#18643 := 8589934590; local_#18644 := 1; local_#18645 := _memory[local_#32037_w] - local_#18644; assert { :LIR "67994" } { :check "overflow" } { :finding_ids "0" } local_#18645 <= 2147483647; local_#18646 := ~shl64(local_#18643, local_#18645); local_#18647 := ~unot64(local_#18646); assume { :symbol "~unot64" } 0 <= local_#18646 && local_#18646 <= 18446744073709551615 ==> ~unot64(local_#18646) == 18446744073709551615 - local_#18646; local_#32034_m := local_#18647; local_#18648 := ~shl64(local_#32034_m, local_#32033_f); local_#18649 := ~unot64(local_#18648); assume { :symbol "~unot64" } 0 <= local_#18648 && local_#18648 <= 18446744073709551615 ==> ~unot64(local_#18648) == 18446744073709551615 - local_#18648; local_#18650 := ~uand64(local_#32035_r, local_#18649); local_#18651 := ~uand64(local_#32036_v, local_#32034_m); local_#18652 := ~shl64(local_#18651, local_#32033_f); local_#18653 := ~uor64(local_#18650, local_#18652); local_#32035_r := local_#18653; local_#18654 := local_#32035_r; assert { :LIR "61390" } { :check "overflow" } { :finding_ids "0" } local_#18654 <= 9223372036854775807; goto CFG_46589; CFG_46589: assume true; call routine_#33960_lua_pushinteger(local_#5462_L,local_#18654); goto CFG_38384; CFG_38384: assume true; local_#7958 := 1; goto CFG_37502; CFG_37502: assume true; } procedure routine_#34604_b_rot(local_#5463_L_IN : { base : int, offset : int }, local_#5464_d_IN : int) returns (local_#7959 : int) modifies _memory, _memory_ptr, _valid; { var local_#5463_L : { base : int, offset : int }; var local_#5464_d : int; var local_#18655 : int; var local_#18656 : int; var local_#18657 : int; var local_#32039_r : int; var local_#18658 : int; var local_#18659 : int; var local_#18660 : int; var local_#32038_i : int; var local_#18661 : int; var local_#18662 : int; var local_#18663 : int; var local_#18664 : int; var local_#18665 : int; var local_#18666 : int; var local_#18667 : int; var local_#18668 : int; var local_#18669 : int; var local_#18670 : int; var local_#18671 : int; var local_#18672 : int; local_#5463_L := local_#5463_L_IN; local_#5464_d := local_#5464_d_IN; goto CFG_36592; CFG_36592: assume true; goto CFG_43033; CFG_43033: assume true; local_#18655 := 1; goto CFG_46590; CFG_46590: assume true; call local_#18656 := routine_#33820_luaL_checkinteger(local_#5463_L,local_#18655); goto CFG_50150; CFG_50150: assume true; local_#18657 := ~uwrap64(local_#18656); assert { :LIR "61391" } { :check "overflow" } { :finding_ids "0" } true; local_#32039_r := local_#18657; local_#18658 := 31; local_#18659 := ~sand64(local_#5464_d, local_#18658); local_#18660 := local_#18659; assert { :LIR "62937" } { :check "overflow" } { :finding_ids "0" } local_#18660 <= 2147483647; local_#32038_i := local_#18660; local_#18661 := 4294967295; local_#18662 := ~uand64(local_#32039_r, local_#18661); local_#32039_r := local_#18662; local_#18663 := 0; local_#18664 := (if local_#32038_i != local_#18663 then 1 else 0); if (local_#18664 != 0) { goto CFG_40627; } else { goto CFG_43034; } CFG_40627: assume true; local_#18665 := ~shl64(local_#32039_r, local_#32038_i); local_#18666 := 32; local_#18667 := local_#18666 - local_#32038_i; assert { :LIR "67995" } { :check "overflow" } { :finding_ids "0" } local_#18667 <= 2147483647; local_#18668 := ~lshr64(local_#32039_r, local_#18667); local_#18669 := ~uor64(local_#18665, local_#18668); local_#32039_r := local_#18669; goto CFG_43034; CFG_43034: assume true; local_#18670 := 4294967295; local_#18671 := ~uand64(local_#32039_r, local_#18670); local_#18672 := local_#18671; assert { :LIR "61392" } { :check "overflow" } { :finding_ids "0" } local_#18672 <= 9223372036854775807; goto CFG_46591; CFG_46591: assume true; call routine_#33960_lua_pushinteger(local_#5463_L,local_#18672); goto CFG_38385; CFG_38385: assume true; local_#7959 := 1; goto CFG_37503; CFG_37503: assume true; } procedure routine_#34605_b_rrot(local_#5465_L_IN : { base : int, offset : int }) returns (local_#7960 : int) modifies _memory, _memory_ptr, _valid; { var local_#5465_L : { base : int, offset : int }; var local_#18673 : int; var local_#18674 : int; var local_#18675 : int; var local_#18676 : int; local_#5465_L := local_#5465_L_IN; goto CFG_36593; CFG_36593: assume true; goto CFG_43035; CFG_43035: assume true; local_#18673 := 2; goto CFG_46592; CFG_46592: assume true; call local_#18674 := routine_#33820_luaL_checkinteger(local_#5465_L,local_#18673); goto CFG_43036; CFG_43036: assume true; local_#18675 := -local_#18674; assert { :LIR "64657" } { :check "overflow" } { :finding_ids "0" } local_#18675 <= 9223372036854775807; goto CFG_46593; CFG_46593: assume true; call local_#18676 := routine_#34604_b_rot(local_#5465_L,local_#18675); goto CFG_38386; CFG_38386: assume true; local_#7960 := local_#18676; goto CFG_37504; CFG_37504: assume true; } procedure routine_#34606_b_rshift(local_#5466_L_IN : { base : int, offset : int }) returns (local_#7961 : int) modifies _memory, _memory_ptr, _valid; { var local_#5466_L : { base : int, offset : int }; var local_#18677 : int; var local_#18678 : int; var local_#18679 : int; var local_#18680 : int; var local_#18681 : int; var local_#18682 : int; var local_#18683 : int; local_#5466_L := local_#5466_L_IN; goto CFG_36594; CFG_36594: assume true; goto CFG_43037; CFG_43037: assume true; local_#18677 := 1; goto CFG_46594; CFG_46594: assume true; call local_#18678 := routine_#33820_luaL_checkinteger(local_#5466_L,local_#18677); goto CFG_43038; CFG_43038: assume true; local_#18679 := ~uwrap64(local_#18678); assert { :LIR "61393" } { :check "overflow" } { :finding_ids "0" } true; local_#18680 := 2; goto CFG_46595; CFG_46595: assume true; call local_#18681 := routine_#33820_luaL_checkinteger(local_#5466_L,local_#18680); goto CFG_43039; CFG_43039: assume true; local_#18682 := -local_#18681; assert { :LIR "64658" } { :check "overflow" } { :finding_ids "0" } local_#18682 <= 9223372036854775807; goto CFG_46596; CFG_46596: assume true; call local_#18683 := routine_#34607_b_shift(local_#5466_L,local_#18679,local_#18682); goto CFG_38387; CFG_38387: assume true; local_#7961 := local_#18683; goto CFG_37505; CFG_37505: assume true; } procedure routine_#34607_b_shift(local_#5467_L_IN : { base : int, offset : int }, local_#5468_r_IN : int, local_#5469_i_IN : int) returns (local_#7962 : int) modifies _memory, _memory_ptr; { var local_#5467_L : { base : int, offset : int }; var local_#5468_r : int; var local_#5469_i : int; var local_#18684 : int; var local_#18685 : int; var local_#18686 : int; var local_#18687 : int; var local_#18688 : int; var local_#18689 : int; var local_#18690 : int; var local_#18691 : int; var local_#18692 : int; var local_#18693 : int; var local_#18694 : int; var local_#18695 : int; local_#5467_L := local_#5467_L_IN; local_#5468_r := local_#5468_r_IN; local_#5469_i := local_#5469_i_IN; goto CFG_36595; CFG_36595: assume true; goto CFG_50151; CFG_50151: assume true; local_#18684 := 0; local_#18685 := (if local_#5469_i < local_#18684 then 1 else 0); if (local_#18685 != 0) { goto CFG_50153; } else { goto CFG_50152; } CFG_50152: assume true; local_#18686 := 32; local_#18687 := (if local_#5469_i >= local_#18686 then 1 else 0); if (local_#18687 != 0) { goto CFG_40629; } else { goto CFG_40628; } CFG_40628: assume true; local_#5468_r := ~shl64(local_#5468_r, local_#5469_i); goto CFG_40630; CFG_40629: assume true; local_#5468_r := 0; goto CFG_40630; CFG_40630: assume true; local_#18688 := 4294967295; local_#18689 := ~uand64(local_#5468_r, local_#18688); local_#5468_r := local_#18689; goto CFG_43040; CFG_50153: assume true; local_#18690 := -local_#5469_i; assert { :LIR "64659" } { :check "overflow" } { :finding_ids "0" } local_#18690 <= 9223372036854775807; local_#5469_i := local_#18690; local_#18691 := 4294967295; local_#18692 := ~uand64(local_#5468_r, local_#18691); local_#5468_r := local_#18692; local_#18693 := 32; local_#18694 := (if local_#5469_i >= local_#18693 then 1 else 0); if (local_#18694 != 0) { goto CFG_40632; } else { goto CFG_40631; } CFG_40631: assume true; local_#5468_r := ~lshr64(local_#5468_r, local_#5469_i); goto CFG_40633; CFG_40632: assume true; local_#5468_r := 0; goto CFG_40633; CFG_40633: assume true; goto CFG_43040; CFG_43040: assume true; local_#18695 := local_#5468_r; assert { :LIR "61394" } { :check "overflow" } { :finding_ids "0" } local_#18695 <= 9223372036854775807; goto CFG_46597; CFG_46597: assume true; call routine_#33960_lua_pushinteger(local_#5467_L,local_#18695); goto CFG_38388; CFG_38388: assume true; local_#7962 := 1; goto CFG_37506; CFG_37506: assume true; } procedure routine_#34608_b_str2int(local_#5470_s_IN : { base : int, offset : int }, local_#5471_base_IN : int, local_#5472_pn_IN : { base : int, offset : int }) returns (local_#7963 : { base : int, offset : int }) modifies _memory; { var local_#5470_s : { base : int, offset : int }; var local_#5471_base : int; var local_#5472_pn : { base : int, offset : int }; var local_#32040_n : int; var local_#32041_neg : int; var local_#18696 : { base : int, offset : int }; var local_#18697 : { base : int, offset : int }; var local_#18698 : int; var local_#18699 : int; var local_#18700 : int; var local_#18701 : int; var local_#18702 : int; var local_#18703 : int; var local_#18704 : int; var local_#18705 : { base : int, offset : int }; var local_#18706 : int; var local_#18707 : { base : int, offset : int }; var local_#18708 : { base : int, offset : int }; var local_#18709 : int; var local_#18710 : { base : int, offset : int }; var local_#18711 : { base : int, offset : int }; var local_#18712 : int; var local_#18713 : int; var local_#18714 : { base : int, offset : int }; var local_#18715 : int; var local_#18716 : int; var local_#18717 : int; var local_#18718 : int; var local_#18719 : { base : int, offset : int }; var local_#18720 : int; var local_#18721 : int; var local_#18722 : { base : int, offset : int }; var local_#18723 : int; var local_#18724 : int; var local_#18725 : int; var local_#18726 : int; var local_#18727 : int; var local_#18728 : int; var local_#18729 : int; var local_#18730 : int; var local_#18731 : int; var local_#18732 : int; var local_#30730 : int; var local_#18733 : int; var local_#18734 : int; var local_#18735 : int; var local_#32042_digit : int; var local_#18736 : int; var local_#18737 : int; var local_#18738 : int; var local_#18739 : int; var local_#18740 : int; var local_#18741 : { base : int, offset : int }; var local_#18742 : int; var local_#18743 : { base : int, offset : int }; var local_#18744 : { base : int, offset : int }; var local_#18745 : int; var local_#18746 : int; var local_#18747 : { base : int, offset : int }; var local_#18748 : int; var local_#18749 : int; var local_#18750 : int; var local_#18751 : { base : int, offset : int }; var local_#18752 : { base : int, offset : int }; var local_#18753 : int; var local_#18754 : int; var local_#30731 : int; var local_#18755 : int; var local_#18756 : int; var local_#18757 : int; local_#5470_s := local_#5470_s_IN; local_#5471_base := local_#5471_base_IN; local_#5472_pn := local_#5472_pn_IN; goto CFG_36596; CFG_36596: assume true; goto CFG_43041; CFG_43041: assume true; local_#32040_n := 0; local_#32041_neg := 0; assume _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 0 }] == 32 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 1 }] == 12 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 2 }] == 10 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 3 }] == 13 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 4 }] == 9 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 5 }] == 11 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 6 }] == 0; local_#18696 := strlit_#70454; local_#18697 := { base : local_#18696!base, offset : local_#18696!offset + 0 * 1 }; assert { :LIR "62938" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46598; CFG_46598: assume true; call local_#18698 := routine_#34461_strspn(local_#5470_s,local_#18697); goto CFG_50154; CFG_50154: assume true; local_#5470_s := { base : local_#5470_s!base, offset : local_#5470_s!offset + local_#18698 * 1 }; local_#18699 := _memory[local_#5470_s]; assert { :LIR "62939" } { :check "overflow" } { :finding_ids "0" } local_#18699 <= 2147483647; local_#18700 := 45; local_#18701 := (if local_#18699 == local_#18700 then 1 else 0); if (local_#18701 != 0) { goto CFG_40636; } else { goto CFG_50155; } CFG_50155: assume true; local_#18702 := _memory[local_#5470_s]; assert { :LIR "62940" } { :check "overflow" } { :finding_ids "0" } local_#18702 <= 2147483647; local_#18703 := 43; local_#18704 := (if local_#18702 == local_#18703 then 1 else 0); if (local_#18704 != 0) { goto CFG_40634; } else { goto CFG_40635; } CFG_40634: assume true; local_#18705 := local_#5470_s; local_#18706 := 1; local_#5470_s := { base : local_#18705!base, offset : local_#18705!offset + local_#18706 * 1 }; local_#18707 := local_#18705; goto CFG_40635; CFG_40635: assume true; goto CFG_46599; CFG_40636: assume true; local_#18708 := local_#5470_s; local_#18709 := 1; local_#5470_s := { base : local_#18708!base, offset : local_#18708!offset + local_#18709 * 1 }; local_#18710 := local_#18708; local_#32041_neg := 1; goto CFG_46599; CFG_46599: assume true; call local_#18711 := routine_#33248___ctype_b_loc(); goto CFG_50156; CFG_50156: assume true; local_#18712 := ~uwrap8(_memory[local_#5470_s]); assert { :LIR "61395" } { :check "overflow" } { :finding_ids "0" } true; local_#18713 := local_#18712; assert { :LIR "61396" } { :check "overflow" } { :finding_ids "0" } local_#18713 <= 2147483647; local_#18714 := { base : _memory_ptr[local_#18711]!base, offset : _memory_ptr[local_#18711]!offset + local_#18713 * 2 }; local_#18715 := _memory[local_#18714]; assert { :LIR "62941" } { :check "overflow" } { :finding_ids "0" } local_#18715 <= 2147483647; local_#18716 := 8; local_#18717 := ~sand32(local_#18715, local_#18716); local_#18718 := (if local_#18717 != 0 then 0 else 1); if (local_#18718 != 0) { goto CFG_38391; } else { goto CFG_41703; } CFG_41703: assume true; goto CFG_46600; CFG_46600: assume true; call local_#18719 := routine_#33248___ctype_b_loc(); goto CFG_50157; CFG_50157: assume true; local_#18720 := ~uwrap8(_memory[local_#5470_s]); assert { :LIR "61397" } { :check "overflow" } { :finding_ids "0" } true; local_#18721 := local_#18720; assert { :LIR "61398" } { :check "overflow" } { :finding_ids "0" } local_#18721 <= 2147483647; local_#18722 := { base : _memory_ptr[local_#18719]!base, offset : _memory_ptr[local_#18719]!offset + local_#18721 * 2 }; local_#18723 := _memory[local_#18722]; assert { :LIR "62942" } { :check "overflow" } { :finding_ids "0" } local_#18723 <= 2147483647; local_#18724 := 2048; local_#18725 := ~sand32(local_#18723, local_#18724); if (local_#18725 != 0) { goto CFG_40638; } else { goto CFG_43042; } CFG_43042: assume true; local_#18726 := ~uwrap8(_memory[local_#5470_s]); assert { :LIR "61399" } { :check "overflow" } { :finding_ids "0" } true; local_#18727 := local_#18726; assert { :LIR "62943" } { :check "overflow" } { :finding_ids "0" } local_#18727 <= 2147483647; goto CFG_46601; CFG_46601: assume true; call local_#18728 := routine_#34504_toupper(local_#18727); goto CFG_40637; CFG_40637: assume true; local_#18729 := 65; local_#18730 := local_#18728 - local_#18729; assert { :LIR "67996" } { :check "overflow" } { :finding_ids "0" } local_#18730 <= 2147483647; local_#18731 := 10; local_#18732 := local_#18730 + local_#18731; assert { :LIR "66552" } { :check "overflow" } { :finding_ids "0" } local_#18732 <= 2147483647; local_#30730 := local_#18732; goto CFG_50158; CFG_40638: assume true; local_#18733 := _memory[local_#5470_s]; assert { :LIR "62944" } { :check "overflow" } { :finding_ids "0" } local_#18733 <= 2147483647; local_#18734 := 48; local_#18735 := local_#18733 - local_#18734; assert { :LIR "67997" } { :check "overflow" } { :finding_ids "0" } local_#18735 <= 2147483647; local_#30730 := local_#18735; goto CFG_50158; CFG_50158: assume true; local_#32042_digit := local_#30730; local_#18736 := (if local_#32042_digit >= local_#5471_base then 1 else 0); if (local_#18736 != 0) { goto CFG_38390; } else { goto CFG_43043; } CFG_43043: assume true; local_#18737 := ~uwrap64(local_#5471_base); assert { :LIR "62945" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#18738 := ~uwrap64(local_#32040_n * local_#18737); assert { :LIR "68549" } { :check "overflow" } { :finding_ids "0" } true; local_#18739 := ~uwrap64(local_#32042_digit); assert { :LIR "62946" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#18740 := ~uwrap64(local_#18738 + local_#18739); assert { :LIR "66553" } { :check "overflow" } { :finding_ids "0" } true; local_#32040_n := local_#18740; local_#18741 := local_#5470_s; local_#18742 := 1; local_#5470_s := { base : local_#18741!base, offset : local_#18741!offset + local_#18742 * 1 }; local_#18743 := local_#18741; goto CFG_46602; CFG_46602: assume true; call local_#18744 := routine_#33248___ctype_b_loc(); goto CFG_50159; CFG_50159: assume true; local_#18745 := ~uwrap8(_memory[local_#5470_s]); assert { :LIR "61400" } { :check "overflow" } { :finding_ids "0" } true; local_#18746 := local_#18745; assert { :LIR "61401" } { :check "overflow" } { :finding_ids "0" } local_#18746 <= 2147483647; local_#18747 := { base : _memory_ptr[local_#18744]!base, offset : _memory_ptr[local_#18744]!offset + local_#18746 * 2 }; local_#18748 := _memory[local_#18747]; assert { :LIR "62947" } { :check "overflow" } { :finding_ids "0" } local_#18748 <= 2147483647; local_#18749 := 8; local_#18750 := ~sand32(local_#18748, local_#18749); if (local_#18750 != 0) { goto CFG_45044; } else { goto CFG_43044; } CFG_43044: assume true; assume _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 0 }] == 32 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 1 }] == 12 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 2 }] == 10 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 3 }] == 13 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 4 }] == 9 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 5 }] == 11 && _memory[{ base : strlit_#70454!base, offset : strlit_#70454!offset + 6 }] == 0; local_#18751 := strlit_#70454; local_#18752 := { base : local_#18751!base, offset : local_#18751!offset + 0 * 1 }; assert { :LIR "62948" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46603; CFG_46603: assume true; call local_#18753 := routine_#34461_strspn(local_#5470_s,local_#18752); goto CFG_50160; CFG_50160: assume true; local_#5470_s := { base : local_#5470_s!base, offset : local_#5470_s!offset + local_#18753 * 1 }; local_#18754 := local_#32041_neg; if (local_#18754 != 0) { goto CFG_40640; } else { goto CFG_40639; } CFG_40639: assume true; local_#30731 := local_#32040_n; goto CFG_38389; CFG_40640: assume true; local_#18755 := 0; assume { :symbol "~uwrap64" } true; local_#18756 := ~uwrap64(local_#18755 - local_#32040_n); assert { :LIR "67998" } { :check "overflow" } { :finding_ids "0" } true; local_#30731 := local_#18756; goto CFG_38389; CFG_38389: assume true; local_#18757 := local_#30731; assert { :LIR "61402" } { :check "overflow" } { :finding_ids "0" } local_#18757 <= 9223372036854775807; _memory[local_#5472_pn] := local_#18757; local_#7963 := local_#5470_s; goto CFG_37507; CFG_45044: assume true; goto CFG_46600; CFG_38390: assume true; local_#7963 := { base : 0, offset : 0 }; goto CFG_37507; CFG_38391: assume true; local_#7963 := { base : 0, offset : 0 }; goto CFG_37507; CFG_37507: assume true; } procedure routine_#34609_b_test(local_#5473_L_IN : { base : int, offset : int }) returns (local_#7964 : int) modifies _memory, _memory_ptr, _valid; { var local_#5473_L : { base : int, offset : int }; var local_#18758 : int; var local_#32043_r : int; var local_#18759 : int; var local_#18760 : int; local_#5473_L := local_#5473_L_IN; goto CFG_36597; CFG_36597: assume true; goto CFG_46604; CFG_46604: assume true; call local_#18758 := routine_#34582_andaux(local_#5473_L); goto CFG_43045; CFG_43045: assume true; local_#32043_r := local_#18758; local_#18759 := 0; local_#18760 := (if local_#32043_r != local_#18759 then 1 else 0); goto CFG_46605; CFG_46605: assume true; call routine_#33957_lua_pushboolean(local_#5473_L,local_#18760); goto CFG_38392; CFG_38392: assume true; local_#7964 := 1; goto CFG_37508; CFG_37508: assume true; } procedure routine_#34610_b_xor(local_#5474_L_IN : { base : int, offset : int }) returns (local_#7965 : int) modifies _memory, _memory_ptr, _valid; { var local_#5474_L : { base : int, offset : int }; var local_#18761 : int; var local_#32045_n : int; var local_#32046_r : int; var local_#32044_i : int; var local_#18762 : int; var local_#18763 : int; var local_#18764 : int; var local_#18765 : int; var local_#18766 : int; var local_#18767 : int; var local_#18768 : int; var local_#18769 : int; var local_#18770 : int; local_#5474_L := local_#5474_L_IN; goto CFG_36598; CFG_36598: assume true; goto CFG_46606; CFG_46606: assume true; call local_#18761 := routine_#33941_lua_gettop(local_#5474_L); goto CFG_41704; CFG_41704: assume true; local_#32045_n := local_#18761; local_#32046_r := 0; local_#32044_i := 1; goto CFG_50161; CFG_50161: assume true; local_#18762 := (if local_#32044_i <= local_#32045_n then 1 else 0); if (local_#18762 != 0) { goto CFG_46608; } else { goto CFG_43046; } CFG_43046: assume true; local_#18763 := 4294967295; local_#18764 := ~uand64(local_#32046_r, local_#18763); local_#18765 := local_#18764; assert { :LIR "61403" } { :check "overflow" } { :finding_ids "0" } local_#18765 <= 9223372036854775807; goto CFG_46607; CFG_46607: assume true; call routine_#33960_lua_pushinteger(local_#5474_L,local_#18765); goto CFG_38393; CFG_38393: assume true; local_#7965 := 1; goto CFG_37509; CFG_46608: assume true; call local_#18766 := routine_#33820_luaL_checkinteger(local_#5474_L,local_#32044_i); goto CFG_43047; CFG_43047: assume true; local_#18767 := ~uwrap64(local_#18766); assert { :LIR "61404" } { :check "overflow" } { :finding_ids "0" } true; local_#32046_r := ~uxor64(local_#32046_r, local_#18767); goto CFG_45045; CFG_45045: assume true; local_#18768 := local_#32044_i; local_#18769 := 1; local_#32044_i := local_#18768 + local_#18769; assert { :LIR "66554" } { :check "overflow" } { :finding_ids "0" } local_#32044_i <= 2147483647; local_#18770 := local_#18768; goto CFG_50161; CFG_37509: assume true; } procedure routine_#34611_block(local_#5475_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5475_ls : { base : int, offset : int }; var local_#32048_fs : { base : int, offset : int }; var local_#32047_bl : { base : int, offset : int }; var local_#18771 : { base : int, offset : int }; var local_#18772 : int; local_#5475_ls := local_#5475_ls_IN; goto CFG_36599; CFG_36599: assume true; goto CFG_43048; CFG_43048: assume true; local_#32048_fs := _memory_ptr[{ base : local_#5475_ls!base, offset : local_#5475_ls!offset + 48 }]; local_#18771 := local_#32047_bl; local_#18772 := 0; goto CFG_46609; CFG_46609: assume true; call routine_#34710_enterblock(local_#32048_fs,local_#18771,local_#18772); goto CFG_46610; CFG_46610: assume true; call routine_#35082_statlist(local_#5475_ls); goto CFG_46611; CFG_46611: assume true; call routine_#34856_leaveblock(local_#32048_fs); goto CFG_39256; CFG_39256: assume true; goto CFG_37510; CFG_37510: assume true; } procedure routine_#34612_block_follow(local_#5476_ls_IN : { base : int, offset : int }, local_#5477_withuntil_IN : int) returns (local_#7966 : int) { var local_#5476_ls : { base : int, offset : int }; var local_#5477_withuntil : int; var local_#18773 : int; local_#5476_ls := local_#5476_ls_IN; local_#5477_withuntil := local_#5477_withuntil_IN; goto CFG_36600; CFG_36600: assume true; goto CFG_51532; CFG_51532: assume true; local_#18773 := _memory[{ base : local_#5476_ls!base, offset : local_#5476_ls!offset + 16 }]; if (local_#18773 == 260) { goto CFG_38396; } if (local_#18773 == 261) { goto CFG_38396; } if (local_#18773 == 262) { goto CFG_38396; } if (local_#18773 == 289) { goto CFG_38396; } if (local_#18773 == 277) { goto CFG_38395; } goto CFG_38394; CFG_38394: assume true; local_#7966 := 0; goto CFG_37511; CFG_38395: assume true; local_#7966 := local_#5477_withuntil; goto CFG_37511; CFG_38396: assume true; local_#7966 := 1; goto CFG_37511; CFG_37511: assume true; } procedure routine_#34613_body(local_#5478_ls_IN : { base : int, offset : int }, local_#5479_e_IN : { base : int, offset : int }, local_#5480_ismethod_IN : int, local_#5481_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5478_ls : { base : int, offset : int }; var local_#5479_e : { base : int, offset : int }; var local_#5480_ismethod : int; var local_#5481_line : int; var local_#18774 : { base : int, offset : int }; var local_#32050_new_fs : { base : int, offset : int }; var local_#18775 : { base : int, offset : int }; var local_#18776 : { base : int, offset : int }; var local_#32049_bl : { base : int, offset : int }; var local_#18777 : { base : int, offset : int }; var local_#18778 : int; var local_#18779 : int; var local_#18780 : { base : int, offset : int }; var local_#18781 : { base : int, offset : int }; var local_#18782 : int; var local_#18783 : int; var local_#18784 : int; var local_#18785 : { base : int, offset : int }; var local_#18786 : int; var local_#18787 : int; local_#5478_ls := local_#5478_ls_IN; local_#5479_e := local_#5479_e_IN; local_#5480_ismethod := local_#5480_ismethod_IN; local_#5481_line := local_#5481_line_IN; goto CFG_36601; CFG_36601: assume true; goto CFG_46612; CFG_46612: assume true; call local_#18774 := routine_#34575_addprototype(local_#5478_ls); goto CFG_43049; CFG_43049: assume true; _memory_ptr[{ base : local_#32050_new_fs!base, offset : local_#32050_new_fs!offset + 0 }] := local_#18774; local_#18775 := _memory_ptr[{ base : local_#32050_new_fs!base, offset : local_#32050_new_fs!offset + 0 }]; _memory[{ base : local_#18775!base, offset : local_#18775!offset + 40 }] := local_#5481_line; local_#18776 := local_#32050_new_fs; local_#18777 := local_#32049_bl; goto CFG_46613; CFG_46613: assume true; call routine_#34970_open_func(local_#5478_ls,local_#18776,local_#18777); goto CFG_43050; CFG_43050: assume true; local_#18778 := 40; goto CFG_46614; CFG_46614: assume true; call routine_#34637_checknext(local_#5478_ls,local_#18778); goto CFG_50162; CFG_50162: assume true; local_#18779 := local_#5480_ismethod; if (local_#18779 != 0) { goto CFG_43051; } else { goto CFG_46617; } CFG_43051: assume true; assume _memory[{ base : strlit_#70456!base, offset : strlit_#70456!offset + 0 }] == 115 && _memory[{ base : strlit_#70456!base, offset : strlit_#70456!offset + 1 }] == 101 && _memory[{ base : strlit_#70456!base, offset : strlit_#70456!offset + 2 }] == 108 && _memory[{ base : strlit_#70456!base, offset : strlit_#70456!offset + 3 }] == 102 && _memory[{ base : strlit_#70456!base, offset : strlit_#70456!offset + 4 }] == 0; local_#18780 := strlit_#70456; local_#18781 := { base : local_#18780!base, offset : local_#18780!offset + 0 * 1 }; assert { :LIR "62949" } { :check "overflow" } { :finding_ids "0" } true; local_#18782 := 4; goto CFG_46615; CFG_46615: assume true; call routine_#34957_new_localvarliteral_(local_#5478_ls,local_#18781,local_#18782); goto CFG_43052; CFG_43052: assume true; local_#18783 := 1; goto CFG_46616; CFG_46616: assume true; call routine_#34581_adjustlocalvars(local_#5478_ls,local_#18783); goto CFG_40641; CFG_40641: assume true; goto CFG_46617; CFG_46617: assume true; call routine_#34987_parlist(local_#5478_ls); goto CFG_43053; CFG_43053: assume true; local_#18784 := 41; goto CFG_46618; CFG_46618: assume true; call routine_#34637_checknext(local_#5478_ls,local_#18784); goto CFG_46619; CFG_46619: assume true; call routine_#35082_statlist(local_#5478_ls); goto CFG_43054; CFG_43054: assume true; local_#18785 := _memory_ptr[{ base : local_#32050_new_fs!base, offset : local_#32050_new_fs!offset + 0 }]; _memory[{ base : local_#18785!base, offset : local_#18785!offset + 44 }] := _memory[{ base : local_#5478_ls!base, offset : local_#5478_ls!offset + 4 }]; local_#18786 := 262; local_#18787 := 265; goto CFG_46620; CFG_46620: assume true; call routine_#34626_check_match(local_#5478_ls,local_#18786,local_#18787,local_#5481_line); goto CFG_46621; CFG_46621: assume true; call routine_#34653_codeclosure(local_#5478_ls,local_#5479_e); goto CFG_46622; CFG_46622: assume true; call routine_#34647_close_func(local_#5478_ls); goto CFG_39257; CFG_39257: assume true; goto CFG_37512; CFG_37512: assume true; } procedure routine_#34614_boolK(local_#5482_fs_IN : { base : int, offset : int }, local_#5483_b_IN : int) returns (local_#7967 : int) modifies _memory, _memory_ptr, _valid; { var local_#5482_fs : { base : int, offset : int }; var local_#5483_b : int; var local_#32051_o : { base : int, offset : int }; var local_#32052_io : { base : int, offset : int }; var local_#18788 : { base : int, offset : int }; var local_#18789 : { base : int, offset : int }; var local_#18790 : { base : int, offset : int }; var local_#18791 : int; local_#5482_fs := local_#5482_fs_IN; local_#5483_b := local_#5483_b_IN; goto CFG_36602; CFG_36602: assume true; goto CFG_43055; CFG_43055: assume true; local_#32052_io := local_#32051_o; local_#18788 := { base : local_#32052_io!base, offset : local_#32052_io!offset + 0 }; _memory[local_#18788] := local_#5483_b; _memory[{ base : local_#32052_io!base, offset : local_#32052_io!offset + 8 }] := 1; local_#18789 := local_#32051_o; local_#18790 := local_#32051_o; goto CFG_46623; CFG_46623: assume true; call local_#18791 := routine_#34572_addk(local_#5482_fs,local_#18789,local_#18790); goto CFG_38397; CFG_38397: assume true; local_#7967 := local_#18791; goto CFG_37513; CFG_37513: assume true; } procedure routine_#34615_boxgc(local_#5484_L_IN : { base : int, offset : int }) returns (local_#7968 : int) modifies _memory, _memory_ptr, _valid; { var local_#5484_L : { base : int, offset : int }; var local_#18792 : int; var local_#18793 : int; var local_#18794 : { base : int, offset : int }; local_#5484_L := local_#5484_L_IN; goto CFG_36603; CFG_36603: assume true; goto CFG_43056; CFG_43056: assume true; local_#18792 := 1; local_#18793 := 0; goto CFG_46624; CFG_46624: assume true; call local_#18794 := routine_#35035_resizebox(local_#5484_L,local_#18792,local_#18793); goto CFG_38398; CFG_38398: assume true; local_#7968 := 0; goto CFG_37514; CFG_37514: assume true; } procedure routine_#34616_breaklabel(local_#5485_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5485_ls : { base : int, offset : int }; var local_#18795 : { base : int, offset : int }; var local_#18796 : { base : int, offset : int }; var local_#18797 : { base : int, offset : int }; var local_#18798 : { base : int, offset : int }; var local_#32054_n : { base : int, offset : int }; var local_#18799 : { base : int, offset : int }; var local_#18800 : { base : int, offset : int }; var local_#18801 : int; var local_#18802 : { base : int, offset : int }; var local_#18803 : int; var local_#18804 : int; var local_#32053_l : int; var local_#18805 : { base : int, offset : int }; var local_#18806 : { base : int, offset : int }; local_#5485_ls := local_#5485_ls_IN; goto CFG_36604; CFG_36604: assume true; goto CFG_43057; CFG_43057: assume true; local_#18795 := _memory_ptr[{ base : local_#5485_ls!base, offset : local_#5485_ls!offset + 56 }]; assume _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 0 }] == 98 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 1 }] == 114 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 2 }] == 101 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 3 }] == 97 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 4 }] == 107 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 5 }] == 0; local_#18796 := strlit_#70457; local_#18797 := { base : local_#18796!base, offset : local_#18796!offset + 0 * 1 }; assert { :LIR "62950" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46625; CFG_46625: assume true; call local_#18798 := routine_#33876_luaS_new(local_#18795,local_#18797); goto CFG_43058; CFG_43058: assume true; local_#32054_n := local_#18798; local_#18799 := _memory_ptr[{ base : local_#5485_ls!base, offset : local_#5485_ls!offset + 88 }]; local_#18800 := { base : local_#18799!base, offset : local_#18799!offset + 32 }; local_#18801 := 0; local_#18802 := _memory_ptr[{ base : local_#5485_ls!base, offset : local_#5485_ls!offset + 48 }]; local_#18803 := _memory[{ base : local_#18802!base, offset : local_#18802!offset + 32 }]; goto CFG_46626; CFG_46626: assume true; call local_#18804 := routine_#34960_newlabelentry(local_#5485_ls,local_#18800,local_#32054_n,local_#18801,local_#18803); goto CFG_43059; CFG_43059: assume true; local_#32053_l := local_#18804; local_#18805 := _memory_ptr[{ base : local_#5485_ls!base, offset : local_#5485_ls!offset + 88 }]; local_#18806 := { base : _memory_ptr[{ base : local_#18805!base, offset : local_#18805!offset + 32 }]!base, offset : _memory_ptr[{ base : local_#18805!base, offset : local_#18805!offset + 32 }]!offset + local_#32053_l * 24 }; goto CFG_46627; CFG_46627: assume true; call routine_#34742_findgotos(local_#5485_ls,local_#18806); goto CFG_39258; CFG_39258: assume true; goto CFG_37515; CFG_37515: assume true; } procedure routine_#34617_byteoffset(local_#5486_L_IN : { base : int, offset : int }) returns (local_#7969 : int) modifies _memory, _memory_ptr, _valid; { var local_#5486_L : { base : int, offset : int }; var local_#18807 : int; var local_#32055_len : { base : int, offset : int }; var local_#18808 : { base : int, offset : int }; var local_#18809 : { base : int, offset : int }; var local_#32058_s : { base : int, offset : int }; var local_#18810 : int; var local_#18811 : int; var local_#32056_n : int; var local_#18812 : int; var local_#18813 : int; var local_#18814 : int; var local_#18815 : int; var local_#30732 : int; var local_#18816 : int; var local_#32057_posi : int; var local_#18817 : int; var local_#18818 : int; var local_#18819 : int; var local_#18820 : int; var local_#18821 : int; var local_#18822 : int; var local_#18823 : int; var local_#18824 : int; var local_#18825 : int; var local_#18826 : { base : int, offset : int }; var local_#18827 : { base : int, offset : int }; var local_#18828 : int; var local_#18829 : int; var local_#30733 : int; var local_#18830 : int; var local_#18831 : int; var local_#18832 : int; var local_#18833 : { base : int, offset : int }; var local_#18834 : int; var local_#18835 : int; var local_#18836 : int; var local_#18837 : int; var local_#18838 : int; var local_#18839 : int; var local_#18840 : int; var local_#18841 : int; var local_#18842 : int; var local_#18843 : int; var local_#18844 : int; var local_#18845 : int; var local_#18846 : int; var local_#18847 : int; var local_#18848 : int; var local_#18849 : int; var local_#18850 : int; var local_#18851 : { base : int, offset : int }; var local_#18852 : int; var local_#18853 : int; var local_#18854 : int; var local_#18855 : int; var local_#18856 : int; var local_#18857 : int; var local_#18858 : int; var local_#18859 : int; var local_#18860 : int; var local_#18861 : int; var local_#18862 : int; var local_#18863 : int; var local_#18864 : int; var local_#18865 : int; var local_#18866 : int; var local_#18867 : int; var local_#18868 : int; var local_#18869 : { base : int, offset : int }; var local_#18870 : int; var local_#18871 : int; var local_#18872 : int; var local_#18873 : int; var local_#18874 : int; var local_#18875 : int; var local_#18876 : int; var local_#18877 : int; var local_#18878 : { base : int, offset : int }; var local_#18879 : { base : int, offset : int }; var local_#18880 : int; var local_#18881 : int; var local_#18882 : int; var local_#18883 : { base : int, offset : int }; var local_#18884 : int; var local_#18885 : int; var local_#18886 : int; var local_#18887 : int; var local_#18888 : int; var local_#18889 : int; var local_#18890 : int; var local_#18891 : int; var local_#18892 : int; var local_#18893 : int; var local_#18894 : int; var local_#18895 : int; local_#5486_L := local_#5486_L_IN; goto CFG_36605; CFG_36605: assume true; goto CFG_43060; CFG_43060: assume true; local_#18807 := 1; local_#18808 := local_#32055_len; goto CFG_46628; CFG_46628: assume true; call local_#18809 := routine_#33821_luaL_checklstring(local_#5486_L,local_#18807,local_#18808); goto CFG_43061; CFG_43061: assume true; local_#32058_s := local_#18809; local_#18810 := 2; goto CFG_46629; CFG_46629: assume true; call local_#18811 := routine_#33820_luaL_checkinteger(local_#5486_L,local_#18810); goto CFG_50163; CFG_50163: assume true; local_#32056_n := local_#18811; local_#18812 := 0; local_#18813 := (if local_#32056_n >= local_#18812 then 1 else 0); if (local_#18813 != 0) { goto CFG_40643; } else { goto CFG_40642; } CFG_40642: assume true; local_#18814 := 1; assume { :symbol "~uwrap64" } true; local_#18815 := ~uwrap64(_memory[local_#32055_len] + local_#18814); assert { :LIR "66555" } { :check "overflow" } { :finding_ids "0" } true; local_#30732 := local_#18815; goto CFG_43062; CFG_40643: assume true; local_#30732 := 1; goto CFG_43062; CFG_43062: assume true; local_#18816 := local_#30732; assert { :LIR "62951" } { :check "overflow" } { :finding_ids "0" } local_#18816 <= 9223372036854775807; local_#32057_posi := local_#18816; local_#18817 := 3; goto CFG_46630; CFG_46630: assume true; call local_#18818 := routine_#33841_luaL_optinteger(local_#5486_L,local_#18817,local_#32057_posi); goto CFG_46631; CFG_46631: assume true; call local_#18819 := routine_#35130_u_posrelat(local_#18818,_memory[local_#32055_len]); goto CFG_50164; CFG_50164: assume true; local_#32057_posi := local_#18819; local_#18820 := 1; local_#18821 := (if local_#18820 <= local_#32057_posi then 1 else 0); if (local_#18821 != 0) { goto CFG_50165; } else { goto CFG_43063; } CFG_50165: assume true; local_#18822 := 1; local_#32057_posi := local_#32057_posi - local_#18822; assert { :LIR "67999" } { :check "overflow" } { :finding_ids "0" } local_#32057_posi <= 9223372036854775807; local_#18823 := _memory[local_#32055_len]; assert { :LIR "61405" } { :check "overflow" } { :finding_ids "0" } local_#18823 <= 9223372036854775807; local_#18824 := (if local_#32057_posi <= local_#18823 then 1 else 0); if (local_#18824 != 0) { goto CFG_40645; } else { goto CFG_43063; } CFG_43063: assume true; local_#18825 := 3; assume _memory[{ base : strlit_#70458!base, offset : strlit_#70458!offset + 21 }] == 0; local_#18826 := strlit_#70458; local_#18827 := { base : local_#18826!base, offset : local_#18826!offset + 0 * 1 }; assert { :LIR "62952" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46632; CFG_46632: assume true; call local_#18828 := routine_#33815_luaL_argerror(local_#5486_L,local_#18825,local_#18827); goto CFG_50166; CFG_50166: assume true; local_#18829 := local_#18828; if (local_#18829 != 0) { goto CFG_40645; } else { goto CFG_40644; } CFG_40644: assume true; local_#30733 := 0; goto CFG_50167; CFG_40645: assume true; local_#30733 := 1; goto CFG_50167; CFG_50167: assume true; local_#18830 := 0; assert { :LIR "61406" } { :check "overflow" } { :finding_ids "0" } true; local_#18831 := 0; local_#18832 := (if local_#32056_n == local_#18831 then 1 else 0); if (local_#18832 != 0) { goto CFG_41709; } else { goto CFG_50168; } CFG_50168: assume true; local_#18833 := { base : local_#32058_s!base, offset : local_#32058_s!offset + local_#32057_posi * 1 }; local_#18834 := _memory[local_#18833]; assert { :LIR "62953" } { :check "overflow" } { :finding_ids "0" } local_#18834 <= 2147483647; local_#18835 := 192; local_#18836 := ~sand32(local_#18834, local_#18835); local_#18837 := 128; local_#18838 := (if local_#18836 == local_#18837 then 1 else 0); if (local_#18838 != 0) { goto CFG_43066; } else { goto CFG_50169; } CFG_50169: assume true; local_#18839 := 0; local_#18840 := (if local_#32056_n < local_#18839 then 1 else 0); if (local_#18840 != 0) { goto CFG_41707; } else { goto CFG_41705; } CFG_41705: assume true; local_#18841 := local_#32056_n; local_#18842 := 1; local_#32056_n := local_#18841 - local_#18842; assert { :LIR "68000" } { :check "overflow" } { :finding_ids "0" } local_#32056_n <= 9223372036854775807; local_#18843 := local_#18841; goto CFG_50170; CFG_50170: assume true; local_#18844 := 0; local_#18845 := (if local_#32056_n > local_#18844 then 1 else 0); if (local_#18845 != 0) { goto CFG_50171; } else { goto CFG_40646; } CFG_50171: assume true; local_#18846 := _memory[local_#32055_len]; assert { :LIR "61407" } { :check "overflow" } { :finding_ids "0" } local_#18846 <= 9223372036854775807; local_#18847 := (if local_#32057_posi < local_#18846 then 1 else 0); if (local_#18847 != 0) { goto CFG_41706; } else { goto CFG_40646; } CFG_40646: assume true; goto CFG_40648; CFG_41706: assume true; goto CFG_43064; CFG_43064: assume true; local_#18848 := local_#32057_posi; local_#18849 := 1; local_#32057_posi := local_#18848 + local_#18849; assert { :LIR "66556" } { :check "overflow" } { :finding_ids "0" } local_#32057_posi <= 9223372036854775807; local_#18850 := local_#18848; goto CFG_50172; CFG_50172: assume true; local_#18851 := { base : local_#32058_s!base, offset : local_#32058_s!offset + local_#32057_posi * 1 }; local_#18852 := _memory[local_#18851]; assert { :LIR "62954" } { :check "overflow" } { :finding_ids "0" } local_#18852 <= 2147483647; local_#18853 := 192; local_#18854 := ~sand32(local_#18852, local_#18853); local_#18855 := 128; local_#18856 := (if local_#18854 == local_#18855 then 1 else 0); if (local_#18856 != 0) { goto CFG_45047; } else { goto CFG_45046; } CFG_45046: assume true; local_#18857 := local_#32056_n; local_#18858 := 1; local_#32056_n := local_#18857 - local_#18858; assert { :LIR "68001" } { :check "overflow" } { :finding_ids "0" } local_#32056_n <= 9223372036854775807; local_#18859 := local_#18857; goto CFG_50170; CFG_45047: assume true; goto CFG_43064; CFG_41707: assume true; goto CFG_50173; CFG_50173: assume true; local_#18860 := 0; local_#18861 := (if local_#32056_n < local_#18860 then 1 else 0); if (local_#18861 != 0) { goto CFG_50174; } else { goto CFG_40647; } CFG_50174: assume true; local_#18862 := 0; local_#18863 := (if local_#32057_posi > local_#18862 then 1 else 0); if (local_#18863 != 0) { goto CFG_41708; } else { goto CFG_40647; } CFG_40647: assume true; goto CFG_40648; CFG_40648: assume true; goto CFG_50179; CFG_41708: assume true; goto CFG_43065; CFG_43065: assume true; local_#18864 := local_#32057_posi; local_#18865 := 1; local_#32057_posi := local_#18864 - local_#18865; assert { :LIR "68002" } { :check "overflow" } { :finding_ids "0" } local_#32057_posi <= 9223372036854775807; local_#18866 := local_#18864; goto CFG_50175; CFG_50175: assume true; local_#18867 := 0; local_#18868 := (if local_#32057_posi > local_#18867 then 1 else 0); if (local_#18868 != 0) { goto CFG_50176; } else { goto CFG_45048; } CFG_50176: assume true; local_#18869 := { base : local_#32058_s!base, offset : local_#32058_s!offset + local_#32057_posi * 1 }; local_#18870 := _memory[local_#18869]; assert { :LIR "62955" } { :check "overflow" } { :finding_ids "0" } local_#18870 <= 2147483647; local_#18871 := 192; local_#18872 := ~sand32(local_#18870, local_#18871); local_#18873 := 128; local_#18874 := (if local_#18872 == local_#18873 then 1 else 0); if (local_#18874 != 0) { goto CFG_45049; } else { goto CFG_45048; } CFG_45048: assume true; local_#18875 := local_#32056_n; local_#18876 := 1; local_#32056_n := local_#18875 + local_#18876; assert { :LIR "66557" } { :check "overflow" } { :finding_ids "0" } local_#32056_n <= 9223372036854775807; local_#18877 := local_#18875; goto CFG_50173; CFG_45049: assume true; goto CFG_43065; CFG_43066: assume true; assume _memory[{ base : strlit_#70459!base, offset : strlit_#70459!offset + 39 }] == 0; local_#18878 := strlit_#70459; local_#18879 := { base : local_#18878!base, offset : local_#18878!offset + 0 * 1 }; assert { :LIR "62956" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46633; CFG_46633: assume true; call local_#18880 := routine_#33828_luaL_error(local_#5486_L,local_#18879,{ base : 0, offset : 0 }); goto CFG_38399; CFG_38399: assume true; local_#7969 := local_#18880; goto CFG_37516; CFG_41709: assume true; goto CFG_50177; CFG_50177: assume true; local_#18881 := 0; local_#18882 := (if local_#32057_posi > local_#18881 then 1 else 0); if (local_#18882 != 0) { goto CFG_50178; } else { goto CFG_40649; } CFG_50178: assume true; local_#18883 := { base : local_#32058_s!base, offset : local_#32058_s!offset + local_#32057_posi * 1 }; local_#18884 := _memory[local_#18883]; assert { :LIR "62957" } { :check "overflow" } { :finding_ids "0" } local_#18884 <= 2147483647; local_#18885 := 192; local_#18886 := ~sand32(local_#18884, local_#18885); local_#18887 := 128; local_#18888 := (if local_#18886 == local_#18887 then 1 else 0); if (local_#18888 != 0) { goto CFG_45050; } else { goto CFG_40649; } CFG_40649: assume true; goto CFG_50179; CFG_50179: assume true; local_#18889 := 0; local_#18890 := (if local_#32056_n == local_#18889 then 1 else 0); if (local_#18890 != 0) { goto CFG_43067; } else { goto CFG_46634; } CFG_46634: assume true; call routine_#33963_lua_pushnil(local_#5486_L); goto CFG_40650; CFG_40650: assume true; goto CFG_38400; CFG_43067: assume true; local_#18891 := 1; local_#18892 := local_#32057_posi + local_#18891; assert { :LIR "66558" } { :check "overflow" } { :finding_ids "0" } local_#18892 <= 9223372036854775807; goto CFG_46635; CFG_46635: assume true; call routine_#33960_lua_pushinteger(local_#5486_L,local_#18892); goto CFG_40651; CFG_40651: assume true; goto CFG_38400; CFG_38400: assume true; local_#7969 := 1; goto CFG_37516; CFG_45050: assume true; local_#18893 := local_#32057_posi; local_#18894 := 1; local_#32057_posi := local_#18893 - local_#18894; assert { :LIR "68003" } { :check "overflow" } { :finding_ids "0" } local_#32057_posi <= 9223372036854775807; local_#18895 := local_#18893; goto CFG_50177; CFG_37516: assume true; } procedure routine_#34618_callallpendingfinalizers(local_#5487_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5487_L : { base : int, offset : int }; var local_#32059_g : { base : int, offset : int }; var local_#18896 : { base : int, offset : int }; var local_#18897 : int; local_#5487_L := local_#5487_L_IN; goto CFG_36606; CFG_36606: assume true; goto CFG_41710; CFG_41710: assume true; local_#32059_g := _memory_ptr[{ base : local_#5487_L!base, offset : local_#5487_L!offset + 24 }]; goto CFG_50180; CFG_50180: assume true; local_#18896 := _memory_ptr[{ base : local_#32059_g!base, offset : local_#32059_g!offset + 152 }]; if (local_#18896 != { base : 0, offset : 0 }) { goto CFG_43068; } else { goto CFG_39259; } CFG_39259: assume true; goto CFG_37517; CFG_43068: assume true; local_#18897 := 0; goto CFG_46636; CFG_46636: assume true; call routine_#34552_GCTM(local_#5487_L,local_#18897); goto CFG_45051; CFG_45051: assume true; goto CFG_50180; CFG_37517: assume true; } procedure routine_#34619_callhook(local_#5488_L_IN : { base : int, offset : int }, local_#5489_ci_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5488_L : { base : int, offset : int }; var local_#5489_ci : { base : int, offset : int }; var local_#32060_hook : int; var local_#18898 : { base : int, offset : int }; var local_#18899 : { base : int, offset : int }; var local_#18900 : int; var local_#18901 : { base : int, offset : int }; var local_#18902 : { base : int, offset : int }; var local_#18903 : int; var local_#18904 : int; var local_#18905 : int; var local_#18906 : { base : int, offset : int }; var local_#18907 : { base : int, offset : int }; var local_#18908 : int; var local_#18909 : { base : int, offset : int }; var local_#18910 : int; var local_#18911 : int; var local_#18912 : int; var local_#18913 : int; var local_#18914 : int; var local_#18915 : int; var local_#18916 : int; var local_#18917 : int; var local_#18918 : int; var local_#18919 : int; var local_#18920 : int; var local_#18921 : int; var local_#18922 : { base : int, offset : int }; var local_#18923 : { base : int, offset : int }; var local_#18924 : int; var local_#18925 : { base : int, offset : int }; local_#5488_L := local_#5488_L_IN; local_#5489_ci := local_#5489_ci_IN; goto CFG_36607; CFG_36607: assume true; goto CFG_50181; CFG_50181: assume true; local_#32060_hook := 0; local_#18898 := { base : local_#5489_ci!base, offset : local_#5489_ci!offset + 32 }; local_#18899 := _memory_ptr[{ base : local_#18898!base, offset : local_#18898!offset + 8 }]; local_#18900 := 1; _memory_ptr[{ base : local_#18898!base, offset : local_#18898!offset + 8 }] := { base : local_#18899!base, offset : local_#18899!offset + local_#18900 * 4 }; local_#18901 := local_#18899; local_#18902 := _memory_ptr[{ base : local_#5489_ci!base, offset : local_#5489_ci!offset + 16 }]; local_#18903 := _memory[{ base : local_#18902!base, offset : local_#18902!offset + 66 }]; assert { :LIR "62958" } { :check "overflow" } { :finding_ids "0" } local_#18903 <= 2147483647; local_#18904 := 2; local_#18905 := ~sand32(local_#18903, local_#18904); if (local_#18905 != 0) { goto CFG_50182; } else { goto CFG_43069; } CFG_50182: assume true; local_#18906 := _memory_ptr[{ base : local_#5489_ci!base, offset : local_#5489_ci!offset + 16 }]; local_#18907 := { base : local_#18906!base, offset : local_#18906!offset + 32 }; local_#18908 := 1; local_#18909 := { base : _memory_ptr[{ base : local_#18907!base, offset : local_#18907!offset + 8 }]!base, offset : _memory_ptr[{ base : local_#18907!base, offset : local_#18907!offset + 8 }]!offset - local_#18908 * 4 }; local_#18910 := 0; local_#18911 := ~lshr32(_memory[local_#18909], local_#18910); local_#18912 := 63; local_#18913 := ~uand32(local_#18911, local_#18912); local_#18914 := local_#18913; assert { :LIR "61408" } { :check "overflow" } { :finding_ids "0" } local_#18914 <= 46; local_#18915 := ~uwrap32(local_#18914); assert { :LIR "62959" } { :check "overflow" } { :finding_ids "0" } true; local_#18916 := 37; local_#18917 := (if local_#18915 == local_#18916 then 1 else 0); if (local_#18917 != 0) { goto CFG_40652; } else { goto CFG_43069; } CFG_40652: assume true; local_#18918 := 32; local_#18919 := _memory[{ base : local_#5489_ci!base, offset : local_#5489_ci!offset + 66 }]; assert { :LIR "62960" } { :check "overflow" } { :finding_ids "0" } local_#18919 <= 2147483647; local_#18920 := ~sor32(local_#18919, local_#18918); _memory[{ base : local_#5489_ci!base, offset : local_#5489_ci!offset + 66 }] := ~uwrap16(local_#18920); assert { :LIR "62961" } { :check "overflow" } { :finding_ids "0" } true; local_#32060_hook := 4; goto CFG_43069; CFG_43069: assume true; local_#18921 := -1; goto CFG_46637; CFG_46637: assume true; call routine_#33734_luaD_hook(local_#5488_L,local_#32060_hook,local_#18921); goto CFG_39260; CFG_39260: assume true; local_#18922 := { base : local_#5489_ci!base, offset : local_#5489_ci!offset + 32 }; local_#18923 := _memory_ptr[{ base : local_#18922!base, offset : local_#18922!offset + 8 }]; local_#18924 := 1; _memory_ptr[{ base : local_#18922!base, offset : local_#18922!offset + 8 }] := { base : local_#18923!base, offset : local_#18923!offset - local_#18924 * 4 }; local_#18925 := local_#18923; goto CFG_37518; CFG_37518: assume true; } procedure routine_#34620_capture_to_close(local_#5490_ms_IN : { base : int, offset : int }) returns (local_#7970 : int) modifies _memory, _memory_ptr, _valid; { var local_#5490_ms : { base : int, offset : int }; var local_#18926 : int; var local_#32061_level : int; var local_#18927 : int; var local_#18928 : int; var local_#18929 : int; var local_#18930 : int; var local_#18931 : int; var local_#18932 : { base : int, offset : int }; var local_#18933 : { base : int, offset : int }; var local_#18934 : { base : int, offset : int }; var local_#18935 : int; var local_#18936 : { base : int, offset : int }; var local_#18937 : { base : int, offset : int }; var local_#18938 : int; var local_#18939 : int; var local_#18940 : int; var local_#18941 : int; var local_#18942 : int; local_#5490_ms := local_#5490_ms_IN; goto CFG_36608; CFG_36608: assume true; goto CFG_41711; CFG_41711: assume true; local_#18926 := _memory[{ base : local_#5490_ms!base, offset : local_#5490_ms!offset + 36 }]; assert { :LIR "62962" } { :check "overflow" } { :finding_ids "0" } local_#18926 <= 2147483647; local_#32061_level := local_#18926; local_#18927 := local_#32061_level; local_#18928 := 1; local_#32061_level := local_#18927 - local_#18928; assert { :LIR "68004" } { :check "overflow" } { :finding_ids "0" } local_#32061_level <= 2147483647; local_#18929 := local_#18927; goto CFG_50183; CFG_50183: assume true; local_#18930 := 0; local_#18931 := (if local_#32061_level >= local_#18930 then 1 else 0); if (local_#18931 != 0) { goto CFG_50184; } else { goto CFG_43070; } CFG_43070: assume true; local_#18932 := _memory_ptr[{ base : local_#5490_ms!base, offset : local_#5490_ms!offset + 24 }]; assume _memory[{ base : strlit_#70460!base, offset : strlit_#70460!offset + 23 }] == 0; local_#18933 := strlit_#70460; local_#18934 := { base : local_#18933!base, offset : local_#18933!offset + 0 * 1 }; assert { :LIR "62963" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46638; CFG_46638: assume true; call local_#18935 := routine_#33828_luaL_error(local_#18932,local_#18934,{ base : 0, offset : 0 }); goto CFG_38401; CFG_38401: assume true; local_#7970 := local_#18935; goto CFG_37519; CFG_50184: assume true; local_#18936 := { base : local_#5490_ms!base, offset : local_#5490_ms!offset + 40 }; local_#18937 := { base : local_#18936!base, offset : local_#18936!offset + 0 * 16 + local_#32061_level * 16 }; local_#18938 := -1; local_#18939 := (if _memory[{ base : local_#18937!base, offset : local_#18937!offset + 8 }] == local_#18938 then 1 else 0); if (local_#18939 != 0) { goto CFG_38402; } else { goto CFG_45052; } CFG_45052: assume true; local_#18940 := local_#32061_level; local_#18941 := 1; local_#32061_level := local_#18940 - local_#18941; assert { :LIR "68005" } { :check "overflow" } { :finding_ids "0" } local_#32061_level <= 2147483647; local_#18942 := local_#18940; goto CFG_50183; CFG_38402: assume true; local_#7970 := local_#32061_level; goto CFG_37519; CFG_37519: assume true; } procedure routine_#34621_check(local_#5491_ls_IN : { base : int, offset : int }, local_#5492_c_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5491_ls : { base : int, offset : int }; var local_#5492_c : int; var local_#18943 : int; local_#5491_ls := local_#5491_ls_IN; local_#5492_c := local_#5492_c_IN; goto CFG_36609; CFG_36609: assume true; goto CFG_50185; CFG_50185: assume true; local_#18943 := (if _memory[{ base : local_#5491_ls!base, offset : local_#5491_ls!offset + 16 }] != local_#5492_c then 1 else 0); if (local_#18943 != 0) { goto CFG_46639; } else { goto CFG_39261; } CFG_39261: assume true; goto CFG_37520; CFG_46639: assume true; call routine_#34715_error_expected(local_#5491_ls,local_#5492_c); CFG_37520: assume true; } procedure routine_#34622_checkHeader(local_#5493_S_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5493_S : { base : int, offset : int }; var local_#18944 : { base : int, offset : int }; var local_#18945 : int; var local_#18946 : { base : int, offset : int }; var local_#18947 : { base : int, offset : int }; var local_#18948 : { base : int, offset : int }; var local_#18949 : { base : int, offset : int }; var local_#18950 : int; var local_#18951 : int; var local_#18952 : { base : int, offset : int }; var local_#18953 : int; var local_#18954 : int; var local_#18955 : int; var local_#18956 : int; var local_#18957 : int; var local_#18958 : { base : int, offset : int }; var local_#18959 : int; var local_#18960 : int; var local_#18961 : int; var local_#18962 : int; var local_#18963 : int; var local_#18964 : int; var local_#18965 : int; var local_#18966 : int; var local_#18967 : int; var local_#18968 : { base : int, offset : int }; var local_#18969 : { base : int, offset : int }; var local_#18970 : { base : int, offset : int }; var local_#18971 : { base : int, offset : int }; var local_#18972 : int; var local_#18973 : { base : int, offset : int }; var local_#18974 : { base : int, offset : int }; var local_#18975 : int; var local_#18976 : { base : int, offset : int }; var local_#18977 : { base : int, offset : int }; var local_#18978 : int; var local_#18979 : { base : int, offset : int }; var local_#18980 : { base : int, offset : int }; var local_#18981 : int; var local_#18982 : { base : int, offset : int }; var local_#18983 : { base : int, offset : int }; var local_#18984 : int; var local_#18985 : { base : int, offset : int }; var local_#18986 : { base : int, offset : int }; var local_#18987 : int; var local_#18988 : int; var local_#18989 : int; var local_#18990 : int; var nondet_#0 : int; var local_#18991 : int; var nondet_#1 : bool; var local_#18992 : int; var local_#18993 : { base : int, offset : int }; var local_#18994 : { base : int, offset : int }; var local_#18995 : { base : int, offset : int }; var local_#18996 : { base : int, offset : int }; var local_#18997 : { base : int, offset : int }; var local_#18998 : { base : int, offset : int }; var local_#18999 : { base : int, offset : int }; var local_#19000 : { base : int, offset : int }; local_#5493_S := local_#5493_S_IN; goto CFG_36610; CFG_36610: assume true; goto CFG_43071; CFG_43071: assume true; assume _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 0 }] == 27 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 1 }] == 76 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 2 }] == 117 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 3 }] == 97 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 4 }] == 0; local_#18944 := strlit_#70326; local_#18945 := 1; local_#18946 := { base : local_#18944!base, offset : local_#18944!offset + 0 * 1 + local_#18945 * 1 }; local_#18947 := local_#18946; assert { :LIR "62964" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70462!base, offset : strlit_#70462!offset + 0 }] == 110 && _memory[{ base : strlit_#70462!base, offset : strlit_#70462!offset + 1 }] == 111 && _memory[{ base : strlit_#70462!base, offset : strlit_#70462!offset + 2 }] == 116 && _memory[{ base : strlit_#70462!base, offset : strlit_#70462!offset + 3 }] == 32 && _memory[{ base : strlit_#70462!base, offset : strlit_#70462!offset + 4 }] == 97 && _memory[{ base : strlit_#70462!base, offset : strlit_#70462!offset + 5 }] == 0; local_#18948 := strlit_#70462; local_#18949 := { base : local_#18948!base, offset : local_#18948!offset + 0 * 1 }; assert { :LIR "62965" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46640; CFG_46640: assume true; call routine_#34633_checkliteral(local_#5493_S,local_#18947,local_#18949); goto CFG_46641; CFG_46641: assume true; call local_#18950 := routine_#34558_LoadByte(local_#5493_S); goto CFG_50186; CFG_50186: assume true; local_#18951 := local_#18950; assert { :LIR "62966" } { :check "overflow" } { :finding_ids "0" } local_#18951 <= 2147483647; assume _memory[{ base : strlit_#70425!base, offset : strlit_#70425!offset + 0 }] == 53 && _memory[{ base : strlit_#70425!base, offset : strlit_#70425!offset + 1 }] == 0; local_#18952 := strlit_#70425; local_#18953 := _memory[{ base : local_#18952!base, offset : local_#18952!offset + 0 * 1 }]; assert { :LIR "62967" } { :check "overflow" } { :finding_ids "0" } local_#18953 <= 2147483647; local_#18954 := 48; local_#18955 := local_#18953 - local_#18954; assert { :LIR "68006" } { :check "overflow" } { :finding_ids "0" } local_#18955 <= 2147483647; local_#18956 := 16; local_#18957 := local_#18955 * local_#18956; assert { :LIR "68550" } { :check "overflow" } { :finding_ids "0" } local_#18957 <= 2147483647; assume _memory[{ base : strlit_#70426!base, offset : strlit_#70426!offset + 0 }] == 51 && _memory[{ base : strlit_#70426!base, offset : strlit_#70426!offset + 1 }] == 0; local_#18958 := strlit_#70426; local_#18959 := _memory[{ base : local_#18958!base, offset : local_#18958!offset + 0 * 1 }]; assert { :LIR "62968" } { :check "overflow" } { :finding_ids "0" } local_#18959 <= 2147483647; local_#18960 := 48; local_#18961 := local_#18959 - local_#18960; assert { :LIR "68007" } { :check "overflow" } { :finding_ids "0" } local_#18961 <= 2147483647; local_#18962 := local_#18957 + local_#18961; assert { :LIR "66559" } { :check "overflow" } { :finding_ids "0" } local_#18962 <= 2147483647; local_#18963 := (if local_#18951 != local_#18962 then 1 else 0); if (local_#18963 != 0) { goto CFG_43081; } else { goto CFG_46642; } CFG_46642: assume true; call local_#18964 := routine_#34558_LoadByte(local_#5493_S); goto CFG_50187; CFG_50187: assume true; local_#18965 := local_#18964; assert { :LIR "62969" } { :check "overflow" } { :finding_ids "0" } local_#18965 <= 2147483647; local_#18966 := 0; local_#18967 := (if local_#18965 != local_#18966 then 1 else 0); if (local_#18967 != 0) { goto CFG_43080; } else { goto CFG_43072; } CFG_43072: assume true; assume _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 0 }] == 25 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 1 }] == 147 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 2 }] == 13 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 3 }] == 10 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 4 }] == 26 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 5 }] == 10 && _memory[{ base : strlit_#70427!base, offset : strlit_#70427!offset + 6 }] == 0; local_#18968 := strlit_#70427; local_#18969 := { base : local_#18968!base, offset : local_#18968!offset + 0 * 1 }; assert { :LIR "62970" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 0 }] == 99 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 1 }] == 111 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 2 }] == 114 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 3 }] == 114 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 4 }] == 117 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 5 }] == 112 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 6 }] == 116 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 7 }] == 101 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 8 }] == 100 && _memory[{ base : strlit_#70466!base, offset : strlit_#70466!offset + 9 }] == 0; local_#18970 := strlit_#70466; local_#18971 := { base : local_#18970!base, offset : local_#18970!offset + 0 * 1 }; assert { :LIR "62971" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46643; CFG_46643: assume true; call routine_#34633_checkliteral(local_#5493_S,local_#18969,local_#18971); goto CFG_43073; CFG_43073: assume true; local_#18972 := 4; assume _memory[{ base : strlit_#70467!base, offset : strlit_#70467!offset + 0 }] == 105 && _memory[{ base : strlit_#70467!base, offset : strlit_#70467!offset + 1 }] == 110 && _memory[{ base : strlit_#70467!base, offset : strlit_#70467!offset + 2 }] == 116 && _memory[{ base : strlit_#70467!base, offset : strlit_#70467!offset + 3 }] == 0; local_#18973 := strlit_#70467; local_#18974 := { base : local_#18973!base, offset : local_#18973!offset + 0 * 1 }; assert { :LIR "62972" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46644; CFG_46644: assume true; call routine_#34735_fchecksize(local_#5493_S,local_#18972,local_#18974); goto CFG_43074; CFG_43074: assume true; local_#18975 := 8; assume _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 0 }] == 115 && _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 1 }] == 105 && _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 2 }] == 122 && _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 3 }] == 101 && _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 4 }] == 95 && _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 5 }] == 116 && _memory[{ base : strlit_#70468!base, offset : strlit_#70468!offset + 6 }] == 0; local_#18976 := strlit_#70468; local_#18977 := { base : local_#18976!base, offset : local_#18976!offset + 0 * 1 }; assert { :LIR "62973" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46645; CFG_46645: assume true; call routine_#34735_fchecksize(local_#5493_S,local_#18975,local_#18977); goto CFG_43075; CFG_43075: assume true; local_#18978 := 4; assume _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 0 }] == 73 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 1 }] == 110 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 2 }] == 115 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 3 }] == 116 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 4 }] == 114 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 5 }] == 117 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 6 }] == 99 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 7 }] == 116 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 8 }] == 105 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 9 }] == 111 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 10 }] == 110 && _memory[{ base : strlit_#70469!base, offset : strlit_#70469!offset + 11 }] == 0; local_#18979 := strlit_#70469; local_#18980 := { base : local_#18979!base, offset : local_#18979!offset + 0 * 1 }; assert { :LIR "62974" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46646; CFG_46646: assume true; call routine_#34735_fchecksize(local_#5493_S,local_#18978,local_#18980); goto CFG_43076; CFG_43076: assume true; local_#18981 := 8; assume _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 0 }] == 108 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 1 }] == 117 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 2 }] == 97 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 3 }] == 95 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 4 }] == 73 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 5 }] == 110 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 6 }] == 116 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 7 }] == 101 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 8 }] == 103 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 9 }] == 101 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 10 }] == 114 && _memory[{ base : strlit_#70470!base, offset : strlit_#70470!offset + 11 }] == 0; local_#18982 := strlit_#70470; local_#18983 := { base : local_#18982!base, offset : local_#18982!offset + 0 * 1 }; assert { :LIR "62975" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46647; CFG_46647: assume true; call routine_#34735_fchecksize(local_#5493_S,local_#18981,local_#18983); goto CFG_43077; CFG_43077: assume true; local_#18984 := 8; assume _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 0 }] == 108 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 1 }] == 117 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 2 }] == 97 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 3 }] == 95 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 4 }] == 78 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 5 }] == 117 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 6 }] == 109 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 7 }] == 98 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 8 }] == 101 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 9 }] == 114 && _memory[{ base : strlit_#70471!base, offset : strlit_#70471!offset + 10 }] == 0; local_#18985 := strlit_#70471; local_#18986 := { base : local_#18985!base, offset : local_#18985!offset + 0 * 1 }; assert { :LIR "62976" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46648; CFG_46648: assume true; call routine_#34735_fchecksize(local_#5493_S,local_#18984,local_#18986); goto CFG_46649; CFG_46649: assume true; call local_#18987 := routine_#34564_LoadInteger(local_#5493_S); goto CFG_50188; CFG_50188: assume true; local_#18988 := 22136; local_#18989 := (if local_#18987 != local_#18988 then 1 else 0); if (local_#18989 != 0) { goto CFG_43079; } else { goto CFG_46650; } CFG_46650: assume true; call local_#18990 := routine_#34565_LoadNumber(local_#5493_S); goto CFG_50189; CFG_50189: assume true; havoc nondet_#0; local_#18991 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78617 */; havoc nondet_#1; local_#18992 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation != in 65543. */ then 1 else 0); if (local_#18992 != 0) { goto CFG_43078; } else { goto CFG_39262; } CFG_39262: assume true; goto CFG_37521; CFG_43078: assume true; assume _memory[{ base : strlit_#70472!base, offset : strlit_#70472!offset + 24 }] == 0; local_#18993 := strlit_#70472; local_#18994 := { base : local_#18993!base, offset : local_#18993!offset + 0 * 1 }; assert { :LIR "62977" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46651; CFG_46651: assume true; call routine_#34714_error(local_#5493_S,local_#18994); CFG_43079: assume true; assume _memory[{ base : strlit_#70473!base, offset : strlit_#70473!offset + 22 }] == 0; local_#18995 := strlit_#70473; local_#18996 := { base : local_#18995!base, offset : local_#18995!offset + 0 * 1 }; assert { :LIR "62978" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46652; CFG_46652: assume true; call routine_#34714_error(local_#5493_S,local_#18996); CFG_43080: assume true; assume _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 0 }] == 102 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 1 }] == 111 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 2 }] == 114 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 3 }] == 109 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 4 }] == 97 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 5 }] == 116 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 6 }] == 32 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 7 }] == 109 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 8 }] == 105 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 9 }] == 115 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 10 }] == 109 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 11 }] == 97 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 12 }] == 116 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 13 }] == 99 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 14 }] == 104 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 15 }] == 32 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 16 }] == 105 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 17 }] == 110 && _memory[{ base : strlit_#70474!base, offset : strlit_#70474!offset + 18 }] == 0; local_#18997 := strlit_#70474; local_#18998 := { base : local_#18997!base, offset : local_#18997!offset + 0 * 1 }; assert { :LIR "62979" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46653; CFG_46653: assume true; call routine_#34714_error(local_#5493_S,local_#18998); CFG_43081: assume true; assume _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 0 }] == 118 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 1 }] == 101 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 2 }] == 114 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 3 }] == 115 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 4 }] == 105 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 5 }] == 111 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 6 }] == 110 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 7 }] == 32 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 8 }] == 109 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 9 }] == 105 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 10 }] == 115 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 11 }] == 109 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 12 }] == 97 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 13 }] == 116 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 14 }] == 99 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 15 }] == 104 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 16 }] == 32 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 17 }] == 105 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 18 }] == 110 && _memory[{ base : strlit_#70475!base, offset : strlit_#70475!offset + 19 }] == 0; local_#18999 := strlit_#70475; local_#19000 := { base : local_#18999!base, offset : local_#18999!offset + 0 * 1 }; assert { :LIR "62980" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46654; CFG_46654: assume true; call routine_#34714_error(local_#5493_S,local_#19000); CFG_37521: assume true; } procedure routine_#34623_checkSizes(local_#5494_L_IN : { base : int, offset : int }, local_#5495_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5494_L : { base : int, offset : int }; var local_#5495_g : { base : int, offset : int }; var local_#19001 : int; var local_#19002 : int; var local_#19003 : int; var local_#32062_olddebt : int; var local_#19004 : int; var local_#19005 : int; var local_#19006 : int; var local_#19007 : int; var local_#19008 : int; var local_#19009 : int; var local_#19010 : int; local_#5494_L := local_#5494_L_IN; local_#5495_g := local_#5495_g_IN; goto CFG_36611; CFG_36611: assume true; goto CFG_50190; CFG_50190: assume true; local_#19001 := _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 86 }]; assert { :LIR "62981" } { :check "overflow" } { :finding_ids "0" } local_#19001 <= 2147483647; local_#19002 := 1; local_#19003 := (if local_#19001 != local_#19002 then 1 else 0); if (local_#19003 != 0) { goto CFG_50191; } else { goto CFG_39263; } CFG_50191: assume true; local_#32062_olddebt := _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 24 }]; local_#19004 := 4; local_#19005 := _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 60 }] / local_#19004; assert { :LIR "68640" } { :check "overflow" } { :finding_ids "0" } local_#19005 <= 2147483647; local_#19006 := (if _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 56 }] < local_#19005 then 1 else 0); if (local_#19006 != 0) { goto CFG_43082; } else { goto CFG_40654; } CFG_43082: assume true; local_#19007 := 2; local_#19008 := _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 60 }] / local_#19007; assert { :LIR "68641" } { :check "overflow" } { :finding_ids "0" } local_#19008 <= 2147483647; goto CFG_46655; CFG_46655: assume true; call routine_#33880_luaS_resize(local_#5494_L,local_#19008); goto CFG_40653; CFG_40653: assume true; goto CFG_40654; CFG_40654: assume true; local_#19009 := _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 24 }] - local_#32062_olddebt; assert { :LIR "68008" } { :check "overflow" } { :finding_ids "0" } local_#19009 <= 9223372036854775807; local_#19010 := ~uwrap64(local_#19009); assert { :LIR "62982" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 40 }] := ~uwrap64(_memory[{ base : local_#5495_g!base, offset : local_#5495_g!offset + 40 }] + local_#19010); assert { :LIR "66560" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39263; CFG_39263: assume true; goto CFG_37522; CFG_37522: assume true; } procedure routine_#34624_check_capture(local_#5496_ms_IN : { base : int, offset : int }, local_#5497_l_IN : int) returns (local_#7971 : int) modifies _memory, _memory_ptr, _valid; { var local_#5496_ms : { base : int, offset : int }; var local_#5497_l : int; var local_#19011 : int; var local_#19012 : int; var local_#19013 : int; var local_#19014 : int; var local_#19015 : int; var local_#19016 : { base : int, offset : int }; var local_#19017 : { base : int, offset : int }; var local_#19018 : int; var local_#19019 : int; var local_#19020 : { base : int, offset : int }; var local_#19021 : { base : int, offset : int }; var local_#19022 : { base : int, offset : int }; var local_#19023 : int; var local_#19024 : int; var local_#19025 : int; local_#5496_ms := local_#5496_ms_IN; local_#5497_l := local_#5497_l_IN; goto CFG_36612; CFG_36612: assume true; goto CFG_50192; CFG_50192: assume true; local_#19011 := 49; local_#5497_l := local_#5497_l - local_#19011; assert { :LIR "68009" } { :check "overflow" } { :finding_ids "0" } local_#5497_l <= 2147483647; local_#19012 := 0; local_#19013 := (if local_#5497_l < local_#19012 then 1 else 0); if (local_#19013 != 0) { goto CFG_43083; } else { goto CFG_50193; } CFG_50193: assume true; local_#19014 := _memory[{ base : local_#5496_ms!base, offset : local_#5496_ms!offset + 36 }]; assert { :LIR "62983" } { :check "overflow" } { :finding_ids "0" } local_#19014 <= 2147483647; local_#19015 := (if local_#5497_l >= local_#19014 then 1 else 0); if (local_#19015 != 0) { goto CFG_43083; } else { goto CFG_50194; } CFG_50194: assume true; local_#19016 := { base : local_#5496_ms!base, offset : local_#5496_ms!offset + 40 }; local_#19017 := { base : local_#19016!base, offset : local_#19016!offset + 0 * 16 + local_#5497_l * 16 }; local_#19018 := -1; local_#19019 := (if _memory[{ base : local_#19017!base, offset : local_#19017!offset + 8 }] == local_#19018 then 1 else 0); if (local_#19019 != 0) { goto CFG_43083; } else { goto CFG_38403; } CFG_38403: assume true; local_#7971 := local_#5497_l; goto CFG_37523; CFG_43083: assume true; local_#19020 := _memory_ptr[{ base : local_#5496_ms!base, offset : local_#5496_ms!offset + 24 }]; assume _memory[{ base : strlit_#70476!base, offset : strlit_#70476!offset + 26 }] == 0; local_#19021 := strlit_#70476; local_#19022 := { base : local_#19021!base, offset : local_#19021!offset + 0 * 1 }; assert { :LIR "62984" } { :check "overflow" } { :finding_ids "0" } true; local_#19023 := 1; local_#19024 := local_#5497_l + local_#19023; assert { :LIR "66561" } { :check "overflow" } { :finding_ids "0" } local_#19024 <= 2147483647; goto CFG_46656; CFG_46656: assume true; call local_#19025 := routine_#33828_luaL_error(local_#19020,local_#19022,{ base : 0, offset : 0 }); goto CFG_38404; CFG_38404: assume true; local_#7971 := local_#19025; goto CFG_37523; CFG_37523: assume true; } procedure routine_#34625_check_conflict(local_#5498_ls_IN : { base : int, offset : int }, local_#5499_lh_IN : { base : int, offset : int }, local_#5500_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5498_ls : { base : int, offset : int }; var local_#5499_lh : { base : int, offset : int }; var local_#5500_v : { base : int, offset : int }; var local_#32065_fs : { base : int, offset : int }; var local_#19026 : int; var local_#32064_extra : int; var local_#32063_conflict : int; var local_#19027 : { base : int, offset : int }; var local_#19028 : int; var local_#19029 : int; var local_#19030 : int; var local_#19031 : int; var local_#30734 : int; var local_#19032 : int; var local_#32066_op : int; var local_#19033 : { base : int, offset : int }; var local_#19034 : int; var local_#19035 : int; var local_#19036 : int; var local_#19037 : int; var local_#19038 : int; var local_#19039 : int; var local_#19040 : int; var local_#19041 : { base : int, offset : int }; var local_#19042 : int; var local_#19043 : int; var local_#19044 : int; var local_#19045 : { base : int, offset : int }; var local_#19046 : int; var local_#19047 : { base : int, offset : int }; var local_#19048 : int; var local_#19049 : int; var local_#19050 : { base : int, offset : int }; var local_#19051 : int; var local_#19052 : { base : int, offset : int }; var local_#19053 : int; var local_#19054 : int; var local_#19055 : int; var local_#19056 : { base : int, offset : int }; var local_#19057 : int; var local_#19058 : { base : int, offset : int }; var local_#19059 : int; var local_#19060 : int; var local_#19061 : { base : int, offset : int }; var local_#19062 : { base : int, offset : int }; local_#5498_ls := local_#5498_ls_IN; local_#5499_lh := local_#5499_lh_IN; local_#5500_v := local_#5500_v_IN; goto CFG_36613; CFG_36613: assume true; goto CFG_41712; CFG_41712: assume true; local_#32065_fs := _memory_ptr[{ base : local_#5498_ls!base, offset : local_#5498_ls!offset + 48 }]; local_#19026 := _memory[{ base : local_#32065_fs!base, offset : local_#32065_fs!offset + 60 }]; assert { :LIR "62985" } { :check "overflow" } { :finding_ids "0" } local_#19026 <= 2147483647; local_#32064_extra := local_#19026; local_#32063_conflict := 0; goto CFG_50195; CFG_50195: assume true; local_#19027 := local_#5499_lh; if (local_#19027 != { base : 0, offset : 0 }) { goto CFG_50198; } else { goto CFG_50196; } CFG_50196: assume true; local_#19028 := local_#32063_conflict; if (local_#19028 != 0) { goto CFG_50197; } else { goto CFG_39264; } CFG_50197: assume true; local_#19029 := ~uwrap32(_memory[{ base : local_#5500_v!base, offset : local_#5500_v!offset + 0 }]); assert { :LIR "62986" } { :check "overflow" } { :finding_ids "0" } true; local_#19030 := 8; local_#19031 := (if local_#19029 == local_#19030 then 1 else 0); if (local_#19031 != 0) { goto CFG_40656; } else { goto CFG_40655; } CFG_40655: assume true; local_#30734 := 5; goto CFG_43084; CFG_40656: assume true; local_#30734 := 0; goto CFG_43084; CFG_43084: assume true; local_#19032 := local_#30734; assert { :LIR "62987" } { :check "overflow" } { :finding_ids "0" } local_#19032 <= 46; local_#32066_op := local_#19032; local_#19033 := { base : local_#5500_v!base, offset : local_#5500_v!offset + 8 }; local_#19034 := _memory[local_#19033]; local_#19035 := 0; goto CFG_46657; CFG_46657: assume true; call local_#19036 := routine_#33780_luaK_codeABC(local_#32065_fs,local_#32066_op,local_#32064_extra,local_#19034,local_#19035); goto CFG_43085; CFG_43085: assume true; local_#19037 := 1; goto CFG_46658; CFG_46658: assume true; call routine_#33804_luaK_reserveregs(local_#32065_fs,local_#19037); goto CFG_40657; CFG_40657: assume true; goto CFG_39264; CFG_39264: assume true; goto CFG_37524; CFG_50198: assume true; local_#19038 := ~uwrap32(_memory[{ base : local_#5499_lh!base, offset : local_#5499_lh!offset + 8 }]); assert { :LIR "62988" } { :check "overflow" } { :finding_ids "0" } true; local_#19039 := 10; local_#19040 := (if local_#19038 == local_#19039 then 1 else 0); if (local_#19040 != 0) { goto CFG_50199; } else { goto CFG_45053; } CFG_50199: assume true; local_#19041 := { base : local_#5499_lh!base, offset : local_#5499_lh!offset + 16 }; local_#19042 := ~uwrap32(_memory[{ base : local_#19041!base, offset : local_#19041!offset + 3 }]); assert { :LIR "62989" } { :check "overflow" } { :finding_ids "0" } true; local_#19043 := ~uwrap32(_memory[{ base : local_#5500_v!base, offset : local_#5500_v!offset + 0 }]); assert { :LIR "62990" } { :check "overflow" } { :finding_ids "0" } true; local_#19044 := (if local_#19042 == local_#19043 then 1 else 0); if (local_#19044 != 0) { goto CFG_50200; } else { goto CFG_50201; } CFG_50200: assume true; local_#19045 := { base : local_#5499_lh!base, offset : local_#5499_lh!offset + 16 }; local_#19046 := _memory[{ base : local_#19045!base, offset : local_#19045!offset + 2 }]; assert { :LIR "62991" } { :check "overflow" } { :finding_ids "0" } local_#19046 <= 2147483647; local_#19047 := { base : local_#5500_v!base, offset : local_#5500_v!offset + 8 }; local_#19048 := (if local_#19046 == _memory[local_#19047] then 1 else 0); if (local_#19048 != 0) { goto CFG_40658; } else { goto CFG_50201; } CFG_40658: assume true; local_#32063_conflict := 1; local_#19049 := 8; local_#19050 := { base : local_#5499_lh!base, offset : local_#5499_lh!offset + 16 }; _memory[{ base : local_#19050!base, offset : local_#19050!offset + 3 }] := local_#19049; local_#19051 := ~uwrap8(local_#32064_extra); assert { :LIR "62992" } { :check "overflow" } { :finding_ids "0" } true; local_#19052 := { base : local_#5499_lh!base, offset : local_#5499_lh!offset + 16 }; _memory[{ base : local_#19052!base, offset : local_#19052!offset + 2 }] := local_#19051; goto CFG_50201; CFG_50201: assume true; local_#19053 := ~uwrap32(_memory[{ base : local_#5500_v!base, offset : local_#5500_v!offset + 0 }]); assert { :LIR "62993" } { :check "overflow" } { :finding_ids "0" } true; local_#19054 := 8; local_#19055 := (if local_#19053 == local_#19054 then 1 else 0); if (local_#19055 != 0) { goto CFG_50202; } else { goto CFG_40660; } CFG_50202: assume true; local_#19056 := { base : local_#5499_lh!base, offset : local_#5499_lh!offset + 16 }; local_#19057 := _memory[{ base : local_#19056!base, offset : local_#19056!offset + 0 }]; assert { :LIR "62994" } { :check "overflow" } { :finding_ids "0" } local_#19057 <= 2147483647; local_#19058 := { base : local_#5500_v!base, offset : local_#5500_v!offset + 8 }; local_#19059 := (if local_#19057 == _memory[local_#19058] then 1 else 0); if (local_#19059 != 0) { goto CFG_40659; } else { goto CFG_40660; } CFG_40659: assume true; local_#32063_conflict := 1; local_#19060 := local_#32064_extra; assert { :LIR "62995" } { :check "overflow" } { :finding_ids "0" } local_#19060 <= 32767; local_#19061 := { base : local_#5499_lh!base, offset : local_#5499_lh!offset + 16 }; _memory[{ base : local_#19061!base, offset : local_#19061!offset + 0 }] := local_#19060; goto CFG_40660; CFG_40660: assume true; goto CFG_45053; CFG_45053: assume true; local_#5499_lh := _memory_ptr[{ base : local_#5499_lh!base, offset : local_#5499_lh!offset + 0 }]; local_#19062 := local_#5499_lh; goto CFG_50195; CFG_37524: assume true; } procedure routine_#34626_check_match(local_#5501_ls_IN : { base : int, offset : int }, local_#5502_what_IN : int, local_#5503_who_IN : int, local_#5504_where_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5501_ls : { base : int, offset : int }; var local_#5502_what : int; var local_#5503_who : int; var local_#5504_where : int; var local_#19063 : int; var local_#19064 : int; var local_#19065 : int; var local_#19066 : { base : int, offset : int }; var local_#19067 : { base : int, offset : int }; var local_#19068 : { base : int, offset : int }; var local_#19069 : { base : int, offset : int }; var local_#19070 : { base : int, offset : int }; var local_#19071 : { base : int, offset : int }; local_#5501_ls := local_#5501_ls_IN; local_#5502_what := local_#5502_what_IN; local_#5503_who := local_#5503_who_IN; local_#5504_where := local_#5504_where_IN; goto CFG_36614; CFG_36614: assume true; goto CFG_46659; CFG_46659: assume true; call local_#19063 := routine_#35112_testnext(local_#5501_ls,local_#5502_what); goto CFG_50203; CFG_50203: assume true; local_#19064 := (if local_#19063 != 0 then 0 else 1); if (local_#19064 != 0) { goto CFG_50204; } else { goto CFG_39265; } CFG_39265: assume true; goto CFG_37525; CFG_50204: assume true; local_#19065 := (if local_#5504_where == _memory[{ base : local_#5501_ls!base, offset : local_#5501_ls!offset + 4 }] then 1 else 0); if (local_#19065 != 0) { goto CFG_46664; } else { goto CFG_43086; } CFG_43086: assume true; local_#19066 := _memory_ptr[{ base : local_#5501_ls!base, offset : local_#5501_ls!offset + 56 }]; assume _memory[{ base : strlit_#70477!base, offset : strlit_#70477!offset + 36 }] == 0; local_#19067 := strlit_#70477; local_#19068 := { base : local_#19067!base, offset : local_#19067!offset + 0 * 1 }; assert { :LIR "62996" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46660; CFG_46660: assume true; call local_#19069 := routine_#33911_luaX_token2str(local_#5501_ls,local_#5502_what); goto CFG_46661; CFG_46661: assume true; call local_#19070 := routine_#33911_luaX_token2str(local_#5501_ls,local_#5503_who); goto CFG_46662; CFG_46662: assume true; call local_#19071 := routine_#33865_luaO_pushfstring(local_#19066,local_#19068,{ base : 0, offset : 0 }); goto CFG_46663; CFG_46663: assume true; call routine_#33910_luaX_syntaxerror(local_#5501_ls,local_#19071); CFG_46664: assume true; call routine_#34715_error_expected(local_#5501_ls,local_#5502_what); CFG_37525: assume true; } procedure routine_#34627_check_next1(local_#5505_ls_IN : { base : int, offset : int }, local_#5506_c_IN : int) returns (local_#7972 : int) modifies _memory, _memory_ptr; { var local_#5505_ls : { base : int, offset : int }; var local_#5506_c : int; var local_#19072 : int; var local_#19073 : { base : int, offset : int }; var local_#19074 : int; var local_#19075 : int; var local_#19076 : int; var local_#19077 : int; var local_#19078 : { base : int, offset : int }; var local_#19079 : int; var local_#30735 : int; var local_#19080 : { base : int, offset : int }; var local_#19081 : { base : int, offset : int }; var local_#19082 : int; var local_#19083 : int; var local_#19084 : int; local_#5505_ls := local_#5505_ls_IN; local_#5506_c := local_#5506_c_IN; goto CFG_36615; CFG_36615: assume true; goto CFG_50205; CFG_50205: assume true; local_#19072 := (if _memory[{ base : local_#5505_ls!base, offset : local_#5505_ls!offset + 0 }] == local_#5506_c then 1 else 0); if (local_#19072 != 0) { goto CFG_50206; } else { goto CFG_38405; } CFG_38405: assume true; local_#7972 := 0; goto CFG_37526; CFG_50206: assume true; local_#19073 := _memory_ptr[{ base : local_#5505_ls!base, offset : local_#5505_ls!offset + 64 }]; local_#19074 := _memory[{ base : local_#19073!base, offset : local_#19073!offset + 0 }]; local_#19075 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#19073!base, offset : local_#19073!offset + 0 }] := ~uwrap64(local_#19074 - local_#19075); assert { :LIR "68010" } { :check "overflow" } { :finding_ids "0" } true; local_#19076 := 0; local_#19077 := (if local_#19074 > local_#19076 then 1 else 0); if (local_#19077 != 0) { goto CFG_40662; } else { goto CFG_43087; } CFG_43087: assume true; local_#19078 := _memory_ptr[{ base : local_#5505_ls!base, offset : local_#5505_ls!offset + 64 }]; goto CFG_46665; CFG_46665: assume true; call local_#19079 := routine_#33913_luaZ_fill(local_#19078); goto CFG_40661; CFG_40661: assume true; local_#30735 := local_#19079; goto CFG_38406; CFG_40662: assume true; local_#19080 := _memory_ptr[{ base : local_#5505_ls!base, offset : local_#5505_ls!offset + 64 }]; local_#19081 := _memory_ptr[{ base : local_#19080!base, offset : local_#19080!offset + 8 }]; local_#19082 := 1; _memory_ptr[{ base : local_#19080!base, offset : local_#19080!offset + 8 }] := { base : local_#19081!base, offset : local_#19081!offset + local_#19082 * 1 }; local_#19083 := ~uwrap8(_memory[local_#19081]); assert { :LIR "61409" } { :check "overflow" } { :finding_ids "0" } true; local_#19084 := local_#19083; assert { :LIR "62997" } { :check "overflow" } { :finding_ids "0" } local_#19084 <= 2147483647; local_#30735 := local_#19084; goto CFG_38406; CFG_38406: assume true; _memory[{ base : local_#5505_ls!base, offset : local_#5505_ls!offset + 0 }] := local_#30735; local_#7972 := 1; goto CFG_37526; CFG_37526: assume true; } procedure routine_#34628_check_next2(local_#5507_ls_IN : { base : int, offset : int }, local_#5508_set_IN : { base : int, offset : int }) returns (local_#7973 : int) modifies _memory, _memory_ptr, _valid; { var local_#5507_ls : { base : int, offset : int }; var local_#5508_set : { base : int, offset : int }; var local_#19085 : int; var local_#19086 : int; var local_#19087 : int; var local_#19088 : { base : int, offset : int }; var local_#19089 : int; var local_#19090 : int; var local_#19091 : int; var local_#19092 : { base : int, offset : int }; var local_#19093 : int; var local_#19094 : int; var local_#19095 : int; var local_#19096 : { base : int, offset : int }; var local_#19097 : int; var local_#19098 : int; var local_#19099 : int; var local_#19100 : int; var local_#19101 : { base : int, offset : int }; var local_#19102 : int; var local_#30736 : int; var local_#19103 : { base : int, offset : int }; var local_#19104 : { base : int, offset : int }; var local_#19105 : int; var local_#19106 : int; var local_#19107 : int; var local_#19108 : int; var local_#19109 : int; local_#5507_ls := local_#5507_ls_IN; local_#5508_set := local_#5508_set_IN; goto CFG_36616; CFG_36616: assume true; goto CFG_50207; CFG_50207: assume true; local_#19085 := 0; local_#19086 := 0; assert { :LIR "61410" } { :check "overflow" } { :finding_ids "0" } true; local_#19087 := 0; local_#19088 := { base : local_#5508_set!base, offset : local_#5508_set!offset + local_#19087 * 1 }; local_#19089 := _memory[local_#19088]; assert { :LIR "62998" } { :check "overflow" } { :finding_ids "0" } local_#19089 <= 2147483647; local_#19090 := (if _memory[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 0 }] == local_#19089 then 1 else 0); if (local_#19090 != 0) { goto CFG_43088; } else { goto CFG_50208; } CFG_50208: assume true; local_#19091 := 1; local_#19092 := { base : local_#5508_set!base, offset : local_#5508_set!offset + local_#19091 * 1 }; local_#19093 := _memory[local_#19092]; assert { :LIR "62999" } { :check "overflow" } { :finding_ids "0" } local_#19093 <= 2147483647; local_#19094 := (if _memory[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 0 }] == local_#19093 then 1 else 0); if (local_#19094 != 0) { goto CFG_43088; } else { goto CFG_38407; } CFG_38407: assume true; local_#7973 := 0; goto CFG_37527; CFG_43088: assume true; local_#19095 := _memory[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 0 }]; goto CFG_46666; CFG_46666: assume true; call routine_#35043_save(local_#5507_ls,local_#19095); goto CFG_50209; CFG_50209: assume true; local_#19096 := _memory_ptr[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 64 }]; local_#19097 := _memory[{ base : local_#19096!base, offset : local_#19096!offset + 0 }]; local_#19098 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#19096!base, offset : local_#19096!offset + 0 }] := ~uwrap64(local_#19097 - local_#19098); assert { :LIR "68011" } { :check "overflow" } { :finding_ids "0" } true; local_#19099 := 0; local_#19100 := (if local_#19097 > local_#19099 then 1 else 0); if (local_#19100 != 0) { goto CFG_40664; } else { goto CFG_43089; } CFG_43089: assume true; local_#19101 := _memory_ptr[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 64 }]; goto CFG_46667; CFG_46667: assume true; call local_#19102 := routine_#33913_luaZ_fill(local_#19101); goto CFG_40663; CFG_40663: assume true; local_#30736 := local_#19102; goto CFG_38408; CFG_40664: assume true; local_#19103 := _memory_ptr[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 64 }]; local_#19104 := _memory_ptr[{ base : local_#19103!base, offset : local_#19103!offset + 8 }]; local_#19105 := 1; _memory_ptr[{ base : local_#19103!base, offset : local_#19103!offset + 8 }] := { base : local_#19104!base, offset : local_#19104!offset + local_#19105 * 1 }; local_#19106 := ~uwrap8(_memory[local_#19104]); assert { :LIR "61411" } { :check "overflow" } { :finding_ids "0" } true; local_#19107 := local_#19106; assert { :LIR "63000" } { :check "overflow" } { :finding_ids "0" } local_#19107 <= 2147483647; local_#30736 := local_#19107; goto CFG_38408; CFG_38408: assume true; _memory[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 0 }] := local_#30736; local_#19108 := _memory[{ base : local_#5507_ls!base, offset : local_#5507_ls!offset + 0 }]; local_#19109 := local_#19108; local_#7973 := 1; goto CFG_37527; CFG_37527: assume true; } procedure routine_#34629_checkclib(local_#5509_L_IN : { base : int, offset : int }, local_#5510_path_IN : { base : int, offset : int }) returns (local_#7974 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5509_L : { base : int, offset : int }; var local_#5510_path : { base : int, offset : int }; var local_#19110 : int; var local_#19111 : { base : int, offset : int }; var local_#19112 : int; var local_#19113 : int; var local_#19114 : int; var local_#19115 : int; var local_#19116 : { base : int, offset : int }; var local_#32067_plib : { base : int, offset : int }; var local_#19117 : int; local_#5509_L := local_#5509_L_IN; local_#5510_path := local_#5510_path_IN; goto CFG_36617; CFG_36617: assume true; goto CFG_43090; CFG_43090: assume true; local_#19110 := -1001000; local_#19111 := global_#33047_CLIBS; assert { :LIR "63001" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46668; CFG_46668: assume true; call local_#19112 := routine_#33972_lua_rawgetp(local_#5509_L,local_#19110,local_#19111); goto CFG_43091; CFG_43091: assume true; local_#19113 := -1; goto CFG_46669; CFG_46669: assume true; call local_#19114 := routine_#33930_lua_getfield(local_#5509_L,local_#19113,local_#5510_path); goto CFG_43092; CFG_43092: assume true; local_#19115 := -1; goto CFG_46670; CFG_46670: assume true; call local_#19116 := routine_#33999_lua_touserdata(local_#5509_L,local_#19115); goto CFG_43093; CFG_43093: assume true; local_#32067_plib := local_#19116; local_#19117 := -3; goto CFG_46671; CFG_46671: assume true; call routine_#33987_lua_settop(local_#5509_L,local_#19117); goto CFG_38409; CFG_38409: assume true; local_#7974 := local_#32067_plib; goto CFG_37528; CFG_37528: assume true; } procedure routine_#34630_checkdp(local_#5511_buff_IN : { base : int, offset : int }, local_#5512_nb_IN : int) returns () modifies _memory; { var local_#5511_buff : { base : int, offset : int }; var local_#5512_nb : int; var local_#19118 : { base : int, offset : int }; var local_#19119 : int; var local_#19120 : int; var local_#19121 : { base : int, offset : int }; var local_#19122 : { base : int, offset : int }; var local_#19123 : int; var local_#19124 : { base : int, offset : int }; var local_#19125 : int; var local_#19126 : { base : int, offset : int }; var local_#32068_point : int; var local_#19127 : { base : int, offset : int }; var local_#19128 : int; var local_#19129 : int; var local_#19130 : { base : int, offset : int }; var local_#19131 : { base : int, offset : int }; var local_#32069_ppoint : { base : int, offset : int }; var local_#19132 : { base : int, offset : int }; local_#5511_buff := local_#5511_buff_IN; local_#5512_nb := local_#5512_nb_IN; goto CFG_36618; CFG_36618: assume true; goto CFG_43094; CFG_43094: assume true; local_#19118 := local_#5511_buff; assert { :LIR "63002" } { :check "overflow" } { :finding_ids "0" } true; local_#19119 := 46; local_#19120 := ~uwrap64(local_#5512_nb); assert { :LIR "63003" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46672; CFG_46672: assume true; call local_#19121 := routine_#34024_memchr(local_#19118,local_#19119,local_#19120); goto CFG_50210; CFG_50210: assume true; local_#19122 := { base : 0, offset : 0 }; local_#19123 := (if local_#19121 == local_#19122 then 1 else 0); if (local_#19123 != 0) { goto CFG_46673; } else { goto CFG_39266; } CFG_46673: assume true; call local_#19124 := routine_#33692_localeconv(); goto CFG_43095; CFG_43095: assume true; local_#19125 := 0; local_#19126 := { base : _memory_ptr[{ base : local_#19124!base, offset : local_#19124!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#19124!base, offset : local_#19124!offset + 0 }]!offset + local_#19125 * 1 }; local_#32068_point := _memory[local_#19126]; local_#19127 := local_#5511_buff; assert { :LIR "63004" } { :check "overflow" } { :finding_ids "0" } true; local_#19128 := local_#32068_point; assert { :LIR "63005" } { :check "overflow" } { :finding_ids "0" } local_#19128 <= 2147483647; local_#19129 := ~uwrap64(local_#5512_nb); assert { :LIR "63006" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46674; CFG_46674: assume true; call local_#19130 := routine_#34024_memchr(local_#19127,local_#19128,local_#19129); goto CFG_50211; CFG_50211: assume true; local_#19131 := local_#19130; assert { :LIR "61412" } { :check "overflow" } { :finding_ids "0" } true; local_#32069_ppoint := local_#19131; local_#19132 := local_#32069_ppoint; if (local_#19132 != { base : 0, offset : 0 }) { goto CFG_40665; } else { goto CFG_40666; } CFG_40665: assume true; _memory[local_#32069_ppoint] := 46; goto CFG_40666; CFG_40666: assume true; goto CFG_39266; CFG_39266: assume true; goto CFG_37529; CFG_37529: assume true; } procedure routine_#34631_checkfield(local_#5513_L_IN : { base : int, offset : int }, local_#5514_key_IN : { base : int, offset : int }, local_#5515_n_IN : int) returns (local_#7975 : int) modifies _memory, _memory_ptr, _valid; { var local_#5513_L : { base : int, offset : int }; var local_#5514_key : { base : int, offset : int }; var local_#5515_n : int; var local_#19133 : { base : int, offset : int }; var local_#19134 : int; var local_#19135 : int; var local_#19136 : int; var local_#19137 : int; local_#5513_L := local_#5513_L_IN; local_#5514_key := local_#5514_key_IN; local_#5515_n := local_#5515_n_IN; goto CFG_36619; CFG_36619: assume true; goto CFG_46675; CFG_46675: assume true; call local_#19133 := routine_#33965_lua_pushstring(local_#5513_L,local_#5514_key); goto CFG_43096; CFG_43096: assume true; local_#19134 := -local_#5515_n; assert { :LIR "64660" } { :check "overflow" } { :finding_ids "0" } local_#19134 <= 2147483647; goto CFG_46676; CFG_46676: assume true; call local_#19135 := routine_#33970_lua_rawget(local_#5513_L,local_#19134); goto CFG_38410; CFG_38410: assume true; local_#19136 := 0; local_#19137 := (if local_#19135 != local_#19136 then 1 else 0); local_#7975 := local_#19137; goto CFG_37530; CFG_37530: assume true; } procedure routine_#34632_checklimit(local_#5516_fs_IN : { base : int, offset : int }, local_#5517_v_IN : int, local_#5518_l_IN : int, local_#5519_what_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5516_fs : { base : int, offset : int }; var local_#5517_v : int; var local_#5518_l : int; var local_#5519_what : { base : int, offset : int }; var local_#19138 : int; local_#5516_fs := local_#5516_fs_IN; local_#5517_v := local_#5517_v_IN; local_#5518_l := local_#5518_l_IN; local_#5519_what := local_#5519_what_IN; goto CFG_36620; CFG_36620: assume true; goto CFG_50212; CFG_50212: assume true; local_#19138 := (if local_#5517_v > local_#5518_l then 1 else 0); if (local_#19138 != 0) { goto CFG_46677; } else { goto CFG_39267; } CFG_39267: assume true; goto CFG_37531; CFG_46677: assume true; call routine_#34716_errorlimit(local_#5516_fs,local_#5518_l,local_#5519_what); CFG_37531: assume true; } procedure routine_#34633_checkliteral(local_#5520_S_IN : { base : int, offset : int }, local_#5521_s_IN : { base : int, offset : int }, local_#5522_msg_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5520_S : { base : int, offset : int }; var local_#5521_s : { base : int, offset : int }; var local_#5522_msg : { base : int, offset : int }; var local_#19139 : int; var local_#32071_len : int; var local_#32070_buff : { base : int, offset : int }; var local_#19140 : { base : int, offset : int }; var local_#19141 : int; var local_#19142 : int; var local_#19143 : { base : int, offset : int }; var local_#19144 : { base : int, offset : int }; var local_#19145 : int; var local_#19146 : int; var local_#19147 : int; local_#5520_S := local_#5520_S_IN; local_#5521_s := local_#5521_s_IN; local_#5522_msg := local_#5522_msg_IN; goto CFG_36621; CFG_36621: assume true; goto CFG_46678; CFG_46678: assume true; call local_#19139 := routine_#34454_strlen(local_#5521_s); goto CFG_43097; CFG_43097: assume true; local_#32071_len := local_#19139; local_#19140 := { base : local_#32070_buff!base, offset : local_#32070_buff!offset + 0 * 1 }; assert { :LIR "63007" } { :check "overflow" } { :finding_ids "0" } true; local_#19141 := 1; assume { :symbol "~uwrap64" } true; local_#19142 := ~uwrap64(local_#32071_len * local_#19141); assert { :LIR "68551" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46679; CFG_46679: assume true; call routine_#34557_LoadBlock(local_#5520_S,local_#19140,local_#19142); goto CFG_43098; CFG_43098: assume true; local_#19143 := local_#5521_s; assert { :LIR "63008" } { :check "overflow" } { :finding_ids "0" } true; local_#19144 := { base : local_#32070_buff!base, offset : local_#32070_buff!offset + 0 * 1 }; assert { :LIR "63009" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46680; CFG_46680: assume true; call local_#19145 := routine_#34025_memcmp(local_#19143,local_#19144,local_#32071_len); goto CFG_50213; CFG_50213: assume true; local_#19146 := 0; local_#19147 := (if local_#19145 != local_#19146 then 1 else 0); if (local_#19147 != 0) { goto CFG_46681; } else { goto CFG_39268; } CFG_39268: assume true; goto CFG_37532; CFG_46681: assume true; call routine_#34714_error(local_#5520_S,local_#5522_msg); CFG_37532: assume true; } procedure routine_#34634_checkload(local_#5523_L_IN : { base : int, offset : int }, local_#5524_stat_IN : int, local_#5525_filename_IN : { base : int, offset : int }) returns (local_#7976 : int) modifies _memory, _memory_ptr, _valid; { var local_#5523_L : { base : int, offset : int }; var local_#5524_stat : int; var local_#5525_filename : { base : int, offset : int }; var local_#19148 : int; var local_#19149 : { base : int, offset : int }; var local_#19150 : { base : int, offset : int }; var local_#19151 : int; var local_#19152 : { base : int, offset : int }; var local_#19153 : { base : int, offset : int }; var local_#19154 : int; var local_#19155 : { base : int, offset : int }; var local_#19156 : { base : int, offset : int }; var local_#19157 : int; var local_#19158 : { base : int, offset : int }; local_#5523_L := local_#5523_L_IN; local_#5524_stat := local_#5524_stat_IN; local_#5525_filename := local_#5525_filename_IN; goto CFG_36622; CFG_36622: assume true; goto CFG_50214; CFG_50214: assume true; local_#19148 := local_#5524_stat; if (local_#19148 != 0) { goto CFG_46685; } else { goto CFG_43099; } CFG_43099: assume true; assume _memory[{ base : strlit_#70478!base, offset : strlit_#70478!offset + 45 }] == 0; local_#19149 := strlit_#70478; local_#19150 := { base : local_#19149!base, offset : local_#19149!offset + 0 * 1 }; assert { :LIR "63010" } { :check "overflow" } { :finding_ids "0" } true; local_#19151 := 1; local_#19152 := { base : 0, offset : 0 }; goto CFG_46682; CFG_46682: assume true; call local_#19153 := routine_#33995_lua_tolstring(local_#5523_L,local_#19151,local_#19152); goto CFG_43100; CFG_43100: assume true; local_#19154 := -1; local_#19155 := { base : 0, offset : 0 }; goto CFG_46683; CFG_46683: assume true; call local_#19156 := routine_#33995_lua_tolstring(local_#5523_L,local_#19154,local_#19155); goto CFG_46684; CFG_46684: assume true; call local_#19157 := routine_#33828_luaL_error(local_#5523_L,local_#19150,{ base : 0, offset : 0 }); goto CFG_38411; CFG_38411: assume true; local_#7976 := local_#19157; goto CFG_37533; CFG_46685: assume true; call local_#19158 := routine_#33965_lua_pushstring(local_#5523_L,local_#5525_filename); goto CFG_38412; CFG_38412: assume true; local_#7976 := 2; goto CFG_37533; CFG_37533: assume true; } procedure routine_#34635_checkmode(local_#5526_L_IN : { base : int, offset : int }, local_#5527_mode_IN : { base : int, offset : int }, local_#5528_x_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5526_L : { base : int, offset : int }; var local_#5527_mode : { base : int, offset : int }; var local_#5528_x : { base : int, offset : int }; var local_#19159 : { base : int, offset : int }; var local_#19160 : int; var local_#19161 : { base : int, offset : int }; var local_#19162 : int; var local_#19163 : { base : int, offset : int }; var local_#19164 : { base : int, offset : int }; var local_#19165 : int; var local_#19166 : { base : int, offset : int }; var local_#19167 : { base : int, offset : int }; var local_#19168 : { base : int, offset : int }; var local_#19169 : int; local_#5526_L := local_#5526_L_IN; local_#5527_mode := local_#5527_mode_IN; local_#5528_x := local_#5528_x_IN; goto CFG_36623; CFG_36623: assume true; goto CFG_50215; CFG_50215: assume true; local_#19159 := local_#5527_mode; if (local_#19159 != { base : 0, offset : 0 }) { goto CFG_43101; } else { goto CFG_39269; } CFG_43101: assume true; local_#19160 := 0; local_#19161 := { base : local_#5528_x!base, offset : local_#5528_x!offset + local_#19160 * 1 }; local_#19162 := _memory[local_#19161]; assert { :LIR "63011" } { :check "overflow" } { :finding_ids "0" } local_#19162 <= 2147483647; goto CFG_46686; CFG_46686: assume true; call local_#19163 := routine_#34445_strchr(local_#5527_mode,local_#19162); goto CFG_50216; CFG_50216: assume true; local_#19164 := { base : 0, offset : 0 }; local_#19165 := (if local_#19163 == local_#19164 then 1 else 0); if (local_#19165 != 0) { goto CFG_43102; } else { goto CFG_39269; } CFG_39269: assume true; goto CFG_37534; CFG_43102: assume true; assume _memory[{ base : strlit_#70479!base, offset : strlit_#70479!offset + 41 }] == 0; local_#19166 := strlit_#70479; local_#19167 := { base : local_#19166!base, offset : local_#19166!offset + 0 * 1 }; assert { :LIR "63012" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46687; CFG_46687: assume true; call local_#19168 := routine_#33865_luaO_pushfstring(local_#5526_L,local_#19167,{ base : 0, offset : 0 }); goto CFG_43103; CFG_43103: assume true; local_#19169 := 3; goto CFG_46688; CFG_46688: assume true; call routine_#33743_luaD_throw(local_#5526_L,local_#19169); CFG_37534: assume true; } procedure routine_#34636_checkname(local_#5529_ls_IN : { base : int, offset : int }, local_#5530_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5529_ls : { base : int, offset : int }; var local_#5530_e : { base : int, offset : int }; var local_#19170 : { base : int, offset : int }; local_#5529_ls := local_#5529_ls_IN; local_#5530_e := local_#5530_e_IN; goto CFG_36624; CFG_36624: assume true; goto CFG_46689; CFG_46689: assume true; call local_#19170 := routine_#35085_str_checkname(local_#5529_ls); goto CFG_46690; CFG_46690: assume true; call routine_#34658_codestring(local_#5529_ls,local_#5530_e,local_#19170); goto CFG_39270; CFG_39270: assume true; goto CFG_37535; CFG_37535: assume true; } procedure routine_#34637_checknext(local_#5531_ls_IN : { base : int, offset : int }, local_#5532_c_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5531_ls : { base : int, offset : int }; var local_#5532_c : int; local_#5531_ls := local_#5531_ls_IN; local_#5532_c := local_#5532_c_IN; goto CFG_36625; CFG_36625: assume true; goto CFG_46691; CFG_46691: assume true; call routine_#34621_check(local_#5531_ls,local_#5532_c); goto CFG_46692; CFG_46692: assume true; call routine_#33908_luaX_next(local_#5531_ls); goto CFG_39271; CFG_39271: assume true; goto CFG_37536; CFG_37536: assume true; } procedure routine_#34638_checkoption(local_#5533_L_IN : { base : int, offset : int }, local_#5534_conv_IN : { base : int, offset : int }, local_#5535_convlen_IN : int, local_#5536_buff_IN : { base : int, offset : int }) returns (local_#7977 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5533_L : { base : int, offset : int }; var local_#5534_conv : { base : int, offset : int }; var local_#5535_convlen : int; var local_#5536_buff : { base : int, offset : int }; var local_#19171 : { base : int, offset : int }; var local_#19172 : { base : int, offset : int }; var local_#32073_option : { base : int, offset : int }; var local_#32072_oplen : int; var local_#19173 : int; var local_#19174 : int; var local_#19175 : int; var local_#19176 : int; var local_#19177 : int; var local_#19178 : int; var local_#19179 : { base : int, offset : int }; var local_#19180 : { base : int, offset : int }; var local_#19181 : { base : int, offset : int }; var local_#19182 : int; var local_#19183 : int; var local_#19184 : int; var local_#19185 : int; var local_#19186 : { base : int, offset : int }; var local_#19187 : { base : int, offset : int }; var local_#19188 : int; var local_#19189 : int; var local_#19190 : int; var local_#19191 : int; var local_#19192 : { base : int, offset : int }; var local_#19193 : { base : int, offset : int }; var local_#19194 : int; var local_#19195 : { base : int, offset : int }; var local_#19196 : int; var local_#19197 : { base : int, offset : int }; var local_#19198 : { base : int, offset : int }; var local_#19199 : int; var local_#19200 : int; var local_#19201 : int; var local_#19202 : { base : int, offset : int }; local_#5533_L := local_#5533_L_IN; local_#5534_conv := local_#5534_conv_IN; local_#5535_convlen := local_#5535_convlen_IN; local_#5536_buff := local_#5536_buff_IN; goto CFG_36626; CFG_36626: assume true; goto CFG_41713; CFG_41713: assume true; assume _memory[{ base : strlit_#70480!base, offset : strlit_#70480!offset + 77 }] == 0; local_#19171 := strlit_#70480; local_#19172 := { base : local_#19171!base, offset : local_#19171!offset + 0 * 1 }; assert { :LIR "63013" } { :check "overflow" } { :finding_ids "0" } true; local_#32073_option := local_#19172; local_#32072_oplen := 1; goto CFG_50217; CFG_50217: assume true; local_#19173 := _memory[local_#32073_option]; assert { :LIR "63014" } { :check "overflow" } { :finding_ids "0" } local_#19173 <= 2147483647; local_#19174 := 0; local_#19175 := (if local_#19173 != local_#19174 then 1 else 0); if (local_#19175 != 0) { goto CFG_50218; } else { goto CFG_43104; } CFG_50218: assume true; local_#19176 := local_#32072_oplen; assert { :LIR "63015" } { :check "overflow" } { :finding_ids "0" } local_#19176 <= 9223372036854775807; local_#19177 := (if local_#19176 <= local_#5535_convlen then 1 else 0); if (local_#19177 != 0) { goto CFG_50219; } else { goto CFG_43104; } CFG_43104: assume true; local_#19178 := 1; assume _memory[{ base : strlit_#70481!base, offset : strlit_#70481!offset + 35 }] == 0; local_#19179 := strlit_#70481; local_#19180 := { base : local_#19179!base, offset : local_#19179!offset + 0 * 1 }; assert { :LIR "63016" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46693; CFG_46693: assume true; call local_#19181 := routine_#33959_lua_pushfstring(local_#5533_L,local_#19180,{ base : 0, offset : 0 }); goto CFG_46694; CFG_46694: assume true; call local_#19182 := routine_#33815_luaL_argerror(local_#5533_L,local_#19178,local_#19181); goto CFG_38413; CFG_38413: assume true; local_#7977 := local_#5534_conv; goto CFG_37537; CFG_50219: assume true; local_#19183 := _memory[local_#32073_option]; assert { :LIR "63017" } { :check "overflow" } { :finding_ids "0" } local_#19183 <= 2147483647; local_#19184 := 124; local_#19185 := (if local_#19183 == local_#19184 then 1 else 0); if (local_#19185 != 0) { goto CFG_40668; } else { goto CFG_43105; } CFG_43105: assume true; local_#19186 := local_#5534_conv; assert { :LIR "63018" } { :check "overflow" } { :finding_ids "0" } true; local_#19187 := local_#32073_option; assert { :LIR "63019" } { :check "overflow" } { :finding_ids "0" } true; local_#19188 := ~uwrap64(local_#32072_oplen); assert { :LIR "63020" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46695; CFG_46695: assume true; call local_#19189 := routine_#34025_memcmp(local_#19186,local_#19187,local_#19188); goto CFG_50220; CFG_50220: assume true; local_#19190 := 0; local_#19191 := (if local_#19189 == local_#19190 then 1 else 0); if (local_#19191 != 0) { goto CFG_43106; } else { goto CFG_40667; } CFG_40667: assume true; goto CFG_45054; CFG_43106: assume true; local_#19192 := local_#5536_buff; assert { :LIR "63021" } { :check "overflow" } { :finding_ids "0" } true; local_#19193 := local_#5534_conv; assert { :LIR "63022" } { :check "overflow" } { :finding_ids "0" } true; local_#19194 := ~uwrap64(local_#32072_oplen); assert { :LIR "63023" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46696; CFG_46696: assume true; call local_#19195 := routine_#34026_memcpy(local_#19192,local_#19193,local_#19194); goto CFG_38414; CFG_38414: assume true; local_#19196 := 0; local_#19197 := { base : local_#5536_buff!base, offset : local_#5536_buff!offset + local_#32072_oplen * 1 }; _memory[local_#19197] := local_#19196; local_#19198 := { base : local_#5534_conv!base, offset : local_#5534_conv!offset + local_#32072_oplen * 1 }; local_#7977 := local_#19198; goto CFG_37537; CFG_40668: assume true; local_#19199 := local_#32072_oplen; local_#19200 := 1; local_#32072_oplen := local_#19199 + local_#19200; assert { :LIR "66562" } { :check "overflow" } { :finding_ids "0" } local_#32072_oplen <= 2147483647; local_#19201 := local_#19199; goto CFG_45054; CFG_45054: assume true; local_#32073_option := { base : local_#32073_option!base, offset : local_#32073_option!offset + local_#32072_oplen * 1 }; local_#19202 := local_#32073_option; goto CFG_50217; CFG_37537: assume true; } procedure routine_#34639_checkrepeated(local_#5537_fs_IN : { base : int, offset : int }, local_#5538_ll_IN : { base : int, offset : int }, local_#5539_label_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5537_fs : { base : int, offset : int }; var local_#5538_ll : { base : int, offset : int }; var local_#5539_label : { base : int, offset : int }; var local_#19203 : { base : int, offset : int }; var local_#32074_i : int; var local_#19204 : int; var local_#19205 : { base : int, offset : int }; var local_#19206 : int; var local_#19207 : int; var local_#19208 : int; var local_#19209 : int; var local_#19210 : { base : int, offset : int }; var local_#19211 : { base : int, offset : int }; var local_#19212 : { base : int, offset : int }; var local_#19213 : { base : int, offset : int }; var local_#19214 : { base : int, offset : int }; var local_#19215 : int; var local_#19216 : { base : int, offset : int }; var local_#19217 : { base : int, offset : int }; var local_#19218 : int; var local_#19219 : { base : int, offset : int }; var local_#32075_msg : { base : int, offset : int }; var local_#19220 : { base : int, offset : int }; local_#5537_fs := local_#5537_fs_IN; local_#5538_ll := local_#5538_ll_IN; local_#5539_label := local_#5539_label_IN; goto CFG_36627; CFG_36627: assume true; goto CFG_41714; CFG_41714: assume true; local_#19203 := _memory_ptr[{ base : local_#5537_fs!base, offset : local_#5537_fs!offset + 24 }]; local_#32074_i := _memory[{ base : local_#19203!base, offset : local_#19203!offset + 8 }]; goto CFG_50221; CFG_50221: assume true; local_#19204 := (if local_#32074_i < _memory[{ base : local_#5538_ll!base, offset : local_#5538_ll!offset + 8 }] then 1 else 0); if (local_#19204 != 0) { goto CFG_50222; } else { goto CFG_39272; } CFG_39272: assume true; goto CFG_37538; CFG_50222: assume true; local_#19205 := { base : _memory_ptr[{ base : local_#5538_ll!base, offset : local_#5538_ll!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5538_ll!base, offset : local_#5538_ll!offset + 0 }]!offset + local_#32074_i * 24 }; local_#19206 := (if local_#5539_label == _memory_ptr[{ base : local_#19205!base, offset : local_#19205!offset + 0 }] then 1 else 0); if (local_#19206 != 0) { goto CFG_43107; } else { goto CFG_45055; } CFG_45055: assume true; local_#19207 := local_#32074_i; local_#19208 := 1; local_#32074_i := local_#19207 + local_#19208; assert { :LIR "66563" } { :check "overflow" } { :finding_ids "0" } local_#32074_i <= 2147483647; local_#19209 := local_#19207; goto CFG_50221; CFG_43107: assume true; local_#19210 := _memory_ptr[{ base : local_#5537_fs!base, offset : local_#5537_fs!offset + 16 }]; local_#19211 := _memory_ptr[{ base : local_#19210!base, offset : local_#19210!offset + 56 }]; assume _memory[{ base : strlit_#70482!base, offset : strlit_#70482!offset + 37 }] == 0; local_#19212 := strlit_#70482; local_#19213 := { base : local_#19212!base, offset : local_#19212!offset + 0 * 1 }; assert { :LIR "63024" } { :check "overflow" } { :finding_ids "0" } true; local_#19214 := local_#5539_label; assert { :LIR "61413" } { :check "overflow" } { :finding_ids "0" } true; local_#19215 := 24; local_#19216 := { base : local_#19214!base, offset : local_#19214!offset + local_#19215 * 1 }; local_#19217 := { base : _memory_ptr[{ base : local_#5538_ll!base, offset : local_#5538_ll!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5538_ll!base, offset : local_#5538_ll!offset + 0 }]!offset + local_#32074_i * 24 }; local_#19218 := _memory[{ base : local_#19217!base, offset : local_#19217!offset + 12 }]; goto CFG_46697; CFG_46697: assume true; call local_#19219 := routine_#33865_luaO_pushfstring(local_#19211,local_#19213,{ base : 0, offset : 0 }); goto CFG_43108; CFG_43108: assume true; local_#32075_msg := local_#19219; local_#19220 := _memory_ptr[{ base : local_#5537_fs!base, offset : local_#5537_fs!offset + 16 }]; goto CFG_46698; CFG_46698: assume true; call routine_#35052_semerror(local_#19220,local_#32075_msg); CFG_37538: assume true; } procedure routine_#34640_checkstack(local_#5540_L_IN : { base : int, offset : int }, local_#5541_L1_IN : { base : int, offset : int }, local_#5542_n_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5540_L : { base : int, offset : int }; var local_#5541_L1 : { base : int, offset : int }; var local_#5542_n : int; var local_#19221 : int; var local_#19222 : int; var local_#19223 : int; var local_#19224 : { base : int, offset : int }; var local_#19225 : { base : int, offset : int }; var local_#19226 : int; local_#5540_L := local_#5540_L_IN; local_#5541_L1 := local_#5541_L1_IN; local_#5542_n := local_#5542_n_IN; goto CFG_36628; CFG_36628: assume true; goto CFG_50223; CFG_50223: assume true; local_#19221 := (if local_#5540_L != local_#5541_L1 then 1 else 0); if (local_#19221 != 0) { goto CFG_46699; } else { goto CFG_39273; } CFG_46699: assume true; call local_#19222 := routine_#33920_lua_checkstack(local_#5541_L1,local_#5542_n); goto CFG_50224; CFG_50224: assume true; local_#19223 := (if local_#19222 != 0 then 0 else 1); if (local_#19223 != 0) { goto CFG_43109; } else { goto CFG_39273; } CFG_43109: assume true; assume _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 0 }] == 115 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 1 }] == 116 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 2 }] == 97 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 3 }] == 99 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 4 }] == 107 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 5 }] == 32 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 6 }] == 111 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 7 }] == 118 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 8 }] == 101 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 9 }] == 114 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 10 }] == 102 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 11 }] == 108 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 12 }] == 111 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 13 }] == 119 && _memory[{ base : strlit_#70294!base, offset : strlit_#70294!offset + 14 }] == 0; local_#19224 := strlit_#70294; local_#19225 := { base : local_#19224!base, offset : local_#19224!offset + 0 * 1 }; assert { :LIR "63025" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46700; CFG_46700: assume true; call local_#19226 := routine_#33828_luaL_error(local_#5540_L,local_#19225,{ base : 0, offset : 0 }); goto CFG_40669; CFG_40669: assume true; goto CFG_39273; CFG_39273: assume true; goto CFG_37539; CFG_37539: assume true; } procedure routine_#34641_checktab(local_#5543_L_IN : { base : int, offset : int }, local_#5544_arg_IN : int, local_#5545_what_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5543_L : { base : int, offset : int }; var local_#5544_arg : int; var local_#5545_what : int; var local_#19227 : int; var local_#19228 : int; var local_#19229 : int; var local_#32076_n : int; var local_#19230 : int; var local_#19231 : int; var local_#19232 : int; var local_#19233 : int; var local_#19234 : int; var local_#19235 : { base : int, offset : int }; var local_#19236 : { base : int, offset : int }; var local_#19237 : int; var local_#19238 : int; var local_#19239 : int; var local_#19240 : int; var local_#19241 : int; var local_#19242 : int; var local_#19243 : { base : int, offset : int }; var local_#19244 : { base : int, offset : int }; var local_#19245 : int; var local_#19246 : int; var local_#19247 : int; var local_#19248 : int; var local_#19249 : int; var local_#19250 : int; var local_#19251 : { base : int, offset : int }; var local_#19252 : { base : int, offset : int }; var local_#19253 : int; var local_#19254 : int; var local_#19255 : int; var local_#19256 : int; var local_#19257 : int; var local_#19258 : int; var local_#19259 : int; local_#5543_L := local_#5543_L_IN; local_#5544_arg := local_#5544_arg_IN; local_#5545_what := local_#5545_what_IN; goto CFG_36629; CFG_36629: assume true; goto CFG_46701; CFG_46701: assume true; call local_#19227 := routine_#34000_lua_type(local_#5543_L,local_#5544_arg); goto CFG_50225; CFG_50225: assume true; local_#19228 := 5; local_#19229 := (if local_#19227 != local_#19228 then 1 else 0); if (local_#19229 != 0) { goto CFG_43110; } else { goto CFG_39274; } CFG_43110: assume true; local_#32076_n := 1; goto CFG_46702; CFG_46702: assume true; call local_#19230 := routine_#33938_lua_getmetatable(local_#5543_L,local_#5544_arg); goto CFG_50226; CFG_50226: assume true; local_#19231 := local_#19230; if (local_#19231 != 0) { goto CFG_50227; } else { goto CFG_43114; } CFG_50227: assume true; local_#19232 := 1; local_#19233 := ~sand32(local_#5545_what, local_#19232); local_#19234 := (if local_#19233 != 0 then 0 else 1); if (local_#19234 != 0) { goto CFG_50229; } else { goto CFG_43111; } CFG_43111: assume true; assume _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 0 }] == 95 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 1 }] == 95 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 2 }] == 105 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 3 }] == 110 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 4 }] == 100 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 5 }] == 101 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 6 }] == 120 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 7 }] == 0; local_#19235 := strlit_#70484; local_#19236 := { base : local_#19235!base, offset : local_#19235!offset + 0 * 1 }; assert { :LIR "63026" } { :check "overflow" } { :finding_ids "0" } true; local_#19237 := 1; local_#32076_n := local_#32076_n + local_#19237; assert { :LIR "66564" } { :check "overflow" } { :finding_ids "0" } local_#32076_n <= 2147483647; goto CFG_46703; CFG_46703: assume true; call local_#19238 := routine_#34631_checkfield(local_#5543_L,local_#19236,local_#32076_n); goto CFG_50228; CFG_50228: assume true; local_#19239 := local_#19238; if (local_#19239 != 0) { goto CFG_50229; } else { goto CFG_43114; } CFG_50229: assume true; local_#19240 := 2; local_#19241 := ~sand32(local_#5545_what, local_#19240); local_#19242 := (if local_#19241 != 0 then 0 else 1); if (local_#19242 != 0) { goto CFG_50231; } else { goto CFG_43112; } CFG_43112: assume true; assume _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 0 }] == 95 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 1 }] == 95 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 2 }] == 110 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 3 }] == 101 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 4 }] == 119 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 5 }] == 105 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 6 }] == 110 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 7 }] == 100 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 8 }] == 101 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 9 }] == 120 && _memory[{ base : strlit_#70485!base, offset : strlit_#70485!offset + 10 }] == 0; local_#19243 := strlit_#70485; local_#19244 := { base : local_#19243!base, offset : local_#19243!offset + 0 * 1 }; assert { :LIR "63027" } { :check "overflow" } { :finding_ids "0" } true; local_#19245 := 1; local_#32076_n := local_#32076_n + local_#19245; assert { :LIR "66565" } { :check "overflow" } { :finding_ids "0" } local_#32076_n <= 2147483647; goto CFG_46704; CFG_46704: assume true; call local_#19246 := routine_#34631_checkfield(local_#5543_L,local_#19244,local_#32076_n); goto CFG_50230; CFG_50230: assume true; local_#19247 := local_#19246; if (local_#19247 != 0) { goto CFG_50231; } else { goto CFG_43114; } CFG_50231: assume true; local_#19248 := 4; local_#19249 := ~sand32(local_#5545_what, local_#19248); local_#19250 := (if local_#19249 != 0 then 0 else 1); if (local_#19250 != 0) { goto CFG_43115; } else { goto CFG_43113; } CFG_43113: assume true; assume _memory[{ base : strlit_#70486!base, offset : strlit_#70486!offset + 0 }] == 95 && _memory[{ base : strlit_#70486!base, offset : strlit_#70486!offset + 1 }] == 95 && _memory[{ base : strlit_#70486!base, offset : strlit_#70486!offset + 2 }] == 108 && _memory[{ base : strlit_#70486!base, offset : strlit_#70486!offset + 3 }] == 101 && _memory[{ base : strlit_#70486!base, offset : strlit_#70486!offset + 4 }] == 110 && _memory[{ base : strlit_#70486!base, offset : strlit_#70486!offset + 5 }] == 0; local_#19251 := strlit_#70486; local_#19252 := { base : local_#19251!base, offset : local_#19251!offset + 0 * 1 }; assert { :LIR "63028" } { :check "overflow" } { :finding_ids "0" } true; local_#19253 := 1; local_#32076_n := local_#32076_n + local_#19253; assert { :LIR "66566" } { :check "overflow" } { :finding_ids "0" } local_#32076_n <= 2147483647; goto CFG_46705; CFG_46705: assume true; call local_#19254 := routine_#34631_checkfield(local_#5543_L,local_#19252,local_#32076_n); goto CFG_50232; CFG_50232: assume true; local_#19255 := local_#19254; if (local_#19255 != 0) { goto CFG_43115; } else { goto CFG_43114; } CFG_43114: assume true; local_#19256 := 5; goto CFG_46706; CFG_46706: assume true; call routine_#33825_luaL_checktype(local_#5543_L,local_#5544_arg,local_#19256); goto CFG_40670; CFG_40670: assume true; goto CFG_40672; CFG_43115: assume true; local_#19257 := -local_#32076_n; assert { :LIR "64661" } { :check "overflow" } { :finding_ids "0" } local_#19257 <= 2147483647; local_#19258 := 1; local_#19259 := local_#19257 - local_#19258; assert { :LIR "68012" } { :check "overflow" } { :finding_ids "0" } local_#19259 <= 2147483647; goto CFG_46707; CFG_46707: assume true; call routine_#33987_lua_settop(local_#5543_L,local_#19259); goto CFG_40671; CFG_40671: assume true; goto CFG_40672; CFG_40672: assume true; goto CFG_39274; CFG_39274: assume true; goto CFG_37540; CFG_37540: assume true; } procedure routine_#34642_checkupval(local_#5546_L_IN : { base : int, offset : int }, local_#5547_argf_IN : int, local_#5548_argnup_IN : int) returns (local_#7978 : int) modifies _memory, _memory_ptr, _valid; { var local_#5546_L : { base : int, offset : int }; var local_#5547_argf : int; var local_#5548_argnup : int; var local_#19260 : int; var local_#19261 : int; var local_#32077_nup : int; var local_#19262 : int; var local_#19263 : { base : int, offset : int }; var local_#19264 : { base : int, offset : int }; var local_#19265 : int; var local_#19266 : { base : int, offset : int }; var local_#19267 : { base : int, offset : int }; var local_#19268 : int; var local_#19269 : int; var local_#30737 : int; var local_#19270 : int; local_#5546_L := local_#5546_L_IN; local_#5547_argf := local_#5547_argf_IN; local_#5548_argnup := local_#5548_argnup_IN; goto CFG_36630; CFG_36630: assume true; goto CFG_46708; CFG_46708: assume true; call local_#19260 := routine_#33820_luaL_checkinteger(local_#5546_L,local_#5548_argnup); goto CFG_43116; CFG_43116: assume true; local_#19261 := local_#19260; assert { :LIR "61414" } { :check "overflow" } { :finding_ids "0" } local_#19261 <= 2147483647; local_#32077_nup := local_#19261; local_#19262 := 6; goto CFG_46709; CFG_46709: assume true; call routine_#33825_luaL_checktype(local_#5546_L,local_#5547_argf,local_#19262); goto CFG_46710; CFG_46710: assume true; call local_#19263 := routine_#33942_lua_getupvalue(local_#5546_L,local_#5547_argf,local_#32077_nup); goto CFG_50233; CFG_50233: assume true; local_#19264 := { base : 0, offset : 0 }; local_#19265 := (if local_#19263 != local_#19264 then 1 else 0); if (local_#19265 != 0) { goto CFG_40674; } else { goto CFG_43117; } CFG_43117: assume true; assume _memory[{ base : strlit_#70487!base, offset : strlit_#70487!offset + 21 }] == 0; local_#19266 := strlit_#70487; local_#19267 := { base : local_#19266!base, offset : local_#19266!offset + 0 * 1 }; assert { :LIR "63029" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46711; CFG_46711: assume true; call local_#19268 := routine_#33815_luaL_argerror(local_#5546_L,local_#5548_argnup,local_#19267); goto CFG_50234; CFG_50234: assume true; local_#19269 := local_#19268; if (local_#19269 != 0) { goto CFG_40674; } else { goto CFG_40673; } CFG_40673: assume true; local_#30737 := 0; goto CFG_38415; CFG_40674: assume true; local_#30737 := 1; goto CFG_38415; CFG_38415: assume true; local_#19270 := 0; assert { :LIR "61415" } { :check "overflow" } { :finding_ids "0" } true; local_#7978 := local_#32077_nup; goto CFG_37541; CFG_37541: assume true; } procedure routine_#34643_choosePivot(local_#5549_lo_IN : int, local_#5550_up_IN : int, local_#5551_rnd_IN : int) returns (local_#7979 : int) { var local_#5549_lo : int; var local_#5550_up : int; var local_#5551_rnd : int; var local_#19271 : int; var local_#19272 : int; var local_#19273 : int; var local_#32079_r4 : int; var local_#19274 : int; var local_#19275 : int; var local_#19276 : int; var local_#19277 : int; var local_#19278 : int; var local_#32078_p : int; var local_#19279 : int; var local_#19280 : int; local_#5549_lo := local_#5549_lo_IN; local_#5550_up := local_#5550_up_IN; local_#5551_rnd := local_#5551_rnd_IN; goto CFG_36631; CFG_36631: assume true; goto CFG_38416; CFG_38416: assume true; assume { :symbol "~uwrap32" } true; local_#19271 := ~uwrap32(local_#5550_up - local_#5549_lo); assert { :LIR "68013" } { :check "overflow" } { :finding_ids "0" } true; local_#19272 := 4; local_#19273 := local_#19271 / local_#19272; assert { :LIR "68642" } { :check "overflow" } { :finding_ids "0" } true; local_#32079_r4 := local_#19273; local_#19274 := 2; assume { :symbol "~uwrap32" } true; local_#19275 := ~uwrap32(local_#32079_r4 * local_#19274); assert { :LIR "68552" } { :check "overflow" } { :finding_ids "0" } true; local_#19276 := local_#5551_rnd % local_#19275; assume { :symbol "~uwrap32" } true; local_#19277 := ~uwrap32(local_#5549_lo + local_#32079_r4); assert { :LIR "66567" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#19278 := ~uwrap32(local_#19276 + local_#19277); assert { :LIR "66568" } { :check "overflow" } { :finding_ids "0" } true; local_#32078_p := local_#19278; local_#19279 := 0; local_#19280 := 0; assert { :LIR "61416" } { :check "overflow" } { :finding_ids "0" } true; local_#7979 := local_#32078_p; goto CFG_37542; CFG_37542: assume true; } procedure routine_#34644_classend(local_#5552_ms_IN : { base : int, offset : int }, local_#5553_p_IN : { base : int, offset : int }) returns (local_#7980 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5552_ms : { base : int, offset : int }; var local_#5553_p : { base : int, offset : int }; var local_#19281 : { base : int, offset : int }; var local_#19282 : int; var local_#19283 : int; var local_#19284 : int; var local_#19285 : int; var local_#19286 : int; var local_#19287 : { base : int, offset : int }; var local_#19288 : int; var local_#19289 : { base : int, offset : int }; var local_#19290 : int; var local_#19291 : { base : int, offset : int }; var local_#19292 : { base : int, offset : int }; var local_#19293 : { base : int, offset : int }; var local_#19294 : int; var local_#19295 : { base : int, offset : int }; var local_#19296 : int; var local_#19297 : int; var local_#19298 : int; var local_#19299 : int; var local_#19300 : int; var local_#19301 : { base : int, offset : int }; var local_#19302 : int; var local_#19303 : { base : int, offset : int }; var local_#19304 : int; var local_#19305 : int; var local_#19306 : int; var local_#19307 : int; var local_#19308 : { base : int, offset : int }; var local_#19309 : int; var local_#19310 : { base : int, offset : int }; var local_#19311 : { base : int, offset : int }; var local_#19312 : { base : int, offset : int }; var local_#19313 : int; var local_#19314 : int; var local_#19315 : { base : int, offset : int }; local_#5552_ms := local_#5552_ms_IN; local_#5553_p := local_#5553_p_IN; goto CFG_36632; CFG_36632: assume true; goto CFG_51533; CFG_51533: assume true; local_#19281 := local_#5553_p; local_#19282 := 1; local_#5553_p := { base : local_#19281!base, offset : local_#19281!offset + local_#19282 * 1 }; local_#19283 := _memory[local_#19281]; assert { :LIR "63030" } { :check "overflow" } { :finding_ids "0" } local_#19283 <= 2147483647; if (local_#19283 == 37) { goto CFG_50240; } if (local_#19283 == 91) { goto CFG_50235; } goto CFG_38417; CFG_38417: assume true; local_#7980 := local_#5553_p; goto CFG_37543; CFG_50235: assume true; local_#19284 := _memory[local_#5553_p]; assert { :LIR "63031" } { :check "overflow" } { :finding_ids "0" } local_#19284 <= 2147483647; local_#19285 := 94; local_#19286 := (if local_#19284 == local_#19285 then 1 else 0); if (local_#19286 != 0) { goto CFG_40675; } else { goto CFG_41715; } CFG_40675: assume true; local_#19287 := local_#5553_p; local_#19288 := 1; local_#5553_p := { base : local_#19287!base, offset : local_#19287!offset + local_#19288 * 1 }; local_#19289 := local_#19287; goto CFG_41715; CFG_41715: assume true; goto CFG_50236; CFG_50236: assume true; local_#19290 := (if local_#5553_p == _memory_ptr[{ base : local_#5552_ms!base, offset : local_#5552_ms!offset + 16 }] then 1 else 0); if (local_#19290 != 0) { goto CFG_43118; } else { goto CFG_50237; } CFG_43118: assume true; local_#19291 := _memory_ptr[{ base : local_#5552_ms!base, offset : local_#5552_ms!offset + 24 }]; assume _memory[{ base : strlit_#70488!base, offset : strlit_#70488!offset + 31 }] == 0; local_#19292 := strlit_#70488; local_#19293 := { base : local_#19292!base, offset : local_#19292!offset + 0 * 1 }; assert { :LIR "63032" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46712; CFG_46712: assume true; call local_#19294 := routine_#33828_luaL_error(local_#19291,local_#19293,{ base : 0, offset : 0 }); goto CFG_40676; CFG_40676: assume true; goto CFG_50237; CFG_50237: assume true; local_#19295 := local_#5553_p; local_#19296 := 1; local_#5553_p := { base : local_#19295!base, offset : local_#19295!offset + local_#19296 * 1 }; local_#19297 := _memory[local_#19295]; assert { :LIR "63033" } { :check "overflow" } { :finding_ids "0" } local_#19297 <= 2147483647; local_#19298 := 37; local_#19299 := (if local_#19297 == local_#19298 then 1 else 0); if (local_#19299 != 0) { goto CFG_50238; } else { goto CFG_50239; } CFG_50238: assume true; local_#19300 := (if local_#5553_p!offset < _memory_ptr[{ base : local_#5552_ms!base, offset : local_#5552_ms!offset + 16 }]!offset then 1 else 0); if (local_#19300 != 0) { goto CFG_40677; } else { goto CFG_50239; } CFG_40677: assume true; local_#19301 := local_#5553_p; local_#19302 := 1; local_#5553_p := { base : local_#19301!base, offset : local_#19301!offset + local_#19302 * 1 }; local_#19303 := local_#19301; goto CFG_50239; CFG_50239: assume true; local_#19304 := _memory[local_#5553_p]; assert { :LIR "63034" } { :check "overflow" } { :finding_ids "0" } local_#19304 <= 2147483647; local_#19305 := 93; local_#19306 := (if local_#19304 != local_#19305 then 1 else 0); if (local_#19306 != 0) { goto CFG_45056; } else { goto CFG_38418; } CFG_38418: assume true; local_#19307 := 1; local_#19308 := { base : local_#5553_p!base, offset : local_#5553_p!offset + local_#19307 * 1 }; local_#7980 := local_#19308; goto CFG_37543; CFG_45056: assume true; goto CFG_50236; CFG_50240: assume true; local_#19309 := (if local_#5553_p == _memory_ptr[{ base : local_#5552_ms!base, offset : local_#5552_ms!offset + 16 }] then 1 else 0); if (local_#19309 != 0) { goto CFG_43119; } else { goto CFG_38419; } CFG_43119: assume true; local_#19310 := _memory_ptr[{ base : local_#5552_ms!base, offset : local_#5552_ms!offset + 24 }]; assume _memory[{ base : strlit_#70489!base, offset : strlit_#70489!offset + 34 }] == 0; local_#19311 := strlit_#70489; local_#19312 := { base : local_#19311!base, offset : local_#19311!offset + 0 * 1 }; assert { :LIR "63035" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46713; CFG_46713: assume true; call local_#19313 := routine_#33828_luaL_error(local_#19310,local_#19312,{ base : 0, offset : 0 }); goto CFG_40678; CFG_40678: assume true; goto CFG_38419; CFG_38419: assume true; local_#19314 := 1; local_#19315 := { base : local_#5553_p!base, offset : local_#5553_p!offset + local_#19314 * 1 }; local_#7980 := local_#19315; goto CFG_37543; CFG_37543: assume true; } procedure routine_#34645_clearkeys(local_#5554_g_IN : { base : int, offset : int }, local_#5555_l_IN : { base : int, offset : int }, local_#5556_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#5554_g : { base : int, offset : int }; var local_#5555_l : { base : int, offset : int }; var local_#5556_f : { base : int, offset : int }; var local_#19316 : int; var local_#19317 : { base : int, offset : int }; var local_#19318 : { base : int, offset : int }; var local_#32080_h : { base : int, offset : int }; var local_#19319 : int; var local_#19320 : int; var local_#19321 : int; var local_#19322 : int; var local_#19323 : { base : int, offset : int }; var local_#32081_limit : { base : int, offset : int }; var local_#19324 : int; var local_#19325 : { base : int, offset : int }; var local_#32082_n : { base : int, offset : int }; var local_#19326 : int; var local_#19327 : { base : int, offset : int }; var local_#19328 : { base : int, offset : int }; var local_#19329 : { base : int, offset : int }; var local_#19330 : int; var local_#19331 : int; var local_#19332 : int; var local_#19333 : { base : int, offset : int }; var local_#19334 : { base : int, offset : int }; var local_#19335 : int; var local_#19336 : int; var local_#19337 : int; var local_#19338 : int; var local_#19339 : { base : int, offset : int }; var local_#19340 : int; var local_#19341 : { base : int, offset : int }; local_#5554_g := local_#5554_g_IN; local_#5555_l := local_#5555_l_IN; local_#5556_f := local_#5556_f_IN; goto CFG_36633; CFG_36633: assume true; goto CFG_41716; CFG_41716: assume true; goto CFG_50241; CFG_50241: assume true; local_#19316 := (if local_#5555_l != local_#5556_f then 1 else 0); if (local_#19316 != 0) { goto CFG_41717; } else { goto CFG_39275; } CFG_39275: assume true; goto CFG_37544; CFG_41717: assume true; local_#19317 := local_#5555_l; assert { :LIR "61417" } { :check "overflow" } { :finding_ids "0" } true; local_#19318 := { base : local_#19317!base, offset : local_#19317!offset + 0 }; local_#32080_h := local_#19318; local_#19319 := 1; local_#19320 := _memory[{ base : local_#32080_h!base, offset : local_#32080_h!offset + 11 }]; assert { :LIR "63036" } { :check "overflow" } { :finding_ids "0" } local_#19320 <= 2147483647; local_#19321 := ~shl32(local_#19319, local_#19320); local_#19322 := ~uwrap64(local_#19321); assert { :LIR "61418" } { :check "overflow" } { :finding_ids "0" } true; local_#19323 := { base : _memory_ptr[{ base : local_#32080_h!base, offset : local_#32080_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#32080_h!base, offset : local_#32080_h!offset + 24 }]!offset + local_#19322 * 32 }; local_#32081_limit := local_#19323; local_#19324 := 0; local_#19325 := { base : _memory_ptr[{ base : local_#32080_h!base, offset : local_#32080_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#32080_h!base, offset : local_#32080_h!offset + 24 }]!offset + local_#19324 * 32 }; local_#32082_n := local_#19325; goto CFG_50242; CFG_50242: assume true; local_#19326 := (if local_#32082_n!offset < local_#32081_limit!offset then 1 else 0); if (local_#19326 != 0) { goto CFG_50243; } else { goto CFG_45057; } CFG_45057: assume true; local_#19327 := local_#5555_l; assert { :LIR "61419" } { :check "overflow" } { :finding_ids "0" } true; local_#19328 := { base : local_#19327!base, offset : local_#19327!offset + 0 }; local_#5555_l := _memory_ptr[{ base : local_#19328!base, offset : local_#19328!offset + 48 }]; local_#19329 := local_#5555_l; goto CFG_50241; CFG_50243: assume true; local_#19330 := 0; local_#19331 := (if _memory[{ base : local_#32082_n!base, offset : local_#32082_n!offset + 8 }] == local_#19330 then 1 else 0); local_#19332 := (if local_#19331 != 0 then 0 else 1); if (local_#19332 != 0) { goto CFG_43120; } else { goto CFG_50245; } CFG_43120: assume true; local_#19333 := { base : local_#32082_n!base, offset : local_#32082_n!offset + 16 }; local_#19334 := local_#19333; assert { :LIR "61420" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46714; CFG_46714: assume true; call local_#19335 := routine_#34834_iscleared(local_#5554_g,local_#19334); goto CFG_50244; CFG_50244: assume true; local_#19336 := local_#19335; if (local_#19336 != 0) { goto CFG_40679; } else { goto CFG_50245; } CFG_40679: assume true; _memory[{ base : local_#32082_n!base, offset : local_#32082_n!offset + 8 }] := 0; goto CFG_50245; CFG_50245: assume true; local_#19337 := 0; local_#19338 := (if _memory[{ base : local_#32082_n!base, offset : local_#32082_n!offset + 8 }] == local_#19337 then 1 else 0); if (local_#19338 != 0) { goto CFG_46715; } else { goto CFG_45058; } CFG_46715: assume true; call routine_#35029_removeentry(local_#32082_n); goto CFG_40680; CFG_40680: assume true; goto CFG_45058; CFG_45058: assume true; local_#19339 := local_#32082_n; local_#19340 := 1; local_#32082_n := { base : local_#19339!base, offset : local_#19339!offset + local_#19340 * 32 }; local_#19341 := local_#19339; goto CFG_50242; CFG_37544: assume true; } procedure routine_#34646_clearvalues(local_#5557_g_IN : { base : int, offset : int }, local_#5558_l_IN : { base : int, offset : int }, local_#5559_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#5557_g : { base : int, offset : int }; var local_#5558_l : { base : int, offset : int }; var local_#5559_f : { base : int, offset : int }; var local_#19342 : int; var local_#19343 : { base : int, offset : int }; var local_#19344 : { base : int, offset : int }; var local_#32083_h : { base : int, offset : int }; var local_#19345 : int; var local_#19346 : int; var local_#19347 : int; var local_#19348 : int; var local_#19349 : { base : int, offset : int }; var local_#32085_limit : { base : int, offset : int }; var local_#32084_i : int; var local_#19350 : int; var local_#19351 : int; var local_#19352 : { base : int, offset : int }; var local_#32086_n : { base : int, offset : int }; var local_#19353 : int; var local_#19354 : { base : int, offset : int }; var local_#19355 : { base : int, offset : int }; var local_#19356 : { base : int, offset : int }; var local_#19357 : int; var local_#19358 : int; var local_#19359 : int; var local_#19360 : { base : int, offset : int }; var local_#19361 : int; var local_#19362 : int; var local_#19363 : { base : int, offset : int }; var local_#19364 : int; var local_#19365 : { base : int, offset : int }; var local_#19366 : { base : int, offset : int }; var local_#32087_o : { base : int, offset : int }; var local_#19367 : { base : int, offset : int }; var local_#19368 : int; var local_#19369 : int; var local_#19370 : int; var local_#19371 : int; var local_#19372 : int; local_#5557_g := local_#5557_g_IN; local_#5558_l := local_#5558_l_IN; local_#5559_f := local_#5559_f_IN; goto CFG_36634; CFG_36634: assume true; goto CFG_41718; CFG_41718: assume true; goto CFG_50246; CFG_50246: assume true; local_#19342 := (if local_#5558_l != local_#5559_f then 1 else 0); if (local_#19342 != 0) { goto CFG_41719; } else { goto CFG_39276; } CFG_39276: assume true; goto CFG_37545; CFG_41719: assume true; local_#19343 := local_#5558_l; assert { :LIR "61421" } { :check "overflow" } { :finding_ids "0" } true; local_#19344 := { base : local_#19343!base, offset : local_#19343!offset + 0 }; local_#32083_h := local_#19344; local_#19345 := 1; local_#19346 := _memory[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 11 }]; assert { :LIR "63037" } { :check "overflow" } { :finding_ids "0" } local_#19346 <= 2147483647; local_#19347 := ~shl32(local_#19345, local_#19346); local_#19348 := ~uwrap64(local_#19347); assert { :LIR "61422" } { :check "overflow" } { :finding_ids "0" } true; local_#19349 := { base : _memory_ptr[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 24 }]!offset + local_#19348 * 32 }; local_#32085_limit := local_#19349; local_#32084_i := 0; goto CFG_50247; CFG_50247: assume true; local_#19350 := (if local_#32084_i < _memory[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 12 }] then 1 else 0); if (local_#19350 != 0) { goto CFG_43123; } else { goto CFG_41720; } CFG_41720: assume true; local_#19351 := 0; local_#19352 := { base : _memory_ptr[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 24 }]!offset + local_#19351 * 32 }; local_#32086_n := local_#19352; goto CFG_50248; CFG_50248: assume true; local_#19353 := (if local_#32086_n!offset < local_#32085_limit!offset then 1 else 0); if (local_#19353 != 0) { goto CFG_50249; } else { goto CFG_45059; } CFG_45059: assume true; local_#19354 := local_#5558_l; assert { :LIR "61423" } { :check "overflow" } { :finding_ids "0" } true; local_#19355 := { base : local_#19354!base, offset : local_#19354!offset + 0 }; local_#5558_l := _memory_ptr[{ base : local_#19355!base, offset : local_#19355!offset + 48 }]; local_#19356 := local_#5558_l; goto CFG_50246; CFG_50249: assume true; local_#19357 := 0; local_#19358 := (if _memory[{ base : local_#32086_n!base, offset : local_#32086_n!offset + 8 }] == local_#19357 then 1 else 0); local_#19359 := (if local_#19358 != 0 then 0 else 1); if (local_#19359 != 0) { goto CFG_43121; } else { goto CFG_45060; } CFG_43121: assume true; local_#19360 := { base : local_#32086_n!base, offset : local_#32086_n!offset + 0 }; assert { :LIR "63038" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46716; CFG_46716: assume true; call local_#19361 := routine_#34834_iscleared(local_#5557_g,local_#19360); goto CFG_50250; CFG_50250: assume true; local_#19362 := local_#19361; if (local_#19362 != 0) { goto CFG_43122; } else { goto CFG_45060; } CFG_43122: assume true; _memory[{ base : local_#32086_n!base, offset : local_#32086_n!offset + 8 }] := 0; goto CFG_46717; CFG_46717: assume true; call routine_#35029_removeentry(local_#32086_n); goto CFG_40681; CFG_40681: assume true; goto CFG_45060; CFG_45060: assume true; local_#19363 := local_#32086_n; local_#19364 := 1; local_#32086_n := { base : local_#19363!base, offset : local_#19363!offset + local_#19364 * 32 }; local_#19365 := local_#19363; goto CFG_50248; CFG_43123: assume true; local_#19366 := { base : _memory_ptr[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#32083_h!base, offset : local_#32083_h!offset + 16 }]!offset + local_#32084_i * 16 }; local_#32087_o := local_#19366; local_#19367 := local_#32087_o; assert { :LIR "63039" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46718; CFG_46718: assume true; call local_#19368 := routine_#34834_iscleared(local_#5557_g,local_#19367); goto CFG_50251; CFG_50251: assume true; local_#19369 := local_#19368; if (local_#19369 != 0) { goto CFG_40682; } else { goto CFG_45061; } CFG_40682: assume true; _memory[{ base : local_#32087_o!base, offset : local_#32087_o!offset + 8 }] := 0; goto CFG_45061; CFG_45061: assume true; local_#19370 := local_#32084_i; local_#19371 := 1; assume { :symbol "~uwrap32" } true; local_#32084_i := ~uwrap32(local_#19370 + local_#19371); assert { :LIR "66569" } { :check "overflow" } { :finding_ids "0" } true; local_#19372 := local_#19370; goto CFG_50247; CFG_37545: assume true; } procedure routine_#34647_close_func(local_#5560_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5560_ls : { base : int, offset : int }; var local_#32088_L : { base : int, offset : int }; var local_#32090_fs : { base : int, offset : int }; var local_#32089_f : { base : int, offset : int }; var local_#19373 : int; var local_#19374 : int; var local_#19375 : int; var local_#19376 : int; var local_#19377 : int; var local_#19378 : int; var local_#19379 : int; var local_#19380 : int; var local_#19381 : int; var local_#19382 : int; var local_#19383 : { base : int, offset : int }; var local_#19384 : int; var local_#19385 : int; var local_#19386 : int; var local_#19387 : int; var local_#19388 : int; var local_#19389 : int; var local_#19390 : { base : int, offset : int }; var local_#19391 : { base : int, offset : int }; var local_#19392 : int; var local_#19393 : int; var local_#19394 : int; var local_#19395 : int; var local_#19396 : int; var local_#19397 : int; var local_#19398 : int; var local_#19399 : int; var local_#19400 : { base : int, offset : int }; var local_#19401 : int; var local_#19402 : int; var local_#19403 : int; var local_#19404 : int; var local_#19405 : int; var local_#19406 : int; var local_#19407 : { base : int, offset : int }; var local_#19408 : { base : int, offset : int }; var local_#19409 : int; var local_#19410 : int; var local_#19411 : int; var local_#19412 : int; var local_#19413 : int; var local_#19414 : int; var local_#19415 : int; var local_#19416 : int; var local_#19417 : { base : int, offset : int }; var local_#19418 : int; var local_#19419 : int; var local_#19420 : int; var local_#19421 : int; var local_#19422 : int; var local_#19423 : int; var local_#19424 : { base : int, offset : int }; var local_#19425 : { base : int, offset : int }; var local_#19426 : int; var local_#19427 : int; var local_#19428 : int; var local_#19429 : int; var local_#19430 : int; var local_#19431 : int; var local_#19432 : int; var local_#19433 : int; var local_#19434 : { base : int, offset : int }; var local_#19435 : int; var local_#19436 : int; var local_#19437 : int; var local_#19438 : int; var local_#19439 : int; var local_#19440 : int; var local_#19441 : { base : int, offset : int }; var local_#19442 : { base : int, offset : int }; var local_#19443 : int; var local_#19444 : int; var local_#19445 : int; var local_#19446 : int; var local_#19447 : int; var local_#19448 : int; var local_#19449 : int; var local_#19450 : int; var local_#19451 : { base : int, offset : int }; var local_#19452 : int; var local_#19453 : int; var local_#19454 : int; var local_#19455 : int; var local_#19456 : int; var local_#19457 : int; var local_#19458 : { base : int, offset : int }; var local_#19459 : { base : int, offset : int }; var local_#19460 : int; var local_#19461 : int; var local_#19462 : int; var local_#19463 : int; var local_#19464 : int; var local_#19465 : int; var local_#19466 : int; var local_#19467 : int; var local_#19468 : int; var local_#19469 : { base : int, offset : int }; var local_#19470 : int; var local_#19471 : int; var local_#19472 : int; var local_#19473 : int; var local_#19474 : int; var local_#19475 : int; var local_#19476 : { base : int, offset : int }; var local_#19477 : { base : int, offset : int }; var local_#19478 : int; var local_#19479 : int; var local_#19480 : int; var local_#19481 : { base : int, offset : int }; var local_#19482 : int; var local_#19483 : int; var local_#19484 : int; var local_#19485 : int; var local_#19486 : int; var local_#19487 : int; var local_#19488 : int; var local_#19489 : int; local_#5560_ls := local_#5560_ls_IN; goto CFG_36635; CFG_36635: assume true; goto CFG_43124; CFG_43124: assume true; local_#32088_L := _memory_ptr[{ base : local_#5560_ls!base, offset : local_#5560_ls!offset + 56 }]; local_#32090_fs := _memory_ptr[{ base : local_#5560_ls!base, offset : local_#5560_ls!offset + 48 }]; local_#32089_f := _memory_ptr[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 0 }]; local_#19373 := 0; local_#19374 := 0; goto CFG_46719; CFG_46719: assume true; call routine_#33805_luaK_ret(local_#32090_fs,local_#19373,local_#19374); goto CFG_46720; CFG_46720: assume true; call routine_#34856_leaveblock(local_#32090_fs); goto CFG_50252; CFG_50252: assume true; local_#19375 := 0; if (local_#19375 != 0) { goto CFG_50253; } else { goto CFG_40683; } CFG_50253: assume true; local_#19376 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 32 }]); assert { :LIR "61424" } { :check "overflow" } { :finding_ids "0" } true; local_#19377 := 1; assume { :symbol "~uwrap64" } true; local_#19378 := ~uwrap64(local_#19376 + local_#19377); assert { :LIR "66570" } { :check "overflow" } { :finding_ids "0" } true; local_#19379 := 4611686018427387903; local_#19380 := (if local_#19378 > local_#19379 then 1 else 0); if (local_#19380 != 0) { goto CFG_46733; } else { goto CFG_40683; } CFG_40683: assume true; local_#19381 := 0; local_#19382 := 0; assert { :LIR "61425" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43125; CFG_43125: assume true; local_#19383 := _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 56 }]; assert { :LIR "63040" } { :check "overflow" } { :finding_ids "0" } true; local_#19384 := ~uwrap64(_memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 24 }]); assert { :LIR "63041" } { :check "overflow" } { :finding_ids "0" } true; local_#19385 := 4; assume { :symbol "~uwrap64" } true; local_#19386 := ~uwrap64(local_#19384 * local_#19385); assert { :LIR "68553" } { :check "overflow" } { :finding_ids "0" } true; local_#19387 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 32 }]); assert { :LIR "63042" } { :check "overflow" } { :finding_ids "0" } true; local_#19388 := 4; assume { :symbol "~uwrap64" } true; local_#19389 := ~uwrap64(local_#19387 * local_#19388); assert { :LIR "68554" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46721; CFG_46721: assume true; call local_#19390 := routine_#33857_luaM_realloc_(local_#32088_L,local_#19383,local_#19386,local_#19389); goto CFG_50254; CFG_50254: assume true; local_#19391 := local_#19390; assert { :LIR "61426" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 56 }] := local_#19391; _memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 24 }] := _memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 32 }]; local_#19392 := 0; if (local_#19392 != 0) { goto CFG_50255; } else { goto CFG_40684; } CFG_50255: assume true; local_#19393 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 32 }]); assert { :LIR "61427" } { :check "overflow" } { :finding_ids "0" } true; local_#19394 := 1; assume { :symbol "~uwrap64" } true; local_#19395 := ~uwrap64(local_#19393 + local_#19394); assert { :LIR "66571" } { :check "overflow" } { :finding_ids "0" } true; local_#19396 := 4611686018427387903; local_#19397 := (if local_#19395 > local_#19396 then 1 else 0); if (local_#19397 != 0) { goto CFG_46732; } else { goto CFG_40684; } CFG_40684: assume true; local_#19398 := 0; local_#19399 := 0; assert { :LIR "61428" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43126; CFG_43126: assume true; local_#19400 := _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 72 }]; assert { :LIR "63043" } { :check "overflow" } { :finding_ids "0" } true; local_#19401 := ~uwrap64(_memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 28 }]); assert { :LIR "63044" } { :check "overflow" } { :finding_ids "0" } true; local_#19402 := 4; assume { :symbol "~uwrap64" } true; local_#19403 := ~uwrap64(local_#19401 * local_#19402); assert { :LIR "68555" } { :check "overflow" } { :finding_ids "0" } true; local_#19404 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 32 }]); assert { :LIR "63045" } { :check "overflow" } { :finding_ids "0" } true; local_#19405 := 4; assume { :symbol "~uwrap64" } true; local_#19406 := ~uwrap64(local_#19404 * local_#19405); assert { :LIR "68556" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46722; CFG_46722: assume true; call local_#19407 := routine_#33857_luaM_realloc_(local_#32088_L,local_#19400,local_#19403,local_#19406); goto CFG_50256; CFG_50256: assume true; local_#19408 := local_#19407; assert { :LIR "61429" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 72 }] := local_#19408; _memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 28 }] := _memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 32 }]; local_#19409 := 0; if (local_#19409 != 0) { goto CFG_50257; } else { goto CFG_40685; } CFG_50257: assume true; local_#19410 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 44 }]); assert { :LIR "61430" } { :check "overflow" } { :finding_ids "0" } true; local_#19411 := 1; assume { :symbol "~uwrap64" } true; local_#19412 := ~uwrap64(local_#19410 + local_#19411); assert { :LIR "66572" } { :check "overflow" } { :finding_ids "0" } true; local_#19413 := 1152921504606846975; local_#19414 := (if local_#19412 > local_#19413 then 1 else 0); if (local_#19414 != 0) { goto CFG_46731; } else { goto CFG_40685; } CFG_40685: assume true; local_#19415 := 0; local_#19416 := 0; assert { :LIR "61431" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43127; CFG_43127: assume true; local_#19417 := _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 48 }]; assert { :LIR "63046" } { :check "overflow" } { :finding_ids "0" } true; local_#19418 := ~uwrap64(_memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 20 }]); assert { :LIR "63047" } { :check "overflow" } { :finding_ids "0" } true; local_#19419 := 16; assume { :symbol "~uwrap64" } true; local_#19420 := ~uwrap64(local_#19418 * local_#19419); assert { :LIR "68557" } { :check "overflow" } { :finding_ids "0" } true; local_#19421 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 44 }]); assert { :LIR "63048" } { :check "overflow" } { :finding_ids "0" } true; local_#19422 := 16; assume { :symbol "~uwrap64" } true; local_#19423 := ~uwrap64(local_#19421 * local_#19422); assert { :LIR "68558" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46723; CFG_46723: assume true; call local_#19424 := routine_#33857_luaM_realloc_(local_#32088_L,local_#19417,local_#19420,local_#19423); goto CFG_50258; CFG_50258: assume true; local_#19425 := local_#19424; assert { :LIR "61432" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 48 }] := local_#19425; _memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 20 }] := _memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 44 }]; local_#19426 := 0; if (local_#19426 != 0) { goto CFG_50259; } else { goto CFG_40686; } CFG_50259: assume true; local_#19427 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 48 }]); assert { :LIR "61433" } { :check "overflow" } { :finding_ids "0" } true; local_#19428 := 1; assume { :symbol "~uwrap64" } true; local_#19429 := ~uwrap64(local_#19427 + local_#19428); assert { :LIR "66573" } { :check "overflow" } { :finding_ids "0" } true; local_#19430 := 2305843009213693951; local_#19431 := (if local_#19429 > local_#19430 then 1 else 0); if (local_#19431 != 0) { goto CFG_46730; } else { goto CFG_40686; } CFG_40686: assume true; local_#19432 := 0; local_#19433 := 0; assert { :LIR "61434" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43128; CFG_43128: assume true; local_#19434 := _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 64 }]; assert { :LIR "63049" } { :check "overflow" } { :finding_ids "0" } true; local_#19435 := ~uwrap64(_memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 32 }]); assert { :LIR "63050" } { :check "overflow" } { :finding_ids "0" } true; local_#19436 := 8; assume { :symbol "~uwrap64" } true; local_#19437 := ~uwrap64(local_#19435 * local_#19436); assert { :LIR "68559" } { :check "overflow" } { :finding_ids "0" } true; local_#19438 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 48 }]); assert { :LIR "63051" } { :check "overflow" } { :finding_ids "0" } true; local_#19439 := 8; assume { :symbol "~uwrap64" } true; local_#19440 := ~uwrap64(local_#19438 * local_#19439); assert { :LIR "68560" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46724; CFG_46724: assume true; call local_#19441 := routine_#33857_luaM_realloc_(local_#32088_L,local_#19434,local_#19437,local_#19440); goto CFG_50260; CFG_50260: assume true; local_#19442 := local_#19441; assert { :LIR "61435" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 64 }] := local_#19442; _memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 32 }] := _memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 48 }]; local_#19443 := 0; if (local_#19443 != 0) { goto CFG_50261; } else { goto CFG_40687; } CFG_50261: assume true; local_#19444 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 56 }]); assert { :LIR "61436" } { :check "overflow" } { :finding_ids "0" } true; local_#19445 := 1; assume { :symbol "~uwrap64" } true; local_#19446 := ~uwrap64(local_#19444 + local_#19445); assert { :LIR "66574" } { :check "overflow" } { :finding_ids "0" } true; local_#19447 := 1152921504606846975; local_#19448 := (if local_#19446 > local_#19447 then 1 else 0); if (local_#19448 != 0) { goto CFG_46729; } else { goto CFG_40687; } CFG_40687: assume true; local_#19449 := 0; local_#19450 := 0; assert { :LIR "61437" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43129; CFG_43129: assume true; local_#19451 := _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 80 }]; assert { :LIR "63052" } { :check "overflow" } { :finding_ids "0" } true; local_#19452 := ~uwrap64(_memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 36 }]); assert { :LIR "63053" } { :check "overflow" } { :finding_ids "0" } true; local_#19453 := 16; assume { :symbol "~uwrap64" } true; local_#19454 := ~uwrap64(local_#19452 * local_#19453); assert { :LIR "68561" } { :check "overflow" } { :finding_ids "0" } true; local_#19455 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 56 }]); assert { :LIR "63054" } { :check "overflow" } { :finding_ids "0" } true; local_#19456 := 16; assume { :symbol "~uwrap64" } true; local_#19457 := ~uwrap64(local_#19455 * local_#19456); assert { :LIR "68562" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46725; CFG_46725: assume true; call local_#19458 := routine_#33857_luaM_realloc_(local_#32088_L,local_#19451,local_#19454,local_#19457); goto CFG_50262; CFG_50262: assume true; local_#19459 := local_#19458; assert { :LIR "61438" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 80 }] := local_#19459; local_#19460 := _memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 56 }]; assert { :LIR "63055" } { :check "overflow" } { :finding_ids "0" } local_#19460 <= 2147483647; _memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 36 }] := local_#19460; local_#19461 := 0; if (local_#19461 != 0) { goto CFG_50263; } else { goto CFG_40688; } CFG_50263: assume true; local_#19462 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 59 }]); assert { :LIR "61439" } { :check "overflow" } { :finding_ids "0" } true; local_#19463 := 1; assume { :symbol "~uwrap64" } true; local_#19464 := ~uwrap64(local_#19462 + local_#19463); assert { :LIR "66575" } { :check "overflow" } { :finding_ids "0" } true; local_#19465 := 1152921504606846975; local_#19466 := (if local_#19464 > local_#19465 then 1 else 0); if (local_#19466 != 0) { goto CFG_46728; } else { goto CFG_40688; } CFG_40688: assume true; local_#19467 := 0; local_#19468 := 0; assert { :LIR "61440" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43130; CFG_43130: assume true; local_#19469 := _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 88 }]; assert { :LIR "63056" } { :check "overflow" } { :finding_ids "0" } true; local_#19470 := ~uwrap64(_memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 16 }]); assert { :LIR "63057" } { :check "overflow" } { :finding_ids "0" } true; local_#19471 := 16; assume { :symbol "~uwrap64" } true; local_#19472 := ~uwrap64(local_#19470 * local_#19471); assert { :LIR "68563" } { :check "overflow" } { :finding_ids "0" } true; local_#19473 := ~uwrap64(_memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 59 }]); assert { :LIR "63058" } { :check "overflow" } { :finding_ids "0" } true; local_#19474 := 16; assume { :symbol "~uwrap64" } true; local_#19475 := ~uwrap64(local_#19473 * local_#19474); assert { :LIR "68564" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46726; CFG_46726: assume true; call local_#19476 := routine_#33857_luaM_realloc_(local_#32088_L,local_#19469,local_#19472,local_#19475); goto CFG_50264; CFG_50264: assume true; local_#19477 := local_#19476; assert { :LIR "61441" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 88 }] := local_#19477; local_#19478 := _memory[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 59 }]; assert { :LIR "63059" } { :check "overflow" } { :finding_ids "0" } local_#19478 <= 2147483647; _memory[{ base : local_#32089_f!base, offset : local_#32089_f!offset + 16 }] := local_#19478; local_#19479 := 0; local_#19480 := 0; assert { :LIR "61442" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5560_ls!base, offset : local_#5560_ls!offset + 48 }] := _memory_ptr[{ base : local_#32090_fs!base, offset : local_#32090_fs!offset + 8 }]; local_#19481 := _memory_ptr[{ base : local_#32088_L!base, offset : local_#32088_L!offset + 24 }]; local_#19482 := 0; local_#19483 := (if _memory[{ base : local_#19481!base, offset : local_#19481!offset + 24 }] > local_#19482 then 1 else 0); if (local_#19483 != 0) { goto CFG_43131; } else { goto CFG_39277; } CFG_43131: assume true; local_#19484 := 0; local_#19485 := 0; assert { :LIR "61443" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46727; CFG_46727: assume true; call routine_#33728_luaC_step(local_#32088_L); goto CFG_40689; CFG_40689: assume true; local_#19486 := 0; local_#19487 := 0; assert { :LIR "61444" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39277; CFG_39277: assume true; local_#19488 := 0; local_#19489 := 0; assert { :LIR "61445" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37546; CFG_46728: assume true; call routine_#33858_luaM_toobig(local_#32088_L); CFG_46729: assume true; call routine_#33858_luaM_toobig(local_#32088_L); CFG_46730: assume true; call routine_#33858_luaM_toobig(local_#32088_L); CFG_46731: assume true; call routine_#33858_luaM_toobig(local_#32088_L); CFG_46732: assume true; call routine_#33858_luaM_toobig(local_#32088_L); CFG_46733: assume true; call routine_#33858_luaM_toobig(local_#32088_L); CFG_40690: assume true; goto CFG_43125; CFG_40691: assume true; goto CFG_43126; CFG_40692: assume true; goto CFG_43127; CFG_40693: assume true; goto CFG_43128; CFG_40694: assume true; goto CFG_43129; CFG_40695: assume true; goto CFG_43130; CFG_37546: assume true; } procedure routine_#34648_close_state(local_#5561_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5561_L : { base : int, offset : int }; var local_#32091_g : { base : int, offset : int }; var local_#19490 : { base : int, offset : int }; var local_#19491 : { base : int, offset : int }; var local_#19492 : int; var local_#19493 : { base : int, offset : int }; var local_#19494 : { base : int, offset : int }; var local_#19495 : { base : int, offset : int }; var local_#19496 : int; var local_#19497 : int; var local_#19498 : int; var local_#19499 : int; var local_#19500 : { base : int, offset : int }; var local_#19501 : int; var local_#19502 : int; var local_#19503 : { base : int, offset : int }; var local_#19504 : { base : int, offset : int }; var local_#19505 : { base : int, offset : int }; var local_#19506 : int; var local_#19507 : { base : int, offset : int }; var local_#19508 : { base : int, offset : int }; var local_#19509 : { base : int, offset : int }; var local_#19510 : int; var local_#19511 : int; var local_#19512 : { base : int, offset : int }; local_#5561_L := local_#5561_L_IN; goto CFG_36636; CFG_36636: assume true; goto CFG_43132; CFG_43132: assume true; local_#32091_g := _memory_ptr[{ base : local_#5561_L!base, offset : local_#5561_L!offset + 24 }]; local_#19490 := _memory_ptr[{ base : local_#5561_L!base, offset : local_#5561_L!offset + 56 }]; goto CFG_46734; CFG_46734: assume true; call routine_#33749_luaF_close(local_#5561_L,local_#19490); goto CFG_46735; CFG_46735: assume true; call routine_#33724_luaC_freeallobjects(local_#5561_L); goto CFG_50265; CFG_50265: assume true; local_#19491 := _memory_ptr[{ base : local_#32091_g!base, offset : local_#32091_g!offset + 208 }]; if (local_#19491 != { base : 0, offset : 0 }) { goto CFG_40696; } else { goto CFG_43133; } CFG_40696: assume true; local_#19492 := 0; assert { :LIR "61446" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_43133; CFG_43133: assume true; local_#19493 := _memory_ptr[{ base : local_#5561_L!base, offset : local_#5561_L!offset + 24 }]; local_#19494 := _memory_ptr[{ base : local_#19493!base, offset : local_#19493!offset + 48 }]; assert { :LIR "63060" } { :check "overflow" } { :finding_ids "0" } true; local_#19495 := _memory_ptr[{ base : local_#5561_L!base, offset : local_#5561_L!offset + 24 }]; local_#19496 := ~uwrap64(_memory[{ base : local_#19495!base, offset : local_#19495!offset + 60 }]); assert { :LIR "63061" } { :check "overflow" } { :finding_ids "0" } true; local_#19497 := 8; assume { :symbol "~uwrap64" } true; local_#19498 := ~uwrap64(local_#19496 * local_#19497); assert { :LIR "68565" } { :check "overflow" } { :finding_ids "0" } true; local_#19499 := 0; goto CFG_46736; CFG_46736: assume true; call local_#19500 := routine_#33857_luaM_realloc_(local_#5561_L,local_#19494,local_#19498,local_#19499); goto CFG_46737; CFG_46737: assume true; call routine_#34764_freestack(local_#5561_L); goto CFG_43134; CFG_43134: assume true; local_#19501 := 0; local_#19502 := 0; assert { :LIR "61447" } { :check "overflow" } { :finding_ids "0" } true; local_#19503 := _memory_ptr[{ base : local_#32091_g!base, offset : local_#32091_g!offset + 0 }]; local_#19504 := _memory_ptr[{ base : local_#32091_g!base, offset : local_#32091_g!offset + 8 }]; local_#19505 := local_#5561_L; assert { :LIR "61448" } { :check "overflow" } { :finding_ids "0" } true; local_#19506 := 8; local_#19507 := { base : local_#19505!base, offset : local_#19505!offset - local_#19506 * 1 }; local_#19508 := local_#19507; assert { :LIR "61449" } { :check "overflow" } { :finding_ids "0" } true; local_#19509 := local_#19508; assert { :LIR "63062" } { :check "overflow" } { :finding_ids "0" } true; local_#19510 := 1552; local_#19511 := 0; goto CFG_46738; CFG_46738: assume true; if (local_#19503 == fun_addr_#34841_l_alloc) { call local_#19512 := routine_#34841_l_alloc(local_#19504,local_#19509,local_#19510,local_#19511); } else { assume false; } goto CFG_39278; CFG_39278: assume true; goto CFG_37547; CFG_37547: assume true; } procedure routine_#34649_closegoto(local_#5562_ls_IN : { base : int, offset : int }, local_#5563_g_IN : int, local_#5564_label_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5562_ls : { base : int, offset : int }; var local_#5563_g : int; var local_#5564_label : { base : int, offset : int }; var local_#32092_fs : { base : int, offset : int }; var local_#19513 : { base : int, offset : int }; var local_#32093_gl : { base : int, offset : int }; var local_#19514 : { base : int, offset : int }; var local_#32094_gt : { base : int, offset : int }; var local_#19515 : int; var local_#19516 : int; var local_#19517 : int; var local_#19518 : int; var local_#19519 : int; var local_#19520 : int; var local_#19521 : int; var local_#32095_i : int; var local_#19522 : int; var local_#19523 : int; var local_#19524 : int; var local_#19525 : int; var local_#19526 : int; var local_#19527 : int; var local_#19528 : int; var local_#19529 : int; var local_#19530 : { base : int, offset : int }; var local_#19531 : { base : int, offset : int }; var local_#19532 : int; var local_#19533 : int; var local_#19534 : int; var local_#19535 : int; var local_#19536 : { base : int, offset : int }; var local_#32097_vname : { base : int, offset : int }; var local_#19537 : { base : int, offset : int }; var local_#19538 : { base : int, offset : int }; var local_#19539 : { base : int, offset : int }; var local_#19540 : { base : int, offset : int }; var local_#19541 : int; var local_#19542 : { base : int, offset : int }; var local_#19543 : int; var local_#19544 : { base : int, offset : int }; var local_#19545 : int; var local_#19546 : { base : int, offset : int }; var local_#19547 : { base : int, offset : int }; var local_#32096_msg : { base : int, offset : int }; local_#5562_ls := local_#5562_ls_IN; local_#5563_g := local_#5563_g_IN; local_#5564_label := local_#5564_label_IN; goto CFG_36637; CFG_36637: assume true; goto CFG_50266; CFG_50266: assume true; local_#32092_fs := _memory_ptr[{ base : local_#5562_ls!base, offset : local_#5562_ls!offset + 48 }]; local_#19513 := _memory_ptr[{ base : local_#5562_ls!base, offset : local_#5562_ls!offset + 88 }]; local_#32093_gl := { base : local_#19513!base, offset : local_#19513!offset + 16 }; local_#19514 := { base : _memory_ptr[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 0 }]!offset + local_#5563_g * 24 }; local_#32094_gt := local_#19514; local_#19515 := 0; local_#19516 := 0; assert { :LIR "61450" } { :check "overflow" } { :finding_ids "0" } true; local_#19517 := _memory[{ base : local_#32094_gt!base, offset : local_#32094_gt!offset + 16 }]; assert { :LIR "63063" } { :check "overflow" } { :finding_ids "0" } local_#19517 <= 2147483647; local_#19518 := _memory[{ base : local_#5564_label!base, offset : local_#5564_label!offset + 16 }]; assert { :LIR "63064" } { :check "overflow" } { :finding_ids "0" } local_#19518 <= 2147483647; local_#19519 := (if local_#19517 < local_#19518 then 1 else 0); if (local_#19519 != 0) { goto CFG_43137; } else { goto CFG_43135; } CFG_43135: assume true; local_#19520 := _memory[{ base : local_#32094_gt!base, offset : local_#32094_gt!offset + 8 }]; local_#19521 := _memory[{ base : local_#5564_label!base, offset : local_#5564_label!offset + 8 }]; goto CFG_46739; CFG_46739: assume true; call routine_#33800_luaK_patchlist(local_#32092_fs,local_#19520,local_#19521); goto CFG_41721; CFG_41721: assume true; local_#32095_i := local_#5563_g; goto CFG_50267; CFG_50267: assume true; local_#19522 := 1; local_#19523 := _memory[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 8 }] - local_#19522; assert { :LIR "68014" } { :check "overflow" } { :finding_ids "0" } local_#19523 <= 2147483647; local_#19524 := (if local_#32095_i < local_#19523 then 1 else 0); if (local_#19524 != 0) { goto CFG_43136; } else { goto CFG_39279; } CFG_39279: assume true; local_#19525 := _memory[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 8 }]; local_#19526 := 1; _memory[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 8 }] := local_#19525 - local_#19526; assert { :LIR "68015" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 8 }] <= -1; local_#19527 := local_#19525; goto CFG_37548; CFG_43136: assume true; local_#19528 := 1; local_#19529 := local_#32095_i + local_#19528; assert { :LIR "66576" } { :check "overflow" } { :finding_ids "0" } local_#19529 <= 2147483647; local_#19530 := { base : _memory_ptr[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 0 }]!offset + local_#19529 * 24 }; local_#19531 := { base : _memory_ptr[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32093_gl!base, offset : local_#32093_gl!offset + 0 }]!offset + local_#32095_i * 24 }; assume read_type_#51(_memory, _memory_ptr, local_#19530)!_name == _memory_ptr[{ base : local_#19530!base, offset : local_#19530!offset + 0 }] && read_type_#51(_memory, _memory_ptr, local_#19530)!_pc == _memory[{ base : local_#19530!base, offset : local_#19530!offset + 8 }] && read_type_#51(_memory, _memory_ptr, local_#19530)!_line == _memory[{ base : local_#19530!base, offset : local_#19530!offset + 12 }] && read_type_#51(_memory, _memory_ptr, local_#19530)!_nactvar == _memory[{ base : local_#19530!base, offset : local_#19530!offset + 16 }]; call write_type_#51(local_#19531,read_type_#51(_memory, _memory_ptr, local_#19530)); goto CFG_45062; CFG_45062: assume true; local_#19532 := local_#32095_i; local_#19533 := 1; local_#32095_i := local_#19532 + local_#19533; assert { :LIR "66577" } { :check "overflow" } { :finding_ids "0" } local_#32095_i <= 2147483647; local_#19534 := local_#19532; goto CFG_50267; CFG_43137: assume true; local_#19535 := _memory[{ base : local_#32094_gt!base, offset : local_#32094_gt!offset + 16 }]; assert { :LIR "63065" } { :check "overflow" } { :finding_ids "0" } local_#19535 <= 2147483647; goto CFG_46740; CFG_46740: assume true; call local_#19536 := routine_#34792_getlocvar(local_#32092_fs,local_#19535); goto CFG_43138; CFG_43138: assume true; local_#32097_vname := _memory_ptr[{ base : local_#19536!base, offset : local_#19536!offset + 0 }]; local_#19537 := _memory_ptr[{ base : local_#5562_ls!base, offset : local_#5562_ls!offset + 56 }]; assume _memory[{ base : strlit_#70490!base, offset : strlit_#70490!offset + 55 }] == 0; local_#19538 := strlit_#70490; local_#19539 := { base : local_#19538!base, offset : local_#19538!offset + 0 * 1 }; assert { :LIR "63066" } { :check "overflow" } { :finding_ids "0" } true; local_#19540 := _memory_ptr[{ base : local_#32094_gt!base, offset : local_#32094_gt!offset + 0 }]; assert { :LIR "61451" } { :check "overflow" } { :finding_ids "0" } true; local_#19541 := 24; local_#19542 := { base : local_#19540!base, offset : local_#19540!offset + local_#19541 * 1 }; local_#19543 := _memory[{ base : local_#32094_gt!base, offset : local_#32094_gt!offset + 12 }]; local_#19544 := local_#32097_vname; assert { :LIR "61452" } { :check "overflow" } { :finding_ids "0" } true; local_#19545 := 24; local_#19546 := { base : local_#19544!base, offset : local_#19544!offset + local_#19545 * 1 }; goto CFG_46741; CFG_46741: assume true; call local_#19547 := routine_#33865_luaO_pushfstring(local_#19537,local_#19539,{ base : 0, offset : 0 }); goto CFG_43139; CFG_43139: assume true; local_#32096_msg := local_#19547; goto CFG_46742; CFG_46742: assume true; call routine_#35052_semerror(local_#5562_ls,local_#32096_msg); CFG_37548: assume true; } procedure routine_#34650_closelistfield(local_#5565_fs_IN : { base : int, offset : int }, local_#5566_cc_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5565_fs : { base : int, offset : int }; var local_#5566_cc : { base : int, offset : int }; var local_#19548 : int; var local_#19549 : int; var local_#19550 : int; var local_#19551 : { base : int, offset : int }; var local_#19552 : int; var local_#19553 : int; var local_#19554 : { base : int, offset : int }; var local_#19555 : { base : int, offset : int }; var local_#19556 : int; var local_#19557 : int; var local_#19558 : int; local_#5565_fs := local_#5565_fs_IN; local_#5566_cc := local_#5566_cc_IN; goto CFG_36638; CFG_36638: assume true; goto CFG_50268; CFG_50268: assume true; local_#19548 := ~uwrap32(_memory[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 0 }]); assert { :LIR "63067" } { :check "overflow" } { :finding_ids "0" } true; local_#19549 := 0; local_#19550 := (if local_#19548 == local_#19549 then 1 else 0); if (local_#19550 != 0) { goto CFG_39281; } else { goto CFG_43140; } CFG_43140: assume true; local_#19551 := { base : local_#5566_cc!base, offset : local_#5566_cc!offset + 0 }; goto CFG_46743; CFG_46743: assume true; call routine_#33788_luaK_exp2nextreg(local_#5565_fs,local_#19551); goto CFG_50269; CFG_50269: assume true; _memory[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 0 }] := 0; local_#19552 := 50; local_#19553 := (if _memory[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 40 }] == local_#19552 then 1 else 0); if (local_#19553 != 0) { goto CFG_43141; } else { goto CFG_39280; } CFG_43141: assume true; local_#19554 := _memory_ptr[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 24 }]; local_#19555 := { base : local_#19554!base, offset : local_#19554!offset + 8 }; local_#19556 := _memory[local_#19555]; local_#19557 := _memory[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 36 }]; local_#19558 := _memory[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 40 }]; goto CFG_46744; CFG_46744: assume true; call routine_#33807_luaK_setlist(local_#5565_fs,local_#19556,local_#19557,local_#19558); goto CFG_40697; CFG_40697: assume true; _memory[{ base : local_#5566_cc!base, offset : local_#5566_cc!offset + 40 }] := 0; goto CFG_39280; CFG_39280: assume true; goto CFG_37549; CFG_39281: assume true; goto CFG_37549; CFG_37549: assume true; } procedure routine_#34651_code_loadbool(local_#5567_fs_IN : { base : int, offset : int }, local_#5568_A_IN : int, local_#5569_b_IN : int, local_#5570_jump_IN : int) returns (local_#7981 : int) modifies _memory, _memory_ptr, _valid; { var local_#5567_fs : { base : int, offset : int }; var local_#5568_A : int; var local_#5569_b : int; var local_#5570_jump : int; var local_#19559 : int; var local_#19560 : int; var local_#19561 : int; local_#5567_fs := local_#5567_fs_IN; local_#5568_A := local_#5568_A_IN; local_#5569_b := local_#5569_b_IN; local_#5570_jump := local_#5570_jump_IN; goto CFG_36639; CFG_36639: assume true; goto CFG_46745; CFG_46745: assume true; call local_#19559 := routine_#33791_luaK_getlabel(local_#5567_fs); goto CFG_43142; CFG_43142: assume true; local_#19560 := 3; goto CFG_46746; CFG_46746: assume true; call local_#19561 := routine_#33780_luaK_codeABC(local_#5567_fs,local_#19560,local_#5568_A,local_#5569_b,local_#5570_jump); goto CFG_38420; CFG_38420: assume true; local_#7981 := local_#19561; goto CFG_37550; CFG_37550: assume true; } procedure routine_#34652_codebinexpval(local_#5571_fs_IN : { base : int, offset : int }, local_#5572_op_IN : int, local_#5573_e1_IN : { base : int, offset : int }, local_#5574_e2_IN : { base : int, offset : int }, local_#5575_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5571_fs : { base : int, offset : int }; var local_#5572_op : int; var local_#5573_e1 : { base : int, offset : int }; var local_#5574_e2 : { base : int, offset : int }; var local_#5575_line : int; var local_#19562 : int; var local_#32099_rk2 : int; var local_#19563 : int; var local_#32098_rk1 : int; var local_#19564 : int; var local_#19565 : int; var local_#19566 : { base : int, offset : int }; local_#5571_fs := local_#5571_fs_IN; local_#5572_op := local_#5572_op_IN; local_#5573_e1 := local_#5573_e1_IN; local_#5574_e2 := local_#5574_e2_IN; local_#5575_line := local_#5575_line_IN; goto CFG_36640; CFG_36640: assume true; goto CFG_46747; CFG_46747: assume true; call local_#19562 := routine_#33785_luaK_exp2RK(local_#5571_fs,local_#5574_e2); goto CFG_43143; CFG_43143: assume true; local_#32099_rk2 := local_#19562; goto CFG_46748; CFG_46748: assume true; call local_#19563 := routine_#33785_luaK_exp2RK(local_#5571_fs,local_#5573_e1); goto CFG_43144; CFG_43144: assume true; local_#32098_rk1 := local_#19563; goto CFG_46749; CFG_46749: assume true; call routine_#34761_freeexps(local_#5571_fs,local_#5573_e1,local_#5574_e2); goto CFG_43145; CFG_43145: assume true; local_#19564 := 0; goto CFG_46750; CFG_46750: assume true; call local_#19565 := routine_#33780_luaK_codeABC(local_#5571_fs,local_#5572_op,local_#19564,local_#32098_rk1,local_#32099_rk2); goto CFG_43146; CFG_43146: assume true; local_#19566 := { base : local_#5573_e1!base, offset : local_#5573_e1!offset + 8 }; _memory[local_#19566] := local_#19565; _memory[{ base : local_#5573_e1!base, offset : local_#5573_e1!offset + 0 }] := 12; goto CFG_46751; CFG_46751: assume true; call routine_#33790_luaK_fixline(local_#5571_fs,local_#5575_line); goto CFG_39282; CFG_39282: assume true; goto CFG_37551; CFG_37551: assume true; } procedure routine_#34653_codeclosure(local_#5576_ls_IN : { base : int, offset : int }, local_#5577_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5576_ls : { base : int, offset : int }; var local_#5577_v : { base : int, offset : int }; var local_#19567 : { base : int, offset : int }; var local_#32100_fs : { base : int, offset : int }; var local_#19568 : int; var local_#19569 : int; var local_#19570 : int; var local_#19571 : int; var local_#19572 : int; var local_#19573 : int; var local_#19574 : int; local_#5576_ls := local_#5576_ls_IN; local_#5577_v := local_#5577_v_IN; goto CFG_36641; CFG_36641: assume true; goto CFG_43147; CFG_43147: assume true; local_#19567 := _memory_ptr[{ base : local_#5576_ls!base, offset : local_#5576_ls!offset + 48 }]; local_#32100_fs := _memory_ptr[{ base : local_#19567!base, offset : local_#19567!offset + 8 }]; local_#19568 := 12; local_#19569 := 44; local_#19570 := 0; local_#19571 := 1; local_#19572 := _memory[{ base : local_#32100_fs!base, offset : local_#32100_fs!offset + 48 }] - local_#19571; assert { :LIR "68016" } { :check "overflow" } { :finding_ids "0" } local_#19572 <= 2147483647; local_#19573 := ~uwrap32(local_#19572); assert { :LIR "63068" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46752; CFG_46752: assume true; call local_#19574 := routine_#33781_luaK_codeABx(local_#32100_fs,local_#19569,local_#19570,local_#19573); goto CFG_46753; CFG_46753: assume true; call routine_#34812_init_exp(local_#5577_v,local_#19568,local_#19574); goto CFG_46754; CFG_46754: assume true; call routine_#33788_luaK_exp2nextreg(local_#32100_fs,local_#5577_v); goto CFG_39283; CFG_39283: assume true; goto CFG_37552; CFG_37552: assume true; } procedure routine_#34654_codecomp(local_#5578_fs_IN : { base : int, offset : int }, local_#5579_opr_IN : int, local_#5580_e1_IN : { base : int, offset : int }, local_#5581_e2_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5578_fs : { base : int, offset : int }; var local_#5579_opr : int; var local_#5580_e1 : { base : int, offset : int }; var local_#5581_e2 : { base : int, offset : int }; var local_#19575 : int; var local_#19576 : int; var local_#19577 : int; var local_#19578 : { base : int, offset : int }; var local_#30738 : int; var local_#19579 : { base : int, offset : int }; var local_#19580 : int; var local_#19581 : int; var local_#32101_rk1 : int; var local_#19582 : int; var local_#32102_rk2 : int; var local_#19583 : int; var local_#19584 : int; var local_#19585 : int; var local_#19586 : int; var local_#19587 : int; var local_#19588 : int; var local_#19589 : int; var local_#32104_op : int; var local_#19590 : int; var local_#19591 : int; var local_#19592 : { base : int, offset : int }; var local_#19593 : int; var local_#19594 : int; var local_#19595 : int; var local_#19596 : int; var local_#19597 : int; var local_#19598 : int; var local_#32103_op : int; var local_#19599 : int; var local_#19600 : int; var local_#19601 : { base : int, offset : int }; var local_#19602 : int; var local_#19603 : int; var local_#19604 : int; var local_#19605 : { base : int, offset : int }; local_#5578_fs := local_#5578_fs_IN; local_#5579_opr := local_#5579_opr_IN; local_#5580_e1 := local_#5580_e1_IN; local_#5581_e2 := local_#5581_e2_IN; goto CFG_36642; CFG_36642: assume true; goto CFG_50270; CFG_50270: assume true; local_#19575 := ~uwrap32(_memory[{ base : local_#5580_e1!base, offset : local_#5580_e1!offset + 0 }]); assert { :LIR "63069" } { :check "overflow" } { :finding_ids "0" } true; local_#19576 := 4; local_#19577 := (if local_#19575 == local_#19576 then 1 else 0); if (local_#19577 != 0) { goto CFG_40699; } else { goto CFG_40698; } CFG_40698: assume true; local_#19578 := { base : local_#5580_e1!base, offset : local_#5580_e1!offset + 8 }; local_#30738 := _memory[local_#19578]; goto CFG_43148; CFG_40699: assume true; local_#19579 := { base : local_#5580_e1!base, offset : local_#5580_e1!offset + 8 }; local_#19580 := 256; local_#19581 := ~sor32(_memory[local_#19579], local_#19580); local_#30738 := local_#19581; goto CFG_43148; CFG_43148: assume true; local_#32101_rk1 := local_#30738; goto CFG_46755; CFG_46755: assume true; call local_#19582 := routine_#33785_luaK_exp2RK(local_#5578_fs,local_#5581_e2); goto CFG_43149; CFG_43149: assume true; local_#32102_rk2 := local_#19582; goto CFG_46756; CFG_46756: assume true; call routine_#34761_freeexps(local_#5578_fs,local_#5580_e1,local_#5581_e2); goto CFG_51534; CFG_51534: assume true; local_#19583 := local_#5579_opr; if (local_#19583 == 16) { goto CFG_43152; } if (local_#19583 == 17) { goto CFG_43151; } if (local_#19583 == 18) { goto CFG_43151; } goto CFG_43150; CFG_43150: assume true; local_#19584 := ~uwrap32(local_#5579_opr); assert { :LIR "63070" } { :check "overflow" } { :finding_ids "0" } true; local_#19585 := 13; assume { :symbol "~uwrap32" } true; local_#19586 := ~uwrap32(local_#19584 - local_#19585); assert { :LIR "68017" } { :check "overflow" } { :finding_ids "0" } true; local_#19587 := 31; assume { :symbol "~uwrap32" } true; local_#19588 := ~uwrap32(local_#19586 + local_#19587); assert { :LIR "66578" } { :check "overflow" } { :finding_ids "0" } true; local_#19589 := local_#19588; assert { :LIR "61453" } { :check "overflow" } { :finding_ids "0" } local_#19589 <= 46; local_#32104_op := local_#19589; local_#19590 := 1; goto CFG_46757; CFG_46757: assume true; call local_#19591 := routine_#34664_condjump(local_#5578_fs,local_#32104_op,local_#19590,local_#32101_rk1,local_#32102_rk2); goto CFG_39598; CFG_39598: assume true; local_#19592 := { base : local_#5580_e1!base, offset : local_#5580_e1!offset + 8 }; _memory[local_#19592] := local_#19591; goto CFG_39284; CFG_43151: assume true; local_#19593 := ~uwrap32(local_#5579_opr); assert { :LIR "63071" } { :check "overflow" } { :finding_ids "0" } true; local_#19594 := 16; assume { :symbol "~uwrap32" } true; local_#19595 := ~uwrap32(local_#19593 - local_#19594); assert { :LIR "68018" } { :check "overflow" } { :finding_ids "0" } true; local_#19596 := 31; assume { :symbol "~uwrap32" } true; local_#19597 := ~uwrap32(local_#19595 + local_#19596); assert { :LIR "66579" } { :check "overflow" } { :finding_ids "0" } true; local_#19598 := local_#19597; assert { :LIR "61454" } { :check "overflow" } { :finding_ids "0" } local_#19598 <= 46; local_#32103_op := local_#19598; local_#19599 := 1; goto CFG_46758; CFG_46758: assume true; call local_#19600 := routine_#34664_condjump(local_#5578_fs,local_#32103_op,local_#19599,local_#32102_rk2,local_#32101_rk1); goto CFG_39599; CFG_39599: assume true; local_#19601 := { base : local_#5580_e1!base, offset : local_#5580_e1!offset + 8 }; _memory[local_#19601] := local_#19600; goto CFG_39284; CFG_43152: assume true; local_#19602 := 31; local_#19603 := 0; goto CFG_46759; CFG_46759: assume true; call local_#19604 := routine_#34664_condjump(local_#5578_fs,local_#19602,local_#19603,local_#32101_rk1,local_#32102_rk2); goto CFG_39600; CFG_39600: assume true; local_#19605 := { base : local_#5580_e1!base, offset : local_#5580_e1!offset + 8 }; _memory[local_#19605] := local_#19604; goto CFG_39284; CFG_39284: assume true; _memory[{ base : local_#5580_e1!base, offset : local_#5580_e1!offset + 0 }] := 11; goto CFG_37553; CFG_41930: assume true; goto CFG_39284; CFG_37553: assume true; } procedure routine_#34655_codeextraarg(local_#5582_fs_IN : { base : int, offset : int }, local_#5583_a_IN : int) returns (local_#7982 : int) modifies _memory, _memory_ptr, _valid; { var local_#5582_fs : { base : int, offset : int }; var local_#5583_a : int; var local_#19606 : int; var local_#19607 : int; var local_#19608 : int; var local_#19609 : int; var local_#19610 : int; var local_#19611 : int; var local_#19612 : int; var local_#19613 : int; local_#5582_fs := local_#5582_fs_IN; local_#5583_a := local_#5583_a_IN; goto CFG_36643; CFG_36643: assume true; goto CFG_43153; CFG_43153: assume true; local_#19606 := 0; local_#19607 := 0; assert { :LIR "61455" } { :check "overflow" } { :finding_ids "0" } true; local_#19608 := 46; local_#19609 := ~uwrap32(local_#5583_a); assert { :LIR "61456" } { :check "overflow" } { :finding_ids "0" } true; local_#19610 := 6; local_#19611 := ~shl32(local_#19609, local_#19610); local_#19612 := ~uor32(local_#19608, local_#19611); goto CFG_46760; CFG_46760: assume true; call local_#19613 := routine_#34904_luaK_code(local_#5582_fs,local_#19612); goto CFG_38421; CFG_38421: assume true; local_#7982 := local_#19613; goto CFG_37554; CFG_37554: assume true; } procedure routine_#34656_codenot(local_#5584_fs_IN : { base : int, offset : int }, local_#5585_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5584_fs : { base : int, offset : int }; var local_#5585_e : { base : int, offset : int }; var local_#19614 : int; var local_#19615 : int; var local_#19616 : int; var local_#19617 : int; var local_#19618 : int; var local_#19619 : { base : int, offset : int }; var local_#19620 : int; var local_#19621 : int; var local_#19622 : int; var local_#19623 : { base : int, offset : int }; var local_#32105_temp : int; var local_#19624 : int; var local_#19625 : int; local_#5584_fs := local_#5584_fs_IN; local_#5585_e := local_#5585_e_IN; goto CFG_36644; CFG_36644: assume true; goto CFG_46761; CFG_46761: assume true; call routine_#33784_luaK_dischargevars(local_#5584_fs,local_#5585_e); goto CFG_51535; CFG_51535: assume true; local_#19614 := _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 0 }]; if (local_#19614 == 1) { goto CFG_39604; } if (local_#19614 == 3) { goto CFG_39604; } if (local_#19614 == 4) { goto CFG_39603; } if (local_#19614 == 5) { goto CFG_39603; } if (local_#19614 == 6) { goto CFG_39603; } if (local_#19614 == 2) { goto CFG_39603; } if (local_#19614 == 11) { goto CFG_46765; } if (local_#19614 == 12) { goto CFG_46762; } if (local_#19614 == 7) { goto CFG_46762; } goto CFG_43154; CFG_43154: assume true; local_#19615 := 0; local_#19616 := 0; assert { :LIR "61457" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41931; CFG_41931: assume true; goto CFG_43156; CFG_46762: assume true; call routine_#34698_discharge2anyreg(local_#5584_fs,local_#5585_e); goto CFG_46763; CFG_46763: assume true; call routine_#34760_freeexp(local_#5584_fs,local_#5585_e); goto CFG_43155; CFG_43155: assume true; local_#19617 := 27; local_#19618 := 0; local_#19619 := { base : local_#5585_e!base, offset : local_#5585_e!offset + 8 }; local_#19620 := _memory[local_#19619]; local_#19621 := 0; goto CFG_46764; CFG_46764: assume true; call local_#19622 := routine_#33780_luaK_codeABC(local_#5584_fs,local_#19617,local_#19618,local_#19620,local_#19621); goto CFG_39601; CFG_39601: assume true; local_#19623 := { base : local_#5585_e!base, offset : local_#5585_e!offset + 8 }; _memory[local_#19623] := local_#19622; _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 0 }] := 12; goto CFG_43156; CFG_46765: assume true; call routine_#34955_negatecondition(local_#5584_fs,local_#5585_e); goto CFG_39602; CFG_39602: assume true; goto CFG_43156; CFG_39603: assume true; _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 0 }] := 3; goto CFG_43156; CFG_39604: assume true; _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 0 }] := 2; goto CFG_43156; CFG_43156: assume true; local_#32105_temp := _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 20 }]; _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 20 }] := _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 16 }]; _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 16 }] := local_#32105_temp; local_#19624 := _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 20 }]; goto CFG_46766; CFG_46766: assume true; call routine_#35030_removevalues(local_#5584_fs,local_#19624); goto CFG_43157; CFG_43157: assume true; local_#19625 := _memory[{ base : local_#5585_e!base, offset : local_#5585_e!offset + 16 }]; goto CFG_46767; CFG_46767: assume true; call routine_#35030_removevalues(local_#5584_fs,local_#19625); goto CFG_39285; CFG_39285: assume true; goto CFG_37555; CFG_37555: assume true; } procedure routine_#34657_codepoint(local_#5586_L_IN : { base : int, offset : int }) returns (local_#7983 : int) modifies _memory, _memory_ptr, _valid; { var local_#5586_L : { base : int, offset : int }; var local_#19626 : int; var local_#32106_len : { base : int, offset : int }; var local_#19627 : { base : int, offset : int }; var local_#19628 : { base : int, offset : int }; var local_#32110_s : { base : int, offset : int }; var local_#19629 : int; var local_#19630 : int; var local_#19631 : int; var local_#19632 : int; var local_#32109_posi : int; var local_#19633 : int; var local_#19634 : int; var local_#19635 : int; var local_#32108_pose : int; var local_#19636 : int; var local_#19637 : int; var local_#19638 : int; var local_#19639 : { base : int, offset : int }; var local_#19640 : { base : int, offset : int }; var local_#19641 : int; var local_#19642 : int; var local_#30739 : int; var local_#19643 : int; var local_#19644 : int; var local_#19645 : int; var local_#19646 : int; var local_#19647 : { base : int, offset : int }; var local_#19648 : { base : int, offset : int }; var local_#19649 : int; var local_#19650 : int; var local_#30740 : int; var local_#19651 : int; var local_#19652 : int; var local_#19653 : int; var local_#19654 : int; var local_#19655 : int; var local_#19656 : int; var local_#19657 : int; var local_#19658 : int; var local_#19659 : int; var local_#32107_n : int; var local_#19660 : { base : int, offset : int }; var local_#19661 : { base : int, offset : int }; var local_#19662 : { base : int, offset : int }; var local_#32111_se : { base : int, offset : int }; var local_#19663 : int; var local_#19664 : int; var local_#19665 : int; var local_#32112_code : { base : int, offset : int }; var local_#19666 : { base : int, offset : int }; var local_#19667 : { base : int, offset : int }; var local_#19668 : { base : int, offset : int }; var local_#19669 : int; var local_#19670 : int; var local_#19671 : int; var local_#19672 : int; var local_#19673 : int; var local_#19674 : { base : int, offset : int }; var local_#19675 : { base : int, offset : int }; var local_#19676 : int; var local_#19677 : { base : int, offset : int }; var local_#19678 : { base : int, offset : int }; var local_#19679 : int; local_#5586_L := local_#5586_L_IN; goto CFG_36645; CFG_36645: assume true; goto CFG_43158; CFG_43158: assume true; local_#19626 := 1; local_#19627 := local_#32106_len; goto CFG_46768; CFG_46768: assume true; call local_#19628 := routine_#33821_luaL_checklstring(local_#5586_L,local_#19626,local_#19627); goto CFG_43159; CFG_43159: assume true; local_#32110_s := local_#19628; local_#19629 := 2; local_#19630 := 1; goto CFG_46769; CFG_46769: assume true; call local_#19631 := routine_#33841_luaL_optinteger(local_#5586_L,local_#19629,local_#19630); goto CFG_46770; CFG_46770: assume true; call local_#19632 := routine_#35130_u_posrelat(local_#19631,_memory[local_#32106_len]); goto CFG_43160; CFG_43160: assume true; local_#32109_posi := local_#19632; local_#19633 := 3; goto CFG_46771; CFG_46771: assume true; call local_#19634 := routine_#33841_luaL_optinteger(local_#5586_L,local_#19633,local_#32109_posi); goto CFG_46772; CFG_46772: assume true; call local_#19635 := routine_#35130_u_posrelat(local_#19634,_memory[local_#32106_len]); goto CFG_50271; CFG_50271: assume true; local_#32108_pose := local_#19635; local_#19636 := 1; local_#19637 := (if local_#32109_posi >= local_#19636 then 1 else 0); if (local_#19637 != 0) { goto CFG_40701; } else { goto CFG_43161; } CFG_43161: assume true; local_#19638 := 2; assume _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 0 }] == 111 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 1 }] == 117 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 2 }] == 116 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 3 }] == 32 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 4 }] == 111 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 5 }] == 102 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 6 }] == 32 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 7 }] == 114 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 8 }] == 97 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 9 }] == 110 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 10 }] == 103 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 11 }] == 101 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 12 }] == 0; local_#19639 := strlit_#70491; local_#19640 := { base : local_#19639!base, offset : local_#19639!offset + 0 * 1 }; assert { :LIR "63072" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46773; CFG_46773: assume true; call local_#19641 := routine_#33815_luaL_argerror(local_#5586_L,local_#19638,local_#19640); goto CFG_50272; CFG_50272: assume true; local_#19642 := local_#19641; if (local_#19642 != 0) { goto CFG_40701; } else { goto CFG_40700; } CFG_40700: assume true; local_#30739 := 0; goto CFG_50273; CFG_40701: assume true; local_#30739 := 1; goto CFG_50273; CFG_50273: assume true; local_#19643 := 0; assert { :LIR "61458" } { :check "overflow" } { :finding_ids "0" } true; local_#19644 := _memory[local_#32106_len]; assert { :LIR "61459" } { :check "overflow" } { :finding_ids "0" } local_#19644 <= 9223372036854775807; local_#19645 := (if local_#32108_pose <= local_#19644 then 1 else 0); if (local_#19645 != 0) { goto CFG_40703; } else { goto CFG_43162; } CFG_43162: assume true; local_#19646 := 3; assume _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 0 }] == 111 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 1 }] == 117 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 2 }] == 116 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 3 }] == 32 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 4 }] == 111 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 5 }] == 102 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 6 }] == 32 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 7 }] == 114 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 8 }] == 97 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 9 }] == 110 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 10 }] == 103 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 11 }] == 101 && _memory[{ base : strlit_#70491!base, offset : strlit_#70491!offset + 12 }] == 0; local_#19647 := strlit_#70491; local_#19648 := { base : local_#19647!base, offset : local_#19647!offset + 0 * 1 }; assert { :LIR "63073" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46774; CFG_46774: assume true; call local_#19649 := routine_#33815_luaL_argerror(local_#5586_L,local_#19646,local_#19648); goto CFG_50274; CFG_50274: assume true; local_#19650 := local_#19649; if (local_#19650 != 0) { goto CFG_40703; } else { goto CFG_40702; } CFG_40702: assume true; local_#30740 := 0; goto CFG_50275; CFG_40703: assume true; local_#30740 := 1; goto CFG_50275; CFG_50275: assume true; local_#19651 := 0; assert { :LIR "61460" } { :check "overflow" } { :finding_ids "0" } true; local_#19652 := (if local_#32109_posi > local_#32108_pose then 1 else 0); if (local_#19652 != 0) { goto CFG_38425; } else { goto CFG_50276; } CFG_50276: assume true; local_#19653 := local_#32108_pose - local_#32109_posi; assert { :LIR "68019" } { :check "overflow" } { :finding_ids "0" } local_#19653 <= 9223372036854775807; local_#19654 := 2147483647; local_#19655 := (if local_#19653 >= local_#19654 then 1 else 0); if (local_#19655 != 0) { goto CFG_43168; } else { goto CFG_43163; } CFG_43163: assume true; local_#19656 := local_#32108_pose - local_#32109_posi; assert { :LIR "68020" } { :check "overflow" } { :finding_ids "0" } local_#19656 <= 9223372036854775807; local_#19657 := local_#19656; assert { :LIR "61461" } { :check "overflow" } { :finding_ids "0" } local_#19657 <= 2147483647; local_#19658 := 1; local_#19659 := local_#19657 + local_#19658; assert { :LIR "66580" } { :check "overflow" } { :finding_ids "0" } local_#19659 <= 2147483647; local_#32107_n := local_#19659; assume _memory[{ base : strlit_#70493!base, offset : strlit_#70493!offset + 21 }] == 0; local_#19660 := strlit_#70493; local_#19661 := { base : local_#19660!base, offset : local_#19660!offset + 0 * 1 }; assert { :LIR "63074" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46775; CFG_46775: assume true; call routine_#33824_luaL_checkstack(local_#5586_L,local_#32107_n,local_#19661); goto CFG_41722; CFG_41722: assume true; local_#32107_n := 0; local_#19662 := { base : local_#32110_s!base, offset : local_#32110_s!offset + local_#32108_pose * 1 }; local_#32111_se := local_#19662; local_#19663 := 1; local_#19664 := local_#32109_posi - local_#19663; assert { :LIR "68021" } { :check "overflow" } { :finding_ids "0" } local_#19664 <= 9223372036854775807; local_#32110_s := { base : local_#32110_s!base, offset : local_#32110_s!offset + local_#19664 * 1 }; goto CFG_50277; CFG_50277: assume true; local_#19665 := (if local_#32110_s!offset < local_#32111_se!offset then 1 else 0); if (local_#19665 != 0) { goto CFG_43164; } else { goto CFG_38422; } CFG_38422: assume true; local_#7983 := local_#32107_n; goto CFG_37556; CFG_43164: assume true; local_#19666 := local_#32112_code; goto CFG_46776; CFG_46776: assume true; call local_#19667 := routine_#35139_utf8_decode(local_#32110_s,local_#19666); goto CFG_50278; CFG_50278: assume true; local_#32110_s := local_#19667; local_#19668 := { base : 0, offset : 0 }; local_#19669 := (if local_#32110_s == local_#19668 then 1 else 0); if (local_#19669 != 0) { goto CFG_43167; } else { goto CFG_43165; } CFG_43165: assume true; local_#19670 := _memory[local_#32112_code]; assert { :LIR "63075" } { :check "overflow" } { :finding_ids "0" } local_#19670 <= 9223372036854775807; goto CFG_46777; CFG_46777: assume true; call routine_#33960_lua_pushinteger(local_#5586_L,local_#19670); goto CFG_43166; CFG_43166: assume true; local_#19671 := local_#32107_n; local_#19672 := 1; local_#32107_n := local_#19671 + local_#19672; assert { :LIR "66581" } { :check "overflow" } { :finding_ids "0" } local_#32107_n <= 2147483647; local_#19673 := local_#19671; goto CFG_45063; CFG_45063: assume true; goto CFG_50277; CFG_43167: assume true; assume _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 0 }] == 105 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 1 }] == 110 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 2 }] == 118 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 3 }] == 97 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 4 }] == 108 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 5 }] == 105 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 6 }] == 100 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 7 }] == 32 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 8 }] == 85 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 9 }] == 84 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 10 }] == 70 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 11 }] == 45 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 12 }] == 56 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 13 }] == 32 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 14 }] == 99 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 15 }] == 111 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 16 }] == 100 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 17 }] == 101 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 18 }] == 0; local_#19674 := strlit_#70494; local_#19675 := { base : local_#19674!base, offset : local_#19674!offset + 0 * 1 }; assert { :LIR "63076" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46778; CFG_46778: assume true; call local_#19676 := routine_#33828_luaL_error(local_#5586_L,local_#19675,{ base : 0, offset : 0 }); goto CFG_38423; CFG_38423: assume true; local_#7983 := local_#19676; goto CFG_37556; CFG_43168: assume true; assume _memory[{ base : strlit_#70493!base, offset : strlit_#70493!offset + 21 }] == 0; local_#19677 := strlit_#70493; local_#19678 := { base : local_#19677!base, offset : local_#19677!offset + 0 * 1 }; assert { :LIR "63077" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46779; CFG_46779: assume true; call local_#19679 := routine_#33828_luaL_error(local_#5586_L,local_#19678,{ base : 0, offset : 0 }); goto CFG_38424; CFG_38424: assume true; local_#7983 := local_#19679; goto CFG_37556; CFG_38425: assume true; local_#7983 := 0; goto CFG_37556; CFG_37556: assume true; } procedure routine_#34658_codestring(local_#5587_ls_IN : { base : int, offset : int }, local_#5588_e_IN : { base : int, offset : int }, local_#5589_s_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5587_ls : { base : int, offset : int }; var local_#5588_e : { base : int, offset : int }; var local_#5589_s : { base : int, offset : int }; var local_#19680 : int; var local_#19681 : { base : int, offset : int }; var local_#19682 : int; local_#5587_ls := local_#5587_ls_IN; local_#5588_e := local_#5588_e_IN; local_#5589_s := local_#5589_s_IN; goto CFG_36646; CFG_36646: assume true; goto CFG_43169; CFG_43169: assume true; local_#19680 := 4; local_#19681 := _memory_ptr[{ base : local_#5587_ls!base, offset : local_#5587_ls!offset + 48 }]; goto CFG_46780; CFG_46780: assume true; call local_#19682 := routine_#33811_luaK_stringK(local_#19681,local_#5589_s); goto CFG_46781; CFG_46781: assume true; call routine_#34812_init_exp(local_#5588_e,local_#19680,local_#19682); goto CFG_39286; CFG_39286: assume true; goto CFG_37557; CFG_37557: assume true; } procedure routine_#34659_codeunexpval(local_#5590_fs_IN : { base : int, offset : int }, local_#5591_op_IN : int, local_#5592_e_IN : { base : int, offset : int }, local_#5593_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5590_fs : { base : int, offset : int }; var local_#5591_op : int; var local_#5592_e : { base : int, offset : int }; var local_#5593_line : int; var local_#19683 : int; var local_#32113_r : int; var local_#19684 : int; var local_#19685 : int; var local_#19686 : int; var local_#19687 : { base : int, offset : int }; local_#5590_fs := local_#5590_fs_IN; local_#5591_op := local_#5591_op_IN; local_#5592_e := local_#5592_e_IN; local_#5593_line := local_#5593_line_IN; goto CFG_36647; CFG_36647: assume true; goto CFG_46782; CFG_46782: assume true; call local_#19683 := routine_#33786_luaK_exp2anyreg(local_#5590_fs,local_#5592_e); goto CFG_43170; CFG_43170: assume true; local_#32113_r := local_#19683; goto CFG_46783; CFG_46783: assume true; call routine_#34760_freeexp(local_#5590_fs,local_#5592_e); goto CFG_43171; CFG_43171: assume true; local_#19684 := 0; local_#19685 := 0; goto CFG_46784; CFG_46784: assume true; call local_#19686 := routine_#33780_luaK_codeABC(local_#5590_fs,local_#5591_op,local_#19684,local_#32113_r,local_#19685); goto CFG_43172; CFG_43172: assume true; local_#19687 := { base : local_#5592_e!base, offset : local_#5592_e!offset + 8 }; _memory[local_#19687] := local_#19686; _memory[{ base : local_#5592_e!base, offset : local_#5592_e!offset + 0 }] := 12; goto CFG_46785; CFG_46785: assume true; call routine_#33790_luaK_fixline(local_#5590_fs,local_#5593_line); goto CFG_39287; CFG_39287: assume true; goto CFG_37558; CFG_37558: assume true; } procedure routine_#34660_collectargs(local_#5594_argv_IN : { base : int, offset : int }, local_#5595_first_IN : { base : int, offset : int }) returns (local_#7984 : int) modifies _memory; { var local_#5594_argv : { base : int, offset : int }; var local_#5595_first : { base : int, offset : int }; var local_#32114_args : int; var local_#32115_i : int; var local_#19688 : { base : int, offset : int }; var local_#19689 : { base : int, offset : int }; var local_#19690 : int; var local_#19691 : { base : int, offset : int }; var local_#19692 : int; var local_#19693 : { base : int, offset : int }; var local_#19694 : int; var local_#19695 : int; var local_#19696 : int; var local_#19697 : { base : int, offset : int }; var local_#19698 : int; var local_#19699 : { base : int, offset : int }; var local_#19700 : int; var local_#19701 : int; var local_#19702 : { base : int, offset : int }; var local_#19703 : int; var local_#19704 : { base : int, offset : int }; var local_#19705 : int; var local_#19706 : int; var local_#19707 : int; var local_#19708 : int; var local_#19709 : int; var local_#19710 : int; var local_#19711 : { base : int, offset : int }; var local_#19712 : { base : int, offset : int }; var local_#19713 : int; var local_#19714 : { base : int, offset : int }; var local_#19715 : int; var local_#19716 : { base : int, offset : int }; var local_#19717 : int; var local_#19718 : int; var local_#19719 : int; var local_#19720 : int; var local_#19721 : { base : int, offset : int }; var local_#19722 : int; var local_#19723 : { base : int, offset : int }; var local_#19724 : int; var local_#19725 : int; var local_#19726 : int; var local_#19727 : int; var local_#19728 : { base : int, offset : int }; var local_#19729 : int; var local_#19730 : { base : int, offset : int }; var local_#19731 : int; var local_#19732 : int; var local_#19733 : int; var local_#19734 : int; var local_#19735 : int; var local_#19736 : int; var local_#19737 : int; var local_#19738 : { base : int, offset : int }; var local_#19739 : int; var local_#19740 : { base : int, offset : int }; var local_#19741 : int; var local_#19742 : int; var local_#19743 : int; var local_#19744 : int; var local_#19745 : int; local_#5594_argv := local_#5594_argv_IN; local_#5595_first := local_#5595_first_IN; goto CFG_36648; CFG_36648: assume true; goto CFG_41723; CFG_41723: assume true; local_#32114_args := 0; local_#32115_i := 1; goto CFG_50279; CFG_50279: assume true; local_#19688 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19689 := { base : 0, offset : 0 }; local_#19690 := (if _memory_ptr[local_#19688] != local_#19689 then 1 else 0); if (local_#19690 != 0) { goto CFG_50280; } else { goto CFG_38426; } CFG_38426: assume true; _memory[local_#5595_first] := local_#32115_i; local_#7984 := local_#32114_args; goto CFG_37559; CFG_50280: assume true; _memory[local_#5595_first] := local_#32115_i; local_#19691 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19692 := 0; local_#19693 := { base : _memory_ptr[local_#19691]!base, offset : _memory_ptr[local_#19691]!offset + local_#19692 * 1 }; local_#19694 := _memory[local_#19693]; assert { :LIR "63078" } { :check "overflow" } { :finding_ids "0" } local_#19694 <= 2147483647; local_#19695 := 45; local_#19696 := (if local_#19694 != local_#19695 then 1 else 0); if (local_#19696 != 0) { goto CFG_38434; } else { goto CFG_51536; } CFG_51536: assume true; local_#19697 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19698 := 1; local_#19699 := { base : _memory_ptr[local_#19697]!base, offset : _memory_ptr[local_#19697]!offset + local_#19698 * 1 }; local_#19700 := _memory[local_#19699]; assert { :LIR "63079" } { :check "overflow" } { :finding_ids "0" } local_#19700 <= 2147483647; if (local_#19700 == 45) { goto CFG_50286; } if (local_#19700 == 0) { goto CFG_38431; } if (local_#19700 == 69) { goto CFG_50285; } if (local_#19700 == 105) { goto CFG_43174; } if (local_#19700 == 118) { goto CFG_50284; } if (local_#19700 == 101) { goto CFG_43173; } if (local_#19700 == 108) { goto CFG_50281; } goto CFG_38427; CFG_38427: assume true; local_#7984 := 1; goto CFG_37559; CFG_43173: assume true; local_#19701 := 8; local_#32114_args := ~sor32(local_#32114_args, local_#19701); goto CFG_50281; CFG_50281: assume true; local_#19702 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19703 := 2; local_#19704 := { base : _memory_ptr[local_#19702]!base, offset : _memory_ptr[local_#19702]!offset + local_#19703 * 1 }; local_#19705 := _memory[local_#19704]; assert { :LIR "63080" } { :check "overflow" } { :finding_ids "0" } local_#19705 <= 2147483647; local_#19706 := 0; local_#19707 := (if local_#19705 == local_#19706 then 1 else 0); if (local_#19707 != 0) { goto CFG_50282; } else { goto CFG_39605; } CFG_50282: assume true; local_#19708 := local_#32115_i; local_#19709 := 1; local_#32115_i := local_#19708 + local_#19709; assert { :LIR "66582" } { :check "overflow" } { :finding_ids "0" } local_#32115_i <= 2147483647; local_#19710 := local_#19708; local_#19711 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19712 := { base : 0, offset : 0 }; local_#19713 := (if _memory_ptr[local_#19711] == local_#19712 then 1 else 0); if (local_#19713 != 0) { goto CFG_38428; } else { goto CFG_50283; } CFG_50283: assume true; local_#19714 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19715 := 0; local_#19716 := { base : _memory_ptr[local_#19714]!base, offset : _memory_ptr[local_#19714]!offset + local_#19715 * 1 }; local_#19717 := _memory[local_#19716]; assert { :LIR "63081" } { :check "overflow" } { :finding_ids "0" } local_#19717 <= 2147483647; local_#19718 := 45; local_#19719 := (if local_#19717 == local_#19718 then 1 else 0); if (local_#19719 != 0) { goto CFG_38428; } else { goto CFG_40704; } CFG_40704: assume true; goto CFG_39605; CFG_39605: assume true; goto CFG_45064; CFG_38428: assume true; local_#7984 := 1; goto CFG_37559; CFG_43174: assume true; local_#19720 := 2; local_#32114_args := ~sor32(local_#32114_args, local_#19720); goto CFG_50284; CFG_50284: assume true; local_#19721 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19722 := 2; local_#19723 := { base : _memory_ptr[local_#19721]!base, offset : _memory_ptr[local_#19721]!offset + local_#19722 * 1 }; local_#19724 := _memory[local_#19723]; assert { :LIR "63082" } { :check "overflow" } { :finding_ids "0" } local_#19724 <= 2147483647; local_#19725 := 0; local_#19726 := (if local_#19724 != local_#19725 then 1 else 0); if (local_#19726 != 0) { goto CFG_38429; } else { goto CFG_39606; } CFG_39606: assume true; local_#19727 := 4; local_#32114_args := ~sor32(local_#32114_args, local_#19727); goto CFG_45064; CFG_38429: assume true; local_#7984 := 1; goto CFG_37559; CFG_50285: assume true; local_#19728 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19729 := 2; local_#19730 := { base : _memory_ptr[local_#19728]!base, offset : _memory_ptr[local_#19728]!offset + local_#19729 * 1 }; local_#19731 := _memory[local_#19730]; assert { :LIR "63083" } { :check "overflow" } { :finding_ids "0" } local_#19731 <= 2147483647; local_#19732 := 0; local_#19733 := (if local_#19731 != local_#19732 then 1 else 0); if (local_#19733 != 0) { goto CFG_38430; } else { goto CFG_39607; } CFG_39607: assume true; local_#19734 := 16; local_#32114_args := ~sor32(local_#32114_args, local_#19734); goto CFG_45064; CFG_45064: assume true; local_#19735 := local_#32115_i; local_#19736 := 1; local_#32115_i := local_#19735 + local_#19736; assert { :LIR "66583" } { :check "overflow" } { :finding_ids "0" } local_#32115_i <= 2147483647; local_#19737 := local_#19735; goto CFG_50279; CFG_38430: assume true; local_#7984 := 1; goto CFG_37559; CFG_38431: assume true; local_#7984 := local_#32114_args; goto CFG_37559; CFG_50286: assume true; local_#19738 := { base : local_#5594_argv!base, offset : local_#5594_argv!offset + local_#32115_i * 8 }; local_#19739 := 2; local_#19740 := { base : _memory_ptr[local_#19738]!base, offset : _memory_ptr[local_#19738]!offset + local_#19739 * 1 }; local_#19741 := _memory[local_#19740]; assert { :LIR "63084" } { :check "overflow" } { :finding_ids "0" } local_#19741 <= 2147483647; local_#19742 := 0; local_#19743 := (if local_#19741 != local_#19742 then 1 else 0); if (local_#19743 != 0) { goto CFG_38433; } else { goto CFG_38432; } CFG_38432: assume true; local_#19744 := 1; local_#19745 := local_#32115_i + local_#19744; assert { :LIR "66584" } { :check "overflow" } { :finding_ids "0" } local_#19745 <= 2147483647; _memory[local_#5595_first] := local_#19745; local_#7984 := local_#32114_args; goto CFG_37559; CFG_38433: assume true; local_#7984 := 1; goto CFG_37559; CFG_38434: assume true; local_#7984 := local_#32114_args; goto CFG_37559; CFG_41932: assume true; goto CFG_45064; CFG_37559: assume true; } procedure routine_#34661_collectvalidlines(local_#5596_L_IN : { base : int, offset : int }, local_#5597_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5596_L : { base : int, offset : int }; var local_#5597_f : { base : int, offset : int }; var local_#19746 : { base : int, offset : int }; var local_#19747 : int; var local_#19748 : { base : int, offset : int }; var local_#19749 : int; var local_#19750 : int; var local_#19751 : int; var local_#19752 : { base : int, offset : int }; var local_#19753 : { base : int, offset : int }; var local_#32117_lineinfo : { base : int, offset : int }; var local_#19754 : { base : int, offset : int }; var local_#32118_t : { base : int, offset : int }; var local_#32120_io : { base : int, offset : int }; var local_#32121_x_ : { base : int, offset : int }; var local_#19755 : { base : int, offset : int }; var local_#19756 : { base : int, offset : int }; var local_#19757 : { base : int, offset : int }; var local_#19758 : int; var local_#19759 : int; var local_#19760 : { base : int, offset : int }; var local_#19761 : int; var local_#19762 : { base : int, offset : int }; var local_#19763 : int; var local_#19764 : int; var local_#32119_v : { base : int, offset : int }; var local_#32122_io : { base : int, offset : int }; var local_#19765 : int; var local_#19766 : { base : int, offset : int }; var local_#32116_i : int; var local_#19767 : { base : int, offset : int }; var local_#19768 : { base : int, offset : int }; var local_#19769 : int; var local_#19770 : { base : int, offset : int }; var local_#19771 : int; var local_#19772 : { base : int, offset : int }; var local_#19773 : int; var local_#19774 : int; var local_#19775 : int; var local_#19776 : int; var local_#19777 : { base : int, offset : int }; var local_#19778 : { base : int, offset : int }; var local_#19779 : int; var local_#19780 : { base : int, offset : int }; var local_#19781 : int; var local_#19782 : int; local_#5596_L := local_#5596_L_IN; local_#5597_f := local_#5597_f_IN; goto CFG_36649; CFG_36649: assume true; goto CFG_50287; CFG_50287: assume true; local_#19746 := { base : 0, offset : 0 }; local_#19747 := (if local_#5597_f == local_#19746 then 1 else 0); if (local_#19747 != 0) { goto CFG_40706; } else { goto CFG_50288; } CFG_50288: assume true; local_#19748 := { base : local_#5597_f!base, offset : local_#5597_f!offset + 0 }; local_#19749 := _memory[{ base : local_#19748!base, offset : local_#19748!offset + 8 }]; assert { :LIR "63085" } { :check "overflow" } { :finding_ids "0" } local_#19749 <= 2147483647; local_#19750 := 38; local_#19751 := (if local_#19749 == local_#19750 then 1 else 0); if (local_#19751 != 0) { goto CFG_40706; } else { goto CFG_43175; } CFG_43175: assume true; local_#19752 := { base : local_#5597_f!base, offset : local_#5597_f!offset + 0 }; local_#19753 := _memory_ptr[{ base : local_#19752!base, offset : local_#19752!offset + 24 }]; local_#32117_lineinfo := _memory_ptr[{ base : local_#19753!base, offset : local_#19753!offset + 72 }]; goto CFG_46786; CFG_46786: assume true; call local_#19754 := routine_#33772_luaH_new(local_#5596_L); goto CFG_41724; CFG_41724: assume true; local_#32118_t := local_#19754; local_#32120_io := _memory_ptr[{ base : local_#5596_L!base, offset : local_#5596_L!offset + 16 }]; local_#32121_x_ := local_#32118_t; local_#19755 := local_#32121_x_; assert { :LIR "61462" } { :check "overflow" } { :finding_ids "0" } true; local_#19756 := { base : local_#19755!base, offset : local_#19755!offset + 0 }; local_#19757 := { base : local_#32120_io!base, offset : local_#32120_io!offset + 0 }; _memory_ptr[local_#19757] := local_#19756; _memory[{ base : local_#32120_io!base, offset : local_#32120_io!offset + 8 }] := 69; local_#19758 := 0; local_#19759 := 0; assert { :LIR "61463" } { :check "overflow" } { :finding_ids "0" } true; local_#19760 := _memory_ptr[{ base : local_#5596_L!base, offset : local_#5596_L!offset + 16 }]; local_#19761 := 1; _memory_ptr[{ base : local_#5596_L!base, offset : local_#5596_L!offset + 16 }] := { base : local_#19760!base, offset : local_#19760!offset + local_#19761 * 16 }; local_#19762 := local_#19760; local_#19763 := 0; local_#19764 := 0; assert { :LIR "61464" } { :check "overflow" } { :finding_ids "0" } true; local_#32122_io := local_#32119_v; local_#19765 := 1; local_#19766 := { base : local_#32122_io!base, offset : local_#32122_io!offset + 0 }; _memory[local_#19766] := local_#19765; _memory[{ base : local_#32122_io!base, offset : local_#32122_io!offset + 8 }] := 1; local_#32116_i := 0; goto CFG_50289; CFG_50289: assume true; local_#19767 := { base : local_#5597_f!base, offset : local_#5597_f!offset + 0 }; local_#19768 := _memory_ptr[{ base : local_#19767!base, offset : local_#19767!offset + 24 }]; local_#19769 := (if local_#32116_i < _memory[{ base : local_#19768!base, offset : local_#19768!offset + 28 }] then 1 else 0); if (local_#19769 != 0) { goto CFG_43176; } else { goto CFG_40705; } CFG_40705: assume true; goto CFG_39288; CFG_43176: assume true; local_#19770 := { base : local_#32117_lineinfo!base, offset : local_#32117_lineinfo!offset + local_#32116_i * 4 }; local_#19771 := _memory[local_#19770]; assert { :LIR "63086" } { :check "overflow" } { :finding_ids "0" } local_#19771 <= 9223372036854775807; local_#19772 := local_#32119_v; goto CFG_46787; CFG_46787: assume true; call routine_#33778_luaH_setint(local_#5596_L,local_#32118_t,local_#19771,local_#19772); goto CFG_45065; CFG_45065: assume true; local_#19773 := local_#32116_i; local_#19774 := 1; local_#32116_i := local_#19773 + local_#19774; assert { :LIR "66585" } { :check "overflow" } { :finding_ids "0" } local_#32116_i <= 2147483647; local_#19775 := local_#19773; goto CFG_50289; CFG_40706: assume true; local_#19776 := 0; local_#19777 := _memory_ptr[{ base : local_#5596_L!base, offset : local_#5596_L!offset + 16 }]; _memory[{ base : local_#19777!base, offset : local_#19777!offset + 8 }] := local_#19776; local_#19778 := _memory_ptr[{ base : local_#5596_L!base, offset : local_#5596_L!offset + 16 }]; local_#19779 := 1; _memory_ptr[{ base : local_#5596_L!base, offset : local_#5596_L!offset + 16 }] := { base : local_#19778!base, offset : local_#19778!offset + local_#19779 * 16 }; local_#19780 := local_#19778; local_#19781 := 0; local_#19782 := 0; assert { :LIR "61465" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39288; CFG_39288: assume true; goto CFG_37560; CFG_37560: assume true; } procedure routine_#34662_computesizes(local_#5598_nums_IN : { base : int, offset : int }, local_#5599_pna_IN : { base : int, offset : int }) returns (local_#7985 : int) modifies _memory; { var local_#5598_nums : { base : int, offset : int }; var local_#5599_pna : { base : int, offset : int }; var local_#32123_a : int; var local_#32125_na : int; var local_#32126_optimal : int; var local_#32124_i : int; var local_#19783 : int; var local_#32127_twotoi : int; var local_#19784 : int; var local_#19785 : int; var local_#19786 : int; var local_#19787 : int; var local_#19788 : int; var local_#19789 : int; var local_#19790 : int; var local_#19791 : int; var local_#19792 : int; var local_#19793 : { base : int, offset : int }; var local_#19794 : int; var local_#19795 : int; var local_#19796 : { base : int, offset : int }; var local_#19797 : int; var local_#19798 : int; var local_#19799 : int; var local_#19800 : int; var local_#19801 : int; var local_#19802 : int; var local_#19803 : int; var local_#19804 : int; var local_#19805 : int; local_#5598_nums := local_#5598_nums_IN; local_#5599_pna := local_#5599_pna_IN; goto CFG_36650; CFG_36650: assume true; goto CFG_41725; CFG_41725: assume true; local_#32123_a := 0; local_#32125_na := 0; local_#32126_optimal := 0; local_#32124_i := 0; local_#19783 := local_#32124_i; local_#32127_twotoi := 1; local_#19784 := local_#32127_twotoi; local_#19785 := local_#19784; goto CFG_50290; CFG_50290: assume true; local_#19786 := 0; local_#19787 := (if local_#32127_twotoi > local_#19786 then 1 else 0); if (local_#19787 != 0) { goto CFG_50291; } else { goto CFG_38435; } CFG_50291: assume true; local_#19788 := 2; local_#19789 := local_#32127_twotoi / local_#19788; assert { :LIR "68643" } { :check "overflow" } { :finding_ids "0" } true; local_#19790 := (if _memory[local_#5599_pna] > local_#19789 then 1 else 0); if (local_#19790 != 0) { goto CFG_50292; } else { goto CFG_38435; } CFG_38435: assume true; local_#19791 := 0; local_#19792 := 0; assert { :LIR "61466" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#5599_pna] := local_#32125_na; local_#7985 := local_#32126_optimal; goto CFG_37561; CFG_50292: assume true; local_#19793 := { base : local_#5598_nums!base, offset : local_#5598_nums!offset + local_#32124_i * 4 }; local_#19794 := 0; local_#19795 := (if _memory[local_#19793] > local_#19794 then 1 else 0); if (local_#19795 != 0) { goto CFG_50293; } else { goto CFG_45066; } CFG_50293: assume true; local_#19796 := { base : local_#5598_nums!base, offset : local_#5598_nums!offset + local_#32124_i * 4 }; assume { :symbol "~uwrap32" } true; local_#32123_a := ~uwrap32(local_#32123_a + _memory[local_#19796]); assert { :LIR "66586" } { :check "overflow" } { :finding_ids "0" } true; local_#19797 := 2; local_#19798 := local_#32127_twotoi / local_#19797; assert { :LIR "68644" } { :check "overflow" } { :finding_ids "0" } true; local_#19799 := (if local_#32123_a > local_#19798 then 1 else 0); if (local_#19799 != 0) { goto CFG_40707; } else { goto CFG_40708; } CFG_40707: assume true; local_#32126_optimal := local_#32127_twotoi; local_#32125_na := local_#32123_a; goto CFG_40708; CFG_40708: assume true; goto CFG_45066; CFG_45066: assume true; local_#19800 := local_#32124_i; local_#19801 := 1; local_#32124_i := local_#19800 + local_#19801; assert { :LIR "66587" } { :check "overflow" } { :finding_ids "0" } local_#32124_i <= 2147483647; local_#19802 := local_#19800; local_#19803 := 2; assume { :symbol "~uwrap32" } true; local_#32127_twotoi := ~uwrap32(local_#32127_twotoi * local_#19803); assert { :LIR "68566" } { :check "overflow" } { :finding_ids "0" } true; local_#19804 := local_#32127_twotoi; local_#19805 := local_#19804; goto CFG_50290; CFG_37561: assume true; } procedure routine_#34663_cond(local_#5600_ls_IN : { base : int, offset : int }) returns (local_#7986 : int) modifies _memory, _memory_ptr, _valid; { var local_#5600_ls : { base : int, offset : int }; var local_#32128_v : { base : int, offset : int }; var local_#19806 : { base : int, offset : int }; var local_#19807 : int; var local_#19808 : int; var local_#19809 : int; var local_#19810 : { base : int, offset : int }; var local_#19811 : { base : int, offset : int }; local_#5600_ls := local_#5600_ls_IN; goto CFG_36651; CFG_36651: assume true; goto CFG_43177; CFG_43177: assume true; local_#19806 := local_#32128_v; goto CFG_46788; CFG_46788: assume true; call routine_#34721_expr(local_#5600_ls,local_#19806); goto CFG_50294; CFG_50294: assume true; local_#19807 := ~uwrap32(_memory[{ base : local_#32128_v!base, offset : local_#32128_v!offset + 0 }]); assert { :LIR "63087" } { :check "overflow" } { :finding_ids "0" } true; local_#19808 := 1; local_#19809 := (if local_#19807 == local_#19808 then 1 else 0); if (local_#19809 != 0) { goto CFG_40709; } else { goto CFG_43178; } CFG_40709: assume true; _memory[{ base : local_#32128_v!base, offset : local_#32128_v!offset + 0 }] := 3; goto CFG_43178; CFG_43178: assume true; local_#19810 := _memory_ptr[{ base : local_#5600_ls!base, offset : local_#5600_ls!offset + 48 }]; local_#19811 := local_#32128_v; goto CFG_46789; CFG_46789: assume true; call routine_#33793_luaK_goiftrue(local_#19810,local_#19811); goto CFG_38436; CFG_38436: assume true; local_#7986 := _memory[{ base : local_#32128_v!base, offset : local_#32128_v!offset + 20 }]; goto CFG_37562; CFG_37562: assume true; } procedure routine_#34664_condjump(local_#5601_fs_IN : { base : int, offset : int }, local_#5602_op_IN : int, local_#5603_A_IN : int, local_#5604_B_IN : int, local_#5605_C_IN : int) returns (local_#7987 : int) modifies _memory, _memory_ptr, _valid; { var local_#5601_fs : { base : int, offset : int }; var local_#5602_op : int; var local_#5603_A : int; var local_#5604_B : int; var local_#5605_C : int; var local_#19812 : int; var local_#19813 : int; local_#5601_fs := local_#5601_fs_IN; local_#5602_op := local_#5602_op_IN; local_#5603_A := local_#5603_A_IN; local_#5604_B := local_#5604_B_IN; local_#5605_C := local_#5605_C_IN; goto CFG_36652; CFG_36652: assume true; goto CFG_46790; CFG_46790: assume true; call local_#19812 := routine_#33780_luaK_codeABC(local_#5601_fs,local_#5602_op,local_#5603_A,local_#5604_B,local_#5605_C); goto CFG_46791; CFG_46791: assume true; call local_#19813 := routine_#33797_luaK_jump(local_#5601_fs); goto CFG_38437; CFG_38437: assume true; local_#7987 := local_#19813; goto CFG_37563; CFG_37563: assume true; } procedure routine_#34665_constfolding(local_#5606_fs_IN : { base : int, offset : int }, local_#5607_op_IN : int, local_#5608_e1_IN : { base : int, offset : int }, local_#5609_e2_IN : { base : int, offset : int }) returns (local_#7988 : int) modifies _memory, _memory_ptr, _valid; { var local_#5606_fs : { base : int, offset : int }; var local_#5607_op : int; var local_#5608_e1 : { base : int, offset : int }; var local_#5609_e2 : { base : int, offset : int }; var local_#19814 : { base : int, offset : int }; var local_#32130_v1 : { base : int, offset : int }; var local_#19815 : { base : int, offset : int }; var local_#19816 : int; var local_#19817 : int; var local_#32131_v2 : { base : int, offset : int }; var local_#19818 : { base : int, offset : int }; var local_#19819 : int; var local_#19820 : int; var local_#19821 : { base : int, offset : int }; var local_#19822 : { base : int, offset : int }; var local_#19823 : int; var local_#19824 : int; var local_#19825 : { base : int, offset : int }; var local_#19826 : { base : int, offset : int }; var local_#19827 : { base : int, offset : int }; var local_#19828 : { base : int, offset : int }; var local_#32129_res : { base : int, offset : int }; var local_#19829 : { base : int, offset : int }; var local_#19830 : int; var local_#19831 : int; var local_#19832 : { base : int, offset : int }; var nondet_#0 : int; var local_#32132_n : int; var nondet_#1 : bool; var local_#19833 : int; var local_#19834 : int; var nondet_#2 : int; var local_#19835 : int; var nondet_#3 : bool; var local_#19836 : int; var local_#19837 : { base : int, offset : int }; var local_#19838 : { base : int, offset : int }; var local_#19839 : { base : int, offset : int }; local_#5606_fs := local_#5606_fs_IN; local_#5607_op := local_#5607_op_IN; local_#5608_e1 := local_#5608_e1_IN; local_#5609_e2 := local_#5609_e2_IN; goto CFG_36653; CFG_36653: assume true; goto CFG_43179; CFG_43179: assume true; local_#19814 := local_#5608_e1; assert { :LIR "63088" } { :check "overflow" } { :finding_ids "0" } true; local_#19815 := local_#32130_v1; goto CFG_46792; CFG_46792: assume true; call local_#19816 := routine_#35116_tonumeral(local_#19814,local_#19815); goto CFG_50295; CFG_50295: assume true; local_#19817 := (if local_#19816 != 0 then 0 else 1); if (local_#19817 != 0) { goto CFG_38440; } else { goto CFG_43180; } CFG_43180: assume true; local_#19818 := local_#32131_v2; goto CFG_46793; CFG_46793: assume true; call local_#19819 := routine_#35116_tonumeral(local_#5609_e2,local_#19818); goto CFG_50296; CFG_50296: assume true; local_#19820 := (if local_#19819 != 0 then 0 else 1); if (local_#19820 != 0) { goto CFG_38440; } else { goto CFG_43181; } CFG_43181: assume true; local_#19821 := local_#32130_v1; local_#19822 := local_#32131_v2; goto CFG_46794; CFG_46794: assume true; call local_#19823 := routine_#35143_validop(local_#5607_op,local_#19821,local_#19822); goto CFG_50297; CFG_50297: assume true; local_#19824 := (if local_#19823 != 0 then 0 else 1); if (local_#19824 != 0) { goto CFG_38440; } else { goto CFG_43182; } CFG_43182: assume true; local_#19825 := _memory_ptr[{ base : local_#5606_fs!base, offset : local_#5606_fs!offset + 16 }]; local_#19826 := _memory_ptr[{ base : local_#19825!base, offset : local_#19825!offset + 56 }]; local_#19827 := local_#32130_v1; assert { :LIR "63089" } { :check "overflow" } { :finding_ids "0" } true; local_#19828 := local_#32131_v2; assert { :LIR "63090" } { :check "overflow" } { :finding_ids "0" } true; local_#19829 := local_#32129_res; goto CFG_46795; CFG_46795: assume true; call routine_#33859_luaO_arith(local_#19826,local_#5607_op,local_#19827,local_#19828,local_#19829); goto CFG_50298; CFG_50298: assume true; local_#19830 := 19; local_#19831 := (if _memory[{ base : local_#32129_res!base, offset : local_#32129_res!offset + 8 }] == local_#19830 then 1 else 0); if (local_#19831 != 0) { goto CFG_40711; } else { goto CFG_50299; } CFG_50299: assume true; local_#19832 := { base : local_#32129_res!base, offset : local_#32129_res!offset + 0 }; havoc nondet_#0; local_#32132_n := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; havoc nondet_#1; local_#19833 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65086. */ then 1 else 0); local_#19834 := (if local_#19833 != 0 then 0 else 1); if (local_#19834 != 0) { goto CFG_38438; } else { goto CFG_50300; } CFG_50300: assume true; havoc nondet_#2; local_#19835 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78618 */; havoc nondet_#3; local_#19836 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65087. */ then 1 else 0); if (local_#19836 != 0) { goto CFG_38438; } else { goto CFG_40710; } CFG_40710: assume true; _memory[{ base : local_#5608_e1!base, offset : local_#5608_e1!offset + 0 }] := 5; local_#19837 := { base : local_#5608_e1!base, offset : local_#5608_e1!offset + 8 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ goto CFG_38439; CFG_38438: assume true; local_#7988 := 0; goto CFG_37564; CFG_40711: assume true; _memory[{ base : local_#5608_e1!base, offset : local_#5608_e1!offset + 0 }] := 6; local_#19838 := { base : local_#32129_res!base, offset : local_#32129_res!offset + 0 }; local_#19839 := { base : local_#5608_e1!base, offset : local_#5608_e1!offset + 8 }; _memory[local_#19839] := _memory[local_#19838]; goto CFG_38439; CFG_38439: assume true; local_#7988 := 1; goto CFG_37564; CFG_38440: assume true; local_#7988 := 0; goto CFG_37564; CFG_37564: assume true; } procedure routine_#34666_constructor(local_#5610_ls_IN : { base : int, offset : int }, local_#5611_t_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5610_ls : { base : int, offset : int }; var local_#5611_t : { base : int, offset : int }; var local_#32134_fs : { base : int, offset : int }; var local_#32135_line : int; var local_#19840 : int; var local_#19841 : int; var local_#19842 : int; var local_#19843 : int; var local_#19844 : int; var local_#32136_pc : int; var local_#32133_cc : { base : int, offset : int }; var local_#19845 : int; var local_#19846 : { base : int, offset : int }; var local_#19847 : int; var local_#19848 : int; var local_#19849 : { base : int, offset : int }; var local_#19850 : int; var local_#19851 : int; var local_#19852 : int; var local_#19853 : int; var local_#19854 : int; var local_#19855 : { base : int, offset : int }; var local_#19856 : { base : int, offset : int }; var local_#19857 : int; var local_#19858 : int; var local_#19859 : int; var local_#19860 : int; var local_#19861 : int; var local_#19862 : int; var local_#19863 : int; var local_#19864 : int; var local_#19865 : { base : int, offset : int }; var local_#19866 : { base : int, offset : int }; var local_#19867 : { base : int, offset : int }; var local_#19868 : int; var local_#19869 : int; var local_#19870 : int; var local_#19871 : int; var local_#19872 : int; var local_#19873 : int; var local_#19874 : int; var local_#19875 : int; var local_#19876 : int; var local_#19877 : int; var local_#19878 : { base : int, offset : int }; var local_#19879 : { base : int, offset : int }; var local_#19880 : { base : int, offset : int }; var local_#19881 : { base : int, offset : int }; var local_#19882 : int; var local_#19883 : int; var local_#19884 : int; var local_#19885 : int; var local_#19886 : int; var local_#19887 : int; var local_#19888 : int; var local_#19889 : int; var local_#19890 : int; var local_#19891 : int; var local_#19892 : { base : int, offset : int }; var local_#19893 : { base : int, offset : int }; local_#5610_ls := local_#5610_ls_IN; local_#5611_t := local_#5611_t_IN; goto CFG_36654; CFG_36654: assume true; goto CFG_43183; CFG_43183: assume true; local_#32134_fs := _memory_ptr[{ base : local_#5610_ls!base, offset : local_#5610_ls!offset + 48 }]; local_#32135_line := _memory[{ base : local_#5610_ls!base, offset : local_#5610_ls!offset + 4 }]; local_#19840 := 11; local_#19841 := 0; local_#19842 := 0; local_#19843 := 0; goto CFG_46796; CFG_46796: assume true; call local_#19844 := routine_#33780_luaK_codeABC(local_#32134_fs,local_#19840,local_#19841,local_#19842,local_#19843); goto CFG_43184; CFG_43184: assume true; local_#32136_pc := local_#19844; _memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 40 }] := 0; _memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 32 }] := _memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 40 }]; _memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 36 }] := _memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 32 }]; _memory_ptr[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 24 }] := local_#5611_t; local_#19845 := 12; goto CFG_46797; CFG_46797: assume true; call routine_#34812_init_exp(local_#5611_t,local_#19845,local_#32136_pc); goto CFG_43185; CFG_43185: assume true; local_#19846 := { base : local_#32133_cc!base, offset : local_#32133_cc!offset + 0 }; local_#19847 := 0; local_#19848 := 0; goto CFG_46798; CFG_46798: assume true; call routine_#34812_init_exp(local_#19846,local_#19847,local_#19848); goto CFG_43186; CFG_43186: assume true; local_#19849 := _memory_ptr[{ base : local_#5610_ls!base, offset : local_#5610_ls!offset + 48 }]; goto CFG_46799; CFG_46799: assume true; call routine_#33788_luaK_exp2nextreg(local_#19849,local_#5611_t); goto CFG_43187; CFG_43187: assume true; local_#19850 := 123; goto CFG_46800; CFG_46800: assume true; call routine_#34637_checknext(local_#5610_ls,local_#19850); goto CFG_41726; CFG_41726: assume true; goto CFG_50301; CFG_50301: assume true; local_#19851 := 0; local_#19852 := 0; assert { :LIR "61467" } { :check "overflow" } { :finding_ids "0" } true; local_#19853 := 125; local_#19854 := (if _memory[{ base : local_#5610_ls!base, offset : local_#5610_ls!offset + 16 }] == local_#19853 then 1 else 0); if (local_#19854 != 0) { goto CFG_39455; } else { goto CFG_43188; } CFG_43188: assume true; local_#19855 := local_#32133_cc; goto CFG_46801; CFG_46801: assume true; call routine_#34650_closelistfield(local_#32134_fs,local_#19855); goto CFG_43189; CFG_43189: assume true; local_#19856 := local_#32133_cc; goto CFG_46802; CFG_46802: assume true; call routine_#34736_field(local_#5610_ls,local_#19856); goto CFG_43190; CFG_43190: assume true; local_#19857 := 44; goto CFG_46803; CFG_46803: assume true; call local_#19858 := routine_#35112_testnext(local_#5610_ls,local_#19857); goto CFG_50302; CFG_50302: assume true; local_#19859 := local_#19858; if (local_#19859 != 0) { goto CFG_45067; } else { goto CFG_43191; } CFG_43191: assume true; local_#19860 := 59; goto CFG_46804; CFG_46804: assume true; call local_#19861 := routine_#35112_testnext(local_#5610_ls,local_#19860); goto CFG_50303; CFG_50303: assume true; local_#19862 := local_#19861; if (local_#19862 != 0) { goto CFG_45067; } else { goto CFG_41933; } CFG_41933: assume true; goto CFG_43192; CFG_45067: assume true; goto CFG_50301; CFG_39455: assume true; goto CFG_43192; CFG_43192: assume true; local_#19863 := 125; local_#19864 := 123; goto CFG_46805; CFG_46805: assume true; call routine_#34626_check_match(local_#5610_ls,local_#19863,local_#19864,local_#32135_line); goto CFG_43193; CFG_43193: assume true; local_#19865 := local_#32133_cc; goto CFG_46806; CFG_46806: assume true; call routine_#34855_lastlistfield(local_#32134_fs,local_#19865); goto CFG_43194; CFG_43194: assume true; local_#19866 := _memory_ptr[{ base : local_#32134_fs!base, offset : local_#32134_fs!offset + 0 }]; local_#19867 := { base : _memory_ptr[{ base : local_#19866!base, offset : local_#19866!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#19866!base, offset : local_#19866!offset + 56 }]!offset + local_#32136_pc * 4 }; local_#19868 := 8388607; local_#19869 := ~uand32(_memory[local_#19867], local_#19868); local_#19870 := ~uwrap32(_memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 36 }]); assert { :LIR "63091" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46807; CFG_46807: assume true; call local_#19871 := routine_#33864_luaO_int2fb(local_#19870); goto CFG_43195; CFG_43195: assume true; local_#19872 := ~uwrap32(local_#19871); assert { :LIR "61468" } { :check "overflow" } { :finding_ids "0" } true; local_#19873 := 23; local_#19874 := ~shl32(local_#19872, local_#19873); local_#19875 := 4286578688; local_#19876 := ~uand32(local_#19874, local_#19875); local_#19877 := ~uor32(local_#19869, local_#19876); local_#19878 := _memory_ptr[{ base : local_#32134_fs!base, offset : local_#32134_fs!offset + 0 }]; local_#19879 := { base : _memory_ptr[{ base : local_#19878!base, offset : local_#19878!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#19878!base, offset : local_#19878!offset + 56 }]!offset + local_#32136_pc * 4 }; _memory[local_#19879] := local_#19877; local_#19880 := _memory_ptr[{ base : local_#32134_fs!base, offset : local_#32134_fs!offset + 0 }]; local_#19881 := { base : _memory_ptr[{ base : local_#19880!base, offset : local_#19880!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#19880!base, offset : local_#19880!offset + 56 }]!offset + local_#32136_pc * 4 }; local_#19882 := 4286595071; local_#19883 := ~uand32(_memory[local_#19881], local_#19882); local_#19884 := ~uwrap32(_memory[{ base : local_#32133_cc!base, offset : local_#32133_cc!offset + 32 }]); assert { :LIR "63092" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46808; CFG_46808: assume true; call local_#19885 := routine_#33864_luaO_int2fb(local_#19884); goto CFG_39289; CFG_39289: assume true; local_#19886 := ~uwrap32(local_#19885); assert { :LIR "61469" } { :check "overflow" } { :finding_ids "0" } true; local_#19887 := 14; local_#19888 := ~shl32(local_#19886, local_#19887); local_#19889 := 8372224; local_#19890 := ~uand32(local_#19888, local_#19889); local_#19891 := ~uor32(local_#19883, local_#19890); local_#19892 := _memory_ptr[{ base : local_#32134_fs!base, offset : local_#32134_fs!offset + 0 }]; local_#19893 := { base : _memory_ptr[{ base : local_#19892!base, offset : local_#19892!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#19892!base, offset : local_#19892!offset + 56 }]!offset + local_#32136_pc * 4 }; _memory[local_#19893] := local_#19891; goto CFG_37565; CFG_37565: assume true; } procedure routine_#34667_convergeephemerons(local_#5612_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5612_g : { base : int, offset : int }; var local_#32138_next : { base : int, offset : int }; var local_#32137_changed : int; var local_#32139_w : { base : int, offset : int }; var local_#19894 : { base : int, offset : int }; var local_#19895 : int; var local_#19896 : int; var local_#19897 : { base : int, offset : int }; var local_#19898 : { base : int, offset : int }; var local_#19899 : { base : int, offset : int }; var local_#19900 : { base : int, offset : int }; var local_#19901 : int; var local_#19902 : int; local_#5612_g := local_#5612_g_IN; goto CFG_36655; CFG_36655: assume true; goto CFG_41727; CFG_41727: assume true; goto CFG_41728; CFG_41728: assume true; local_#32138_next := _memory_ptr[{ base : local_#5612_g!base, offset : local_#5612_g!offset + 136 }]; _memory_ptr[{ base : local_#5612_g!base, offset : local_#5612_g!offset + 136 }] := { base : 0, offset : 0 }; local_#32137_changed := 0; goto CFG_50304; CFG_50304: assume true; local_#32139_w := local_#32138_next; local_#19894 := { base : 0, offset : 0 }; local_#19895 := (if local_#32139_w != local_#19894 then 1 else 0); if (local_#19895 != 0) { goto CFG_43196; } else { goto CFG_50305; } CFG_50305: assume true; local_#19896 := local_#32137_changed; if (local_#19896 != 0) { goto CFG_45068; } else { goto CFG_39290; } CFG_39290: assume true; goto CFG_37566; CFG_45068: assume true; goto CFG_41728; CFG_43196: assume true; local_#19897 := local_#32139_w; assert { :LIR "61470" } { :check "overflow" } { :finding_ids "0" } true; local_#19898 := { base : local_#19897!base, offset : local_#19897!offset + 0 }; local_#32138_next := _memory_ptr[{ base : local_#19898!base, offset : local_#19898!offset + 48 }]; local_#19899 := local_#32139_w; assert { :LIR "61471" } { :check "overflow" } { :finding_ids "0" } true; local_#19900 := { base : local_#19899!base, offset : local_#19899!offset + 0 }; goto CFG_46809; CFG_46809: assume true; call local_#19901 := routine_#35119_traverseephemeron(local_#5612_g,local_#19900); goto CFG_50306; CFG_50306: assume true; local_#19902 := local_#19901; if (local_#19902 != 0) { goto CFG_46810; } else { goto CFG_45069; } CFG_46810: assume true; call routine_#34998_propagateall(local_#5612_g); goto CFG_40712; CFG_40712: assume true; local_#32137_changed := 1; goto CFG_45069; CFG_45069: assume true; goto CFG_50304; CFG_37566: assume true; } procedure routine_#34668_copy2buff(local_#5613_top_IN : { base : int, offset : int }, local_#5614_n_IN : int, local_#5615_buff_IN : { base : int, offset : int }) returns () { var local_#5613_top : { base : int, offset : int }; var local_#5614_n : int; var local_#5615_buff : { base : int, offset : int }; var local_#32140_tl : int; var local_#19903 : { base : int, offset : int }; var local_#19904 : { base : int, offset : int }; var local_#19905 : { base : int, offset : int }; var local_#19906 : { base : int, offset : int }; var local_#19907 : int; var local_#19908 : int; var local_#19909 : int; var local_#19910 : { base : int, offset : int }; var local_#19911 : { base : int, offset : int }; var local_#19912 : { base : int, offset : int }; var local_#19913 : { base : int, offset : int }; var local_#19914 : { base : int, offset : int }; var local_#30741 : int; var local_#19915 : { base : int, offset : int }; var local_#19916 : { base : int, offset : int }; var local_#19917 : { base : int, offset : int }; var local_#19918 : { base : int, offset : int }; var local_#19919 : int; var local_#32141_l : int; var local_#19920 : { base : int, offset : int }; var local_#19921 : { base : int, offset : int }; var local_#19922 : { base : int, offset : int }; var local_#19923 : { base : int, offset : int }; var local_#19924 : { base : int, offset : int }; var local_#19925 : { base : int, offset : int }; var local_#19926 : { base : int, offset : int }; var local_#19927 : int; var local_#19928 : { base : int, offset : int }; var local_#19929 : { base : int, offset : int }; var local_#19930 : int; var local_#19931 : int; var local_#19932 : { base : int, offset : int }; var local_#19933 : int; var local_#19934 : int; var local_#19935 : int; local_#5613_top := local_#5613_top_IN; local_#5614_n := local_#5614_n_IN; local_#5615_buff := local_#5615_buff_IN; goto CFG_36656; CFG_36656: assume true; goto CFG_41729; CFG_41729: assume true; local_#32140_tl := 0; goto CFG_50307; CFG_50307: assume true; local_#19903 := { base : local_#5613_top!base, offset : local_#5613_top!offset - local_#5614_n * 16 }; local_#19904 := { base : local_#19903!base, offset : local_#19903!offset + 0 }; local_#19905 := _memory_ptr[local_#19904]; assert { :LIR "61472" } { :check "overflow" } { :finding_ids "0" } true; local_#19906 := { base : local_#19905!base, offset : local_#19905!offset + 0 }; local_#19907 := _memory[{ base : local_#19906!base, offset : local_#19906!offset + 8 }]; assert { :LIR "63093" } { :check "overflow" } { :finding_ids "0" } local_#19907 <= 2147483647; local_#19908 := 4; local_#19909 := (if local_#19907 == local_#19908 then 1 else 0); if (local_#19909 != 0) { goto CFG_40714; } else { goto CFG_40713; } CFG_40713: assume true; local_#19910 := { base : local_#5613_top!base, offset : local_#5613_top!offset - local_#5614_n * 16 }; local_#19911 := { base : local_#19910!base, offset : local_#19910!offset + 0 }; local_#19912 := _memory_ptr[local_#19911]; assert { :LIR "61473" } { :check "overflow" } { :finding_ids "0" } true; local_#19913 := { base : local_#19912!base, offset : local_#19912!offset + 0 }; local_#19914 := { base : local_#19913!base, offset : local_#19913!offset + 16 }; local_#30741 := _memory[local_#19914]; goto CFG_43197; CFG_40714: assume true; local_#19915 := { base : local_#5613_top!base, offset : local_#5613_top!offset - local_#5614_n * 16 }; local_#19916 := { base : local_#19915!base, offset : local_#19915!offset + 0 }; local_#19917 := _memory_ptr[local_#19916]; assert { :LIR "61474" } { :check "overflow" } { :finding_ids "0" } true; local_#19918 := { base : local_#19917!base, offset : local_#19917!offset + 0 }; local_#19919 := ~uwrap64(_memory[{ base : local_#19918!base, offset : local_#19918!offset + 11 }]); assert { :LIR "63094" } { :check "overflow" } { :finding_ids "0" } true; local_#30741 := local_#19919; goto CFG_43197; CFG_43197: assume true; local_#32141_l := local_#30741; local_#19920 := { base : local_#5615_buff!base, offset : local_#5615_buff!offset + local_#32140_tl * 1 }; local_#19921 := local_#19920; assert { :LIR "63095" } { :check "overflow" } { :finding_ids "0" } true; local_#19922 := { base : local_#5613_top!base, offset : local_#5613_top!offset - local_#5614_n * 16 }; local_#19923 := { base : local_#19922!base, offset : local_#19922!offset + 0 }; local_#19924 := _memory_ptr[local_#19923]; assert { :LIR "61475" } { :check "overflow" } { :finding_ids "0" } true; local_#19925 := { base : local_#19924!base, offset : local_#19924!offset + 0 }; local_#19926 := local_#19925; assert { :LIR "61476" } { :check "overflow" } { :finding_ids "0" } true; local_#19927 := 24; local_#19928 := { base : local_#19926!base, offset : local_#19926!offset + local_#19927 * 1 }; local_#19929 := local_#19928; assert { :LIR "63096" } { :check "overflow" } { :finding_ids "0" } true; local_#19930 := 1; assume { :symbol "~uwrap64" } true; local_#19931 := ~uwrap64(local_#32141_l * local_#19930); assert { :LIR "68567" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46811; CFG_46811: assume true; call local_#19932 := routine_#34026_memcpy(local_#19921,local_#19929,local_#19931); goto CFG_43198; CFG_43198: assume true; assume { :symbol "~uwrap64" } true; local_#32140_tl := ~uwrap64(local_#32140_tl + local_#32141_l); assert { :LIR "66588" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_50308; CFG_50308: assume true; local_#19933 := 1; local_#5614_n := local_#5614_n - local_#19933; assert { :LIR "68022" } { :check "overflow" } { :finding_ids "0" } local_#5614_n <= 2147483647; local_#19934 := 0; local_#19935 := (if local_#5614_n > local_#19934 then 1 else 0); if (local_#19935 != 0) { goto CFG_45070; } else { goto CFG_39291; } CFG_39291: assume true; goto CFG_37567; CFG_45070: assume true; goto CFG_50307; CFG_37567: assume true; } procedure routine_#34669_copywithendian(local_#5616_dest_IN : { base : int, offset : int }, local_#5617_src_IN : { base : int, offset : int }, local_#5618_size_IN : int, local_#5619_islittle_IN : int) returns () modifies _memory; { var local_#5616_dest : { base : int, offset : int }; var local_#5617_src : { base : int, offset : int }; var local_#5618_size : int; var local_#5619_islittle : int; var local_#19936 : { base : int, offset : int }; var local_#19937 : int; var local_#19938 : int; var local_#19939 : int; var local_#19940 : int; var local_#19941 : int; var local_#19942 : int; var local_#19943 : int; var local_#19944 : int; var local_#19945 : { base : int, offset : int }; var local_#19946 : int; var local_#19947 : { base : int, offset : int }; var local_#19948 : int; var local_#19949 : int; var local_#19950 : int; var local_#19951 : int; var local_#19952 : int; var local_#19953 : { base : int, offset : int }; var local_#19954 : int; var local_#19955 : { base : int, offset : int }; var local_#19956 : int; local_#5616_dest := local_#5616_dest_IN; local_#5617_src := local_#5617_src_IN; local_#5618_size := local_#5618_size_IN; local_#5619_islittle := local_#5619_islittle_IN; goto CFG_36657; CFG_36657: assume true; goto CFG_50309; CFG_50309: assume true; local_#19936 := { base : global_#33062_nativeendian!base, offset : global_#33062_nativeendian!offset + 0 }; local_#19937 := _memory[local_#19936]; assert { :LIR "63097" } { :check "overflow" } { :finding_ids "0" } local_#19937 <= 2147483647; local_#19938 := (if local_#5619_islittle == local_#19937 then 1 else 0); if (local_#19938 != 0) { goto CFG_41731; } else { goto CFG_41730; } CFG_41730: assume true; local_#19939 := 1; local_#19940 := local_#5618_size - local_#19939; assert { :LIR "68023" } { :check "overflow" } { :finding_ids "0" } local_#19940 <= 2147483647; local_#5616_dest := { base : local_#5616_dest!base, offset : local_#5616_dest!offset + local_#19940 * 1 }; goto CFG_50310; CFG_50310: assume true; local_#19941 := local_#5618_size; local_#19942 := 1; local_#5618_size := local_#19941 - local_#19942; assert { :LIR "68024" } { :check "overflow" } { :finding_ids "0" } local_#5618_size <= 2147483647; local_#19943 := 0; local_#19944 := (if local_#19941 != local_#19943 then 1 else 0); if (local_#19944 != 0) { goto CFG_45071; } else { goto CFG_40715; } CFG_40715: assume true; goto CFG_39292; CFG_45071: assume true; local_#19945 := local_#5617_src; local_#19946 := 1; local_#5617_src := { base : local_#19945!base, offset : local_#19945!offset + local_#19946 * 1 }; local_#19947 := local_#5616_dest; local_#19948 := 1; local_#5616_dest := { base : local_#19947!base, offset : local_#19947!offset - local_#19948 * 1 }; _memory[local_#19947] := _memory[local_#19945]; goto CFG_50310; CFG_41731: assume true; goto CFG_50311; CFG_50311: assume true; local_#19949 := local_#5618_size; local_#19950 := 1; local_#5618_size := local_#19949 - local_#19950; assert { :LIR "68025" } { :check "overflow" } { :finding_ids "0" } local_#5618_size <= 2147483647; local_#19951 := 0; local_#19952 := (if local_#19949 != local_#19951 then 1 else 0); if (local_#19952 != 0) { goto CFG_45072; } else { goto CFG_40716; } CFG_40716: assume true; goto CFG_39292; CFG_39292: assume true; goto CFG_37568; CFG_45072: assume true; local_#19953 := local_#5617_src; local_#19954 := 1; local_#5617_src := { base : local_#19953!base, offset : local_#19953!offset + local_#19954 * 1 }; local_#19955 := local_#5616_dest; local_#19956 := 1; local_#5616_dest := { base : local_#19955!base, offset : local_#19955!offset + local_#19956 * 1 }; _memory[local_#19955] := _memory[local_#19953]; goto CFG_50311; CFG_37568: assume true; } procedure routine_#34670_correctstack(local_#5620_L_IN : { base : int, offset : int }, local_#5621_oldstack_IN : { base : int, offset : int }) returns () modifies _memory_ptr; { var local_#5620_L : { base : int, offset : int }; var local_#5621_oldstack : { base : int, offset : int }; var local_#19957 : int; var local_#19958 : { base : int, offset : int }; var local_#32143_up : { base : int, offset : int }; var local_#19959 : { base : int, offset : int }; var local_#19960 : int; var local_#32142_ci : { base : int, offset : int }; var local_#19961 : { base : int, offset : int }; var local_#19962 : int; var local_#19963 : int; var local_#19964 : { base : int, offset : int }; var local_#19965 : int; var local_#19966 : { base : int, offset : int }; var local_#19967 : int; var local_#19968 : int; var local_#19969 : int; var local_#19970 : { base : int, offset : int }; var local_#19971 : int; var local_#19972 : { base : int, offset : int }; var local_#19973 : { base : int, offset : int }; var local_#19974 : { base : int, offset : int }; var local_#19975 : int; var local_#19976 : { base : int, offset : int }; var local_#19977 : { base : int, offset : int }; var local_#19978 : { base : int, offset : int }; local_#5620_L := local_#5620_L_IN; local_#5621_oldstack := local_#5621_oldstack_IN; goto CFG_36658; CFG_36658: assume true; goto CFG_41732; CFG_41732: assume true; local_#19957 := (_memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 16 }]!offset - local_#5621_oldstack!offset) / 16; local_#19958 := { base : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!offset + local_#19957 * 16 }; _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 16 }] := local_#19958; local_#32143_up := _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 64 }]; goto CFG_50312; CFG_50312: assume true; local_#19959 := { base : 0, offset : 0 }; local_#19960 := (if local_#32143_up != local_#19959 then 1 else 0); if (local_#19960 != 0) { goto CFG_43199; } else { goto CFG_41733; } CFG_41733: assume true; local_#32142_ci := _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 32 }]; goto CFG_50313; CFG_50313: assume true; local_#19961 := { base : 0, offset : 0 }; local_#19962 := (if local_#32142_ci != local_#19961 then 1 else 0); if (local_#19962 != 0) { goto CFG_50314; } else { goto CFG_39293; } CFG_39293: assume true; goto CFG_37569; CFG_50314: assume true; local_#19963 := (_memory_ptr[{ base : local_#32142_ci!base, offset : local_#32142_ci!offset + 8 }]!offset - local_#5621_oldstack!offset) / 16; local_#19964 := { base : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!offset + local_#19963 * 16 }; _memory_ptr[{ base : local_#32142_ci!base, offset : local_#32142_ci!offset + 8 }] := local_#19964; local_#19965 := (_memory_ptr[{ base : local_#32142_ci!base, offset : local_#32142_ci!offset + 0 }]!offset - local_#5621_oldstack!offset) / 16; local_#19966 := { base : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!offset + local_#19965 * 16 }; _memory_ptr[{ base : local_#32142_ci!base, offset : local_#32142_ci!offset + 0 }] := local_#19966; local_#19967 := _memory[{ base : local_#32142_ci!base, offset : local_#32142_ci!offset + 66 }]; assert { :LIR "63098" } { :check "overflow" } { :finding_ids "0" } local_#19967 <= 2147483647; local_#19968 := 2; local_#19969 := ~sand32(local_#19967, local_#19968); if (local_#19969 != 0) { goto CFG_40717; } else { goto CFG_45073; } CFG_40717: assume true; local_#19970 := { base : local_#32142_ci!base, offset : local_#32142_ci!offset + 32 }; local_#19971 := (_memory_ptr[{ base : local_#19970!base, offset : local_#19970!offset + 0 }]!offset - local_#5621_oldstack!offset) / 16; local_#19972 := { base : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!offset + local_#19971 * 16 }; local_#19973 := { base : local_#32142_ci!base, offset : local_#32142_ci!offset + 32 }; _memory_ptr[{ base : local_#19973!base, offset : local_#19973!offset + 0 }] := local_#19972; goto CFG_45073; CFG_45073: assume true; local_#32142_ci := _memory_ptr[{ base : local_#32142_ci!base, offset : local_#32142_ci!offset + 16 }]; local_#19974 := local_#32142_ci; goto CFG_50313; CFG_43199: assume true; local_#19975 := (_memory_ptr[{ base : local_#32143_up!base, offset : local_#32143_up!offset + 0 }]!offset - local_#5621_oldstack!offset) / 16; local_#19976 := { base : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5620_L!base, offset : local_#5620_L!offset + 56 }]!offset + local_#19975 * 16 }; _memory_ptr[{ base : local_#32143_up!base, offset : local_#32143_up!offset + 0 }] := local_#19976; goto CFG_45074; CFG_45074: assume true; local_#19977 := { base : local_#32143_up!base, offset : local_#32143_up!offset + 16 }; local_#32143_up := _memory_ptr[{ base : local_#19977!base, offset : local_#19977!offset + 0 }]; local_#19978 := local_#32143_up; goto CFG_50312; CFG_37569: assume true; } procedure routine_#34671_countint(local_#5622_key_IN : { base : int, offset : int }, local_#5623_nums_IN : { base : int, offset : int }) returns (local_#7989 : int) modifies _memory; { var local_#5622_key : { base : int, offset : int }; var local_#5623_nums : { base : int, offset : int }; var local_#19979 : int; var local_#32144_k : int; var local_#19980 : int; var local_#19981 : int; var local_#19982 : int; var local_#19983 : { base : int, offset : int }; var local_#19984 : int; var local_#19985 : int; var local_#19986 : int; local_#5622_key := local_#5622_key_IN; local_#5623_nums := local_#5623_nums_IN; goto CFG_36659; CFG_36659: assume true; goto CFG_46812; CFG_46812: assume true; call local_#19979 := routine_#34583_arrayindex(local_#5622_key); goto CFG_50315; CFG_50315: assume true; local_#32144_k := local_#19979; local_#19980 := 0; local_#19981 := (if local_#32144_k != local_#19980 then 1 else 0); if (local_#19981 != 0) { goto CFG_46813; } else { goto CFG_38441; } CFG_38441: assume true; local_#7989 := 0; goto CFG_37570; CFG_46813: assume true; call local_#19982 := routine_#33860_luaO_ceillog2(local_#32144_k); goto CFG_38442; CFG_38442: assume true; local_#19983 := { base : local_#5623_nums!base, offset : local_#5623_nums!offset + local_#19982 * 4 }; local_#19984 := _memory[local_#19983]; local_#19985 := 1; assume { :symbol "~uwrap32" } true; _memory[local_#19983] := ~uwrap32(local_#19984 + local_#19985); assert { :LIR "66589" } { :check "overflow" } { :finding_ids "0" } true; local_#19986 := local_#19984; local_#7989 := 1; goto CFG_37570; CFG_37570: assume true; } procedure routine_#34672_createargtable(local_#5624_L_IN : { base : int, offset : int }, local_#5625_argv_IN : { base : int, offset : int }, local_#5626_argc_IN : int, local_#5627_script_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5624_L : { base : int, offset : int }; var local_#5625_argv : { base : int, offset : int }; var local_#5626_argc : int; var local_#5627_script : int; var local_#19987 : int; var local_#19988 : int; var local_#19989 : int; var local_#19990 : int; var local_#32146_narg : int; var local_#19991 : int; var local_#19992 : int; var local_#32145_i : int; var local_#19993 : int; var local_#19994 : { base : int, offset : int }; var local_#19995 : { base : int, offset : int }; var local_#19996 : { base : int, offset : int }; var local_#19997 : { base : int, offset : int }; var local_#19998 : { base : int, offset : int }; var local_#19999 : int; var local_#20000 : int; var local_#20001 : int; var local_#20002 : int; var local_#20003 : int; var local_#20004 : int; local_#5624_L := local_#5624_L_IN; local_#5625_argv := local_#5625_argv_IN; local_#5626_argc := local_#5626_argc_IN; local_#5627_script := local_#5627_script_IN; goto CFG_36660; CFG_36660: assume true; goto CFG_50316; CFG_50316: assume true; local_#19987 := (if local_#5627_script == local_#5626_argc then 1 else 0); if (local_#19987 != 0) { goto CFG_40718; } else { goto CFG_43200; } CFG_40718: assume true; local_#5627_script := 0; goto CFG_43200; CFG_43200: assume true; local_#19988 := 1; local_#19989 := local_#5627_script + local_#19988; assert { :LIR "66590" } { :check "overflow" } { :finding_ids "0" } local_#19989 <= 2147483647; local_#19990 := local_#5626_argc - local_#19989; assert { :LIR "68026" } { :check "overflow" } { :finding_ids "0" } local_#19990 <= 2147483647; local_#32146_narg := local_#19990; local_#19991 := 1; local_#19992 := local_#5627_script + local_#19991; assert { :LIR "66591" } { :check "overflow" } { :finding_ids "0" } local_#19992 <= 2147483647; goto CFG_46814; CFG_46814: assume true; call routine_#33925_lua_createtable(local_#5624_L,local_#32146_narg,local_#19992); goto CFG_41734; CFG_41734: assume true; local_#32145_i := 0; goto CFG_50317; CFG_50317: assume true; local_#19993 := (if local_#32145_i < local_#5626_argc then 1 else 0); if (local_#19993 != 0) { goto CFG_43202; } else { goto CFG_43201; } CFG_43201: assume true; assume _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 0 }] == 97 && _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 1 }] == 114 && _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 2 }] == 103 && _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 3 }] == 0; local_#19994 := strlit_#70496; local_#19995 := { base : local_#19994!base, offset : local_#19994!offset + 0 * 1 }; assert { :LIR "63099" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46815; CFG_46815: assume true; call routine_#33981_lua_setglobal(local_#5624_L,local_#19995); goto CFG_39294; CFG_39294: assume true; goto CFG_37571; CFG_43202: assume true; local_#19996 := { base : local_#5625_argv!base, offset : local_#5625_argv!offset + local_#32145_i * 8 }; local_#19997 := _memory_ptr[local_#19996]; assert { :LIR "63100" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46816; CFG_46816: assume true; call local_#19998 := routine_#33965_lua_pushstring(local_#5624_L,local_#19997); goto CFG_43203; CFG_43203: assume true; local_#19999 := -2; local_#20000 := local_#32145_i - local_#5627_script; assert { :LIR "68027" } { :check "overflow" } { :finding_ids "0" } local_#20000 <= 2147483647; local_#20001 := local_#20000; assert { :LIR "63101" } { :check "overflow" } { :finding_ids "0" } local_#20001 <= 9223372036854775807; goto CFG_46817; CFG_46817: assume true; call routine_#33975_lua_rawseti(local_#5624_L,local_#19999,local_#20001); goto CFG_45075; CFG_45075: assume true; local_#20002 := local_#32145_i; local_#20003 := 1; local_#32145_i := local_#20002 + local_#20003; assert { :LIR "66592" } { :check "overflow" } { :finding_ids "0" } local_#32145_i <= 2147483647; local_#20004 := local_#20002; goto CFG_50317; CFG_37571: assume true; } procedure routine_#34673_createclibstable(local_#5628_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5628_L : { base : int, offset : int }; var local_#20005 : int; var local_#20006 : int; var local_#20007 : int; var local_#20008 : int; var local_#20009 : { base : int, offset : int }; var local_#20010 : int; var local_#20011 : int; var local_#20012 : { base : int, offset : int }; var local_#20013 : { base : int, offset : int }; var local_#20014 : int; var local_#20015 : int; var local_#20016 : int; var local_#20017 : { base : int, offset : int }; local_#5628_L := local_#5628_L_IN; goto CFG_36661; CFG_36661: assume true; goto CFG_43204; CFG_43204: assume true; local_#20005 := 0; local_#20006 := 0; goto CFG_46818; CFG_46818: assume true; call routine_#33925_lua_createtable(local_#5628_L,local_#20005,local_#20006); goto CFG_43205; CFG_43205: assume true; local_#20007 := 0; local_#20008 := 1; goto CFG_46819; CFG_46819: assume true; call routine_#33925_lua_createtable(local_#5628_L,local_#20007,local_#20008); goto CFG_43206; CFG_43206: assume true; local_#20009 := fun_addr_#34773_gctm; local_#20010 := 0; goto CFG_46820; CFG_46820: assume true; call routine_#33958_lua_pushcclosure(local_#5628_L,local_#20009,local_#20010); goto CFG_43207; CFG_43207: assume true; local_#20011 := -2; assume _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 0 }] == 95 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 1 }] == 95 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 2 }] == 103 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 3 }] == 99 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 4 }] == 0; local_#20012 := strlit_#70497; local_#20013 := { base : local_#20012!base, offset : local_#20012!offset + 0 * 1 }; assert { :LIR "63102" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46821; CFG_46821: assume true; call routine_#33980_lua_setfield(local_#5628_L,local_#20011,local_#20013); goto CFG_43208; CFG_43208: assume true; local_#20014 := -2; goto CFG_46822; CFG_46822: assume true; call local_#20015 := routine_#33985_lua_setmetatable(local_#5628_L,local_#20014); goto CFG_43209; CFG_43209: assume true; local_#20016 := -1001000; local_#20017 := global_#33047_CLIBS; assert { :LIR "63103" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46823; CFG_46823: assume true; call routine_#33976_lua_rawsetp(local_#5628_L,local_#20016,local_#20017); goto CFG_39295; CFG_39295: assume true; goto CFG_37572; CFG_37572: assume true; } procedure routine_#34674_createmeta(local_#5629_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5629_L : { base : int, offset : int }; var local_#20018 : { base : int, offset : int }; var local_#20019 : { base : int, offset : int }; var local_#20020 : int; var local_#20021 : int; var local_#20022 : int; var local_#20023 : { base : int, offset : int }; var local_#20024 : { base : int, offset : int }; var local_#20025 : { base : int, offset : int }; var local_#20026 : int; var local_#20027 : int; local_#5629_L := local_#5629_L_IN; goto CFG_36662; CFG_36662: assume true; goto CFG_43210; CFG_43210: assume true; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#20018 := strlit_#70446; local_#20019 := { base : local_#20018!base, offset : local_#20018!offset + 0 * 1 }; assert { :LIR "63104" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46824; CFG_46824: assume true; call local_#20020 := routine_#33838_luaL_newmetatable(local_#5629_L,local_#20019); goto CFG_43211; CFG_43211: assume true; local_#20021 := -1; goto CFG_46825; CFG_46825: assume true; call routine_#33967_lua_pushvalue(local_#5629_L,local_#20021); goto CFG_43212; CFG_43212: assume true; local_#20022 := -2; assume _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 0 }] == 95 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 1 }] == 95 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 2 }] == 105 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 3 }] == 110 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 4 }] == 100 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 5 }] == 101 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 6 }] == 120 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 7 }] == 0; local_#20023 := strlit_#70484; local_#20024 := { base : local_#20023!base, offset : local_#20023!offset + 0 * 1 }; assert { :LIR "63105" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46826; CFG_46826: assume true; call routine_#33980_lua_setfield(local_#5629_L,local_#20022,local_#20024); goto CFG_43213; CFG_43213: assume true; local_#20025 := { base : global_#33054_flib!base, offset : global_#33054_flib!offset + 0 * 16 }; local_#20026 := 0; goto CFG_46827; CFG_46827: assume true; call routine_#33849_luaL_setfuncs(local_#5629_L,local_#20025,local_#20026); goto CFG_43214; CFG_43214: assume true; local_#20027 := -2; goto CFG_46828; CFG_46828: assume true; call routine_#33987_lua_settop(local_#5629_L,local_#20027); goto CFG_39296; CFG_39296: assume true; goto CFG_37573; CFG_37573: assume true; } procedure routine_#34675_createmetatable(local_#5630_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5630_L : { base : int, offset : int }; var local_#20028 : int; var local_#20029 : int; var local_#20030 : { base : int, offset : int }; var local_#20031 : { base : int, offset : int }; var local_#20032 : { base : int, offset : int }; var local_#20033 : int; var local_#20034 : int; var local_#20035 : int; var local_#20036 : int; var local_#20037 : int; var local_#20038 : int; var local_#20039 : { base : int, offset : int }; var local_#20040 : { base : int, offset : int }; var local_#20041 : int; local_#5630_L := local_#5630_L_IN; goto CFG_36663; CFG_36663: assume true; goto CFG_43215; CFG_43215: assume true; local_#20028 := 0; local_#20029 := 1; goto CFG_46829; CFG_46829: assume true; call routine_#33925_lua_createtable(local_#5630_L,local_#20028,local_#20029); goto CFG_43216; CFG_43216: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#20030 := strlit_#70352; local_#20031 := { base : local_#20030!base, offset : local_#20030!offset + 0 * 1 }; assert { :LIR "63106" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46830; CFG_46830: assume true; call local_#20032 := routine_#33965_lua_pushstring(local_#5630_L,local_#20031); goto CFG_43217; CFG_43217: assume true; local_#20033 := -2; goto CFG_46831; CFG_46831: assume true; call routine_#33967_lua_pushvalue(local_#5630_L,local_#20033); goto CFG_43218; CFG_43218: assume true; local_#20034 := -2; goto CFG_46832; CFG_46832: assume true; call local_#20035 := routine_#33985_lua_setmetatable(local_#5630_L,local_#20034); goto CFG_43219; CFG_43219: assume true; local_#20036 := -2; goto CFG_46833; CFG_46833: assume true; call routine_#33987_lua_settop(local_#5630_L,local_#20036); goto CFG_43220; CFG_43220: assume true; local_#20037 := -2; goto CFG_46834; CFG_46834: assume true; call routine_#33967_lua_pushvalue(local_#5630_L,local_#20037); goto CFG_43221; CFG_43221: assume true; local_#20038 := -2; assume _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 0 }] == 95 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 1 }] == 95 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 2 }] == 105 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 3 }] == 110 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 4 }] == 100 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 5 }] == 101 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 6 }] == 120 && _memory[{ base : strlit_#70484!base, offset : strlit_#70484!offset + 7 }] == 0; local_#20039 := strlit_#70484; local_#20040 := { base : local_#20039!base, offset : local_#20039!offset + 0 * 1 }; assert { :LIR "63107" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46835; CFG_46835: assume true; call routine_#33980_lua_setfield(local_#5630_L,local_#20038,local_#20040); goto CFG_43222; CFG_43222: assume true; local_#20041 := -2; goto CFG_46836; CFG_46836: assume true; call routine_#33987_lua_settop(local_#5630_L,local_#20041); goto CFG_39297; CFG_39297: assume true; goto CFG_37574; CFG_37574: assume true; } procedure routine_#34676_createsearcherstable(local_#5631_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5631_L : { base : int, offset : int }; var local_#20042 : int; var local_#20043 : int; var local_#32147_i : int; var local_#20044 : { base : int, offset : int }; var local_#20045 : int; var local_#20046 : int; var local_#20047 : { base : int, offset : int }; var local_#20048 : { base : int, offset : int }; var local_#20049 : int; var local_#20050 : { base : int, offset : int }; var local_#20051 : int; var local_#20052 : int; var local_#20053 : int; var local_#20054 : int; var local_#20055 : int; var local_#20056 : int; var local_#20057 : int; var local_#20058 : int; local_#5631_L := local_#5631_L_IN; goto CFG_36664; CFG_36664: assume true; goto CFG_43223; CFG_43223: assume true; local_#20042 := 4; local_#20043 := 0; goto CFG_46837; CFG_46837: assume true; call routine_#33925_lua_createtable(local_#5631_L,local_#20042,local_#20043); goto CFG_41735; CFG_41735: assume true; local_#32147_i := 0; goto CFG_50318; CFG_50318: assume true; local_#20044 := { base : 0, offset : 0 }; local_#20045 := (if _memory_ptr[{ base : global_#31160_searchers!base, offset : global_#31160_searchers!offset + local_#32147_i * 8 }] != local_#20044 then 1 else 0); if (local_#20045 != 0) { goto CFG_43225; } else { goto CFG_43224; } CFG_43224: assume true; local_#20046 := -2; assume _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 0 }] == 115 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 1 }] == 101 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 2 }] == 97 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 3 }] == 114 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 4 }] == 99 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 5 }] == 104 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 6 }] == 101 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 7 }] == 114 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 8 }] == 115 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 9 }] == 0; local_#20047 := strlit_#70502; local_#20048 := { base : local_#20047!base, offset : local_#20047!offset + 0 * 1 }; assert { :LIR "63108" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46838; CFG_46838: assume true; call routine_#33980_lua_setfield(local_#5631_L,local_#20046,local_#20048); goto CFG_39298; CFG_39298: assume true; goto CFG_37575; CFG_43225: assume true; local_#20049 := -2; goto CFG_46839; CFG_46839: assume true; call routine_#33967_lua_pushvalue(local_#5631_L,local_#20049); goto CFG_43226; CFG_43226: assume true; local_#20050 := _memory_ptr[{ base : global_#31160_searchers!base, offset : global_#31160_searchers!offset + local_#32147_i * 8 }]; local_#20051 := 1; goto CFG_46840; CFG_46840: assume true; call routine_#33958_lua_pushcclosure(local_#5631_L,local_#20050,local_#20051); goto CFG_43227; CFG_43227: assume true; local_#20052 := -2; local_#20053 := 1; local_#20054 := local_#32147_i + local_#20053; assert { :LIR "66593" } { :check "overflow" } { :finding_ids "0" } local_#20054 <= 2147483647; local_#20055 := local_#20054; assert { :LIR "63109" } { :check "overflow" } { :finding_ids "0" } local_#20055 <= 9223372036854775807; goto CFG_46841; CFG_46841: assume true; call routine_#33975_lua_rawseti(local_#5631_L,local_#20052,local_#20055); goto CFG_45076; CFG_45076: assume true; local_#20056 := local_#32147_i; local_#20057 := 1; local_#32147_i := local_#20056 + local_#20057; assert { :LIR "66594" } { :check "overflow" } { :finding_ids "0" } local_#32147_i <= 2147483647; local_#20058 := local_#20056; goto CFG_50318; CFG_37575: assume true; } procedure routine_#34677_createstdfile(local_#5632_L_IN : { base : int, offset : int }, local_#5633_f_IN : { base : int, offset : int }, local_#5634_k_IN : { base : int, offset : int }, local_#5635_fname_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5632_L : { base : int, offset : int }; var local_#5633_f : { base : int, offset : int }; var local_#5634_k : { base : int, offset : int }; var local_#5635_fname : { base : int, offset : int }; var local_#20059 : { base : int, offset : int }; var local_#32148_p : { base : int, offset : int }; var local_#20060 : { base : int, offset : int }; var local_#20061 : int; var local_#20062 : int; var local_#20063 : int; var local_#20064 : int; local_#5632_L := local_#5632_L_IN; local_#5633_f := local_#5633_f_IN; local_#5634_k := local_#5634_k_IN; local_#5635_fname := local_#5635_fname_IN; goto CFG_36665; CFG_36665: assume true; goto CFG_46842; CFG_46842: assume true; call local_#20059 := routine_#34961_newprefile(local_#5632_L); goto CFG_50319; CFG_50319: assume true; local_#32148_p := local_#20059; _memory_ptr[{ base : local_#32148_p!base, offset : local_#32148_p!offset + 0 }] := local_#5633_f; _memory_ptr[{ base : local_#32148_p!base, offset : local_#32148_p!offset + 8 }] := fun_addr_#34823_io_noclose; local_#20060 := { base : 0, offset : 0 }; local_#20061 := (if local_#5634_k != local_#20060 then 1 else 0); if (local_#20061 != 0) { goto CFG_43228; } else { goto CFG_43230; } CFG_43228: assume true; local_#20062 := -1; goto CFG_46843; CFG_46843: assume true; call routine_#33967_lua_pushvalue(local_#5632_L,local_#20062); goto CFG_43229; CFG_43229: assume true; local_#20063 := -1001000; goto CFG_46844; CFG_46844: assume true; call routine_#33980_lua_setfield(local_#5632_L,local_#20063,local_#5634_k); goto CFG_40719; CFG_40719: assume true; goto CFG_43230; CFG_43230: assume true; local_#20064 := -2; goto CFG_46845; CFG_46845: assume true; call routine_#33980_lua_setfield(local_#5632_L,local_#20064,local_#5635_fname); goto CFG_39299; CFG_39299: assume true; goto CFG_37576; CFG_37576: assume true; } procedure routine_#34678_createstrobj(local_#5636_L_IN : { base : int, offset : int }, local_#5637_l_IN : int, local_#5638_tag_IN : int, local_#5639_h_IN : int) returns (local_#7990 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5636_L : { base : int, offset : int }; var local_#5637_l : int; var local_#5638_tag : int; var local_#5639_h : int; var local_#20065 : int; var local_#20066 : int; var local_#20067 : int; var local_#20068 : int; var local_#20069 : int; var local_#20070 : int; var local_#32150_totalsize : int; var local_#20071 : { base : int, offset : int }; var local_#32149_o : { base : int, offset : int }; var local_#20072 : { base : int, offset : int }; var local_#20073 : { base : int, offset : int }; var local_#32151_ts : { base : int, offset : int }; var local_#20074 : int; var local_#20075 : { base : int, offset : int }; var local_#20076 : int; var local_#20077 : { base : int, offset : int }; var local_#20078 : { base : int, offset : int }; local_#5636_L := local_#5636_L_IN; local_#5637_l := local_#5637_l_IN; local_#5638_tag := local_#5638_tag_IN; local_#5639_h := local_#5639_h_IN; goto CFG_36666; CFG_36666: assume true; goto CFG_43231; CFG_43231: assume true; local_#20065 := 24; local_#20066 := 1; assume { :symbol "~uwrap64" } true; local_#20067 := ~uwrap64(local_#5637_l + local_#20066); assert { :LIR "66595" } { :check "overflow" } { :finding_ids "0" } true; local_#20068 := 1; assume { :symbol "~uwrap64" } true; local_#20069 := ~uwrap64(local_#20067 * local_#20068); assert { :LIR "68568" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#20070 := ~uwrap64(local_#20065 + local_#20069); assert { :LIR "66596" } { :check "overflow" } { :finding_ids "0" } true; local_#32150_totalsize := local_#20070; goto CFG_46846; CFG_46846: assume true; call local_#20071 := routine_#33726_luaC_newobj(local_#5636_L,local_#5638_tag,local_#32150_totalsize); goto CFG_38443; CFG_38443: assume true; local_#32149_o := local_#20071; local_#20072 := local_#32149_o; assert { :LIR "61477" } { :check "overflow" } { :finding_ids "0" } true; local_#20073 := { base : local_#20072!base, offset : local_#20072!offset + 0 }; local_#32151_ts := local_#20073; _memory[{ base : local_#32151_ts!base, offset : local_#32151_ts!offset + 12 }] := local_#5639_h; _memory[{ base : local_#32151_ts!base, offset : local_#32151_ts!offset + 10 }] := 0; local_#20074 := 0; local_#20075 := local_#32151_ts; assert { :LIR "61478" } { :check "overflow" } { :finding_ids "0" } true; local_#20076 := 24; local_#20077 := { base : local_#20075!base, offset : local_#20075!offset + local_#20076 * 1 }; local_#20078 := { base : local_#20077!base, offset : local_#20077!offset + local_#5637_l * 1 }; _memory[local_#20078] := local_#20074; local_#7990 := local_#32151_ts; goto CFG_37577; CFG_37577: assume true; } procedure routine_#34679_currentline(local_#5640_ci_IN : { base : int, offset : int }) returns (local_#7991 : int) { var local_#5640_ci : { base : int, offset : int }; var local_#20079 : { base : int, offset : int }; var local_#20080 : { base : int, offset : int }; var local_#20081 : { base : int, offset : int }; var local_#20082 : { base : int, offset : int }; var local_#20083 : { base : int, offset : int }; var local_#20084 : { base : int, offset : int }; var local_#20085 : { base : int, offset : int }; var local_#30742 : int; var local_#20086 : { base : int, offset : int }; var local_#20087 : { base : int, offset : int }; var local_#20088 : { base : int, offset : int }; var local_#20089 : { base : int, offset : int }; var local_#20090 : { base : int, offset : int }; var local_#20091 : { base : int, offset : int }; var local_#20092 : int; var local_#20093 : { base : int, offset : int }; local_#5640_ci := local_#5640_ci_IN; goto CFG_36667; CFG_36667: assume true; goto CFG_50320; CFG_50320: assume true; local_#20079 := _memory_ptr[{ base : local_#5640_ci!base, offset : local_#5640_ci!offset + 0 }]; local_#20080 := { base : local_#20079!base, offset : local_#20079!offset + 0 }; local_#20081 := _memory_ptr[local_#20080]; assert { :LIR "61479" } { :check "overflow" } { :finding_ids "0" } true; local_#20082 := { base : local_#20081!base, offset : local_#20081!offset + 0 }; local_#20083 := { base : local_#20082!base, offset : local_#20082!offset + 0 }; local_#20084 := _memory_ptr[{ base : local_#20083!base, offset : local_#20083!offset + 24 }]; local_#20085 := _memory_ptr[{ base : local_#20084!base, offset : local_#20084!offset + 72 }]; if (local_#20085 != { base : 0, offset : 0 }) { goto CFG_43232; } else { goto CFG_40720; } CFG_40720: assume true; local_#30742 := -1; goto CFG_38444; CFG_43232: assume true; local_#20086 := _memory_ptr[{ base : local_#5640_ci!base, offset : local_#5640_ci!offset + 0 }]; local_#20087 := { base : local_#20086!base, offset : local_#20086!offset + 0 }; local_#20088 := _memory_ptr[local_#20087]; assert { :LIR "61480" } { :check "overflow" } { :finding_ids "0" } true; local_#20089 := { base : local_#20088!base, offset : local_#20088!offset + 0 }; local_#20090 := { base : local_#20089!base, offset : local_#20089!offset + 0 }; local_#20091 := _memory_ptr[{ base : local_#20090!base, offset : local_#20090!offset + 24 }]; goto CFG_46847; CFG_46847: assume true; call local_#20092 := routine_#34680_currentpc(local_#5640_ci); goto CFG_40721; CFG_40721: assume true; local_#20093 := { base : _memory_ptr[{ base : local_#20091!base, offset : local_#20091!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#20091!base, offset : local_#20091!offset + 72 }]!offset + local_#20092 * 4 }; local_#30742 := _memory[local_#20093]; goto CFG_38444; CFG_38444: assume true; local_#7991 := local_#30742; goto CFG_37578; CFG_37578: assume true; } procedure routine_#34680_currentpc(local_#5641_ci_IN : { base : int, offset : int }) returns (local_#7992 : int) { var local_#5641_ci : { base : int, offset : int }; var local_#20094 : int; var local_#20095 : int; var local_#20096 : { base : int, offset : int }; var local_#20097 : { base : int, offset : int }; var local_#20098 : { base : int, offset : int }; var local_#20099 : { base : int, offset : int }; var local_#20100 : { base : int, offset : int }; var local_#20101 : { base : int, offset : int }; var local_#20102 : { base : int, offset : int }; var local_#20103 : int; var local_#20104 : int; var local_#20105 : int; var local_#20106 : int; local_#5641_ci := local_#5641_ci_IN; goto CFG_36668; CFG_36668: assume true; goto CFG_38445; CFG_38445: assume true; local_#20094 := 0; local_#20095 := 0; assert { :LIR "61481" } { :check "overflow" } { :finding_ids "0" } true; local_#20096 := { base : local_#5641_ci!base, offset : local_#5641_ci!offset + 32 }; local_#20097 := _memory_ptr[{ base : local_#5641_ci!base, offset : local_#5641_ci!offset + 0 }]; local_#20098 := { base : local_#20097!base, offset : local_#20097!offset + 0 }; local_#20099 := _memory_ptr[local_#20098]; assert { :LIR "61482" } { :check "overflow" } { :finding_ids "0" } true; local_#20100 := { base : local_#20099!base, offset : local_#20099!offset + 0 }; local_#20101 := { base : local_#20100!base, offset : local_#20100!offset + 0 }; local_#20102 := _memory_ptr[{ base : local_#20101!base, offset : local_#20101!offset + 24 }]; local_#20103 := (_memory_ptr[{ base : local_#20096!base, offset : local_#20096!offset + 8 }]!offset - _memory_ptr[{ base : local_#20102!base, offset : local_#20102!offset + 56 }]!offset) / 4; local_#20104 := local_#20103; assert { :LIR "61483" } { :check "overflow" } { :finding_ids "0" } local_#20104 <= 2147483647; local_#20105 := 1; local_#20106 := local_#20104 - local_#20105; assert { :LIR "68028" } { :check "overflow" } { :finding_ids "0" } local_#20106 <= 2147483647; local_#7992 := local_#20106; goto CFG_37579; CFG_37579: assume true; } procedure routine_#34681_db_debug(local_#5642_L_IN : { base : int, offset : int }) returns (local_#7993 : int) modifies _memory, _memory_ptr, _valid; { var local_#5642_L : { base : int, offset : int }; var local_#20107 : int; var local_#20108 : { base : int, offset : int }; var local_#20109 : { base : int, offset : int }; var local_#20110 : { base : int, offset : int }; var local_#20111 : { base : int, offset : int }; var local_#20112 : int; var local_#20113 : int; var local_#20114 : int; var local_#32152_buffer : { base : int, offset : int }; var local_#20115 : { base : int, offset : int }; var local_#20116 : int; var local_#20117 : { base : int, offset : int }; var local_#20118 : { base : int, offset : int }; var local_#20119 : int; var local_#20120 : { base : int, offset : int }; var local_#20121 : { base : int, offset : int }; var local_#20122 : { base : int, offset : int }; var local_#20123 : int; var local_#20124 : int; var local_#20125 : int; var local_#20126 : { base : int, offset : int }; var local_#20127 : { base : int, offset : int }; var local_#20128 : int; var local_#20129 : { base : int, offset : int }; var local_#20130 : { base : int, offset : int }; var local_#20131 : { base : int, offset : int }; var local_#20132 : int; var local_#20133 : int; var local_#20134 : int; var local_#20135 : int; var local_#20136 : int; var local_#20137 : int; var local_#20138 : { base : int, offset : int }; var local_#20139 : int; var local_#20140 : int; var local_#20141 : { base : int, offset : int }; var local_#20142 : { base : int, offset : int }; var local_#20143 : int; var local_#20144 : { base : int, offset : int }; var local_#20145 : { base : int, offset : int }; var local_#20146 : int; var local_#20147 : int; var local_#20148 : int; var local_#20149 : int; local_#5642_L := local_#5642_L_IN; goto CFG_36669; CFG_36669: assume true; goto CFG_41736; CFG_41736: assume true; goto CFG_50321; CFG_50321: assume true; local_#20107 := 1; if (local_#20107 != 0) { goto CFG_43233; } else { goto CFG_37580; } CFG_43233: assume true; assume _memory[{ base : strlit_#70503!base, offset : strlit_#70503!offset + 0 }] == 37 && _memory[{ base : strlit_#70503!base, offset : strlit_#70503!offset + 1 }] == 115 && _memory[{ base : strlit_#70503!base, offset : strlit_#70503!offset + 2 }] == 0; local_#20108 := strlit_#70503; local_#20109 := { base : local_#20108!base, offset : local_#20108!offset + 0 * 1 }; assert { :LIR "63110" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 0 }] == 108 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 1 }] == 117 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 2 }] == 97 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 3 }] == 95 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 4 }] == 100 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 5 }] == 101 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 6 }] == 98 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 7 }] == 117 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 8 }] == 103 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 9 }] == 62 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 10 }] == 32 && _memory[{ base : strlit_#70504!base, offset : strlit_#70504!offset + 11 }] == 0; local_#20110 := strlit_#70504; local_#20111 := { base : local_#20110!base, offset : local_#20110!offset + 0 * 1 }; goto CFG_46848; CFG_46848: assume true; call local_#20112 := routine_#33580_fprintf(global_#33190_stderr,local_#20109,{ base : 0, offset : 0 }); goto CFG_46849; CFG_46849: assume true; call local_#20113 := routine_#33556_fflush(global_#33190_stderr); goto CFG_43234; CFG_43234: assume true; local_#20114 := local_#20113; local_#20115 := { base : local_#32152_buffer!base, offset : local_#32152_buffer!offset + 0 * 1 }; local_#20116 := 250; goto CFG_46850; CFG_46850: assume true; call local_#20117 := routine_#33559_fgets(local_#20115,local_#20116,global_#33191_stdin); goto CFG_50322; CFG_50322: assume true; local_#20118 := { base : 0, offset : 0 }; local_#20119 := (if local_#20117 == local_#20118 then 1 else 0); if (local_#20119 != 0) { goto CFG_38446; } else { goto CFG_43235; } CFG_43235: assume true; local_#20120 := { base : local_#32152_buffer!base, offset : local_#32152_buffer!offset + 0 * 1 }; assert { :LIR "63111" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70505!base, offset : strlit_#70505!offset + 0 }] == 99 && _memory[{ base : strlit_#70505!base, offset : strlit_#70505!offset + 1 }] == 111 && _memory[{ base : strlit_#70505!base, offset : strlit_#70505!offset + 2 }] == 110 && _memory[{ base : strlit_#70505!base, offset : strlit_#70505!offset + 3 }] == 116 && _memory[{ base : strlit_#70505!base, offset : strlit_#70505!offset + 4 }] == 10 && _memory[{ base : strlit_#70505!base, offset : strlit_#70505!offset + 5 }] == 0; local_#20121 := strlit_#70505; local_#20122 := { base : local_#20121!base, offset : local_#20121!offset + 0 * 1 }; assert { :LIR "63112" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46851; CFG_46851: assume true; call local_#20123 := routine_#34446_strcmp(local_#20120,local_#20122); goto CFG_50323; CFG_50323: assume true; local_#20124 := 0; local_#20125 := (if local_#20123 == local_#20124 then 1 else 0); if (local_#20125 != 0) { goto CFG_38446; } else { goto CFG_43236; } CFG_43236: assume true; local_#20126 := { base : local_#32152_buffer!base, offset : local_#32152_buffer!offset + 0 * 1 }; assert { :LIR "63113" } { :check "overflow" } { :finding_ids "0" } true; local_#20127 := { base : local_#32152_buffer!base, offset : local_#32152_buffer!offset + 0 * 1 }; assert { :LIR "63114" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46852; CFG_46852: assume true; call local_#20128 := routine_#34454_strlen(local_#20127); goto CFG_43237; CFG_43237: assume true; assume _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 0 }] == 61 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 1 }] == 40 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 2 }] == 100 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 3 }] == 101 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 4 }] == 98 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 5 }] == 117 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 6 }] == 103 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 7 }] == 32 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 8 }] == 99 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 9 }] == 111 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 10 }] == 109 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 11 }] == 109 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 12 }] == 97 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 13 }] == 110 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 14 }] == 100 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 15 }] == 41 && _memory[{ base : strlit_#70506!base, offset : strlit_#70506!offset + 16 }] == 0; local_#20129 := strlit_#70506; local_#20130 := { base : local_#20129!base, offset : local_#20129!offset + 0 * 1 }; assert { :LIR "63115" } { :check "overflow" } { :finding_ids "0" } true; local_#20131 := { base : 0, offset : 0 }; goto CFG_46853; CFG_46853: assume true; call local_#20132 := routine_#33835_luaL_loadbufferx(local_#5642_L,local_#20126,local_#20128,local_#20130,local_#20131); goto CFG_50324; CFG_50324: assume true; local_#20133 := local_#20132; if (local_#20133 != 0) { goto CFG_43239; } else { goto CFG_43238; } CFG_43238: assume true; local_#20134 := 0; local_#20135 := 0; local_#20136 := 0; local_#20137 := 0; local_#20138 := { base : 0, offset : 0 }; goto CFG_46854; CFG_46854: assume true; call local_#20139 := routine_#33956_lua_pcallk(local_#5642_L,local_#20134,local_#20135,local_#20136,local_#20137,local_#20138); goto CFG_50325; CFG_50325: assume true; local_#20140 := local_#20139; if (local_#20140 != 0) { goto CFG_43239; } else { goto CFG_43240; } CFG_43239: assume true; assume _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 0 }] == 37 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 1 }] == 115 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 2 }] == 10 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 3 }] == 0; local_#20141 := strlit_#70343; local_#20142 := { base : local_#20141!base, offset : local_#20141!offset + 0 * 1 }; assert { :LIR "63116" } { :check "overflow" } { :finding_ids "0" } true; local_#20143 := -1; local_#20144 := { base : 0, offset : 0 }; goto CFG_46855; CFG_46855: assume true; call local_#20145 := routine_#33995_lua_tolstring(local_#5642_L,local_#20143,local_#20144); goto CFG_46856; CFG_46856: assume true; call local_#20146 := routine_#33580_fprintf(global_#33190_stderr,local_#20142,{ base : 0, offset : 0 }); goto CFG_46857; CFG_46857: assume true; call local_#20147 := routine_#33556_fflush(global_#33190_stderr); goto CFG_40722; CFG_40722: assume true; local_#20148 := local_#20147; goto CFG_43240; CFG_43240: assume true; local_#20149 := 0; goto CFG_46858; CFG_46858: assume true; call routine_#33987_lua_settop(local_#5642_L,local_#20149); goto CFG_45077; CFG_45077: assume true; goto CFG_50321; CFG_38446: assume true; local_#7993 := 0; goto CFG_37580; CFG_37580: assume true; } procedure routine_#34682_db_gethook(local_#5643_L_IN : { base : int, offset : int }) returns (local_#7994 : int) modifies _memory, _memory_ptr, _valid; { var local_#5643_L : { base : int, offset : int }; var local_#32154_arg : { base : int, offset : int }; var local_#20150 : { base : int, offset : int }; var local_#20151 : { base : int, offset : int }; var local_#32153_L1 : { base : int, offset : int }; var local_#20152 : int; var local_#32157_mask : int; var local_#20153 : { base : int, offset : int }; var local_#32156_hook : { base : int, offset : int }; var local_#20154 : { base : int, offset : int }; var local_#20155 : int; var local_#20156 : int; var local_#20157 : int; var local_#20158 : { base : int, offset : int }; var local_#20159 : int; var local_#20160 : int; var local_#20161 : int; var local_#20162 : int; var local_#20163 : int; var local_#20164 : int; var local_#20165 : int; var local_#20166 : int; var local_#20167 : int; var local_#20168 : { base : int, offset : int }; var local_#20169 : { base : int, offset : int }; var local_#20170 : { base : int, offset : int }; var local_#32155_buff : { base : int, offset : int }; var local_#20171 : { base : int, offset : int }; var local_#20172 : { base : int, offset : int }; var local_#20173 : { base : int, offset : int }; var local_#20174 : { base : int, offset : int }; var local_#20175 : int; var local_#20176 : int; local_#5643_L := local_#5643_L_IN; goto CFG_36670; CFG_36670: assume true; goto CFG_43241; CFG_43241: assume true; local_#20150 := local_#32154_arg; goto CFG_46859; CFG_46859: assume true; call local_#20151 := routine_#34797_getthread(local_#5643_L,local_#20150); goto CFG_43242; CFG_43242: assume true; local_#32153_L1 := local_#20151; goto CFG_46860; CFG_46860: assume true; call local_#20152 := routine_#33934_lua_gethookmask(local_#32153_L1); goto CFG_43243; CFG_43243: assume true; local_#32157_mask := local_#20152; goto CFG_46861; CFG_46861: assume true; call local_#20153 := routine_#33932_lua_gethook(local_#32153_L1); goto CFG_50326; CFG_50326: assume true; local_#32156_hook := local_#20153; local_#20154 := { base : 0, offset : 0 }; local_#20155 := (if local_#32156_hook == local_#20154 then 1 else 0); if (local_#20155 != 0) { goto CFG_46870; } else { goto CFG_50327; } CFG_50327: assume true; local_#20156 := (if local_#32156_hook != fun_addr_#34807_hookf then 1 else 0); if (local_#20156 != 0) { goto CFG_43250; } else { goto CFG_43244; } CFG_43244: assume true; local_#20157 := -1001000; local_#20158 := global_#33048_HOOKKEY; assert { :LIR "63117" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46862; CFG_46862: assume true; call local_#20159 := routine_#33972_lua_rawgetp(local_#5643_L,local_#20157,local_#20158); goto CFG_43245; CFG_43245: assume true; local_#20160 := 1; goto CFG_46863; CFG_46863: assume true; call routine_#34640_checkstack(local_#5643_L,local_#32153_L1,local_#20160); goto CFG_46864; CFG_46864: assume true; call local_#20161 := routine_#33966_lua_pushthread(local_#32153_L1); goto CFG_43246; CFG_43246: assume true; local_#20162 := 1; goto CFG_46865; CFG_46865: assume true; call routine_#34005_lua_xmove(local_#32153_L1,local_#5643_L,local_#20162); goto CFG_43247; CFG_43247: assume true; local_#20163 := -2; goto CFG_46866; CFG_46866: assume true; call local_#20164 := routine_#33970_lua_rawget(local_#5643_L,local_#20163); goto CFG_43248; CFG_43248: assume true; local_#20165 := -2; local_#20166 := -1; goto CFG_46867; CFG_46867: assume true; call routine_#33978_lua_rotate(local_#5643_L,local_#20165,local_#20166); goto CFG_43249; CFG_43249: assume true; local_#20167 := -2; goto CFG_46868; CFG_46868: assume true; call routine_#33987_lua_settop(local_#5643_L,local_#20167); goto CFG_40723; CFG_40723: assume true; goto CFG_40725; CFG_43250: assume true; assume _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 0 }] == 101 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 1 }] == 120 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 2 }] == 116 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 3 }] == 101 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 4 }] == 114 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 5 }] == 110 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 6 }] == 97 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 7 }] == 108 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 8 }] == 32 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 9 }] == 104 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 10 }] == 111 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 11 }] == 111 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 12 }] == 107 && _memory[{ base : strlit_#70508!base, offset : strlit_#70508!offset + 13 }] == 0; local_#20168 := strlit_#70508; local_#20169 := { base : local_#20168!base, offset : local_#20168!offset + 0 * 1 }; assert { :LIR "63118" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46869; CFG_46869: assume true; call local_#20170 := routine_#33965_lua_pushstring(local_#5643_L,local_#20169); goto CFG_40724; CFG_40724: assume true; goto CFG_40725; CFG_40725: assume true; goto CFG_43251; CFG_46870: assume true; call routine_#33963_lua_pushnil(local_#5643_L); goto CFG_40726; CFG_40726: assume true; goto CFG_43251; CFG_43251: assume true; local_#20171 := { base : local_#32155_buff!base, offset : local_#32155_buff!offset + 0 * 1 }; goto CFG_46871; CFG_46871: assume true; call local_#20172 := routine_#35134_unmakemask(local_#32157_mask,local_#20171); goto CFG_43252; CFG_43252: assume true; local_#20173 := local_#20172; assert { :LIR "63119" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46872; CFG_46872: assume true; call local_#20174 := routine_#33965_lua_pushstring(local_#5643_L,local_#20173); goto CFG_46873; CFG_46873: assume true; call local_#20175 := routine_#33933_lua_gethookcount(local_#32153_L1); goto CFG_43253; CFG_43253: assume true; local_#20176 := local_#20175; assert { :LIR "63120" } { :check "overflow" } { :finding_ids "0" } local_#20176 <= 9223372036854775807; goto CFG_46874; CFG_46874: assume true; call routine_#33960_lua_pushinteger(local_#5643_L,local_#20176); goto CFG_38447; CFG_38447: assume true; local_#7994 := 3; goto CFG_37581; CFG_37581: assume true; } procedure routine_#34683_db_getinfo(local_#5644_L_IN : { base : int, offset : int }) returns (local_#7995 : int) modifies _memory, _memory_ptr, _valid; { var local_#5644_L : { base : int, offset : int }; var local_#32160_arg : { base : int, offset : int }; var local_#20177 : { base : int, offset : int }; var local_#20178 : { base : int, offset : int }; var local_#32158_L1 : { base : int, offset : int }; var local_#20179 : int; var local_#20180 : int; var local_#20181 : { base : int, offset : int }; var local_#20182 : { base : int, offset : int }; var local_#20183 : { base : int, offset : int }; var local_#20184 : { base : int, offset : int }; var local_#32161_options : { base : int, offset : int }; var local_#20185 : int; var local_#20186 : int; var local_#20187 : int; var local_#20188 : int; var local_#20189 : int; var local_#20190 : int; var local_#20191 : int; var local_#20192 : int; var local_#20193 : int; var local_#20194 : int; var local_#32159_ar : { base : int, offset : int }; var local_#20195 : { base : int, offset : int }; var local_#20196 : int; var local_#20197 : int; var local_#20198 : { base : int, offset : int }; var local_#20199 : { base : int, offset : int }; var local_#20200 : { base : int, offset : int }; var local_#20201 : int; var local_#20202 : int; var local_#20203 : int; var local_#20204 : { base : int, offset : int }; var local_#20205 : int; var local_#20206 : int; var local_#20207 : int; var local_#20208 : int; var local_#20209 : int; var local_#20210 : { base : int, offset : int }; var local_#20211 : { base : int, offset : int }; var local_#20212 : { base : int, offset : int }; var local_#20213 : { base : int, offset : int }; var local_#20214 : { base : int, offset : int }; var local_#20215 : { base : int, offset : int }; var local_#20216 : { base : int, offset : int }; var local_#20217 : { base : int, offset : int }; var local_#20218 : { base : int, offset : int }; var local_#20219 : { base : int, offset : int }; var local_#20220 : { base : int, offset : int }; var local_#20221 : int; var local_#20222 : { base : int, offset : int }; var local_#20223 : { base : int, offset : int }; var local_#20224 : int; var local_#20225 : { base : int, offset : int }; var local_#20226 : { base : int, offset : int }; var local_#20227 : { base : int, offset : int }; var local_#20228 : int; var local_#20229 : { base : int, offset : int }; var local_#20230 : { base : int, offset : int }; var local_#20231 : { base : int, offset : int }; var local_#20232 : { base : int, offset : int }; var local_#20233 : int; var local_#20234 : int; var local_#20235 : { base : int, offset : int }; var local_#20236 : { base : int, offset : int }; var local_#20237 : { base : int, offset : int }; var local_#20238 : { base : int, offset : int }; var local_#20239 : int; var local_#20240 : { base : int, offset : int }; var local_#20241 : { base : int, offset : int }; var local_#20242 : int; var local_#20243 : { base : int, offset : int }; var local_#20244 : { base : int, offset : int }; var local_#20245 : int; var local_#20246 : int; var local_#20247 : { base : int, offset : int }; var local_#20248 : { base : int, offset : int }; var local_#20249 : { base : int, offset : int }; var local_#20250 : { base : int, offset : int }; var local_#20251 : { base : int, offset : int }; var local_#20252 : { base : int, offset : int }; var local_#20253 : { base : int, offset : int }; var local_#20254 : { base : int, offset : int }; var local_#20255 : int; var local_#20256 : { base : int, offset : int }; var local_#20257 : { base : int, offset : int }; var local_#20258 : { base : int, offset : int }; var local_#20259 : { base : int, offset : int }; var local_#20260 : int; var local_#20261 : int; var local_#20262 : { base : int, offset : int }; var local_#20263 : { base : int, offset : int }; var local_#20264 : { base : int, offset : int }; var local_#20265 : { base : int, offset : int }; var local_#20266 : int; var local_#20267 : { base : int, offset : int }; var local_#20268 : { base : int, offset : int }; var local_#20269 : { base : int, offset : int }; var local_#20270 : { base : int, offset : int }; var local_#20271 : int; var local_#20272 : int; var local_#20273 : { base : int, offset : int }; var local_#20274 : { base : int, offset : int }; var local_#20275 : int; local_#5644_L := local_#5644_L_IN; goto CFG_36671; CFG_36671: assume true; goto CFG_43254; CFG_43254: assume true; local_#20177 := local_#32160_arg; goto CFG_46875; CFG_46875: assume true; call local_#20178 := routine_#34797_getthread(local_#5644_L,local_#20177); goto CFG_43255; CFG_43255: assume true; local_#32158_L1 := local_#20178; local_#20179 := 2; local_#20180 := _memory[local_#32160_arg] + local_#20179; assert { :LIR "66597" } { :check "overflow" } { :finding_ids "0" } local_#20180 <= 2147483647; assume _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 0 }] == 102 && _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 1 }] == 108 && _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 2 }] == 110 && _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 3 }] == 83 && _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 4 }] == 116 && _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 5 }] == 117 && _memory[{ base : strlit_#70509!base, offset : strlit_#70509!offset + 6 }] == 0; local_#20181 := strlit_#70509; local_#20182 := { base : local_#20181!base, offset : local_#20181!offset + 0 * 1 }; assert { :LIR "63121" } { :check "overflow" } { :finding_ids "0" } true; local_#20183 := { base : 0, offset : 0 }; goto CFG_46876; CFG_46876: assume true; call local_#20184 := routine_#33842_luaL_optlstring(local_#5644_L,local_#20180,local_#20182,local_#20183); goto CFG_43256; CFG_43256: assume true; local_#32161_options := local_#20184; local_#20185 := 3; goto CFG_46877; CFG_46877: assume true; call routine_#34640_checkstack(local_#5644_L,local_#32158_L1,local_#20185); goto CFG_43257; CFG_43257: assume true; local_#20186 := 1; local_#20187 := _memory[local_#32160_arg] + local_#20186; assert { :LIR "66598" } { :check "overflow" } { :finding_ids "0" } local_#20187 <= 2147483647; goto CFG_46878; CFG_46878: assume true; call local_#20188 := routine_#34000_lua_type(local_#5644_L,local_#20187); goto CFG_50328; CFG_50328: assume true; local_#20189 := 6; local_#20190 := (if local_#20188 == local_#20189 then 1 else 0); if (local_#20190 != 0) { goto CFG_43260; } else { goto CFG_43258; } CFG_43258: assume true; local_#20191 := 1; local_#20192 := _memory[local_#32160_arg] + local_#20191; assert { :LIR "66599" } { :check "overflow" } { :finding_ids "0" } local_#20192 <= 2147483647; goto CFG_46879; CFG_46879: assume true; call local_#20193 := routine_#33820_luaL_checkinteger(local_#5644_L,local_#20192); goto CFG_43259; CFG_43259: assume true; local_#20194 := local_#20193; assert { :LIR "61484" } { :check "overflow" } { :finding_ids "0" } local_#20194 <= 2147483647; local_#20195 := local_#32159_ar; goto CFG_46880; CFG_46880: assume true; call local_#20196 := routine_#33939_lua_getstack(local_#32158_L1,local_#20194,local_#20195); goto CFG_50329; CFG_50329: assume true; local_#20197 := (if local_#20196 != 0 then 0 else 1); if (local_#20197 != 0) { goto CFG_46881; } else { goto CFG_40727; } CFG_40727: assume true; goto CFG_43263; CFG_46881: assume true; call routine_#33963_lua_pushnil(local_#5644_L); goto CFG_38448; CFG_38448: assume true; local_#7995 := 1; goto CFG_37582; CFG_43260: assume true; assume _memory[{ base : strlit_#70510!base, offset : strlit_#70510!offset + 0 }] == 62 && _memory[{ base : strlit_#70510!base, offset : strlit_#70510!offset + 1 }] == 37 && _memory[{ base : strlit_#70510!base, offset : strlit_#70510!offset + 2 }] == 115 && _memory[{ base : strlit_#70510!base, offset : strlit_#70510!offset + 3 }] == 0; local_#20198 := strlit_#70510; local_#20199 := { base : local_#20198!base, offset : local_#20198!offset + 0 * 1 }; assert { :LIR "63122" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46882; CFG_46882: assume true; call local_#20200 := routine_#33959_lua_pushfstring(local_#5644_L,local_#20199,{ base : 0, offset : 0 }); goto CFG_43261; CFG_43261: assume true; local_#32161_options := local_#20200; local_#20201 := 1; local_#20202 := _memory[local_#32160_arg] + local_#20201; assert { :LIR "66600" } { :check "overflow" } { :finding_ids "0" } local_#20202 <= 2147483647; goto CFG_46883; CFG_46883: assume true; call routine_#33967_lua_pushvalue(local_#5644_L,local_#20202); goto CFG_43262; CFG_43262: assume true; local_#20203 := 1; goto CFG_46884; CFG_46884: assume true; call routine_#34005_lua_xmove(local_#5644_L,local_#32158_L1,local_#20203); goto CFG_40728; CFG_40728: assume true; goto CFG_43263; CFG_43263: assume true; local_#20204 := local_#32159_ar; goto CFG_46885; CFG_46885: assume true; call local_#20205 := routine_#33936_lua_getinfo(local_#32158_L1,local_#32161_options,local_#20204); goto CFG_50330; CFG_50330: assume true; local_#20206 := (if local_#20205 != 0 then 0 else 1); if (local_#20206 != 0) { goto CFG_43286; } else { goto CFG_43264; } CFG_43264: assume true; local_#20207 := 0; local_#20208 := 0; goto CFG_46886; CFG_46886: assume true; call routine_#33925_lua_createtable(local_#5644_L,local_#20207,local_#20208); goto CFG_43265; CFG_43265: assume true; local_#20209 := 83; goto CFG_46887; CFG_46887: assume true; call local_#20210 := routine_#34445_strchr(local_#32161_options,local_#20209); goto CFG_50331; CFG_50331: assume true; local_#20211 := local_#20210; if (local_#20211 != { base : 0, offset : 0 }) { goto CFG_43266; } else { goto CFG_43271; } CFG_43266: assume true; assume _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 0 }] == 115 && _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 1 }] == 111 && _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 2 }] == 117 && _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 3 }] == 114 && _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 4 }] == 99 && _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 5 }] == 101 && _memory[{ base : strlit_#70511!base, offset : strlit_#70511!offset + 6 }] == 0; local_#20212 := strlit_#70511; local_#20213 := { base : local_#20212!base, offset : local_#20212!offset + 0 * 1 }; assert { :LIR "63123" } { :check "overflow" } { :finding_ids "0" } true; local_#20214 := _memory_ptr[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 32 }]; goto CFG_46888; CFG_46888: assume true; call routine_#35065_settabss(local_#5644_L,local_#20213,local_#20214); goto CFG_43267; CFG_43267: assume true; assume _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 0 }] == 115 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 1 }] == 104 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 2 }] == 111 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 3 }] == 114 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 4 }] == 116 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 5 }] == 95 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 6 }] == 115 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 7 }] == 114 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 8 }] == 99 && _memory[{ base : strlit_#70512!base, offset : strlit_#70512!offset + 9 }] == 0; local_#20215 := strlit_#70512; local_#20216 := { base : local_#20215!base, offset : local_#20215!offset + 0 * 1 }; assert { :LIR "63124" } { :check "overflow" } { :finding_ids "0" } true; local_#20217 := { base : local_#32159_ar!base, offset : local_#32159_ar!offset + 56 }; local_#20218 := { base : local_#20217!base, offset : local_#20217!offset + 0 * 1 }; assert { :LIR "63125" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46889; CFG_46889: assume true; call routine_#35065_settabss(local_#5644_L,local_#20216,local_#20218); goto CFG_43268; CFG_43268: assume true; assume _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 0 }] == 108 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 1 }] == 105 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 2 }] == 110 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 3 }] == 101 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 4 }] == 100 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 5 }] == 101 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 6 }] == 102 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 7 }] == 105 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 8 }] == 110 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 9 }] == 101 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 10 }] == 100 && _memory[{ base : strlit_#70513!base, offset : strlit_#70513!offset + 11 }] == 0; local_#20219 := strlit_#70513; local_#20220 := { base : local_#20219!base, offset : local_#20219!offset + 0 * 1 }; assert { :LIR "63126" } { :check "overflow" } { :finding_ids "0" } true; local_#20221 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 44 }]; goto CFG_46890; CFG_46890: assume true; call routine_#35064_settabsi(local_#5644_L,local_#20220,local_#20221); goto CFG_43269; CFG_43269: assume true; assume _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 0 }] == 108 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 1 }] == 97 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 2 }] == 115 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 3 }] == 116 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 4 }] == 108 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 5 }] == 105 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 6 }] == 110 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 7 }] == 101 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 8 }] == 100 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 9 }] == 101 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 10 }] == 102 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 11 }] == 105 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 12 }] == 110 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 13 }] == 101 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 14 }] == 100 && _memory[{ base : strlit_#70514!base, offset : strlit_#70514!offset + 15 }] == 0; local_#20222 := strlit_#70514; local_#20223 := { base : local_#20222!base, offset : local_#20222!offset + 0 * 1 }; assert { :LIR "63127" } { :check "overflow" } { :finding_ids "0" } true; local_#20224 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 48 }]; goto CFG_46891; CFG_46891: assume true; call routine_#35064_settabsi(local_#5644_L,local_#20223,local_#20224); goto CFG_43270; CFG_43270: assume true; assume _memory[{ base : strlit_#70515!base, offset : strlit_#70515!offset + 0 }] == 119 && _memory[{ base : strlit_#70515!base, offset : strlit_#70515!offset + 1 }] == 104 && _memory[{ base : strlit_#70515!base, offset : strlit_#70515!offset + 2 }] == 97 && _memory[{ base : strlit_#70515!base, offset : strlit_#70515!offset + 3 }] == 116 && _memory[{ base : strlit_#70515!base, offset : strlit_#70515!offset + 4 }] == 0; local_#20225 := strlit_#70515; local_#20226 := { base : local_#20225!base, offset : local_#20225!offset + 0 * 1 }; assert { :LIR "63128" } { :check "overflow" } { :finding_ids "0" } true; local_#20227 := _memory_ptr[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 24 }]; goto CFG_46892; CFG_46892: assume true; call routine_#35065_settabss(local_#5644_L,local_#20226,local_#20227); goto CFG_40729; CFG_40729: assume true; goto CFG_43271; CFG_43271: assume true; local_#20228 := 108; goto CFG_46893; CFG_46893: assume true; call local_#20229 := routine_#34445_strchr(local_#32161_options,local_#20228); goto CFG_50332; CFG_50332: assume true; local_#20230 := local_#20229; if (local_#20230 != { base : 0, offset : 0 }) { goto CFG_43272; } else { goto CFG_43273; } CFG_43272: assume true; assume _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 0 }] == 99 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 1 }] == 117 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 2 }] == 114 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 3 }] == 114 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 4 }] == 101 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 5 }] == 110 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 6 }] == 116 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 7 }] == 108 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 8 }] == 105 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 9 }] == 110 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 10 }] == 101 && _memory[{ base : strlit_#70516!base, offset : strlit_#70516!offset + 11 }] == 0; local_#20231 := strlit_#70516; local_#20232 := { base : local_#20231!base, offset : local_#20231!offset + 0 * 1 }; assert { :LIR "63129" } { :check "overflow" } { :finding_ids "0" } true; local_#20233 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 40 }]; goto CFG_46894; CFG_46894: assume true; call routine_#35064_settabsi(local_#5644_L,local_#20232,local_#20233); goto CFG_40730; CFG_40730: assume true; goto CFG_43273; CFG_43273: assume true; local_#20234 := 117; goto CFG_46895; CFG_46895: assume true; call local_#20235 := routine_#34445_strchr(local_#32161_options,local_#20234); goto CFG_50333; CFG_50333: assume true; local_#20236 := local_#20235; if (local_#20236 != { base : 0, offset : 0 }) { goto CFG_43274; } else { goto CFG_43277; } CFG_43274: assume true; assume _memory[{ base : strlit_#70517!base, offset : strlit_#70517!offset + 0 }] == 110 && _memory[{ base : strlit_#70517!base, offset : strlit_#70517!offset + 1 }] == 117 && _memory[{ base : strlit_#70517!base, offset : strlit_#70517!offset + 2 }] == 112 && _memory[{ base : strlit_#70517!base, offset : strlit_#70517!offset + 3 }] == 115 && _memory[{ base : strlit_#70517!base, offset : strlit_#70517!offset + 4 }] == 0; local_#20237 := strlit_#70517; local_#20238 := { base : local_#20237!base, offset : local_#20237!offset + 0 * 1 }; assert { :LIR "63130" } { :check "overflow" } { :finding_ids "0" } true; local_#20239 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 52 }]; assert { :LIR "63131" } { :check "overflow" } { :finding_ids "0" } local_#20239 <= 2147483647; goto CFG_46896; CFG_46896: assume true; call routine_#35064_settabsi(local_#5644_L,local_#20238,local_#20239); goto CFG_43275; CFG_43275: assume true; assume _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 0 }] == 110 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 1 }] == 112 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 2 }] == 97 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 3 }] == 114 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 4 }] == 97 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 5 }] == 109 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 6 }] == 115 && _memory[{ base : strlit_#70518!base, offset : strlit_#70518!offset + 7 }] == 0; local_#20240 := strlit_#70518; local_#20241 := { base : local_#20240!base, offset : local_#20240!offset + 0 * 1 }; assert { :LIR "63132" } { :check "overflow" } { :finding_ids "0" } true; local_#20242 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 53 }]; assert { :LIR "63133" } { :check "overflow" } { :finding_ids "0" } local_#20242 <= 2147483647; goto CFG_46897; CFG_46897: assume true; call routine_#35064_settabsi(local_#5644_L,local_#20241,local_#20242); goto CFG_43276; CFG_43276: assume true; assume _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 0 }] == 105 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 1 }] == 115 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 2 }] == 118 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 3 }] == 97 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 4 }] == 114 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 5 }] == 97 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 6 }] == 114 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 7 }] == 103 && _memory[{ base : strlit_#70519!base, offset : strlit_#70519!offset + 8 }] == 0; local_#20243 := strlit_#70519; local_#20244 := { base : local_#20243!base, offset : local_#20243!offset + 0 * 1 }; assert { :LIR "63134" } { :check "overflow" } { :finding_ids "0" } true; local_#20245 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 54 }]; assert { :LIR "63135" } { :check "overflow" } { :finding_ids "0" } local_#20245 <= 2147483647; goto CFG_46898; CFG_46898: assume true; call routine_#35063_settabsb(local_#5644_L,local_#20244,local_#20245); goto CFG_40731; CFG_40731: assume true; goto CFG_43277; CFG_43277: assume true; local_#20246 := 110; goto CFG_46899; CFG_46899: assume true; call local_#20247 := routine_#34445_strchr(local_#32161_options,local_#20246); goto CFG_50334; CFG_50334: assume true; local_#20248 := local_#20247; if (local_#20248 != { base : 0, offset : 0 }) { goto CFG_43278; } else { goto CFG_43280; } CFG_43278: assume true; assume _memory[{ base : strlit_#70520!base, offset : strlit_#70520!offset + 0 }] == 110 && _memory[{ base : strlit_#70520!base, offset : strlit_#70520!offset + 1 }] == 97 && _memory[{ base : strlit_#70520!base, offset : strlit_#70520!offset + 2 }] == 109 && _memory[{ base : strlit_#70520!base, offset : strlit_#70520!offset + 3 }] == 101 && _memory[{ base : strlit_#70520!base, offset : strlit_#70520!offset + 4 }] == 0; local_#20249 := strlit_#70520; local_#20250 := { base : local_#20249!base, offset : local_#20249!offset + 0 * 1 }; assert { :LIR "63136" } { :check "overflow" } { :finding_ids "0" } true; local_#20251 := _memory_ptr[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 8 }]; goto CFG_46900; CFG_46900: assume true; call routine_#35065_settabss(local_#5644_L,local_#20250,local_#20251); goto CFG_43279; CFG_43279: assume true; assume _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 0 }] == 110 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 1 }] == 97 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 2 }] == 109 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 3 }] == 101 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 4 }] == 119 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 5 }] == 104 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 6 }] == 97 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 7 }] == 116 && _memory[{ base : strlit_#70521!base, offset : strlit_#70521!offset + 8 }] == 0; local_#20252 := strlit_#70521; local_#20253 := { base : local_#20252!base, offset : local_#20252!offset + 0 * 1 }; assert { :LIR "63137" } { :check "overflow" } { :finding_ids "0" } true; local_#20254 := _memory_ptr[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 16 }]; goto CFG_46901; CFG_46901: assume true; call routine_#35065_settabss(local_#5644_L,local_#20253,local_#20254); goto CFG_40732; CFG_40732: assume true; goto CFG_43280; CFG_43280: assume true; local_#20255 := 116; goto CFG_46902; CFG_46902: assume true; call local_#20256 := routine_#34445_strchr(local_#32161_options,local_#20255); goto CFG_50335; CFG_50335: assume true; local_#20257 := local_#20256; if (local_#20257 != { base : 0, offset : 0 }) { goto CFG_43281; } else { goto CFG_43282; } CFG_43281: assume true; assume _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 0 }] == 105 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 1 }] == 115 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 2 }] == 116 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 3 }] == 97 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 4 }] == 105 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 5 }] == 108 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 6 }] == 99 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 7 }] == 97 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 8 }] == 108 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 9 }] == 108 && _memory[{ base : strlit_#70522!base, offset : strlit_#70522!offset + 10 }] == 0; local_#20258 := strlit_#70522; local_#20259 := { base : local_#20258!base, offset : local_#20258!offset + 0 * 1 }; assert { :LIR "63138" } { :check "overflow" } { :finding_ids "0" } true; local_#20260 := _memory[{ base : local_#32159_ar!base, offset : local_#32159_ar!offset + 55 }]; assert { :LIR "63139" } { :check "overflow" } { :finding_ids "0" } local_#20260 <= 2147483647; goto CFG_46903; CFG_46903: assume true; call routine_#35063_settabsb(local_#5644_L,local_#20259,local_#20260); goto CFG_40733; CFG_40733: assume true; goto CFG_43282; CFG_43282: assume true; local_#20261 := 76; goto CFG_46904; CFG_46904: assume true; call local_#20262 := routine_#34445_strchr(local_#32161_options,local_#20261); goto CFG_50336; CFG_50336: assume true; local_#20263 := local_#20262; if (local_#20263 != { base : 0, offset : 0 }) { goto CFG_43283; } else { goto CFG_43284; } CFG_43283: assume true; assume _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 0 }] == 97 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 1 }] == 99 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 2 }] == 116 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 3 }] == 105 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 4 }] == 118 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 5 }] == 101 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 6 }] == 108 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 7 }] == 105 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 8 }] == 110 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 9 }] == 101 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 10 }] == 115 && _memory[{ base : strlit_#70523!base, offset : strlit_#70523!offset + 11 }] == 0; local_#20264 := strlit_#70523; local_#20265 := { base : local_#20264!base, offset : local_#20264!offset + 0 * 1 }; assert { :LIR "63140" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46905; CFG_46905: assume true; call routine_#35125_treatstackoption(local_#5644_L,local_#32158_L1,local_#20265); goto CFG_40734; CFG_40734: assume true; goto CFG_43284; CFG_43284: assume true; local_#20266 := 102; goto CFG_46906; CFG_46906: assume true; call local_#20267 := routine_#34445_strchr(local_#32161_options,local_#20266); goto CFG_50337; CFG_50337: assume true; local_#20268 := local_#20267; if (local_#20268 != { base : 0, offset : 0 }) { goto CFG_43285; } else { goto CFG_38449; } CFG_43285: assume true; assume _memory[{ base : strlit_#70524!base, offset : strlit_#70524!offset + 0 }] == 102 && _memory[{ base : strlit_#70524!base, offset : strlit_#70524!offset + 1 }] == 117 && _memory[{ base : strlit_#70524!base, offset : strlit_#70524!offset + 2 }] == 110 && _memory[{ base : strlit_#70524!base, offset : strlit_#70524!offset + 3 }] == 99 && _memory[{ base : strlit_#70524!base, offset : strlit_#70524!offset + 4 }] == 0; local_#20269 := strlit_#70524; local_#20270 := { base : local_#20269!base, offset : local_#20269!offset + 0 * 1 }; assert { :LIR "63141" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46907; CFG_46907: assume true; call routine_#35125_treatstackoption(local_#5644_L,local_#32158_L1,local_#20270); goto CFG_40735; CFG_40735: assume true; goto CFG_38449; CFG_38449: assume true; local_#7995 := 1; goto CFG_37582; CFG_43286: assume true; local_#20271 := 2; local_#20272 := _memory[local_#32160_arg] + local_#20271; assert { :LIR "66601" } { :check "overflow" } { :finding_ids "0" } local_#20272 <= 2147483647; assume _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 0 }] == 105 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 1 }] == 110 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 2 }] == 118 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 3 }] == 97 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 4 }] == 108 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 5 }] == 105 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 6 }] == 100 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 7 }] == 32 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 8 }] == 111 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 9 }] == 112 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 10 }] == 116 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 11 }] == 105 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 12 }] == 111 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 13 }] == 110 && _memory[{ base : strlit_#70525!base, offset : strlit_#70525!offset + 14 }] == 0; local_#20273 := strlit_#70525; local_#20274 := { base : local_#20273!base, offset : local_#20273!offset + 0 * 1 }; assert { :LIR "63142" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46908; CFG_46908: assume true; call local_#20275 := routine_#33815_luaL_argerror(local_#5644_L,local_#20272,local_#20274); goto CFG_38450; CFG_38450: assume true; local_#7995 := local_#20275; goto CFG_37582; CFG_37582: assume true; } procedure routine_#34684_db_getlocal(local_#5645_L_IN : { base : int, offset : int }) returns (local_#7996 : int) modifies _memory, _memory_ptr, _valid; { var local_#5645_L : { base : int, offset : int }; var local_#32164_arg : { base : int, offset : int }; var local_#20276 : { base : int, offset : int }; var local_#20277 : { base : int, offset : int }; var local_#32162_L1 : { base : int, offset : int }; var local_#20278 : int; var local_#20279 : int; var local_#20280 : int; var local_#20281 : int; var local_#32166_nvar : int; var local_#20282 : int; var local_#20283 : int; var local_#20284 : int; var local_#20285 : int; var local_#20286 : int; var local_#20287 : int; var local_#20288 : int; var local_#20289 : int; var local_#20290 : int; var local_#32167_level : int; var local_#32163_ar : { base : int, offset : int }; var local_#20291 : { base : int, offset : int }; var local_#20292 : int; var local_#20293 : int; var local_#20294 : int; var local_#20295 : { base : int, offset : int }; var local_#20296 : { base : int, offset : int }; var local_#32165_name : { base : int, offset : int }; var local_#20297 : { base : int, offset : int }; var local_#20298 : int; var local_#20299 : { base : int, offset : int }; var local_#20300 : int; var local_#20301 : int; var local_#20302 : int; var local_#20303 : int; var local_#20304 : { base : int, offset : int }; var local_#20305 : { base : int, offset : int }; var local_#20306 : int; var local_#20307 : int; var local_#20308 : int; var local_#20309 : { base : int, offset : int }; var local_#20310 : { base : int, offset : int }; var local_#20311 : { base : int, offset : int }; local_#5645_L := local_#5645_L_IN; goto CFG_36672; CFG_36672: assume true; goto CFG_43287; CFG_43287: assume true; local_#20276 := local_#32164_arg; goto CFG_46909; CFG_46909: assume true; call local_#20277 := routine_#34797_getthread(local_#5645_L,local_#20276); goto CFG_43288; CFG_43288: assume true; local_#32162_L1 := local_#20277; local_#20278 := 2; local_#20279 := _memory[local_#32164_arg] + local_#20278; assert { :LIR "66602" } { :check "overflow" } { :finding_ids "0" } local_#20279 <= 2147483647; goto CFG_46910; CFG_46910: assume true; call local_#20280 := routine_#33820_luaL_checkinteger(local_#5645_L,local_#20279); goto CFG_43289; CFG_43289: assume true; local_#20281 := local_#20280; assert { :LIR "61485" } { :check "overflow" } { :finding_ids "0" } local_#20281 <= 2147483647; local_#32166_nvar := local_#20281; local_#20282 := 1; local_#20283 := _memory[local_#32164_arg] + local_#20282; assert { :LIR "66603" } { :check "overflow" } { :finding_ids "0" } local_#20283 <= 2147483647; goto CFG_46911; CFG_46911: assume true; call local_#20284 := routine_#34000_lua_type(local_#5645_L,local_#20283); goto CFG_50338; CFG_50338: assume true; local_#20285 := 6; local_#20286 := (if local_#20284 == local_#20285 then 1 else 0); if (local_#20286 != 0) { goto CFG_43297; } else { goto CFG_43290; } CFG_43290: assume true; local_#20287 := 1; local_#20288 := _memory[local_#32164_arg] + local_#20287; assert { :LIR "66604" } { :check "overflow" } { :finding_ids "0" } local_#20288 <= 2147483647; goto CFG_46912; CFG_46912: assume true; call local_#20289 := routine_#33820_luaL_checkinteger(local_#5645_L,local_#20288); goto CFG_43291; CFG_43291: assume true; local_#20290 := local_#20289; assert { :LIR "61486" } { :check "overflow" } { :finding_ids "0" } local_#20290 <= 2147483647; local_#32167_level := local_#20290; local_#20291 := local_#32163_ar; goto CFG_46913; CFG_46913: assume true; call local_#20292 := routine_#33939_lua_getstack(local_#32162_L1,local_#32167_level,local_#20291); goto CFG_50339; CFG_50339: assume true; local_#20293 := (if local_#20292 != 0 then 0 else 1); if (local_#20293 != 0) { goto CFG_43296; } else { goto CFG_43292; } CFG_43292: assume true; local_#20294 := 1; goto CFG_46914; CFG_46914: assume true; call routine_#34640_checkstack(local_#5645_L,local_#32162_L1,local_#20294); goto CFG_43293; CFG_43293: assume true; local_#20295 := local_#32163_ar; assert { :LIR "63143" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46915; CFG_46915: assume true; call local_#20296 := routine_#33937_lua_getlocal(local_#32162_L1,local_#20295,local_#32166_nvar); goto CFG_50340; CFG_50340: assume true; local_#32165_name := local_#20296; local_#20297 := local_#32165_name; if (local_#20297 != { base : 0, offset : 0 }) { goto CFG_43294; } else { goto CFG_46916; } CFG_46916: assume true; call routine_#33963_lua_pushnil(local_#5645_L); goto CFG_38451; CFG_38451: assume true; local_#7996 := 1; goto CFG_37583; CFG_43294: assume true; local_#20298 := 1; goto CFG_46917; CFG_46917: assume true; call routine_#34005_lua_xmove(local_#32162_L1,local_#5645_L,local_#20298); goto CFG_46918; CFG_46918: assume true; call local_#20299 := routine_#33965_lua_pushstring(local_#5645_L,local_#32165_name); goto CFG_43295; CFG_43295: assume true; local_#20300 := -2; local_#20301 := 1; goto CFG_46919; CFG_46919: assume true; call routine_#33978_lua_rotate(local_#5645_L,local_#20300,local_#20301); goto CFG_38452; CFG_38452: assume true; local_#7996 := 2; goto CFG_37583; CFG_43296: assume true; local_#20302 := 1; local_#20303 := _memory[local_#32164_arg] + local_#20302; assert { :LIR "66605" } { :check "overflow" } { :finding_ids "0" } local_#20303 <= 2147483647; assume _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 0 }] == 108 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 1 }] == 101 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 2 }] == 118 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 3 }] == 101 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 4 }] == 108 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 5 }] == 32 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 6 }] == 111 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 7 }] == 117 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 8 }] == 116 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 9 }] == 32 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 10 }] == 111 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 11 }] == 102 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 12 }] == 32 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 13 }] == 114 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 14 }] == 97 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 15 }] == 110 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 16 }] == 103 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 17 }] == 101 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 18 }] == 0; local_#20304 := strlit_#70526; local_#20305 := { base : local_#20304!base, offset : local_#20304!offset + 0 * 1 }; assert { :LIR "63144" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46920; CFG_46920: assume true; call local_#20306 := routine_#33815_luaL_argerror(local_#5645_L,local_#20303,local_#20305); goto CFG_38453; CFG_38453: assume true; local_#7996 := local_#20306; goto CFG_37583; CFG_43297: assume true; local_#20307 := 1; local_#20308 := _memory[local_#32164_arg] + local_#20307; assert { :LIR "66606" } { :check "overflow" } { :finding_ids "0" } local_#20308 <= 2147483647; goto CFG_46921; CFG_46921: assume true; call routine_#33967_lua_pushvalue(local_#5645_L,local_#20308); goto CFG_43298; CFG_43298: assume true; local_#20309 := { base : 0, offset : 0 }; goto CFG_46922; CFG_46922: assume true; call local_#20310 := routine_#33937_lua_getlocal(local_#5645_L,local_#20309,local_#32166_nvar); goto CFG_46923; CFG_46923: assume true; call local_#20311 := routine_#33965_lua_pushstring(local_#5645_L,local_#20310); goto CFG_38454; CFG_38454: assume true; local_#7996 := 1; goto CFG_37583; CFG_37583: assume true; } procedure routine_#34685_db_getmetatable(local_#5646_L_IN : { base : int, offset : int }) returns (local_#7997 : int) modifies _memory, _memory_ptr, _valid; { var local_#5646_L : { base : int, offset : int }; var local_#20312 : int; var local_#20313 : int; var local_#20314 : int; var local_#20315 : int; local_#5646_L := local_#5646_L_IN; goto CFG_36673; CFG_36673: assume true; goto CFG_43299; CFG_43299: assume true; local_#20312 := 1; goto CFG_46924; CFG_46924: assume true; call routine_#33819_luaL_checkany(local_#5646_L,local_#20312); goto CFG_43300; CFG_43300: assume true; local_#20313 := 1; goto CFG_46925; CFG_46925: assume true; call local_#20314 := routine_#33938_lua_getmetatable(local_#5646_L,local_#20313); goto CFG_50341; CFG_50341: assume true; local_#20315 := (if local_#20314 != 0 then 0 else 1); if (local_#20315 != 0) { goto CFG_46926; } else { goto CFG_38455; } CFG_46926: assume true; call routine_#33963_lua_pushnil(local_#5646_L); goto CFG_40736; CFG_40736: assume true; goto CFG_38455; CFG_38455: assume true; local_#7997 := 1; goto CFG_37584; CFG_37584: assume true; } procedure routine_#34686_db_getregistry(local_#5647_L_IN : { base : int, offset : int }) returns (local_#7998 : int) modifies _memory, _memory_ptr; { var local_#5647_L : { base : int, offset : int }; var local_#20316 : int; local_#5647_L := local_#5647_L_IN; goto CFG_36674; CFG_36674: assume true; goto CFG_43301; CFG_43301: assume true; local_#20316 := -1001000; goto CFG_46927; CFG_46927: assume true; call routine_#33967_lua_pushvalue(local_#5647_L,local_#20316); goto CFG_38456; CFG_38456: assume true; local_#7998 := 1; goto CFG_37585; CFG_37585: assume true; } procedure routine_#34687_db_getupvalue(local_#5648_L_IN : { base : int, offset : int }) returns (local_#7999 : int) modifies _memory, _memory_ptr, _valid; { var local_#5648_L : { base : int, offset : int }; var local_#20317 : int; var local_#20318 : int; local_#5648_L := local_#5648_L_IN; goto CFG_36675; CFG_36675: assume true; goto CFG_43302; CFG_43302: assume true; local_#20317 := 1; goto CFG_46928; CFG_46928: assume true; call local_#20318 := routine_#34595_auxupvalue(local_#5648_L,local_#20317); goto CFG_38457; CFG_38457: assume true; local_#7999 := local_#20318; goto CFG_37586; CFG_37586: assume true; } procedure routine_#34688_db_getuservalue(local_#5649_L_IN : { base : int, offset : int }) returns (local_#8000 : int) modifies _memory, _memory_ptr; { var local_#5649_L : { base : int, offset : int }; var local_#20319 : int; var local_#20320 : int; var local_#20321 : int; var local_#20322 : int; var local_#20323 : int; var local_#20324 : int; local_#5649_L := local_#5649_L_IN; goto CFG_36676; CFG_36676: assume true; goto CFG_43303; CFG_43303: assume true; local_#20319 := 1; goto CFG_46929; CFG_46929: assume true; call local_#20320 := routine_#34000_lua_type(local_#5649_L,local_#20319); goto CFG_50342; CFG_50342: assume true; local_#20321 := 7; local_#20322 := (if local_#20320 != local_#20321 then 1 else 0); if (local_#20322 != 0) { goto CFG_46931; } else { goto CFG_43304; } CFG_43304: assume true; local_#20323 := 1; goto CFG_46930; CFG_46930: assume true; call local_#20324 := routine_#33943_lua_getuservalue(local_#5649_L,local_#20323); goto CFG_40737; CFG_40737: assume true; goto CFG_38458; CFG_46931: assume true; call routine_#33963_lua_pushnil(local_#5649_L); goto CFG_40738; CFG_40738: assume true; goto CFG_38458; CFG_38458: assume true; local_#8000 := 1; goto CFG_37587; CFG_37587: assume true; } procedure routine_#34689_db_sethook(local_#5650_L_IN : { base : int, offset : int }) returns (local_#8001 : int) modifies _memory, _memory_ptr, _valid; { var local_#5650_L : { base : int, offset : int }; var local_#32169_arg : { base : int, offset : int }; var local_#20325 : { base : int, offset : int }; var local_#20326 : { base : int, offset : int }; var local_#32168_L1 : { base : int, offset : int }; var local_#20327 : int; var local_#20328 : int; var local_#20329 : int; var local_#20330 : int; var local_#20331 : int; var local_#20332 : int; var local_#20333 : int; var local_#20334 : { base : int, offset : int }; var local_#20335 : { base : int, offset : int }; var local_#32173_smask : { base : int, offset : int }; var local_#20336 : int; var local_#20337 : int; var local_#20338 : int; var local_#20339 : int; var local_#20340 : int; var local_#20341 : int; var local_#20342 : int; var local_#20343 : int; var local_#32170_count : int; var local_#32171_func : { base : int, offset : int }; var local_#20344 : int; var local_#32172_mask : int; var local_#20345 : int; var local_#20346 : int; var local_#20347 : int; var local_#20348 : { base : int, offset : int }; var local_#20349 : int; var local_#20350 : int; var local_#20351 : int; var local_#20352 : int; var local_#20353 : int; var local_#20354 : int; var local_#20355 : int; var local_#20356 : { base : int, offset : int }; var local_#20357 : { base : int, offset : int }; var local_#20358 : { base : int, offset : int }; var local_#20359 : { base : int, offset : int }; var local_#20360 : int; var local_#20361 : { base : int, offset : int }; var local_#20362 : { base : int, offset : int }; var local_#20363 : int; var local_#20364 : int; var local_#20365 : int; var local_#20366 : int; var local_#20367 : int; var local_#20368 : int; var local_#20369 : int; var local_#20370 : int; var local_#20371 : int; local_#5650_L := local_#5650_L_IN; goto CFG_36677; CFG_36677: assume true; goto CFG_43305; CFG_43305: assume true; local_#20325 := local_#32169_arg; goto CFG_46932; CFG_46932: assume true; call local_#20326 := routine_#34797_getthread(local_#5650_L,local_#20325); goto CFG_43306; CFG_43306: assume true; local_#32168_L1 := local_#20326; local_#20327 := 1; local_#20328 := _memory[local_#32169_arg] + local_#20327; assert { :LIR "66607" } { :check "overflow" } { :finding_ids "0" } local_#20328 <= 2147483647; goto CFG_46933; CFG_46933: assume true; call local_#20329 := routine_#34000_lua_type(local_#5650_L,local_#20328); goto CFG_50343; CFG_50343: assume true; local_#20330 := 0; local_#20331 := (if local_#20329 <= local_#20330 then 1 else 0); if (local_#20331 != 0) { goto CFG_43311; } else { goto CFG_43307; } CFG_43307: assume true; local_#20332 := 2; local_#20333 := _memory[local_#32169_arg] + local_#20332; assert { :LIR "66608" } { :check "overflow" } { :finding_ids "0" } local_#20333 <= 2147483647; local_#20334 := { base : 0, offset : 0 }; goto CFG_46934; CFG_46934: assume true; call local_#20335 := routine_#33821_luaL_checklstring(local_#5650_L,local_#20333,local_#20334); goto CFG_43308; CFG_43308: assume true; local_#32173_smask := local_#20335; local_#20336 := 1; local_#20337 := _memory[local_#32169_arg] + local_#20336; assert { :LIR "66609" } { :check "overflow" } { :finding_ids "0" } local_#20337 <= 2147483647; local_#20338 := 6; goto CFG_46935; CFG_46935: assume true; call routine_#33825_luaL_checktype(local_#5650_L,local_#20337,local_#20338); goto CFG_43309; CFG_43309: assume true; local_#20339 := 3; local_#20340 := _memory[local_#32169_arg] + local_#20339; assert { :LIR "66610" } { :check "overflow" } { :finding_ids "0" } local_#20340 <= 2147483647; local_#20341 := 0; goto CFG_46936; CFG_46936: assume true; call local_#20342 := routine_#33841_luaL_optinteger(local_#5650_L,local_#20340,local_#20341); goto CFG_43310; CFG_43310: assume true; local_#20343 := local_#20342; assert { :LIR "61487" } { :check "overflow" } { :finding_ids "0" } local_#20343 <= 2147483647; local_#32170_count := local_#20343; local_#32171_func := fun_addr_#34807_hookf; goto CFG_46937; CFG_46937: assume true; call local_#20344 := routine_#34908_makemask(local_#32173_smask,local_#32170_count); goto CFG_40739; CFG_40739: assume true; local_#32172_mask := local_#20344; goto CFG_43312; CFG_43311: assume true; local_#20345 := 1; local_#20346 := _memory[local_#32169_arg] + local_#20345; assert { :LIR "66611" } { :check "overflow" } { :finding_ids "0" } local_#20346 <= 2147483647; goto CFG_46938; CFG_46938: assume true; call routine_#33987_lua_settop(local_#5650_L,local_#20346); goto CFG_40740; CFG_40740: assume true; local_#32171_func := { base : 0, offset : 0 }; local_#32172_mask := 0; local_#32170_count := 0; goto CFG_43312; CFG_43312: assume true; local_#20347 := -1001000; local_#20348 := global_#33048_HOOKKEY; assert { :LIR "63145" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46939; CFG_46939: assume true; call local_#20349 := routine_#33972_lua_rawgetp(local_#5650_L,local_#20347,local_#20348); goto CFG_50344; CFG_50344: assume true; local_#20350 := 0; local_#20351 := (if local_#20349 == local_#20350 then 1 else 0); if (local_#20351 != 0) { goto CFG_43313; } else { goto CFG_43320; } CFG_43313: assume true; local_#20352 := 0; local_#20353 := 2; goto CFG_46940; CFG_46940: assume true; call routine_#33925_lua_createtable(local_#5650_L,local_#20352,local_#20353); goto CFG_43314; CFG_43314: assume true; local_#20354 := -1; goto CFG_46941; CFG_46941: assume true; call routine_#33967_lua_pushvalue(local_#5650_L,local_#20354); goto CFG_43315; CFG_43315: assume true; local_#20355 := -1001000; local_#20356 := global_#33048_HOOKKEY; assert { :LIR "63146" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46942; CFG_46942: assume true; call routine_#33976_lua_rawsetp(local_#5650_L,local_#20355,local_#20356); goto CFG_43316; CFG_43316: assume true; assume _memory[{ base : strlit_#70527!base, offset : strlit_#70527!offset + 0 }] == 107 && _memory[{ base : strlit_#70527!base, offset : strlit_#70527!offset + 1 }] == 0; local_#20357 := strlit_#70527; local_#20358 := { base : local_#20357!base, offset : local_#20357!offset + 0 * 1 }; assert { :LIR "63147" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46943; CFG_46943: assume true; call local_#20359 := routine_#33965_lua_pushstring(local_#5650_L,local_#20358); goto CFG_43317; CFG_43317: assume true; local_#20360 := -2; assume _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 0 }] == 95 && _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 1 }] == 95 && _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 2 }] == 109 && _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 3 }] == 111 && _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 4 }] == 100 && _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 5 }] == 101 && _memory[{ base : strlit_#70528!base, offset : strlit_#70528!offset + 6 }] == 0; local_#20361 := strlit_#70528; local_#20362 := { base : local_#20361!base, offset : local_#20361!offset + 0 * 1 }; assert { :LIR "63148" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46944; CFG_46944: assume true; call routine_#33980_lua_setfield(local_#5650_L,local_#20360,local_#20362); goto CFG_43318; CFG_43318: assume true; local_#20363 := -1; goto CFG_46945; CFG_46945: assume true; call routine_#33967_lua_pushvalue(local_#5650_L,local_#20363); goto CFG_43319; CFG_43319: assume true; local_#20364 := -2; goto CFG_46946; CFG_46946: assume true; call local_#20365 := routine_#33985_lua_setmetatable(local_#5650_L,local_#20364); goto CFG_40741; CFG_40741: assume true; goto CFG_43320; CFG_43320: assume true; local_#20366 := 1; goto CFG_46947; CFG_46947: assume true; call routine_#34640_checkstack(local_#5650_L,local_#32168_L1,local_#20366); goto CFG_46948; CFG_46948: assume true; call local_#20367 := routine_#33966_lua_pushthread(local_#32168_L1); goto CFG_43321; CFG_43321: assume true; local_#20368 := 1; goto CFG_46949; CFG_46949: assume true; call routine_#34005_lua_xmove(local_#32168_L1,local_#5650_L,local_#20368); goto CFG_43322; CFG_43322: assume true; local_#20369 := 1; local_#20370 := _memory[local_#32169_arg] + local_#20369; assert { :LIR "66612" } { :check "overflow" } { :finding_ids "0" } local_#20370 <= 2147483647; goto CFG_46950; CFG_46950: assume true; call routine_#33967_lua_pushvalue(local_#5650_L,local_#20370); goto CFG_43323; CFG_43323: assume true; local_#20371 := -3; goto CFG_46951; CFG_46951: assume true; call routine_#33974_lua_rawset(local_#5650_L,local_#20371); goto CFG_46952; CFG_46952: assume true; call routine_#33982_lua_sethook(local_#32168_L1,local_#32171_func,local_#32172_mask,local_#32170_count); goto CFG_38459; CFG_38459: assume true; local_#8001 := 0; goto CFG_37588; CFG_37588: assume true; } procedure routine_#34690_db_setlocal(local_#5651_L_IN : { base : int, offset : int }) returns (local_#8002 : int) modifies _memory, _memory_ptr, _valid; { var local_#5651_L : { base : int, offset : int }; var local_#32176_arg : { base : int, offset : int }; var local_#20372 : { base : int, offset : int }; var local_#20373 : { base : int, offset : int }; var local_#32174_L1 : { base : int, offset : int }; var local_#20374 : int; var local_#20375 : int; var local_#20376 : int; var local_#20377 : int; var local_#32177_level : int; var local_#20378 : int; var local_#20379 : int; var local_#20380 : int; var local_#20381 : int; var local_#32179_nvar : int; var local_#32175_ar : { base : int, offset : int }; var local_#20382 : { base : int, offset : int }; var local_#20383 : int; var local_#20384 : int; var local_#20385 : int; var local_#20386 : int; var local_#20387 : int; var local_#20388 : int; var local_#20389 : int; var local_#20390 : int; var local_#20391 : { base : int, offset : int }; var local_#20392 : { base : int, offset : int }; var local_#32178_name : { base : int, offset : int }; var local_#20393 : { base : int, offset : int }; var local_#20394 : int; var local_#20395 : int; var local_#20396 : { base : int, offset : int }; var local_#20397 : int; var local_#20398 : int; var local_#20399 : { base : int, offset : int }; var local_#20400 : { base : int, offset : int }; var local_#20401 : int; local_#5651_L := local_#5651_L_IN; goto CFG_36678; CFG_36678: assume true; goto CFG_43324; CFG_43324: assume true; local_#20372 := local_#32176_arg; goto CFG_46953; CFG_46953: assume true; call local_#20373 := routine_#34797_getthread(local_#5651_L,local_#20372); goto CFG_43325; CFG_43325: assume true; local_#32174_L1 := local_#20373; local_#20374 := 1; local_#20375 := _memory[local_#32176_arg] + local_#20374; assert { :LIR "66613" } { :check "overflow" } { :finding_ids "0" } local_#20375 <= 2147483647; goto CFG_46954; CFG_46954: assume true; call local_#20376 := routine_#33820_luaL_checkinteger(local_#5651_L,local_#20375); goto CFG_43326; CFG_43326: assume true; local_#20377 := local_#20376; assert { :LIR "61488" } { :check "overflow" } { :finding_ids "0" } local_#20377 <= 2147483647; local_#32177_level := local_#20377; local_#20378 := 2; local_#20379 := _memory[local_#32176_arg] + local_#20378; assert { :LIR "66614" } { :check "overflow" } { :finding_ids "0" } local_#20379 <= 2147483647; goto CFG_46955; CFG_46955: assume true; call local_#20380 := routine_#33820_luaL_checkinteger(local_#5651_L,local_#20379); goto CFG_43327; CFG_43327: assume true; local_#20381 := local_#20380; assert { :LIR "61489" } { :check "overflow" } { :finding_ids "0" } local_#20381 <= 2147483647; local_#32179_nvar := local_#20381; local_#20382 := local_#32175_ar; goto CFG_46956; CFG_46956: assume true; call local_#20383 := routine_#33939_lua_getstack(local_#32174_L1,local_#32177_level,local_#20382); goto CFG_50345; CFG_50345: assume true; local_#20384 := (if local_#20383 != 0 then 0 else 1); if (local_#20384 != 0) { goto CFG_43334; } else { goto CFG_43328; } CFG_43328: assume true; local_#20385 := 3; local_#20386 := _memory[local_#32176_arg] + local_#20385; assert { :LIR "66615" } { :check "overflow" } { :finding_ids "0" } local_#20386 <= 2147483647; goto CFG_46957; CFG_46957: assume true; call routine_#33819_luaL_checkany(local_#5651_L,local_#20386); goto CFG_43329; CFG_43329: assume true; local_#20387 := 3; local_#20388 := _memory[local_#32176_arg] + local_#20387; assert { :LIR "66616" } { :check "overflow" } { :finding_ids "0" } local_#20388 <= 2147483647; goto CFG_46958; CFG_46958: assume true; call routine_#33987_lua_settop(local_#5651_L,local_#20388); goto CFG_43330; CFG_43330: assume true; local_#20389 := 1; goto CFG_46959; CFG_46959: assume true; call routine_#34640_checkstack(local_#5651_L,local_#32174_L1,local_#20389); goto CFG_43331; CFG_43331: assume true; local_#20390 := 1; goto CFG_46960; CFG_46960: assume true; call routine_#34005_lua_xmove(local_#5651_L,local_#32174_L1,local_#20390); goto CFG_43332; CFG_43332: assume true; local_#20391 := local_#32175_ar; assert { :LIR "63149" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46961; CFG_46961: assume true; call local_#20392 := routine_#33984_lua_setlocal(local_#32174_L1,local_#20391,local_#32179_nvar); goto CFG_50346; CFG_50346: assume true; local_#32178_name := local_#20392; local_#20393 := { base : 0, offset : 0 }; local_#20394 := (if local_#32178_name == local_#20393 then 1 else 0); if (local_#20394 != 0) { goto CFG_43333; } else { goto CFG_46963; } CFG_43333: assume true; local_#20395 := -2; goto CFG_46962; CFG_46962: assume true; call routine_#33987_lua_settop(local_#32174_L1,local_#20395); goto CFG_40742; CFG_40742: assume true; goto CFG_46963; CFG_46963: assume true; call local_#20396 := routine_#33965_lua_pushstring(local_#5651_L,local_#32178_name); goto CFG_38460; CFG_38460: assume true; local_#8002 := 1; goto CFG_37589; CFG_43334: assume true; local_#20397 := 1; local_#20398 := _memory[local_#32176_arg] + local_#20397; assert { :LIR "66617" } { :check "overflow" } { :finding_ids "0" } local_#20398 <= 2147483647; assume _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 0 }] == 108 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 1 }] == 101 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 2 }] == 118 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 3 }] == 101 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 4 }] == 108 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 5 }] == 32 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 6 }] == 111 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 7 }] == 117 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 8 }] == 116 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 9 }] == 32 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 10 }] == 111 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 11 }] == 102 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 12 }] == 32 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 13 }] == 114 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 14 }] == 97 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 15 }] == 110 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 16 }] == 103 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 17 }] == 101 && _memory[{ base : strlit_#70526!base, offset : strlit_#70526!offset + 18 }] == 0; local_#20399 := strlit_#70526; local_#20400 := { base : local_#20399!base, offset : local_#20399!offset + 0 * 1 }; assert { :LIR "63150" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46964; CFG_46964: assume true; call local_#20401 := routine_#33815_luaL_argerror(local_#5651_L,local_#20398,local_#20400); goto CFG_38461; CFG_38461: assume true; local_#8002 := local_#20401; goto CFG_37589; CFG_37589: assume true; } procedure routine_#34691_db_setmetatable(local_#5652_L_IN : { base : int, offset : int }) returns (local_#8003 : int) modifies _memory, _memory_ptr, _valid; { var local_#5652_L : { base : int, offset : int }; var local_#20402 : int; var local_#20403 : int; var local_#32180_t : int; var local_#20404 : int; var local_#20405 : int; var local_#20406 : int; var local_#20407 : int; var local_#20408 : int; var local_#20409 : { base : int, offset : int }; var local_#20410 : { base : int, offset : int }; var local_#20411 : int; var local_#20412 : int; var local_#30743 : int; var local_#20413 : int; var local_#20414 : int; var local_#20415 : int; var local_#20416 : int; local_#5652_L := local_#5652_L_IN; goto CFG_36679; CFG_36679: assume true; goto CFG_43335; CFG_43335: assume true; local_#20402 := 2; goto CFG_46965; CFG_46965: assume true; call local_#20403 := routine_#34000_lua_type(local_#5652_L,local_#20402); goto CFG_50347; CFG_50347: assume true; local_#32180_t := local_#20403; local_#20404 := 0; local_#20405 := (if local_#32180_t == local_#20404 then 1 else 0); if (local_#20405 != 0) { goto CFG_40744; } else { goto CFG_50348; } CFG_50348: assume true; local_#20406 := 5; local_#20407 := (if local_#32180_t == local_#20406 then 1 else 0); if (local_#20407 != 0) { goto CFG_40744; } else { goto CFG_43336; } CFG_43336: assume true; local_#20408 := 2; assume _memory[{ base : strlit_#70530!base, offset : strlit_#70530!offset + 21 }] == 0; local_#20409 := strlit_#70530; local_#20410 := { base : local_#20409!base, offset : local_#20409!offset + 0 * 1 }; assert { :LIR "63151" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46966; CFG_46966: assume true; call local_#20411 := routine_#33815_luaL_argerror(local_#5652_L,local_#20408,local_#20410); goto CFG_50349; CFG_50349: assume true; local_#20412 := local_#20411; if (local_#20412 != 0) { goto CFG_40744; } else { goto CFG_40743; } CFG_40743: assume true; local_#30743 := 0; goto CFG_43337; CFG_40744: assume true; local_#30743 := 1; goto CFG_43337; CFG_43337: assume true; local_#20413 := 0; assert { :LIR "61490" } { :check "overflow" } { :finding_ids "0" } true; local_#20414 := 2; goto CFG_46967; CFG_46967: assume true; call routine_#33987_lua_settop(local_#5652_L,local_#20414); goto CFG_43338; CFG_43338: assume true; local_#20415 := 1; goto CFG_46968; CFG_46968: assume true; call local_#20416 := routine_#33985_lua_setmetatable(local_#5652_L,local_#20415); goto CFG_38462; CFG_38462: assume true; local_#8003 := 1; goto CFG_37590; CFG_37590: assume true; } procedure routine_#34692_db_setupvalue(local_#5653_L_IN : { base : int, offset : int }) returns (local_#8004 : int) modifies _memory, _memory_ptr, _valid; { var local_#5653_L : { base : int, offset : int }; var local_#20417 : int; var local_#20418 : int; var local_#20419 : int; local_#5653_L := local_#5653_L_IN; goto CFG_36680; CFG_36680: assume true; goto CFG_43339; CFG_43339: assume true; local_#20417 := 3; goto CFG_46969; CFG_46969: assume true; call routine_#33819_luaL_checkany(local_#5653_L,local_#20417); goto CFG_43340; CFG_43340: assume true; local_#20418 := 0; goto CFG_46970; CFG_46970: assume true; call local_#20419 := routine_#34595_auxupvalue(local_#5653_L,local_#20418); goto CFG_38463; CFG_38463: assume true; local_#8004 := local_#20419; goto CFG_37591; CFG_37591: assume true; } procedure routine_#34693_db_setuservalue(local_#5654_L_IN : { base : int, offset : int }) returns (local_#8005 : int) modifies _memory, _memory_ptr, _valid; { var local_#5654_L : { base : int, offset : int }; var local_#20420 : int; var local_#20421 : int; var local_#20422 : int; var local_#20423 : int; var local_#20424 : int; local_#5654_L := local_#5654_L_IN; goto CFG_36681; CFG_36681: assume true; goto CFG_43341; CFG_43341: assume true; local_#20420 := 1; local_#20421 := 7; goto CFG_46971; CFG_46971: assume true; call routine_#33825_luaL_checktype(local_#5654_L,local_#20420,local_#20421); goto CFG_43342; CFG_43342: assume true; local_#20422 := 2; goto CFG_46972; CFG_46972: assume true; call routine_#33819_luaL_checkany(local_#5654_L,local_#20422); goto CFG_43343; CFG_43343: assume true; local_#20423 := 2; goto CFG_46973; CFG_46973: assume true; call routine_#33987_lua_settop(local_#5654_L,local_#20423); goto CFG_43344; CFG_43344: assume true; local_#20424 := 1; goto CFG_46974; CFG_46974: assume true; call routine_#33989_lua_setuservalue(local_#5654_L,local_#20424); goto CFG_38464; CFG_38464: assume true; local_#8005 := 1; goto CFG_37592; CFG_37592: assume true; } procedure routine_#34694_db_traceback(local_#5655_L_IN : { base : int, offset : int }) returns (local_#8006 : int) modifies _memory, _memory_ptr, _valid; { var local_#5655_L : { base : int, offset : int }; var local_#32182_arg : { base : int, offset : int }; var local_#20425 : { base : int, offset : int }; var local_#20426 : { base : int, offset : int }; var local_#32181_L1 : { base : int, offset : int }; var local_#20427 : int; var local_#20428 : int; var local_#20429 : { base : int, offset : int }; var local_#20430 : { base : int, offset : int }; var local_#32183_msg : { base : int, offset : int }; var local_#20431 : { base : int, offset : int }; var local_#20432 : int; var local_#20433 : int; var local_#20434 : int; var local_#20435 : int; var local_#20436 : int; var local_#20437 : int; var local_#20438 : int; var local_#20439 : int; var local_#20440 : int; var local_#20441 : int; var local_#30744 : int; var local_#20442 : int; var local_#20443 : int; var local_#20444 : int; var local_#32184_level : int; var local_#20445 : int; var local_#20446 : int; local_#5655_L := local_#5655_L_IN; goto CFG_36682; CFG_36682: assume true; goto CFG_43345; CFG_43345: assume true; local_#20425 := local_#32182_arg; goto CFG_46975; CFG_46975: assume true; call local_#20426 := routine_#34797_getthread(local_#5655_L,local_#20425); goto CFG_43346; CFG_43346: assume true; local_#32181_L1 := local_#20426; local_#20427 := 1; local_#20428 := _memory[local_#32182_arg] + local_#20427; assert { :LIR "66618" } { :check "overflow" } { :finding_ids "0" } local_#20428 <= 2147483647; local_#20429 := { base : 0, offset : 0 }; goto CFG_46976; CFG_46976: assume true; call local_#20430 := routine_#33995_lua_tolstring(local_#5655_L,local_#20428,local_#20429); goto CFG_50350; CFG_50350: assume true; local_#32183_msg := local_#20430; local_#20431 := { base : 0, offset : 0 }; local_#20432 := (if local_#32183_msg == local_#20431 then 1 else 0); if (local_#20432 != 0) { goto CFG_43347; } else { goto CFG_50352; } CFG_43347: assume true; local_#20433 := 1; local_#20434 := _memory[local_#32182_arg] + local_#20433; assert { :LIR "66619" } { :check "overflow" } { :finding_ids "0" } local_#20434 <= 2147483647; goto CFG_46977; CFG_46977: assume true; call local_#20435 := routine_#34000_lua_type(local_#5655_L,local_#20434); goto CFG_50351; CFG_50351: assume true; local_#20436 := 0; local_#20437 := (if local_#20435 <= local_#20436 then 1 else 0); local_#20438 := (if local_#20437 != 0 then 0 else 1); if (local_#20438 != 0) { goto CFG_43350; } else { goto CFG_50352; } CFG_50352: assume true; local_#20439 := 2; local_#20440 := _memory[local_#32182_arg] + local_#20439; assert { :LIR "66620" } { :check "overflow" } { :finding_ids "0" } local_#20440 <= 2147483647; local_#20441 := (if local_#5655_L == local_#32181_L1 then 1 else 0); if (local_#20441 != 0) { goto CFG_40746; } else { goto CFG_40745; } CFG_40745: assume true; local_#30744 := 0; goto CFG_43348; CFG_40746: assume true; local_#30744 := 1; goto CFG_43348; CFG_43348: assume true; local_#20442 := local_#30744; assert { :LIR "63152" } { :check "overflow" } { :finding_ids "0" } local_#20442 <= 9223372036854775807; goto CFG_46978; CFG_46978: assume true; call local_#20443 := routine_#33841_luaL_optinteger(local_#5655_L,local_#20440,local_#20442); goto CFG_43349; CFG_43349: assume true; local_#20444 := local_#20443; assert { :LIR "61491" } { :check "overflow" } { :finding_ids "0" } local_#20444 <= 2147483647; local_#32184_level := local_#20444; goto CFG_46979; CFG_46979: assume true; call routine_#33853_luaL_traceback(local_#5655_L,local_#32181_L1,local_#32183_msg,local_#32184_level); goto CFG_40747; CFG_40747: assume true; goto CFG_38465; CFG_43350: assume true; local_#20445 := 1; local_#20446 := _memory[local_#32182_arg] + local_#20445; assert { :LIR "66621" } { :check "overflow" } { :finding_ids "0" } local_#20446 <= 2147483647; goto CFG_46980; CFG_46980: assume true; call routine_#33967_lua_pushvalue(local_#5655_L,local_#20446); goto CFG_40748; CFG_40748: assume true; goto CFG_38465; CFG_38465: assume true; local_#8006 := 1; goto CFG_37593; CFG_37593: assume true; } procedure routine_#34695_db_upvalueid(local_#5656_L_IN : { base : int, offset : int }) returns (local_#8007 : int) modifies _memory, _memory_ptr, _valid; { var local_#5656_L : { base : int, offset : int }; var local_#20447 : int; var local_#20448 : int; var local_#20449 : int; var local_#32185_n : int; var local_#20450 : int; var local_#20451 : { base : int, offset : int }; local_#5656_L := local_#5656_L_IN; goto CFG_36683; CFG_36683: assume true; goto CFG_43351; CFG_43351: assume true; local_#20447 := 1; local_#20448 := 2; goto CFG_46981; CFG_46981: assume true; call local_#20449 := routine_#34642_checkupval(local_#5656_L,local_#20447,local_#20448); goto CFG_43352; CFG_43352: assume true; local_#32185_n := local_#20449; local_#20450 := 1; goto CFG_46982; CFG_46982: assume true; call local_#20451 := routine_#34002_lua_upvalueid(local_#5656_L,local_#20450,local_#32185_n); goto CFG_46983; CFG_46983: assume true; call routine_#33961_lua_pushlightuserdata(local_#5656_L,local_#20451); goto CFG_38466; CFG_38466: assume true; local_#8007 := 1; goto CFG_37594; CFG_37594: assume true; } procedure routine_#34696_db_upvaluejoin(local_#5657_L_IN : { base : int, offset : int }) returns (local_#8008 : int) modifies _memory, _memory_ptr, _valid; { var local_#5657_L : { base : int, offset : int }; var local_#20452 : int; var local_#20453 : int; var local_#20454 : int; var local_#32186_n1 : int; var local_#20455 : int; var local_#20456 : int; var local_#20457 : int; var local_#32187_n2 : int; var local_#20458 : int; var local_#20459 : int; var local_#20460 : int; var local_#20461 : int; var local_#20462 : { base : int, offset : int }; var local_#20463 : { base : int, offset : int }; var local_#20464 : int; var local_#20465 : int; var local_#30745 : int; var local_#20466 : int; var local_#20467 : int; var local_#20468 : int; var local_#20469 : int; var local_#20470 : int; var local_#20471 : { base : int, offset : int }; var local_#20472 : { base : int, offset : int }; var local_#20473 : int; var local_#20474 : int; var local_#30746 : int; var local_#20475 : int; var local_#20476 : int; var local_#20477 : int; local_#5657_L := local_#5657_L_IN; goto CFG_36684; CFG_36684: assume true; goto CFG_43353; CFG_43353: assume true; local_#20452 := 1; local_#20453 := 2; goto CFG_46984; CFG_46984: assume true; call local_#20454 := routine_#34642_checkupval(local_#5657_L,local_#20452,local_#20453); goto CFG_43354; CFG_43354: assume true; local_#32186_n1 := local_#20454; local_#20455 := 3; local_#20456 := 4; goto CFG_46985; CFG_46985: assume true; call local_#20457 := routine_#34642_checkupval(local_#5657_L,local_#20455,local_#20456); goto CFG_43355; CFG_43355: assume true; local_#32187_n2 := local_#20457; local_#20458 := 1; goto CFG_46986; CFG_46986: assume true; call local_#20459 := routine_#33944_lua_iscfunction(local_#5657_L,local_#20458); goto CFG_50353; CFG_50353: assume true; local_#20460 := (if local_#20459 != 0 then 0 else 1); if (local_#20460 != 0) { goto CFG_40750; } else { goto CFG_43356; } CFG_43356: assume true; local_#20461 := 1; assume _memory[{ base : strlit_#70531!base, offset : strlit_#70531!offset + 21 }] == 0; local_#20462 := strlit_#70531; local_#20463 := { base : local_#20462!base, offset : local_#20462!offset + 0 * 1 }; assert { :LIR "63153" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46987; CFG_46987: assume true; call local_#20464 := routine_#33815_luaL_argerror(local_#5657_L,local_#20461,local_#20463); goto CFG_50354; CFG_50354: assume true; local_#20465 := local_#20464; if (local_#20465 != 0) { goto CFG_40750; } else { goto CFG_40749; } CFG_40749: assume true; local_#30745 := 0; goto CFG_43357; CFG_40750: assume true; local_#30745 := 1; goto CFG_43357; CFG_43357: assume true; local_#20466 := 0; assert { :LIR "61492" } { :check "overflow" } { :finding_ids "0" } true; local_#20467 := 3; goto CFG_46988; CFG_46988: assume true; call local_#20468 := routine_#33944_lua_iscfunction(local_#5657_L,local_#20467); goto CFG_50355; CFG_50355: assume true; local_#20469 := (if local_#20468 != 0 then 0 else 1); if (local_#20469 != 0) { goto CFG_40752; } else { goto CFG_43358; } CFG_43358: assume true; local_#20470 := 3; assume _memory[{ base : strlit_#70531!base, offset : strlit_#70531!offset + 21 }] == 0; local_#20471 := strlit_#70531; local_#20472 := { base : local_#20471!base, offset : local_#20471!offset + 0 * 1 }; assert { :LIR "63154" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_46989; CFG_46989: assume true; call local_#20473 := routine_#33815_luaL_argerror(local_#5657_L,local_#20470,local_#20472); goto CFG_50356; CFG_50356: assume true; local_#20474 := local_#20473; if (local_#20474 != 0) { goto CFG_40752; } else { goto CFG_40751; } CFG_40751: assume true; local_#30746 := 0; goto CFG_43359; CFG_40752: assume true; local_#30746 := 1; goto CFG_43359; CFG_43359: assume true; local_#20475 := 0; assert { :LIR "61493" } { :check "overflow" } { :finding_ids "0" } true; local_#20476 := 1; local_#20477 := 3; goto CFG_46990; CFG_46990: assume true; call routine_#34003_lua_upvaluejoin(local_#5657_L,local_#20476,local_#32186_n1,local_#20477,local_#32187_n2); goto CFG_38467; CFG_38467: assume true; local_#8008 := 0; goto CFG_37595; CFG_37595: assume true; } procedure routine_#34697_digit(local_#5658_c_IN : int) returns (local_#8009 : int) { var local_#5658_c : int; var local_#20478 : int; var local_#20479 : int; var local_#20480 : int; var local_#20481 : int; var local_#30747 : int; local_#5658_c := local_#5658_c_IN; goto CFG_36685; CFG_36685: assume true; goto CFG_50357; CFG_50357: assume true; local_#20478 := 48; local_#20479 := (if local_#20478 <= local_#5658_c then 1 else 0); if (local_#20479 != 0) { goto CFG_50358; } else { goto CFG_40753; } CFG_50358: assume true; local_#20480 := 57; local_#20481 := (if local_#5658_c <= local_#20480 then 1 else 0); if (local_#20481 != 0) { goto CFG_40754; } else { goto CFG_40753; } CFG_40753: assume true; local_#30747 := 0; goto CFG_38468; CFG_40754: assume true; local_#30747 := 1; goto CFG_38468; CFG_38468: assume true; local_#8009 := local_#30747; goto CFG_37596; CFG_37596: assume true; } procedure routine_#34698_discharge2anyreg(local_#5659_fs_IN : { base : int, offset : int }, local_#5660_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5659_fs : { base : int, offset : int }; var local_#5660_e : { base : int, offset : int }; var local_#20482 : int; var local_#20483 : int; var local_#20484 : int; var local_#20485 : int; var local_#20486 : int; var local_#20487 : int; var local_#20488 : int; local_#5659_fs := local_#5659_fs_IN; local_#5660_e := local_#5660_e_IN; goto CFG_36686; CFG_36686: assume true; goto CFG_50359; CFG_50359: assume true; local_#20482 := ~uwrap32(_memory[{ base : local_#5660_e!base, offset : local_#5660_e!offset + 0 }]); assert { :LIR "63155" } { :check "overflow" } { :finding_ids "0" } true; local_#20483 := 7; local_#20484 := (if local_#20482 != local_#20483 then 1 else 0); if (local_#20484 != 0) { goto CFG_43360; } else { goto CFG_39300; } CFG_43360: assume true; local_#20485 := 1; goto CFG_46991; CFG_46991: assume true; call routine_#33804_luaK_reserveregs(local_#5659_fs,local_#20485); goto CFG_43361; CFG_43361: assume true; local_#20486 := _memory[{ base : local_#5659_fs!base, offset : local_#5659_fs!offset + 60 }]; assert { :LIR "63156" } { :check "overflow" } { :finding_ids "0" } local_#20486 <= 2147483647; local_#20487 := 1; local_#20488 := local_#20486 - local_#20487; assert { :LIR "68029" } { :check "overflow" } { :finding_ids "0" } local_#20488 <= 2147483647; goto CFG_46992; CFG_46992: assume true; call routine_#34699_discharge2reg(local_#5659_fs,local_#5660_e,local_#20488); goto CFG_40755; CFG_40755: assume true; goto CFG_39300; CFG_39300: assume true; goto CFG_37597; CFG_37597: assume true; } procedure routine_#34699_discharge2reg(local_#5661_fs_IN : { base : int, offset : int }, local_#5662_e_IN : { base : int, offset : int }, local_#5663_reg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5661_fs : { base : int, offset : int }; var local_#5662_e : { base : int, offset : int }; var local_#5663_reg : int; var local_#20489 : int; var local_#20490 : int; var local_#20491 : int; var local_#20492 : { base : int, offset : int }; var local_#20493 : int; var local_#20494 : int; var local_#20495 : { base : int, offset : int }; var local_#20496 : int; var local_#20497 : int; var local_#20498 : int; var local_#20499 : { base : int, offset : int }; var local_#20500 : { base : int, offset : int }; var local_#20501 : { base : int, offset : int }; var local_#32188_pc : { base : int, offset : int }; var local_#20502 : int; var local_#20503 : int; var local_#20504 : int; var local_#20505 : int; var local_#20506 : int; var local_#20507 : int; var local_#20508 : int; var local_#20509 : int; var local_#20510 : { base : int, offset : int }; var local_#20511 : int; var local_#20512 : int; var local_#20513 : int; var local_#20514 : { base : int, offset : int }; var nondet_#0 : int; var local_#20515 : int; var local_#20516 : int; var local_#20517 : int; var local_#20518 : { base : int, offset : int }; var local_#20519 : int; var local_#20520 : int; var local_#20521 : int; var local_#20522 : int; var local_#20523 : int; var local_#20524 : int; var local_#20525 : int; var local_#20526 : int; var local_#20527 : int; var local_#20528 : { base : int, offset : int }; local_#5661_fs := local_#5661_fs_IN; local_#5662_e := local_#5662_e_IN; local_#5663_reg := local_#5663_reg_IN; goto CFG_36687; CFG_36687: assume true; goto CFG_46993; CFG_46993: assume true; call routine_#33784_luaK_dischargevars(local_#5661_fs,local_#5662_e); goto CFG_51537; CFG_51537: assume true; local_#20489 := _memory[{ base : local_#5662_e!base, offset : local_#5662_e!offset + 0 }]; if (local_#20489 == 1) { goto CFG_43367; } if (local_#20489 == 3) { goto CFG_43366; } if (local_#20489 == 2) { goto CFG_43366; } if (local_#20489 == 4) { goto CFG_43365; } if (local_#20489 == 5) { goto CFG_43364; } if (local_#20489 == 6) { goto CFG_43363; } if (local_#20489 == 12) { goto CFG_39609; } if (local_#20489 == 7) { goto CFG_50360; } goto CFG_39301; CFG_39301: assume true; local_#20490 := 0; local_#20491 := 0; assert { :LIR "61494" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37598; CFG_50360: assume true; local_#20492 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; local_#20493 := (if local_#5663_reg != _memory[local_#20492] then 1 else 0); if (local_#20493 != 0) { goto CFG_43362; } else { goto CFG_39608; } CFG_43362: assume true; local_#20494 := 0; local_#20495 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; local_#20496 := _memory[local_#20495]; local_#20497 := 0; goto CFG_46994; CFG_46994: assume true; call local_#20498 := routine_#33780_luaK_codeABC(local_#5661_fs,local_#20494,local_#5663_reg,local_#20496,local_#20497); goto CFG_40756; CFG_40756: assume true; goto CFG_39608; CFG_39608: assume true; goto CFG_39302; CFG_39609: assume true; local_#20499 := _memory_ptr[{ base : local_#5661_fs!base, offset : local_#5661_fs!offset + 0 }]; local_#20500 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; local_#20501 := { base : _memory_ptr[{ base : local_#20499!base, offset : local_#20499!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#20499!base, offset : local_#20499!offset + 56 }]!offset + _memory[local_#20500] * 4 }; local_#32188_pc := local_#20501; local_#20502 := 4294950975; local_#20503 := ~uand32(_memory[local_#32188_pc], local_#20502); local_#20504 := ~uwrap32(local_#5663_reg); assert { :LIR "61495" } { :check "overflow" } { :finding_ids "0" } true; local_#20505 := 6; local_#20506 := ~shl32(local_#20504, local_#20505); local_#20507 := 16320; local_#20508 := ~uand32(local_#20506, local_#20507); local_#20509 := ~uor32(local_#20503, local_#20508); _memory[local_#32188_pc] := local_#20509; goto CFG_39302; CFG_43363: assume true; local_#20510 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; local_#20511 := _memory[local_#20510]; goto CFG_46995; CFG_46995: assume true; call local_#20512 := routine_#33796_luaK_intK(local_#5661_fs,local_#20511); goto CFG_46996; CFG_46996: assume true; call local_#20513 := routine_#33782_luaK_codek(local_#5661_fs,local_#5663_reg,local_#20512); goto CFG_39610; CFG_39610: assume true; goto CFG_39302; CFG_43364: assume true; local_#20514 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; havoc nondet_#0; local_#20515 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_46997; CFG_46997: assume true; call local_#20516 := routine_#34905_luaK_numberK(local_#5661_fs,local_#20515); goto CFG_46998; CFG_46998: assume true; call local_#20517 := routine_#33782_luaK_codek(local_#5661_fs,local_#5663_reg,local_#20516); goto CFG_39611; CFG_39611: assume true; goto CFG_39302; CFG_43365: assume true; local_#20518 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; local_#20519 := _memory[local_#20518]; goto CFG_46999; CFG_46999: assume true; call local_#20520 := routine_#33782_luaK_codek(local_#5661_fs,local_#5663_reg,local_#20519); goto CFG_39612; CFG_39612: assume true; goto CFG_39302; CFG_43366: assume true; local_#20521 := 3; local_#20522 := ~uwrap32(_memory[{ base : local_#5662_e!base, offset : local_#5662_e!offset + 0 }]); assert { :LIR "63157" } { :check "overflow" } { :finding_ids "0" } true; local_#20523 := 2; local_#20524 := (if local_#20522 == local_#20523 then 1 else 0); local_#20525 := 0; goto CFG_47000; CFG_47000: assume true; call local_#20526 := routine_#33780_luaK_codeABC(local_#5661_fs,local_#20521,local_#5663_reg,local_#20524,local_#20525); goto CFG_39613; CFG_39613: assume true; goto CFG_39302; CFG_43367: assume true; local_#20527 := 1; goto CFG_47001; CFG_47001: assume true; call routine_#33798_luaK_nil(local_#5661_fs,local_#5663_reg,local_#20527); goto CFG_39614; CFG_39614: assume true; goto CFG_39302; CFG_39302: assume true; local_#20528 := { base : local_#5662_e!base, offset : local_#5662_e!offset + 8 }; _memory[local_#20528] := local_#5663_reg; _memory[{ base : local_#5662_e!base, offset : local_#5662_e!offset + 0 }] := 7; goto CFG_37598; CFG_41934: assume true; goto CFG_39302; CFG_37598: assume true; } procedure routine_#34700_dischargejpc(local_#5664_fs_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5664_fs : { base : int, offset : int }; var local_#20529 : int; var local_#20530 : int; var local_#20531 : int; var local_#20532 : int; local_#5664_fs := local_#5664_fs_IN; goto CFG_36688; CFG_36688: assume true; goto CFG_43368; CFG_43368: assume true; local_#20529 := _memory[{ base : local_#5664_fs!base, offset : local_#5664_fs!offset + 40 }]; local_#20530 := _memory[{ base : local_#5664_fs!base, offset : local_#5664_fs!offset + 32 }]; local_#20531 := 255; local_#20532 := _memory[{ base : local_#5664_fs!base, offset : local_#5664_fs!offset + 32 }]; goto CFG_47002; CFG_47002: assume true; call routine_#34989_patchlistaux(local_#5664_fs,local_#20529,local_#20530,local_#20531,local_#20532); goto CFG_39303; CFG_39303: assume true; _memory[{ base : local_#5664_fs!base, offset : local_#5664_fs!offset + 40 }] := -1; goto CFG_37599; CFG_37599: assume true; } procedure routine_#34701_doREPL(local_#5665_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#5665_L : { base : int, offset : int }; var local_#32189_oldprogname : { base : int, offset : int }; var local_#20533 : int; var local_#32190_status : int; var local_#20534 : int; var local_#20535 : int; var local_#20536 : int; var local_#20537 : { base : int, offset : int }; var local_#20538 : { base : int, offset : int }; var local_#20539 : int; var local_#20540 : int; var local_#20541 : int; var local_#20542 : int; var local_#20543 : int; var local_#20544 : int; var local_#20545 : int; var local_#20546 : int; var local_#20547 : int; var local_#20548 : int; var local_#20549 : int; var local_#20550 : int; var local_#20551 : int; local_#5665_L := local_#5665_L_IN; goto CFG_36689; CFG_36689: assume true; goto CFG_41737; CFG_41737: assume true; local_#32189_oldprogname := global_#33065_progname; global_#33065_progname := { base : 0, offset : 0 }; goto CFG_47003; CFG_47003: assume true; call local_#20533 := routine_#34866_loadline(local_#5665_L); goto CFG_50361; CFG_50361: assume true; local_#32190_status := local_#20533; local_#20534 := -1; local_#20535 := (if local_#32190_status != local_#20534 then 1 else 0); if (local_#20535 != 0) { goto CFG_50362; } else { goto CFG_43369; } CFG_43369: assume true; local_#20536 := 0; goto CFG_47004; CFG_47004: assume true; call routine_#33987_lua_settop(local_#5665_L,local_#20536); goto CFG_43370; CFG_43370: assume true; assume _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 0 }] == 10 && _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 1 }] == 0; local_#20537 := strlit_#70533; local_#20538 := { base : local_#20537!base, offset : local_#20537!offset + 0 * 1 }; assert { :LIR "63158" } { :check "overflow" } { :finding_ids "0" } true; local_#20539 := 1; local_#20540 := 1; goto CFG_47005; CFG_47005: assume true; call local_#20541 := routine_#33600_fwrite(local_#20538,local_#20539,local_#20540,global_#33192_stdout); goto CFG_47006; CFG_47006: assume true; call local_#20542 := routine_#33556_fflush(global_#33192_stdout); goto CFG_39304; CFG_39304: assume true; local_#20543 := local_#20542; global_#33065_progname := local_#32189_oldprogname; goto CFG_37600; CFG_50362: assume true; local_#20544 := 0; local_#20545 := (if local_#32190_status == local_#20544 then 1 else 0); if (local_#20545 != 0) { goto CFG_43371; } else { goto CFG_50363; } CFG_43371: assume true; local_#20546 := 0; local_#20547 := -1; goto CFG_47007; CFG_47007: assume true; call local_#20548 := routine_#34702_docall(local_#5665_L,local_#20546,local_#20547); goto CFG_40757; CFG_40757: assume true; local_#32190_status := local_#20548; goto CFG_50363; CFG_50363: assume true; local_#20549 := 0; local_#20550 := (if local_#32190_status == local_#20549 then 1 else 0); if (local_#20550 != 0) { goto CFG_47009; } else { goto CFG_47008; } CFG_47008: assume true; call local_#20551 := routine_#35033_report(local_#5665_L,local_#32190_status); goto CFG_40758; CFG_40758: assume true; goto CFG_45078; CFG_47009: assume true; call routine_#34846_l_print(local_#5665_L); goto CFG_40759; CFG_40759: assume true; goto CFG_45078; CFG_45078: assume true; goto CFG_47003; CFG_37600: assume true; } procedure routine_#34702_docall(local_#5666_L_IN : { base : int, offset : int }, local_#5667_narg_IN : int, local_#5668_nres_IN : int) returns (local_#8010 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5666_L : { base : int, offset : int }; var local_#5667_narg : int; var local_#5668_nres : int; var local_#20552 : int; var local_#20553 : int; var local_#32191_base : int; var local_#20554 : { base : int, offset : int }; var local_#20555 : int; var local_#20556 : int; var local_#20557 : int; var local_#20558 : { base : int, offset : int }; var local_#20559 : { base : int, offset : int }; var local_#20560 : int; var local_#20561 : { base : int, offset : int }; var local_#20562 : int; var local_#32192_status : int; var local_#20563 : int; var local_#20564 : { base : int, offset : int }; var local_#20565 : { base : int, offset : int }; var local_#20566 : int; var local_#20567 : int; local_#5666_L := local_#5666_L_IN; local_#5667_narg := local_#5667_narg_IN; local_#5668_nres := local_#5668_nres_IN; goto CFG_36690; CFG_36690: assume true; goto CFG_47010; CFG_47010: assume true; call local_#20552 := routine_#33941_lua_gettop(local_#5666_L); goto CFG_43372; CFG_43372: assume true; local_#20553 := local_#20552 - local_#5667_narg; assert { :LIR "68030" } { :check "overflow" } { :finding_ids "0" } local_#20553 <= 2147483647; local_#32191_base := local_#20553; local_#20554 := fun_addr_#34952_msghandler; local_#20555 := 0; goto CFG_47011; CFG_47011: assume true; call routine_#33958_lua_pushcclosure(local_#5666_L,local_#20554,local_#20555); goto CFG_43373; CFG_43373: assume true; local_#20556 := 1; goto CFG_47012; CFG_47012: assume true; call routine_#33978_lua_rotate(local_#5666_L,local_#32191_base,local_#20556); goto CFG_43374; CFG_43374: assume true; global_#33056_globalL := local_#5666_L; local_#20557 := 2; local_#20558 := fun_addr_#34853_laction; goto CFG_47013; CFG_47013: assume true; call local_#20559 := routine_#34416_signal(local_#20557,local_#20558); goto CFG_43375; CFG_43375: assume true; local_#20560 := 0; local_#20561 := { base : 0, offset : 0 }; goto CFG_47014; CFG_47014: assume true; call local_#20562 := routine_#33956_lua_pcallk(local_#5666_L,local_#5667_narg,local_#5668_nres,local_#32191_base,local_#20560,local_#20561); goto CFG_43376; CFG_43376: assume true; local_#32192_status := local_#20562; local_#20563 := 2; local_#20564 := { base : 0, offset : 0 }; goto CFG_47015; CFG_47015: assume true; call local_#20565 := routine_#34416_signal(local_#20563,local_#20564); goto CFG_43377; CFG_43377: assume true; local_#20566 := -1; goto CFG_47016; CFG_47016: assume true; call routine_#33978_lua_rotate(local_#5666_L,local_#32191_base,local_#20566); goto CFG_43378; CFG_43378: assume true; local_#20567 := -2; goto CFG_47017; CFG_47017: assume true; call routine_#33987_lua_settop(local_#5666_L,local_#20567); goto CFG_38469; CFG_38469: assume true; local_#8010 := local_#32192_status; goto CFG_37601; CFG_37601: assume true; } procedure routine_#34703_dochunk(local_#5669_L_IN : { base : int, offset : int }, local_#5670_status_IN : int) returns (local_#8011 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5669_L : { base : int, offset : int }; var local_#5670_status : int; var local_#20568 : int; var local_#20569 : int; var local_#20570 : int; var local_#20571 : int; var local_#20572 : int; var local_#20573 : int; local_#5669_L := local_#5669_L_IN; local_#5670_status := local_#5670_status_IN; goto CFG_36691; CFG_36691: assume true; goto CFG_50364; CFG_50364: assume true; local_#20568 := 0; local_#20569 := (if local_#5670_status == local_#20568 then 1 else 0); if (local_#20569 != 0) { goto CFG_43379; } else { goto CFG_47019; } CFG_43379: assume true; local_#20570 := 0; local_#20571 := 0; goto CFG_47018; CFG_47018: assume true; call local_#20572 := routine_#34702_docall(local_#5669_L,local_#20570,local_#20571); goto CFG_40760; CFG_40760: assume true; local_#5670_status := local_#20572; goto CFG_47019; CFG_47019: assume true; call local_#20573 := routine_#35033_report(local_#5669_L,local_#5670_status); goto CFG_38470; CFG_38470: assume true; local_#8011 := local_#20573; goto CFG_37602; CFG_37602: assume true; } procedure routine_#34704_dofile(local_#5671_L_IN : { base : int, offset : int }, local_#5672_name_IN : { base : int, offset : int }) returns (local_#8012 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5671_L : { base : int, offset : int }; var local_#5672_name : { base : int, offset : int }; var local_#20574 : { base : int, offset : int }; var local_#20575 : int; var local_#20576 : int; local_#5671_L := local_#5671_L_IN; local_#5672_name := local_#5672_name_IN; goto CFG_36692; CFG_36692: assume true; goto CFG_43380; CFG_43380: assume true; local_#20574 := { base : 0, offset : 0 }; goto CFG_47020; CFG_47020: assume true; call local_#20575 := routine_#33836_luaL_loadfilex(local_#5671_L,local_#5672_name,local_#20574); goto CFG_47021; CFG_47021: assume true; call local_#20576 := routine_#34703_dochunk(local_#5671_L,local_#20575); goto CFG_38471; CFG_38471: assume true; local_#8012 := local_#20576; goto CFG_37603; CFG_37603: assume true; } procedure routine_#34705_dofilecont(local_#5673_L_IN : { base : int, offset : int }, local_#5674_d1_IN : int, local_#5675_d2_IN : int) returns (local_#8013 : int) { var local_#5673_L : { base : int, offset : int }; var local_#5674_d1 : int; var local_#5675_d2 : int; var local_#20577 : int; var local_#20578 : int; var local_#20579 : int; var local_#20580 : int; var local_#20581 : int; local_#5673_L := local_#5673_L_IN; local_#5674_d1 := local_#5674_d1_IN; local_#5675_d2 := local_#5675_d2_IN; goto CFG_36693; CFG_36693: assume true; goto CFG_43381; CFG_43381: assume true; local_#20577 := 0; assert { :LIR "61496" } { :check "overflow" } { :finding_ids "0" } true; local_#20578 := 0; assert { :LIR "61497" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47022; CFG_47022: assume true; call local_#20579 := routine_#33941_lua_gettop(local_#5673_L); goto CFG_38472; CFG_38472: assume true; local_#20580 := 1; local_#20581 := local_#20579 - local_#20580; assert { :LIR "68031" } { :check "overflow" } { :finding_ids "0" } local_#20581 <= 2147483647; local_#8013 := local_#20581; goto CFG_37604; CFG_37604: assume true; } procedure routine_#34706_dolibrary(local_#5676_L_IN : { base : int, offset : int }, local_#5677_name_IN : { base : int, offset : int }) returns (local_#8014 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5676_L : { base : int, offset : int }; var local_#5677_name : { base : int, offset : int }; var local_#20582 : { base : int, offset : int }; var local_#20583 : { base : int, offset : int }; var local_#20584 : int; var local_#20585 : { base : int, offset : int }; var local_#20586 : int; var local_#20587 : int; var local_#20588 : int; var local_#32193_status : int; var local_#20589 : int; var local_#20590 : int; var local_#20591 : int; local_#5676_L := local_#5676_L_IN; local_#5677_name := local_#5677_name_IN; goto CFG_36694; CFG_36694: assume true; goto CFG_43382; CFG_43382: assume true; assume _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 0 }] == 114 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 1 }] == 101 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 2 }] == 113 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 3 }] == 117 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 4 }] == 105 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 5 }] == 114 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 6 }] == 101 && _memory[{ base : strlit_#70534!base, offset : strlit_#70534!offset + 7 }] == 0; local_#20582 := strlit_#70534; local_#20583 := { base : local_#20582!base, offset : local_#20582!offset + 0 * 1 }; assert { :LIR "63159" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47023; CFG_47023: assume true; call local_#20584 := routine_#33931_lua_getglobal(local_#5676_L,local_#20583); goto CFG_47024; CFG_47024: assume true; call local_#20585 := routine_#33965_lua_pushstring(local_#5676_L,local_#5677_name); goto CFG_43383; CFG_43383: assume true; local_#20586 := 1; local_#20587 := 1; goto CFG_47025; CFG_47025: assume true; call local_#20588 := routine_#34702_docall(local_#5676_L,local_#20586,local_#20587); goto CFG_50365; CFG_50365: assume true; local_#32193_status := local_#20588; local_#20589 := 0; local_#20590 := (if local_#32193_status == local_#20589 then 1 else 0); if (local_#20590 != 0) { goto CFG_47026; } else { goto CFG_47027; } CFG_47026: assume true; call routine_#33981_lua_setglobal(local_#5676_L,local_#5677_name); goto CFG_40761; CFG_40761: assume true; goto CFG_47027; CFG_47027: assume true; call local_#20591 := routine_#35033_report(local_#5676_L,local_#32193_status); goto CFG_38473; CFG_38473: assume true; local_#8014 := local_#20591; goto CFG_37605; CFG_37605: assume true; } procedure routine_#34707_dostring(local_#5678_L_IN : { base : int, offset : int }, local_#5679_s_IN : { base : int, offset : int }, local_#5680_name_IN : { base : int, offset : int }) returns (local_#8015 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5678_L : { base : int, offset : int }; var local_#5679_s : { base : int, offset : int }; var local_#5680_name : { base : int, offset : int }; var local_#20592 : int; var local_#20593 : { base : int, offset : int }; var local_#20594 : int; var local_#20595 : int; local_#5678_L := local_#5678_L_IN; local_#5679_s := local_#5679_s_IN; local_#5680_name := local_#5680_name_IN; goto CFG_36695; CFG_36695: assume true; goto CFG_47028; CFG_47028: assume true; call local_#20592 := routine_#34454_strlen(local_#5679_s); goto CFG_43384; CFG_43384: assume true; local_#20593 := { base : 0, offset : 0 }; goto CFG_47029; CFG_47029: assume true; call local_#20594 := routine_#33835_luaL_loadbufferx(local_#5678_L,local_#5679_s,local_#20592,local_#5680_name,local_#20593); goto CFG_47030; CFG_47030: assume true; call local_#20595 := routine_#34703_dochunk(local_#5678_L,local_#20594); goto CFG_38474; CFG_38474: assume true; local_#8015 := local_#20595; goto CFG_37606; CFG_37606: assume true; } procedure routine_#34708_dothecall(local_#5681_L_IN : { base : int, offset : int }, local_#5682_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5681_L : { base : int, offset : int }; var local_#5682_ud : { base : int, offset : int }; var local_#20596 : int; var local_#20597 : int; var local_#20598 : { base : int, offset : int }; var local_#20599 : int; local_#5681_L := local_#5681_L_IN; local_#5682_ud := local_#5682_ud_IN; goto CFG_36696; CFG_36696: assume true; goto CFG_43385; CFG_43385: assume true; local_#20596 := 0; assert { :LIR "61498" } { :check "overflow" } { :finding_ids "0" } true; local_#20597 := 2; local_#20598 := { base : _memory_ptr[{ base : local_#5681_L!base, offset : local_#5681_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5681_L!base, offset : local_#5681_L!offset + 16 }]!offset - local_#20597 * 16 }; local_#20599 := 0; goto CFG_47031; CFG_47031: assume true; call routine_#33732_luaD_callnoyield(local_#5681_L,local_#20598,local_#20599); goto CFG_39305; CFG_39305: assume true; goto CFG_37607; CFG_37607: assume true; } procedure routine_#34709_end_capture(local_#5683_ms_IN : { base : int, offset : int }, local_#5684_s_IN : { base : int, offset : int }, local_#5685_p_IN : { base : int, offset : int }) returns (local_#8016 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5683_ms : { base : int, offset : int }; var local_#5684_s : { base : int, offset : int }; var local_#5685_p : { base : int, offset : int }; var local_#20600 : int; var local_#32194_l : int; var local_#20601 : { base : int, offset : int }; var local_#20602 : { base : int, offset : int }; var local_#20603 : int; var local_#20604 : { base : int, offset : int }; var local_#20605 : { base : int, offset : int }; var local_#20606 : { base : int, offset : int }; var local_#32195_res : { base : int, offset : int }; var local_#20607 : { base : int, offset : int }; var local_#20608 : int; var local_#20609 : int; var local_#20610 : { base : int, offset : int }; var local_#20611 : { base : int, offset : int }; local_#5683_ms := local_#5683_ms_IN; local_#5684_s := local_#5684_s_IN; local_#5685_p := local_#5685_p_IN; goto CFG_36697; CFG_36697: assume true; goto CFG_47032; CFG_47032: assume true; call local_#20600 := routine_#34620_capture_to_close(local_#5683_ms); goto CFG_43386; CFG_43386: assume true; local_#32194_l := local_#20600; local_#20601 := { base : local_#5683_ms!base, offset : local_#5683_ms!offset + 40 }; local_#20602 := { base : local_#20601!base, offset : local_#20601!offset + 0 * 16 + local_#32194_l * 16 }; local_#20603 := (local_#5684_s!offset - _memory_ptr[{ base : local_#20602!base, offset : local_#20602!offset + 0 }]!offset) / 1; local_#20604 := { base : local_#5683_ms!base, offset : local_#5683_ms!offset + 40 }; local_#20605 := { base : local_#20604!base, offset : local_#20604!offset + 0 * 16 + local_#32194_l * 16 }; _memory[{ base : local_#20605!base, offset : local_#20605!offset + 8 }] := local_#20603; goto CFG_47033; CFG_47033: assume true; call local_#20606 := routine_#34913_match(local_#5683_ms,local_#5684_s,local_#5685_p); goto CFG_50366; CFG_50366: assume true; local_#32195_res := local_#20606; local_#20607 := { base : 0, offset : 0 }; local_#20608 := (if local_#32195_res == local_#20607 then 1 else 0); if (local_#20608 != 0) { goto CFG_40762; } else { goto CFG_38475; } CFG_40762: assume true; local_#20609 := -1; local_#20610 := { base : local_#5683_ms!base, offset : local_#5683_ms!offset + 40 }; local_#20611 := { base : local_#20610!base, offset : local_#20610!offset + 0 * 16 + local_#32194_l * 16 }; _memory[{ base : local_#20611!base, offset : local_#20611!offset + 8 }] := local_#20609; goto CFG_38475; CFG_38475: assume true; local_#8016 := local_#32195_res; goto CFG_37608; CFG_37608: assume true; } procedure routine_#34710_enterblock(local_#5686_fs_IN : { base : int, offset : int }, local_#5687_bl_IN : { base : int, offset : int }, local_#5688_isloop_IN : int) returns () modifies _memory, _memory_ptr; { var local_#5686_fs : { base : int, offset : int }; var local_#5687_bl : { base : int, offset : int }; var local_#5688_isloop : int; var local_#20612 : { base : int, offset : int }; var local_#20613 : { base : int, offset : int }; var local_#20614 : { base : int, offset : int }; var local_#20615 : { base : int, offset : int }; var local_#20616 : int; var local_#20617 : int; local_#5686_fs := local_#5686_fs_IN; local_#5687_bl := local_#5687_bl_IN; local_#5688_isloop := local_#5688_isloop_IN; goto CFG_36698; CFG_36698: assume true; goto CFG_39306; CFG_39306: assume true; _memory[{ base : local_#5687_bl!base, offset : local_#5687_bl!offset + 18 }] := local_#5688_isloop; _memory[{ base : local_#5687_bl!base, offset : local_#5687_bl!offset + 16 }] := _memory[{ base : local_#5686_fs!base, offset : local_#5686_fs!offset + 58 }]; local_#20612 := _memory_ptr[{ base : local_#5686_fs!base, offset : local_#5686_fs!offset + 16 }]; local_#20613 := _memory_ptr[{ base : local_#20612!base, offset : local_#20612!offset + 88 }]; _memory[{ base : local_#5687_bl!base, offset : local_#5687_bl!offset + 8 }] := _memory[{ base : local_#20613!base, offset : local_#20613!offset + 40 }]; local_#20614 := _memory_ptr[{ base : local_#5686_fs!base, offset : local_#5686_fs!offset + 16 }]; local_#20615 := _memory_ptr[{ base : local_#20614!base, offset : local_#20614!offset + 88 }]; _memory[{ base : local_#5687_bl!base, offset : local_#5687_bl!offset + 12 }] := _memory[{ base : local_#20615!base, offset : local_#20615!offset + 24 }]; _memory[{ base : local_#5687_bl!base, offset : local_#5687_bl!offset + 17 }] := 0; _memory_ptr[{ base : local_#5687_bl!base, offset : local_#5687_bl!offset + 0 }] := _memory_ptr[{ base : local_#5686_fs!base, offset : local_#5686_fs!offset + 24 }]; _memory_ptr[{ base : local_#5686_fs!base, offset : local_#5686_fs!offset + 24 }] := local_#5687_bl; local_#20616 := 0; local_#20617 := 0; assert { :LIR "61499" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37609; CFG_37609: assume true; } procedure routine_#34711_enterlevel(local_#5689_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5689_ls : { base : int, offset : int }; var local_#32196_L : { base : int, offset : int }; var local_#20618 : int; var local_#20619 : { base : int, offset : int }; var local_#20620 : int; var local_#20621 : int; var local_#20622 : { base : int, offset : int }; var local_#20623 : { base : int, offset : int }; local_#5689_ls := local_#5689_ls_IN; goto CFG_36699; CFG_36699: assume true; goto CFG_43387; CFG_43387: assume true; local_#32196_L := _memory_ptr[{ base : local_#5689_ls!base, offset : local_#5689_ls!offset + 56 }]; local_#20618 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#32196_L!base, offset : local_#32196_L!offset + 198 }] := ~uwrap16(_memory[{ base : local_#32196_L!base, offset : local_#32196_L!offset + 198 }] + local_#20618); assert { :LIR "66622" } { :check "overflow" } { :finding_ids "0" } true; local_#20619 := _memory_ptr[{ base : local_#5689_ls!base, offset : local_#5689_ls!offset + 48 }]; local_#20620 := _memory[{ base : local_#32196_L!base, offset : local_#32196_L!offset + 198 }]; assert { :LIR "63160" } { :check "overflow" } { :finding_ids "0" } local_#20620 <= 2147483647; local_#20621 := 200; assume _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 0 }] == 67 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 1 }] == 32 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 2 }] == 108 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 3 }] == 101 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 4 }] == 118 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 5 }] == 101 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 6 }] == 108 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 7 }] == 115 && _memory[{ base : strlit_#70445!base, offset : strlit_#70445!offset + 8 }] == 0; local_#20622 := strlit_#70445; local_#20623 := { base : local_#20622!base, offset : local_#20622!offset + 0 * 1 }; assert { :LIR "63161" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47034; CFG_47034: assume true; call routine_#34632_checklimit(local_#20619,local_#20620,local_#20621,local_#20623); goto CFG_39307; CFG_39307: assume true; goto CFG_37610; CFG_37610: assume true; } procedure routine_#34712_entersweep(local_#5690_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5690_L : { base : int, offset : int }; var local_#32197_g : { base : int, offset : int }; var local_#20624 : int; var local_#20625 : int; var local_#20626 : { base : int, offset : int }; var local_#20627 : int; var local_#20628 : { base : int, offset : int }; local_#5690_L := local_#5690_L_IN; goto CFG_36700; CFG_36700: assume true; goto CFG_43388; CFG_43388: assume true; local_#32197_g := _memory_ptr[{ base : local_#5690_L!base, offset : local_#5690_L!offset + 24 }]; _memory[{ base : local_#32197_g!base, offset : local_#32197_g!offset + 85 }] := 2; local_#20624 := 0; local_#20625 := 0; assert { :LIR "61500" } { :check "overflow" } { :finding_ids "0" } true; local_#20626 := { base : local_#32197_g!base, offset : local_#32197_g!offset + 88 }; local_#20627 := 1; goto CFG_47035; CFG_47035: assume true; call local_#20628 := routine_#35104_sweeplist(local_#5690_L,local_#20626,local_#20627); goto CFG_39308; CFG_39308: assume true; _memory_ptr[{ base : local_#32197_g!base, offset : local_#32197_g!offset + 96 }] := local_#20628; goto CFG_37611; CFG_37611: assume true; } procedure routine_#34713_errfile(local_#5691_L_IN : { base : int, offset : int }, local_#5692_what_IN : { base : int, offset : int }, local_#5693_fnameindex_IN : int) returns (local_#8017 : int) modifies _memory, _memory_ptr, _valid; { var local_#5691_L : { base : int, offset : int }; var local_#5692_what : { base : int, offset : int }; var local_#5693_fnameindex : int; var local_#20629 : { base : int, offset : int }; var local_#20630 : int; var local_#20631 : { base : int, offset : int }; var local_#20632 : { base : int, offset : int }; var local_#32199_serr : { base : int, offset : int }; var local_#20633 : { base : int, offset : int }; var local_#20634 : { base : int, offset : int }; var local_#20635 : int; var local_#20636 : { base : int, offset : int }; var local_#32198_filename : { base : int, offset : int }; var local_#20637 : { base : int, offset : int }; var local_#20638 : { base : int, offset : int }; var local_#20639 : { base : int, offset : int }; var local_#20640 : int; var local_#20641 : int; local_#5691_L := local_#5691_L_IN; local_#5692_what := local_#5692_what_IN; local_#5693_fnameindex := local_#5693_fnameindex_IN; goto CFG_36701; CFG_36701: assume true; goto CFG_47036; CFG_47036: assume true; call local_#20629 := routine_#33258___errno_location(); goto CFG_43389; CFG_43389: assume true; local_#20630 := _memory[local_#20629]; goto CFG_47037; CFG_47037: assume true; call local_#20631 := routine_#34451_strerror(local_#20630); goto CFG_43390; CFG_43390: assume true; local_#20632 := local_#20631; assert { :LIR "63162" } { :check "overflow" } { :finding_ids "0" } true; local_#32199_serr := local_#20632; local_#20633 := { base : 0, offset : 0 }; goto CFG_47038; CFG_47038: assume true; call local_#20634 := routine_#33995_lua_tolstring(local_#5691_L,local_#5693_fnameindex,local_#20633); goto CFG_43391; CFG_43391: assume true; local_#20635 := 1; local_#20636 := { base : local_#20634!base, offset : local_#20634!offset + local_#20635 * 1 }; local_#32198_filename := local_#20636; assume _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 0 }] == 99 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 1 }] == 97 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 2 }] == 110 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 3 }] == 110 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 4 }] == 111 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 5 }] == 116 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 6 }] == 32 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 7 }] == 37 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 8 }] == 115 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 9 }] == 32 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 10 }] == 37 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 11 }] == 115 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 12 }] == 58 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 13 }] == 32 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 14 }] == 37 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 15 }] == 115 && _memory[{ base : strlit_#70536!base, offset : strlit_#70536!offset + 16 }] == 0; local_#20637 := strlit_#70536; local_#20638 := { base : local_#20637!base, offset : local_#20637!offset + 0 * 1 }; assert { :LIR "63163" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47039; CFG_47039: assume true; call local_#20639 := routine_#33959_lua_pushfstring(local_#5691_L,local_#20638,{ base : 0, offset : 0 }); goto CFG_43392; CFG_43392: assume true; local_#20640 := -1; goto CFG_47040; CFG_47040: assume true; call routine_#33978_lua_rotate(local_#5691_L,local_#5693_fnameindex,local_#20640); goto CFG_43393; CFG_43393: assume true; local_#20641 := -2; goto CFG_47041; CFG_47041: assume true; call routine_#33987_lua_settop(local_#5691_L,local_#20641); goto CFG_38476; CFG_38476: assume true; local_#8017 := 7; goto CFG_37612; CFG_37612: assume true; } procedure routine_#34714_error(local_#5694_S_IN : { base : int, offset : int }, local_#5695_why_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5694_S : { base : int, offset : int }; var local_#5695_why : { base : int, offset : int }; var local_#20642 : { base : int, offset : int }; var local_#20643 : { base : int, offset : int }; var local_#20644 : { base : int, offset : int }; var local_#20645 : { base : int, offset : int }; var local_#20646 : { base : int, offset : int }; var local_#20647 : { base : int, offset : int }; var local_#20648 : int; local_#5694_S := local_#5694_S_IN; local_#5695_why := local_#5695_why_IN; goto CFG_36702; CFG_36702: assume true; goto CFG_43394; CFG_43394: assume true; local_#20642 := _memory_ptr[{ base : local_#5694_S!base, offset : local_#5694_S!offset + 0 }]; assume _memory[{ base : strlit_#70537!base, offset : strlit_#70537!offset + 24 }] == 0; local_#20643 := strlit_#70537; local_#20644 := { base : local_#20643!base, offset : local_#20643!offset + 0 * 1 }; assert { :LIR "63164" } { :check "overflow" } { :finding_ids "0" } true; local_#20645 := _memory_ptr[{ base : local_#5694_S!base, offset : local_#5694_S!offset + 16 }]; goto CFG_47042; CFG_47042: assume true; call local_#20646 := routine_#33865_luaO_pushfstring(local_#20642,local_#20644,{ base : 0, offset : 0 }); goto CFG_43395; CFG_43395: assume true; local_#20647 := _memory_ptr[{ base : local_#5694_S!base, offset : local_#5694_S!offset + 0 }]; local_#20648 := 3; goto CFG_47043; CFG_47043: assume true; call routine_#33743_luaD_throw(local_#20647,local_#20648); CFG_39309: assume true; goto CFG_37613; CFG_37613: assume true; } procedure routine_#34715_error_expected(local_#5696_ls_IN : { base : int, offset : int }, local_#5697_token_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5696_ls : { base : int, offset : int }; var local_#5697_token : int; var local_#20649 : { base : int, offset : int }; var local_#20650 : { base : int, offset : int }; var local_#20651 : { base : int, offset : int }; var local_#20652 : { base : int, offset : int }; var local_#20653 : { base : int, offset : int }; local_#5696_ls := local_#5696_ls_IN; local_#5697_token := local_#5697_token_IN; goto CFG_36703; CFG_36703: assume true; goto CFG_43396; CFG_43396: assume true; local_#20649 := _memory_ptr[{ base : local_#5696_ls!base, offset : local_#5696_ls!offset + 56 }]; assume _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 0 }] == 37 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 1 }] == 115 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 2 }] == 32 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 3 }] == 101 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 4 }] == 120 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 5 }] == 112 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 6 }] == 101 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 7 }] == 99 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 8 }] == 116 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 9 }] == 101 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 10 }] == 100 && _memory[{ base : strlit_#70538!base, offset : strlit_#70538!offset + 11 }] == 0; local_#20650 := strlit_#70538; local_#20651 := { base : local_#20650!base, offset : local_#20650!offset + 0 * 1 }; assert { :LIR "63165" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47044; CFG_47044: assume true; call local_#20652 := routine_#33911_luaX_token2str(local_#5696_ls,local_#5697_token); goto CFG_47045; CFG_47045: assume true; call local_#20653 := routine_#33865_luaO_pushfstring(local_#20649,local_#20651,{ base : 0, offset : 0 }); goto CFG_47046; CFG_47046: assume true; call routine_#33910_luaX_syntaxerror(local_#5696_ls,local_#20653); CFG_39310: assume true; goto CFG_37614; CFG_37614: assume true; } procedure routine_#34716_errorlimit(local_#5698_fs_IN : { base : int, offset : int }, local_#5699_limit_IN : int, local_#5700_what_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5698_fs : { base : int, offset : int }; var local_#5699_limit : int; var local_#5700_what : { base : int, offset : int }; var local_#20654 : { base : int, offset : int }; var local_#32200_L : { base : int, offset : int }; var local_#20655 : { base : int, offset : int }; var local_#32201_line : int; var local_#20656 : int; var local_#20657 : int; var local_#20658 : { base : int, offset : int }; var local_#20659 : { base : int, offset : int }; var local_#20660 : { base : int, offset : int }; var local_#30748 : { base : int, offset : int }; var local_#20661 : { base : int, offset : int }; var local_#20662 : { base : int, offset : int }; var local_#32203_where : { base : int, offset : int }; var local_#20663 : { base : int, offset : int }; var local_#20664 : { base : int, offset : int }; var local_#20665 : { base : int, offset : int }; var local_#32202_msg : { base : int, offset : int }; var local_#20666 : { base : int, offset : int }; local_#5698_fs := local_#5698_fs_IN; local_#5699_limit := local_#5699_limit_IN; local_#5700_what := local_#5700_what_IN; goto CFG_36704; CFG_36704: assume true; goto CFG_50367; CFG_50367: assume true; local_#20654 := _memory_ptr[{ base : local_#5698_fs!base, offset : local_#5698_fs!offset + 16 }]; local_#32200_L := _memory_ptr[{ base : local_#20654!base, offset : local_#20654!offset + 56 }]; local_#20655 := _memory_ptr[{ base : local_#5698_fs!base, offset : local_#5698_fs!offset + 0 }]; local_#32201_line := _memory[{ base : local_#20655!base, offset : local_#20655!offset + 40 }]; local_#20656 := 0; local_#20657 := (if local_#32201_line == local_#20656 then 1 else 0); if (local_#20657 != 0) { goto CFG_40764; } else { goto CFG_43397; } CFG_43397: assume true; assume _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 0 }] == 102 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 1 }] == 117 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 2 }] == 110 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 3 }] == 99 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 4 }] == 116 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 5 }] == 105 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 6 }] == 111 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 7 }] == 110 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 8 }] == 32 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 9 }] == 97 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 10 }] == 116 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 11 }] == 32 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 12 }] == 108 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 13 }] == 105 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 14 }] == 110 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 15 }] == 101 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 16 }] == 32 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 17 }] == 37 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 18 }] == 100 && _memory[{ base : strlit_#70539!base, offset : strlit_#70539!offset + 19 }] == 0; local_#20658 := strlit_#70539; local_#20659 := { base : local_#20658!base, offset : local_#20658!offset + 0 * 1 }; assert { :LIR "63166" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47047; CFG_47047: assume true; call local_#20660 := routine_#33865_luaO_pushfstring(local_#32200_L,local_#20659,{ base : 0, offset : 0 }); goto CFG_40763; CFG_40763: assume true; local_#30748 := local_#20660; goto CFG_43398; CFG_40764: assume true; assume _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 0 }] == 109 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 1 }] == 97 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 2 }] == 105 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 3 }] == 110 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 4 }] == 32 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 5 }] == 102 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 6 }] == 117 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 7 }] == 110 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 8 }] == 99 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 9 }] == 116 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 10 }] == 105 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 11 }] == 111 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 12 }] == 110 && _memory[{ base : strlit_#70540!base, offset : strlit_#70540!offset + 13 }] == 0; local_#20661 := strlit_#70540; local_#20662 := { base : local_#20661!base, offset : local_#20661!offset + 0 * 1 }; assert { :LIR "63167" } { :check "overflow" } { :finding_ids "0" } true; local_#30748 := local_#20662; goto CFG_43398; CFG_43398: assume true; local_#32203_where := local_#30748; assume _memory[{ base : strlit_#70541!base, offset : strlit_#70541!offset + 31 }] == 0; local_#20663 := strlit_#70541; local_#20664 := { base : local_#20663!base, offset : local_#20663!offset + 0 * 1 }; assert { :LIR "63168" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47048; CFG_47048: assume true; call local_#20665 := routine_#33865_luaO_pushfstring(local_#32200_L,local_#20664,{ base : 0, offset : 0 }); goto CFG_43399; CFG_43399: assume true; local_#32202_msg := local_#20665; local_#20666 := _memory_ptr[{ base : local_#5698_fs!base, offset : local_#5698_fs!offset + 16 }]; goto CFG_47049; CFG_47049: assume true; call routine_#33910_luaX_syntaxerror(local_#20666,local_#32202_msg); CFG_39311: assume true; goto CFG_37615; CFG_37615: assume true; } procedure routine_#34717_esccheck(local_#5701_ls_IN : { base : int, offset : int }, local_#5702_c_IN : int, local_#5703_msg_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5701_ls : { base : int, offset : int }; var local_#5702_c : int; var local_#5703_msg : { base : int, offset : int }; var local_#20667 : int; var local_#20668 : int; var local_#20669 : int; var local_#20670 : int; var local_#20671 : { base : int, offset : int }; var local_#20672 : int; var local_#20673 : int; var local_#20674 : int; var local_#20675 : int; var local_#20676 : { base : int, offset : int }; var local_#20677 : int; var local_#30749 : int; var local_#20678 : { base : int, offset : int }; var local_#20679 : { base : int, offset : int }; var local_#20680 : int; var local_#20681 : int; var local_#20682 : int; var local_#20683 : int; var local_#20684 : int; var local_#20685 : int; local_#5701_ls := local_#5701_ls_IN; local_#5702_c := local_#5702_c_IN; local_#5703_msg := local_#5703_msg_IN; goto CFG_36705; CFG_36705: assume true; goto CFG_50368; CFG_50368: assume true; local_#20667 := (if local_#5702_c != 0 then 0 else 1); if (local_#20667 != 0) { goto CFG_50369; } else { goto CFG_39312; } CFG_39312: assume true; goto CFG_37616; CFG_50369: assume true; local_#20668 := -1; local_#20669 := (if _memory[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 0 }] != local_#20668 then 1 else 0); if (local_#20669 != 0) { goto CFG_43400; } else { goto CFG_43402; } CFG_43400: assume true; local_#20670 := _memory[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 0 }]; goto CFG_47050; CFG_47050: assume true; call routine_#35043_save(local_#5701_ls,local_#20670); goto CFG_50370; CFG_50370: assume true; local_#20671 := _memory_ptr[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 64 }]; local_#20672 := _memory[{ base : local_#20671!base, offset : local_#20671!offset + 0 }]; local_#20673 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#20671!base, offset : local_#20671!offset + 0 }] := ~uwrap64(local_#20672 - local_#20673); assert { :LIR "68032" } { :check "overflow" } { :finding_ids "0" } true; local_#20674 := 0; local_#20675 := (if local_#20672 > local_#20674 then 1 else 0); if (local_#20675 != 0) { goto CFG_40766; } else { goto CFG_43401; } CFG_43401: assume true; local_#20676 := _memory_ptr[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 64 }]; goto CFG_47051; CFG_47051: assume true; call local_#20677 := routine_#33913_luaZ_fill(local_#20676); goto CFG_40765; CFG_40765: assume true; local_#30749 := local_#20677; goto CFG_40767; CFG_40766: assume true; local_#20678 := _memory_ptr[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 64 }]; local_#20679 := _memory_ptr[{ base : local_#20678!base, offset : local_#20678!offset + 8 }]; local_#20680 := 1; _memory_ptr[{ base : local_#20678!base, offset : local_#20678!offset + 8 }] := { base : local_#20679!base, offset : local_#20679!offset + local_#20680 * 1 }; local_#20681 := ~uwrap8(_memory[local_#20679]); assert { :LIR "61501" } { :check "overflow" } { :finding_ids "0" } true; local_#20682 := local_#20681; assert { :LIR "63169" } { :check "overflow" } { :finding_ids "0" } local_#20682 <= 2147483647; local_#30749 := local_#20682; goto CFG_40767; CFG_40767: assume true; _memory[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 0 }] := local_#30749; local_#20683 := _memory[{ base : local_#5701_ls!base, offset : local_#5701_ls!offset + 0 }]; local_#20684 := local_#20683; goto CFG_43402; CFG_43402: assume true; local_#20685 := 293; goto CFG_47052; CFG_47052: assume true; call routine_#34857_lexerror(local_#5701_ls,local_#5703_msg,local_#20685); CFG_37616: assume true; } procedure routine_#34718_exp1(local_#5704_ls_IN : { base : int, offset : int }) returns (local_#8018 : int) modifies _memory, _memory_ptr, _valid; { var local_#5704_ls : { base : int, offset : int }; var local_#32204_e : { base : int, offset : int }; var local_#20686 : { base : int, offset : int }; var local_#20687 : { base : int, offset : int }; var local_#20688 : { base : int, offset : int }; var local_#20689 : int; var local_#20690 : int; var local_#20691 : { base : int, offset : int }; var local_#32205_reg : int; local_#5704_ls := local_#5704_ls_IN; goto CFG_36706; CFG_36706: assume true; goto CFG_43403; CFG_43403: assume true; local_#20686 := local_#32204_e; goto CFG_47053; CFG_47053: assume true; call routine_#34721_expr(local_#5704_ls,local_#20686); goto CFG_43404; CFG_43404: assume true; local_#20687 := _memory_ptr[{ base : local_#5704_ls!base, offset : local_#5704_ls!offset + 48 }]; local_#20688 := local_#32204_e; goto CFG_47054; CFG_47054: assume true; call routine_#33788_luaK_exp2nextreg(local_#20687,local_#20688); goto CFG_38477; CFG_38477: assume true; local_#20689 := 0; local_#20690 := 0; assert { :LIR "61502" } { :check "overflow" } { :finding_ids "0" } true; local_#20691 := { base : local_#32204_e!base, offset : local_#32204_e!offset + 8 }; local_#32205_reg := _memory[local_#20691]; local_#8018 := local_#32205_reg; goto CFG_37617; CFG_37617: assume true; } procedure routine_#34719_exp2reg(local_#5705_fs_IN : { base : int, offset : int }, local_#5706_e_IN : { base : int, offset : int }, local_#5707_reg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5705_fs : { base : int, offset : int }; var local_#5706_e : { base : int, offset : int }; var local_#5707_reg : int; var local_#20692 : int; var local_#20693 : int; var local_#20694 : int; var local_#20695 : { base : int, offset : int }; var local_#20696 : { base : int, offset : int }; var local_#20697 : int; var local_#20698 : int; var local_#32207_p_f : int; var local_#32208_p_t : int; var local_#20699 : int; var local_#20700 : int; var local_#20701 : int; var local_#20702 : int; var local_#20703 : int; var local_#20704 : int; var local_#20705 : int; var local_#20706 : int; var local_#20707 : int; var local_#20708 : int; var local_#30750 : int; var local_#32209_fj : int; var local_#20709 : int; var local_#20710 : int; var local_#20711 : int; var local_#20712 : int; var local_#20713 : int; var local_#20714 : int; var local_#20715 : int; var local_#32206_final : int; var local_#20716 : int; var local_#20717 : int; var local_#20718 : { base : int, offset : int }; local_#5705_fs := local_#5705_fs_IN; local_#5706_e := local_#5706_e_IN; local_#5707_reg := local_#5707_reg_IN; goto CFG_36707; CFG_36707: assume true; goto CFG_47055; CFG_47055: assume true; call routine_#34699_discharge2reg(local_#5705_fs,local_#5706_e,local_#5707_reg); goto CFG_50371; CFG_50371: assume true; local_#20692 := ~uwrap32(_memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 0 }]); assert { :LIR "63170" } { :check "overflow" } { :finding_ids "0" } true; local_#20693 := 11; local_#20694 := (if local_#20692 == local_#20693 then 1 else 0); if (local_#20694 != 0) { goto CFG_43405; } else { goto CFG_50372; } CFG_43405: assume true; local_#20695 := { base : local_#5706_e!base, offset : local_#5706_e!offset + 16 }; local_#20696 := { base : local_#5706_e!base, offset : local_#5706_e!offset + 8 }; local_#20697 := _memory[local_#20696]; goto CFG_47056; CFG_47056: assume true; call routine_#33783_luaK_concat(local_#5705_fs,local_#20695,local_#20697); goto CFG_40768; CFG_40768: assume true; goto CFG_50372; CFG_50372: assume true; local_#20698 := (if _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 16 }] != _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 20 }] then 1 else 0); if (local_#20698 != 0) { goto CFG_43406; } else { goto CFG_39313; } CFG_43406: assume true; local_#32207_p_f := -1; local_#32208_p_t := -1; local_#20699 := _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 16 }]; goto CFG_47057; CFG_47057: assume true; call local_#20700 := routine_#34954_need_value(local_#5705_fs,local_#20699); goto CFG_50373; CFG_50373: assume true; local_#20701 := local_#20700; if (local_#20701 != 0) { goto CFG_50375; } else { goto CFG_43407; } CFG_43407: assume true; local_#20702 := _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 20 }]; goto CFG_47058; CFG_47058: assume true; call local_#20703 := routine_#34954_need_value(local_#5705_fs,local_#20702); goto CFG_50374; CFG_50374: assume true; local_#20704 := local_#20703; if (local_#20704 != 0) { goto CFG_50375; } else { goto CFG_47063; } CFG_50375: assume true; local_#20705 := ~uwrap32(_memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 0 }]); assert { :LIR "63171" } { :check "overflow" } { :finding_ids "0" } true; local_#20706 := 11; local_#20707 := (if local_#20705 == local_#20706 then 1 else 0); if (local_#20707 != 0) { goto CFG_40770; } else { goto CFG_47059; } CFG_47059: assume true; call local_#20708 := routine_#33797_luaK_jump(local_#5705_fs); goto CFG_40769; CFG_40769: assume true; local_#30750 := local_#20708; goto CFG_43408; CFG_40770: assume true; local_#30750 := -1; goto CFG_43408; CFG_43408: assume true; local_#32209_fj := local_#30750; local_#20709 := 0; local_#20710 := 1; goto CFG_47060; CFG_47060: assume true; call local_#20711 := routine_#34651_code_loadbool(local_#5705_fs,local_#5707_reg,local_#20709,local_#20710); goto CFG_43409; CFG_43409: assume true; local_#32207_p_f := local_#20711; local_#20712 := 1; local_#20713 := 0; goto CFG_47061; CFG_47061: assume true; call local_#20714 := routine_#34651_code_loadbool(local_#5705_fs,local_#5707_reg,local_#20712,local_#20713); goto CFG_43410; CFG_43410: assume true; local_#32208_p_t := local_#20714; goto CFG_47062; CFG_47062: assume true; call routine_#33801_luaK_patchtohere(local_#5705_fs,local_#32209_fj); goto CFG_40771; CFG_40771: assume true; goto CFG_47063; CFG_47063: assume true; call local_#20715 := routine_#33791_luaK_getlabel(local_#5705_fs); goto CFG_43411; CFG_43411: assume true; local_#32206_final := local_#20715; local_#20716 := _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 20 }]; goto CFG_47064; CFG_47064: assume true; call routine_#34989_patchlistaux(local_#5705_fs,local_#20716,local_#32206_final,local_#5707_reg,local_#32207_p_f); goto CFG_43412; CFG_43412: assume true; local_#20717 := _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 16 }]; goto CFG_47065; CFG_47065: assume true; call routine_#34989_patchlistaux(local_#5705_fs,local_#20717,local_#32206_final,local_#5707_reg,local_#32208_p_t); goto CFG_40772; CFG_40772: assume true; goto CFG_39313; CFG_39313: assume true; _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 16 }] := -1; _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 20 }] := _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 16 }]; local_#20718 := { base : local_#5706_e!base, offset : local_#5706_e!offset + 8 }; _memory[local_#20718] := local_#5707_reg; _memory[{ base : local_#5706_e!base, offset : local_#5706_e!offset + 0 }] := 7; goto CFG_37618; CFG_37618: assume true; } procedure routine_#34720_explist(local_#5708_ls_IN : { base : int, offset : int }, local_#5709_v_IN : { base : int, offset : int }) returns (local_#8019 : int) modifies _memory, _memory_ptr, _valid; { var local_#5708_ls : { base : int, offset : int }; var local_#5709_v : { base : int, offset : int }; var local_#32210_n : int; var local_#20719 : int; var local_#20720 : int; var local_#20721 : int; var local_#20722 : { base : int, offset : int }; var local_#20723 : int; var local_#20724 : int; var local_#20725 : int; local_#5708_ls := local_#5708_ls_IN; local_#5709_v := local_#5709_v_IN; goto CFG_36708; CFG_36708: assume true; goto CFG_43413; CFG_43413: assume true; local_#32210_n := 1; goto CFG_47066; CFG_47066: assume true; call routine_#34721_expr(local_#5708_ls,local_#5709_v); goto CFG_41738; CFG_41738: assume true; goto CFG_43414; CFG_43414: assume true; local_#20719 := 44; goto CFG_47067; CFG_47067: assume true; call local_#20720 := routine_#35112_testnext(local_#5708_ls,local_#20719); goto CFG_50376; CFG_50376: assume true; local_#20721 := local_#20720; if (local_#20721 != 0) { goto CFG_43415; } else { goto CFG_38478; } CFG_38478: assume true; local_#8019 := local_#32210_n; goto CFG_37619; CFG_43415: assume true; local_#20722 := _memory_ptr[{ base : local_#5708_ls!base, offset : local_#5708_ls!offset + 48 }]; goto CFG_47068; CFG_47068: assume true; call routine_#33788_luaK_exp2nextreg(local_#20722,local_#5709_v); goto CFG_47069; CFG_47069: assume true; call routine_#34721_expr(local_#5708_ls,local_#5709_v); goto CFG_45079; CFG_45079: assume true; local_#20723 := local_#32210_n; local_#20724 := 1; local_#32210_n := local_#20723 + local_#20724; assert { :LIR "66623" } { :check "overflow" } { :finding_ids "0" } local_#32210_n <= 2147483647; local_#20725 := local_#20723; goto CFG_43414; CFG_37619: assume true; } procedure routine_#34721_expr(local_#5710_ls_IN : { base : int, offset : int }, local_#5711_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5710_ls : { base : int, offset : int }; var local_#5711_v : { base : int, offset : int }; var local_#20726 : int; var local_#20727 : int; local_#5710_ls := local_#5710_ls_IN; local_#5711_v := local_#5711_v_IN; goto CFG_36709; CFG_36709: assume true; goto CFG_43416; CFG_43416: assume true; local_#20726 := 0; goto CFG_47070; CFG_47070: assume true; call local_#20727 := routine_#35101_subexpr(local_#5710_ls,local_#5711_v,local_#20726); goto CFG_39314; CFG_39314: assume true; goto CFG_37620; CFG_37620: assume true; } procedure routine_#34722_exprstat(local_#5712_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5712_ls : { base : int, offset : int }; var local_#32211_fs : { base : int, offset : int }; var local_#32212_v : { base : int, offset : int }; var local_#20728 : { base : int, offset : int }; var local_#20729 : int; var local_#20730 : int; var local_#20731 : int; var local_#20732 : int; var local_#20733 : int; var local_#20734 : int; var local_#20735 : int; var local_#20736 : int; var local_#20737 : { base : int, offset : int }; var local_#20738 : { base : int, offset : int }; var local_#20739 : { base : int, offset : int }; var local_#20740 : int; var local_#20741 : int; var local_#20742 : int; var local_#20743 : int; var local_#20744 : { base : int, offset : int }; var local_#20745 : { base : int, offset : int }; var local_#20746 : { base : int, offset : int }; var local_#20747 : { base : int, offset : int }; var local_#20748 : { base : int, offset : int }; var local_#20749 : { base : int, offset : int }; var local_#20750 : int; local_#5712_ls := local_#5712_ls_IN; goto CFG_36710; CFG_36710: assume true; goto CFG_43417; CFG_43417: assume true; local_#32211_fs := _memory_ptr[{ base : local_#5712_ls!base, offset : local_#5712_ls!offset + 48 }]; local_#20728 := { base : local_#32212_v!base, offset : local_#32212_v!offset + 8 }; goto CFG_47071; CFG_47071: assume true; call routine_#35102_suffixedexp(local_#5712_ls,local_#20728); goto CFG_50377; CFG_50377: assume true; local_#20729 := 61; local_#20730 := (if _memory[{ base : local_#5712_ls!base, offset : local_#5712_ls!offset + 16 }] == local_#20729 then 1 else 0); if (local_#20730 != 0) { goto CFG_43419; } else { goto CFG_50378; } CFG_50378: assume true; local_#20731 := 44; local_#20732 := (if _memory[{ base : local_#5712_ls!base, offset : local_#5712_ls!offset + 16 }] == local_#20731 then 1 else 0); if (local_#20732 != 0) { goto CFG_43419; } else { goto CFG_50379; } CFG_50379: assume true; local_#20733 := ~uwrap32(_memory[{ base : local_#32212_v!base, offset : local_#32212_v!offset + 8 }]); assert { :LIR "63172" } { :check "overflow" } { :finding_ids "0" } true; local_#20734 := 13; local_#20735 := (if local_#20733 == local_#20734 then 1 else 0); local_#20736 := (if local_#20735 != 0 then 0 else 1); if (local_#20736 != 0) { goto CFG_43418; } else { goto CFG_40773; } CFG_40773: assume true; local_#20737 := _memory_ptr[{ base : local_#32211_fs!base, offset : local_#32211_fs!offset + 0 }]; local_#20738 := { base : local_#32212_v!base, offset : local_#32212_v!offset + 16 }; local_#20739 := { base : _memory_ptr[{ base : local_#20737!base, offset : local_#20737!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#20737!base, offset : local_#20737!offset + 56 }]!offset + _memory[local_#20738] * 4 }; local_#20740 := 4286595071; local_#20741 := ~uand32(_memory[local_#20739], local_#20740); local_#20742 := 16384; local_#20743 := ~uor32(local_#20741, local_#20742); local_#20744 := _memory_ptr[{ base : local_#32211_fs!base, offset : local_#32211_fs!offset + 0 }]; local_#20745 := { base : local_#32212_v!base, offset : local_#32212_v!offset + 16 }; local_#20746 := { base : _memory_ptr[{ base : local_#20744!base, offset : local_#20744!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#20744!base, offset : local_#20744!offset + 56 }]!offset + _memory[local_#20745] * 4 }; _memory[local_#20746] := local_#20743; goto CFG_39315; CFG_43418: assume true; assume _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 0 }] == 115 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 1 }] == 121 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 2 }] == 110 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 3 }] == 116 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 4 }] == 97 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 5 }] == 120 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 6 }] == 32 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 7 }] == 101 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 8 }] == 114 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 9 }] == 114 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 10 }] == 111 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 11 }] == 114 && _memory[{ base : strlit_#70444!base, offset : strlit_#70444!offset + 12 }] == 0; local_#20747 := strlit_#70444; local_#20748 := { base : local_#20747!base, offset : local_#20747!offset + 0 * 1 }; assert { :LIR "63173" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47072; CFG_47072: assume true; call routine_#33910_luaX_syntaxerror(local_#5712_ls,local_#20748); CFG_43419: assume true; _memory_ptr[{ base : local_#32212_v!base, offset : local_#32212_v!offset + 0 }] := { base : 0, offset : 0 }; local_#20749 := local_#32212_v; local_#20750 := 1; goto CFG_47073; CFG_47073: assume true; call routine_#34584_assignment(local_#5712_ls,local_#20749,local_#20750); goto CFG_40774; CFG_40774: assume true; goto CFG_39315; CFG_39315: assume true; goto CFG_37621; CFG_37621: assume true; } procedure routine_#34723_f_call(local_#5713_L_IN : { base : int, offset : int }, local_#5714_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5713_L : { base : int, offset : int }; var local_#5714_ud : { base : int, offset : int }; var local_#20751 : { base : int, offset : int }; var local_#32213_c : { base : int, offset : int }; var local_#20752 : { base : int, offset : int }; var local_#20753 : int; local_#5713_L := local_#5713_L_IN; local_#5714_ud := local_#5714_ud_IN; goto CFG_36711; CFG_36711: assume true; goto CFG_43420; CFG_43420: assume true; local_#20751 := local_#5714_ud; assert { :LIR "61503" } { :check "overflow" } { :finding_ids "0" } true; local_#32213_c := local_#20751; local_#20752 := _memory_ptr[{ base : local_#32213_c!base, offset : local_#32213_c!offset + 0 }]; local_#20753 := _memory[{ base : local_#32213_c!base, offset : local_#32213_c!offset + 8 }]; goto CFG_47074; CFG_47074: assume true; call routine_#33732_luaD_callnoyield(local_#5713_L,local_#20752,local_#20753); goto CFG_39316; CFG_39316: assume true; goto CFG_37622; CFG_37622: assume true; } procedure routine_#34724_f_close(local_#5715_L_IN : { base : int, offset : int }) returns (local_#8020 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#5715_L : { base : int, offset : int }; var local_#20754 : { base : int, offset : int }; var local_#20755 : int; local_#5715_L := local_#5715_L_IN; goto CFG_36712; CFG_36712: assume true; goto CFG_47075; CFG_47075: assume true; call local_#20754 := routine_#35115_tofile(local_#5715_L); goto CFG_47076; CFG_47076: assume true; call local_#20755 := routine_#34586_aux_close(local_#5715_L); goto CFG_38479; CFG_38479: assume true; local_#8020 := local_#20755; goto CFG_37623; CFG_37623: assume true; } procedure routine_#34725_f_flush(local_#5716_L_IN : { base : int, offset : int }) returns (local_#8021 : int) modifies _memory, _memory_ptr, _valid; { var local_#5716_L : { base : int, offset : int }; var local_#20756 : { base : int, offset : int }; var local_#20757 : int; var local_#20758 : int; var local_#20759 : int; var local_#20760 : { base : int, offset : int }; var local_#20761 : int; local_#5716_L := local_#5716_L_IN; goto CFG_36713; CFG_36713: assume true; goto CFG_47077; CFG_47077: assume true; call local_#20756 := routine_#35115_tofile(local_#5716_L); goto CFG_47078; CFG_47078: assume true; call local_#20757 := routine_#33556_fflush(local_#20756); goto CFG_43421; CFG_43421: assume true; local_#20758 := 0; local_#20759 := (if local_#20757 == local_#20758 then 1 else 0); local_#20760 := { base : 0, offset : 0 }; goto CFG_47079; CFG_47079: assume true; call local_#20761 := routine_#33830_luaL_fileresult(local_#5716_L,local_#20759,local_#20760); goto CFG_38480; CFG_38480: assume true; local_#8021 := local_#20761; goto CFG_37624; CFG_37624: assume true; } procedure routine_#34726_f_gc(local_#5717_L_IN : { base : int, offset : int }) returns (local_#8022 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#5717_L : { base : int, offset : int }; var local_#20762 : int; var local_#20763 : { base : int, offset : int }; var local_#20764 : { base : int, offset : int }; var local_#20765 : { base : int, offset : int }; var local_#20766 : { base : int, offset : int }; var local_#32214_p : { base : int, offset : int }; var local_#20767 : { base : int, offset : int }; var local_#20768 : int; var local_#20769 : int; var local_#20770 : { base : int, offset : int }; var local_#20771 : int; var local_#20772 : int; local_#5717_L := local_#5717_L_IN; goto CFG_36714; CFG_36714: assume true; goto CFG_43422; CFG_43422: assume true; local_#20762 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#20763 := strlit_#70446; local_#20764 := { base : local_#20763!base, offset : local_#20763!offset + 0 * 1 }; assert { :LIR "63174" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47080; CFG_47080: assume true; call local_#20765 := routine_#33826_luaL_checkudata(local_#5717_L,local_#20762,local_#20764); goto CFG_50380; CFG_50380: assume true; local_#20766 := local_#20765; assert { :LIR "61504" } { :check "overflow" } { :finding_ids "0" } true; local_#32214_p := local_#20766; local_#20767 := { base : 0, offset : 0 }; local_#20768 := (if _memory_ptr[{ base : local_#32214_p!base, offset : local_#32214_p!offset + 8 }] == local_#20767 then 1 else 0); local_#20769 := (if local_#20768 != 0 then 0 else 1); if (local_#20769 != 0) { goto CFG_50381; } else { goto CFG_38481; } CFG_50381: assume true; local_#20770 := { base : 0, offset : 0 }; local_#20771 := (if _memory_ptr[{ base : local_#32214_p!base, offset : local_#32214_p!offset + 0 }] != local_#20770 then 1 else 0); if (local_#20771 != 0) { goto CFG_47081; } else { goto CFG_38481; } CFG_47081: assume true; call local_#20772 := routine_#34586_aux_close(local_#5717_L); goto CFG_40775; CFG_40775: assume true; goto CFG_38481; CFG_38481: assume true; local_#8022 := 0; goto CFG_37625; CFG_37625: assume true; } procedure routine_#34727_f_lines(local_#5718_L_IN : { base : int, offset : int }) returns (local_#8023 : int) modifies _memory, _memory_ptr, _valid; { var local_#5718_L : { base : int, offset : int }; var local_#20773 : { base : int, offset : int }; var local_#20774 : int; local_#5718_L := local_#5718_L_IN; goto CFG_36715; CFG_36715: assume true; goto CFG_47082; CFG_47082: assume true; call local_#20773 := routine_#35115_tofile(local_#5718_L); goto CFG_43423; CFG_43423: assume true; local_#20774 := 0; goto CFG_47083; CFG_47083: assume true; call routine_#34587_aux_lines(local_#5718_L,local_#20774); goto CFG_38482; CFG_38482: assume true; local_#8023 := 1; goto CFG_37626; CFG_37626: assume true; } procedure routine_#34728_f_luaopen(local_#5719_L_IN : { base : int, offset : int }, local_#5720_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5719_L : { base : int, offset : int }; var local_#5720_ud : { base : int, offset : int }; var local_#32215_g : { base : int, offset : int }; var local_#20775 : int; var local_#20776 : { base : int, offset : int }; var local_#20777 : { base : int, offset : int }; var local_#20778 : int; local_#5719_L := local_#5719_L_IN; local_#5720_ud := local_#5720_ud_IN; goto CFG_36716; CFG_36716: assume true; goto CFG_43424; CFG_43424: assume true; local_#32215_g := _memory_ptr[{ base : local_#5719_L!base, offset : local_#5719_L!offset + 24 }]; local_#20775 := 0; assert { :LIR "61505" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47084; CFG_47084: assume true; call routine_#35077_stack_init(local_#5719_L,local_#5719_L); goto CFG_47085; CFG_47085: assume true; call routine_#34813_init_registry(local_#5719_L,local_#32215_g); goto CFG_47086; CFG_47086: assume true; call routine_#33875_luaS_init(local_#5719_L); goto CFG_47087; CFG_47087: assume true; call routine_#33886_luaT_init(local_#5719_L); goto CFG_47088; CFG_47088: assume true; call routine_#33905_luaX_init(local_#5719_L); goto CFG_43425; CFG_43425: assume true; _memory[{ base : local_#32215_g!base, offset : local_#32215_g!offset + 87 }] := 1; local_#20776 := { base : 0, offset : 0 }; goto CFG_47089; CFG_47089: assume true; call local_#20777 := routine_#34004_lua_version(local_#20776); goto CFG_39317; CFG_39317: assume true; _memory_ptr[{ base : local_#32215_g!base, offset : local_#32215_g!offset + 208 }] := local_#20777; local_#20778 := 0; assert { :LIR "61506" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37627; CFG_37627: assume true; } procedure routine_#34729_f_parser(local_#5721_L_IN : { base : int, offset : int }, local_#5722_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5721_L : { base : int, offset : int }; var local_#5722_ud : { base : int, offset : int }; var local_#20779 : { base : int, offset : int }; var local_#32218_p : { base : int, offset : int }; var local_#20780 : { base : int, offset : int }; var local_#20781 : int; var local_#20782 : int; var local_#20783 : int; var local_#20784 : int; var local_#20785 : { base : int, offset : int }; var local_#20786 : int; var local_#30751 : int; var local_#20787 : { base : int, offset : int }; var local_#20788 : { base : int, offset : int }; var local_#20789 : int; var local_#20790 : int; var local_#20791 : int; var local_#32216_c : int; var local_#20792 : { base : int, offset : int }; var local_#20793 : int; var local_#20794 : int; var local_#20795 : { base : int, offset : int }; var local_#20796 : { base : int, offset : int }; var local_#20797 : { base : int, offset : int }; var local_#20798 : { base : int, offset : int }; var local_#20799 : { base : int, offset : int }; var local_#20800 : { base : int, offset : int }; var local_#20801 : { base : int, offset : int }; var local_#20802 : { base : int, offset : int }; var local_#32217_cl : { base : int, offset : int }; var local_#20803 : { base : int, offset : int }; var local_#20804 : { base : int, offset : int }; var local_#20805 : { base : int, offset : int }; var local_#20806 : { base : int, offset : int }; var local_#20807 : { base : int, offset : int }; var local_#20808 : { base : int, offset : int }; var local_#20809 : int; var local_#20810 : int; local_#5721_L := local_#5721_L_IN; local_#5722_ud := local_#5722_ud_IN; goto CFG_36717; CFG_36717: assume true; goto CFG_50382; CFG_50382: assume true; local_#20779 := local_#5722_ud; assert { :LIR "61507" } { :check "overflow" } { :finding_ids "0" } true; local_#32218_p := local_#20779; local_#20780 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 0 }]; local_#20781 := _memory[{ base : local_#20780!base, offset : local_#20780!offset + 0 }]; local_#20782 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#20780!base, offset : local_#20780!offset + 0 }] := ~uwrap64(local_#20781 - local_#20782); assert { :LIR "68033" } { :check "overflow" } { :finding_ids "0" } true; local_#20783 := 0; local_#20784 := (if local_#20781 > local_#20783 then 1 else 0); if (local_#20784 != 0) { goto CFG_40777; } else { goto CFG_43426; } CFG_43426: assume true; local_#20785 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 0 }]; goto CFG_47090; CFG_47090: assume true; call local_#20786 := routine_#33913_luaZ_fill(local_#20785); goto CFG_40776; CFG_40776: assume true; local_#30751 := local_#20786; goto CFG_50383; CFG_40777: assume true; local_#20787 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 0 }]; local_#20788 := _memory_ptr[{ base : local_#20787!base, offset : local_#20787!offset + 8 }]; local_#20789 := 1; _memory_ptr[{ base : local_#20787!base, offset : local_#20787!offset + 8 }] := { base : local_#20788!base, offset : local_#20788!offset + local_#20789 * 1 }; local_#20790 := ~uwrap8(_memory[local_#20788]); assert { :LIR "61508" } { :check "overflow" } { :finding_ids "0" } true; local_#20791 := local_#20790; assert { :LIR "63175" } { :check "overflow" } { :finding_ids "0" } local_#20791 <= 2147483647; local_#30751 := local_#20791; goto CFG_50383; CFG_50383: assume true; local_#32216_c := local_#30751; assume _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 0 }] == 27 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 1 }] == 76 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 2 }] == 117 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 3 }] == 97 && _memory[{ base : strlit_#70326!base, offset : strlit_#70326!offset + 4 }] == 0; local_#20792 := strlit_#70326; local_#20793 := _memory[{ base : local_#20792!base, offset : local_#20792!offset + 0 * 1 }]; assert { :LIR "63176" } { :check "overflow" } { :finding_ids "0" } local_#20793 <= 2147483647; local_#20794 := (if local_#32216_c == local_#20793 then 1 else 0); if (local_#20794 != 0) { goto CFG_43429; } else { goto CFG_43427; } CFG_43427: assume true; local_#20795 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 80 }]; assume _memory[{ base : strlit_#70545!base, offset : strlit_#70545!offset + 0 }] == 116 && _memory[{ base : strlit_#70545!base, offset : strlit_#70545!offset + 1 }] == 101 && _memory[{ base : strlit_#70545!base, offset : strlit_#70545!offset + 2 }] == 120 && _memory[{ base : strlit_#70545!base, offset : strlit_#70545!offset + 3 }] == 116 && _memory[{ base : strlit_#70545!base, offset : strlit_#70545!offset + 4 }] == 0; local_#20796 := strlit_#70545; local_#20797 := { base : local_#20796!base, offset : local_#20796!offset + 0 * 1 }; assert { :LIR "63177" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47091; CFG_47091: assume true; call routine_#34635_checkmode(local_#5721_L,local_#20795,local_#20797); goto CFG_43428; CFG_43428: assume true; local_#20798 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 0 }]; local_#20799 := { base : local_#32218_p!base, offset : local_#32218_p!offset + 8 }; local_#20800 := { base : local_#32218_p!base, offset : local_#32218_p!offset + 32 }; local_#20801 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 88 }]; goto CFG_47092; CFG_47092: assume true; call local_#20802 := routine_#33912_luaY_parser(local_#5721_L,local_#20798,local_#20799,local_#20800,local_#20801,local_#32216_c); goto CFG_40778; CFG_40778: assume true; local_#32217_cl := local_#20802; goto CFG_43431; CFG_43429: assume true; local_#20803 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 80 }]; assume _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 0 }] == 98 && _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 1 }] == 105 && _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 2 }] == 110 && _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 3 }] == 97 && _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 4 }] == 114 && _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 5 }] == 121 && _memory[{ base : strlit_#70546!base, offset : strlit_#70546!offset + 6 }] == 0; local_#20804 := strlit_#70546; local_#20805 := { base : local_#20804!base, offset : local_#20804!offset + 0 * 1 }; assert { :LIR "63178" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47093; CFG_47093: assume true; call routine_#34635_checkmode(local_#5721_L,local_#20803,local_#20805); goto CFG_43430; CFG_43430: assume true; local_#20806 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 0 }]; local_#20807 := _memory_ptr[{ base : local_#32218_p!base, offset : local_#32218_p!offset + 88 }]; goto CFG_47094; CFG_47094: assume true; call local_#20808 := routine_#33890_luaU_undump(local_#5721_L,local_#20806,local_#20807); goto CFG_40779; CFG_40779: assume true; local_#32217_cl := local_#20808; goto CFG_43431; CFG_43431: assume true; local_#20809 := 0; local_#20810 := 0; assert { :LIR "61509" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47095; CFG_47095: assume true; call routine_#33753_luaF_initupvals(local_#5721_L,local_#32217_cl); goto CFG_39318; CFG_39318: assume true; goto CFG_37628; CFG_37628: assume true; } procedure routine_#34730_f_read(local_#5723_L_IN : { base : int, offset : int }) returns (local_#8024 : int) modifies _memory, _memory_ptr, _valid; { var local_#5723_L : { base : int, offset : int }; var local_#20811 : { base : int, offset : int }; var local_#20812 : int; var local_#20813 : int; local_#5723_L := local_#5723_L_IN; goto CFG_36718; CFG_36718: assume true; goto CFG_47096; CFG_47096: assume true; call local_#20811 := routine_#35115_tofile(local_#5723_L); goto CFG_43432; CFG_43432: assume true; local_#20812 := 2; goto CFG_47097; CFG_47097: assume true; call local_#20813 := routine_#34771_g_read(local_#5723_L,local_#20811,local_#20812); goto CFG_38483; CFG_38483: assume true; local_#8024 := local_#20813; goto CFG_37629; CFG_37629: assume true; } procedure routine_#34731_f_seek(local_#5724_L_IN : { base : int, offset : int }) returns (local_#8025 : int) modifies _memory, _memory_ptr, _valid; { var local_#5724_L : { base : int, offset : int }; var local_#20814 : { base : int, offset : int }; var local_#32219_f : { base : int, offset : int }; var local_#20815 : int; var local_#20816 : { base : int, offset : int }; var local_#20817 : { base : int, offset : int }; var local_#20818 : { base : int, offset : int }; var local_#20819 : int; var local_#32221_op : int; var local_#20820 : int; var local_#20821 : int; var local_#20822 : int; var local_#32222_p3 : int; var local_#20823 : int; var local_#32220_offset : int; var local_#20824 : int; var local_#20825 : int; var local_#20826 : int; var local_#20827 : { base : int, offset : int }; var local_#20828 : { base : int, offset : int }; var local_#20829 : int; var local_#20830 : int; var local_#30752 : int; var local_#20831 : int; var local_#20832 : int; var local_#20833 : int; var local_#20834 : int; var local_#20835 : int; var local_#20836 : int; var local_#20837 : int; var local_#20838 : { base : int, offset : int }; var local_#20839 : int; local_#5724_L := local_#5724_L_IN; goto CFG_36719; CFG_36719: assume true; goto CFG_47098; CFG_47098: assume true; call local_#20814 := routine_#35115_tofile(local_#5724_L); goto CFG_43433; CFG_43433: assume true; local_#32219_f := local_#20814; local_#20815 := 2; assume _memory[{ base : strlit_#70547!base, offset : strlit_#70547!offset + 0 }] == 99 && _memory[{ base : strlit_#70547!base, offset : strlit_#70547!offset + 1 }] == 117 && _memory[{ base : strlit_#70547!base, offset : strlit_#70547!offset + 2 }] == 114 && _memory[{ base : strlit_#70547!base, offset : strlit_#70547!offset + 3 }] == 0; local_#20816 := strlit_#70547; local_#20817 := { base : local_#20816!base, offset : local_#20816!offset + 0 * 1 }; assert { :LIR "63179" } { :check "overflow" } { :finding_ids "0" } true; local_#20818 := { base : global_#31162_modenames!base, offset : global_#31162_modenames!offset + 0 * 8 }; goto CFG_47099; CFG_47099: assume true; call local_#20819 := routine_#33823_luaL_checkoption(local_#5724_L,local_#20815,local_#20817,local_#20818); goto CFG_43434; CFG_43434: assume true; local_#32221_op := local_#20819; local_#20820 := 3; local_#20821 := 0; goto CFG_47100; CFG_47100: assume true; call local_#20822 := routine_#33841_luaL_optinteger(local_#5724_L,local_#20820,local_#20821); goto CFG_50384; CFG_50384: assume true; local_#32222_p3 := local_#20822; local_#20823 := local_#32222_p3; assert { :LIR "61510" } { :check "overflow" } { :finding_ids "0" } local_#20823 <= 9223372036854775807; local_#32220_offset := local_#20823; local_#20824 := local_#32220_offset; assert { :LIR "61511" } { :check "overflow" } { :finding_ids "0" } local_#20824 <= 9223372036854775807; local_#20825 := (if local_#20824 == local_#32222_p3 then 1 else 0); if (local_#20825 != 0) { goto CFG_40781; } else { goto CFG_43435; } CFG_43435: assume true; local_#20826 := 3; assume _memory[{ base : strlit_#70548!base, offset : strlit_#70548!offset + 30 }] == 0; local_#20827 := strlit_#70548; local_#20828 := { base : local_#20827!base, offset : local_#20827!offset + 0 * 1 }; assert { :LIR "63180" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47101; CFG_47101: assume true; call local_#20829 := routine_#33815_luaL_argerror(local_#5724_L,local_#20826,local_#20828); goto CFG_50385; CFG_50385: assume true; local_#20830 := local_#20829; if (local_#20830 != 0) { goto CFG_40781; } else { goto CFG_40780; } CFG_40780: assume true; local_#30752 := 0; goto CFG_43436; CFG_40781: assume true; local_#30752 := 1; goto CFG_43436; CFG_43436: assume true; local_#20831 := 0; assert { :LIR "61512" } { :check "overflow" } { :finding_ids "0" } true; local_#20832 := _memory[{ base : global_#31161_mode!base, offset : global_#31161_mode!offset + local_#32221_op * 4 }]; goto CFG_47102; CFG_47102: assume true; call local_#20833 := routine_#33592_fseeko(local_#32219_f,local_#32220_offset,local_#20832); goto CFG_50386; CFG_50386: assume true; local_#32221_op := local_#20833; local_#20834 := local_#32221_op; if (local_#20834 != 0) { goto CFG_43438; } else { goto CFG_47103; } CFG_47103: assume true; call local_#20835 := routine_#33596_ftello(local_#32219_f); goto CFG_43437; CFG_43437: assume true; local_#20836 := local_#20835; assert { :LIR "61513" } { :check "overflow" } { :finding_ids "0" } local_#20836 <= 9223372036854775807; goto CFG_47104; CFG_47104: assume true; call routine_#33960_lua_pushinteger(local_#5724_L,local_#20836); goto CFG_38484; CFG_38484: assume true; local_#8025 := 1; goto CFG_37630; CFG_43438: assume true; local_#20837 := 0; local_#20838 := { base : 0, offset : 0 }; goto CFG_47105; CFG_47105: assume true; call local_#20839 := routine_#33830_luaL_fileresult(local_#5724_L,local_#20837,local_#20838); goto CFG_38485; CFG_38485: assume true; local_#8025 := local_#20839; goto CFG_37630; CFG_37630: assume true; } procedure routine_#34732_f_setvbuf(local_#5725_L_IN : { base : int, offset : int }) returns (local_#8026 : int) modifies _memory, _memory_ptr, _valid; { var local_#5725_L : { base : int, offset : int }; var local_#20840 : { base : int, offset : int }; var local_#32223_f : { base : int, offset : int }; var local_#20841 : int; var local_#20842 : { base : int, offset : int }; var local_#20843 : { base : int, offset : int }; var local_#20844 : int; var local_#32224_op : int; var local_#20845 : int; var local_#20846 : int; var local_#20847 : int; var local_#32226_sz : int; var local_#20848 : { base : int, offset : int }; var local_#20849 : int; var local_#20850 : int; var local_#20851 : int; var local_#32225_res : int; var local_#20852 : int; var local_#20853 : int; var local_#20854 : { base : int, offset : int }; var local_#20855 : int; local_#5725_L := local_#5725_L_IN; goto CFG_36720; CFG_36720: assume true; goto CFG_47106; CFG_47106: assume true; call local_#20840 := routine_#35115_tofile(local_#5725_L); goto CFG_43439; CFG_43439: assume true; local_#32223_f := local_#20840; local_#20841 := 2; local_#20842 := { base : 0, offset : 0 }; local_#20843 := { base : global_#31164_modenames!base, offset : global_#31164_modenames!offset + 0 * 8 }; goto CFG_47107; CFG_47107: assume true; call local_#20844 := routine_#33823_luaL_checkoption(local_#5725_L,local_#20841,local_#20842,local_#20843); goto CFG_43440; CFG_43440: assume true; local_#32224_op := local_#20844; local_#20845 := 3; local_#20846 := 8192; goto CFG_47108; CFG_47108: assume true; call local_#20847 := routine_#33841_luaL_optinteger(local_#5725_L,local_#20845,local_#20846); goto CFG_43441; CFG_43441: assume true; local_#32226_sz := local_#20847; local_#20848 := { base : 0, offset : 0 }; local_#20849 := _memory[{ base : global_#31163_mode!base, offset : global_#31163_mode!offset + local_#32224_op * 4 }]; local_#20850 := ~uwrap64(local_#32226_sz); assert { :LIR "61514" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47109; CFG_47109: assume true; call local_#20851 := routine_#34404_setvbuf(local_#32223_f,local_#20848,local_#20849,local_#20850); goto CFG_43442; CFG_43442: assume true; local_#32225_res := local_#20851; local_#20852 := 0; local_#20853 := (if local_#32225_res == local_#20852 then 1 else 0); local_#20854 := { base : 0, offset : 0 }; goto CFG_47110; CFG_47110: assume true; call local_#20855 := routine_#33830_luaL_fileresult(local_#5725_L,local_#20853,local_#20854); goto CFG_38486; CFG_38486: assume true; local_#8026 := local_#20855; goto CFG_37631; CFG_37631: assume true; } procedure routine_#34733_f_tostring(local_#5726_L_IN : { base : int, offset : int }) returns (local_#8027 : int) modifies _memory, _memory_ptr, _valid; { var local_#5726_L : { base : int, offset : int }; var local_#20856 : int; var local_#20857 : { base : int, offset : int }; var local_#20858 : { base : int, offset : int }; var local_#20859 : { base : int, offset : int }; var local_#20860 : { base : int, offset : int }; var local_#32227_p : { base : int, offset : int }; var local_#20861 : { base : int, offset : int }; var local_#20862 : int; var local_#20863 : { base : int, offset : int }; var local_#20864 : { base : int, offset : int }; var local_#20865 : { base : int, offset : int }; var local_#20866 : { base : int, offset : int }; var local_#20867 : { base : int, offset : int }; var local_#20868 : { base : int, offset : int }; var local_#20869 : { base : int, offset : int }; local_#5726_L := local_#5726_L_IN; goto CFG_36721; CFG_36721: assume true; goto CFG_43443; CFG_43443: assume true; local_#20856 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#20857 := strlit_#70446; local_#20858 := { base : local_#20857!base, offset : local_#20857!offset + 0 * 1 }; assert { :LIR "63181" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47111; CFG_47111: assume true; call local_#20859 := routine_#33826_luaL_checkudata(local_#5726_L,local_#20856,local_#20858); goto CFG_50387; CFG_50387: assume true; local_#20860 := local_#20859; assert { :LIR "61515" } { :check "overflow" } { :finding_ids "0" } true; local_#32227_p := local_#20860; local_#20861 := { base : 0, offset : 0 }; local_#20862 := (if _memory_ptr[{ base : local_#32227_p!base, offset : local_#32227_p!offset + 8 }] == local_#20861 then 1 else 0); if (local_#20862 != 0) { goto CFG_43445; } else { goto CFG_43444; } CFG_43444: assume true; assume _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 0 }] == 102 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 1 }] == 105 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 2 }] == 108 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 3 }] == 101 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 4 }] == 32 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 5 }] == 40 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 6 }] == 37 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 7 }] == 112 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 8 }] == 41 && _memory[{ base : strlit_#70550!base, offset : strlit_#70550!offset + 9 }] == 0; local_#20863 := strlit_#70550; local_#20864 := { base : local_#20863!base, offset : local_#20863!offset + 0 * 1 }; assert { :LIR "63182" } { :check "overflow" } { :finding_ids "0" } true; local_#20865 := _memory_ptr[{ base : local_#32227_p!base, offset : local_#32227_p!offset + 0 }]; goto CFG_47112; CFG_47112: assume true; call local_#20866 := routine_#33959_lua_pushfstring(local_#5726_L,local_#20864,{ base : 0, offset : 0 }); goto CFG_40782; CFG_40782: assume true; goto CFG_38487; CFG_43445: assume true; assume _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 0 }] == 102 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 1 }] == 105 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 2 }] == 108 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 3 }] == 101 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 4 }] == 32 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 5 }] == 40 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 6 }] == 99 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 7 }] == 108 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 8 }] == 111 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 9 }] == 115 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 10 }] == 101 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 11 }] == 100 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 12 }] == 41 && _memory[{ base : strlit_#70551!base, offset : strlit_#70551!offset + 13 }] == 0; local_#20867 := strlit_#70551; local_#20868 := { base : local_#20867!base, offset : local_#20867!offset + 0 * 1 }; assert { :LIR "63183" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47113; CFG_47113: assume true; call local_#20869 := routine_#33965_lua_pushstring(local_#5726_L,local_#20868); goto CFG_40783; CFG_40783: assume true; goto CFG_38487; CFG_38487: assume true; local_#8027 := 1; goto CFG_37632; CFG_37632: assume true; } procedure routine_#34734_f_write(local_#5727_L_IN : { base : int, offset : int }) returns (local_#8028 : int) modifies _memory, _memory_ptr, _valid; { var local_#5727_L : { base : int, offset : int }; var local_#20870 : { base : int, offset : int }; var local_#32228_f : { base : int, offset : int }; var local_#20871 : int; var local_#20872 : int; var local_#20873 : int; local_#5727_L := local_#5727_L_IN; goto CFG_36722; CFG_36722: assume true; goto CFG_47114; CFG_47114: assume true; call local_#20870 := routine_#35115_tofile(local_#5727_L); goto CFG_43446; CFG_43446: assume true; local_#32228_f := local_#20870; local_#20871 := 1; goto CFG_47115; CFG_47115: assume true; call routine_#33967_lua_pushvalue(local_#5727_L,local_#20871); goto CFG_43447; CFG_43447: assume true; local_#20872 := 2; goto CFG_47116; CFG_47116: assume true; call local_#20873 := routine_#34772_g_write(local_#5727_L,local_#32228_f,local_#20872); goto CFG_38488; CFG_38488: assume true; local_#8028 := local_#20873; goto CFG_37633; CFG_37633: assume true; } procedure routine_#34735_fchecksize(local_#5728_S_IN : { base : int, offset : int }, local_#5729_size_IN : int, local_#5730_tname_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5728_S : { base : int, offset : int }; var local_#5729_size : int; var local_#5730_tname : { base : int, offset : int }; var local_#20874 : int; var local_#20875 : int; var local_#20876 : int; var local_#20877 : { base : int, offset : int }; var local_#20878 : { base : int, offset : int }; var local_#20879 : { base : int, offset : int }; var local_#20880 : { base : int, offset : int }; local_#5728_S := local_#5728_S_IN; local_#5729_size := local_#5729_size_IN; local_#5730_tname := local_#5730_tname_IN; goto CFG_36723; CFG_36723: assume true; goto CFG_47117; CFG_47117: assume true; call local_#20874 := routine_#34558_LoadByte(local_#5728_S); goto CFG_50388; CFG_50388: assume true; local_#20875 := ~uwrap64(local_#20874); assert { :LIR "63184" } { :check "overflow" } { :finding_ids "0" } true; local_#20876 := (if local_#20875 != local_#5729_size then 1 else 0); if (local_#20876 != 0) { goto CFG_43448; } else { goto CFG_39319; } CFG_39319: assume true; goto CFG_37634; CFG_43448: assume true; local_#20877 := _memory_ptr[{ base : local_#5728_S!base, offset : local_#5728_S!offset + 0 }]; assume _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 0 }] == 37 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 1 }] == 115 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 2 }] == 32 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 3 }] == 115 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 4 }] == 105 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 5 }] == 122 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 6 }] == 101 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 7 }] == 32 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 8 }] == 109 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 9 }] == 105 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 10 }] == 115 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 11 }] == 109 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 12 }] == 97 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 13 }] == 116 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 14 }] == 99 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 15 }] == 104 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 16 }] == 32 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 17 }] == 105 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 18 }] == 110 && _memory[{ base : strlit_#70552!base, offset : strlit_#70552!offset + 19 }] == 0; local_#20878 := strlit_#70552; local_#20879 := { base : local_#20878!base, offset : local_#20878!offset + 0 * 1 }; assert { :LIR "63185" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47118; CFG_47118: assume true; call local_#20880 := routine_#33865_luaO_pushfstring(local_#20877,local_#20879,{ base : 0, offset : 0 }); goto CFG_47119; CFG_47119: assume true; call routine_#34714_error(local_#5728_S,local_#20880); CFG_37634: assume true; } procedure routine_#34736_field(local_#5731_ls_IN : { base : int, offset : int }, local_#5732_cc_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5731_ls : { base : int, offset : int }; var local_#5732_cc : { base : int, offset : int }; var local_#20881 : int; var local_#20882 : int; var local_#20883 : int; var local_#20884 : int; local_#5731_ls := local_#5731_ls_IN; local_#5732_cc := local_#5732_cc_IN; goto CFG_36724; CFG_36724: assume true; goto CFG_51538; CFG_51538: assume true; local_#20881 := _memory[{ base : local_#5731_ls!base, offset : local_#5731_ls!offset + 16 }]; if (local_#20881 == 292) { goto CFG_47122; } if (local_#20881 == 91) { goto CFG_47121; } goto CFG_47120; CFG_47120: assume true; call routine_#34858_listfield(local_#5731_ls,local_#5732_cc); goto CFG_39615; CFG_39615: assume true; goto CFG_39320; CFG_47121: assume true; call routine_#35024_recfield(local_#5731_ls,local_#5732_cc); goto CFG_39616; CFG_39616: assume true; goto CFG_39320; CFG_47122: assume true; call local_#20882 := routine_#33906_luaX_lookahead(local_#5731_ls); goto CFG_50389; CFG_50389: assume true; local_#20883 := 61; local_#20884 := (if local_#20882 != local_#20883 then 1 else 0); if (local_#20884 != 0) { goto CFG_47124; } else { goto CFG_47123; } CFG_47123: assume true; call routine_#35024_recfield(local_#5731_ls,local_#5732_cc); goto CFG_40784; CFG_40784: assume true; goto CFG_39617; CFG_47124: assume true; call routine_#34858_listfield(local_#5731_ls,local_#5732_cc); goto CFG_40785; CFG_40785: assume true; goto CFG_39617; CFG_39617: assume true; goto CFG_39320; CFG_39320: assume true; goto CFG_37635; CFG_41935: assume true; goto CFG_39320; CFG_37635: assume true; } procedure routine_#34737_fieldargs(local_#5733_L_IN : { base : int, offset : int }, local_#5734_farg_IN : int, local_#5735_width_IN : { base : int, offset : int }) returns (local_#8029 : int) modifies _memory, _memory_ptr, _valid; { var local_#5733_L : { base : int, offset : int }; var local_#5734_farg : int; var local_#5735_width : { base : int, offset : int }; var local_#20885 : int; var local_#32229_f : int; var local_#20886 : int; var local_#20887 : int; var local_#20888 : int; var local_#20889 : int; var local_#32230_w : int; var local_#20890 : int; var local_#20891 : int; var local_#20892 : { base : int, offset : int }; var local_#20893 : { base : int, offset : int }; var local_#20894 : int; var local_#20895 : int; var local_#30753 : int; var local_#20896 : int; var local_#20897 : int; var local_#20898 : int; var local_#20899 : int; var local_#20900 : int; var local_#20901 : { base : int, offset : int }; var local_#20902 : { base : int, offset : int }; var local_#20903 : int; var local_#20904 : int; var local_#30754 : int; var local_#20905 : int; var local_#20906 : int; var local_#20907 : int; var local_#20908 : int; var local_#20909 : { base : int, offset : int }; var local_#20910 : { base : int, offset : int }; var local_#20911 : int; var local_#20912 : int; var local_#20913 : int; local_#5733_L := local_#5733_L_IN; local_#5734_farg := local_#5734_farg_IN; local_#5735_width := local_#5735_width_IN; goto CFG_36725; CFG_36725: assume true; goto CFG_47125; CFG_47125: assume true; call local_#20885 := routine_#33820_luaL_checkinteger(local_#5733_L,local_#5734_farg); goto CFG_43449; CFG_43449: assume true; local_#32229_f := local_#20885; local_#20886 := 1; local_#20887 := local_#5734_farg + local_#20886; assert { :LIR "66624" } { :check "overflow" } { :finding_ids "0" } local_#20887 <= 2147483647; local_#20888 := 1; goto CFG_47126; CFG_47126: assume true; call local_#20889 := routine_#33841_luaL_optinteger(local_#5733_L,local_#20887,local_#20888); goto CFG_50390; CFG_50390: assume true; local_#32230_w := local_#20889; local_#20890 := 0; local_#20891 := (if local_#20890 <= local_#32229_f then 1 else 0); if (local_#20891 != 0) { goto CFG_40787; } else { goto CFG_43450; } CFG_43450: assume true; assume _memory[{ base : strlit_#70553!base, offset : strlit_#70553!offset + 24 }] == 0; local_#20892 := strlit_#70553; local_#20893 := { base : local_#20892!base, offset : local_#20892!offset + 0 * 1 }; assert { :LIR "63186" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47127; CFG_47127: assume true; call local_#20894 := routine_#33815_luaL_argerror(local_#5733_L,local_#5734_farg,local_#20893); goto CFG_50391; CFG_50391: assume true; local_#20895 := local_#20894; if (local_#20895 != 0) { goto CFG_40787; } else { goto CFG_40786; } CFG_40786: assume true; local_#30753 := 0; goto CFG_50392; CFG_40787: assume true; local_#30753 := 1; goto CFG_50392; CFG_50392: assume true; local_#20896 := 0; assert { :LIR "61516" } { :check "overflow" } { :finding_ids "0" } true; local_#20897 := 0; local_#20898 := (if local_#20897 < local_#32230_w then 1 else 0); if (local_#20898 != 0) { goto CFG_40789; } else { goto CFG_43451; } CFG_43451: assume true; local_#20899 := 1; local_#20900 := local_#5734_farg + local_#20899; assert { :LIR "66625" } { :check "overflow" } { :finding_ids "0" } local_#20900 <= 2147483647; assume _memory[{ base : strlit_#70554!base, offset : strlit_#70554!offset + 22 }] == 0; local_#20901 := strlit_#70554; local_#20902 := { base : local_#20901!base, offset : local_#20901!offset + 0 * 1 }; assert { :LIR "63187" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47128; CFG_47128: assume true; call local_#20903 := routine_#33815_luaL_argerror(local_#5733_L,local_#20900,local_#20902); goto CFG_50393; CFG_50393: assume true; local_#20904 := local_#20903; if (local_#20904 != 0) { goto CFG_40789; } else { goto CFG_40788; } CFG_40788: assume true; local_#30754 := 0; goto CFG_50394; CFG_40789: assume true; local_#30754 := 1; goto CFG_50394; CFG_50394: assume true; local_#20905 := 0; assert { :LIR "61517" } { :check "overflow" } { :finding_ids "0" } true; local_#20906 := local_#32229_f + local_#32230_w; assert { :LIR "66626" } { :check "overflow" } { :finding_ids "0" } local_#20906 <= 9223372036854775807; local_#20907 := 32; local_#20908 := (if local_#20906 > local_#20907 then 1 else 0); if (local_#20908 != 0) { goto CFG_43452; } else { goto CFG_38489; } CFG_43452: assume true; assume _memory[{ base : strlit_#70555!base, offset : strlit_#70555!offset + 34 }] == 0; local_#20909 := strlit_#70555; local_#20910 := { base : local_#20909!base, offset : local_#20909!offset + 0 * 1 }; assert { :LIR "63188" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47129; CFG_47129: assume true; call local_#20911 := routine_#33828_luaL_error(local_#5733_L,local_#20910,{ base : 0, offset : 0 }); goto CFG_40790; CFG_40790: assume true; goto CFG_38489; CFG_38489: assume true; local_#20912 := local_#32230_w; assert { :LIR "61518" } { :check "overflow" } { :finding_ids "0" } local_#20912 <= 2147483647; _memory[local_#5735_width] := local_#20912; local_#20913 := local_#32229_f; assert { :LIR "61519" } { :check "overflow" } { :finding_ids "0" } local_#20913 <= 2147483647; local_#8029 := local_#20913; goto CFG_37636; CFG_37636: assume true; } procedure routine_#34738_fieldsel(local_#5736_ls_IN : { base : int, offset : int }, local_#5737_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5736_ls : { base : int, offset : int }; var local_#5737_v : { base : int, offset : int }; var local_#32231_fs : { base : int, offset : int }; var local_#32232_key : { base : int, offset : int }; var local_#20914 : { base : int, offset : int }; var local_#20915 : { base : int, offset : int }; local_#5736_ls := local_#5736_ls_IN; local_#5737_v := local_#5737_v_IN; goto CFG_36726; CFG_36726: assume true; goto CFG_43453; CFG_43453: assume true; local_#32231_fs := _memory_ptr[{ base : local_#5736_ls!base, offset : local_#5736_ls!offset + 48 }]; goto CFG_47130; CFG_47130: assume true; call routine_#33787_luaK_exp2anyregup(local_#32231_fs,local_#5737_v); goto CFG_47131; CFG_47131: assume true; call routine_#33908_luaX_next(local_#5736_ls); goto CFG_43454; CFG_43454: assume true; local_#20914 := local_#32232_key; goto CFG_47132; CFG_47132: assume true; call routine_#34636_checkname(local_#5736_ls,local_#20914); goto CFG_43455; CFG_43455: assume true; local_#20915 := local_#32232_key; goto CFG_47133; CFG_47133: assume true; call routine_#33794_luaK_indexed(local_#32231_fs,local_#5737_v,local_#20915); goto CFG_39321; CFG_39321: assume true; goto CFG_37637; CFG_37637: assume true; } procedure routine_#34739_filterpc(local_#5738_pc_IN : int, local_#5739_jmptarget_IN : int) returns (local_#8030 : int) { var local_#5738_pc : int; var local_#5739_jmptarget : int; var local_#20916 : int; local_#5738_pc := local_#5738_pc_IN; local_#5739_jmptarget := local_#5739_jmptarget_IN; goto CFG_36727; CFG_36727: assume true; goto CFG_50395; CFG_50395: assume true; local_#20916 := (if local_#5738_pc < local_#5739_jmptarget then 1 else 0); if (local_#20916 != 0) { goto CFG_38491; } else { goto CFG_38490; } CFG_38490: assume true; local_#8030 := local_#5738_pc; goto CFG_37638; CFG_38491: assume true; local_#8030 := -1; goto CFG_37638; CFG_37638: assume true; } procedure routine_#34740_findfield(local_#5740_L_IN : { base : int, offset : int }, local_#5741_objidx_IN : int, local_#5742_level_IN : int) returns (local_#8031 : int) modifies _memory, _memory_ptr, _valid; { var local_#5740_L : { base : int, offset : int }; var local_#5741_objidx : int; var local_#5742_level : int; var local_#20917 : int; var local_#20918 : int; var local_#20919 : int; var local_#20920 : int; var local_#20921 : int; var local_#20922 : int; var local_#20923 : int; var local_#20924 : int; var local_#20925 : int; var local_#20926 : int; var local_#20927 : int; var local_#20928 : int; var local_#20929 : int; var local_#20930 : int; var local_#20931 : int; var local_#20932 : int; var local_#20933 : int; var local_#20934 : int; var local_#20935 : int; var local_#20936 : int; var local_#20937 : int; var local_#20938 : int; var local_#20939 : int; var local_#20940 : int; var local_#20941 : int; var local_#20942 : { base : int, offset : int }; var local_#20943 : { base : int, offset : int }; var local_#20944 : { base : int, offset : int }; var local_#20945 : int; var local_#20946 : int; var local_#20947 : int; var local_#20948 : int; local_#5740_L := local_#5740_L_IN; local_#5741_objidx := local_#5741_objidx_IN; local_#5742_level := local_#5742_level_IN; goto CFG_36728; CFG_36728: assume true; goto CFG_50396; CFG_50396: assume true; local_#20917 := 0; local_#20918 := (if local_#5742_level == local_#20917 then 1 else 0); if (local_#20918 != 0) { goto CFG_38495; } else { goto CFG_43456; } CFG_43456: assume true; local_#20919 := -1; goto CFG_47134; CFG_47134: assume true; call local_#20920 := routine_#34000_lua_type(local_#5740_L,local_#20919); goto CFG_50397; CFG_50397: assume true; local_#20921 := 5; local_#20922 := (if local_#20920 == local_#20921 then 1 else 0); local_#20923 := (if local_#20922 != 0 then 0 else 1); if (local_#20923 != 0) { goto CFG_38495; } else { goto CFG_47135; } CFG_47135: assume true; call routine_#33963_lua_pushnil(local_#5740_L); goto CFG_41739; CFG_41739: assume true; goto CFG_43457; CFG_43457: assume true; local_#20924 := -2; goto CFG_47136; CFG_47136: assume true; call local_#20925 := routine_#33955_lua_next(local_#5740_L,local_#20924); goto CFG_50398; CFG_50398: assume true; local_#20926 := local_#20925; if (local_#20926 != 0) { goto CFG_43458; } else { goto CFG_38492; } CFG_38492: assume true; local_#8031 := 0; goto CFG_37639; CFG_43458: assume true; local_#20927 := -2; goto CFG_47137; CFG_47137: assume true; call local_#20928 := routine_#34000_lua_type(local_#5740_L,local_#20927); goto CFG_50399; CFG_50399: assume true; local_#20929 := 4; local_#20930 := (if local_#20928 == local_#20929 then 1 else 0); if (local_#20930 != 0) { goto CFG_43459; } else { goto CFG_43461; } CFG_43459: assume true; local_#20931 := -1; goto CFG_47138; CFG_47138: assume true; call local_#20932 := routine_#33969_lua_rawequal(local_#5740_L,local_#5741_objidx,local_#20931); goto CFG_50400; CFG_50400: assume true; local_#20933 := local_#20932; if (local_#20933 != 0) { goto CFG_43467; } else { goto CFG_43460; } CFG_43460: assume true; local_#20934 := 1; local_#20935 := local_#5742_level - local_#20934; assert { :LIR "68034" } { :check "overflow" } { :finding_ids "0" } local_#20935 <= 2147483647; goto CFG_47139; CFG_47139: assume true; call local_#20936 := routine_#34740_findfield(local_#5740_L,local_#5741_objidx,local_#20935); goto CFG_50401; CFG_50401: assume true; local_#20937 := local_#20936; if (local_#20937 != 0) { goto CFG_43462; } else { goto CFG_40791; } CFG_40791: assume true; goto CFG_40792; CFG_40792: assume true; goto CFG_43461; CFG_43461: assume true; local_#20938 := -2; goto CFG_47140; CFG_47140: assume true; call routine_#33987_lua_settop(local_#5740_L,local_#20938); goto CFG_45080; CFG_45080: assume true; goto CFG_43457; CFG_43462: assume true; local_#20939 := -2; local_#20940 := -1; goto CFG_47141; CFG_47141: assume true; call routine_#33978_lua_rotate(local_#5740_L,local_#20939,local_#20940); goto CFG_43463; CFG_43463: assume true; local_#20941 := -2; goto CFG_47142; CFG_47142: assume true; call routine_#33987_lua_settop(local_#5740_L,local_#20941); goto CFG_43464; CFG_43464: assume true; assume _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 0 }] == 46 && _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 1 }] == 0; local_#20942 := strlit_#70556; local_#20943 := { base : local_#20942!base, offset : local_#20942!offset + 0 * 1 }; assert { :LIR "63189" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47143; CFG_47143: assume true; call local_#20944 := routine_#33965_lua_pushstring(local_#5740_L,local_#20943); goto CFG_43465; CFG_43465: assume true; local_#20945 := -2; local_#20946 := 1; goto CFG_47144; CFG_47144: assume true; call routine_#33978_lua_rotate(local_#5740_L,local_#20945,local_#20946); goto CFG_43466; CFG_43466: assume true; local_#20947 := 3; goto CFG_47145; CFG_47145: assume true; call routine_#33923_lua_concat(local_#5740_L,local_#20947); goto CFG_38493; CFG_38493: assume true; local_#8031 := 1; goto CFG_37639; CFG_43467: assume true; local_#20948 := -2; goto CFG_47146; CFG_47146: assume true; call routine_#33987_lua_settop(local_#5740_L,local_#20948); goto CFG_38494; CFG_38494: assume true; local_#8031 := 1; goto CFG_37639; CFG_38495: assume true; local_#8031 := 0; goto CFG_37639; CFG_37639: assume true; } procedure routine_#34741_findfile(local_#5743_L_IN : { base : int, offset : int }, local_#5744_name_IN : { base : int, offset : int }, local_#5745_pname_IN : { base : int, offset : int }, local_#5746_dirsep_IN : { base : int, offset : int }) returns (local_#8032 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5743_L : { base : int, offset : int }; var local_#5744_name : { base : int, offset : int }; var local_#5745_pname : { base : int, offset : int }; var local_#5746_dirsep : { base : int, offset : int }; var local_#20949 : int; var local_#20950 : int; var local_#20951 : int; var local_#20952 : { base : int, offset : int }; var local_#20953 : { base : int, offset : int }; var local_#32233_path : { base : int, offset : int }; var local_#20954 : { base : int, offset : int }; var local_#20955 : int; var local_#20956 : { base : int, offset : int }; var local_#20957 : { base : int, offset : int }; var local_#20958 : int; var local_#20959 : { base : int, offset : int }; var local_#20960 : { base : int, offset : int }; var local_#20961 : { base : int, offset : int }; local_#5743_L := local_#5743_L_IN; local_#5744_name := local_#5744_name_IN; local_#5745_pname := local_#5745_pname_IN; local_#5746_dirsep := local_#5746_dirsep_IN; goto CFG_36729; CFG_36729: assume true; goto CFG_43468; CFG_43468: assume true; local_#20949 := -1001001; goto CFG_47147; CFG_47147: assume true; call local_#20950 := routine_#33930_lua_getfield(local_#5743_L,local_#20949,local_#5745_pname); goto CFG_43469; CFG_43469: assume true; local_#20951 := -1; local_#20952 := { base : 0, offset : 0 }; goto CFG_47148; CFG_47148: assume true; call local_#20953 := routine_#33995_lua_tolstring(local_#5743_L,local_#20951,local_#20952); goto CFG_50402; CFG_50402: assume true; local_#32233_path := local_#20953; local_#20954 := { base : 0, offset : 0 }; local_#20955 := (if local_#32233_path == local_#20954 then 1 else 0); if (local_#20955 != 0) { goto CFG_43470; } else { goto CFG_43471; } CFG_43470: assume true; assume _memory[{ base : strlit_#70557!base, offset : strlit_#70557!offset + 29 }] == 0; local_#20956 := strlit_#70557; local_#20957 := { base : local_#20956!base, offset : local_#20956!offset + 0 * 1 }; assert { :LIR "63190" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47149; CFG_47149: assume true; call local_#20958 := routine_#33828_luaL_error(local_#5743_L,local_#20957,{ base : 0, offset : 0 }); goto CFG_40793; CFG_40793: assume true; goto CFG_43471; CFG_43471: assume true; assume _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 0 }] == 46 && _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 1 }] == 0; local_#20959 := strlit_#70556; local_#20960 := { base : local_#20959!base, offset : local_#20959!offset + 0 * 1 }; assert { :LIR "63191" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47150; CFG_47150: assume true; call local_#20961 := routine_#35049_searchpath(local_#5743_L,local_#5744_name,local_#32233_path,local_#20960,local_#5746_dirsep); goto CFG_38496; CFG_38496: assume true; local_#8032 := local_#20961; goto CFG_37640; CFG_37640: assume true; } procedure routine_#34742_findgotos(local_#5747_ls_IN : { base : int, offset : int }, local_#5748_lb_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5747_ls : { base : int, offset : int }; var local_#5748_lb : { base : int, offset : int }; var local_#20962 : { base : int, offset : int }; var local_#32234_gl : { base : int, offset : int }; var local_#20963 : { base : int, offset : int }; var local_#20964 : { base : int, offset : int }; var local_#32235_i : int; var local_#20965 : int; var local_#20966 : { base : int, offset : int }; var local_#20967 : int; var local_#20968 : int; var local_#20969 : int; var local_#20970 : int; local_#5747_ls := local_#5747_ls_IN; local_#5748_lb := local_#5748_lb_IN; goto CFG_36730; CFG_36730: assume true; goto CFG_41740; CFG_41740: assume true; local_#20962 := _memory_ptr[{ base : local_#5747_ls!base, offset : local_#5747_ls!offset + 88 }]; local_#32234_gl := { base : local_#20962!base, offset : local_#20962!offset + 16 }; local_#20963 := _memory_ptr[{ base : local_#5747_ls!base, offset : local_#5747_ls!offset + 48 }]; local_#20964 := _memory_ptr[{ base : local_#20963!base, offset : local_#20963!offset + 24 }]; local_#32235_i := _memory[{ base : local_#20964!base, offset : local_#20964!offset + 12 }]; goto CFG_50403; CFG_50403: assume true; local_#20965 := (if local_#32235_i < _memory[{ base : local_#32234_gl!base, offset : local_#32234_gl!offset + 8 }] then 1 else 0); if (local_#20965 != 0) { goto CFG_50404; } else { goto CFG_39322; } CFG_39322: assume true; goto CFG_37641; CFG_50404: assume true; local_#20966 := { base : _memory_ptr[{ base : local_#32234_gl!base, offset : local_#32234_gl!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32234_gl!base, offset : local_#32234_gl!offset + 0 }]!offset + local_#32235_i * 24 }; local_#20967 := (if _memory_ptr[{ base : local_#20966!base, offset : local_#20966!offset + 0 }] == _memory_ptr[{ base : local_#5748_lb!base, offset : local_#5748_lb!offset + 0 }] then 1 else 0); if (local_#20967 != 0) { goto CFG_47151; } else { goto CFG_40794; } CFG_40794: assume true; local_#20968 := local_#32235_i; local_#20969 := 1; local_#32235_i := local_#20968 + local_#20969; assert { :LIR "66627" } { :check "overflow" } { :finding_ids "0" } local_#32235_i <= 2147483647; local_#20970 := local_#20968; goto CFG_45081; CFG_47151: assume true; call routine_#34649_closegoto(local_#5747_ls,local_#32235_i,local_#5748_lb); goto CFG_40795; CFG_40795: assume true; goto CFG_45081; CFG_45081: assume true; goto CFG_50403; CFG_37641: assume true; } procedure routine_#34743_findindex(local_#5749_L_IN : { base : int, offset : int }, local_#5750_t_IN : { base : int, offset : int }, local_#5751_key_IN : { base : int, offset : int }) returns (local_#8033 : int) modifies _memory, _memory_ptr, _valid; { var local_#5749_L : { base : int, offset : int }; var local_#5750_t : { base : int, offset : int }; var local_#5751_key : { base : int, offset : int }; var local_#20971 : int; var local_#20972 : int; var local_#20973 : { base : int, offset : int }; var local_#20974 : int; var local_#32236_i : int; var local_#20975 : int; var local_#20976 : int; var local_#20977 : int; var local_#20978 : { base : int, offset : int }; var local_#20979 : { base : int, offset : int }; var local_#20980 : { base : int, offset : int }; var local_#32237_n : { base : int, offset : int }; var local_#20981 : int; var local_#20982 : { base : int, offset : int }; var local_#20983 : { base : int, offset : int }; var local_#20984 : { base : int, offset : int }; var local_#20985 : { base : int, offset : int }; var local_#20986 : int; var local_#20987 : int; var local_#20988 : { base : int, offset : int }; var local_#20989 : { base : int, offset : int }; var local_#20990 : int; var local_#20991 : int; var local_#20992 : int; var local_#20993 : int; var local_#20994 : { base : int, offset : int }; var local_#20995 : { base : int, offset : int }; var local_#20996 : { base : int, offset : int }; var local_#20997 : { base : int, offset : int }; var local_#20998 : { base : int, offset : int }; var local_#20999 : { base : int, offset : int }; var local_#21000 : int; var local_#21001 : { base : int, offset : int }; var local_#32238_nx : int; var local_#21002 : int; var local_#21003 : int; var local_#21004 : { base : int, offset : int }; var local_#21005 : { base : int, offset : int }; var local_#21006 : int; var local_#21007 : { base : int, offset : int }; var local_#21008 : int; var local_#21009 : int; var local_#21010 : int; var local_#21011 : int; var local_#21012 : int; var local_#21013 : int; local_#5749_L := local_#5749_L_IN; local_#5750_t := local_#5750_t_IN; local_#5751_key := local_#5751_key_IN; goto CFG_36731; CFG_36731: assume true; goto CFG_50405; CFG_50405: assume true; local_#20971 := 0; local_#20972 := (if _memory[{ base : local_#5751_key!base, offset : local_#5751_key!offset + 8 }] == local_#20971 then 1 else 0); if (local_#20972 != 0) { goto CFG_38499; } else { goto CFG_43472; } CFG_43472: assume true; local_#20973 := local_#5751_key; assert { :LIR "63192" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47152; CFG_47152: assume true; call local_#20974 := routine_#34583_arrayindex(local_#20973); goto CFG_50406; CFG_50406: assume true; local_#32236_i := local_#20974; local_#20975 := 0; local_#20976 := (if local_#32236_i != local_#20975 then 1 else 0); if (local_#20976 != 0) { goto CFG_50407; } else { goto CFG_43473; } CFG_50407: assume true; local_#20977 := (if local_#32236_i <= _memory[{ base : local_#5750_t!base, offset : local_#5750_t!offset + 12 }] then 1 else 0); if (local_#20977 != 0) { goto CFG_38498; } else { goto CFG_43473; } CFG_43473: assume true; local_#20978 := local_#5750_t; assert { :LIR "63193" } { :check "overflow" } { :finding_ids "0" } true; local_#20979 := local_#5751_key; assert { :LIR "63194" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47153; CFG_47153: assume true; call local_#20980 := routine_#34907_mainposition(local_#20978,local_#20979); goto CFG_41741; CFG_41741: assume true; local_#32237_n := local_#20980; goto CFG_50408; CFG_50408: assume true; local_#20981 := 1; if (local_#20981 != 0) { goto CFG_43474; } else { goto CFG_40796; } CFG_40796: assume true; goto CFG_37642; CFG_43474: assume true; local_#20982 := { base : 0, offset : 0 }; local_#20983 := { base : local_#32237_n!base, offset : local_#32237_n!offset + 16 }; local_#20984 := local_#20983; assert { :LIR "61520" } { :check "overflow" } { :finding_ids "0" } true; local_#20985 := local_#5751_key; assert { :LIR "63195" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47154; CFG_47154: assume true; call local_#20986 := routine_#33893_luaV_equalobj(local_#20982,local_#20984,local_#20985); goto CFG_50409; CFG_50409: assume true; local_#20987 := local_#20986; if (local_#20987 != 0) { goto CFG_38497; } else { goto CFG_50410; } CFG_50410: assume true; local_#20988 := { base : local_#32237_n!base, offset : local_#32237_n!offset + 16 }; local_#20989 := local_#20988; assert { :LIR "61521" } { :check "overflow" } { :finding_ids "0" } true; local_#20990 := 10; local_#20991 := (if _memory[{ base : local_#20989!base, offset : local_#20989!offset + 8 }] == local_#20990 then 1 else 0); if (local_#20991 != 0) { goto CFG_50411; } else { goto CFG_50413; } CFG_50411: assume true; local_#20992 := 64; local_#20993 := ~sand32(_memory[{ base : local_#5751_key!base, offset : local_#5751_key!offset + 8 }], local_#20992); if (local_#20993 != 0) { goto CFG_50412; } else { goto CFG_50413; } CFG_50412: assume true; local_#20994 := { base : local_#32237_n!base, offset : local_#32237_n!offset + 16 }; local_#20995 := local_#20994; assert { :LIR "61522" } { :check "overflow" } { :finding_ids "0" } true; local_#20996 := { base : local_#20995!base, offset : local_#20995!offset + 0 }; local_#20997 := _memory_ptr[local_#20996]; assert { :LIR "61523" } { :check "overflow" } { :finding_ids "0" } true; local_#20998 := { base : local_#5751_key!base, offset : local_#5751_key!offset + 0 }; local_#20999 := _memory_ptr[local_#20998]; assert { :LIR "63196" } { :check "overflow" } { :finding_ids "0" } true; local_#21000 := (if local_#20997 == local_#20999 then 1 else 0); if (local_#21000 != 0) { goto CFG_38497; } else { goto CFG_50413; } CFG_50413: assume true; local_#21001 := { base : local_#32237_n!base, offset : local_#32237_n!offset + 16 }; local_#32238_nx := _memory[{ base : local_#21001!base, offset : local_#21001!offset + 12 }]; local_#21002 := 0; local_#21003 := (if local_#32238_nx == local_#21002 then 1 else 0); if (local_#21003 != 0) { goto CFG_43475; } else { goto CFG_40797; } CFG_40797: assume true; local_#32237_n := { base : local_#32237_n!base, offset : local_#32237_n!offset + local_#32238_nx * 32 }; goto CFG_45082; CFG_45082: assume true; goto CFG_50408; CFG_43475: assume true; assume _memory[{ base : strlit_#70559!base, offset : strlit_#70559!offset + 21 }] == 0; local_#21004 := strlit_#70559; local_#21005 := { base : local_#21004!base, offset : local_#21004!offset + 0 * 1 }; assert { :LIR "63197" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47155; CFG_47155: assume true; call routine_#33762_luaG_runerror(local_#5749_L,local_#21005,{ base : 0, offset : 0 }); CFG_38497: assume true; local_#21006 := 0; local_#21007 := { base : _memory_ptr[{ base : local_#5750_t!base, offset : local_#5750_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#5750_t!base, offset : local_#5750_t!offset + 24 }]!offset + local_#21006 * 32 }; local_#21008 := (local_#32237_n!offset - local_#21007!offset) / 32; local_#21009 := local_#21008; assert { :LIR "61524" } { :check "overflow" } { :finding_ids "0" } local_#21009 <= 2147483647; local_#21010 := ~uwrap32(local_#21009); assert { :LIR "63198" } { :check "overflow" } { :finding_ids "0" } true; local_#32236_i := local_#21010; local_#21011 := 1; assume { :symbol "~uwrap32" } true; local_#21012 := ~uwrap32(local_#32236_i + local_#21011); assert { :LIR "66628" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#21013 := ~uwrap32(local_#21012 + _memory[{ base : local_#5750_t!base, offset : local_#5750_t!offset + 12 }]); assert { :LIR "66629" } { :check "overflow" } { :finding_ids "0" } true; local_#8033 := local_#21013; goto CFG_37642; CFG_38498: assume true; local_#8033 := local_#32236_i; goto CFG_37642; CFG_38499: assume true; local_#8033 := 0; goto CFG_37642; CFG_37642: assume true; } procedure routine_#34744_findlabel(local_#5752_ls_IN : { base : int, offset : int }, local_#5753_g_IN : int) returns (local_#8034 : int) modifies _memory, _memory_ptr, _valid; { var local_#5752_ls : { base : int, offset : int }; var local_#5753_g : int; var local_#21014 : { base : int, offset : int }; var local_#32239_bl : { base : int, offset : int }; var local_#32240_dyd : { base : int, offset : int }; var local_#21015 : { base : int, offset : int }; var local_#32241_gt : { base : int, offset : int }; var local_#32242_i : int; var local_#21016 : int; var local_#21017 : { base : int, offset : int }; var local_#32243_lb : { base : int, offset : int }; var local_#21018 : int; var local_#21019 : int; var local_#21020 : int; var local_#21021 : int; var local_#21022 : int; var local_#21023 : int; var local_#21024 : int; var local_#21025 : int; var local_#21026 : int; var local_#21027 : { base : int, offset : int }; var local_#21028 : int; var local_#21029 : int; local_#5752_ls := local_#5752_ls_IN; local_#5753_g := local_#5753_g_IN; goto CFG_36732; CFG_36732: assume true; goto CFG_41742; CFG_41742: assume true; local_#21014 := _memory_ptr[{ base : local_#5752_ls!base, offset : local_#5752_ls!offset + 48 }]; local_#32239_bl := _memory_ptr[{ base : local_#21014!base, offset : local_#21014!offset + 24 }]; local_#32240_dyd := _memory_ptr[{ base : local_#5752_ls!base, offset : local_#5752_ls!offset + 88 }]; local_#21015 := { base : _memory_ptr[{ base : local_#32240_dyd!base, offset : local_#32240_dyd!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#32240_dyd!base, offset : local_#32240_dyd!offset + 16 }]!offset + local_#5753_g * 24 }; local_#32241_gt := local_#21015; local_#32242_i := _memory[{ base : local_#32239_bl!base, offset : local_#32239_bl!offset + 8 }]; goto CFG_50414; CFG_50414: assume true; local_#21016 := (if local_#32242_i < _memory[{ base : local_#32240_dyd!base, offset : local_#32240_dyd!offset + 40 }] then 1 else 0); if (local_#21016 != 0) { goto CFG_50415; } else { goto CFG_38500; } CFG_38500: assume true; local_#8034 := 0; goto CFG_37643; CFG_50415: assume true; local_#21017 := { base : _memory_ptr[{ base : local_#32240_dyd!base, offset : local_#32240_dyd!offset + 32 }]!base, offset : _memory_ptr[{ base : local_#32240_dyd!base, offset : local_#32240_dyd!offset + 32 }]!offset + local_#32242_i * 24 }; local_#32243_lb := local_#21017; local_#21018 := (if _memory_ptr[{ base : local_#32243_lb!base, offset : local_#32243_lb!offset + 0 }] == _memory_ptr[{ base : local_#32241_gt!base, offset : local_#32241_gt!offset + 0 }] then 1 else 0); if (local_#21018 != 0) { goto CFG_50416; } else { goto CFG_45083; } CFG_45083: assume true; local_#21019 := local_#32242_i; local_#21020 := 1; local_#32242_i := local_#21019 + local_#21020; assert { :LIR "66630" } { :check "overflow" } { :finding_ids "0" } local_#32242_i <= 2147483647; local_#21021 := local_#21019; goto CFG_50414; CFG_50416: assume true; local_#21022 := _memory[{ base : local_#32241_gt!base, offset : local_#32241_gt!offset + 16 }]; assert { :LIR "63199" } { :check "overflow" } { :finding_ids "0" } local_#21022 <= 2147483647; local_#21023 := _memory[{ base : local_#32243_lb!base, offset : local_#32243_lb!offset + 16 }]; assert { :LIR "63200" } { :check "overflow" } { :finding_ids "0" } local_#21023 <= 2147483647; local_#21024 := (if local_#21022 > local_#21023 then 1 else 0); if (local_#21024 != 0) { goto CFG_50417; } else { goto CFG_47157; } CFG_50417: assume true; local_#21025 := _memory[{ base : local_#32239_bl!base, offset : local_#32239_bl!offset + 17 }]; if (local_#21025 != 0) { goto CFG_43476; } else { goto CFG_50418; } CFG_50418: assume true; local_#21026 := (if _memory[{ base : local_#32240_dyd!base, offset : local_#32240_dyd!offset + 40 }] > _memory[{ base : local_#32239_bl!base, offset : local_#32239_bl!offset + 8 }] then 1 else 0); if (local_#21026 != 0) { goto CFG_43476; } else { goto CFG_47157; } CFG_43476: assume true; local_#21027 := _memory_ptr[{ base : local_#5752_ls!base, offset : local_#5752_ls!offset + 48 }]; local_#21028 := _memory[{ base : local_#32241_gt!base, offset : local_#32241_gt!offset + 8 }]; local_#21029 := _memory[{ base : local_#32243_lb!base, offset : local_#32243_lb!offset + 16 }]; assert { :LIR "63201" } { :check "overflow" } { :finding_ids "0" } local_#21029 <= 2147483647; goto CFG_47156; CFG_47156: assume true; call routine_#33799_luaK_patchclose(local_#21027,local_#21028,local_#21029); goto CFG_40798; CFG_40798: assume true; goto CFG_47157; CFG_47157: assume true; call routine_#34649_closegoto(local_#5752_ls,local_#5753_g,local_#32243_lb); goto CFG_38501; CFG_38501: assume true; local_#8034 := 1; goto CFG_37643; CFG_37643: assume true; } procedure routine_#34745_findlast(local_#5754_p_IN : { base : int, offset : int }) returns (local_#8035 : { base : int, offset : int }) { var local_#5754_p : { base : int, offset : int }; var local_#21030 : { base : int, offset : int }; var local_#21031 : int; var local_#21032 : { base : int, offset : int }; local_#5754_p := local_#5754_p_IN; goto CFG_36733; CFG_36733: assume true; goto CFG_41743; CFG_41743: assume true; goto CFG_50419; CFG_50419: assume true; local_#21030 := { base : 0, offset : 0 }; local_#21031 := (if _memory_ptr[local_#5754_p] != local_#21030 then 1 else 0); if (local_#21031 != 0) { goto CFG_45084; } else { goto CFG_38502; } CFG_38502: assume true; local_#8035 := local_#5754_p; goto CFG_37644; CFG_45084: assume true; local_#21032 := _memory_ptr[local_#5754_p]; local_#5754_p := { base : local_#21032!base, offset : local_#21032!offset + 0 }; goto CFG_50419; CFG_37644: assume true; } procedure routine_#34746_findloader(local_#5755_L_IN : { base : int, offset : int }, local_#5756_name_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5755_L : { base : int, offset : int }; var local_#5756_name : { base : int, offset : int }; var local_#32245_msg : { base : int, offset : int }; var local_#21033 : { base : int, offset : int }; var local_#21034 : int; var local_#21035 : { base : int, offset : int }; var local_#21036 : { base : int, offset : int }; var local_#21037 : int; var local_#21038 : int; var local_#21039 : int; var local_#21040 : { base : int, offset : int }; var local_#21041 : { base : int, offset : int }; var local_#21042 : int; var local_#32244_i : int; var local_#21043 : int; var local_#21044 : int; var local_#21045 : int; var local_#21046 : int; var local_#21047 : int; var local_#21048 : int; var local_#21049 : int; var local_#21050 : { base : int, offset : int }; var local_#21051 : { base : int, offset : int }; var local_#21052 : { base : int, offset : int }; var local_#21053 : int; var local_#21054 : { base : int, offset : int }; var local_#21055 : { base : int, offset : int }; var local_#21056 : int; var local_#21057 : { base : int, offset : int }; var local_#21058 : int; var local_#21059 : int; var local_#21060 : int; var local_#21061 : { base : int, offset : int }; var local_#21062 : int; var local_#21063 : int; var local_#21064 : int; var local_#21065 : int; var local_#21066 : int; var local_#21067 : int; var local_#21068 : int; var local_#21069 : int; var local_#21070 : int; var local_#21071 : { base : int, offset : int }; var local_#21072 : int; var local_#21073 : int; var local_#21074 : int; local_#5755_L := local_#5755_L_IN; local_#5756_name := local_#5756_name_IN; goto CFG_36734; CFG_36734: assume true; goto CFG_43477; CFG_43477: assume true; local_#21033 := local_#32245_msg; goto CFG_47158; CFG_47158: assume true; call routine_#33816_luaL_buffinit(local_#5755_L,local_#21033); goto CFG_43478; CFG_43478: assume true; local_#21034 := -1001001; assume _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 0 }] == 115 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 1 }] == 101 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 2 }] == 97 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 3 }] == 114 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 4 }] == 99 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 5 }] == 104 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 6 }] == 101 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 7 }] == 114 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 8 }] == 115 && _memory[{ base : strlit_#70502!base, offset : strlit_#70502!offset + 9 }] == 0; local_#21035 := strlit_#70502; local_#21036 := { base : local_#21035!base, offset : local_#21035!offset + 0 * 1 }; assert { :LIR "63202" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47159; CFG_47159: assume true; call local_#21037 := routine_#33930_lua_getfield(local_#5755_L,local_#21034,local_#21036); goto CFG_50420; CFG_50420: assume true; local_#21038 := 5; local_#21039 := (if local_#21037 != local_#21038 then 1 else 0); if (local_#21039 != 0) { goto CFG_43479; } else { goto CFG_41744; } CFG_43479: assume true; assume _memory[{ base : strlit_#70561!base, offset : strlit_#70561!offset + 35 }] == 0; local_#21040 := strlit_#70561; local_#21041 := { base : local_#21040!base, offset : local_#21040!offset + 0 * 1 }; assert { :LIR "63203" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47160; CFG_47160: assume true; call local_#21042 := routine_#33828_luaL_error(local_#5755_L,local_#21041,{ base : 0, offset : 0 }); goto CFG_40799; CFG_40799: assume true; goto CFG_41744; CFG_41744: assume true; local_#32244_i := 1; goto CFG_50421; CFG_50421: assume true; local_#21043 := 1; if (local_#21043 != 0) { goto CFG_43480; } else { goto CFG_37645; } CFG_43480: assume true; local_#21044 := 3; local_#21045 := local_#32244_i; assert { :LIR "63204" } { :check "overflow" } { :finding_ids "0" } local_#21045 <= 9223372036854775807; goto CFG_47161; CFG_47161: assume true; call local_#21046 := routine_#33971_lua_rawgeti(local_#5755_L,local_#21044,local_#21045); goto CFG_50422; CFG_50422: assume true; local_#21047 := 0; local_#21048 := (if local_#21046 == local_#21047 then 1 else 0); if (local_#21048 != 0) { goto CFG_43481; } else { goto CFG_47166; } CFG_43481: assume true; local_#21049 := -2; goto CFG_47162; CFG_47162: assume true; call routine_#33987_lua_settop(local_#5755_L,local_#21049); goto CFG_43482; CFG_43482: assume true; local_#21050 := local_#32245_msg; goto CFG_47163; CFG_47163: assume true; call routine_#33845_luaL_pushresult(local_#21050); goto CFG_43483; CFG_43483: assume true; assume _memory[{ base : strlit_#70562!base, offset : strlit_#70562!offset + 24 }] == 0; local_#21051 := strlit_#70562; local_#21052 := { base : local_#21051!base, offset : local_#21051!offset + 0 * 1 }; assert { :LIR "63205" } { :check "overflow" } { :finding_ids "0" } true; local_#21053 := -1; local_#21054 := { base : 0, offset : 0 }; goto CFG_47164; CFG_47164: assume true; call local_#21055 := routine_#33995_lua_tolstring(local_#5755_L,local_#21053,local_#21054); goto CFG_47165; CFG_47165: assume true; call local_#21056 := routine_#33828_luaL_error(local_#5755_L,local_#21052,{ base : 0, offset : 0 }); goto CFG_40800; CFG_40800: assume true; goto CFG_47166; CFG_47166: assume true; call local_#21057 := routine_#33965_lua_pushstring(local_#5755_L,local_#5756_name); goto CFG_43484; CFG_43484: assume true; local_#21058 := 1; local_#21059 := 2; local_#21060 := 0; local_#21061 := { base : 0, offset : 0 }; goto CFG_47167; CFG_47167: assume true; call routine_#33919_lua_callk(local_#5755_L,local_#21058,local_#21059,local_#21060,local_#21061); goto CFG_43485; CFG_43485: assume true; local_#21062 := -2; goto CFG_47168; CFG_47168: assume true; call local_#21063 := routine_#34000_lua_type(local_#5755_L,local_#21062); goto CFG_50423; CFG_50423: assume true; local_#21064 := 6; local_#21065 := (if local_#21063 == local_#21064 then 1 else 0); if (local_#21065 != 0) { goto CFG_39323; } else { goto CFG_43486; } CFG_43486: assume true; local_#21066 := -2; goto CFG_47169; CFG_47169: assume true; call local_#21067 := routine_#33947_lua_isstring(local_#5755_L,local_#21066); goto CFG_50424; CFG_50424: assume true; local_#21068 := local_#21067; if (local_#21068 != 0) { goto CFG_43488; } else { goto CFG_43487; } CFG_43487: assume true; local_#21069 := -3; goto CFG_47170; CFG_47170: assume true; call routine_#33987_lua_settop(local_#5755_L,local_#21069); goto CFG_40801; CFG_40801: assume true; goto CFG_40803; CFG_43488: assume true; local_#21070 := -2; goto CFG_47171; CFG_47171: assume true; call routine_#33987_lua_settop(local_#5755_L,local_#21070); goto CFG_43489; CFG_43489: assume true; local_#21071 := local_#32245_msg; goto CFG_47172; CFG_47172: assume true; call routine_#33814_luaL_addvalue(local_#21071); goto CFG_40802; CFG_40802: assume true; goto CFG_40803; CFG_40803: assume true; goto CFG_45085; CFG_45085: assume true; local_#21072 := local_#32244_i; local_#21073 := 1; local_#32244_i := local_#21072 + local_#21073; assert { :LIR "66631" } { :check "overflow" } { :finding_ids "0" } local_#32244_i <= 2147483647; local_#21074 := local_#21072; goto CFG_50421; CFG_39323: assume true; goto CFG_37645; CFG_37645: assume true; } procedure routine_#34747_findlocal(local_#5757_L_IN : { base : int, offset : int }, local_#5758_ci_IN : { base : int, offset : int }, local_#5759_n_IN : int, local_#5760_pos_IN : { base : int, offset : int }) returns (local_#8036 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5757_L : { base : int, offset : int }; var local_#5758_ci : { base : int, offset : int }; var local_#5759_n : int; var local_#5760_pos : { base : int, offset : int }; var local_#32247_name : { base : int, offset : int }; var local_#21075 : int; var local_#21076 : int; var local_#21077 : int; var local_#21078 : int; var local_#21079 : { base : int, offset : int }; var local_#32246_base : { base : int, offset : int }; var local_#21080 : int; var local_#21081 : int; var local_#21082 : { base : int, offset : int }; var local_#21083 : { base : int, offset : int }; var local_#21084 : { base : int, offset : int }; var local_#21085 : { base : int, offset : int }; var local_#21086 : { base : int, offset : int }; var local_#21087 : { base : int, offset : int }; var local_#21088 : { base : int, offset : int }; var local_#21089 : int; var local_#21090 : { base : int, offset : int }; var local_#21091 : { base : int, offset : int }; var local_#21092 : int; var local_#21093 : int; var local_#21094 : { base : int, offset : int }; var local_#30755 : { base : int, offset : int }; var local_#32248_limit : { base : int, offset : int }; var local_#21095 : int; var local_#21096 : int; var local_#21097 : int; var local_#21098 : int; var local_#21099 : int; var local_#21100 : { base : int, offset : int }; var local_#21101 : { base : int, offset : int }; var local_#21102 : int; var local_#21103 : int; var local_#21104 : { base : int, offset : int }; var local_#21105 : int; var local_#21106 : { base : int, offset : int }; local_#5757_L := local_#5757_L_IN; local_#5758_ci := local_#5758_ci_IN; local_#5759_n := local_#5759_n_IN; local_#5760_pos := local_#5760_pos_IN; goto CFG_36735; CFG_36735: assume true; goto CFG_50425; CFG_50425: assume true; local_#32247_name := { base : 0, offset : 0 }; local_#21075 := _memory[{ base : local_#5758_ci!base, offset : local_#5758_ci!offset + 66 }]; assert { :LIR "63206" } { :check "overflow" } { :finding_ids "0" } local_#21075 <= 2147483647; local_#21076 := 2; local_#21077 := ~sand32(local_#21075, local_#21076); if (local_#21077 != 0) { goto CFG_50426; } else { goto CFG_40804; } CFG_40804: assume true; local_#21078 := 1; local_#21079 := { base : _memory_ptr[{ base : local_#5758_ci!base, offset : local_#5758_ci!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5758_ci!base, offset : local_#5758_ci!offset + 0 }]!offset + local_#21078 * 16 }; local_#32246_base := local_#21079; goto CFG_50427; CFG_50426: assume true; local_#21080 := 0; local_#21081 := (if local_#5759_n < local_#21080 then 1 else 0); if (local_#21081 != 0) { goto CFG_43491; } else { goto CFG_43490; } CFG_43490: assume true; local_#21082 := { base : local_#5758_ci!base, offset : local_#5758_ci!offset + 32 }; local_#32246_base := _memory_ptr[{ base : local_#21082!base, offset : local_#21082!offset + 0 }]; local_#21083 := _memory_ptr[{ base : local_#5758_ci!base, offset : local_#5758_ci!offset + 0 }]; local_#21084 := { base : local_#21083!base, offset : local_#21083!offset + 0 }; local_#21085 := _memory_ptr[local_#21084]; assert { :LIR "61525" } { :check "overflow" } { :finding_ids "0" } true; local_#21086 := { base : local_#21085!base, offset : local_#21085!offset + 0 }; local_#21087 := { base : local_#21086!base, offset : local_#21086!offset + 0 }; local_#21088 := _memory_ptr[{ base : local_#21087!base, offset : local_#21087!offset + 24 }]; assert { :LIR "63207" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47173; CFG_47173: assume true; call local_#21089 := routine_#34680_currentpc(local_#5758_ci); goto CFG_47174; CFG_47174: assume true; call local_#21090 := routine_#33752_luaF_getlocalname(local_#21088,local_#5759_n,local_#21089); goto CFG_40805; CFG_40805: assume true; local_#32247_name := local_#21090; goto CFG_40806; CFG_40806: assume true; goto CFG_50427; CFG_50427: assume true; local_#21091 := { base : 0, offset : 0 }; local_#21092 := (if local_#32247_name == local_#21091 then 1 else 0); if (local_#21092 != 0) { goto CFG_50428; } else { goto CFG_38504; } CFG_50428: assume true; local_#21093 := (if local_#5758_ci == _memory_ptr[{ base : local_#5757_L!base, offset : local_#5757_L!offset + 32 }] then 1 else 0); if (local_#21093 != 0) { goto CFG_40808; } else { goto CFG_40807; } CFG_40807: assume true; local_#21094 := _memory_ptr[{ base : local_#5758_ci!base, offset : local_#5758_ci!offset + 24 }]; local_#30755 := _memory_ptr[{ base : local_#21094!base, offset : local_#21094!offset + 0 }]; goto CFG_50429; CFG_40808: assume true; local_#30755 := _memory_ptr[{ base : local_#5757_L!base, offset : local_#5757_L!offset + 16 }]; goto CFG_50429; CFG_50429: assume true; local_#32248_limit := local_#30755; local_#21095 := (local_#32248_limit!offset - local_#32246_base!offset) / 16; local_#21096 := local_#5759_n; assert { :LIR "63208" } { :check "overflow" } { :finding_ids "0" } local_#21096 <= 9223372036854775807; local_#21097 := (if local_#21095 >= local_#21096 then 1 else 0); if (local_#21097 != 0) { goto CFG_50430; } else { goto CFG_38503; } CFG_50430: assume true; local_#21098 := 0; local_#21099 := (if local_#5759_n > local_#21098 then 1 else 0); if (local_#21099 != 0) { goto CFG_40809; } else { goto CFG_38503; } CFG_38503: assume true; local_#8036 := { base : 0, offset : 0 }; goto CFG_37646; CFG_40809: assume true; assume _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 0 }] == 40 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 1 }] == 42 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 2 }] == 116 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 3 }] == 101 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 4 }] == 109 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 5 }] == 112 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 6 }] == 111 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 7 }] == 114 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 8 }] == 97 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 9 }] == 114 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 10 }] == 121 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 11 }] == 41 && _memory[{ base : strlit_#70563!base, offset : strlit_#70563!offset + 12 }] == 0; local_#21100 := strlit_#70563; local_#21101 := { base : local_#21100!base, offset : local_#21100!offset + 0 * 1 }; assert { :LIR "63209" } { :check "overflow" } { :finding_ids "0" } true; local_#32247_name := local_#21101; goto CFG_40810; CFG_40810: assume true; goto CFG_38504; CFG_38504: assume true; local_#21102 := 1; local_#21103 := local_#5759_n - local_#21102; assert { :LIR "68035" } { :check "overflow" } { :finding_ids "0" } local_#21103 <= 2147483647; local_#21104 := { base : local_#32246_base!base, offset : local_#32246_base!offset + local_#21103 * 16 }; _memory_ptr[local_#5760_pos] := local_#21104; local_#8036 := local_#32247_name; goto CFG_37646; CFG_43491: assume true; local_#21105 := -local_#5759_n; assert { :LIR "64662" } { :check "overflow" } { :finding_ids "0" } local_#21105 <= 2147483647; goto CFG_47175; CFG_47175: assume true; call local_#21106 := routine_#34750_findvararg(local_#5758_ci,local_#21105,local_#5760_pos); goto CFG_38505; CFG_38505: assume true; local_#8036 := local_#21106; goto CFG_37646; CFG_37646: assume true; } procedure routine_#34748_findpcall(local_#5761_L_IN : { base : int, offset : int }) returns (local_#8037 : { base : int, offset : int }) { var local_#5761_L : { base : int, offset : int }; var local_#32249_ci : { base : int, offset : int }; var local_#21107 : { base : int, offset : int }; var local_#21108 : int; var local_#21109 : int; var local_#21110 : int; var local_#21111 : int; var local_#21112 : { base : int, offset : int }; local_#5761_L := local_#5761_L_IN; goto CFG_36736; CFG_36736: assume true; goto CFG_41745; CFG_41745: assume true; local_#32249_ci := _memory_ptr[{ base : local_#5761_L!base, offset : local_#5761_L!offset + 32 }]; goto CFG_50431; CFG_50431: assume true; local_#21107 := { base : 0, offset : 0 }; local_#21108 := (if local_#32249_ci != local_#21107 then 1 else 0); if (local_#21108 != 0) { goto CFG_50432; } else { goto CFG_38506; } CFG_38506: assume true; local_#8037 := { base : 0, offset : 0 }; goto CFG_37647; CFG_50432: assume true; local_#21109 := _memory[{ base : local_#32249_ci!base, offset : local_#32249_ci!offset + 66 }]; assert { :LIR "63210" } { :check "overflow" } { :finding_ids "0" } local_#21109 <= 2147483647; local_#21110 := 16; local_#21111 := ~sand32(local_#21109, local_#21110); if (local_#21111 != 0) { goto CFG_38507; } else { goto CFG_45086; } CFG_45086: assume true; local_#32249_ci := _memory_ptr[{ base : local_#32249_ci!base, offset : local_#32249_ci!offset + 16 }]; local_#21112 := local_#32249_ci; goto CFG_50431; CFG_38507: assume true; local_#8037 := local_#32249_ci; goto CFG_37647; CFG_37647: assume true; } procedure routine_#34749_findsetreg(local_#5762_p_IN : { base : int, offset : int }, local_#5763_lastpc_IN : int, local_#5764_reg_IN : int) returns (local_#8038 : int) { var local_#5762_p : { base : int, offset : int }; var local_#5763_lastpc : int; var local_#5764_reg : int; var local_#32252_setreg : int; var local_#32250_jmptarget : int; var local_#32251_pc : int; var local_#21113 : int; var local_#21114 : { base : int, offset : int }; var local_#32254_i : int; var local_#21115 : int; var local_#21116 : int; var local_#21117 : int; var local_#21118 : int; var local_#21119 : int; var local_#32255_op : int; var local_#21120 : int; var local_#21121 : int; var local_#21122 : int; var local_#21123 : int; var local_#21124 : int; var local_#32253_a : int; var local_#21125 : int; var local_#21126 : int; var local_#21127 : int; var local_#21128 : int; var local_#21129 : int; var local_#21130 : int; var local_#21131 : int; var local_#21132 : int; var local_#21133 : int; var local_#21134 : int; var local_#21135 : int; var local_#21136 : int; var local_#21137 : int; var local_#32257_b : int; var local_#21138 : int; var local_#21139 : int; var local_#21140 : int; var local_#32258_dest : int; var local_#21141 : int; var local_#21142 : int; var local_#21143 : int; var local_#21144 : int; var local_#21145 : int; var local_#21146 : int; var local_#21147 : int; var local_#21148 : int; var local_#21149 : int; var local_#21150 : int; var local_#21151 : int; var local_#21152 : int; var local_#21153 : int; var local_#21154 : int; var local_#32256_b : int; var local_#21155 : int; var local_#21156 : int; var local_#21157 : int; var local_#21158 : int; var local_#21159 : int; var local_#21160 : int; var local_#21161 : int; local_#5762_p := local_#5762_p_IN; local_#5763_lastpc := local_#5763_lastpc_IN; local_#5764_reg := local_#5764_reg_IN; goto CFG_36737; CFG_36737: assume true; goto CFG_41746; CFG_41746: assume true; local_#32252_setreg := -1; local_#32250_jmptarget := 0; local_#32251_pc := 0; goto CFG_50433; CFG_50433: assume true; local_#21113 := (if local_#32251_pc < local_#5763_lastpc then 1 else 0); if (local_#21113 != 0) { goto CFG_51539; } else { goto CFG_38508; } CFG_38508: assume true; local_#8038 := local_#32252_setreg; goto CFG_37648; CFG_51539: assume true; local_#21114 := { base : _memory_ptr[{ base : local_#5762_p!base, offset : local_#5762_p!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5762_p!base, offset : local_#5762_p!offset + 56 }]!offset + local_#32251_pc * 4 }; local_#32254_i := _memory[local_#21114]; local_#21115 := 0; local_#21116 := ~lshr32(local_#32254_i, local_#21115); local_#21117 := 63; local_#21118 := ~uand32(local_#21116, local_#21117); local_#21119 := local_#21118; assert { :LIR "61526" } { :check "overflow" } { :finding_ids "0" } local_#21119 <= 46; local_#32255_op := local_#21119; local_#21120 := 6; local_#21121 := ~lshr32(local_#32254_i, local_#21120); local_#21122 := 255; local_#21123 := ~uand32(local_#21121, local_#21122); local_#21124 := local_#21123; assert { :LIR "61527" } { :check "overflow" } { :finding_ids "0" } local_#21124 <= 2147483647; local_#32253_a := local_#21124; local_#21125 := local_#32255_op; if (local_#21125 == 4) { goto CFG_50441; } if (local_#21125 == 41) { goto CFG_50440; } if (local_#21125 == 36) { goto CFG_50439; } if (local_#21125 == 37) { goto CFG_50439; } if (local_#21125 == 30) { goto CFG_50436; } goto CFG_50434; CFG_50434: assume true; local_#21126 := _memory[{ base : global_#33099_luaP_opmodes!base, offset : global_#33099_luaP_opmodes!offset + local_#32255_op * 1 }]; assert { :LIR "63211" } { :check "overflow" } { :finding_ids "0" } local_#21126 <= 2147483647; local_#21127 := 64; local_#21128 := ~sand32(local_#21126, local_#21127); if (local_#21128 != 0) { goto CFG_50435; } else { goto CFG_39618; } CFG_50435: assume true; local_#21129 := (if local_#5764_reg == local_#32253_a then 1 else 0); if (local_#21129 != 0) { goto CFG_47176; } else { goto CFG_39618; } CFG_47176: assume true; call local_#21130 := routine_#34739_filterpc(local_#32251_pc,local_#32250_jmptarget); goto CFG_40811; CFG_40811: assume true; local_#32252_setreg := local_#21130; goto CFG_39618; CFG_39618: assume true; goto CFG_45087; CFG_50436: assume true; local_#21131 := 14; local_#21132 := ~lshr32(local_#32254_i, local_#21131); local_#21133 := 262143; local_#21134 := ~uand32(local_#21132, local_#21133); local_#21135 := local_#21134; assert { :LIR "61528" } { :check "overflow" } { :finding_ids "0" } local_#21135 <= 2147483647; local_#21136 := 131071; local_#21137 := local_#21135 - local_#21136; assert { :LIR "68036" } { :check "overflow" } { :finding_ids "0" } local_#21137 <= 2147483647; local_#32257_b := local_#21137; local_#21138 := 1; local_#21139 := local_#32251_pc + local_#21138; assert { :LIR "66632" } { :check "overflow" } { :finding_ids "0" } local_#21139 <= 2147483647; local_#21140 := local_#21139 + local_#32257_b; assert { :LIR "66633" } { :check "overflow" } { :finding_ids "0" } local_#21140 <= 2147483647; local_#32258_dest := local_#21140; local_#21141 := (if local_#32251_pc < local_#32258_dest then 1 else 0); if (local_#21141 != 0) { goto CFG_50437; } else { goto CFG_39619; } CFG_50437: assume true; local_#21142 := (if local_#32258_dest <= local_#5763_lastpc then 1 else 0); if (local_#21142 != 0) { goto CFG_50438; } else { goto CFG_39619; } CFG_50438: assume true; local_#21143 := (if local_#32258_dest > local_#32250_jmptarget then 1 else 0); if (local_#21143 != 0) { goto CFG_40812; } else { goto CFG_40813; } CFG_40812: assume true; local_#32250_jmptarget := local_#32258_dest; goto CFG_40813; CFG_40813: assume true; goto CFG_39619; CFG_39619: assume true; goto CFG_45087; CFG_50439: assume true; local_#21144 := (if local_#5764_reg >= local_#32253_a then 1 else 0); if (local_#21144 != 0) { goto CFG_47177; } else { goto CFG_39620; } CFG_47177: assume true; call local_#21145 := routine_#34739_filterpc(local_#32251_pc,local_#32250_jmptarget); goto CFG_40814; CFG_40814: assume true; local_#32252_setreg := local_#21145; goto CFG_39620; CFG_39620: assume true; goto CFG_45087; CFG_50440: assume true; local_#21146 := 2; local_#21147 := local_#32253_a + local_#21146; assert { :LIR "66634" } { :check "overflow" } { :finding_ids "0" } local_#21147 <= 2147483647; local_#21148 := (if local_#5764_reg >= local_#21147 then 1 else 0); if (local_#21148 != 0) { goto CFG_47178; } else { goto CFG_39621; } CFG_47178: assume true; call local_#21149 := routine_#34739_filterpc(local_#32251_pc,local_#32250_jmptarget); goto CFG_40815; CFG_40815: assume true; local_#32252_setreg := local_#21149; goto CFG_39621; CFG_39621: assume true; goto CFG_45087; CFG_50441: assume true; local_#21150 := 23; local_#21151 := ~lshr32(local_#32254_i, local_#21150); local_#21152 := 511; local_#21153 := ~uand32(local_#21151, local_#21152); local_#21154 := local_#21153; assert { :LIR "61529" } { :check "overflow" } { :finding_ids "0" } local_#21154 <= 2147483647; local_#32256_b := local_#21154; local_#21155 := (if local_#32253_a <= local_#5764_reg then 1 else 0); if (local_#21155 != 0) { goto CFG_50442; } else { goto CFG_39622; } CFG_50442: assume true; local_#21156 := local_#32253_a + local_#32256_b; assert { :LIR "66635" } { :check "overflow" } { :finding_ids "0" } local_#21156 <= 2147483647; local_#21157 := (if local_#5764_reg <= local_#21156 then 1 else 0); if (local_#21157 != 0) { goto CFG_47179; } else { goto CFG_39622; } CFG_47179: assume true; call local_#21158 := routine_#34739_filterpc(local_#32251_pc,local_#32250_jmptarget); goto CFG_40816; CFG_40816: assume true; local_#32252_setreg := local_#21158; goto CFG_39622; CFG_39622: assume true; goto CFG_45087; CFG_45087: assume true; local_#21159 := local_#32251_pc; local_#21160 := 1; local_#32251_pc := local_#21159 + local_#21160; assert { :LIR "66636" } { :check "overflow" } { :finding_ids "0" } local_#32251_pc <= 2147483647; local_#21161 := local_#21159; goto CFG_50433; CFG_41936: assume true; goto CFG_45087; CFG_37648: assume true; } procedure routine_#34750_findvararg(local_#5765_ci_IN : { base : int, offset : int }, local_#5766_n_IN : int, local_#5767_pos_IN : { base : int, offset : int }) returns (local_#8039 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5765_ci : { base : int, offset : int }; var local_#5766_n : int; var local_#5767_pos : { base : int, offset : int }; var local_#21162 : { base : int, offset : int }; var local_#21163 : { base : int, offset : int }; var local_#21164 : { base : int, offset : int }; var local_#21165 : { base : int, offset : int }; var local_#21166 : { base : int, offset : int }; var local_#21167 : { base : int, offset : int }; var local_#21168 : int; var local_#32259_nparams : int; var local_#21169 : { base : int, offset : int }; var local_#21170 : int; var local_#21171 : int; var local_#21172 : int; var local_#21173 : int; var local_#21174 : { base : int, offset : int }; var local_#21175 : { base : int, offset : int }; var local_#21176 : { base : int, offset : int }; var local_#21177 : { base : int, offset : int }; local_#5765_ci := local_#5765_ci_IN; local_#5766_n := local_#5766_n_IN; local_#5767_pos := local_#5767_pos_IN; goto CFG_36738; CFG_36738: assume true; goto CFG_50443; CFG_50443: assume true; local_#21162 := _memory_ptr[{ base : local_#5765_ci!base, offset : local_#5765_ci!offset + 0 }]; local_#21163 := { base : local_#21162!base, offset : local_#21162!offset + 0 }; local_#21164 := _memory_ptr[local_#21163]; assert { :LIR "61530" } { :check "overflow" } { :finding_ids "0" } true; local_#21165 := { base : local_#21164!base, offset : local_#21164!offset + 0 }; local_#21166 := { base : local_#21165!base, offset : local_#21165!offset + 0 }; local_#21167 := _memory_ptr[{ base : local_#21166!base, offset : local_#21166!offset + 24 }]; local_#21168 := _memory[{ base : local_#21167!base, offset : local_#21167!offset + 10 }]; assert { :LIR "63212" } { :check "overflow" } { :finding_ids "0" } local_#21168 <= 2147483647; local_#32259_nparams := local_#21168; local_#21169 := { base : local_#5765_ci!base, offset : local_#5765_ci!offset + 32 }; local_#21170 := (_memory_ptr[{ base : local_#21169!base, offset : local_#21169!offset + 0 }]!offset - _memory_ptr[{ base : local_#5765_ci!base, offset : local_#5765_ci!offset + 0 }]!offset) / 16; local_#21171 := local_#21170; assert { :LIR "61531" } { :check "overflow" } { :finding_ids "0" } local_#21171 <= 2147483647; local_#21172 := local_#21171 - local_#32259_nparams; assert { :LIR "68037" } { :check "overflow" } { :finding_ids "0" } local_#21172 <= 2147483647; local_#21173 := (if local_#5766_n >= local_#21172 then 1 else 0); if (local_#21173 != 0) { goto CFG_38510; } else { goto CFG_38509; } CFG_38509: assume true; local_#21174 := { base : _memory_ptr[{ base : local_#5765_ci!base, offset : local_#5765_ci!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#5765_ci!base, offset : local_#5765_ci!offset + 0 }]!offset + local_#32259_nparams * 16 }; local_#21175 := { base : local_#21174!base, offset : local_#21174!offset + local_#5766_n * 16 }; _memory_ptr[local_#5767_pos] := local_#21175; assume _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 0 }] == 40 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 1 }] == 42 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 2 }] == 118 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 3 }] == 97 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 4 }] == 114 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 5 }] == 97 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 6 }] == 114 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 7 }] == 103 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 8 }] == 41 && _memory[{ base : strlit_#70564!base, offset : strlit_#70564!offset + 9 }] == 0; local_#21176 := strlit_#70564; local_#21177 := { base : local_#21176!base, offset : local_#21176!offset + 0 * 1 }; assert { :LIR "63213" } { :check "overflow" } { :finding_ids "0" } true; local_#8039 := local_#21177; goto CFG_37649; CFG_38510: assume true; local_#8039 := { base : 0, offset : 0 }; goto CFG_37649; CFG_37649: assume true; } procedure routine_#34751_finishCcall(local_#5768_L_IN : { base : int, offset : int }, local_#5769_status_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5768_L : { base : int, offset : int }; var local_#5769_status : int; var local_#32260_ci : { base : int, offset : int }; var local_#21178 : int; var local_#21179 : int; var local_#21180 : int; var local_#21181 : int; var local_#21182 : int; var local_#21183 : int; var local_#21184 : int; var local_#21185 : int; var local_#21186 : int; var local_#21187 : int; var local_#21188 : { base : int, offset : int }; var local_#21189 : int; var local_#21190 : int; var local_#21191 : int; var local_#21192 : { base : int, offset : int }; var local_#21193 : int; var local_#21194 : { base : int, offset : int }; var local_#21195 : int; var local_#21196 : int; var local_#21197 : { base : int, offset : int }; var local_#21198 : { base : int, offset : int }; var local_#21199 : { base : int, offset : int }; var local_#21200 : int; var local_#21201 : int; var local_#32261_n : int; var local_#21202 : int; var local_#21203 : int; var local_#21204 : int; var local_#21205 : int; var local_#21206 : { base : int, offset : int }; var local_#21207 : int; local_#5768_L := local_#5768_L_IN; local_#5769_status := local_#5769_status_IN; goto CFG_36739; CFG_36739: assume true; goto CFG_50444; CFG_50444: assume true; local_#32260_ci := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 32 }]; local_#21178 := 0; local_#21179 := 0; assert { :LIR "61532" } { :check "overflow" } { :finding_ids "0" } true; local_#21180 := 0; local_#21181 := 0; assert { :LIR "61533" } { :check "overflow" } { :finding_ids "0" } true; local_#21182 := _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 66 }]; assert { :LIR "63214" } { :check "overflow" } { :finding_ids "0" } local_#21182 <= 2147483647; local_#21183 := 16; local_#21184 := ~sand32(local_#21182, local_#21183); if (local_#21184 != 0) { goto CFG_40817; } else { goto CFG_50445; } CFG_40817: assume true; local_#21185 := -17; local_#21186 := _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 66 }]; assert { :LIR "63215" } { :check "overflow" } { :finding_ids "0" } local_#21186 <= 2147483647; local_#21187 := ~sand32(local_#21186, local_#21185); _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 66 }] := ~uwrap16(local_#21187); assert { :LIR "63216" } { :check "overflow" } { :finding_ids "0" } true; local_#21188 := { base : local_#32260_ci!base, offset : local_#32260_ci!offset + 32 }; _memory[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 176 }] := _memory[{ base : local_#21188!base, offset : local_#21188!offset + 8 }]; goto CFG_50445; CFG_50445: assume true; local_#21189 := _memory[{ base : local_#32260_ci!base, offset : local_#32260_ci!offset + 64 }]; assert { :LIR "63217" } { :check "overflow" } { :finding_ids "0" } local_#21189 <= 2147483647; local_#21190 := -1; local_#21191 := (if local_#21189 == local_#21190 then 1 else 0); if (local_#21191 != 0) { goto CFG_50446; } else { goto CFG_43492; } CFG_50446: assume true; local_#21192 := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 32 }]; local_#21193 := (if _memory_ptr[{ base : local_#21192!base, offset : local_#21192!offset + 8 }]!offset < _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]!offset then 1 else 0); if (local_#21193 != 0) { goto CFG_40818; } else { goto CFG_43492; } CFG_40818: assume true; local_#21194 := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 32 }]; _memory_ptr[{ base : local_#21194!base, offset : local_#21194!offset + 8 }] := _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]; goto CFG_43492; CFG_43492: assume true; local_#21195 := 0; local_#21196 := 0; assert { :LIR "61534" } { :check "overflow" } { :finding_ids "0" } true; local_#21197 := { base : local_#32260_ci!base, offset : local_#32260_ci!offset + 32 }; local_#21198 := _memory_ptr[{ base : local_#21197!base, offset : local_#21197!offset + 0 }]; local_#21199 := { base : local_#32260_ci!base, offset : local_#32260_ci!offset + 32 }; local_#21200 := _memory[{ base : local_#21199!base, offset : local_#21199!offset + 16 }]; goto CFG_47180; CFG_47180: assume true; assume false; goto CFG_43493; CFG_43493: assume true; local_#32261_n := local_#21201; local_#21202 := 0; local_#21203 := 0; assert { :LIR "61535" } { :check "overflow" } { :finding_ids "0" } true; local_#21204 := 0; local_#21205 := 0; assert { :LIR "61536" } { :check "overflow" } { :finding_ids "0" } true; local_#21206 := { base : _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5768_L!base, offset : local_#5768_L!offset + 16 }]!offset - local_#32261_n * 16 }; goto CFG_47181; CFG_47181: assume true; call local_#21207 := routine_#33737_luaD_poscall(local_#5768_L,local_#32260_ci,local_#21206,local_#32261_n); goto CFG_39324; CFG_39324: assume true; goto CFG_37650; CFG_37650: assume true; } procedure routine_#34752_finishpcall(local_#5770_L_IN : { base : int, offset : int }, local_#5771_status_IN : int, local_#5772_extra_IN : int) returns (local_#8040 : int) modifies _memory, _memory_ptr; { var local_#5770_L : { base : int, offset : int }; var local_#5771_status : int; var local_#5772_extra : int; var local_#21208 : int; var local_#21209 : int; var local_#21210 : int; var local_#21211 : int; var local_#21212 : int; var local_#21213 : int; var local_#21214 : int; var local_#21215 : int; var local_#21216 : int; local_#5770_L := local_#5770_L_IN; local_#5771_status := local_#5771_status_IN; local_#5772_extra := local_#5772_extra_IN; goto CFG_36740; CFG_36740: assume true; goto CFG_50447; CFG_50447: assume true; local_#21208 := 0; local_#21209 := (if local_#5771_status != local_#21208 then 1 else 0); if (local_#21209 != 0) { goto CFG_50448; } else { goto CFG_47182; } CFG_50448: assume true; local_#21210 := 1; local_#21211 := (if local_#5771_status != local_#21210 then 1 else 0); if (local_#21211 != 0) { goto CFG_43494; } else { goto CFG_47182; } CFG_47182: assume true; call local_#21212 := routine_#33941_lua_gettop(local_#5770_L); goto CFG_38511; CFG_38511: assume true; local_#21213 := local_#5772_extra; assert { :LIR "61537" } { :check "overflow" } { :finding_ids "0" } local_#21213 <= 2147483647; local_#21214 := local_#21212 - local_#21213; assert { :LIR "68038" } { :check "overflow" } { :finding_ids "0" } local_#21214 <= 2147483647; local_#8040 := local_#21214; goto CFG_37651; CFG_43494: assume true; local_#21215 := 0; goto CFG_47183; CFG_47183: assume true; call routine_#33957_lua_pushboolean(local_#5770_L,local_#21215); goto CFG_43495; CFG_43495: assume true; local_#21216 := -2; goto CFG_47184; CFG_47184: assume true; call routine_#33967_lua_pushvalue(local_#5770_L,local_#21216); goto CFG_38512; CFG_38512: assume true; local_#8040 := 2; goto CFG_37651; CFG_37651: assume true; } procedure routine_#34753_fixjump(local_#5773_fs_IN : { base : int, offset : int }, local_#5774_pc_IN : int, local_#5775_dest_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5773_fs : { base : int, offset : int }; var local_#5774_pc : int; var local_#5775_dest : int; var local_#21217 : { base : int, offset : int }; var local_#21218 : { base : int, offset : int }; var local_#32262_jmp : { base : int, offset : int }; var local_#21219 : int; var local_#21220 : int; var local_#21221 : int; var local_#32263_offset : int; var local_#21222 : int; var local_#21223 : int; var local_#21224 : int; var local_#21225 : int; var local_#21226 : int; var local_#21227 : int; var local_#21228 : int; var local_#21229 : int; var local_#21230 : int; var local_#21231 : int; var local_#21232 : int; var local_#21233 : int; var local_#21234 : int; var local_#21235 : int; var local_#21236 : int; var local_#21237 : int; var local_#21238 : { base : int, offset : int }; var local_#21239 : { base : int, offset : int }; var local_#21240 : { base : int, offset : int }; local_#5773_fs := local_#5773_fs_IN; local_#5774_pc := local_#5774_pc_IN; local_#5775_dest := local_#5775_dest_IN; goto CFG_36741; CFG_36741: assume true; goto CFG_43496; CFG_43496: assume true; local_#21217 := _memory_ptr[{ base : local_#5773_fs!base, offset : local_#5773_fs!offset + 0 }]; local_#21218 := { base : _memory_ptr[{ base : local_#21217!base, offset : local_#21217!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#21217!base, offset : local_#21217!offset + 56 }]!offset + local_#5774_pc * 4 }; local_#32262_jmp := local_#21218; local_#21219 := 1; local_#21220 := local_#5774_pc + local_#21219; assert { :LIR "66637" } { :check "overflow" } { :finding_ids "0" } local_#21220 <= 2147483647; local_#21221 := local_#5775_dest - local_#21220; assert { :LIR "68039" } { :check "overflow" } { :finding_ids "0" } local_#21221 <= 2147483647; local_#32263_offset := local_#21221; local_#21222 := 0; local_#21223 := 0; assert { :LIR "61538" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47185; CFG_47185: assume true; call local_#21224 := routine_#33437_abs(local_#32263_offset); goto CFG_50449; CFG_50449: assume true; local_#21225 := 131071; local_#21226 := (if local_#21224 > local_#21225 then 1 else 0); if (local_#21226 != 0) { goto CFG_43497; } else { goto CFG_39325; } CFG_39325: assume true; local_#21227 := 16383; local_#21228 := ~uand32(_memory[local_#32262_jmp], local_#21227); local_#21229 := 131071; local_#21230 := local_#32263_offset + local_#21229; assert { :LIR "66638" } { :check "overflow" } { :finding_ids "0" } local_#21230 <= 2147483647; local_#21231 := ~uwrap32(local_#21230); assert { :LIR "61539" } { :check "overflow" } { :finding_ids "0" } true; local_#21232 := ~uwrap32(local_#21231); assert { :LIR "61540" } { :check "overflow" } { :finding_ids "0" } true; local_#21233 := 14; local_#21234 := ~shl32(local_#21232, local_#21233); local_#21235 := 4294950912; local_#21236 := ~uand32(local_#21234, local_#21235); local_#21237 := ~uor32(local_#21228, local_#21236); _memory[local_#32262_jmp] := local_#21237; goto CFG_37652; CFG_43497: assume true; local_#21238 := _memory_ptr[{ base : local_#5773_fs!base, offset : local_#5773_fs!offset + 16 }]; assume _memory[{ base : strlit_#70565!base, offset : strlit_#70565!offset + 26 }] == 0; local_#21239 := strlit_#70565; local_#21240 := { base : local_#21239!base, offset : local_#21239!offset + 0 * 1 }; assert { :LIR "63218" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47186; CFG_47186: assume true; call routine_#33910_luaX_syntaxerror(local_#21238,local_#21240); CFG_37652: assume true; } procedure routine_#34754_forbody(local_#5776_ls_IN : { base : int, offset : int }, local_#5777_base_IN : int, local_#5778_line_IN : int, local_#5779_nvars_IN : int, local_#5780_isnum_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5776_ls : { base : int, offset : int }; var local_#5777_base : int; var local_#5778_line : int; var local_#5779_nvars : int; var local_#5780_isnum : int; var local_#32266_fs : { base : int, offset : int }; var local_#21241 : int; var local_#21242 : int; var local_#21243 : int; var local_#21244 : int; var local_#30756 : int; var local_#21245 : int; var local_#21246 : int; var local_#21247 : int; var local_#32267_prep : int; var local_#32264_bl : { base : int, offset : int }; var local_#21248 : { base : int, offset : int }; var local_#21249 : int; var local_#21250 : int; var local_#21251 : int; var local_#21252 : int; var local_#21253 : int; var local_#21254 : int; var local_#21255 : int; var local_#21256 : int; var local_#21257 : int; var local_#21258 : int; var local_#32265_endfor : int; var local_#21259 : int; var local_#21260 : int; var local_#21261 : int; var local_#21262 : int; var local_#21263 : int; local_#5776_ls := local_#5776_ls_IN; local_#5777_base := local_#5777_base_IN; local_#5778_line := local_#5778_line_IN; local_#5779_nvars := local_#5779_nvars_IN; local_#5780_isnum := local_#5780_isnum_IN; goto CFG_36742; CFG_36742: assume true; goto CFG_43498; CFG_43498: assume true; local_#32266_fs := _memory_ptr[{ base : local_#5776_ls!base, offset : local_#5776_ls!offset + 48 }]; local_#21241 := 3; goto CFG_47187; CFG_47187: assume true; call routine_#34581_adjustlocalvars(local_#5776_ls,local_#21241); goto CFG_43499; CFG_43499: assume true; local_#21242 := 259; goto CFG_47188; CFG_47188: assume true; call routine_#34637_checknext(local_#5776_ls,local_#21242); goto CFG_50450; CFG_50450: assume true; local_#21243 := local_#5780_isnum; if (local_#21243 != 0) { goto CFG_43500; } else { goto CFG_47189; } CFG_47189: assume true; call local_#21244 := routine_#33797_luaK_jump(local_#32266_fs); goto CFG_40819; CFG_40819: assume true; local_#30756 := local_#21244; goto CFG_43501; CFG_43500: assume true; local_#21245 := 40; local_#21246 := 131070; goto CFG_47190; CFG_47190: assume true; call local_#21247 := routine_#33781_luaK_codeABx(local_#32266_fs,local_#21245,local_#5777_base,local_#21246); goto CFG_40820; CFG_40820: assume true; local_#30756 := local_#21247; goto CFG_43501; CFG_43501: assume true; local_#32267_prep := local_#30756; local_#21248 := local_#32264_bl; local_#21249 := 0; goto CFG_47191; CFG_47191: assume true; call routine_#34710_enterblock(local_#32266_fs,local_#21248,local_#21249); goto CFG_47192; CFG_47192: assume true; call routine_#34581_adjustlocalvars(local_#5776_ls,local_#5779_nvars); goto CFG_47193; CFG_47193: assume true; call routine_#33804_luaK_reserveregs(local_#32266_fs,local_#5779_nvars); goto CFG_47194; CFG_47194: assume true; call routine_#34611_block(local_#5776_ls); goto CFG_47195; CFG_47195: assume true; call routine_#34856_leaveblock(local_#32266_fs); goto CFG_47196; CFG_47196: assume true; call routine_#33801_luaK_patchtohere(local_#32266_fs,local_#32267_prep); goto CFG_50451; CFG_50451: assume true; local_#21250 := local_#5780_isnum; if (local_#21250 != 0) { goto CFG_43504; } else { goto CFG_43502; } CFG_43502: assume true; local_#21251 := 41; local_#21252 := 0; goto CFG_47197; CFG_47197: assume true; call local_#21253 := routine_#33780_luaK_codeABC(local_#32266_fs,local_#21251,local_#5777_base,local_#21252,local_#5779_nvars); goto CFG_47198; CFG_47198: assume true; call routine_#33790_luaK_fixline(local_#32266_fs,local_#5778_line); goto CFG_43503; CFG_43503: assume true; local_#21254 := 42; local_#21255 := 2; local_#21256 := local_#5777_base + local_#21255; assert { :LIR "66639" } { :check "overflow" } { :finding_ids "0" } local_#21256 <= 2147483647; local_#21257 := 131070; goto CFG_47199; CFG_47199: assume true; call local_#21258 := routine_#33781_luaK_codeABx(local_#32266_fs,local_#21254,local_#21256,local_#21257); goto CFG_40821; CFG_40821: assume true; local_#32265_endfor := local_#21258; goto CFG_43505; CFG_43504: assume true; local_#21259 := 39; local_#21260 := 131070; goto CFG_47200; CFG_47200: assume true; call local_#21261 := routine_#33781_luaK_codeABx(local_#32266_fs,local_#21259,local_#5777_base,local_#21260); goto CFG_40822; CFG_40822: assume true; local_#32265_endfor := local_#21261; goto CFG_43505; CFG_43505: assume true; local_#21262 := 1; local_#21263 := local_#32267_prep + local_#21262; assert { :LIR "66640" } { :check "overflow" } { :finding_ids "0" } local_#21263 <= 2147483647; goto CFG_47201; CFG_47201: assume true; call routine_#33800_luaK_patchlist(local_#32266_fs,local_#32265_endfor,local_#21263); goto CFG_47202; CFG_47202: assume true; call routine_#33790_luaK_fixline(local_#32266_fs,local_#5778_line); goto CFG_39326; CFG_39326: assume true; goto CFG_37653; CFG_37653: assume true; } procedure routine_#34755_forlimit(local_#5781_obj_IN : { base : int, offset : int }, local_#5782_p_IN : { base : int, offset : int }, local_#5783_step_IN : int, local_#5784_stopnow_IN : { base : int, offset : int }) returns (local_#8041 : int) modifies _memory, _memory_ptr; { var local_#5781_obj : { base : int, offset : int }; var local_#5782_p : { base : int, offset : int }; var local_#5783_step : int; var local_#5784_stopnow : { base : int, offset : int }; var local_#21264 : int; var local_#21265 : int; var local_#30757 : int; var local_#21266 : int; var local_#21267 : int; var local_#21268 : int; var local_#21269 : int; var local_#32268_n : { base : int, offset : int }; var local_#21270 : { base : int, offset : int }; var local_#21271 : int; var local_#21272 : int; var local_#21273 : { base : int, offset : int }; var nondet_#0 : int; var nondet_#1 : int; var local_#21274 : int; var local_#21275 : int; var nondet_#2 : int; var local_#21276 : int; var nondet_#3 : int; var nondet_#4 : bool; var local_#21277 : int; var local_#21278 : int; var local_#21279 : int; var local_#21280 : int; var local_#21281 : int; local_#5781_obj := local_#5781_obj_IN; local_#5782_p := local_#5782_p_IN; local_#5783_step := local_#5783_step_IN; local_#5784_stopnow := local_#5784_stopnow_IN; goto CFG_36743; CFG_36743: assume true; goto CFG_50452; CFG_50452: assume true; _memory[local_#5784_stopnow] := 0; local_#21264 := 0; local_#21265 := (if local_#5783_step < local_#21264 then 1 else 0); if (local_#21265 != 0) { goto CFG_40824; } else { goto CFG_40823; } CFG_40823: assume true; local_#30757 := 1; goto CFG_47203; CFG_40824: assume true; local_#30757 := 2; goto CFG_47203; CFG_47203: assume true; call local_#21266 := routine_#33903_luaV_tointeger(local_#5781_obj,local_#5782_p,local_#30757); goto CFG_50453; CFG_50453: assume true; local_#21267 := (if local_#21266 != 0 then 0 else 1); if (local_#21267 != 0) { goto CFG_50454; } else { goto CFG_38514; } CFG_50454: assume true; local_#21268 := 3; local_#21269 := (if _memory[{ base : local_#5781_obj!base, offset : local_#5781_obj!offset + 8 }] == local_#21268 then 1 else 0); if (local_#21269 != 0) { goto CFG_50456; } else { goto CFG_43506; } CFG_43506: assume true; local_#21270 := local_#32268_n; goto CFG_47204; CFG_47204: assume true; call local_#21271 := routine_#33904_luaV_tonumber_(local_#5781_obj,local_#21270); goto CFG_50455; CFG_50455: assume true; local_#21272 := local_#21271; if (local_#21272 != 0) { goto CFG_50457; } else { goto CFG_38513; } CFG_50456: assume true; local_#21273 := { base : local_#5781_obj!base, offset : local_#5781_obj!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ havoc nondet_#1; local_#21274 := nondet_#1 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; local_#21275 := 1; if (local_#21275 != 0) { goto CFG_50457; } else { goto CFG_38513; } CFG_38513: assume true; local_#8041 := 0; goto CFG_37654; CFG_50457: assume true; havoc nondet_#2; local_#21276 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78619 */; havoc nondet_#3; havoc nondet_#4; local_#21277 := (if nondet_#4 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66258. */ then 1 else 0); if (local_#21277 != 0) { goto CFG_50459; } else { goto CFG_50458; } CFG_50458: assume true; _memory[local_#5782_p] := -9223372036854775808; local_#21278 := 0; local_#21279 := (if local_#5783_step >= local_#21278 then 1 else 0); if (local_#21279 != 0) { goto CFG_40825; } else { goto CFG_40826; } CFG_40825: assume true; _memory[local_#5784_stopnow] := 1; goto CFG_40826; CFG_40826: assume true; goto CFG_40829; CFG_50459: assume true; _memory[local_#5782_p] := 9223372036854775807; local_#21280 := 0; local_#21281 := (if local_#5783_step < local_#21280 then 1 else 0); if (local_#21281 != 0) { goto CFG_40827; } else { goto CFG_40828; } CFG_40827: assume true; _memory[local_#5784_stopnow] := 1; goto CFG_40828; CFG_40828: assume true; goto CFG_40829; CFG_40829: assume true; goto CFG_38514; CFG_38514: assume true; local_#8041 := 1; goto CFG_37654; CFG_37654: assume true; } procedure routine_#34756_forlist(local_#5785_ls_IN : { base : int, offset : int }, local_#5786_indexname_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5785_ls : { base : int, offset : int }; var local_#5786_indexname : { base : int, offset : int }; var local_#32271_fs : { base : int, offset : int }; var local_#32273_nvars : int; var local_#21282 : int; var local_#32269_base : int; var local_#21283 : { base : int, offset : int }; var local_#21284 : { base : int, offset : int }; var local_#21285 : int; var local_#21286 : { base : int, offset : int }; var local_#21287 : { base : int, offset : int }; var local_#21288 : int; var local_#21289 : { base : int, offset : int }; var local_#21290 : { base : int, offset : int }; var local_#21291 : int; var local_#21292 : int; var local_#21293 : int; var local_#21294 : int; var local_#21295 : int; var local_#32272_line : int; var local_#21296 : int; var local_#32270_e : { base : int, offset : int }; var local_#21297 : { base : int, offset : int }; var local_#21298 : int; var local_#21299 : { base : int, offset : int }; var local_#21300 : int; var local_#21301 : int; var local_#21302 : int; var local_#21303 : int; var local_#21304 : { base : int, offset : int }; var local_#21305 : int; var local_#21306 : int; var local_#21307 : int; local_#5785_ls := local_#5785_ls_IN; local_#5786_indexname := local_#5786_indexname_IN; goto CFG_36744; CFG_36744: assume true; goto CFG_43507; CFG_43507: assume true; local_#32271_fs := _memory_ptr[{ base : local_#5785_ls!base, offset : local_#5785_ls!offset + 48 }]; local_#32273_nvars := 4; local_#21282 := _memory[{ base : local_#32271_fs!base, offset : local_#32271_fs!offset + 60 }]; assert { :LIR "63219" } { :check "overflow" } { :finding_ids "0" } local_#21282 <= 2147483647; local_#32269_base := local_#21282; assume _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 0 }] == 40 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 1 }] == 102 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 2 }] == 111 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 3 }] == 114 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 4 }] == 32 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 5 }] == 103 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 6 }] == 101 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 7 }] == 110 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 8 }] == 101 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 9 }] == 114 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 10 }] == 97 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 11 }] == 116 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 12 }] == 111 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 13 }] == 114 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 14 }] == 41 && _memory[{ base : strlit_#70566!base, offset : strlit_#70566!offset + 15 }] == 0; local_#21283 := strlit_#70566; local_#21284 := { base : local_#21283!base, offset : local_#21283!offset + 0 * 1 }; assert { :LIR "63220" } { :check "overflow" } { :finding_ids "0" } true; local_#21285 := 15; goto CFG_47205; CFG_47205: assume true; call routine_#34957_new_localvarliteral_(local_#5785_ls,local_#21284,local_#21285); goto CFG_43508; CFG_43508: assume true; assume _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 0 }] == 40 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 1 }] == 102 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 2 }] == 111 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 3 }] == 114 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 4 }] == 32 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 5 }] == 115 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 6 }] == 116 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 7 }] == 97 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 8 }] == 116 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 9 }] == 101 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 10 }] == 41 && _memory[{ base : strlit_#70567!base, offset : strlit_#70567!offset + 11 }] == 0; local_#21286 := strlit_#70567; local_#21287 := { base : local_#21286!base, offset : local_#21286!offset + 0 * 1 }; assert { :LIR "63221" } { :check "overflow" } { :finding_ids "0" } true; local_#21288 := 11; goto CFG_47206; CFG_47206: assume true; call routine_#34957_new_localvarliteral_(local_#5785_ls,local_#21287,local_#21288); goto CFG_43509; CFG_43509: assume true; assume _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 0 }] == 40 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 1 }] == 102 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 2 }] == 111 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 3 }] == 114 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 4 }] == 32 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 5 }] == 99 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 6 }] == 111 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 7 }] == 110 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 8 }] == 116 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 9 }] == 114 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 10 }] == 111 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 11 }] == 108 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 12 }] == 41 && _memory[{ base : strlit_#70568!base, offset : strlit_#70568!offset + 13 }] == 0; local_#21289 := strlit_#70568; local_#21290 := { base : local_#21289!base, offset : local_#21289!offset + 0 * 1 }; assert { :LIR "63222" } { :check "overflow" } { :finding_ids "0" } true; local_#21291 := 13; goto CFG_47207; CFG_47207: assume true; call routine_#34957_new_localvarliteral_(local_#5785_ls,local_#21290,local_#21291); goto CFG_47208; CFG_47208: assume true; call routine_#34956_new_localvar(local_#5785_ls,local_#5786_indexname); goto CFG_41747; CFG_41747: assume true; goto CFG_43510; CFG_43510: assume true; local_#21292 := 44; goto CFG_47209; CFG_47209: assume true; call local_#21293 := routine_#35112_testnext(local_#5785_ls,local_#21292); goto CFG_50460; CFG_50460: assume true; local_#21294 := local_#21293; if (local_#21294 != 0) { goto CFG_47215; } else { goto CFG_43511; } CFG_43511: assume true; local_#21295 := 268; goto CFG_47210; CFG_47210: assume true; call routine_#34637_checknext(local_#5785_ls,local_#21295); goto CFG_43512; CFG_43512: assume true; local_#32272_line := _memory[{ base : local_#5785_ls!base, offset : local_#5785_ls!offset + 4 }]; local_#21296 := 3; local_#21297 := local_#32270_e; goto CFG_47211; CFG_47211: assume true; call local_#21298 := routine_#34720_explist(local_#5785_ls,local_#21297); goto CFG_43513; CFG_43513: assume true; local_#21299 := local_#32270_e; goto CFG_47212; CFG_47212: assume true; call routine_#34579_adjust_assign(local_#5785_ls,local_#21296,local_#21298,local_#21299); goto CFG_43514; CFG_43514: assume true; local_#21300 := 3; goto CFG_47213; CFG_47213: assume true; call routine_#33779_luaK_checkstack(local_#32271_fs,local_#21300); goto CFG_43515; CFG_43515: assume true; local_#21301 := 3; local_#21302 := local_#32273_nvars - local_#21301; assert { :LIR "68040" } { :check "overflow" } { :finding_ids "0" } local_#21302 <= 2147483647; local_#21303 := 0; goto CFG_47214; CFG_47214: assume true; call routine_#34754_forbody(local_#5785_ls,local_#32269_base,local_#32272_line,local_#21302,local_#21303); goto CFG_39327; CFG_39327: assume true; goto CFG_37655; CFG_47215: assume true; call local_#21304 := routine_#35085_str_checkname(local_#5785_ls); goto CFG_47216; CFG_47216: assume true; call routine_#34956_new_localvar(local_#5785_ls,local_#21304); goto CFG_45088; CFG_45088: assume true; local_#21305 := local_#32273_nvars; local_#21306 := 1; local_#32273_nvars := local_#21305 + local_#21306; assert { :LIR "66641" } { :check "overflow" } { :finding_ids "0" } local_#32273_nvars <= 2147483647; local_#21307 := local_#21305; goto CFG_43510; CFG_37655: assume true; } procedure routine_#34757_fornum(local_#5787_ls_IN : { base : int, offset : int }, local_#5788_varname_IN : { base : int, offset : int }, local_#5789_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5787_ls : { base : int, offset : int }; var local_#5788_varname : { base : int, offset : int }; var local_#5789_line : int; var local_#32275_fs : { base : int, offset : int }; var local_#21308 : int; var local_#32274_base : int; var local_#21309 : { base : int, offset : int }; var local_#21310 : { base : int, offset : int }; var local_#21311 : int; var local_#21312 : { base : int, offset : int }; var local_#21313 : { base : int, offset : int }; var local_#21314 : int; var local_#21315 : { base : int, offset : int }; var local_#21316 : { base : int, offset : int }; var local_#21317 : int; var local_#21318 : int; var local_#21319 : int; var local_#21320 : int; var local_#21321 : int; var local_#21322 : int; var local_#21323 : int; var local_#21324 : int; var local_#21325 : int; var local_#21326 : int; var local_#21327 : int; var local_#21328 : int; var local_#21329 : int; var local_#21330 : int; var local_#21331 : int; var local_#21332 : int; local_#5787_ls := local_#5787_ls_IN; local_#5788_varname := local_#5788_varname_IN; local_#5789_line := local_#5789_line_IN; goto CFG_36745; CFG_36745: assume true; goto CFG_43516; CFG_43516: assume true; local_#32275_fs := _memory_ptr[{ base : local_#5787_ls!base, offset : local_#5787_ls!offset + 48 }]; local_#21308 := _memory[{ base : local_#32275_fs!base, offset : local_#32275_fs!offset + 60 }]; assert { :LIR "63223" } { :check "overflow" } { :finding_ids "0" } local_#21308 <= 2147483647; local_#32274_base := local_#21308; assume _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 0 }] == 40 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 1 }] == 102 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 2 }] == 111 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 3 }] == 114 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 4 }] == 32 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 5 }] == 105 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 6 }] == 110 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 7 }] == 100 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 8 }] == 101 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 9 }] == 120 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 10 }] == 41 && _memory[{ base : strlit_#70569!base, offset : strlit_#70569!offset + 11 }] == 0; local_#21309 := strlit_#70569; local_#21310 := { base : local_#21309!base, offset : local_#21309!offset + 0 * 1 }; assert { :LIR "63224" } { :check "overflow" } { :finding_ids "0" } true; local_#21311 := 11; goto CFG_47217; CFG_47217: assume true; call routine_#34957_new_localvarliteral_(local_#5787_ls,local_#21310,local_#21311); goto CFG_43517; CFG_43517: assume true; assume _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 0 }] == 40 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 1 }] == 102 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 2 }] == 111 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 3 }] == 114 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 4 }] == 32 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 5 }] == 108 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 6 }] == 105 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 7 }] == 109 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 8 }] == 105 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 9 }] == 116 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 10 }] == 41 && _memory[{ base : strlit_#70570!base, offset : strlit_#70570!offset + 11 }] == 0; local_#21312 := strlit_#70570; local_#21313 := { base : local_#21312!base, offset : local_#21312!offset + 0 * 1 }; assert { :LIR "63225" } { :check "overflow" } { :finding_ids "0" } true; local_#21314 := 11; goto CFG_47218; CFG_47218: assume true; call routine_#34957_new_localvarliteral_(local_#5787_ls,local_#21313,local_#21314); goto CFG_43518; CFG_43518: assume true; assume _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 0 }] == 40 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 1 }] == 102 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 2 }] == 111 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 3 }] == 114 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 4 }] == 32 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 5 }] == 115 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 6 }] == 116 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 7 }] == 101 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 8 }] == 112 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 9 }] == 41 && _memory[{ base : strlit_#70571!base, offset : strlit_#70571!offset + 10 }] == 0; local_#21315 := strlit_#70571; local_#21316 := { base : local_#21315!base, offset : local_#21315!offset + 0 * 1 }; assert { :LIR "63226" } { :check "overflow" } { :finding_ids "0" } true; local_#21317 := 10; goto CFG_47219; CFG_47219: assume true; call routine_#34957_new_localvarliteral_(local_#5787_ls,local_#21316,local_#21317); goto CFG_47220; CFG_47220: assume true; call routine_#34956_new_localvar(local_#5787_ls,local_#5788_varname); goto CFG_43519; CFG_43519: assume true; local_#21318 := 61; goto CFG_47221; CFG_47221: assume true; call routine_#34637_checknext(local_#5787_ls,local_#21318); goto CFG_47222; CFG_47222: assume true; call local_#21319 := routine_#34718_exp1(local_#5787_ls); goto CFG_43520; CFG_43520: assume true; local_#21320 := 44; goto CFG_47223; CFG_47223: assume true; call routine_#34637_checknext(local_#5787_ls,local_#21320); goto CFG_47224; CFG_47224: assume true; call local_#21321 := routine_#34718_exp1(local_#5787_ls); goto CFG_43521; CFG_43521: assume true; local_#21322 := 44; goto CFG_47225; CFG_47225: assume true; call local_#21323 := routine_#35112_testnext(local_#5787_ls,local_#21322); goto CFG_50461; CFG_50461: assume true; local_#21324 := local_#21323; if (local_#21324 != 0) { goto CFG_47229; } else { goto CFG_43522; } CFG_43522: assume true; local_#21325 := _memory[{ base : local_#32275_fs!base, offset : local_#32275_fs!offset + 60 }]; assert { :LIR "63227" } { :check "overflow" } { :finding_ids "0" } local_#21325 <= 2147483647; local_#21326 := 1; goto CFG_47226; CFG_47226: assume true; call local_#21327 := routine_#33796_luaK_intK(local_#32275_fs,local_#21326); goto CFG_47227; CFG_47227: assume true; call local_#21328 := routine_#33782_luaK_codek(local_#32275_fs,local_#21325,local_#21327); goto CFG_43523; CFG_43523: assume true; local_#21329 := 1; goto CFG_47228; CFG_47228: assume true; call routine_#33804_luaK_reserveregs(local_#32275_fs,local_#21329); goto CFG_40830; CFG_40830: assume true; goto CFG_43524; CFG_47229: assume true; call local_#21330 := routine_#34718_exp1(local_#5787_ls); goto CFG_40831; CFG_40831: assume true; goto CFG_43524; CFG_43524: assume true; local_#21331 := 1; local_#21332 := 1; goto CFG_47230; CFG_47230: assume true; call routine_#34754_forbody(local_#5787_ls,local_#32274_base,local_#5789_line,local_#21331,local_#21332); goto CFG_39328; CFG_39328: assume true; goto CFG_37656; CFG_37656: assume true; } procedure routine_#34758_forstat(local_#5790_ls_IN : { base : int, offset : int }, local_#5791_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5790_ls : { base : int, offset : int }; var local_#5791_line : int; var local_#32277_fs : { base : int, offset : int }; var local_#32276_bl : { base : int, offset : int }; var local_#21333 : { base : int, offset : int }; var local_#21334 : int; var local_#21335 : { base : int, offset : int }; var local_#32278_varname : { base : int, offset : int }; var local_#21336 : int; var local_#21337 : { base : int, offset : int }; var local_#21338 : { base : int, offset : int }; var local_#21339 : int; var local_#21340 : int; local_#5790_ls := local_#5790_ls_IN; local_#5791_line := local_#5791_line_IN; goto CFG_36746; CFG_36746: assume true; goto CFG_43525; CFG_43525: assume true; local_#32277_fs := _memory_ptr[{ base : local_#5790_ls!base, offset : local_#5790_ls!offset + 48 }]; local_#21333 := local_#32276_bl; local_#21334 := 1; goto CFG_47231; CFG_47231: assume true; call routine_#34710_enterblock(local_#32277_fs,local_#21333,local_#21334); goto CFG_47232; CFG_47232: assume true; call routine_#33908_luaX_next(local_#5790_ls); goto CFG_47233; CFG_47233: assume true; call local_#21335 := routine_#35085_str_checkname(local_#5790_ls); goto CFG_51540; CFG_51540: assume true; local_#32278_varname := local_#21335; local_#21336 := _memory[{ base : local_#5790_ls!base, offset : local_#5790_ls!offset + 16 }]; if (local_#21336 == 61) { goto CFG_47236; } if (local_#21336 == 44) { goto CFG_47235; } if (local_#21336 == 268) { goto CFG_47235; } goto CFG_43526; CFG_43526: assume true; assume _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 0 }] == 39 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 1 }] == 61 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 2 }] == 39 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 3 }] == 32 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 4 }] == 111 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 5 }] == 114 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 6 }] == 32 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 7 }] == 39 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 8 }] == 105 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 9 }] == 110 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 10 }] == 39 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 11 }] == 32 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 12 }] == 101 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 13 }] == 120 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 14 }] == 112 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 15 }] == 101 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 16 }] == 99 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 17 }] == 116 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 18 }] == 101 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 19 }] == 100 && _memory[{ base : strlit_#70572!base, offset : strlit_#70572!offset + 20 }] == 0; local_#21337 := strlit_#70572; local_#21338 := { base : local_#21337!base, offset : local_#21337!offset + 0 * 1 }; assert { :LIR "63228" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47234; CFG_47234: assume true; call routine_#33910_luaX_syntaxerror(local_#5790_ls,local_#21338); CFG_47235: assume true; call routine_#34756_forlist(local_#5790_ls,local_#32278_varname); goto CFG_39623; CFG_39623: assume true; goto CFG_43527; CFG_47236: assume true; call routine_#34757_fornum(local_#5790_ls,local_#32278_varname,local_#5791_line); goto CFG_39624; CFG_39624: assume true; goto CFG_43527; CFG_43527: assume true; local_#21339 := 262; local_#21340 := 264; goto CFG_47237; CFG_47237: assume true; call routine_#34626_check_match(local_#5790_ls,local_#21339,local_#21340,local_#5791_line); goto CFG_47238; CFG_47238: assume true; call routine_#34856_leaveblock(local_#32277_fs); goto CFG_39329; CFG_39329: assume true; goto CFG_37657; CFG_41937: assume true; goto CFG_43527; CFG_37657: assume true; } procedure routine_#34759_freeLclosure(local_#5792_L_IN : { base : int, offset : int }, local_#5793_cl_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5792_L : { base : int, offset : int }; var local_#5793_cl : { base : int, offset : int }; var local_#32279_i : int; var local_#21341 : int; var local_#21342 : int; var local_#21343 : { base : int, offset : int }; var local_#21344 : int; var local_#21345 : int; var local_#21346 : int; var local_#21347 : int; var local_#21348 : int; var local_#21349 : int; var local_#21350 : int; var local_#21351 : int; var local_#21352 : int; var local_#21353 : int; var local_#21354 : int; var local_#21355 : { base : int, offset : int }; var local_#21356 : { base : int, offset : int }; var local_#21357 : { base : int, offset : int }; var local_#32280_uv : { base : int, offset : int }; var local_#21358 : { base : int, offset : int }; var local_#21359 : int; var local_#21360 : int; var local_#21361 : int; local_#5792_L := local_#5792_L_IN; local_#5793_cl := local_#5793_cl_IN; goto CFG_36747; CFG_36747: assume true; goto CFG_41748; CFG_41748: assume true; local_#32279_i := 0; goto CFG_50462; CFG_50462: assume true; local_#21341 := _memory[{ base : local_#5793_cl!base, offset : local_#5793_cl!offset + 10 }]; assert { :LIR "63229" } { :check "overflow" } { :finding_ids "0" } local_#21341 <= 2147483647; local_#21342 := (if local_#32279_i < local_#21341 then 1 else 0); if (local_#21342 != 0) { goto CFG_50463; } else { goto CFG_43528; } CFG_43528: assume true; local_#21343 := local_#5793_cl; assert { :LIR "63230" } { :check "overflow" } { :finding_ids "0" } true; local_#21344 := 40; local_#21345 := 8; local_#21346 := _memory[{ base : local_#5793_cl!base, offset : local_#5793_cl!offset + 10 }]; assert { :LIR "63231" } { :check "overflow" } { :finding_ids "0" } local_#21346 <= 2147483647; local_#21347 := 1; local_#21348 := local_#21346 - local_#21347; assert { :LIR "68041" } { :check "overflow" } { :finding_ids "0" } local_#21348 <= 2147483647; local_#21349 := ~uwrap64(local_#21348); assert { :LIR "63232" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#21350 := ~uwrap64(local_#21345 * local_#21349); assert { :LIR "68569" } { :check "overflow" } { :finding_ids "0" } true; local_#21351 := local_#21350; assert { :LIR "61541" } { :check "overflow" } { :finding_ids "0" } local_#21351 <= 2147483647; local_#21352 := local_#21344 + local_#21351; assert { :LIR "66642" } { :check "overflow" } { :finding_ids "0" } local_#21352 <= 2147483647; local_#21353 := ~uwrap64(local_#21352); assert { :LIR "63233" } { :check "overflow" } { :finding_ids "0" } true; local_#21354 := 0; goto CFG_47239; CFG_47239: assume true; call local_#21355 := routine_#33857_luaM_realloc_(local_#5792_L,local_#21343,local_#21353,local_#21354); goto CFG_39330; CFG_39330: assume true; goto CFG_37658; CFG_50463: assume true; local_#21356 := { base : local_#5793_cl!base, offset : local_#5793_cl!offset + 32 }; local_#21357 := { base : local_#21356!base, offset : local_#21356!offset + 0 * 8 + local_#32279_i * 8 }; local_#32280_uv := _memory_ptr[local_#21357]; local_#21358 := local_#32280_uv; if (local_#21358 != { base : 0, offset : 0 }) { goto CFG_47240; } else { goto CFG_45089; } CFG_47240: assume true; call routine_#33730_luaC_upvdeccount(local_#5792_L,local_#32280_uv); goto CFG_40832; CFG_40832: assume true; goto CFG_45089; CFG_45089: assume true; local_#21359 := local_#32279_i; local_#21360 := 1; local_#32279_i := local_#21359 + local_#21360; assert { :LIR "66643" } { :check "overflow" } { :finding_ids "0" } local_#32279_i <= 2147483647; local_#21361 := local_#21359; goto CFG_50462; CFG_37658: assume true; } procedure routine_#34760_freeexp(local_#5794_fs_IN : { base : int, offset : int }, local_#5795_e_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5794_fs : { base : int, offset : int }; var local_#5795_e : { base : int, offset : int }; var local_#21362 : int; var local_#21363 : int; var local_#21364 : int; var local_#21365 : { base : int, offset : int }; var local_#21366 : int; local_#5794_fs := local_#5794_fs_IN; local_#5795_e := local_#5795_e_IN; goto CFG_36748; CFG_36748: assume true; goto CFG_50464; CFG_50464: assume true; local_#21362 := ~uwrap32(_memory[{ base : local_#5795_e!base, offset : local_#5795_e!offset + 0 }]); assert { :LIR "63234" } { :check "overflow" } { :finding_ids "0" } true; local_#21363 := 7; local_#21364 := (if local_#21362 == local_#21363 then 1 else 0); if (local_#21364 != 0) { goto CFG_43529; } else { goto CFG_39331; } CFG_43529: assume true; local_#21365 := { base : local_#5795_e!base, offset : local_#5795_e!offset + 8 }; local_#21366 := _memory[local_#21365]; goto CFG_47241; CFG_47241: assume true; call routine_#34763_freereg(local_#5794_fs,local_#21366); goto CFG_40833; CFG_40833: assume true; goto CFG_39331; CFG_39331: assume true; goto CFG_37659; CFG_37659: assume true; } procedure routine_#34761_freeexps(local_#5796_fs_IN : { base : int, offset : int }, local_#5797_e1_IN : { base : int, offset : int }, local_#5798_e2_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#5796_fs : { base : int, offset : int }; var local_#5797_e1 : { base : int, offset : int }; var local_#5798_e2 : { base : int, offset : int }; var local_#21367 : int; var local_#21368 : int; var local_#21369 : int; var local_#30758 : int; var local_#21370 : { base : int, offset : int }; var local_#32281_r1 : int; var local_#21371 : int; var local_#21372 : int; var local_#21373 : int; var local_#30759 : int; var local_#21374 : { base : int, offset : int }; var local_#32282_r2 : int; var local_#21375 : int; local_#5796_fs := local_#5796_fs_IN; local_#5797_e1 := local_#5797_e1_IN; local_#5798_e2 := local_#5798_e2_IN; goto CFG_36749; CFG_36749: assume true; goto CFG_50465; CFG_50465: assume true; local_#21367 := ~uwrap32(_memory[{ base : local_#5797_e1!base, offset : local_#5797_e1!offset + 0 }]); assert { :LIR "63235" } { :check "overflow" } { :finding_ids "0" } true; local_#21368 := 7; local_#21369 := (if local_#21367 == local_#21368 then 1 else 0); if (local_#21369 != 0) { goto CFG_40835; } else { goto CFG_40834; } CFG_40834: assume true; local_#30758 := -1; goto CFG_50466; CFG_40835: assume true; local_#21370 := { base : local_#5797_e1!base, offset : local_#5797_e1!offset + 8 }; local_#30758 := _memory[local_#21370]; goto CFG_50466; CFG_50466: assume true; local_#32281_r1 := local_#30758; local_#21371 := ~uwrap32(_memory[{ base : local_#5798_e2!base, offset : local_#5798_e2!offset + 0 }]); assert { :LIR "63236" } { :check "overflow" } { :finding_ids "0" } true; local_#21372 := 7; local_#21373 := (if local_#21371 == local_#21372 then 1 else 0); if (local_#21373 != 0) { goto CFG_40837; } else { goto CFG_40836; } CFG_40836: assume true; local_#30759 := -1; goto CFG_50467; CFG_40837: assume true; local_#21374 := { base : local_#5798_e2!base, offset : local_#5798_e2!offset + 8 }; local_#30759 := _memory[local_#21374]; goto CFG_50467; CFG_50467: assume true; local_#32282_r2 := local_#30759; local_#21375 := (if local_#32281_r1 > local_#32282_r2 then 1 else 0); if (local_#21375 != 0) { goto CFG_47244; } else { goto CFG_47242; } CFG_47242: assume true; call routine_#34763_freereg(local_#5796_fs,local_#32282_r2); goto CFG_47243; CFG_47243: assume true; call routine_#34763_freereg(local_#5796_fs,local_#32281_r1); goto CFG_40838; CFG_40838: assume true; goto CFG_39332; CFG_47244: assume true; call routine_#34763_freereg(local_#5796_fs,local_#32281_r1); goto CFG_47245; CFG_47245: assume true; call routine_#34763_freereg(local_#5796_fs,local_#32282_r2); goto CFG_40839; CFG_40839: assume true; goto CFG_39332; CFG_39332: assume true; goto CFG_37660; CFG_37660: assume true; } procedure routine_#34762_freeobj(local_#5799_L_IN : { base : int, offset : int }, local_#5800_o_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5799_L : { base : int, offset : int }; var local_#5800_o : { base : int, offset : int }; var local_#21376 : int; var local_#21377 : int; var local_#21378 : int; var local_#21379 : { base : int, offset : int }; var local_#21380 : int; var local_#21381 : { base : int, offset : int }; var local_#21382 : { base : int, offset : int }; var local_#21383 : { base : int, offset : int }; var local_#21384 : int; var local_#21385 : int; var local_#21386 : int; var local_#21387 : int; var local_#21388 : int; var local_#21389 : int; var local_#21390 : { base : int, offset : int }; var local_#21391 : { base : int, offset : int }; var local_#21392 : { base : int, offset : int }; var local_#21393 : { base : int, offset : int }; var local_#21394 : int; var local_#21395 : { base : int, offset : int }; var local_#21396 : { base : int, offset : int }; var local_#21397 : int; var local_#21398 : int; var local_#21399 : int; var local_#21400 : int; var local_#21401 : int; var local_#21402 : int; var local_#21403 : int; var local_#21404 : int; var local_#21405 : { base : int, offset : int }; var local_#21406 : { base : int, offset : int }; var local_#21407 : int; var local_#21408 : { base : int, offset : int }; var local_#21409 : { base : int, offset : int }; var local_#21410 : int; var local_#21411 : int; var local_#21412 : { base : int, offset : int }; var local_#21413 : { base : int, offset : int }; var local_#21414 : { base : int, offset : int }; var local_#21415 : { base : int, offset : int }; var local_#21416 : { base : int, offset : int }; var local_#21417 : { base : int, offset : int }; var local_#21418 : int; var local_#21419 : int; var local_#21420 : { base : int, offset : int }; var local_#21421 : { base : int, offset : int }; var local_#21422 : { base : int, offset : int }; var local_#21423 : int; var local_#21424 : int; var local_#21425 : int; var local_#21426 : int; var local_#21427 : int; var local_#21428 : int; var local_#21429 : int; var local_#21430 : int; var local_#21431 : int; var local_#21432 : { base : int, offset : int }; var local_#21433 : { base : int, offset : int }; var local_#21434 : { base : int, offset : int }; var local_#21435 : { base : int, offset : int }; var local_#21436 : { base : int, offset : int }; var local_#21437 : { base : int, offset : int }; local_#5799_L := local_#5799_L_IN; local_#5800_o := local_#5800_o_IN; goto CFG_36750; CFG_36750: assume true; goto CFG_51541; CFG_51541: assume true; local_#21376 := _memory[{ base : local_#5800_o!base, offset : local_#5800_o!offset + 8 }]; assert { :LIR "63237" } { :check "overflow" } { :finding_ids "0" } local_#21376 <= 2147483647; if (local_#21376 == 9) { goto CFG_43539; } if (local_#21376 == 6) { goto CFG_43538; } if (local_#21376 == 38) { goto CFG_43537; } if (local_#21376 == 5) { goto CFG_43536; } if (local_#21376 == 8) { goto CFG_43535; } if (local_#21376 == 7) { goto CFG_43534; } if (local_#21376 == 4) { goto CFG_43532; } if (local_#21376 == 20) { goto CFG_43531; } goto CFG_43530; CFG_43530: assume true; local_#21377 := 0; local_#21378 := 0; assert { :LIR "61542" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41938; CFG_41938: assume true; goto CFG_39333; CFG_43531: assume true; local_#21379 := local_#5800_o; assert { :LIR "63238" } { :check "overflow" } { :finding_ids "0" } true; local_#21380 := 24; local_#21381 := local_#5800_o; assert { :LIR "61543" } { :check "overflow" } { :finding_ids "0" } true; local_#21382 := { base : local_#21381!base, offset : local_#21381!offset + 0 }; local_#21383 := { base : local_#21382!base, offset : local_#21382!offset + 16 }; local_#21384 := 1; assume { :symbol "~uwrap64" } true; local_#21385 := ~uwrap64(_memory[local_#21383] + local_#21384); assert { :LIR "66644" } { :check "overflow" } { :finding_ids "0" } true; local_#21386 := 1; assume { :symbol "~uwrap64" } true; local_#21387 := ~uwrap64(local_#21385 * local_#21386); assert { :LIR "68570" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#21388 := ~uwrap64(local_#21380 + local_#21387); assert { :LIR "66645" } { :check "overflow" } { :finding_ids "0" } true; local_#21389 := 0; goto CFG_47246; CFG_47246: assume true; call local_#21390 := routine_#33857_luaM_realloc_(local_#5799_L,local_#21379,local_#21388,local_#21389); goto CFG_39625; CFG_39625: assume true; goto CFG_39333; CFG_43532: assume true; local_#21391 := local_#5800_o; assert { :LIR "61544" } { :check "overflow" } { :finding_ids "0" } true; local_#21392 := { base : local_#21391!base, offset : local_#21391!offset + 0 }; goto CFG_47247; CFG_47247: assume true; call routine_#33879_luaS_remove(local_#5799_L,local_#21392); goto CFG_43533; CFG_43533: assume true; local_#21393 := local_#5800_o; assert { :LIR "63239" } { :check "overflow" } { :finding_ids "0" } true; local_#21394 := 24; local_#21395 := local_#5800_o; assert { :LIR "61545" } { :check "overflow" } { :finding_ids "0" } true; local_#21396 := { base : local_#21395!base, offset : local_#21395!offset + 0 }; local_#21397 := _memory[{ base : local_#21396!base, offset : local_#21396!offset + 11 }]; assert { :LIR "63240" } { :check "overflow" } { :finding_ids "0" } local_#21397 <= 2147483647; local_#21398 := 1; local_#21399 := local_#21397 + local_#21398; assert { :LIR "66646" } { :check "overflow" } { :finding_ids "0" } local_#21399 <= 2147483647; local_#21400 := ~uwrap64(local_#21399); assert { :LIR "63241" } { :check "overflow" } { :finding_ids "0" } true; local_#21401 := 1; assume { :symbol "~uwrap64" } true; local_#21402 := ~uwrap64(local_#21400 * local_#21401); assert { :LIR "68571" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#21403 := ~uwrap64(local_#21394 + local_#21402); assert { :LIR "66647" } { :check "overflow" } { :finding_ids "0" } true; local_#21404 := 0; goto CFG_47248; CFG_47248: assume true; call local_#21405 := routine_#33857_luaM_realloc_(local_#5799_L,local_#21393,local_#21403,local_#21404); goto CFG_39626; CFG_39626: assume true; goto CFG_39333; CFG_43534: assume true; local_#21406 := local_#5800_o; assert { :LIR "63242" } { :check "overflow" } { :finding_ids "0" } true; local_#21407 := 40; local_#21408 := local_#5800_o; assert { :LIR "61546" } { :check "overflow" } { :finding_ids "0" } true; local_#21409 := { base : local_#21408!base, offset : local_#21408!offset + 0 }; assume { :symbol "~uwrap64" } true; local_#21410 := ~uwrap64(local_#21407 + _memory[{ base : local_#21409!base, offset : local_#21409!offset + 24 }]); assert { :LIR "66648" } { :check "overflow" } { :finding_ids "0" } true; local_#21411 := 0; goto CFG_47249; CFG_47249: assume true; call local_#21412 := routine_#33857_luaM_realloc_(local_#5799_L,local_#21406,local_#21410,local_#21411); goto CFG_39627; CFG_39627: assume true; goto CFG_39333; CFG_43535: assume true; local_#21413 := local_#5800_o; assert { :LIR "61547" } { :check "overflow" } { :finding_ids "0" } true; local_#21414 := { base : local_#21413!base, offset : local_#21413!offset + 0 }; goto CFG_47250; CFG_47250: assume true; call routine_#33746_luaE_freethread(local_#5799_L,local_#21414); goto CFG_39628; CFG_39628: assume true; goto CFG_39333; CFG_43536: assume true; local_#21415 := local_#5800_o; assert { :LIR "61548" } { :check "overflow" } { :finding_ids "0" } true; local_#21416 := { base : local_#21415!base, offset : local_#21415!offset + 0 }; goto CFG_47251; CFG_47251: assume true; call routine_#33766_luaH_free(local_#5799_L,local_#21416); goto CFG_39629; CFG_39629: assume true; goto CFG_39333; CFG_43537: assume true; local_#21417 := local_#5800_o; assert { :LIR "63243" } { :check "overflow" } { :finding_ids "0" } true; local_#21418 := 48; local_#21419 := 16; local_#21420 := local_#5800_o; assert { :LIR "61549" } { :check "overflow" } { :finding_ids "0" } true; local_#21421 := { base : local_#21420!base, offset : local_#21420!offset + 0 }; local_#21422 := { base : local_#21421!base, offset : local_#21421!offset + 0 }; local_#21423 := _memory[{ base : local_#21422!base, offset : local_#21422!offset + 10 }]; assert { :LIR "63244" } { :check "overflow" } { :finding_ids "0" } local_#21423 <= 2147483647; local_#21424 := 1; local_#21425 := local_#21423 - local_#21424; assert { :LIR "68042" } { :check "overflow" } { :finding_ids "0" } local_#21425 <= 2147483647; local_#21426 := ~uwrap64(local_#21425); assert { :LIR "63245" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#21427 := ~uwrap64(local_#21419 * local_#21426); assert { :LIR "68572" } { :check "overflow" } { :finding_ids "0" } true; local_#21428 := local_#21427; assert { :LIR "61550" } { :check "overflow" } { :finding_ids "0" } local_#21428 <= 2147483647; local_#21429 := local_#21418 + local_#21428; assert { :LIR "66649" } { :check "overflow" } { :finding_ids "0" } local_#21429 <= 2147483647; local_#21430 := ~uwrap64(local_#21429); assert { :LIR "63246" } { :check "overflow" } { :finding_ids "0" } true; local_#21431 := 0; goto CFG_47252; CFG_47252: assume true; call local_#21432 := routine_#33857_luaM_realloc_(local_#5799_L,local_#21417,local_#21430,local_#21431); goto CFG_39630; CFG_39630: assume true; goto CFG_39333; CFG_43538: assume true; local_#21433 := local_#5800_o; assert { :LIR "61551" } { :check "overflow" } { :finding_ids "0" } true; local_#21434 := { base : local_#21433!base, offset : local_#21433!offset + 0 }; local_#21435 := { base : local_#21434!base, offset : local_#21434!offset + 0 }; goto CFG_47253; CFG_47253: assume true; call routine_#34759_freeLclosure(local_#5799_L,local_#21435); goto CFG_39631; CFG_39631: assume true; goto CFG_39333; CFG_43539: assume true; local_#21436 := local_#5800_o; assert { :LIR "61552" } { :check "overflow" } { :finding_ids "0" } true; local_#21437 := { base : local_#21436!base, offset : local_#21436!offset + 0 }; goto CFG_47254; CFG_47254: assume true; call routine_#33751_luaF_freeproto(local_#5799_L,local_#21437); goto CFG_39632; CFG_39632: assume true; goto CFG_39333; CFG_39333: assume true; goto CFG_37661; CFG_37661: assume true; } procedure routine_#34763_freereg(local_#5801_fs_IN : { base : int, offset : int }, local_#5802_reg_IN : int) returns () modifies _memory; { var local_#5801_fs : { base : int, offset : int }; var local_#5802_reg : int; var local_#21438 : int; var local_#21439 : int; var local_#21440 : int; var local_#21441 : int; var local_#21442 : int; var local_#21443 : int; var local_#21444 : int; var local_#21445 : int; var local_#21446 : int; var local_#21447 : int; local_#5801_fs := local_#5801_fs_IN; local_#5802_reg := local_#5802_reg_IN; goto CFG_36751; CFG_36751: assume true; goto CFG_50468; CFG_50468: assume true; local_#21438 := 256; local_#21439 := ~sand32(local_#5802_reg, local_#21438); local_#21440 := (if local_#21439 != 0 then 0 else 1); if (local_#21440 != 0) { goto CFG_50469; } else { goto CFG_39334; } CFG_50469: assume true; local_#21441 := _memory[{ base : local_#5801_fs!base, offset : local_#5801_fs!offset + 58 }]; assert { :LIR "63247" } { :check "overflow" } { :finding_ids "0" } local_#21441 <= 2147483647; local_#21442 := (if local_#5802_reg >= local_#21441 then 1 else 0); if (local_#21442 != 0) { goto CFG_40840; } else { goto CFG_39334; } CFG_40840: assume true; local_#21443 := _memory[{ base : local_#5801_fs!base, offset : local_#5801_fs!offset + 60 }]; local_#21444 := 1; assume { :symbol "~uwrap8" } true; _memory[{ base : local_#5801_fs!base, offset : local_#5801_fs!offset + 60 }] := ~uwrap8(local_#21443 - local_#21444); assert { :LIR "68043" } { :check "overflow" } { :finding_ids "0" } true; local_#21445 := local_#21443; local_#21446 := 0; local_#21447 := 0; assert { :LIR "61553" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39334; CFG_39334: assume true; goto CFG_37662; CFG_37662: assume true; } procedure routine_#34764_freestack(local_#5803_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5803_L : { base : int, offset : int }; var local_#21448 : { base : int, offset : int }; var local_#21449 : int; var local_#21450 : int; var local_#21451 : int; var local_#21452 : { base : int, offset : int }; var local_#21453 : int; var local_#21454 : int; var local_#21455 : int; var local_#21456 : int; var local_#21457 : { base : int, offset : int }; local_#5803_L := local_#5803_L_IN; goto CFG_36752; CFG_36752: assume true; goto CFG_50470; CFG_50470: assume true; local_#21448 := { base : 0, offset : 0 }; local_#21449 := (if _memory_ptr[{ base : local_#5803_L!base, offset : local_#5803_L!offset + 56 }] == local_#21448 then 1 else 0); if (local_#21449 != 0) { goto CFG_39336; } else { goto CFG_43540; } CFG_43540: assume true; _memory_ptr[{ base : local_#5803_L!base, offset : local_#5803_L!offset + 32 }] := { base : local_#5803_L!base, offset : local_#5803_L!offset + 96 }; goto CFG_47255; CFG_47255: assume true; call routine_#33745_luaE_freeCI(local_#5803_L); goto CFG_43541; CFG_43541: assume true; local_#21450 := 0; local_#21451 := 0; assert { :LIR "61554" } { :check "overflow" } { :finding_ids "0" } true; local_#21452 := _memory_ptr[{ base : local_#5803_L!base, offset : local_#5803_L!offset + 56 }]; assert { :LIR "63248" } { :check "overflow" } { :finding_ids "0" } true; local_#21453 := ~uwrap64(_memory[{ base : local_#5803_L!base, offset : local_#5803_L!offset + 184 }]); assert { :LIR "63249" } { :check "overflow" } { :finding_ids "0" } true; local_#21454 := 16; assume { :symbol "~uwrap64" } true; local_#21455 := ~uwrap64(local_#21453 * local_#21454); assert { :LIR "68573" } { :check "overflow" } { :finding_ids "0" } true; local_#21456 := 0; goto CFG_47256; CFG_47256: assume true; call local_#21457 := routine_#33857_luaM_realloc_(local_#5803_L,local_#21452,local_#21455,local_#21456); goto CFG_39335; CFG_39335: assume true; goto CFG_37663; CFG_39336: assume true; goto CFG_37663; CFG_37663: assume true; } procedure routine_#34765_funcargs(local_#5804_ls_IN : { base : int, offset : int }, local_#5805_f_IN : { base : int, offset : int }, local_#5806_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5804_ls : { base : int, offset : int }; var local_#5805_f : { base : int, offset : int }; var local_#5806_line : int; var local_#32285_fs : { base : int, offset : int }; var local_#21458 : int; var local_#21459 : { base : int, offset : int }; var local_#21460 : { base : int, offset : int }; var local_#32283_args : { base : int, offset : int }; var local_#21461 : { base : int, offset : int }; var local_#21462 : { base : int, offset : int }; var local_#21463 : { base : int, offset : int }; var local_#21464 : { base : int, offset : int }; var local_#21465 : int; var local_#21466 : int; var local_#21467 : { base : int, offset : int }; var local_#21468 : int; var local_#21469 : { base : int, offset : int }; var local_#21470 : int; var local_#21471 : int; var local_#21472 : int; var local_#21473 : int; var local_#21474 : int; var local_#21475 : { base : int, offset : int }; var local_#32284_base : int; var local_#21476 : int; var local_#21477 : int; var local_#21478 : int; var local_#21479 : int; var local_#21480 : int; var local_#21481 : int; var local_#21482 : int; var local_#21483 : int; var local_#21484 : int; var local_#21485 : { base : int, offset : int }; var local_#21486 : int; var local_#21487 : int; var local_#21488 : int; var local_#21489 : int; var local_#32286_nparams : int; var local_#21490 : int; var local_#21491 : int; var local_#21492 : int; var local_#21493 : int; var local_#21494 : int; var local_#21495 : int; var local_#21496 : int; var local_#21497 : int; var local_#21498 : int; local_#5804_ls := local_#5804_ls_IN; local_#5805_f := local_#5805_f_IN; local_#5806_line := local_#5806_line_IN; goto CFG_36753; CFG_36753: assume true; goto CFG_51542; CFG_51542: assume true; local_#32285_fs := _memory_ptr[{ base : local_#5804_ls!base, offset : local_#5804_ls!offset + 48 }]; local_#21458 := _memory[{ base : local_#5804_ls!base, offset : local_#5804_ls!offset + 16 }]; if (local_#21458 == 40) { goto CFG_47261; } if (local_#21458 == 123) { goto CFG_43544; } if (local_#21458 == 293) { goto CFG_43543; } goto CFG_43542; CFG_43542: assume true; assume _memory[{ base : strlit_#70573!base, offset : strlit_#70573!offset + 27 }] == 0; local_#21459 := strlit_#70573; local_#21460 := { base : local_#21459!base, offset : local_#21459!offset + 0 * 1 }; assert { :LIR "63250" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47257; CFG_47257: assume true; call routine_#33910_luaX_syntaxerror(local_#5804_ls,local_#21460); CFG_43543: assume true; local_#21461 := local_#32283_args; local_#21462 := { base : local_#5804_ls!base, offset : local_#5804_ls!offset + 24 }; local_#21463 := _memory_ptr[local_#21462]; goto CFG_47258; CFG_47258: assume true; call routine_#34658_codestring(local_#5804_ls,local_#21461,local_#21463); goto CFG_47259; CFG_47259: assume true; call routine_#33908_luaX_next(local_#5804_ls); goto CFG_39633; CFG_39633: assume true; goto CFG_50472; CFG_43544: assume true; local_#21464 := local_#32283_args; goto CFG_47260; CFG_47260: assume true; call routine_#34666_constructor(local_#5804_ls,local_#21464); goto CFG_39634; CFG_39634: assume true; goto CFG_50472; CFG_47261: assume true; call routine_#33908_luaX_next(local_#5804_ls); goto CFG_50471; CFG_50471: assume true; local_#21465 := 41; local_#21466 := (if _memory[{ base : local_#5804_ls!base, offset : local_#5804_ls!offset + 16 }] == local_#21465 then 1 else 0); if (local_#21466 != 0) { goto CFG_40842; } else { goto CFG_43545; } CFG_43545: assume true; local_#21467 := local_#32283_args; goto CFG_47262; CFG_47262: assume true; call local_#21468 := routine_#34720_explist(local_#5804_ls,local_#21467); goto CFG_43546; CFG_43546: assume true; local_#21469 := local_#32283_args; local_#21470 := -1; goto CFG_47263; CFG_47263: assume true; call routine_#33809_luaK_setreturns(local_#32285_fs,local_#21469,local_#21470); goto CFG_40841; CFG_40841: assume true; goto CFG_43547; CFG_40842: assume true; _memory[{ base : local_#32283_args!base, offset : local_#32283_args!offset + 0 }] := 0; goto CFG_43547; CFG_43547: assume true; local_#21471 := 41; local_#21472 := 40; goto CFG_47264; CFG_47264: assume true; call routine_#34626_check_match(local_#5804_ls,local_#21471,local_#21472,local_#5806_line); goto CFG_39635; CFG_39635: assume true; goto CFG_50472; CFG_50472: assume true; local_#21473 := 0; local_#21474 := 0; assert { :LIR "61555" } { :check "overflow" } { :finding_ids "0" } true; local_#21475 := { base : local_#5805_f!base, offset : local_#5805_f!offset + 8 }; local_#32284_base := _memory[local_#21475]; local_#21476 := ~uwrap32(_memory[{ base : local_#32283_args!base, offset : local_#32283_args!offset + 0 }]); assert { :LIR "63251" } { :check "overflow" } { :finding_ids "0" } true; local_#21477 := 13; local_#21478 := (if local_#21476 == local_#21477 then 1 else 0); if (local_#21478 != 0) { goto CFG_40845; } else { goto CFG_50473; } CFG_50473: assume true; local_#21479 := ~uwrap32(_memory[{ base : local_#32283_args!base, offset : local_#32283_args!offset + 0 }]); assert { :LIR "63252" } { :check "overflow" } { :finding_ids "0" } true; local_#21480 := 14; local_#21481 := (if local_#21479 == local_#21480 then 1 else 0); if (local_#21481 != 0) { goto CFG_40845; } else { goto CFG_50474; } CFG_50474: assume true; local_#21482 := ~uwrap32(_memory[{ base : local_#32283_args!base, offset : local_#32283_args!offset + 0 }]); assert { :LIR "63253" } { :check "overflow" } { :finding_ids "0" } true; local_#21483 := 0; local_#21484 := (if local_#21482 != local_#21483 then 1 else 0); if (local_#21484 != 0) { goto CFG_43548; } else { goto CFG_40844; } CFG_43548: assume true; local_#21485 := local_#32283_args; goto CFG_47265; CFG_47265: assume true; call routine_#33788_luaK_exp2nextreg(local_#32285_fs,local_#21485); goto CFG_40843; CFG_40843: assume true; goto CFG_40844; CFG_40844: assume true; local_#21486 := _memory[{ base : local_#32285_fs!base, offset : local_#32285_fs!offset + 60 }]; assert { :LIR "63254" } { :check "overflow" } { :finding_ids "0" } local_#21486 <= 2147483647; local_#21487 := 1; local_#21488 := local_#32284_base + local_#21487; assert { :LIR "66650" } { :check "overflow" } { :finding_ids "0" } local_#21488 <= 2147483647; local_#21489 := local_#21486 - local_#21488; assert { :LIR "68044" } { :check "overflow" } { :finding_ids "0" } local_#21489 <= 2147483647; local_#32286_nparams := local_#21489; goto CFG_43549; CFG_40845: assume true; local_#32286_nparams := -1; goto CFG_43549; CFG_43549: assume true; local_#21490 := 13; local_#21491 := 36; local_#21492 := 1; local_#21493 := local_#32286_nparams + local_#21492; assert { :LIR "66651" } { :check "overflow" } { :finding_ids "0" } local_#21493 <= 2147483647; local_#21494 := 2; goto CFG_47266; CFG_47266: assume true; call local_#21495 := routine_#33780_luaK_codeABC(local_#32285_fs,local_#21491,local_#32284_base,local_#21493,local_#21494); goto CFG_47267; CFG_47267: assume true; call routine_#34812_init_exp(local_#5805_f,local_#21490,local_#21495); goto CFG_47268; CFG_47268: assume true; call routine_#33790_luaK_fixline(local_#32285_fs,local_#5806_line); goto CFG_39337; CFG_39337: assume true; local_#21496 := 1; local_#21497 := local_#32284_base + local_#21496; assert { :LIR "66652" } { :check "overflow" } { :finding_ids "0" } local_#21497 <= 2147483647; local_#21498 := ~uwrap8(local_#21497); assert { :LIR "63255" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32285_fs!base, offset : local_#32285_fs!offset + 60 }] := local_#21498; goto CFG_37664; CFG_41939: assume true; goto CFG_50472; CFG_37664: assume true; } procedure routine_#34766_funcinfo(local_#5807_ar_IN : { base : int, offset : int }, local_#5808_cl_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#5807_ar : { base : int, offset : int }; var local_#5808_cl : { base : int, offset : int }; var local_#21499 : { base : int, offset : int }; var local_#21500 : int; var local_#21501 : { base : int, offset : int }; var local_#21502 : int; var local_#21503 : int; var local_#21504 : int; var local_#21505 : { base : int, offset : int }; var local_#32287_p : { base : int, offset : int }; var local_#21506 : { base : int, offset : int }; var local_#21507 : { base : int, offset : int }; var local_#30760 : { base : int, offset : int }; var local_#21508 : { base : int, offset : int }; var local_#21509 : int; var local_#21510 : { base : int, offset : int }; var local_#21511 : { base : int, offset : int }; var local_#21512 : int; var local_#21513 : int; var local_#21514 : { base : int, offset : int }; var local_#30761 : { base : int, offset : int }; var local_#21515 : { base : int, offset : int }; var local_#21516 : { base : int, offset : int }; var local_#21517 : { base : int, offset : int }; var local_#21518 : { base : int, offset : int }; var local_#21519 : { base : int, offset : int }; var local_#21520 : { base : int, offset : int }; var local_#21521 : { base : int, offset : int }; var local_#21522 : { base : int, offset : int }; var local_#21523 : { base : int, offset : int }; var local_#21524 : int; local_#5807_ar := local_#5807_ar_IN; local_#5808_cl := local_#5808_cl_IN; goto CFG_36754; CFG_36754: assume true; goto CFG_50475; CFG_50475: assume true; local_#21499 := { base : 0, offset : 0 }; local_#21500 := (if local_#5808_cl == local_#21499 then 1 else 0); if (local_#21500 != 0) { goto CFG_40851; } else { goto CFG_50476; } CFG_50476: assume true; local_#21501 := { base : local_#5808_cl!base, offset : local_#5808_cl!offset + 0 }; local_#21502 := _memory[{ base : local_#21501!base, offset : local_#21501!offset + 8 }]; assert { :LIR "63256" } { :check "overflow" } { :finding_ids "0" } local_#21502 <= 2147483647; local_#21503 := 38; local_#21504 := (if local_#21502 == local_#21503 then 1 else 0); if (local_#21504 != 0) { goto CFG_40851; } else { goto CFG_50477; } CFG_50477: assume true; local_#21505 := { base : local_#5808_cl!base, offset : local_#5808_cl!offset + 0 }; local_#32287_p := _memory_ptr[{ base : local_#21505!base, offset : local_#21505!offset + 24 }]; local_#21506 := _memory_ptr[{ base : local_#32287_p!base, offset : local_#32287_p!offset + 104 }]; if (local_#21506 != { base : 0, offset : 0 }) { goto CFG_40847; } else { goto CFG_40846; } CFG_40846: assume true; assume _memory[{ base : strlit_#70574!base, offset : strlit_#70574!offset + 0 }] == 61 && _memory[{ base : strlit_#70574!base, offset : strlit_#70574!offset + 1 }] == 63 && _memory[{ base : strlit_#70574!base, offset : strlit_#70574!offset + 2 }] == 0; local_#21507 := strlit_#70574; local_#30760 := { base : local_#21507!base, offset : local_#21507!offset + 0 * 1 }; goto CFG_50478; CFG_40847: assume true; local_#21508 := _memory_ptr[{ base : local_#32287_p!base, offset : local_#32287_p!offset + 104 }]; assert { :LIR "61556" } { :check "overflow" } { :finding_ids "0" } true; local_#21509 := 24; local_#21510 := { base : local_#21508!base, offset : local_#21508!offset + local_#21509 * 1 }; local_#30760 := local_#21510; goto CFG_50478; CFG_50478: assume true; local_#21511 := local_#30760; assert { :LIR "63257" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 32 }] := local_#21511; _memory[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 44 }] := _memory[{ base : local_#32287_p!base, offset : local_#32287_p!offset + 40 }]; _memory[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 48 }] := _memory[{ base : local_#32287_p!base, offset : local_#32287_p!offset + 44 }]; local_#21512 := 0; local_#21513 := (if _memory[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 44 }] == local_#21512 then 1 else 0); if (local_#21513 != 0) { goto CFG_40849; } else { goto CFG_40848; } CFG_40848: assume true; assume _memory[{ base : strlit_#70575!base, offset : strlit_#70575!offset + 0 }] == 76 && _memory[{ base : strlit_#70575!base, offset : strlit_#70575!offset + 1 }] == 117 && _memory[{ base : strlit_#70575!base, offset : strlit_#70575!offset + 2 }] == 97 && _memory[{ base : strlit_#70575!base, offset : strlit_#70575!offset + 3 }] == 0; local_#21514 := strlit_#70575; local_#30761 := { base : local_#21514!base, offset : local_#21514!offset + 0 * 1 }; goto CFG_40850; CFG_40849: assume true; assume _memory[{ base : strlit_#70576!base, offset : strlit_#70576!offset + 0 }] == 109 && _memory[{ base : strlit_#70576!base, offset : strlit_#70576!offset + 1 }] == 97 && _memory[{ base : strlit_#70576!base, offset : strlit_#70576!offset + 2 }] == 105 && _memory[{ base : strlit_#70576!base, offset : strlit_#70576!offset + 3 }] == 110 && _memory[{ base : strlit_#70576!base, offset : strlit_#70576!offset + 4 }] == 0; local_#21515 := strlit_#70576; local_#30761 := { base : local_#21515!base, offset : local_#21515!offset + 0 * 1 }; goto CFG_40850; CFG_40850: assume true; local_#21516 := local_#30761; assert { :LIR "63258" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 24 }] := local_#21516; goto CFG_43550; CFG_40851: assume true; assume _memory[{ base : strlit_#70577!base, offset : strlit_#70577!offset + 0 }] == 61 && _memory[{ base : strlit_#70577!base, offset : strlit_#70577!offset + 1 }] == 91 && _memory[{ base : strlit_#70577!base, offset : strlit_#70577!offset + 2 }] == 67 && _memory[{ base : strlit_#70577!base, offset : strlit_#70577!offset + 3 }] == 93 && _memory[{ base : strlit_#70577!base, offset : strlit_#70577!offset + 4 }] == 0; local_#21517 := strlit_#70577; local_#21518 := { base : local_#21517!base, offset : local_#21517!offset + 0 * 1 }; assert { :LIR "63259" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 32 }] := local_#21518; _memory[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 44 }] := -1; _memory[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 48 }] := -1; assume _memory[{ base : strlit_#70578!base, offset : strlit_#70578!offset + 0 }] == 67 && _memory[{ base : strlit_#70578!base, offset : strlit_#70578!offset + 1 }] == 0; local_#21519 := strlit_#70578; local_#21520 := { base : local_#21519!base, offset : local_#21519!offset + 0 * 1 }; assert { :LIR "63260" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 24 }] := local_#21520; goto CFG_43550; CFG_43550: assume true; local_#21521 := { base : local_#5807_ar!base, offset : local_#5807_ar!offset + 56 }; local_#21522 := { base : local_#21521!base, offset : local_#21521!offset + 0 * 1 }; local_#21523 := _memory_ptr[{ base : local_#5807_ar!base, offset : local_#5807_ar!offset + 32 }]; local_#21524 := 60; goto CFG_47269; CFG_47269: assume true; call routine_#33861_luaO_chunkid(local_#21522,local_#21523,local_#21524); goto CFG_39338; CFG_39338: assume true; goto CFG_37665; CFG_37665: assume true; } procedure routine_#34767_funcname(local_#5809_ls_IN : { base : int, offset : int }, local_#5810_v_IN : { base : int, offset : int }) returns (local_#8042 : int) modifies _memory, _memory_ptr, _valid; { var local_#5809_ls : { base : int, offset : int }; var local_#5810_v : { base : int, offset : int }; var local_#32288_ismethod : int; var local_#21525 : int; var local_#21526 : int; var local_#21527 : int; var local_#21528 : int; local_#5809_ls := local_#5809_ls_IN; local_#5810_v := local_#5810_v_IN; goto CFG_36755; CFG_36755: assume true; goto CFG_43551; CFG_43551: assume true; local_#32288_ismethod := 0; goto CFG_47270; CFG_47270: assume true; call routine_#35069_singlevar(local_#5809_ls,local_#5810_v); goto CFG_41749; CFG_41749: assume true; goto CFG_50479; CFG_50479: assume true; local_#21525 := 46; local_#21526 := (if _memory[{ base : local_#5809_ls!base, offset : local_#5809_ls!offset + 16 }] == local_#21525 then 1 else 0); if (local_#21526 != 0) { goto CFG_47272; } else { goto CFG_50480; } CFG_50480: assume true; local_#21527 := 58; local_#21528 := (if _memory[{ base : local_#5809_ls!base, offset : local_#5809_ls!offset + 16 }] == local_#21527 then 1 else 0); if (local_#21528 != 0) { goto CFG_43552; } else { goto CFG_38515; } CFG_43552: assume true; local_#32288_ismethod := 1; goto CFG_47271; CFG_47271: assume true; call routine_#34738_fieldsel(local_#5809_ls,local_#5810_v); goto CFG_40852; CFG_40852: assume true; goto CFG_38515; CFG_38515: assume true; local_#8042 := local_#32288_ismethod; goto CFG_37666; CFG_47272: assume true; call routine_#34738_fieldsel(local_#5809_ls,local_#5810_v); goto CFG_45090; CFG_45090: assume true; goto CFG_50479; CFG_37666: assume true; } procedure routine_#34768_funcnamefromcode(local_#5811_L_IN : { base : int, offset : int }, local_#5812_ci_IN : { base : int, offset : int }, local_#5813_name_IN : { base : int, offset : int }) returns (local_#8043 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5811_L : { base : int, offset : int }; var local_#5812_ci : { base : int, offset : int }; var local_#5813_name : { base : int, offset : int }; var local_#32292_tm : int; var local_#21529 : { base : int, offset : int }; var local_#21530 : { base : int, offset : int }; var local_#21531 : { base : int, offset : int }; var local_#21532 : { base : int, offset : int }; var local_#21533 : { base : int, offset : int }; var local_#32290_p : { base : int, offset : int }; var local_#21534 : int; var local_#32291_pc : int; var local_#21535 : { base : int, offset : int }; var local_#32289_i : int; var local_#21536 : int; var local_#21537 : int; var local_#21538 : int; var local_#21539 : int; var local_#21540 : int; var local_#21541 : int; var local_#21542 : int; var local_#21543 : int; var local_#21544 : int; var local_#21545 : int; var local_#21546 : int; var local_#21547 : int; var local_#21548 : int; var local_#21549 : int; var local_#21550 : int; var local_#21551 : int; var local_#32293_offset : int; var local_#21552 : int; var local_#21553 : int; var local_#21554 : int; var local_#21555 : { base : int, offset : int }; var local_#21556 : { base : int, offset : int }; var local_#21557 : { base : int, offset : int }; var local_#21558 : { base : int, offset : int }; var local_#21559 : int; var local_#21560 : { base : int, offset : int }; var local_#21561 : { base : int, offset : int }; var local_#21562 : { base : int, offset : int }; var local_#21563 : { base : int, offset : int }; var local_#21564 : { base : int, offset : int }; var local_#21565 : { base : int, offset : int }; var local_#21566 : { base : int, offset : int }; var local_#21567 : { base : int, offset : int }; var local_#21568 : int; var local_#21569 : int; var local_#21570 : int; var local_#21571 : int; var local_#21572 : int; var local_#21573 : { base : int, offset : int }; var local_#21574 : { base : int, offset : int }; var local_#21575 : { base : int, offset : int }; var local_#21576 : { base : int, offset : int }; var local_#21577 : { base : int, offset : int }; local_#5811_L := local_#5811_L_IN; local_#5812_ci := local_#5812_ci_IN; local_#5813_name := local_#5813_name_IN; goto CFG_36756; CFG_36756: assume true; goto CFG_43553; CFG_43553: assume true; local_#32292_tm := 0; local_#21529 := _memory_ptr[{ base : local_#5812_ci!base, offset : local_#5812_ci!offset + 0 }]; local_#21530 := { base : local_#21529!base, offset : local_#21529!offset + 0 }; local_#21531 := _memory_ptr[local_#21530]; assert { :LIR "61557" } { :check "overflow" } { :finding_ids "0" } true; local_#21532 := { base : local_#21531!base, offset : local_#21531!offset + 0 }; local_#21533 := { base : local_#21532!base, offset : local_#21532!offset + 0 }; local_#32290_p := _memory_ptr[{ base : local_#21533!base, offset : local_#21533!offset + 24 }]; goto CFG_47273; CFG_47273: assume true; call local_#21534 := routine_#34680_currentpc(local_#5812_ci); goto CFG_50481; CFG_50481: assume true; local_#32291_pc := local_#21534; local_#21535 := { base : _memory_ptr[{ base : local_#32290_p!base, offset : local_#32290_p!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#32290_p!base, offset : local_#32290_p!offset + 56 }]!offset + local_#32291_pc * 4 }; local_#32289_i := _memory[local_#21535]; local_#21536 := _memory[{ base : local_#5812_ci!base, offset : local_#5812_ci!offset + 66 }]; assert { :LIR "63261" } { :check "overflow" } { :finding_ids "0" } local_#21536 <= 2147483647; local_#21537 := 4; local_#21538 := ~sand32(local_#21536, local_#21537); if (local_#21538 != 0) { goto CFG_38520; } else { goto CFG_51543; } CFG_51543: assume true; local_#21539 := 0; local_#21540 := ~lshr32(local_#32289_i, local_#21539); local_#21541 := 63; local_#21542 := ~uand32(local_#21540, local_#21541); local_#21543 := local_#21542; assert { :LIR "61558" } { :check "overflow" } { :finding_ids "0" } local_#21543 <= 46; if (local_#21543 == 36) { goto CFG_43554; } if (local_#21543 == 37) { goto CFG_43554; } if (local_#21543 == 41) { goto CFG_38518; } if (local_#21543 == 12) { goto CFG_39645; } if (local_#21543 == 6) { goto CFG_39645; } if (local_#21543 == 7) { goto CFG_39645; } if (local_#21543 == 8) { goto CFG_39644; } if (local_#21543 == 10) { goto CFG_39644; } if (local_#21543 == 13) { goto CFG_39643; } if (local_#21543 == 14) { goto CFG_39643; } if (local_#21543 == 15) { goto CFG_39643; } if (local_#21543 == 16) { goto CFG_39643; } if (local_#21543 == 17) { goto CFG_39643; } if (local_#21543 == 18) { goto CFG_39643; } if (local_#21543 == 19) { goto CFG_39643; } if (local_#21543 == 20) { goto CFG_39643; } if (local_#21543 == 21) { goto CFG_39643; } if (local_#21543 == 22) { goto CFG_39643; } if (local_#21543 == 23) { goto CFG_39643; } if (local_#21543 == 24) { goto CFG_39643; } if (local_#21543 == 25) { goto CFG_39642; } if (local_#21543 == 26) { goto CFG_39641; } if (local_#21543 == 28) { goto CFG_39640; } if (local_#21543 == 29) { goto CFG_39639; } if (local_#21543 == 31) { goto CFG_39638; } if (local_#21543 == 32) { goto CFG_39637; } if (local_#21543 == 33) { goto CFG_39636; } goto CFG_38516; CFG_38516: assume true; local_#8043 := { base : 0, offset : 0 }; goto CFG_37667; CFG_39636: assume true; local_#32292_tm := 21; goto CFG_38517; CFG_39637: assume true; local_#32292_tm := 20; goto CFG_38517; CFG_39638: assume true; local_#32292_tm := 5; goto CFG_38517; CFG_39639: assume true; local_#32292_tm := 22; goto CFG_38517; CFG_39640: assume true; local_#32292_tm := 4; goto CFG_38517; CFG_39641: assume true; local_#32292_tm := 19; goto CFG_38517; CFG_39642: assume true; local_#32292_tm := 18; goto CFG_38517; CFG_39643: assume true; local_#21544 := 0; local_#21545 := ~lshr32(local_#32289_i, local_#21544); local_#21546 := 63; local_#21547 := ~uand32(local_#21545, local_#21546); local_#21548 := local_#21547; assert { :LIR "61559" } { :check "overflow" } { :finding_ids "0" } local_#21548 <= 46; local_#21549 := local_#21548; assert { :LIR "61560" } { :check "overflow" } { :finding_ids "0" } local_#21549 <= 2147483647; local_#21550 := 13; local_#21551 := local_#21549 - local_#21550; assert { :LIR "68045" } { :check "overflow" } { :finding_ids "0" } local_#21551 <= 2147483647; local_#32293_offset := local_#21551; local_#21552 := 6; local_#21553 := local_#32293_offset + local_#21552; assert { :LIR "66653" } { :check "overflow" } { :finding_ids "0" } local_#21553 <= 2147483647; local_#21554 := local_#21553; assert { :LIR "61561" } { :check "overflow" } { :finding_ids "0" } local_#21554 <= 24; local_#32292_tm := local_#21554; goto CFG_38517; CFG_39644: assume true; local_#32292_tm := 1; goto CFG_38517; CFG_39645: assume true; local_#32292_tm := 0; goto CFG_38517; CFG_38517: assume true; local_#21555 := _memory_ptr[{ base : local_#5811_L!base, offset : local_#5811_L!offset + 24 }]; local_#21556 := { base : local_#21555!base, offset : local_#21555!offset + 224 }; local_#21557 := { base : local_#21556!base, offset : local_#21556!offset + 0 * 8 + local_#32292_tm * 8 }; local_#21558 := _memory_ptr[local_#21557]; assert { :LIR "61562" } { :check "overflow" } { :finding_ids "0" } true; local_#21559 := 24; local_#21560 := { base : local_#21558!base, offset : local_#21558!offset + local_#21559 * 1 }; local_#21561 := local_#21560; assert { :LIR "63262" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5813_name] := local_#21561; assume _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 0 }] == 109 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 1 }] == 101 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 2 }] == 116 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 3 }] == 97 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 4 }] == 109 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 5 }] == 101 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 6 }] == 116 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 7 }] == 104 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 8 }] == 111 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 9 }] == 100 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 10 }] == 0; local_#21562 := strlit_#70579; local_#21563 := { base : local_#21562!base, offset : local_#21562!offset + 0 * 1 }; assert { :LIR "63263" } { :check "overflow" } { :finding_ids "0" } true; local_#8043 := local_#21563; goto CFG_37667; CFG_38518: assume true; assume _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 0 }] == 102 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 1 }] == 111 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 2 }] == 114 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 3 }] == 32 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 4 }] == 105 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 5 }] == 116 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 6 }] == 101 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 7 }] == 114 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 8 }] == 97 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 9 }] == 116 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 10 }] == 111 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 11 }] == 114 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 12 }] == 0; local_#21564 := strlit_#70580; local_#21565 := { base : local_#21564!base, offset : local_#21564!offset + 0 * 1 }; assert { :LIR "63264" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5813_name] := local_#21565; assume _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 0 }] == 102 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 1 }] == 111 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 2 }] == 114 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 3 }] == 32 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 4 }] == 105 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 5 }] == 116 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 6 }] == 101 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 7 }] == 114 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 8 }] == 97 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 9 }] == 116 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 10 }] == 111 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 11 }] == 114 && _memory[{ base : strlit_#70580!base, offset : strlit_#70580!offset + 12 }] == 0; local_#21566 := strlit_#70580; local_#21567 := { base : local_#21566!base, offset : local_#21566!offset + 0 * 1 }; assert { :LIR "63265" } { :check "overflow" } { :finding_ids "0" } true; local_#8043 := local_#21567; goto CFG_37667; CFG_43554: assume true; local_#21568 := 6; local_#21569 := ~lshr32(local_#32289_i, local_#21568); local_#21570 := 255; local_#21571 := ~uand32(local_#21569, local_#21570); local_#21572 := local_#21571; assert { :LIR "61563" } { :check "overflow" } { :finding_ids "0" } local_#21572 <= 2147483647; goto CFG_47274; CFG_47274: assume true; call local_#21573 := routine_#34795_getobjname(local_#32290_p,local_#32291_pc,local_#21572,local_#5813_name); goto CFG_38519; CFG_38519: assume true; local_#8043 := local_#21573; goto CFG_37667; CFG_38520: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#21574 := strlit_#70307; local_#21575 := { base : local_#21574!base, offset : local_#21574!offset + 0 * 1 }; assert { :LIR "63266" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5813_name] := local_#21575; assume _memory[{ base : strlit_#70583!base, offset : strlit_#70583!offset + 0 }] == 104 && _memory[{ base : strlit_#70583!base, offset : strlit_#70583!offset + 1 }] == 111 && _memory[{ base : strlit_#70583!base, offset : strlit_#70583!offset + 2 }] == 111 && _memory[{ base : strlit_#70583!base, offset : strlit_#70583!offset + 3 }] == 107 && _memory[{ base : strlit_#70583!base, offset : strlit_#70583!offset + 4 }] == 0; local_#21576 := strlit_#70583; local_#21577 := { base : local_#21576!base, offset : local_#21576!offset + 0 * 1 }; assert { :LIR "63267" } { :check "overflow" } { :finding_ids "0" } true; local_#8043 := local_#21577; goto CFG_37667; CFG_41940: assume true; goto CFG_38517; CFG_37667: assume true; } procedure routine_#34769_funcstat(local_#5814_ls_IN : { base : int, offset : int }, local_#5815_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5814_ls : { base : int, offset : int }; var local_#5815_line : int; var local_#32296_v : { base : int, offset : int }; var local_#21578 : { base : int, offset : int }; var local_#21579 : int; var local_#32295_ismethod : int; var local_#32294_b : { base : int, offset : int }; var local_#21580 : { base : int, offset : int }; var local_#21581 : { base : int, offset : int }; var local_#21582 : { base : int, offset : int }; var local_#21583 : { base : int, offset : int }; var local_#21584 : { base : int, offset : int }; local_#5814_ls := local_#5814_ls_IN; local_#5815_line := local_#5815_line_IN; goto CFG_36757; CFG_36757: assume true; goto CFG_47275; CFG_47275: assume true; call routine_#33908_luaX_next(local_#5814_ls); goto CFG_43555; CFG_43555: assume true; local_#21578 := local_#32296_v; goto CFG_47276; CFG_47276: assume true; call local_#21579 := routine_#34767_funcname(local_#5814_ls,local_#21578); goto CFG_43556; CFG_43556: assume true; local_#32295_ismethod := local_#21579; local_#21580 := local_#32294_b; goto CFG_47277; CFG_47277: assume true; call routine_#34613_body(local_#5814_ls,local_#21580,local_#32295_ismethod,local_#5815_line); goto CFG_43557; CFG_43557: assume true; local_#21581 := _memory_ptr[{ base : local_#5814_ls!base, offset : local_#5814_ls!offset + 48 }]; local_#21582 := local_#32296_v; local_#21583 := local_#32294_b; goto CFG_47278; CFG_47278: assume true; call routine_#33810_luaK_storevar(local_#21581,local_#21582,local_#21583); goto CFG_43558; CFG_43558: assume true; local_#21584 := _memory_ptr[{ base : local_#5814_ls!base, offset : local_#5814_ls!offset + 48 }]; goto CFG_47279; CFG_47279: assume true; call routine_#33790_luaK_fixline(local_#21584,local_#5815_line); goto CFG_39339; CFG_39339: assume true; goto CFG_37668; CFG_37668: assume true; } procedure routine_#34770_g_iofile(local_#5816_L_IN : { base : int, offset : int }, local_#5817_f_IN : { base : int, offset : int }, local_#5818_mode_IN : { base : int, offset : int }) returns (local_#8044 : int) modifies _memory, _memory_ptr, _valid; { var local_#5816_L : { base : int, offset : int }; var local_#5817_f : { base : int, offset : int }; var local_#5818_mode : { base : int, offset : int }; var local_#21585 : int; var local_#21586 : int; var local_#21587 : int; var local_#21588 : int; var local_#21589 : int; var local_#21590 : int; var local_#21591 : { base : int, offset : int }; var local_#21592 : { base : int, offset : int }; var local_#32297_filename : { base : int, offset : int }; var local_#21593 : { base : int, offset : int }; var local_#21594 : { base : int, offset : int }; var local_#21595 : int; var local_#21596 : int; var local_#21597 : int; var local_#21598 : int; local_#5816_L := local_#5816_L_IN; local_#5817_f := local_#5817_f_IN; local_#5818_mode := local_#5818_mode_IN; goto CFG_36758; CFG_36758: assume true; goto CFG_43559; CFG_43559: assume true; local_#21585 := 1; goto CFG_47280; CFG_47280: assume true; call local_#21586 := routine_#34000_lua_type(local_#5816_L,local_#21585); goto CFG_50482; CFG_50482: assume true; local_#21587 := 0; local_#21588 := (if local_#21586 <= local_#21587 then 1 else 0); local_#21589 := (if local_#21588 != 0 then 0 else 1); if (local_#21589 != 0) { goto CFG_43560; } else { goto CFG_43563; } CFG_43560: assume true; local_#21590 := 1; local_#21591 := { base : 0, offset : 0 }; goto CFG_47281; CFG_47281: assume true; call local_#21592 := routine_#33995_lua_tolstring(local_#5816_L,local_#21590,local_#21591); goto CFG_50483; CFG_50483: assume true; local_#32297_filename := local_#21592; local_#21593 := local_#32297_filename; if (local_#21593 != { base : 0, offset : 0 }) { goto CFG_47284; } else { goto CFG_47282; } CFG_47282: assume true; call local_#21594 := routine_#35115_tofile(local_#5816_L); goto CFG_43561; CFG_43561: assume true; local_#21595 := 1; goto CFG_47283; CFG_47283: assume true; call routine_#33967_lua_pushvalue(local_#5816_L,local_#21595); goto CFG_40853; CFG_40853: assume true; goto CFG_43562; CFG_47284: assume true; call routine_#34971_opencheck(local_#5816_L,local_#32297_filename,local_#5818_mode); goto CFG_40854; CFG_40854: assume true; goto CFG_43562; CFG_43562: assume true; local_#21596 := -1001000; goto CFG_47285; CFG_47285: assume true; call routine_#33980_lua_setfield(local_#5816_L,local_#21596,local_#5817_f); goto CFG_40855; CFG_40855: assume true; goto CFG_43563; CFG_43563: assume true; local_#21597 := -1001000; goto CFG_47286; CFG_47286: assume true; call local_#21598 := routine_#33930_lua_getfield(local_#5816_L,local_#21597,local_#5817_f); goto CFG_38521; CFG_38521: assume true; local_#8044 := 1; goto CFG_37669; CFG_37669: assume true; } procedure routine_#34771_g_read(local_#5819_L_IN : { base : int, offset : int }, local_#5820_f_IN : { base : int, offset : int }, local_#5821_first_IN : int) returns (local_#8045 : int) modifies _memory, _memory_ptr, _valid; { var local_#5819_L : { base : int, offset : int }; var local_#5820_f : { base : int, offset : int }; var local_#5821_first : int; var local_#21599 : int; var local_#21600 : int; var local_#21601 : int; var local_#32299_nargs : int; var local_#21602 : int; var local_#21603 : int; var local_#21604 : int; var local_#21605 : int; var local_#21606 : { base : int, offset : int }; var local_#21607 : { base : int, offset : int }; var local_#32300_success : int; var local_#32298_n : int; var local_#21608 : int; var local_#21609 : int; var local_#21610 : int; var local_#21611 : int; var local_#21612 : int; var local_#21613 : int; var local_#21614 : int; var local_#21615 : { base : int, offset : int }; var local_#21616 : { base : int, offset : int }; var local_#32302_p : { base : int, offset : int }; var local_#21617 : int; var local_#21618 : int; var local_#21619 : int; var local_#21620 : { base : int, offset : int }; var local_#21621 : int; var local_#21622 : { base : int, offset : int }; var local_#21623 : int; var local_#21624 : { base : int, offset : int }; var local_#21625 : { base : int, offset : int }; var local_#21626 : int; var local_#21627 : int; var local_#21628 : int; var local_#21629 : int; var local_#21630 : int; var local_#21631 : int; var local_#21632 : int; var local_#21633 : int; var local_#32301_l : int; var local_#21634 : int; var local_#21635 : int; var local_#21636 : int; var local_#30762 : int; var local_#21637 : int; var local_#21638 : int; var local_#21639 : int; var local_#21640 : int; var local_#21641 : int; var local_#21642 : int; var local_#21643 : int; var local_#21644 : int; var local_#21645 : int; var local_#21646 : int; var local_#21647 : int; var local_#21648 : int; var local_#21649 : int; var local_#21650 : int; var local_#21651 : { base : int, offset : int }; var local_#21652 : int; local_#5819_L := local_#5819_L_IN; local_#5820_f := local_#5820_f_IN; local_#5821_first := local_#5821_first_IN; goto CFG_36759; CFG_36759: assume true; goto CFG_47287; CFG_47287: assume true; call local_#21599 := routine_#33941_lua_gettop(local_#5819_L); goto CFG_43564; CFG_43564: assume true; local_#21600 := 1; local_#21601 := local_#21599 - local_#21600; assert { :LIR "68046" } { :check "overflow" } { :finding_ids "0" } local_#21601 <= 2147483647; local_#32299_nargs := local_#21601; goto CFG_47288; CFG_47288: assume true; call routine_#33486_clearerr(local_#5820_f); goto CFG_50484; CFG_50484: assume true; local_#21602 := 0; local_#21603 := (if local_#32299_nargs == local_#21602 then 1 else 0); if (local_#21603 != 0) { goto CFG_43570; } else { goto CFG_43565; } CFG_43565: assume true; local_#21604 := 20; local_#21605 := local_#32299_nargs + local_#21604; assert { :LIR "66654" } { :check "overflow" } { :finding_ids "0" } local_#21605 <= 2147483647; assume _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 0 }] == 116 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 1 }] == 111 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 2 }] == 111 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 3 }] == 32 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 4 }] == 109 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 5 }] == 97 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 6 }] == 110 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 7 }] == 121 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 8 }] == 32 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 9 }] == 97 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 10 }] == 114 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 11 }] == 103 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 12 }] == 117 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 13 }] == 109 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 14 }] == 101 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 15 }] == 110 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 16 }] == 116 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 17 }] == 115 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 18 }] == 0; local_#21606 := strlit_#70447; local_#21607 := { base : local_#21606!base, offset : local_#21606!offset + 0 * 1 }; assert { :LIR "63268" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47289; CFG_47289: assume true; call routine_#33824_luaL_checkstack(local_#5819_L,local_#21605,local_#21607); goto CFG_41750; CFG_41750: assume true; local_#32300_success := 1; local_#32298_n := local_#5821_first; goto CFG_50485; CFG_50485: assume true; local_#21608 := local_#32299_nargs; local_#21609 := 1; local_#32299_nargs := local_#21608 - local_#21609; assert { :LIR "68047" } { :check "overflow" } { :finding_ids "0" } local_#32299_nargs <= 2147483647; local_#21610 := local_#21608; if (local_#21610 != 0) { goto CFG_50486; } else { goto CFG_40856; } CFG_50486: assume true; local_#21611 := local_#32300_success; if (local_#21611 != 0) { goto CFG_47290; } else { goto CFG_40856; } CFG_40856: assume true; goto CFG_47301; CFG_47290: assume true; call local_#21612 := routine_#34000_lua_type(local_#5819_L,local_#32298_n); goto CFG_50487; CFG_50487: assume true; local_#21613 := 3; local_#21614 := (if local_#21612 == local_#21613 then 1 else 0); if (local_#21614 != 0) { goto CFG_47297; } else { goto CFG_43566; } CFG_43566: assume true; local_#21615 := { base : 0, offset : 0 }; goto CFG_47291; CFG_47291: assume true; call local_#21616 := routine_#33821_luaL_checklstring(local_#5819_L,local_#32298_n,local_#21615); goto CFG_50488; CFG_50488: assume true; local_#32302_p := local_#21616; local_#21617 := _memory[local_#32302_p]; assert { :LIR "63269" } { :check "overflow" } { :finding_ids "0" } local_#21617 <= 2147483647; local_#21618 := 42; local_#21619 := (if local_#21617 == local_#21618 then 1 else 0); if (local_#21619 != 0) { goto CFG_40857; } else { goto CFG_51544; } CFG_40857: assume true; local_#21620 := local_#32302_p; local_#21621 := 1; local_#32302_p := { base : local_#21620!base, offset : local_#21620!offset + local_#21621 * 1 }; local_#21622 := local_#21620; goto CFG_51544; CFG_51544: assume true; local_#21623 := _memory[local_#32302_p]; assert { :LIR "63270" } { :check "overflow" } { :finding_ids "0" } local_#21623 <= 2147483647; if (local_#21623 == 110) { goto CFG_47296; } if (local_#21623 == 108) { goto CFG_43569; } if (local_#21623 == 76) { goto CFG_43568; } if (local_#21623 == 97) { goto CFG_47293; } goto CFG_43567; CFG_43567: assume true; assume _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 0 }] == 105 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 1 }] == 110 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 2 }] == 118 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 3 }] == 97 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 4 }] == 108 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 5 }] == 105 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 6 }] == 100 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 7 }] == 32 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 8 }] == 102 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 9 }] == 111 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 10 }] == 114 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 11 }] == 109 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 12 }] == 97 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 13 }] == 116 && _memory[{ base : strlit_#70585!base, offset : strlit_#70585!offset + 14 }] == 0; local_#21624 := strlit_#70585; local_#21625 := { base : local_#21624!base, offset : local_#21624!offset + 0 * 1 }; assert { :LIR "63271" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47292; CFG_47292: assume true; call local_#21626 := routine_#33815_luaL_argerror(local_#5819_L,local_#32298_n,local_#21625); goto CFG_38522; CFG_38522: assume true; local_#8045 := local_#21626; goto CFG_37670; CFG_47293: assume true; call routine_#35011_read_all(local_#5819_L,local_#5820_f); goto CFG_39646; CFG_39646: assume true; local_#32300_success := 1; goto CFG_40858; CFG_43568: assume true; local_#21627 := 0; goto CFG_47294; CFG_47294: assume true; call local_#21628 := routine_#35013_read_line(local_#5819_L,local_#5820_f,local_#21627); goto CFG_39647; CFG_39647: assume true; local_#32300_success := local_#21628; goto CFG_40858; CFG_43569: assume true; local_#21629 := 1; goto CFG_47295; CFG_47295: assume true; call local_#21630 := routine_#35013_read_line(local_#5819_L,local_#5820_f,local_#21629); goto CFG_39648; CFG_39648: assume true; local_#32300_success := local_#21630; goto CFG_40858; CFG_47296: assume true; call local_#21631 := routine_#35015_read_number(local_#5819_L,local_#5820_f); goto CFG_39649; CFG_39649: assume true; local_#32300_success := local_#21631; goto CFG_40858; CFG_40858: assume true; goto CFG_45091; CFG_47297: assume true; call local_#21632 := routine_#33820_luaL_checkinteger(local_#5819_L,local_#32298_n); goto CFG_50489; CFG_50489: assume true; local_#21633 := ~uwrap64(local_#21632); assert { :LIR "61564" } { :check "overflow" } { :finding_ids "0" } true; local_#32301_l := local_#21633; local_#21634 := 0; local_#21635 := (if local_#32301_l == local_#21634 then 1 else 0); if (local_#21635 != 0) { goto CFG_47299; } else { goto CFG_47298; } CFG_47298: assume true; call local_#21636 := routine_#35012_read_chars(local_#5819_L,local_#5820_f,local_#32301_l); goto CFG_40859; CFG_40859: assume true; local_#30762 := local_#21636; goto CFG_40861; CFG_47299: assume true; call local_#21637 := routine_#35110_test_eof(local_#5819_L,local_#5820_f); goto CFG_40860; CFG_40860: assume true; local_#30762 := local_#21637; goto CFG_40861; CFG_40861: assume true; local_#32300_success := local_#30762; goto CFG_45091; CFG_45091: assume true; local_#21638 := local_#32298_n; local_#21639 := 1; local_#32298_n := local_#21638 + local_#21639; assert { :LIR "66655" } { :check "overflow" } { :finding_ids "0" } local_#32298_n <= 2147483647; local_#21640 := local_#21638; goto CFG_50485; CFG_43570: assume true; local_#21641 := 1; goto CFG_47300; CFG_47300: assume true; call local_#21642 := routine_#35013_read_line(local_#5819_L,local_#5820_f,local_#21641); goto CFG_40862; CFG_40862: assume true; local_#32300_success := local_#21642; local_#21643 := 1; local_#21644 := local_#5821_first + local_#21643; assert { :LIR "66656" } { :check "overflow" } { :finding_ids "0" } local_#21644 <= 2147483647; local_#32298_n := local_#21644; goto CFG_47301; CFG_47301: assume true; call local_#21645 := routine_#33555_ferror(local_#5820_f); goto CFG_50490; CFG_50490: assume true; local_#21646 := local_#21645; if (local_#21646 != 0) { goto CFG_43572; } else { goto CFG_50491; } CFG_50491: assume true; local_#21647 := (if local_#32300_success != 0 then 0 else 1); if (local_#21647 != 0) { goto CFG_43571; } else { goto CFG_38523; } CFG_43571: assume true; local_#21648 := -2; goto CFG_47302; CFG_47302: assume true; call routine_#33987_lua_settop(local_#5819_L,local_#21648); goto CFG_47303; CFG_47303: assume true; call routine_#33963_lua_pushnil(local_#5819_L); goto CFG_40863; CFG_40863: assume true; goto CFG_38523; CFG_38523: assume true; local_#21649 := local_#32298_n - local_#5821_first; assert { :LIR "68048" } { :check "overflow" } { :finding_ids "0" } local_#21649 <= 2147483647; local_#8045 := local_#21649; goto CFG_37670; CFG_43572: assume true; local_#21650 := 0; local_#21651 := { base : 0, offset : 0 }; goto CFG_47304; CFG_47304: assume true; call local_#21652 := routine_#33830_luaL_fileresult(local_#5819_L,local_#21650,local_#21651); goto CFG_38524; CFG_38524: assume true; local_#8045 := local_#21652; goto CFG_37670; CFG_41941: assume true; goto CFG_40858; CFG_37670: assume true; } procedure routine_#34772_g_write(local_#5822_L_IN : { base : int, offset : int }, local_#5823_f_IN : { base : int, offset : int }, local_#5824_arg_IN : int) returns (local_#8046 : int) modifies _memory, _memory_ptr, _valid; { var local_#5822_L : { base : int, offset : int }; var local_#5823_f : { base : int, offset : int }; var local_#5824_arg : int; var local_#21653 : int; var local_#21654 : int; var local_#32303_nargs : int; var local_#32304_status : int; var local_#21655 : int; var local_#21656 : int; var local_#21657 : int; var local_#21658 : int; var local_#21659 : { base : int, offset : int }; var local_#21660 : int; var local_#21661 : int; var local_#21662 : int; var local_#21663 : int; var local_#32306_l : { base : int, offset : int }; var local_#21664 : { base : int, offset : int }; var local_#21665 : { base : int, offset : int }; var local_#32307_s : { base : int, offset : int }; var local_#21666 : int; var local_#21667 : { base : int, offset : int }; var local_#21668 : int; var local_#21669 : int; var local_#21670 : int; var local_#30763 : int; var local_#21671 : int; var local_#21672 : int; var local_#21673 : { base : int, offset : int }; var local_#21674 : { base : int, offset : int }; var local_#21675 : { base : int, offset : int }; var local_#21676 : int; var nondet_#0 : int; var local_#21677 : int; var local_#21678 : int; var local_#30764 : int; var local_#21679 : { base : int, offset : int }; var local_#21680 : { base : int, offset : int }; var local_#21681 : { base : int, offset : int }; var local_#21682 : int; var local_#21683 : int; var local_#21684 : int; var local_#32305_len : int; var local_#21685 : int; var local_#21686 : int; var local_#21687 : int; var local_#30765 : int; var local_#21688 : int; var local_#21689 : int; var local_#21690 : int; local_#5822_L := local_#5822_L_IN; local_#5823_f := local_#5823_f_IN; local_#5824_arg := local_#5824_arg_IN; goto CFG_36760; CFG_36760: assume true; goto CFG_47305; CFG_47305: assume true; call local_#21653 := routine_#33941_lua_gettop(local_#5822_L); goto CFG_41751; CFG_41751: assume true; local_#21654 := local_#21653 - local_#5824_arg; assert { :LIR "68049" } { :check "overflow" } { :finding_ids "0" } local_#21654 <= 2147483647; local_#32303_nargs := local_#21654; local_#32304_status := 1; goto CFG_50492; CFG_50492: assume true; local_#21655 := local_#32303_nargs; local_#21656 := 1; local_#32303_nargs := local_#21655 - local_#21656; assert { :LIR "68050" } { :check "overflow" } { :finding_ids "0" } local_#32303_nargs <= 2147483647; local_#21657 := local_#21655; if (local_#21657 != 0) { goto CFG_47307; } else { goto CFG_50493; } CFG_50493: assume true; local_#21658 := local_#32304_status; if (local_#21658 != 0) { goto CFG_38526; } else { goto CFG_43573; } CFG_43573: assume true; local_#21659 := { base : 0, offset : 0 }; goto CFG_47306; CFG_47306: assume true; call local_#21660 := routine_#33830_luaL_fileresult(local_#5822_L,local_#32304_status,local_#21659); goto CFG_38525; CFG_38525: assume true; local_#8046 := local_#21660; goto CFG_37671; CFG_38526: assume true; local_#8046 := 1; goto CFG_37671; CFG_47307: assume true; call local_#21661 := routine_#34000_lua_type(local_#5822_L,local_#5824_arg); goto CFG_50494; CFG_50494: assume true; local_#21662 := 3; local_#21663 := (if local_#21661 == local_#21662 then 1 else 0); if (local_#21663 != 0) { goto CFG_47310; } else { goto CFG_43574; } CFG_43574: assume true; local_#21664 := local_#32306_l; goto CFG_47308; CFG_47308: assume true; call local_#21665 := routine_#33821_luaL_checklstring(local_#5822_L,local_#5824_arg,local_#21664); goto CFG_50495; CFG_50495: assume true; local_#32307_s := local_#21665; local_#21666 := local_#32304_status; if (local_#21666 != 0) { goto CFG_43575; } else { goto CFG_40864; } CFG_43575: assume true; local_#21667 := local_#32307_s; assert { :LIR "63272" } { :check "overflow" } { :finding_ids "0" } true; local_#21668 := 1; goto CFG_47309; CFG_47309: assume true; call local_#21669 := routine_#33600_fwrite(local_#21667,local_#21668,_memory[local_#32306_l],local_#5823_f); goto CFG_50496; CFG_50496: assume true; local_#21670 := (if local_#21669 == _memory[local_#32306_l] then 1 else 0); if (local_#21670 != 0) { goto CFG_40865; } else { goto CFG_40864; } CFG_40864: assume true; local_#30763 := 0; goto CFG_40866; CFG_40865: assume true; local_#30763 := 1; goto CFG_40866; CFG_40866: assume true; local_#32304_status := local_#30763; goto CFG_45092; CFG_47310: assume true; call local_#21671 := routine_#33945_lua_isinteger(local_#5822_L,local_#5824_arg); goto CFG_50497; CFG_50497: assume true; local_#21672 := local_#21671; if (local_#21672 != 0) { goto CFG_43578; } else { goto CFG_43576; } CFG_43576: assume true; assume _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 0 }] == 37 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 1 }] == 46 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 2 }] == 49 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 3 }] == 52 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 4 }] == 103 && _memory[{ base : strlit_#70365!base, offset : strlit_#70365!offset + 5 }] == 0; local_#21673 := strlit_#70365; local_#21674 := { base : local_#21673!base, offset : local_#21673!offset + 0 * 1 }; assert { :LIR "63273" } { :check "overflow" } { :finding_ids "0" } true; local_#21675 := { base : 0, offset : 0 }; goto CFG_47311; CFG_47311: assume true; call local_#21676 := routine_#33996_lua_tonumberx(local_#5822_L,local_#5824_arg,local_#21675); goto CFG_43577; CFG_43577: assume true; havoc nondet_#0; local_#21677 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61565 */; assert { :LIR "61565" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47312; CFG_47312: assume true; call local_#21678 := routine_#33580_fprintf(local_#5823_f,local_#21674,{ base : 0, offset : 0 }); goto CFG_40867; CFG_40867: assume true; local_#30764 := local_#21678; goto CFG_50498; CFG_43578: assume true; assume _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 0 }] == 37 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 1 }] == 108 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 2 }] == 108 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 3 }] == 100 && _memory[{ base : strlit_#70367!base, offset : strlit_#70367!offset + 4 }] == 0; local_#21679 := strlit_#70367; local_#21680 := { base : local_#21679!base, offset : local_#21679!offset + 0 * 1 }; assert { :LIR "63274" } { :check "overflow" } { :finding_ids "0" } true; local_#21681 := { base : 0, offset : 0 }; goto CFG_47313; CFG_47313: assume true; call local_#21682 := routine_#33994_lua_tointegerx(local_#5822_L,local_#5824_arg,local_#21681); goto CFG_43579; CFG_43579: assume true; local_#21683 := local_#21682; assert { :LIR "61566" } { :check "overflow" } { :finding_ids "0" } local_#21683 <= 9223372036854775807; goto CFG_47314; CFG_47314: assume true; call local_#21684 := routine_#33580_fprintf(local_#5823_f,local_#21680,{ base : 0, offset : 0 }); goto CFG_40868; CFG_40868: assume true; local_#30764 := local_#21684; goto CFG_50498; CFG_50498: assume true; local_#32305_len := local_#30764; local_#21685 := local_#32304_status; if (local_#21685 != 0) { goto CFG_50499; } else { goto CFG_40869; } CFG_50499: assume true; local_#21686 := 0; local_#21687 := (if local_#32305_len > local_#21686 then 1 else 0); if (local_#21687 != 0) { goto CFG_40870; } else { goto CFG_40869; } CFG_40869: assume true; local_#30765 := 0; goto CFG_40871; CFG_40870: assume true; local_#30765 := 1; goto CFG_40871; CFG_40871: assume true; local_#32304_status := local_#30765; goto CFG_45092; CFG_45092: assume true; local_#21688 := local_#5824_arg; local_#21689 := 1; local_#5824_arg := local_#21688 + local_#21689; assert { :LIR "66657" } { :check "overflow" } { :finding_ids "0" } local_#5824_arg <= 2147483647; local_#21690 := local_#21688; goto CFG_50492; CFG_37671: assume true; } procedure routine_#34773_gctm(local_#5825_L_IN : { base : int, offset : int }) returns (local_#8047 : int) modifies _memory, _memory_ptr, _valid; { var local_#5825_L : { base : int, offset : int }; var local_#21691 : int; var local_#21692 : int; var local_#32308_n : int; var local_#21693 : int; var local_#21694 : int; var local_#21695 : int; var local_#21696 : int; var local_#21697 : int; var local_#21698 : { base : int, offset : int }; var local_#21699 : int; var local_#21700 : int; var local_#21701 : int; var local_#21702 : int; local_#5825_L := local_#5825_L_IN; goto CFG_36761; CFG_36761: assume true; goto CFG_43580; CFG_43580: assume true; local_#21691 := 1; goto CFG_47315; CFG_47315: assume true; call local_#21692 := routine_#33834_luaL_len(local_#5825_L,local_#21691); goto CFG_41752; CFG_41752: assume true; local_#32308_n := local_#21692; goto CFG_50500; CFG_50500: assume true; local_#21693 := 1; local_#21694 := (if local_#32308_n >= local_#21693 then 1 else 0); if (local_#21694 != 0) { goto CFG_43581; } else { goto CFG_38527; } CFG_38527: assume true; local_#8047 := 0; goto CFG_37672; CFG_43581: assume true; local_#21695 := 1; goto CFG_47316; CFG_47316: assume true; call local_#21696 := routine_#33971_lua_rawgeti(local_#5825_L,local_#21695,local_#32308_n); goto CFG_43582; CFG_43582: assume true; local_#21697 := -1; goto CFG_47317; CFG_47317: assume true; call local_#21698 := routine_#33999_lua_touserdata(local_#5825_L,local_#21697); goto CFG_47318; CFG_47318: assume true; call routine_#34873_lsys_unloadlib(local_#21698); goto CFG_43583; CFG_43583: assume true; local_#21699 := -2; goto CFG_47319; CFG_47319: assume true; call routine_#33987_lua_settop(local_#5825_L,local_#21699); goto CFG_45093; CFG_45093: assume true; local_#21700 := local_#32308_n; local_#21701 := 1; local_#32308_n := local_#21700 - local_#21701; assert { :LIR "68051" } { :check "overflow" } { :finding_ids "0" } local_#32308_n <= 9223372036854775807; local_#21702 := local_#21700; goto CFG_50500; CFG_37672: assume true; } procedure routine_#34774_generic_reader(local_#5826_L_IN : { base : int, offset : int }, local_#5827_ud_IN : { base : int, offset : int }, local_#5828_size_IN : { base : int, offset : int }) returns (local_#8048 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5826_L : { base : int, offset : int }; var local_#5827_ud : { base : int, offset : int }; var local_#5828_size : { base : int, offset : int }; var local_#21703 : int; var local_#21704 : int; var local_#21705 : { base : int, offset : int }; var local_#21706 : { base : int, offset : int }; var local_#21707 : int; var local_#21708 : int; var local_#21709 : int; var local_#21710 : int; var local_#21711 : { base : int, offset : int }; var local_#21712 : int; var local_#21713 : int; var local_#21714 : int; var local_#21715 : int; var local_#21716 : int; var local_#21717 : int; var local_#21718 : int; var local_#21719 : { base : int, offset : int }; var local_#21720 : { base : int, offset : int }; var local_#21721 : int; var local_#21722 : int; var local_#21723 : int; var local_#21724 : int; var local_#21725 : int; var local_#21726 : { base : int, offset : int }; var local_#21727 : int; local_#5826_L := local_#5826_L_IN; local_#5827_ud := local_#5827_ud_IN; local_#5828_size := local_#5828_size_IN; goto CFG_36762; CFG_36762: assume true; goto CFG_43584; CFG_43584: assume true; local_#21703 := 0; assert { :LIR "61567" } { :check "overflow" } { :finding_ids "0" } true; local_#21704 := 2; assume _memory[{ base : strlit_#70588!base, offset : strlit_#70588!offset + 25 }] == 0; local_#21705 := strlit_#70588; local_#21706 := { base : local_#21705!base, offset : local_#21705!offset + 0 * 1 }; assert { :LIR "63275" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47320; CFG_47320: assume true; call routine_#33824_luaL_checkstack(local_#5826_L,local_#21704,local_#21706); goto CFG_43585; CFG_43585: assume true; local_#21707 := 1; goto CFG_47321; CFG_47321: assume true; call routine_#33967_lua_pushvalue(local_#5826_L,local_#21707); goto CFG_43586; CFG_43586: assume true; local_#21708 := 0; local_#21709 := 1; local_#21710 := 0; local_#21711 := { base : 0, offset : 0 }; goto CFG_47322; CFG_47322: assume true; call routine_#33919_lua_callk(local_#5826_L,local_#21708,local_#21709,local_#21710,local_#21711); goto CFG_43587; CFG_43587: assume true; local_#21712 := -1; goto CFG_47323; CFG_47323: assume true; call local_#21713 := routine_#34000_lua_type(local_#5826_L,local_#21712); goto CFG_50501; CFG_50501: assume true; local_#21714 := 0; local_#21715 := (if local_#21713 == local_#21714 then 1 else 0); if (local_#21715 != 0) { goto CFG_43593; } else { goto CFG_43588; } CFG_43588: assume true; local_#21716 := -1; goto CFG_47324; CFG_47324: assume true; call local_#21717 := routine_#33947_lua_isstring(local_#5826_L,local_#21716); goto CFG_50502; CFG_50502: assume true; local_#21718 := (if local_#21717 != 0 then 0 else 1); if (local_#21718 != 0) { goto CFG_43589; } else { goto CFG_40873; } CFG_43589: assume true; assume _memory[{ base : strlit_#70589!base, offset : strlit_#70589!offset + 36 }] == 0; local_#21719 := strlit_#70589; local_#21720 := { base : local_#21719!base, offset : local_#21719!offset + 0 * 1 }; assert { :LIR "63276" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47325; CFG_47325: assume true; call local_#21721 := routine_#33828_luaL_error(local_#5826_L,local_#21720,{ base : 0, offset : 0 }); goto CFG_40872; CFG_40872: assume true; goto CFG_40873; CFG_40873: assume true; goto CFG_43590; CFG_43590: assume true; local_#21722 := -1; local_#21723 := 5; goto CFG_47326; CFG_47326: assume true; call routine_#33924_lua_copy(local_#5826_L,local_#21722,local_#21723); goto CFG_43591; CFG_43591: assume true; local_#21724 := -2; goto CFG_47327; CFG_47327: assume true; call routine_#33987_lua_settop(local_#5826_L,local_#21724); goto CFG_43592; CFG_43592: assume true; local_#21725 := 5; goto CFG_47328; CFG_47328: assume true; call local_#21726 := routine_#33995_lua_tolstring(local_#5826_L,local_#21725,local_#5828_size); goto CFG_38528; CFG_38528: assume true; local_#8048 := local_#21726; goto CFG_37673; CFG_43593: assume true; local_#21727 := -2; goto CFG_47329; CFG_47329: assume true; call routine_#33987_lua_settop(local_#5826_L,local_#21727); goto CFG_38529; CFG_38529: assume true; _memory[local_#5828_size] := 0; local_#8048 := { base : 0, offset : 0 }; goto CFG_37673; CFG_37673: assume true; } procedure routine_#34775_getF(local_#5829_L_IN : { base : int, offset : int }, local_#5830_ud_IN : { base : int, offset : int }, local_#5831_size_IN : { base : int, offset : int }) returns (local_#8049 : { base : int, offset : int }) modifies _memory; { var local_#5829_L : { base : int, offset : int }; var local_#5830_ud : { base : int, offset : int }; var local_#5831_size : { base : int, offset : int }; var local_#21728 : { base : int, offset : int }; var local_#32309_lf : { base : int, offset : int }; var local_#21729 : int; var local_#21730 : int; var local_#21731 : int; var local_#21732 : { base : int, offset : int }; var local_#21733 : int; var local_#21734 : int; var local_#21735 : { base : int, offset : int }; var local_#21736 : { base : int, offset : int }; var local_#21737 : int; var local_#21738 : int; var local_#21739 : { base : int, offset : int }; var local_#21740 : int; var local_#21741 : int; var local_#21742 : { base : int, offset : int }; var local_#21743 : { base : int, offset : int }; local_#5829_L := local_#5829_L_IN; local_#5830_ud := local_#5830_ud_IN; local_#5831_size := local_#5831_size_IN; goto CFG_36763; CFG_36763: assume true; goto CFG_50503; CFG_50503: assume true; local_#21728 := local_#5830_ud; assert { :LIR "61568" } { :check "overflow" } { :finding_ids "0" } true; local_#32309_lf := local_#21728; local_#21729 := 0; assert { :LIR "61569" } { :check "overflow" } { :finding_ids "0" } true; local_#21730 := 0; local_#21731 := (if _memory[{ base : local_#32309_lf!base, offset : local_#32309_lf!offset + 0 }] > local_#21730 then 1 else 0); if (local_#21731 != 0) { goto CFG_40875; } else { goto CFG_43594; } CFG_43594: assume true; local_#21732 := _memory_ptr[{ base : local_#32309_lf!base, offset : local_#32309_lf!offset + 8 }]; goto CFG_47330; CFG_47330: assume true; call local_#21733 := routine_#33554_feof(local_#21732); goto CFG_50504; CFG_50504: assume true; local_#21734 := local_#21733; if (local_#21734 != 0) { goto CFG_38530; } else { goto CFG_43595; } CFG_43595: assume true; local_#21735 := { base : local_#32309_lf!base, offset : local_#32309_lf!offset + 16 }; local_#21736 := { base : local_#21735!base, offset : local_#21735!offset + 0 * 1 }; assert { :LIR "63277" } { :check "overflow" } { :finding_ids "0" } true; local_#21737 := 1; local_#21738 := 8192; local_#21739 := _memory_ptr[{ base : local_#32309_lf!base, offset : local_#32309_lf!offset + 8 }]; goto CFG_47331; CFG_47331: assume true; call local_#21740 := routine_#33583_fread(local_#21736,local_#21737,local_#21738,local_#21739); goto CFG_40874; CFG_40874: assume true; _memory[local_#5831_size] := local_#21740; goto CFG_38531; CFG_38530: assume true; local_#8049 := { base : 0, offset : 0 }; goto CFG_37674; CFG_40875: assume true; local_#21741 := ~uwrap64(_memory[{ base : local_#32309_lf!base, offset : local_#32309_lf!offset + 0 }]); assert { :LIR "63278" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#5831_size] := local_#21741; _memory[{ base : local_#32309_lf!base, offset : local_#32309_lf!offset + 0 }] := 0; goto CFG_38531; CFG_38531: assume true; local_#21742 := { base : local_#32309_lf!base, offset : local_#32309_lf!offset + 16 }; local_#21743 := { base : local_#21742!base, offset : local_#21742!offset + 0 * 1 }; assert { :LIR "63279" } { :check "overflow" } { :finding_ids "0" } true; local_#8049 := local_#21743; goto CFG_37674; CFG_37674: assume true; } procedure routine_#34776_getS(local_#5832_L_IN : { base : int, offset : int }, local_#5833_ud_IN : { base : int, offset : int }, local_#5834_size_IN : { base : int, offset : int }) returns (local_#8050 : { base : int, offset : int }) modifies _memory; { var local_#5832_L : { base : int, offset : int }; var local_#5833_ud : { base : int, offset : int }; var local_#5834_size : { base : int, offset : int }; var local_#21744 : { base : int, offset : int }; var local_#32310_ls : { base : int, offset : int }; var local_#21745 : int; var local_#21746 : int; var local_#21747 : int; local_#5832_L := local_#5832_L_IN; local_#5833_ud := local_#5833_ud_IN; local_#5834_size := local_#5834_size_IN; goto CFG_36764; CFG_36764: assume true; goto CFG_50505; CFG_50505: assume true; local_#21744 := local_#5833_ud; assert { :LIR "61570" } { :check "overflow" } { :finding_ids "0" } true; local_#32310_ls := local_#21744; local_#21745 := 0; assert { :LIR "61571" } { :check "overflow" } { :finding_ids "0" } true; local_#21746 := 0; local_#21747 := (if _memory[{ base : local_#32310_ls!base, offset : local_#32310_ls!offset + 8 }] == local_#21746 then 1 else 0); if (local_#21747 != 0) { goto CFG_38533; } else { goto CFG_38532; } CFG_38532: assume true; _memory[local_#5834_size] := _memory[{ base : local_#32310_ls!base, offset : local_#32310_ls!offset + 8 }]; _memory[{ base : local_#32310_ls!base, offset : local_#32310_ls!offset + 8 }] := 0; local_#8050 := _memory_ptr[{ base : local_#32310_ls!base, offset : local_#32310_ls!offset + 0 }]; goto CFG_37675; CFG_38533: assume true; local_#8050 := { base : 0, offset : 0 }; goto CFG_37675; CFG_37675: assume true; } procedure routine_#34777_get_prompt(local_#5835_L_IN : { base : int, offset : int }, local_#5836_firstline_IN : int) returns (local_#8051 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5835_L : { base : int, offset : int }; var local_#5836_firstline : int; var local_#21748 : int; var local_#21749 : { base : int, offset : int }; var local_#30766 : { base : int, offset : int }; var local_#21750 : { base : int, offset : int }; var local_#21751 : { base : int, offset : int }; var local_#21752 : int; var local_#21753 : int; var local_#21754 : { base : int, offset : int }; var local_#21755 : { base : int, offset : int }; var local_#32311_p : { base : int, offset : int }; var local_#21756 : { base : int, offset : int }; var local_#21757 : int; var local_#21758 : int; var local_#21759 : { base : int, offset : int }; var local_#30767 : { base : int, offset : int }; var local_#21760 : { base : int, offset : int }; var local_#21761 : { base : int, offset : int }; local_#5835_L := local_#5835_L_IN; local_#5836_firstline := local_#5836_firstline_IN; goto CFG_36765; CFG_36765: assume true; goto CFG_50506; CFG_50506: assume true; local_#21748 := local_#5836_firstline; if (local_#21748 != 0) { goto CFG_40877; } else { goto CFG_40876; } CFG_40876: assume true; assume _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 0 }] == 95 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 1 }] == 80 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 2 }] == 82 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 3 }] == 79 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 4 }] == 77 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 5 }] == 80 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 6 }] == 84 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 7 }] == 50 && _memory[{ base : strlit_#70590!base, offset : strlit_#70590!offset + 8 }] == 0; local_#21749 := strlit_#70590; local_#30766 := { base : local_#21749!base, offset : local_#21749!offset + 0 * 1 }; goto CFG_43596; CFG_40877: assume true; assume _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 0 }] == 95 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 1 }] == 80 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 2 }] == 82 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 3 }] == 79 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 4 }] == 77 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 5 }] == 80 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 6 }] == 84 && _memory[{ base : strlit_#70591!base, offset : strlit_#70591!offset + 7 }] == 0; local_#21750 := strlit_#70591; local_#30766 := { base : local_#21750!base, offset : local_#21750!offset + 0 * 1 }; goto CFG_43596; CFG_43596: assume true; local_#21751 := local_#30766; assert { :LIR "63280" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47332; CFG_47332: assume true; call local_#21752 := routine_#33931_lua_getglobal(local_#5835_L,local_#21751); goto CFG_43597; CFG_43597: assume true; local_#21753 := -1; local_#21754 := { base : 0, offset : 0 }; goto CFG_47333; CFG_47333: assume true; call local_#21755 := routine_#33995_lua_tolstring(local_#5835_L,local_#21753,local_#21754); goto CFG_50507; CFG_50507: assume true; local_#32311_p := local_#21755; local_#21756 := { base : 0, offset : 0 }; local_#21757 := (if local_#32311_p == local_#21756 then 1 else 0); if (local_#21757 != 0) { goto CFG_50508; } else { goto CFG_38534; } CFG_50508: assume true; local_#21758 := local_#5836_firstline; if (local_#21758 != 0) { goto CFG_40879; } else { goto CFG_40878; } CFG_40878: assume true; assume _memory[{ base : strlit_#70592!base, offset : strlit_#70592!offset + 0 }] == 62 && _memory[{ base : strlit_#70592!base, offset : strlit_#70592!offset + 1 }] == 62 && _memory[{ base : strlit_#70592!base, offset : strlit_#70592!offset + 2 }] == 32 && _memory[{ base : strlit_#70592!base, offset : strlit_#70592!offset + 3 }] == 0; local_#21759 := strlit_#70592; local_#30767 := { base : local_#21759!base, offset : local_#21759!offset + 0 * 1 }; goto CFG_40880; CFG_40879: assume true; assume _memory[{ base : strlit_#70593!base, offset : strlit_#70593!offset + 0 }] == 62 && _memory[{ base : strlit_#70593!base, offset : strlit_#70593!offset + 1 }] == 32 && _memory[{ base : strlit_#70593!base, offset : strlit_#70593!offset + 2 }] == 0; local_#21760 := strlit_#70593; local_#30767 := { base : local_#21760!base, offset : local_#21760!offset + 0 * 1 }; goto CFG_40880; CFG_40880: assume true; local_#21761 := local_#30767; assert { :LIR "63281" } { :check "overflow" } { :finding_ids "0" } true; local_#32311_p := local_#21761; goto CFG_38534; CFG_38534: assume true; local_#8051 := local_#32311_p; goto CFG_37676; CFG_37676: assume true; } procedure routine_#34778_getbinopr(local_#5837_op_IN : int) returns (local_#8052 : int) { var local_#5837_op : int; var local_#21762 : int; local_#5837_op := local_#5837_op_IN; goto CFG_36766; CFG_36766: assume true; goto CFG_51545; CFG_51545: assume true; local_#21762 := local_#5837_op; if (local_#21762 == 43) { goto CFG_38556; } if (local_#21762 == 45) { goto CFG_38555; } if (local_#21762 == 42) { goto CFG_38554; } if (local_#21762 == 37) { goto CFG_38553; } if (local_#21762 == 94) { goto CFG_38552; } if (local_#21762 == 47) { goto CFG_38551; } if (local_#21762 == 279) { goto CFG_38550; } if (local_#21762 == 38) { goto CFG_38549; } if (local_#21762 == 124) { goto CFG_38548; } if (local_#21762 == 126) { goto CFG_38547; } if (local_#21762 == 286) { goto CFG_38546; } if (local_#21762 == 287) { goto CFG_38545; } if (local_#21762 == 280) { goto CFG_38544; } if (local_#21762 == 285) { goto CFG_38543; } if (local_#21762 == 282) { goto CFG_38542; } if (local_#21762 == 60) { goto CFG_38541; } if (local_#21762 == 284) { goto CFG_38540; } if (local_#21762 == 62) { goto CFG_38539; } if (local_#21762 == 283) { goto CFG_38538; } if (local_#21762 == 257) { goto CFG_38537; } if (local_#21762 == 272) { goto CFG_38536; } goto CFG_38535; CFG_38535: assume true; local_#8052 := 21; goto CFG_37677; CFG_38536: assume true; local_#8052 := 20; goto CFG_37677; CFG_38537: assume true; local_#8052 := 19; goto CFG_37677; CFG_38538: assume true; local_#8052 := 18; goto CFG_37677; CFG_38539: assume true; local_#8052 := 17; goto CFG_37677; CFG_38540: assume true; local_#8052 := 15; goto CFG_37677; CFG_38541: assume true; local_#8052 := 14; goto CFG_37677; CFG_38542: assume true; local_#8052 := 13; goto CFG_37677; CFG_38543: assume true; local_#8052 := 16; goto CFG_37677; CFG_38544: assume true; local_#8052 := 12; goto CFG_37677; CFG_38545: assume true; local_#8052 := 11; goto CFG_37677; CFG_38546: assume true; local_#8052 := 10; goto CFG_37677; CFG_38547: assume true; local_#8052 := 9; goto CFG_37677; CFG_38548: assume true; local_#8052 := 8; goto CFG_37677; CFG_38549: assume true; local_#8052 := 7; goto CFG_37677; CFG_38550: assume true; local_#8052 := 6; goto CFG_37677; CFG_38551: assume true; local_#8052 := 5; goto CFG_37677; CFG_38552: assume true; local_#8052 := 4; goto CFG_37677; CFG_38553: assume true; local_#8052 := 3; goto CFG_37677; CFG_38554: assume true; local_#8052 := 2; goto CFG_37677; CFG_38555: assume true; local_#8052 := 1; goto CFG_37677; CFG_38556: assume true; local_#8052 := 0; goto CFG_37677; CFG_37677: assume true; } procedure routine_#34779_getboolfield(local_#5838_L_IN : { base : int, offset : int }, local_#5839_key_IN : { base : int, offset : int }) returns (local_#8053 : int) modifies _memory, _memory_ptr, _valid; { var local_#5838_L : { base : int, offset : int }; var local_#5839_key : { base : int, offset : int }; var local_#21763 : int; var local_#21764 : int; var local_#21765 : int; var local_#21766 : int; var local_#21767 : int; var local_#21768 : int; var local_#30768 : int; var local_#32312_res : int; var local_#21769 : int; local_#5838_L := local_#5838_L_IN; local_#5839_key := local_#5839_key_IN; goto CFG_36767; CFG_36767: assume true; goto CFG_43598; CFG_43598: assume true; local_#21763 := -1; goto CFG_47334; CFG_47334: assume true; call local_#21764 := routine_#33930_lua_getfield(local_#5838_L,local_#21763,local_#5839_key); goto CFG_50509; CFG_50509: assume true; local_#21765 := 0; local_#21766 := (if local_#21764 == local_#21765 then 1 else 0); if (local_#21766 != 0) { goto CFG_40882; } else { goto CFG_43599; } CFG_43599: assume true; local_#21767 := -1; goto CFG_47335; CFG_47335: assume true; call local_#21768 := routine_#33992_lua_toboolean(local_#5838_L,local_#21767); goto CFG_40881; CFG_40881: assume true; local_#30768 := local_#21768; goto CFG_43600; CFG_40882: assume true; local_#30768 := -1; goto CFG_43600; CFG_43600: assume true; local_#32312_res := local_#30768; local_#21769 := -2; goto CFG_47336; CFG_47336: assume true; call routine_#33987_lua_settop(local_#5838_L,local_#21769); goto CFG_38557; CFG_38557: assume true; local_#8053 := local_#32312_res; goto CFG_37678; CFG_37678: assume true; } procedure routine_#34780_getcached(local_#5840_p_IN : { base : int, offset : int }, local_#5841_encup_IN : { base : int, offset : int }, local_#5842_base_IN : { base : int, offset : int }) returns (local_#8054 : { base : int, offset : int }) { var local_#5840_p : { base : int, offset : int }; var local_#5841_encup : { base : int, offset : int }; var local_#5842_base : { base : int, offset : int }; var local_#32313_c : { base : int, offset : int }; var local_#21770 : { base : int, offset : int }; var local_#21771 : int; var local_#32315_nup : int; var local_#32316_uv : { base : int, offset : int }; var local_#32314_i : int; var local_#21772 : int; var local_#21773 : { base : int, offset : int }; var local_#21774 : int; var local_#21775 : { base : int, offset : int }; var local_#21776 : { base : int, offset : int }; var local_#21777 : { base : int, offset : int }; var local_#30769 : { base : int, offset : int }; var local_#21778 : { base : int, offset : int }; var local_#21779 : { base : int, offset : int }; var local_#32317_v : { base : int, offset : int }; var local_#21780 : { base : int, offset : int }; var local_#21781 : { base : int, offset : int }; var local_#21782 : { base : int, offset : int }; var local_#21783 : int; var local_#21784 : int; var local_#21785 : int; var local_#21786 : int; local_#5840_p := local_#5840_p_IN; local_#5841_encup := local_#5841_encup_IN; local_#5842_base := local_#5842_base_IN; goto CFG_36768; CFG_36768: assume true; goto CFG_50510; CFG_50510: assume true; local_#32313_c := _memory_ptr[{ base : local_#5840_p!base, offset : local_#5840_p!offset + 96 }]; local_#21770 := { base : 0, offset : 0 }; local_#21771 := (if local_#32313_c != local_#21770 then 1 else 0); if (local_#21771 != 0) { goto CFG_41753; } else { goto CFG_38558; } CFG_41753: assume true; local_#32315_nup := _memory[{ base : local_#5840_p!base, offset : local_#5840_p!offset + 16 }]; local_#32316_uv := _memory_ptr[{ base : local_#5840_p!base, offset : local_#5840_p!offset + 88 }]; local_#32314_i := 0; goto CFG_50511; CFG_50511: assume true; local_#21772 := (if local_#32314_i < local_#32315_nup then 1 else 0); if (local_#21772 != 0) { goto CFG_50512; } else { goto CFG_40883; } CFG_40883: assume true; goto CFG_38558; CFG_38558: assume true; local_#8054 := local_#32313_c; goto CFG_37679; CFG_50512: assume true; local_#21773 := { base : local_#32316_uv!base, offset : local_#32316_uv!offset + local_#32314_i * 16 }; local_#21774 := _memory[{ base : local_#21773!base, offset : local_#21773!offset + 8 }]; if (local_#21774 != 0) { goto CFG_40885; } else { goto CFG_40884; } CFG_40884: assume true; local_#21775 := { base : local_#32316_uv!base, offset : local_#32316_uv!offset + local_#32314_i * 16 }; local_#21776 := { base : local_#5841_encup!base, offset : local_#5841_encup!offset + _memory[{ base : local_#21775!base, offset : local_#21775!offset + 9 }] * 8 }; local_#21777 := _memory_ptr[local_#21776]; local_#30769 := _memory_ptr[{ base : local_#21777!base, offset : local_#21777!offset + 0 }]; goto CFG_50513; CFG_40885: assume true; local_#21778 := { base : local_#32316_uv!base, offset : local_#32316_uv!offset + local_#32314_i * 16 }; local_#21779 := { base : local_#5842_base!base, offset : local_#5842_base!offset + _memory[{ base : local_#21778!base, offset : local_#21778!offset + 9 }] * 16 }; local_#30769 := local_#21779; goto CFG_50513; CFG_50513: assume true; local_#32317_v := local_#30769; local_#21780 := { base : local_#32313_c!base, offset : local_#32313_c!offset + 32 }; local_#21781 := { base : local_#21780!base, offset : local_#21780!offset + 0 * 8 + local_#32314_i * 8 }; local_#21782 := _memory_ptr[local_#21781]; local_#21783 := (if _memory_ptr[{ base : local_#21782!base, offset : local_#21782!offset + 0 }] != local_#32317_v then 1 else 0); if (local_#21783 != 0) { goto CFG_38559; } else { goto CFG_45094; } CFG_45094: assume true; local_#21784 := local_#32314_i; local_#21785 := 1; local_#32314_i := local_#21784 + local_#21785; assert { :LIR "66658" } { :check "overflow" } { :finding_ids "0" } local_#32314_i <= 2147483647; local_#21786 := local_#21784; goto CFG_50511; CFG_38559: assume true; local_#8054 := { base : 0, offset : 0 }; goto CFG_37679; CFG_37679: assume true; } procedure routine_#34781_getco(local_#5843_L_IN : { base : int, offset : int }) returns (local_#8055 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5843_L : { base : int, offset : int }; var local_#21787 : int; var local_#21788 : { base : int, offset : int }; var local_#32318_co : { base : int, offset : int }; var local_#21789 : { base : int, offset : int }; var local_#21790 : int; var local_#21791 : { base : int, offset : int }; var local_#21792 : { base : int, offset : int }; var local_#21793 : int; var local_#21794 : int; var local_#30770 : int; var local_#21795 : int; local_#5843_L := local_#5843_L_IN; goto CFG_36769; CFG_36769: assume true; goto CFG_43601; CFG_43601: assume true; local_#21787 := 1; goto CFG_47337; CFG_47337: assume true; call local_#21788 := routine_#33998_lua_tothread(local_#5843_L,local_#21787); goto CFG_50514; CFG_50514: assume true; local_#32318_co := local_#21788; local_#21789 := local_#32318_co; if (local_#21789 != { base : 0, offset : 0 }) { goto CFG_40887; } else { goto CFG_43602; } CFG_43602: assume true; local_#21790 := 1; assume _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 0 }] == 116 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 1 }] == 104 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 2 }] == 114 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 3 }] == 101 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 4 }] == 97 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 5 }] == 100 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 6 }] == 32 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 7 }] == 101 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 8 }] == 120 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 9 }] == 112 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 10 }] == 101 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 11 }] == 99 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 12 }] == 116 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 13 }] == 101 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 14 }] == 100 && _memory[{ base : strlit_#70594!base, offset : strlit_#70594!offset + 15 }] == 0; local_#21791 := strlit_#70594; local_#21792 := { base : local_#21791!base, offset : local_#21791!offset + 0 * 1 }; assert { :LIR "63282" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47338; CFG_47338: assume true; call local_#21793 := routine_#33815_luaL_argerror(local_#5843_L,local_#21790,local_#21792); goto CFG_50515; CFG_50515: assume true; local_#21794 := local_#21793; if (local_#21794 != 0) { goto CFG_40887; } else { goto CFG_40886; } CFG_40886: assume true; local_#30770 := 0; goto CFG_38560; CFG_40887: assume true; local_#30770 := 1; goto CFG_38560; CFG_38560: assume true; local_#21795 := 0; assert { :LIR "61572" } { :check "overflow" } { :finding_ids "0" } true; local_#8055 := local_#32318_co; goto CFG_37680; CFG_37680: assume true; } procedure routine_#34782_getdebt(local_#5844_g_IN : { base : int, offset : int }) returns (local_#8056 : int) { var local_#5844_g : { base : int, offset : int }; var local_#32319_debt : int; var local_#32320_stepmul : int; var local_#21796 : int; var local_#21797 : int; var local_#21798 : int; var local_#21799 : int; var local_#21800 : int; var local_#21801 : int; var local_#21802 : int; var local_#21803 : int; var local_#21804 : int; var local_#21805 : int; var local_#30771 : int; var local_#21806 : int; var local_#21807 : int; local_#5844_g := local_#5844_g_IN; goto CFG_36770; CFG_36770: assume true; goto CFG_50516; CFG_50516: assume true; local_#32319_debt := _memory[{ base : local_#5844_g!base, offset : local_#5844_g!offset + 24 }]; local_#32320_stepmul := _memory[{ base : local_#5844_g!base, offset : local_#5844_g!offset + 184 }]; local_#21796 := 0; local_#21797 := (if local_#32319_debt <= local_#21796 then 1 else 0); if (local_#21797 != 0) { goto CFG_38562; } else { goto CFG_50517; } CFG_50517: assume true; local_#21798 := 200; local_#21799 := local_#32319_debt / local_#21798; assert { :LIR "68645" } { :check "overflow" } { :finding_ids "0" } local_#21799 <= 9223372036854775807; local_#21800 := 1; local_#21801 := local_#21799 + local_#21800; assert { :LIR "66659" } { :check "overflow" } { :finding_ids "0" } local_#21801 <= 9223372036854775807; local_#32319_debt := local_#21801; local_#21802 := 9223372036854775807; local_#21803 := local_#32320_stepmul; assert { :LIR "63283" } { :check "overflow" } { :finding_ids "0" } local_#21803 <= 9223372036854775807; local_#21804 := local_#21802 / local_#21803; assert { :LIR "68646" } { :check "overflow" } { :finding_ids "0" } local_#21804 <= 9223372036854775807; local_#21805 := (if local_#32319_debt < local_#21804 then 1 else 0); if (local_#21805 != 0) { goto CFG_40889; } else { goto CFG_40888; } CFG_40888: assume true; local_#30771 := 9223372036854775807; goto CFG_38561; CFG_40889: assume true; local_#21806 := local_#32320_stepmul; assert { :LIR "63284" } { :check "overflow" } { :finding_ids "0" } local_#21806 <= 9223372036854775807; local_#21807 := local_#32319_debt * local_#21806; assert { :LIR "68574" } { :check "overflow" } { :finding_ids "0" } local_#21807 <= 9223372036854775807; local_#30771 := local_#21807; goto CFG_38561; CFG_38561: assume true; local_#32319_debt := local_#30771; local_#8056 := local_#32319_debt; goto CFG_37681; CFG_38562: assume true; local_#8056 := 0; goto CFG_37681; CFG_37681: assume true; } procedure routine_#34783_getdetails(local_#5845_h_IN : { base : int, offset : int }, local_#5846_totalsize_IN : int, local_#5847_fmt_IN : { base : int, offset : int }, local_#5848_psize_IN : { base : int, offset : int }, local_#5849_ntoalign_IN : { base : int, offset : int }) returns (local_#8057 : int) modifies _memory, _memory_ptr, _valid; { var local_#5845_h : { base : int, offset : int }; var local_#5846_totalsize : int; var local_#5847_fmt : { base : int, offset : int }; var local_#5848_psize : { base : int, offset : int }; var local_#5849_ntoalign : { base : int, offset : int }; var local_#21808 : int; var local_#32322_opt : int; var local_#32321_align : { base : int, offset : int }; var local_#21809 : int; var local_#21810 : int; var local_#21811 : int; var local_#21812 : { base : int, offset : int }; var local_#21813 : int; var local_#21814 : int; var local_#21815 : int; var local_#21816 : { base : int, offset : int }; var local_#21817 : int; var local_#21818 : int; var local_#21819 : int; var local_#21820 : int; var local_#21821 : int; var local_#21822 : int; var local_#21823 : { base : int, offset : int }; var local_#21824 : int; var local_#21825 : { base : int, offset : int }; var local_#21826 : { base : int, offset : int }; var local_#21827 : int; var local_#21828 : int; var local_#21829 : int; var local_#21830 : int; var local_#21831 : int; var local_#21832 : int; var local_#21833 : int; var local_#21834 : int; var local_#21835 : int; var local_#21836 : int; var local_#21837 : int; var local_#21838 : int; var local_#21839 : { base : int, offset : int }; var local_#21840 : int; var local_#21841 : { base : int, offset : int }; var local_#21842 : { base : int, offset : int }; var local_#21843 : int; var local_#21844 : int; var local_#21845 : int; var local_#21846 : int; var local_#21847 : int; var local_#21848 : int; var local_#21849 : int; var local_#21850 : int; var local_#21851 : int; var local_#21852 : int; local_#5845_h := local_#5845_h_IN; local_#5846_totalsize := local_#5846_totalsize_IN; local_#5847_fmt := local_#5847_fmt_IN; local_#5848_psize := local_#5848_psize_IN; local_#5849_ntoalign := local_#5849_ntoalign_IN; goto CFG_36771; CFG_36771: assume true; goto CFG_47339; CFG_47339: assume true; call local_#21808 := routine_#34796_getoption(local_#5845_h,local_#5847_fmt,local_#5848_psize); goto CFG_50518; CFG_50518: assume true; local_#32322_opt := local_#21808; _memory[local_#32321_align] := _memory[local_#5848_psize]; local_#21809 := ~uwrap32(local_#32322_opt); assert { :LIR "63285" } { :check "overflow" } { :finding_ids "0" } true; local_#21810 := 7; local_#21811 := (if local_#21809 == local_#21810 then 1 else 0); if (local_#21811 != 0) { goto CFG_50519; } else { goto CFG_50522; } CFG_50519: assume true; local_#21812 := _memory_ptr[local_#5847_fmt]; local_#21813 := _memory[local_#21812]; assert { :LIR "63286" } { :check "overflow" } { :finding_ids "0" } local_#21813 <= 2147483647; local_#21814 := 0; local_#21815 := (if local_#21813 == local_#21814 then 1 else 0); if (local_#21815 != 0) { goto CFG_43604; } else { goto CFG_43603; } CFG_43603: assume true; local_#21816 := local_#32321_align; goto CFG_47340; CFG_47340: assume true; call local_#21817 := routine_#34796_getoption(local_#5845_h,local_#5847_fmt,local_#21816); goto CFG_50520; CFG_50520: assume true; local_#21818 := ~uwrap32(local_#21817); assert { :LIR "63287" } { :check "overflow" } { :finding_ids "0" } true; local_#21819 := 3; local_#21820 := (if local_#21818 == local_#21819 then 1 else 0); if (local_#21820 != 0) { goto CFG_43604; } else { goto CFG_50521; } CFG_50521: assume true; local_#21821 := 0; local_#21822 := (if _memory[local_#32321_align] == local_#21821 then 1 else 0); if (local_#21822 != 0) { goto CFG_43604; } else { goto CFG_40891; } CFG_43604: assume true; local_#21823 := _memory_ptr[{ base : local_#5845_h!base, offset : local_#5845_h!offset + 0 }]; local_#21824 := 1; assume _memory[{ base : strlit_#70595!base, offset : strlit_#70595!offset + 34 }] == 0; local_#21825 := strlit_#70595; local_#21826 := { base : local_#21825!base, offset : local_#21825!offset + 0 * 1 }; assert { :LIR "63288" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47341; CFG_47341: assume true; call local_#21827 := routine_#33815_luaL_argerror(local_#21823,local_#21824,local_#21826); goto CFG_40890; CFG_40890: assume true; goto CFG_40891; CFG_40891: assume true; goto CFG_50522; CFG_50522: assume true; local_#21828 := 1; local_#21829 := (if _memory[local_#32321_align] <= local_#21828 then 1 else 0); if (local_#21829 != 0) { goto CFG_40895; } else { goto CFG_50523; } CFG_50523: assume true; local_#21830 := ~uwrap32(local_#32322_opt); assert { :LIR "63289" } { :check "overflow" } { :finding_ids "0" } true; local_#21831 := 3; local_#21832 := (if local_#21830 == local_#21831 then 1 else 0); if (local_#21832 != 0) { goto CFG_40895; } else { goto CFG_50524; } CFG_50524: assume true; local_#21833 := (if _memory[local_#32321_align] > _memory[{ base : local_#5845_h!base, offset : local_#5845_h!offset + 12 }] then 1 else 0); if (local_#21833 != 0) { goto CFG_40892; } else { goto CFG_50525; } CFG_40892: assume true; _memory[local_#32321_align] := _memory[{ base : local_#5845_h!base, offset : local_#5845_h!offset + 12 }]; goto CFG_50525; CFG_50525: assume true; local_#21834 := 1; local_#21835 := _memory[local_#32321_align] - local_#21834; assert { :LIR "68052" } { :check "overflow" } { :finding_ids "0" } local_#21835 <= 2147483647; local_#21836 := ~sand32(_memory[local_#32321_align], local_#21835); local_#21837 := 0; local_#21838 := (if local_#21836 != local_#21837 then 1 else 0); if (local_#21838 != 0) { goto CFG_43605; } else { goto CFG_40894; } CFG_43605: assume true; local_#21839 := _memory_ptr[{ base : local_#5845_h!base, offset : local_#5845_h!offset + 0 }]; local_#21840 := 1; assume _memory[{ base : strlit_#70596!base, offset : strlit_#70596!offset + 40 }] == 0; local_#21841 := strlit_#70596; local_#21842 := { base : local_#21841!base, offset : local_#21841!offset + 0 * 1 }; assert { :LIR "63290" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47342; CFG_47342: assume true; call local_#21843 := routine_#33815_luaL_argerror(local_#21839,local_#21840,local_#21842); goto CFG_40893; CFG_40893: assume true; goto CFG_40894; CFG_40894: assume true; local_#21844 := 1; local_#21845 := _memory[local_#32321_align] - local_#21844; assert { :LIR "68053" } { :check "overflow" } { :finding_ids "0" } local_#21845 <= 2147483647; local_#21846 := ~uwrap64(local_#21845); assert { :LIR "63291" } { :check "overflow" } { :finding_ids "0" } true; local_#21847 := ~uand64(local_#5846_totalsize, local_#21846); local_#21848 := local_#21847; assert { :LIR "61573" } { :check "overflow" } { :finding_ids "0" } local_#21848 <= 2147483647; local_#21849 := _memory[local_#32321_align] - local_#21848; assert { :LIR "68054" } { :check "overflow" } { :finding_ids "0" } local_#21849 <= 2147483647; local_#21850 := 1; local_#21851 := _memory[local_#32321_align] - local_#21850; assert { :LIR "68055" } { :check "overflow" } { :finding_ids "0" } local_#21851 <= 2147483647; local_#21852 := ~sand32(local_#21849, local_#21851); _memory[local_#5849_ntoalign] := local_#21852; goto CFG_38563; CFG_40895: assume true; _memory[local_#5849_ntoalign] := 0; goto CFG_38563; CFG_38563: assume true; local_#8057 := local_#32322_opt; goto CFG_37682; CFG_37682: assume true; } procedure routine_#34784_getfield(local_#5850_L_IN : { base : int, offset : int }, local_#5851_key_IN : { base : int, offset : int }, local_#5852_d_IN : int, local_#5853_delta_IN : int) returns (local_#8058 : int) modifies _memory, _memory_ptr, _valid; { var local_#5850_L : { base : int, offset : int }; var local_#5851_key : { base : int, offset : int }; var local_#5852_d : int; var local_#5853_delta : int; var local_#21853 : int; var local_#21854 : int; var local_#32325_t : int; var local_#21855 : int; var local_#32323_isnum : { base : int, offset : int }; var local_#21856 : { base : int, offset : int }; var local_#21857 : int; var local_#32324_res : int; var local_#21858 : int; var local_#21859 : int; var local_#21860 : int; var local_#21861 : int; var local_#21862 : int; var local_#21863 : { base : int, offset : int }; var local_#21864 : { base : int, offset : int }; var local_#21865 : int; var local_#21866 : int; var local_#21867 : int; var local_#21868 : int; var local_#21869 : int; var local_#21870 : int; var local_#21871 : int; var local_#21872 : int; var local_#21873 : int; var local_#21874 : { base : int, offset : int }; var local_#21875 : { base : int, offset : int }; var local_#21876 : int; var local_#21877 : { base : int, offset : int }; var local_#21878 : { base : int, offset : int }; var local_#21879 : int; local_#5850_L := local_#5850_L_IN; local_#5851_key := local_#5851_key_IN; local_#5852_d := local_#5852_d_IN; local_#5853_delta := local_#5853_delta_IN; goto CFG_36772; CFG_36772: assume true; goto CFG_43606; CFG_43606: assume true; local_#21853 := -1; goto CFG_47343; CFG_47343: assume true; call local_#21854 := routine_#33930_lua_getfield(local_#5850_L,local_#21853,local_#5851_key); goto CFG_43607; CFG_43607: assume true; local_#32325_t := local_#21854; local_#21855 := -1; local_#21856 := local_#32323_isnum; goto CFG_47344; CFG_47344: assume true; call local_#21857 := routine_#33994_lua_tointegerx(local_#5850_L,local_#21855,local_#21856); goto CFG_50526; CFG_50526: assume true; local_#32324_res := local_#21857; local_#21858 := (if _memory[local_#32323_isnum] != 0 then 0 else 1); if (local_#21858 != 0) { goto CFG_50529; } else { goto CFG_50527; } CFG_50527: assume true; local_#21859 := -1073741823; local_#21860 := (if local_#21859 <= local_#32324_res then 1 else 0); if (local_#21860 != 0) { goto CFG_50528; } else { goto CFG_43608; } CFG_50528: assume true; local_#21861 := 1073741823; local_#21862 := (if local_#32324_res <= local_#21861 then 1 else 0); if (local_#21862 != 0) { goto CFG_40896; } else { goto CFG_43608; } CFG_43608: assume true; assume _memory[{ base : strlit_#70597!base, offset : strlit_#70597!offset + 26 }] == 0; local_#21863 := strlit_#70597; local_#21864 := { base : local_#21863!base, offset : local_#21863!offset + 0 * 1 }; assert { :LIR "63292" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47345; CFG_47345: assume true; call local_#21865 := routine_#33828_luaL_error(local_#5850_L,local_#21864,{ base : 0, offset : 0 }); goto CFG_38564; CFG_38564: assume true; local_#8058 := local_#21865; goto CFG_37683; CFG_40896: assume true; local_#21866 := local_#5853_delta; assert { :LIR "63293" } { :check "overflow" } { :finding_ids "0" } local_#21866 <= 9223372036854775807; local_#32324_res := local_#32324_res - local_#21866; assert { :LIR "68056" } { :check "overflow" } { :finding_ids "0" } local_#32324_res <= 9223372036854775807; goto CFG_43609; CFG_50529: assume true; local_#21867 := 0; local_#21868 := (if local_#32325_t != local_#21867 then 1 else 0); if (local_#21868 != 0) { goto CFG_43611; } else { goto CFG_50530; } CFG_50530: assume true; local_#21869 := 0; local_#21870 := (if local_#5852_d < local_#21869 then 1 else 0); if (local_#21870 != 0) { goto CFG_43610; } else { goto CFG_40897; } CFG_40897: assume true; goto CFG_40898; CFG_40898: assume true; local_#21871 := local_#5852_d; assert { :LIR "63294" } { :check "overflow" } { :finding_ids "0" } local_#21871 <= 9223372036854775807; local_#32324_res := local_#21871; goto CFG_43609; CFG_43609: assume true; local_#21872 := -2; goto CFG_47346; CFG_47346: assume true; call routine_#33987_lua_settop(local_#5850_L,local_#21872); goto CFG_38565; CFG_38565: assume true; local_#21873 := local_#32324_res; assert { :LIR "61574" } { :check "overflow" } { :finding_ids "0" } local_#21873 <= 2147483647; local_#8058 := local_#21873; goto CFG_37683; CFG_43610: assume true; assume _memory[{ base : strlit_#70598!base, offset : strlit_#70598!offset + 32 }] == 0; local_#21874 := strlit_#70598; local_#21875 := { base : local_#21874!base, offset : local_#21874!offset + 0 * 1 }; assert { :LIR "63295" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47347; CFG_47347: assume true; call local_#21876 := routine_#33828_luaL_error(local_#5850_L,local_#21875,{ base : 0, offset : 0 }); goto CFG_38566; CFG_38566: assume true; local_#8058 := local_#21876; goto CFG_37683; CFG_43611: assume true; assume _memory[{ base : strlit_#70599!base, offset : strlit_#70599!offset + 28 }] == 0; local_#21877 := strlit_#70599; local_#21878 := { base : local_#21877!base, offset : local_#21877!offset + 0 * 1 }; assert { :LIR "63296" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47348; CFG_47348: assume true; call local_#21879 := routine_#33828_luaL_error(local_#5850_L,local_#21878,{ base : 0, offset : 0 }); goto CFG_38567; CFG_38567: assume true; local_#8058 := local_#21879; goto CFG_37683; CFG_37683: assume true; } procedure routine_#34785_getfreepos(local_#5854_t_IN : { base : int, offset : int }) returns (local_#8059 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5854_t : { base : int, offset : int }; var local_#21880 : { base : int, offset : int }; var local_#21881 : int; var local_#21882 : int; var local_#21883 : int; var local_#21884 : { base : int, offset : int }; var local_#21885 : int; var local_#21886 : { base : int, offset : int }; var local_#21887 : { base : int, offset : int }; var local_#21888 : { base : int, offset : int }; var local_#21889 : { base : int, offset : int }; var local_#21890 : int; var local_#21891 : int; local_#5854_t := local_#5854_t_IN; goto CFG_36773; CFG_36773: assume true; goto CFG_50531; CFG_50531: assume true; local_#21880 := { base : 0, offset : 0 }; local_#21881 := (if _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 32 }] == local_#21880 then 1 else 0); local_#21882 := (if local_#21881 != 0 then 0 else 1); if (local_#21882 != 0) { goto CFG_41754; } else { goto CFG_38568; } CFG_41754: assume true; goto CFG_50532; CFG_50532: assume true; local_#21883 := (if _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 32 }]!offset > _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 24 }]!offset then 1 else 0); if (local_#21883 != 0) { goto CFG_50533; } else { goto CFG_40899; } CFG_40899: assume true; goto CFG_38568; CFG_38568: assume true; local_#8059 := { base : 0, offset : 0 }; goto CFG_37684; CFG_50533: assume true; local_#21884 := _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 32 }]; local_#21885 := 1; _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 32 }] := { base : local_#21884!base, offset : local_#21884!offset - local_#21885 * 32 }; local_#21886 := local_#21884; local_#21887 := _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 32 }]; local_#21888 := { base : local_#21887!base, offset : local_#21887!offset + 16 }; local_#21889 := local_#21888; assert { :LIR "61575" } { :check "overflow" } { :finding_ids "0" } true; local_#21890 := 0; local_#21891 := (if _memory[{ base : local_#21889!base, offset : local_#21889!offset + 8 }] == local_#21890 then 1 else 0); if (local_#21891 != 0) { goto CFG_38569; } else { goto CFG_45095; } CFG_45095: assume true; goto CFG_50532; CFG_38569: assume true; local_#8059 := _memory_ptr[{ base : local_#5854_t!base, offset : local_#5854_t!offset + 32 }]; goto CFG_37684; CFG_37684: assume true; } procedure routine_#34786_getfuncname(local_#5855_L_IN : { base : int, offset : int }, local_#5856_ci_IN : { base : int, offset : int }, local_#5857_name_IN : { base : int, offset : int }) returns (local_#8060 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5855_L : { base : int, offset : int }; var local_#5856_ci : { base : int, offset : int }; var local_#5857_name : { base : int, offset : int }; var local_#21892 : { base : int, offset : int }; var local_#21893 : int; var local_#21894 : int; var local_#21895 : int; var local_#21896 : int; var local_#21897 : int; var local_#21898 : int; var local_#21899 : int; var local_#21900 : int; var local_#21901 : { base : int, offset : int }; var local_#21902 : int; var local_#21903 : int; var local_#21904 : int; var local_#21905 : { base : int, offset : int }; var local_#21906 : { base : int, offset : int }; var local_#21907 : { base : int, offset : int }; var local_#21908 : { base : int, offset : int }; var local_#21909 : { base : int, offset : int }; var local_#21910 : { base : int, offset : int }; local_#5855_L := local_#5855_L_IN; local_#5856_ci := local_#5856_ci_IN; local_#5857_name := local_#5857_name_IN; goto CFG_36774; CFG_36774: assume true; goto CFG_50534; CFG_50534: assume true; local_#21892 := { base : 0, offset : 0 }; local_#21893 := (if local_#5856_ci == local_#21892 then 1 else 0); if (local_#21893 != 0) { goto CFG_38573; } else { goto CFG_50535; } CFG_50535: assume true; local_#21894 := _memory[{ base : local_#5856_ci!base, offset : local_#5856_ci!offset + 66 }]; assert { :LIR "63297" } { :check "overflow" } { :finding_ids "0" } local_#21894 <= 2147483647; local_#21895 := 256; local_#21896 := ~sand32(local_#21894, local_#21895); if (local_#21896 != 0) { goto CFG_38572; } else { goto CFG_50536; } CFG_50536: assume true; local_#21897 := _memory[{ base : local_#5856_ci!base, offset : local_#5856_ci!offset + 66 }]; assert { :LIR "63298" } { :check "overflow" } { :finding_ids "0" } local_#21897 <= 2147483647; local_#21898 := 32; local_#21899 := ~sand32(local_#21897, local_#21898); local_#21900 := (if local_#21899 != 0 then 0 else 1); if (local_#21900 != 0) { goto CFG_50537; } else { goto CFG_38570; } CFG_50537: assume true; local_#21901 := _memory_ptr[{ base : local_#5856_ci!base, offset : local_#5856_ci!offset + 16 }]; local_#21902 := _memory[{ base : local_#21901!base, offset : local_#21901!offset + 66 }]; assert { :LIR "63299" } { :check "overflow" } { :finding_ids "0" } local_#21902 <= 2147483647; local_#21903 := 2; local_#21904 := ~sand32(local_#21902, local_#21903); if (local_#21904 != 0) { goto CFG_43612; } else { goto CFG_38570; } CFG_38570: assume true; local_#8060 := { base : 0, offset : 0 }; goto CFG_37685; CFG_43612: assume true; local_#21905 := _memory_ptr[{ base : local_#5856_ci!base, offset : local_#5856_ci!offset + 16 }]; goto CFG_47349; CFG_47349: assume true; call local_#21906 := routine_#34768_funcnamefromcode(local_#5855_L,local_#21905,local_#5857_name); goto CFG_38571; CFG_38571: assume true; local_#8060 := local_#21906; goto CFG_37685; CFG_38572: assume true; assume _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 0 }] == 95 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 1 }] == 95 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 2 }] == 103 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 3 }] == 99 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 4 }] == 0; local_#21907 := strlit_#70497; local_#21908 := { base : local_#21907!base, offset : local_#21907!offset + 0 * 1 }; assert { :LIR "63300" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5857_name] := local_#21908; assume _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 0 }] == 109 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 1 }] == 101 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 2 }] == 116 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 3 }] == 97 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 4 }] == 109 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 5 }] == 101 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 6 }] == 116 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 7 }] == 104 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 8 }] == 111 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 9 }] == 100 && _memory[{ base : strlit_#70579!base, offset : strlit_#70579!offset + 10 }] == 0; local_#21909 := strlit_#70579; local_#21910 := { base : local_#21909!base, offset : local_#21909!offset + 0 * 1 }; assert { :LIR "63301" } { :check "overflow" } { :finding_ids "0" } true; local_#8060 := local_#21910; goto CFG_37685; CFG_38573: assume true; local_#8060 := { base : 0, offset : 0 }; goto CFG_37685; CFG_37685: assume true; } procedure routine_#34787_getgeneric(local_#5858_t_IN : { base : int, offset : int }, local_#5859_key_IN : { base : int, offset : int }) returns (local_#8061 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5858_t : { base : int, offset : int }; var local_#5859_key : { base : int, offset : int }; var local_#21911 : { base : int, offset : int }; var local_#21912 : { base : int, offset : int }; var local_#32326_n : { base : int, offset : int }; var local_#21913 : int; var local_#21914 : { base : int, offset : int }; var local_#21915 : { base : int, offset : int }; var local_#21916 : { base : int, offset : int }; var local_#21917 : int; var local_#21918 : int; var local_#21919 : { base : int, offset : int }; var local_#32327_nx : int; var local_#21920 : int; var local_#21921 : int; var local_#21922 : { base : int, offset : int }; local_#5858_t := local_#5858_t_IN; local_#5859_key := local_#5859_key_IN; goto CFG_36775; CFG_36775: assume true; goto CFG_43613; CFG_43613: assume true; local_#21911 := local_#5858_t; assert { :LIR "63302" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47350; CFG_47350: assume true; call local_#21912 := routine_#34907_mainposition(local_#21911,local_#5859_key); goto CFG_41755; CFG_41755: assume true; local_#32326_n := local_#21912; goto CFG_50538; CFG_50538: assume true; local_#21913 := 1; if (local_#21913 != 0) { goto CFG_43614; } else { goto CFG_37686; } CFG_43614: assume true; local_#21914 := { base : 0, offset : 0 }; local_#21915 := { base : local_#32326_n!base, offset : local_#32326_n!offset + 16 }; local_#21916 := local_#21915; assert { :LIR "61576" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47351; CFG_47351: assume true; call local_#21917 := routine_#33893_luaV_equalobj(local_#21914,local_#21916,local_#5859_key); goto CFG_50539; CFG_50539: assume true; local_#21918 := local_#21917; if (local_#21918 != 0) { goto CFG_38575; } else { goto CFG_50540; } CFG_50540: assume true; local_#21919 := { base : local_#32326_n!base, offset : local_#32326_n!offset + 16 }; local_#32327_nx := _memory[{ base : local_#21919!base, offset : local_#21919!offset + 12 }]; local_#21920 := 0; local_#21921 := (if local_#32327_nx == local_#21920 then 1 else 0); if (local_#21921 != 0) { goto CFG_38574; } else { goto CFG_40900; } CFG_40900: assume true; local_#32326_n := { base : local_#32326_n!base, offset : local_#32326_n!offset + local_#32327_nx * 32 }; goto CFG_45096; CFG_45096: assume true; goto CFG_50538; CFG_38574: assume true; local_#8061 := global_#33098_luaO_nilobject_; goto CFG_37686; CFG_38575: assume true; local_#21922 := { base : local_#32326_n!base, offset : local_#32326_n!offset + 0 }; assert { :LIR "63303" } { :check "overflow" } { :finding_ids "0" } true; local_#8061 := local_#21922; goto CFG_37686; CFG_37686: assume true; } procedure routine_#34788_gethexa(local_#5860_ls_IN : { base : int, offset : int }) returns (local_#8062 : int) modifies _memory, _memory_ptr, _valid; { var local_#5860_ls : { base : int, offset : int }; var local_#21923 : int; var local_#21924 : { base : int, offset : int }; var local_#21925 : int; var local_#21926 : int; var local_#21927 : int; var local_#21928 : int; var local_#21929 : { base : int, offset : int }; var local_#21930 : int; var local_#30772 : int; var local_#21931 : { base : int, offset : int }; var local_#21932 : { base : int, offset : int }; var local_#21933 : int; var local_#21934 : int; var local_#21935 : int; var local_#21936 : int; var local_#21937 : int; var local_#21938 : int; var local_#21939 : int; var local_#21940 : int; var local_#21941 : int; var local_#21942 : int; var local_#21943 : { base : int, offset : int }; var local_#21944 : { base : int, offset : int }; var local_#21945 : int; var local_#21946 : int; local_#5860_ls := local_#5860_ls_IN; goto CFG_36776; CFG_36776: assume true; goto CFG_43615; CFG_43615: assume true; local_#21923 := _memory[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 0 }]; goto CFG_47352; CFG_47352: assume true; call routine_#35043_save(local_#5860_ls,local_#21923); goto CFG_50541; CFG_50541: assume true; local_#21924 := _memory_ptr[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 64 }]; local_#21925 := _memory[{ base : local_#21924!base, offset : local_#21924!offset + 0 }]; local_#21926 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#21924!base, offset : local_#21924!offset + 0 }] := ~uwrap64(local_#21925 - local_#21926); assert { :LIR "68057" } { :check "overflow" } { :finding_ids "0" } true; local_#21927 := 0; local_#21928 := (if local_#21925 > local_#21927 then 1 else 0); if (local_#21928 != 0) { goto CFG_40902; } else { goto CFG_43616; } CFG_43616: assume true; local_#21929 := _memory_ptr[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 64 }]; goto CFG_47353; CFG_47353: assume true; call local_#21930 := routine_#33913_luaZ_fill(local_#21929); goto CFG_40901; CFG_40901: assume true; local_#30772 := local_#21930; goto CFG_43617; CFG_40902: assume true; local_#21931 := _memory_ptr[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 64 }]; local_#21932 := _memory_ptr[{ base : local_#21931!base, offset : local_#21931!offset + 8 }]; local_#21933 := 1; _memory_ptr[{ base : local_#21931!base, offset : local_#21931!offset + 8 }] := { base : local_#21932!base, offset : local_#21932!offset + local_#21933 * 1 }; local_#21934 := ~uwrap8(_memory[local_#21932]); assert { :LIR "61577" } { :check "overflow" } { :finding_ids "0" } true; local_#21935 := local_#21934; assert { :LIR "63304" } { :check "overflow" } { :finding_ids "0" } local_#21935 <= 2147483647; local_#30772 := local_#21935; goto CFG_43617; CFG_43617: assume true; _memory[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 0 }] := local_#30772; local_#21936 := _memory[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 0 }]; local_#21937 := local_#21936; local_#21938 := 1; local_#21939 := _memory[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 0 }] + local_#21938; assert { :LIR "66660" } { :check "overflow" } { :finding_ids "0" } local_#21939 <= 2147483647; local_#21940 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#21939 * 1 }]; assert { :LIR "63305" } { :check "overflow" } { :finding_ids "0" } local_#21940 <= 2147483647; local_#21941 := 16; local_#21942 := ~sand32(local_#21940, local_#21941); assume _memory[{ base : strlit_#70602!base, offset : strlit_#70602!offset + 26 }] == 0; local_#21943 := strlit_#70602; local_#21944 := { base : local_#21943!base, offset : local_#21943!offset + 0 * 1 }; assert { :LIR "63306" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47354; CFG_47354: assume true; call routine_#34717_esccheck(local_#5860_ls,local_#21942,local_#21944); goto CFG_43618; CFG_43618: assume true; local_#21945 := _memory[{ base : local_#5860_ls!base, offset : local_#5860_ls!offset + 0 }]; goto CFG_47355; CFG_47355: assume true; call local_#21946 := routine_#33863_luaO_hexavalue(local_#21945); goto CFG_38576; CFG_38576: assume true; local_#8062 := local_#21946; goto CFG_37687; CFG_37687: assume true; } procedure routine_#34789_getiofile(local_#5861_L_IN : { base : int, offset : int }, local_#5862_findex_IN : { base : int, offset : int }) returns (local_#8063 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5861_L : { base : int, offset : int }; var local_#5862_findex : { base : int, offset : int }; var local_#21947 : int; var local_#21948 : int; var local_#21949 : int; var local_#21950 : { base : int, offset : int }; var local_#21951 : { base : int, offset : int }; var local_#32328_p : { base : int, offset : int }; var local_#21952 : { base : int, offset : int }; var local_#21953 : int; var local_#21954 : { base : int, offset : int }; var local_#21955 : { base : int, offset : int }; var local_#21956 : int; var local_#21957 : { base : int, offset : int }; var local_#21958 : int; local_#5861_L := local_#5861_L_IN; local_#5862_findex := local_#5862_findex_IN; goto CFG_36777; CFG_36777: assume true; goto CFG_43619; CFG_43619: assume true; local_#21947 := -1001000; goto CFG_47356; CFG_47356: assume true; call local_#21948 := routine_#33930_lua_getfield(local_#5861_L,local_#21947,local_#5862_findex); goto CFG_43620; CFG_43620: assume true; local_#21949 := -1; goto CFG_47357; CFG_47357: assume true; call local_#21950 := routine_#33999_lua_touserdata(local_#5861_L,local_#21949); goto CFG_50542; CFG_50542: assume true; local_#21951 := local_#21950; assert { :LIR "61578" } { :check "overflow" } { :finding_ids "0" } true; local_#32328_p := local_#21951; local_#21952 := { base : 0, offset : 0 }; local_#21953 := (if _memory_ptr[{ base : local_#32328_p!base, offset : local_#32328_p!offset + 8 }] == local_#21952 then 1 else 0); if (local_#21953 != 0) { goto CFG_43621; } else { goto CFG_38577; } CFG_43621: assume true; assume _memory[{ base : strlit_#70603!base, offset : strlit_#70603!offset + 26 }] == 0; local_#21954 := strlit_#70603; local_#21955 := { base : local_#21954!base, offset : local_#21954!offset + 0 * 1 }; assert { :LIR "63307" } { :check "overflow" } { :finding_ids "0" } true; local_#21956 := 4; local_#21957 := { base : local_#5862_findex!base, offset : local_#5862_findex!offset + local_#21956 * 1 }; goto CFG_47358; CFG_47358: assume true; call local_#21958 := routine_#33828_luaL_error(local_#5861_L,local_#21955,{ base : 0, offset : 0 }); goto CFG_40903; CFG_40903: assume true; goto CFG_38577; CFG_38577: assume true; local_#8063 := _memory_ptr[{ base : local_#32328_p!base, offset : local_#32328_p!offset + 0 }]; goto CFG_37688; CFG_37688: assume true; } procedure routine_#34790_getjump(local_#5863_fs_IN : { base : int, offset : int }, local_#5864_pc_IN : int) returns (local_#8064 : int) { var local_#5863_fs : { base : int, offset : int }; var local_#5864_pc : int; var local_#21959 : { base : int, offset : int }; var local_#21960 : { base : int, offset : int }; var local_#21961 : int; var local_#21962 : int; var local_#21963 : int; var local_#21964 : int; var local_#21965 : int; var local_#21966 : int; var local_#21967 : int; var local_#32329_offset : int; var local_#21968 : int; var local_#21969 : int; var local_#21970 : int; var local_#21971 : int; var local_#21972 : int; local_#5863_fs := local_#5863_fs_IN; local_#5864_pc := local_#5864_pc_IN; goto CFG_36778; CFG_36778: assume true; goto CFG_50543; CFG_50543: assume true; local_#21959 := _memory_ptr[{ base : local_#5863_fs!base, offset : local_#5863_fs!offset + 0 }]; local_#21960 := { base : _memory_ptr[{ base : local_#21959!base, offset : local_#21959!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#21959!base, offset : local_#21959!offset + 56 }]!offset + local_#5864_pc * 4 }; local_#21961 := 14; local_#21962 := ~lshr32(_memory[local_#21960], local_#21961); local_#21963 := 262143; local_#21964 := ~uand32(local_#21962, local_#21963); local_#21965 := local_#21964; assert { :LIR "61579" } { :check "overflow" } { :finding_ids "0" } local_#21965 <= 2147483647; local_#21966 := 131071; local_#21967 := local_#21965 - local_#21966; assert { :LIR "68058" } { :check "overflow" } { :finding_ids "0" } local_#21967 <= 2147483647; local_#32329_offset := local_#21967; local_#21968 := -1; local_#21969 := (if local_#32329_offset == local_#21968 then 1 else 0); if (local_#21969 != 0) { goto CFG_38579; } else { goto CFG_38578; } CFG_38578: assume true; local_#21970 := 1; local_#21971 := local_#5864_pc + local_#21970; assert { :LIR "66661" } { :check "overflow" } { :finding_ids "0" } local_#21971 <= 2147483647; local_#21972 := local_#21971 + local_#32329_offset; assert { :LIR "66662" } { :check "overflow" } { :finding_ids "0" } local_#21972 <= 2147483647; local_#8064 := local_#21972; goto CFG_37689; CFG_38579: assume true; local_#8064 := -1; goto CFG_37689; CFG_37689: assume true; } procedure routine_#34791_getjumpcontrol(local_#5865_fs_IN : { base : int, offset : int }, local_#5866_pc_IN : int) returns (local_#8065 : { base : int, offset : int }) { var local_#5865_fs : { base : int, offset : int }; var local_#5866_pc : int; var local_#21973 : { base : int, offset : int }; var local_#21974 : { base : int, offset : int }; var local_#32330_pi : { base : int, offset : int }; var local_#21975 : int; var local_#21976 : int; var local_#21977 : int; var local_#21978 : { base : int, offset : int }; var local_#21979 : int; var local_#21980 : int; var local_#21981 : int; var local_#21982 : int; var local_#21983 : int; var local_#21984 : int; var local_#21985 : int; var local_#21986 : int; var local_#21987 : int; var local_#21988 : { base : int, offset : int }; local_#5865_fs := local_#5865_fs_IN; local_#5866_pc := local_#5866_pc_IN; goto CFG_36779; CFG_36779: assume true; goto CFG_50544; CFG_50544: assume true; local_#21973 := _memory_ptr[{ base : local_#5865_fs!base, offset : local_#5865_fs!offset + 0 }]; local_#21974 := { base : _memory_ptr[{ base : local_#21973!base, offset : local_#21973!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#21973!base, offset : local_#21973!offset + 56 }]!offset + local_#5866_pc * 4 }; local_#32330_pi := local_#21974; local_#21975 := 1; local_#21976 := (if local_#5866_pc >= local_#21975 then 1 else 0); if (local_#21976 != 0) { goto CFG_50545; } else { goto CFG_38580; } CFG_50545: assume true; local_#21977 := 1; local_#21978 := { base : local_#32330_pi!base, offset : local_#32330_pi!offset - local_#21977 * 4 }; local_#21979 := 0; local_#21980 := ~lshr32(_memory[local_#21978], local_#21979); local_#21981 := 63; local_#21982 := ~uand32(local_#21980, local_#21981); local_#21983 := local_#21982; assert { :LIR "61580" } { :check "overflow" } { :finding_ids "0" } local_#21983 <= 46; local_#21984 := _memory[{ base : global_#33099_luaP_opmodes!base, offset : global_#33099_luaP_opmodes!offset + local_#21983 * 1 }]; assert { :LIR "63308" } { :check "overflow" } { :finding_ids "0" } local_#21984 <= 2147483647; local_#21985 := 128; local_#21986 := ~sand32(local_#21984, local_#21985); if (local_#21986 != 0) { goto CFG_38581; } else { goto CFG_38580; } CFG_38580: assume true; local_#8065 := local_#32330_pi; goto CFG_37690; CFG_38581: assume true; local_#21987 := 1; local_#21988 := { base : local_#32330_pi!base, offset : local_#32330_pi!offset - local_#21987 * 4 }; local_#8065 := local_#21988; goto CFG_37690; CFG_37690: assume true; } procedure routine_#34792_getlocvar(local_#5867_fs_IN : { base : int, offset : int }, local_#5868_i_IN : int) returns (local_#8066 : { base : int, offset : int }) { var local_#5867_fs : { base : int, offset : int }; var local_#5868_i : int; var local_#21989 : { base : int, offset : int }; var local_#21990 : { base : int, offset : int }; var local_#21991 : int; var local_#21992 : { base : int, offset : int }; var local_#21993 : int; var local_#32331_idx : int; var local_#21994 : int; var local_#21995 : int; var local_#21996 : { base : int, offset : int }; var local_#21997 : { base : int, offset : int }; local_#5867_fs := local_#5867_fs_IN; local_#5868_i := local_#5868_i_IN; goto CFG_36780; CFG_36780: assume true; goto CFG_38582; CFG_38582: assume true; local_#21989 := _memory_ptr[{ base : local_#5867_fs!base, offset : local_#5867_fs!offset + 16 }]; local_#21990 := _memory_ptr[{ base : local_#21989!base, offset : local_#21989!offset + 88 }]; local_#21991 := _memory[{ base : local_#5867_fs!base, offset : local_#5867_fs!offset + 52 }] + local_#5868_i; assert { :LIR "66663" } { :check "overflow" } { :finding_ids "0" } local_#21991 <= 2147483647; local_#21992 := { base : _memory_ptr[{ base : local_#21990!base, offset : local_#21990!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#21990!base, offset : local_#21990!offset + 0 }]!offset + local_#21991 * 2 }; local_#21993 := _memory[{ base : local_#21992!base, offset : local_#21992!offset + 0 }]; assert { :LIR "63309" } { :check "overflow" } { :finding_ids "0" } local_#21993 <= 2147483647; local_#32331_idx := local_#21993; local_#21994 := 0; local_#21995 := 0; assert { :LIR "61581" } { :check "overflow" } { :finding_ids "0" } true; local_#21996 := _memory_ptr[{ base : local_#5867_fs!base, offset : local_#5867_fs!offset + 0 }]; local_#21997 := { base : _memory_ptr[{ base : local_#21996!base, offset : local_#21996!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#21996!base, offset : local_#21996!offset + 80 }]!offset + local_#32331_idx * 16 }; local_#8066 := local_#21997; goto CFG_37691; CFG_37691: assume true; } procedure routine_#34793_getnum(local_#5869_fmt_IN : { base : int, offset : int }, local_#5870_df_IN : int) returns (local_#8067 : int) modifies _memory_ptr; { var local_#5869_fmt : { base : int, offset : int }; var local_#5870_df : int; var local_#21998 : { base : int, offset : int }; var local_#21999 : int; var local_#22000 : int; var local_#22001 : int; var local_#32332_a : int; var local_#22002 : int; var local_#22003 : int; var local_#22004 : { base : int, offset : int }; var local_#22005 : int; var local_#22006 : int; var local_#22007 : int; var local_#22008 : int; var local_#22009 : int; var local_#22010 : { base : int, offset : int }; var local_#22011 : int; var local_#22012 : int; var local_#22013 : int; var local_#22014 : int; var local_#22015 : int; local_#5869_fmt := local_#5869_fmt_IN; local_#5870_df := local_#5870_df_IN; goto CFG_36781; CFG_36781: assume true; goto CFG_43622; CFG_43622: assume true; local_#21998 := _memory_ptr[local_#5869_fmt]; local_#21999 := _memory[local_#21998]; assert { :LIR "63310" } { :check "overflow" } { :finding_ids "0" } local_#21999 <= 2147483647; goto CFG_47359; CFG_47359: assume true; call local_#22000 := routine_#34697_digit(local_#21999); goto CFG_50546; CFG_50546: assume true; local_#22001 := (if local_#22000 != 0 then 0 else 1); if (local_#22001 != 0) { goto CFG_38584; } else { goto CFG_41756; } CFG_41756: assume true; local_#32332_a := 0; goto CFG_43623; CFG_43623: assume true; local_#22002 := 10; local_#22003 := local_#32332_a * local_#22002; assert { :LIR "68575" } { :check "overflow" } { :finding_ids "0" } local_#22003 <= 2147483647; local_#22004 := _memory_ptr[local_#5869_fmt]; local_#22005 := 1; _memory_ptr[local_#5869_fmt] := { base : local_#22004!base, offset : local_#22004!offset + local_#22005 * 1 }; local_#22006 := _memory[local_#22004]; assert { :LIR "63311" } { :check "overflow" } { :finding_ids "0" } local_#22006 <= 2147483647; local_#22007 := 48; local_#22008 := local_#22006 - local_#22007; assert { :LIR "68059" } { :check "overflow" } { :finding_ids "0" } local_#22008 <= 2147483647; local_#22009 := local_#22003 + local_#22008; assert { :LIR "66664" } { :check "overflow" } { :finding_ids "0" } local_#22009 <= 2147483647; local_#32332_a := local_#22009; goto CFG_43624; CFG_43624: assume true; local_#22010 := _memory_ptr[local_#5869_fmt]; local_#22011 := _memory[local_#22010]; assert { :LIR "63312" } { :check "overflow" } { :finding_ids "0" } local_#22011 <= 2147483647; goto CFG_47360; CFG_47360: assume true; call local_#22012 := routine_#34697_digit(local_#22011); goto CFG_50547; CFG_50547: assume true; local_#22013 := local_#22012; if (local_#22013 != 0) { goto CFG_50548; } else { goto CFG_38583; } CFG_50548: assume true; local_#22014 := 214748363; local_#22015 := (if local_#32332_a <= local_#22014 then 1 else 0); if (local_#22015 != 0) { goto CFG_45097; } else { goto CFG_38583; } CFG_38583: assume true; local_#8067 := local_#32332_a; goto CFG_37692; CFG_45097: assume true; goto CFG_43623; CFG_38584: assume true; local_#8067 := local_#5870_df; goto CFG_37692; CFG_37692: assume true; } procedure routine_#34794_getnumlimit(local_#5871_h_IN : { base : int, offset : int }, local_#5872_fmt_IN : { base : int, offset : int }, local_#5873_df_IN : int) returns (local_#8068 : int) modifies _memory, _memory_ptr, _valid; { var local_#5871_h : { base : int, offset : int }; var local_#5872_fmt : { base : int, offset : int }; var local_#5873_df : int; var local_#22016 : int; var local_#32333_sz : int; var local_#22017 : int; var local_#22018 : int; var local_#22019 : int; var local_#22020 : int; var local_#22021 : { base : int, offset : int }; var local_#22022 : { base : int, offset : int }; var local_#22023 : { base : int, offset : int }; var local_#22024 : int; var local_#22025 : int; local_#5871_h := local_#5871_h_IN; local_#5872_fmt := local_#5872_fmt_IN; local_#5873_df := local_#5873_df_IN; goto CFG_36782; CFG_36782: assume true; goto CFG_47361; CFG_47361: assume true; call local_#22016 := routine_#34793_getnum(local_#5872_fmt,local_#5873_df); goto CFG_50549; CFG_50549: assume true; local_#32333_sz := local_#22016; local_#22017 := 16; local_#22018 := (if local_#32333_sz > local_#22017 then 1 else 0); if (local_#22018 != 0) { goto CFG_43625; } else { goto CFG_50550; } CFG_50550: assume true; local_#22019 := 0; local_#22020 := (if local_#32333_sz <= local_#22019 then 1 else 0); if (local_#22020 != 0) { goto CFG_43625; } else { goto CFG_38585; } CFG_38585: assume true; local_#8068 := local_#32333_sz; goto CFG_37693; CFG_43625: assume true; local_#22021 := _memory_ptr[{ base : local_#5871_h!base, offset : local_#5871_h!offset + 0 }]; assume _memory[{ base : strlit_#70604!base, offset : strlit_#70604!offset + 39 }] == 0; local_#22022 := strlit_#70604; local_#22023 := { base : local_#22022!base, offset : local_#22022!offset + 0 * 1 }; assert { :LIR "63313" } { :check "overflow" } { :finding_ids "0" } true; local_#22024 := 16; goto CFG_47362; CFG_47362: assume true; call local_#22025 := routine_#33828_luaL_error(local_#22021,local_#22023,{ base : 0, offset : 0 }); goto CFG_38586; CFG_38586: assume true; local_#8068 := local_#22025; goto CFG_37693; CFG_37693: assume true; } procedure routine_#34795_getobjname(local_#5874_p_IN : { base : int, offset : int }, local_#5875_lastpc_IN : int, local_#5876_reg_IN : int, local_#5877_name_IN : { base : int, offset : int }) returns (local_#8069 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5874_p : { base : int, offset : int }; var local_#5875_lastpc : int; var local_#5876_reg : int; var local_#5877_name : { base : int, offset : int }; var local_#22026 : { base : int, offset : int }; var local_#22027 : int; var local_#22028 : int; var local_#22029 : { base : int, offset : int }; var local_#22030 : { base : int, offset : int }; var local_#22031 : int; var local_#32334_pc : int; var local_#22032 : int; var local_#22033 : int; var local_#22034 : { base : int, offset : int }; var local_#32335_i : int; var local_#22035 : int; var local_#22036 : int; var local_#22037 : int; var local_#22038 : int; var local_#22039 : int; var local_#32336_op : int; var local_#22040 : int; var local_#22041 : int; var local_#22042 : int; var local_#22043 : int; var local_#22044 : int; var local_#22045 : int; var local_#32342_k : int; var local_#22046 : { base : int, offset : int }; var local_#22047 : { base : int, offset : int }; var local_#22048 : int; var local_#22049 : int; var local_#22050 : int; var local_#22051 : int; var local_#22052 : int; var local_#22053 : { base : int, offset : int }; var local_#22054 : int; var local_#22055 : int; var local_#22056 : int; var local_#22057 : int; var local_#22058 : int; var local_#30773 : int; var local_#22059 : int; var local_#22060 : int; var local_#22061 : int; var local_#22062 : int; var local_#22063 : int; var local_#32341_b : int; var local_#22064 : { base : int, offset : int }; var local_#22065 : int; var local_#22066 : int; var local_#22067 : int; var local_#22068 : int; var local_#22069 : { base : int, offset : int }; var local_#22070 : { base : int, offset : int }; var local_#22071 : { base : int, offset : int }; var local_#22072 : { base : int, offset : int }; var local_#22073 : { base : int, offset : int }; var local_#22074 : int; var local_#22075 : { base : int, offset : int }; var local_#22076 : { base : int, offset : int }; var local_#22077 : { base : int, offset : int }; var local_#22078 : { base : int, offset : int }; var local_#22079 : int; var local_#22080 : int; var local_#22081 : int; var local_#22082 : int; var local_#22083 : int; var local_#22084 : { base : int, offset : int }; var local_#22085 : { base : int, offset : int }; var local_#22086 : { base : int, offset : int }; var local_#22087 : int; var local_#22088 : int; var local_#22089 : int; var local_#22090 : int; var local_#22091 : int; var local_#32338_k : int; var local_#22092 : int; var local_#22093 : int; var local_#22094 : int; var local_#22095 : int; var local_#22096 : int; var local_#32339_t : int; var local_#22097 : int; var local_#22098 : int; var local_#22099 : int; var local_#22100 : { base : int, offset : int }; var local_#30774 : { base : int, offset : int }; var local_#22101 : { base : int, offset : int }; var local_#22102 : int; var local_#22103 : int; var local_#22104 : { base : int, offset : int }; var local_#32340_vn : { base : int, offset : int }; var local_#22105 : { base : int, offset : int }; var local_#22106 : { base : int, offset : int }; var local_#22107 : { base : int, offset : int }; var local_#22108 : int; var local_#22109 : int; var local_#22110 : int; var local_#22111 : { base : int, offset : int }; var local_#30775 : { base : int, offset : int }; var local_#22112 : { base : int, offset : int }; var local_#22113 : { base : int, offset : int }; var local_#22114 : int; var local_#22115 : int; var local_#22116 : int; var local_#22117 : int; var local_#22118 : int; var local_#32337_b : int; var local_#22119 : int; var local_#22120 : int; var local_#22121 : int; var local_#22122 : int; var local_#22123 : int; var local_#22124 : int; var local_#22125 : { base : int, offset : int }; var local_#22126 : { base : int, offset : int }; var local_#22127 : { base : int, offset : int }; local_#5874_p := local_#5874_p_IN; local_#5875_lastpc := local_#5875_lastpc_IN; local_#5876_reg := local_#5876_reg_IN; local_#5877_name := local_#5877_name_IN; goto CFG_36783; CFG_36783: assume true; goto CFG_43626; CFG_43626: assume true; local_#22026 := local_#5874_p; assert { :LIR "63314" } { :check "overflow" } { :finding_ids "0" } true; local_#22027 := 1; local_#22028 := local_#5876_reg + local_#22027; assert { :LIR "66665" } { :check "overflow" } { :finding_ids "0" } local_#22028 <= 2147483647; goto CFG_47363; CFG_47363: assume true; call local_#22029 := routine_#33752_luaF_getlocalname(local_#22026,local_#22028,local_#5875_lastpc); goto CFG_50551; CFG_50551: assume true; _memory_ptr[local_#5877_name] := local_#22029; local_#22030 := _memory_ptr[local_#5877_name]; if (local_#22030 != { base : 0, offset : 0 }) { goto CFG_38593; } else { goto CFG_47364; } CFG_47364: assume true; call local_#22031 := routine_#34749_findsetreg(local_#5874_p,local_#5875_lastpc,local_#5876_reg); goto CFG_50552; CFG_50552: assume true; local_#32334_pc := local_#22031; local_#22032 := -1; local_#22033 := (if local_#32334_pc != local_#22032 then 1 else 0); if (local_#22033 != 0) { goto CFG_51546; } else { goto CFG_38591; } CFG_51546: assume true; local_#22034 := { base : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 56 }]!offset + local_#32334_pc * 4 }; local_#32335_i := _memory[local_#22034]; local_#22035 := 0; local_#22036 := ~lshr32(local_#32335_i, local_#22035); local_#22037 := 63; local_#22038 := ~uand32(local_#22036, local_#22037); local_#22039 := local_#22038; assert { :LIR "61582" } { :check "overflow" } { :finding_ids "0" } local_#22039 <= 46; local_#32336_op := local_#22039; local_#22040 := local_#32336_op; if (local_#22040 == 0) { goto CFG_50558; } if (local_#22040 == 6) { goto CFG_50555; } if (local_#22040 == 7) { goto CFG_50555; } if (local_#22040 == 5) { goto CFG_43628; } if (local_#22040 == 1) { goto CFG_50553; } if (local_#22040 == 2) { goto CFG_50553; } if (local_#22040 == 12) { goto CFG_43627; } goto CFG_39650; CFG_39650: assume true; goto CFG_40910; CFG_43627: assume true; local_#22041 := 14; local_#22042 := ~lshr32(local_#32335_i, local_#22041); local_#22043 := 511; local_#22044 := ~uand32(local_#22042, local_#22043); local_#22045 := local_#22044; assert { :LIR "61583" } { :check "overflow" } { :finding_ids "0" } local_#22045 <= 2147483647; local_#32342_k := local_#22045; goto CFG_47365; CFG_47365: assume true; call routine_#34840_kname(local_#5874_p,local_#32334_pc,local_#32342_k,local_#5877_name); goto CFG_38587; CFG_38587: assume true; assume _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 0 }] == 109 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 1 }] == 101 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 2 }] == 116 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 3 }] == 104 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 4 }] == 111 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 5 }] == 100 && _memory[{ base : strlit_#70306!base, offset : strlit_#70306!offset + 6 }] == 0; local_#22046 := strlit_#70306; local_#22047 := { base : local_#22046!base, offset : local_#22046!offset + 0 * 1 }; assert { :LIR "63315" } { :check "overflow" } { :finding_ids "0" } true; local_#8069 := local_#22047; goto CFG_37694; CFG_50553: assume true; local_#22048 := ~uwrap32(local_#32336_op); assert { :LIR "63316" } { :check "overflow" } { :finding_ids "0" } true; local_#22049 := 1; local_#22050 := (if local_#22048 == local_#22049 then 1 else 0); if (local_#22050 != 0) { goto CFG_40905; } else { goto CFG_40904; } CFG_40904: assume true; local_#22051 := 1; local_#22052 := local_#32334_pc + local_#22051; assert { :LIR "66666" } { :check "overflow" } { :finding_ids "0" } local_#22052 <= 2147483647; local_#22053 := { base : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 56 }]!offset + local_#22052 * 4 }; local_#22054 := 6; local_#22055 := ~lshr32(_memory[local_#22053], local_#22054); local_#22056 := 67108863; local_#22057 := ~uand32(local_#22055, local_#22056); local_#22058 := local_#22057; assert { :LIR "61584" } { :check "overflow" } { :finding_ids "0" } local_#22058 <= 2147483647; local_#30773 := local_#22058; goto CFG_50554; CFG_40905: assume true; local_#22059 := 14; local_#22060 := ~lshr32(local_#32335_i, local_#22059); local_#22061 := 262143; local_#22062 := ~uand32(local_#22060, local_#22061); local_#22063 := local_#22062; assert { :LIR "61585" } { :check "overflow" } { :finding_ids "0" } local_#22063 <= 2147483647; local_#30773 := local_#22063; goto CFG_50554; CFG_50554: assume true; local_#32341_b := local_#30773; local_#22064 := { base : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 48 }]!offset + local_#32341_b * 16 }; local_#22065 := 15; local_#22066 := ~sand32(_memory[{ base : local_#22064!base, offset : local_#22064!offset + 8 }], local_#22065); local_#22067 := 4; local_#22068 := (if local_#22066 == local_#22067 then 1 else 0); if (local_#22068 != 0) { goto CFG_38588; } else { goto CFG_39651; } CFG_39651: assume true; goto CFG_40910; CFG_38588: assume true; local_#22069 := { base : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#5874_p!base, offset : local_#5874_p!offset + 48 }]!offset + local_#32341_b * 16 }; local_#22070 := { base : local_#22069!base, offset : local_#22069!offset + 0 }; local_#22071 := _memory_ptr[local_#22070]; assert { :LIR "61586" } { :check "overflow" } { :finding_ids "0" } true; local_#22072 := { base : local_#22071!base, offset : local_#22071!offset + 0 }; local_#22073 := local_#22072; assert { :LIR "61587" } { :check "overflow" } { :finding_ids "0" } true; local_#22074 := 24; local_#22075 := { base : local_#22073!base, offset : local_#22073!offset + local_#22074 * 1 }; local_#22076 := local_#22075; assert { :LIR "63317" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5877_name] := local_#22076; assume _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 0 }] == 99 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 1 }] == 111 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 2 }] == 110 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 3 }] == 115 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 4 }] == 116 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 5 }] == 97 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 6 }] == 110 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 7 }] == 116 && _memory[{ base : strlit_#70606!base, offset : strlit_#70606!offset + 8 }] == 0; local_#22077 := strlit_#70606; local_#22078 := { base : local_#22077!base, offset : local_#22077!offset + 0 * 1 }; assert { :LIR "63318" } { :check "overflow" } { :finding_ids "0" } true; local_#8069 := local_#22078; goto CFG_37694; CFG_43628: assume true; local_#22079 := 23; local_#22080 := ~lshr32(local_#32335_i, local_#22079); local_#22081 := 511; local_#22082 := ~uand32(local_#22080, local_#22081); local_#22083 := local_#22082; assert { :LIR "61588" } { :check "overflow" } { :finding_ids "0" } local_#22083 <= 2147483647; goto CFG_47366; CFG_47366: assume true; call local_#22084 := routine_#35138_upvalname(local_#5874_p,local_#22083); goto CFG_38589; CFG_38589: assume true; _memory_ptr[local_#5877_name] := local_#22084; assume _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 0 }] == 117 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 1 }] == 112 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 2 }] == 118 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 3 }] == 97 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 4 }] == 108 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 5 }] == 117 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 6 }] == 101 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 7 }] == 0; local_#22085 := strlit_#70607; local_#22086 := { base : local_#22085!base, offset : local_#22085!offset + 0 * 1 }; assert { :LIR "63319" } { :check "overflow" } { :finding_ids "0" } true; local_#8069 := local_#22086; goto CFG_37694; CFG_50555: assume true; local_#22087 := 14; local_#22088 := ~lshr32(local_#32335_i, local_#22087); local_#22089 := 511; local_#22090 := ~uand32(local_#22088, local_#22089); local_#22091 := local_#22090; assert { :LIR "61589" } { :check "overflow" } { :finding_ids "0" } local_#22091 <= 2147483647; local_#32338_k := local_#22091; local_#22092 := 23; local_#22093 := ~lshr32(local_#32335_i, local_#22092); local_#22094 := 511; local_#22095 := ~uand32(local_#22093, local_#22094); local_#22096 := local_#22095; assert { :LIR "61590" } { :check "overflow" } { :finding_ids "0" } local_#22096 <= 2147483647; local_#32339_t := local_#22096; local_#22097 := ~uwrap32(local_#32336_op); assert { :LIR "63320" } { :check "overflow" } { :finding_ids "0" } true; local_#22098 := 7; local_#22099 := (if local_#22097 == local_#22098 then 1 else 0); if (local_#22099 != 0) { goto CFG_43629; } else { goto CFG_47367; } CFG_47367: assume true; call local_#22100 := routine_#35138_upvalname(local_#5874_p,local_#32339_t); goto CFG_40906; CFG_40906: assume true; local_#30774 := local_#22100; goto CFG_43630; CFG_43629: assume true; local_#22101 := local_#5874_p; assert { :LIR "63321" } { :check "overflow" } { :finding_ids "0" } true; local_#22102 := 1; local_#22103 := local_#32339_t + local_#22102; assert { :LIR "66667" } { :check "overflow" } { :finding_ids "0" } local_#22103 <= 2147483647; goto CFG_47368; CFG_47368: assume true; call local_#22104 := routine_#33752_luaF_getlocalname(local_#22101,local_#22103,local_#32334_pc); goto CFG_40907; CFG_40907: assume true; local_#30774 := local_#22104; goto CFG_43630; CFG_43630: assume true; local_#32340_vn := local_#30774; goto CFG_47369; CFG_47369: assume true; call routine_#34840_kname(local_#5874_p,local_#32334_pc,local_#32338_k,local_#5877_name); goto CFG_50556; CFG_50556: assume true; local_#22105 := local_#32340_vn; if (local_#22105 != { base : 0, offset : 0 }) { goto CFG_43631; } else { goto CFG_40908; } CFG_43631: assume true; assume _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 0 }] == 95 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 1 }] == 69 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 2 }] == 78 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 3 }] == 86 && _memory[{ base : strlit_#70385!base, offset : strlit_#70385!offset + 4 }] == 0; local_#22106 := strlit_#70385; local_#22107 := { base : local_#22106!base, offset : local_#22106!offset + 0 * 1 }; assert { :LIR "63322" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47370; CFG_47370: assume true; call local_#22108 := routine_#34446_strcmp(local_#32340_vn,local_#22107); goto CFG_50557; CFG_50557: assume true; local_#22109 := 0; local_#22110 := (if local_#22108 == local_#22109 then 1 else 0); if (local_#22110 != 0) { goto CFG_40909; } else { goto CFG_40908; } CFG_40908: assume true; assume _memory[{ base : strlit_#70609!base, offset : strlit_#70609!offset + 0 }] == 102 && _memory[{ base : strlit_#70609!base, offset : strlit_#70609!offset + 1 }] == 105 && _memory[{ base : strlit_#70609!base, offset : strlit_#70609!offset + 2 }] == 101 && _memory[{ base : strlit_#70609!base, offset : strlit_#70609!offset + 3 }] == 108 && _memory[{ base : strlit_#70609!base, offset : strlit_#70609!offset + 4 }] == 100 && _memory[{ base : strlit_#70609!base, offset : strlit_#70609!offset + 5 }] == 0; local_#22111 := strlit_#70609; local_#30775 := { base : local_#22111!base, offset : local_#22111!offset + 0 * 1 }; goto CFG_38590; CFG_40909: assume true; assume _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 0 }] == 103 && _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 1 }] == 108 && _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 2 }] == 111 && _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 3 }] == 98 && _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 4 }] == 97 && _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 5 }] == 108 && _memory[{ base : strlit_#70610!base, offset : strlit_#70610!offset + 6 }] == 0; local_#22112 := strlit_#70610; local_#30775 := { base : local_#22112!base, offset : local_#22112!offset + 0 * 1 }; goto CFG_38590; CFG_38590: assume true; local_#22113 := local_#30775; assert { :LIR "63323" } { :check "overflow" } { :finding_ids "0" } true; local_#8069 := local_#22113; goto CFG_37694; CFG_50558: assume true; local_#22114 := 23; local_#22115 := ~lshr32(local_#32335_i, local_#22114); local_#22116 := 511; local_#22117 := ~uand32(local_#22115, local_#22116); local_#22118 := local_#22117; assert { :LIR "61591" } { :check "overflow" } { :finding_ids "0" } local_#22118 <= 2147483647; local_#32337_b := local_#22118; local_#22119 := 6; local_#22120 := ~lshr32(local_#32335_i, local_#22119); local_#22121 := 255; local_#22122 := ~uand32(local_#22120, local_#22121); local_#22123 := local_#22122; assert { :LIR "61592" } { :check "overflow" } { :finding_ids "0" } local_#22123 <= 2147483647; local_#22124 := (if local_#32337_b < local_#22123 then 1 else 0); if (local_#22124 != 0) { goto CFG_47371; } else { goto CFG_39652; } CFG_39652: assume true; goto CFG_40910; CFG_40910: assume true; goto CFG_38591; CFG_38591: assume true; local_#8069 := { base : 0, offset : 0 }; goto CFG_37694; CFG_47371: assume true; call local_#22125 := routine_#34795_getobjname(local_#5874_p,local_#32334_pc,local_#32337_b,local_#5877_name); goto CFG_38592; CFG_38592: assume true; local_#8069 := local_#22125; goto CFG_37694; CFG_38593: assume true; assume _memory[{ base : strlit_#70611!base, offset : strlit_#70611!offset + 0 }] == 108 && _memory[{ base : strlit_#70611!base, offset : strlit_#70611!offset + 1 }] == 111 && _memory[{ base : strlit_#70611!base, offset : strlit_#70611!offset + 2 }] == 99 && _memory[{ base : strlit_#70611!base, offset : strlit_#70611!offset + 3 }] == 97 && _memory[{ base : strlit_#70611!base, offset : strlit_#70611!offset + 4 }] == 108 && _memory[{ base : strlit_#70611!base, offset : strlit_#70611!offset + 5 }] == 0; local_#22126 := strlit_#70611; local_#22127 := { base : local_#22126!base, offset : local_#22126!offset + 0 * 1 }; assert { :LIR "63324" } { :check "overflow" } { :finding_ids "0" } true; local_#8069 := local_#22127; goto CFG_37694; CFG_41942: assume true; goto CFG_40910; CFG_37694: assume true; } procedure routine_#34796_getoption(local_#5878_h_IN : { base : int, offset : int }, local_#5879_fmt_IN : { base : int, offset : int }, local_#5880_size_IN : { base : int, offset : int }) returns (local_#8070 : int) modifies _memory, _memory_ptr, _valid; { var local_#5878_h : { base : int, offset : int }; var local_#5879_fmt : { base : int, offset : int }; var local_#5880_size : { base : int, offset : int }; var local_#22128 : { base : int, offset : int }; var local_#22129 : int; var local_#22130 : int; var local_#32343_opt : int; var local_#22131 : int; var local_#22132 : { base : int, offset : int }; var local_#22133 : { base : int, offset : int }; var local_#22134 : { base : int, offset : int }; var local_#22135 : int; var local_#22136 : int; var local_#22137 : int; var local_#22138 : { base : int, offset : int }; var local_#22139 : int; var local_#22140 : int; var local_#22141 : int; var local_#22142 : int; var local_#22143 : int; var local_#22144 : { base : int, offset : int }; var local_#22145 : { base : int, offset : int }; var local_#22146 : { base : int, offset : int }; var local_#22147 : int; var local_#22148 : int; var local_#22149 : int; var local_#22150 : int; var local_#22151 : int; var local_#22152 : int; var local_#22153 : int; local_#5878_h := local_#5878_h_IN; local_#5879_fmt := local_#5879_fmt_IN; local_#5880_size := local_#5880_size_IN; goto CFG_36784; CFG_36784: assume true; goto CFG_51547; CFG_51547: assume true; local_#22128 := _memory_ptr[local_#5879_fmt]; local_#22129 := 1; _memory_ptr[local_#5879_fmt] := { base : local_#22128!base, offset : local_#22128!offset + local_#22129 * 1 }; local_#22130 := _memory[local_#22128]; assert { :LIR "63325" } { :check "overflow" } { :finding_ids "0" } local_#22130 <= 2147483647; local_#32343_opt := local_#22130; _memory[local_#5880_size] := 0; local_#22131 := local_#32343_opt; if (local_#22131 == 98) { goto CFG_38613; } if (local_#22131 == 66) { goto CFG_38612; } if (local_#22131 == 104) { goto CFG_38611; } if (local_#22131 == 72) { goto CFG_38610; } if (local_#22131 == 108) { goto CFG_38609; } if (local_#22131 == 76) { goto CFG_38608; } if (local_#22131 == 106) { goto CFG_38607; } if (local_#22131 == 74) { goto CFG_38606; } if (local_#22131 == 84) { goto CFG_38605; } if (local_#22131 == 102) { goto CFG_38604; } if (local_#22131 == 100) { goto CFG_38603; } if (local_#22131 == 110) { goto CFG_38602; } if (local_#22131 == 105) { goto CFG_43638; } if (local_#22131 == 73) { goto CFG_43637; } if (local_#22131 == 115) { goto CFG_43636; } if (local_#22131 == 99) { goto CFG_43634; } if (local_#22131 == 122) { goto CFG_38597; } if (local_#22131 == 120) { goto CFG_38596; } if (local_#22131 == 88) { goto CFG_38595; } if (local_#22131 == 32) { goto CFG_39657; } if (local_#22131 == 60) { goto CFG_39656; } if (local_#22131 == 62) { goto CFG_39655; } if (local_#22131 == 61) { goto CFG_39654; } if (local_#22131 == 33) { goto CFG_43633; } goto CFG_43632; CFG_43632: assume true; local_#22132 := _memory_ptr[{ base : local_#5878_h!base, offset : local_#5878_h!offset + 0 }]; assume _memory[{ base : strlit_#70612!base, offset : strlit_#70612!offset + 26 }] == 0; local_#22133 := strlit_#70612; local_#22134 := { base : local_#22133!base, offset : local_#22133!offset + 0 * 1 }; assert { :LIR "63326" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47372; CFG_47372: assume true; call local_#22135 := routine_#33828_luaL_error(local_#22132,local_#22134,{ base : 0, offset : 0 }); goto CFG_41943; CFG_41943: assume true; goto CFG_38594; CFG_43633: assume true; local_#22136 := 8; goto CFG_47373; CFG_47373: assume true; call local_#22137 := routine_#34794_getnumlimit(local_#5878_h,local_#5879_fmt,local_#22136); goto CFG_39653; CFG_39653: assume true; _memory[{ base : local_#5878_h!base, offset : local_#5878_h!offset + 12 }] := local_#22137; goto CFG_38594; CFG_39654: assume true; local_#22138 := { base : global_#33062_nativeendian!base, offset : global_#33062_nativeendian!offset + 0 }; local_#22139 := _memory[local_#22138]; assert { :LIR "63327" } { :check "overflow" } { :finding_ids "0" } local_#22139 <= 2147483647; _memory[{ base : local_#5878_h!base, offset : local_#5878_h!offset + 8 }] := local_#22139; goto CFG_38594; CFG_39655: assume true; _memory[{ base : local_#5878_h!base, offset : local_#5878_h!offset + 8 }] := 0; goto CFG_38594; CFG_39656: assume true; _memory[{ base : local_#5878_h!base, offset : local_#5878_h!offset + 8 }] := 1; goto CFG_38594; CFG_39657: assume true; goto CFG_38594; CFG_38594: assume true; local_#8070 := 8; goto CFG_37695; CFG_38595: assume true; local_#8070 := 7; goto CFG_37695; CFG_38596: assume true; _memory[local_#5880_size] := 1; local_#8070 := 6; goto CFG_37695; CFG_38597: assume true; local_#8070 := 5; goto CFG_37695; CFG_43634: assume true; local_#22140 := -1; goto CFG_47374; CFG_47374: assume true; call local_#22141 := routine_#34793_getnum(local_#5879_fmt,local_#22140); goto CFG_50559; CFG_50559: assume true; _memory[local_#5880_size] := local_#22141; local_#22142 := -1; local_#22143 := (if _memory[local_#5880_size] == local_#22142 then 1 else 0); if (local_#22143 != 0) { goto CFG_43635; } else { goto CFG_38598; } CFG_43635: assume true; local_#22144 := _memory_ptr[{ base : local_#5878_h!base, offset : local_#5878_h!offset + 0 }]; assume _memory[{ base : strlit_#70613!base, offset : strlit_#70613!offset + 34 }] == 0; local_#22145 := strlit_#70613; local_#22146 := { base : local_#22145!base, offset : local_#22145!offset + 0 * 1 }; assert { :LIR "63328" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47375; CFG_47375: assume true; call local_#22147 := routine_#33828_luaL_error(local_#22144,local_#22146,{ base : 0, offset : 0 }); goto CFG_40911; CFG_40911: assume true; goto CFG_38598; CFG_38598: assume true; local_#8070 := 3; goto CFG_37695; CFG_43636: assume true; local_#22148 := 8; goto CFG_47376; CFG_47376: assume true; call local_#22149 := routine_#34794_getnumlimit(local_#5878_h,local_#5879_fmt,local_#22148); goto CFG_38599; CFG_38599: assume true; _memory[local_#5880_size] := local_#22149; local_#8070 := 4; goto CFG_37695; CFG_43637: assume true; local_#22150 := 4; goto CFG_47377; CFG_47377: assume true; call local_#22151 := routine_#34794_getnumlimit(local_#5878_h,local_#5879_fmt,local_#22150); goto CFG_38600; CFG_38600: assume true; _memory[local_#5880_size] := local_#22151; local_#8070 := 1; goto CFG_37695; CFG_43638: assume true; local_#22152 := 4; goto CFG_47378; CFG_47378: assume true; call local_#22153 := routine_#34794_getnumlimit(local_#5878_h,local_#5879_fmt,local_#22152); goto CFG_38601; CFG_38601: assume true; _memory[local_#5880_size] := local_#22153; local_#8070 := 0; goto CFG_37695; CFG_38602: assume true; _memory[local_#5880_size] := 8; local_#8070 := 2; goto CFG_37695; CFG_38603: assume true; _memory[local_#5880_size] := 8; local_#8070 := 2; goto CFG_37695; CFG_38604: assume true; _memory[local_#5880_size] := 4; local_#8070 := 2; goto CFG_37695; CFG_38605: assume true; _memory[local_#5880_size] := 8; local_#8070 := 1; goto CFG_37695; CFG_38606: assume true; _memory[local_#5880_size] := 8; local_#8070 := 1; goto CFG_37695; CFG_38607: assume true; _memory[local_#5880_size] := 8; local_#8070 := 0; goto CFG_37695; CFG_38608: assume true; _memory[local_#5880_size] := 8; local_#8070 := 1; goto CFG_37695; CFG_38609: assume true; _memory[local_#5880_size] := 8; local_#8070 := 0; goto CFG_37695; CFG_38610: assume true; _memory[local_#5880_size] := 2; local_#8070 := 1; goto CFG_37695; CFG_38611: assume true; _memory[local_#5880_size] := 2; local_#8070 := 0; goto CFG_37695; CFG_38612: assume true; _memory[local_#5880_size] := 1; local_#8070 := 1; goto CFG_37695; CFG_38613: assume true; _memory[local_#5880_size] := 1; local_#8070 := 0; goto CFG_37695; CFG_37695: assume true; } procedure routine_#34797_getthread(local_#5881_L_IN : { base : int, offset : int }, local_#5882_arg_IN : { base : int, offset : int }) returns (local_#8071 : { base : int, offset : int }) modifies _memory; { var local_#5881_L : { base : int, offset : int }; var local_#5882_arg : { base : int, offset : int }; var local_#22154 : int; var local_#22155 : int; var local_#22156 : int; var local_#22157 : int; var local_#22158 : int; var local_#22159 : { base : int, offset : int }; local_#5881_L := local_#5881_L_IN; local_#5882_arg := local_#5882_arg_IN; goto CFG_36785; CFG_36785: assume true; goto CFG_43639; CFG_43639: assume true; local_#22154 := 1; goto CFG_47379; CFG_47379: assume true; call local_#22155 := routine_#34000_lua_type(local_#5881_L,local_#22154); goto CFG_50560; CFG_50560: assume true; local_#22156 := 8; local_#22157 := (if local_#22155 == local_#22156 then 1 else 0); if (local_#22157 != 0) { goto CFG_43640; } else { goto CFG_38614; } CFG_38614: assume true; _memory[local_#5882_arg] := 0; local_#8071 := local_#5881_L; goto CFG_37696; CFG_43640: assume true; _memory[local_#5882_arg] := 1; local_#22158 := 1; goto CFG_47380; CFG_47380: assume true; call local_#22159 := routine_#33998_lua_tothread(local_#5881_L,local_#22158); goto CFG_38615; CFG_38615: assume true; local_#8071 := local_#22159; goto CFG_37696; CFG_37696: assume true; } procedure routine_#34798_getunopr(local_#5883_op_IN : int) returns (local_#8072 : int) { var local_#5883_op : int; var local_#22160 : int; local_#5883_op := local_#5883_op_IN; goto CFG_36786; CFG_36786: assume true; goto CFG_51548; CFG_51548: assume true; local_#22160 := local_#5883_op; if (local_#22160 == 271) { goto CFG_38620; } if (local_#22160 == 45) { goto CFG_38619; } if (local_#22160 == 126) { goto CFG_38618; } if (local_#22160 == 35) { goto CFG_38617; } goto CFG_38616; CFG_38616: assume true; local_#8072 := 4; goto CFG_37697; CFG_38617: assume true; local_#8072 := 3; goto CFG_37697; CFG_38618: assume true; local_#8072 := 1; goto CFG_37697; CFG_38619: assume true; local_#8072 := 0; goto CFG_37697; CFG_38620: assume true; local_#8072 := 2; goto CFG_37697; CFG_37697: assume true; } procedure routine_#34799_getupvalname(local_#5884_ci_IN : { base : int, offset : int }, local_#5885_o_IN : { base : int, offset : int }, local_#5886_name_IN : { base : int, offset : int }) returns (local_#8073 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5884_ci : { base : int, offset : int }; var local_#5885_o : { base : int, offset : int }; var local_#5886_name : { base : int, offset : int }; var local_#22161 : { base : int, offset : int }; var local_#22162 : { base : int, offset : int }; var local_#22163 : { base : int, offset : int }; var local_#22164 : { base : int, offset : int }; var local_#22165 : { base : int, offset : int }; var local_#32344_c : { base : int, offset : int }; var local_#32345_i : int; var local_#22166 : int; var local_#22167 : int; var local_#22168 : { base : int, offset : int }; var local_#22169 : { base : int, offset : int }; var local_#22170 : { base : int, offset : int }; var local_#22171 : { base : int, offset : int }; var local_#22172 : int; var local_#22173 : int; var local_#22174 : int; var local_#22175 : int; var local_#22176 : { base : int, offset : int }; var local_#22177 : { base : int, offset : int }; var local_#22178 : { base : int, offset : int }; var local_#22179 : { base : int, offset : int }; local_#5884_ci := local_#5884_ci_IN; local_#5885_o := local_#5885_o_IN; local_#5886_name := local_#5886_name_IN; goto CFG_36787; CFG_36787: assume true; goto CFG_41757; CFG_41757: assume true; local_#22161 := _memory_ptr[{ base : local_#5884_ci!base, offset : local_#5884_ci!offset + 0 }]; local_#22162 := { base : local_#22161!base, offset : local_#22161!offset + 0 }; local_#22163 := _memory_ptr[local_#22162]; assert { :LIR "61593" } { :check "overflow" } { :finding_ids "0" } true; local_#22164 := { base : local_#22163!base, offset : local_#22163!offset + 0 }; local_#22165 := { base : local_#22164!base, offset : local_#22164!offset + 0 }; local_#32344_c := local_#22165; local_#32345_i := 0; goto CFG_50561; CFG_50561: assume true; local_#22166 := _memory[{ base : local_#32344_c!base, offset : local_#32344_c!offset + 10 }]; assert { :LIR "63329" } { :check "overflow" } { :finding_ids "0" } local_#22166 <= 2147483647; local_#22167 := (if local_#32345_i < local_#22166 then 1 else 0); if (local_#22167 != 0) { goto CFG_50562; } else { goto CFG_38621; } CFG_38621: assume true; local_#8073 := { base : 0, offset : 0 }; goto CFG_37698; CFG_50562: assume true; local_#22168 := { base : local_#32344_c!base, offset : local_#32344_c!offset + 32 }; local_#22169 := { base : local_#22168!base, offset : local_#22168!offset + 0 * 8 + local_#32345_i * 8 }; local_#22170 := _memory_ptr[local_#22169]; local_#22171 := _memory_ptr[{ base : local_#22170!base, offset : local_#22170!offset + 0 }]; assert { :LIR "63330" } { :check "overflow" } { :finding_ids "0" } true; local_#22172 := (if local_#22171 == local_#5885_o then 1 else 0); if (local_#22172 != 0) { goto CFG_43641; } else { goto CFG_45098; } CFG_45098: assume true; local_#22173 := local_#32345_i; local_#22174 := 1; local_#32345_i := local_#22173 + local_#22174; assert { :LIR "66668" } { :check "overflow" } { :finding_ids "0" } local_#32345_i <= 2147483647; local_#22175 := local_#22173; goto CFG_50561; CFG_43641: assume true; local_#22176 := _memory_ptr[{ base : local_#32344_c!base, offset : local_#32344_c!offset + 24 }]; goto CFG_47381; CFG_47381: assume true; call local_#22177 := routine_#35138_upvalname(local_#22176,local_#32345_i); goto CFG_38622; CFG_38622: assume true; _memory_ptr[local_#5886_name] := local_#22177; assume _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 0 }] == 117 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 1 }] == 112 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 2 }] == 118 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 3 }] == 97 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 4 }] == 108 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 5 }] == 117 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 6 }] == 101 && _memory[{ base : strlit_#70607!base, offset : strlit_#70607!offset + 7 }] == 0; local_#22178 := strlit_#70607; local_#22179 := { base : local_#22178!base, offset : local_#22178!offset + 0 * 1 }; assert { :LIR "63331" } { :check "overflow" } { :finding_ids "0" } true; local_#8073 := local_#22179; goto CFG_37698; CFG_37698: assume true; } procedure routine_#34800_getupvalref(local_#5887_L_IN : { base : int, offset : int }, local_#5888_fidx_IN : int, local_#5889_n_IN : int, local_#5890_pf_IN : { base : int, offset : int }) returns (local_#8074 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5887_L : { base : int, offset : int }; var local_#5888_fidx : int; var local_#5889_n : int; var local_#5890_pf : { base : int, offset : int }; var local_#22180 : { base : int, offset : int }; var local_#32347_fi : { base : int, offset : int }; var local_#22181 : int; var local_#22182 : int; var local_#22183 : { base : int, offset : int }; var local_#22184 : { base : int, offset : int }; var local_#22185 : { base : int, offset : int }; var local_#22186 : { base : int, offset : int }; var local_#32346_f : { base : int, offset : int }; var local_#22187 : int; var local_#22188 : int; var local_#22189 : { base : int, offset : int }; var local_#22190 : { base : int, offset : int }; var local_#22191 : int; var local_#22192 : int; var local_#22193 : { base : int, offset : int }; local_#5887_L := local_#5887_L_IN; local_#5888_fidx := local_#5888_fidx_IN; local_#5889_n := local_#5889_n_IN; local_#5890_pf := local_#5890_pf_IN; goto CFG_36788; CFG_36788: assume true; goto CFG_47382; CFG_47382: assume true; call local_#22180 := routine_#34811_index2addr(local_#5887_L,local_#5888_fidx); goto CFG_50563; CFG_50563: assume true; local_#32347_fi := local_#22180; local_#22181 := 0; local_#22182 := 0; assert { :LIR "61594" } { :check "overflow" } { :finding_ids "0" } true; local_#22183 := { base : local_#32347_fi!base, offset : local_#32347_fi!offset + 0 }; local_#22184 := _memory_ptr[local_#22183]; assert { :LIR "61595" } { :check "overflow" } { :finding_ids "0" } true; local_#22185 := { base : local_#22184!base, offset : local_#22184!offset + 0 }; local_#22186 := { base : local_#22185!base, offset : local_#22185!offset + 0 }; local_#32346_f := local_#22186; local_#22187 := 0; local_#22188 := 0; assert { :LIR "61596" } { :check "overflow" } { :finding_ids "0" } true; local_#22189 := local_#5890_pf; if (local_#22189 != { base : 0, offset : 0 }) { goto CFG_40912; } else { goto CFG_38623; } CFG_40912: assume true; _memory_ptr[local_#5890_pf] := local_#32346_f; goto CFG_38623; CFG_38623: assume true; local_#22190 := { base : local_#32346_f!base, offset : local_#32346_f!offset + 32 }; local_#22191 := 1; local_#22192 := local_#5889_n - local_#22191; assert { :LIR "68060" } { :check "overflow" } { :finding_ids "0" } local_#22192 <= 2147483647; local_#22193 := { base : local_#22190!base, offset : local_#22190!offset + 0 * 8 + local_#22192 * 8 }; local_#8074 := local_#22193; goto CFG_37699; CFG_37699: assume true; } procedure routine_#34801_gmatch(local_#5891_L_IN : { base : int, offset : int }) returns (local_#8075 : int) modifies _memory, _memory_ptr, _valid; { var local_#5891_L : { base : int, offset : int }; var local_#22194 : int; var local_#32350_ls : { base : int, offset : int }; var local_#22195 : { base : int, offset : int }; var local_#22196 : { base : int, offset : int }; var local_#32352_s : { base : int, offset : int }; var local_#22197 : int; var local_#32349_lp : { base : int, offset : int }; var local_#22198 : { base : int, offset : int }; var local_#22199 : { base : int, offset : int }; var local_#32351_p : { base : int, offset : int }; var local_#22200 : int; var local_#22201 : int; var local_#22202 : { base : int, offset : int }; var local_#22203 : { base : int, offset : int }; var local_#32348_gm : { base : int, offset : int }; var local_#22204 : { base : int, offset : int }; var local_#22205 : { base : int, offset : int }; var local_#22206 : int; local_#5891_L := local_#5891_L_IN; goto CFG_36789; CFG_36789: assume true; goto CFG_43642; CFG_43642: assume true; local_#22194 := 1; local_#22195 := local_#32350_ls; goto CFG_47383; CFG_47383: assume true; call local_#22196 := routine_#33821_luaL_checklstring(local_#5891_L,local_#22194,local_#22195); goto CFG_43643; CFG_43643: assume true; local_#32352_s := local_#22196; local_#22197 := 2; local_#22198 := local_#32349_lp; goto CFG_47384; CFG_47384: assume true; call local_#22199 := routine_#33821_luaL_checklstring(local_#5891_L,local_#22197,local_#22198); goto CFG_43644; CFG_43644: assume true; local_#32351_p := local_#22199; local_#22200 := 2; goto CFG_47385; CFG_47385: assume true; call routine_#33987_lua_settop(local_#5891_L,local_#22200); goto CFG_43645; CFG_43645: assume true; local_#22201 := 576; goto CFG_47386; CFG_47386: assume true; call local_#22202 := routine_#33954_lua_newuserdata(local_#5891_L,local_#22201); goto CFG_43646; CFG_43646: assume true; local_#22203 := local_#22202; assert { :LIR "61597" } { :check "overflow" } { :finding_ids "0" } true; local_#32348_gm := local_#22203; local_#22204 := { base : local_#32348_gm!base, offset : local_#32348_gm!offset + 24 }; goto CFG_47387; CFG_47387: assume true; call routine_#34994_prepstate(local_#22204,local_#5891_L,local_#32352_s,_memory[local_#32350_ls],local_#32351_p,_memory[local_#32349_lp]); goto CFG_43647; CFG_43647: assume true; _memory_ptr[{ base : local_#32348_gm!base, offset : local_#32348_gm!offset + 0 }] := local_#32352_s; _memory_ptr[{ base : local_#32348_gm!base, offset : local_#32348_gm!offset + 8 }] := local_#32351_p; _memory_ptr[{ base : local_#32348_gm!base, offset : local_#32348_gm!offset + 16 }] := { base : 0, offset : 0 }; local_#22205 := fun_addr_#34802_gmatch_aux; local_#22206 := 3; goto CFG_47388; CFG_47388: assume true; call routine_#33958_lua_pushcclosure(local_#5891_L,local_#22205,local_#22206); goto CFG_38624; CFG_38624: assume true; local_#8075 := 1; goto CFG_37700; CFG_37700: assume true; } procedure routine_#34802_gmatch_aux(local_#5892_L_IN : { base : int, offset : int }) returns (local_#8076 : int) modifies _memory, _memory_ptr, _valid; { var local_#5892_L : { base : int, offset : int }; var local_#22207 : int; var local_#22208 : { base : int, offset : int }; var local_#22209 : { base : int, offset : int }; var local_#32353_gm : { base : int, offset : int }; var local_#32354_src : { base : int, offset : int }; var local_#22210 : int; var local_#22211 : { base : int, offset : int }; var local_#22212 : { base : int, offset : int }; var local_#22213 : { base : int, offset : int }; var local_#22214 : { base : int, offset : int }; var local_#32355_e : { base : int, offset : int }; var local_#22215 : { base : int, offset : int }; var local_#22216 : int; var local_#22217 : int; var local_#22218 : { base : int, offset : int }; var local_#22219 : int; var local_#22220 : { base : int, offset : int }; var local_#22221 : { base : int, offset : int }; var local_#22222 : int; local_#5892_L := local_#5892_L_IN; goto CFG_36790; CFG_36790: assume true; goto CFG_43648; CFG_43648: assume true; local_#22207 := -1001003; goto CFG_47389; CFG_47389: assume true; call local_#22208 := routine_#33999_lua_touserdata(local_#5892_L,local_#22207); goto CFG_41758; CFG_41758: assume true; local_#22209 := local_#22208; assert { :LIR "61598" } { :check "overflow" } { :finding_ids "0" } true; local_#32353_gm := local_#22209; _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 48 }] := local_#5892_L; local_#32354_src := _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 0 }]; goto CFG_50564; CFG_50564: assume true; local_#22210 := (if local_#32354_src!offset <= _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 32 }]!offset then 1 else 0); if (local_#22210 != 0) { goto CFG_43649; } else { goto CFG_38625; } CFG_38625: assume true; local_#8076 := 0; goto CFG_37701; CFG_43649: assume true; local_#22211 := { base : local_#32353_gm!base, offset : local_#32353_gm!offset + 24 }; goto CFG_47390; CFG_47390: assume true; call routine_#35034_reprepstate(local_#22211); goto CFG_43650; CFG_43650: assume true; local_#22212 := { base : local_#32353_gm!base, offset : local_#32353_gm!offset + 24 }; local_#22213 := _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 8 }]; goto CFG_47391; CFG_47391: assume true; call local_#22214 := routine_#34913_match(local_#22212,local_#32354_src,local_#22213); goto CFG_50565; CFG_50565: assume true; local_#32355_e := local_#22214; local_#22215 := { base : 0, offset : 0 }; local_#22216 := (if local_#32355_e != local_#22215 then 1 else 0); if (local_#22216 != 0) { goto CFG_50566; } else { goto CFG_45099; } CFG_50566: assume true; local_#22217 := (if local_#32355_e != _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 16 }] then 1 else 0); if (local_#22217 != 0) { goto CFG_43651; } else { goto CFG_45099; } CFG_45099: assume true; local_#22218 := local_#32354_src; local_#22219 := 1; local_#32354_src := { base : local_#22218!base, offset : local_#22218!offset + local_#22219 * 1 }; local_#22220 := local_#22218; goto CFG_50564; CFG_43651: assume true; _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 16 }] := local_#32355_e; _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 0 }] := _memory_ptr[{ base : local_#32353_gm!base, offset : local_#32353_gm!offset + 16 }]; local_#22221 := { base : local_#32353_gm!base, offset : local_#32353_gm!offset + 24 }; goto CFG_47392; CFG_47392: assume true; call local_#22222 := routine_#35000_push_captures(local_#22221,local_#32354_src,local_#32355_e); goto CFG_38626; CFG_38626: assume true; local_#8076 := local_#22222; goto CFG_37701; CFG_37701: assume true; } procedure routine_#34803_gotostat(local_#5893_ls_IN : { base : int, offset : int }, local_#5894_pc_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5893_ls : { base : int, offset : int }; var local_#5894_pc : int; var local_#32358_line : int; var local_#22223 : int; var local_#22224 : int; var local_#22225 : int; var local_#22226 : { base : int, offset : int }; var local_#22227 : { base : int, offset : int }; var local_#22228 : { base : int, offset : int }; var local_#22229 : { base : int, offset : int }; var local_#32357_label : { base : int, offset : int }; var local_#22230 : { base : int, offset : int }; var local_#22231 : { base : int, offset : int }; var local_#22232 : { base : int, offset : int }; var local_#22233 : int; var local_#32356_g : int; var local_#22234 : int; local_#5893_ls := local_#5893_ls_IN; local_#5894_pc := local_#5894_pc_IN; goto CFG_36791; CFG_36791: assume true; goto CFG_43652; CFG_43652: assume true; local_#32358_line := _memory[{ base : local_#5893_ls!base, offset : local_#5893_ls!offset + 4 }]; local_#22223 := 266; goto CFG_47393; CFG_47393: assume true; call local_#22224 := routine_#35112_testnext(local_#5893_ls,local_#22223); goto CFG_50567; CFG_50567: assume true; local_#22225 := local_#22224; if (local_#22225 != 0) { goto CFG_47396; } else { goto CFG_47394; } CFG_47394: assume true; call routine_#33908_luaX_next(local_#5893_ls); goto CFG_43653; CFG_43653: assume true; local_#22226 := _memory_ptr[{ base : local_#5893_ls!base, offset : local_#5893_ls!offset + 56 }]; assume _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 0 }] == 98 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 1 }] == 114 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 2 }] == 101 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 3 }] == 97 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 4 }] == 107 && _memory[{ base : strlit_#70457!base, offset : strlit_#70457!offset + 5 }] == 0; local_#22227 := strlit_#70457; local_#22228 := { base : local_#22227!base, offset : local_#22227!offset + 0 * 1 }; assert { :LIR "63332" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47395; CFG_47395: assume true; call local_#22229 := routine_#33876_luaS_new(local_#22226,local_#22228); goto CFG_40913; CFG_40913: assume true; local_#32357_label := local_#22229; goto CFG_43654; CFG_47396: assume true; call local_#22230 := routine_#35085_str_checkname(local_#5893_ls); goto CFG_40914; CFG_40914: assume true; local_#32357_label := local_#22230; goto CFG_43654; CFG_43654: assume true; local_#22231 := _memory_ptr[{ base : local_#5893_ls!base, offset : local_#5893_ls!offset + 88 }]; local_#22232 := { base : local_#22231!base, offset : local_#22231!offset + 16 }; goto CFG_47397; CFG_47397: assume true; call local_#22233 := routine_#34960_newlabelentry(local_#5893_ls,local_#22232,local_#32357_label,local_#32358_line,local_#5894_pc); goto CFG_43655; CFG_43655: assume true; local_#32356_g := local_#22233; goto CFG_47398; CFG_47398: assume true; call local_#22234 := routine_#34744_findlabel(local_#5893_ls,local_#32356_g); goto CFG_39340; CFG_39340: assume true; goto CFG_37702; CFG_37702: assume true; } procedure routine_#34804_growstack(local_#5895_L_IN : { base : int, offset : int }, local_#5896_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5895_L : { base : int, offset : int }; var local_#5896_ud : { base : int, offset : int }; var local_#22235 : { base : int, offset : int }; var local_#32359_size : int; local_#5895_L := local_#5895_L_IN; local_#5896_ud := local_#5896_ud_IN; goto CFG_36792; CFG_36792: assume true; goto CFG_43656; CFG_43656: assume true; local_#22235 := local_#5896_ud; assert { :LIR "61599" } { :check "overflow" } { :finding_ids "0" } true; local_#32359_size := _memory[local_#22235]; goto CFG_47399; CFG_47399: assume true; call routine_#33733_luaD_growstack(local_#5895_L,local_#32359_size); goto CFG_39341; CFG_39341: assume true; goto CFG_37703; CFG_37703: assume true; } procedure routine_#34805_handle_luainit(local_#5897_L_IN : { base : int, offset : int }) returns (local_#8077 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5897_L : { base : int, offset : int }; var local_#22236 : { base : int, offset : int }; var local_#22237 : { base : int, offset : int }; var local_#32361_name : { base : int, offset : int }; var local_#22238 : int; var local_#22239 : { base : int, offset : int }; var local_#22240 : { base : int, offset : int }; var local_#22241 : { base : int, offset : int }; var local_#32360_init : { base : int, offset : int }; var local_#22242 : { base : int, offset : int }; var local_#22243 : int; var local_#22244 : { base : int, offset : int }; var local_#22245 : { base : int, offset : int }; var local_#22246 : int; var local_#22247 : { base : int, offset : int }; var local_#22248 : { base : int, offset : int }; var local_#22249 : { base : int, offset : int }; var local_#22250 : { base : int, offset : int }; var local_#22251 : int; var local_#22252 : int; var local_#22253 : { base : int, offset : int }; var local_#22254 : int; var local_#22255 : int; var local_#22256 : int; var local_#22257 : int; var local_#22258 : int; var local_#22259 : { base : int, offset : int }; var local_#22260 : int; local_#5897_L := local_#5897_L_IN; goto CFG_36793; CFG_36793: assume true; goto CFG_43657; CFG_43657: assume true; assume _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 0 }] == 61 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 1 }] == 76 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 2 }] == 85 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 3 }] == 65 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 4 }] == 95 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 5 }] == 73 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 6 }] == 78 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 7 }] == 73 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 8 }] == 84 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 9 }] == 95 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 10 }] == 53 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 11 }] == 95 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 12 }] == 51 && _memory[{ base : strlit_#70616!base, offset : strlit_#70616!offset + 13 }] == 0; local_#22236 := strlit_#70616; local_#22237 := { base : local_#22236!base, offset : local_#22236!offset + 0 * 1 }; assert { :LIR "63333" } { :check "overflow" } { :finding_ids "0" } true; local_#32361_name := local_#22237; local_#22238 := 1; local_#22239 := { base : local_#32361_name!base, offset : local_#32361_name!offset + local_#22238 * 1 }; goto CFG_47400; CFG_47400: assume true; call local_#22240 := routine_#33610_getenv(local_#22239); goto CFG_50568; CFG_50568: assume true; local_#22241 := local_#22240; assert { :LIR "63334" } { :check "overflow" } { :finding_ids "0" } true; local_#32360_init := local_#22241; local_#22242 := { base : 0, offset : 0 }; local_#22243 := (if local_#32360_init == local_#22242 then 1 else 0); if (local_#22243 != 0) { goto CFG_43658; } else { goto CFG_50569; } CFG_43658: assume true; assume _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 0 }] == 61 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 1 }] == 76 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 2 }] == 85 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 3 }] == 65 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 4 }] == 95 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 5 }] == 73 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 6 }] == 78 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 7 }] == 73 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 8 }] == 84 && _memory[{ base : strlit_#70617!base, offset : strlit_#70617!offset + 9 }] == 0; local_#22244 := strlit_#70617; local_#22245 := { base : local_#22244!base, offset : local_#22244!offset + 0 * 1 }; assert { :LIR "63335" } { :check "overflow" } { :finding_ids "0" } true; local_#32361_name := local_#22245; local_#22246 := 1; local_#22247 := { base : local_#32361_name!base, offset : local_#32361_name!offset + local_#22246 * 1 }; goto CFG_47401; CFG_47401: assume true; call local_#22248 := routine_#33610_getenv(local_#22247); goto CFG_40915; CFG_40915: assume true; local_#22249 := local_#22248; assert { :LIR "63336" } { :check "overflow" } { :finding_ids "0" } true; local_#32360_init := local_#22249; goto CFG_50569; CFG_50569: assume true; local_#22250 := { base : 0, offset : 0 }; local_#22251 := (if local_#32360_init == local_#22250 then 1 else 0); if (local_#22251 != 0) { goto CFG_38629; } else { goto CFG_50570; } CFG_50570: assume true; local_#22252 := 0; local_#22253 := { base : local_#32360_init!base, offset : local_#32360_init!offset + local_#22252 * 1 }; local_#22254 := _memory[local_#22253]; assert { :LIR "63337" } { :check "overflow" } { :finding_ids "0" } local_#22254 <= 2147483647; local_#22255 := 64; local_#22256 := (if local_#22254 == local_#22255 then 1 else 0); if (local_#22256 != 0) { goto CFG_43659; } else { goto CFG_47402; } CFG_47402: assume true; call local_#22257 := routine_#34707_dostring(local_#5897_L,local_#32360_init,local_#32361_name); goto CFG_38627; CFG_38627: assume true; local_#8077 := local_#22257; goto CFG_37704; CFG_43659: assume true; local_#22258 := 1; local_#22259 := { base : local_#32360_init!base, offset : local_#32360_init!offset + local_#22258 * 1 }; goto CFG_47403; CFG_47403: assume true; call local_#22260 := routine_#34704_dofile(local_#5897_L,local_#22259); goto CFG_38628; CFG_38628: assume true; local_#8077 := local_#22260; goto CFG_37704; CFG_38629: assume true; local_#8077 := 0; goto CFG_37704; CFG_37704: assume true; } procedure routine_#34806_handle_script(local_#5898_L_IN : { base : int, offset : int }, local_#5899_argv_IN : { base : int, offset : int }) returns (local_#8078 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#5898_L : { base : int, offset : int }; var local_#5899_argv : { base : int, offset : int }; var local_#22261 : int; var local_#22262 : { base : int, offset : int }; var local_#22263 : { base : int, offset : int }; var local_#32362_fname : { base : int, offset : int }; var local_#22264 : { base : int, offset : int }; var local_#22265 : { base : int, offset : int }; var local_#22266 : int; var local_#22267 : int; var local_#22268 : int; var local_#22269 : int; var local_#22270 : { base : int, offset : int }; var local_#22271 : { base : int, offset : int }; var local_#22272 : { base : int, offset : int }; var local_#22273 : { base : int, offset : int }; var local_#22274 : int; var local_#22275 : int; var local_#22276 : int; var local_#22277 : { base : int, offset : int }; var local_#22278 : int; var local_#32363_status : int; var local_#22279 : int; var local_#22280 : int; var local_#22281 : int; var local_#32364_n : int; var local_#22282 : int; var local_#22283 : int; var local_#22284 : int; local_#5898_L := local_#5898_L_IN; local_#5899_argv := local_#5899_argv_IN; goto CFG_36794; CFG_36794: assume true; goto CFG_43660; CFG_43660: assume true; local_#22261 := 0; local_#22262 := { base : local_#5899_argv!base, offset : local_#5899_argv!offset + local_#22261 * 8 }; local_#22263 := _memory_ptr[local_#22262]; assert { :LIR "63338" } { :check "overflow" } { :finding_ids "0" } true; local_#32362_fname := local_#22263; assume _memory[{ base : strlit_#70618!base, offset : strlit_#70618!offset + 0 }] == 45 && _memory[{ base : strlit_#70618!base, offset : strlit_#70618!offset + 1 }] == 0; local_#22264 := strlit_#70618; local_#22265 := { base : local_#22264!base, offset : local_#22264!offset + 0 * 1 }; assert { :LIR "63339" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47404; CFG_47404: assume true; call local_#22266 := routine_#34446_strcmp(local_#32362_fname,local_#22265); goto CFG_50571; CFG_50571: assume true; local_#22267 := 0; local_#22268 := (if local_#22266 == local_#22267 then 1 else 0); if (local_#22268 != 0) { goto CFG_43661; } else { goto CFG_43662; } CFG_43661: assume true; local_#22269 := -1; local_#22270 := { base : local_#5899_argv!base, offset : local_#5899_argv!offset + local_#22269 * 8 }; local_#22271 := _memory_ptr[local_#22270]; assert { :LIR "63340" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70619!base, offset : strlit_#70619!offset + 0 }] == 45 && _memory[{ base : strlit_#70619!base, offset : strlit_#70619!offset + 1 }] == 45 && _memory[{ base : strlit_#70619!base, offset : strlit_#70619!offset + 2 }] == 0; local_#22272 := strlit_#70619; local_#22273 := { base : local_#22272!base, offset : local_#22272!offset + 0 * 1 }; assert { :LIR "63341" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47405; CFG_47405: assume true; call local_#22274 := routine_#34446_strcmp(local_#22271,local_#22273); goto CFG_50572; CFG_50572: assume true; local_#22275 := 0; local_#22276 := (if local_#22274 != local_#22275 then 1 else 0); if (local_#22276 != 0) { goto CFG_40916; } else { goto CFG_43662; } CFG_40916: assume true; local_#32362_fname := { base : 0, offset : 0 }; goto CFG_43662; CFG_43662: assume true; local_#22277 := { base : 0, offset : 0 }; goto CFG_47406; CFG_47406: assume true; call local_#22278 := routine_#33836_luaL_loadfilex(local_#5898_L,local_#32362_fname,local_#22277); goto CFG_50573; CFG_50573: assume true; local_#32363_status := local_#22278; local_#22279 := 0; local_#22280 := (if local_#32363_status == local_#22279 then 1 else 0); if (local_#22280 != 0) { goto CFG_47407; } else { goto CFG_47409; } CFG_47407: assume true; call local_#22281 := routine_#35002_pushargs(local_#5898_L); goto CFG_43663; CFG_43663: assume true; local_#32364_n := local_#22281; local_#22282 := -1; goto CFG_47408; CFG_47408: assume true; call local_#22283 := routine_#34702_docall(local_#5898_L,local_#32364_n,local_#22282); goto CFG_40917; CFG_40917: assume true; local_#32363_status := local_#22283; goto CFG_47409; CFG_47409: assume true; call local_#22284 := routine_#35033_report(local_#5898_L,local_#32363_status); goto CFG_38630; CFG_38630: assume true; local_#8078 := local_#22284; goto CFG_37705; CFG_37705: assume true; } procedure routine_#34807_hookf(local_#5900_L_IN : { base : int, offset : int }, local_#5901_ar_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5900_L : { base : int, offset : int }; var local_#5901_ar : { base : int, offset : int }; var local_#22285 : int; var local_#22286 : { base : int, offset : int }; var local_#22287 : int; var local_#22288 : int; var local_#22289 : int; var local_#22290 : int; var local_#22291 : int; var local_#22292 : int; var local_#22293 : int; var local_#22294 : { base : int, offset : int }; var local_#22295 : { base : int, offset : int }; var local_#22296 : int; var local_#22297 : int; var local_#22298 : int; var local_#22299 : int; var local_#22300 : int; var local_#22301 : int; var local_#22302 : int; var local_#22303 : int; var local_#22304 : { base : int, offset : int }; local_#5900_L := local_#5900_L_IN; local_#5901_ar := local_#5901_ar_IN; goto CFG_36795; CFG_36795: assume true; goto CFG_43664; CFG_43664: assume true; local_#22285 := -1001000; local_#22286 := global_#33048_HOOKKEY; assert { :LIR "63342" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47410; CFG_47410: assume true; call local_#22287 := routine_#33972_lua_rawgetp(local_#5900_L,local_#22285,local_#22286); goto CFG_47411; CFG_47411: assume true; call local_#22288 := routine_#33966_lua_pushthread(local_#5900_L); goto CFG_43665; CFG_43665: assume true; local_#22289 := -2; goto CFG_47412; CFG_47412: assume true; call local_#22290 := routine_#33970_lua_rawget(local_#5900_L,local_#22289); goto CFG_50574; CFG_50574: assume true; local_#22291 := 6; local_#22292 := (if local_#22290 == local_#22291 then 1 else 0); if (local_#22292 != 0) { goto CFG_43666; } else { goto CFG_39342; } CFG_43666: assume true; local_#22293 := _memory[{ base : local_#5901_ar!base, offset : local_#5901_ar!offset + 0 }]; assert { :LIR "61600" } { :check "overflow" } { :finding_ids "0" } local_#22293 <= 2147483647; local_#22294 := _memory_ptr[{ base : global_#31165_hooknames!base, offset : global_#31165_hooknames!offset + local_#22293 * 8 }]; goto CFG_47413; CFG_47413: assume true; call local_#22295 := routine_#33965_lua_pushstring(local_#5900_L,local_#22294); goto CFG_50575; CFG_50575: assume true; local_#22296 := 0; local_#22297 := (if _memory[{ base : local_#5901_ar!base, offset : local_#5901_ar!offset + 40 }] >= local_#22296 then 1 else 0); if (local_#22297 != 0) { goto CFG_43667; } else { goto CFG_47414; } CFG_47414: assume true; call routine_#33963_lua_pushnil(local_#5900_L); goto CFG_40918; CFG_40918: assume true; goto CFG_43668; CFG_43667: assume true; local_#22298 := _memory[{ base : local_#5901_ar!base, offset : local_#5901_ar!offset + 40 }]; assert { :LIR "63343" } { :check "overflow" } { :finding_ids "0" } local_#22298 <= 9223372036854775807; goto CFG_47415; CFG_47415: assume true; call routine_#33960_lua_pushinteger(local_#5900_L,local_#22298); goto CFG_40919; CFG_40919: assume true; goto CFG_43668; CFG_43668: assume true; local_#22299 := 0; local_#22300 := 0; assert { :LIR "61601" } { :check "overflow" } { :finding_ids "0" } true; local_#22301 := 2; local_#22302 := 0; local_#22303 := 0; local_#22304 := { base : 0, offset : 0 }; goto CFG_47416; CFG_47416: assume true; call routine_#33919_lua_callk(local_#5900_L,local_#22301,local_#22302,local_#22303,local_#22304); goto CFG_40920; CFG_40920: assume true; goto CFG_39342; CFG_39342: assume true; goto CFG_37706; CFG_37706: assume true; } procedure routine_#34808_ifstat(local_#5902_ls_IN : { base : int, offset : int }, local_#5903_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5902_ls : { base : int, offset : int }; var local_#5903_line : int; var local_#32366_fs : { base : int, offset : int }; var local_#32365_escapelist : { base : int, offset : int }; var local_#22305 : { base : int, offset : int }; var local_#22306 : int; var local_#22307 : int; var local_#22308 : int; var local_#22309 : int; var local_#22310 : int; var local_#22311 : int; var local_#22312 : int; var local_#22313 : { base : int, offset : int }; local_#5902_ls := local_#5902_ls_IN; local_#5903_line := local_#5903_line_IN; goto CFG_36796; CFG_36796: assume true; goto CFG_43669; CFG_43669: assume true; local_#32366_fs := _memory_ptr[{ base : local_#5902_ls!base, offset : local_#5902_ls!offset + 48 }]; _memory[local_#32365_escapelist] := -1; local_#22305 := local_#32365_escapelist; goto CFG_47417; CFG_47417: assume true; call routine_#35111_test_then_block(local_#5902_ls,local_#22305); goto CFG_41759; CFG_41759: assume true; goto CFG_50576; CFG_50576: assume true; local_#22306 := 261; local_#22307 := (if _memory[{ base : local_#5902_ls!base, offset : local_#5902_ls!offset + 16 }] == local_#22306 then 1 else 0); if (local_#22307 != 0) { goto CFG_43672; } else { goto CFG_43670; } CFG_43670: assume true; local_#22308 := 260; goto CFG_47418; CFG_47418: assume true; call local_#22309 := routine_#35112_testnext(local_#5902_ls,local_#22308); goto CFG_50577; CFG_50577: assume true; local_#22310 := local_#22309; if (local_#22310 != 0) { goto CFG_47419; } else { goto CFG_43671; } CFG_47419: assume true; call routine_#34611_block(local_#5902_ls); goto CFG_40921; CFG_40921: assume true; goto CFG_43671; CFG_43671: assume true; local_#22311 := 262; local_#22312 := 267; goto CFG_47420; CFG_47420: assume true; call routine_#34626_check_match(local_#5902_ls,local_#22311,local_#22312,local_#5903_line); goto CFG_47421; CFG_47421: assume true; call routine_#33801_luaK_patchtohere(local_#32366_fs,_memory[local_#32365_escapelist]); goto CFG_39343; CFG_39343: assume true; goto CFG_37707; CFG_43672: assume true; local_#22313 := local_#32365_escapelist; goto CFG_47422; CFG_47422: assume true; call routine_#35111_test_then_block(local_#5902_ls,local_#22313); goto CFG_45100; CFG_45100: assume true; goto CFG_50576; CFG_37707: assume true; } procedure routine_#34809_inclinenumber(local_#5904_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5904_ls : { base : int, offset : int }; var local_#32367_old : int; var local_#22314 : int; var local_#22315 : int; var local_#22316 : { base : int, offset : int }; var local_#22317 : int; var local_#22318 : int; var local_#22319 : int; var local_#22320 : int; var local_#22321 : { base : int, offset : int }; var local_#22322 : int; var local_#30776 : int; var local_#22323 : { base : int, offset : int }; var local_#22324 : { base : int, offset : int }; var local_#22325 : int; var local_#22326 : int; var local_#22327 : int; var local_#22328 : int; var local_#22329 : int; var local_#22330 : int; var local_#22331 : int; var local_#22332 : int; var local_#22333 : { base : int, offset : int }; var local_#22334 : int; var local_#22335 : int; var local_#22336 : int; var local_#22337 : int; var local_#22338 : { base : int, offset : int }; var local_#22339 : int; var local_#30777 : int; var local_#22340 : { base : int, offset : int }; var local_#22341 : { base : int, offset : int }; var local_#22342 : int; var local_#22343 : int; var local_#22344 : int; var local_#22345 : int; var local_#22346 : int; var local_#22347 : int; var local_#22348 : { base : int, offset : int }; var local_#22349 : { base : int, offset : int }; var local_#22350 : int; local_#5904_ls := local_#5904_ls_IN; goto CFG_36797; CFG_36797: assume true; goto CFG_50578; CFG_50578: assume true; local_#32367_old := _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 0 }]; local_#22314 := 0; local_#22315 := 0; assert { :LIR "61602" } { :check "overflow" } { :finding_ids "0" } true; local_#22316 := _memory_ptr[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 64 }]; local_#22317 := _memory[{ base : local_#22316!base, offset : local_#22316!offset + 0 }]; local_#22318 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#22316!base, offset : local_#22316!offset + 0 }] := ~uwrap64(local_#22317 - local_#22318); assert { :LIR "68061" } { :check "overflow" } { :finding_ids "0" } true; local_#22319 := 0; local_#22320 := (if local_#22317 > local_#22319 then 1 else 0); if (local_#22320 != 0) { goto CFG_40923; } else { goto CFG_43673; } CFG_43673: assume true; local_#22321 := _memory_ptr[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 64 }]; goto CFG_47423; CFG_47423: assume true; call local_#22322 := routine_#33913_luaZ_fill(local_#22321); goto CFG_40922; CFG_40922: assume true; local_#30776 := local_#22322; goto CFG_50579; CFG_40923: assume true; local_#22323 := _memory_ptr[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 64 }]; local_#22324 := _memory_ptr[{ base : local_#22323!base, offset : local_#22323!offset + 8 }]; local_#22325 := 1; _memory_ptr[{ base : local_#22323!base, offset : local_#22323!offset + 8 }] := { base : local_#22324!base, offset : local_#22324!offset + local_#22325 * 1 }; local_#22326 := ~uwrap8(_memory[local_#22324]); assert { :LIR "61603" } { :check "overflow" } { :finding_ids "0" } true; local_#22327 := local_#22326; assert { :LIR "63344" } { :check "overflow" } { :finding_ids "0" } local_#22327 <= 2147483647; local_#30776 := local_#22327; goto CFG_50579; CFG_50579: assume true; _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 0 }] := local_#30776; local_#22328 := 10; local_#22329 := (if _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 0 }] == local_#22328 then 1 else 0); if (local_#22329 != 0) { goto CFG_50581; } else { goto CFG_50580; } CFG_50580: assume true; local_#22330 := 13; local_#22331 := (if _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 0 }] == local_#22330 then 1 else 0); if (local_#22331 != 0) { goto CFG_50581; } else { goto CFG_50583; } CFG_50581: assume true; local_#22332 := (if _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 0 }] != local_#32367_old then 1 else 0); if (local_#22332 != 0) { goto CFG_50582; } else { goto CFG_50583; } CFG_50582: assume true; local_#22333 := _memory_ptr[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 64 }]; local_#22334 := _memory[{ base : local_#22333!base, offset : local_#22333!offset + 0 }]; local_#22335 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#22333!base, offset : local_#22333!offset + 0 }] := ~uwrap64(local_#22334 - local_#22335); assert { :LIR "68062" } { :check "overflow" } { :finding_ids "0" } true; local_#22336 := 0; local_#22337 := (if local_#22334 > local_#22336 then 1 else 0); if (local_#22337 != 0) { goto CFG_40925; } else { goto CFG_43674; } CFG_43674: assume true; local_#22338 := _memory_ptr[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 64 }]; goto CFG_47424; CFG_47424: assume true; call local_#22339 := routine_#33913_luaZ_fill(local_#22338); goto CFG_40924; CFG_40924: assume true; local_#30777 := local_#22339; goto CFG_40926; CFG_40925: assume true; local_#22340 := _memory_ptr[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 64 }]; local_#22341 := _memory_ptr[{ base : local_#22340!base, offset : local_#22340!offset + 8 }]; local_#22342 := 1; _memory_ptr[{ base : local_#22340!base, offset : local_#22340!offset + 8 }] := { base : local_#22341!base, offset : local_#22341!offset + local_#22342 * 1 }; local_#22343 := ~uwrap8(_memory[local_#22341]); assert { :LIR "61604" } { :check "overflow" } { :finding_ids "0" } true; local_#22344 := local_#22343; assert { :LIR "63345" } { :check "overflow" } { :finding_ids "0" } local_#22344 <= 2147483647; local_#30777 := local_#22344; goto CFG_40926; CFG_40926: assume true; _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 0 }] := local_#30777; goto CFG_50583; CFG_50583: assume true; local_#22345 := 1; _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 4 }] := _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 4 }] + local_#22345; assert { :LIR "66669" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 4 }] <= -1; local_#22346 := 2147483647; local_#22347 := (if _memory[{ base : local_#5904_ls!base, offset : local_#5904_ls!offset + 4 }] >= local_#22346 then 1 else 0); if (local_#22347 != 0) { goto CFG_43675; } else { goto CFG_39344; } CFG_39344: assume true; goto CFG_37708; CFG_43675: assume true; assume _memory[{ base : strlit_#70620!base, offset : strlit_#70620!offset + 24 }] == 0; local_#22348 := strlit_#70620; local_#22349 := { base : local_#22348!base, offset : local_#22348!offset + 0 * 1 }; assert { :LIR "63346" } { :check "overflow" } { :finding_ids "0" } true; local_#22350 := 0; goto CFG_47425; CFG_47425: assume true; call routine_#34857_lexerror(local_#5904_ls,local_#22349,local_#22350); CFG_37708: assume true; } procedure routine_#34810_incomplete(local_#5905_L_IN : { base : int, offset : int }, local_#5906_status_IN : int) returns (local_#8079 : int) modifies _memory, _memory_ptr, _valid; { var local_#5905_L : { base : int, offset : int }; var local_#5906_status : int; var local_#22351 : int; var local_#22352 : int; var local_#22353 : int; var local_#32368_lmsg : { base : int, offset : int }; var local_#22354 : { base : int, offset : int }; var local_#22355 : { base : int, offset : int }; var local_#32369_msg : { base : int, offset : int }; var local_#22356 : int; var local_#22357 : int; var local_#22358 : { base : int, offset : int }; var local_#22359 : int; var local_#22360 : { base : int, offset : int }; var local_#22361 : { base : int, offset : int }; var local_#22362 : { base : int, offset : int }; var local_#22363 : int; var local_#22364 : int; var local_#22365 : int; var local_#22366 : int; local_#5905_L := local_#5905_L_IN; local_#5906_status := local_#5906_status_IN; goto CFG_36798; CFG_36798: assume true; goto CFG_50584; CFG_50584: assume true; local_#22351 := 3; local_#22352 := (if local_#5906_status == local_#22351 then 1 else 0); if (local_#22352 != 0) { goto CFG_43676; } else { goto CFG_38631; } CFG_43676: assume true; local_#22353 := -1; local_#22354 := local_#32368_lmsg; goto CFG_47426; CFG_47426: assume true; call local_#22355 := routine_#33995_lua_tolstring(local_#5905_L,local_#22353,local_#22354); goto CFG_50585; CFG_50585: assume true; local_#32369_msg := local_#22355; local_#22356 := 5; local_#22357 := (if _memory[local_#32368_lmsg] >= local_#22356 then 1 else 0); if (local_#22357 != 0) { goto CFG_43677; } else { goto CFG_40927; } CFG_43677: assume true; local_#22358 := { base : local_#32369_msg!base, offset : local_#32369_msg!offset + _memory[local_#32368_lmsg] * 1 }; local_#22359 := 5; local_#22360 := { base : local_#22358!base, offset : local_#22358!offset - local_#22359 * 1 }; assume _memory[{ base : strlit_#70621!base, offset : strlit_#70621!offset + 0 }] == 60 && _memory[{ base : strlit_#70621!base, offset : strlit_#70621!offset + 1 }] == 101 && _memory[{ base : strlit_#70621!base, offset : strlit_#70621!offset + 2 }] == 111 && _memory[{ base : strlit_#70621!base, offset : strlit_#70621!offset + 3 }] == 102 && _memory[{ base : strlit_#70621!base, offset : strlit_#70621!offset + 4 }] == 62 && _memory[{ base : strlit_#70621!base, offset : strlit_#70621!offset + 5 }] == 0; local_#22361 := strlit_#70621; local_#22362 := { base : local_#22361!base, offset : local_#22361!offset + 0 * 1 }; assert { :LIR "63347" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47427; CFG_47427: assume true; call local_#22363 := routine_#34446_strcmp(local_#22360,local_#22362); goto CFG_50586; CFG_50586: assume true; local_#22364 := 0; local_#22365 := (if local_#22363 == local_#22364 then 1 else 0); if (local_#22365 != 0) { goto CFG_43678; } else { goto CFG_40927; } CFG_40927: assume true; goto CFG_38631; CFG_38631: assume true; local_#8079 := 0; goto CFG_37709; CFG_43678: assume true; local_#22366 := -2; goto CFG_47428; CFG_47428: assume true; call routine_#33987_lua_settop(local_#5905_L,local_#22366); goto CFG_38632; CFG_38632: assume true; local_#8079 := 1; goto CFG_37709; CFG_37709: assume true; } procedure routine_#34811_index2addr(local_#5907_L_IN : { base : int, offset : int }, local_#5908_idx_IN : int) returns (local_#8080 : { base : int, offset : int }) { var local_#5907_L : { base : int, offset : int }; var local_#5908_idx : int; var local_#32370_ci : { base : int, offset : int }; var local_#22367 : int; var local_#22368 : int; var local_#22369 : int; var local_#22370 : int; var local_#22371 : int; var local_#22372 : int; var local_#22373 : int; var local_#22374 : int; var local_#22375 : int; var local_#22376 : int; var local_#22377 : int; var local_#22378 : { base : int, offset : int }; var local_#22379 : int; var local_#22380 : int; var local_#22381 : { base : int, offset : int }; var local_#22382 : { base : int, offset : int }; var local_#22383 : { base : int, offset : int }; var local_#22384 : { base : int, offset : int }; var local_#22385 : { base : int, offset : int }; var local_#32372_func : { base : int, offset : int }; var local_#22386 : int; var local_#22387 : int; var local_#30778 : { base : int, offset : int }; var local_#22388 : { base : int, offset : int }; var local_#22389 : int; var local_#22390 : int; var local_#22391 : { base : int, offset : int }; var local_#22392 : { base : int, offset : int }; var local_#22393 : { base : int, offset : int }; var local_#22394 : int; var local_#22395 : int; var local_#22396 : { base : int, offset : int }; var local_#22397 : { base : int, offset : int }; var local_#32371_o : { base : int, offset : int }; var local_#22398 : int; var local_#22399 : int; var local_#22400 : int; var local_#22401 : { base : int, offset : int }; local_#5907_L := local_#5907_L_IN; local_#5908_idx := local_#5908_idx_IN; goto CFG_36799; CFG_36799: assume true; goto CFG_50587; CFG_50587: assume true; local_#32370_ci := _memory_ptr[{ base : local_#5907_L!base, offset : local_#5907_L!offset + 32 }]; local_#22367 := 0; local_#22368 := (if local_#5908_idx > local_#22367 then 1 else 0); if (local_#22368 != 0) { goto CFG_50592; } else { goto CFG_50588; } CFG_50588: assume true; local_#22369 := -1001000; local_#22370 := (if local_#5908_idx <= local_#22369 then 1 else 0); local_#22371 := (if local_#22370 != 0 then 0 else 1); if (local_#22371 != 0) { goto CFG_38636; } else { goto CFG_50589; } CFG_50589: assume true; local_#22372 := -1001000; local_#22373 := (if local_#5908_idx == local_#22372 then 1 else 0); if (local_#22373 != 0) { goto CFG_38635; } else { goto CFG_50590; } CFG_50590: assume true; local_#22374 := -1001000; local_#22375 := local_#22374 - local_#5908_idx; assert { :LIR "68063" } { :check "overflow" } { :finding_ids "0" } local_#22375 <= 2147483647; local_#5908_idx := local_#22375; local_#22376 := 0; local_#22377 := 0; assert { :LIR "61605" } { :check "overflow" } { :finding_ids "0" } true; local_#22378 := _memory_ptr[{ base : local_#32370_ci!base, offset : local_#32370_ci!offset + 0 }]; local_#22379 := 22; local_#22380 := (if _memory[{ base : local_#22378!base, offset : local_#22378!offset + 8 }] == local_#22379 then 1 else 0); if (local_#22380 != 0) { goto CFG_38634; } else { goto CFG_50591; } CFG_50591: assume true; local_#22381 := _memory_ptr[{ base : local_#32370_ci!base, offset : local_#32370_ci!offset + 0 }]; local_#22382 := { base : local_#22381!base, offset : local_#22381!offset + 0 }; local_#22383 := _memory_ptr[local_#22382]; assert { :LIR "61606" } { :check "overflow" } { :finding_ids "0" } true; local_#22384 := { base : local_#22383!base, offset : local_#22383!offset + 0 }; local_#22385 := { base : local_#22384!base, offset : local_#22384!offset + 0 }; local_#32372_func := local_#22385; local_#22386 := _memory[{ base : local_#32372_func!base, offset : local_#32372_func!offset + 10 }]; assert { :LIR "63348" } { :check "overflow" } { :finding_ids "0" } local_#22386 <= 2147483647; local_#22387 := (if local_#5908_idx <= local_#22386 then 1 else 0); if (local_#22387 != 0) { goto CFG_40929; } else { goto CFG_40928; } CFG_40928: assume true; local_#30778 := global_#33098_luaO_nilobject_; goto CFG_38633; CFG_40929: assume true; local_#22388 := { base : local_#32372_func!base, offset : local_#32372_func!offset + 32 }; local_#22389 := 1; local_#22390 := local_#5908_idx - local_#22389; assert { :LIR "68064" } { :check "overflow" } { :finding_ids "0" } local_#22390 <= 2147483647; local_#22391 := { base : local_#22388!base, offset : local_#22388!offset + 0 * 16 + local_#22390 * 16 }; local_#30778 := local_#22391; goto CFG_38633; CFG_38633: assume true; local_#8080 := local_#30778; goto CFG_37710; CFG_38634: assume true; local_#22392 := global_#33098_luaO_nilobject_; assert { :LIR "61607" } { :check "overflow" } { :finding_ids "0" } true; local_#8080 := local_#22392; goto CFG_37710; CFG_38635: assume true; local_#22393 := _memory_ptr[{ base : local_#5907_L!base, offset : local_#5907_L!offset + 24 }]; local_#8080 := { base : local_#22393!base, offset : local_#22393!offset + 64 }; goto CFG_37710; CFG_38636: assume true; local_#22394 := 0; local_#22395 := 0; assert { :LIR "61608" } { :check "overflow" } { :finding_ids "0" } true; local_#22396 := { base : _memory_ptr[{ base : local_#5907_L!base, offset : local_#5907_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#5907_L!base, offset : local_#5907_L!offset + 16 }]!offset + local_#5908_idx * 16 }; local_#8080 := local_#22396; goto CFG_37710; CFG_50592: assume true; local_#22397 := { base : _memory_ptr[{ base : local_#32370_ci!base, offset : local_#32370_ci!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32370_ci!base, offset : local_#32370_ci!offset + 0 }]!offset + local_#5908_idx * 16 }; local_#32371_o := local_#22397; local_#22398 := 0; local_#22399 := 0; assert { :LIR "61609" } { :check "overflow" } { :finding_ids "0" } true; local_#22400 := (if local_#32371_o!offset >= _memory_ptr[{ base : local_#5907_L!base, offset : local_#5907_L!offset + 16 }]!offset then 1 else 0); if (local_#22400 != 0) { goto CFG_38638; } else { goto CFG_38637; } CFG_38637: assume true; local_#8080 := local_#32371_o; goto CFG_37710; CFG_38638: assume true; local_#22401 := global_#33098_luaO_nilobject_; assert { :LIR "61610" } { :check "overflow" } { :finding_ids "0" } true; local_#8080 := local_#22401; goto CFG_37710; CFG_37710: assume true; } procedure routine_#34812_init_exp(local_#5909_e_IN : { base : int, offset : int }, local_#5910_k_IN : int, local_#5911_i_IN : int) returns () modifies _memory; { var local_#5909_e : { base : int, offset : int }; var local_#5910_k : int; var local_#5911_i : int; var local_#22402 : { base : int, offset : int }; local_#5909_e := local_#5909_e_IN; local_#5910_k := local_#5910_k_IN; local_#5911_i := local_#5911_i_IN; goto CFG_36800; CFG_36800: assume true; goto CFG_39345; CFG_39345: assume true; _memory[{ base : local_#5909_e!base, offset : local_#5909_e!offset + 16 }] := -1; _memory[{ base : local_#5909_e!base, offset : local_#5909_e!offset + 20 }] := _memory[{ base : local_#5909_e!base, offset : local_#5909_e!offset + 16 }]; _memory[{ base : local_#5909_e!base, offset : local_#5909_e!offset + 0 }] := local_#5910_k; local_#22402 := { base : local_#5909_e!base, offset : local_#5909_e!offset + 8 }; _memory[local_#22402] := local_#5911_i; goto CFG_37711; CFG_37711: assume true; } procedure routine_#34813_init_registry(local_#5912_L_IN : { base : int, offset : int }, local_#5913_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5912_L : { base : int, offset : int }; var local_#5913_g : { base : int, offset : int }; var local_#22403 : { base : int, offset : int }; var local_#32373_registry : { base : int, offset : int }; var local_#32375_io : { base : int, offset : int }; var local_#32376_x_ : { base : int, offset : int }; var local_#22404 : { base : int, offset : int }; var local_#22405 : { base : int, offset : int }; var local_#22406 : { base : int, offset : int }; var local_#22407 : int; var local_#22408 : int; var local_#22409 : int; var local_#22410 : int; var local_#32374_temp : { base : int, offset : int }; var local_#32377_io : { base : int, offset : int }; var local_#32378_x_ : { base : int, offset : int }; var local_#22411 : { base : int, offset : int }; var local_#22412 : { base : int, offset : int }; var local_#22413 : { base : int, offset : int }; var local_#22414 : int; var local_#22415 : int; var local_#22416 : int; var local_#22417 : { base : int, offset : int }; var local_#32379_io : { base : int, offset : int }; var local_#22418 : { base : int, offset : int }; var local_#32380_x_ : { base : int, offset : int }; var local_#22419 : { base : int, offset : int }; var local_#22420 : { base : int, offset : int }; var local_#22421 : { base : int, offset : int }; var local_#22422 : int; var local_#22423 : int; var local_#22424 : int; var local_#22425 : { base : int, offset : int }; local_#5912_L := local_#5912_L_IN; local_#5913_g := local_#5913_g_IN; goto CFG_36801; CFG_36801: assume true; goto CFG_47429; CFG_47429: assume true; call local_#22403 := routine_#33772_luaH_new(local_#5912_L); goto CFG_43679; CFG_43679: assume true; local_#32373_registry := local_#22403; local_#32375_io := { base : local_#5913_g!base, offset : local_#5913_g!offset + 64 }; local_#32376_x_ := local_#32373_registry; local_#22404 := local_#32376_x_; assert { :LIR "61611" } { :check "overflow" } { :finding_ids "0" } true; local_#22405 := { base : local_#22404!base, offset : local_#22404!offset + 0 }; local_#22406 := { base : local_#32375_io!base, offset : local_#32375_io!offset + 0 }; _memory_ptr[local_#22406] := local_#22405; _memory[{ base : local_#32375_io!base, offset : local_#32375_io!offset + 8 }] := 69; local_#22407 := 0; local_#22408 := 0; assert { :LIR "61612" } { :check "overflow" } { :finding_ids "0" } true; local_#22409 := 2; local_#22410 := 0; goto CFG_47430; CFG_47430: assume true; call routine_#33775_luaH_resize(local_#5912_L,local_#32373_registry,local_#22409,local_#22410); goto CFG_43680; CFG_43680: assume true; local_#32377_io := local_#32374_temp; local_#32378_x_ := local_#5912_L; local_#22411 := local_#32378_x_; assert { :LIR "61613" } { :check "overflow" } { :finding_ids "0" } true; local_#22412 := { base : local_#22411!base, offset : local_#22411!offset + 0 }; local_#22413 := { base : local_#32377_io!base, offset : local_#32377_io!offset + 0 }; _memory_ptr[local_#22413] := local_#22412; _memory[{ base : local_#32377_io!base, offset : local_#32377_io!offset + 8 }] := 72; local_#22414 := 0; local_#22415 := 0; assert { :LIR "61614" } { :check "overflow" } { :finding_ids "0" } true; local_#22416 := 1; local_#22417 := local_#32374_temp; goto CFG_47431; CFG_47431: assume true; call routine_#33778_luaH_setint(local_#5912_L,local_#32373_registry,local_#22416,local_#22417); goto CFG_43681; CFG_43681: assume true; local_#32379_io := local_#32374_temp; goto CFG_47432; CFG_47432: assume true; call local_#22418 := routine_#33772_luaH_new(local_#5912_L); goto CFG_43682; CFG_43682: assume true; local_#32380_x_ := local_#22418; local_#22419 := local_#32380_x_; assert { :LIR "61615" } { :check "overflow" } { :finding_ids "0" } true; local_#22420 := { base : local_#22419!base, offset : local_#22419!offset + 0 }; local_#22421 := { base : local_#32379_io!base, offset : local_#32379_io!offset + 0 }; _memory_ptr[local_#22421] := local_#22420; _memory[{ base : local_#32379_io!base, offset : local_#32379_io!offset + 8 }] := 69; local_#22422 := 0; local_#22423 := 0; assert { :LIR "61616" } { :check "overflow" } { :finding_ids "0" } true; local_#22424 := 2; local_#22425 := local_#32374_temp; goto CFG_47433; CFG_47433: assume true; call routine_#33778_luaH_setint(local_#5912_L,local_#32373_registry,local_#22424,local_#22425); goto CFG_39346; CFG_39346: assume true; goto CFG_37712; CFG_37712: assume true; } procedure routine_#34814_initheader(local_#5914_L_IN : { base : int, offset : int }, local_#5915_h_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#5914_L : { base : int, offset : int }; var local_#5915_h : { base : int, offset : int }; var local_#22426 : { base : int, offset : int }; var local_#22427 : int; local_#5914_L := local_#5914_L_IN; local_#5915_h := local_#5915_h_IN; goto CFG_36802; CFG_36802: assume true; goto CFG_39347; CFG_39347: assume true; _memory_ptr[{ base : local_#5915_h!base, offset : local_#5915_h!offset + 0 }] := local_#5914_L; local_#22426 := { base : global_#33062_nativeendian!base, offset : global_#33062_nativeendian!offset + 0 }; local_#22427 := _memory[local_#22426]; assert { :LIR "63349" } { :check "overflow" } { :finding_ids "0" } local_#22427 <= 2147483647; _memory[{ base : local_#5915_h!base, offset : local_#5915_h!offset + 8 }] := local_#22427; _memory[{ base : local_#5915_h!base, offset : local_#5915_h!offset + 12 }] := 1; goto CFG_37713; CFG_37713: assume true; } procedure routine_#34815_intarith(local_#5916_L_IN : { base : int, offset : int }, local_#5917_op_IN : int, local_#5918_v1_IN : int, local_#5919_v2_IN : int) returns (local_#8081 : int) modifies _memory, _memory_ptr, _valid; { var local_#5916_L : { base : int, offset : int }; var local_#5917_op : int; var local_#5918_v1 : int; var local_#5919_v2 : int; var local_#22428 : int; var local_#22429 : int; var local_#22430 : int; var local_#22431 : int; var local_#22432 : int; var local_#22433 : int; var local_#22434 : int; var local_#22435 : int; var local_#22436 : int; var local_#22437 : int; var local_#22438 : int; var local_#22439 : int; var local_#22440 : int; var local_#22441 : int; var local_#22442 : int; var local_#22443 : int; var local_#22444 : int; var local_#22445 : int; var local_#22446 : int; var local_#22447 : int; var local_#22448 : int; var local_#22449 : int; var local_#22450 : int; var local_#22451 : int; var local_#22452 : int; var local_#22453 : int; var local_#22454 : int; var local_#22455 : int; var local_#22456 : int; var local_#22457 : int; var local_#22458 : int; var local_#22459 : int; var local_#22460 : int; var local_#22461 : int; var local_#22462 : int; var local_#22463 : int; var local_#22464 : int; var local_#22465 : int; var local_#22466 : int; var local_#22467 : int; local_#5916_L := local_#5916_L_IN; local_#5917_op := local_#5917_op_IN; local_#5918_v1 := local_#5918_v1_IN; local_#5919_v2 := local_#5919_v2_IN; goto CFG_36803; CFG_36803: assume true; goto CFG_51549; CFG_51549: assume true; local_#22428 := local_#5917_op; if (local_#22428 == 0) { goto CFG_38651; } if (local_#22428 == 1) { goto CFG_38650; } if (local_#22428 == 2) { goto CFG_38649; } if (local_#22428 == 3) { goto CFG_47437; } if (local_#22428 == 6) { goto CFG_47436; } if (local_#22428 == 7) { goto CFG_38646; } if (local_#22428 == 8) { goto CFG_38645; } if (local_#22428 == 9) { goto CFG_38644; } if (local_#22428 == 10) { goto CFG_47435; } if (local_#22428 == 11) { goto CFG_43683; } if (local_#22428 == 12) { goto CFG_38641; } if (local_#22428 == 13) { goto CFG_38640; } goto CFG_38639; CFG_38639: assume true; local_#22429 := 0; local_#22430 := 0; assert { :LIR "61617" } { :check "overflow" } { :finding_ids "0" } true; local_#8081 := 0; goto CFG_37714; CFG_38640: assume true; local_#22431 := 18446744073709551615; local_#22432 := ~uwrap64(local_#5918_v1); assert { :LIR "61618" } { :check "overflow" } { :finding_ids "0" } true; local_#22433 := ~uxor64(local_#22431, local_#22432); local_#22434 := local_#22433; assert { :LIR "61619" } { :check "overflow" } { :finding_ids "0" } local_#22434 <= 9223372036854775807; local_#8081 := local_#22434; goto CFG_37714; CFG_38641: assume true; local_#22435 := 0; local_#22436 := ~uwrap64(local_#5918_v1); assert { :LIR "61620" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#22437 := ~uwrap64(local_#22435 - local_#22436); assert { :LIR "68065" } { :check "overflow" } { :finding_ids "0" } true; local_#22438 := local_#22437; assert { :LIR "61621" } { :check "overflow" } { :finding_ids "0" } local_#22438 <= 9223372036854775807; local_#8081 := local_#22438; goto CFG_37714; CFG_43683: assume true; local_#22439 := -local_#5919_v2; assert { :LIR "64663" } { :check "overflow" } { :finding_ids "0" } local_#22439 <= 9223372036854775807; goto CFG_47434; CFG_47434: assume true; call local_#22440 := routine_#33902_luaV_shiftl(local_#5918_v1,local_#22439); goto CFG_38642; CFG_38642: assume true; local_#8081 := local_#22440; goto CFG_37714; CFG_47435: assume true; call local_#22441 := routine_#33902_luaV_shiftl(local_#5918_v1,local_#5919_v2); goto CFG_38643; CFG_38643: assume true; local_#8081 := local_#22441; goto CFG_37714; CFG_38644: assume true; local_#22442 := ~uwrap64(local_#5918_v1); assert { :LIR "61622" } { :check "overflow" } { :finding_ids "0" } true; local_#22443 := ~uwrap64(local_#5919_v2); assert { :LIR "61623" } { :check "overflow" } { :finding_ids "0" } true; local_#22444 := ~uxor64(local_#22442, local_#22443); local_#22445 := local_#22444; assert { :LIR "61624" } { :check "overflow" } { :finding_ids "0" } local_#22445 <= 9223372036854775807; local_#8081 := local_#22445; goto CFG_37714; CFG_38645: assume true; local_#22446 := ~uwrap64(local_#5918_v1); assert { :LIR "61625" } { :check "overflow" } { :finding_ids "0" } true; local_#22447 := ~uwrap64(local_#5919_v2); assert { :LIR "61626" } { :check "overflow" } { :finding_ids "0" } true; local_#22448 := ~uor64(local_#22446, local_#22447); local_#22449 := local_#22448; assert { :LIR "61627" } { :check "overflow" } { :finding_ids "0" } local_#22449 <= 9223372036854775807; local_#8081 := local_#22449; goto CFG_37714; CFG_38646: assume true; local_#22450 := ~uwrap64(local_#5918_v1); assert { :LIR "61628" } { :check "overflow" } { :finding_ids "0" } true; local_#22451 := ~uwrap64(local_#5919_v2); assert { :LIR "61629" } { :check "overflow" } { :finding_ids "0" } true; local_#22452 := ~uand64(local_#22450, local_#22451); local_#22453 := local_#22452; assert { :LIR "61630" } { :check "overflow" } { :finding_ids "0" } local_#22453 <= 9223372036854775807; local_#8081 := local_#22453; goto CFG_37714; CFG_47436: assume true; call local_#22454 := routine_#33892_luaV_div(local_#5916_L,local_#5918_v1,local_#5919_v2); goto CFG_38647; CFG_38647: assume true; local_#8081 := local_#22454; goto CFG_37714; CFG_47437: assume true; call local_#22455 := routine_#33900_luaV_mod(local_#5916_L,local_#5918_v1,local_#5919_v2); goto CFG_38648; CFG_38648: assume true; local_#8081 := local_#22455; goto CFG_37714; CFG_38649: assume true; local_#22456 := ~uwrap64(local_#5918_v1); assert { :LIR "61631" } { :check "overflow" } { :finding_ids "0" } true; local_#22457 := ~uwrap64(local_#5919_v2); assert { :LIR "61632" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#22458 := ~uwrap64(local_#22456 * local_#22457); assert { :LIR "68576" } { :check "overflow" } { :finding_ids "0" } true; local_#22459 := local_#22458; assert { :LIR "61633" } { :check "overflow" } { :finding_ids "0" } local_#22459 <= 9223372036854775807; local_#8081 := local_#22459; goto CFG_37714; CFG_38650: assume true; local_#22460 := ~uwrap64(local_#5918_v1); assert { :LIR "61634" } { :check "overflow" } { :finding_ids "0" } true; local_#22461 := ~uwrap64(local_#5919_v2); assert { :LIR "61635" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#22462 := ~uwrap64(local_#22460 - local_#22461); assert { :LIR "68066" } { :check "overflow" } { :finding_ids "0" } true; local_#22463 := local_#22462; assert { :LIR "61636" } { :check "overflow" } { :finding_ids "0" } local_#22463 <= 9223372036854775807; local_#8081 := local_#22463; goto CFG_37714; CFG_38651: assume true; local_#22464 := ~uwrap64(local_#5918_v1); assert { :LIR "61637" } { :check "overflow" } { :finding_ids "0" } true; local_#22465 := ~uwrap64(local_#5919_v2); assert { :LIR "61638" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#22466 := ~uwrap64(local_#22464 + local_#22465); assert { :LIR "66670" } { :check "overflow" } { :finding_ids "0" } true; local_#22467 := local_#22466; assert { :LIR "61639" } { :check "overflow" } { :finding_ids "0" } local_#22467 <= 9223372036854775807; local_#8081 := local_#22467; goto CFG_37714; CFG_37714: assume true; } procedure routine_#34816_internshrstr(local_#5920_L_IN : { base : int, offset : int }, local_#5921_str_IN : { base : int, offset : int }, local_#5922_l_IN : int) returns (local_#8082 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#5920_L : { base : int, offset : int }; var local_#5921_str : { base : int, offset : int }; var local_#5922_l : int; var local_#32381_g : { base : int, offset : int }; var local_#22468 : int; var local_#22469 : int; var local_#32382_h : int; var local_#22470 : int; var local_#22471 : int; var local_#22472 : int; var local_#22473 : int; var local_#22474 : int; var local_#22475 : { base : int, offset : int }; var local_#32383_list : { base : int, offset : int }; var local_#22476 : int; var local_#22477 : int; var local_#32384_ts : { base : int, offset : int }; var local_#22478 : { base : int, offset : int }; var local_#22479 : int; var local_#22480 : int; var local_#22481 : int; var local_#22482 : int; var local_#22483 : int; var local_#22484 : int; var local_#22485 : int; var local_#22486 : int; var local_#22487 : int; var local_#22488 : int; var local_#22489 : int; var local_#22490 : { base : int, offset : int }; var local_#22491 : int; var local_#22492 : { base : int, offset : int }; var local_#22493 : { base : int, offset : int }; var local_#22494 : int; var local_#22495 : { base : int, offset : int }; var local_#22496 : { base : int, offset : int }; var local_#22497 : { base : int, offset : int }; var local_#22498 : int; var local_#22499 : int; var local_#22500 : { base : int, offset : int }; var local_#22501 : int; var local_#22502 : { base : int, offset : int }; var local_#22503 : int; var local_#22504 : int; var local_#22505 : int; var local_#22506 : int; var local_#22507 : int; var local_#22508 : { base : int, offset : int }; var local_#22509 : { base : int, offset : int }; var local_#22510 : int; var local_#22511 : { base : int, offset : int }; var local_#22512 : { base : int, offset : int }; var local_#22513 : int; var local_#22514 : int; var local_#22515 : int; var local_#22516 : int; var local_#22517 : int; var local_#22518 : { base : int, offset : int }; var local_#22519 : { base : int, offset : int }; var local_#22520 : int; var local_#22521 : int; var local_#22522 : int; var local_#22523 : int; var local_#22524 : int; var local_#22525 : int; var local_#22526 : int; var local_#22527 : int; var local_#22528 : int; var local_#22529 : int; var local_#22530 : int; local_#5920_L := local_#5920_L_IN; local_#5921_str := local_#5921_str_IN; local_#5922_l := local_#5922_l_IN; goto CFG_36804; CFG_36804: assume true; goto CFG_43684; CFG_43684: assume true; local_#32381_g := _memory_ptr[{ base : local_#5920_L!base, offset : local_#5920_L!offset + 24 }]; local_#22468 := _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 80 }]; goto CFG_47438; CFG_47438: assume true; call local_#22469 := routine_#33873_luaS_hash(local_#5921_str,local_#5922_l,local_#22468); goto CFG_41760; CFG_41760: assume true; local_#32382_h := local_#22469; local_#22470 := 1; local_#22471 := _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 60 }] - local_#22470; assert { :LIR "68067" } { :check "overflow" } { :finding_ids "0" } local_#22471 <= 2147483647; local_#22472 := ~uwrap32(local_#22471); assert { :LIR "63350" } { :check "overflow" } { :finding_ids "0" } true; local_#22473 := ~uand32(local_#32382_h, local_#22472); local_#22474 := local_#22473; assert { :LIR "61640" } { :check "overflow" } { :finding_ids "0" } local_#22474 <= 2147483647; local_#22475 := { base : _memory_ptr[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 48 }]!offset + local_#22474 * 8 }; local_#32383_list := local_#22475; local_#22476 := 0; local_#22477 := 0; assert { :LIR "61641" } { :check "overflow" } { :finding_ids "0" } true; local_#32384_ts := _memory_ptr[local_#32383_list]; goto CFG_50593; CFG_50593: assume true; local_#22478 := { base : 0, offset : 0 }; local_#22479 := (if local_#32384_ts != local_#22478 then 1 else 0); if (local_#22479 != 0) { goto CFG_50596; } else { goto CFG_50594; } CFG_50594: assume true; local_#22480 := (if _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 56 }] >= _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 60 }] then 1 else 0); if (local_#22480 != 0) { goto CFG_50595; } else { goto CFG_43686; } CFG_50595: assume true; local_#22481 := 1073741823; local_#22482 := (if _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 60 }] <= local_#22481 then 1 else 0); if (local_#22482 != 0) { goto CFG_43685; } else { goto CFG_43686; } CFG_43685: assume true; local_#22483 := 2; local_#22484 := _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 60 }] * local_#22483; assert { :LIR "68577" } { :check "overflow" } { :finding_ids "0" } local_#22484 <= 2147483647; goto CFG_47439; CFG_47439: assume true; call routine_#33880_luaS_resize(local_#5920_L,local_#22484); goto CFG_40930; CFG_40930: assume true; local_#22485 := 1; local_#22486 := _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 60 }] - local_#22485; assert { :LIR "68068" } { :check "overflow" } { :finding_ids "0" } local_#22486 <= 2147483647; local_#22487 := ~uwrap32(local_#22486); assert { :LIR "63351" } { :check "overflow" } { :finding_ids "0" } true; local_#22488 := ~uand32(local_#32382_h, local_#22487); local_#22489 := local_#22488; assert { :LIR "61642" } { :check "overflow" } { :finding_ids "0" } local_#22489 <= 2147483647; local_#22490 := { base : _memory_ptr[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 48 }]!offset + local_#22489 * 8 }; local_#32383_list := local_#22490; goto CFG_43686; CFG_43686: assume true; local_#22491 := 4; goto CFG_47440; CFG_47440: assume true; call local_#22492 := routine_#34678_createstrobj(local_#5920_L,local_#5922_l,local_#22491,local_#32382_h); goto CFG_43687; CFG_43687: assume true; local_#32384_ts := local_#22492; local_#22493 := local_#32384_ts; assert { :LIR "61643" } { :check "overflow" } { :finding_ids "0" } true; local_#22494 := 24; local_#22495 := { base : local_#22493!base, offset : local_#22493!offset + local_#22494 * 1 }; local_#22496 := local_#22495; assert { :LIR "63352" } { :check "overflow" } { :finding_ids "0" } true; local_#22497 := local_#5921_str; assert { :LIR "63353" } { :check "overflow" } { :finding_ids "0" } true; local_#22498 := 1; assume { :symbol "~uwrap64" } true; local_#22499 := ~uwrap64(local_#5922_l * local_#22498); assert { :LIR "68578" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47441; CFG_47441: assume true; call local_#22500 := routine_#34026_memcpy(local_#22496,local_#22497,local_#22499); goto CFG_38652; CFG_38652: assume true; local_#22501 := ~uwrap8(local_#5922_l); assert { :LIR "61644" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32384_ts!base, offset : local_#32384_ts!offset + 11 }] := local_#22501; local_#22502 := { base : local_#32384_ts!base, offset : local_#32384_ts!offset + 16 }; _memory_ptr[local_#22502] := _memory_ptr[local_#32383_list]; _memory_ptr[local_#32383_list] := local_#32384_ts; local_#22503 := _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 56 }]; local_#22504 := 1; _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 56 }] := local_#22503 + local_#22504; assert { :LIR "66671" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 56 }] <= -1; local_#22505 := local_#22503; local_#8082 := local_#32384_ts; goto CFG_37715; CFG_50596: assume true; local_#22506 := ~uwrap64(_memory[{ base : local_#32384_ts!base, offset : local_#32384_ts!offset + 11 }]); assert { :LIR "63354" } { :check "overflow" } { :finding_ids "0" } true; local_#22507 := (if local_#5922_l == local_#22506 then 1 else 0); if (local_#22507 != 0) { goto CFG_43688; } else { goto CFG_45101; } CFG_43688: assume true; local_#22508 := local_#5921_str; assert { :LIR "63355" } { :check "overflow" } { :finding_ids "0" } true; local_#22509 := local_#32384_ts; assert { :LIR "61645" } { :check "overflow" } { :finding_ids "0" } true; local_#22510 := 24; local_#22511 := { base : local_#22509!base, offset : local_#22509!offset + local_#22510 * 1 }; local_#22512 := local_#22511; assert { :LIR "63356" } { :check "overflow" } { :finding_ids "0" } true; local_#22513 := 1; assume { :symbol "~uwrap64" } true; local_#22514 := ~uwrap64(local_#5922_l * local_#22513); assert { :LIR "68579" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47442; CFG_47442: assume true; call local_#22515 := routine_#34025_memcmp(local_#22508,local_#22512,local_#22514); goto CFG_50597; CFG_50597: assume true; local_#22516 := 0; local_#22517 := (if local_#22515 == local_#22516 then 1 else 0); if (local_#22517 != 0) { goto CFG_50598; } else { goto CFG_45101; } CFG_45101: assume true; local_#22518 := { base : local_#32384_ts!base, offset : local_#32384_ts!offset + 16 }; local_#32384_ts := _memory_ptr[local_#22518]; local_#22519 := local_#32384_ts; goto CFG_50593; CFG_50598: assume true; local_#22520 := _memory[{ base : local_#32384_ts!base, offset : local_#32384_ts!offset + 9 }]; assert { :LIR "63357" } { :check "overflow" } { :finding_ids "0" } local_#22520 <= 2147483647; local_#22521 := 3; local_#22522 := ~sxor32(local_#22520, local_#22521); local_#22523 := _memory[{ base : local_#32381_g!base, offset : local_#32381_g!offset + 84 }]; assert { :LIR "63358" } { :check "overflow" } { :finding_ids "0" } local_#22523 <= 2147483647; local_#22524 := 3; local_#22525 := ~sxor32(local_#22523, local_#22524); local_#22526 := ~sand32(local_#22522, local_#22525); local_#22527 := (if local_#22526 != 0 then 0 else 1); if (local_#22527 != 0) { goto CFG_40931; } else { goto CFG_38653; } CFG_40931: assume true; local_#22528 := 3; local_#22529 := _memory[{ base : local_#32384_ts!base, offset : local_#32384_ts!offset + 9 }]; assert { :LIR "63359" } { :check "overflow" } { :finding_ids "0" } local_#22529 <= 2147483647; local_#22530 := ~sxor32(local_#22529, local_#22528); _memory[{ base : local_#32384_ts!base, offset : local_#32384_ts!offset + 9 }] := ~uwrap8(local_#22530); assert { :LIR "63360" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38653; CFG_38653: assume true; local_#8082 := local_#32384_ts; goto CFG_37715; CFG_37715: assume true; } procedure routine_#34817_interror(local_#5923_L_IN : { base : int, offset : int }, local_#5924_arg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5923_L : { base : int, offset : int }; var local_#5924_arg : int; var local_#22531 : int; var local_#22532 : int; var local_#22533 : int; var local_#22534 : { base : int, offset : int }; var local_#22535 : { base : int, offset : int }; var local_#22536 : int; local_#5923_L := local_#5923_L_IN; local_#5924_arg := local_#5924_arg_IN; goto CFG_36805; CFG_36805: assume true; goto CFG_47443; CFG_47443: assume true; call local_#22531 := routine_#33946_lua_isnumber(local_#5923_L,local_#5924_arg); goto CFG_50599; CFG_50599: assume true; local_#22532 := local_#22531; if (local_#22532 != 0) { goto CFG_43690; } else { goto CFG_43689; } CFG_43689: assume true; local_#22533 := 3; goto CFG_47444; CFG_47444: assume true; call routine_#35107_tag_error(local_#5923_L,local_#5924_arg,local_#22533); goto CFG_40932; CFG_40932: assume true; goto CFG_39348; CFG_43690: assume true; assume _memory[{ base : strlit_#70622!base, offset : strlit_#70622!offset + 36 }] == 0; local_#22534 := strlit_#70622; local_#22535 := { base : local_#22534!base, offset : local_#22534!offset + 0 * 1 }; assert { :LIR "63361" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47445; CFG_47445: assume true; call local_#22536 := routine_#33815_luaL_argerror(local_#5923_L,local_#5924_arg,local_#22535); goto CFG_40933; CFG_40933: assume true; goto CFG_39348; CFG_39348: assume true; goto CFG_37716; CFG_37716: assume true; } procedure routine_#34818_io_close(local_#5925_L_IN : { base : int, offset : int }) returns (local_#8083 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#5925_L : { base : int, offset : int }; var local_#22537 : int; var local_#22538 : int; var local_#22539 : int; var local_#22540 : int; var local_#22541 : int; var local_#22542 : { base : int, offset : int }; var local_#22543 : { base : int, offset : int }; var local_#22544 : int; var local_#22545 : int; local_#5925_L := local_#5925_L_IN; goto CFG_36806; CFG_36806: assume true; goto CFG_43691; CFG_43691: assume true; local_#22537 := 1; goto CFG_47446; CFG_47446: assume true; call local_#22538 := routine_#34000_lua_type(local_#5925_L,local_#22537); goto CFG_50600; CFG_50600: assume true; local_#22539 := -1; local_#22540 := (if local_#22538 == local_#22539 then 1 else 0); if (local_#22540 != 0) { goto CFG_43692; } else { goto CFG_47448; } CFG_43692: assume true; local_#22541 := -1001000; assume _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 0 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 1 }] == 73 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 2 }] == 79 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 3 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 4 }] == 111 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 5 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 6 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 7 }] == 112 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 8 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 9 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 10 }] == 0; local_#22542 := strlit_#70402; local_#22543 := { base : local_#22542!base, offset : local_#22542!offset + 0 * 1 }; assert { :LIR "63362" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47447; CFG_47447: assume true; call local_#22544 := routine_#33930_lua_getfield(local_#5925_L,local_#22541,local_#22543); goto CFG_40934; CFG_40934: assume true; goto CFG_47448; CFG_47448: assume true; call local_#22545 := routine_#34724_f_close(local_#5925_L); goto CFG_38654; CFG_38654: assume true; local_#8083 := local_#22545; goto CFG_37717; CFG_37717: assume true; } procedure routine_#34819_io_fclose(local_#5926_L_IN : { base : int, offset : int }) returns (local_#8084 : int) modifies _memory, _memory_ptr, _valid; { var local_#5926_L : { base : int, offset : int }; var local_#22546 : int; var local_#22547 : { base : int, offset : int }; var local_#22548 : { base : int, offset : int }; var local_#22549 : { base : int, offset : int }; var local_#22550 : { base : int, offset : int }; var local_#32385_p : { base : int, offset : int }; var local_#22551 : { base : int, offset : int }; var local_#22552 : int; var local_#32386_res : int; var local_#22553 : int; var local_#22554 : int; var local_#22555 : { base : int, offset : int }; var local_#22556 : int; local_#5926_L := local_#5926_L_IN; goto CFG_36807; CFG_36807: assume true; goto CFG_43693; CFG_43693: assume true; local_#22546 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#22547 := strlit_#70446; local_#22548 := { base : local_#22547!base, offset : local_#22547!offset + 0 * 1 }; assert { :LIR "63363" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47449; CFG_47449: assume true; call local_#22549 := routine_#33826_luaL_checkudata(local_#5926_L,local_#22546,local_#22548); goto CFG_43694; CFG_43694: assume true; local_#22550 := local_#22549; assert { :LIR "61646" } { :check "overflow" } { :finding_ids "0" } true; local_#32385_p := local_#22550; local_#22551 := _memory_ptr[{ base : local_#32385_p!base, offset : local_#32385_p!offset + 0 }]; goto CFG_47450; CFG_47450: assume true; call local_#22552 := routine_#33547_fclose(local_#22551); goto CFG_43695; CFG_43695: assume true; local_#32386_res := local_#22552; local_#22553 := 0; local_#22554 := (if local_#32386_res == local_#22553 then 1 else 0); local_#22555 := { base : 0, offset : 0 }; goto CFG_47451; CFG_47451: assume true; call local_#22556 := routine_#33830_luaL_fileresult(local_#5926_L,local_#22554,local_#22555); goto CFG_38655; CFG_38655: assume true; local_#8084 := local_#22556; goto CFG_37718; CFG_37718: assume true; } procedure routine_#34820_io_flush(local_#5927_L_IN : { base : int, offset : int }) returns (local_#8085 : int) modifies _memory, _memory_ptr, _valid; { var local_#5927_L : { base : int, offset : int }; var local_#22557 : { base : int, offset : int }; var local_#22558 : { base : int, offset : int }; var local_#22559 : { base : int, offset : int }; var local_#22560 : int; var local_#22561 : int; var local_#22562 : int; var local_#22563 : { base : int, offset : int }; var local_#22564 : int; local_#5927_L := local_#5927_L_IN; goto CFG_36808; CFG_36808: assume true; goto CFG_43696; CFG_43696: assume true; assume _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 0 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 1 }] == 73 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 2 }] == 79 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 3 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 4 }] == 111 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 5 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 6 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 7 }] == 112 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 8 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 9 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 10 }] == 0; local_#22557 := strlit_#70402; local_#22558 := { base : local_#22557!base, offset : local_#22557!offset + 0 * 1 }; assert { :LIR "63364" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47452; CFG_47452: assume true; call local_#22559 := routine_#34789_getiofile(local_#5927_L,local_#22558); goto CFG_47453; CFG_47453: assume true; call local_#22560 := routine_#33556_fflush(local_#22559); goto CFG_43697; CFG_43697: assume true; local_#22561 := 0; local_#22562 := (if local_#22560 == local_#22561 then 1 else 0); local_#22563 := { base : 0, offset : 0 }; goto CFG_47454; CFG_47454: assume true; call local_#22564 := routine_#33830_luaL_fileresult(local_#5927_L,local_#22562,local_#22563); goto CFG_38656; CFG_38656: assume true; local_#8085 := local_#22564; goto CFG_37719; CFG_37719: assume true; } procedure routine_#34821_io_input(local_#5928_L_IN : { base : int, offset : int }) returns (local_#8086 : int) modifies _memory, _memory_ptr, _valid; { var local_#5928_L : { base : int, offset : int }; var local_#22565 : { base : int, offset : int }; var local_#22566 : { base : int, offset : int }; var local_#22567 : { base : int, offset : int }; var local_#22568 : { base : int, offset : int }; var local_#22569 : int; local_#5928_L := local_#5928_L_IN; goto CFG_36809; CFG_36809: assume true; goto CFG_43698; CFG_43698: assume true; assume _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 0 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 1 }] == 73 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 2 }] == 79 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 3 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 4 }] == 105 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 5 }] == 110 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 6 }] == 112 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 7 }] == 117 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 8 }] == 116 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 9 }] == 0; local_#22565 := strlit_#70400; local_#22566 := { base : local_#22565!base, offset : local_#22565!offset + 0 * 1 }; assert { :LIR "63365" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 0 }] == 114 && _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 1 }] == 0; local_#22567 := strlit_#70323; local_#22568 := { base : local_#22567!base, offset : local_#22567!offset + 0 * 1 }; assert { :LIR "63366" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47455; CFG_47455: assume true; call local_#22569 := routine_#34770_g_iofile(local_#5928_L,local_#22566,local_#22568); goto CFG_38657; CFG_38657: assume true; local_#8086 := local_#22569; goto CFG_37720; CFG_37720: assume true; } procedure routine_#34822_io_lines(local_#5929_L_IN : { base : int, offset : int }) returns (local_#8087 : int) modifies _memory, _memory_ptr, _valid; { var local_#5929_L : { base : int, offset : int }; var local_#22570 : int; var local_#22571 : int; var local_#22572 : int; var local_#22573 : int; var local_#22574 : int; var local_#22575 : int; var local_#22576 : int; var local_#22577 : int; var local_#22578 : int; var local_#22579 : { base : int, offset : int }; var local_#22580 : { base : int, offset : int }; var local_#32388_filename : { base : int, offset : int }; var local_#22581 : { base : int, offset : int }; var local_#22582 : { base : int, offset : int }; var local_#22583 : int; var local_#22584 : int; var local_#22585 : int; var local_#32387_toclose : int; var local_#22586 : int; var local_#22587 : { base : int, offset : int }; var local_#22588 : { base : int, offset : int }; var local_#22589 : int; var local_#22590 : int; var local_#22591 : int; var local_#22592 : int; var local_#22593 : { base : int, offset : int }; local_#5929_L := local_#5929_L_IN; goto CFG_36810; CFG_36810: assume true; goto CFG_43699; CFG_43699: assume true; local_#22570 := 1; goto CFG_47456; CFG_47456: assume true; call local_#22571 := routine_#34000_lua_type(local_#5929_L,local_#22570); goto CFG_50601; CFG_50601: assume true; local_#22572 := -1; local_#22573 := (if local_#22571 == local_#22572 then 1 else 0); if (local_#22573 != 0) { goto CFG_47457; } else { goto CFG_43700; } CFG_47457: assume true; call routine_#33963_lua_pushnil(local_#5929_L); goto CFG_40935; CFG_40935: assume true; goto CFG_43700; CFG_43700: assume true; local_#22574 := 1; goto CFG_47458; CFG_47458: assume true; call local_#22575 := routine_#34000_lua_type(local_#5929_L,local_#22574); goto CFG_50602; CFG_50602: assume true; local_#22576 := 0; local_#22577 := (if local_#22575 == local_#22576 then 1 else 0); if (local_#22577 != 0) { goto CFG_43705; } else { goto CFG_43701; } CFG_43701: assume true; local_#22578 := 1; local_#22579 := { base : 0, offset : 0 }; goto CFG_47459; CFG_47459: assume true; call local_#22580 := routine_#33821_luaL_checklstring(local_#5929_L,local_#22578,local_#22579); goto CFG_43702; CFG_43702: assume true; local_#32388_filename := local_#22580; assume _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 0 }] == 114 && _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 1 }] == 0; local_#22581 := strlit_#70323; local_#22582 := { base : local_#22581!base, offset : local_#22581!offset + 0 * 1 }; assert { :LIR "63367" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47460; CFG_47460: assume true; call routine_#34971_opencheck(local_#5929_L,local_#32388_filename,local_#22582); goto CFG_43703; CFG_43703: assume true; local_#22583 := -1; local_#22584 := 1; goto CFG_47461; CFG_47461: assume true; call routine_#33924_lua_copy(local_#5929_L,local_#22583,local_#22584); goto CFG_43704; CFG_43704: assume true; local_#22585 := -2; goto CFG_47462; CFG_47462: assume true; call routine_#33987_lua_settop(local_#5929_L,local_#22585); goto CFG_40936; CFG_40936: assume true; local_#32387_toclose := 1; goto CFG_47467; CFG_43705: assume true; local_#22586 := -1001000; assume _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 0 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 1 }] == 73 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 2 }] == 79 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 3 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 4 }] == 105 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 5 }] == 110 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 6 }] == 112 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 7 }] == 117 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 8 }] == 116 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 9 }] == 0; local_#22587 := strlit_#70400; local_#22588 := { base : local_#22587!base, offset : local_#22587!offset + 0 * 1 }; assert { :LIR "63368" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47463; CFG_47463: assume true; call local_#22589 := routine_#33930_lua_getfield(local_#5929_L,local_#22586,local_#22588); goto CFG_43706; CFG_43706: assume true; local_#22590 := -1; local_#22591 := 1; goto CFG_47464; CFG_47464: assume true; call routine_#33924_lua_copy(local_#5929_L,local_#22590,local_#22591); goto CFG_43707; CFG_43707: assume true; local_#22592 := -2; goto CFG_47465; CFG_47465: assume true; call routine_#33987_lua_settop(local_#5929_L,local_#22592); goto CFG_47466; CFG_47466: assume true; call local_#22593 := routine_#35115_tofile(local_#5929_L); goto CFG_40937; CFG_40937: assume true; local_#32387_toclose := 0; goto CFG_47467; CFG_47467: assume true; call routine_#34587_aux_lines(local_#5929_L,local_#32387_toclose); goto CFG_38658; CFG_38658: assume true; local_#8087 := 1; goto CFG_37721; CFG_37721: assume true; } procedure routine_#34823_io_noclose(local_#5930_L_IN : { base : int, offset : int }) returns (local_#8088 : int) modifies _memory, _memory_ptr, _valid; { var local_#5930_L : { base : int, offset : int }; var local_#22594 : int; var local_#22595 : { base : int, offset : int }; var local_#22596 : { base : int, offset : int }; var local_#22597 : { base : int, offset : int }; var local_#22598 : { base : int, offset : int }; var local_#32389_p : { base : int, offset : int }; var local_#22599 : { base : int, offset : int }; var local_#22600 : { base : int, offset : int }; var local_#22601 : { base : int, offset : int }; local_#5930_L := local_#5930_L_IN; goto CFG_36811; CFG_36811: assume true; goto CFG_43708; CFG_43708: assume true; local_#22594 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#22595 := strlit_#70446; local_#22596 := { base : local_#22595!base, offset : local_#22595!offset + 0 * 1 }; assert { :LIR "63369" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47468; CFG_47468: assume true; call local_#22597 := routine_#33826_luaL_checkudata(local_#5930_L,local_#22594,local_#22596); goto CFG_43709; CFG_43709: assume true; local_#22598 := local_#22597; assert { :LIR "61647" } { :check "overflow" } { :finding_ids "0" } true; local_#32389_p := local_#22598; _memory_ptr[{ base : local_#32389_p!base, offset : local_#32389_p!offset + 8 }] := fun_addr_#34823_io_noclose; goto CFG_47469; CFG_47469: assume true; call routine_#33963_lua_pushnil(local_#5930_L); goto CFG_43710; CFG_43710: assume true; assume _memory[{ base : strlit_#70631!base, offset : strlit_#70631!offset + 26 }] == 0; local_#22599 := strlit_#70631; local_#22600 := { base : local_#22599!base, offset : local_#22599!offset + 0 * 1 }; assert { :LIR "63370" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47470; CFG_47470: assume true; call local_#22601 := routine_#33965_lua_pushstring(local_#5930_L,local_#22600); goto CFG_38659; CFG_38659: assume true; local_#8088 := 2; goto CFG_37722; CFG_37722: assume true; } procedure routine_#34824_io_open(local_#5931_L_IN : { base : int, offset : int }) returns (local_#8089 : int) modifies _memory, _memory_ptr, _valid; { var local_#5931_L : { base : int, offset : int }; var local_#22602 : int; var local_#22603 : { base : int, offset : int }; var local_#22604 : { base : int, offset : int }; var local_#32390_filename : { base : int, offset : int }; var local_#22605 : int; var local_#22606 : { base : int, offset : int }; var local_#22607 : { base : int, offset : int }; var local_#22608 : { base : int, offset : int }; var local_#22609 : { base : int, offset : int }; var local_#32392_mode : { base : int, offset : int }; var local_#22610 : { base : int, offset : int }; var local_#32393_p : { base : int, offset : int }; var local_#32391_md : { base : int, offset : int }; var local_#22611 : int; var local_#22612 : int; var local_#22613 : int; var local_#22614 : { base : int, offset : int }; var local_#22615 : { base : int, offset : int }; var local_#22616 : int; var local_#22617 : int; var local_#30779 : int; var local_#22618 : int; var local_#22619 : { base : int, offset : int }; var local_#22620 : { base : int, offset : int }; var local_#22621 : int; var local_#30780 : int; var local_#22622 : int; var local_#22623 : int; local_#5931_L := local_#5931_L_IN; goto CFG_36812; CFG_36812: assume true; goto CFG_43711; CFG_43711: assume true; local_#22602 := 1; local_#22603 := { base : 0, offset : 0 }; goto CFG_47471; CFG_47471: assume true; call local_#22604 := routine_#33821_luaL_checklstring(local_#5931_L,local_#22602,local_#22603); goto CFG_43712; CFG_43712: assume true; local_#32390_filename := local_#22604; local_#22605 := 2; assume _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 0 }] == 114 && _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 1 }] == 0; local_#22606 := strlit_#70323; local_#22607 := { base : local_#22606!base, offset : local_#22606!offset + 0 * 1 }; assert { :LIR "63371" } { :check "overflow" } { :finding_ids "0" } true; local_#22608 := { base : 0, offset : 0 }; goto CFG_47472; CFG_47472: assume true; call local_#22609 := routine_#33842_luaL_optlstring(local_#5931_L,local_#22605,local_#22607,local_#22608); goto CFG_43713; CFG_43713: assume true; local_#32392_mode := local_#22609; goto CFG_47473; CFG_47473: assume true; call local_#22610 := routine_#34959_newfile(local_#5931_L); goto CFG_43714; CFG_43714: assume true; local_#32393_p := local_#22610; local_#32391_md := local_#32392_mode; goto CFG_47474; CFG_47474: assume true; call local_#22611 := routine_#34842_l_checkmode(local_#32391_md); goto CFG_50603; CFG_50603: assume true; local_#22612 := local_#22611; if (local_#22612 != 0) { goto CFG_40939; } else { goto CFG_43715; } CFG_43715: assume true; local_#22613 := 2; assume _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 0 }] == 105 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 1 }] == 110 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 2 }] == 118 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 3 }] == 97 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 4 }] == 108 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 5 }] == 105 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 6 }] == 100 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 7 }] == 32 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 8 }] == 109 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 9 }] == 111 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 10 }] == 100 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 11 }] == 101 && _memory[{ base : strlit_#70633!base, offset : strlit_#70633!offset + 12 }] == 0; local_#22614 := strlit_#70633; local_#22615 := { base : local_#22614!base, offset : local_#22614!offset + 0 * 1 }; assert { :LIR "63372" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47475; CFG_47475: assume true; call local_#22616 := routine_#33815_luaL_argerror(local_#5931_L,local_#22613,local_#22615); goto CFG_50604; CFG_50604: assume true; local_#22617 := local_#22616; if (local_#22617 != 0) { goto CFG_40939; } else { goto CFG_40938; } CFG_40938: assume true; local_#30779 := 0; goto CFG_43716; CFG_40939: assume true; local_#30779 := 1; goto CFG_43716; CFG_43716: assume true; local_#22618 := 0; assert { :LIR "61648" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47476; CFG_47476: assume true; call local_#22619 := routine_#33577_fopen(local_#32390_filename,local_#32392_mode); goto CFG_50605; CFG_50605: assume true; _memory_ptr[{ base : local_#32393_p!base, offset : local_#32393_p!offset + 0 }] := local_#22619; local_#22620 := { base : 0, offset : 0 }; local_#22621 := (if _memory_ptr[{ base : local_#32393_p!base, offset : local_#32393_p!offset + 0 }] == local_#22620 then 1 else 0); if (local_#22621 != 0) { goto CFG_43717; } else { goto CFG_40940; } CFG_40940: assume true; local_#30780 := 1; goto CFG_38660; CFG_43717: assume true; local_#22622 := 0; goto CFG_47477; CFG_47477: assume true; call local_#22623 := routine_#33830_luaL_fileresult(local_#5931_L,local_#22622,local_#32390_filename); goto CFG_40941; CFG_40941: assume true; local_#30780 := local_#22623; goto CFG_38660; CFG_38660: assume true; local_#8089 := local_#30780; goto CFG_37723; CFG_37723: assume true; } procedure routine_#34825_io_output(local_#5932_L_IN : { base : int, offset : int }) returns (local_#8090 : int) modifies _memory, _memory_ptr, _valid; { var local_#5932_L : { base : int, offset : int }; var local_#22624 : { base : int, offset : int }; var local_#22625 : { base : int, offset : int }; var local_#22626 : { base : int, offset : int }; var local_#22627 : { base : int, offset : int }; var local_#22628 : int; local_#5932_L := local_#5932_L_IN; goto CFG_36813; CFG_36813: assume true; goto CFG_43718; CFG_43718: assume true; assume _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 0 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 1 }] == 73 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 2 }] == 79 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 3 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 4 }] == 111 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 5 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 6 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 7 }] == 112 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 8 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 9 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 10 }] == 0; local_#22624 := strlit_#70402; local_#22625 := { base : local_#22624!base, offset : local_#22624!offset + 0 * 1 }; assert { :LIR "63373" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70635!base, offset : strlit_#70635!offset + 0 }] == 119 && _memory[{ base : strlit_#70635!base, offset : strlit_#70635!offset + 1 }] == 0; local_#22626 := strlit_#70635; local_#22627 := { base : local_#22626!base, offset : local_#22626!offset + 0 * 1 }; assert { :LIR "63374" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47478; CFG_47478: assume true; call local_#22628 := routine_#34770_g_iofile(local_#5932_L,local_#22625,local_#22627); goto CFG_38661; CFG_38661: assume true; local_#8090 := local_#22628; goto CFG_37724; CFG_37724: assume true; } procedure routine_#34826_io_pclose(local_#5933_L_IN : { base : int, offset : int }) returns (local_#8091 : int) modifies _memory, _memory_ptr, _valid; { var local_#5933_L : { base : int, offset : int }; var local_#22629 : int; var local_#22630 : { base : int, offset : int }; var local_#22631 : { base : int, offset : int }; var local_#22632 : { base : int, offset : int }; var local_#22633 : { base : int, offset : int }; var local_#32394_p : { base : int, offset : int }; var local_#22634 : { base : int, offset : int }; var local_#22635 : int; var local_#22636 : int; local_#5933_L := local_#5933_L_IN; goto CFG_36814; CFG_36814: assume true; goto CFG_43719; CFG_43719: assume true; local_#22629 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#22630 := strlit_#70446; local_#22631 := { base : local_#22630!base, offset : local_#22630!offset + 0 * 1 }; assert { :LIR "63375" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47479; CFG_47479: assume true; call local_#22632 := routine_#33826_luaL_checkudata(local_#5933_L,local_#22629,local_#22631); goto CFG_43720; CFG_43720: assume true; local_#22633 := local_#22632; assert { :LIR "61649" } { :check "overflow" } { :finding_ids "0" } true; local_#32394_p := local_#22633; local_#22634 := _memory_ptr[{ base : local_#32394_p!base, offset : local_#32394_p!offset + 0 }]; goto CFG_47480; CFG_47480: assume true; call local_#22635 := routine_#34054_pclose(local_#22634); goto CFG_47481; CFG_47481: assume true; call local_#22636 := routine_#33829_luaL_execresult(local_#5933_L,local_#22635); goto CFG_38662; CFG_38662: assume true; local_#8091 := local_#22636; goto CFG_37725; CFG_37725: assume true; } procedure routine_#34827_io_popen(local_#5934_L_IN : { base : int, offset : int }) returns (local_#8092 : int) modifies _memory, _memory_ptr, _valid; { var local_#5934_L : { base : int, offset : int }; var local_#22637 : int; var local_#22638 : { base : int, offset : int }; var local_#22639 : { base : int, offset : int }; var local_#32395_filename : { base : int, offset : int }; var local_#22640 : int; var local_#22641 : { base : int, offset : int }; var local_#22642 : { base : int, offset : int }; var local_#22643 : { base : int, offset : int }; var local_#22644 : { base : int, offset : int }; var local_#32396_mode : { base : int, offset : int }; var local_#22645 : { base : int, offset : int }; var local_#32397_p : { base : int, offset : int }; var local_#22646 : { base : int, offset : int }; var local_#22647 : int; var local_#22648 : { base : int, offset : int }; var local_#22649 : { base : int, offset : int }; var local_#22650 : int; var local_#30781 : int; var local_#22651 : int; var local_#22652 : int; local_#5934_L := local_#5934_L_IN; goto CFG_36815; CFG_36815: assume true; goto CFG_43721; CFG_43721: assume true; local_#22637 := 1; local_#22638 := { base : 0, offset : 0 }; goto CFG_47482; CFG_47482: assume true; call local_#22639 := routine_#33821_luaL_checklstring(local_#5934_L,local_#22637,local_#22638); goto CFG_43722; CFG_43722: assume true; local_#32395_filename := local_#22639; local_#22640 := 2; assume _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 0 }] == 114 && _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 1 }] == 0; local_#22641 := strlit_#70323; local_#22642 := { base : local_#22641!base, offset : local_#22641!offset + 0 * 1 }; assert { :LIR "63376" } { :check "overflow" } { :finding_ids "0" } true; local_#22643 := { base : 0, offset : 0 }; goto CFG_47483; CFG_47483: assume true; call local_#22644 := routine_#33842_luaL_optlstring(local_#5934_L,local_#22640,local_#22642,local_#22643); goto CFG_43723; CFG_43723: assume true; local_#32396_mode := local_#22644; goto CFG_47484; CFG_47484: assume true; call local_#22645 := routine_#34961_newprefile(local_#5934_L); goto CFG_43724; CFG_43724: assume true; local_#32397_p := local_#22645; local_#22646 := { base : 0, offset : 0 }; goto CFG_47485; CFG_47485: assume true; call local_#22647 := routine_#33556_fflush(local_#22646); goto CFG_47486; CFG_47486: assume true; call local_#22648 := routine_#34057_popen(local_#32395_filename,local_#32396_mode); goto CFG_50606; CFG_50606: assume true; _memory_ptr[{ base : local_#32397_p!base, offset : local_#32397_p!offset + 0 }] := local_#22648; _memory_ptr[{ base : local_#32397_p!base, offset : local_#32397_p!offset + 8 }] := fun_addr_#34826_io_pclose; local_#22649 := { base : 0, offset : 0 }; local_#22650 := (if _memory_ptr[{ base : local_#32397_p!base, offset : local_#32397_p!offset + 0 }] == local_#22649 then 1 else 0); if (local_#22650 != 0) { goto CFG_43725; } else { goto CFG_40942; } CFG_40942: assume true; local_#30781 := 1; goto CFG_38663; CFG_43725: assume true; local_#22651 := 0; goto CFG_47487; CFG_47487: assume true; call local_#22652 := routine_#33830_luaL_fileresult(local_#5934_L,local_#22651,local_#32395_filename); goto CFG_40943; CFG_40943: assume true; local_#30781 := local_#22652; goto CFG_38663; CFG_38663: assume true; local_#8092 := local_#30781; goto CFG_37726; CFG_37726: assume true; } procedure routine_#34828_io_read(local_#5935_L_IN : { base : int, offset : int }) returns (local_#8093 : int) modifies _memory, _memory_ptr, _valid; { var local_#5935_L : { base : int, offset : int }; var local_#22653 : { base : int, offset : int }; var local_#22654 : { base : int, offset : int }; var local_#22655 : { base : int, offset : int }; var local_#22656 : int; var local_#22657 : int; local_#5935_L := local_#5935_L_IN; goto CFG_36816; CFG_36816: assume true; goto CFG_43726; CFG_43726: assume true; assume _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 0 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 1 }] == 73 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 2 }] == 79 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 3 }] == 95 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 4 }] == 105 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 5 }] == 110 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 6 }] == 112 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 7 }] == 117 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 8 }] == 116 && _memory[{ base : strlit_#70400!base, offset : strlit_#70400!offset + 9 }] == 0; local_#22653 := strlit_#70400; local_#22654 := { base : local_#22653!base, offset : local_#22653!offset + 0 * 1 }; assert { :LIR "63377" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47488; CFG_47488: assume true; call local_#22655 := routine_#34789_getiofile(local_#5935_L,local_#22654); goto CFG_43727; CFG_43727: assume true; local_#22656 := 1; goto CFG_47489; CFG_47489: assume true; call local_#22657 := routine_#34771_g_read(local_#5935_L,local_#22655,local_#22656); goto CFG_38664; CFG_38664: assume true; local_#8093 := local_#22657; goto CFG_37727; CFG_37727: assume true; } procedure routine_#34829_io_readline(local_#5936_L_IN : { base : int, offset : int }) returns (local_#8094 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#5936_L : { base : int, offset : int }; var local_#22658 : int; var local_#22659 : { base : int, offset : int }; var local_#22660 : { base : int, offset : int }; var local_#32400_p : { base : int, offset : int }; var local_#22661 : int; var local_#22662 : { base : int, offset : int }; var local_#22663 : int; var local_#22664 : int; var local_#32399_n : int; var local_#22665 : { base : int, offset : int }; var local_#22666 : int; var local_#22667 : int; var local_#22668 : { base : int, offset : int }; var local_#22669 : { base : int, offset : int }; var local_#32398_i : int; var local_#22670 : int; var local_#22671 : { base : int, offset : int }; var local_#22672 : int; var local_#22673 : int; var local_#22674 : int; var local_#22675 : int; var local_#22676 : int; var local_#22677 : int; var local_#22678 : int; var local_#22679 : int; var local_#22680 : int; var local_#22681 : int; var local_#22682 : int; var local_#22683 : int; var local_#22684 : int; var local_#22685 : int; var local_#22686 : int; var local_#22687 : { base : int, offset : int }; var local_#22688 : { base : int, offset : int }; var local_#22689 : int; var local_#22690 : int; var local_#22691 : int; var local_#22692 : { base : int, offset : int }; var local_#22693 : { base : int, offset : int }; var local_#22694 : int; var local_#22695 : int; var local_#22696 : int; var local_#22697 : int; var local_#22698 : int; var local_#22699 : int; var local_#22700 : int; var local_#22701 : int; var local_#22702 : { base : int, offset : int }; var local_#22703 : { base : int, offset : int }; var local_#22704 : int; local_#5936_L := local_#5936_L_IN; goto CFG_36817; CFG_36817: assume true; goto CFG_43728; CFG_43728: assume true; local_#22658 := -1001001; goto CFG_47490; CFG_47490: assume true; call local_#22659 := routine_#33999_lua_touserdata(local_#5936_L,local_#22658); goto CFG_43729; CFG_43729: assume true; local_#22660 := local_#22659; assert { :LIR "61650" } { :check "overflow" } { :finding_ids "0" } true; local_#32400_p := local_#22660; local_#22661 := -1001002; local_#22662 := { base : 0, offset : 0 }; goto CFG_47491; CFG_47491: assume true; call local_#22663 := routine_#33994_lua_tointegerx(local_#5936_L,local_#22661,local_#22662); goto CFG_50607; CFG_50607: assume true; local_#22664 := local_#22663; assert { :LIR "61651" } { :check "overflow" } { :finding_ids "0" } local_#22664 <= 2147483647; local_#32399_n := local_#22664; local_#22665 := { base : 0, offset : 0 }; local_#22666 := (if _memory_ptr[{ base : local_#32400_p!base, offset : local_#32400_p!offset + 8 }] == local_#22665 then 1 else 0); if (local_#22666 != 0) { goto CFG_43739; } else { goto CFG_43730; } CFG_43730: assume true; local_#22667 := 1; goto CFG_47492; CFG_47492: assume true; call routine_#33987_lua_settop(local_#5936_L,local_#22667); goto CFG_43731; CFG_43731: assume true; assume _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 0 }] == 116 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 1 }] == 111 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 2 }] == 111 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 3 }] == 32 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 4 }] == 109 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 5 }] == 97 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 6 }] == 110 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 7 }] == 121 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 8 }] == 32 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 9 }] == 97 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 10 }] == 114 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 11 }] == 103 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 12 }] == 117 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 13 }] == 109 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 14 }] == 101 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 15 }] == 110 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 16 }] == 116 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 17 }] == 115 && _memory[{ base : strlit_#70447!base, offset : strlit_#70447!offset + 18 }] == 0; local_#22668 := strlit_#70447; local_#22669 := { base : local_#22668!base, offset : local_#22668!offset + 0 * 1 }; assert { :LIR "63378" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47493; CFG_47493: assume true; call routine_#33824_luaL_checkstack(local_#5936_L,local_#32399_n,local_#22669); goto CFG_41761; CFG_41761: assume true; local_#32398_i := 1; goto CFG_50608; CFG_50608: assume true; local_#22670 := (if local_#32398_i <= local_#32399_n then 1 else 0); if (local_#22670 != 0) { goto CFG_43738; } else { goto CFG_43732; } CFG_43732: assume true; local_#22671 := _memory_ptr[{ base : local_#32400_p!base, offset : local_#32400_p!offset + 0 }]; local_#22672 := 2; goto CFG_47494; CFG_47494: assume true; call local_#22673 := routine_#34771_g_read(local_#5936_L,local_#22671,local_#22672); goto CFG_43733; CFG_43733: assume true; local_#32399_n := local_#22673; local_#22674 := 0; local_#22675 := 0; assert { :LIR "61652" } { :check "overflow" } { :finding_ids "0" } true; local_#22676 := -local_#32399_n; assert { :LIR "64664" } { :check "overflow" } { :finding_ids "0" } local_#22676 <= 2147483647; goto CFG_47495; CFG_47495: assume true; call local_#22677 := routine_#33992_lua_toboolean(local_#5936_L,local_#22676); goto CFG_50609; CFG_50609: assume true; local_#22678 := local_#22677; if (local_#22678 != 0) { goto CFG_38667; } else { goto CFG_50610; } CFG_50610: assume true; local_#22679 := 1; local_#22680 := (if local_#32399_n > local_#22679 then 1 else 0); if (local_#22680 != 0) { goto CFG_43737; } else { goto CFG_43734; } CFG_43734: assume true; local_#22681 := -1001003; goto CFG_47496; CFG_47496: assume true; call local_#22682 := routine_#33992_lua_toboolean(local_#5936_L,local_#22681); goto CFG_50611; CFG_50611: assume true; local_#22683 := local_#22682; if (local_#22683 != 0) { goto CFG_43735; } else { goto CFG_38665; } CFG_43735: assume true; local_#22684 := 0; goto CFG_47497; CFG_47497: assume true; call routine_#33987_lua_settop(local_#5936_L,local_#22684); goto CFG_43736; CFG_43736: assume true; local_#22685 := -1001001; goto CFG_47498; CFG_47498: assume true; call routine_#33967_lua_pushvalue(local_#5936_L,local_#22685); goto CFG_47499; CFG_47499: assume true; call local_#22686 := routine_#34586_aux_close(local_#5936_L); goto CFG_40944; CFG_40944: assume true; goto CFG_38665; CFG_38665: assume true; local_#8094 := 0; goto CFG_37728; CFG_43737: assume true; assume _memory[{ base : strlit_#70503!base, offset : strlit_#70503!offset + 0 }] == 37 && _memory[{ base : strlit_#70503!base, offset : strlit_#70503!offset + 1 }] == 115 && _memory[{ base : strlit_#70503!base, offset : strlit_#70503!offset + 2 }] == 0; local_#22687 := strlit_#70503; local_#22688 := { base : local_#22687!base, offset : local_#22687!offset + 0 * 1 }; assert { :LIR "63379" } { :check "overflow" } { :finding_ids "0" } true; local_#22689 := -local_#32399_n; assert { :LIR "64665" } { :check "overflow" } { :finding_ids "0" } local_#22689 <= 2147483647; local_#22690 := 1; local_#22691 := local_#22689 + local_#22690; assert { :LIR "66672" } { :check "overflow" } { :finding_ids "0" } local_#22691 <= 2147483647; local_#22692 := { base : 0, offset : 0 }; goto CFG_47500; CFG_47500: assume true; call local_#22693 := routine_#33995_lua_tolstring(local_#5936_L,local_#22691,local_#22692); goto CFG_47501; CFG_47501: assume true; call local_#22694 := routine_#33828_luaL_error(local_#5936_L,local_#22688,{ base : 0, offset : 0 }); goto CFG_38666; CFG_38666: assume true; local_#8094 := local_#22694; goto CFG_37728; CFG_38667: assume true; local_#8094 := local_#32399_n; goto CFG_37728; CFG_43738: assume true; local_#22695 := -1001000; local_#22696 := 3; local_#22697 := local_#22696 + local_#32398_i; assert { :LIR "66673" } { :check "overflow" } { :finding_ids "0" } local_#22697 <= 2147483647; local_#22698 := local_#22695 - local_#22697; assert { :LIR "68069" } { :check "overflow" } { :finding_ids "0" } local_#22698 <= 2147483647; goto CFG_47502; CFG_47502: assume true; call routine_#33967_lua_pushvalue(local_#5936_L,local_#22698); goto CFG_45102; CFG_45102: assume true; local_#22699 := local_#32398_i; local_#22700 := 1; local_#32398_i := local_#22699 + local_#22700; assert { :LIR "66674" } { :check "overflow" } { :finding_ids "0" } local_#32398_i <= 2147483647; local_#22701 := local_#22699; goto CFG_50608; CFG_43739: assume true; assume _memory[{ base : strlit_#70641!base, offset : strlit_#70641!offset + 22 }] == 0; local_#22702 := strlit_#70641; local_#22703 := { base : local_#22702!base, offset : local_#22702!offset + 0 * 1 }; assert { :LIR "63380" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47503; CFG_47503: assume true; call local_#22704 := routine_#33828_luaL_error(local_#5936_L,local_#22703,{ base : 0, offset : 0 }); goto CFG_38668; CFG_38668: assume true; local_#8094 := local_#22704; goto CFG_37728; CFG_37728: assume true; } procedure routine_#34830_io_tmpfile(local_#5937_L_IN : { base : int, offset : int }) returns (local_#8095 : int) modifies _memory, _memory_ptr, _valid; { var local_#5937_L : { base : int, offset : int }; var local_#22705 : { base : int, offset : int }; var local_#32401_p : { base : int, offset : int }; var local_#22706 : { base : int, offset : int }; var local_#22707 : { base : int, offset : int }; var local_#22708 : int; var local_#30782 : int; var local_#22709 : int; var local_#22710 : { base : int, offset : int }; var local_#22711 : int; local_#5937_L := local_#5937_L_IN; goto CFG_36818; CFG_36818: assume true; goto CFG_47504; CFG_47504: assume true; call local_#22705 := routine_#34959_newfile(local_#5937_L); goto CFG_43740; CFG_43740: assume true; local_#32401_p := local_#22705; goto CFG_47505; CFG_47505: assume true; call local_#22706 := routine_#34500_tmpfile(); goto CFG_50612; CFG_50612: assume true; _memory_ptr[{ base : local_#32401_p!base, offset : local_#32401_p!offset + 0 }] := local_#22706; local_#22707 := { base : 0, offset : 0 }; local_#22708 := (if _memory_ptr[{ base : local_#32401_p!base, offset : local_#32401_p!offset + 0 }] == local_#22707 then 1 else 0); if (local_#22708 != 0) { goto CFG_43741; } else { goto CFG_40945; } CFG_40945: assume true; local_#30782 := 1; goto CFG_38669; CFG_43741: assume true; local_#22709 := 0; local_#22710 := { base : 0, offset : 0 }; goto CFG_47506; CFG_47506: assume true; call local_#22711 := routine_#33830_luaL_fileresult(local_#5937_L,local_#22709,local_#22710); goto CFG_40946; CFG_40946: assume true; local_#30782 := local_#22711; goto CFG_38669; CFG_38669: assume true; local_#8095 := local_#30782; goto CFG_37729; CFG_37729: assume true; } procedure routine_#34831_io_type(local_#5938_L_IN : { base : int, offset : int }) returns (local_#8096 : int) modifies _memory, _memory_ptr, _valid; { var local_#5938_L : { base : int, offset : int }; var local_#22712 : int; var local_#22713 : int; var local_#22714 : { base : int, offset : int }; var local_#22715 : { base : int, offset : int }; var local_#22716 : { base : int, offset : int }; var local_#22717 : { base : int, offset : int }; var local_#32402_p : { base : int, offset : int }; var local_#22718 : { base : int, offset : int }; var local_#22719 : int; var local_#22720 : { base : int, offset : int }; var local_#22721 : int; var local_#22722 : { base : int, offset : int }; var local_#22723 : { base : int, offset : int }; var local_#22724 : { base : int, offset : int }; var local_#22725 : { base : int, offset : int }; var local_#22726 : { base : int, offset : int }; var local_#22727 : { base : int, offset : int }; local_#5938_L := local_#5938_L_IN; goto CFG_36819; CFG_36819: assume true; goto CFG_43742; CFG_43742: assume true; local_#22712 := 1; goto CFG_47507; CFG_47507: assume true; call routine_#33819_luaL_checkany(local_#5938_L,local_#22712); goto CFG_43743; CFG_43743: assume true; local_#22713 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#22714 := strlit_#70446; local_#22715 := { base : local_#22714!base, offset : local_#22714!offset + 0 * 1 }; assert { :LIR "63381" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47508; CFG_47508: assume true; call local_#22716 := routine_#33851_luaL_testudata(local_#5938_L,local_#22713,local_#22715); goto CFG_50613; CFG_50613: assume true; local_#22717 := local_#22716; assert { :LIR "61653" } { :check "overflow" } { :finding_ids "0" } true; local_#32402_p := local_#22717; local_#22718 := { base : 0, offset : 0 }; local_#22719 := (if local_#32402_p == local_#22718 then 1 else 0); if (local_#22719 != 0) { goto CFG_47511; } else { goto CFG_50614; } CFG_50614: assume true; local_#22720 := { base : 0, offset : 0 }; local_#22721 := (if _memory_ptr[{ base : local_#32402_p!base, offset : local_#32402_p!offset + 8 }] == local_#22720 then 1 else 0); if (local_#22721 != 0) { goto CFG_43745; } else { goto CFG_43744; } CFG_43744: assume true; assume _memory[{ base : strlit_#70643!base, offset : strlit_#70643!offset + 0 }] == 102 && _memory[{ base : strlit_#70643!base, offset : strlit_#70643!offset + 1 }] == 105 && _memory[{ base : strlit_#70643!base, offset : strlit_#70643!offset + 2 }] == 108 && _memory[{ base : strlit_#70643!base, offset : strlit_#70643!offset + 3 }] == 101 && _memory[{ base : strlit_#70643!base, offset : strlit_#70643!offset + 4 }] == 0; local_#22722 := strlit_#70643; local_#22723 := { base : local_#22722!base, offset : local_#22722!offset + 0 * 1 }; assert { :LIR "63382" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47509; CFG_47509: assume true; call local_#22724 := routine_#33965_lua_pushstring(local_#5938_L,local_#22723); goto CFG_40947; CFG_40947: assume true; goto CFG_40949; CFG_43745: assume true; assume _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 0 }] == 99 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 1 }] == 108 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 2 }] == 111 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 3 }] == 115 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 4 }] == 101 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 5 }] == 100 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 6 }] == 32 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 7 }] == 102 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 8 }] == 105 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 9 }] == 108 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 10 }] == 101 && _memory[{ base : strlit_#70644!base, offset : strlit_#70644!offset + 11 }] == 0; local_#22725 := strlit_#70644; local_#22726 := { base : local_#22725!base, offset : local_#22725!offset + 0 * 1 }; assert { :LIR "63383" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47510; CFG_47510: assume true; call local_#22727 := routine_#33965_lua_pushstring(local_#5938_L,local_#22726); goto CFG_40948; CFG_40948: assume true; goto CFG_40949; CFG_40949: assume true; goto CFG_38670; CFG_47511: assume true; call routine_#33963_lua_pushnil(local_#5938_L); goto CFG_40950; CFG_40950: assume true; goto CFG_38670; CFG_38670: assume true; local_#8096 := 1; goto CFG_37730; CFG_37730: assume true; } procedure routine_#34832_io_write(local_#5939_L_IN : { base : int, offset : int }) returns (local_#8097 : int) modifies _memory, _memory_ptr, _valid; { var local_#5939_L : { base : int, offset : int }; var local_#22728 : { base : int, offset : int }; var local_#22729 : { base : int, offset : int }; var local_#22730 : { base : int, offset : int }; var local_#22731 : int; var local_#22732 : int; local_#5939_L := local_#5939_L_IN; goto CFG_36820; CFG_36820: assume true; goto CFG_43746; CFG_43746: assume true; assume _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 0 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 1 }] == 73 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 2 }] == 79 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 3 }] == 95 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 4 }] == 111 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 5 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 6 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 7 }] == 112 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 8 }] == 117 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 9 }] == 116 && _memory[{ base : strlit_#70402!base, offset : strlit_#70402!offset + 10 }] == 0; local_#22728 := strlit_#70402; local_#22729 := { base : local_#22728!base, offset : local_#22728!offset + 0 * 1 }; assert { :LIR "63384" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47512; CFG_47512: assume true; call local_#22730 := routine_#34789_getiofile(local_#5939_L,local_#22729); goto CFG_43747; CFG_43747: assume true; local_#22731 := 1; goto CFG_47513; CFG_47513: assume true; call local_#22732 := routine_#34772_g_write(local_#5939_L,local_#22730,local_#22731); goto CFG_38671; CFG_38671: assume true; local_#8097 := local_#22732; goto CFG_37731; CFG_37731: assume true; } procedure routine_#34833_ipairsaux(local_#5940_L_IN : { base : int, offset : int }) returns (local_#8098 : int) modifies _memory, _memory_ptr, _valid; { var local_#5940_L : { base : int, offset : int }; var local_#22733 : int; var local_#22734 : int; var local_#22735 : int; var local_#22736 : int; var local_#32403_i : int; var local_#22737 : int; var local_#22738 : int; var local_#22739 : int; var local_#22740 : int; var local_#30783 : int; local_#5940_L := local_#5940_L_IN; goto CFG_36821; CFG_36821: assume true; goto CFG_43748; CFG_43748: assume true; local_#22733 := 2; goto CFG_47514; CFG_47514: assume true; call local_#22734 := routine_#33820_luaL_checkinteger(local_#5940_L,local_#22733); goto CFG_43749; CFG_43749: assume true; local_#22735 := 1; local_#22736 := local_#22734 + local_#22735; assert { :LIR "66675" } { :check "overflow" } { :finding_ids "0" } local_#22736 <= 9223372036854775807; local_#32403_i := local_#22736; goto CFG_47515; CFG_47515: assume true; call routine_#33960_lua_pushinteger(local_#5940_L,local_#32403_i); goto CFG_43750; CFG_43750: assume true; local_#22737 := 1; goto CFG_47516; CFG_47516: assume true; call local_#22738 := routine_#33935_lua_geti(local_#5940_L,local_#22737,local_#32403_i); goto CFG_50615; CFG_50615: assume true; local_#22739 := 0; local_#22740 := (if local_#22738 == local_#22739 then 1 else 0); if (local_#22740 != 0) { goto CFG_40952; } else { goto CFG_40951; } CFG_40951: assume true; local_#30783 := 2; goto CFG_38672; CFG_40952: assume true; local_#30783 := 1; goto CFG_38672; CFG_38672: assume true; local_#8098 := local_#30783; goto CFG_37732; CFG_37732: assume true; } procedure routine_#34834_iscleared(local_#5941_g_IN : { base : int, offset : int }, local_#5942_o_IN : { base : int, offset : int }) returns (local_#8099 : int) modifies _memory, _memory_ptr; { var local_#5941_g : { base : int, offset : int }; var local_#5942_o : { base : int, offset : int }; var local_#22741 : int; var local_#22742 : int; var local_#22743 : int; var local_#22744 : int; var local_#22745 : int; var local_#22746 : int; var local_#22747 : int; var local_#22748 : { base : int, offset : int }; var local_#22749 : { base : int, offset : int }; var local_#22750 : int; var local_#22751 : int; var local_#22752 : int; var local_#22753 : { base : int, offset : int }; var local_#22754 : { base : int, offset : int }; var local_#22755 : { base : int, offset : int }; var local_#22756 : int; var local_#22757 : int; var local_#22758 : int; var local_#22759 : { base : int, offset : int }; var local_#22760 : { base : int, offset : int }; var local_#22761 : { base : int, offset : int }; var local_#22762 : { base : int, offset : int }; var local_#22763 : { base : int, offset : int }; local_#5941_g := local_#5941_g_IN; local_#5942_o := local_#5942_o_IN; goto CFG_36822; CFG_36822: assume true; goto CFG_50616; CFG_50616: assume true; local_#22741 := 64; local_#22742 := ~sand32(_memory[{ base : local_#5942_o!base, offset : local_#5942_o!offset + 8 }], local_#22741); local_#22743 := (if local_#22742 != 0 then 0 else 1); if (local_#22743 != 0) { goto CFG_38675; } else { goto CFG_50617; } CFG_50617: assume true; local_#22744 := 15; local_#22745 := ~sand32(_memory[{ base : local_#5942_o!base, offset : local_#5942_o!offset + 8 }], local_#22744); local_#22746 := 4; local_#22747 := (if local_#22745 == local_#22746 then 1 else 0); if (local_#22747 != 0) { goto CFG_50618; } else { goto CFG_38673; } CFG_38673: assume true; local_#22748 := { base : local_#5942_o!base, offset : local_#5942_o!offset + 0 }; local_#22749 := _memory_ptr[local_#22748]; local_#22750 := _memory[{ base : local_#22749!base, offset : local_#22749!offset + 9 }]; assert { :LIR "63385" } { :check "overflow" } { :finding_ids "0" } local_#22750 <= 2147483647; local_#22751 := 3; local_#22752 := ~sand32(local_#22750, local_#22751); local_#8099 := local_#22752; goto CFG_37733; CFG_50618: assume true; local_#22753 := { base : local_#5942_o!base, offset : local_#5942_o!offset + 0 }; local_#22754 := _memory_ptr[local_#22753]; assert { :LIR "61654" } { :check "overflow" } { :finding_ids "0" } true; local_#22755 := { base : local_#22754!base, offset : local_#22754!offset + 0 }; local_#22756 := _memory[{ base : local_#22755!base, offset : local_#22755!offset + 9 }]; assert { :LIR "63386" } { :check "overflow" } { :finding_ids "0" } local_#22756 <= 2147483647; local_#22757 := 3; local_#22758 := ~sand32(local_#22756, local_#22757); if (local_#22758 != 0) { goto CFG_43751; } else { goto CFG_38674; } CFG_43751: assume true; local_#22759 := { base : local_#5942_o!base, offset : local_#5942_o!offset + 0 }; local_#22760 := _memory_ptr[local_#22759]; assert { :LIR "61655" } { :check "overflow" } { :finding_ids "0" } true; local_#22761 := { base : local_#22760!base, offset : local_#22760!offset + 0 }; local_#22762 := local_#22761; assert { :LIR "61656" } { :check "overflow" } { :finding_ids "0" } true; local_#22763 := { base : local_#22762!base, offset : local_#22762!offset + 0 }; goto CFG_47517; CFG_47517: assume true; call routine_#35023_reallymarkobject(local_#5941_g,local_#22763); goto CFG_40953; CFG_40953: assume true; goto CFG_38674; CFG_38674: assume true; local_#8099 := 0; goto CFG_37733; CFG_38675: assume true; local_#8099 := 0; goto CFG_37733; CFG_37733: assume true; } procedure routine_#34835_isinstack(local_#5943_ci_IN : { base : int, offset : int }, local_#5944_o_IN : { base : int, offset : int }) returns (local_#8100 : int) { var local_#5943_ci : { base : int, offset : int }; var local_#5944_o : { base : int, offset : int }; var local_#22764 : { base : int, offset : int }; var local_#22765 : int; var local_#32404_i : int; var local_#22766 : int; var local_#22767 : int; var local_#22768 : { base : int, offset : int }; var local_#22769 : int; var local_#22770 : int; var local_#22771 : { base : int, offset : int }; var local_#22772 : { base : int, offset : int }; var local_#22773 : { base : int, offset : int }; var local_#22774 : int; var local_#30784 : int; local_#5943_ci := local_#5943_ci_IN; local_#5944_o := local_#5944_o_IN; goto CFG_36823; CFG_36823: assume true; goto CFG_50619; CFG_50619: assume true; local_#22764 := { base : local_#5943_ci!base, offset : local_#5943_ci!offset + 32 }; local_#22765 := (local_#5944_o!offset - _memory_ptr[{ base : local_#22764!base, offset : local_#22764!offset + 0 }]!offset) / 16; local_#32404_i := local_#22765; local_#22766 := 0; local_#22767 := (if local_#22766 <= local_#32404_i then 1 else 0); if (local_#22767 != 0) { goto CFG_50620; } else { goto CFG_40954; } CFG_50620: assume true; local_#22768 := { base : local_#5943_ci!base, offset : local_#5943_ci!offset + 32 }; local_#22769 := (_memory_ptr[{ base : local_#5943_ci!base, offset : local_#5943_ci!offset + 8 }]!offset - _memory_ptr[{ base : local_#22768!base, offset : local_#22768!offset + 0 }]!offset) / 16; local_#22770 := (if local_#32404_i < local_#22769 then 1 else 0); if (local_#22770 != 0) { goto CFG_50621; } else { goto CFG_40954; } CFG_50621: assume true; local_#22771 := { base : local_#5943_ci!base, offset : local_#5943_ci!offset + 32 }; local_#22772 := { base : _memory_ptr[{ base : local_#22771!base, offset : local_#22771!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#22771!base, offset : local_#22771!offset + 0 }]!offset + local_#32404_i * 16 }; local_#22773 := local_#22772; assert { :LIR "63387" } { :check "overflow" } { :finding_ids "0" } true; local_#22774 := (if local_#22773 == local_#5944_o then 1 else 0); if (local_#22774 != 0) { goto CFG_40955; } else { goto CFG_40954; } CFG_40954: assume true; local_#30784 := 0; goto CFG_38676; CFG_40955: assume true; local_#30784 := 1; goto CFG_38676; CFG_38676: assume true; local_#8100 := local_#30784; goto CFG_37734; CFG_37734: assume true; } procedure routine_#34836_isneg(local_#5945_s_IN : { base : int, offset : int }) returns (local_#8101 : int) modifies _memory_ptr; { var local_#5945_s : { base : int, offset : int }; var local_#22775 : { base : int, offset : int }; var local_#22776 : int; var local_#22777 : int; var local_#22778 : int; var local_#22779 : { base : int, offset : int }; var local_#22780 : int; var local_#22781 : int; var local_#22782 : int; var local_#22783 : { base : int, offset : int }; var local_#22784 : int; var local_#22785 : { base : int, offset : int }; var local_#22786 : { base : int, offset : int }; var local_#22787 : int; var local_#22788 : { base : int, offset : int }; local_#5945_s := local_#5945_s_IN; goto CFG_36824; CFG_36824: assume true; goto CFG_50622; CFG_50622: assume true; local_#22775 := _memory_ptr[local_#5945_s]; local_#22776 := _memory[local_#22775]; assert { :LIR "63388" } { :check "overflow" } { :finding_ids "0" } local_#22776 <= 2147483647; local_#22777 := 45; local_#22778 := (if local_#22776 == local_#22777 then 1 else 0); if (local_#22778 != 0) { goto CFG_38678; } else { goto CFG_50623; } CFG_50623: assume true; local_#22779 := _memory_ptr[local_#5945_s]; local_#22780 := _memory[local_#22779]; assert { :LIR "63389" } { :check "overflow" } { :finding_ids "0" } local_#22780 <= 2147483647; local_#22781 := 43; local_#22782 := (if local_#22780 == local_#22781 then 1 else 0); if (local_#22782 != 0) { goto CFG_40956; } else { goto CFG_40957; } CFG_40956: assume true; local_#22783 := _memory_ptr[local_#5945_s]; local_#22784 := 1; _memory_ptr[local_#5945_s] := { base : local_#22783!base, offset : local_#22783!offset + local_#22784 * 1 }; local_#22785 := local_#22783; goto CFG_40957; CFG_40957: assume true; goto CFG_38677; CFG_38677: assume true; local_#8101 := 0; goto CFG_37735; CFG_38678: assume true; local_#22786 := _memory_ptr[local_#5945_s]; local_#22787 := 1; _memory_ptr[local_#5945_s] := { base : local_#22786!base, offset : local_#22786!offset + local_#22787 * 1 }; local_#22788 := local_#22786; local_#8101 := 1; goto CFG_37735; CFG_37735: assume true; } procedure routine_#34837_iter_aux(local_#5946_L_IN : { base : int, offset : int }) returns (local_#8102 : int) modifies _memory, _memory_ptr, _valid; { var local_#5946_L : { base : int, offset : int }; var local_#22789 : int; var local_#32405_len : { base : int, offset : int }; var local_#22790 : { base : int, offset : int }; var local_#22791 : { base : int, offset : int }; var local_#32407_s : { base : int, offset : int }; var local_#22792 : int; var local_#22793 : { base : int, offset : int }; var local_#22794 : int; var local_#22795 : int; var local_#22796 : int; var local_#32406_n : int; var local_#22797 : int; var local_#22798 : int; var local_#22799 : int; var local_#22800 : int; var local_#22801 : int; var local_#22802 : int; var local_#22803 : int; var local_#22804 : { base : int, offset : int }; var local_#22805 : int; var local_#22806 : int; var local_#22807 : int; var local_#22808 : int; var local_#22809 : int; var local_#22810 : int; var local_#22811 : int; var local_#22812 : int; var local_#22813 : int; var local_#22814 : int; var local_#22815 : { base : int, offset : int }; var local_#32408_code : { base : int, offset : int }; var local_#22816 : { base : int, offset : int }; var local_#22817 : { base : int, offset : int }; var local_#32409_next : { base : int, offset : int }; var local_#22818 : { base : int, offset : int }; var local_#22819 : int; var local_#22820 : int; var local_#22821 : int; var local_#22822 : int; var local_#22823 : int; var local_#22824 : int; var local_#22825 : int; var local_#22826 : int; var local_#22827 : int; var local_#22828 : { base : int, offset : int }; var local_#22829 : { base : int, offset : int }; var local_#22830 : int; local_#5946_L := local_#5946_L_IN; goto CFG_36825; CFG_36825: assume true; goto CFG_43752; CFG_43752: assume true; local_#22789 := 1; local_#22790 := local_#32405_len; goto CFG_47518; CFG_47518: assume true; call local_#22791 := routine_#33821_luaL_checklstring(local_#5946_L,local_#22789,local_#22790); goto CFG_43753; CFG_43753: assume true; local_#32407_s := local_#22791; local_#22792 := 2; local_#22793 := { base : 0, offset : 0 }; goto CFG_47519; CFG_47519: assume true; call local_#22794 := routine_#33994_lua_tointegerx(local_#5946_L,local_#22792,local_#22793); goto CFG_50624; CFG_50624: assume true; local_#22795 := 1; local_#22796 := local_#22794 - local_#22795; assert { :LIR "68070" } { :check "overflow" } { :finding_ids "0" } local_#22796 <= 9223372036854775807; local_#32406_n := local_#22796; local_#22797 := 0; local_#22798 := (if local_#32406_n < local_#22797 then 1 else 0); if (local_#22798 != 0) { goto CFG_40960; } else { goto CFG_50625; } CFG_50625: assume true; local_#22799 := _memory[local_#32405_len]; assert { :LIR "61657" } { :check "overflow" } { :finding_ids "0" } local_#22799 <= 9223372036854775807; local_#22800 := (if local_#32406_n < local_#22799 then 1 else 0); if (local_#22800 != 0) { goto CFG_41762; } else { goto CFG_40959; } CFG_41762: assume true; local_#22801 := local_#32406_n; local_#22802 := 1; local_#32406_n := local_#22801 + local_#22802; assert { :LIR "66676" } { :check "overflow" } { :finding_ids "0" } local_#32406_n <= 9223372036854775807; local_#22803 := local_#22801; goto CFG_50626; CFG_50626: assume true; local_#22804 := { base : local_#32407_s!base, offset : local_#32407_s!offset + local_#32406_n * 1 }; local_#22805 := _memory[local_#22804]; assert { :LIR "63390" } { :check "overflow" } { :finding_ids "0" } local_#22805 <= 2147483647; local_#22806 := 192; local_#22807 := ~sand32(local_#22805, local_#22806); local_#22808 := 128; local_#22809 := (if local_#22807 == local_#22808 then 1 else 0); if (local_#22809 != 0) { goto CFG_45103; } else { goto CFG_40958; } CFG_40958: assume true; goto CFG_40959; CFG_40959: assume true; goto CFG_50627; CFG_45103: assume true; local_#22810 := local_#32406_n; local_#22811 := 1; local_#32406_n := local_#22810 + local_#22811; assert { :LIR "66677" } { :check "overflow" } { :finding_ids "0" } local_#32406_n <= 9223372036854775807; local_#22812 := local_#22810; goto CFG_50626; CFG_40960: assume true; local_#32406_n := 0; goto CFG_50627; CFG_50627: assume true; local_#22813 := _memory[local_#32405_len]; assert { :LIR "61658" } { :check "overflow" } { :finding_ids "0" } local_#22813 <= 9223372036854775807; local_#22814 := (if local_#32406_n >= local_#22813 then 1 else 0); if (local_#22814 != 0) { goto CFG_38681; } else { goto CFG_43754; } CFG_43754: assume true; local_#22815 := { base : local_#32407_s!base, offset : local_#32407_s!offset + local_#32406_n * 1 }; local_#22816 := local_#32408_code; goto CFG_47520; CFG_47520: assume true; call local_#22817 := routine_#35139_utf8_decode(local_#22815,local_#22816); goto CFG_50628; CFG_50628: assume true; local_#32409_next := local_#22817; local_#22818 := { base : 0, offset : 0 }; local_#22819 := (if local_#32409_next == local_#22818 then 1 else 0); if (local_#22819 != 0) { goto CFG_43757; } else { goto CFG_50629; } CFG_50629: assume true; local_#22820 := _memory[local_#32409_next]; assert { :LIR "63391" } { :check "overflow" } { :finding_ids "0" } local_#22820 <= 2147483647; local_#22821 := 192; local_#22822 := ~sand32(local_#22820, local_#22821); local_#22823 := 128; local_#22824 := (if local_#22822 == local_#22823 then 1 else 0); if (local_#22824 != 0) { goto CFG_43757; } else { goto CFG_43755; } CFG_43755: assume true; local_#22825 := 1; local_#22826 := local_#32406_n + local_#22825; assert { :LIR "66678" } { :check "overflow" } { :finding_ids "0" } local_#22826 <= 9223372036854775807; goto CFG_47521; CFG_47521: assume true; call routine_#33960_lua_pushinteger(local_#5946_L,local_#22826); goto CFG_43756; CFG_43756: assume true; local_#22827 := _memory[local_#32408_code]; assert { :LIR "63392" } { :check "overflow" } { :finding_ids "0" } local_#22827 <= 9223372036854775807; goto CFG_47522; CFG_47522: assume true; call routine_#33960_lua_pushinteger(local_#5946_L,local_#22827); goto CFG_38679; CFG_38679: assume true; local_#8102 := 2; goto CFG_37736; CFG_43757: assume true; assume _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 0 }] == 105 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 1 }] == 110 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 2 }] == 118 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 3 }] == 97 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 4 }] == 108 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 5 }] == 105 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 6 }] == 100 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 7 }] == 32 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 8 }] == 85 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 9 }] == 84 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 10 }] == 70 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 11 }] == 45 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 12 }] == 56 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 13 }] == 32 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 14 }] == 99 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 15 }] == 111 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 16 }] == 100 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 17 }] == 101 && _memory[{ base : strlit_#70494!base, offset : strlit_#70494!offset + 18 }] == 0; local_#22828 := strlit_#70494; local_#22829 := { base : local_#22828!base, offset : local_#22828!offset + 0 * 1 }; assert { :LIR "63393" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47523; CFG_47523: assume true; call local_#22830 := routine_#33828_luaL_error(local_#5946_L,local_#22829,{ base : 0, offset : 0 }); goto CFG_38680; CFG_38680: assume true; local_#8102 := local_#22830; goto CFG_37736; CFG_38681: assume true; local_#8102 := 0; goto CFG_37736; CFG_37736: assume true; } procedure routine_#34838_iter_codes(local_#5947_L_IN : { base : int, offset : int }) returns (local_#8103 : int) modifies _memory, _memory_ptr, _valid; { var local_#5947_L : { base : int, offset : int }; var local_#22831 : int; var local_#22832 : { base : int, offset : int }; var local_#22833 : { base : int, offset : int }; var local_#22834 : { base : int, offset : int }; var local_#22835 : int; var local_#22836 : int; var local_#22837 : int; local_#5947_L := local_#5947_L_IN; goto CFG_36826; CFG_36826: assume true; goto CFG_43758; CFG_43758: assume true; local_#22831 := 1; local_#22832 := { base : 0, offset : 0 }; goto CFG_47524; CFG_47524: assume true; call local_#22833 := routine_#33821_luaL_checklstring(local_#5947_L,local_#22831,local_#22832); goto CFG_43759; CFG_43759: assume true; local_#22834 := fun_addr_#34837_iter_aux; local_#22835 := 0; goto CFG_47525; CFG_47525: assume true; call routine_#33958_lua_pushcclosure(local_#5947_L,local_#22834,local_#22835); goto CFG_43760; CFG_43760: assume true; local_#22836 := 1; goto CFG_47526; CFG_47526: assume true; call routine_#33967_lua_pushvalue(local_#5947_L,local_#22836); goto CFG_43761; CFG_43761: assume true; local_#22837 := 0; goto CFG_47527; CFG_47527: assume true; call routine_#33960_lua_pushinteger(local_#5947_L,local_#22837); goto CFG_38682; CFG_38682: assume true; local_#8103 := 3; goto CFG_37737; CFG_37737: assume true; } procedure routine_#34839_jumponcond(local_#5948_fs_IN : { base : int, offset : int }, local_#5949_e_IN : { base : int, offset : int }, local_#5950_cond_IN : int) returns (local_#8104 : int) modifies _memory, _memory_ptr, _valid; { var local_#5948_fs : { base : int, offset : int }; var local_#5949_e : { base : int, offset : int }; var local_#5950_cond : int; var local_#22838 : int; var local_#22839 : int; var local_#22840 : int; var local_#22841 : { base : int, offset : int }; var local_#22842 : { base : int, offset : int }; var local_#22843 : { base : int, offset : int }; var local_#32410_ie : int; var local_#22844 : int; var local_#22845 : int; var local_#22846 : int; var local_#22847 : int; var local_#22848 : int; var local_#22849 : int; var local_#22850 : int; var local_#22851 : int; var local_#22852 : int; var local_#22853 : int; var local_#22854 : { base : int, offset : int }; var local_#22855 : int; var local_#22856 : int; var local_#22857 : int; var local_#22858 : int; var local_#22859 : int; var local_#22860 : int; var local_#22861 : int; var local_#22862 : int; var local_#22863 : int; var local_#22864 : int; var local_#22865 : int; var local_#22866 : int; var local_#22867 : int; var local_#22868 : int; local_#5948_fs := local_#5948_fs_IN; local_#5949_e := local_#5949_e_IN; local_#5950_cond := local_#5950_cond_IN; goto CFG_36827; CFG_36827: assume true; goto CFG_50630; CFG_50630: assume true; local_#22838 := ~uwrap32(_memory[{ base : local_#5949_e!base, offset : local_#5949_e!offset + 0 }]); assert { :LIR "63394" } { :check "overflow" } { :finding_ids "0" } true; local_#22839 := 12; local_#22840 := (if local_#22838 == local_#22839 then 1 else 0); if (local_#22840 != 0) { goto CFG_50631; } else { goto CFG_47528; } CFG_50631: assume true; local_#22841 := _memory_ptr[{ base : local_#5948_fs!base, offset : local_#5948_fs!offset + 0 }]; local_#22842 := { base : local_#5949_e!base, offset : local_#5949_e!offset + 8 }; local_#22843 := { base : _memory_ptr[{ base : local_#22841!base, offset : local_#22841!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#22841!base, offset : local_#22841!offset + 56 }]!offset + _memory[local_#22842] * 4 }; local_#32410_ie := _memory[local_#22843]; local_#22844 := 0; local_#22845 := ~lshr32(local_#32410_ie, local_#22844); local_#22846 := 63; local_#22847 := ~uand32(local_#22845, local_#22846); local_#22848 := local_#22847; assert { :LIR "61659" } { :check "overflow" } { :finding_ids "0" } local_#22848 <= 46; local_#22849 := ~uwrap32(local_#22848); assert { :LIR "63395" } { :check "overflow" } { :finding_ids "0" } true; local_#22850 := 27; local_#22851 := (if local_#22849 == local_#22850 then 1 else 0); if (local_#22851 != 0) { goto CFG_43763; } else { goto CFG_40961; } CFG_40961: assume true; goto CFG_47528; CFG_47528: assume true; call routine_#34698_discharge2anyreg(local_#5948_fs,local_#5949_e); goto CFG_47529; CFG_47529: assume true; call routine_#34760_freeexp(local_#5948_fs,local_#5949_e); goto CFG_43762; CFG_43762: assume true; local_#22852 := 35; local_#22853 := 255; local_#22854 := { base : local_#5949_e!base, offset : local_#5949_e!offset + 8 }; local_#22855 := _memory[local_#22854]; goto CFG_47530; CFG_47530: assume true; call local_#22856 := routine_#34664_condjump(local_#5948_fs,local_#22852,local_#22853,local_#22855,local_#5950_cond); goto CFG_38683; CFG_38683: assume true; local_#8104 := local_#22856; goto CFG_37738; CFG_43763: assume true; local_#22857 := _memory[{ base : local_#5948_fs!base, offset : local_#5948_fs!offset + 32 }]; local_#22858 := 1; _memory[{ base : local_#5948_fs!base, offset : local_#5948_fs!offset + 32 }] := local_#22857 - local_#22858; assert { :LIR "68071" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#5948_fs!base, offset : local_#5948_fs!offset + 32 }] <= -1; local_#22859 := local_#22857; local_#22860 := 34; local_#22861 := 23; local_#22862 := ~lshr32(local_#32410_ie, local_#22861); local_#22863 := 511; local_#22864 := ~uand32(local_#22862, local_#22863); local_#22865 := local_#22864; assert { :LIR "61660" } { :check "overflow" } { :finding_ids "0" } local_#22865 <= 2147483647; local_#22866 := 0; local_#22867 := (if local_#5950_cond != 0 then 0 else 1); goto CFG_47531; CFG_47531: assume true; call local_#22868 := routine_#34664_condjump(local_#5948_fs,local_#22860,local_#22865,local_#22866,local_#22867); goto CFG_38684; CFG_38684: assume true; local_#8104 := local_#22868; goto CFG_37738; CFG_37738: assume true; } procedure routine_#34840_kname(local_#5951_p_IN : { base : int, offset : int }, local_#5952_pc_IN : int, local_#5953_c_IN : int, local_#5954_name_IN : { base : int, offset : int }) returns () modifies _memory_ptr; { var local_#5951_p : { base : int, offset : int }; var local_#5952_pc : int; var local_#5953_c : int; var local_#5954_name : { base : int, offset : int }; var local_#22869 : int; var local_#22870 : int; var local_#22871 : { base : int, offset : int }; var local_#32412_what : { base : int, offset : int }; var local_#22872 : { base : int, offset : int }; var local_#22873 : int; var local_#22874 : int; var local_#22875 : int; var local_#22876 : int; var local_#22877 : int; var local_#22878 : int; var local_#22879 : { base : int, offset : int }; var local_#32411_kvalue : { base : int, offset : int }; var local_#22880 : int; var local_#22881 : int; var local_#22882 : int; var local_#22883 : int; var local_#22884 : { base : int, offset : int }; var local_#22885 : { base : int, offset : int }; var local_#22886 : { base : int, offset : int }; var local_#22887 : { base : int, offset : int }; var local_#22888 : { base : int, offset : int }; var local_#22889 : { base : int, offset : int }; var local_#22890 : int; var local_#22891 : { base : int, offset : int }; var local_#22892 : { base : int, offset : int }; local_#5951_p := local_#5951_p_IN; local_#5952_pc := local_#5952_pc_IN; local_#5953_c := local_#5953_c_IN; local_#5954_name := local_#5954_name_IN; goto CFG_36828; CFG_36828: assume true; goto CFG_50632; CFG_50632: assume true; local_#22869 := 256; local_#22870 := ~sand32(local_#5953_c, local_#22869); if (local_#22870 != 0) { goto CFG_50635; } else { goto CFG_47532; } CFG_47532: assume true; call local_#22871 := routine_#34795_getobjname(local_#5951_p,local_#5952_pc,local_#5953_c,local_#5954_name); goto CFG_50633; CFG_50633: assume true; local_#32412_what := local_#22871; local_#22872 := local_#32412_what; if (local_#22872 != { base : 0, offset : 0 }) { goto CFG_50634; } else { goto CFG_40962; } CFG_50634: assume true; local_#22873 := _memory[local_#32412_what]; assert { :LIR "63396" } { :check "overflow" } { :finding_ids "0" } local_#22873 <= 2147483647; local_#22874 := 99; local_#22875 := (if local_#22873 == local_#22874 then 1 else 0); if (local_#22875 != 0) { goto CFG_39349; } else { goto CFG_40962; } CFG_40962: assume true; goto CFG_39350; CFG_39349: assume true; goto CFG_37739; CFG_50635: assume true; local_#22876 := local_#5953_c; assert { :LIR "61661" } { :check "overflow" } { :finding_ids "0" } local_#22876 <= 2147483647; local_#22877 := -257; local_#22878 := ~sand32(local_#22876, local_#22877); local_#22879 := { base : _memory_ptr[{ base : local_#5951_p!base, offset : local_#5951_p!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#5951_p!base, offset : local_#5951_p!offset + 48 }]!offset + local_#22878 * 16 }; local_#32411_kvalue := local_#22879; local_#22880 := 15; local_#22881 := ~sand32(_memory[{ base : local_#32411_kvalue!base, offset : local_#32411_kvalue!offset + 8 }], local_#22880); local_#22882 := 4; local_#22883 := (if local_#22881 == local_#22882 then 1 else 0); if (local_#22883 != 0) { goto CFG_39351; } else { goto CFG_40963; } CFG_40963: assume true; goto CFG_39350; CFG_39350: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#22884 := strlit_#70307; local_#22885 := { base : local_#22884!base, offset : local_#22884!offset + 0 * 1 }; assert { :LIR "63397" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5954_name] := local_#22885; goto CFG_37739; CFG_39351: assume true; local_#22886 := { base : local_#32411_kvalue!base, offset : local_#32411_kvalue!offset + 0 }; local_#22887 := _memory_ptr[local_#22886]; assert { :LIR "61662" } { :check "overflow" } { :finding_ids "0" } true; local_#22888 := { base : local_#22887!base, offset : local_#22887!offset + 0 }; local_#22889 := local_#22888; assert { :LIR "61663" } { :check "overflow" } { :finding_ids "0" } true; local_#22890 := 24; local_#22891 := { base : local_#22889!base, offset : local_#22889!offset + local_#22890 * 1 }; local_#22892 := local_#22891; assert { :LIR "63398" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[local_#5954_name] := local_#22892; goto CFG_37739; CFG_37739: assume true; } procedure routine_#34841_l_alloc(local_#5955_ud_IN : { base : int, offset : int }, local_#5956_ptr_IN : { base : int, offset : int }, local_#5957_osize_IN : int, local_#5958_nsize_IN : int) returns (local_#8105 : { base : int, offset : int }) modifies _valid; { var local_#5955_ud : { base : int, offset : int }; var local_#5956_ptr : { base : int, offset : int }; var local_#5957_osize : int; var local_#5958_nsize : int; var local_#22893 : int; var local_#22894 : int; var local_#22895 : int; var local_#22896 : int; var local_#22897 : { base : int, offset : int }; local_#5955_ud := local_#5955_ud_IN; local_#5956_ptr := local_#5956_ptr_IN; local_#5957_osize := local_#5957_osize_IN; local_#5958_nsize := local_#5958_nsize_IN; goto CFG_36829; CFG_36829: assume true; goto CFG_50636; CFG_50636: assume true; local_#22893 := 0; assert { :LIR "61664" } { :check "overflow" } { :finding_ids "0" } true; local_#22894 := 0; assert { :LIR "61665" } { :check "overflow" } { :finding_ids "0" } true; local_#22895 := 0; local_#22896 := (if local_#5958_nsize == local_#22895 then 1 else 0); if (local_#22896 != 0) { goto CFG_47534; } else { goto CFG_47533; } CFG_47533: assume true; call local_#22897 := routine_#34087_realloc(local_#5956_ptr,local_#5958_nsize); goto CFG_38685; CFG_38685: assume true; local_#8105 := local_#22897; goto CFG_37740; CFG_47534: assume true; call routine_#33584_free(local_#5956_ptr); goto CFG_38686; CFG_38686: assume true; local_#8105 := { base : 0, offset : 0 }; goto CFG_37740; CFG_37740: assume true; } procedure routine_#34842_l_checkmode(local_#5959_mode_IN : { base : int, offset : int }) returns (local_#8106 : int) { var local_#5959_mode : { base : int, offset : int }; var local_#22898 : int; var local_#22899 : int; var local_#22900 : int; var local_#22901 : { base : int, offset : int }; var local_#22902 : { base : int, offset : int }; var local_#22903 : { base : int, offset : int }; var local_#22904 : int; var local_#22905 : int; var local_#22906 : { base : int, offset : int }; var local_#22907 : { base : int, offset : int }; var local_#22908 : int; var local_#22909 : int; var local_#22910 : int; var local_#22911 : int; var local_#22912 : int; var local_#22913 : { base : int, offset : int }; var local_#22914 : int; var local_#22915 : { base : int, offset : int }; var local_#22916 : { base : int, offset : int }; var local_#22917 : int; var local_#22918 : int; var local_#22919 : int; var local_#30785 : int; local_#5959_mode := local_#5959_mode_IN; goto CFG_36830; CFG_36830: assume true; goto CFG_50637; CFG_50637: assume true; local_#22898 := _memory[local_#5959_mode]; assert { :LIR "63399" } { :check "overflow" } { :finding_ids "0" } local_#22898 <= 2147483647; local_#22899 := 0; local_#22900 := (if local_#22898 != local_#22899 then 1 else 0); if (local_#22900 != 0) { goto CFG_43764; } else { goto CFG_40964; } CFG_43764: assume true; assume _memory[{ base : strlit_#70648!base, offset : strlit_#70648!offset + 0 }] == 114 && _memory[{ base : strlit_#70648!base, offset : strlit_#70648!offset + 1 }] == 119 && _memory[{ base : strlit_#70648!base, offset : strlit_#70648!offset + 2 }] == 97 && _memory[{ base : strlit_#70648!base, offset : strlit_#70648!offset + 3 }] == 0; local_#22901 := strlit_#70648; local_#22902 := { base : local_#22901!base, offset : local_#22901!offset + 0 * 1 }; assert { :LIR "63400" } { :check "overflow" } { :finding_ids "0" } true; local_#22903 := local_#5959_mode; local_#22904 := 1; local_#5959_mode := { base : local_#22903!base, offset : local_#22903!offset + local_#22904 * 1 }; local_#22905 := _memory[local_#22903]; assert { :LIR "63401" } { :check "overflow" } { :finding_ids "0" } local_#22905 <= 2147483647; goto CFG_47535; CFG_47535: assume true; call local_#22906 := routine_#34445_strchr(local_#22902,local_#22905); goto CFG_50638; CFG_50638: assume true; local_#22907 := { base : 0, offset : 0 }; local_#22908 := (if local_#22906 != local_#22907 then 1 else 0); if (local_#22908 != 0) { goto CFG_50639; } else { goto CFG_40964; } CFG_50639: assume true; local_#22909 := _memory[local_#5959_mode]; assert { :LIR "63402" } { :check "overflow" } { :finding_ids "0" } local_#22909 <= 2147483647; local_#22910 := 43; local_#22911 := (if local_#22909 != local_#22910 then 1 else 0); if (local_#22911 != 0) { goto CFG_43765; } else { goto CFG_50640; } CFG_50640: assume true; local_#22912 := 1; local_#5959_mode := { base : local_#5959_mode!base, offset : local_#5959_mode!offset + local_#22912 * 1 }; local_#22913 := local_#5959_mode; local_#22914 := 1; if (local_#22914 != 0) { goto CFG_43765; } else { goto CFG_40964; } CFG_43765: assume true; assume _memory[{ base : strlit_#70649!base, offset : strlit_#70649!offset + 0 }] == 98 && _memory[{ base : strlit_#70649!base, offset : strlit_#70649!offset + 1 }] == 0; local_#22915 := strlit_#70649; local_#22916 := { base : local_#22915!base, offset : local_#22915!offset + 0 * 1 }; assert { :LIR "63403" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47536; CFG_47536: assume true; call local_#22917 := routine_#34461_strspn(local_#5959_mode,local_#22916); goto CFG_47537; CFG_47537: assume true; call local_#22918 := routine_#34454_strlen(local_#5959_mode); goto CFG_50641; CFG_50641: assume true; local_#22919 := (if local_#22917 == local_#22918 then 1 else 0); if (local_#22919 != 0) { goto CFG_40965; } else { goto CFG_40964; } CFG_40964: assume true; local_#30785 := 0; goto CFG_38687; CFG_40965: assume true; local_#30785 := 1; goto CFG_38687; CFG_38687: assume true; local_#8106 := local_#30785; goto CFG_37741; CFG_37741: assume true; } procedure routine_#34843_l_checktime(local_#5960_L_IN : { base : int, offset : int }, local_#5961_arg_IN : int) returns (local_#8107 : int) modifies _memory, _memory_ptr, _valid; { var local_#5960_L : { base : int, offset : int }; var local_#5961_arg : int; var local_#22920 : int; var local_#32413_t : int; var local_#22921 : int; var local_#22922 : int; var local_#22923 : int; var local_#22924 : { base : int, offset : int }; var local_#22925 : { base : int, offset : int }; var local_#22926 : int; var local_#22927 : int; var local_#30786 : int; var local_#22928 : int; var local_#22929 : int; local_#5960_L := local_#5960_L_IN; local_#5961_arg := local_#5961_arg_IN; goto CFG_36831; CFG_36831: assume true; goto CFG_47538; CFG_47538: assume true; call local_#22920 := routine_#33820_luaL_checkinteger(local_#5960_L,local_#5961_arg); goto CFG_50642; CFG_50642: assume true; local_#32413_t := local_#22920; local_#22921 := local_#32413_t; assert { :LIR "61666" } { :check "overflow" } { :finding_ids "0" } local_#22921 <= 9223372036854775807; local_#22922 := local_#22921; assert { :LIR "63404" } { :check "overflow" } { :finding_ids "0" } local_#22922 <= 9223372036854775807; local_#22923 := (if local_#22922 == local_#32413_t then 1 else 0); if (local_#22923 != 0) { goto CFG_40967; } else { goto CFG_43766; } CFG_43766: assume true; assume _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 0 }] == 116 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 1 }] == 105 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 2 }] == 109 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 3 }] == 101 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 4 }] == 32 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 5 }] == 111 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 6 }] == 117 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 7 }] == 116 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 8 }] == 45 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 9 }] == 111 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 10 }] == 102 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 11 }] == 45 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 12 }] == 98 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 13 }] == 111 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 14 }] == 117 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 15 }] == 110 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 16 }] == 100 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 17 }] == 115 && _memory[{ base : strlit_#70650!base, offset : strlit_#70650!offset + 18 }] == 0; local_#22924 := strlit_#70650; local_#22925 := { base : local_#22924!base, offset : local_#22924!offset + 0 * 1 }; assert { :LIR "63405" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47539; CFG_47539: assume true; call local_#22926 := routine_#33815_luaL_argerror(local_#5960_L,local_#5961_arg,local_#22925); goto CFG_50643; CFG_50643: assume true; local_#22927 := local_#22926; if (local_#22927 != 0) { goto CFG_40967; } else { goto CFG_40966; } CFG_40966: assume true; local_#30786 := 0; goto CFG_38688; CFG_40967: assume true; local_#30786 := 1; goto CFG_38688; CFG_38688: assume true; local_#22928 := 0; assert { :LIR "61667" } { :check "overflow" } { :finding_ids "0" } true; local_#22929 := local_#32413_t; assert { :LIR "61668" } { :check "overflow" } { :finding_ids "0" } local_#22929 <= 9223372036854775807; local_#8107 := local_#22929; goto CFG_37742; CFG_37742: assume true; } procedure routine_#34844_l_hashfloat(local_#5962_n_IN : int) returns (local_#8108 : int) modifies _memory; { var local_#5962_n : int; var local_#32414_i : { base : int, offset : int }; var local_#22930 : { base : int, offset : int }; var local_#22931 : int; var nondet_#0 : int; var local_#22932 : int; var nondet_#1 : int; var local_#22933 : int; var nondet_#2 : int; var local_#22934 : int; var nondet_#3 : bool; var local_#22935 : int; var nondet_#4 : int; var local_#22936 : int; var nondet_#5 : bool; var local_#22937 : int; var local_#22938 : int; var nondet_#6 : int; var local_#32415_ni : { base : int, offset : int }; var local_#22939 : int; var local_#22940 : int; var local_#22941 : int; var local_#22942 : int; var local_#22943 : int; var local_#22944 : int; var local_#22945 : int; var local_#32416_u : int; var local_#22946 : int; var local_#22947 : int; var local_#22948 : int; var local_#30787 : int; var local_#22949 : int; local_#5962_n := local_#5962_n_IN; goto CFG_36832; CFG_36832: assume true; goto CFG_43767; CFG_43767: assume true; local_#22930 := local_#32414_i; goto CFG_47540; CFG_47540: assume true; call local_#22931 := routine_#33587_frexp(local_#5962_n,local_#22930); goto CFG_50644; CFG_50644: assume true; havoc nondet_#0; local_#22932 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78620 */; havoc nondet_#1; local_#22933 := nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68580. */; assert { :LIR "68580" } { :check "overflow" } { :finding_ids "0" } true; local_#5962_n := local_#22933; havoc nondet_#2; local_#22934 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78621 */; havoc nondet_#3; local_#22935 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65746. */ then 1 else 0); if (local_#22935 != 0) { goto CFG_50645; } else { goto CFG_38689; } CFG_50645: assume true; havoc nondet_#4; local_#22936 := nondet_#4 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78622 */; havoc nondet_#5; local_#22937 := (if nondet_#5 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66269. */ then 1 else 0); if (local_#22937 != 0) { goto CFG_50646; } else { goto CFG_38689; } CFG_50646: assume true; havoc nondet_#6; local_#22938 := nondet_#6 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61669 */; assert { :LIR "61669" } { :check "overflow" } { :finding_ids "0" } local_#22938 <= 9223372036854775807; _memory[local_#32415_ni] := local_#22938; local_#22939 := _memory[local_#32415_ni]; local_#22940 := 1; if (local_#22940 != 0) { goto CFG_50647; } else { goto CFG_38689; } CFG_38689: assume true; local_#22941 := 0; local_#22942 := 0; assert { :LIR "61670" } { :check "overflow" } { :finding_ids "0" } true; local_#8108 := 0; goto CFG_37743; CFG_50647: assume true; local_#22943 := ~uwrap32(_memory[local_#32414_i]); assert { :LIR "61671" } { :check "overflow" } { :finding_ids "0" } true; local_#22944 := ~uwrap32(_memory[local_#32415_ni]); assert { :LIR "61672" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#22945 := ~uwrap32(local_#22943 + local_#22944); assert { :LIR "66679" } { :check "overflow" } { :finding_ids "0" } true; local_#32416_u := local_#22945; local_#22946 := 2147483647; local_#22947 := (if local_#32416_u <= local_#22946 then 1 else 0); if (local_#22947 != 0) { goto CFG_40969; } else { goto CFG_40968; } CFG_40968: assume true; local_#22948 := ~unot32(local_#32416_u); assume { :symbol "~unot32" } 0 <= local_#32416_u && local_#32416_u <= 4294967295 ==> ~unot32(local_#32416_u) == 4294967295 - local_#32416_u; local_#30787 := local_#22948; goto CFG_38690; CFG_40969: assume true; local_#30787 := local_#32416_u; goto CFG_38690; CFG_38690: assume true; local_#22949 := local_#30787; assert { :LIR "61673" } { :check "overflow" } { :finding_ids "0" } local_#22949 <= 2147483647; local_#8108 := local_#22949; goto CFG_37743; CFG_37743: assume true; } procedure routine_#34845_l_message(local_#5963_pname_IN : { base : int, offset : int }, local_#5964_msg_IN : { base : int, offset : int }) returns () modifies _memory_ptr; { var local_#5963_pname : { base : int, offset : int }; var local_#5964_msg : { base : int, offset : int }; var local_#22950 : { base : int, offset : int }; var local_#22951 : { base : int, offset : int }; var local_#22952 : { base : int, offset : int }; var local_#22953 : int; var local_#22954 : int; var local_#22955 : int; var local_#22956 : { base : int, offset : int }; var local_#22957 : { base : int, offset : int }; var local_#22958 : int; var local_#22959 : int; var local_#22960 : int; local_#5963_pname := local_#5963_pname_IN; local_#5964_msg := local_#5964_msg_IN; goto CFG_36833; CFG_36833: assume true; goto CFG_50648; CFG_50648: assume true; local_#22950 := local_#5963_pname; if (local_#22950 != { base : 0, offset : 0 }) { goto CFG_43768; } else { goto CFG_43769; } CFG_43768: assume true; assume _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 0 }] == 37 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 1 }] == 115 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 2 }] == 58 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 3 }] == 32 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 4 }] == 0; local_#22951 := strlit_#70651; local_#22952 := { base : local_#22951!base, offset : local_#22951!offset + 0 * 1 }; assert { :LIR "63406" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47541; CFG_47541: assume true; call local_#22953 := routine_#33580_fprintf(global_#33190_stderr,local_#22952,{ base : 0, offset : 0 }); goto CFG_47542; CFG_47542: assume true; call local_#22954 := routine_#33556_fflush(global_#33190_stderr); goto CFG_40970; CFG_40970: assume true; local_#22955 := local_#22954; goto CFG_43769; CFG_43769: assume true; assume _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 0 }] == 37 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 1 }] == 115 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 2 }] == 10 && _memory[{ base : strlit_#70343!base, offset : strlit_#70343!offset + 3 }] == 0; local_#22956 := strlit_#70343; local_#22957 := { base : local_#22956!base, offset : local_#22956!offset + 0 * 1 }; assert { :LIR "63407" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47543; CFG_47543: assume true; call local_#22958 := routine_#33580_fprintf(global_#33190_stderr,local_#22957,{ base : 0, offset : 0 }); goto CFG_47544; CFG_47544: assume true; call local_#22959 := routine_#33556_fflush(global_#33190_stderr); goto CFG_39352; CFG_39352: assume true; local_#22960 := local_#22959; goto CFG_37744; CFG_37744: assume true; } procedure routine_#34846_l_print(local_#5965_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5965_L : { base : int, offset : int }; var local_#22961 : int; var local_#32417_n : int; var local_#22962 : int; var local_#22963 : int; var local_#22964 : int; var local_#22965 : { base : int, offset : int }; var local_#22966 : { base : int, offset : int }; var local_#22967 : { base : int, offset : int }; var local_#22968 : { base : int, offset : int }; var local_#22969 : int; var local_#22970 : int; var local_#22971 : int; var local_#22972 : int; var local_#22973 : int; var local_#22974 : int; var local_#22975 : { base : int, offset : int }; var local_#22976 : int; var local_#22977 : int; var local_#22978 : int; var local_#22979 : { base : int, offset : int }; var local_#22980 : { base : int, offset : int }; var local_#22981 : int; var local_#22982 : { base : int, offset : int }; var local_#22983 : { base : int, offset : int }; var local_#22984 : { base : int, offset : int }; local_#5965_L := local_#5965_L_IN; goto CFG_36834; CFG_36834: assume true; goto CFG_47545; CFG_47545: assume true; call local_#22961 := routine_#33941_lua_gettop(local_#5965_L); goto CFG_50649; CFG_50649: assume true; local_#32417_n := local_#22961; local_#22962 := 0; local_#22963 := (if local_#32417_n > local_#22962 then 1 else 0); if (local_#22963 != 0) { goto CFG_43770; } else { goto CFG_39353; } CFG_43770: assume true; local_#22964 := 20; assume _memory[{ base : strlit_#70653!base, offset : strlit_#70653!offset + 25 }] == 0; local_#22965 := strlit_#70653; local_#22966 := { base : local_#22965!base, offset : local_#22965!offset + 0 * 1 }; assert { :LIR "63408" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47546; CFG_47546: assume true; call routine_#33824_luaL_checkstack(local_#5965_L,local_#22964,local_#22966); goto CFG_43771; CFG_43771: assume true; assume _memory[{ base : strlit_#70654!base, offset : strlit_#70654!offset + 0 }] == 112 && _memory[{ base : strlit_#70654!base, offset : strlit_#70654!offset + 1 }] == 114 && _memory[{ base : strlit_#70654!base, offset : strlit_#70654!offset + 2 }] == 105 && _memory[{ base : strlit_#70654!base, offset : strlit_#70654!offset + 3 }] == 110 && _memory[{ base : strlit_#70654!base, offset : strlit_#70654!offset + 4 }] == 116 && _memory[{ base : strlit_#70654!base, offset : strlit_#70654!offset + 5 }] == 0; local_#22967 := strlit_#70654; local_#22968 := { base : local_#22967!base, offset : local_#22967!offset + 0 * 1 }; assert { :LIR "63409" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47547; CFG_47547: assume true; call local_#22969 := routine_#33931_lua_getglobal(local_#5965_L,local_#22968); goto CFG_43772; CFG_43772: assume true; local_#22970 := 1; local_#22971 := 1; goto CFG_47548; CFG_47548: assume true; call routine_#33978_lua_rotate(local_#5965_L,local_#22970,local_#22971); goto CFG_43773; CFG_43773: assume true; local_#22972 := 0; local_#22973 := 0; local_#22974 := 0; local_#22975 := { base : 0, offset : 0 }; goto CFG_47549; CFG_47549: assume true; call local_#22976 := routine_#33956_lua_pcallk(local_#5965_L,local_#32417_n,local_#22972,local_#22973,local_#22974,local_#22975); goto CFG_50650; CFG_50650: assume true; local_#22977 := 0; local_#22978 := (if local_#22976 != local_#22977 then 1 else 0); if (local_#22978 != 0) { goto CFG_43774; } else { goto CFG_40972; } CFG_43774: assume true; assume _memory[{ base : strlit_#70655!base, offset : strlit_#70655!offset + 26 }] == 0; local_#22979 := strlit_#70655; local_#22980 := { base : local_#22979!base, offset : local_#22979!offset + 0 * 1 }; assert { :LIR "63410" } { :check "overflow" } { :finding_ids "0" } true; local_#22981 := -1; local_#22982 := { base : 0, offset : 0 }; goto CFG_47550; CFG_47550: assume true; call local_#22983 := routine_#33995_lua_tolstring(local_#5965_L,local_#22981,local_#22982); goto CFG_47551; CFG_47551: assume true; call local_#22984 := routine_#33959_lua_pushfstring(local_#5965_L,local_#22980,{ base : 0, offset : 0 }); goto CFG_47552; CFG_47552: assume true; call routine_#34845_l_message(global_#33065_progname,local_#22984); goto CFG_40971; CFG_40971: assume true; goto CFG_40972; CFG_40972: assume true; goto CFG_39353; CFG_39353: assume true; goto CFG_37745; CFG_37745: assume true; } procedure routine_#34847_l_randomizePivot() returns (local_#8109 : int) modifies _memory; { var local_#22985 : int; var local_#32419_c : { base : int, offset : int }; var local_#22986 : { base : int, offset : int }; var local_#22987 : int; var local_#32422_t : { base : int, offset : int }; var local_#32421_rnd : int; var local_#32418_buff : { base : int, offset : int }; var local_#22988 : { base : int, offset : int }; var local_#22989 : { base : int, offset : int }; var local_#22990 : int; var local_#22991 : { base : int, offset : int }; var local_#22992 : int; var local_#22993 : { base : int, offset : int }; var local_#22994 : { base : int, offset : int }; var local_#22995 : { base : int, offset : int }; var local_#22996 : int; var local_#22997 : { base : int, offset : int }; var local_#32420_i : int; var local_#22998 : int; var local_#22999 : int; var local_#23000 : int; var local_#23001 : int; var local_#23002 : int; var local_#23003 : int; goto CFG_36835; CFG_36835: assume true; goto CFG_47553; CFG_47553: assume true; call local_#22985 := routine_#33487_clock(); goto CFG_43775; CFG_43775: assume true; _memory[local_#32419_c] := local_#22985; local_#22986 := { base : 0, offset : 0 }; goto CFG_47554; CFG_47554: assume true; call local_#22987 := routine_#34493_time(local_#22986); goto CFG_43776; CFG_43776: assume true; _memory[local_#32422_t] := local_#22987; local_#32421_rnd := 0; local_#22988 := { base : local_#32418_buff!base, offset : local_#32418_buff!offset + 0 * 4 }; assert { :LIR "63411" } { :check "overflow" } { :finding_ids "0" } true; local_#22989 := local_#32419_c; assert { :LIR "63412" } { :check "overflow" } { :finding_ids "0" } true; local_#22990 := 8; goto CFG_47555; CFG_47555: assume true; call local_#22991 := routine_#34026_memcpy(local_#22988,local_#22989,local_#22990); goto CFG_43777; CFG_43777: assume true; local_#22992 := 2; local_#22993 := { base : local_#32418_buff!base, offset : local_#32418_buff!offset + 0 * 4 + local_#22992 * 4 }; local_#22994 := local_#22993; assert { :LIR "63413" } { :check "overflow" } { :finding_ids "0" } true; local_#22995 := local_#32422_t; assert { :LIR "63414" } { :check "overflow" } { :finding_ids "0" } true; local_#22996 := 8; goto CFG_47556; CFG_47556: assume true; call local_#22997 := routine_#34026_memcpy(local_#22994,local_#22995,local_#22996); goto CFG_41763; CFG_41763: assume true; local_#32420_i := 0; goto CFG_50651; CFG_50651: assume true; local_#22998 := ~uwrap64(local_#32420_i); assert { :LIR "63415" } { :check "overflow" } { :finding_ids "0" } true; local_#22999 := 4; local_#23000 := (if local_#22998 < local_#22999 then 1 else 0); if (local_#23000 != 0) { goto CFG_43778; } else { goto CFG_38691; } CFG_38691: assume true; local_#8109 := local_#32421_rnd; goto CFG_37746; CFG_43778: assume true; assume { :symbol "~uwrap32" } true; local_#32421_rnd := ~uwrap32(local_#32421_rnd + _memory[{ base : local_#32418_buff!base, offset : local_#32418_buff!offset + local_#32420_i * 4 }]); assert { :LIR "66680" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45104; CFG_45104: assume true; local_#23001 := local_#32420_i; local_#23002 := 1; assume { :symbol "~uwrap32" } true; local_#32420_i := ~uwrap32(local_#23001 + local_#23002); assert { :LIR "66681" } { :check "overflow" } { :finding_ids "0" } true; local_#23003 := local_#23001; goto CFG_50651; CFG_37746: assume true; } procedure routine_#34848_l_str2d(local_#5966_s_IN : { base : int, offset : int }, local_#5967_result_IN : { base : int, offset : int }) returns (local_#8110 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#5966_s : { base : int, offset : int }; var local_#5967_result : { base : int, offset : int }; var local_#23004 : { base : int, offset : int }; var local_#23005 : { base : int, offset : int }; var local_#23006 : { base : int, offset : int }; var local_#23007 : { base : int, offset : int }; var local_#32425_pmode : { base : int, offset : int }; var local_#23008 : { base : int, offset : int }; var local_#30788 : int; var local_#23009 : int; var local_#23010 : int; var local_#23011 : int; var local_#23012 : int; var local_#32424_mode : int; var local_#23013 : int; var local_#23014 : int; var local_#23015 : { base : int, offset : int }; var local_#32423_endptr : { base : int, offset : int }; var local_#23016 : { base : int, offset : int }; var local_#23017 : int; var local_#23018 : int; var local_#23019 : { base : int, offset : int }; var local_#23020 : { base : int, offset : int }; var local_#32427_pdot : { base : int, offset : int }; var local_#23021 : int; var local_#23022 : int; var local_#23023 : int; var local_#23024 : { base : int, offset : int }; var local_#23025 : int; var local_#32426_buff : { base : int, offset : int }; var local_#23026 : { base : int, offset : int }; var local_#23027 : { base : int, offset : int }; var local_#23028 : { base : int, offset : int }; var local_#23029 : int; var local_#23030 : { base : int, offset : int }; var local_#23031 : int; var local_#23032 : { base : int, offset : int }; var local_#23033 : { base : int, offset : int }; var local_#23034 : { base : int, offset : int }; var local_#23035 : int; var local_#23036 : int; var local_#23037 : { base : int, offset : int }; local_#5966_s := local_#5966_s_IN; local_#5967_result := local_#5967_result_IN; goto CFG_36836; CFG_36836: assume true; goto CFG_43779; CFG_43779: assume true; assume _memory[{ base : strlit_#70656!base, offset : strlit_#70656!offset + 0 }] == 46 && _memory[{ base : strlit_#70656!base, offset : strlit_#70656!offset + 1 }] == 120 && _memory[{ base : strlit_#70656!base, offset : strlit_#70656!offset + 2 }] == 88 && _memory[{ base : strlit_#70656!base, offset : strlit_#70656!offset + 3 }] == 110 && _memory[{ base : strlit_#70656!base, offset : strlit_#70656!offset + 4 }] == 78 && _memory[{ base : strlit_#70656!base, offset : strlit_#70656!offset + 5 }] == 0; local_#23004 := strlit_#70656; local_#23005 := { base : local_#23004!base, offset : local_#23004!offset + 0 * 1 }; assert { :LIR "63416" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47557; CFG_47557: assume true; call local_#23006 := routine_#34458_strpbrk(local_#5966_s,local_#23005); goto CFG_50652; CFG_50652: assume true; local_#23007 := local_#23006; assert { :LIR "63417" } { :check "overflow" } { :finding_ids "0" } true; local_#32425_pmode := local_#23007; local_#23008 := local_#32425_pmode; if (local_#23008 != { base : 0, offset : 0 }) { goto CFG_40974; } else { goto CFG_40973; } CFG_40973: assume true; local_#30788 := 0; goto CFG_50653; CFG_40974: assume true; local_#23009 := ~uwrap8(_memory[local_#32425_pmode]); assert { :LIR "61674" } { :check "overflow" } { :finding_ids "0" } true; local_#23010 := local_#23009; assert { :LIR "63418" } { :check "overflow" } { :finding_ids "0" } local_#23010 <= 2147483647; local_#23011 := 32; local_#23012 := ~sor32(local_#23010, local_#23011); local_#30788 := local_#23012; goto CFG_50653; CFG_50653: assume true; local_#32424_mode := local_#30788; local_#23013 := 110; local_#23014 := (if local_#32424_mode == local_#23013 then 1 else 0); if (local_#23014 != 0) { goto CFG_38694; } else { goto CFG_47558; } CFG_47558: assume true; call local_#23015 := routine_#34849_l_str2dloc(local_#5966_s,local_#5967_result,local_#32424_mode); goto CFG_50654; CFG_50654: assume true; local_#32423_endptr := local_#23015; local_#23016 := { base : 0, offset : 0 }; local_#23017 := (if local_#32423_endptr == local_#23016 then 1 else 0); if (local_#23017 != 0) { goto CFG_43780; } else { goto CFG_38692; } CFG_43780: assume true; local_#23018 := 46; goto CFG_47559; CFG_47559: assume true; call local_#23019 := routine_#34445_strchr(local_#5966_s,local_#23018); goto CFG_43781; CFG_43781: assume true; local_#23020 := local_#23019; assert { :LIR "63419" } { :check "overflow" } { :finding_ids "0" } true; local_#32427_pdot := local_#23020; goto CFG_47560; CFG_47560: assume true; call local_#23021 := routine_#34454_strlen(local_#5966_s); goto CFG_50655; CFG_50655: assume true; local_#23022 := 200; local_#23023 := (if local_#23021 > local_#23022 then 1 else 0); if (local_#23023 != 0) { goto CFG_38693; } else { goto CFG_50656; } CFG_50656: assume true; local_#23024 := { base : 0, offset : 0 }; local_#23025 := (if local_#32427_pdot == local_#23024 then 1 else 0); if (local_#23025 != 0) { goto CFG_38693; } else { goto CFG_43782; } CFG_43782: assume true; local_#23026 := { base : local_#32426_buff!base, offset : local_#32426_buff!offset + 0 * 1 }; goto CFG_47561; CFG_47561: assume true; call local_#23027 := routine_#34448_strcpy(local_#23026,local_#5966_s); goto CFG_47562; CFG_47562: assume true; call local_#23028 := routine_#33692_localeconv(); goto CFG_43783; CFG_43783: assume true; local_#23029 := 0; local_#23030 := { base : _memory_ptr[{ base : local_#23028!base, offset : local_#23028!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#23028!base, offset : local_#23028!offset + 0 }]!offset + local_#23029 * 1 }; local_#23031 := (local_#32427_pdot!offset - local_#5966_s!offset) / 1; _memory[{ base : local_#32426_buff!base, offset : local_#32426_buff!offset + local_#23031 * 1 }] := _memory[local_#23030]; local_#23032 := { base : local_#32426_buff!base, offset : local_#32426_buff!offset + 0 * 1 }; assert { :LIR "63420" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47563; CFG_47563: assume true; call local_#23033 := routine_#34849_l_str2dloc(local_#23032,local_#5967_result,local_#32424_mode); goto CFG_50657; CFG_50657: assume true; local_#32423_endptr := local_#23033; local_#23034 := { base : 0, offset : 0 }; local_#23035 := (if local_#32423_endptr != local_#23034 then 1 else 0); if (local_#23035 != 0) { goto CFG_40975; } else { goto CFG_40976; } CFG_40975: assume true; local_#23036 := (local_#32423_endptr!offset - (local_#32426_buff!offset + 0 * 1)) / 1; local_#23037 := { base : local_#5966_s!base, offset : local_#5966_s!offset + local_#23036 * 1 }; local_#32423_endptr := local_#23037; goto CFG_40976; CFG_40976: assume true; goto CFG_38692; CFG_38692: assume true; local_#8110 := local_#32423_endptr; goto CFG_37747; CFG_38693: assume true; local_#8110 := { base : 0, offset : 0 }; goto CFG_37747; CFG_38694: assume true; local_#8110 := { base : 0, offset : 0 }; goto CFG_37747; CFG_37747: assume true; } procedure routine_#34849_l_str2dloc(local_#5968_s_IN : { base : int, offset : int }, local_#5969_result_IN : { base : int, offset : int }, local_#5970_mode_IN : int) returns (local_#8111 : { base : int, offset : int }) modifies _memory_ptr; { var local_#5968_s : { base : int, offset : int }; var local_#5969_result : { base : int, offset : int }; var local_#5970_mode : int; var local_#23038 : int; var local_#23039 : int; var local_#32428_endptr : { base : int, offset : int }; var local_#23040 : { base : int, offset : int }; var local_#23041 : int; var local_#30789 : int; var local_#23042 : { base : int, offset : int }; var local_#23043 : int; var local_#23044 : { base : int, offset : int }; var local_#23045 : int; var local_#23046 : int; var local_#23047 : int; var local_#23048 : int; var local_#23049 : int; var local_#23050 : int; var local_#23051 : int; var local_#23052 : int; var local_#23053 : int; var local_#23054 : int; var local_#23055 : int; var local_#30790 : { base : int, offset : int }; var local_#23056 : { base : int, offset : int }; var local_#23057 : { base : int, offset : int }; var local_#23058 : int; var local_#23059 : { base : int, offset : int }; local_#5968_s := local_#5968_s_IN; local_#5969_result := local_#5969_result_IN; local_#5970_mode := local_#5970_mode_IN; goto CFG_36837; CFG_36837: assume true; goto CFG_50658; CFG_50658: assume true; local_#23038 := 120; local_#23039 := (if local_#5970_mode == local_#23038 then 1 else 0); if (local_#23039 != 0) { goto CFG_43785; } else { goto CFG_43784; } CFG_43784: assume true; local_#23040 := local_#32428_endptr; goto CFG_47564; CFG_47564: assume true; call local_#23041 := routine_#34463_strtod(local_#5968_s,local_#23040); goto CFG_40977; CFG_40977: assume true; local_#30789 := local_#23041; goto CFG_50659; CFG_43785: assume true; local_#23042 := local_#32428_endptr; goto CFG_47565; CFG_47565: assume true; call local_#23043 := routine_#34463_strtod(local_#5968_s,local_#23042); goto CFG_40978; CFG_40978: assume true; local_#30789 := local_#23043; goto CFG_50659; CFG_50659: assume true; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ local_#23044 := _memory_ptr[local_#32428_endptr]; assert { :LIR "63421" } { :check "overflow" } { :finding_ids "0" } true; local_#23045 := (if local_#23044 == local_#5968_s then 1 else 0); if (local_#23045 != 0) { goto CFG_38696; } else { goto CFG_41764; } CFG_41764: assume true; goto CFG_50660; CFG_50660: assume true; local_#23046 := ~uwrap8(_memory[_memory_ptr[local_#32428_endptr]]); assert { :LIR "61675" } { :check "overflow" } { :finding_ids "0" } true; local_#23047 := local_#23046; assert { :LIR "63422" } { :check "overflow" } { :finding_ids "0" } local_#23047 <= 2147483647; local_#23048 := 1; local_#23049 := local_#23047 + local_#23048; assert { :LIR "66682" } { :check "overflow" } { :finding_ids "0" } local_#23049 <= 2147483647; local_#23050 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23049 * 1 }]; assert { :LIR "63423" } { :check "overflow" } { :finding_ids "0" } local_#23050 <= 2147483647; local_#23051 := 8; local_#23052 := ~sand32(local_#23050, local_#23051); if (local_#23052 != 0) { goto CFG_45105; } else { goto CFG_50661; } CFG_50661: assume true; local_#23053 := _memory[_memory_ptr[local_#32428_endptr]]; assert { :LIR "63424" } { :check "overflow" } { :finding_ids "0" } local_#23053 <= 2147483647; local_#23054 := 0; local_#23055 := (if local_#23053 == local_#23054 then 1 else 0); if (local_#23055 != 0) { goto CFG_40980; } else { goto CFG_40979; } CFG_40979: assume true; local_#30790 := { base : 0, offset : 0 }; goto CFG_38695; CFG_40980: assume true; local_#30790 := _memory_ptr[local_#32428_endptr]; goto CFG_38695; CFG_38695: assume true; local_#23056 := local_#30790; assert { :LIR "63425" } { :check "overflow" } { :finding_ids "0" } true; local_#8111 := local_#23056; goto CFG_37748; CFG_45105: assume true; local_#23057 := _memory_ptr[local_#32428_endptr]; local_#23058 := 1; _memory_ptr[local_#32428_endptr] := { base : local_#23057!base, offset : local_#23057!offset + local_#23058 * 1 }; local_#23059 := local_#23057; goto CFG_50660; CFG_38696: assume true; local_#8111 := { base : 0, offset : 0 }; goto CFG_37748; CFG_37748: assume true; } procedure routine_#34850_l_str2int(local_#5971_s_IN : { base : int, offset : int }, local_#5972_result_IN : { base : int, offset : int }) returns (local_#8112 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#5971_s : { base : int, offset : int }; var local_#5972_result : { base : int, offset : int }; var local_#32429_a : int; var local_#32430_empty : int; var local_#23060 : int; var local_#23061 : int; var local_#23062 : int; var local_#23063 : int; var local_#23064 : int; var local_#23065 : int; var local_#23066 : int; var local_#23067 : { base : int, offset : int }; var local_#23068 : int; var local_#32431_neg : int; var local_#23069 : int; var local_#23070 : { base : int, offset : int }; var local_#23071 : int; var local_#23072 : int; var local_#23073 : int; var local_#23074 : int; var local_#23075 : { base : int, offset : int }; var local_#23076 : int; var local_#23077 : int; var local_#23078 : int; var local_#23079 : int; var local_#23080 : { base : int, offset : int }; var local_#23081 : int; var local_#23082 : int; var local_#23083 : int; var local_#23084 : int; var local_#23085 : int; var local_#23086 : int; var local_#23087 : int; var local_#23088 : int; var local_#23089 : int; var local_#23090 : int; var local_#23091 : int; var local_#23092 : int; var local_#23093 : int; var local_#32432_d : int; var local_#23094 : int; var local_#23095 : int; var local_#23096 : int; var local_#23097 : int; var local_#23098 : int; var local_#23099 : int; var local_#23100 : int; var local_#23101 : int; var local_#23102 : int; var local_#23103 : int; var local_#23104 : int; var local_#23105 : { base : int, offset : int }; var local_#23106 : int; var local_#23107 : { base : int, offset : int }; var local_#23108 : int; var local_#23109 : int; var local_#23110 : int; var local_#23111 : int; var local_#23112 : int; var local_#23113 : int; var local_#23114 : int; var local_#23115 : int; var local_#23116 : int; var local_#23117 : int; var local_#23118 : int; var local_#23119 : int; var local_#23120 : int; var local_#23121 : int; var local_#23122 : int; var local_#23123 : int; var local_#23124 : int; var local_#23125 : int; var local_#23126 : int; var local_#23127 : int; var local_#30791 : int; var local_#23128 : int; var local_#23129 : int; var local_#23130 : int; var local_#23131 : { base : int, offset : int }; var local_#23132 : int; var local_#23133 : { base : int, offset : int }; var local_#23134 : int; var local_#23135 : int; var local_#23136 : int; var local_#23137 : int; var local_#23138 : int; var local_#23139 : int; var local_#23140 : { base : int, offset : int }; var local_#23141 : int; var local_#23142 : { base : int, offset : int }; var local_#23143 : { base : int, offset : int }; var local_#23144 : int; var local_#23145 : { base : int, offset : int }; _memory_ptr[local_#5971_s] := local_#5971_s_IN; local_#5972_result := local_#5972_result_IN; goto CFG_36838; CFG_36838: assume true; goto CFG_41765; CFG_41765: assume true; local_#32429_a := 0; local_#32430_empty := 1; goto CFG_50662; CFG_50662: assume true; local_#23060 := ~uwrap8(_memory[_memory_ptr[local_#5971_s]]); assert { :LIR "61676" } { :check "overflow" } { :finding_ids "0" } true; local_#23061 := local_#23060; assert { :LIR "63426" } { :check "overflow" } { :finding_ids "0" } local_#23061 <= 2147483647; local_#23062 := 1; local_#23063 := local_#23061 + local_#23062; assert { :LIR "66683" } { :check "overflow" } { :finding_ids "0" } local_#23063 <= 2147483647; local_#23064 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23063 * 1 }]; assert { :LIR "63427" } { :check "overflow" } { :finding_ids "0" } local_#23064 <= 2147483647; local_#23065 := 8; local_#23066 := ~sand32(local_#23064, local_#23065); if (local_#23066 != 0) { goto CFG_45109; } else { goto CFG_43786; } CFG_43786: assume true; local_#23067 := local_#5971_s; goto CFG_47566; CFG_47566: assume true; call local_#23068 := routine_#34836_isneg(local_#23067); goto CFG_50663; CFG_50663: assume true; local_#32431_neg := local_#23068; local_#23069 := 0; local_#23070 := { base : _memory_ptr[local_#5971_s]!base, offset : _memory_ptr[local_#5971_s]!offset + local_#23069 * 1 }; local_#23071 := _memory[local_#23070]; assert { :LIR "63428" } { :check "overflow" } { :finding_ids "0" } local_#23071 <= 2147483647; local_#23072 := 48; local_#23073 := (if local_#23071 == local_#23072 then 1 else 0); if (local_#23073 != 0) { goto CFG_50664; } else { goto CFG_41766; } CFG_50664: assume true; local_#23074 := 1; local_#23075 := { base : _memory_ptr[local_#5971_s]!base, offset : _memory_ptr[local_#5971_s]!offset + local_#23074 * 1 }; local_#23076 := _memory[local_#23075]; assert { :LIR "63429" } { :check "overflow" } { :finding_ids "0" } local_#23076 <= 2147483647; local_#23077 := 120; local_#23078 := (if local_#23076 == local_#23077 then 1 else 0); if (local_#23078 != 0) { goto CFG_41767; } else { goto CFG_50665; } CFG_50665: assume true; local_#23079 := 1; local_#23080 := { base : _memory_ptr[local_#5971_s]!base, offset : _memory_ptr[local_#5971_s]!offset + local_#23079 * 1 }; local_#23081 := _memory[local_#23080]; assert { :LIR "63430" } { :check "overflow" } { :finding_ids "0" } local_#23081 <= 2147483647; local_#23082 := 88; local_#23083 := (if local_#23081 == local_#23082 then 1 else 0); if (local_#23083 != 0) { goto CFG_41767; } else { goto CFG_41766; } CFG_41766: assume true; goto CFG_50666; CFG_50666: assume true; local_#23084 := ~uwrap8(_memory[_memory_ptr[local_#5971_s]]); assert { :LIR "61677" } { :check "overflow" } { :finding_ids "0" } true; local_#23085 := local_#23084; assert { :LIR "63431" } { :check "overflow" } { :finding_ids "0" } local_#23085 <= 2147483647; local_#23086 := 1; local_#23087 := local_#23085 + local_#23086; assert { :LIR "66684" } { :check "overflow" } { :finding_ids "0" } local_#23087 <= 2147483647; local_#23088 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23087 * 1 }]; assert { :LIR "63432" } { :check "overflow" } { :finding_ids "0" } local_#23088 <= 2147483647; local_#23089 := 2; local_#23090 := ~sand32(local_#23088, local_#23089); if (local_#23090 != 0) { goto CFG_50667; } else { goto CFG_40981; } CFG_40981: assume true; goto CFG_41768; CFG_50667: assume true; local_#23091 := _memory[_memory_ptr[local_#5971_s]]; assert { :LIR "63433" } { :check "overflow" } { :finding_ids "0" } local_#23091 <= 2147483647; local_#23092 := 48; local_#23093 := local_#23091 - local_#23092; assert { :LIR "68072" } { :check "overflow" } { :finding_ids "0" } local_#23093 <= 2147483647; local_#32432_d := local_#23093; local_#23094 := 922337203685477580; local_#23095 := (if local_#32429_a >= local_#23094 then 1 else 0); if (local_#23095 != 0) { goto CFG_50668; } else { goto CFG_43787; } CFG_50668: assume true; local_#23096 := 922337203685477580; local_#23097 := (if local_#32429_a > local_#23096 then 1 else 0); if (local_#23097 != 0) { goto CFG_38697; } else { goto CFG_50669; } CFG_50669: assume true; local_#23098 := 7; local_#23099 := local_#23098 + local_#32431_neg; assert { :LIR "66685" } { :check "overflow" } { :finding_ids "0" } local_#23099 <= 2147483647; local_#23100 := (if local_#32432_d > local_#23099 then 1 else 0); if (local_#23100 != 0) { goto CFG_38697; } else { goto CFG_43787; } CFG_43787: assume true; local_#23101 := 10; assume { :symbol "~uwrap64" } true; local_#23102 := ~uwrap64(local_#32429_a * local_#23101); assert { :LIR "68581" } { :check "overflow" } { :finding_ids "0" } true; local_#23103 := ~uwrap64(local_#32432_d); assert { :LIR "63434" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#23104 := ~uwrap64(local_#23102 + local_#23103); assert { :LIR "66686" } { :check "overflow" } { :finding_ids "0" } true; local_#32429_a := local_#23104; local_#32430_empty := 0; goto CFG_45106; CFG_45106: assume true; local_#23105 := _memory_ptr[local_#5971_s]; local_#23106 := 1; _memory_ptr[local_#5971_s] := { base : local_#23105!base, offset : local_#23105!offset + local_#23106 * 1 }; local_#23107 := local_#23105; goto CFG_50666; CFG_38697: assume true; local_#8112 := { base : 0, offset : 0 }; goto CFG_37749; CFG_41767: assume true; local_#23108 := 2; _memory_ptr[local_#5971_s] := { base : _memory_ptr[local_#5971_s]!base, offset : _memory_ptr[local_#5971_s]!offset + local_#23108 * 1 }; goto CFG_50670; CFG_50670: assume true; local_#23109 := ~uwrap8(_memory[_memory_ptr[local_#5971_s]]); assert { :LIR "61678" } { :check "overflow" } { :finding_ids "0" } true; local_#23110 := local_#23109; assert { :LIR "63435" } { :check "overflow" } { :finding_ids "0" } local_#23110 <= 2147483647; local_#23111 := 1; local_#23112 := local_#23110 + local_#23111; assert { :LIR "66687" } { :check "overflow" } { :finding_ids "0" } local_#23112 <= 2147483647; local_#23113 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23112 * 1 }]; assert { :LIR "63436" } { :check "overflow" } { :finding_ids "0" } local_#23113 <= 2147483647; local_#23114 := 16; local_#23115 := ~sand32(local_#23113, local_#23114); if (local_#23115 != 0) { goto CFG_43788; } else { goto CFG_40982; } CFG_40982: assume true; goto CFG_41768; CFG_41768: assume true; goto CFG_50671; CFG_50671: assume true; local_#23116 := ~uwrap8(_memory[_memory_ptr[local_#5971_s]]); assert { :LIR "61679" } { :check "overflow" } { :finding_ids "0" } true; local_#23117 := local_#23116; assert { :LIR "63437" } { :check "overflow" } { :finding_ids "0" } local_#23117 <= 2147483647; local_#23118 := 1; local_#23119 := local_#23117 + local_#23118; assert { :LIR "66688" } { :check "overflow" } { :finding_ids "0" } local_#23119 <= 2147483647; local_#23120 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23119 * 1 }]; assert { :LIR "63438" } { :check "overflow" } { :finding_ids "0" } local_#23120 <= 2147483647; local_#23121 := 8; local_#23122 := ~sand32(local_#23120, local_#23121); if (local_#23122 != 0) { goto CFG_45107; } else { goto CFG_50672; } CFG_50672: assume true; local_#23123 := local_#32430_empty; if (local_#23123 != 0) { goto CFG_38699; } else { goto CFG_50673; } CFG_50673: assume true; local_#23124 := _memory[_memory_ptr[local_#5971_s]]; assert { :LIR "63439" } { :check "overflow" } { :finding_ids "0" } local_#23124 <= 2147483647; local_#23125 := 0; local_#23126 := (if local_#23124 != local_#23125 then 1 else 0); if (local_#23126 != 0) { goto CFG_38699; } else { goto CFG_50674; } CFG_50674: assume true; local_#23127 := local_#32431_neg; if (local_#23127 != 0) { goto CFG_40984; } else { goto CFG_40983; } CFG_40983: assume true; local_#30791 := local_#32429_a; goto CFG_38698; CFG_40984: assume true; local_#23128 := 0; assume { :symbol "~uwrap64" } true; local_#23129 := ~uwrap64(local_#23128 - local_#32429_a); assert { :LIR "68073" } { :check "overflow" } { :finding_ids "0" } true; local_#30791 := local_#23129; goto CFG_38698; CFG_38698: assume true; local_#23130 := local_#30791; assert { :LIR "61680" } { :check "overflow" } { :finding_ids "0" } local_#23130 <= 9223372036854775807; _memory[local_#5972_result] := local_#23130; local_#8112 := _memory_ptr[local_#5971_s]; goto CFG_37749; CFG_38699: assume true; local_#8112 := { base : 0, offset : 0 }; goto CFG_37749; CFG_45107: assume true; local_#23131 := _memory_ptr[local_#5971_s]; local_#23132 := 1; _memory_ptr[local_#5971_s] := { base : local_#23131!base, offset : local_#23131!offset + local_#23132 * 1 }; local_#23133 := local_#23131; goto CFG_50671; CFG_43788: assume true; local_#23134 := 16; assume { :symbol "~uwrap64" } true; local_#23135 := ~uwrap64(local_#32429_a * local_#23134); assert { :LIR "68582" } { :check "overflow" } { :finding_ids "0" } true; local_#23136 := _memory[_memory_ptr[local_#5971_s]]; assert { :LIR "63440" } { :check "overflow" } { :finding_ids "0" } local_#23136 <= 2147483647; goto CFG_47567; CFG_47567: assume true; call local_#23137 := routine_#33863_luaO_hexavalue(local_#23136); goto CFG_43789; CFG_43789: assume true; local_#23138 := ~uwrap64(local_#23137); assert { :LIR "63441" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#23139 := ~uwrap64(local_#23135 + local_#23138); assert { :LIR "66689" } { :check "overflow" } { :finding_ids "0" } true; local_#32429_a := local_#23139; local_#32430_empty := 0; goto CFG_45108; CFG_45108: assume true; local_#23140 := _memory_ptr[local_#5971_s]; local_#23141 := 1; _memory_ptr[local_#5971_s] := { base : local_#23140!base, offset : local_#23140!offset + local_#23141 * 1 }; local_#23142 := local_#23140; goto CFG_50670; CFG_45109: assume true; local_#23143 := _memory_ptr[local_#5971_s]; local_#23144 := 1; _memory_ptr[local_#5971_s] := { base : local_#23143!base, offset : local_#23143!offset + local_#23144 * 1 }; local_#23145 := local_#23143; goto CFG_50662; CFG_37749: assume true; } procedure routine_#34851_l_strcmp(local_#5973_ls_IN : { base : int, offset : int }, local_#5974_rs_IN : { base : int, offset : int }) returns (local_#8113 : int) { var local_#5973_ls : { base : int, offset : int }; var local_#5974_rs : { base : int, offset : int }; var local_#23146 : { base : int, offset : int }; var local_#23147 : int; var local_#23148 : { base : int, offset : int }; var local_#23149 : { base : int, offset : int }; var local_#32433_l : { base : int, offset : int }; var local_#23150 : int; var local_#23151 : int; var local_#23152 : int; var local_#23153 : { base : int, offset : int }; var local_#30792 : int; var local_#23154 : int; var local_#32434_ll : int; var local_#23155 : { base : int, offset : int }; var local_#23156 : int; var local_#23157 : { base : int, offset : int }; var local_#23158 : { base : int, offset : int }; var local_#32436_r : { base : int, offset : int }; var local_#23159 : int; var local_#23160 : int; var local_#23161 : int; var local_#23162 : { base : int, offset : int }; var local_#30793 : int; var local_#23163 : int; var local_#32435_lr : int; var local_#23164 : int; var local_#23165 : int; var local_#32437_temp : int; var local_#23166 : int; var local_#23167 : int; var local_#23168 : int; var local_#32438_len : int; var local_#23169 : int; var local_#23170 : int; var local_#23171 : int; var local_#23172 : int; var local_#23173 : int; var local_#23174 : int; var local_#30794 : int; local_#5973_ls := local_#5973_ls_IN; local_#5974_rs := local_#5974_rs_IN; goto CFG_36839; CFG_36839: assume true; goto CFG_50675; CFG_50675: assume true; local_#23146 := local_#5973_ls; assert { :LIR "61681" } { :check "overflow" } { :finding_ids "0" } true; local_#23147 := 24; local_#23148 := { base : local_#23146!base, offset : local_#23146!offset + local_#23147 * 1 }; local_#23149 := local_#23148; assert { :LIR "63442" } { :check "overflow" } { :finding_ids "0" } true; local_#32433_l := local_#23149; local_#23150 := _memory[{ base : local_#5973_ls!base, offset : local_#5973_ls!offset + 8 }]; assert { :LIR "63443" } { :check "overflow" } { :finding_ids "0" } local_#23150 <= 2147483647; local_#23151 := 4; local_#23152 := (if local_#23150 == local_#23151 then 1 else 0); if (local_#23152 != 0) { goto CFG_40986; } else { goto CFG_40985; } CFG_40985: assume true; local_#23153 := { base : local_#5973_ls!base, offset : local_#5973_ls!offset + 16 }; local_#30792 := _memory[local_#23153]; goto CFG_50676; CFG_40986: assume true; local_#23154 := ~uwrap64(_memory[{ base : local_#5973_ls!base, offset : local_#5973_ls!offset + 11 }]); assert { :LIR "63444" } { :check "overflow" } { :finding_ids "0" } true; local_#30792 := local_#23154; goto CFG_50676; CFG_50676: assume true; local_#32434_ll := local_#30792; local_#23155 := local_#5974_rs; assert { :LIR "61682" } { :check "overflow" } { :finding_ids "0" } true; local_#23156 := 24; local_#23157 := { base : local_#23155!base, offset : local_#23155!offset + local_#23156 * 1 }; local_#23158 := local_#23157; assert { :LIR "63445" } { :check "overflow" } { :finding_ids "0" } true; local_#32436_r := local_#23158; local_#23159 := _memory[{ base : local_#5974_rs!base, offset : local_#5974_rs!offset + 8 }]; assert { :LIR "63446" } { :check "overflow" } { :finding_ids "0" } local_#23159 <= 2147483647; local_#23160 := 4; local_#23161 := (if local_#23159 == local_#23160 then 1 else 0); if (local_#23161 != 0) { goto CFG_40988; } else { goto CFG_40987; } CFG_40987: assume true; local_#23162 := { base : local_#5974_rs!base, offset : local_#5974_rs!offset + 16 }; local_#30793 := _memory[local_#23162]; goto CFG_41769; CFG_40988: assume true; local_#23163 := ~uwrap64(_memory[{ base : local_#5974_rs!base, offset : local_#5974_rs!offset + 11 }]); assert { :LIR "63447" } { :check "overflow" } { :finding_ids "0" } true; local_#30793 := local_#23163; goto CFG_41769; CFG_41769: assume true; local_#32435_lr := local_#30793; goto CFG_50677; CFG_50677: assume true; local_#23164 := 1; if (local_#23164 != 0) { goto CFG_47568; } else { goto CFG_37750; } CFG_47568: assume true; call local_#23165 := routine_#34447_strcoll(local_#32433_l,local_#32436_r); goto CFG_50678; CFG_50678: assume true; local_#32437_temp := local_#23165; local_#23166 := 0; local_#23167 := (if local_#32437_temp != local_#23166 then 1 else 0); if (local_#23167 != 0) { goto CFG_38702; } else { goto CFG_47569; } CFG_47569: assume true; call local_#23168 := routine_#34454_strlen(local_#32433_l); goto CFG_50679; CFG_50679: assume true; local_#32438_len := local_#23168; local_#23169 := (if local_#32438_len == local_#32435_lr then 1 else 0); if (local_#23169 != 0) { goto CFG_50681; } else { goto CFG_50680; } CFG_50680: assume true; local_#23170 := (if local_#32438_len == local_#32434_ll then 1 else 0); if (local_#23170 != 0) { goto CFG_38700; } else { goto CFG_40989; } CFG_40989: assume true; goto CFG_40990; CFG_40990: assume true; local_#23171 := local_#32438_len; local_#23172 := 1; assume { :symbol "~uwrap64" } true; local_#32438_len := ~uwrap64(local_#23171 + local_#23172); assert { :LIR "66690" } { :check "overflow" } { :finding_ids "0" } true; local_#23173 := local_#23171; local_#32433_l := { base : local_#32433_l!base, offset : local_#32433_l!offset + local_#32438_len * 1 }; assume { :symbol "~uwrap64" } true; local_#32434_ll := ~uwrap64(local_#32434_ll - local_#32438_len); assert { :LIR "68074" } { :check "overflow" } { :finding_ids "0" } true; local_#32436_r := { base : local_#32436_r!base, offset : local_#32436_r!offset + local_#32438_len * 1 }; assume { :symbol "~uwrap64" } true; local_#32435_lr := ~uwrap64(local_#32435_lr - local_#32438_len); assert { :LIR "68075" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45110; CFG_45110: assume true; goto CFG_50677; CFG_38700: assume true; local_#8113 := -1; goto CFG_37750; CFG_50681: assume true; local_#23174 := (if local_#32438_len == local_#32434_ll then 1 else 0); if (local_#23174 != 0) { goto CFG_40992; } else { goto CFG_40991; } CFG_40991: assume true; local_#30794 := 1; goto CFG_38701; CFG_40992: assume true; local_#30794 := 0; goto CFG_38701; CFG_38701: assume true; local_#8113 := local_#30794; goto CFG_37750; CFG_38702: assume true; local_#8113 := local_#32437_temp; goto CFG_37750; CFG_37750: assume true; } procedure routine_#34852_labelstat(local_#5975_ls_IN : { base : int, offset : int }, local_#5976_label_IN : { base : int, offset : int }, local_#5977_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5975_ls : { base : int, offset : int }; var local_#5976_label : { base : int, offset : int }; var local_#5977_line : int; var local_#32439_fs : { base : int, offset : int }; var local_#23175 : { base : int, offset : int }; var local_#32441_ll : { base : int, offset : int }; var local_#23176 : int; var local_#23177 : int; var local_#23178 : int; var local_#32440_l : int; var local_#23179 : int; var local_#23180 : int; var local_#23181 : int; var local_#23182 : { base : int, offset : int }; var local_#23183 : { base : int, offset : int }; var local_#23184 : { base : int, offset : int }; local_#5975_ls := local_#5975_ls_IN; local_#5976_label := local_#5976_label_IN; local_#5977_line := local_#5977_line_IN; goto CFG_36840; CFG_36840: assume true; goto CFG_43790; CFG_43790: assume true; local_#32439_fs := _memory_ptr[{ base : local_#5975_ls!base, offset : local_#5975_ls!offset + 48 }]; local_#23175 := _memory_ptr[{ base : local_#5975_ls!base, offset : local_#5975_ls!offset + 88 }]; local_#32441_ll := { base : local_#23175!base, offset : local_#23175!offset + 32 }; goto CFG_47570; CFG_47570: assume true; call routine_#34639_checkrepeated(local_#32439_fs,local_#32441_ll,local_#5976_label); goto CFG_43791; CFG_43791: assume true; local_#23176 := 288; goto CFG_47571; CFG_47571: assume true; call routine_#34637_checknext(local_#5975_ls,local_#23176); goto CFG_47572; CFG_47572: assume true; call local_#23177 := routine_#33791_luaK_getlabel(local_#32439_fs); goto CFG_47573; CFG_47573: assume true; call local_#23178 := routine_#34960_newlabelentry(local_#5975_ls,local_#32441_ll,local_#5976_label,local_#5977_line,local_#23177); goto CFG_43792; CFG_43792: assume true; local_#32440_l := local_#23178; goto CFG_47574; CFG_47574: assume true; call routine_#35074_skipnoopstat(local_#5975_ls); goto CFG_43793; CFG_43793: assume true; local_#23179 := 0; goto CFG_47575; CFG_47575: assume true; call local_#23180 := routine_#34612_block_follow(local_#5975_ls,local_#23179); goto CFG_50682; CFG_50682: assume true; local_#23181 := local_#23180; if (local_#23181 != 0) { goto CFG_40993; } else { goto CFG_43794; } CFG_40993: assume true; local_#23182 := _memory_ptr[{ base : local_#32439_fs!base, offset : local_#32439_fs!offset + 24 }]; local_#23183 := { base : _memory_ptr[{ base : local_#32441_ll!base, offset : local_#32441_ll!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32441_ll!base, offset : local_#32441_ll!offset + 0 }]!offset + local_#32440_l * 24 }; _memory[{ base : local_#23183!base, offset : local_#23183!offset + 16 }] := _memory[{ base : local_#23182!base, offset : local_#23182!offset + 16 }]; goto CFG_43794; CFG_43794: assume true; local_#23184 := { base : _memory_ptr[{ base : local_#32441_ll!base, offset : local_#32441_ll!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32441_ll!base, offset : local_#32441_ll!offset + 0 }]!offset + local_#32440_l * 24 }; goto CFG_47576; CFG_47576: assume true; call routine_#34742_findgotos(local_#5975_ls,local_#23184); goto CFG_39354; CFG_39354: assume true; goto CFG_37751; CFG_37751: assume true; } procedure routine_#34853_laction(local_#5978_i_IN : int) returns () modifies _memory, _memory_ptr; { var local_#5978_i : int; var local_#23185 : { base : int, offset : int }; var local_#23186 : { base : int, offset : int }; var local_#23187 : { base : int, offset : int }; var local_#23188 : int; var local_#23189 : int; local_#5978_i := local_#5978_i_IN; goto CFG_36841; CFG_36841: assume true; goto CFG_43795; CFG_43795: assume true; local_#23185 := { base : 0, offset : 0 }; goto CFG_47577; CFG_47577: assume true; call local_#23186 := routine_#34416_signal(local_#5978_i,local_#23185); goto CFG_43796; CFG_43796: assume true; local_#23187 := fun_addr_#34870_lstop; local_#23188 := 11; local_#23189 := 1; goto CFG_47578; CFG_47578: assume true; call routine_#33982_lua_sethook(global_#33056_globalL,local_#23187,local_#23188,local_#23189); goto CFG_39355; CFG_39355: assume true; goto CFG_37752; CFG_37752: assume true; } procedure routine_#34854_lastlevel(local_#5979_L_IN : { base : int, offset : int }) returns (local_#8114 : int) modifies _memory_ptr; { var local_#5979_L : { base : int, offset : int }; var local_#32444_li : int; var local_#32443_le : int; var local_#32442_ar : { base : int, offset : int }; var local_#23190 : { base : int, offset : int }; var local_#23191 : int; var local_#23192 : int; var local_#23193 : int; var local_#23194 : int; var local_#23195 : int; var local_#23196 : int; var local_#23197 : int; var local_#23198 : int; var local_#32445_m : int; var local_#23199 : { base : int, offset : int }; var local_#23200 : int; var local_#23201 : int; var local_#23202 : int; var local_#23203 : int; var local_#23204 : int; local_#5979_L := local_#5979_L_IN; goto CFG_36842; CFG_36842: assume true; goto CFG_41770; CFG_41770: assume true; local_#32444_li := 1; local_#32443_le := 1; goto CFG_43797; CFG_43797: assume true; local_#23190 := local_#32442_ar; goto CFG_47579; CFG_47579: assume true; call local_#23191 := routine_#33939_lua_getstack(local_#5979_L,local_#32443_le,local_#23190); goto CFG_50683; CFG_50683: assume true; local_#23192 := local_#23191; if (local_#23192 != 0) { goto CFG_45112; } else { goto CFG_41771; } CFG_41771: assume true; goto CFG_50684; CFG_50684: assume true; local_#23193 := (if local_#32444_li < local_#32443_le then 1 else 0); if (local_#23193 != 0) { goto CFG_43798; } else { goto CFG_38703; } CFG_38703: assume true; local_#23194 := 1; local_#23195 := local_#32443_le - local_#23194; assert { :LIR "68076" } { :check "overflow" } { :finding_ids "0" } local_#23195 <= 2147483647; local_#8114 := local_#23195; goto CFG_37753; CFG_43798: assume true; local_#23196 := local_#32444_li + local_#32443_le; assert { :LIR "66691" } { :check "overflow" } { :finding_ids "0" } local_#23196 <= 2147483647; local_#23197 := 2; local_#23198 := local_#23196 / local_#23197; assert { :LIR "68647" } { :check "overflow" } { :finding_ids "0" } local_#23198 <= 2147483647; local_#32445_m := local_#23198; local_#23199 := local_#32442_ar; goto CFG_47580; CFG_47580: assume true; call local_#23200 := routine_#33939_lua_getstack(local_#5979_L,local_#32445_m,local_#23199); goto CFG_50685; CFG_50685: assume true; local_#23201 := local_#23200; if (local_#23201 != 0) { goto CFG_40995; } else { goto CFG_40994; } CFG_40994: assume true; local_#32443_le := local_#32445_m; goto CFG_45111; CFG_40995: assume true; local_#23202 := 1; local_#23203 := local_#32445_m + local_#23202; assert { :LIR "66692" } { :check "overflow" } { :finding_ids "0" } local_#23203 <= 2147483647; local_#32444_li := local_#23203; goto CFG_45111; CFG_45111: assume true; goto CFG_50684; CFG_45112: assume true; local_#32444_li := local_#32443_le; local_#23204 := 2; local_#32443_le := local_#32443_le * local_#23204; assert { :LIR "68583" } { :check "overflow" } { :finding_ids "0" } local_#32443_le <= 2147483647; goto CFG_43797; CFG_37753: assume true; } procedure routine_#34855_lastlistfield(local_#5980_fs_IN : { base : int, offset : int }, local_#5981_cc_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5980_fs : { base : int, offset : int }; var local_#5981_cc : { base : int, offset : int }; var local_#23205 : int; var local_#23206 : int; var local_#23207 : int; var local_#23208 : int; var local_#23209 : int; var local_#23210 : int; var local_#23211 : int; var local_#23212 : int; var local_#23213 : int; var local_#23214 : int; var local_#23215 : int; var local_#23216 : { base : int, offset : int }; var local_#23217 : { base : int, offset : int }; var local_#23218 : { base : int, offset : int }; var local_#23219 : int; var local_#23220 : int; var local_#23221 : int; var local_#23222 : { base : int, offset : int }; var local_#23223 : int; var local_#23224 : { base : int, offset : int }; var local_#23225 : { base : int, offset : int }; var local_#23226 : int; var local_#23227 : int; var local_#23228 : int; var local_#23229 : int; var local_#23230 : int; var local_#23231 : int; local_#5980_fs := local_#5980_fs_IN; local_#5981_cc := local_#5981_cc_IN; goto CFG_36843; CFG_36843: assume true; goto CFG_50686; CFG_50686: assume true; local_#23205 := 0; local_#23206 := (if _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 40 }] == local_#23205 then 1 else 0); if (local_#23206 != 0) { goto CFG_39357; } else { goto CFG_50687; } CFG_50687: assume true; local_#23207 := ~uwrap32(_memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 0 }]); assert { :LIR "63448" } { :check "overflow" } { :finding_ids "0" } true; local_#23208 := 13; local_#23209 := (if local_#23207 == local_#23208 then 1 else 0); if (local_#23209 != 0) { goto CFG_43801; } else { goto CFG_50688; } CFG_50688: assume true; local_#23210 := ~uwrap32(_memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 0 }]); assert { :LIR "63449" } { :check "overflow" } { :finding_ids "0" } true; local_#23211 := 14; local_#23212 := (if local_#23210 == local_#23211 then 1 else 0); if (local_#23212 != 0) { goto CFG_43801; } else { goto CFG_50689; } CFG_50689: assume true; local_#23213 := ~uwrap32(_memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 0 }]); assert { :LIR "63450" } { :check "overflow" } { :finding_ids "0" } true; local_#23214 := 0; local_#23215 := (if local_#23213 != local_#23214 then 1 else 0); if (local_#23215 != 0) { goto CFG_43799; } else { goto CFG_43800; } CFG_43799: assume true; local_#23216 := { base : local_#5981_cc!base, offset : local_#5981_cc!offset + 0 }; goto CFG_47581; CFG_47581: assume true; call routine_#33788_luaK_exp2nextreg(local_#5980_fs,local_#23216); goto CFG_40996; CFG_40996: assume true; goto CFG_43800; CFG_43800: assume true; local_#23217 := _memory_ptr[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 24 }]; local_#23218 := { base : local_#23217!base, offset : local_#23217!offset + 8 }; local_#23219 := _memory[local_#23218]; local_#23220 := _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 36 }]; local_#23221 := _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 40 }]; goto CFG_47582; CFG_47582: assume true; call routine_#33807_luaK_setlist(local_#5980_fs,local_#23219,local_#23220,local_#23221); goto CFG_40997; CFG_40997: assume true; goto CFG_39356; CFG_43801: assume true; local_#23222 := { base : local_#5981_cc!base, offset : local_#5981_cc!offset + 0 }; local_#23223 := -1; goto CFG_47583; CFG_47583: assume true; call routine_#33809_luaK_setreturns(local_#5980_fs,local_#23222,local_#23223); goto CFG_43802; CFG_43802: assume true; local_#23224 := _memory_ptr[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 24 }]; local_#23225 := { base : local_#23224!base, offset : local_#23224!offset + 8 }; local_#23226 := _memory[local_#23225]; local_#23227 := _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 36 }]; local_#23228 := -1; goto CFG_47584; CFG_47584: assume true; call routine_#33807_luaK_setlist(local_#5980_fs,local_#23226,local_#23227,local_#23228); goto CFG_40998; CFG_40998: assume true; local_#23229 := _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 36 }]; local_#23230 := 1; _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 36 }] := local_#23229 - local_#23230; assert { :LIR "68077" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#5981_cc!base, offset : local_#5981_cc!offset + 36 }] <= -1; local_#23231 := local_#23229; goto CFG_39356; CFG_39356: assume true; goto CFG_37754; CFG_39357: assume true; goto CFG_37754; CFG_37754: assume true; } procedure routine_#34856_leaveblock(local_#5982_fs_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5982_fs : { base : int, offset : int }; var local_#32446_bl : { base : int, offset : int }; var local_#32447_ls : { base : int, offset : int }; var local_#23232 : { base : int, offset : int }; var local_#23233 : int; var local_#23234 : int; var local_#32448_j : int; var local_#23235 : int; var local_#23236 : int; var local_#23237 : int; var local_#23238 : int; var local_#23239 : int; var local_#23240 : { base : int, offset : int }; var local_#23241 : { base : int, offset : int }; var local_#23242 : { base : int, offset : int }; var local_#23243 : int; var local_#23244 : { base : int, offset : int }; var local_#23245 : { base : int, offset : int }; local_#5982_fs := local_#5982_fs_IN; goto CFG_36844; CFG_36844: assume true; goto CFG_50690; CFG_50690: assume true; local_#32446_bl := _memory_ptr[{ base : local_#5982_fs!base, offset : local_#5982_fs!offset + 24 }]; local_#32447_ls := _memory_ptr[{ base : local_#5982_fs!base, offset : local_#5982_fs!offset + 16 }]; local_#23232 := _memory_ptr[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 0 }]; if (local_#23232 != { base : 0, offset : 0 }) { goto CFG_50691; } else { goto CFG_50692; } CFG_50691: assume true; local_#23233 := _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 17 }]; if (local_#23233 != 0) { goto CFG_47585; } else { goto CFG_50692; } CFG_47585: assume true; call local_#23234 := routine_#33797_luaK_jump(local_#5982_fs); goto CFG_43803; CFG_43803: assume true; local_#32448_j := local_#23234; local_#23235 := _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 16 }]; assert { :LIR "63451" } { :check "overflow" } { :finding_ids "0" } local_#23235 <= 2147483647; goto CFG_47586; CFG_47586: assume true; call routine_#33799_luaK_patchclose(local_#5982_fs,local_#32448_j,local_#23235); goto CFG_47587; CFG_47587: assume true; call routine_#33801_luaK_patchtohere(local_#5982_fs,local_#32448_j); goto CFG_40999; CFG_40999: assume true; goto CFG_50692; CFG_50692: assume true; local_#23236 := _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 18 }]; if (local_#23236 != 0) { goto CFG_47588; } else { goto CFG_43804; } CFG_47588: assume true; call routine_#34616_breaklabel(local_#32447_ls); goto CFG_41000; CFG_41000: assume true; goto CFG_43804; CFG_43804: assume true; _memory_ptr[{ base : local_#5982_fs!base, offset : local_#5982_fs!offset + 24 }] := _memory_ptr[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 0 }]; local_#23237 := _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 16 }]; assert { :LIR "63452" } { :check "overflow" } { :finding_ids "0" } local_#23237 <= 2147483647; goto CFG_47589; CFG_47589: assume true; call routine_#35031_removevars(local_#5982_fs,local_#23237); goto CFG_50693; CFG_50693: assume true; local_#23238 := 0; local_#23239 := 0; assert { :LIR "61683" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#5982_fs!base, offset : local_#5982_fs!offset + 60 }] := _memory[{ base : local_#5982_fs!base, offset : local_#5982_fs!offset + 58 }]; local_#23240 := _memory_ptr[{ base : local_#32447_ls!base, offset : local_#32447_ls!offset + 88 }]; _memory[{ base : local_#23240!base, offset : local_#23240!offset + 40 }] := _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 8 }]; local_#23241 := _memory_ptr[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 0 }]; if (local_#23241 != { base : 0, offset : 0 }) { goto CFG_47591; } else { goto CFG_50694; } CFG_50694: assume true; local_#23242 := _memory_ptr[{ base : local_#32447_ls!base, offset : local_#32447_ls!offset + 88 }]; local_#23243 := (if _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 12 }] < _memory[{ base : local_#23242!base, offset : local_#23242!offset + 24 }] then 1 else 0); if (local_#23243 != 0) { goto CFG_43805; } else { goto CFG_41001; } CFG_41001: assume true; goto CFG_39358; CFG_43805: assume true; local_#23244 := _memory_ptr[{ base : local_#32447_ls!base, offset : local_#32447_ls!offset + 88 }]; local_#23245 := { base : _memory_ptr[{ base : local_#23244!base, offset : local_#23244!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#23244!base, offset : local_#23244!offset + 16 }]!offset + _memory[{ base : local_#32446_bl!base, offset : local_#32446_bl!offset + 12 }] * 24 }; goto CFG_47590; CFG_47590: assume true; call routine_#35133_undefgoto(local_#32447_ls,local_#23245); CFG_47591: assume true; call routine_#34950_movegotosout(local_#5982_fs,local_#32446_bl); goto CFG_41002; CFG_41002: assume true; goto CFG_39358; CFG_39358: assume true; goto CFG_37755; CFG_37755: assume true; } procedure routine_#34857_lexerror(local_#5983_ls_IN : { base : int, offset : int }, local_#5984_msg_IN : { base : int, offset : int }, local_#5985_token_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#5983_ls : { base : int, offset : int }; var local_#5984_msg : { base : int, offset : int }; var local_#5985_token : int; var local_#23246 : { base : int, offset : int }; var local_#23247 : { base : int, offset : int }; var local_#23248 : int; var local_#23249 : { base : int, offset : int }; var local_#23250 : int; var local_#23251 : { base : int, offset : int }; var local_#23252 : { base : int, offset : int }; var local_#23253 : { base : int, offset : int }; var local_#23254 : { base : int, offset : int }; var local_#23255 : { base : int, offset : int }; var local_#23256 : { base : int, offset : int }; var local_#23257 : int; local_#5983_ls := local_#5983_ls_IN; local_#5984_msg := local_#5984_msg_IN; local_#5985_token := local_#5985_token_IN; goto CFG_36845; CFG_36845: assume true; goto CFG_43806; CFG_43806: assume true; local_#23246 := _memory_ptr[{ base : local_#5983_ls!base, offset : local_#5983_ls!offset + 56 }]; local_#23247 := _memory_ptr[{ base : local_#5983_ls!base, offset : local_#5983_ls!offset + 96 }]; local_#23248 := _memory[{ base : local_#5983_ls!base, offset : local_#5983_ls!offset + 4 }]; goto CFG_47592; CFG_47592: assume true; call local_#23249 := routine_#33757_luaG_addinfo(local_#23246,local_#5984_msg,local_#23247,local_#23248); goto CFG_50695; CFG_50695: assume true; local_#5984_msg := local_#23249; local_#23250 := local_#5985_token; if (local_#23250 != 0) { goto CFG_43807; } else { goto CFG_43808; } CFG_43807: assume true; local_#23251 := _memory_ptr[{ base : local_#5983_ls!base, offset : local_#5983_ls!offset + 56 }]; assume _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 0 }] == 37 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 1 }] == 115 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 2 }] == 32 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 3 }] == 110 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 4 }] == 101 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 5 }] == 97 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 6 }] == 114 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 7 }] == 32 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 8 }] == 37 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 9 }] == 115 && _memory[{ base : strlit_#70657!base, offset : strlit_#70657!offset + 10 }] == 0; local_#23252 := strlit_#70657; local_#23253 := { base : local_#23252!base, offset : local_#23252!offset + 0 * 1 }; assert { :LIR "63453" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47593; CFG_47593: assume true; call local_#23254 := routine_#35128_txtToken(local_#5983_ls,local_#5985_token); goto CFG_47594; CFG_47594: assume true; call local_#23255 := routine_#33865_luaO_pushfstring(local_#23251,local_#23253,{ base : 0, offset : 0 }); goto CFG_41003; CFG_41003: assume true; goto CFG_43808; CFG_43808: assume true; local_#23256 := _memory_ptr[{ base : local_#5983_ls!base, offset : local_#5983_ls!offset + 56 }]; local_#23257 := 3; goto CFG_47595; CFG_47595: assume true; call routine_#33743_luaD_throw(local_#23256,local_#23257); CFG_39359: assume true; goto CFG_37756; CFG_37756: assume true; } procedure routine_#34858_listfield(local_#5986_ls_IN : { base : int, offset : int }, local_#5987_cc_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#5986_ls : { base : int, offset : int }; var local_#5987_cc : { base : int, offset : int }; var local_#23258 : { base : int, offset : int }; var local_#23259 : { base : int, offset : int }; var local_#23260 : int; var local_#23261 : int; var local_#23262 : { base : int, offset : int }; var local_#23263 : { base : int, offset : int }; var local_#23264 : int; var local_#23265 : int; var local_#23266 : int; var local_#23267 : int; var local_#23268 : int; var local_#23269 : int; local_#5986_ls := local_#5986_ls_IN; local_#5987_cc := local_#5987_cc_IN; goto CFG_36846; CFG_36846: assume true; goto CFG_43809; CFG_43809: assume true; local_#23258 := { base : local_#5987_cc!base, offset : local_#5987_cc!offset + 0 }; goto CFG_47596; CFG_47596: assume true; call routine_#34721_expr(local_#5986_ls,local_#23258); goto CFG_43810; CFG_43810: assume true; local_#23259 := _memory_ptr[{ base : local_#5986_ls!base, offset : local_#5986_ls!offset + 48 }]; local_#23260 := _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 36 }]; local_#23261 := 2147483647; assume _memory[{ base : strlit_#70658!base, offset : strlit_#70658!offset + 22 }] == 0; local_#23262 := strlit_#70658; local_#23263 := { base : local_#23262!base, offset : local_#23262!offset + 0 * 1 }; assert { :LIR "63454" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47597; CFG_47597: assume true; call routine_#34632_checklimit(local_#23259,local_#23260,local_#23261,local_#23263); goto CFG_39360; CFG_39360: assume true; local_#23264 := _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 36 }]; local_#23265 := 1; _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 36 }] := local_#23264 + local_#23265; assert { :LIR "66693" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 36 }] <= -1; local_#23266 := local_#23264; local_#23267 := _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 40 }]; local_#23268 := 1; _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 40 }] := local_#23267 + local_#23268; assert { :LIR "66694" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#5987_cc!base, offset : local_#5987_cc!offset + 40 }] <= -1; local_#23269 := local_#23267; goto CFG_37757; CFG_37757: assume true; } procedure routine_#34859_ll_loadlib(local_#5988_L_IN : { base : int, offset : int }) returns (local_#8115 : int) modifies _memory, _memory_ptr, _valid; { var local_#5988_L : { base : int, offset : int }; var local_#23270 : int; var local_#23271 : { base : int, offset : int }; var local_#23272 : { base : int, offset : int }; var local_#32450_path : { base : int, offset : int }; var local_#23273 : int; var local_#23274 : { base : int, offset : int }; var local_#23275 : { base : int, offset : int }; var local_#32449_init : { base : int, offset : int }; var local_#23276 : int; var local_#32451_stat : int; var local_#23277 : int; var local_#23278 : int; var local_#23279 : int; var local_#23280 : int; var local_#23281 : int; var local_#23282 : int; var local_#23283 : { base : int, offset : int }; var local_#30795 : { base : int, offset : int }; var local_#23284 : { base : int, offset : int }; var local_#23285 : { base : int, offset : int }; var local_#23286 : { base : int, offset : int }; local_#5988_L := local_#5988_L_IN; goto CFG_36847; CFG_36847: assume true; goto CFG_43811; CFG_43811: assume true; local_#23270 := 1; local_#23271 := { base : 0, offset : 0 }; goto CFG_47598; CFG_47598: assume true; call local_#23272 := routine_#33821_luaL_checklstring(local_#5988_L,local_#23270,local_#23271); goto CFG_43812; CFG_43812: assume true; local_#32450_path := local_#23272; local_#23273 := 2; local_#23274 := { base : 0, offset : 0 }; goto CFG_47599; CFG_47599: assume true; call local_#23275 := routine_#33821_luaL_checklstring(local_#5988_L,local_#23273,local_#23274); goto CFG_43813; CFG_43813: assume true; local_#32449_init := local_#23275; goto CFG_47600; CFG_47600: assume true; call local_#23276 := routine_#34869_lookforfunc(local_#5988_L,local_#32450_path,local_#32449_init); goto CFG_50696; CFG_50696: assume true; local_#32451_stat := local_#23276; local_#23277 := 0; local_#23278 := (if local_#32451_stat == local_#23277 then 1 else 0); if (local_#23278 != 0) { goto CFG_38705; } else { goto CFG_47601; } CFG_47601: assume true; call routine_#33963_lua_pushnil(local_#5988_L); goto CFG_43814; CFG_43814: assume true; local_#23279 := -2; local_#23280 := 1; goto CFG_47602; CFG_47602: assume true; call routine_#33978_lua_rotate(local_#5988_L,local_#23279,local_#23280); goto CFG_50697; CFG_50697: assume true; local_#23281 := 1; local_#23282 := (if local_#32451_stat == local_#23281 then 1 else 0); if (local_#23282 != 0) { goto CFG_41005; } else { goto CFG_41004; } CFG_41004: assume true; assume _memory[{ base : strlit_#70659!base, offset : strlit_#70659!offset + 0 }] == 105 && _memory[{ base : strlit_#70659!base, offset : strlit_#70659!offset + 1 }] == 110 && _memory[{ base : strlit_#70659!base, offset : strlit_#70659!offset + 2 }] == 105 && _memory[{ base : strlit_#70659!base, offset : strlit_#70659!offset + 3 }] == 116 && _memory[{ base : strlit_#70659!base, offset : strlit_#70659!offset + 4 }] == 0; local_#23283 := strlit_#70659; local_#30795 := { base : local_#23283!base, offset : local_#23283!offset + 0 * 1 }; goto CFG_43815; CFG_41005: assume true; assume _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 0 }] == 111 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 1 }] == 112 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 2 }] == 101 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 3 }] == 110 && _memory[{ base : strlit_#70324!base, offset : strlit_#70324!offset + 4 }] == 0; local_#23284 := strlit_#70324; local_#30795 := { base : local_#23284!base, offset : local_#23284!offset + 0 * 1 }; goto CFG_43815; CFG_43815: assume true; local_#23285 := local_#30795; assert { :LIR "63455" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47603; CFG_47603: assume true; call local_#23286 := routine_#33965_lua_pushstring(local_#5988_L,local_#23285); goto CFG_38704; CFG_38704: assume true; local_#8115 := 3; goto CFG_37758; CFG_38705: assume true; local_#8115 := 1; goto CFG_37758; CFG_37758: assume true; } procedure routine_#34860_ll_require(local_#5989_L_IN : { base : int, offset : int }) returns (local_#8116 : int) modifies _memory, _memory_ptr, _valid; { var local_#5989_L : { base : int, offset : int }; var local_#23287 : int; var local_#23288 : { base : int, offset : int }; var local_#23289 : { base : int, offset : int }; var local_#32452_name : { base : int, offset : int }; var local_#23290 : int; var local_#23291 : int; var local_#23292 : { base : int, offset : int }; var local_#23293 : { base : int, offset : int }; var local_#23294 : int; var local_#23295 : int; var local_#23296 : int; var local_#23297 : int; var local_#23298 : int; var local_#23299 : int; var local_#23300 : int; var local_#23301 : { base : int, offset : int }; var local_#23302 : int; var local_#23303 : int; var local_#23304 : int; var local_#23305 : int; var local_#23306 : int; var local_#23307 : { base : int, offset : int }; var local_#23308 : int; var local_#23309 : int; var local_#23310 : int; var local_#23311 : int; var local_#23312 : int; var local_#23313 : int; var local_#23314 : int; var local_#23315 : int; var local_#23316 : int; var local_#23317 : int; var local_#23318 : int; var local_#23319 : int; var local_#23320 : int; local_#5989_L := local_#5989_L_IN; goto CFG_36848; CFG_36848: assume true; goto CFG_43816; CFG_43816: assume true; local_#23287 := 1; local_#23288 := { base : 0, offset : 0 }; goto CFG_47604; CFG_47604: assume true; call local_#23289 := routine_#33821_luaL_checklstring(local_#5989_L,local_#23287,local_#23288); goto CFG_43817; CFG_43817: assume true; local_#32452_name := local_#23289; local_#23290 := 1; goto CFG_47605; CFG_47605: assume true; call routine_#33987_lua_settop(local_#5989_L,local_#23290); goto CFG_43818; CFG_43818: assume true; local_#23291 := -1001000; assume _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 0 }] == 95 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 1 }] == 76 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 2 }] == 79 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 3 }] == 65 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 4 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 5 }] == 69 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 6 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 7 }] == 0; local_#23292 := strlit_#70332; local_#23293 := { base : local_#23292!base, offset : local_#23292!offset + 0 * 1 }; assert { :LIR "63456" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47606; CFG_47606: assume true; call local_#23294 := routine_#33930_lua_getfield(local_#5989_L,local_#23291,local_#23293); goto CFG_43819; CFG_43819: assume true; local_#23295 := 2; goto CFG_47607; CFG_47607: assume true; call local_#23296 := routine_#33930_lua_getfield(local_#5989_L,local_#23295,local_#32452_name); goto CFG_43820; CFG_43820: assume true; local_#23297 := -1; goto CFG_47608; CFG_47608: assume true; call local_#23298 := routine_#33992_lua_toboolean(local_#5989_L,local_#23297); goto CFG_50698; CFG_50698: assume true; local_#23299 := local_#23298; if (local_#23299 != 0) { goto CFG_38707; } else { goto CFG_43821; } CFG_43821: assume true; local_#23300 := -2; goto CFG_47609; CFG_47609: assume true; call routine_#33987_lua_settop(local_#5989_L,local_#23300); goto CFG_47610; CFG_47610: assume true; call routine_#34746_findloader(local_#5989_L,local_#32452_name); goto CFG_47611; CFG_47611: assume true; call local_#23301 := routine_#33965_lua_pushstring(local_#5989_L,local_#32452_name); goto CFG_43822; CFG_43822: assume true; local_#23302 := -2; local_#23303 := 1; goto CFG_47612; CFG_47612: assume true; call routine_#33978_lua_rotate(local_#5989_L,local_#23302,local_#23303); goto CFG_43823; CFG_43823: assume true; local_#23304 := 2; local_#23305 := 1; local_#23306 := 0; local_#23307 := { base : 0, offset : 0 }; goto CFG_47613; CFG_47613: assume true; call routine_#33919_lua_callk(local_#5989_L,local_#23304,local_#23305,local_#23306,local_#23307); goto CFG_43824; CFG_43824: assume true; local_#23308 := -1; goto CFG_47614; CFG_47614: assume true; call local_#23309 := routine_#34000_lua_type(local_#5989_L,local_#23308); goto CFG_50699; CFG_50699: assume true; local_#23310 := 0; local_#23311 := (if local_#23309 == local_#23310 then 1 else 0); local_#23312 := (if local_#23311 != 0 then 0 else 1); if (local_#23312 != 0) { goto CFG_43825; } else { goto CFG_43826; } CFG_43825: assume true; local_#23313 := 2; goto CFG_47615; CFG_47615: assume true; call routine_#33980_lua_setfield(local_#5989_L,local_#23313,local_#32452_name); goto CFG_41006; CFG_41006: assume true; goto CFG_43826; CFG_43826: assume true; local_#23314 := 2; goto CFG_47616; CFG_47616: assume true; call local_#23315 := routine_#33930_lua_getfield(local_#5989_L,local_#23314,local_#32452_name); goto CFG_50700; CFG_50700: assume true; local_#23316 := 0; local_#23317 := (if local_#23315 == local_#23316 then 1 else 0); if (local_#23317 != 0) { goto CFG_43827; } else { goto CFG_38706; } CFG_43827: assume true; local_#23318 := 1; goto CFG_47617; CFG_47617: assume true; call routine_#33957_lua_pushboolean(local_#5989_L,local_#23318); goto CFG_43828; CFG_43828: assume true; local_#23319 := -1; goto CFG_47618; CFG_47618: assume true; call routine_#33967_lua_pushvalue(local_#5989_L,local_#23319); goto CFG_43829; CFG_43829: assume true; local_#23320 := 2; goto CFG_47619; CFG_47619: assume true; call routine_#33980_lua_setfield(local_#5989_L,local_#23320,local_#32452_name); goto CFG_41007; CFG_41007: assume true; goto CFG_38706; CFG_38706: assume true; local_#8116 := 1; goto CFG_37759; CFG_38707: assume true; local_#8116 := 1; goto CFG_37759; CFG_37759: assume true; } procedure routine_#34861_ll_searchpath(local_#5990_L_IN : { base : int, offset : int }) returns (local_#8117 : int) modifies _memory, _memory_ptr, _valid; { var local_#5990_L : { base : int, offset : int }; var local_#23321 : int; var local_#23322 : { base : int, offset : int }; var local_#23323 : { base : int, offset : int }; var local_#23324 : int; var local_#23325 : { base : int, offset : int }; var local_#23326 : { base : int, offset : int }; var local_#23327 : int; var local_#23328 : { base : int, offset : int }; var local_#23329 : { base : int, offset : int }; var local_#23330 : { base : int, offset : int }; var local_#23331 : { base : int, offset : int }; var local_#23332 : int; var local_#23333 : { base : int, offset : int }; var local_#23334 : { base : int, offset : int }; var local_#23335 : { base : int, offset : int }; var local_#23336 : { base : int, offset : int }; var local_#23337 : { base : int, offset : int }; var local_#32453_f : { base : int, offset : int }; var local_#23338 : { base : int, offset : int }; var local_#23339 : int; var local_#23340 : int; var local_#23341 : int; local_#5990_L := local_#5990_L_IN; goto CFG_36849; CFG_36849: assume true; goto CFG_43830; CFG_43830: assume true; local_#23321 := 1; local_#23322 := { base : 0, offset : 0 }; goto CFG_47620; CFG_47620: assume true; call local_#23323 := routine_#33821_luaL_checklstring(local_#5990_L,local_#23321,local_#23322); goto CFG_43831; CFG_43831: assume true; local_#23324 := 2; local_#23325 := { base : 0, offset : 0 }; goto CFG_47621; CFG_47621: assume true; call local_#23326 := routine_#33821_luaL_checklstring(local_#5990_L,local_#23324,local_#23325); goto CFG_43832; CFG_43832: assume true; local_#23327 := 3; assume _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 0 }] == 46 && _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 1 }] == 0; local_#23328 := strlit_#70556; local_#23329 := { base : local_#23328!base, offset : local_#23328!offset + 0 * 1 }; assert { :LIR "63457" } { :check "overflow" } { :finding_ids "0" } true; local_#23330 := { base : 0, offset : 0 }; goto CFG_47622; CFG_47622: assume true; call local_#23331 := routine_#33842_luaL_optlstring(local_#5990_L,local_#23327,local_#23329,local_#23330); goto CFG_43833; CFG_43833: assume true; local_#23332 := 4; assume _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 0 }] == 47 && _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 1 }] == 0; local_#23333 := strlit_#70663; local_#23334 := { base : local_#23333!base, offset : local_#23333!offset + 0 * 1 }; assert { :LIR "63458" } { :check "overflow" } { :finding_ids "0" } true; local_#23335 := { base : 0, offset : 0 }; goto CFG_47623; CFG_47623: assume true; call local_#23336 := routine_#33842_luaL_optlstring(local_#5990_L,local_#23332,local_#23334,local_#23335); goto CFG_47624; CFG_47624: assume true; call local_#23337 := routine_#35049_searchpath(local_#5990_L,local_#23323,local_#23326,local_#23331,local_#23336); goto CFG_50701; CFG_50701: assume true; local_#32453_f := local_#23337; local_#23338 := { base : 0, offset : 0 }; local_#23339 := (if local_#32453_f != local_#23338 then 1 else 0); if (local_#23339 != 0) { goto CFG_38709; } else { goto CFG_47625; } CFG_47625: assume true; call routine_#33963_lua_pushnil(local_#5990_L); goto CFG_43834; CFG_43834: assume true; local_#23340 := -2; local_#23341 := 1; goto CFG_47626; CFG_47626: assume true; call routine_#33978_lua_rotate(local_#5990_L,local_#23340,local_#23341); goto CFG_38708; CFG_38708: assume true; local_#8117 := 2; goto CFG_37760; CFG_38709: assume true; local_#8117 := 1; goto CFG_37760; CFG_37760: assume true; } procedure routine_#34862_llex(local_#5991_ls_IN : { base : int, offset : int }, local_#5992_seminfo_IN : { base : int, offset : int }) returns (local_#8118 : int) modifies _memory, _memory_ptr, _valid; { var local_#5991_ls : { base : int, offset : int }; var local_#5992_seminfo : { base : int, offset : int }; var local_#23342 : int; var local_#23343 : { base : int, offset : int }; var local_#23344 : int; var local_#23345 : int; var local_#23346 : int; var local_#23347 : int; var local_#23348 : int; var local_#23349 : int; var local_#23350 : int; var local_#32457_c : int; var local_#23351 : { base : int, offset : int }; var local_#23352 : int; var local_#23353 : int; var local_#23354 : int; var local_#23355 : int; var local_#23356 : { base : int, offset : int }; var local_#23357 : int; var local_#30796 : int; var local_#23358 : { base : int, offset : int }; var local_#23359 : { base : int, offset : int }; var local_#23360 : int; var local_#23361 : int; var local_#23362 : int; var local_#23363 : int; var local_#23364 : { base : int, offset : int }; var local_#23365 : int; var local_#23366 : int; var local_#23367 : int; var local_#23368 : int; var local_#23369 : { base : int, offset : int }; var local_#23370 : int; var local_#30797 : int; var local_#23371 : { base : int, offset : int }; var local_#23372 : { base : int, offset : int }; var local_#23373 : int; var local_#23374 : int; var local_#23375 : int; var local_#23376 : int; var local_#23377 : int; var local_#23378 : int; var local_#23379 : int; var local_#23380 : int; var local_#23381 : int; var local_#23382 : int; var local_#23383 : { base : int, offset : int }; var local_#23384 : { base : int, offset : int }; var local_#23385 : { base : int, offset : int }; var local_#23386 : int; var local_#23387 : { base : int, offset : int }; var local_#32456_ts : { base : int, offset : int }; var local_#23388 : { base : int, offset : int }; var local_#23389 : int; var local_#23390 : int; var local_#23391 : int; var local_#23392 : int; var local_#23393 : int; var local_#23394 : int; var local_#23395 : int; var local_#23396 : int; var local_#23397 : int; var local_#23398 : int; var local_#23399 : int; var local_#23400 : int; var local_#23401 : int; var local_#23402 : { base : int, offset : int }; var local_#23403 : int; var local_#23404 : int; var local_#23405 : int; var local_#23406 : int; var local_#23407 : { base : int, offset : int }; var local_#23408 : int; var local_#30798 : int; var local_#23409 : { base : int, offset : int }; var local_#23410 : { base : int, offset : int }; var local_#23411 : int; var local_#23412 : int; var local_#23413 : int; var local_#23414 : int; var local_#23415 : int; var local_#23416 : int; var local_#23417 : int; var local_#23418 : int; var local_#23419 : int; var local_#23420 : int; var local_#23421 : int; var local_#23422 : int; var local_#23423 : int; var local_#23424 : int; var local_#23425 : int; var local_#23426 : int; var local_#23427 : int; var local_#23428 : int; var local_#23429 : int; var local_#23430 : { base : int, offset : int }; var local_#23431 : int; var local_#23432 : int; var local_#23433 : int; var local_#23434 : int; var local_#23435 : { base : int, offset : int }; var local_#23436 : int; var local_#30799 : int; var local_#23437 : { base : int, offset : int }; var local_#23438 : { base : int, offset : int }; var local_#23439 : int; var local_#23440 : int; var local_#23441 : int; var local_#23442 : int; var local_#23443 : int; var local_#23444 : int; var local_#23445 : { base : int, offset : int }; var local_#23446 : int; var local_#23447 : int; var local_#23448 : int; var local_#23449 : int; var local_#23450 : { base : int, offset : int }; var local_#23451 : int; var local_#30800 : int; var local_#23452 : { base : int, offset : int }; var local_#23453 : { base : int, offset : int }; var local_#23454 : int; var local_#23455 : int; var local_#23456 : int; var local_#23457 : int; var local_#23458 : int; var local_#23459 : int; var local_#23460 : { base : int, offset : int }; var local_#23461 : int; var local_#23462 : int; var local_#23463 : int; var local_#23464 : int; var local_#23465 : { base : int, offset : int }; var local_#23466 : int; var local_#30801 : int; var local_#23467 : { base : int, offset : int }; var local_#23468 : { base : int, offset : int }; var local_#23469 : int; var local_#23470 : int; var local_#23471 : int; var local_#23472 : int; var local_#23473 : int; var local_#23474 : int; var local_#23475 : { base : int, offset : int }; var local_#23476 : int; var local_#23477 : int; var local_#23478 : int; var local_#23479 : int; var local_#23480 : { base : int, offset : int }; var local_#23481 : int; var local_#30802 : int; var local_#23482 : { base : int, offset : int }; var local_#23483 : { base : int, offset : int }; var local_#23484 : int; var local_#23485 : int; var local_#23486 : int; var local_#23487 : int; var local_#23488 : int; var local_#23489 : int; var local_#23490 : int; var local_#23491 : int; var local_#23492 : int; var local_#23493 : { base : int, offset : int }; var local_#23494 : int; var local_#23495 : int; var local_#23496 : int; var local_#23497 : int; var local_#23498 : { base : int, offset : int }; var local_#23499 : int; var local_#30803 : int; var local_#23500 : { base : int, offset : int }; var local_#23501 : { base : int, offset : int }; var local_#23502 : int; var local_#23503 : int; var local_#23504 : int; var local_#23505 : int; var local_#23506 : int; var local_#23507 : int; var local_#23508 : int; var local_#23509 : int; var local_#23510 : int; var local_#23511 : { base : int, offset : int }; var local_#23512 : int; var local_#23513 : int; var local_#23514 : int; var local_#23515 : int; var local_#23516 : { base : int, offset : int }; var local_#23517 : int; var local_#30804 : int; var local_#23518 : { base : int, offset : int }; var local_#23519 : { base : int, offset : int }; var local_#23520 : int; var local_#23521 : int; var local_#23522 : int; var local_#23523 : int; var local_#23524 : int; var local_#23525 : int; var local_#23526 : int; var local_#32455_sep : int; var local_#23527 : int; var local_#23528 : int; var local_#23529 : int; var local_#23530 : int; var local_#23531 : { base : int, offset : int }; var local_#23532 : { base : int, offset : int }; var local_#23533 : int; var local_#23534 : { base : int, offset : int }; var local_#23535 : int; var local_#23536 : int; var local_#23537 : int; var local_#23538 : int; var local_#23539 : { base : int, offset : int }; var local_#23540 : int; var local_#30805 : int; var local_#23541 : { base : int, offset : int }; var local_#23542 : { base : int, offset : int }; var local_#23543 : int; var local_#23544 : int; var local_#23545 : int; var local_#23546 : int; var local_#23547 : int; var local_#23548 : { base : int, offset : int }; var local_#23549 : int; var local_#23550 : int; var local_#23551 : int; var local_#23552 : int; var local_#23553 : { base : int, offset : int }; var local_#23554 : int; var local_#30806 : int; var local_#23555 : { base : int, offset : int }; var local_#23556 : { base : int, offset : int }; var local_#23557 : int; var local_#23558 : int; var local_#23559 : int; var local_#23560 : int; var local_#23561 : int; var local_#23562 : int; var local_#32454_sep : int; var local_#23563 : int; var local_#23564 : { base : int, offset : int }; var local_#23565 : int; var local_#23566 : int; var local_#23567 : int; var local_#23568 : int; var local_#23569 : int; var local_#23570 : int; var local_#23571 : int; var local_#23572 : int; var local_#23573 : { base : int, offset : int }; var local_#23574 : int; var local_#23575 : int; var local_#23576 : int; var local_#23577 : int; var local_#23578 : { base : int, offset : int }; var local_#23579 : int; var local_#30807 : int; var local_#23580 : { base : int, offset : int }; var local_#23581 : { base : int, offset : int }; var local_#23582 : int; var local_#23583 : int; var local_#23584 : int; var local_#23585 : { base : int, offset : int }; var local_#23586 : int; var local_#23587 : { base : int, offset : int }; var local_#23588 : { base : int, offset : int }; var local_#23589 : int; var local_#23590 : int; var local_#23591 : int; var local_#23592 : int; var local_#23593 : { base : int, offset : int }; var local_#23594 : int; var local_#30808 : int; var local_#23595 : { base : int, offset : int }; var local_#23596 : { base : int, offset : int }; var local_#23597 : int; var local_#23598 : int; var local_#23599 : int; local_#5991_ls := local_#5991_ls_IN; local_#5992_seminfo := local_#5992_seminfo_IN; goto CFG_36850; CFG_36850: assume true; goto CFG_41772; CFG_41772: assume true; local_#23342 := 0; local_#23343 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 72 }]; _memory[{ base : local_#23343!base, offset : local_#23343!offset + 8 }] := local_#23342; goto CFG_50702; CFG_50702: assume true; local_#23344 := 1; if (local_#23344 != 0) { goto CFG_51550; } else { goto CFG_37761; } CFG_51550: assume true; local_#23345 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; if (local_#23345 == 10) { goto CFG_47661; } if (local_#23345 == 13) { goto CFG_47661; } if (local_#23345 == 32) { goto CFG_50738; } if (local_#23345 == 12) { goto CFG_50738; } if (local_#23345 == 9) { goto CFG_50738; } if (local_#23345 == 11) { goto CFG_50738; } if (local_#23345 == 45) { goto CFG_50729; } if (local_#23345 == 91) { goto CFG_47652; } if (local_#23345 == 61) { goto CFG_50725; } if (local_#23345 == 60) { goto CFG_50722; } if (local_#23345 == 62) { goto CFG_50719; } if (local_#23345 == 47) { goto CFG_50717; } if (local_#23345 == 126) { goto CFG_50715; } if (local_#23345 == 58) { goto CFG_50713; } if (local_#23345 == 34) { goto CFG_43844; } if (local_#23345 == 39) { goto CFG_43844; } if (local_#23345 == 46) { goto CFG_43840; } if (local_#23345 == 48) { goto CFG_47631; } if (local_#23345 == 49) { goto CFG_47631; } if (local_#23345 == 50) { goto CFG_47631; } if (local_#23345 == 51) { goto CFG_47631; } if (local_#23345 == 52) { goto CFG_47631; } if (local_#23345 == 53) { goto CFG_47631; } if (local_#23345 == 54) { goto CFG_47631; } if (local_#23345 == 55) { goto CFG_47631; } if (local_#23345 == 56) { goto CFG_47631; } if (local_#23345 == 57) { goto CFG_47631; } if (local_#23345 == -1) { goto CFG_38713; } goto CFG_50703; CFG_50703: assume true; local_#23346 := 1; local_#23347 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] + local_#23346; assert { :LIR "66695" } { :check "overflow" } { :finding_ids "0" } local_#23347 <= 2147483647; local_#23348 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23347 * 1 }]; assert { :LIR "63459" } { :check "overflow" } { :finding_ids "0" } local_#23348 <= 2147483647; local_#23349 := 1; local_#23350 := ~sand32(local_#23348, local_#23349); if (local_#23350 != 0) { goto CFG_41773; } else { goto CFG_50704; } CFG_50704: assume true; local_#32457_c := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; local_#23351 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23352 := _memory[{ base : local_#23351!base, offset : local_#23351!offset + 0 }]; local_#23353 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23351!base, offset : local_#23351!offset + 0 }] := ~uwrap64(local_#23352 - local_#23353); assert { :LIR "68078" } { :check "overflow" } { :finding_ids "0" } true; local_#23354 := 0; local_#23355 := (if local_#23352 > local_#23354 then 1 else 0); if (local_#23355 != 0) { goto CFG_41009; } else { goto CFG_43835; } CFG_43835: assume true; local_#23356 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47627; CFG_47627: assume true; call local_#23357 := routine_#33913_luaZ_fill(local_#23356); goto CFG_41008; CFG_41008: assume true; local_#30796 := local_#23357; goto CFG_38710; CFG_41009: assume true; local_#23358 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23359 := _memory_ptr[{ base : local_#23358!base, offset : local_#23358!offset + 8 }]; local_#23360 := 1; _memory_ptr[{ base : local_#23358!base, offset : local_#23358!offset + 8 }] := { base : local_#23359!base, offset : local_#23359!offset + local_#23360 * 1 }; local_#23361 := ~uwrap8(_memory[local_#23359]); assert { :LIR "61684" } { :check "overflow" } { :finding_ids "0" } true; local_#23362 := local_#23361; assert { :LIR "63460" } { :check "overflow" } { :finding_ids "0" } local_#23362 <= 2147483647; local_#30796 := local_#23362; goto CFG_38710; CFG_38710: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30796; local_#8118 := local_#32457_c; goto CFG_37761; CFG_41773: assume true; goto CFG_43836; CFG_43836: assume true; local_#23363 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; goto CFG_47628; CFG_47628: assume true; call routine_#35043_save(local_#5991_ls,local_#23363); goto CFG_50705; CFG_50705: assume true; local_#23364 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23365 := _memory[{ base : local_#23364!base, offset : local_#23364!offset + 0 }]; local_#23366 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23364!base, offset : local_#23364!offset + 0 }] := ~uwrap64(local_#23365 - local_#23366); assert { :LIR "68079" } { :check "overflow" } { :finding_ids "0" } true; local_#23367 := 0; local_#23368 := (if local_#23365 > local_#23367 then 1 else 0); if (local_#23368 != 0) { goto CFG_41011; } else { goto CFG_43837; } CFG_43837: assume true; local_#23369 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47629; CFG_47629: assume true; call local_#23370 := routine_#33913_luaZ_fill(local_#23369); goto CFG_41010; CFG_41010: assume true; local_#30797 := local_#23370; goto CFG_43838; CFG_41011: assume true; local_#23371 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23372 := _memory_ptr[{ base : local_#23371!base, offset : local_#23371!offset + 8 }]; local_#23373 := 1; _memory_ptr[{ base : local_#23371!base, offset : local_#23371!offset + 8 }] := { base : local_#23372!base, offset : local_#23372!offset + local_#23373 * 1 }; local_#23374 := ~uwrap8(_memory[local_#23372]); assert { :LIR "61685" } { :check "overflow" } { :finding_ids "0" } true; local_#23375 := local_#23374; assert { :LIR "63461" } { :check "overflow" } { :finding_ids "0" } local_#23375 <= 2147483647; local_#30797 := local_#23375; goto CFG_43838; CFG_43838: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30797; local_#23376 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; local_#23377 := local_#23376; goto CFG_50706; CFG_50706: assume true; local_#23378 := 1; local_#23379 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] + local_#23378; assert { :LIR "66696" } { :check "overflow" } { :finding_ids "0" } local_#23379 <= 2147483647; local_#23380 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23379 * 1 }]; assert { :LIR "63462" } { :check "overflow" } { :finding_ids "0" } local_#23380 <= 2147483647; local_#23381 := 3; local_#23382 := ~sand32(local_#23380, local_#23381); if (local_#23382 != 0) { goto CFG_45113; } else { goto CFG_43839; } CFG_43839: assume true; local_#23383 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 72 }]; local_#23384 := _memory_ptr[{ base : local_#23383!base, offset : local_#23383!offset + 0 }]; assert { :LIR "63463" } { :check "overflow" } { :finding_ids "0" } true; local_#23385 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 72 }]; local_#23386 := _memory[{ base : local_#23385!base, offset : local_#23385!offset + 8 }]; goto CFG_47630; CFG_47630: assume true; call local_#23387 := routine_#33907_luaX_newstring(local_#5991_ls,local_#23384,local_#23386); goto CFG_50707; CFG_50707: assume true; local_#32456_ts := local_#23387; local_#23388 := { base : local_#5992_seminfo!base, offset : local_#5992_seminfo!offset + 0 }; _memory_ptr[local_#23388] := local_#32456_ts; local_#23389 := _memory[{ base : local_#32456_ts!base, offset : local_#32456_ts!offset + 8 }]; assert { :LIR "63464" } { :check "overflow" } { :finding_ids "0" } local_#23389 <= 2147483647; local_#23390 := 4; local_#23391 := (if local_#23389 == local_#23390 then 1 else 0); if (local_#23391 != 0) { goto CFG_50708; } else { goto CFG_38711; } CFG_50708: assume true; local_#23392 := _memory[{ base : local_#32456_ts!base, offset : local_#32456_ts!offset + 10 }]; assert { :LIR "63465" } { :check "overflow" } { :finding_ids "0" } local_#23392 <= 2147483647; local_#23393 := 0; local_#23394 := (if local_#23392 > local_#23393 then 1 else 0); if (local_#23394 != 0) { goto CFG_38712; } else { goto CFG_38711; } CFG_38711: assume true; local_#8118 := 292; goto CFG_37761; CFG_38712: assume true; local_#23395 := _memory[{ base : local_#32456_ts!base, offset : local_#32456_ts!offset + 10 }]; assert { :LIR "63466" } { :check "overflow" } { :finding_ids "0" } local_#23395 <= 2147483647; local_#23396 := 1; local_#23397 := local_#23395 - local_#23396; assert { :LIR "68080" } { :check "overflow" } { :finding_ids "0" } local_#23397 <= 2147483647; local_#23398 := 257; local_#23399 := local_#23397 + local_#23398; assert { :LIR "66697" } { :check "overflow" } { :finding_ids "0" } local_#23399 <= 2147483647; local_#8118 := local_#23399; goto CFG_37761; CFG_45113: assume true; goto CFG_43836; CFG_38713: assume true; local_#8118 := 289; goto CFG_37761; CFG_47631: assume true; call local_#23400 := routine_#35016_read_numeral(local_#5991_ls,local_#5992_seminfo); goto CFG_38714; CFG_38714: assume true; local_#8118 := local_#23400; goto CFG_37761; CFG_43840: assume true; local_#23401 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; goto CFG_47632; CFG_47632: assume true; call routine_#35043_save(local_#5991_ls,local_#23401); goto CFG_50709; CFG_50709: assume true; local_#23402 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23403 := _memory[{ base : local_#23402!base, offset : local_#23402!offset + 0 }]; local_#23404 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23402!base, offset : local_#23402!offset + 0 }] := ~uwrap64(local_#23403 - local_#23404); assert { :LIR "68081" } { :check "overflow" } { :finding_ids "0" } true; local_#23405 := 0; local_#23406 := (if local_#23403 > local_#23405 then 1 else 0); if (local_#23406 != 0) { goto CFG_41013; } else { goto CFG_43841; } CFG_43841: assume true; local_#23407 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47633; CFG_47633: assume true; call local_#23408 := routine_#33913_luaZ_fill(local_#23407); goto CFG_41012; CFG_41012: assume true; local_#30798 := local_#23408; goto CFG_43842; CFG_41013: assume true; local_#23409 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23410 := _memory_ptr[{ base : local_#23409!base, offset : local_#23409!offset + 8 }]; local_#23411 := 1; _memory_ptr[{ base : local_#23409!base, offset : local_#23409!offset + 8 }] := { base : local_#23410!base, offset : local_#23410!offset + local_#23411 * 1 }; local_#23412 := ~uwrap8(_memory[local_#23410]); assert { :LIR "61686" } { :check "overflow" } { :finding_ids "0" } true; local_#23413 := local_#23412; assert { :LIR "63467" } { :check "overflow" } { :finding_ids "0" } local_#23413 <= 2147483647; local_#30798 := local_#23413; goto CFG_43842; CFG_43842: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30798; local_#23414 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; local_#23415 := local_#23414; local_#23416 := 46; goto CFG_47634; CFG_47634: assume true; call local_#23417 := routine_#34627_check_next1(local_#5991_ls,local_#23416); goto CFG_50710; CFG_50710: assume true; local_#23418 := local_#23417; if (local_#23418 != 0) { goto CFG_43843; } else { goto CFG_50711; } CFG_50711: assume true; local_#23419 := 1; local_#23420 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] + local_#23419; assert { :LIR "66698" } { :check "overflow" } { :finding_ids "0" } local_#23420 <= 2147483647; local_#23421 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#23420 * 1 }]; assert { :LIR "63468" } { :check "overflow" } { :finding_ids "0" } local_#23421 <= 2147483647; local_#23422 := 2; local_#23423 := ~sand32(local_#23421, local_#23422); local_#23424 := (if local_#23423 != 0 then 0 else 1); if (local_#23424 != 0) { goto CFG_38716; } else { goto CFG_47635; } CFG_47635: assume true; call local_#23425 := routine_#35016_read_numeral(local_#5991_ls,local_#5992_seminfo); goto CFG_38715; CFG_38715: assume true; local_#8118 := local_#23425; goto CFG_37761; CFG_38716: assume true; local_#8118 := 46; goto CFG_37761; CFG_43843: assume true; local_#23426 := 46; goto CFG_47636; CFG_47636: assume true; call local_#23427 := routine_#34627_check_next1(local_#5991_ls,local_#23426); goto CFG_50712; CFG_50712: assume true; local_#23428 := local_#23427; if (local_#23428 != 0) { goto CFG_38718; } else { goto CFG_38717; } CFG_38717: assume true; local_#8118 := 280; goto CFG_37761; CFG_38718: assume true; local_#8118 := 281; goto CFG_37761; CFG_43844: assume true; local_#23429 := _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }]; goto CFG_47637; CFG_47637: assume true; call routine_#35017_read_string(local_#5991_ls,local_#23429,local_#5992_seminfo); goto CFG_38719; CFG_38719: assume true; local_#8118 := 293; goto CFG_37761; CFG_50713: assume true; local_#23430 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23431 := _memory[{ base : local_#23430!base, offset : local_#23430!offset + 0 }]; local_#23432 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23430!base, offset : local_#23430!offset + 0 }] := ~uwrap64(local_#23431 - local_#23432); assert { :LIR "68082" } { :check "overflow" } { :finding_ids "0" } true; local_#23433 := 0; local_#23434 := (if local_#23431 > local_#23433 then 1 else 0); if (local_#23434 != 0) { goto CFG_41015; } else { goto CFG_43845; } CFG_43845: assume true; local_#23435 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47638; CFG_47638: assume true; call local_#23436 := routine_#33913_luaZ_fill(local_#23435); goto CFG_41014; CFG_41014: assume true; local_#30799 := local_#23436; goto CFG_43846; CFG_41015: assume true; local_#23437 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23438 := _memory_ptr[{ base : local_#23437!base, offset : local_#23437!offset + 8 }]; local_#23439 := 1; _memory_ptr[{ base : local_#23437!base, offset : local_#23437!offset + 8 }] := { base : local_#23438!base, offset : local_#23438!offset + local_#23439 * 1 }; local_#23440 := ~uwrap8(_memory[local_#23438]); assert { :LIR "61687" } { :check "overflow" } { :finding_ids "0" } true; local_#23441 := local_#23440; assert { :LIR "63469" } { :check "overflow" } { :finding_ids "0" } local_#23441 <= 2147483647; local_#30799 := local_#23441; goto CFG_43846; CFG_43846: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30799; local_#23442 := 58; goto CFG_47639; CFG_47639: assume true; call local_#23443 := routine_#34627_check_next1(local_#5991_ls,local_#23442); goto CFG_50714; CFG_50714: assume true; local_#23444 := local_#23443; if (local_#23444 != 0) { goto CFG_38721; } else { goto CFG_38720; } CFG_38720: assume true; local_#8118 := 58; goto CFG_37761; CFG_38721: assume true; local_#8118 := 288; goto CFG_37761; CFG_50715: assume true; local_#23445 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23446 := _memory[{ base : local_#23445!base, offset : local_#23445!offset + 0 }]; local_#23447 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23445!base, offset : local_#23445!offset + 0 }] := ~uwrap64(local_#23446 - local_#23447); assert { :LIR "68083" } { :check "overflow" } { :finding_ids "0" } true; local_#23448 := 0; local_#23449 := (if local_#23446 > local_#23448 then 1 else 0); if (local_#23449 != 0) { goto CFG_41017; } else { goto CFG_43847; } CFG_43847: assume true; local_#23450 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47640; CFG_47640: assume true; call local_#23451 := routine_#33913_luaZ_fill(local_#23450); goto CFG_41016; CFG_41016: assume true; local_#30800 := local_#23451; goto CFG_43848; CFG_41017: assume true; local_#23452 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23453 := _memory_ptr[{ base : local_#23452!base, offset : local_#23452!offset + 8 }]; local_#23454 := 1; _memory_ptr[{ base : local_#23452!base, offset : local_#23452!offset + 8 }] := { base : local_#23453!base, offset : local_#23453!offset + local_#23454 * 1 }; local_#23455 := ~uwrap8(_memory[local_#23453]); assert { :LIR "61688" } { :check "overflow" } { :finding_ids "0" } true; local_#23456 := local_#23455; assert { :LIR "63470" } { :check "overflow" } { :finding_ids "0" } local_#23456 <= 2147483647; local_#30800 := local_#23456; goto CFG_43848; CFG_43848: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30800; local_#23457 := 61; goto CFG_47641; CFG_47641: assume true; call local_#23458 := routine_#34627_check_next1(local_#5991_ls,local_#23457); goto CFG_50716; CFG_50716: assume true; local_#23459 := local_#23458; if (local_#23459 != 0) { goto CFG_38723; } else { goto CFG_38722; } CFG_38722: assume true; local_#8118 := 126; goto CFG_37761; CFG_38723: assume true; local_#8118 := 285; goto CFG_37761; CFG_50717: assume true; local_#23460 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23461 := _memory[{ base : local_#23460!base, offset : local_#23460!offset + 0 }]; local_#23462 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23460!base, offset : local_#23460!offset + 0 }] := ~uwrap64(local_#23461 - local_#23462); assert { :LIR "68084" } { :check "overflow" } { :finding_ids "0" } true; local_#23463 := 0; local_#23464 := (if local_#23461 > local_#23463 then 1 else 0); if (local_#23464 != 0) { goto CFG_41019; } else { goto CFG_43849; } CFG_43849: assume true; local_#23465 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47642; CFG_47642: assume true; call local_#23466 := routine_#33913_luaZ_fill(local_#23465); goto CFG_41018; CFG_41018: assume true; local_#30801 := local_#23466; goto CFG_43850; CFG_41019: assume true; local_#23467 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23468 := _memory_ptr[{ base : local_#23467!base, offset : local_#23467!offset + 8 }]; local_#23469 := 1; _memory_ptr[{ base : local_#23467!base, offset : local_#23467!offset + 8 }] := { base : local_#23468!base, offset : local_#23468!offset + local_#23469 * 1 }; local_#23470 := ~uwrap8(_memory[local_#23468]); assert { :LIR "61689" } { :check "overflow" } { :finding_ids "0" } true; local_#23471 := local_#23470; assert { :LIR "63471" } { :check "overflow" } { :finding_ids "0" } local_#23471 <= 2147483647; local_#30801 := local_#23471; goto CFG_43850; CFG_43850: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30801; local_#23472 := 47; goto CFG_47643; CFG_47643: assume true; call local_#23473 := routine_#34627_check_next1(local_#5991_ls,local_#23472); goto CFG_50718; CFG_50718: assume true; local_#23474 := local_#23473; if (local_#23474 != 0) { goto CFG_38725; } else { goto CFG_38724; } CFG_38724: assume true; local_#8118 := 47; goto CFG_37761; CFG_38725: assume true; local_#8118 := 279; goto CFG_37761; CFG_50719: assume true; local_#23475 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23476 := _memory[{ base : local_#23475!base, offset : local_#23475!offset + 0 }]; local_#23477 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23475!base, offset : local_#23475!offset + 0 }] := ~uwrap64(local_#23476 - local_#23477); assert { :LIR "68085" } { :check "overflow" } { :finding_ids "0" } true; local_#23478 := 0; local_#23479 := (if local_#23476 > local_#23478 then 1 else 0); if (local_#23479 != 0) { goto CFG_41021; } else { goto CFG_43851; } CFG_43851: assume true; local_#23480 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47644; CFG_47644: assume true; call local_#23481 := routine_#33913_luaZ_fill(local_#23480); goto CFG_41020; CFG_41020: assume true; local_#30802 := local_#23481; goto CFG_43852; CFG_41021: assume true; local_#23482 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23483 := _memory_ptr[{ base : local_#23482!base, offset : local_#23482!offset + 8 }]; local_#23484 := 1; _memory_ptr[{ base : local_#23482!base, offset : local_#23482!offset + 8 }] := { base : local_#23483!base, offset : local_#23483!offset + local_#23484 * 1 }; local_#23485 := ~uwrap8(_memory[local_#23483]); assert { :LIR "61690" } { :check "overflow" } { :finding_ids "0" } true; local_#23486 := local_#23485; assert { :LIR "63472" } { :check "overflow" } { :finding_ids "0" } local_#23486 <= 2147483647; local_#30802 := local_#23486; goto CFG_43852; CFG_43852: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30802; local_#23487 := 61; goto CFG_47645; CFG_47645: assume true; call local_#23488 := routine_#34627_check_next1(local_#5991_ls,local_#23487); goto CFG_50720; CFG_50720: assume true; local_#23489 := local_#23488; if (local_#23489 != 0) { goto CFG_38728; } else { goto CFG_43853; } CFG_43853: assume true; local_#23490 := 62; goto CFG_47646; CFG_47646: assume true; call local_#23491 := routine_#34627_check_next1(local_#5991_ls,local_#23490); goto CFG_50721; CFG_50721: assume true; local_#23492 := local_#23491; if (local_#23492 != 0) { goto CFG_38727; } else { goto CFG_38726; } CFG_38726: assume true; local_#8118 := 62; goto CFG_37761; CFG_38727: assume true; local_#8118 := 287; goto CFG_37761; CFG_38728: assume true; local_#8118 := 283; goto CFG_37761; CFG_50722: assume true; local_#23493 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23494 := _memory[{ base : local_#23493!base, offset : local_#23493!offset + 0 }]; local_#23495 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23493!base, offset : local_#23493!offset + 0 }] := ~uwrap64(local_#23494 - local_#23495); assert { :LIR "68086" } { :check "overflow" } { :finding_ids "0" } true; local_#23496 := 0; local_#23497 := (if local_#23494 > local_#23496 then 1 else 0); if (local_#23497 != 0) { goto CFG_41023; } else { goto CFG_43854; } CFG_43854: assume true; local_#23498 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47647; CFG_47647: assume true; call local_#23499 := routine_#33913_luaZ_fill(local_#23498); goto CFG_41022; CFG_41022: assume true; local_#30803 := local_#23499; goto CFG_43855; CFG_41023: assume true; local_#23500 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23501 := _memory_ptr[{ base : local_#23500!base, offset : local_#23500!offset + 8 }]; local_#23502 := 1; _memory_ptr[{ base : local_#23500!base, offset : local_#23500!offset + 8 }] := { base : local_#23501!base, offset : local_#23501!offset + local_#23502 * 1 }; local_#23503 := ~uwrap8(_memory[local_#23501]); assert { :LIR "61691" } { :check "overflow" } { :finding_ids "0" } true; local_#23504 := local_#23503; assert { :LIR "63473" } { :check "overflow" } { :finding_ids "0" } local_#23504 <= 2147483647; local_#30803 := local_#23504; goto CFG_43855; CFG_43855: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30803; local_#23505 := 61; goto CFG_47648; CFG_47648: assume true; call local_#23506 := routine_#34627_check_next1(local_#5991_ls,local_#23505); goto CFG_50723; CFG_50723: assume true; local_#23507 := local_#23506; if (local_#23507 != 0) { goto CFG_38731; } else { goto CFG_43856; } CFG_43856: assume true; local_#23508 := 60; goto CFG_47649; CFG_47649: assume true; call local_#23509 := routine_#34627_check_next1(local_#5991_ls,local_#23508); goto CFG_50724; CFG_50724: assume true; local_#23510 := local_#23509; if (local_#23510 != 0) { goto CFG_38730; } else { goto CFG_38729; } CFG_38729: assume true; local_#8118 := 60; goto CFG_37761; CFG_38730: assume true; local_#8118 := 286; goto CFG_37761; CFG_38731: assume true; local_#8118 := 284; goto CFG_37761; CFG_50725: assume true; local_#23511 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23512 := _memory[{ base : local_#23511!base, offset : local_#23511!offset + 0 }]; local_#23513 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23511!base, offset : local_#23511!offset + 0 }] := ~uwrap64(local_#23512 - local_#23513); assert { :LIR "68087" } { :check "overflow" } { :finding_ids "0" } true; local_#23514 := 0; local_#23515 := (if local_#23512 > local_#23514 then 1 else 0); if (local_#23515 != 0) { goto CFG_41025; } else { goto CFG_43857; } CFG_43857: assume true; local_#23516 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47650; CFG_47650: assume true; call local_#23517 := routine_#33913_luaZ_fill(local_#23516); goto CFG_41024; CFG_41024: assume true; local_#30804 := local_#23517; goto CFG_43858; CFG_41025: assume true; local_#23518 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23519 := _memory_ptr[{ base : local_#23518!base, offset : local_#23518!offset + 8 }]; local_#23520 := 1; _memory_ptr[{ base : local_#23518!base, offset : local_#23518!offset + 8 }] := { base : local_#23519!base, offset : local_#23519!offset + local_#23520 * 1 }; local_#23521 := ~uwrap8(_memory[local_#23519]); assert { :LIR "61692" } { :check "overflow" } { :finding_ids "0" } true; local_#23522 := local_#23521; assert { :LIR "63474" } { :check "overflow" } { :finding_ids "0" } local_#23522 <= 2147483647; local_#30804 := local_#23522; goto CFG_43858; CFG_43858: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30804; local_#23523 := 61; goto CFG_47651; CFG_47651: assume true; call local_#23524 := routine_#34627_check_next1(local_#5991_ls,local_#23523); goto CFG_50726; CFG_50726: assume true; local_#23525 := local_#23524; if (local_#23525 != 0) { goto CFG_38733; } else { goto CFG_38732; } CFG_38732: assume true; local_#8118 := 61; goto CFG_37761; CFG_38733: assume true; local_#8118 := 282; goto CFG_37761; CFG_47652: assume true; call local_#23526 := routine_#35072_skip_sep(local_#5991_ls); goto CFG_50727; CFG_50727: assume true; local_#32455_sep := local_#23526; local_#23527 := 0; local_#23528 := (if local_#32455_sep >= local_#23527 then 1 else 0); if (local_#23528 != 0) { goto CFG_47654; } else { goto CFG_50728; } CFG_50728: assume true; local_#23529 := -1; local_#23530 := (if local_#32455_sep != local_#23529 then 1 else 0); if (local_#23530 != 0) { goto CFG_43859; } else { goto CFG_41026; } CFG_41026: assume true; goto CFG_38734; CFG_38734: assume true; local_#8118 := 91; goto CFG_37761; CFG_43859: assume true; assume _memory[{ base : strlit_#70664!base, offset : strlit_#70664!offset + 29 }] == 0; local_#23531 := strlit_#70664; local_#23532 := { base : local_#23531!base, offset : local_#23531!offset + 0 * 1 }; assert { :LIR "63475" } { :check "overflow" } { :finding_ids "0" } true; local_#23533 := 293; goto CFG_47653; CFG_47653: assume true; call routine_#34857_lexerror(local_#5991_ls,local_#23532,local_#23533); CFG_47654: assume true; call routine_#35014_read_long_string(local_#5991_ls,local_#5992_seminfo,local_#32455_sep); goto CFG_38735; CFG_38735: assume true; local_#8118 := 293; goto CFG_37761; CFG_50729: assume true; local_#23534 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23535 := _memory[{ base : local_#23534!base, offset : local_#23534!offset + 0 }]; local_#23536 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23534!base, offset : local_#23534!offset + 0 }] := ~uwrap64(local_#23535 - local_#23536); assert { :LIR "68088" } { :check "overflow" } { :finding_ids "0" } true; local_#23537 := 0; local_#23538 := (if local_#23535 > local_#23537 then 1 else 0); if (local_#23538 != 0) { goto CFG_41028; } else { goto CFG_43860; } CFG_43860: assume true; local_#23539 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47655; CFG_47655: assume true; call local_#23540 := routine_#33913_luaZ_fill(local_#23539); goto CFG_41027; CFG_41027: assume true; local_#30805 := local_#23540; goto CFG_50730; CFG_41028: assume true; local_#23541 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23542 := _memory_ptr[{ base : local_#23541!base, offset : local_#23541!offset + 8 }]; local_#23543 := 1; _memory_ptr[{ base : local_#23541!base, offset : local_#23541!offset + 8 }] := { base : local_#23542!base, offset : local_#23542!offset + local_#23543 * 1 }; local_#23544 := ~uwrap8(_memory[local_#23542]); assert { :LIR "61693" } { :check "overflow" } { :finding_ids "0" } true; local_#23545 := local_#23544; assert { :LIR "63476" } { :check "overflow" } { :finding_ids "0" } local_#23545 <= 2147483647; local_#30805 := local_#23545; goto CFG_50730; CFG_50730: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30805; local_#23546 := 45; local_#23547 := (if _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] != local_#23546 then 1 else 0); if (local_#23547 != 0) { goto CFG_38736; } else { goto CFG_50731; } CFG_50731: assume true; local_#23548 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23549 := _memory[{ base : local_#23548!base, offset : local_#23548!offset + 0 }]; local_#23550 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23548!base, offset : local_#23548!offset + 0 }] := ~uwrap64(local_#23549 - local_#23550); assert { :LIR "68089" } { :check "overflow" } { :finding_ids "0" } true; local_#23551 := 0; local_#23552 := (if local_#23549 > local_#23551 then 1 else 0); if (local_#23552 != 0) { goto CFG_41030; } else { goto CFG_43861; } CFG_43861: assume true; local_#23553 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47656; CFG_47656: assume true; call local_#23554 := routine_#33913_luaZ_fill(local_#23553); goto CFG_41029; CFG_41029: assume true; local_#30806 := local_#23554; goto CFG_50732; CFG_41030: assume true; local_#23555 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23556 := _memory_ptr[{ base : local_#23555!base, offset : local_#23555!offset + 8 }]; local_#23557 := 1; _memory_ptr[{ base : local_#23555!base, offset : local_#23555!offset + 8 }] := { base : local_#23556!base, offset : local_#23556!offset + local_#23557 * 1 }; local_#23558 := ~uwrap8(_memory[local_#23556]); assert { :LIR "61694" } { :check "overflow" } { :finding_ids "0" } true; local_#23559 := local_#23558; assert { :LIR "63477" } { :check "overflow" } { :finding_ids "0" } local_#23559 <= 2147483647; local_#30806 := local_#23559; goto CFG_50732; CFG_50732: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30806; local_#23560 := 91; local_#23561 := (if _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] == local_#23560 then 1 else 0); if (local_#23561 != 0) { goto CFG_47657; } else { goto CFG_41774; } CFG_47657: assume true; call local_#23562 := routine_#35072_skip_sep(local_#5991_ls); goto CFG_50733; CFG_50733: assume true; local_#32454_sep := local_#23562; local_#23563 := 0; local_#23564 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 72 }]; _memory[{ base : local_#23564!base, offset : local_#23564!offset + 8 }] := local_#23563; local_#23565 := 0; local_#23566 := (if local_#32454_sep >= local_#23565 then 1 else 0); if (local_#23566 != 0) { goto CFG_43863; } else { goto CFG_41031; } CFG_41031: assume true; goto CFG_41774; CFG_41774: assume true; goto CFG_50734; CFG_50734: assume true; local_#23567 := 10; local_#23568 := (if _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] == local_#23567 then 1 else 0); if (local_#23568 != 0) { goto CFG_39658; } else { goto CFG_50735; } CFG_50735: assume true; local_#23569 := 13; local_#23570 := (if _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] == local_#23569 then 1 else 0); if (local_#23570 != 0) { goto CFG_39658; } else { goto CFG_50736; } CFG_50736: assume true; local_#23571 := -1; local_#23572 := (if _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] != local_#23571 then 1 else 0); if (local_#23572 != 0) { goto CFG_50737; } else { goto CFG_39658; } CFG_50737: assume true; local_#23573 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23574 := _memory[{ base : local_#23573!base, offset : local_#23573!offset + 0 }]; local_#23575 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23573!base, offset : local_#23573!offset + 0 }] := ~uwrap64(local_#23574 - local_#23575); assert { :LIR "68090" } { :check "overflow" } { :finding_ids "0" } true; local_#23576 := 0; local_#23577 := (if local_#23574 > local_#23576 then 1 else 0); if (local_#23577 != 0) { goto CFG_41033; } else { goto CFG_43862; } CFG_43862: assume true; local_#23578 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47658; CFG_47658: assume true; call local_#23579 := routine_#33913_luaZ_fill(local_#23578); goto CFG_41032; CFG_41032: assume true; local_#30807 := local_#23579; goto CFG_45114; CFG_41033: assume true; local_#23580 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23581 := _memory_ptr[{ base : local_#23580!base, offset : local_#23580!offset + 8 }]; local_#23582 := 1; _memory_ptr[{ base : local_#23580!base, offset : local_#23580!offset + 8 }] := { base : local_#23581!base, offset : local_#23581!offset + local_#23582 * 1 }; local_#23583 := ~uwrap8(_memory[local_#23581]); assert { :LIR "61695" } { :check "overflow" } { :finding_ids "0" } true; local_#23584 := local_#23583; assert { :LIR "63478" } { :check "overflow" } { :finding_ids "0" } local_#23584 <= 2147483647; local_#30807 := local_#23584; goto CFG_45114; CFG_45114: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30807; goto CFG_50734; CFG_39658: assume true; goto CFG_45115; CFG_43863: assume true; local_#23585 := { base : 0, offset : 0 }; goto CFG_47659; CFG_47659: assume true; call routine_#35014_read_long_string(local_#5991_ls,local_#23585,local_#32454_sep); goto CFG_39659; CFG_39659: assume true; local_#23586 := 0; local_#23587 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 72 }]; _memory[{ base : local_#23587!base, offset : local_#23587!offset + 8 }] := local_#23586; goto CFG_45115; CFG_38736: assume true; local_#8118 := 45; goto CFG_37761; CFG_50738: assume true; local_#23588 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23589 := _memory[{ base : local_#23588!base, offset : local_#23588!offset + 0 }]; local_#23590 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#23588!base, offset : local_#23588!offset + 0 }] := ~uwrap64(local_#23589 - local_#23590); assert { :LIR "68091" } { :check "overflow" } { :finding_ids "0" } true; local_#23591 := 0; local_#23592 := (if local_#23589 > local_#23591 then 1 else 0); if (local_#23592 != 0) { goto CFG_41035; } else { goto CFG_43864; } CFG_43864: assume true; local_#23593 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; goto CFG_47660; CFG_47660: assume true; call local_#23594 := routine_#33913_luaZ_fill(local_#23593); goto CFG_41034; CFG_41034: assume true; local_#30808 := local_#23594; goto CFG_39660; CFG_41035: assume true; local_#23595 := _memory_ptr[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 64 }]; local_#23596 := _memory_ptr[{ base : local_#23595!base, offset : local_#23595!offset + 8 }]; local_#23597 := 1; _memory_ptr[{ base : local_#23595!base, offset : local_#23595!offset + 8 }] := { base : local_#23596!base, offset : local_#23596!offset + local_#23597 * 1 }; local_#23598 := ~uwrap8(_memory[local_#23596]); assert { :LIR "61696" } { :check "overflow" } { :finding_ids "0" } true; local_#23599 := local_#23598; assert { :LIR "63479" } { :check "overflow" } { :finding_ids "0" } local_#23599 <= 2147483647; local_#30808 := local_#23599; goto CFG_39660; CFG_39660: assume true; _memory[{ base : local_#5991_ls!base, offset : local_#5991_ls!offset + 0 }] := local_#30808; goto CFG_45115; CFG_47661: assume true; call routine_#34809_inclinenumber(local_#5991_ls); goto CFG_39661; CFG_39661: assume true; goto CFG_45115; CFG_45115: assume true; goto CFG_50702; CFG_41944: assume true; goto CFG_45115; CFG_37761: assume true; } procedure routine_#34863_lmemfind(local_#5993_s1_IN : { base : int, offset : int }, local_#5994_l1_IN : int, local_#5995_s2_IN : { base : int, offset : int }, local_#5996_l2_IN : int) returns (local_#8119 : { base : int, offset : int }) { var local_#5993_s1 : { base : int, offset : int }; var local_#5994_l1 : int; var local_#5995_s2 : { base : int, offset : int }; var local_#5996_l2 : int; var local_#23600 : int; var local_#23601 : int; var local_#23602 : int; var local_#23603 : int; var local_#23604 : int; var local_#23605 : int; var local_#23606 : int; var local_#23607 : int; var local_#23608 : int; var local_#23609 : { base : int, offset : int }; var local_#23610 : int; var local_#23611 : { base : int, offset : int }; var local_#23612 : { base : int, offset : int }; var local_#32458_init : { base : int, offset : int }; var local_#23613 : { base : int, offset : int }; var local_#23614 : int; var local_#23615 : { base : int, offset : int }; var local_#23616 : int; var local_#23617 : { base : int, offset : int }; var local_#23618 : { base : int, offset : int }; var local_#23619 : int; var local_#23620 : { base : int, offset : int }; var local_#23621 : { base : int, offset : int }; var local_#23622 : int; var local_#23623 : int; var local_#23624 : int; var local_#23625 : int; var local_#23626 : int; var local_#23627 : int; var local_#23628 : { base : int, offset : int }; local_#5993_s1 := local_#5993_s1_IN; local_#5994_l1 := local_#5994_l1_IN; local_#5995_s2 := local_#5995_s2_IN; local_#5996_l2 := local_#5996_l2_IN; goto CFG_36851; CFG_36851: assume true; goto CFG_50739; CFG_50739: assume true; local_#23600 := 0; local_#23601 := (if local_#5996_l2 == local_#23600 then 1 else 0); if (local_#23601 != 0) { goto CFG_38740; } else { goto CFG_50740; } CFG_50740: assume true; local_#23602 := (if local_#5996_l2 > local_#5994_l1 then 1 else 0); if (local_#23602 != 0) { goto CFG_38739; } else { goto CFG_41775; } CFG_41775: assume true; local_#23603 := local_#5996_l2; local_#23604 := 1; assume { :symbol "~uwrap64" } true; local_#5996_l2 := ~uwrap64(local_#23603 - local_#23604); assert { :LIR "68092" } { :check "overflow" } { :finding_ids "0" } true; local_#23605 := local_#23603; assume { :symbol "~uwrap64" } true; local_#23606 := ~uwrap64(local_#5994_l1 - local_#5996_l2); assert { :LIR "68093" } { :check "overflow" } { :finding_ids "0" } true; local_#5994_l1 := local_#23606; goto CFG_50741; CFG_50741: assume true; local_#23607 := 0; local_#23608 := (if local_#5994_l1 > local_#23607 then 1 else 0); if (local_#23608 != 0) { goto CFG_43865; } else { goto CFG_38737; } CFG_43865: assume true; local_#23609 := local_#5993_s1; assert { :LIR "63480" } { :check "overflow" } { :finding_ids "0" } true; local_#23610 := _memory[local_#5995_s2]; assert { :LIR "63481" } { :check "overflow" } { :finding_ids "0" } local_#23610 <= 2147483647; goto CFG_47662; CFG_47662: assume true; call local_#23611 := routine_#34024_memchr(local_#23609,local_#23610,local_#5994_l1); goto CFG_50742; CFG_50742: assume true; local_#23612 := local_#23611; assert { :LIR "61697" } { :check "overflow" } { :finding_ids "0" } true; local_#32458_init := local_#23612; local_#23613 := { base : 0, offset : 0 }; local_#23614 := (if local_#32458_init != local_#23613 then 1 else 0); if (local_#23614 != 0) { goto CFG_43866; } else { goto CFG_38737; } CFG_38737: assume true; local_#8119 := { base : 0, offset : 0 }; goto CFG_37762; CFG_43866: assume true; local_#23615 := local_#32458_init; local_#23616 := 1; local_#32458_init := { base : local_#23615!base, offset : local_#23615!offset + local_#23616 * 1 }; local_#23617 := local_#23615; local_#23618 := local_#32458_init; assert { :LIR "63482" } { :check "overflow" } { :finding_ids "0" } true; local_#23619 := 1; local_#23620 := { base : local_#5995_s2!base, offset : local_#5995_s2!offset + local_#23619 * 1 }; local_#23621 := local_#23620; assert { :LIR "63483" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47663; CFG_47663: assume true; call local_#23622 := routine_#34025_memcmp(local_#23618,local_#23621,local_#5996_l2); goto CFG_50743; CFG_50743: assume true; local_#23623 := 0; local_#23624 := (if local_#23622 == local_#23623 then 1 else 0); if (local_#23624 != 0) { goto CFG_38738; } else { goto CFG_41036; } CFG_41036: assume true; local_#23625 := (local_#32458_init!offset - local_#5993_s1!offset) / 1; local_#23626 := ~uwrap64(local_#23625); assert { :LIR "63484" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#5994_l1 := ~uwrap64(local_#5994_l1 - local_#23626); assert { :LIR "68094" } { :check "overflow" } { :finding_ids "0" } true; local_#5993_s1 := local_#32458_init; goto CFG_45116; CFG_45116: assume true; goto CFG_50741; CFG_38738: assume true; local_#23627 := 1; local_#23628 := { base : local_#32458_init!base, offset : local_#32458_init!offset - local_#23627 * 1 }; local_#8119 := local_#23628; goto CFG_37762; CFG_38739: assume true; local_#8119 := { base : 0, offset : 0 }; goto CFG_37762; CFG_38740: assume true; local_#8119 := local_#5993_s1; goto CFG_37762; CFG_37762: assume true; } procedure routine_#34864_load_aux(local_#5997_L_IN : { base : int, offset : int }, local_#5998_status_IN : int, local_#5999_envidx_IN : int) returns (local_#8120 : int) modifies _memory, _memory_ptr; { var local_#5997_L : { base : int, offset : int }; var local_#5998_status : int; var local_#5999_envidx : int; var local_#23629 : int; var local_#23630 : int; var local_#23631 : int; var local_#23632 : int; var local_#23633 : int; var local_#23634 : int; var local_#23635 : int; var local_#23636 : int; var local_#23637 : { base : int, offset : int }; var local_#23638 : int; var local_#23639 : int; local_#5997_L := local_#5997_L_IN; local_#5998_status := local_#5998_status_IN; local_#5999_envidx := local_#5999_envidx_IN; goto CFG_36852; CFG_36852: assume true; goto CFG_50744; CFG_50744: assume true; local_#23629 := 0; local_#23630 := (if local_#5998_status == local_#23629 then 1 else 0); if (local_#23630 != 0) { goto CFG_50745; } else { goto CFG_47664; } CFG_47664: assume true; call routine_#33963_lua_pushnil(local_#5997_L); goto CFG_43867; CFG_43867: assume true; local_#23631 := -2; local_#23632 := 1; goto CFG_47665; CFG_47665: assume true; call routine_#33978_lua_rotate(local_#5997_L,local_#23631,local_#23632); goto CFG_38741; CFG_38741: assume true; local_#8120 := 2; goto CFG_37763; CFG_50745: assume true; local_#23633 := 0; local_#23634 := (if local_#5999_envidx != local_#23633 then 1 else 0); if (local_#23634 != 0) { goto CFG_47666; } else { goto CFG_38742; } CFG_47666: assume true; call routine_#33967_lua_pushvalue(local_#5997_L,local_#5999_envidx); goto CFG_43868; CFG_43868: assume true; local_#23635 := -2; local_#23636 := 1; goto CFG_47667; CFG_47667: assume true; call local_#23637 := routine_#33988_lua_setupvalue(local_#5997_L,local_#23635,local_#23636); goto CFG_50746; CFG_50746: assume true; local_#23638 := (if local_#23637 != { base : 0, offset : 0 } then 0 else 1); if (local_#23638 != 0) { goto CFG_43869; } else { goto CFG_41038; } CFG_43869: assume true; local_#23639 := -2; goto CFG_47668; CFG_47668: assume true; call routine_#33987_lua_settop(local_#5997_L,local_#23639); goto CFG_41037; CFG_41037: assume true; goto CFG_41038; CFG_41038: assume true; goto CFG_38742; CFG_38742: assume true; local_#8120 := 1; goto CFG_37763; CFG_37763: assume true; } procedure routine_#34865_loadfunc(local_#6000_L_IN : { base : int, offset : int }, local_#6001_filename_IN : { base : int, offset : int }, local_#6002_modname_IN : { base : int, offset : int }) returns (local_#8121 : int) modifies _memory, _memory_ptr, _valid; { var local_#6000_L : { base : int, offset : int }; var local_#6001_filename : { base : int, offset : int }; var local_#6002_modname : { base : int, offset : int }; var local_#23640 : { base : int, offset : int }; var local_#23641 : { base : int, offset : int }; var local_#23642 : { base : int, offset : int }; var local_#23643 : { base : int, offset : int }; var local_#23644 : { base : int, offset : int }; var local_#23645 : { base : int, offset : int }; var local_#23646 : int; var local_#23647 : { base : int, offset : int }; var local_#23648 : { base : int, offset : int }; var local_#32459_mark : { base : int, offset : int }; var local_#23649 : { base : int, offset : int }; var local_#23650 : int; var local_#23651 : int; var local_#23652 : { base : int, offset : int }; var local_#32460_openfunc : { base : int, offset : int }; var local_#23653 : { base : int, offset : int }; var local_#23654 : { base : int, offset : int }; var local_#23655 : { base : int, offset : int }; var local_#23656 : int; var local_#32461_stat : int; var local_#23657 : int; var local_#23658 : int; var local_#23659 : int; var local_#23660 : { base : int, offset : int }; var local_#23661 : { base : int, offset : int }; var local_#23662 : { base : int, offset : int }; var local_#23663 : { base : int, offset : int }; var local_#23664 : int; local_#6000_L := local_#6000_L_IN; local_#6001_filename := local_#6001_filename_IN; local_#6002_modname := local_#6002_modname_IN; goto CFG_36853; CFG_36853: assume true; goto CFG_43870; CFG_43870: assume true; assume _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 0 }] == 46 && _memory[{ base : strlit_#70556!base, offset : strlit_#70556!offset + 1 }] == 0; local_#23640 := strlit_#70556; local_#23641 := { base : local_#23640!base, offset : local_#23640!offset + 0 * 1 }; assert { :LIR "63485" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70666!base, offset : strlit_#70666!offset + 0 }] == 95 && _memory[{ base : strlit_#70666!base, offset : strlit_#70666!offset + 1 }] == 0; local_#23642 := strlit_#70666; local_#23643 := { base : local_#23642!base, offset : local_#23642!offset + 0 * 1 }; assert { :LIR "63486" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47669; CFG_47669: assume true; call local_#23644 := routine_#33833_luaL_gsub(local_#6000_L,local_#6002_modname,local_#23641,local_#23643); goto CFG_43871; CFG_43871: assume true; local_#6002_modname := local_#23644; assume _memory[{ base : strlit_#70618!base, offset : strlit_#70618!offset + 0 }] == 45 && _memory[{ base : strlit_#70618!base, offset : strlit_#70618!offset + 1 }] == 0; local_#23645 := strlit_#70618; local_#23646 := _memory[{ base : local_#23645!base, offset : local_#23645!offset + 0 * 1 }]; assert { :LIR "63487" } { :check "overflow" } { :finding_ids "0" } local_#23646 <= 2147483647; goto CFG_47670; CFG_47670: assume true; call local_#23647 := routine_#34445_strchr(local_#6002_modname,local_#23646); goto CFG_50747; CFG_50747: assume true; local_#23648 := local_#23647; assert { :LIR "63488" } { :check "overflow" } { :finding_ids "0" } true; local_#32459_mark := local_#23648; local_#23649 := local_#32459_mark; if (local_#23649 != { base : 0, offset : 0 }) { goto CFG_43872; } else { goto CFG_43875; } CFG_43872: assume true; local_#23650 := (local_#32459_mark!offset - local_#6002_modname!offset) / 1; local_#23651 := ~uwrap64(local_#23650); assert { :LIR "63489" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47671; CFG_47671: assume true; call local_#23652 := routine_#33962_lua_pushlstring(local_#6000_L,local_#6002_modname,local_#23651); goto CFG_43873; CFG_43873: assume true; local_#32460_openfunc := local_#23652; assume _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 0 }] == 108 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 1 }] == 117 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 2 }] == 97 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 3 }] == 111 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 4 }] == 112 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 5 }] == 101 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 6 }] == 110 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 7 }] == 95 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 8 }] == 37 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 9 }] == 115 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 10 }] == 0; local_#23653 := strlit_#70668; local_#23654 := { base : local_#23653!base, offset : local_#23653!offset + 0 * 1 }; assert { :LIR "63490" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47672; CFG_47672: assume true; call local_#23655 := routine_#33959_lua_pushfstring(local_#6000_L,local_#23654,{ base : 0, offset : 0 }); goto CFG_43874; CFG_43874: assume true; local_#32460_openfunc := local_#23655; goto CFG_47673; CFG_47673: assume true; call local_#23656 := routine_#34869_lookforfunc(local_#6000_L,local_#6001_filename,local_#32460_openfunc); goto CFG_50748; CFG_50748: assume true; local_#32461_stat := local_#23656; local_#23657 := 2; local_#23658 := (if local_#32461_stat != local_#23657 then 1 else 0); if (local_#23658 != 0) { goto CFG_38744; } else { goto CFG_41039; } CFG_41039: assume true; local_#23659 := 1; local_#23660 := { base : local_#32459_mark!base, offset : local_#32459_mark!offset + local_#23659 * 1 }; local_#6002_modname := local_#23660; goto CFG_43875; CFG_43875: assume true; assume _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 0 }] == 108 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 1 }] == 117 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 2 }] == 97 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 3 }] == 111 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 4 }] == 112 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 5 }] == 101 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 6 }] == 110 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 7 }] == 95 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 8 }] == 37 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 9 }] == 115 && _memory[{ base : strlit_#70668!base, offset : strlit_#70668!offset + 10 }] == 0; local_#23661 := strlit_#70668; local_#23662 := { base : local_#23661!base, offset : local_#23661!offset + 0 * 1 }; assert { :LIR "63491" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47674; CFG_47674: assume true; call local_#23663 := routine_#33959_lua_pushfstring(local_#6000_L,local_#23662,{ base : 0, offset : 0 }); goto CFG_43876; CFG_43876: assume true; local_#32460_openfunc := local_#23663; goto CFG_47675; CFG_47675: assume true; call local_#23664 := routine_#34869_lookforfunc(local_#6000_L,local_#6001_filename,local_#32460_openfunc); goto CFG_38743; CFG_38743: assume true; local_#8121 := local_#23664; goto CFG_37764; CFG_38744: assume true; local_#8121 := local_#32461_stat; goto CFG_37764; CFG_37764: assume true; } procedure routine_#34866_loadline(local_#6003_L_IN : { base : int, offset : int }) returns (local_#8122 : int) modifies _memory, _memory_ptr, _valid; { var local_#6003_L : { base : int, offset : int }; var local_#23665 : int; var local_#23666 : int; var local_#23667 : int; var local_#23668 : int; var local_#23669 : int; var local_#32462_status : int; var local_#23670 : int; var local_#23671 : int; var local_#23672 : int; var local_#23673 : int; var local_#23674 : int; var local_#23675 : int; var local_#23676 : int; var local_#23677 : int; local_#6003_L := local_#6003_L_IN; goto CFG_36854; CFG_36854: assume true; goto CFG_43877; CFG_43877: assume true; local_#23665 := 0; goto CFG_47676; CFG_47676: assume true; call routine_#33987_lua_settop(local_#6003_L,local_#23665); goto CFG_43878; CFG_43878: assume true; local_#23666 := 1; goto CFG_47677; CFG_47677: assume true; call local_#23667 := routine_#35006_pushline(local_#6003_L,local_#23666); goto CFG_50749; CFG_50749: assume true; local_#23668 := (if local_#23667 != 0 then 0 else 1); if (local_#23668 != 0) { goto CFG_38746; } else { goto CFG_47678; } CFG_47678: assume true; call local_#23669 := routine_#34577_addreturn(local_#6003_L); goto CFG_50750; CFG_50750: assume true; local_#32462_status := local_#23669; local_#23670 := 0; local_#23671 := (if local_#32462_status != local_#23670 then 1 else 0); if (local_#23671 != 0) { goto CFG_47679; } else { goto CFG_43879; } CFG_47679: assume true; call local_#23672 := routine_#34953_multiline(local_#6003_L); goto CFG_41040; CFG_41040: assume true; local_#32462_status := local_#23672; goto CFG_43879; CFG_43879: assume true; local_#23673 := 1; local_#23674 := -1; goto CFG_47680; CFG_47680: assume true; call routine_#33978_lua_rotate(local_#6003_L,local_#23673,local_#23674); goto CFG_43880; CFG_43880: assume true; local_#23675 := -2; goto CFG_47681; CFG_47681: assume true; call routine_#33987_lua_settop(local_#6003_L,local_#23675); goto CFG_38745; CFG_38745: assume true; local_#23676 := 0; local_#23677 := 0; assert { :LIR "61698" } { :check "overflow" } { :finding_ids "0" } true; local_#8122 := local_#32462_status; goto CFG_37765; CFG_38746: assume true; local_#8122 := -1; goto CFG_37765; CFG_37765: assume true; } procedure routine_#34867_localfunc(local_#6004_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6004_ls : { base : int, offset : int }; var local_#32464_fs : { base : int, offset : int }; var local_#23678 : { base : int, offset : int }; var local_#23679 : int; var local_#32463_b : { base : int, offset : int }; var local_#23680 : { base : int, offset : int }; var local_#23681 : int; var local_#23682 : int; var local_#23683 : { base : int, offset : int }; var local_#23684 : int; var local_#23685 : { base : int, offset : int }; local_#6004_ls := local_#6004_ls_IN; goto CFG_36855; CFG_36855: assume true; goto CFG_43881; CFG_43881: assume true; local_#32464_fs := _memory_ptr[{ base : local_#6004_ls!base, offset : local_#6004_ls!offset + 48 }]; goto CFG_47682; CFG_47682: assume true; call local_#23678 := routine_#35085_str_checkname(local_#6004_ls); goto CFG_47683; CFG_47683: assume true; call routine_#34956_new_localvar(local_#6004_ls,local_#23678); goto CFG_43882; CFG_43882: assume true; local_#23679 := 1; goto CFG_47684; CFG_47684: assume true; call routine_#34581_adjustlocalvars(local_#6004_ls,local_#23679); goto CFG_43883; CFG_43883: assume true; local_#23680 := local_#32463_b; local_#23681 := 0; local_#23682 := _memory[{ base : local_#6004_ls!base, offset : local_#6004_ls!offset + 4 }]; goto CFG_47685; CFG_47685: assume true; call routine_#34613_body(local_#6004_ls,local_#23680,local_#23681,local_#23682); goto CFG_43884; CFG_43884: assume true; local_#23683 := { base : local_#32463_b!base, offset : local_#32463_b!offset + 8 }; local_#23684 := _memory[local_#23683]; goto CFG_47686; CFG_47686: assume true; call local_#23685 := routine_#34792_getlocvar(local_#32464_fs,local_#23684); goto CFG_39361; CFG_39361: assume true; _memory[{ base : local_#23685!base, offset : local_#23685!offset + 8 }] := _memory[{ base : local_#32464_fs!base, offset : local_#32464_fs!offset + 32 }]; goto CFG_37766; CFG_37766: assume true; } procedure routine_#34868_localstat(local_#6005_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6005_ls : { base : int, offset : int }; var local_#32467_nvars : int; var local_#23686 : { base : int, offset : int }; var local_#23687 : int; var local_#23688 : int; var local_#23689 : int; var local_#23690 : int; var local_#23691 : int; var local_#23692 : int; var local_#23693 : int; var local_#23694 : int; var local_#23695 : int; var local_#32465_e : { base : int, offset : int }; var local_#32466_nexps : int; var local_#23696 : { base : int, offset : int }; var local_#23697 : int; var local_#23698 : { base : int, offset : int }; local_#6005_ls := local_#6005_ls_IN; goto CFG_36856; CFG_36856: assume true; goto CFG_41776; CFG_41776: assume true; local_#32467_nvars := 0; goto CFG_47687; CFG_47687: assume true; call local_#23686 := routine_#35085_str_checkname(local_#6005_ls); goto CFG_47688; CFG_47688: assume true; call routine_#34956_new_localvar(local_#6005_ls,local_#23686); goto CFG_43885; CFG_43885: assume true; local_#23687 := local_#32467_nvars; local_#23688 := 1; local_#32467_nvars := local_#23687 + local_#23688; assert { :LIR "66699" } { :check "overflow" } { :finding_ids "0" } local_#32467_nvars <= 2147483647; local_#23689 := local_#23687; goto CFG_43886; CFG_43886: assume true; local_#23690 := 44; goto CFG_47689; CFG_47689: assume true; call local_#23691 := routine_#35112_testnext(local_#6005_ls,local_#23690); goto CFG_50751; CFG_50751: assume true; local_#23692 := local_#23691; if (local_#23692 != 0) { goto CFG_45117; } else { goto CFG_43887; } CFG_43887: assume true; local_#23693 := 61; goto CFG_47690; CFG_47690: assume true; call local_#23694 := routine_#35112_testnext(local_#6005_ls,local_#23693); goto CFG_50752; CFG_50752: assume true; local_#23695 := local_#23694; if (local_#23695 != 0) { goto CFG_43888; } else { goto CFG_41041; } CFG_41041: assume true; _memory[{ base : local_#32465_e!base, offset : local_#32465_e!offset + 0 }] := 0; local_#32466_nexps := 0; goto CFG_43889; CFG_43888: assume true; local_#23696 := local_#32465_e; goto CFG_47691; CFG_47691: assume true; call local_#23697 := routine_#34720_explist(local_#6005_ls,local_#23696); goto CFG_41042; CFG_41042: assume true; local_#32466_nexps := local_#23697; goto CFG_43889; CFG_43889: assume true; local_#23698 := local_#32465_e; goto CFG_47692; CFG_47692: assume true; call routine_#34579_adjust_assign(local_#6005_ls,local_#32467_nvars,local_#32466_nexps,local_#23698); goto CFG_47693; CFG_47693: assume true; call routine_#34581_adjustlocalvars(local_#6005_ls,local_#32467_nvars); goto CFG_39362; CFG_39362: assume true; goto CFG_37767; CFG_45117: assume true; goto CFG_47687; CFG_37767: assume true; } procedure routine_#34869_lookforfunc(local_#6006_L_IN : { base : int, offset : int }, local_#6007_path_IN : { base : int, offset : int }, local_#6008_sym_IN : { base : int, offset : int }) returns (local_#8123 : int) modifies _memory, _memory_ptr, _valid; { var local_#6006_L : { base : int, offset : int }; var local_#6007_path : { base : int, offset : int }; var local_#6008_sym : { base : int, offset : int }; var local_#23699 : { base : int, offset : int }; var local_#32468_reg : { base : int, offset : int }; var local_#23700 : { base : int, offset : int }; var local_#23701 : int; var local_#23702 : int; var local_#23703 : int; var local_#23704 : int; var local_#23705 : { base : int, offset : int }; var local_#23706 : { base : int, offset : int }; var local_#23707 : int; var local_#23708 : int; var local_#23709 : int; var local_#23710 : int; var local_#23711 : { base : int, offset : int }; var local_#32469_f : { base : int, offset : int }; var local_#23712 : { base : int, offset : int }; var local_#23713 : int; var local_#23714 : int; var local_#23715 : int; local_#6006_L := local_#6006_L_IN; local_#6007_path := local_#6007_path_IN; local_#6008_sym := local_#6008_sym_IN; goto CFG_36857; CFG_36857: assume true; goto CFG_47694; CFG_47694: assume true; call local_#23699 := routine_#34629_checkclib(local_#6006_L,local_#6007_path); goto CFG_50753; CFG_50753: assume true; local_#32468_reg := local_#23699; local_#23700 := { base : 0, offset : 0 }; local_#23701 := (if local_#32468_reg == local_#23700 then 1 else 0); if (local_#23701 != 0) { goto CFG_43890; } else { goto CFG_50755; } CFG_43890: assume true; local_#23702 := _memory[local_#6008_sym]; assert { :LIR "63492" } { :check "overflow" } { :finding_ids "0" } local_#23702 <= 2147483647; local_#23703 := 42; local_#23704 := (if local_#23702 == local_#23703 then 1 else 0); goto CFG_47695; CFG_47695: assume true; call local_#23705 := routine_#34871_lsys_load(local_#6006_L,local_#6007_path,local_#23704); goto CFG_50754; CFG_50754: assume true; local_#32468_reg := local_#23705; local_#23706 := { base : 0, offset : 0 }; local_#23707 := (if local_#32468_reg == local_#23706 then 1 else 0); if (local_#23707 != 0) { goto CFG_38750; } else { goto CFG_47696; } CFG_47696: assume true; call routine_#34578_addtoclib(local_#6006_L,local_#6007_path,local_#32468_reg); goto CFG_41043; CFG_41043: assume true; goto CFG_50755; CFG_50755: assume true; local_#23708 := _memory[local_#6008_sym]; assert { :LIR "63493" } { :check "overflow" } { :finding_ids "0" } local_#23708 <= 2147483647; local_#23709 := 42; local_#23710 := (if local_#23708 == local_#23709 then 1 else 0); if (local_#23710 != 0) { goto CFG_43892; } else { goto CFG_47697; } CFG_47697: assume true; call local_#23711 := routine_#34872_lsys_sym(local_#6006_L,local_#32468_reg,local_#6008_sym); goto CFG_50756; CFG_50756: assume true; local_#32469_f := local_#23711; local_#23712 := { base : 0, offset : 0 }; local_#23713 := (if local_#32469_f == local_#23712 then 1 else 0); if (local_#23713 != 0) { goto CFG_38748; } else { goto CFG_43891; } CFG_43891: assume true; local_#23714 := 0; goto CFG_47698; CFG_47698: assume true; call routine_#33958_lua_pushcclosure(local_#6006_L,local_#32469_f,local_#23714); goto CFG_38747; CFG_38747: assume true; local_#8123 := 0; goto CFG_37768; CFG_38748: assume true; local_#8123 := 2; goto CFG_37768; CFG_43892: assume true; local_#23715 := 1; goto CFG_47699; CFG_47699: assume true; call routine_#33957_lua_pushboolean(local_#6006_L,local_#23715); goto CFG_38749; CFG_38749: assume true; local_#8123 := 0; goto CFG_37768; CFG_38750: assume true; local_#8123 := 1; goto CFG_37768; CFG_37768: assume true; } procedure routine_#34870_lstop(local_#6009_L_IN : { base : int, offset : int }, local_#6010_ar_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6009_L : { base : int, offset : int }; var local_#6010_ar : { base : int, offset : int }; var local_#23716 : int; var local_#23717 : { base : int, offset : int }; var local_#23718 : int; var local_#23719 : int; var local_#23720 : { base : int, offset : int }; var local_#23721 : { base : int, offset : int }; var local_#23722 : int; local_#6009_L := local_#6009_L_IN; local_#6010_ar := local_#6010_ar_IN; goto CFG_36858; CFG_36858: assume true; goto CFG_43893; CFG_43893: assume true; local_#23716 := 0; assert { :LIR "61699" } { :check "overflow" } { :finding_ids "0" } true; local_#23717 := { base : 0, offset : 0 }; local_#23718 := 0; local_#23719 := 0; goto CFG_47700; CFG_47700: assume true; call routine_#33982_lua_sethook(local_#6009_L,local_#23717,local_#23718,local_#23719); goto CFG_43894; CFG_43894: assume true; assume _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 0 }] == 105 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 1 }] == 110 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 2 }] == 116 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 3 }] == 101 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 4 }] == 114 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 5 }] == 114 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 6 }] == 117 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 7 }] == 112 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 8 }] == 116 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 9 }] == 101 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 10 }] == 100 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 11 }] == 33 && _memory[{ base : strlit_#70670!base, offset : strlit_#70670!offset + 12 }] == 0; local_#23720 := strlit_#70670; local_#23721 := { base : local_#23720!base, offset : local_#23720!offset + 0 * 1 }; assert { :LIR "63494" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47701; CFG_47701: assume true; call local_#23722 := routine_#33828_luaL_error(local_#6009_L,local_#23721,{ base : 0, offset : 0 }); goto CFG_39363; CFG_39363: assume true; goto CFG_37769; CFG_37769: assume true; } procedure routine_#34871_lsys_load(local_#6011_L_IN : { base : int, offset : int }, local_#6012_path_IN : { base : int, offset : int }, local_#6013_seeglb_IN : int) returns (local_#8124 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6011_L : { base : int, offset : int }; var local_#6012_path : { base : int, offset : int }; var local_#6013_seeglb : int; var local_#23723 : int; var local_#23724 : int; var local_#30809 : int; var local_#23725 : int; var local_#23726 : { base : int, offset : int }; var local_#32470_lib : { base : int, offset : int }; var local_#23727 : { base : int, offset : int }; var local_#23728 : int; var local_#23729 : { base : int, offset : int }; var local_#23730 : { base : int, offset : int }; var local_#23731 : { base : int, offset : int }; local_#6011_L := local_#6011_L_IN; local_#6012_path := local_#6012_path_IN; local_#6013_seeglb := local_#6013_seeglb_IN; goto CFG_36859; CFG_36859: assume true; goto CFG_50757; CFG_50757: assume true; local_#23723 := 2; local_#23724 := local_#6013_seeglb; if (local_#23724 != 0) { goto CFG_41045; } else { goto CFG_41044; } CFG_41044: assume true; local_#30809 := 0; goto CFG_43895; CFG_41045: assume true; local_#30809 := 256; goto CFG_43895; CFG_43895: assume true; local_#23725 := ~sor32(local_#23723, local_#30809); goto CFG_47702; CFG_47702: assume true; call local_#23726 := routine_#33513_dlopen(local_#6012_path,local_#23725); goto CFG_50758; CFG_50758: assume true; local_#32470_lib := local_#23726; local_#23727 := { base : 0, offset : 0 }; local_#23728 := (if local_#32470_lib == local_#23727 then 1 else 0); if (local_#23728 != 0) { goto CFG_47703; } else { goto CFG_38751; } CFG_47703: assume true; call local_#23729 := routine_#33512_dlerror(); goto CFG_43896; CFG_43896: assume true; local_#23730 := local_#23729; assert { :LIR "63495" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47704; CFG_47704: assume true; call local_#23731 := routine_#33965_lua_pushstring(local_#6011_L,local_#23730); goto CFG_41046; CFG_41046: assume true; goto CFG_38751; CFG_38751: assume true; local_#8124 := local_#32470_lib; goto CFG_37770; CFG_37770: assume true; } procedure routine_#34872_lsys_sym(local_#6014_L_IN : { base : int, offset : int }, local_#6015_lib_IN : { base : int, offset : int }, local_#6016_sym_IN : { base : int, offset : int }) returns (local_#8125 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6014_L : { base : int, offset : int }; var local_#6015_lib : { base : int, offset : int }; var local_#6016_sym : { base : int, offset : int }; var local_#23732 : { base : int, offset : int }; var local_#23733 : { base : int, offset : int }; var local_#32471_f : { base : int, offset : int }; var local_#23734 : { base : int, offset : int }; var local_#23735 : int; var local_#23736 : { base : int, offset : int }; var local_#23737 : { base : int, offset : int }; var local_#23738 : { base : int, offset : int }; local_#6014_L := local_#6014_L_IN; local_#6015_lib := local_#6015_lib_IN; local_#6016_sym := local_#6016_sym_IN; goto CFG_36860; CFG_36860: assume true; goto CFG_47705; CFG_47705: assume true; call local_#23732 := routine_#33514_dlsym(local_#6015_lib,local_#6016_sym); goto CFG_50759; CFG_50759: assume true; local_#23733 := local_#23732; assert { :LIR "61700" } { :check "overflow" } { :finding_ids "0" } true; local_#32471_f := local_#23733; local_#23734 := { base : 0, offset : 0 }; local_#23735 := (if local_#32471_f == local_#23734 then 1 else 0); if (local_#23735 != 0) { goto CFG_47706; } else { goto CFG_38752; } CFG_47706: assume true; call local_#23736 := routine_#33512_dlerror(); goto CFG_43897; CFG_43897: assume true; local_#23737 := local_#23736; assert { :LIR "63496" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47707; CFG_47707: assume true; call local_#23738 := routine_#33965_lua_pushstring(local_#6014_L,local_#23737); goto CFG_41047; CFG_41047: assume true; goto CFG_38752; CFG_38752: assume true; local_#8125 := local_#32471_f; goto CFG_37771; CFG_37771: assume true; } procedure routine_#34873_lsys_unloadlib(local_#6017_lib_IN : { base : int, offset : int }) returns () { var local_#6017_lib : { base : int, offset : int }; var local_#23739 : int; local_#6017_lib := local_#6017_lib_IN; goto CFG_36861; CFG_36861: assume true; goto CFG_47708; CFG_47708: assume true; call local_#23739 := routine_#33511_dlclose(local_#6017_lib); goto CFG_39364; CFG_39364: assume true; goto CFG_37772; CFG_37772: assume true; } procedure routine_#34874_luaB_assert(local_#6018_L_IN : { base : int, offset : int }) returns (local_#8126 : int) modifies _memory, _memory_ptr, _valid; { var local_#6018_L : { base : int, offset : int }; var local_#23740 : int; var local_#23741 : int; var local_#23742 : int; var local_#23743 : int; var local_#23744 : int; var local_#23745 : int; var local_#23746 : int; var local_#23747 : { base : int, offset : int }; var local_#23748 : { base : int, offset : int }; var local_#23749 : { base : int, offset : int }; var local_#23750 : int; var local_#23751 : int; var local_#23752 : int; local_#6018_L := local_#6018_L_IN; goto CFG_36862; CFG_36862: assume true; goto CFG_43898; CFG_43898: assume true; local_#23740 := 1; goto CFG_47709; CFG_47709: assume true; call local_#23741 := routine_#33992_lua_toboolean(local_#6018_L,local_#23740); goto CFG_50760; CFG_50760: assume true; local_#23742 := local_#23741; if (local_#23742 != 0) { goto CFG_47716; } else { goto CFG_43899; } CFG_43899: assume true; local_#23743 := 1; goto CFG_47710; CFG_47710: assume true; call routine_#33819_luaL_checkany(local_#6018_L,local_#23743); goto CFG_43900; CFG_43900: assume true; local_#23744 := 1; local_#23745 := -1; goto CFG_47711; CFG_47711: assume true; call routine_#33978_lua_rotate(local_#6018_L,local_#23744,local_#23745); goto CFG_43901; CFG_43901: assume true; local_#23746 := -2; goto CFG_47712; CFG_47712: assume true; call routine_#33987_lua_settop(local_#6018_L,local_#23746); goto CFG_43902; CFG_43902: assume true; assume _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 0 }] == 97 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 1 }] == 115 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 2 }] == 115 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 3 }] == 101 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 4 }] == 114 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 5 }] == 116 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 6 }] == 105 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 7 }] == 111 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 8 }] == 110 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 9 }] == 32 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 10 }] == 102 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 11 }] == 97 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 12 }] == 105 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 13 }] == 108 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 14 }] == 101 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 15 }] == 100 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 16 }] == 33 && _memory[{ base : strlit_#70671!base, offset : strlit_#70671!offset + 17 }] == 0; local_#23747 := strlit_#70671; local_#23748 := { base : local_#23747!base, offset : local_#23747!offset + 0 * 1 }; assert { :LIR "63497" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47713; CFG_47713: assume true; call local_#23749 := routine_#33965_lua_pushstring(local_#6018_L,local_#23748); goto CFG_43903; CFG_43903: assume true; local_#23750 := 1; goto CFG_47714; CFG_47714: assume true; call routine_#33987_lua_settop(local_#6018_L,local_#23750); goto CFG_47715; CFG_47715: assume true; call local_#23751 := routine_#34883_luaB_error(local_#6018_L); goto CFG_38753; CFG_38753: assume true; local_#8126 := local_#23751; goto CFG_37773; CFG_47716: assume true; call local_#23752 := routine_#33941_lua_gettop(local_#6018_L); goto CFG_38754; CFG_38754: assume true; local_#8126 := local_#23752; goto CFG_37773; CFG_37773: assume true; } procedure routine_#34875_luaB_auxwrap(local_#6019_L_IN : { base : int, offset : int }) returns (local_#8127 : int) modifies _memory, _memory_ptr, _valid; { var local_#6019_L : { base : int, offset : int }; var local_#23753 : int; var local_#23754 : { base : int, offset : int }; var local_#32472_co : { base : int, offset : int }; var local_#23755 : int; var local_#23756 : int; var local_#32473_r : int; var local_#23757 : int; var local_#23758 : int; var local_#23759 : int; var local_#23760 : int; var local_#23761 : int; var local_#23762 : int; var local_#23763 : int; var local_#23764 : int; var local_#23765 : int; var local_#23766 : int; var local_#23767 : int; local_#6019_L := local_#6019_L_IN; goto CFG_36863; CFG_36863: assume true; goto CFG_43904; CFG_43904: assume true; local_#23753 := -1001001; goto CFG_47717; CFG_47717: assume true; call local_#23754 := routine_#33998_lua_tothread(local_#6019_L,local_#23753); goto CFG_43905; CFG_43905: assume true; local_#32472_co := local_#23754; goto CFG_47718; CFG_47718: assume true; call local_#23755 := routine_#33941_lua_gettop(local_#6019_L); goto CFG_47719; CFG_47719: assume true; call local_#23756 := routine_#34591_auxresume(local_#6019_L,local_#32472_co,local_#23755); goto CFG_50761; CFG_50761: assume true; local_#32473_r := local_#23756; local_#23757 := 0; local_#23758 := (if local_#32473_r < local_#23757 then 1 else 0); if (local_#23758 != 0) { goto CFG_43906; } else { goto CFG_38755; } CFG_38755: assume true; local_#8127 := local_#32473_r; goto CFG_37774; CFG_43906: assume true; local_#23759 := -1; goto CFG_47720; CFG_47720: assume true; call local_#23760 := routine_#34000_lua_type(local_#6019_L,local_#23759); goto CFG_50762; CFG_50762: assume true; local_#23761 := 4; local_#23762 := (if local_#23760 == local_#23761 then 1 else 0); if (local_#23762 != 0) { goto CFG_43907; } else { goto CFG_47724; } CFG_43907: assume true; local_#23763 := 1; goto CFG_47721; CFG_47721: assume true; call routine_#33855_luaL_where(local_#6019_L,local_#23763); goto CFG_43908; CFG_43908: assume true; local_#23764 := -2; local_#23765 := 1; goto CFG_47722; CFG_47722: assume true; call routine_#33978_lua_rotate(local_#6019_L,local_#23764,local_#23765); goto CFG_43909; CFG_43909: assume true; local_#23766 := 2; goto CFG_47723; CFG_47723: assume true; call routine_#33923_lua_concat(local_#6019_L,local_#23766); goto CFG_41048; CFG_41048: assume true; goto CFG_47724; CFG_47724: assume true; call local_#23767 := routine_#33927_lua_error(local_#6019_L); goto CFG_38756; CFG_38756: assume true; local_#8127 := local_#23767; goto CFG_37774; CFG_37774: assume true; } procedure routine_#34876_luaB_cocreate(local_#6020_L_IN : { base : int, offset : int }) returns (local_#8128 : int) modifies _memory, _memory_ptr, _valid; { var local_#6020_L : { base : int, offset : int }; var local_#23768 : int; var local_#23769 : int; var local_#23770 : { base : int, offset : int }; var local_#32474_NL : { base : int, offset : int }; var local_#23771 : int; var local_#23772 : int; local_#6020_L := local_#6020_L_IN; goto CFG_36864; CFG_36864: assume true; goto CFG_43910; CFG_43910: assume true; local_#23768 := 1; local_#23769 := 6; goto CFG_47725; CFG_47725: assume true; call routine_#33825_luaL_checktype(local_#6020_L,local_#23768,local_#23769); goto CFG_47726; CFG_47726: assume true; call local_#23770 := routine_#33953_lua_newthread(local_#6020_L); goto CFG_43911; CFG_43911: assume true; local_#32474_NL := local_#23770; local_#23771 := 1; goto CFG_47727; CFG_47727: assume true; call routine_#33967_lua_pushvalue(local_#6020_L,local_#23771); goto CFG_43912; CFG_43912: assume true; local_#23772 := 1; goto CFG_47728; CFG_47728: assume true; call routine_#34005_lua_xmove(local_#6020_L,local_#32474_NL,local_#23772); goto CFG_38757; CFG_38757: assume true; local_#8128 := 1; goto CFG_37775; CFG_37775: assume true; } procedure routine_#34877_luaB_collectgarbage(local_#6021_L_IN : { base : int, offset : int }) returns (local_#8129 : int) modifies _memory, _memory_ptr, _valid; { var local_#6021_L : { base : int, offset : int }; var local_#23773 : int; var local_#23774 : { base : int, offset : int }; var local_#23775 : { base : int, offset : int }; var local_#23776 : { base : int, offset : int }; var local_#23777 : int; var local_#32476_o : int; var local_#23778 : int; var local_#23779 : int; var local_#23780 : int; var local_#23781 : int; var local_#32475_ex : int; var local_#23782 : int; var local_#32477_res : int; var local_#23783 : int; var local_#23784 : int; var local_#23785 : int; var local_#23786 : int; var local_#23787 : int; var local_#32478_b : int; var nondet_#0 : int; var local_#23788 : int; var nondet_#1 : int; var local_#23789 : int; var nondet_#2 : int; var local_#23790 : int; var nondet_#3 : int; var local_#23791 : int; var nondet_#4 : int; var local_#23792 : int; local_#6021_L := local_#6021_L_IN; goto CFG_36865; CFG_36865: assume true; goto CFG_43913; CFG_43913: assume true; local_#23773 := 1; assume _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 0 }] == 99 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 1 }] == 111 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 2 }] == 108 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 3 }] == 108 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 4 }] == 101 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 5 }] == 99 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 6 }] == 116 && _memory[{ base : strlit_#70672!base, offset : strlit_#70672!offset + 7 }] == 0; local_#23774 := strlit_#70672; local_#23775 := { base : local_#23774!base, offset : local_#23774!offset + 0 * 1 }; assert { :LIR "63498" } { :check "overflow" } { :finding_ids "0" } true; local_#23776 := { base : global_#31166_opts!base, offset : global_#31166_opts!offset + 0 * 8 }; goto CFG_47729; CFG_47729: assume true; call local_#23777 := routine_#33823_luaL_checkoption(local_#6021_L,local_#23773,local_#23775,local_#23776); goto CFG_43914; CFG_43914: assume true; local_#32476_o := _memory[{ base : global_#31167_optsnum!base, offset : global_#31167_optsnum!offset + local_#23777 * 4 }]; local_#23778 := 2; local_#23779 := 0; goto CFG_47730; CFG_47730: assume true; call local_#23780 := routine_#33841_luaL_optinteger(local_#6021_L,local_#23778,local_#23779); goto CFG_43915; CFG_43915: assume true; local_#23781 := local_#23780; assert { :LIR "61701" } { :check "overflow" } { :finding_ids "0" } local_#23781 <= 2147483647; local_#32475_ex := local_#23781; goto CFG_47731; CFG_47731: assume true; call local_#23782 := routine_#33928_lua_gc(local_#6021_L,local_#32476_o,local_#32475_ex); goto CFG_51551; CFG_51551: assume true; local_#32477_res := local_#23782; local_#23783 := local_#32476_o; if (local_#23783 == 3) { goto CFG_43917; } if (local_#23783 == 5) { goto CFG_47733; } if (local_#23783 == 9) { goto CFG_47733; } goto CFG_43916; CFG_43916: assume true; local_#23784 := local_#32477_res; assert { :LIR "63499" } { :check "overflow" } { :finding_ids "0" } local_#23784 <= 9223372036854775807; goto CFG_47732; CFG_47732: assume true; call routine_#33960_lua_pushinteger(local_#6021_L,local_#23784); goto CFG_38758; CFG_38758: assume true; local_#8129 := 1; goto CFG_37776; CFG_47733: assume true; call routine_#33957_lua_pushboolean(local_#6021_L,local_#32477_res); goto CFG_38759; CFG_38759: assume true; local_#8129 := 1; goto CFG_37776; CFG_43917: assume true; local_#23785 := 4; local_#23786 := 0; goto CFG_47734; CFG_47734: assume true; call local_#23787 := routine_#33928_lua_gc(local_#6021_L,local_#23785,local_#23786); goto CFG_43918; CFG_43918: assume true; local_#32478_b := local_#23787; havoc nondet_#0; local_#23788 := nondet_#0 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61702 */; assert { :LIR "61702" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#1; local_#23789 := nondet_#1 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61703 */; assert { :LIR "61703" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#2; local_#23790 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78623 */; havoc nondet_#3; local_#23791 := nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68648. */; assert { :LIR "68648" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#4; local_#23792 := nondet_#4 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66700. */; assert { :LIR "66700" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47735; CFG_47735: assume true; call routine_#33964_lua_pushnumber(local_#6021_L,local_#23792); goto CFG_38760; CFG_38760: assume true; local_#8129 := 1; goto CFG_37776; CFG_37776: assume true; } procedure routine_#34878_luaB_coresume(local_#6022_L_IN : { base : int, offset : int }) returns (local_#8130 : int) modifies _memory, _memory_ptr, _valid; { var local_#6022_L : { base : int, offset : int }; var local_#23793 : { base : int, offset : int }; var local_#32479_co : { base : int, offset : int }; var local_#23794 : int; var local_#23795 : int; var local_#23796 : int; var local_#23797 : int; var local_#32480_r : int; var local_#23798 : int; var local_#23799 : int; var local_#23800 : int; var local_#23801 : int; var local_#23802 : int; var local_#23803 : int; var local_#23804 : int; var local_#23805 : int; var local_#23806 : int; var local_#23807 : int; var local_#23808 : int; var local_#23809 : int; local_#6022_L := local_#6022_L_IN; goto CFG_36866; CFG_36866: assume true; goto CFG_47736; CFG_47736: assume true; call local_#23793 := routine_#34781_getco(local_#6022_L); goto CFG_43919; CFG_43919: assume true; local_#32479_co := local_#23793; goto CFG_47737; CFG_47737: assume true; call local_#23794 := routine_#33941_lua_gettop(local_#6022_L); goto CFG_43920; CFG_43920: assume true; local_#23795 := 1; local_#23796 := local_#23794 - local_#23795; assert { :LIR "68095" } { :check "overflow" } { :finding_ids "0" } local_#23796 <= 2147483647; goto CFG_47738; CFG_47738: assume true; call local_#23797 := routine_#34591_auxresume(local_#6022_L,local_#32479_co,local_#23796); goto CFG_50763; CFG_50763: assume true; local_#32480_r := local_#23797; local_#23798 := 0; local_#23799 := (if local_#32480_r < local_#23798 then 1 else 0); if (local_#23799 != 0) { goto CFG_43923; } else { goto CFG_43921; } CFG_43921: assume true; local_#23800 := 1; goto CFG_47739; CFG_47739: assume true; call routine_#33957_lua_pushboolean(local_#6022_L,local_#23800); goto CFG_43922; CFG_43922: assume true; local_#23801 := 1; local_#23802 := local_#32480_r + local_#23801; assert { :LIR "66701" } { :check "overflow" } { :finding_ids "0" } local_#23802 <= 2147483647; local_#23803 := -local_#23802; assert { :LIR "64666" } { :check "overflow" } { :finding_ids "0" } local_#23803 <= 2147483647; local_#23804 := 1; goto CFG_47740; CFG_47740: assume true; call routine_#33978_lua_rotate(local_#6022_L,local_#23803,local_#23804); goto CFG_38761; CFG_38761: assume true; local_#23805 := 1; local_#23806 := local_#32480_r + local_#23805; assert { :LIR "66702" } { :check "overflow" } { :finding_ids "0" } local_#23806 <= 2147483647; local_#8130 := local_#23806; goto CFG_37777; CFG_43923: assume true; local_#23807 := 0; goto CFG_47741; CFG_47741: assume true; call routine_#33957_lua_pushboolean(local_#6022_L,local_#23807); goto CFG_43924; CFG_43924: assume true; local_#23808 := -2; local_#23809 := 1; goto CFG_47742; CFG_47742: assume true; call routine_#33978_lua_rotate(local_#6022_L,local_#23808,local_#23809); goto CFG_38762; CFG_38762: assume true; local_#8130 := 2; goto CFG_37777; CFG_37777: assume true; } procedure routine_#34879_luaB_corunning(local_#6023_L_IN : { base : int, offset : int }) returns (local_#8131 : int) modifies _memory, _memory_ptr; { var local_#6023_L : { base : int, offset : int }; var local_#23810 : int; var local_#32481_ismain : int; local_#6023_L := local_#6023_L_IN; goto CFG_36867; CFG_36867: assume true; goto CFG_47743; CFG_47743: assume true; call local_#23810 := routine_#33966_lua_pushthread(local_#6023_L); goto CFG_43925; CFG_43925: assume true; local_#32481_ismain := local_#23810; goto CFG_47744; CFG_47744: assume true; call routine_#33957_lua_pushboolean(local_#6023_L,local_#32481_ismain); goto CFG_38763; CFG_38763: assume true; local_#8131 := 2; goto CFG_37778; CFG_37778: assume true; } procedure routine_#34880_luaB_costatus(local_#6024_L_IN : { base : int, offset : int }) returns (local_#8132 : int) modifies _memory, _memory_ptr, _valid; { var local_#6024_L : { base : int, offset : int }; var local_#23811 : { base : int, offset : int }; var local_#32482_co : { base : int, offset : int }; var local_#23812 : int; var local_#23813 : int; var local_#23814 : int; var local_#23815 : { base : int, offset : int }; var local_#23816 : { base : int, offset : int }; var local_#23817 : { base : int, offset : int }; var local_#23818 : int; var local_#32483_ar : { base : int, offset : int }; var local_#23819 : { base : int, offset : int }; var local_#23820 : int; var local_#23821 : int; var local_#23822 : int; var local_#23823 : int; var local_#23824 : int; var local_#23825 : int; var local_#23826 : { base : int, offset : int }; var local_#23827 : { base : int, offset : int }; var local_#23828 : { base : int, offset : int }; var local_#23829 : { base : int, offset : int }; var local_#23830 : { base : int, offset : int }; var local_#23831 : { base : int, offset : int }; var local_#23832 : { base : int, offset : int }; var local_#23833 : { base : int, offset : int }; var local_#23834 : { base : int, offset : int }; var local_#23835 : { base : int, offset : int }; var local_#23836 : { base : int, offset : int }; var local_#23837 : { base : int, offset : int }; var local_#23838 : { base : int, offset : int }; var local_#23839 : { base : int, offset : int }; var local_#23840 : { base : int, offset : int }; local_#6024_L := local_#6024_L_IN; goto CFG_36868; CFG_36868: assume true; goto CFG_47745; CFG_47745: assume true; call local_#23811 := routine_#34781_getco(local_#6024_L); goto CFG_50764; CFG_50764: assume true; local_#32482_co := local_#23811; local_#23812 := (if local_#6024_L == local_#32482_co then 1 else 0); if (local_#23812 != 0) { goto CFG_43932; } else { goto CFG_47746; } CFG_47746: assume true; call local_#23813 := routine_#33990_lua_status(local_#32482_co); goto CFG_51552; CFG_51552: assume true; local_#23814 := local_#23813; if (local_#23814 == 1) { goto CFG_43931; } if (local_#23814 == 0) { goto CFG_43927; } goto CFG_43926; CFG_43926: assume true; assume _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 0 }] == 100 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 1 }] == 101 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 2 }] == 97 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 3 }] == 100 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 4 }] == 0; local_#23815 := strlit_#70673; local_#23816 := { base : local_#23815!base, offset : local_#23815!offset + 0 * 1 }; assert { :LIR "63500" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47747; CFG_47747: assume true; call local_#23817 := routine_#33965_lua_pushstring(local_#6024_L,local_#23816); goto CFG_39662; CFG_39662: assume true; goto CFG_41053; CFG_43927: assume true; local_#23818 := 0; local_#23819 := local_#32483_ar; goto CFG_47748; CFG_47748: assume true; call local_#23820 := routine_#33939_lua_getstack(local_#32482_co,local_#23818,local_#23819); goto CFG_50765; CFG_50765: assume true; local_#23821 := 0; local_#23822 := (if local_#23820 > local_#23821 then 1 else 0); if (local_#23822 != 0) { goto CFG_43930; } else { goto CFG_47749; } CFG_47749: assume true; call local_#23823 := routine_#33941_lua_gettop(local_#32482_co); goto CFG_50766; CFG_50766: assume true; local_#23824 := 0; local_#23825 := (if local_#23823 == local_#23824 then 1 else 0); if (local_#23825 != 0) { goto CFG_43929; } else { goto CFG_43928; } CFG_43928: assume true; assume _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 0 }] == 115 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 1 }] == 117 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 2 }] == 115 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 3 }] == 112 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 4 }] == 101 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 5 }] == 110 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 6 }] == 100 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 7 }] == 101 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 8 }] == 100 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 9 }] == 0; local_#23826 := strlit_#70674; local_#23827 := { base : local_#23826!base, offset : local_#23826!offset + 0 * 1 }; assert { :LIR "63501" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47750; CFG_47750: assume true; call local_#23828 := routine_#33965_lua_pushstring(local_#6024_L,local_#23827); goto CFG_41049; CFG_41049: assume true; goto CFG_41051; CFG_43929: assume true; assume _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 0 }] == 100 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 1 }] == 101 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 2 }] == 97 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 3 }] == 100 && _memory[{ base : strlit_#70673!base, offset : strlit_#70673!offset + 4 }] == 0; local_#23829 := strlit_#70673; local_#23830 := { base : local_#23829!base, offset : local_#23829!offset + 0 * 1 }; assert { :LIR "63502" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47751; CFG_47751: assume true; call local_#23831 := routine_#33965_lua_pushstring(local_#6024_L,local_#23830); goto CFG_41050; CFG_41050: assume true; goto CFG_41051; CFG_41051: assume true; goto CFG_39663; CFG_43930: assume true; assume _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 0 }] == 110 && _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 1 }] == 111 && _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 2 }] == 114 && _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 3 }] == 109 && _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 4 }] == 97 && _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 5 }] == 108 && _memory[{ base : strlit_#70676!base, offset : strlit_#70676!offset + 6 }] == 0; local_#23832 := strlit_#70676; local_#23833 := { base : local_#23832!base, offset : local_#23832!offset + 0 * 1 }; assert { :LIR "63503" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47752; CFG_47752: assume true; call local_#23834 := routine_#33965_lua_pushstring(local_#6024_L,local_#23833); goto CFG_41052; CFG_41052: assume true; goto CFG_39663; CFG_39663: assume true; goto CFG_41053; CFG_43931: assume true; assume _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 0 }] == 115 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 1 }] == 117 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 2 }] == 115 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 3 }] == 112 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 4 }] == 101 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 5 }] == 110 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 6 }] == 100 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 7 }] == 101 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 8 }] == 100 && _memory[{ base : strlit_#70674!base, offset : strlit_#70674!offset + 9 }] == 0; local_#23835 := strlit_#70674; local_#23836 := { base : local_#23835!base, offset : local_#23835!offset + 0 * 1 }; assert { :LIR "63504" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47753; CFG_47753: assume true; call local_#23837 := routine_#33965_lua_pushstring(local_#6024_L,local_#23836); goto CFG_39664; CFG_39664: assume true; goto CFG_41053; CFG_41053: assume true; goto CFG_38764; CFG_43932: assume true; assume _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 0 }] == 114 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 1 }] == 117 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 2 }] == 110 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 3 }] == 110 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 4 }] == 105 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 5 }] == 110 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 6 }] == 103 && _memory[{ base : strlit_#70678!base, offset : strlit_#70678!offset + 7 }] == 0; local_#23838 := strlit_#70678; local_#23839 := { base : local_#23838!base, offset : local_#23838!offset + 0 * 1 }; assert { :LIR "63505" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47754; CFG_47754: assume true; call local_#23840 := routine_#33965_lua_pushstring(local_#6024_L,local_#23839); goto CFG_41054; CFG_41054: assume true; goto CFG_38764; CFG_38764: assume true; local_#8132 := 1; goto CFG_37779; CFG_41945: assume true; goto CFG_41053; CFG_37779: assume true; } procedure routine_#34881_luaB_cowrap(local_#6025_L_IN : { base : int, offset : int }) returns (local_#8133 : int) modifies _memory, _memory_ptr, _valid; { var local_#6025_L : { base : int, offset : int }; var local_#23841 : int; var local_#23842 : { base : int, offset : int }; var local_#23843 : int; local_#6025_L := local_#6025_L_IN; goto CFG_36869; CFG_36869: assume true; goto CFG_47755; CFG_47755: assume true; call local_#23841 := routine_#34876_luaB_cocreate(local_#6025_L); goto CFG_43933; CFG_43933: assume true; local_#23842 := fun_addr_#34875_luaB_auxwrap; local_#23843 := 1; goto CFG_47756; CFG_47756: assume true; call routine_#33958_lua_pushcclosure(local_#6025_L,local_#23842,local_#23843); goto CFG_38765; CFG_38765: assume true; local_#8133 := 1; goto CFG_37780; CFG_37780: assume true; } procedure routine_#34882_luaB_dofile(local_#6026_L_IN : { base : int, offset : int }) returns (local_#8134 : int) modifies _memory, _memory_ptr, _valid; { var local_#6026_L : { base : int, offset : int }; var local_#23844 : int; var local_#23845 : { base : int, offset : int }; var local_#23846 : { base : int, offset : int }; var local_#23847 : { base : int, offset : int }; var local_#32484_fname : { base : int, offset : int }; var local_#23848 : int; var local_#23849 : { base : int, offset : int }; var local_#23850 : int; var local_#23851 : int; var local_#23852 : int; var local_#23853 : int; var local_#23854 : int; var local_#23855 : int; var local_#23856 : { base : int, offset : int }; var local_#23857 : int; var local_#23858 : int; var local_#23859 : int; var local_#23860 : int; local_#6026_L := local_#6026_L_IN; goto CFG_36870; CFG_36870: assume true; goto CFG_43934; CFG_43934: assume true; local_#23844 := 1; local_#23845 := { base : 0, offset : 0 }; local_#23846 := { base : 0, offset : 0 }; goto CFG_47757; CFG_47757: assume true; call local_#23847 := routine_#33842_luaL_optlstring(local_#6026_L,local_#23844,local_#23845,local_#23846); goto CFG_43935; CFG_43935: assume true; local_#32484_fname := local_#23847; local_#23848 := 1; goto CFG_47758; CFG_47758: assume true; call routine_#33987_lua_settop(local_#6026_L,local_#23848); goto CFG_43936; CFG_43936: assume true; local_#23849 := { base : 0, offset : 0 }; goto CFG_47759; CFG_47759: assume true; call local_#23850 := routine_#33836_luaL_loadfilex(local_#6026_L,local_#32484_fname,local_#23849); goto CFG_50767; CFG_50767: assume true; local_#23851 := 0; local_#23852 := (if local_#23850 != local_#23851 then 1 else 0); if (local_#23852 != 0) { goto CFG_47762; } else { goto CFG_43937; } CFG_43937: assume true; local_#23853 := 0; local_#23854 := -1; local_#23855 := 0; local_#23856 := fun_addr_#34705_dofilecont; goto CFG_47760; CFG_47760: assume true; call routine_#33919_lua_callk(local_#6026_L,local_#23853,local_#23854,local_#23855,local_#23856); goto CFG_43938; CFG_43938: assume true; local_#23857 := 0; local_#23858 := 0; goto CFG_47761; CFG_47761: assume true; call local_#23859 := routine_#34705_dofilecont(local_#6026_L,local_#23857,local_#23858); goto CFG_38766; CFG_38766: assume true; local_#8134 := local_#23859; goto CFG_37781; CFG_47762: assume true; call local_#23860 := routine_#33927_lua_error(local_#6026_L); goto CFG_38767; CFG_38767: assume true; local_#8134 := local_#23860; goto CFG_37781; CFG_37781: assume true; } procedure routine_#34883_luaB_error(local_#6027_L_IN : { base : int, offset : int }) returns (local_#8135 : int) modifies _memory, _memory_ptr, _valid; { var local_#6027_L : { base : int, offset : int }; var local_#23861 : int; var local_#23862 : int; var local_#23863 : int; var local_#23864 : int; var local_#32485_level : int; var local_#23865 : int; var local_#23866 : int; var local_#23867 : int; var local_#23868 : int; var local_#23869 : int; var local_#23870 : int; var local_#23871 : int; var local_#23872 : int; var local_#23873 : int; var local_#23874 : int; local_#6027_L := local_#6027_L_IN; goto CFG_36871; CFG_36871: assume true; goto CFG_43939; CFG_43939: assume true; local_#23861 := 2; local_#23862 := 1; goto CFG_47763; CFG_47763: assume true; call local_#23863 := routine_#33841_luaL_optinteger(local_#6027_L,local_#23861,local_#23862); goto CFG_43940; CFG_43940: assume true; local_#23864 := local_#23863; assert { :LIR "61704" } { :check "overflow" } { :finding_ids "0" } local_#23864 <= 2147483647; local_#32485_level := local_#23864; local_#23865 := 1; goto CFG_47764; CFG_47764: assume true; call routine_#33987_lua_settop(local_#6027_L,local_#23865); goto CFG_43941; CFG_43941: assume true; local_#23866 := 1; goto CFG_47765; CFG_47765: assume true; call local_#23867 := routine_#34000_lua_type(local_#6027_L,local_#23866); goto CFG_50768; CFG_50768: assume true; local_#23868 := 4; local_#23869 := (if local_#23867 == local_#23868 then 1 else 0); if (local_#23869 != 0) { goto CFG_50769; } else { goto CFG_47769; } CFG_50769: assume true; local_#23870 := 0; local_#23871 := (if local_#32485_level > local_#23870 then 1 else 0); if (local_#23871 != 0) { goto CFG_47766; } else { goto CFG_47769; } CFG_47766: assume true; call routine_#33855_luaL_where(local_#6027_L,local_#32485_level); goto CFG_43942; CFG_43942: assume true; local_#23872 := 1; goto CFG_47767; CFG_47767: assume true; call routine_#33967_lua_pushvalue(local_#6027_L,local_#23872); goto CFG_43943; CFG_43943: assume true; local_#23873 := 2; goto CFG_47768; CFG_47768: assume true; call routine_#33923_lua_concat(local_#6027_L,local_#23873); goto CFG_41055; CFG_41055: assume true; goto CFG_47769; CFG_47769: assume true; call local_#23874 := routine_#33927_lua_error(local_#6027_L); goto CFG_38768; CFG_38768: assume true; local_#8135 := local_#23874; goto CFG_37782; CFG_37782: assume true; } procedure routine_#34884_luaB_getmetatable(local_#6028_L_IN : { base : int, offset : int }) returns (local_#8136 : int) modifies _memory, _memory_ptr, _valid; { var local_#6028_L : { base : int, offset : int }; var local_#23875 : int; var local_#23876 : int; var local_#23877 : int; var local_#23878 : int; var local_#23879 : int; var local_#23880 : { base : int, offset : int }; var local_#23881 : { base : int, offset : int }; var local_#23882 : int; local_#6028_L := local_#6028_L_IN; goto CFG_36872; CFG_36872: assume true; goto CFG_43944; CFG_43944: assume true; local_#23875 := 1; goto CFG_47770; CFG_47770: assume true; call routine_#33819_luaL_checkany(local_#6028_L,local_#23875); goto CFG_43945; CFG_43945: assume true; local_#23876 := 1; goto CFG_47771; CFG_47771: assume true; call local_#23877 := routine_#33938_lua_getmetatable(local_#6028_L,local_#23876); goto CFG_50770; CFG_50770: assume true; local_#23878 := (if local_#23877 != 0 then 0 else 1); if (local_#23878 != 0) { goto CFG_47773; } else { goto CFG_43946; } CFG_43946: assume true; local_#23879 := 1; assume _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 0 }] == 95 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 1 }] == 95 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 2 }] == 109 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 3 }] == 101 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 4 }] == 116 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 5 }] == 97 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 6 }] == 116 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 7 }] == 97 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 8 }] == 98 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 9 }] == 108 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 10 }] == 101 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 11 }] == 0; local_#23880 := strlit_#70679; local_#23881 := { base : local_#23880!base, offset : local_#23880!offset + 0 * 1 }; assert { :LIR "63506" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47772; CFG_47772: assume true; call local_#23882 := routine_#33831_luaL_getmetafield(local_#6028_L,local_#23879,local_#23881); goto CFG_38769; CFG_38769: assume true; local_#8136 := 1; goto CFG_37783; CFG_47773: assume true; call routine_#33963_lua_pushnil(local_#6028_L); goto CFG_38770; CFG_38770: assume true; local_#8136 := 1; goto CFG_37783; CFG_37783: assume true; } procedure routine_#34885_luaB_ipairs(local_#6029_L_IN : { base : int, offset : int }) returns (local_#8137 : int) modifies _memory, _memory_ptr, _valid; { var local_#6029_L : { base : int, offset : int }; var local_#23883 : { base : int, offset : int }; var local_#23884 : { base : int, offset : int }; var local_#23885 : int; var local_#23886 : { base : int, offset : int }; var local_#23887 : int; local_#6029_L := local_#6029_L_IN; goto CFG_36873; CFG_36873: assume true; goto CFG_43947; CFG_43947: assume true; assume _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 0 }] == 95 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 1 }] == 95 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 2 }] == 105 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 3 }] == 112 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 4 }] == 97 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 5 }] == 105 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 6 }] == 114 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 7 }] == 115 && _memory[{ base : strlit_#70680!base, offset : strlit_#70680!offset + 8 }] == 0; local_#23883 := strlit_#70680; local_#23884 := { base : local_#23883!base, offset : local_#23883!offset + 0 * 1 }; assert { :LIR "63507" } { :check "overflow" } { :finding_ids "0" } true; local_#23885 := 1; local_#23886 := fun_addr_#34833_ipairsaux; goto CFG_47774; CFG_47774: assume true; call local_#23887 := routine_#34985_pairsmeta(local_#6029_L,local_#23884,local_#23885,local_#23886); goto CFG_38771; CFG_38771: assume true; local_#8137 := local_#23887; goto CFG_37784; CFG_37784: assume true; } procedure routine_#34886_luaB_load(local_#6030_L_IN : { base : int, offset : int }) returns (local_#8138 : int) modifies _memory, _memory_ptr, _valid; { var local_#6030_L : { base : int, offset : int }; var local_#23888 : int; var local_#32487_l : { base : int, offset : int }; var local_#23889 : { base : int, offset : int }; var local_#23890 : { base : int, offset : int }; var local_#32489_s : { base : int, offset : int }; var local_#23891 : int; var local_#23892 : { base : int, offset : int }; var local_#23893 : { base : int, offset : int }; var local_#23894 : { base : int, offset : int }; var local_#23895 : { base : int, offset : int }; var local_#32488_mode : { base : int, offset : int }; var local_#23896 : int; var local_#23897 : int; var local_#23898 : int; var local_#23899 : int; var local_#23900 : int; var local_#30810 : int; var local_#32486_env : int; var local_#23901 : { base : int, offset : int }; var local_#23902 : int; var local_#23903 : int; var local_#23904 : { base : int, offset : int }; var local_#23905 : { base : int, offset : int }; var local_#23906 : { base : int, offset : int }; var local_#23907 : { base : int, offset : int }; var local_#32492_chunkname : { base : int, offset : int }; var local_#23908 : int; var local_#23909 : int; var local_#23910 : int; var local_#23911 : { base : int, offset : int }; var local_#23912 : { base : int, offset : int }; var local_#23913 : int; var local_#32490_status : int; var local_#23914 : int; var local_#23915 : { base : int, offset : int }; var local_#23916 : { base : int, offset : int }; var local_#32491_chunkname : { base : int, offset : int }; var local_#23917 : int; var local_#23918 : int; local_#6030_L := local_#6030_L_IN; goto CFG_36874; CFG_36874: assume true; goto CFG_43948; CFG_43948: assume true; local_#23888 := 1; local_#23889 := local_#32487_l; goto CFG_47775; CFG_47775: assume true; call local_#23890 := routine_#33995_lua_tolstring(local_#6030_L,local_#23888,local_#23889); goto CFG_43949; CFG_43949: assume true; local_#32489_s := local_#23890; local_#23891 := 3; assume _memory[{ base : strlit_#70681!base, offset : strlit_#70681!offset + 0 }] == 98 && _memory[{ base : strlit_#70681!base, offset : strlit_#70681!offset + 1 }] == 116 && _memory[{ base : strlit_#70681!base, offset : strlit_#70681!offset + 2 }] == 0; local_#23892 := strlit_#70681; local_#23893 := { base : local_#23892!base, offset : local_#23892!offset + 0 * 1 }; assert { :LIR "63508" } { :check "overflow" } { :finding_ids "0" } true; local_#23894 := { base : 0, offset : 0 }; goto CFG_47776; CFG_47776: assume true; call local_#23895 := routine_#33842_luaL_optlstring(local_#6030_L,local_#23891,local_#23893,local_#23894); goto CFG_43950; CFG_43950: assume true; local_#32488_mode := local_#23895; local_#23896 := 4; goto CFG_47777; CFG_47777: assume true; call local_#23897 := routine_#34000_lua_type(local_#6030_L,local_#23896); goto CFG_50771; CFG_50771: assume true; local_#23898 := -1; local_#23899 := (if local_#23897 == local_#23898 then 1 else 0); local_#23900 := (if local_#23899 != 0 then 0 else 1); if (local_#23900 != 0) { goto CFG_41057; } else { goto CFG_41056; } CFG_41056: assume true; local_#30810 := 0; goto CFG_50772; CFG_41057: assume true; local_#30810 := 4; goto CFG_50772; CFG_50772: assume true; local_#32486_env := local_#30810; local_#23901 := { base : 0, offset : 0 }; local_#23902 := (if local_#32489_s != local_#23901 then 1 else 0); if (local_#23902 != 0) { goto CFG_43955; } else { goto CFG_43951; } CFG_43951: assume true; local_#23903 := 2; assume _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 0 }] == 61 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 1 }] == 40 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 2 }] == 108 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 3 }] == 111 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 4 }] == 97 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 5 }] == 100 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 6 }] == 41 && _memory[{ base : strlit_#70682!base, offset : strlit_#70682!offset + 7 }] == 0; local_#23904 := strlit_#70682; local_#23905 := { base : local_#23904!base, offset : local_#23904!offset + 0 * 1 }; assert { :LIR "63509" } { :check "overflow" } { :finding_ids "0" } true; local_#23906 := { base : 0, offset : 0 }; goto CFG_47778; CFG_47778: assume true; call local_#23907 := routine_#33842_luaL_optlstring(local_#6030_L,local_#23903,local_#23905,local_#23906); goto CFG_43952; CFG_43952: assume true; local_#32492_chunkname := local_#23907; local_#23908 := 1; local_#23909 := 6; goto CFG_47779; CFG_47779: assume true; call routine_#33825_luaL_checktype(local_#6030_L,local_#23908,local_#23909); goto CFG_43953; CFG_43953: assume true; local_#23910 := 5; goto CFG_47780; CFG_47780: assume true; call routine_#33987_lua_settop(local_#6030_L,local_#23910); goto CFG_43954; CFG_43954: assume true; local_#23911 := fun_addr_#34774_generic_reader; local_#23912 := { base : 0, offset : 0 }; goto CFG_47781; CFG_47781: assume true; call local_#23913 := routine_#33951_lua_load(local_#6030_L,local_#23911,local_#23912,local_#32492_chunkname,local_#32488_mode); goto CFG_41058; CFG_41058: assume true; local_#32490_status := local_#23913; goto CFG_47784; CFG_43955: assume true; local_#23914 := 2; local_#23915 := { base : 0, offset : 0 }; goto CFG_47782; CFG_47782: assume true; call local_#23916 := routine_#33842_luaL_optlstring(local_#6030_L,local_#23914,local_#32489_s,local_#23915); goto CFG_43956; CFG_43956: assume true; local_#32491_chunkname := local_#23916; goto CFG_47783; CFG_47783: assume true; call local_#23917 := routine_#33835_luaL_loadbufferx(local_#6030_L,local_#32489_s,_memory[local_#32487_l],local_#32491_chunkname,local_#32488_mode); goto CFG_41059; CFG_41059: assume true; local_#32490_status := local_#23917; goto CFG_47784; CFG_47784: assume true; call local_#23918 := routine_#34864_load_aux(local_#6030_L,local_#32490_status,local_#32486_env); goto CFG_38772; CFG_38772: assume true; local_#8138 := local_#23918; goto CFG_37785; CFG_37785: assume true; } procedure routine_#34887_luaB_loadfile(local_#6031_L_IN : { base : int, offset : int }) returns (local_#8139 : int) modifies _memory, _memory_ptr, _valid; { var local_#6031_L : { base : int, offset : int }; var local_#23919 : int; var local_#23920 : { base : int, offset : int }; var local_#23921 : { base : int, offset : int }; var local_#23922 : { base : int, offset : int }; var local_#32494_fname : { base : int, offset : int }; var local_#23923 : int; var local_#23924 : { base : int, offset : int }; var local_#23925 : { base : int, offset : int }; var local_#23926 : { base : int, offset : int }; var local_#32495_mode : { base : int, offset : int }; var local_#23927 : int; var local_#23928 : int; var local_#23929 : int; var local_#23930 : int; var local_#23931 : int; var local_#30811 : int; var local_#32493_env : int; var local_#23932 : int; var local_#32496_status : int; var local_#23933 : int; local_#6031_L := local_#6031_L_IN; goto CFG_36875; CFG_36875: assume true; goto CFG_43957; CFG_43957: assume true; local_#23919 := 1; local_#23920 := { base : 0, offset : 0 }; local_#23921 := { base : 0, offset : 0 }; goto CFG_47785; CFG_47785: assume true; call local_#23922 := routine_#33842_luaL_optlstring(local_#6031_L,local_#23919,local_#23920,local_#23921); goto CFG_43958; CFG_43958: assume true; local_#32494_fname := local_#23922; local_#23923 := 2; local_#23924 := { base : 0, offset : 0 }; local_#23925 := { base : 0, offset : 0 }; goto CFG_47786; CFG_47786: assume true; call local_#23926 := routine_#33842_luaL_optlstring(local_#6031_L,local_#23923,local_#23924,local_#23925); goto CFG_43959; CFG_43959: assume true; local_#32495_mode := local_#23926; local_#23927 := 3; goto CFG_47787; CFG_47787: assume true; call local_#23928 := routine_#34000_lua_type(local_#6031_L,local_#23927); goto CFG_50773; CFG_50773: assume true; local_#23929 := -1; local_#23930 := (if local_#23928 == local_#23929 then 1 else 0); local_#23931 := (if local_#23930 != 0 then 0 else 1); if (local_#23931 != 0) { goto CFG_41061; } else { goto CFG_41060; } CFG_41060: assume true; local_#30811 := 0; goto CFG_43960; CFG_41061: assume true; local_#30811 := 3; goto CFG_43960; CFG_43960: assume true; local_#32493_env := local_#30811; goto CFG_47788; CFG_47788: assume true; call local_#23932 := routine_#33836_luaL_loadfilex(local_#6031_L,local_#32494_fname,local_#32495_mode); goto CFG_43961; CFG_43961: assume true; local_#32496_status := local_#23932; goto CFG_47789; CFG_47789: assume true; call local_#23933 := routine_#34864_load_aux(local_#6031_L,local_#32496_status,local_#32493_env); goto CFG_38773; CFG_38773: assume true; local_#8139 := local_#23933; goto CFG_37786; CFG_37786: assume true; } procedure routine_#34888_luaB_next(local_#6032_L_IN : { base : int, offset : int }) returns (local_#8140 : int) modifies _memory, _memory_ptr, _valid; { var local_#6032_L : { base : int, offset : int }; var local_#23934 : int; var local_#23935 : int; var local_#23936 : int; var local_#23937 : int; var local_#23938 : int; var local_#23939 : int; local_#6032_L := local_#6032_L_IN; goto CFG_36876; CFG_36876: assume true; goto CFG_43962; CFG_43962: assume true; local_#23934 := 1; local_#23935 := 5; goto CFG_47790; CFG_47790: assume true; call routine_#33825_luaL_checktype(local_#6032_L,local_#23934,local_#23935); goto CFG_43963; CFG_43963: assume true; local_#23936 := 2; goto CFG_47791; CFG_47791: assume true; call routine_#33987_lua_settop(local_#6032_L,local_#23936); goto CFG_43964; CFG_43964: assume true; local_#23937 := 1; goto CFG_47792; CFG_47792: assume true; call local_#23938 := routine_#33955_lua_next(local_#6032_L,local_#23937); goto CFG_50774; CFG_50774: assume true; local_#23939 := local_#23938; if (local_#23939 != 0) { goto CFG_38775; } else { goto CFG_47793; } CFG_47793: assume true; call routine_#33963_lua_pushnil(local_#6032_L); goto CFG_38774; CFG_38774: assume true; local_#8140 := 1; goto CFG_37787; CFG_38775: assume true; local_#8140 := 2; goto CFG_37787; CFG_37787: assume true; } procedure routine_#34889_luaB_pairs(local_#6033_L_IN : { base : int, offset : int }) returns (local_#8141 : int) modifies _memory, _memory_ptr, _valid; { var local_#6033_L : { base : int, offset : int }; var local_#23940 : { base : int, offset : int }; var local_#23941 : { base : int, offset : int }; var local_#23942 : int; var local_#23943 : { base : int, offset : int }; var local_#23944 : int; local_#6033_L := local_#6033_L_IN; goto CFG_36877; CFG_36877: assume true; goto CFG_43965; CFG_43965: assume true; assume _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 0 }] == 95 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 1 }] == 95 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 2 }] == 112 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 3 }] == 97 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 4 }] == 105 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 5 }] == 114 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 6 }] == 115 && _memory[{ base : strlit_#70683!base, offset : strlit_#70683!offset + 7 }] == 0; local_#23940 := strlit_#70683; local_#23941 := { base : local_#23940!base, offset : local_#23940!offset + 0 * 1 }; assert { :LIR "63510" } { :check "overflow" } { :finding_ids "0" } true; local_#23942 := 0; local_#23943 := fun_addr_#34888_luaB_next; goto CFG_47794; CFG_47794: assume true; call local_#23944 := routine_#34985_pairsmeta(local_#6033_L,local_#23941,local_#23942,local_#23943); goto CFG_38776; CFG_38776: assume true; local_#8141 := local_#23944; goto CFG_37788; CFG_37788: assume true; } procedure routine_#34890_luaB_pcall(local_#6034_L_IN : { base : int, offset : int }) returns (local_#8142 : int) modifies _memory, _memory_ptr, _valid; { var local_#6034_L : { base : int, offset : int }; var local_#23945 : int; var local_#23946 : int; var local_#23947 : int; var local_#23948 : int; var local_#23949 : int; var local_#23950 : int; var local_#23951 : int; var local_#23952 : int; var local_#23953 : int; var local_#23954 : int; var local_#23955 : { base : int, offset : int }; var local_#23956 : int; var local_#32497_status : int; var local_#23957 : int; var local_#23958 : int; local_#6034_L := local_#6034_L_IN; goto CFG_36878; CFG_36878: assume true; goto CFG_43966; CFG_43966: assume true; local_#23945 := 1; goto CFG_47795; CFG_47795: assume true; call routine_#33819_luaL_checkany(local_#6034_L,local_#23945); goto CFG_43967; CFG_43967: assume true; local_#23946 := 1; goto CFG_47796; CFG_47796: assume true; call routine_#33957_lua_pushboolean(local_#6034_L,local_#23946); goto CFG_43968; CFG_43968: assume true; local_#23947 := 1; local_#23948 := 1; goto CFG_47797; CFG_47797: assume true; call routine_#33978_lua_rotate(local_#6034_L,local_#23947,local_#23948); goto CFG_47798; CFG_47798: assume true; call local_#23949 := routine_#33941_lua_gettop(local_#6034_L); goto CFG_43969; CFG_43969: assume true; local_#23950 := 2; local_#23951 := local_#23949 - local_#23950; assert { :LIR "68096" } { :check "overflow" } { :finding_ids "0" } local_#23951 <= 2147483647; local_#23952 := -1; local_#23953 := 0; local_#23954 := 0; local_#23955 := fun_addr_#34752_finishpcall; goto CFG_47799; CFG_47799: assume true; call local_#23956 := routine_#33956_lua_pcallk(local_#6034_L,local_#23951,local_#23952,local_#23953,local_#23954,local_#23955); goto CFG_43970; CFG_43970: assume true; local_#32497_status := local_#23956; local_#23957 := 0; goto CFG_47800; CFG_47800: assume true; call local_#23958 := routine_#34752_finishpcall(local_#6034_L,local_#32497_status,local_#23957); goto CFG_38777; CFG_38777: assume true; local_#8142 := local_#23958; goto CFG_37789; CFG_37789: assume true; } procedure routine_#34891_luaB_print(local_#6035_L_IN : { base : int, offset : int }) returns (local_#8143 : int) modifies _memory, _memory_ptr, _valid; { var local_#6035_L : { base : int, offset : int }; var local_#23959 : int; var local_#32499_n : int; var local_#23960 : { base : int, offset : int }; var local_#23961 : { base : int, offset : int }; var local_#23962 : int; var local_#32498_i : int; var local_#23963 : int; var local_#23964 : { base : int, offset : int }; var local_#23965 : { base : int, offset : int }; var local_#23966 : int; var local_#23967 : int; var local_#23968 : int; var local_#23969 : int; var local_#23970 : int; var local_#23971 : int; var local_#23972 : int; var local_#23973 : int; var local_#23974 : int; var local_#23975 : { base : int, offset : int }; var local_#23976 : int; var local_#32500_l : { base : int, offset : int }; var local_#23977 : { base : int, offset : int }; var local_#23978 : { base : int, offset : int }; var local_#32501_s : { base : int, offset : int }; var local_#23979 : { base : int, offset : int }; var local_#23980 : int; var local_#23981 : int; var local_#23982 : int; var local_#23983 : { base : int, offset : int }; var local_#23984 : { base : int, offset : int }; var local_#23985 : int; var local_#23986 : int; var local_#23987 : int; var local_#23988 : { base : int, offset : int }; var local_#23989 : int; var local_#23990 : int; var local_#23991 : int; var local_#23992 : int; var local_#23993 : int; var local_#23994 : int; var local_#23995 : { base : int, offset : int }; var local_#23996 : { base : int, offset : int }; var local_#23997 : int; local_#6035_L := local_#6035_L_IN; goto CFG_36879; CFG_36879: assume true; goto CFG_47801; CFG_47801: assume true; call local_#23959 := routine_#33941_lua_gettop(local_#6035_L); goto CFG_43971; CFG_43971: assume true; local_#32499_n := local_#23959; assume _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 0 }] == 116 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 1 }] == 111 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 2 }] == 115 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 3 }] == 116 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 4 }] == 114 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 5 }] == 105 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 6 }] == 110 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 7 }] == 103 && _memory[{ base : strlit_#70684!base, offset : strlit_#70684!offset + 8 }] == 0; local_#23960 := strlit_#70684; local_#23961 := { base : local_#23960!base, offset : local_#23960!offset + 0 * 1 }; assert { :LIR "63511" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47802; CFG_47802: assume true; call local_#23962 := routine_#33931_lua_getglobal(local_#6035_L,local_#23961); goto CFG_41777; CFG_41777: assume true; local_#32498_i := 1; goto CFG_50775; CFG_50775: assume true; local_#23963 := (if local_#32498_i <= local_#32499_n then 1 else 0); if (local_#23963 != 0) { goto CFG_43973; } else { goto CFG_43972; } CFG_43972: assume true; assume _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 0 }] == 10 && _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 1 }] == 0; local_#23964 := strlit_#70533; local_#23965 := { base : local_#23964!base, offset : local_#23964!offset + 0 * 1 }; assert { :LIR "63512" } { :check "overflow" } { :finding_ids "0" } true; local_#23966 := 1; local_#23967 := 1; goto CFG_47803; CFG_47803: assume true; call local_#23968 := routine_#33600_fwrite(local_#23965,local_#23966,local_#23967,global_#33192_stdout); goto CFG_47804; CFG_47804: assume true; call local_#23969 := routine_#33556_fflush(global_#33192_stdout); goto CFG_38778; CFG_38778: assume true; local_#23970 := local_#23969; local_#8143 := 0; goto CFG_37790; CFG_43973: assume true; local_#23971 := -1; goto CFG_47805; CFG_47805: assume true; call routine_#33967_lua_pushvalue(local_#6035_L,local_#23971); goto CFG_47806; CFG_47806: assume true; call routine_#33967_lua_pushvalue(local_#6035_L,local_#32498_i); goto CFG_43974; CFG_43974: assume true; local_#23972 := 1; local_#23973 := 1; local_#23974 := 0; local_#23975 := { base : 0, offset : 0 }; goto CFG_47807; CFG_47807: assume true; call routine_#33919_lua_callk(local_#6035_L,local_#23972,local_#23973,local_#23974,local_#23975); goto CFG_43975; CFG_43975: assume true; local_#23976 := -1; local_#23977 := local_#32500_l; goto CFG_47808; CFG_47808: assume true; call local_#23978 := routine_#33995_lua_tolstring(local_#6035_L,local_#23976,local_#23977); goto CFG_50776; CFG_50776: assume true; local_#32501_s := local_#23978; local_#23979 := { base : 0, offset : 0 }; local_#23980 := (if local_#32501_s == local_#23979 then 1 else 0); if (local_#23980 != 0) { goto CFG_43979; } else { goto CFG_50777; } CFG_50777: assume true; local_#23981 := 1; local_#23982 := (if local_#32498_i > local_#23981 then 1 else 0); if (local_#23982 != 0) { goto CFG_43976; } else { goto CFG_43977; } CFG_43976: assume true; assume _memory[{ base : strlit_#70686!base, offset : strlit_#70686!offset + 0 }] == 9 && _memory[{ base : strlit_#70686!base, offset : strlit_#70686!offset + 1 }] == 0; local_#23983 := strlit_#70686; local_#23984 := { base : local_#23983!base, offset : local_#23983!offset + 0 * 1 }; assert { :LIR "63513" } { :check "overflow" } { :finding_ids "0" } true; local_#23985 := 1; local_#23986 := 1; goto CFG_47809; CFG_47809: assume true; call local_#23987 := routine_#33600_fwrite(local_#23984,local_#23985,local_#23986,global_#33192_stdout); goto CFG_41062; CFG_41062: assume true; goto CFG_43977; CFG_43977: assume true; local_#23988 := local_#32501_s; assert { :LIR "63514" } { :check "overflow" } { :finding_ids "0" } true; local_#23989 := 1; goto CFG_47810; CFG_47810: assume true; call local_#23990 := routine_#33600_fwrite(local_#23988,local_#23989,_memory[local_#32500_l],global_#33192_stdout); goto CFG_43978; CFG_43978: assume true; local_#23991 := -2; goto CFG_47811; CFG_47811: assume true; call routine_#33987_lua_settop(local_#6035_L,local_#23991); goto CFG_45118; CFG_45118: assume true; local_#23992 := local_#32498_i; local_#23993 := 1; local_#32498_i := local_#23992 + local_#23993; assert { :LIR "66703" } { :check "overflow" } { :finding_ids "0" } local_#32498_i <= 2147483647; local_#23994 := local_#23992; goto CFG_50775; CFG_43979: assume true; assume _memory[{ base : strlit_#70687!base, offset : strlit_#70687!offset + 42 }] == 0; local_#23995 := strlit_#70687; local_#23996 := { base : local_#23995!base, offset : local_#23995!offset + 0 * 1 }; assert { :LIR "63515" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47812; CFG_47812: assume true; call local_#23997 := routine_#33828_luaL_error(local_#6035_L,local_#23996,{ base : 0, offset : 0 }); goto CFG_38779; CFG_38779: assume true; local_#8143 := local_#23997; goto CFG_37790; CFG_37790: assume true; } procedure routine_#34892_luaB_rawequal(local_#6036_L_IN : { base : int, offset : int }) returns (local_#8144 : int) modifies _memory, _memory_ptr, _valid; { var local_#6036_L : { base : int, offset : int }; var local_#23998 : int; var local_#23999 : int; var local_#24000 : int; var local_#24001 : int; var local_#24002 : int; local_#6036_L := local_#6036_L_IN; goto CFG_36880; CFG_36880: assume true; goto CFG_43980; CFG_43980: assume true; local_#23998 := 1; goto CFG_47813; CFG_47813: assume true; call routine_#33819_luaL_checkany(local_#6036_L,local_#23998); goto CFG_43981; CFG_43981: assume true; local_#23999 := 2; goto CFG_47814; CFG_47814: assume true; call routine_#33819_luaL_checkany(local_#6036_L,local_#23999); goto CFG_43982; CFG_43982: assume true; local_#24000 := 1; local_#24001 := 2; goto CFG_47815; CFG_47815: assume true; call local_#24002 := routine_#33969_lua_rawequal(local_#6036_L,local_#24000,local_#24001); goto CFG_47816; CFG_47816: assume true; call routine_#33957_lua_pushboolean(local_#6036_L,local_#24002); goto CFG_38780; CFG_38780: assume true; local_#8144 := 1; goto CFG_37791; CFG_37791: assume true; } procedure routine_#34893_luaB_rawget(local_#6037_L_IN : { base : int, offset : int }) returns (local_#8145 : int) modifies _memory, _memory_ptr, _valid; { var local_#6037_L : { base : int, offset : int }; var local_#24003 : int; var local_#24004 : int; var local_#24005 : int; var local_#24006 : int; var local_#24007 : int; var local_#24008 : int; local_#6037_L := local_#6037_L_IN; goto CFG_36881; CFG_36881: assume true; goto CFG_43983; CFG_43983: assume true; local_#24003 := 1; local_#24004 := 5; goto CFG_47817; CFG_47817: assume true; call routine_#33825_luaL_checktype(local_#6037_L,local_#24003,local_#24004); goto CFG_43984; CFG_43984: assume true; local_#24005 := 2; goto CFG_47818; CFG_47818: assume true; call routine_#33819_luaL_checkany(local_#6037_L,local_#24005); goto CFG_43985; CFG_43985: assume true; local_#24006 := 2; goto CFG_47819; CFG_47819: assume true; call routine_#33987_lua_settop(local_#6037_L,local_#24006); goto CFG_43986; CFG_43986: assume true; local_#24007 := 1; goto CFG_47820; CFG_47820: assume true; call local_#24008 := routine_#33970_lua_rawget(local_#6037_L,local_#24007); goto CFG_38781; CFG_38781: assume true; local_#8145 := 1; goto CFG_37792; CFG_37792: assume true; } procedure routine_#34894_luaB_rawlen(local_#6038_L_IN : { base : int, offset : int }) returns (local_#8146 : int) modifies _memory, _memory_ptr, _valid; { var local_#6038_L : { base : int, offset : int }; var local_#24009 : int; var local_#24010 : int; var local_#32502_t : int; var local_#24011 : int; var local_#24012 : int; var local_#24013 : int; var local_#24014 : int; var local_#24015 : int; var local_#24016 : { base : int, offset : int }; var local_#24017 : { base : int, offset : int }; var local_#24018 : int; var local_#24019 : int; var local_#30812 : int; var local_#24020 : int; var local_#24021 : int; var local_#24022 : int; var local_#24023 : int; local_#6038_L := local_#6038_L_IN; goto CFG_36882; CFG_36882: assume true; goto CFG_43987; CFG_43987: assume true; local_#24009 := 1; goto CFG_47821; CFG_47821: assume true; call local_#24010 := routine_#34000_lua_type(local_#6038_L,local_#24009); goto CFG_50778; CFG_50778: assume true; local_#32502_t := local_#24010; local_#24011 := 5; local_#24012 := (if local_#32502_t == local_#24011 then 1 else 0); if (local_#24012 != 0) { goto CFG_41064; } else { goto CFG_50779; } CFG_50779: assume true; local_#24013 := 4; local_#24014 := (if local_#32502_t == local_#24013 then 1 else 0); if (local_#24014 != 0) { goto CFG_41064; } else { goto CFG_43988; } CFG_43988: assume true; local_#24015 := 1; assume _memory[{ base : strlit_#70688!base, offset : strlit_#70688!offset + 24 }] == 0; local_#24016 := strlit_#70688; local_#24017 := { base : local_#24016!base, offset : local_#24016!offset + 0 * 1 }; assert { :LIR "63516" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47822; CFG_47822: assume true; call local_#24018 := routine_#33815_luaL_argerror(local_#6038_L,local_#24015,local_#24017); goto CFG_50780; CFG_50780: assume true; local_#24019 := local_#24018; if (local_#24019 != 0) { goto CFG_41064; } else { goto CFG_41063; } CFG_41063: assume true; local_#30812 := 0; goto CFG_43989; CFG_41064: assume true; local_#30812 := 1; goto CFG_43989; CFG_43989: assume true; local_#24020 := 0; assert { :LIR "61705" } { :check "overflow" } { :finding_ids "0" } true; local_#24021 := 1; goto CFG_47823; CFG_47823: assume true; call local_#24022 := routine_#33973_lua_rawlen(local_#6038_L,local_#24021); goto CFG_43990; CFG_43990: assume true; local_#24023 := local_#24022; assert { :LIR "63517" } { :check "overflow" } { :finding_ids "0" } local_#24023 <= 9223372036854775807; goto CFG_47824; CFG_47824: assume true; call routine_#33960_lua_pushinteger(local_#6038_L,local_#24023); goto CFG_38782; CFG_38782: assume true; local_#8146 := 1; goto CFG_37793; CFG_37793: assume true; } procedure routine_#34895_luaB_rawset(local_#6039_L_IN : { base : int, offset : int }) returns (local_#8147 : int) modifies _memory, _memory_ptr, _valid; { var local_#6039_L : { base : int, offset : int }; var local_#24024 : int; var local_#24025 : int; var local_#24026 : int; var local_#24027 : int; var local_#24028 : int; var local_#24029 : int; local_#6039_L := local_#6039_L_IN; goto CFG_36883; CFG_36883: assume true; goto CFG_43991; CFG_43991: assume true; local_#24024 := 1; local_#24025 := 5; goto CFG_47825; CFG_47825: assume true; call routine_#33825_luaL_checktype(local_#6039_L,local_#24024,local_#24025); goto CFG_43992; CFG_43992: assume true; local_#24026 := 2; goto CFG_47826; CFG_47826: assume true; call routine_#33819_luaL_checkany(local_#6039_L,local_#24026); goto CFG_43993; CFG_43993: assume true; local_#24027 := 3; goto CFG_47827; CFG_47827: assume true; call routine_#33819_luaL_checkany(local_#6039_L,local_#24027); goto CFG_43994; CFG_43994: assume true; local_#24028 := 3; goto CFG_47828; CFG_47828: assume true; call routine_#33987_lua_settop(local_#6039_L,local_#24028); goto CFG_43995; CFG_43995: assume true; local_#24029 := 1; goto CFG_47829; CFG_47829: assume true; call routine_#33974_lua_rawset(local_#6039_L,local_#24029); goto CFG_38783; CFG_38783: assume true; local_#8147 := 1; goto CFG_37794; CFG_37794: assume true; } procedure routine_#34896_luaB_select(local_#6040_L_IN : { base : int, offset : int }) returns (local_#8148 : int) modifies _memory, _memory_ptr, _valid; { var local_#6040_L : { base : int, offset : int }; var local_#24030 : int; var local_#32503_n : int; var local_#24031 : int; var local_#24032 : int; var local_#24033 : int; var local_#24034 : int; var local_#24035 : int; var local_#24036 : { base : int, offset : int }; var local_#24037 : { base : int, offset : int }; var local_#24038 : int; var local_#24039 : int; var local_#24040 : int; var local_#24041 : int; var local_#24042 : int; var local_#32504_i : int; var local_#24043 : int; var local_#24044 : int; var local_#24045 : int; var local_#24046 : int; var local_#24047 : int; var local_#24048 : int; var local_#24049 : int; var local_#24050 : int; var local_#24051 : int; var local_#24052 : int; var local_#24053 : { base : int, offset : int }; var local_#24054 : { base : int, offset : int }; var local_#24055 : int; var local_#24056 : int; var local_#30813 : int; var local_#24057 : int; var local_#24058 : int; var local_#24059 : int; var local_#24060 : int; var local_#24061 : int; var local_#24062 : int; local_#6040_L := local_#6040_L_IN; goto CFG_36884; CFG_36884: assume true; goto CFG_47830; CFG_47830: assume true; call local_#24030 := routine_#33941_lua_gettop(local_#6040_L); goto CFG_43996; CFG_43996: assume true; local_#32503_n := local_#24030; local_#24031 := 1; goto CFG_47831; CFG_47831: assume true; call local_#24032 := routine_#34000_lua_type(local_#6040_L,local_#24031); goto CFG_50781; CFG_50781: assume true; local_#24033 := 4; local_#24034 := (if local_#24032 == local_#24033 then 1 else 0); if (local_#24034 != 0) { goto CFG_43997; } else { goto CFG_43998; } CFG_43997: assume true; local_#24035 := 1; local_#24036 := { base : 0, offset : 0 }; goto CFG_47832; CFG_47832: assume true; call local_#24037 := routine_#33995_lua_tolstring(local_#6040_L,local_#24035,local_#24036); goto CFG_50782; CFG_50782: assume true; local_#24038 := _memory[local_#24037]; assert { :LIR "63518" } { :check "overflow" } { :finding_ids "0" } local_#24038 <= 2147483647; local_#24039 := 35; local_#24040 := (if local_#24038 == local_#24039 then 1 else 0); if (local_#24040 != 0) { goto CFG_44000; } else { goto CFG_43998; } CFG_43998: assume true; local_#24041 := 1; goto CFG_47833; CFG_47833: assume true; call local_#24042 := routine_#33820_luaL_checkinteger(local_#6040_L,local_#24041); goto CFG_50783; CFG_50783: assume true; local_#32504_i := local_#24042; local_#24043 := 0; local_#24044 := (if local_#32504_i < local_#24043 then 1 else 0); if (local_#24044 != 0) { goto CFG_41067; } else { goto CFG_50784; } CFG_50784: assume true; local_#24045 := local_#32503_n; assert { :LIR "63519" } { :check "overflow" } { :finding_ids "0" } local_#24045 <= 9223372036854775807; local_#24046 := (if local_#32504_i > local_#24045 then 1 else 0); if (local_#24046 != 0) { goto CFG_41065; } else { goto CFG_41066; } CFG_41065: assume true; local_#24047 := local_#32503_n; assert { :LIR "63520" } { :check "overflow" } { :finding_ids "0" } local_#24047 <= 9223372036854775807; local_#32504_i := local_#24047; goto CFG_41066; CFG_41066: assume true; goto CFG_50785; CFG_41067: assume true; local_#24048 := local_#32503_n; assert { :LIR "63521" } { :check "overflow" } { :finding_ids "0" } local_#24048 <= 9223372036854775807; local_#24049 := local_#24048 + local_#32504_i; assert { :LIR "66704" } { :check "overflow" } { :finding_ids "0" } local_#24049 <= 9223372036854775807; local_#32504_i := local_#24049; goto CFG_50785; CFG_50785: assume true; local_#24050 := 1; local_#24051 := (if local_#24050 <= local_#32504_i then 1 else 0); if (local_#24051 != 0) { goto CFG_41069; } else { goto CFG_43999; } CFG_43999: assume true; local_#24052 := 1; assume _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 0 }] == 105 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 1 }] == 110 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 2 }] == 100 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 3 }] == 101 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 4 }] == 120 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 5 }] == 32 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 6 }] == 111 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 7 }] == 117 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 8 }] == 116 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 9 }] == 32 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 10 }] == 111 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 11 }] == 102 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 12 }] == 32 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 13 }] == 114 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 14 }] == 97 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 15 }] == 110 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 16 }] == 103 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 17 }] == 101 && _memory[{ base : strlit_#70689!base, offset : strlit_#70689!offset + 18 }] == 0; local_#24053 := strlit_#70689; local_#24054 := { base : local_#24053!base, offset : local_#24053!offset + 0 * 1 }; assert { :LIR "63522" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47834; CFG_47834: assume true; call local_#24055 := routine_#33815_luaL_argerror(local_#6040_L,local_#24052,local_#24054); goto CFG_50786; CFG_50786: assume true; local_#24056 := local_#24055; if (local_#24056 != 0) { goto CFG_41069; } else { goto CFG_41068; } CFG_41068: assume true; local_#30813 := 0; goto CFG_38784; CFG_41069: assume true; local_#30813 := 1; goto CFG_38784; CFG_38784: assume true; local_#24057 := 0; assert { :LIR "61706" } { :check "overflow" } { :finding_ids "0" } true; local_#24058 := local_#32504_i; assert { :LIR "61707" } { :check "overflow" } { :finding_ids "0" } local_#24058 <= 2147483647; local_#24059 := local_#32503_n - local_#24058; assert { :LIR "68097" } { :check "overflow" } { :finding_ids "0" } local_#24059 <= 2147483647; local_#8148 := local_#24059; goto CFG_37795; CFG_44000: assume true; local_#24060 := 1; local_#24061 := local_#32503_n - local_#24060; assert { :LIR "68098" } { :check "overflow" } { :finding_ids "0" } local_#24061 <= 2147483647; local_#24062 := local_#24061; assert { :LIR "63523" } { :check "overflow" } { :finding_ids "0" } local_#24062 <= 9223372036854775807; goto CFG_47835; CFG_47835: assume true; call routine_#33960_lua_pushinteger(local_#6040_L,local_#24062); goto CFG_38785; CFG_38785: assume true; local_#8148 := 1; goto CFG_37795; CFG_37795: assume true; } procedure routine_#34897_luaB_setmetatable(local_#6041_L_IN : { base : int, offset : int }) returns (local_#8149 : int) modifies _memory, _memory_ptr, _valid; { var local_#6041_L : { base : int, offset : int }; var local_#24063 : int; var local_#24064 : int; var local_#32505_t : int; var local_#24065 : int; var local_#24066 : int; var local_#24067 : int; var local_#24068 : int; var local_#24069 : int; var local_#24070 : int; var local_#24071 : int; var local_#24072 : { base : int, offset : int }; var local_#24073 : { base : int, offset : int }; var local_#24074 : int; var local_#24075 : int; var local_#30814 : int; var local_#24076 : int; var local_#24077 : int; var local_#24078 : { base : int, offset : int }; var local_#24079 : { base : int, offset : int }; var local_#24080 : int; var local_#24081 : int; var local_#24082 : int; var local_#24083 : int; var local_#24084 : int; var local_#24085 : int; var local_#24086 : { base : int, offset : int }; var local_#24087 : { base : int, offset : int }; var local_#24088 : int; local_#6041_L := local_#6041_L_IN; goto CFG_36885; CFG_36885: assume true; goto CFG_44001; CFG_44001: assume true; local_#24063 := 2; goto CFG_47836; CFG_47836: assume true; call local_#24064 := routine_#34000_lua_type(local_#6041_L,local_#24063); goto CFG_44002; CFG_44002: assume true; local_#32505_t := local_#24064; local_#24065 := 1; local_#24066 := 5; goto CFG_47837; CFG_47837: assume true; call routine_#33825_luaL_checktype(local_#6041_L,local_#24065,local_#24066); goto CFG_50787; CFG_50787: assume true; local_#24067 := 0; local_#24068 := (if local_#32505_t == local_#24067 then 1 else 0); if (local_#24068 != 0) { goto CFG_41071; } else { goto CFG_50788; } CFG_50788: assume true; local_#24069 := 5; local_#24070 := (if local_#32505_t == local_#24069 then 1 else 0); if (local_#24070 != 0) { goto CFG_41071; } else { goto CFG_44003; } CFG_44003: assume true; local_#24071 := 2; assume _memory[{ base : strlit_#70530!base, offset : strlit_#70530!offset + 21 }] == 0; local_#24072 := strlit_#70530; local_#24073 := { base : local_#24072!base, offset : local_#24072!offset + 0 * 1 }; assert { :LIR "63524" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47838; CFG_47838: assume true; call local_#24074 := routine_#33815_luaL_argerror(local_#6041_L,local_#24071,local_#24073); goto CFG_50789; CFG_50789: assume true; local_#24075 := local_#24074; if (local_#24075 != 0) { goto CFG_41071; } else { goto CFG_41070; } CFG_41070: assume true; local_#30814 := 0; goto CFG_44004; CFG_41071: assume true; local_#30814 := 1; goto CFG_44004; CFG_44004: assume true; local_#24076 := 0; assert { :LIR "61708" } { :check "overflow" } { :finding_ids "0" } true; local_#24077 := 1; assume _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 0 }] == 95 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 1 }] == 95 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 2 }] == 109 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 3 }] == 101 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 4 }] == 116 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 5 }] == 97 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 6 }] == 116 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 7 }] == 97 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 8 }] == 98 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 9 }] == 108 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 10 }] == 101 && _memory[{ base : strlit_#70679!base, offset : strlit_#70679!offset + 11 }] == 0; local_#24078 := strlit_#70679; local_#24079 := { base : local_#24078!base, offset : local_#24078!offset + 0 * 1 }; assert { :LIR "63525" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47839; CFG_47839: assume true; call local_#24080 := routine_#33831_luaL_getmetafield(local_#6041_L,local_#24077,local_#24079); goto CFG_50790; CFG_50790: assume true; local_#24081 := 0; local_#24082 := (if local_#24080 != local_#24081 then 1 else 0); if (local_#24082 != 0) { goto CFG_44007; } else { goto CFG_44005; } CFG_44005: assume true; local_#24083 := 2; goto CFG_47840; CFG_47840: assume true; call routine_#33987_lua_settop(local_#6041_L,local_#24083); goto CFG_44006; CFG_44006: assume true; local_#24084 := 1; goto CFG_47841; CFG_47841: assume true; call local_#24085 := routine_#33985_lua_setmetatable(local_#6041_L,local_#24084); goto CFG_38786; CFG_38786: assume true; local_#8149 := 1; goto CFG_37796; CFG_44007: assume true; assume _memory[{ base : strlit_#70692!base, offset : strlit_#70692!offset + 35 }] == 0; local_#24086 := strlit_#70692; local_#24087 := { base : local_#24086!base, offset : local_#24086!offset + 0 * 1 }; assert { :LIR "63526" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47842; CFG_47842: assume true; call local_#24088 := routine_#33828_luaL_error(local_#6041_L,local_#24087,{ base : 0, offset : 0 }); goto CFG_38787; CFG_38787: assume true; local_#8149 := local_#24088; goto CFG_37796; CFG_37796: assume true; } procedure routine_#34898_luaB_tonumber(local_#6042_L_IN : { base : int, offset : int }) returns (local_#8150 : int) modifies _memory, _memory_ptr, _valid; { var local_#6042_L : { base : int, offset : int }; var local_#24089 : int; var local_#24090 : int; var local_#24091 : int; var local_#24092 : int; var local_#32510_n : { base : int, offset : int }; var local_#24093 : int; var local_#24094 : int; var local_#32508_base : int; var local_#24095 : int; var local_#24096 : int; var local_#24097 : int; var local_#32509_l : { base : int, offset : int }; var local_#24098 : { base : int, offset : int }; var local_#24099 : { base : int, offset : int }; var local_#32511_s : { base : int, offset : int }; var local_#24100 : int; var local_#24101 : int; var local_#24102 : int; var local_#24103 : int; var local_#24104 : int; var local_#24105 : { base : int, offset : int }; var local_#24106 : { base : int, offset : int }; var local_#24107 : int; var local_#24108 : int; var local_#30815 : int; var local_#24109 : int; var local_#24110 : int; var local_#24111 : { base : int, offset : int }; var local_#24112 : { base : int, offset : int }; var local_#24113 : { base : int, offset : int }; var local_#24114 : int; var local_#24115 : int; var local_#24116 : int; var local_#24117 : int; var local_#24118 : int; var local_#24119 : int; var local_#24120 : int; var local_#32506_l : { base : int, offset : int }; var local_#24121 : { base : int, offset : int }; var local_#24122 : { base : int, offset : int }; var local_#32507_s : { base : int, offset : int }; var local_#24123 : { base : int, offset : int }; var local_#24124 : int; var local_#24125 : int; var local_#24126 : int; var local_#24127 : int; var local_#24128 : int; var local_#24129 : int; local_#6042_L := local_#6042_L_IN; goto CFG_36886; CFG_36886: assume true; goto CFG_44008; CFG_44008: assume true; local_#24089 := 2; goto CFG_47843; CFG_47843: assume true; call local_#24090 := routine_#34000_lua_type(local_#6042_L,local_#24089); goto CFG_50791; CFG_50791: assume true; local_#24091 := 0; local_#24092 := (if local_#24090 <= local_#24091 then 1 else 0); if (local_#24092 != 0) { goto CFG_44014; } else { goto CFG_44009; } CFG_44009: assume true; _memory[local_#32510_n] := 0; local_#24093 := 2; goto CFG_47844; CFG_47844: assume true; call local_#24094 := routine_#33820_luaL_checkinteger(local_#6042_L,local_#24093); goto CFG_44010; CFG_44010: assume true; local_#32508_base := local_#24094; local_#24095 := 1; local_#24096 := 4; goto CFG_47845; CFG_47845: assume true; call routine_#33825_luaL_checktype(local_#6042_L,local_#24095,local_#24096); goto CFG_44011; CFG_44011: assume true; local_#24097 := 1; local_#24098 := local_#32509_l; goto CFG_47846; CFG_47846: assume true; call local_#24099 := routine_#33995_lua_tolstring(local_#6042_L,local_#24097,local_#24098); goto CFG_50792; CFG_50792: assume true; local_#32511_s := local_#24099; local_#24100 := 2; local_#24101 := (if local_#24100 <= local_#32508_base then 1 else 0); if (local_#24101 != 0) { goto CFG_50793; } else { goto CFG_44012; } CFG_50793: assume true; local_#24102 := 36; local_#24103 := (if local_#32508_base <= local_#24102 then 1 else 0); if (local_#24103 != 0) { goto CFG_41073; } else { goto CFG_44012; } CFG_44012: assume true; local_#24104 := 2; assume _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 0 }] == 98 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 1 }] == 97 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 2 }] == 115 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 3 }] == 101 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 4 }] == 32 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 5 }] == 111 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 6 }] == 117 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 7 }] == 116 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 8 }] == 32 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 9 }] == 111 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 10 }] == 102 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 11 }] == 32 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 12 }] == 114 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 13 }] == 97 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 14 }] == 110 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 15 }] == 103 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 16 }] == 101 && _memory[{ base : strlit_#70693!base, offset : strlit_#70693!offset + 17 }] == 0; local_#24105 := strlit_#70693; local_#24106 := { base : local_#24105!base, offset : local_#24105!offset + 0 * 1 }; assert { :LIR "63527" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47847; CFG_47847: assume true; call local_#24107 := routine_#33815_luaL_argerror(local_#6042_L,local_#24104,local_#24106); goto CFG_50794; CFG_50794: assume true; local_#24108 := local_#24107; if (local_#24108 != 0) { goto CFG_41073; } else { goto CFG_41072; } CFG_41072: assume true; local_#30815 := 0; goto CFG_44013; CFG_41073: assume true; local_#30815 := 1; goto CFG_44013; CFG_44013: assume true; local_#24109 := 0; assert { :LIR "61709" } { :check "overflow" } { :finding_ids "0" } true; local_#24110 := local_#32508_base; assert { :LIR "61710" } { :check "overflow" } { :finding_ids "0" } local_#24110 <= 2147483647; local_#24111 := local_#32510_n; goto CFG_47848; CFG_47848: assume true; call local_#24112 := routine_#34608_b_str2int(local_#32511_s,local_#24110,local_#24111); goto CFG_50795; CFG_50795: assume true; local_#24113 := { base : local_#32511_s!base, offset : local_#32511_s!offset + _memory[local_#32509_l] * 1 }; local_#24114 := (if local_#24112 == local_#24113 then 1 else 0); if (local_#24114 != 0) { goto CFG_47849; } else { goto CFG_41074; } CFG_41074: assume true; goto CFG_47854; CFG_47849: assume true; call routine_#33960_lua_pushinteger(local_#6042_L,_memory[local_#32510_n]); goto CFG_38788; CFG_38788: assume true; local_#8150 := 1; goto CFG_37797; CFG_44014: assume true; local_#24115 := 1; goto CFG_47850; CFG_47850: assume true; call routine_#33819_luaL_checkany(local_#6042_L,local_#24115); goto CFG_44015; CFG_44015: assume true; local_#24116 := 1; goto CFG_47851; CFG_47851: assume true; call local_#24117 := routine_#34000_lua_type(local_#6042_L,local_#24116); goto CFG_50796; CFG_50796: assume true; local_#24118 := 3; local_#24119 := (if local_#24117 == local_#24118 then 1 else 0); if (local_#24119 != 0) { goto CFG_44017; } else { goto CFG_44016; } CFG_44016: assume true; local_#24120 := 1; local_#24121 := local_#32506_l; goto CFG_47852; CFG_47852: assume true; call local_#24122 := routine_#33995_lua_tolstring(local_#6042_L,local_#24120,local_#24121); goto CFG_50797; CFG_50797: assume true; local_#32507_s := local_#24122; local_#24123 := { base : 0, offset : 0 }; local_#24124 := (if local_#32507_s != local_#24123 then 1 else 0); if (local_#24124 != 0) { goto CFG_47853; } else { goto CFG_41075; } CFG_47853: assume true; call local_#24125 := routine_#33991_lua_stringtonumber(local_#6042_L,local_#32507_s); goto CFG_50798; CFG_50798: assume true; local_#24126 := 1; assume { :symbol "~uwrap64" } true; local_#24127 := ~uwrap64(_memory[local_#32506_l] + local_#24126); assert { :LIR "66705" } { :check "overflow" } { :finding_ids "0" } true; local_#24128 := (if local_#24125 == local_#24127 then 1 else 0); if (local_#24128 != 0) { goto CFG_38790; } else { goto CFG_41075; } CFG_41075: assume true; goto CFG_41076; CFG_41076: assume true; goto CFG_47854; CFG_47854: assume true; call routine_#33963_lua_pushnil(local_#6042_L); goto CFG_38789; CFG_38789: assume true; local_#8150 := 1; goto CFG_37797; CFG_38790: assume true; local_#8150 := 1; goto CFG_37797; CFG_44017: assume true; local_#24129 := 1; goto CFG_47855; CFG_47855: assume true; call routine_#33987_lua_settop(local_#6042_L,local_#24129); goto CFG_38791; CFG_38791: assume true; local_#8150 := 1; goto CFG_37797; CFG_37797: assume true; } procedure routine_#34899_luaB_tostring(local_#6043_L_IN : { base : int, offset : int }) returns (local_#8151 : int) modifies _memory, _memory_ptr, _valid; { var local_#6043_L : { base : int, offset : int }; var local_#24130 : int; var local_#24131 : int; var local_#24132 : { base : int, offset : int }; var local_#24133 : { base : int, offset : int }; local_#6043_L := local_#6043_L_IN; goto CFG_36887; CFG_36887: assume true; goto CFG_44018; CFG_44018: assume true; local_#24130 := 1; goto CFG_47856; CFG_47856: assume true; call routine_#33819_luaL_checkany(local_#6043_L,local_#24130); goto CFG_44019; CFG_44019: assume true; local_#24131 := 1; local_#24132 := { base : 0, offset : 0 }; goto CFG_47857; CFG_47857: assume true; call local_#24133 := routine_#33852_luaL_tolstring(local_#6043_L,local_#24131,local_#24132); goto CFG_38792; CFG_38792: assume true; local_#8151 := 1; goto CFG_37798; CFG_37798: assume true; } procedure routine_#34900_luaB_type(local_#6044_L_IN : { base : int, offset : int }) returns (local_#8152 : int) modifies _memory, _memory_ptr, _valid; { var local_#6044_L : { base : int, offset : int }; var local_#24134 : int; var local_#24135 : int; var local_#32512_t : int; var local_#24136 : int; var local_#24137 : int; var local_#24138 : int; var local_#24139 : { base : int, offset : int }; var local_#24140 : { base : int, offset : int }; var local_#24141 : int; var local_#24142 : int; var local_#30816 : int; var local_#24143 : int; var local_#24144 : { base : int, offset : int }; var local_#24145 : { base : int, offset : int }; local_#6044_L := local_#6044_L_IN; goto CFG_36888; CFG_36888: assume true; goto CFG_44020; CFG_44020: assume true; local_#24134 := 1; goto CFG_47858; CFG_47858: assume true; call local_#24135 := routine_#34000_lua_type(local_#6044_L,local_#24134); goto CFG_50799; CFG_50799: assume true; local_#32512_t := local_#24135; local_#24136 := -1; local_#24137 := (if local_#32512_t != local_#24136 then 1 else 0); if (local_#24137 != 0) { goto CFG_41078; } else { goto CFG_44021; } CFG_44021: assume true; local_#24138 := 1; assume _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 0 }] == 118 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 1 }] == 97 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 2 }] == 108 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 3 }] == 117 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 4 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 5 }] == 32 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 6 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 7 }] == 120 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 8 }] == 112 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 9 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 10 }] == 99 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 11 }] == 116 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 12 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 13 }] == 100 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 14 }] == 0; local_#24139 := strlit_#70311; local_#24140 := { base : local_#24139!base, offset : local_#24139!offset + 0 * 1 }; assert { :LIR "63528" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47859; CFG_47859: assume true; call local_#24141 := routine_#33815_luaL_argerror(local_#6044_L,local_#24138,local_#24140); goto CFG_50800; CFG_50800: assume true; local_#24142 := local_#24141; if (local_#24142 != 0) { goto CFG_41078; } else { goto CFG_41077; } CFG_41077: assume true; local_#30816 := 0; goto CFG_44022; CFG_41078: assume true; local_#30816 := 1; goto CFG_44022; CFG_44022: assume true; local_#24143 := 0; assert { :LIR "61711" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47860; CFG_47860: assume true; call local_#24144 := routine_#34001_lua_typename(local_#6044_L,local_#32512_t); goto CFG_47861; CFG_47861: assume true; call local_#24145 := routine_#33965_lua_pushstring(local_#6044_L,local_#24144); goto CFG_38793; CFG_38793: assume true; local_#8152 := 1; goto CFG_37799; CFG_37799: assume true; } procedure routine_#34901_luaB_xpcall(local_#6045_L_IN : { base : int, offset : int }) returns (local_#8153 : int) modifies _memory, _memory_ptr, _valid; { var local_#6045_L : { base : int, offset : int }; var local_#24146 : int; var local_#32513_n : int; var local_#24147 : int; var local_#24148 : int; var local_#24149 : int; var local_#24150 : int; var local_#24151 : int; var local_#24152 : int; var local_#24153 : int; var local_#24154 : int; var local_#24155 : int; var local_#24156 : int; var local_#24157 : int; var local_#24158 : { base : int, offset : int }; var local_#24159 : int; var local_#32514_status : int; var local_#24160 : int; var local_#24161 : int; local_#6045_L := local_#6045_L_IN; goto CFG_36889; CFG_36889: assume true; goto CFG_47862; CFG_47862: assume true; call local_#24146 := routine_#33941_lua_gettop(local_#6045_L); goto CFG_44023; CFG_44023: assume true; local_#32513_n := local_#24146; local_#24147 := 2; local_#24148 := 6; goto CFG_47863; CFG_47863: assume true; call routine_#33825_luaL_checktype(local_#6045_L,local_#24147,local_#24148); goto CFG_44024; CFG_44024: assume true; local_#24149 := 1; goto CFG_47864; CFG_47864: assume true; call routine_#33957_lua_pushboolean(local_#6045_L,local_#24149); goto CFG_44025; CFG_44025: assume true; local_#24150 := 1; goto CFG_47865; CFG_47865: assume true; call routine_#33967_lua_pushvalue(local_#6045_L,local_#24150); goto CFG_44026; CFG_44026: assume true; local_#24151 := 3; local_#24152 := 2; goto CFG_47866; CFG_47866: assume true; call routine_#33978_lua_rotate(local_#6045_L,local_#24151,local_#24152); goto CFG_44027; CFG_44027: assume true; local_#24153 := 2; local_#24154 := local_#32513_n - local_#24153; assert { :LIR "68099" } { :check "overflow" } { :finding_ids "0" } local_#24154 <= 2147483647; local_#24155 := -1; local_#24156 := 2; local_#24157 := 2; local_#24158 := fun_addr_#34752_finishpcall; goto CFG_47867; CFG_47867: assume true; call local_#24159 := routine_#33956_lua_pcallk(local_#6045_L,local_#24154,local_#24155,local_#24156,local_#24157,local_#24158); goto CFG_44028; CFG_44028: assume true; local_#32514_status := local_#24159; local_#24160 := 2; goto CFG_47868; CFG_47868: assume true; call local_#24161 := routine_#34752_finishpcall(local_#6045_L,local_#32514_status,local_#24160); goto CFG_38794; CFG_38794: assume true; local_#8153 := local_#24161; goto CFG_37800; CFG_37800: assume true; } procedure routine_#34902_luaB_yield(local_#6046_L_IN : { base : int, offset : int }) returns (local_#8154 : int) modifies _memory, _memory_ptr, _valid; { var local_#6046_L : { base : int, offset : int }; var local_#24162 : int; var local_#24163 : int; var local_#24164 : { base : int, offset : int }; var local_#24165 : int; local_#6046_L := local_#6046_L_IN; goto CFG_36890; CFG_36890: assume true; goto CFG_47869; CFG_47869: assume true; call local_#24162 := routine_#33941_lua_gettop(local_#6046_L); goto CFG_44029; CFG_44029: assume true; local_#24163 := 0; local_#24164 := { base : 0, offset : 0 }; goto CFG_47870; CFG_47870: assume true; call local_#24165 := routine_#34006_lua_yieldk(local_#6046_L,local_#24162,local_#24163,local_#24164); goto CFG_38795; CFG_38795: assume true; local_#8154 := local_#24165; goto CFG_37801; CFG_37801: assume true; } procedure routine_#34903_luaB_yieldable(local_#6047_L_IN : { base : int, offset : int }) returns (local_#8155 : int) modifies _memory, _memory_ptr; { var local_#6047_L : { base : int, offset : int }; var local_#24166 : int; local_#6047_L := local_#6047_L_IN; goto CFG_36891; CFG_36891: assume true; goto CFG_47871; CFG_47871: assume true; call local_#24166 := routine_#33949_lua_isyieldable(local_#6047_L); goto CFG_47872; CFG_47872: assume true; call routine_#33957_lua_pushboolean(local_#6047_L,local_#24166); goto CFG_38796; CFG_38796: assume true; local_#8155 := 1; goto CFG_37802; CFG_37802: assume true; } procedure routine_#34904_luaK_code(local_#6048_fs_IN : { base : int, offset : int }, local_#6049_i_IN : int) returns (local_#8156 : int) modifies _memory, _memory_ptr, _valid; { var local_#6048_fs : { base : int, offset : int }; var local_#6049_i : int; var local_#32515_f : { base : int, offset : int }; var local_#24167 : int; var local_#24168 : int; var local_#24169 : int; var local_#24170 : { base : int, offset : int }; var local_#24171 : { base : int, offset : int }; var local_#24172 : { base : int, offset : int }; var local_#24173 : { base : int, offset : int }; var local_#24174 : int; var local_#24175 : int; var local_#24176 : { base : int, offset : int }; var local_#24177 : { base : int, offset : int }; var local_#24178 : { base : int, offset : int }; var local_#24179 : { base : int, offset : int }; var local_#24180 : { base : int, offset : int }; var local_#24181 : int; var local_#24182 : int; var local_#24183 : int; var local_#24184 : { base : int, offset : int }; var local_#24185 : { base : int, offset : int }; var local_#24186 : { base : int, offset : int }; var local_#24187 : { base : int, offset : int }; var local_#24188 : int; var local_#24189 : int; var local_#24190 : { base : int, offset : int }; var local_#24191 : { base : int, offset : int }; var local_#24192 : { base : int, offset : int }; var local_#24193 : { base : int, offset : int }; var local_#24194 : { base : int, offset : int }; var local_#24195 : { base : int, offset : int }; var local_#24196 : int; var local_#24197 : int; local_#6048_fs := local_#6048_fs_IN; local_#6049_i := local_#6049_i_IN; goto CFG_36892; CFG_36892: assume true; goto CFG_44030; CFG_44030: assume true; local_#32515_f := _memory_ptr[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 0 }]; goto CFG_47873; CFG_47873: assume true; call routine_#34700_dischargejpc(local_#6048_fs); goto CFG_50801; CFG_50801: assume true; local_#24167 := 1; local_#24168 := _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }] + local_#24167; assert { :LIR "66706" } { :check "overflow" } { :finding_ids "0" } local_#24168 <= 2147483647; local_#24169 := (if local_#24168 > _memory[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 24 }] then 1 else 0); if (local_#24169 != 0) { goto CFG_44031; } else { goto CFG_50802; } CFG_44031: assume true; local_#24170 := _memory_ptr[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 16 }]; local_#24171 := _memory_ptr[{ base : local_#24170!base, offset : local_#24170!offset + 56 }]; local_#24172 := _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 56 }]; assert { :LIR "63529" } { :check "overflow" } { :finding_ids "0" } true; local_#24173 := { base : local_#32515_f!base, offset : local_#32515_f!offset + 24 }; local_#24174 := 4; local_#24175 := 2147483647; assume _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 0 }] == 111 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 1 }] == 112 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 2 }] == 99 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 3 }] == 111 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 4 }] == 100 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 5 }] == 101 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 6 }] == 115 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 7 }] == 0; local_#24176 := strlit_#70695; local_#24177 := { base : local_#24176!base, offset : local_#24176!offset + 0 * 1 }; assert { :LIR "63530" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47874; CFG_47874: assume true; call local_#24178 := routine_#33856_luaM_growaux_(local_#24171,local_#24172,local_#24173,local_#24174,local_#24175,local_#24177); goto CFG_41079; CFG_41079: assume true; local_#24179 := local_#24178; assert { :LIR "61712" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 56 }] := local_#24179; goto CFG_50802; CFG_50802: assume true; local_#24180 := { base : _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 56 }]!offset + _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }] * 4 }; _memory[local_#24180] := local_#6049_i; local_#24181 := 1; local_#24182 := _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }] + local_#24181; assert { :LIR "66707" } { :check "overflow" } { :finding_ids "0" } local_#24182 <= 2147483647; local_#24183 := (if local_#24182 > _memory[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 28 }] then 1 else 0); if (local_#24183 != 0) { goto CFG_44032; } else { goto CFG_38797; } CFG_44032: assume true; local_#24184 := _memory_ptr[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 16 }]; local_#24185 := _memory_ptr[{ base : local_#24184!base, offset : local_#24184!offset + 56 }]; local_#24186 := _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 72 }]; assert { :LIR "63531" } { :check "overflow" } { :finding_ids "0" } true; local_#24187 := { base : local_#32515_f!base, offset : local_#32515_f!offset + 28 }; local_#24188 := 4; local_#24189 := 2147483647; assume _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 0 }] == 111 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 1 }] == 112 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 2 }] == 99 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 3 }] == 111 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 4 }] == 100 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 5 }] == 101 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 6 }] == 115 && _memory[{ base : strlit_#70695!base, offset : strlit_#70695!offset + 7 }] == 0; local_#24190 := strlit_#70695; local_#24191 := { base : local_#24190!base, offset : local_#24190!offset + 0 * 1 }; assert { :LIR "63532" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47875; CFG_47875: assume true; call local_#24192 := routine_#33856_luaM_growaux_(local_#24185,local_#24186,local_#24187,local_#24188,local_#24189,local_#24191); goto CFG_41080; CFG_41080: assume true; local_#24193 := local_#24192; assert { :LIR "61713" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 72 }] := local_#24193; goto CFG_38797; CFG_38797: assume true; local_#24194 := _memory_ptr[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 16 }]; local_#24195 := { base : _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 72 }]!base, offset : _memory_ptr[{ base : local_#32515_f!base, offset : local_#32515_f!offset + 72 }]!offset + _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }] * 4 }; _memory[local_#24195] := _memory[{ base : local_#24194!base, offset : local_#24194!offset + 8 }]; local_#24196 := _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }]; local_#24197 := 1; _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }] := local_#24196 + local_#24197; assert { :LIR "66708" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#6048_fs!base, offset : local_#6048_fs!offset + 32 }] <= -1; local_#8156 := local_#24196; goto CFG_37803; CFG_37803: assume true; } procedure routine_#34905_luaK_numberK(local_#6050_fs_IN : { base : int, offset : int }, local_#6051_r_IN : int) returns (local_#8157 : int) modifies _memory, _memory_ptr, _valid; { var local_#6050_fs : { base : int, offset : int }; var local_#6051_r : int; var local_#32516_o : { base : int, offset : int }; var local_#32517_io : { base : int, offset : int }; var local_#24198 : { base : int, offset : int }; var local_#24199 : { base : int, offset : int }; var local_#24200 : { base : int, offset : int }; var local_#24201 : int; local_#6050_fs := local_#6050_fs_IN; local_#6051_r := local_#6051_r_IN; goto CFG_36893; CFG_36893: assume true; goto CFG_44033; CFG_44033: assume true; local_#32517_io := local_#32516_o; local_#24198 := { base : local_#32517_io!base, offset : local_#32517_io!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#32517_io!base, offset : local_#32517_io!offset + 8 }] := 3; local_#24199 := local_#32516_o; local_#24200 := local_#32516_o; goto CFG_47876; CFG_47876: assume true; call local_#24201 := routine_#34572_addk(local_#6050_fs,local_#24199,local_#24200); goto CFG_38798; CFG_38798: assume true; local_#8157 := local_#24201; goto CFG_37804; CFG_37804: assume true; } procedure routine_#34906_mainfunc(local_#6052_ls_IN : { base : int, offset : int }, local_#6053_fs_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6052_ls : { base : int, offset : int }; var local_#6053_fs : { base : int, offset : int }; var local_#32518_bl : { base : int, offset : int }; var local_#24202 : { base : int, offset : int }; var local_#24203 : int; var local_#24204 : { base : int, offset : int }; var local_#32519_v : { base : int, offset : int }; var local_#24205 : { base : int, offset : int }; var local_#24206 : int; var local_#24207 : int; var local_#24208 : { base : int, offset : int }; var local_#24209 : { base : int, offset : int }; var local_#24210 : int; var local_#24211 : int; local_#6052_ls := local_#6052_ls_IN; local_#6053_fs := local_#6053_fs_IN; goto CFG_36894; CFG_36894: assume true; goto CFG_44034; CFG_44034: assume true; local_#24202 := local_#32518_bl; goto CFG_47877; CFG_47877: assume true; call routine_#34970_open_func(local_#6052_ls,local_#6053_fs,local_#24202); goto CFG_44035; CFG_44035: assume true; local_#24203 := 1; local_#24204 := _memory_ptr[{ base : local_#6053_fs!base, offset : local_#6053_fs!offset + 0 }]; _memory[{ base : local_#24204!base, offset : local_#24204!offset + 11 }] := local_#24203; local_#24205 := local_#32519_v; local_#24206 := 8; local_#24207 := 0; goto CFG_47878; CFG_47878: assume true; call routine_#34812_init_exp(local_#24205,local_#24206,local_#24207); goto CFG_44036; CFG_44036: assume true; local_#24208 := _memory_ptr[{ base : local_#6052_ls!base, offset : local_#6052_ls!offset + 104 }]; local_#24209 := local_#32519_v; goto CFG_47879; CFG_47879: assume true; call local_#24210 := routine_#34962_newupvalue(local_#6053_fs,local_#24208,local_#24209); goto CFG_47880; CFG_47880: assume true; call routine_#33908_luaX_next(local_#6052_ls); goto CFG_47881; CFG_47881: assume true; call routine_#35082_statlist(local_#6052_ls); goto CFG_44037; CFG_44037: assume true; local_#24211 := 289; goto CFG_47882; CFG_47882: assume true; call routine_#34621_check(local_#6052_ls,local_#24211); goto CFG_47883; CFG_47883: assume true; call routine_#34647_close_func(local_#6052_ls); goto CFG_39365; CFG_39365: assume true; goto CFG_37805; CFG_37805: assume true; } procedure routine_#34907_mainposition(local_#6054_t_IN : { base : int, offset : int }, local_#6055_key_IN : { base : int, offset : int }) returns (local_#8158 : { base : int, offset : int }) modifies _memory; { var local_#6054_t : { base : int, offset : int }; var local_#6055_key : { base : int, offset : int }; var local_#24212 : int; var local_#24213 : int; var local_#24214 : int; var local_#24215 : int; var local_#24216 : { base : int, offset : int }; var nondet_#0 : int; var local_#24217 : int; var local_#24218 : int; var local_#24219 : int; var local_#24220 : int; var local_#24221 : int; var local_#24222 : int; var local_#24223 : int; var local_#24224 : int; var local_#24225 : int; var local_#24226 : int; var local_#24227 : int; var local_#24228 : int; var local_#24229 : int; var local_#24230 : { base : int, offset : int }; var local_#24231 : { base : int, offset : int }; var nondet_#1 : int; var local_#24232 : int; var local_#24233 : int; var local_#24234 : int; var local_#24235 : int; var local_#24236 : int; var local_#24237 : int; var local_#24238 : int; var local_#24239 : int; var local_#24240 : int; var local_#24241 : int; var local_#24242 : int; var local_#24243 : int; var local_#24244 : int; var local_#24245 : { base : int, offset : int }; var local_#24246 : { base : int, offset : int }; var nondet_#2 : int; var local_#24247 : int; var local_#24248 : int; var local_#24249 : int; var local_#24250 : int; var local_#24251 : int; var local_#24252 : int; var local_#24253 : int; var local_#24254 : int; var local_#24255 : int; var local_#24256 : int; var local_#24257 : int; var local_#24258 : int; var local_#24259 : int; var local_#24260 : { base : int, offset : int }; var local_#24261 : { base : int, offset : int }; var local_#24262 : int; var local_#24263 : int; var local_#24264 : int; var local_#24265 : int; var local_#24266 : int; var local_#24267 : int; var local_#24268 : int; var local_#24269 : { base : int, offset : int }; var local_#24270 : { base : int, offset : int }; var local_#24271 : { base : int, offset : int }; var local_#24272 : { base : int, offset : int }; var local_#24273 : int; var local_#24274 : int; var local_#24275 : int; var local_#24276 : int; var local_#24277 : int; var local_#24278 : int; var local_#24279 : int; var local_#24280 : int; var local_#24281 : int; var local_#24282 : { base : int, offset : int }; var local_#24283 : { base : int, offset : int }; var local_#24284 : { base : int, offset : int }; var local_#24285 : { base : int, offset : int }; var local_#24286 : int; var local_#24287 : int; var local_#24288 : int; var local_#24289 : int; var local_#24290 : int; var local_#24291 : int; var local_#24292 : int; var local_#24293 : int; var local_#24294 : { base : int, offset : int }; var local_#24295 : { base : int, offset : int }; var nondet_#3 : int; var local_#24296 : int; var local_#24297 : int; var local_#24298 : int; var local_#24299 : int; var local_#24300 : int; var local_#24301 : int; var local_#24302 : int; var local_#24303 : int; var local_#24304 : int; var local_#24305 : int; var local_#24306 : { base : int, offset : int }; var local_#24307 : { base : int, offset : int }; var local_#24308 : int; var local_#24309 : int; var local_#24310 : int; var local_#24311 : int; var local_#24312 : int; var local_#24313 : int; var local_#24314 : int; var local_#24315 : int; var local_#24316 : { base : int, offset : int }; local_#6054_t := local_#6054_t_IN; local_#6055_key := local_#6055_key_IN; goto CFG_36895; CFG_36895: assume true; goto CFG_51553; CFG_51553: assume true; local_#24212 := 63; local_#24213 := ~sand32(_memory[{ base : local_#6055_key!base, offset : local_#6055_key!offset + 8 }], local_#24212); if (local_#24213 == 19) { goto CFG_38806; } if (local_#24213 == 3) { goto CFG_44039; } if (local_#24213 == 4) { goto CFG_38804; } if (local_#24213 == 20) { goto CFG_44038; } if (local_#24213 == 1) { goto CFG_38802; } if (local_#24213 == 2) { goto CFG_38801; } if (local_#24213 == 22) { goto CFG_38800; } goto CFG_38799; CFG_38799: assume true; local_#24214 := 0; local_#24215 := 0; assert { :LIR "61714" } { :check "overflow" } { :finding_ids "0" } true; local_#24216 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; havoc nondet_#0; local_#24217 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType708 is not supported in conversion 61715 */; assert { :LIR "61715" } { :check "overflow" } { :finding_ids "0" } true; local_#24218 := 4294967295; local_#24219 := ~uand64(local_#24217, local_#24218); local_#24220 := ~uwrap32(local_#24219); assert { :LIR "61716" } { :check "overflow" } { :finding_ids "0" } true; local_#24221 := 1; local_#24222 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63533" } { :check "overflow" } { :finding_ids "0" } local_#24222 <= 2147483647; local_#24223 := ~shl32(local_#24221, local_#24222); local_#24224 := 1; local_#24225 := local_#24223 - local_#24224; assert { :LIR "68100" } { :check "overflow" } { :finding_ids "0" } local_#24225 <= 2147483647; local_#24226 := 1; local_#24227 := ~sor32(local_#24225, local_#24226); local_#24228 := ~uwrap32(local_#24227); assert { :LIR "63534" } { :check "overflow" } { :finding_ids "0" } true; local_#24229 := local_#24220 % local_#24228; local_#24230 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24229 * 32 }; local_#8158 := local_#24230; goto CFG_37806; CFG_38800: assume true; local_#24231 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; havoc nondet_#1; local_#24232 := nondet_#1 /* IR2BOOGIE-ERROR: From Type IRType863 is not supported in conversion 61717 */; assert { :LIR "61717" } { :check "overflow" } { :finding_ids "0" } true; local_#24233 := 4294967295; local_#24234 := ~uand64(local_#24232, local_#24233); local_#24235 := ~uwrap32(local_#24234); assert { :LIR "61718" } { :check "overflow" } { :finding_ids "0" } true; local_#24236 := 1; local_#24237 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63535" } { :check "overflow" } { :finding_ids "0" } local_#24237 <= 2147483647; local_#24238 := ~shl32(local_#24236, local_#24237); local_#24239 := 1; local_#24240 := local_#24238 - local_#24239; assert { :LIR "68101" } { :check "overflow" } { :finding_ids "0" } local_#24240 <= 2147483647; local_#24241 := 1; local_#24242 := ~sor32(local_#24240, local_#24241); local_#24243 := ~uwrap32(local_#24242); assert { :LIR "63536" } { :check "overflow" } { :finding_ids "0" } true; local_#24244 := local_#24235 % local_#24243; local_#24245 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24244 * 32 }; local_#8158 := local_#24245; goto CFG_37806; CFG_38801: assume true; local_#24246 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; havoc nondet_#2; local_#24247 := nondet_#2 /* IR2BOOGIE-ERROR: From Type IRType783 is not supported in conversion 61719 */; assert { :LIR "61719" } { :check "overflow" } { :finding_ids "0" } true; local_#24248 := 4294967295; local_#24249 := ~uand64(local_#24247, local_#24248); local_#24250 := ~uwrap32(local_#24249); assert { :LIR "61720" } { :check "overflow" } { :finding_ids "0" } true; local_#24251 := 1; local_#24252 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63537" } { :check "overflow" } { :finding_ids "0" } local_#24252 <= 2147483647; local_#24253 := ~shl32(local_#24251, local_#24252); local_#24254 := 1; local_#24255 := local_#24253 - local_#24254; assert { :LIR "68102" } { :check "overflow" } { :finding_ids "0" } local_#24255 <= 2147483647; local_#24256 := 1; local_#24257 := ~sor32(local_#24255, local_#24256); local_#24258 := ~uwrap32(local_#24257); assert { :LIR "63538" } { :check "overflow" } { :finding_ids "0" } true; local_#24259 := local_#24250 % local_#24258; local_#24260 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24259 * 32 }; local_#8158 := local_#24260; goto CFG_37806; CFG_38802: assume true; local_#24261 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; local_#24262 := 1; local_#24263 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63539" } { :check "overflow" } { :finding_ids "0" } local_#24263 <= 2147483647; local_#24264 := ~shl32(local_#24262, local_#24263); local_#24265 := 1; local_#24266 := local_#24264 - local_#24265; assert { :LIR "68103" } { :check "overflow" } { :finding_ids "0" } local_#24266 <= 2147483647; local_#24267 := ~sand32(_memory[local_#24261], local_#24266); local_#24268 := local_#24267; assert { :LIR "61721" } { :check "overflow" } { :finding_ids "0" } local_#24268 <= 2147483647; local_#24269 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24268 * 32 }; local_#8158 := local_#24269; goto CFG_37806; CFG_44038: assume true; local_#24270 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; local_#24271 := _memory_ptr[local_#24270]; assert { :LIR "61722" } { :check "overflow" } { :finding_ids "0" } true; local_#24272 := { base : local_#24271!base, offset : local_#24271!offset + 0 }; goto CFG_47884; CFG_47884: assume true; call local_#24273 := routine_#33874_luaS_hashlongstr(local_#24272); goto CFG_38803; CFG_38803: assume true; local_#24274 := 1; local_#24275 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63540" } { :check "overflow" } { :finding_ids "0" } local_#24275 <= 2147483647; local_#24276 := ~shl32(local_#24274, local_#24275); local_#24277 := 1; local_#24278 := local_#24276 - local_#24277; assert { :LIR "68104" } { :check "overflow" } { :finding_ids "0" } local_#24278 <= 2147483647; local_#24279 := ~uwrap32(local_#24278); assert { :LIR "63541" } { :check "overflow" } { :finding_ids "0" } true; local_#24280 := ~uand32(local_#24273, local_#24279); local_#24281 := local_#24280; assert { :LIR "61723" } { :check "overflow" } { :finding_ids "0" } local_#24281 <= 2147483647; local_#24282 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24281 * 32 }; local_#8158 := local_#24282; goto CFG_37806; CFG_38804: assume true; local_#24283 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; local_#24284 := _memory_ptr[local_#24283]; assert { :LIR "61724" } { :check "overflow" } { :finding_ids "0" } true; local_#24285 := { base : local_#24284!base, offset : local_#24284!offset + 0 }; local_#24286 := 1; local_#24287 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63542" } { :check "overflow" } { :finding_ids "0" } local_#24287 <= 2147483647; local_#24288 := ~shl32(local_#24286, local_#24287); local_#24289 := 1; local_#24290 := local_#24288 - local_#24289; assert { :LIR "68105" } { :check "overflow" } { :finding_ids "0" } local_#24290 <= 2147483647; local_#24291 := ~uwrap32(local_#24290); assert { :LIR "63543" } { :check "overflow" } { :finding_ids "0" } true; local_#24292 := ~uand32(_memory[{ base : local_#24285!base, offset : local_#24285!offset + 12 }], local_#24291); local_#24293 := local_#24292; assert { :LIR "61725" } { :check "overflow" } { :finding_ids "0" } local_#24293 <= 2147483647; local_#24294 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24293 * 32 }; local_#8158 := local_#24294; goto CFG_37806; CFG_44039: assume true; local_#24295 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; havoc nondet_#3; local_#24296 := nondet_#3 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_47885; CFG_47885: assume true; call local_#24297 := routine_#34844_l_hashfloat(local_#24296); goto CFG_38805; CFG_38805: assume true; local_#24298 := 1; local_#24299 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63544" } { :check "overflow" } { :finding_ids "0" } local_#24299 <= 2147483647; local_#24300 := ~shl32(local_#24298, local_#24299); local_#24301 := 1; local_#24302 := local_#24300 - local_#24301; assert { :LIR "68106" } { :check "overflow" } { :finding_ids "0" } local_#24302 <= 2147483647; local_#24303 := 1; local_#24304 := ~sor32(local_#24302, local_#24303); local_#24305 := local_#24297 % local_#24304; local_#24306 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24305 * 32 }; local_#8158 := local_#24306; goto CFG_37806; CFG_38806: assume true; local_#24307 := { base : local_#6055_key!base, offset : local_#6055_key!offset + 0 }; local_#24308 := 1; local_#24309 := _memory[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 11 }]; assert { :LIR "63545" } { :check "overflow" } { :finding_ids "0" } local_#24309 <= 2147483647; local_#24310 := ~shl32(local_#24308, local_#24309); local_#24311 := 1; local_#24312 := local_#24310 - local_#24311; assert { :LIR "68107" } { :check "overflow" } { :finding_ids "0" } local_#24312 <= 2147483647; local_#24313 := local_#24312; assert { :LIR "63546" } { :check "overflow" } { :finding_ids "0" } local_#24313 <= 9223372036854775807; local_#24314 := ~sand64(_memory[local_#24307], local_#24313); local_#24315 := local_#24314; assert { :LIR "61726" } { :check "overflow" } { :finding_ids "0" } local_#24315 <= 2147483647; local_#24316 := { base : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6054_t!base, offset : local_#6054_t!offset + 24 }]!offset + local_#24315 * 32 }; local_#8158 := local_#24316; goto CFG_37806; CFG_37806: assume true; } procedure routine_#34908_makemask(local_#6056_smask_IN : { base : int, offset : int }, local_#6057_count_IN : int) returns (local_#8159 : int) { var local_#6056_smask : { base : int, offset : int }; var local_#6057_count : int; var local_#32520_mask : int; var local_#24317 : int; var local_#24318 : { base : int, offset : int }; var local_#24319 : { base : int, offset : int }; var local_#24320 : int; var local_#24321 : int; var local_#24322 : { base : int, offset : int }; var local_#24323 : { base : int, offset : int }; var local_#24324 : int; var local_#24325 : int; var local_#24326 : { base : int, offset : int }; var local_#24327 : { base : int, offset : int }; var local_#24328 : int; var local_#24329 : int; var local_#24330 : int; var local_#24331 : int; local_#6056_smask := local_#6056_smask_IN; local_#6057_count := local_#6057_count_IN; goto CFG_36896; CFG_36896: assume true; goto CFG_44040; CFG_44040: assume true; local_#32520_mask := 0; local_#24317 := 99; goto CFG_47886; CFG_47886: assume true; call local_#24318 := routine_#34445_strchr(local_#6056_smask,local_#24317); goto CFG_50803; CFG_50803: assume true; local_#24319 := local_#24318; if (local_#24319 != { base : 0, offset : 0 }) { goto CFG_41081; } else { goto CFG_44041; } CFG_41081: assume true; local_#24320 := 1; local_#32520_mask := ~sor32(local_#32520_mask, local_#24320); goto CFG_44041; CFG_44041: assume true; local_#24321 := 114; goto CFG_47887; CFG_47887: assume true; call local_#24322 := routine_#34445_strchr(local_#6056_smask,local_#24321); goto CFG_50804; CFG_50804: assume true; local_#24323 := local_#24322; if (local_#24323 != { base : 0, offset : 0 }) { goto CFG_41082; } else { goto CFG_44042; } CFG_41082: assume true; local_#24324 := 2; local_#32520_mask := ~sor32(local_#32520_mask, local_#24324); goto CFG_44042; CFG_44042: assume true; local_#24325 := 108; goto CFG_47888; CFG_47888: assume true; call local_#24326 := routine_#34445_strchr(local_#6056_smask,local_#24325); goto CFG_50805; CFG_50805: assume true; local_#24327 := local_#24326; if (local_#24327 != { base : 0, offset : 0 }) { goto CFG_41083; } else { goto CFG_50806; } CFG_41083: assume true; local_#24328 := 4; local_#32520_mask := ~sor32(local_#32520_mask, local_#24328); goto CFG_50806; CFG_50806: assume true; local_#24329 := 0; local_#24330 := (if local_#6057_count > local_#24329 then 1 else 0); if (local_#24330 != 0) { goto CFG_41084; } else { goto CFG_38807; } CFG_41084: assume true; local_#24331 := 8; local_#32520_mask := ~sor32(local_#32520_mask, local_#24331); goto CFG_38807; CFG_38807: assume true; local_#8159 := local_#32520_mask; goto CFG_37807; CFG_37807: assume true; } procedure routine_#34909_makeseed(local_#6058_L_IN : { base : int, offset : int }) returns (local_#8160 : int) modifies _memory; { var local_#6058_L : { base : int, offset : int }; var local_#24332 : { base : int, offset : int }; var local_#24333 : int; var local_#24334 : int; var local_#32522_h : { base : int, offset : int }; var local_#32523_p : int; var nondet_#0 : int; var local_#24335 : int; var local_#32524_t : { base : int, offset : int }; var local_#32521_buff : { base : int, offset : int }; var local_#24336 : { base : int, offset : int }; var local_#24337 : { base : int, offset : int }; var local_#24338 : { base : int, offset : int }; var local_#24339 : int; var local_#24340 : { base : int, offset : int }; var local_#24341 : int; var local_#24342 : int; var local_#24343 : int; var nondet_#1 : int; var local_#24344 : int; var local_#32525_t : { base : int, offset : int }; var local_#24345 : { base : int, offset : int }; var local_#24346 : { base : int, offset : int }; var local_#24347 : { base : int, offset : int }; var local_#24348 : int; var local_#24349 : { base : int, offset : int }; var local_#24350 : int; var local_#24351 : int; var local_#24352 : int; var nondet_#2 : int; var local_#24353 : int; var local_#32526_t : { base : int, offset : int }; var local_#24354 : { base : int, offset : int }; var local_#24355 : { base : int, offset : int }; var local_#24356 : { base : int, offset : int }; var local_#24357 : int; var local_#24358 : { base : int, offset : int }; var local_#24359 : int; var local_#24360 : int; var local_#24361 : int; var nondet_#3 : int; var local_#24362 : int; var local_#32527_t : { base : int, offset : int }; var local_#24363 : { base : int, offset : int }; var local_#24364 : { base : int, offset : int }; var local_#24365 : { base : int, offset : int }; var local_#24366 : int; var local_#24367 : { base : int, offset : int }; var local_#24368 : int; var local_#24369 : int; var local_#24370 : int; var local_#24371 : int; var local_#24372 : int; var local_#24373 : { base : int, offset : int }; var local_#24374 : int; var local_#24375 : int; local_#6058_L := local_#6058_L_IN; goto CFG_36897; CFG_36897: assume true; goto CFG_44043; CFG_44043: assume true; local_#24332 := { base : 0, offset : 0 }; goto CFG_47889; CFG_47889: assume true; call local_#24333 := routine_#34493_time(local_#24332); goto CFG_44044; CFG_44044: assume true; local_#24334 := ~uwrap32(local_#24333); assert { :LIR "61727" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#32522_h] := local_#24334; local_#32523_p := 0; havoc nondet_#0; local_#24335 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType756 is not supported in conversion 61728 */; assert { :LIR "61728" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#32524_t] := local_#24335; local_#24336 := { base : local_#32521_buff!base, offset : local_#32521_buff!offset + 0 * 1 + local_#32523_p * 1 }; local_#24337 := local_#24336; assert { :LIR "63547" } { :check "overflow" } { :finding_ids "0" } true; local_#24338 := local_#32524_t; assert { :LIR "63548" } { :check "overflow" } { :finding_ids "0" } true; local_#24339 := 8; goto CFG_47890; CFG_47890: assume true; call local_#24340 := routine_#34026_memcpy(local_#24337,local_#24338,local_#24339); goto CFG_44045; CFG_44045: assume true; local_#24341 := 8; local_#24342 := ~uwrap64(local_#32523_p); assert { :LIR "63549" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#24343 := ~uwrap64(local_#24342 + local_#24341); assert { :LIR "66709" } { :check "overflow" } { :finding_ids "0" } true; local_#32523_p := local_#24343; assert { :LIR "63550" } { :check "overflow" } { :finding_ids "0" } local_#32523_p <= 2147483647; havoc nondet_#1; local_#24344 := nondet_#1 /* IR2BOOGIE-ERROR: From Type IRType776 is not supported in conversion 61729 */; assert { :LIR "61729" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#32525_t] := local_#24344; local_#24345 := { base : local_#32521_buff!base, offset : local_#32521_buff!offset + 0 * 1 + local_#32523_p * 1 }; local_#24346 := local_#24345; assert { :LIR "63551" } { :check "overflow" } { :finding_ids "0" } true; local_#24347 := local_#32525_t; assert { :LIR "63552" } { :check "overflow" } { :finding_ids "0" } true; local_#24348 := 8; goto CFG_47891; CFG_47891: assume true; call local_#24349 := routine_#34026_memcpy(local_#24346,local_#24347,local_#24348); goto CFG_44046; CFG_44046: assume true; local_#24350 := 8; local_#24351 := ~uwrap64(local_#32523_p); assert { :LIR "63553" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#24352 := ~uwrap64(local_#24351 + local_#24350); assert { :LIR "66710" } { :check "overflow" } { :finding_ids "0" } true; local_#32523_p := local_#24352; assert { :LIR "63554" } { :check "overflow" } { :finding_ids "0" } local_#32523_p <= 2147483647; havoc nondet_#2; local_#24353 := nondet_#2 /* IR2BOOGIE-ERROR: From Type IRType797 is not supported in conversion 61730 */; assert { :LIR "61730" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#32526_t] := local_#24353; local_#24354 := { base : local_#32521_buff!base, offset : local_#32521_buff!offset + 0 * 1 + local_#32523_p * 1 }; local_#24355 := local_#24354; assert { :LIR "63555" } { :check "overflow" } { :finding_ids "0" } true; local_#24356 := local_#32526_t; assert { :LIR "63556" } { :check "overflow" } { :finding_ids "0" } true; local_#24357 := 8; goto CFG_47892; CFG_47892: assume true; call local_#24358 := routine_#34026_memcpy(local_#24355,local_#24356,local_#24357); goto CFG_44047; CFG_44047: assume true; local_#24359 := 8; local_#24360 := ~uwrap64(local_#32523_p); assert { :LIR "63557" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#24361 := ~uwrap64(local_#24360 + local_#24359); assert { :LIR "66711" } { :check "overflow" } { :finding_ids "0" } true; local_#32523_p := local_#24361; assert { :LIR "63558" } { :check "overflow" } { :finding_ids "0" } local_#32523_p <= 2147483647; havoc nondet_#3; local_#24362 := nondet_#3 /* IR2BOOGIE-ERROR: From Type IRType1233 is not supported in conversion 61731 */; assert { :LIR "61731" } { :check "overflow" } { :finding_ids "0" } true; _memory[local_#32527_t] := local_#24362; local_#24363 := { base : local_#32521_buff!base, offset : local_#32521_buff!offset + 0 * 1 + local_#32523_p * 1 }; local_#24364 := local_#24363; assert { :LIR "63559" } { :check "overflow" } { :finding_ids "0" } true; local_#24365 := local_#32527_t; assert { :LIR "63560" } { :check "overflow" } { :finding_ids "0" } true; local_#24366 := 8; goto CFG_47893; CFG_47893: assume true; call local_#24367 := routine_#34026_memcpy(local_#24364,local_#24365,local_#24366); goto CFG_44048; CFG_44048: assume true; local_#24368 := 8; local_#24369 := ~uwrap64(local_#32523_p); assert { :LIR "63561" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#24370 := ~uwrap64(local_#24369 + local_#24368); assert { :LIR "66712" } { :check "overflow" } { :finding_ids "0" } true; local_#32523_p := local_#24370; assert { :LIR "63562" } { :check "overflow" } { :finding_ids "0" } local_#32523_p <= 2147483647; local_#24371 := 0; local_#24372 := 0; assert { :LIR "61732" } { :check "overflow" } { :finding_ids "0" } true; local_#24373 := { base : local_#32521_buff!base, offset : local_#32521_buff!offset + 0 * 1 }; assert { :LIR "63563" } { :check "overflow" } { :finding_ids "0" } true; local_#24374 := ~uwrap64(local_#32523_p); assert { :LIR "63564" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47894; CFG_47894: assume true; call local_#24375 := routine_#33873_luaS_hash(local_#24373,local_#24374,_memory[local_#32522_h]); goto CFG_38808; CFG_38808: assume true; local_#8160 := local_#24375; goto CFG_37808; CFG_37808: assume true; } procedure routine_#34910_markbeingfnz(local_#6059_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6059_g : { base : int, offset : int }; var local_#32528_o : { base : int, offset : int }; var local_#24376 : { base : int, offset : int }; var local_#24377 : int; var local_#24378 : int; var local_#24379 : int; var local_#24380 : int; var local_#24381 : { base : int, offset : int }; var local_#24382 : { base : int, offset : int }; var local_#24383 : { base : int, offset : int }; local_#6059_g := local_#6059_g_IN; goto CFG_36898; CFG_36898: assume true; goto CFG_41778; CFG_41778: assume true; local_#32528_o := _memory_ptr[{ base : local_#6059_g!base, offset : local_#6059_g!offset + 152 }]; goto CFG_50807; CFG_50807: assume true; local_#24376 := { base : 0, offset : 0 }; local_#24377 := (if local_#32528_o != local_#24376 then 1 else 0); if (local_#24377 != 0) { goto CFG_50808; } else { goto CFG_39366; } CFG_39366: assume true; goto CFG_37809; CFG_50808: assume true; local_#24378 := _memory[{ base : local_#32528_o!base, offset : local_#32528_o!offset + 9 }]; assert { :LIR "63565" } { :check "overflow" } { :finding_ids "0" } local_#24378 <= 2147483647; local_#24379 := 3; local_#24380 := ~sand32(local_#24378, local_#24379); if (local_#24380 != 0) { goto CFG_44049; } else { goto CFG_45119; } CFG_44049: assume true; local_#24381 := local_#32528_o; assert { :LIR "61733" } { :check "overflow" } { :finding_ids "0" } true; local_#24382 := { base : local_#24381!base, offset : local_#24381!offset + 0 }; goto CFG_47895; CFG_47895: assume true; call routine_#35023_reallymarkobject(local_#6059_g,local_#24382); goto CFG_41085; CFG_41085: assume true; goto CFG_45119; CFG_45119: assume true; local_#32528_o := _memory_ptr[{ base : local_#32528_o!base, offset : local_#32528_o!offset + 0 }]; local_#24383 := local_#32528_o; goto CFG_50807; CFG_37809: assume true; } procedure routine_#34911_markmt(local_#6060_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6060_g : { base : int, offset : int }; var local_#32529_i : int; var local_#24384 : int; var local_#24385 : int; var local_#24386 : { base : int, offset : int }; var local_#24387 : { base : int, offset : int }; var local_#24388 : { base : int, offset : int }; var local_#24389 : { base : int, offset : int }; var local_#24390 : { base : int, offset : int }; var local_#24391 : { base : int, offset : int }; var local_#24392 : int; var local_#24393 : int; var local_#24394 : int; var local_#24395 : { base : int, offset : int }; var local_#24396 : { base : int, offset : int }; var local_#24397 : { base : int, offset : int }; var local_#24398 : { base : int, offset : int }; var local_#24399 : int; var local_#24400 : int; var local_#24401 : int; local_#6060_g := local_#6060_g_IN; goto CFG_36899; CFG_36899: assume true; goto CFG_41779; CFG_41779: assume true; local_#32529_i := 0; goto CFG_50809; CFG_50809: assume true; local_#24384 := 9; local_#24385 := (if local_#32529_i < local_#24384 then 1 else 0); if (local_#24385 != 0) { goto CFG_50810; } else { goto CFG_39367; } CFG_39367: assume true; goto CFG_37810; CFG_50810: assume true; local_#24386 := { base : local_#6060_g!base, offset : local_#6060_g!offset + 416 }; local_#24387 := { base : local_#24386!base, offset : local_#24386!offset + 0 * 8 + local_#32529_i * 8 }; local_#24388 := _memory_ptr[local_#24387]; if (local_#24388 != { base : 0, offset : 0 }) { goto CFG_50811; } else { goto CFG_45120; } CFG_50811: assume true; local_#24389 := { base : local_#6060_g!base, offset : local_#6060_g!offset + 416 }; local_#24390 := { base : local_#24389!base, offset : local_#24389!offset + 0 * 8 + local_#32529_i * 8 }; local_#24391 := _memory_ptr[local_#24390]; local_#24392 := _memory[{ base : local_#24391!base, offset : local_#24391!offset + 9 }]; assert { :LIR "63566" } { :check "overflow" } { :finding_ids "0" } local_#24392 <= 2147483647; local_#24393 := 3; local_#24394 := ~sand32(local_#24392, local_#24393); if (local_#24394 != 0) { goto CFG_44050; } else { goto CFG_41087; } CFG_44050: assume true; local_#24395 := { base : local_#6060_g!base, offset : local_#6060_g!offset + 416 }; local_#24396 := { base : local_#24395!base, offset : local_#24395!offset + 0 * 8 + local_#32529_i * 8 }; local_#24397 := _memory_ptr[local_#24396]; assert { :LIR "61734" } { :check "overflow" } { :finding_ids "0" } true; local_#24398 := { base : local_#24397!base, offset : local_#24397!offset + 0 }; goto CFG_47896; CFG_47896: assume true; call routine_#35023_reallymarkobject(local_#6060_g,local_#24398); goto CFG_41086; CFG_41086: assume true; goto CFG_41087; CFG_41087: assume true; goto CFG_45120; CFG_45120: assume true; local_#24399 := local_#32529_i; local_#24400 := 1; local_#32529_i := local_#24399 + local_#24400; assert { :LIR "66713" } { :check "overflow" } { :finding_ids "0" } local_#32529_i <= 2147483647; local_#24401 := local_#24399; goto CFG_50809; CFG_37810: assume true; } procedure routine_#34912_markupval(local_#6061_fs_IN : { base : int, offset : int }, local_#6062_level_IN : int) returns () modifies _memory; { var local_#6061_fs : { base : int, offset : int }; var local_#6062_level : int; var local_#32530_bl : { base : int, offset : int }; var local_#24402 : int; var local_#24403 : int; local_#6061_fs := local_#6061_fs_IN; local_#6062_level := local_#6062_level_IN; goto CFG_36900; CFG_36900: assume true; goto CFG_41780; CFG_41780: assume true; local_#32530_bl := _memory_ptr[{ base : local_#6061_fs!base, offset : local_#6061_fs!offset + 24 }]; goto CFG_50812; CFG_50812: assume true; local_#24402 := _memory[{ base : local_#32530_bl!base, offset : local_#32530_bl!offset + 16 }]; assert { :LIR "63567" } { :check "overflow" } { :finding_ids "0" } local_#24402 <= 2147483647; local_#24403 := (if local_#24402 > local_#6062_level then 1 else 0); if (local_#24403 != 0) { goto CFG_45121; } else { goto CFG_39368; } CFG_39368: assume true; _memory[{ base : local_#32530_bl!base, offset : local_#32530_bl!offset + 17 }] := 1; goto CFG_37811; CFG_45121: assume true; local_#32530_bl := _memory_ptr[{ base : local_#32530_bl!base, offset : local_#32530_bl!offset + 0 }]; goto CFG_50812; CFG_37811: assume true; } procedure routine_#34913_match(local_#6063_ms_IN : { base : int, offset : int }, local_#6064_s_IN : { base : int, offset : int }, local_#6065_p_IN : { base : int, offset : int }) returns (local_#8161 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6063_ms : { base : int, offset : int }; var local_#6064_s : { base : int, offset : int }; var local_#6065_p : { base : int, offset : int }; var local_#24404 : int; var local_#24405 : int; var local_#24406 : int; var local_#24407 : int; var local_#24408 : { base : int, offset : int }; var local_#24409 : { base : int, offset : int }; var local_#24410 : { base : int, offset : int }; var local_#24411 : int; var local_#24412 : int; var local_#24413 : int; var local_#24414 : int; var local_#24415 : { base : int, offset : int }; var local_#24416 : int; var local_#24417 : int; var local_#24418 : { base : int, offset : int }; var local_#24419 : int; var local_#24420 : int; var local_#24421 : { base : int, offset : int }; var local_#24422 : { base : int, offset : int }; var local_#24423 : int; var local_#24424 : int; var local_#24425 : int; var local_#24426 : int; var local_#24427 : int; var local_#24428 : int; var local_#24429 : { base : int, offset : int }; var local_#24430 : { base : int, offset : int }; var local_#24431 : { base : int, offset : int }; var local_#24432 : int; var local_#24433 : { base : int, offset : int }; var local_#32531_ep : { base : int, offset : int }; var local_#24434 : int; var local_#24435 : int; var local_#24436 : { base : int, offset : int }; var local_#24437 : int; var local_#30817 : int; var local_#24438 : int; var local_#32532_previous : int; var local_#24439 : int; var local_#24440 : int; var local_#24441 : int; var local_#24442 : { base : int, offset : int }; var local_#24443 : int; var local_#24444 : int; var local_#24445 : int; var local_#24446 : int; var local_#24447 : int; var local_#24448 : { base : int, offset : int }; var local_#24449 : int; var local_#24450 : int; var local_#24451 : int; var local_#24452 : { base : int, offset : int }; var local_#24453 : { base : int, offset : int }; var local_#24454 : { base : int, offset : int }; var local_#24455 : int; var local_#24456 : int; var local_#24457 : int; var local_#24458 : { base : int, offset : int }; var local_#24459 : int; var local_#24460 : int; var local_#30818 : { base : int, offset : int }; var local_#24461 : { base : int, offset : int }; var local_#32533_ep : { base : int, offset : int }; var local_#24462 : int; var local_#24463 : int; var local_#24464 : int; var local_#24465 : { base : int, offset : int }; var local_#24466 : int; var local_#24467 : { base : int, offset : int }; var local_#24468 : { base : int, offset : int }; var local_#24469 : { base : int, offset : int }; var local_#24470 : int; var local_#24471 : { base : int, offset : int }; var local_#24472 : { base : int, offset : int }; var local_#24473 : int; var local_#24474 : { base : int, offset : int }; var local_#24475 : int; var local_#24476 : { base : int, offset : int }; var local_#24477 : { base : int, offset : int }; var local_#32534_res : { base : int, offset : int }; var local_#24478 : { base : int, offset : int }; var local_#24479 : int; var local_#24480 : int; var local_#24481 : { base : int, offset : int }; var local_#24482 : int; var local_#24483 : int; var local_#24484 : int; var local_#24485 : int; var local_#24486 : int; var local_#24487 : int; var local_#24488 : int; var local_#24489 : int; var local_#24490 : int; var local_#24491 : int; var local_#24492 : { base : int, offset : int }; var local_#24493 : int; var local_#24494 : { base : int, offset : int }; var local_#24495 : { base : int, offset : int }; var local_#24496 : int; var local_#24497 : { base : int, offset : int }; var local_#24498 : int; var local_#24499 : int; var local_#24500 : int; var local_#24501 : int; var local_#24502 : { base : int, offset : int }; var local_#24503 : int; var local_#24504 : { base : int, offset : int }; var local_#24505 : int; var local_#24506 : { base : int, offset : int }; var local_#24507 : int; var local_#24508 : { base : int, offset : int }; var local_#24509 : int; var local_#24510 : int; var local_#24511 : int; local_#6063_ms := local_#6063_ms_IN; local_#6064_s := local_#6064_s_IN; local_#6065_p := local_#6065_p_IN; goto CFG_36901; CFG_36901: assume true; goto CFG_50813; CFG_50813: assume true; local_#24404 := _memory[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 32 }]; local_#24405 := 1; _memory[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 32 }] := local_#24404 - local_#24405; assert { :LIR "68108" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 32 }] <= -1; local_#24406 := 0; local_#24407 := (if local_#24404 == local_#24406 then 1 else 0); if (local_#24407 != 0) { goto CFG_44051; } else { goto CFG_41946; } CFG_44051: assume true; local_#24408 := _memory_ptr[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 24 }]; assume _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 0 }] == 112 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 1 }] == 97 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 2 }] == 116 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 3 }] == 116 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 4 }] == 101 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 5 }] == 114 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 6 }] == 110 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 7 }] == 32 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 8 }] == 116 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 9 }] == 111 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 10 }] == 111 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 11 }] == 32 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 12 }] == 99 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 13 }] == 111 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 14 }] == 109 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 15 }] == 112 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 16 }] == 108 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 17 }] == 101 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 18 }] == 120 && _memory[{ base : strlit_#70697!base, offset : strlit_#70697!offset + 19 }] == 0; local_#24409 := strlit_#70697; local_#24410 := { base : local_#24409!base, offset : local_#24409!offset + 0 * 1 }; assert { :LIR "63568" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47897; CFG_47897: assume true; call local_#24411 := routine_#33828_luaL_error(local_#24408,local_#24410,{ base : 0, offset : 0 }); goto CFG_41088; CFG_41088: assume true; goto CFG_41946; CFG_41946: assume true; goto CFG_50814; CFG_50814: assume true; local_#24412 := (if local_#6065_p != _memory_ptr[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 16 }] then 1 else 0); if (local_#24412 != 0) { goto CFG_51554; } else { goto CFG_38809; } CFG_51554: assume true; local_#24413 := _memory[local_#6065_p]; assert { :LIR "63569" } { :check "overflow" } { :finding_ids "0" } local_#24413 <= 2147483647; if (local_#24413 == 40) { goto CFG_50828; } if (local_#24413 == 41) { goto CFG_44060; } if (local_#24413 == 36) { goto CFG_50821; } if (local_#24413 == 37) { goto CFG_51555; } goto CFG_41947; CFG_41947: assume true; goto CFG_47904; CFG_51555: assume true; local_#24414 := 1; local_#24415 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24414 * 1 }; local_#24416 := _memory[local_#24415]; assert { :LIR "63570" } { :check "overflow" } { :finding_ids "0" } local_#24416 <= 2147483647; if (local_#24416 == 98) { goto CFG_44056; } if (local_#24416 == 102) { goto CFG_50816; } if (local_#24416 == 48) { goto CFG_44052; } if (local_#24416 == 49) { goto CFG_44052; } if (local_#24416 == 50) { goto CFG_44052; } if (local_#24416 == 51) { goto CFG_44052; } if (local_#24416 == 52) { goto CFG_44052; } if (local_#24416 == 53) { goto CFG_44052; } if (local_#24416 == 54) { goto CFG_44052; } if (local_#24416 == 55) { goto CFG_44052; } if (local_#24416 == 56) { goto CFG_44052; } if (local_#24416 == 57) { goto CFG_44052; } goto CFG_45251; CFG_45251: assume true; goto CFG_47904; CFG_44052: assume true; local_#24417 := 1; local_#24418 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24417 * 1 }; local_#24419 := ~uwrap8(_memory[local_#24418]); assert { :LIR "61735" } { :check "overflow" } { :finding_ids "0" } true; local_#24420 := local_#24419; assert { :LIR "63571" } { :check "overflow" } { :finding_ids "0" } local_#24420 <= 2147483647; goto CFG_47898; CFG_47898: assume true; call local_#24421 := routine_#34914_match_capture(local_#6063_ms,local_#6064_s,local_#24420); goto CFG_50815; CFG_50815: assume true; local_#6064_s := local_#24421; local_#24422 := { base : 0, offset : 0 }; local_#24423 := (if local_#6064_s != local_#24422 then 1 else 0); if (local_#24423 != 0) { goto CFG_45252; } else { goto CFG_39665; } CFG_39665: assume true; goto CFG_39668; CFG_45252: assume true; local_#24424 := 2; local_#6065_p := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24424 * 1 }; goto CFG_50814; CFG_50816: assume true; local_#24425 := 2; local_#6065_p := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24425 * 1 }; local_#24426 := _memory[local_#6065_p]; assert { :LIR "63572" } { :check "overflow" } { :finding_ids "0" } local_#24426 <= 2147483647; local_#24427 := 91; local_#24428 := (if local_#24426 != local_#24427 then 1 else 0); if (local_#24428 != 0) { goto CFG_44053; } else { goto CFG_47900; } CFG_44053: assume true; local_#24429 := _memory_ptr[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 24 }]; assume _memory[{ base : strlit_#70698!base, offset : strlit_#70698!offset + 34 }] == 0; local_#24430 := strlit_#70698; local_#24431 := { base : local_#24430!base, offset : local_#24430!offset + 0 * 1 }; assert { :LIR "63573" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47899; CFG_47899: assume true; call local_#24432 := routine_#33828_luaL_error(local_#24429,local_#24431,{ base : 0, offset : 0 }); goto CFG_41089; CFG_41089: assume true; goto CFG_47900; CFG_47900: assume true; call local_#24433 := routine_#34644_classend(local_#6063_ms,local_#6065_p); goto CFG_50817; CFG_50817: assume true; local_#32531_ep := local_#24433; local_#24434 := (if local_#6064_s == _memory_ptr[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 0 }] then 1 else 0); if (local_#24434 != 0) { goto CFG_41091; } else { goto CFG_41090; } CFG_41090: assume true; local_#24435 := 1; local_#24436 := { base : local_#6064_s!base, offset : local_#6064_s!offset - local_#24435 * 1 }; local_#24437 := _memory[local_#24436]; assert { :LIR "63574" } { :check "overflow" } { :finding_ids "0" } local_#24437 <= 2147483647; local_#30817 := local_#24437; goto CFG_44054; CFG_41091: assume true; local_#30817 := 0; goto CFG_44054; CFG_44054: assume true; local_#24438 := local_#30817; assert { :LIR "63575" } { :check "overflow" } { :finding_ids "0" } local_#24438 <= 127; local_#32532_previous := local_#24438; local_#24439 := ~uwrap8(local_#32532_previous); assert { :LIR "61736" } { :check "overflow" } { :finding_ids "0" } true; local_#24440 := local_#24439; assert { :LIR "63576" } { :check "overflow" } { :finding_ids "0" } local_#24440 <= 2147483647; local_#24441 := 1; local_#24442 := { base : local_#32531_ep!base, offset : local_#32531_ep!offset - local_#24441 * 1 }; goto CFG_47901; CFG_47901: assume true; call local_#24443 := routine_#34917_matchbracketclass(local_#24440,local_#6065_p,local_#24442); goto CFG_50818; CFG_50818: assume true; local_#24444 := (if local_#24443 != 0 then 0 else 1); if (local_#24444 != 0) { goto CFG_44055; } else { goto CFG_39666; } CFG_44055: assume true; local_#24445 := ~uwrap8(_memory[local_#6064_s]); assert { :LIR "61737" } { :check "overflow" } { :finding_ids "0" } true; local_#24446 := local_#24445; assert { :LIR "63577" } { :check "overflow" } { :finding_ids "0" } local_#24446 <= 2147483647; local_#24447 := 1; local_#24448 := { base : local_#32531_ep!base, offset : local_#32531_ep!offset - local_#24447 * 1 }; goto CFG_47902; CFG_47902: assume true; call local_#24449 := routine_#34917_matchbracketclass(local_#24446,local_#6065_p,local_#24448); goto CFG_50819; CFG_50819: assume true; local_#24450 := local_#24449; if (local_#24450 != 0) { goto CFG_45253; } else { goto CFG_39666; } CFG_39666: assume true; local_#6064_s := { base : 0, offset : 0 }; goto CFG_39668; CFG_45253: assume true; local_#6065_p := local_#32531_ep; goto CFG_50814; CFG_44056: assume true; local_#24451 := 2; local_#24452 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24451 * 1 }; goto CFG_47903; CFG_47903: assume true; call local_#24453 := routine_#34916_matchbalance(local_#6063_ms,local_#6064_s,local_#24452); goto CFG_50820; CFG_50820: assume true; local_#6064_s := local_#24453; local_#24454 := { base : 0, offset : 0 }; local_#24455 := (if local_#6064_s != local_#24454 then 1 else 0); if (local_#24455 != 0) { goto CFG_45254; } else { goto CFG_39667; } CFG_39667: assume true; goto CFG_39668; CFG_39668: assume true; goto CFG_41100; CFG_45254: assume true; local_#24456 := 4; local_#6065_p := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24456 * 1 }; goto CFG_50814; CFG_50821: assume true; local_#24457 := 1; local_#24458 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24457 * 1 }; local_#24459 := (if local_#24458 != _memory_ptr[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 16 }] then 1 else 0); if (local_#24459 != 0) { goto CFG_45255; } else { goto CFG_50822; } CFG_50822: assume true; local_#24460 := (if local_#6064_s == _memory_ptr[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 8 }] then 1 else 0); if (local_#24460 != 0) { goto CFG_41093; } else { goto CFG_41092; } CFG_41092: assume true; local_#30818 := { base : 0, offset : 0 }; goto CFG_39669; CFG_41093: assume true; local_#30818 := local_#6064_s; goto CFG_39669; CFG_39669: assume true; local_#6064_s := local_#30818; goto CFG_41100; CFG_45255: assume true; goto CFG_47904; CFG_47904: assume true; call local_#24461 := routine_#34644_classend(local_#6063_ms,local_#6065_p); goto CFG_44057; CFG_44057: assume true; local_#32533_ep := local_#24461; goto CFG_47905; CFG_47905: assume true; call local_#24462 := routine_#35067_singlematch(local_#6063_ms,local_#6064_s,local_#6065_p,local_#32533_ep); goto CFG_50823; CFG_50823: assume true; local_#24463 := (if local_#24462 != 0 then 0 else 1); if (local_#24463 != 0) { goto CFG_50825; } else { goto CFG_51556; } CFG_51556: assume true; local_#24464 := _memory[local_#32533_ep]; assert { :LIR "63578" } { :check "overflow" } { :finding_ids "0" } local_#24464 <= 2147483647; if (local_#24464 == 63) { goto CFG_44059; } if (local_#24464 == 43) { goto CFG_44058; } if (local_#24464 == 42) { goto CFG_47907; } if (local_#24464 == 45) { goto CFG_47906; } goto CFG_45256; CFG_45256: assume true; local_#24465 := local_#6064_s; local_#24466 := 1; local_#6064_s := { base : local_#24465!base, offset : local_#24465!offset + local_#24466 * 1 }; local_#24467 := local_#24465; local_#6065_p := local_#32533_ep; goto CFG_50814; CFG_47906: assume true; call local_#24468 := routine_#34949_min_expand(local_#6063_ms,local_#6064_s,local_#6065_p,local_#32533_ep); goto CFG_39670; CFG_39670: assume true; local_#6064_s := local_#24468; goto CFG_41095; CFG_44058: assume true; local_#24469 := local_#6064_s; local_#24470 := 1; local_#6064_s := { base : local_#24469!base, offset : local_#24469!offset + local_#24470 * 1 }; local_#24471 := local_#24469; goto CFG_47907; CFG_47907: assume true; call local_#24472 := routine_#34948_max_expand(local_#6063_ms,local_#6064_s,local_#6065_p,local_#32533_ep); goto CFG_39671; CFG_39671: assume true; local_#6064_s := local_#24472; goto CFG_41095; CFG_44059: assume true; local_#24473 := 1; local_#24474 := { base : local_#6064_s!base, offset : local_#6064_s!offset + local_#24473 * 1 }; local_#24475 := 1; local_#24476 := { base : local_#32533_ep!base, offset : local_#32533_ep!offset + local_#24475 * 1 }; goto CFG_47908; CFG_47908: assume true; call local_#24477 := routine_#34913_match(local_#6063_ms,local_#24474,local_#24476); goto CFG_50824; CFG_50824: assume true; local_#32534_res := local_#24477; local_#24478 := { base : 0, offset : 0 }; local_#24479 := (if local_#32534_res != local_#24478 then 1 else 0); if (local_#24479 != 0) { goto CFG_41094; } else { goto CFG_45257; } CFG_45257: assume true; local_#24480 := 1; local_#24481 := { base : local_#32533_ep!base, offset : local_#32533_ep!offset + local_#24480 * 1 }; local_#6065_p := local_#24481; goto CFG_50814; CFG_41094: assume true; local_#6064_s := local_#32534_res; goto CFG_39672; CFG_39672: assume true; goto CFG_41095; CFG_41095: assume true; goto CFG_39673; CFG_50825: assume true; local_#24482 := _memory[local_#32533_ep]; assert { :LIR "63579" } { :check "overflow" } { :finding_ids "0" } local_#24482 <= 2147483647; local_#24483 := 42; local_#24484 := (if local_#24482 == local_#24483 then 1 else 0); if (local_#24484 != 0) { goto CFG_45258; } else { goto CFG_50826; } CFG_50826: assume true; local_#24485 := _memory[local_#32533_ep]; assert { :LIR "63580" } { :check "overflow" } { :finding_ids "0" } local_#24485 <= 2147483647; local_#24486 := 63; local_#24487 := (if local_#24485 == local_#24486 then 1 else 0); if (local_#24487 != 0) { goto CFG_45258; } else { goto CFG_50827; } CFG_50827: assume true; local_#24488 := _memory[local_#32533_ep]; assert { :LIR "63581" } { :check "overflow" } { :finding_ids "0" } local_#24488 <= 2147483647; local_#24489 := 45; local_#24490 := (if local_#24488 == local_#24489 then 1 else 0); if (local_#24490 != 0) { goto CFG_45258; } else { goto CFG_41096; } CFG_41096: assume true; local_#6064_s := { base : 0, offset : 0 }; goto CFG_41097; CFG_41097: assume true; goto CFG_39673; CFG_39673: assume true; goto CFG_41100; CFG_45258: assume true; local_#24491 := 1; local_#24492 := { base : local_#32533_ep!base, offset : local_#32533_ep!offset + local_#24491 * 1 }; local_#6065_p := local_#24492; goto CFG_50814; CFG_44060: assume true; local_#24493 := 1; local_#24494 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24493 * 1 }; goto CFG_47909; CFG_47909: assume true; call local_#24495 := routine_#34709_end_capture(local_#6063_ms,local_#6064_s,local_#24494); goto CFG_39674; CFG_39674: assume true; local_#6064_s := local_#24495; goto CFG_41100; CFG_50828: assume true; local_#24496 := 1; local_#24497 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24496 * 1 }; local_#24498 := _memory[local_#24497]; assert { :LIR "63582" } { :check "overflow" } { :finding_ids "0" } local_#24498 <= 2147483647; local_#24499 := 41; local_#24500 := (if local_#24498 == local_#24499 then 1 else 0); if (local_#24500 != 0) { goto CFG_44062; } else { goto CFG_44061; } CFG_44061: assume true; local_#24501 := 1; local_#24502 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24501 * 1 }; local_#24503 := -1; goto CFG_47910; CFG_47910: assume true; call local_#24504 := routine_#35080_start_capture(local_#6063_ms,local_#6064_s,local_#24502,local_#24503); goto CFG_41098; CFG_41098: assume true; local_#6064_s := local_#24504; goto CFG_39675; CFG_44062: assume true; local_#24505 := 2; local_#24506 := { base : local_#6065_p!base, offset : local_#6065_p!offset + local_#24505 * 1 }; local_#24507 := -2; goto CFG_47911; CFG_47911: assume true; call local_#24508 := routine_#35080_start_capture(local_#6063_ms,local_#6064_s,local_#24506,local_#24507); goto CFG_41099; CFG_41099: assume true; local_#6064_s := local_#24508; goto CFG_39675; CFG_39675: assume true; goto CFG_41100; CFG_41100: assume true; goto CFG_38809; CFG_38809: assume true; local_#24509 := _memory[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 32 }]; local_#24510 := 1; _memory[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 32 }] := local_#24509 + local_#24510; assert { :LIR "66714" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#6063_ms!base, offset : local_#6063_ms!offset + 32 }] <= -1; local_#24511 := local_#24509; local_#8161 := local_#6064_s; goto CFG_37812; CFG_41948: assume true; goto CFG_39668; CFG_41949: assume true; goto CFG_41095; CFG_41950: assume true; goto CFG_41100; CFG_37812: assume true; } procedure routine_#34914_match_capture(local_#6066_ms_IN : { base : int, offset : int }, local_#6067_s_IN : { base : int, offset : int }, local_#6068_l_IN : int) returns (local_#8162 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6066_ms : { base : int, offset : int }; var local_#6067_s : { base : int, offset : int }; var local_#6068_l : int; var local_#24512 : int; var local_#24513 : { base : int, offset : int }; var local_#24514 : { base : int, offset : int }; var local_#24515 : int; var local_#32535_len : int; var local_#24516 : int; var local_#24517 : int; var local_#24518 : int; var local_#24519 : { base : int, offset : int }; var local_#24520 : { base : int, offset : int }; var local_#24521 : { base : int, offset : int }; var local_#24522 : { base : int, offset : int }; var local_#24523 : int; var local_#24524 : int; var local_#24525 : int; var local_#24526 : { base : int, offset : int }; local_#6066_ms := local_#6066_ms_IN; local_#6067_s := local_#6067_s_IN; local_#6068_l := local_#6068_l_IN; goto CFG_36902; CFG_36902: assume true; goto CFG_47912; CFG_47912: assume true; call local_#24512 := routine_#34624_check_capture(local_#6066_ms,local_#6068_l); goto CFG_50829; CFG_50829: assume true; local_#6068_l := local_#24512; local_#24513 := { base : local_#6066_ms!base, offset : local_#6066_ms!offset + 40 }; local_#24514 := { base : local_#24513!base, offset : local_#24513!offset + 0 * 16 + local_#6068_l * 16 }; local_#24515 := ~uwrap64(_memory[{ base : local_#24514!base, offset : local_#24514!offset + 8 }]); assert { :LIR "63583" } { :check "overflow" } { :finding_ids "0" } true; local_#32535_len := local_#24515; local_#24516 := (_memory_ptr[{ base : local_#6066_ms!base, offset : local_#6066_ms!offset + 8 }]!offset - local_#6067_s!offset) / 1; local_#24517 := ~uwrap64(local_#24516); assert { :LIR "61738" } { :check "overflow" } { :finding_ids "0" } true; local_#24518 := (if local_#24517 >= local_#32535_len then 1 else 0); if (local_#24518 != 0) { goto CFG_44063; } else { goto CFG_38810; } CFG_44063: assume true; local_#24519 := { base : local_#6066_ms!base, offset : local_#6066_ms!offset + 40 }; local_#24520 := { base : local_#24519!base, offset : local_#24519!offset + 0 * 16 + local_#6068_l * 16 }; local_#24521 := _memory_ptr[{ base : local_#24520!base, offset : local_#24520!offset + 0 }]; assert { :LIR "63584" } { :check "overflow" } { :finding_ids "0" } true; local_#24522 := local_#6067_s; assert { :LIR "63585" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47913; CFG_47913: assume true; call local_#24523 := routine_#34025_memcmp(local_#24521,local_#24522,local_#32535_len); goto CFG_50830; CFG_50830: assume true; local_#24524 := 0; local_#24525 := (if local_#24523 == local_#24524 then 1 else 0); if (local_#24525 != 0) { goto CFG_38811; } else { goto CFG_38810; } CFG_38810: assume true; local_#8162 := { base : 0, offset : 0 }; goto CFG_37813; CFG_38811: assume true; local_#24526 := { base : local_#6067_s!base, offset : local_#6067_s!offset + local_#32535_len * 1 }; local_#8162 := local_#24526; goto CFG_37813; CFG_37813: assume true; } procedure routine_#34915_match_class(local_#6069_c_IN : int, local_#6070_cl_IN : int) returns (local_#8163 : int) { var local_#6069_c : int; var local_#6070_cl : int; var local_#24527 : int; var local_#24528 : int; var local_#24529 : int; var local_#24530 : int; var local_#24531 : int; var local_#32536_res : int; var local_#24532 : { base : int, offset : int }; var local_#24533 : int; var local_#24534 : { base : int, offset : int }; var local_#24535 : int; var local_#24536 : int; var local_#24537 : int; var local_#24538 : { base : int, offset : int }; var local_#24539 : int; var local_#24540 : { base : int, offset : int }; var local_#24541 : int; var local_#24542 : int; var local_#24543 : int; var local_#24544 : { base : int, offset : int }; var local_#24545 : int; var local_#24546 : { base : int, offset : int }; var local_#24547 : int; var local_#24548 : int; var local_#24549 : int; var local_#24550 : { base : int, offset : int }; var local_#24551 : int; var local_#24552 : { base : int, offset : int }; var local_#24553 : int; var local_#24554 : int; var local_#24555 : int; var local_#24556 : { base : int, offset : int }; var local_#24557 : int; var local_#24558 : { base : int, offset : int }; var local_#24559 : int; var local_#24560 : int; var local_#24561 : int; var local_#24562 : { base : int, offset : int }; var local_#24563 : int; var local_#24564 : { base : int, offset : int }; var local_#24565 : int; var local_#24566 : int; var local_#24567 : int; var local_#24568 : { base : int, offset : int }; var local_#24569 : int; var local_#24570 : { base : int, offset : int }; var local_#24571 : int; var local_#24572 : int; var local_#24573 : int; var local_#24574 : { base : int, offset : int }; var local_#24575 : int; var local_#24576 : { base : int, offset : int }; var local_#24577 : int; var local_#24578 : int; var local_#24579 : int; var local_#24580 : { base : int, offset : int }; var local_#24581 : int; var local_#24582 : { base : int, offset : int }; var local_#24583 : int; var local_#24584 : int; var local_#24585 : int; var local_#24586 : { base : int, offset : int }; var local_#24587 : int; var local_#24588 : { base : int, offset : int }; var local_#24589 : int; var local_#24590 : int; var local_#24591 : int; var local_#24592 : { base : int, offset : int }; var local_#24593 : int; var local_#24594 : { base : int, offset : int }; var local_#24595 : int; var local_#24596 : int; var local_#24597 : int; var local_#24598 : int; var local_#30819 : int; local_#6069_c := local_#6069_c_IN; local_#6070_cl := local_#6070_cl_IN; goto CFG_36903; CFG_36903: assume true; goto CFG_47914; CFG_47914: assume true; call local_#24527 := routine_#34503_tolower(local_#6070_cl); goto CFG_51557; CFG_51557: assume true; local_#24528 := local_#24527; if (local_#24528 == 97) { goto CFG_47924; } if (local_#24528 == 99) { goto CFG_47923; } if (local_#24528 == 100) { goto CFG_47922; } if (local_#24528 == 103) { goto CFG_47921; } if (local_#24528 == 108) { goto CFG_47920; } if (local_#24528 == 112) { goto CFG_47919; } if (local_#24528 == 115) { goto CFG_47918; } if (local_#24528 == 117) { goto CFG_47917; } if (local_#24528 == 119) { goto CFG_47916; } if (local_#24528 == 120) { goto CFG_47915; } if (local_#24528 == 122) { goto CFG_39676; } goto CFG_38812; CFG_38812: assume true; local_#24529 := (if local_#6070_cl == local_#6069_c then 1 else 0); local_#8163 := local_#24529; goto CFG_37814; CFG_39676: assume true; local_#24530 := 0; local_#24531 := (if local_#6069_c == local_#24530 then 1 else 0); local_#32536_res := local_#24531; goto CFG_47925; CFG_47915: assume true; call local_#24532 := routine_#33248___ctype_b_loc(); goto CFG_39677; CFG_39677: assume true; local_#24533 := local_#6069_c; assert { :LIR "61739" } { :check "overflow" } { :finding_ids "0" } local_#24533 <= 2147483647; local_#24534 := { base : _memory_ptr[local_#24532]!base, offset : _memory_ptr[local_#24532]!offset + local_#24533 * 2 }; local_#24535 := _memory[local_#24534]; assert { :LIR "63586" } { :check "overflow" } { :finding_ids "0" } local_#24535 <= 2147483647; local_#24536 := 4096; local_#24537 := ~sand32(local_#24535, local_#24536); local_#32536_res := local_#24537; goto CFG_47925; CFG_47916: assume true; call local_#24538 := routine_#33248___ctype_b_loc(); goto CFG_39678; CFG_39678: assume true; local_#24539 := local_#6069_c; assert { :LIR "61740" } { :check "overflow" } { :finding_ids "0" } local_#24539 <= 2147483647; local_#24540 := { base : _memory_ptr[local_#24538]!base, offset : _memory_ptr[local_#24538]!offset + local_#24539 * 2 }; local_#24541 := _memory[local_#24540]; assert { :LIR "63587" } { :check "overflow" } { :finding_ids "0" } local_#24541 <= 2147483647; local_#24542 := 8; local_#24543 := ~sand32(local_#24541, local_#24542); local_#32536_res := local_#24543; goto CFG_47925; CFG_47917: assume true; call local_#24544 := routine_#33248___ctype_b_loc(); goto CFG_39679; CFG_39679: assume true; local_#24545 := local_#6069_c; assert { :LIR "61741" } { :check "overflow" } { :finding_ids "0" } local_#24545 <= 2147483647; local_#24546 := { base : _memory_ptr[local_#24544]!base, offset : _memory_ptr[local_#24544]!offset + local_#24545 * 2 }; local_#24547 := _memory[local_#24546]; assert { :LIR "63588" } { :check "overflow" } { :finding_ids "0" } local_#24547 <= 2147483647; local_#24548 := 256; local_#24549 := ~sand32(local_#24547, local_#24548); local_#32536_res := local_#24549; goto CFG_47925; CFG_47918: assume true; call local_#24550 := routine_#33248___ctype_b_loc(); goto CFG_39680; CFG_39680: assume true; local_#24551 := local_#6069_c; assert { :LIR "61742" } { :check "overflow" } { :finding_ids "0" } local_#24551 <= 2147483647; local_#24552 := { base : _memory_ptr[local_#24550]!base, offset : _memory_ptr[local_#24550]!offset + local_#24551 * 2 }; local_#24553 := _memory[local_#24552]; assert { :LIR "63589" } { :check "overflow" } { :finding_ids "0" } local_#24553 <= 2147483647; local_#24554 := 8192; local_#24555 := ~sand32(local_#24553, local_#24554); local_#32536_res := local_#24555; goto CFG_47925; CFG_47919: assume true; call local_#24556 := routine_#33248___ctype_b_loc(); goto CFG_39681; CFG_39681: assume true; local_#24557 := local_#6069_c; assert { :LIR "61743" } { :check "overflow" } { :finding_ids "0" } local_#24557 <= 2147483647; local_#24558 := { base : _memory_ptr[local_#24556]!base, offset : _memory_ptr[local_#24556]!offset + local_#24557 * 2 }; local_#24559 := _memory[local_#24558]; assert { :LIR "63590" } { :check "overflow" } { :finding_ids "0" } local_#24559 <= 2147483647; local_#24560 := 4; local_#24561 := ~sand32(local_#24559, local_#24560); local_#32536_res := local_#24561; goto CFG_47925; CFG_47920: assume true; call local_#24562 := routine_#33248___ctype_b_loc(); goto CFG_39682; CFG_39682: assume true; local_#24563 := local_#6069_c; assert { :LIR "61744" } { :check "overflow" } { :finding_ids "0" } local_#24563 <= 2147483647; local_#24564 := { base : _memory_ptr[local_#24562]!base, offset : _memory_ptr[local_#24562]!offset + local_#24563 * 2 }; local_#24565 := _memory[local_#24564]; assert { :LIR "63591" } { :check "overflow" } { :finding_ids "0" } local_#24565 <= 2147483647; local_#24566 := 512; local_#24567 := ~sand32(local_#24565, local_#24566); local_#32536_res := local_#24567; goto CFG_47925; CFG_47921: assume true; call local_#24568 := routine_#33248___ctype_b_loc(); goto CFG_39683; CFG_39683: assume true; local_#24569 := local_#6069_c; assert { :LIR "61745" } { :check "overflow" } { :finding_ids "0" } local_#24569 <= 2147483647; local_#24570 := { base : _memory_ptr[local_#24568]!base, offset : _memory_ptr[local_#24568]!offset + local_#24569 * 2 }; local_#24571 := _memory[local_#24570]; assert { :LIR "63592" } { :check "overflow" } { :finding_ids "0" } local_#24571 <= 2147483647; local_#24572 := 32768; local_#24573 := ~sand32(local_#24571, local_#24572); local_#32536_res := local_#24573; goto CFG_47925; CFG_47922: assume true; call local_#24574 := routine_#33248___ctype_b_loc(); goto CFG_39684; CFG_39684: assume true; local_#24575 := local_#6069_c; assert { :LIR "61746" } { :check "overflow" } { :finding_ids "0" } local_#24575 <= 2147483647; local_#24576 := { base : _memory_ptr[local_#24574]!base, offset : _memory_ptr[local_#24574]!offset + local_#24575 * 2 }; local_#24577 := _memory[local_#24576]; assert { :LIR "63593" } { :check "overflow" } { :finding_ids "0" } local_#24577 <= 2147483647; local_#24578 := 2048; local_#24579 := ~sand32(local_#24577, local_#24578); local_#32536_res := local_#24579; goto CFG_47925; CFG_47923: assume true; call local_#24580 := routine_#33248___ctype_b_loc(); goto CFG_39685; CFG_39685: assume true; local_#24581 := local_#6069_c; assert { :LIR "61747" } { :check "overflow" } { :finding_ids "0" } local_#24581 <= 2147483647; local_#24582 := { base : _memory_ptr[local_#24580]!base, offset : _memory_ptr[local_#24580]!offset + local_#24581 * 2 }; local_#24583 := _memory[local_#24582]; assert { :LIR "63594" } { :check "overflow" } { :finding_ids "0" } local_#24583 <= 2147483647; local_#24584 := 2; local_#24585 := ~sand32(local_#24583, local_#24584); local_#32536_res := local_#24585; goto CFG_47925; CFG_47924: assume true; call local_#24586 := routine_#33248___ctype_b_loc(); goto CFG_39686; CFG_39686: assume true; local_#24587 := local_#6069_c; assert { :LIR "61748" } { :check "overflow" } { :finding_ids "0" } local_#24587 <= 2147483647; local_#24588 := { base : _memory_ptr[local_#24586]!base, offset : _memory_ptr[local_#24586]!offset + local_#24587 * 2 }; local_#24589 := _memory[local_#24588]; assert { :LIR "63595" } { :check "overflow" } { :finding_ids "0" } local_#24589 <= 2147483647; local_#24590 := 1024; local_#24591 := ~sand32(local_#24589, local_#24590); local_#32536_res := local_#24591; goto CFG_47925; CFG_47925: assume true; call local_#24592 := routine_#33248___ctype_b_loc(); goto CFG_50831; CFG_50831: assume true; local_#24593 := local_#6070_cl; assert { :LIR "61749" } { :check "overflow" } { :finding_ids "0" } local_#24593 <= 2147483647; local_#24594 := { base : _memory_ptr[local_#24592]!base, offset : _memory_ptr[local_#24592]!offset + local_#24593 * 2 }; local_#24595 := _memory[local_#24594]; assert { :LIR "63596" } { :check "overflow" } { :finding_ids "0" } local_#24595 <= 2147483647; local_#24596 := 512; local_#24597 := ~sand32(local_#24595, local_#24596); if (local_#24597 != 0) { goto CFG_41102; } else { goto CFG_41101; } CFG_41101: assume true; local_#24598 := (if local_#32536_res != 0 then 0 else 1); local_#30819 := local_#24598; goto CFG_38813; CFG_41102: assume true; local_#30819 := local_#32536_res; goto CFG_38813; CFG_38813: assume true; local_#8163 := local_#30819; goto CFG_37814; CFG_41951: assume true; goto CFG_47925; CFG_37814: assume true; } procedure routine_#34916_matchbalance(local_#6071_ms_IN : { base : int, offset : int }, local_#6072_s_IN : { base : int, offset : int }, local_#6073_p_IN : { base : int, offset : int }) returns (local_#8164 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6071_ms : { base : int, offset : int }; var local_#6072_s : { base : int, offset : int }; var local_#6073_p : { base : int, offset : int }; var local_#24599 : int; var local_#24600 : { base : int, offset : int }; var local_#24601 : int; var local_#24602 : { base : int, offset : int }; var local_#24603 : { base : int, offset : int }; var local_#24604 : { base : int, offset : int }; var local_#24605 : int; var local_#24606 : int; var local_#24607 : int; var local_#24608 : int; var local_#24609 : int; var local_#32537_b : int; var local_#24610 : int; var local_#24611 : { base : int, offset : int }; var local_#24612 : int; var local_#32539_e : int; var local_#32538_cont : int; var local_#24613 : int; var local_#24614 : int; var local_#24615 : int; var local_#24616 : int; var local_#24617 : int; var local_#24618 : int; var local_#24619 : int; var local_#24620 : int; var local_#24621 : int; var local_#24622 : int; var local_#24623 : int; var local_#24624 : int; var local_#24625 : int; var local_#24626 : { base : int, offset : int }; local_#6071_ms := local_#6071_ms_IN; local_#6072_s := local_#6072_s_IN; local_#6073_p := local_#6073_p_IN; goto CFG_36904; CFG_36904: assume true; goto CFG_50832; CFG_50832: assume true; local_#24599 := 1; local_#24600 := { base : _memory_ptr[{ base : local_#6071_ms!base, offset : local_#6071_ms!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6071_ms!base, offset : local_#6071_ms!offset + 16 }]!offset - local_#24599 * 1 }; local_#24601 := (if local_#6073_p!offset >= local_#24600!offset then 1 else 0); if (local_#24601 != 0) { goto CFG_44064; } else { goto CFG_50833; } CFG_44064: assume true; local_#24602 := _memory_ptr[{ base : local_#6071_ms!base, offset : local_#6071_ms!offset + 24 }]; assume _memory[{ base : strlit_#70699!base, offset : strlit_#70699!offset + 46 }] == 0; local_#24603 := strlit_#70699; local_#24604 := { base : local_#24603!base, offset : local_#24603!offset + 0 * 1 }; assert { :LIR "63597" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47926; CFG_47926: assume true; call local_#24605 := routine_#33828_luaL_error(local_#24602,local_#24604,{ base : 0, offset : 0 }); goto CFG_41103; CFG_41103: assume true; goto CFG_50833; CFG_50833: assume true; local_#24606 := _memory[local_#6072_s]; assert { :LIR "63598" } { :check "overflow" } { :finding_ids "0" } local_#24606 <= 2147483647; local_#24607 := _memory[local_#6073_p]; assert { :LIR "63599" } { :check "overflow" } { :finding_ids "0" } local_#24607 <= 2147483647; local_#24608 := (if local_#24606 != local_#24607 then 1 else 0); if (local_#24608 != 0) { goto CFG_38816; } else { goto CFG_41781; } CFG_41781: assume true; local_#24609 := _memory[local_#6073_p]; assert { :LIR "63600" } { :check "overflow" } { :finding_ids "0" } local_#24609 <= 2147483647; local_#32537_b := local_#24609; local_#24610 := 1; local_#24611 := { base : local_#6073_p!base, offset : local_#6073_p!offset + local_#24610 * 1 }; local_#24612 := _memory[local_#24611]; assert { :LIR "63601" } { :check "overflow" } { :finding_ids "0" } local_#24612 <= 2147483647; local_#32539_e := local_#24612; local_#32538_cont := 1; goto CFG_50834; CFG_50834: assume true; local_#24613 := 1; local_#6072_s := { base : local_#6072_s!base, offset : local_#6072_s!offset + local_#24613 * 1 }; local_#24614 := (if local_#6072_s!offset < _memory_ptr[{ base : local_#6071_ms!base, offset : local_#6071_ms!offset + 8 }]!offset then 1 else 0); if (local_#24614 != 0) { goto CFG_50835; } else { goto CFG_41104; } CFG_41104: assume true; goto CFG_38814; CFG_38814: assume true; local_#8164 := { base : 0, offset : 0 }; goto CFG_37815; CFG_50835: assume true; local_#24615 := _memory[local_#6072_s]; assert { :LIR "63602" } { :check "overflow" } { :finding_ids "0" } local_#24615 <= 2147483647; local_#24616 := (if local_#24615 == local_#32539_e then 1 else 0); if (local_#24616 != 0) { goto CFG_50837; } else { goto CFG_50836; } CFG_50836: assume true; local_#24617 := _memory[local_#6072_s]; assert { :LIR "63603" } { :check "overflow" } { :finding_ids "0" } local_#24617 <= 2147483647; local_#24618 := (if local_#24617 == local_#32537_b then 1 else 0); if (local_#24618 != 0) { goto CFG_41105; } else { goto CFG_41106; } CFG_41105: assume true; local_#24619 := local_#32538_cont; local_#24620 := 1; local_#32538_cont := local_#24619 + local_#24620; assert { :LIR "66715" } { :check "overflow" } { :finding_ids "0" } local_#32538_cont <= 2147483647; local_#24621 := local_#24619; goto CFG_41106; CFG_41106: assume true; goto CFG_45122; CFG_50837: assume true; local_#24622 := 1; local_#32538_cont := local_#32538_cont - local_#24622; assert { :LIR "68109" } { :check "overflow" } { :finding_ids "0" } local_#32538_cont <= 2147483647; local_#24623 := 0; local_#24624 := (if local_#32538_cont == local_#24623 then 1 else 0); if (local_#24624 != 0) { goto CFG_38815; } else { goto CFG_41107; } CFG_41107: assume true; goto CFG_45122; CFG_45122: assume true; goto CFG_50834; CFG_38815: assume true; local_#24625 := 1; local_#24626 := { base : local_#6072_s!base, offset : local_#6072_s!offset + local_#24625 * 1 }; local_#8164 := local_#24626; goto CFG_37815; CFG_38816: assume true; local_#8164 := { base : 0, offset : 0 }; goto CFG_37815; CFG_37815: assume true; } procedure routine_#34917_matchbracketclass(local_#6074_c_IN : int, local_#6075_p_IN : { base : int, offset : int }, local_#6076_ec_IN : { base : int, offset : int }) returns (local_#8165 : int) { var local_#6074_c : int; var local_#6075_p : { base : int, offset : int }; var local_#6076_ec : { base : int, offset : int }; var local_#32540_sig : int; var local_#24627 : int; var local_#24628 : { base : int, offset : int }; var local_#24629 : int; var local_#24630 : int; var local_#24631 : int; var local_#24632 : { base : int, offset : int }; var local_#24633 : int; var local_#24634 : { base : int, offset : int }; var local_#24635 : int; var local_#24636 : int; var local_#24637 : int; var local_#24638 : int; var local_#24639 : int; var local_#24640 : int; var local_#24641 : int; var local_#24642 : { base : int, offset : int }; var local_#24643 : int; var local_#24644 : int; var local_#24645 : int; var local_#24646 : int; var local_#24647 : { base : int, offset : int }; var local_#24648 : int; var local_#24649 : int; var local_#24650 : int; var local_#24651 : int; var local_#24652 : int; var local_#24653 : int; var local_#24654 : { base : int, offset : int }; var local_#24655 : int; var local_#24656 : int; var local_#24657 : int; var local_#24658 : int; var local_#24659 : int; var local_#24660 : int; var local_#24661 : { base : int, offset : int }; var local_#24662 : int; var local_#24663 : { base : int, offset : int }; var local_#24664 : int; var local_#24665 : int; var local_#24666 : int; var local_#24667 : int; local_#6074_c := local_#6074_c_IN; local_#6075_p := local_#6075_p_IN; local_#6076_ec := local_#6076_ec_IN; goto CFG_36905; CFG_36905: assume true; goto CFG_50838; CFG_50838: assume true; local_#32540_sig := 1; local_#24627 := 1; local_#24628 := { base : local_#6075_p!base, offset : local_#6075_p!offset + local_#24627 * 1 }; local_#24629 := _memory[local_#24628]; assert { :LIR "63604" } { :check "overflow" } { :finding_ids "0" } local_#24629 <= 2147483647; local_#24630 := 94; local_#24631 := (if local_#24629 == local_#24630 then 1 else 0); if (local_#24631 != 0) { goto CFG_41108; } else { goto CFG_41782; } CFG_41108: assume true; local_#32540_sig := 0; local_#24632 := local_#6075_p; local_#24633 := 1; local_#6075_p := { base : local_#24632!base, offset : local_#24632!offset + local_#24633 * 1 }; local_#24634 := local_#24632; goto CFG_41782; CFG_41782: assume true; goto CFG_50839; CFG_50839: assume true; local_#24635 := 1; local_#6075_p := { base : local_#6075_p!base, offset : local_#6075_p!offset + local_#24635 * 1 }; local_#24636 := (if local_#6075_p!offset < local_#6076_ec!offset then 1 else 0); if (local_#24636 != 0) { goto CFG_50840; } else { goto CFG_38817; } CFG_38817: assume true; local_#24637 := (if local_#32540_sig != 0 then 0 else 1); local_#8165 := local_#24637; goto CFG_37816; CFG_50840: assume true; local_#24638 := _memory[local_#6075_p]; assert { :LIR "63605" } { :check "overflow" } { :finding_ids "0" } local_#24638 <= 2147483647; local_#24639 := 37; local_#24640 := (if local_#24638 == local_#24639 then 1 else 0); if (local_#24640 != 0) { goto CFG_44065; } else { goto CFG_50841; } CFG_50841: assume true; local_#24641 := 1; local_#24642 := { base : local_#6075_p!base, offset : local_#6075_p!offset + local_#24641 * 1 }; local_#24643 := _memory[local_#24642]; assert { :LIR "63606" } { :check "overflow" } { :finding_ids "0" } local_#24643 <= 2147483647; local_#24644 := 45; local_#24645 := (if local_#24643 == local_#24644 then 1 else 0); if (local_#24645 != 0) { goto CFG_50842; } else { goto CFG_50843; } CFG_50842: assume true; local_#24646 := 2; local_#24647 := { base : local_#6075_p!base, offset : local_#6075_p!offset + local_#24646 * 1 }; local_#24648 := (if local_#24647!offset < local_#6076_ec!offset then 1 else 0); if (local_#24648 != 0) { goto CFG_50844; } else { goto CFG_50843; } CFG_50843: assume true; local_#24649 := ~uwrap8(_memory[local_#6075_p]); assert { :LIR "61750" } { :check "overflow" } { :finding_ids "0" } true; local_#24650 := local_#24649; assert { :LIR "63607" } { :check "overflow" } { :finding_ids "0" } local_#24650 <= 2147483647; local_#24651 := (if local_#24650 == local_#6074_c then 1 else 0); if (local_#24651 != 0) { goto CFG_38818; } else { goto CFG_41109; } CFG_41109: assume true; goto CFG_41111; CFG_38818: assume true; local_#8165 := local_#32540_sig; goto CFG_37816; CFG_50844: assume true; local_#24652 := 2; local_#6075_p := { base : local_#6075_p!base, offset : local_#6075_p!offset + local_#24652 * 1 }; local_#24653 := 2; local_#24654 := { base : local_#6075_p!base, offset : local_#6075_p!offset - local_#24653 * 1 }; local_#24655 := ~uwrap8(_memory[local_#24654]); assert { :LIR "61751" } { :check "overflow" } { :finding_ids "0" } true; local_#24656 := local_#24655; assert { :LIR "63608" } { :check "overflow" } { :finding_ids "0" } local_#24656 <= 2147483647; local_#24657 := (if local_#24656 <= local_#6074_c then 1 else 0); if (local_#24657 != 0) { goto CFG_50845; } else { goto CFG_41110; } CFG_50845: assume true; local_#24658 := ~uwrap8(_memory[local_#6075_p]); assert { :LIR "61752" } { :check "overflow" } { :finding_ids "0" } true; local_#24659 := local_#24658; assert { :LIR "63609" } { :check "overflow" } { :finding_ids "0" } local_#24659 <= 2147483647; local_#24660 := (if local_#6074_c <= local_#24659 then 1 else 0); if (local_#24660 != 0) { goto CFG_38819; } else { goto CFG_41110; } CFG_41110: assume true; goto CFG_41111; CFG_41111: assume true; goto CFG_45123; CFG_38819: assume true; local_#8165 := local_#32540_sig; goto CFG_37816; CFG_44065: assume true; local_#24661 := local_#6075_p; local_#24662 := 1; local_#6075_p := { base : local_#24661!base, offset : local_#24661!offset + local_#24662 * 1 }; local_#24663 := local_#24661; local_#24664 := ~uwrap8(_memory[local_#6075_p]); assert { :LIR "61753" } { :check "overflow" } { :finding_ids "0" } true; local_#24665 := local_#24664; assert { :LIR "63610" } { :check "overflow" } { :finding_ids "0" } local_#24665 <= 2147483647; goto CFG_47927; CFG_47927: assume true; call local_#24666 := routine_#34915_match_class(local_#6074_c,local_#24665); goto CFG_50846; CFG_50846: assume true; local_#24667 := local_#24666; if (local_#24667 != 0) { goto CFG_38820; } else { goto CFG_41112; } CFG_41112: assume true; goto CFG_45123; CFG_45123: assume true; goto CFG_50839; CFG_38820: assume true; local_#8165 := local_#32540_sig; goto CFG_37816; CFG_37816: assume true; } procedure routine_#34918_math_abs(local_#6077_L_IN : { base : int, offset : int }) returns (local_#8166 : int) modifies _memory, _memory_ptr, _valid; { var local_#6077_L : { base : int, offset : int }; var local_#24668 : int; var local_#24669 : int; var local_#24670 : int; var local_#24671 : int; var local_#24672 : int; var local_#24673 : int; var local_#24674 : int; var local_#24675 : { base : int, offset : int }; var local_#24676 : int; var local_#32541_n : int; var local_#24677 : int; var local_#24678 : int; var local_#24679 : int; var local_#24680 : int; var local_#24681 : int; var local_#24682 : int; local_#6077_L := local_#6077_L_IN; goto CFG_36906; CFG_36906: assume true; goto CFG_44066; CFG_44066: assume true; local_#24668 := 1; goto CFG_47928; CFG_47928: assume true; call local_#24669 := routine_#33945_lua_isinteger(local_#6077_L,local_#24668); goto CFG_50847; CFG_50847: assume true; local_#24670 := local_#24669; if (local_#24670 != 0) { goto CFG_44068; } else { goto CFG_44067; } CFG_44067: assume true; local_#24671 := 1; goto CFG_47929; CFG_47929: assume true; call local_#24672 := routine_#33822_luaL_checknumber(local_#6077_L,local_#24671); goto CFG_47930; CFG_47930: assume true; call local_#24673 := routine_#33542_fabs(local_#24672); goto CFG_47931; CFG_47931: assume true; call routine_#33964_lua_pushnumber(local_#6077_L,local_#24673); goto CFG_41113; CFG_41113: assume true; goto CFG_38821; CFG_44068: assume true; local_#24674 := 1; local_#24675 := { base : 0, offset : 0 }; goto CFG_47932; CFG_47932: assume true; call local_#24676 := routine_#33994_lua_tointegerx(local_#6077_L,local_#24674,local_#24675); goto CFG_50848; CFG_50848: assume true; local_#32541_n := local_#24676; local_#24677 := 0; local_#24678 := (if local_#32541_n < local_#24677 then 1 else 0); if (local_#24678 != 0) { goto CFG_41114; } else { goto CFG_47933; } CFG_41114: assume true; local_#24679 := 0; local_#24680 := ~uwrap64(local_#32541_n); assert { :LIR "61754" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#24681 := ~uwrap64(local_#24679 - local_#24680); assert { :LIR "68110" } { :check "overflow" } { :finding_ids "0" } true; local_#24682 := local_#24681; assert { :LIR "61755" } { :check "overflow" } { :finding_ids "0" } local_#24682 <= 9223372036854775807; local_#32541_n := local_#24682; goto CFG_47933; CFG_47933: assume true; call routine_#33960_lua_pushinteger(local_#6077_L,local_#32541_n); goto CFG_41115; CFG_41115: assume true; goto CFG_38821; CFG_38821: assume true; local_#8166 := 1; goto CFG_37817; CFG_37817: assume true; } procedure routine_#34919_math_acos(local_#6078_L_IN : { base : int, offset : int }) returns (local_#8167 : int) modifies _memory, _memory_ptr, _valid; { var local_#6078_L : { base : int, offset : int }; var local_#24683 : int; var local_#24684 : int; var local_#24685 : int; local_#6078_L := local_#6078_L_IN; goto CFG_36907; CFG_36907: assume true; goto CFG_44069; CFG_44069: assume true; local_#24683 := 1; goto CFG_47934; CFG_47934: assume true; call local_#24684 := routine_#33822_luaL_checknumber(local_#6078_L,local_#24683); goto CFG_47935; CFG_47935: assume true; call local_#24685 := routine_#33439_acos(local_#24684); goto CFG_47936; CFG_47936: assume true; call routine_#33964_lua_pushnumber(local_#6078_L,local_#24685); goto CFG_38822; CFG_38822: assume true; local_#8167 := 1; goto CFG_37818; CFG_37818: assume true; } procedure routine_#34920_math_asin(local_#6079_L_IN : { base : int, offset : int }) returns (local_#8168 : int) modifies _memory, _memory_ptr, _valid; { var local_#6079_L : { base : int, offset : int }; var local_#24686 : int; var local_#24687 : int; var local_#24688 : int; local_#6079_L := local_#6079_L_IN; goto CFG_36908; CFG_36908: assume true; goto CFG_44070; CFG_44070: assume true; local_#24686 := 1; goto CFG_47937; CFG_47937: assume true; call local_#24687 := routine_#33822_luaL_checknumber(local_#6079_L,local_#24686); goto CFG_47938; CFG_47938: assume true; call local_#24688 := routine_#33453_asin(local_#24687); goto CFG_47939; CFG_47939: assume true; call routine_#33964_lua_pushnumber(local_#6079_L,local_#24688); goto CFG_38823; CFG_38823: assume true; local_#8168 := 1; goto CFG_37819; CFG_37819: assume true; } procedure routine_#34921_math_atan(local_#6080_L_IN : { base : int, offset : int }) returns (local_#8169 : int) modifies _memory, _memory_ptr, _valid; { var local_#6080_L : { base : int, offset : int }; var local_#24689 : int; var local_#24690 : int; var local_#32543_y : int; var local_#24691 : int; var nondet_#0 : int; var local_#24692 : int; var local_#24693 : int; var local_#32542_x : int; var local_#24694 : int; local_#6080_L := local_#6080_L_IN; goto CFG_36909; CFG_36909: assume true; goto CFG_44071; CFG_44071: assume true; local_#24689 := 1; goto CFG_47940; CFG_47940: assume true; call local_#24690 := routine_#33822_luaL_checknumber(local_#6080_L,local_#24689); goto CFG_44072; CFG_44072: assume true; local_#32543_y := local_#24690; local_#24691 := 2; havoc nondet_#0; local_#24692 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78624 */; goto CFG_47941; CFG_47941: assume true; call local_#24693 := routine_#33843_luaL_optnumber(local_#6080_L,local_#24691,local_#24692); goto CFG_44073; CFG_44073: assume true; local_#32542_x := local_#24693; goto CFG_47942; CFG_47942: assume true; call local_#24694 := routine_#33461_atan2(local_#32543_y,local_#32542_x); goto CFG_47943; CFG_47943: assume true; call routine_#33964_lua_pushnumber(local_#6080_L,local_#24694); goto CFG_38824; CFG_38824: assume true; local_#8169 := 1; goto CFG_37820; CFG_37820: assume true; } procedure routine_#34922_math_ceil(local_#6081_L_IN : { base : int, offset : int }) returns (local_#8170 : int) modifies _memory, _memory_ptr, _valid; { var local_#6081_L : { base : int, offset : int }; var local_#24695 : int; var local_#24696 : int; var local_#24697 : int; var local_#24698 : int; var local_#24699 : int; var local_#24700 : int; var local_#32544_d : int; var local_#24701 : int; local_#6081_L := local_#6081_L_IN; goto CFG_36910; CFG_36910: assume true; goto CFG_44074; CFG_44074: assume true; local_#24695 := 1; goto CFG_47944; CFG_47944: assume true; call local_#24696 := routine_#33945_lua_isinteger(local_#6081_L,local_#24695); goto CFG_50849; CFG_50849: assume true; local_#24697 := local_#24696; if (local_#24697 != 0) { goto CFG_44077; } else { goto CFG_44075; } CFG_44075: assume true; local_#24698 := 1; goto CFG_47945; CFG_47945: assume true; call local_#24699 := routine_#33822_luaL_checknumber(local_#6081_L,local_#24698); goto CFG_47946; CFG_47946: assume true; call local_#24700 := routine_#33480_ceil(local_#24699); goto CFG_44076; CFG_44076: assume true; local_#32544_d := local_#24700; goto CFG_47947; CFG_47947: assume true; call routine_#35008_pushnumint(local_#6081_L,local_#32544_d); goto CFG_41116; CFG_41116: assume true; goto CFG_38825; CFG_44077: assume true; local_#24701 := 1; goto CFG_47948; CFG_47948: assume true; call routine_#33987_lua_settop(local_#6081_L,local_#24701); goto CFG_41117; CFG_41117: assume true; goto CFG_38825; CFG_38825: assume true; local_#8170 := 1; goto CFG_37821; CFG_37821: assume true; } procedure routine_#34923_math_cos(local_#6082_L_IN : { base : int, offset : int }) returns (local_#8171 : int) modifies _memory, _memory_ptr, _valid; { var local_#6082_L : { base : int, offset : int }; var local_#24702 : int; var local_#24703 : int; var local_#24704 : int; local_#6082_L := local_#6082_L_IN; goto CFG_36911; CFG_36911: assume true; goto CFG_44078; CFG_44078: assume true; local_#24702 := 1; goto CFG_47949; CFG_47949: assume true; call local_#24703 := routine_#33822_luaL_checknumber(local_#6082_L,local_#24702); goto CFG_47950; CFG_47950: assume true; call local_#24704 := routine_#33499_cos(local_#24703); goto CFG_47951; CFG_47951: assume true; call routine_#33964_lua_pushnumber(local_#6082_L,local_#24704); goto CFG_38826; CFG_38826: assume true; local_#8171 := 1; goto CFG_37822; CFG_37822: assume true; } procedure routine_#34924_math_cosh(local_#6083_L_IN : { base : int, offset : int }) returns (local_#8172 : int) modifies _memory, _memory_ptr, _valid; { var local_#6083_L : { base : int, offset : int }; var local_#24705 : int; var local_#24706 : int; var local_#24707 : int; local_#6083_L := local_#6083_L_IN; goto CFG_36912; CFG_36912: assume true; goto CFG_44079; CFG_44079: assume true; local_#24705 := 1; goto CFG_47952; CFG_47952: assume true; call local_#24706 := routine_#33822_luaL_checknumber(local_#6083_L,local_#24705); goto CFG_47953; CFG_47953: assume true; call local_#24707 := routine_#33501_cosh(local_#24706); goto CFG_47954; CFG_47954: assume true; call routine_#33964_lua_pushnumber(local_#6083_L,local_#24707); goto CFG_38827; CFG_38827: assume true; local_#8172 := 1; goto CFG_37823; CFG_37823: assume true; } procedure routine_#34925_math_deg(local_#6084_L_IN : { base : int, offset : int }) returns (local_#8173 : int) modifies _memory, _memory_ptr, _valid; { var local_#6084_L : { base : int, offset : int }; var local_#24708 : int; var local_#24709 : int; var nondet_#0 : int; var local_#24710 : int; var nondet_#1 : int; var local_#24711 : int; local_#6084_L := local_#6084_L_IN; goto CFG_36913; CFG_36913: assume true; goto CFG_44080; CFG_44080: assume true; local_#24708 := 1; goto CFG_47955; CFG_47955: assume true; call local_#24709 := routine_#33822_luaL_checknumber(local_#6084_L,local_#24708); goto CFG_44081; CFG_44081: assume true; havoc nondet_#0; local_#24710 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78625 */; havoc nondet_#1; local_#24711 := nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68584. */; assert { :LIR "68584" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47956; CFG_47956: assume true; call routine_#33964_lua_pushnumber(local_#6084_L,local_#24711); goto CFG_38828; CFG_38828: assume true; local_#8173 := 1; goto CFG_37824; CFG_37824: assume true; } procedure routine_#34926_math_exp(local_#6085_L_IN : { base : int, offset : int }) returns (local_#8174 : int) modifies _memory, _memory_ptr, _valid; { var local_#6085_L : { base : int, offset : int }; var local_#24712 : int; var local_#24713 : int; var local_#24714 : int; local_#6085_L := local_#6085_L_IN; goto CFG_36914; CFG_36914: assume true; goto CFG_44082; CFG_44082: assume true; local_#24712 := 1; goto CFG_47957; CFG_47957: assume true; call local_#24713 := routine_#33822_luaL_checknumber(local_#6085_L,local_#24712); goto CFG_47958; CFG_47958: assume true; call local_#24714 := routine_#33533_exp(local_#24713); goto CFG_47959; CFG_47959: assume true; call routine_#33964_lua_pushnumber(local_#6085_L,local_#24714); goto CFG_38829; CFG_38829: assume true; local_#8174 := 1; goto CFG_37825; CFG_37825: assume true; } procedure routine_#34927_math_floor(local_#6086_L_IN : { base : int, offset : int }) returns (local_#8175 : int) modifies _memory, _memory_ptr, _valid; { var local_#6086_L : { base : int, offset : int }; var local_#24715 : int; var local_#24716 : int; var local_#24717 : int; var local_#24718 : int; var local_#24719 : int; var local_#24720 : int; var local_#32545_d : int; var local_#24721 : int; local_#6086_L := local_#6086_L_IN; goto CFG_36915; CFG_36915: assume true; goto CFG_44083; CFG_44083: assume true; local_#24715 := 1; goto CFG_47960; CFG_47960: assume true; call local_#24716 := routine_#33945_lua_isinteger(local_#6086_L,local_#24715); goto CFG_50850; CFG_50850: assume true; local_#24717 := local_#24716; if (local_#24717 != 0) { goto CFG_44086; } else { goto CFG_44084; } CFG_44084: assume true; local_#24718 := 1; goto CFG_47961; CFG_47961: assume true; call local_#24719 := routine_#33822_luaL_checknumber(local_#6086_L,local_#24718); goto CFG_47962; CFG_47962: assume true; call local_#24720 := routine_#33562_floor(local_#24719); goto CFG_44085; CFG_44085: assume true; local_#32545_d := local_#24720; goto CFG_47963; CFG_47963: assume true; call routine_#35008_pushnumint(local_#6086_L,local_#32545_d); goto CFG_41118; CFG_41118: assume true; goto CFG_38830; CFG_44086: assume true; local_#24721 := 1; goto CFG_47964; CFG_47964: assume true; call routine_#33987_lua_settop(local_#6086_L,local_#24721); goto CFG_41119; CFG_41119: assume true; goto CFG_38830; CFG_38830: assume true; local_#8175 := 1; goto CFG_37826; CFG_37826: assume true; } procedure routine_#34928_math_fmod(local_#6087_L_IN : { base : int, offset : int }) returns (local_#8176 : int) modifies _memory, _memory_ptr, _valid; { var local_#6087_L : { base : int, offset : int }; var local_#24722 : int; var local_#24723 : int; var local_#24724 : int; var local_#24725 : int; var local_#24726 : int; var local_#24727 : int; var local_#24728 : int; var local_#24729 : int; var local_#24730 : int; var local_#24731 : int; var local_#24732 : int; var local_#24733 : int; var local_#24734 : { base : int, offset : int }; var local_#24735 : int; var local_#32546_d : int; var local_#24736 : int; var local_#24737 : int; var local_#24738 : int; var local_#24739 : int; var local_#24740 : int; var local_#24741 : int; var local_#24742 : { base : int, offset : int }; var local_#24743 : int; var local_#24744 : int; var local_#24745 : int; var local_#24746 : int; var local_#24747 : int; var local_#24748 : { base : int, offset : int }; var local_#24749 : { base : int, offset : int }; var local_#24750 : int; var local_#24751 : int; var local_#30820 : int; var local_#24752 : int; var local_#24753 : int; local_#6087_L := local_#6087_L_IN; goto CFG_36916; CFG_36916: assume true; goto CFG_44087; CFG_44087: assume true; local_#24722 := 1; goto CFG_47965; CFG_47965: assume true; call local_#24723 := routine_#33945_lua_isinteger(local_#6087_L,local_#24722); goto CFG_50851; CFG_50851: assume true; local_#24724 := local_#24723; if (local_#24724 != 0) { goto CFG_44088; } else { goto CFG_44089; } CFG_44088: assume true; local_#24725 := 2; goto CFG_47966; CFG_47966: assume true; call local_#24726 := routine_#33945_lua_isinteger(local_#6087_L,local_#24725); goto CFG_50852; CFG_50852: assume true; local_#24727 := local_#24726; if (local_#24727 != 0) { goto CFG_44091; } else { goto CFG_44089; } CFG_44089: assume true; local_#24728 := 1; goto CFG_47967; CFG_47967: assume true; call local_#24729 := routine_#33822_luaL_checknumber(local_#6087_L,local_#24728); goto CFG_44090; CFG_44090: assume true; local_#24730 := 2; goto CFG_47968; CFG_47968: assume true; call local_#24731 := routine_#33822_luaL_checknumber(local_#6087_L,local_#24730); goto CFG_47969; CFG_47969: assume true; call local_#24732 := routine_#33574_fmod(local_#24729,local_#24731); goto CFG_47970; CFG_47970: assume true; call routine_#33964_lua_pushnumber(local_#6087_L,local_#24732); goto CFG_41120; CFG_41120: assume true; goto CFG_38831; CFG_44091: assume true; local_#24733 := 2; local_#24734 := { base : 0, offset : 0 }; goto CFG_47971; CFG_47971: assume true; call local_#24735 := routine_#33994_lua_tointegerx(local_#6087_L,local_#24733,local_#24734); goto CFG_50853; CFG_50853: assume true; local_#32546_d := local_#24735; local_#24736 := ~uwrap64(local_#32546_d); assert { :LIR "61756" } { :check "overflow" } { :finding_ids "0" } true; local_#24737 := 1; assume { :symbol "~uwrap64" } true; local_#24738 := ~uwrap64(local_#24736 + local_#24737); assert { :LIR "66716" } { :check "overflow" } { :finding_ids "0" } true; local_#24739 := 1; local_#24740 := (if local_#24738 <= local_#24739 then 1 else 0); if (local_#24740 != 0) { goto CFG_50854; } else { goto CFG_44092; } CFG_44092: assume true; local_#24741 := 1; local_#24742 := { base : 0, offset : 0 }; goto CFG_47972; CFG_47972: assume true; call local_#24743 := routine_#33994_lua_tointegerx(local_#6087_L,local_#24741,local_#24742); goto CFG_44093; CFG_44093: assume true; local_#24744 := local_#24743 % local_#32546_d; goto CFG_47973; CFG_47973: assume true; call routine_#33960_lua_pushinteger(local_#6087_L,local_#24744); goto CFG_41121; CFG_41121: assume true; goto CFG_41125; CFG_50854: assume true; local_#24745 := 0; local_#24746 := (if local_#32546_d != local_#24745 then 1 else 0); if (local_#24746 != 0) { goto CFG_41123; } else { goto CFG_44094; } CFG_44094: assume true; local_#24747 := 2; assume _memory[{ base : strlit_#70700!base, offset : strlit_#70700!offset + 0 }] == 122 && _memory[{ base : strlit_#70700!base, offset : strlit_#70700!offset + 1 }] == 101 && _memory[{ base : strlit_#70700!base, offset : strlit_#70700!offset + 2 }] == 114 && _memory[{ base : strlit_#70700!base, offset : strlit_#70700!offset + 3 }] == 111 && _memory[{ base : strlit_#70700!base, offset : strlit_#70700!offset + 4 }] == 0; local_#24748 := strlit_#70700; local_#24749 := { base : local_#24748!base, offset : local_#24748!offset + 0 * 1 }; assert { :LIR "63611" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47974; CFG_47974: assume true; call local_#24750 := routine_#33815_luaL_argerror(local_#6087_L,local_#24747,local_#24749); goto CFG_50855; CFG_50855: assume true; local_#24751 := local_#24750; if (local_#24751 != 0) { goto CFG_41123; } else { goto CFG_41122; } CFG_41122: assume true; local_#30820 := 0; goto CFG_44095; CFG_41123: assume true; local_#30820 := 1; goto CFG_44095; CFG_44095: assume true; local_#24752 := 0; assert { :LIR "61757" } { :check "overflow" } { :finding_ids "0" } true; local_#24753 := 0; goto CFG_47975; CFG_47975: assume true; call routine_#33960_lua_pushinteger(local_#6087_L,local_#24753); goto CFG_41124; CFG_41124: assume true; goto CFG_41125; CFG_41125: assume true; goto CFG_38831; CFG_38831: assume true; local_#8176 := 1; goto CFG_37827; CFG_37827: assume true; } procedure routine_#34929_math_frexp(local_#6088_L_IN : { base : int, offset : int }) returns (local_#8177 : int) modifies _memory, _memory_ptr, _valid; { var local_#6088_L : { base : int, offset : int }; var local_#24754 : int; var local_#24755 : int; var local_#32547_e : { base : int, offset : int }; var local_#24756 : { base : int, offset : int }; var local_#24757 : int; var local_#24758 : int; local_#6088_L := local_#6088_L_IN; goto CFG_36917; CFG_36917: assume true; goto CFG_44096; CFG_44096: assume true; local_#24754 := 1; goto CFG_47976; CFG_47976: assume true; call local_#24755 := routine_#33822_luaL_checknumber(local_#6088_L,local_#24754); goto CFG_44097; CFG_44097: assume true; local_#24756 := local_#32547_e; goto CFG_47977; CFG_47977: assume true; call local_#24757 := routine_#33587_frexp(local_#24755,local_#24756); goto CFG_47978; CFG_47978: assume true; call routine_#33964_lua_pushnumber(local_#6088_L,local_#24757); goto CFG_44098; CFG_44098: assume true; local_#24758 := _memory[local_#32547_e]; assert { :LIR "63612" } { :check "overflow" } { :finding_ids "0" } local_#24758 <= 9223372036854775807; goto CFG_47979; CFG_47979: assume true; call routine_#33960_lua_pushinteger(local_#6088_L,local_#24758); goto CFG_38832; CFG_38832: assume true; local_#8177 := 2; goto CFG_37828; CFG_37828: assume true; } procedure routine_#34930_math_ldexp(local_#6089_L_IN : { base : int, offset : int }) returns (local_#8178 : int) modifies _memory, _memory_ptr, _valid; { var local_#6089_L : { base : int, offset : int }; var local_#24759 : int; var local_#24760 : int; var local_#32549_x : int; var local_#24761 : int; var local_#24762 : int; var local_#24763 : int; var local_#32548_ep : int; var local_#24764 : int; local_#6089_L := local_#6089_L_IN; goto CFG_36918; CFG_36918: assume true; goto CFG_44099; CFG_44099: assume true; local_#24759 := 1; goto CFG_47980; CFG_47980: assume true; call local_#24760 := routine_#33822_luaL_checknumber(local_#6089_L,local_#24759); goto CFG_44100; CFG_44100: assume true; local_#32549_x := local_#24760; local_#24761 := 2; goto CFG_47981; CFG_47981: assume true; call local_#24762 := routine_#33820_luaL_checkinteger(local_#6089_L,local_#24761); goto CFG_44101; CFG_44101: assume true; local_#24763 := local_#24762; assert { :LIR "61758" } { :check "overflow" } { :finding_ids "0" } local_#24763 <= 2147483647; local_#32548_ep := local_#24763; goto CFG_47982; CFG_47982: assume true; call local_#24764 := routine_#33676_ldexp(local_#32549_x,local_#32548_ep); goto CFG_47983; CFG_47983: assume true; call routine_#33964_lua_pushnumber(local_#6089_L,local_#24764); goto CFG_38833; CFG_38833: assume true; local_#8178 := 1; goto CFG_37829; CFG_37829: assume true; } procedure routine_#34931_math_log(local_#6090_L_IN : { base : int, offset : int }) returns (local_#8179 : int) modifies _memory, _memory_ptr, _valid; { var local_#6090_L : { base : int, offset : int }; var local_#24765 : int; var local_#24766 : int; var local_#32551_x : int; var local_#24767 : int; var local_#24768 : int; var local_#24769 : int; var local_#24770 : int; var local_#24771 : int; var local_#24772 : int; var local_#32552_base : int; var nondet_#0 : int; var local_#24773 : int; var nondet_#1 : bool; var local_#24774 : int; var nondet_#2 : int; var local_#24775 : int; var nondet_#3 : bool; var local_#24776 : int; var local_#24777 : int; var local_#24778 : int; var nondet_#4 : int; var local_#24779 : int; var local_#32550_res : int; var local_#24780 : int; var local_#24781 : int; var local_#24782 : int; local_#6090_L := local_#6090_L_IN; goto CFG_36919; CFG_36919: assume true; goto CFG_44102; CFG_44102: assume true; local_#24765 := 1; goto CFG_47984; CFG_47984: assume true; call local_#24766 := routine_#33822_luaL_checknumber(local_#6090_L,local_#24765); goto CFG_44103; CFG_44103: assume true; local_#32551_x := local_#24766; local_#24767 := 2; goto CFG_47985; CFG_47985: assume true; call local_#24768 := routine_#34000_lua_type(local_#6090_L,local_#24767); goto CFG_50856; CFG_50856: assume true; local_#24769 := 0; local_#24770 := (if local_#24768 <= local_#24769 then 1 else 0); if (local_#24770 != 0) { goto CFG_47991; } else { goto CFG_44104; } CFG_44104: assume true; local_#24771 := 2; goto CFG_47986; CFG_47986: assume true; call local_#24772 := routine_#33822_luaL_checknumber(local_#6090_L,local_#24771); goto CFG_50857; CFG_50857: assume true; local_#32552_base := local_#24772; havoc nondet_#0; local_#24773 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78626 */; havoc nondet_#1; local_#24774 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65287. */ then 1 else 0); if (local_#24774 != 0) { goto CFG_47990; } else { goto CFG_50858; } CFG_50858: assume true; havoc nondet_#2; local_#24775 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78627 */; havoc nondet_#3; local_#24776 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65288. */ then 1 else 0); if (local_#24776 != 0) { goto CFG_47989; } else { goto CFG_47987; } CFG_47987: assume true; call local_#24777 := routine_#33696_log(local_#32551_x); goto CFG_47988; CFG_47988: assume true; call local_#24778 := routine_#33696_log(local_#32552_base); goto CFG_41126; CFG_41126: assume true; havoc nondet_#4; local_#24779 := nondet_#4 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68649. */; assert { :LIR "68649" } { :check "overflow" } { :finding_ids "0" } true; local_#32550_res := local_#24779; goto CFG_41128; CFG_47989: assume true; call local_#24780 := routine_#33697_log10(local_#32551_x); goto CFG_41127; CFG_41127: assume true; local_#32550_res := local_#24780; goto CFG_41128; CFG_41128: assume true; goto CFG_41130; CFG_47990: assume true; call local_#24781 := routine_#33703_log2(local_#32551_x); goto CFG_41129; CFG_41129: assume true; local_#32550_res := local_#24781; goto CFG_41130; CFG_41130: assume true; goto CFG_47992; CFG_47991: assume true; call local_#24782 := routine_#33696_log(local_#32551_x); goto CFG_41131; CFG_41131: assume true; local_#32550_res := local_#24782; goto CFG_47992; CFG_47992: assume true; call routine_#33964_lua_pushnumber(local_#6090_L,local_#32550_res); goto CFG_38834; CFG_38834: assume true; local_#8179 := 1; goto CFG_37830; CFG_37830: assume true; } procedure routine_#34932_math_log10(local_#6091_L_IN : { base : int, offset : int }) returns (local_#8180 : int) modifies _memory, _memory_ptr, _valid; { var local_#6091_L : { base : int, offset : int }; var local_#24783 : int; var local_#24784 : int; var local_#24785 : int; local_#6091_L := local_#6091_L_IN; goto CFG_36920; CFG_36920: assume true; goto CFG_44105; CFG_44105: assume true; local_#24783 := 1; goto CFG_47993; CFG_47993: assume true; call local_#24784 := routine_#33822_luaL_checknumber(local_#6091_L,local_#24783); goto CFG_47994; CFG_47994: assume true; call local_#24785 := routine_#33697_log10(local_#24784); goto CFG_47995; CFG_47995: assume true; call routine_#33964_lua_pushnumber(local_#6091_L,local_#24785); goto CFG_38835; CFG_38835: assume true; local_#8180 := 1; goto CFG_37831; CFG_37831: assume true; } procedure routine_#34933_math_max(local_#6092_L_IN : { base : int, offset : int }) returns (local_#8181 : int) modifies _memory, _memory_ptr, _valid; { var local_#6092_L : { base : int, offset : int }; var local_#24786 : int; var local_#32555_n : int; var local_#32554_imax : int; var local_#24787 : int; var local_#24788 : int; var local_#24789 : int; var local_#24790 : { base : int, offset : int }; var local_#24791 : { base : int, offset : int }; var local_#24792 : int; var local_#24793 : int; var local_#30821 : int; var local_#24794 : int; var local_#32553_i : int; var local_#24795 : int; var local_#24796 : int; var local_#24797 : int; var local_#24798 : int; var local_#24799 : int; var local_#24800 : int; var local_#24801 : int; local_#6092_L := local_#6092_L_IN; goto CFG_36921; CFG_36921: assume true; goto CFG_47996; CFG_47996: assume true; call local_#24786 := routine_#33941_lua_gettop(local_#6092_L); goto CFG_50859; CFG_50859: assume true; local_#32555_n := local_#24786; local_#32554_imax := 1; local_#24787 := 1; local_#24788 := (if local_#32555_n >= local_#24787 then 1 else 0); if (local_#24788 != 0) { goto CFG_41133; } else { goto CFG_44106; } CFG_44106: assume true; local_#24789 := 1; assume _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 0 }] == 118 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 1 }] == 97 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 2 }] == 108 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 3 }] == 117 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 4 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 5 }] == 32 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 6 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 7 }] == 120 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 8 }] == 112 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 9 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 10 }] == 99 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 11 }] == 116 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 12 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 13 }] == 100 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 14 }] == 0; local_#24790 := strlit_#70311; local_#24791 := { base : local_#24790!base, offset : local_#24790!offset + 0 * 1 }; assert { :LIR "63613" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_47997; CFG_47997: assume true; call local_#24792 := routine_#33815_luaL_argerror(local_#6092_L,local_#24789,local_#24791); goto CFG_50860; CFG_50860: assume true; local_#24793 := local_#24792; if (local_#24793 != 0) { goto CFG_41133; } else { goto CFG_41132; } CFG_41132: assume true; local_#30821 := 0; goto CFG_41783; CFG_41133: assume true; local_#30821 := 1; goto CFG_41783; CFG_41783: assume true; local_#24794 := 0; assert { :LIR "61759" } { :check "overflow" } { :finding_ids "0" } true; local_#32553_i := 2; goto CFG_50861; CFG_50861: assume true; local_#24795 := (if local_#32553_i <= local_#32555_n then 1 else 0); if (local_#24795 != 0) { goto CFG_44107; } else { goto CFG_47998; } CFG_47998: assume true; call routine_#33967_lua_pushvalue(local_#6092_L,local_#32554_imax); goto CFG_38836; CFG_38836: assume true; local_#8181 := 1; goto CFG_37832; CFG_44107: assume true; local_#24796 := 1; goto CFG_47999; CFG_47999: assume true; call local_#24797 := routine_#33922_lua_compare(local_#6092_L,local_#32554_imax,local_#32553_i,local_#24796); goto CFG_50862; CFG_50862: assume true; local_#24798 := local_#24797; if (local_#24798 != 0) { goto CFG_41134; } else { goto CFG_45124; } CFG_41134: assume true; local_#32554_imax := local_#32553_i; goto CFG_45124; CFG_45124: assume true; local_#24799 := local_#32553_i; local_#24800 := 1; local_#32553_i := local_#24799 + local_#24800; assert { :LIR "66717" } { :check "overflow" } { :finding_ids "0" } local_#32553_i <= 2147483647; local_#24801 := local_#24799; goto CFG_50861; CFG_37832: assume true; } procedure routine_#34934_math_min(local_#6093_L_IN : { base : int, offset : int }) returns (local_#8182 : int) modifies _memory, _memory_ptr, _valid; { var local_#6093_L : { base : int, offset : int }; var local_#24802 : int; var local_#32558_n : int; var local_#32557_imin : int; var local_#24803 : int; var local_#24804 : int; var local_#24805 : int; var local_#24806 : { base : int, offset : int }; var local_#24807 : { base : int, offset : int }; var local_#24808 : int; var local_#24809 : int; var local_#30822 : int; var local_#24810 : int; var local_#32556_i : int; var local_#24811 : int; var local_#24812 : int; var local_#24813 : int; var local_#24814 : int; var local_#24815 : int; var local_#24816 : int; var local_#24817 : int; local_#6093_L := local_#6093_L_IN; goto CFG_36922; CFG_36922: assume true; goto CFG_48000; CFG_48000: assume true; call local_#24802 := routine_#33941_lua_gettop(local_#6093_L); goto CFG_50863; CFG_50863: assume true; local_#32558_n := local_#24802; local_#32557_imin := 1; local_#24803 := 1; local_#24804 := (if local_#32558_n >= local_#24803 then 1 else 0); if (local_#24804 != 0) { goto CFG_41136; } else { goto CFG_44108; } CFG_44108: assume true; local_#24805 := 1; assume _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 0 }] == 118 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 1 }] == 97 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 2 }] == 108 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 3 }] == 117 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 4 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 5 }] == 32 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 6 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 7 }] == 120 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 8 }] == 112 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 9 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 10 }] == 99 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 11 }] == 116 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 12 }] == 101 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 13 }] == 100 && _memory[{ base : strlit_#70311!base, offset : strlit_#70311!offset + 14 }] == 0; local_#24806 := strlit_#70311; local_#24807 := { base : local_#24806!base, offset : local_#24806!offset + 0 * 1 }; assert { :LIR "63614" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48001; CFG_48001: assume true; call local_#24808 := routine_#33815_luaL_argerror(local_#6093_L,local_#24805,local_#24807); goto CFG_50864; CFG_50864: assume true; local_#24809 := local_#24808; if (local_#24809 != 0) { goto CFG_41136; } else { goto CFG_41135; } CFG_41135: assume true; local_#30822 := 0; goto CFG_41784; CFG_41136: assume true; local_#30822 := 1; goto CFG_41784; CFG_41784: assume true; local_#24810 := 0; assert { :LIR "61760" } { :check "overflow" } { :finding_ids "0" } true; local_#32556_i := 2; goto CFG_50865; CFG_50865: assume true; local_#24811 := (if local_#32556_i <= local_#32558_n then 1 else 0); if (local_#24811 != 0) { goto CFG_44109; } else { goto CFG_48002; } CFG_48002: assume true; call routine_#33967_lua_pushvalue(local_#6093_L,local_#32557_imin); goto CFG_38837; CFG_38837: assume true; local_#8182 := 1; goto CFG_37833; CFG_44109: assume true; local_#24812 := 1; goto CFG_48003; CFG_48003: assume true; call local_#24813 := routine_#33922_lua_compare(local_#6093_L,local_#32556_i,local_#32557_imin,local_#24812); goto CFG_50866; CFG_50866: assume true; local_#24814 := local_#24813; if (local_#24814 != 0) { goto CFG_41137; } else { goto CFG_45125; } CFG_41137: assume true; local_#32557_imin := local_#32556_i; goto CFG_45125; CFG_45125: assume true; local_#24815 := local_#32556_i; local_#24816 := 1; local_#32556_i := local_#24815 + local_#24816; assert { :LIR "66718" } { :check "overflow" } { :finding_ids "0" } local_#32556_i <= 2147483647; local_#24817 := local_#24815; goto CFG_50865; CFG_37833: assume true; } procedure routine_#34935_math_modf(local_#6094_L_IN : { base : int, offset : int }) returns (local_#8183 : int) modifies _memory, _memory_ptr, _valid; { var local_#6094_L : { base : int, offset : int }; var local_#24818 : int; var local_#24819 : int; var local_#24820 : int; var local_#24821 : int; var local_#24822 : int; var local_#32560_n : int; var nondet_#0 : int; var local_#24823 : int; var nondet_#1 : bool; var local_#24824 : int; var local_#24825 : int; var local_#30823 : int; var local_#24826 : int; var local_#32559_ip : int; var nondet_#2 : bool; var local_#24827 : int; var nondet_#3 : int; var local_#24828 : int; var local_#30824 : int; var nondet_#4 : int; var local_#24829 : int; var nondet_#5 : int; var local_#24830 : int; local_#6094_L := local_#6094_L_IN; goto CFG_36923; CFG_36923: assume true; goto CFG_44110; CFG_44110: assume true; local_#24818 := 1; goto CFG_48004; CFG_48004: assume true; call local_#24819 := routine_#33945_lua_isinteger(local_#6094_L,local_#24818); goto CFG_50867; CFG_50867: assume true; local_#24820 := local_#24819; if (local_#24820 != 0) { goto CFG_44113; } else { goto CFG_44111; } CFG_44111: assume true; local_#24821 := 1; goto CFG_48005; CFG_48005: assume true; call local_#24822 := routine_#33822_luaL_checknumber(local_#6094_L,local_#24821); goto CFG_50868; CFG_50868: assume true; local_#32560_n := local_#24822; havoc nondet_#0; local_#24823 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78628 */; havoc nondet_#1; local_#24824 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66281. */ then 1 else 0); if (local_#24824 != 0) { goto CFG_48007; } else { goto CFG_48006; } CFG_48006: assume true; call local_#24825 := routine_#33562_floor(local_#32560_n); goto CFG_41138; CFG_41138: assume true; local_#30823 := local_#24825; goto CFG_44112; CFG_48007: assume true; call local_#24826 := routine_#33480_ceil(local_#32560_n); goto CFG_41139; CFG_41139: assume true; local_#30823 := local_#24826; goto CFG_44112; CFG_44112: assume true; local_#32559_ip := local_#30823; goto CFG_48008; CFG_48008: assume true; call routine_#35008_pushnumint(local_#6094_L,local_#32559_ip); goto CFG_50869; CFG_50869: assume true; havoc nondet_#2; local_#24827 := (if nondet_#2 /* IR2BOOGIE-ERROR: Unsupported type for relation == in 65289. */ then 1 else 0); if (local_#24827 != 0) { goto CFG_41141; } else { goto CFG_41140; } CFG_41140: assume true; havoc nondet_#3; local_#24828 := nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for binary - in 68111. */; assert { :LIR "68111" } { :check "overflow" } { :finding_ids "0" } true; local_#30824 := local_#24828; goto CFG_48009; CFG_41141: assume true; havoc nondet_#4; local_#30824 := nondet_#4 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78629 */; goto CFG_48009; CFG_48009: assume true; call routine_#33964_lua_pushnumber(local_#6094_L,local_#30824); goto CFG_41142; CFG_41142: assume true; goto CFG_38838; CFG_44113: assume true; local_#24829 := 1; goto CFG_48010; CFG_48010: assume true; call routine_#33987_lua_settop(local_#6094_L,local_#24829); goto CFG_44114; CFG_44114: assume true; havoc nondet_#5; local_#24830 := nondet_#5 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78630 */; goto CFG_48011; CFG_48011: assume true; call routine_#33964_lua_pushnumber(local_#6094_L,local_#24830); goto CFG_41143; CFG_41143: assume true; goto CFG_38838; CFG_38838: assume true; local_#8183 := 2; goto CFG_37834; CFG_37834: assume true; } procedure routine_#34936_math_pow(local_#6095_L_IN : { base : int, offset : int }) returns (local_#8184 : int) modifies _memory, _memory_ptr, _valid; { var local_#6095_L : { base : int, offset : int }; var local_#24831 : int; var local_#24832 : int; var local_#32561_x : int; var local_#24833 : int; var local_#24834 : int; var local_#32562_y : int; var local_#24835 : int; local_#6095_L := local_#6095_L_IN; goto CFG_36924; CFG_36924: assume true; goto CFG_44115; CFG_44115: assume true; local_#24831 := 1; goto CFG_48012; CFG_48012: assume true; call local_#24832 := routine_#33822_luaL_checknumber(local_#6095_L,local_#24831); goto CFG_44116; CFG_44116: assume true; local_#32561_x := local_#24832; local_#24833 := 2; goto CFG_48013; CFG_48013: assume true; call local_#24834 := routine_#33822_luaL_checknumber(local_#6095_L,local_#24833); goto CFG_44117; CFG_44117: assume true; local_#32562_y := local_#24834; goto CFG_48014; CFG_48014: assume true; call local_#24835 := routine_#34060_pow(local_#32561_x,local_#32562_y); goto CFG_48015; CFG_48015: assume true; call routine_#33964_lua_pushnumber(local_#6095_L,local_#24835); goto CFG_38839; CFG_38839: assume true; local_#8184 := 1; goto CFG_37835; CFG_37835: assume true; } procedure routine_#34937_math_rad(local_#6096_L_IN : { base : int, offset : int }) returns (local_#8185 : int) modifies _memory, _memory_ptr, _valid; { var local_#6096_L : { base : int, offset : int }; var local_#24836 : int; var local_#24837 : int; var nondet_#0 : int; var local_#24838 : int; var nondet_#1 : int; var local_#24839 : int; local_#6096_L := local_#6096_L_IN; goto CFG_36925; CFG_36925: assume true; goto CFG_44118; CFG_44118: assume true; local_#24836 := 1; goto CFG_48016; CFG_48016: assume true; call local_#24837 := routine_#33822_luaL_checknumber(local_#6096_L,local_#24836); goto CFG_44119; CFG_44119: assume true; havoc nondet_#0; local_#24838 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78631 */; havoc nondet_#1; local_#24839 := nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68585. */; assert { :LIR "68585" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48017; CFG_48017: assume true; call routine_#33964_lua_pushnumber(local_#6096_L,local_#24839); goto CFG_38840; CFG_38840: assume true; local_#8185 := 1; goto CFG_37836; CFG_37836: assume true; } procedure routine_#34938_math_random(local_#6097_L_IN : { base : int, offset : int }) returns (local_#8186 : int) modifies _memory, _memory_ptr, _valid; { var local_#6097_L : { base : int, offset : int }; var local_#24840 : int; var nondet_#0 : int; var local_#24841 : int; var nondet_#1 : int; var local_#24842 : int; var nondet_#2 : int; var local_#24843 : int; var local_#32564_r : int; var local_#24844 : int; var local_#24845 : int; var local_#24846 : { base : int, offset : int }; var local_#24847 : { base : int, offset : int }; var local_#24848 : int; var local_#24849 : int; var local_#24850 : int; var local_#32563_low : int; var local_#24851 : int; var local_#24852 : int; var local_#32565_up : int; var local_#24853 : int; var local_#24854 : int; var local_#24855 : int; var local_#24856 : int; var local_#24857 : { base : int, offset : int }; var local_#24858 : { base : int, offset : int }; var local_#24859 : int; var local_#24860 : int; var local_#30825 : int; var local_#24861 : int; var local_#24862 : int; var local_#24863 : int; var local_#24864 : int; var local_#24865 : int; var local_#24866 : int; var local_#24867 : int; var local_#24868 : { base : int, offset : int }; var local_#24869 : { base : int, offset : int }; var local_#24870 : int; var local_#24871 : int; var local_#30826 : int; var local_#24872 : int; var local_#24873 : int; var nondet_#3 : int; var local_#24874 : int; var nondet_#4 : int; var local_#24875 : int; var nondet_#5 : int; var local_#24876 : int; var nondet_#6 : int; var local_#24877 : int; var nondet_#7 : int; var local_#24878 : int; var nondet_#8 : int; var local_#24879 : int; local_#6097_L := local_#6097_L_IN; goto CFG_36926; CFG_36926: assume true; goto CFG_48018; CFG_48018: assume true; call local_#24840 := routine_#34081_random(); goto CFG_44120; CFG_44120: assume true; havoc nondet_#0; local_#24841 := nondet_#0 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61761 */; assert { :LIR "61761" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#1; local_#24842 := nondet_#1 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78632 */; havoc nondet_#2; local_#24843 := nondet_#2 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68586. */; assert { :LIR "68586" } { :check "overflow" } { :finding_ids "0" } true; local_#32564_r := local_#24843; goto CFG_48019; CFG_48019: assume true; call local_#24844 := routine_#33941_lua_gettop(local_#6097_L); goto CFG_51558; CFG_51558: assume true; local_#24845 := local_#24844; if (local_#24845 == 0) { goto CFG_44128; } if (local_#24845 == 1) { goto CFG_44124; } if (local_#24845 == 2) { goto CFG_44122; } goto CFG_44121; CFG_44121: assume true; assume _memory[{ base : strlit_#70703!base, offset : strlit_#70703!offset + 25 }] == 0; local_#24846 := strlit_#70703; local_#24847 := { base : local_#24846!base, offset : local_#24846!offset + 0 * 1 }; assert { :LIR "63615" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48020; CFG_48020: assume true; call local_#24848 := routine_#33828_luaL_error(local_#6097_L,local_#24847,{ base : 0, offset : 0 }); goto CFG_38841; CFG_38841: assume true; local_#8186 := local_#24848; goto CFG_37837; CFG_44122: assume true; local_#24849 := 1; goto CFG_48021; CFG_48021: assume true; call local_#24850 := routine_#33820_luaL_checkinteger(local_#6097_L,local_#24849); goto CFG_44123; CFG_44123: assume true; local_#32563_low := local_#24850; local_#24851 := 2; goto CFG_48022; CFG_48022: assume true; call local_#24852 := routine_#33820_luaL_checkinteger(local_#6097_L,local_#24851); goto CFG_39687; CFG_39687: assume true; local_#32565_up := local_#24852; goto CFG_50870; CFG_44124: assume true; local_#32563_low := 1; local_#24853 := 1; goto CFG_48023; CFG_48023: assume true; call local_#24854 := routine_#33820_luaL_checkinteger(local_#6097_L,local_#24853); goto CFG_39688; CFG_39688: assume true; local_#32565_up := local_#24854; goto CFG_50870; CFG_50870: assume true; local_#24855 := (if local_#32563_low <= local_#32565_up then 1 else 0); if (local_#24855 != 0) { goto CFG_41145; } else { goto CFG_44125; } CFG_44125: assume true; local_#24856 := 1; assume _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 0 }] == 105 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 1 }] == 110 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 2 }] == 116 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 3 }] == 101 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 4 }] == 114 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 5 }] == 118 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 6 }] == 97 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 7 }] == 108 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 8 }] == 32 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 9 }] == 105 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 10 }] == 115 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 11 }] == 32 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 12 }] == 101 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 13 }] == 109 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 14 }] == 112 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 15 }] == 116 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 16 }] == 121 && _memory[{ base : strlit_#70704!base, offset : strlit_#70704!offset + 17 }] == 0; local_#24857 := strlit_#70704; local_#24858 := { base : local_#24857!base, offset : local_#24857!offset + 0 * 1 }; assert { :LIR "63616" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48024; CFG_48024: assume true; call local_#24859 := routine_#33815_luaL_argerror(local_#6097_L,local_#24856,local_#24858); goto CFG_50871; CFG_50871: assume true; local_#24860 := local_#24859; if (local_#24860 != 0) { goto CFG_41145; } else { goto CFG_41144; } CFG_41144: assume true; local_#30825 := 0; goto CFG_50872; CFG_41145: assume true; local_#30825 := 1; goto CFG_50872; CFG_50872: assume true; local_#24861 := 0; assert { :LIR "61762" } { :check "overflow" } { :finding_ids "0" } true; local_#24862 := 0; local_#24863 := (if local_#32563_low >= local_#24862 then 1 else 0); if (local_#24863 != 0) { goto CFG_41147; } else { goto CFG_50873; } CFG_50873: assume true; local_#24864 := 9223372036854775807; local_#24865 := local_#24864 + local_#32563_low; assert { :LIR "66719" } { :check "overflow" } { :finding_ids "0" } local_#24865 <= 9223372036854775807; local_#24866 := (if local_#32565_up <= local_#24865 then 1 else 0); if (local_#24866 != 0) { goto CFG_41147; } else { goto CFG_44126; } CFG_44126: assume true; local_#24867 := 1; assume _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 0 }] == 105 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 1 }] == 110 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 2 }] == 116 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 3 }] == 101 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 4 }] == 114 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 5 }] == 118 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 6 }] == 97 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 7 }] == 108 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 8 }] == 32 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 9 }] == 116 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 10 }] == 111 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 11 }] == 111 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 12 }] == 32 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 13 }] == 108 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 14 }] == 97 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 15 }] == 114 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 16 }] == 103 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 17 }] == 101 && _memory[{ base : strlit_#70705!base, offset : strlit_#70705!offset + 18 }] == 0; local_#24868 := strlit_#70705; local_#24869 := { base : local_#24868!base, offset : local_#24868!offset + 0 * 1 }; assert { :LIR "63617" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48025; CFG_48025: assume true; call local_#24870 := routine_#33815_luaL_argerror(local_#6097_L,local_#24867,local_#24869); goto CFG_50874; CFG_50874: assume true; local_#24871 := local_#24870; if (local_#24871 != 0) { goto CFG_41147; } else { goto CFG_41146; } CFG_41146: assume true; local_#30826 := 0; goto CFG_44127; CFG_41147: assume true; local_#30826 := 1; goto CFG_44127; CFG_44127: assume true; local_#24872 := 0; assert { :LIR "61763" } { :check "overflow" } { :finding_ids "0" } true; local_#24873 := local_#32565_up - local_#32563_low; assert { :LIR "68112" } { :check "overflow" } { :finding_ids "0" } local_#24873 <= 9223372036854775807; havoc nondet_#3; local_#24874 := nondet_#3 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61764 */; assert { :LIR "61764" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#4; local_#24875 := nondet_#4 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78633 */; havoc nondet_#5; local_#24876 := nondet_#5 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66720. */; assert { :LIR "66720" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#6; local_#32564_r := nondet_#6 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68587. */; assert { :LIR "68587" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#7; local_#24877 := nondet_#7 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61765 */; assert { :LIR "61765" } { :check "overflow" } { :finding_ids "0" } local_#24877 <= 9223372036854775807; local_#24878 := local_#24877 + local_#32563_low; assert { :LIR "66721" } { :check "overflow" } { :finding_ids "0" } local_#24878 <= 9223372036854775807; goto CFG_48026; CFG_48026: assume true; call routine_#33960_lua_pushinteger(local_#6097_L,local_#24878); goto CFG_38842; CFG_38842: assume true; local_#8186 := 1; goto CFG_37837; CFG_44128: assume true; havoc nondet_#8; local_#24879 := nondet_#8 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61766 */; assert { :LIR "61766" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48027; CFG_48027: assume true; call routine_#33964_lua_pushnumber(local_#6097_L,local_#24879); goto CFG_38843; CFG_38843: assume true; local_#8186 := 1; goto CFG_37837; CFG_41952: assume true; goto CFG_50870; CFG_37837: assume true; } procedure routine_#34939_math_randomseed(local_#6098_L_IN : { base : int, offset : int }) returns (local_#8187 : int) modifies _memory, _memory_ptr, _valid; { var local_#6098_L : { base : int, offset : int }; var local_#24880 : int; var local_#24881 : int; var local_#24882 : int; var nondet_#0 : int; var local_#24883 : int; var local_#24884 : int; var local_#24885 : int; local_#6098_L := local_#6098_L_IN; goto CFG_36927; CFG_36927: assume true; goto CFG_44129; CFG_44129: assume true; local_#24880 := 1; goto CFG_48028; CFG_48028: assume true; call local_#24881 := routine_#33822_luaL_checknumber(local_#6098_L,local_#24880); goto CFG_44130; CFG_44130: assume true; havoc nondet_#0; local_#24882 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61767 */; assert { :LIR "61767" } { :check "overflow" } { :finding_ids "0" } local_#24882 <= 9223372036854775807; local_#24883 := ~uwrap32(local_#24882); assert { :LIR "61768" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48029; CFG_48029: assume true; call routine_#34441_srandom(local_#24883); goto CFG_48030; CFG_48030: assume true; call local_#24884 := routine_#34081_random(); goto CFG_38844; CFG_38844: assume true; local_#24885 := 0; assert { :LIR "61769" } { :check "overflow" } { :finding_ids "0" } true; local_#8187 := 0; goto CFG_37838; CFG_37838: assume true; } procedure routine_#34940_math_sin(local_#6099_L_IN : { base : int, offset : int }) returns (local_#8188 : int) modifies _memory, _memory_ptr, _valid; { var local_#6099_L : { base : int, offset : int }; var local_#24886 : int; var local_#24887 : int; var local_#24888 : int; local_#6099_L := local_#6099_L_IN; goto CFG_36928; CFG_36928: assume true; goto CFG_44131; CFG_44131: assume true; local_#24886 := 1; goto CFG_48031; CFG_48031: assume true; call local_#24887 := routine_#33822_luaL_checknumber(local_#6099_L,local_#24886); goto CFG_48032; CFG_48032: assume true; call local_#24888 := routine_#34427_sin(local_#24887); goto CFG_48033; CFG_48033: assume true; call routine_#33964_lua_pushnumber(local_#6099_L,local_#24888); goto CFG_38845; CFG_38845: assume true; local_#8188 := 1; goto CFG_37839; CFG_37839: assume true; } procedure routine_#34941_math_sinh(local_#6100_L_IN : { base : int, offset : int }) returns (local_#8189 : int) modifies _memory, _memory_ptr, _valid; { var local_#6100_L : { base : int, offset : int }; var local_#24889 : int; var local_#24890 : int; var local_#24891 : int; local_#6100_L := local_#6100_L_IN; goto CFG_36929; CFG_36929: assume true; goto CFG_44132; CFG_44132: assume true; local_#24889 := 1; goto CFG_48034; CFG_48034: assume true; call local_#24890 := routine_#33822_luaL_checknumber(local_#6100_L,local_#24889); goto CFG_48035; CFG_48035: assume true; call local_#24891 := routine_#34429_sinh(local_#24890); goto CFG_48036; CFG_48036: assume true; call routine_#33964_lua_pushnumber(local_#6100_L,local_#24891); goto CFG_38846; CFG_38846: assume true; local_#8189 := 1; goto CFG_37840; CFG_37840: assume true; } procedure routine_#34942_math_sqrt(local_#6101_L_IN : { base : int, offset : int }) returns (local_#8190 : int) modifies _memory, _memory_ptr, _valid; { var local_#6101_L : { base : int, offset : int }; var local_#24892 : int; var local_#24893 : int; var local_#24894 : int; local_#6101_L := local_#6101_L_IN; goto CFG_36930; CFG_36930: assume true; goto CFG_44133; CFG_44133: assume true; local_#24892 := 1; goto CFG_48037; CFG_48037: assume true; call local_#24893 := routine_#33822_luaL_checknumber(local_#6101_L,local_#24892); goto CFG_48038; CFG_48038: assume true; call local_#24894 := routine_#34436_sqrt(local_#24893); goto CFG_48039; CFG_48039: assume true; call routine_#33964_lua_pushnumber(local_#6101_L,local_#24894); goto CFG_38847; CFG_38847: assume true; local_#8190 := 1; goto CFG_37841; CFG_37841: assume true; } procedure routine_#34943_math_tan(local_#6102_L_IN : { base : int, offset : int }) returns (local_#8191 : int) modifies _memory, _memory_ptr, _valid; { var local_#6102_L : { base : int, offset : int }; var local_#24895 : int; var local_#24896 : int; var local_#24897 : int; local_#6102_L := local_#6102_L_IN; goto CFG_36931; CFG_36931: assume true; goto CFG_44134; CFG_44134: assume true; local_#24895 := 1; goto CFG_48040; CFG_48040: assume true; call local_#24896 := routine_#33822_luaL_checknumber(local_#6102_L,local_#24895); goto CFG_48041; CFG_48041: assume true; call local_#24897 := routine_#34478_tan(local_#24896); goto CFG_48042; CFG_48042: assume true; call routine_#33964_lua_pushnumber(local_#6102_L,local_#24897); goto CFG_38848; CFG_38848: assume true; local_#8191 := 1; goto CFG_37842; CFG_37842: assume true; } procedure routine_#34944_math_tanh(local_#6103_L_IN : { base : int, offset : int }) returns (local_#8192 : int) modifies _memory, _memory_ptr, _valid; { var local_#6103_L : { base : int, offset : int }; var local_#24898 : int; var local_#24899 : int; var local_#24900 : int; local_#6103_L := local_#6103_L_IN; goto CFG_36932; CFG_36932: assume true; goto CFG_44135; CFG_44135: assume true; local_#24898 := 1; goto CFG_48043; CFG_48043: assume true; call local_#24899 := routine_#33822_luaL_checknumber(local_#6103_L,local_#24898); goto CFG_48044; CFG_48044: assume true; call local_#24900 := routine_#34480_tanh(local_#24899); goto CFG_48045; CFG_48045: assume true; call routine_#33964_lua_pushnumber(local_#6103_L,local_#24900); goto CFG_38849; CFG_38849: assume true; local_#8192 := 1; goto CFG_37843; CFG_37843: assume true; } procedure routine_#34945_math_toint(local_#6104_L_IN : { base : int, offset : int }) returns (local_#8193 : int) modifies _memory, _memory_ptr, _valid; { var local_#6104_L : { base : int, offset : int }; var local_#24901 : int; var local_#32567_valid : { base : int, offset : int }; var local_#24902 : { base : int, offset : int }; var local_#24903 : int; var local_#32566_n : int; var local_#24904 : int; var local_#24905 : int; local_#6104_L := local_#6104_L_IN; goto CFG_36933; CFG_36933: assume true; goto CFG_44136; CFG_44136: assume true; local_#24901 := 1; local_#24902 := local_#32567_valid; goto CFG_48046; CFG_48046: assume true; call local_#24903 := routine_#33994_lua_tointegerx(local_#6104_L,local_#24901,local_#24902); goto CFG_50875; CFG_50875: assume true; local_#32566_n := local_#24903; local_#24904 := _memory[local_#32567_valid]; if (local_#24904 != 0) { goto CFG_48049; } else { goto CFG_44137; } CFG_44137: assume true; local_#24905 := 1; goto CFG_48047; CFG_48047: assume true; call routine_#33819_luaL_checkany(local_#6104_L,local_#24905); goto CFG_48048; CFG_48048: assume true; call routine_#33963_lua_pushnil(local_#6104_L); goto CFG_41148; CFG_41148: assume true; goto CFG_38850; CFG_48049: assume true; call routine_#33960_lua_pushinteger(local_#6104_L,local_#32566_n); goto CFG_41149; CFG_41149: assume true; goto CFG_38850; CFG_38850: assume true; local_#8193 := 1; goto CFG_37844; CFG_37844: assume true; } procedure routine_#34946_math_type(local_#6105_L_IN : { base : int, offset : int }) returns (local_#8194 : int) modifies _memory, _memory_ptr, _valid; { var local_#6105_L : { base : int, offset : int }; var local_#24906 : int; var local_#24907 : int; var local_#24908 : int; var local_#24909 : int; var local_#24910 : int; var local_#24911 : int; var local_#24912 : int; var local_#24913 : int; var local_#24914 : { base : int, offset : int }; var local_#24915 : { base : int, offset : int }; var local_#24916 : { base : int, offset : int }; var local_#24917 : { base : int, offset : int }; var local_#24918 : { base : int, offset : int }; var local_#24919 : { base : int, offset : int }; local_#6105_L := local_#6105_L_IN; goto CFG_36934; CFG_36934: assume true; goto CFG_44138; CFG_44138: assume true; local_#24906 := 1; goto CFG_48050; CFG_48050: assume true; call local_#24907 := routine_#34000_lua_type(local_#6105_L,local_#24906); goto CFG_50876; CFG_50876: assume true; local_#24908 := 3; local_#24909 := (if local_#24907 == local_#24908 then 1 else 0); if (local_#24909 != 0) { goto CFG_44140; } else { goto CFG_44139; } CFG_44139: assume true; local_#24910 := 1; goto CFG_48051; CFG_48051: assume true; call routine_#33819_luaL_checkany(local_#6105_L,local_#24910); goto CFG_48052; CFG_48052: assume true; call routine_#33963_lua_pushnil(local_#6105_L); goto CFG_41150; CFG_41150: assume true; goto CFG_38851; CFG_44140: assume true; local_#24911 := 1; goto CFG_48053; CFG_48053: assume true; call local_#24912 := routine_#33945_lua_isinteger(local_#6105_L,local_#24911); goto CFG_50877; CFG_50877: assume true; local_#24913 := local_#24912; if (local_#24913 != 0) { goto CFG_44142; } else { goto CFG_44141; } CFG_44141: assume true; assume _memory[{ base : strlit_#70706!base, offset : strlit_#70706!offset + 0 }] == 102 && _memory[{ base : strlit_#70706!base, offset : strlit_#70706!offset + 1 }] == 108 && _memory[{ base : strlit_#70706!base, offset : strlit_#70706!offset + 2 }] == 111 && _memory[{ base : strlit_#70706!base, offset : strlit_#70706!offset + 3 }] == 97 && _memory[{ base : strlit_#70706!base, offset : strlit_#70706!offset + 4 }] == 116 && _memory[{ base : strlit_#70706!base, offset : strlit_#70706!offset + 5 }] == 0; local_#24914 := strlit_#70706; local_#24915 := { base : local_#24914!base, offset : local_#24914!offset + 0 * 1 }; assert { :LIR "63618" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48054; CFG_48054: assume true; call local_#24916 := routine_#33965_lua_pushstring(local_#6105_L,local_#24915); goto CFG_41151; CFG_41151: assume true; goto CFG_41153; CFG_44142: assume true; assume _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 0 }] == 105 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 1 }] == 110 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 2 }] == 116 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 3 }] == 101 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 4 }] == 103 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 5 }] == 101 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 6 }] == 114 && _memory[{ base : strlit_#70707!base, offset : strlit_#70707!offset + 7 }] == 0; local_#24917 := strlit_#70707; local_#24918 := { base : local_#24917!base, offset : local_#24917!offset + 0 * 1 }; assert { :LIR "63619" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48055; CFG_48055: assume true; call local_#24919 := routine_#33965_lua_pushstring(local_#6105_L,local_#24918); goto CFG_41152; CFG_41152: assume true; goto CFG_41153; CFG_41153: assume true; goto CFG_38851; CFG_38851: assume true; local_#8194 := 1; goto CFG_37845; CFG_37845: assume true; } procedure routine_#34947_math_ult(local_#6106_L_IN : { base : int, offset : int }) returns (local_#8195 : int) modifies _memory, _memory_ptr, _valid; { var local_#6106_L : { base : int, offset : int }; var local_#24920 : int; var local_#24921 : int; var local_#32568_a : int; var local_#24922 : int; var local_#24923 : int; var local_#32569_b : int; var local_#24924 : int; var local_#24925 : int; var local_#24926 : int; local_#6106_L := local_#6106_L_IN; goto CFG_36935; CFG_36935: assume true; goto CFG_44143; CFG_44143: assume true; local_#24920 := 1; goto CFG_48056; CFG_48056: assume true; call local_#24921 := routine_#33820_luaL_checkinteger(local_#6106_L,local_#24920); goto CFG_44144; CFG_44144: assume true; local_#32568_a := local_#24921; local_#24922 := 2; goto CFG_48057; CFG_48057: assume true; call local_#24923 := routine_#33820_luaL_checkinteger(local_#6106_L,local_#24922); goto CFG_44145; CFG_44145: assume true; local_#32569_b := local_#24923; local_#24924 := ~uwrap64(local_#32568_a); assert { :LIR "61770" } { :check "overflow" } { :finding_ids "0" } true; local_#24925 := ~uwrap64(local_#32569_b); assert { :LIR "61771" } { :check "overflow" } { :finding_ids "0" } true; local_#24926 := (if local_#24924 < local_#24925 then 1 else 0); goto CFG_48058; CFG_48058: assume true; call routine_#33957_lua_pushboolean(local_#6106_L,local_#24926); goto CFG_38852; CFG_38852: assume true; local_#8195 := 1; goto CFG_37846; CFG_37846: assume true; } procedure routine_#34948_max_expand(local_#6107_ms_IN : { base : int, offset : int }, local_#6108_s_IN : { base : int, offset : int }, local_#6109_p_IN : { base : int, offset : int }, local_#6110_ep_IN : { base : int, offset : int }) returns (local_#8196 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6107_ms : { base : int, offset : int }; var local_#6108_s : { base : int, offset : int }; var local_#6109_p : { base : int, offset : int }; var local_#6110_ep : { base : int, offset : int }; var local_#32570_i : int; var local_#24927 : { base : int, offset : int }; var local_#24928 : int; var local_#24929 : int; var local_#24930 : int; var local_#24931 : int; var local_#24932 : { base : int, offset : int }; var local_#24933 : int; var local_#24934 : { base : int, offset : int }; var local_#24935 : { base : int, offset : int }; var local_#32571_res : { base : int, offset : int }; var local_#24936 : { base : int, offset : int }; var local_#24937 : int; var local_#24938 : int; var local_#24939 : int; var local_#24940 : int; var local_#24941 : int; var local_#24942 : int; local_#6107_ms := local_#6107_ms_IN; local_#6108_s := local_#6108_s_IN; local_#6109_p := local_#6109_p_IN; local_#6110_ep := local_#6110_ep_IN; goto CFG_36936; CFG_36936: assume true; goto CFG_41785; CFG_41785: assume true; local_#32570_i := 0; goto CFG_44146; CFG_44146: assume true; local_#24927 := { base : local_#6108_s!base, offset : local_#6108_s!offset + local_#32570_i * 1 }; goto CFG_48059; CFG_48059: assume true; call local_#24928 := routine_#35067_singlematch(local_#6107_ms,local_#24927,local_#6109_p,local_#6110_ep); goto CFG_50878; CFG_50878: assume true; local_#24929 := local_#24928; if (local_#24929 != 0) { goto CFG_45127; } else { goto CFG_41786; } CFG_41786: assume true; goto CFG_50879; CFG_50879: assume true; local_#24930 := 0; local_#24931 := (if local_#32570_i >= local_#24930 then 1 else 0); if (local_#24931 != 0) { goto CFG_44147; } else { goto CFG_38853; } CFG_38853: assume true; local_#8196 := { base : 0, offset : 0 }; goto CFG_37847; CFG_44147: assume true; local_#24932 := { base : local_#6108_s!base, offset : local_#6108_s!offset + local_#32570_i * 1 }; local_#24933 := 1; local_#24934 := { base : local_#6110_ep!base, offset : local_#6110_ep!offset + local_#24933 * 1 }; goto CFG_48060; CFG_48060: assume true; call local_#24935 := routine_#34913_match(local_#6107_ms,local_#24932,local_#24934); goto CFG_50880; CFG_50880: assume true; local_#32571_res := local_#24935; local_#24936 := local_#32571_res; if (local_#24936 != { base : 0, offset : 0 }) { goto CFG_38854; } else { goto CFG_45126; } CFG_45126: assume true; local_#24937 := local_#32570_i; local_#24938 := 1; local_#32570_i := local_#24937 - local_#24938; assert { :LIR "68113" } { :check "overflow" } { :finding_ids "0" } local_#32570_i <= 9223372036854775807; local_#24939 := local_#24937; goto CFG_50879; CFG_38854: assume true; local_#8196 := local_#32571_res; goto CFG_37847; CFG_45127: assume true; local_#24940 := local_#32570_i; local_#24941 := 1; local_#32570_i := local_#24940 + local_#24941; assert { :LIR "66722" } { :check "overflow" } { :finding_ids "0" } local_#32570_i <= 9223372036854775807; local_#24942 := local_#24940; goto CFG_44146; CFG_37847: assume true; } procedure routine_#34949_min_expand(local_#6111_ms_IN : { base : int, offset : int }, local_#6112_s_IN : { base : int, offset : int }, local_#6113_p_IN : { base : int, offset : int }, local_#6114_ep_IN : { base : int, offset : int }) returns (local_#8197 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6111_ms : { base : int, offset : int }; var local_#6112_s : { base : int, offset : int }; var local_#6113_p : { base : int, offset : int }; var local_#6114_ep : { base : int, offset : int }; var local_#24943 : int; var local_#24944 : int; var local_#24945 : { base : int, offset : int }; var local_#24946 : { base : int, offset : int }; var local_#32572_res : { base : int, offset : int }; var local_#24947 : { base : int, offset : int }; var local_#24948 : int; var local_#24949 : int; var local_#24950 : int; var local_#24951 : { base : int, offset : int }; var local_#24952 : int; var local_#24953 : { base : int, offset : int }; local_#6111_ms := local_#6111_ms_IN; local_#6112_s := local_#6112_s_IN; local_#6113_p := local_#6113_p_IN; local_#6114_ep := local_#6114_ep_IN; goto CFG_36937; CFG_36937: assume true; goto CFG_41787; CFG_41787: assume true; goto CFG_50881; CFG_50881: assume true; local_#24943 := 1; if (local_#24943 != 0) { goto CFG_44148; } else { goto CFG_37848; } CFG_44148: assume true; local_#24944 := 1; local_#24945 := { base : local_#6114_ep!base, offset : local_#6114_ep!offset + local_#24944 * 1 }; goto CFG_48061; CFG_48061: assume true; call local_#24946 := routine_#34913_match(local_#6111_ms,local_#6112_s,local_#24945); goto CFG_50882; CFG_50882: assume true; local_#32572_res := local_#24946; local_#24947 := { base : 0, offset : 0 }; local_#24948 := (if local_#32572_res != local_#24947 then 1 else 0); if (local_#24948 != 0) { goto CFG_38856; } else { goto CFG_48062; } CFG_48062: assume true; call local_#24949 := routine_#35067_singlematch(local_#6111_ms,local_#6112_s,local_#6113_p,local_#6114_ep); goto CFG_50883; CFG_50883: assume true; local_#24950 := local_#24949; if (local_#24950 != 0) { goto CFG_41154; } else { goto CFG_38855; } CFG_38855: assume true; local_#8197 := { base : 0, offset : 0 }; goto CFG_37848; CFG_41154: assume true; local_#24951 := local_#6112_s; local_#24952 := 1; local_#6112_s := { base : local_#24951!base, offset : local_#24951!offset + local_#24952 * 1 }; local_#24953 := local_#24951; goto CFG_41155; CFG_41155: assume true; goto CFG_45128; CFG_45128: assume true; goto CFG_50881; CFG_38856: assume true; local_#8197 := local_#32572_res; goto CFG_37848; CFG_37848: assume true; } procedure routine_#34950_movegotosout(local_#6115_fs_IN : { base : int, offset : int }, local_#6116_bl_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6115_fs : { base : int, offset : int }; var local_#6116_bl : { base : int, offset : int }; var local_#32574_i : int; var local_#24954 : { base : int, offset : int }; var local_#24955 : { base : int, offset : int }; var local_#32573_gl : { base : int, offset : int }; var local_#24956 : int; var local_#24957 : { base : int, offset : int }; var local_#32575_gt : { base : int, offset : int }; var local_#24958 : int; var local_#24959 : int; var local_#24960 : int; var local_#24961 : int; var local_#24962 : int; var local_#24963 : int; var local_#24964 : { base : int, offset : int }; var local_#24965 : int; var local_#24966 : int; var local_#24967 : int; var local_#24968 : int; var local_#24969 : int; local_#6115_fs := local_#6115_fs_IN; local_#6116_bl := local_#6116_bl_IN; goto CFG_36938; CFG_36938: assume true; goto CFG_41788; CFG_41788: assume true; local_#32574_i := _memory[{ base : local_#6116_bl!base, offset : local_#6116_bl!offset + 12 }]; local_#24954 := _memory_ptr[{ base : local_#6115_fs!base, offset : local_#6115_fs!offset + 16 }]; local_#24955 := _memory_ptr[{ base : local_#24954!base, offset : local_#24954!offset + 88 }]; local_#32573_gl := { base : local_#24955!base, offset : local_#24955!offset + 16 }; goto CFG_50884; CFG_50884: assume true; local_#24956 := (if local_#32574_i < _memory[{ base : local_#32573_gl!base, offset : local_#32573_gl!offset + 8 }] then 1 else 0); if (local_#24956 != 0) { goto CFG_50885; } else { goto CFG_39369; } CFG_39369: assume true; goto CFG_37849; CFG_50885: assume true; local_#24957 := { base : _memory_ptr[{ base : local_#32573_gl!base, offset : local_#32573_gl!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32573_gl!base, offset : local_#32573_gl!offset + 0 }]!offset + local_#32574_i * 24 }; local_#32575_gt := local_#24957; local_#24958 := _memory[{ base : local_#32575_gt!base, offset : local_#32575_gt!offset + 16 }]; assert { :LIR "63620" } { :check "overflow" } { :finding_ids "0" } local_#24958 <= 2147483647; local_#24959 := _memory[{ base : local_#6116_bl!base, offset : local_#6116_bl!offset + 16 }]; assert { :LIR "63621" } { :check "overflow" } { :finding_ids "0" } local_#24959 <= 2147483647; local_#24960 := (if local_#24958 > local_#24959 then 1 else 0); if (local_#24960 != 0) { goto CFG_50886; } else { goto CFG_44150; } CFG_50886: assume true; local_#24961 := _memory[{ base : local_#6116_bl!base, offset : local_#6116_bl!offset + 17 }]; if (local_#24961 != 0) { goto CFG_44149; } else { goto CFG_41157; } CFG_44149: assume true; local_#24962 := _memory[{ base : local_#32575_gt!base, offset : local_#32575_gt!offset + 8 }]; local_#24963 := _memory[{ base : local_#6116_bl!base, offset : local_#6116_bl!offset + 16 }]; assert { :LIR "63622" } { :check "overflow" } { :finding_ids "0" } local_#24963 <= 2147483647; goto CFG_48063; CFG_48063: assume true; call routine_#33799_luaK_patchclose(local_#6115_fs,local_#24962,local_#24963); goto CFG_41156; CFG_41156: assume true; goto CFG_41157; CFG_41157: assume true; _memory[{ base : local_#32575_gt!base, offset : local_#32575_gt!offset + 16 }] := _memory[{ base : local_#6116_bl!base, offset : local_#6116_bl!offset + 16 }]; goto CFG_44150; CFG_44150: assume true; local_#24964 := _memory_ptr[{ base : local_#6115_fs!base, offset : local_#6115_fs!offset + 16 }]; goto CFG_48064; CFG_48064: assume true; call local_#24965 := routine_#34744_findlabel(local_#24964,local_#32574_i); goto CFG_50887; CFG_50887: assume true; local_#24966 := (if local_#24965 != 0 then 0 else 1); if (local_#24966 != 0) { goto CFG_41158; } else { goto CFG_45129; } CFG_41158: assume true; local_#24967 := local_#32574_i; local_#24968 := 1; local_#32574_i := local_#24967 + local_#24968; assert { :LIR "66723" } { :check "overflow" } { :finding_ids "0" } local_#32574_i <= 2147483647; local_#24969 := local_#24967; goto CFG_45129; CFG_45129: assume true; goto CFG_50884; CFG_37849: assume true; } procedure routine_#34951_moveresults(local_#6117_L_IN : { base : int, offset : int }, local_#6118_firstResult_IN : { base : int, offset : int }, local_#6119_res_IN : { base : int, offset : int }, local_#6120_nres_IN : int, local_#6121_wanted_IN : int) returns (local_#8198 : int) modifies _memory, _memory_ptr; { var local_#6117_L : { base : int, offset : int }; var local_#6118_firstResult : { base : int, offset : int }; var local_#6119_res : { base : int, offset : int }; var local_#6120_nres : int; var local_#6121_wanted : int; var local_#24970 : int; var local_#24971 : int; var local_#32579_i : int; var local_#24972 : int; var local_#24973 : int; var local_#24974 : int; var local_#24975 : { base : int, offset : int }; var local_#24976 : int; var local_#24977 : int; var local_#24978 : int; var local_#24979 : { base : int, offset : int }; var local_#32581_io1 : { base : int, offset : int }; var local_#24980 : { base : int, offset : int }; var local_#24981 : int; var local_#24982 : int; var local_#24983 : int; var local_#24984 : int; var local_#24985 : int; var local_#24986 : int; var local_#24987 : int; var local_#24988 : { base : int, offset : int }; var local_#32580_io1 : { base : int, offset : int }; var local_#24989 : { base : int, offset : int }; var local_#24990 : int; var local_#24991 : int; var local_#24992 : int; var local_#24993 : int; var local_#24994 : int; var local_#24995 : int; var local_#32577_i : int; var local_#24996 : int; var local_#24997 : { base : int, offset : int }; var local_#24998 : { base : int, offset : int }; var local_#32578_io1 : { base : int, offset : int }; var local_#24999 : { base : int, offset : int }; var local_#25000 : int; var local_#25001 : int; var local_#25002 : int; var local_#25003 : int; var local_#25004 : int; var local_#25005 : int; var local_#25006 : int; var local_#25007 : int; var local_#32576_io1 : { base : int, offset : int }; var local_#25008 : int; var local_#25009 : int; var local_#25010 : int; var local_#25011 : { base : int, offset : int }; local_#6117_L := local_#6117_L_IN; local_#6118_firstResult := local_#6118_firstResult_IN; local_#6119_res := local_#6119_res_IN; local_#6120_nres := local_#6120_nres_IN; local_#6121_wanted := local_#6121_wanted_IN; goto CFG_36939; CFG_36939: assume true; goto CFG_51559; CFG_51559: assume true; local_#24970 := local_#6121_wanted; if (local_#24970 == 0) { goto CFG_39691; } if (local_#24970 == 1) { goto CFG_50893; } if (local_#24970 == -1) { goto CFG_41792; } goto CFG_50888; CFG_50888: assume true; local_#24971 := (if local_#6121_wanted <= local_#6120_nres then 1 else 0); if (local_#24971 != 0) { goto CFG_41791; } else { goto CFG_41789; } CFG_41789: assume true; local_#32579_i := 0; goto CFG_50889; CFG_50889: assume true; local_#24972 := (if local_#32579_i < local_#6120_nres then 1 else 0); if (local_#24972 != 0) { goto CFG_44152; } else { goto CFG_41790; } CFG_41790: assume true; goto CFG_50890; CFG_50890: assume true; local_#24973 := (if local_#32579_i < local_#6121_wanted then 1 else 0); if (local_#24973 != 0) { goto CFG_44151; } else { goto CFG_41159; } CFG_41159: assume true; goto CFG_39689; CFG_44151: assume true; local_#24974 := 0; local_#24975 := { base : local_#6119_res!base, offset : local_#6119_res!offset + local_#32579_i * 16 }; _memory[{ base : local_#24975!base, offset : local_#24975!offset + 8 }] := local_#24974; goto CFG_45130; CFG_45130: assume true; local_#24976 := local_#32579_i; local_#24977 := 1; local_#32579_i := local_#24976 + local_#24977; assert { :LIR "66724" } { :check "overflow" } { :finding_ids "0" } local_#32579_i <= 2147483647; local_#24978 := local_#24976; goto CFG_50890; CFG_44152: assume true; local_#24979 := { base : local_#6119_res!base, offset : local_#6119_res!offset + local_#32579_i * 16 }; local_#32581_io1 := local_#24979; local_#24980 := { base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + local_#32579_i * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#24980)!_value_!_b == _memory[{ base : local_#24980!base, offset : local_#24980!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24980)!_value_!_f == _memory_ptr[{ base : local_#24980!base, offset : local_#24980!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24980)!_value_!_gc == _memory_ptr[{ base : local_#24980!base, offset : local_#24980!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24980)!_value_!_i == _memory[{ base : local_#24980!base, offset : local_#24980!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#24980)!_value_!_p == _memory_ptr[{ base : local_#24980!base, offset : local_#24980!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24980)!_tt_ == _memory[{ base : local_#24980!base, offset : local_#24980!offset + 8 }]; call write_type_#101(local_#32581_io1,read_type_#101(_memory, _memory_ptr, local_#24980)); local_#24981 := 0; assert { :LIR "61772" } { :check "overflow" } { :finding_ids "0" } true; local_#24982 := 0; local_#24983 := 0; assert { :LIR "61773" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45131; CFG_45131: assume true; local_#24984 := local_#32579_i; local_#24985 := 1; local_#32579_i := local_#24984 + local_#24985; assert { :LIR "66725" } { :check "overflow" } { :finding_ids "0" } local_#32579_i <= 2147483647; local_#24986 := local_#24984; goto CFG_50889; CFG_41791: assume true; local_#32579_i := 0; goto CFG_50891; CFG_50891: assume true; local_#24987 := (if local_#32579_i < local_#6121_wanted then 1 else 0); if (local_#24987 != 0) { goto CFG_44153; } else { goto CFG_41160; } CFG_41160: assume true; goto CFG_39689; CFG_39689: assume true; goto CFG_38858; CFG_44153: assume true; local_#24988 := { base : local_#6119_res!base, offset : local_#6119_res!offset + local_#32579_i * 16 }; local_#32580_io1 := local_#24988; local_#24989 := { base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + local_#32579_i * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#24989)!_value_!_b == _memory[{ base : local_#24989!base, offset : local_#24989!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24989)!_value_!_f == _memory_ptr[{ base : local_#24989!base, offset : local_#24989!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24989)!_value_!_gc == _memory_ptr[{ base : local_#24989!base, offset : local_#24989!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24989)!_value_!_i == _memory[{ base : local_#24989!base, offset : local_#24989!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#24989)!_value_!_p == _memory_ptr[{ base : local_#24989!base, offset : local_#24989!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24989)!_tt_ == _memory[{ base : local_#24989!base, offset : local_#24989!offset + 8 }]; call write_type_#101(local_#32580_io1,read_type_#101(_memory, _memory_ptr, local_#24989)); local_#24990 := 0; assert { :LIR "61774" } { :check "overflow" } { :finding_ids "0" } true; local_#24991 := 0; local_#24992 := 0; assert { :LIR "61775" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45132; CFG_45132: assume true; local_#24993 := local_#32579_i; local_#24994 := 1; local_#32579_i := local_#24993 + local_#24994; assert { :LIR "66726" } { :check "overflow" } { :finding_ids "0" } local_#32579_i <= 2147483647; local_#24995 := local_#24993; goto CFG_50891; CFG_41792: assume true; local_#32577_i := 0; goto CFG_50892; CFG_50892: assume true; local_#24996 := (if local_#32577_i < local_#6120_nres then 1 else 0); if (local_#24996 != 0) { goto CFG_44154; } else { goto CFG_38857; } CFG_38857: assume true; local_#24997 := { base : local_#6119_res!base, offset : local_#6119_res!offset + local_#6120_nres * 16 }; _memory_ptr[{ base : local_#6117_L!base, offset : local_#6117_L!offset + 16 }] := local_#24997; local_#8198 := 0; goto CFG_37850; CFG_44154: assume true; local_#24998 := { base : local_#6119_res!base, offset : local_#6119_res!offset + local_#32577_i * 16 }; local_#32578_io1 := local_#24998; local_#24999 := { base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + local_#32577_i * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#24999)!_value_!_b == _memory[{ base : local_#24999!base, offset : local_#24999!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24999)!_value_!_f == _memory_ptr[{ base : local_#24999!base, offset : local_#24999!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24999)!_value_!_gc == _memory_ptr[{ base : local_#24999!base, offset : local_#24999!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24999)!_value_!_i == _memory[{ base : local_#24999!base, offset : local_#24999!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#24999)!_value_!_p == _memory_ptr[{ base : local_#24999!base, offset : local_#24999!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#24999)!_tt_ == _memory[{ base : local_#24999!base, offset : local_#24999!offset + 8 }]; call write_type_#101(local_#32578_io1,read_type_#101(_memory, _memory_ptr, local_#24999)); local_#25000 := 0; assert { :LIR "61776" } { :check "overflow" } { :finding_ids "0" } true; local_#25001 := 0; local_#25002 := 0; assert { :LIR "61777" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45133; CFG_45133: assume true; local_#25003 := local_#32577_i; local_#25004 := 1; local_#32577_i := local_#25003 + local_#25004; assert { :LIR "66727" } { :check "overflow" } { :finding_ids "0" } local_#32577_i <= 2147483647; local_#25005 := local_#25003; goto CFG_50892; CFG_50893: assume true; local_#25006 := 0; local_#25007 := (if local_#6120_nres == local_#25006 then 1 else 0); if (local_#25007 != 0) { goto CFG_41161; } else { goto CFG_39690; } CFG_41161: assume true; local_#6118_firstResult := global_#33098_luaO_nilobject_; goto CFG_39690; CFG_39690: assume true; local_#32576_io1 := local_#6119_res; assume read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)!_value_!_b == _memory[{ base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)!_value_!_f == _memory_ptr[{ base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)!_value_!_gc == _memory_ptr[{ base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)!_value_!_i == _memory[{ base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)!_value_!_p == _memory_ptr[{ base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)!_tt_ == _memory[{ base : local_#6118_firstResult!base, offset : local_#6118_firstResult!offset + 8 }]; call write_type_#101(local_#32576_io1,read_type_#101(_memory, _memory_ptr, local_#6118_firstResult)); local_#25008 := 0; assert { :LIR "61778" } { :check "overflow" } { :finding_ids "0" } true; local_#25009 := 0; local_#25010 := 0; assert { :LIR "61779" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38858; CFG_39691: assume true; goto CFG_38858; CFG_38858: assume true; local_#25011 := { base : local_#6119_res!base, offset : local_#6119_res!offset + local_#6121_wanted * 16 }; _memory_ptr[{ base : local_#6117_L!base, offset : local_#6117_L!offset + 16 }] := local_#25011; local_#8198 := 1; goto CFG_37850; CFG_41953: assume true; goto CFG_38858; CFG_37850: assume true; } procedure routine_#34952_msghandler(local_#6122_L_IN : { base : int, offset : int }) returns (local_#8199 : int) modifies _memory, _memory_ptr, _valid; { var local_#6122_L : { base : int, offset : int }; var local_#25012 : int; var local_#25013 : { base : int, offset : int }; var local_#25014 : { base : int, offset : int }; var local_#32582_msg : { base : int, offset : int }; var local_#25015 : { base : int, offset : int }; var local_#25016 : int; var local_#25017 : int; var local_#25018 : { base : int, offset : int }; var local_#25019 : { base : int, offset : int }; var local_#25020 : int; var local_#25021 : int; var local_#25022 : int; var local_#25023 : int; var local_#25024 : int; var local_#25025 : int; var local_#25026 : { base : int, offset : int }; var local_#25027 : { base : int, offset : int }; var local_#25028 : int; var local_#25029 : int; var local_#25030 : { base : int, offset : int }; var local_#25031 : { base : int, offset : int }; var local_#25032 : int; local_#6122_L := local_#6122_L_IN; goto CFG_36940; CFG_36940: assume true; goto CFG_44155; CFG_44155: assume true; local_#25012 := 1; local_#25013 := { base : 0, offset : 0 }; goto CFG_48065; CFG_48065: assume true; call local_#25014 := routine_#33995_lua_tolstring(local_#6122_L,local_#25012,local_#25013); goto CFG_50894; CFG_50894: assume true; local_#32582_msg := local_#25014; local_#25015 := { base : 0, offset : 0 }; local_#25016 := (if local_#32582_msg == local_#25015 then 1 else 0); if (local_#25016 != 0) { goto CFG_44156; } else { goto CFG_44159; } CFG_44156: assume true; local_#25017 := 1; assume _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 0 }] == 95 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 1 }] == 95 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 2 }] == 116 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 3 }] == 111 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 4 }] == 115 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 5 }] == 116 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 6 }] == 114 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 7 }] == 105 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 8 }] == 110 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 9 }] == 103 && _memory[{ base : strlit_#70334!base, offset : strlit_#70334!offset + 10 }] == 0; local_#25018 := strlit_#70334; local_#25019 := { base : local_#25018!base, offset : local_#25018!offset + 0 * 1 }; assert { :LIR "63623" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48066; CFG_48066: assume true; call local_#25020 := routine_#33818_luaL_callmeta(local_#6122_L,local_#25017,local_#25019); goto CFG_50895; CFG_50895: assume true; local_#25021 := local_#25020; if (local_#25021 != 0) { goto CFG_44157; } else { goto CFG_44158; } CFG_44157: assume true; local_#25022 := -1; goto CFG_48067; CFG_48067: assume true; call local_#25023 := routine_#34000_lua_type(local_#6122_L,local_#25022); goto CFG_50896; CFG_50896: assume true; local_#25024 := 4; local_#25025 := (if local_#25023 == local_#25024 then 1 else 0); if (local_#25025 != 0) { goto CFG_38860; } else { goto CFG_44158; } CFG_44158: assume true; assume _memory[{ base : strlit_#70709!base, offset : strlit_#70709!offset + 28 }] == 0; local_#25026 := strlit_#70709; local_#25027 := { base : local_#25026!base, offset : local_#25026!offset + 0 * 1 }; assert { :LIR "63624" } { :check "overflow" } { :finding_ids "0" } true; local_#25028 := 1; goto CFG_48068; CFG_48068: assume true; call local_#25029 := routine_#34000_lua_type(local_#6122_L,local_#25028); goto CFG_48069; CFG_48069: assume true; call local_#25030 := routine_#34001_lua_typename(local_#6122_L,local_#25029); goto CFG_48070; CFG_48070: assume true; call local_#25031 := routine_#33959_lua_pushfstring(local_#6122_L,local_#25027,{ base : 0, offset : 0 }); goto CFG_41162; CFG_41162: assume true; local_#32582_msg := local_#25031; goto CFG_41163; CFG_41163: assume true; goto CFG_44159; CFG_44159: assume true; local_#25032 := 1; goto CFG_48071; CFG_48071: assume true; call routine_#33853_luaL_traceback(local_#6122_L,local_#6122_L,local_#32582_msg,local_#25032); goto CFG_38859; CFG_38859: assume true; local_#8199 := 1; goto CFG_37851; CFG_38860: assume true; local_#8199 := 1; goto CFG_37851; CFG_37851: assume true; } procedure routine_#34953_multiline(local_#6123_L_IN : { base : int, offset : int }) returns (local_#8200 : int) modifies _memory, _memory_ptr, _valid; { var local_#6123_L : { base : int, offset : int }; var local_#25033 : int; var local_#25034 : int; var local_#32583_len : { base : int, offset : int }; var local_#25035 : { base : int, offset : int }; var local_#25036 : { base : int, offset : int }; var local_#32584_line : { base : int, offset : int }; var local_#25037 : { base : int, offset : int }; var local_#25038 : { base : int, offset : int }; var local_#25039 : { base : int, offset : int }; var local_#25040 : int; var local_#32585_status : int; var local_#25041 : int; var local_#25042 : int; var local_#25043 : int; var local_#25044 : int; var local_#25045 : int; var local_#25046 : { base : int, offset : int }; var local_#25047 : { base : int, offset : int }; var local_#25048 : { base : int, offset : int }; var local_#25049 : int; var local_#25050 : int; var local_#25051 : int; var local_#25052 : int; local_#6123_L := local_#6123_L_IN; goto CFG_36941; CFG_36941: assume true; goto CFG_41793; CFG_41793: assume true; goto CFG_50897; CFG_50897: assume true; local_#25033 := 1; if (local_#25033 != 0) { goto CFG_44160; } else { goto CFG_37852; } CFG_44160: assume true; local_#25034 := 1; local_#25035 := local_#32583_len; goto CFG_48072; CFG_48072: assume true; call local_#25036 := routine_#33995_lua_tolstring(local_#6123_L,local_#25034,local_#25035); goto CFG_44161; CFG_44161: assume true; local_#32584_line := local_#25036; assume _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 0 }] == 61 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 1 }] == 115 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 2 }] == 116 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 3 }] == 100 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 4 }] == 105 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 5 }] == 110 && _memory[{ base : strlit_#70325!base, offset : strlit_#70325!offset + 6 }] == 0; local_#25037 := strlit_#70325; local_#25038 := { base : local_#25037!base, offset : local_#25037!offset + 0 * 1 }; assert { :LIR "63625" } { :check "overflow" } { :finding_ids "0" } true; local_#25039 := { base : 0, offset : 0 }; goto CFG_48073; CFG_48073: assume true; call local_#25040 := routine_#33835_luaL_loadbufferx(local_#6123_L,local_#32584_line,_memory[local_#32583_len],local_#25038,local_#25039); goto CFG_44162; CFG_44162: assume true; local_#32585_status := local_#25040; goto CFG_48074; CFG_48074: assume true; call local_#25041 := routine_#34810_incomplete(local_#6123_L,local_#32585_status); goto CFG_50898; CFG_50898: assume true; local_#25042 := (if local_#25041 != 0 then 0 else 1); if (local_#25042 != 0) { goto CFG_44167; } else { goto CFG_44163; } CFG_44163: assume true; local_#25043 := 0; goto CFG_48075; CFG_48075: assume true; call local_#25044 := routine_#35006_pushline(local_#6123_L,local_#25043); goto CFG_50899; CFG_50899: assume true; local_#25045 := (if local_#25044 != 0 then 0 else 1); if (local_#25045 != 0) { goto CFG_44167; } else { goto CFG_44164; } CFG_44164: assume true; assume _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 0 }] == 10 && _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 1 }] == 0; local_#25046 := strlit_#70533; local_#25047 := { base : local_#25046!base, offset : local_#25046!offset + 0 * 1 }; assert { :LIR "63626" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48076; CFG_48076: assume true; call local_#25048 := routine_#33965_lua_pushstring(local_#6123_L,local_#25047); goto CFG_44165; CFG_44165: assume true; local_#25049 := -2; local_#25050 := 1; goto CFG_48077; CFG_48077: assume true; call routine_#33978_lua_rotate(local_#6123_L,local_#25049,local_#25050); goto CFG_44166; CFG_44166: assume true; local_#25051 := 3; goto CFG_48078; CFG_48078: assume true; call routine_#33923_lua_concat(local_#6123_L,local_#25051); goto CFG_45134; CFG_45134: assume true; goto CFG_50897; CFG_44167: assume true; local_#25052 := 0; assert { :LIR "61780" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48079; CFG_48079: assume true; call routine_#33445_add_history(local_#32584_line); goto CFG_38861; CFG_38861: assume true; local_#8200 := local_#32585_status; goto CFG_37852; CFG_37852: assume true; } procedure routine_#34954_need_value(local_#6124_fs_IN : { base : int, offset : int }, local_#6125_list_IN : int) returns (local_#8201 : int) { var local_#6124_fs : { base : int, offset : int }; var local_#6125_list : int; var local_#25053 : int; var local_#25054 : int; var local_#25055 : { base : int, offset : int }; var local_#32586_i : int; var local_#25056 : int; var local_#25057 : int; var local_#25058 : int; var local_#25059 : int; var local_#25060 : int; var local_#25061 : int; var local_#25062 : int; var local_#25063 : int; var local_#25064 : int; var local_#25065 : int; local_#6124_fs := local_#6124_fs_IN; local_#6125_list := local_#6125_list_IN; goto CFG_36942; CFG_36942: assume true; goto CFG_41794; CFG_41794: assume true; goto CFG_50900; CFG_50900: assume true; local_#25053 := -1; local_#25054 := (if local_#6125_list != local_#25053 then 1 else 0); if (local_#25054 != 0) { goto CFG_48080; } else { goto CFG_38862; } CFG_38862: assume true; local_#8201 := 0; goto CFG_37853; CFG_48080: assume true; call local_#25055 := routine_#34791_getjumpcontrol(local_#6124_fs,local_#6125_list); goto CFG_50901; CFG_50901: assume true; local_#32586_i := _memory[local_#25055]; local_#25056 := 0; local_#25057 := ~lshr32(local_#32586_i, local_#25056); local_#25058 := 63; local_#25059 := ~uand32(local_#25057, local_#25058); local_#25060 := local_#25059; assert { :LIR "61781" } { :check "overflow" } { :finding_ids "0" } local_#25060 <= 46; local_#25061 := ~uwrap32(local_#25060); assert { :LIR "63627" } { :check "overflow" } { :finding_ids "0" } true; local_#25062 := 35; local_#25063 := (if local_#25061 != local_#25062 then 1 else 0); if (local_#25063 != 0) { goto CFG_38863; } else { goto CFG_48081; } CFG_48081: assume true; call local_#25064 := routine_#34790_getjump(local_#6124_fs,local_#6125_list); goto CFG_45135; CFG_45135: assume true; local_#6125_list := local_#25064; local_#25065 := local_#6125_list; goto CFG_50900; CFG_38863: assume true; local_#8201 := 1; goto CFG_37853; CFG_37853: assume true; } procedure routine_#34955_negatecondition(local_#6126_fs_IN : { base : int, offset : int }, local_#6127_e_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#6126_fs : { base : int, offset : int }; var local_#6127_e : { base : int, offset : int }; var local_#25066 : { base : int, offset : int }; var local_#25067 : int; var local_#25068 : { base : int, offset : int }; var local_#32587_pc : { base : int, offset : int }; var local_#25069 : int; var local_#25070 : int; var local_#25071 : int; var local_#25072 : int; var local_#25073 : int; var local_#25074 : int; var local_#25075 : int; var local_#25076 : int; var local_#25077 : int; var local_#25078 : int; var local_#25079 : int; var local_#25080 : int; var local_#25081 : int; var local_#25082 : int; var local_#25083 : int; var local_#25084 : int; local_#6126_fs := local_#6126_fs_IN; local_#6127_e := local_#6127_e_IN; goto CFG_36943; CFG_36943: assume true; goto CFG_44168; CFG_44168: assume true; local_#25066 := { base : local_#6127_e!base, offset : local_#6127_e!offset + 8 }; local_#25067 := _memory[local_#25066]; goto CFG_48082; CFG_48082: assume true; call local_#25068 := routine_#34791_getjumpcontrol(local_#6126_fs,local_#25067); goto CFG_39370; CFG_39370: assume true; local_#32587_pc := local_#25068; local_#25069 := 0; local_#25070 := 0; assert { :LIR "61782" } { :check "overflow" } { :finding_ids "0" } true; local_#25071 := 4294950975; local_#25072 := ~uand32(_memory[local_#32587_pc], local_#25071); local_#25073 := 6; local_#25074 := ~lshr32(_memory[local_#32587_pc], local_#25073); local_#25075 := 255; local_#25076 := ~uand32(local_#25074, local_#25075); local_#25077 := local_#25076; assert { :LIR "61783" } { :check "overflow" } { :finding_ids "0" } local_#25077 <= 2147483647; local_#25078 := (if local_#25077 != 0 then 0 else 1); local_#25079 := ~uwrap32(local_#25078); assert { :LIR "61784" } { :check "overflow" } { :finding_ids "0" } true; local_#25080 := 6; local_#25081 := ~shl32(local_#25079, local_#25080); local_#25082 := 16320; local_#25083 := ~uand32(local_#25081, local_#25082); local_#25084 := ~uor32(local_#25072, local_#25083); _memory[local_#32587_pc] := local_#25084; goto CFG_37854; CFG_37854: assume true; } procedure routine_#34956_new_localvar(local_#6128_ls_IN : { base : int, offset : int }, local_#6129_name_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6128_ls : { base : int, offset : int }; var local_#6129_name : { base : int, offset : int }; var local_#32589_fs : { base : int, offset : int }; var local_#32588_dyd : { base : int, offset : int }; var local_#25085 : int; var local_#32590_reg : int; var local_#25086 : int; var local_#25087 : int; var local_#25088 : int; var local_#25089 : int; var local_#25090 : { base : int, offset : int }; var local_#25091 : { base : int, offset : int }; var local_#25092 : int; var local_#25093 : int; var local_#25094 : int; var local_#25095 : int; var local_#25096 : int; var local_#25097 : { base : int, offset : int }; var local_#25098 : { base : int, offset : int }; var local_#25099 : { base : int, offset : int }; var local_#25100 : int; var local_#25101 : int; var local_#25102 : { base : int, offset : int }; var local_#25103 : { base : int, offset : int }; var local_#25104 : { base : int, offset : int }; var local_#25105 : { base : int, offset : int }; var local_#25106 : int; var local_#25107 : int; var local_#25108 : int; var local_#25109 : { base : int, offset : int }; local_#6128_ls := local_#6128_ls_IN; local_#6129_name := local_#6129_name_IN; goto CFG_36944; CFG_36944: assume true; goto CFG_44169; CFG_44169: assume true; local_#32589_fs := _memory_ptr[{ base : local_#6128_ls!base, offset : local_#6128_ls!offset + 48 }]; local_#32588_dyd := _memory_ptr[{ base : local_#6128_ls!base, offset : local_#6128_ls!offset + 88 }]; goto CFG_48083; CFG_48083: assume true; call local_#25085 := routine_#35026_registerlocalvar(local_#6128_ls,local_#6129_name); goto CFG_44170; CFG_44170: assume true; local_#32590_reg := local_#25085; local_#25086 := 1; local_#25087 := _memory[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 8 }] + local_#25086; assert { :LIR "66728" } { :check "overflow" } { :finding_ids "0" } local_#25087 <= 2147483647; local_#25088 := local_#25087 - _memory[{ base : local_#32589_fs!base, offset : local_#32589_fs!offset + 52 }]; assert { :LIR "68114" } { :check "overflow" } { :finding_ids "0" } local_#25088 <= 2147483647; local_#25089 := 200; assume _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 0 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 1 }] == 111 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 2 }] == 99 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 3 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 4 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 5 }] == 32 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 6 }] == 118 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 7 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 8 }] == 114 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 9 }] == 105 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 10 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 11 }] == 98 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 12 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 13 }] == 101 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 14 }] == 115 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 15 }] == 0; local_#25090 := strlit_#70712; local_#25091 := { base : local_#25090!base, offset : local_#25090!offset + 0 * 1 }; assert { :LIR "63628" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48084; CFG_48084: assume true; call routine_#34632_checklimit(local_#32589_fs,local_#25088,local_#25089,local_#25091); goto CFG_50902; CFG_50902: assume true; local_#25092 := 1; local_#25093 := _memory[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 8 }] + local_#25092; assert { :LIR "66729" } { :check "overflow" } { :finding_ids "0" } local_#25093 <= 2147483647; local_#25094 := 1; local_#25095 := local_#25093 + local_#25094; assert { :LIR "66730" } { :check "overflow" } { :finding_ids "0" } local_#25095 <= 2147483647; local_#25096 := (if local_#25095 > _memory[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 12 }] then 1 else 0); if (local_#25096 != 0) { goto CFG_44171; } else { goto CFG_39371; } CFG_44171: assume true; local_#25097 := _memory_ptr[{ base : local_#6128_ls!base, offset : local_#6128_ls!offset + 56 }]; local_#25098 := _memory_ptr[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 0 }]; assert { :LIR "63629" } { :check "overflow" } { :finding_ids "0" } true; local_#25099 := { base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 12 }; local_#25100 := 2; local_#25101 := 2147483647; assume _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 0 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 1 }] == 111 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 2 }] == 99 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 3 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 4 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 5 }] == 32 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 6 }] == 118 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 7 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 8 }] == 114 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 9 }] == 105 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 10 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 11 }] == 98 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 12 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 13 }] == 101 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 14 }] == 115 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 15 }] == 0; local_#25102 := strlit_#70712; local_#25103 := { base : local_#25102!base, offset : local_#25102!offset + 0 * 1 }; assert { :LIR "63630" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48085; CFG_48085: assume true; call local_#25104 := routine_#33856_luaM_growaux_(local_#25097,local_#25098,local_#25099,local_#25100,local_#25101,local_#25103); goto CFG_41164; CFG_41164: assume true; local_#25105 := local_#25104; assert { :LIR "61785" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 0 }] := local_#25105; goto CFG_39371; CFG_39371: assume true; local_#25106 := local_#32590_reg; assert { :LIR "61786" } { :check "overflow" } { :finding_ids "0" } local_#25106 <= 32767; local_#25107 := _memory[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 8 }]; local_#25108 := 1; _memory[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 8 }] := local_#25107 + local_#25108; assert { :LIR "66731" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 8 }] <= -1; local_#25109 := { base : _memory_ptr[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32588_dyd!base, offset : local_#32588_dyd!offset + 0 }]!offset + local_#25107 * 2 }; _memory[{ base : local_#25109!base, offset : local_#25109!offset + 0 }] := local_#25106; goto CFG_37855; CFG_37855: assume true; } procedure routine_#34957_new_localvarliteral_(local_#6130_ls_IN : { base : int, offset : int }, local_#6131_name_IN : { base : int, offset : int }, local_#6132_sz_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6130_ls : { base : int, offset : int }; var local_#6131_name : { base : int, offset : int }; var local_#6132_sz : int; var local_#25110 : { base : int, offset : int }; local_#6130_ls := local_#6130_ls_IN; local_#6131_name := local_#6131_name_IN; local_#6132_sz := local_#6132_sz_IN; goto CFG_36945; CFG_36945: assume true; goto CFG_48086; CFG_48086: assume true; call local_#25110 := routine_#33907_luaX_newstring(local_#6130_ls,local_#6131_name,local_#6132_sz); goto CFG_48087; CFG_48087: assume true; call routine_#34956_new_localvar(local_#6130_ls,local_#25110); goto CFG_39372; CFG_39372: assume true; goto CFG_37856; CFG_37856: assume true; } procedure routine_#34958_newbox(local_#6133_L_IN : { base : int, offset : int }, local_#6134_newsize_IN : int) returns (local_#8202 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6133_L : { base : int, offset : int }; var local_#6134_newsize : int; var local_#25111 : int; var local_#25112 : { base : int, offset : int }; var local_#25113 : { base : int, offset : int }; var local_#32591_box : { base : int, offset : int }; var local_#25114 : { base : int, offset : int }; var local_#25115 : { base : int, offset : int }; var local_#25116 : int; var local_#25117 : int; var local_#25118 : { base : int, offset : int }; var local_#25119 : int; var local_#25120 : int; var local_#25121 : { base : int, offset : int }; var local_#25122 : { base : int, offset : int }; var local_#25123 : int; var local_#25124 : int; var local_#25125 : int; var local_#25126 : { base : int, offset : int }; local_#6133_L := local_#6133_L_IN; local_#6134_newsize := local_#6134_newsize_IN; goto CFG_36946; CFG_36946: assume true; goto CFG_44172; CFG_44172: assume true; local_#25111 := 16; goto CFG_48088; CFG_48088: assume true; call local_#25112 := routine_#33954_lua_newuserdata(local_#6133_L,local_#25111); goto CFG_44173; CFG_44173: assume true; local_#25113 := local_#25112; assert { :LIR "61787" } { :check "overflow" } { :finding_ids "0" } true; local_#32591_box := local_#25113; _memory_ptr[{ base : local_#32591_box!base, offset : local_#32591_box!offset + 0 }] := { base : 0, offset : 0 }; _memory[{ base : local_#32591_box!base, offset : local_#32591_box!offset + 8 }] := 0; assume _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 0 }] == 76 && _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 1 }] == 85 && _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 2 }] == 65 && _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 3 }] == 66 && _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 4 }] == 79 && _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 5 }] == 88 && _memory[{ base : strlit_#70714!base, offset : strlit_#70714!offset + 6 }] == 0; local_#25114 := strlit_#70714; local_#25115 := { base : local_#25114!base, offset : local_#25114!offset + 0 * 1 }; assert { :LIR "63631" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48089; CFG_48089: assume true; call local_#25116 := routine_#33838_luaL_newmetatable(local_#6133_L,local_#25115); goto CFG_50903; CFG_50903: assume true; local_#25117 := local_#25116; if (local_#25117 != 0) { goto CFG_44174; } else { goto CFG_44176; } CFG_44174: assume true; local_#25118 := fun_addr_#34615_boxgc; local_#25119 := 0; goto CFG_48090; CFG_48090: assume true; call routine_#33958_lua_pushcclosure(local_#6133_L,local_#25118,local_#25119); goto CFG_44175; CFG_44175: assume true; local_#25120 := -2; assume _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 0 }] == 95 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 1 }] == 95 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 2 }] == 103 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 3 }] == 99 && _memory[{ base : strlit_#70497!base, offset : strlit_#70497!offset + 4 }] == 0; local_#25121 := strlit_#70497; local_#25122 := { base : local_#25121!base, offset : local_#25121!offset + 0 * 1 }; assert { :LIR "63632" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48091; CFG_48091: assume true; call routine_#33980_lua_setfield(local_#6133_L,local_#25120,local_#25122); goto CFG_41165; CFG_41165: assume true; goto CFG_44176; CFG_44176: assume true; local_#25123 := -2; goto CFG_48092; CFG_48092: assume true; call local_#25124 := routine_#33985_lua_setmetatable(local_#6133_L,local_#25123); goto CFG_44177; CFG_44177: assume true; local_#25125 := -1; goto CFG_48093; CFG_48093: assume true; call local_#25126 := routine_#35035_resizebox(local_#6133_L,local_#25125,local_#6134_newsize); goto CFG_38864; CFG_38864: assume true; local_#8202 := local_#25126; goto CFG_37857; CFG_37857: assume true; } procedure routine_#34959_newfile(local_#6135_L_IN : { base : int, offset : int }) returns (local_#8203 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6135_L : { base : int, offset : int }; var local_#25127 : { base : int, offset : int }; var local_#32592_p : { base : int, offset : int }; local_#6135_L := local_#6135_L_IN; goto CFG_36947; CFG_36947: assume true; goto CFG_48094; CFG_48094: assume true; call local_#25127 := routine_#34961_newprefile(local_#6135_L); goto CFG_38865; CFG_38865: assume true; local_#32592_p := local_#25127; _memory_ptr[{ base : local_#32592_p!base, offset : local_#32592_p!offset + 0 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#32592_p!base, offset : local_#32592_p!offset + 8 }] := fun_addr_#34819_io_fclose; local_#8203 := local_#32592_p; goto CFG_37858; CFG_37858: assume true; } procedure routine_#34960_newlabelentry(local_#6136_ls_IN : { base : int, offset : int }, local_#6137_l_IN : { base : int, offset : int }, local_#6138_name_IN : { base : int, offset : int }, local_#6139_line_IN : int, local_#6140_pc_IN : int) returns (local_#8204 : int) modifies _memory, _memory_ptr, _valid; { var local_#6136_ls : { base : int, offset : int }; var local_#6137_l : { base : int, offset : int }; var local_#6138_name : { base : int, offset : int }; var local_#6139_line : int; var local_#6140_pc : int; var local_#32593_n : int; var local_#25128 : int; var local_#25129 : int; var local_#25130 : int; var local_#25131 : { base : int, offset : int }; var local_#25132 : { base : int, offset : int }; var local_#25133 : { base : int, offset : int }; var local_#25134 : int; var local_#25135 : int; var local_#25136 : { base : int, offset : int }; var local_#25137 : { base : int, offset : int }; var local_#25138 : { base : int, offset : int }; var local_#25139 : { base : int, offset : int }; var local_#25140 : { base : int, offset : int }; var local_#25141 : { base : int, offset : int }; var local_#25142 : { base : int, offset : int }; var local_#25143 : { base : int, offset : int }; var local_#25144 : { base : int, offset : int }; var local_#25145 : int; var local_#25146 : int; local_#6136_ls := local_#6136_ls_IN; local_#6137_l := local_#6137_l_IN; local_#6138_name := local_#6138_name_IN; local_#6139_line := local_#6139_line_IN; local_#6140_pc := local_#6140_pc_IN; goto CFG_36948; CFG_36948: assume true; goto CFG_50904; CFG_50904: assume true; local_#32593_n := _memory[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 8 }]; local_#25128 := 1; local_#25129 := local_#32593_n + local_#25128; assert { :LIR "66732" } { :check "overflow" } { :finding_ids "0" } local_#25129 <= 2147483647; local_#25130 := (if local_#25129 > _memory[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 12 }] then 1 else 0); if (local_#25130 != 0) { goto CFG_44178; } else { goto CFG_38866; } CFG_44178: assume true; local_#25131 := _memory_ptr[{ base : local_#6136_ls!base, offset : local_#6136_ls!offset + 56 }]; local_#25132 := _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]; assert { :LIR "63633" } { :check "overflow" } { :finding_ids "0" } true; local_#25133 := { base : local_#6137_l!base, offset : local_#6137_l!offset + 12 }; local_#25134 := 24; local_#25135 := 32767; assume _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 0 }] == 108 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 1 }] == 97 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 2 }] == 98 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 3 }] == 101 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 4 }] == 108 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 5 }] == 115 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 6 }] == 47 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 7 }] == 103 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 8 }] == 111 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 9 }] == 116 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 10 }] == 111 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 11 }] == 115 && _memory[{ base : strlit_#70716!base, offset : strlit_#70716!offset + 12 }] == 0; local_#25136 := strlit_#70716; local_#25137 := { base : local_#25136!base, offset : local_#25136!offset + 0 * 1 }; assert { :LIR "63634" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48095; CFG_48095: assume true; call local_#25138 := routine_#33856_luaM_growaux_(local_#25131,local_#25132,local_#25133,local_#25134,local_#25135,local_#25137); goto CFG_41166; CFG_41166: assume true; local_#25139 := local_#25138; assert { :LIR "61788" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }] := local_#25139; goto CFG_38866; CFG_38866: assume true; local_#25140 := { base : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!offset + local_#32593_n * 24 }; _memory_ptr[{ base : local_#25140!base, offset : local_#25140!offset + 0 }] := local_#6138_name; local_#25141 := { base : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!offset + local_#32593_n * 24 }; _memory[{ base : local_#25141!base, offset : local_#25141!offset + 12 }] := local_#6139_line; local_#25142 := _memory_ptr[{ base : local_#6136_ls!base, offset : local_#6136_ls!offset + 48 }]; local_#25143 := { base : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!offset + local_#32593_n * 24 }; _memory[{ base : local_#25143!base, offset : local_#25143!offset + 16 }] := _memory[{ base : local_#25142!base, offset : local_#25142!offset + 58 }]; local_#25144 := { base : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 0 }]!offset + local_#32593_n * 24 }; _memory[{ base : local_#25144!base, offset : local_#25144!offset + 8 }] := local_#6140_pc; local_#25145 := 1; local_#25146 := local_#32593_n + local_#25145; assert { :LIR "66733" } { :check "overflow" } { :finding_ids "0" } local_#25146 <= 2147483647; _memory[{ base : local_#6137_l!base, offset : local_#6137_l!offset + 8 }] := local_#25146; local_#8204 := local_#32593_n; goto CFG_37859; CFG_37859: assume true; } procedure routine_#34961_newprefile(local_#6141_L_IN : { base : int, offset : int }) returns (local_#8205 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6141_L : { base : int, offset : int }; var local_#25147 : int; var local_#25148 : { base : int, offset : int }; var local_#25149 : { base : int, offset : int }; var local_#32594_p : { base : int, offset : int }; var local_#25150 : { base : int, offset : int }; var local_#25151 : { base : int, offset : int }; local_#6141_L := local_#6141_L_IN; goto CFG_36949; CFG_36949: assume true; goto CFG_44179; CFG_44179: assume true; local_#25147 := 16; goto CFG_48096; CFG_48096: assume true; call local_#25148 := routine_#33954_lua_newuserdata(local_#6141_L,local_#25147); goto CFG_44180; CFG_44180: assume true; local_#25149 := local_#25148; assert { :LIR "61789" } { :check "overflow" } { :finding_ids "0" } true; local_#32594_p := local_#25149; _memory_ptr[{ base : local_#32594_p!base, offset : local_#32594_p!offset + 8 }] := { base : 0, offset : 0 }; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#25150 := strlit_#70446; local_#25151 := { base : local_#25150!base, offset : local_#25150!offset + 0 * 1 }; assert { :LIR "63635" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48097; CFG_48097: assume true; call routine_#33850_luaL_setmetatable(local_#6141_L,local_#25151); goto CFG_38867; CFG_38867: assume true; local_#8205 := local_#32594_p; goto CFG_37860; CFG_37860: assume true; } procedure routine_#34962_newupvalue(local_#6142_fs_IN : { base : int, offset : int }, local_#6143_name_IN : { base : int, offset : int }, local_#6144_v_IN : { base : int, offset : int }) returns (local_#8206 : int) modifies _memory, _memory_ptr, _valid; { var local_#6142_fs : { base : int, offset : int }; var local_#6143_name : { base : int, offset : int }; var local_#6144_v : { base : int, offset : int }; var local_#32595_f : { base : int, offset : int }; var local_#32596_oldsize : int; var local_#25152 : int; var local_#25153 : int; var local_#25154 : int; var local_#25155 : int; var local_#25156 : { base : int, offset : int }; var local_#25157 : { base : int, offset : int }; var local_#25158 : int; var local_#25159 : int; var local_#25160 : int; var local_#25161 : int; var local_#25162 : { base : int, offset : int }; var local_#25163 : { base : int, offset : int }; var local_#25164 : { base : int, offset : int }; var local_#25165 : { base : int, offset : int }; var local_#25166 : int; var local_#25167 : int; var local_#25168 : { base : int, offset : int }; var local_#25169 : { base : int, offset : int }; var local_#25170 : { base : int, offset : int }; var local_#25171 : { base : int, offset : int }; var local_#25172 : int; var local_#25173 : int; var local_#25174 : int; var local_#25175 : int; var local_#25176 : int; var local_#25177 : { base : int, offset : int }; var local_#25178 : { base : int, offset : int }; var local_#25179 : int; var local_#25180 : { base : int, offset : int }; var local_#25181 : { base : int, offset : int }; var local_#25182 : int; var local_#25183 : int; var local_#25184 : int; var local_#25185 : int; var local_#25186 : int; var local_#25187 : int; var local_#25188 : int; var local_#25189 : int; var local_#25190 : { base : int, offset : int }; var local_#25191 : { base : int, offset : int }; var local_#25192 : { base : int, offset : int }; var local_#25193 : { base : int, offset : int }; var local_#25194 : { base : int, offset : int }; var local_#25195 : { base : int, offset : int }; var local_#25196 : int; var local_#25197 : int; var local_#25198 : int; var local_#25199 : { base : int, offset : int }; var local_#25200 : int; var local_#25201 : int; var local_#25202 : { base : int, offset : int }; local_#6142_fs := local_#6142_fs_IN; local_#6143_name := local_#6143_name_IN; local_#6144_v := local_#6144_v_IN; goto CFG_36950; CFG_36950: assume true; goto CFG_44181; CFG_44181: assume true; local_#32595_f := _memory_ptr[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 0 }]; local_#32596_oldsize := _memory[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 16 }]; local_#25152 := _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }]; assert { :LIR "63636" } { :check "overflow" } { :finding_ids "0" } local_#25152 <= 2147483647; local_#25153 := 1; local_#25154 := local_#25152 + local_#25153; assert { :LIR "66734" } { :check "overflow" } { :finding_ids "0" } local_#25154 <= 2147483647; local_#25155 := 255; assume _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 0 }] == 117 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 1 }] == 112 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 2 }] == 118 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 3 }] == 97 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 4 }] == 108 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 5 }] == 117 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 6 }] == 101 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 7 }] == 115 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 8 }] == 0; local_#25156 := strlit_#70718; local_#25157 := { base : local_#25156!base, offset : local_#25156!offset + 0 * 1 }; assert { :LIR "63637" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48098; CFG_48098: assume true; call routine_#34632_checklimit(local_#6142_fs,local_#25154,local_#25155,local_#25157); goto CFG_50905; CFG_50905: assume true; local_#25158 := _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }]; assert { :LIR "63638" } { :check "overflow" } { :finding_ids "0" } local_#25158 <= 2147483647; local_#25159 := 1; local_#25160 := local_#25158 + local_#25159; assert { :LIR "66735" } { :check "overflow" } { :finding_ids "0" } local_#25160 <= 2147483647; local_#25161 := (if local_#25160 > _memory[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 16 }] then 1 else 0); if (local_#25161 != 0) { goto CFG_44182; } else { goto CFG_41795; } CFG_44182: assume true; local_#25162 := _memory_ptr[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 16 }]; local_#25163 := _memory_ptr[{ base : local_#25162!base, offset : local_#25162!offset + 56 }]; local_#25164 := _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]; assert { :LIR "63639" } { :check "overflow" } { :finding_ids "0" } true; local_#25165 := { base : local_#32595_f!base, offset : local_#32595_f!offset + 16 }; local_#25166 := 16; local_#25167 := 255; assume _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 0 }] == 117 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 1 }] == 112 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 2 }] == 118 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 3 }] == 97 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 4 }] == 108 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 5 }] == 117 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 6 }] == 101 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 7 }] == 115 && _memory[{ base : strlit_#70718!base, offset : strlit_#70718!offset + 8 }] == 0; local_#25168 := strlit_#70718; local_#25169 := { base : local_#25168!base, offset : local_#25168!offset + 0 * 1 }; assert { :LIR "63640" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48099; CFG_48099: assume true; call local_#25170 := routine_#33856_luaM_growaux_(local_#25163,local_#25164,local_#25165,local_#25166,local_#25167,local_#25169); goto CFG_41167; CFG_41167: assume true; local_#25171 := local_#25170; assert { :LIR "61790" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }] := local_#25171; goto CFG_41795; CFG_41795: assume true; goto CFG_50906; CFG_50906: assume true; local_#25172 := (if local_#32596_oldsize < _memory[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 16 }] then 1 else 0); if (local_#25172 != 0) { goto CFG_45136; } else { goto CFG_50907; } CFG_50907: assume true; local_#25173 := ~uwrap32(_memory[{ base : local_#6144_v!base, offset : local_#6144_v!offset + 0 }]); assert { :LIR "63641" } { :check "overflow" } { :finding_ids "0" } true; local_#25174 := 8; local_#25175 := (if local_#25173 == local_#25174 then 1 else 0); local_#25176 := ~uwrap8(local_#25175); assert { :LIR "63642" } { :check "overflow" } { :finding_ids "0" } true; local_#25177 := { base : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!offset + _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }] * 16 }; _memory[{ base : local_#25177!base, offset : local_#25177!offset + 8 }] := local_#25176; local_#25178 := { base : local_#6144_v!base, offset : local_#6144_v!offset + 8 }; local_#25179 := ~uwrap8(_memory[local_#25178]); assert { :LIR "61791" } { :check "overflow" } { :finding_ids "0" } true; local_#25180 := { base : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!offset + _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }] * 16 }; _memory[{ base : local_#25180!base, offset : local_#25180!offset + 9 }] := local_#25179; local_#25181 := { base : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!offset + _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }] * 16 }; _memory_ptr[{ base : local_#25181!base, offset : local_#25181!offset + 0 }] := local_#6143_name; local_#25182 := _memory[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 9 }]; assert { :LIR "63643" } { :check "overflow" } { :finding_ids "0" } local_#25182 <= 2147483647; local_#25183 := 4; local_#25184 := ~sand32(local_#25182, local_#25183); if (local_#25184 != 0) { goto CFG_50908; } else { goto CFG_41168; } CFG_50908: assume true; local_#25185 := _memory[{ base : local_#6143_name!base, offset : local_#6143_name!offset + 9 }]; assert { :LIR "63644" } { :check "overflow" } { :finding_ids "0" } local_#25185 <= 2147483647; local_#25186 := 3; local_#25187 := ~sand32(local_#25185, local_#25186); if (local_#25187 != 0) { goto CFG_44183; } else { goto CFG_41168; } CFG_41168: assume true; local_#25188 := 0; local_#25189 := 0; assert { :LIR "61792" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38868; CFG_44183: assume true; local_#25190 := _memory_ptr[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 16 }]; local_#25191 := _memory_ptr[{ base : local_#25190!base, offset : local_#25190!offset + 56 }]; local_#25192 := local_#32595_f; assert { :LIR "61793" } { :check "overflow" } { :finding_ids "0" } true; local_#25193 := { base : local_#25192!base, offset : local_#25192!offset + 0 }; local_#25194 := local_#6143_name; assert { :LIR "61794" } { :check "overflow" } { :finding_ids "0" } true; local_#25195 := { base : local_#25194!base, offset : local_#25194!offset + 0 }; goto CFG_48100; CFG_48100: assume true; call routine_#33720_luaC_barrier_(local_#25191,local_#25193,local_#25195); goto CFG_41169; CFG_41169: assume true; goto CFG_38868; CFG_38868: assume true; local_#25196 := _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }]; local_#25197 := 1; assume { :symbol "~uwrap8" } true; _memory[{ base : local_#6142_fs!base, offset : local_#6142_fs!offset + 59 }] := ~uwrap8(local_#25196 + local_#25197); assert { :LIR "66736" } { :check "overflow" } { :finding_ids "0" } true; local_#25198 := local_#25196; assert { :LIR "63645" } { :check "overflow" } { :finding_ids "0" } local_#25198 <= 2147483647; local_#8206 := local_#25198; goto CFG_37861; CFG_45136: assume true; local_#25199 := { base : 0, offset : 0 }; local_#25200 := local_#32596_oldsize; local_#25201 := 1; local_#32596_oldsize := local_#25200 + local_#25201; assert { :LIR "66737" } { :check "overflow" } { :finding_ids "0" } local_#32596_oldsize <= 2147483647; local_#25202 := { base : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#32595_f!base, offset : local_#32595_f!offset + 88 }]!offset + local_#25200 * 16 }; _memory_ptr[{ base : local_#25202!base, offset : local_#25202!offset + 0 }] := local_#25199; goto CFG_50906; CFG_37861: assume true; } procedure routine_#34963_nextc(local_#6145_rn_IN : { base : int, offset : int }) returns (local_#8207 : int) modifies _memory; { var local_#6145_rn : { base : int, offset : int }; var local_#25203 : int; var local_#25204 : int; var local_#25205 : int; var local_#25206 : { base : int, offset : int }; var local_#25207 : int; var local_#25208 : int; var local_#25209 : { base : int, offset : int }; var local_#25210 : { base : int, offset : int }; var local_#25211 : int; var local_#25212 : int; var local_#25213 : { base : int, offset : int }; var local_#25214 : int; var local_#25215 : { base : int, offset : int }; local_#6145_rn := local_#6145_rn_IN; goto CFG_36951; CFG_36951: assume true; goto CFG_50909; CFG_50909: assume true; local_#25203 := 200; local_#25204 := (if _memory[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 12 }] >= local_#25203 then 1 else 0); if (local_#25204 != 0) { goto CFG_38870; } else { goto CFG_44184; } CFG_44184: assume true; local_#25205 := _memory[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 8 }]; assert { :LIR "63646" } { :check "overflow" } { :finding_ids "0" } local_#25205 <= 127; local_#25206 := { base : local_#6145_rn!base, offset : local_#6145_rn!offset + 16 }; local_#25207 := _memory[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 12 }]; local_#25208 := 1; _memory[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 12 }] := local_#25207 + local_#25208; assert { :LIR "66738" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 12 }] <= -1; local_#25209 := { base : local_#25206!base, offset : local_#25206!offset + 0 * 1 + local_#25207 * 1 }; _memory[local_#25209] := local_#25205; local_#25210 := _memory_ptr[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 0 }]; goto CFG_48101; CFG_48101: assume true; call local_#25211 := routine_#33604_getc_unlocked(local_#25210); goto CFG_38869; CFG_38869: assume true; _memory[{ base : local_#6145_rn!base, offset : local_#6145_rn!offset + 8 }] := local_#25211; local_#8207 := 1; goto CFG_37862; CFG_38870: assume true; local_#25212 := 0; local_#25213 := { base : local_#6145_rn!base, offset : local_#6145_rn!offset + 16 }; local_#25214 := 0; local_#25215 := { base : local_#25213!base, offset : local_#25213!offset + 0 * 1 + local_#25214 * 1 }; _memory[local_#25215] := local_#25212; local_#8207 := 0; goto CFG_37862; CFG_37862: assume true; } procedure routine_#34964_nilK(local_#6146_fs_IN : { base : int, offset : int }) returns (local_#8208 : int) modifies _memory, _memory_ptr, _valid; { var local_#6146_fs : { base : int, offset : int }; var local_#32598_v : { base : int, offset : int }; var local_#32597_k : { base : int, offset : int }; var local_#32599_io : { base : int, offset : int }; var local_#25216 : { base : int, offset : int }; var local_#32600_x_ : { base : int, offset : int }; var local_#25217 : { base : int, offset : int }; var local_#25218 : { base : int, offset : int }; var local_#25219 : { base : int, offset : int }; var local_#25220 : int; var local_#25221 : int; var local_#25222 : { base : int, offset : int }; var local_#25223 : { base : int, offset : int }; var local_#25224 : int; local_#6146_fs := local_#6146_fs_IN; goto CFG_36952; CFG_36952: assume true; goto CFG_44185; CFG_44185: assume true; _memory[{ base : local_#32598_v!base, offset : local_#32598_v!offset + 8 }] := 0; local_#32599_io := local_#32597_k; local_#25216 := _memory_ptr[{ base : local_#6146_fs!base, offset : local_#6146_fs!offset + 16 }]; local_#32600_x_ := _memory_ptr[{ base : local_#25216!base, offset : local_#25216!offset + 80 }]; local_#25217 := local_#32600_x_; assert { :LIR "61795" } { :check "overflow" } { :finding_ids "0" } true; local_#25218 := { base : local_#25217!base, offset : local_#25217!offset + 0 }; local_#25219 := { base : local_#32599_io!base, offset : local_#32599_io!offset + 0 }; _memory_ptr[local_#25219] := local_#25218; _memory[{ base : local_#32599_io!base, offset : local_#32599_io!offset + 8 }] := 69; local_#25220 := 0; local_#25221 := 0; assert { :LIR "61796" } { :check "overflow" } { :finding_ids "0" } true; local_#25222 := local_#32597_k; local_#25223 := local_#32598_v; goto CFG_48102; CFG_48102: assume true; call local_#25224 := routine_#34572_addk(local_#6146_fs,local_#25222,local_#25223); goto CFG_38871; CFG_38871: assume true; local_#8208 := local_#25224; goto CFG_37863; CFG_37863: assume true; } procedure routine_#34965_noenv(local_#6147_L_IN : { base : int, offset : int }) returns (local_#8209 : int) modifies _memory, _memory_ptr, _valid; { var local_#6147_L : { base : int, offset : int }; var local_#25225 : int; var local_#25226 : { base : int, offset : int }; var local_#25227 : { base : int, offset : int }; var local_#25228 : int; var local_#25229 : int; var local_#25230 : int; var local_#32601_b : int; var local_#25231 : int; local_#6147_L := local_#6147_L_IN; goto CFG_36953; CFG_36953: assume true; goto CFG_44186; CFG_44186: assume true; local_#25225 := -1001000; assume _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 0 }] == 76 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 1 }] == 85 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 2 }] == 65 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 3 }] == 95 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 4 }] == 78 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 5 }] == 79 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 6 }] == 69 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 7 }] == 78 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 8 }] == 86 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 9 }] == 0; local_#25226 := strlit_#70720; local_#25227 := { base : local_#25226!base, offset : local_#25226!offset + 0 * 1 }; assert { :LIR "63647" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48103; CFG_48103: assume true; call local_#25228 := routine_#33930_lua_getfield(local_#6147_L,local_#25225,local_#25227); goto CFG_44187; CFG_44187: assume true; local_#25229 := -1; goto CFG_48104; CFG_48104: assume true; call local_#25230 := routine_#33992_lua_toboolean(local_#6147_L,local_#25229); goto CFG_44188; CFG_44188: assume true; local_#32601_b := local_#25230; local_#25231 := -2; goto CFG_48105; CFG_48105: assume true; call routine_#33987_lua_settop(local_#6147_L,local_#25231); goto CFG_38872; CFG_38872: assume true; local_#8209 := local_#32601_b; goto CFG_37864; CFG_37864: assume true; } procedure routine_#34966_nospecials(local_#6148_p_IN : { base : int, offset : int }, local_#6149_l_IN : int) returns (local_#8210 : int) { var local_#6148_p : { base : int, offset : int }; var local_#6149_l : int; var local_#32602_upto : int; var local_#25232 : { base : int, offset : int }; var local_#25233 : { base : int, offset : int }; var local_#25234 : { base : int, offset : int }; var local_#25235 : { base : int, offset : int }; var local_#25236 : { base : int, offset : int }; var local_#25237 : { base : int, offset : int }; var local_#25238 : int; var local_#25239 : int; var local_#25240 : int; var local_#25241 : int; local_#6148_p := local_#6148_p_IN; local_#6149_l := local_#6149_l_IN; goto CFG_36954; CFG_36954: assume true; goto CFG_41796; CFG_41796: assume true; local_#32602_upto := 0; goto CFG_44189; CFG_44189: assume true; local_#25232 := { base : local_#6148_p!base, offset : local_#6148_p!offset + local_#32602_upto * 1 }; assume _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 0 }] == 94 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 1 }] == 36 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 2 }] == 42 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 3 }] == 43 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 4 }] == 63 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 5 }] == 46 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 6 }] == 40 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 7 }] == 91 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 8 }] == 37 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 9 }] == 45 && _memory[{ base : strlit_#70721!base, offset : strlit_#70721!offset + 10 }] == 0; local_#25233 := strlit_#70721; local_#25234 := { base : local_#25233!base, offset : local_#25233!offset + 0 * 1 }; assert { :LIR "63648" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48106; CFG_48106: assume true; call local_#25235 := routine_#34458_strpbrk(local_#25232,local_#25234); goto CFG_50910; CFG_50910: assume true; local_#25236 := local_#25235; if (local_#25236 != { base : 0, offset : 0 }) { goto CFG_38874; } else { goto CFG_44190; } CFG_44190: assume true; local_#25237 := { base : local_#6148_p!base, offset : local_#6148_p!offset + local_#32602_upto * 1 }; goto CFG_48107; CFG_48107: assume true; call local_#25238 := routine_#34454_strlen(local_#25237); goto CFG_44191; CFG_44191: assume true; local_#25239 := 1; assume { :symbol "~uwrap64" } true; local_#25240 := ~uwrap64(local_#25238 + local_#25239); assert { :LIR "66739" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32602_upto := ~uwrap64(local_#32602_upto + local_#25240); assert { :LIR "66740" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_50911; CFG_50911: assume true; local_#25241 := (if local_#32602_upto <= local_#6149_l then 1 else 0); if (local_#25241 != 0) { goto CFG_45137; } else { goto CFG_38873; } CFG_38873: assume true; local_#8210 := 1; goto CFG_37865; CFG_45137: assume true; goto CFG_44189; CFG_38874: assume true; local_#8210 := 0; goto CFG_37865; CFG_37865: assume true; } procedure routine_#34967_numarith(local_#6150_L_IN : { base : int, offset : int }, local_#6151_op_IN : int, local_#6152_v1_IN : int, local_#6153_v2_IN : int) returns (local_#8211 : int) { var local_#6150_L : { base : int, offset : int }; var local_#6151_op : int; var local_#6152_v1 : int; var local_#6153_v2 : int; var local_#25242 : int; var local_#25243 : int; var local_#25244 : int; var nondet_#0 : int; var local_#25245 : int; var local_#32603_m : int; var nondet_#1 : int; var local_#25246 : int; var nondet_#2 : int; var local_#25247 : int; var nondet_#3 : bool; var local_#25248 : int; var nondet_#4 : int; var nondet_#5 : int; var local_#25249 : int; var local_#25250 : int; var nondet_#6 : int; var local_#25251 : int; var local_#25252 : int; var local_#25253 : int; var local_#25254 : int; var nondet_#7 : int; var local_#25255 : int; var nondet_#8 : int; var local_#25256 : int; var nondet_#9 : int; var local_#25257 : int; var nondet_#10 : int; var local_#25258 : int; local_#6150_L := local_#6150_L_IN; local_#6151_op := local_#6151_op_IN; local_#6152_v1 := local_#6152_v1_IN; local_#6153_v2 := local_#6153_v2_IN; goto CFG_36955; CFG_36955: assume true; goto CFG_51560; CFG_51560: assume true; local_#25242 := local_#6151_op; if (local_#25242 == 0) { goto CFG_38883; } if (local_#25242 == 1) { goto CFG_38882; } if (local_#25242 == 2) { goto CFG_38881; } if (local_#25242 == 5) { goto CFG_38880; } if (local_#25242 == 4) { goto CFG_44193; } if (local_#25242 == 6) { goto CFG_44192; } if (local_#25242 == 12) { goto CFG_38877; } if (local_#25242 == 3) { goto CFG_48108; } goto CFG_38875; CFG_38875: assume true; local_#25243 := 0; local_#25244 := 0; assert { :LIR "61797" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#0; local_#8211 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78634 */; goto CFG_37866; CFG_48108: assume true; call local_#25245 := routine_#33574_fmod(local_#6152_v1,local_#6153_v2); goto CFG_50912; CFG_50912: assume true; local_#32603_m := local_#25245; havoc nondet_#1; local_#25246 := nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68588. */; assert { :LIR "68588" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#2; local_#25247 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78635 */; havoc nondet_#3; local_#25248 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66289. */ then 1 else 0); if (local_#25248 != 0) { goto CFG_41170; } else { goto CFG_38876; } CFG_41170: assume true; havoc nondet_#4; local_#32603_m := nondet_#4 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66741. */; assert { :LIR "66741" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38876; CFG_38876: assume true; local_#8211 := local_#32603_m; goto CFG_37866; CFG_38877: assume true; havoc nondet_#5; local_#25249 := nondet_#5 /* IR2BOOGIE-ERROR: Unsupported type for unary - in 64667. */; assert { :LIR "64667" } { :check "overflow" } { :finding_ids "0" } true; local_#8211 := local_#25249; goto CFG_37866; CFG_44192: assume true; local_#25250 := 0; assert { :LIR "61798" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#6; local_#25251 := nondet_#6 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68650. */; assert { :LIR "68650" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48109; CFG_48109: assume true; call local_#25252 := routine_#33562_floor(local_#25251); goto CFG_38878; CFG_38878: assume true; local_#8211 := local_#25252; goto CFG_37866; CFG_44193: assume true; local_#25253 := 0; assert { :LIR "61799" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48110; CFG_48110: assume true; call local_#25254 := routine_#34060_pow(local_#6152_v1,local_#6153_v2); goto CFG_38879; CFG_38879: assume true; local_#8211 := local_#25254; goto CFG_37866; CFG_38880: assume true; havoc nondet_#7; local_#25255 := nondet_#7 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68651. */; assert { :LIR "68651" } { :check "overflow" } { :finding_ids "0" } true; local_#8211 := local_#25255; goto CFG_37866; CFG_38881: assume true; havoc nondet_#8; local_#25256 := nondet_#8 /* IR2BOOGIE-ERROR: Unsupported type for binary * in 68589. */; assert { :LIR "68589" } { :check "overflow" } { :finding_ids "0" } true; local_#8211 := local_#25256; goto CFG_37866; CFG_38882: assume true; havoc nondet_#9; local_#25257 := nondet_#9 /* IR2BOOGIE-ERROR: Unsupported type for binary - in 68115. */; assert { :LIR "68115" } { :check "overflow" } { :finding_ids "0" } true; local_#8211 := local_#25257; goto CFG_37866; CFG_38883: assume true; havoc nondet_#10; local_#25258 := nondet_#10 /* IR2BOOGIE-ERROR: Unsupported type for binary + in 66742. */; assert { :LIR "66742" } { :check "overflow" } { :finding_ids "0" } true; local_#8211 := local_#25258; goto CFG_37866; CFG_37866: assume true; } procedure routine_#34968_numusearray(local_#6154_t_IN : { base : int, offset : int }, local_#6155_nums_IN : { base : int, offset : int }) returns (local_#8212 : int) modifies _memory; { var local_#6154_t : { base : int, offset : int }; var local_#6155_nums : { base : int, offset : int }; var local_#32604_ause : int; var local_#32605_i : int; var local_#32606_lg : int; var local_#25259 : int; var local_#32607_ttlg : int; var local_#25260 : int; var local_#25261 : int; var local_#25262 : int; var local_#25263 : int; var local_#32608_lc : int; var local_#32609_lim : int; var local_#25264 : int; var local_#25265 : int; var local_#25266 : int; var local_#25267 : { base : int, offset : int }; var local_#25268 : int; var local_#25269 : int; var local_#25270 : int; var local_#25271 : int; var local_#25272 : int; var local_#25273 : int; var local_#25274 : int; var local_#25275 : int; var local_#25276 : { base : int, offset : int }; var local_#25277 : int; var local_#25278 : int; var local_#25279 : int; var local_#25280 : int; var local_#25281 : int; var local_#25282 : int; var local_#25283 : int; var local_#25284 : int; var local_#25285 : int; local_#6154_t := local_#6154_t_IN; local_#6155_nums := local_#6155_nums_IN; goto CFG_36956; CFG_36956: assume true; goto CFG_41797; CFG_41797: assume true; local_#32604_ause := 0; local_#32605_i := 1; local_#32606_lg := 0; local_#25259 := local_#32606_lg; local_#32607_ttlg := 1; local_#25260 := local_#32607_ttlg; local_#25261 := local_#25260; goto CFG_50913; CFG_50913: assume true; local_#25262 := 31; local_#25263 := (if local_#32606_lg <= local_#25262 then 1 else 0); if (local_#25263 != 0) { goto CFG_50914; } else { goto CFG_41954; } CFG_41954: assume true; goto CFG_38884; CFG_50914: assume true; local_#32608_lc := 0; local_#32609_lim := local_#32607_ttlg; local_#25264 := (if local_#32609_lim > _memory[{ base : local_#6154_t!base, offset : local_#6154_t!offset + 12 }] then 1 else 0); if (local_#25264 != 0) { goto CFG_50915; } else { goto CFG_41798; } CFG_50915: assume true; local_#32609_lim := _memory[{ base : local_#6154_t!base, offset : local_#6154_t!offset + 12 }]; local_#25265 := (if local_#32605_i > local_#32609_lim then 1 else 0); if (local_#25265 != 0) { goto CFG_39456; } else { goto CFG_41171; } CFG_41171: assume true; goto CFG_41798; CFG_41798: assume true; goto CFG_50916; CFG_50916: assume true; local_#25266 := (if local_#32605_i <= local_#32609_lim then 1 else 0); if (local_#25266 != 0) { goto CFG_50917; } else { goto CFG_44194; } CFG_44194: assume true; local_#25267 := { base : local_#6155_nums!base, offset : local_#6155_nums!offset + local_#32606_lg * 4 }; assume { :symbol "~uwrap32" } true; _memory[local_#25267] := ~uwrap32(_memory[local_#25267] + local_#32608_lc); assert { :LIR "66743" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#32604_ause := ~uwrap32(local_#32604_ause + local_#32608_lc); assert { :LIR "66744" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45138; CFG_45138: assume true; local_#25268 := local_#32606_lg; local_#25269 := 1; local_#32606_lg := local_#25268 + local_#25269; assert { :LIR "66745" } { :check "overflow" } { :finding_ids "0" } local_#32606_lg <= 2147483647; local_#25270 := local_#25268; local_#25271 := 2; assume { :symbol "~uwrap32" } true; local_#32607_ttlg := ~uwrap32(local_#32607_ttlg * local_#25271); assert { :LIR "68590" } { :check "overflow" } { :finding_ids "0" } true; local_#25272 := local_#32607_ttlg; local_#25273 := local_#25272; goto CFG_50913; CFG_50917: assume true; local_#25274 := 1; assume { :symbol "~uwrap32" } true; local_#25275 := ~uwrap32(local_#32605_i - local_#25274); assert { :LIR "68116" } { :check "overflow" } { :finding_ids "0" } true; local_#25276 := { base : _memory_ptr[{ base : local_#6154_t!base, offset : local_#6154_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6154_t!base, offset : local_#6154_t!offset + 16 }]!offset + local_#25275 * 16 }; local_#25277 := 0; local_#25278 := (if _memory[{ base : local_#25276!base, offset : local_#25276!offset + 8 }] == local_#25277 then 1 else 0); local_#25279 := (if local_#25278 != 0 then 0 else 1); if (local_#25279 != 0) { goto CFG_41172; } else { goto CFG_45139; } CFG_41172: assume true; local_#25280 := local_#32608_lc; local_#25281 := 1; assume { :symbol "~uwrap32" } true; local_#32608_lc := ~uwrap32(local_#25280 + local_#25281); assert { :LIR "66746" } { :check "overflow" } { :finding_ids "0" } true; local_#25282 := local_#25280; goto CFG_45139; CFG_45139: assume true; local_#25283 := local_#32605_i; local_#25284 := 1; assume { :symbol "~uwrap32" } true; local_#32605_i := ~uwrap32(local_#25283 + local_#25284); assert { :LIR "66747" } { :check "overflow" } { :finding_ids "0" } true; local_#25285 := local_#25283; goto CFG_50916; CFG_39456: assume true; goto CFG_38884; CFG_38884: assume true; local_#8212 := local_#32604_ause; goto CFG_37867; CFG_37867: assume true; } procedure routine_#34969_numusehash(local_#6156_t_IN : { base : int, offset : int }, local_#6157_nums_IN : { base : int, offset : int }, local_#6158_pna_IN : { base : int, offset : int }) returns (local_#8213 : int) modifies _memory; { var local_#6156_t : { base : int, offset : int }; var local_#6157_nums : { base : int, offset : int }; var local_#6158_pna : { base : int, offset : int }; var local_#32612_totaluse : int; var local_#32610_ause : int; var local_#25286 : int; var local_#25287 : int; var local_#25288 : int; var local_#32611_i : int; var local_#25289 : int; var local_#25290 : int; var local_#25291 : int; var local_#25292 : int; var local_#25293 : { base : int, offset : int }; var local_#32613_n : { base : int, offset : int }; var local_#25294 : int; var local_#25295 : int; var local_#25296 : int; var local_#25297 : { base : int, offset : int }; var local_#25298 : { base : int, offset : int }; var local_#25299 : int; var local_#25300 : int; var local_#25301 : int; var local_#25302 : int; local_#6156_t := local_#6156_t_IN; local_#6157_nums := local_#6157_nums_IN; local_#6158_pna := local_#6158_pna_IN; goto CFG_36957; CFG_36957: assume true; goto CFG_41799; CFG_41799: assume true; local_#32612_totaluse := 0; local_#32610_ause := 0; local_#25286 := 1; local_#25287 := _memory[{ base : local_#6156_t!base, offset : local_#6156_t!offset + 11 }]; assert { :LIR "63649" } { :check "overflow" } { :finding_ids "0" } local_#25287 <= 2147483647; local_#25288 := ~shl32(local_#25286, local_#25287); local_#32611_i := local_#25288; goto CFG_50918; CFG_50918: assume true; local_#25289 := local_#32611_i; local_#25290 := 1; local_#32611_i := local_#25289 - local_#25290; assert { :LIR "68117" } { :check "overflow" } { :finding_ids "0" } local_#32611_i <= 2147483647; local_#25291 := local_#25289; if (local_#25291 != 0) { goto CFG_50919; } else { goto CFG_38885; } CFG_38885: assume true; local_#25292 := ~uwrap32(local_#32610_ause); assert { :LIR "63650" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; _memory[local_#6158_pna] := ~uwrap32(_memory[local_#6158_pna] + local_#25292); assert { :LIR "66748" } { :check "overflow" } { :finding_ids "0" } true; local_#8213 := local_#32612_totaluse; goto CFG_37868; CFG_50919: assume true; local_#25293 := { base : _memory_ptr[{ base : local_#6156_t!base, offset : local_#6156_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6156_t!base, offset : local_#6156_t!offset + 24 }]!offset + local_#32611_i * 32 }; local_#32613_n := local_#25293; local_#25294 := 0; local_#25295 := (if _memory[{ base : local_#32613_n!base, offset : local_#32613_n!offset + 8 }] == local_#25294 then 1 else 0); local_#25296 := (if local_#25295 != 0 then 0 else 1); if (local_#25296 != 0) { goto CFG_44195; } else { goto CFG_45140; } CFG_44195: assume true; local_#25297 := { base : local_#32613_n!base, offset : local_#32613_n!offset + 16 }; local_#25298 := local_#25297; assert { :LIR "61800" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48111; CFG_48111: assume true; call local_#25299 := routine_#34671_countint(local_#25298,local_#6157_nums); goto CFG_41173; CFG_41173: assume true; local_#32610_ause := local_#32610_ause + local_#25299; assert { :LIR "66749" } { :check "overflow" } { :finding_ids "0" } local_#32610_ause <= 2147483647; local_#25300 := local_#32612_totaluse; local_#25301 := 1; local_#32612_totaluse := local_#25300 + local_#25301; assert { :LIR "66750" } { :check "overflow" } { :finding_ids "0" } local_#32612_totaluse <= 2147483647; local_#25302 := local_#25300; goto CFG_45140; CFG_45140: assume true; goto CFG_50918; CFG_37868: assume true; } procedure routine_#34970_open_func(local_#6159_ls_IN : { base : int, offset : int }, local_#6160_fs_IN : { base : int, offset : int }, local_#6161_bl_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6159_ls : { base : int, offset : int }; var local_#6160_fs : { base : int, offset : int }; var local_#6161_bl : { base : int, offset : int }; var local_#25303 : { base : int, offset : int }; var local_#32614_f : { base : int, offset : int }; var local_#25304 : int; local_#6159_ls := local_#6159_ls_IN; local_#6160_fs := local_#6160_fs_IN; local_#6161_bl := local_#6161_bl_IN; goto CFG_36958; CFG_36958: assume true; goto CFG_44196; CFG_44196: assume true; _memory_ptr[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 8 }] := _memory_ptr[{ base : local_#6159_ls!base, offset : local_#6159_ls!offset + 48 }]; _memory_ptr[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 16 }] := local_#6159_ls; _memory_ptr[{ base : local_#6159_ls!base, offset : local_#6159_ls!offset + 48 }] := local_#6160_fs; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 32 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 36 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 40 }] := -1; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 60 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 44 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 48 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 59 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 56 }] := 0; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 58 }] := 0; local_#25303 := _memory_ptr[{ base : local_#6159_ls!base, offset : local_#6159_ls!offset + 88 }]; _memory[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 52 }] := _memory[{ base : local_#25303!base, offset : local_#25303!offset + 8 }]; _memory_ptr[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 24 }] := { base : 0, offset : 0 }; local_#32614_f := _memory_ptr[{ base : local_#6160_fs!base, offset : local_#6160_fs!offset + 0 }]; _memory_ptr[{ base : local_#32614_f!base, offset : local_#32614_f!offset + 104 }] := _memory_ptr[{ base : local_#6159_ls!base, offset : local_#6159_ls!offset + 96 }]; _memory[{ base : local_#32614_f!base, offset : local_#32614_f!offset + 12 }] := 2; local_#25304 := 0; goto CFG_48112; CFG_48112: assume true; call routine_#34710_enterblock(local_#6160_fs,local_#6161_bl,local_#25304); goto CFG_39373; CFG_39373: assume true; goto CFG_37869; CFG_37869: assume true; } procedure routine_#34971_opencheck(local_#6162_L_IN : { base : int, offset : int }, local_#6163_fname_IN : { base : int, offset : int }, local_#6164_mode_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6162_L : { base : int, offset : int }; var local_#6163_fname : { base : int, offset : int }; var local_#6164_mode : { base : int, offset : int }; var local_#25305 : { base : int, offset : int }; var local_#32615_p : { base : int, offset : int }; var local_#25306 : { base : int, offset : int }; var local_#25307 : { base : int, offset : int }; var local_#25308 : int; var local_#25309 : { base : int, offset : int }; var local_#25310 : { base : int, offset : int }; var local_#25311 : { base : int, offset : int }; var local_#25312 : int; var local_#25313 : { base : int, offset : int }; var local_#25314 : int; local_#6162_L := local_#6162_L_IN; local_#6163_fname := local_#6163_fname_IN; local_#6164_mode := local_#6164_mode_IN; goto CFG_36959; CFG_36959: assume true; goto CFG_48113; CFG_48113: assume true; call local_#25305 := routine_#34959_newfile(local_#6162_L); goto CFG_44197; CFG_44197: assume true; local_#32615_p := local_#25305; goto CFG_48114; CFG_48114: assume true; call local_#25306 := routine_#33577_fopen(local_#6163_fname,local_#6164_mode); goto CFG_50920; CFG_50920: assume true; _memory_ptr[{ base : local_#32615_p!base, offset : local_#32615_p!offset + 0 }] := local_#25306; local_#25307 := { base : 0, offset : 0 }; local_#25308 := (if _memory_ptr[{ base : local_#32615_p!base, offset : local_#32615_p!offset + 0 }] == local_#25307 then 1 else 0); if (local_#25308 != 0) { goto CFG_44198; } else { goto CFG_39374; } CFG_44198: assume true; assume _memory[{ base : strlit_#70722!base, offset : strlit_#70722!offset + 26 }] == 0; local_#25309 := strlit_#70722; local_#25310 := { base : local_#25309!base, offset : local_#25309!offset + 0 * 1 }; assert { :LIR "63651" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48115; CFG_48115: assume true; call local_#25311 := routine_#33258___errno_location(); goto CFG_44199; CFG_44199: assume true; local_#25312 := _memory[local_#25311]; goto CFG_48116; CFG_48116: assume true; call local_#25313 := routine_#34451_strerror(local_#25312); goto CFG_48117; CFG_48117: assume true; call local_#25314 := routine_#33828_luaL_error(local_#6162_L,local_#25310,{ base : 0, offset : 0 }); goto CFG_41174; CFG_41174: assume true; goto CFG_39374; CFG_39374: assume true; goto CFG_37870; CFG_37870: assume true; } procedure routine_#34972_os_clock(local_#6165_L_IN : { base : int, offset : int }) returns (local_#8214 : int) modifies _memory, _memory_ptr; { var local_#6165_L : { base : int, offset : int }; var local_#25315 : int; var nondet_#0 : int; var local_#25316 : int; var nondet_#1 : int; var local_#25317 : int; var nondet_#2 : int; var local_#25318 : int; local_#6165_L := local_#6165_L_IN; goto CFG_36960; CFG_36960: assume true; goto CFG_48118; CFG_48118: assume true; call local_#25315 := routine_#33487_clock(); goto CFG_44200; CFG_44200: assume true; havoc nondet_#0; local_#25316 := nondet_#0 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 61801 */; assert { :LIR "61801" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#1; local_#25317 := nondet_#1 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78636 */; havoc nondet_#2; local_#25318 := nondet_#2 /* IR2BOOGIE-ERROR: Unsupported type for binary / in 68652. */; assert { :LIR "68652" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48119; CFG_48119: assume true; call routine_#33964_lua_pushnumber(local_#6165_L,local_#25318); goto CFG_38886; CFG_38886: assume true; local_#8214 := 1; goto CFG_37871; CFG_37871: assume true; } procedure routine_#34973_os_date(local_#6166_L_IN : { base : int, offset : int }) returns (local_#8215 : int) modifies _memory, _memory_ptr, _valid; { var local_#6166_L : { base : int, offset : int }; var local_#25319 : int; var local_#25320 : { base : int, offset : int }; var local_#25321 : { base : int, offset : int }; var local_#32618_slen : { base : int, offset : int }; var local_#25322 : { base : int, offset : int }; var local_#25323 : { base : int, offset : int }; var local_#32616_s : { base : int, offset : int }; var local_#25324 : int; var local_#25325 : int; var local_#25326 : int; var local_#25327 : int; var local_#25328 : int; var local_#25329 : int; var local_#30827 : int; var local_#25330 : { base : int, offset : int }; var local_#25331 : int; var local_#32620_t : { base : int, offset : int }; var local_#25332 : { base : int, offset : int }; var local_#32617_se : { base : int, offset : int }; var local_#25333 : int; var local_#25334 : int; var local_#25335 : int; var local_#25336 : { base : int, offset : int }; var local_#32621_tmr : { base : int, offset : int }; var local_#25337 : { base : int, offset : int }; var local_#25338 : { base : int, offset : int }; var local_#32619_stm : { base : int, offset : int }; var local_#25339 : { base : int, offset : int }; var local_#25340 : { base : int, offset : int }; var local_#25341 : { base : int, offset : int }; var local_#25342 : { base : int, offset : int }; var local_#25343 : int; var local_#25344 : { base : int, offset : int }; var local_#25345 : { base : int, offset : int }; var local_#25346 : int; var local_#25347 : { base : int, offset : int }; var local_#25348 : { base : int, offset : int }; var local_#25349 : int; var local_#25350 : int; var local_#25351 : int; var local_#32623_cc : { base : int, offset : int }; var local_#32622_b : { base : int, offset : int }; var local_#25352 : { base : int, offset : int }; var local_#25353 : int; var local_#25354 : { base : int, offset : int }; var local_#25355 : int; var local_#25356 : int; var local_#25357 : int; var local_#25358 : { base : int, offset : int }; var local_#25359 : int; var local_#25360 : { base : int, offset : int }; var local_#32624_buff : { base : int, offset : int }; var local_#25361 : { base : int, offset : int }; var local_#25362 : int; var local_#25363 : { base : int, offset : int }; var local_#25364 : int; var local_#25365 : int; var local_#25366 : { base : int, offset : int }; var local_#25367 : { base : int, offset : int }; var local_#25368 : int; var local_#25369 : { base : int, offset : int }; var local_#25370 : { base : int, offset : int }; var local_#25371 : int; var local_#32625_reslen : int; var local_#25372 : int; var local_#25373 : { base : int, offset : int }; var local_#25374 : int; var local_#25375 : { base : int, offset : int }; var local_#25376 : { base : int, offset : int }; var local_#30828 : int; var local_#25377 : int; var local_#25378 : { base : int, offset : int }; var local_#25379 : int; var local_#25380 : int; var local_#25381 : int; var local_#25382 : { base : int, offset : int }; var local_#25383 : int; var local_#25384 : int; var local_#25385 : int; var local_#25386 : int; var local_#25387 : { base : int, offset : int }; var local_#25388 : { base : int, offset : int }; var local_#25389 : int; local_#6166_L := local_#6166_L_IN; goto CFG_36961; CFG_36961: assume true; goto CFG_44201; CFG_44201: assume true; local_#25319 := 1; assume _memory[{ base : strlit_#70723!base, offset : strlit_#70723!offset + 0 }] == 37 && _memory[{ base : strlit_#70723!base, offset : strlit_#70723!offset + 1 }] == 99 && _memory[{ base : strlit_#70723!base, offset : strlit_#70723!offset + 2 }] == 0; local_#25320 := strlit_#70723; local_#25321 := { base : local_#25320!base, offset : local_#25320!offset + 0 * 1 }; assert { :LIR "63652" } { :check "overflow" } { :finding_ids "0" } true; local_#25322 := local_#32618_slen; goto CFG_48120; CFG_48120: assume true; call local_#25323 := routine_#33842_luaL_optlstring(local_#6166_L,local_#25319,local_#25321,local_#25322); goto CFG_44202; CFG_44202: assume true; local_#32616_s := local_#25323; local_#25324 := 2; goto CFG_48121; CFG_48121: assume true; call local_#25325 := routine_#34000_lua_type(local_#6166_L,local_#25324); goto CFG_50921; CFG_50921: assume true; local_#25326 := 0; local_#25327 := (if local_#25325 <= local_#25326 then 1 else 0); if (local_#25327 != 0) { goto CFG_44204; } else { goto CFG_44203; } CFG_44203: assume true; local_#25328 := 2; goto CFG_48122; CFG_48122: assume true; call local_#25329 := routine_#34843_l_checktime(local_#6166_L,local_#25328); goto CFG_41175; CFG_41175: assume true; local_#30827 := local_#25329; goto CFG_50922; CFG_44204: assume true; local_#25330 := { base : 0, offset : 0 }; goto CFG_48123; CFG_48123: assume true; call local_#25331 := routine_#34493_time(local_#25330); goto CFG_41176; CFG_41176: assume true; local_#30827 := local_#25331; goto CFG_50922; CFG_50922: assume true; _memory[local_#32620_t] := local_#30827; local_#25332 := { base : local_#32616_s!base, offset : local_#32616_s!offset + _memory[local_#32618_slen] * 1 }; local_#32617_se := local_#25332; local_#25333 := _memory[local_#32616_s]; assert { :LIR "63653" } { :check "overflow" } { :finding_ids "0" } local_#25333 <= 2147483647; local_#25334 := 33; local_#25335 := (if local_#25333 == local_#25334 then 1 else 0); if (local_#25335 != 0) { goto CFG_44206; } else { goto CFG_44205; } CFG_44205: assume true; local_#25336 := local_#32620_t; assert { :LIR "63654" } { :check "overflow" } { :finding_ids "0" } true; local_#25337 := local_#32621_tmr; goto CFG_48124; CFG_48124: assume true; call local_#25338 := routine_#33694_localtime_r(local_#25336,local_#25337); goto CFG_41177; CFG_41177: assume true; local_#32619_stm := local_#25338; goto CFG_50923; CFG_44206: assume true; local_#25339 := local_#32620_t; assert { :LIR "63655" } { :check "overflow" } { :finding_ids "0" } true; local_#25340 := local_#32621_tmr; goto CFG_48125; CFG_48125: assume true; call local_#25341 := routine_#33628_gmtime_r(local_#25339,local_#25340); goto CFG_41178; CFG_41178: assume true; local_#32619_stm := local_#25341; local_#25342 := local_#32616_s; local_#25343 := 1; local_#32616_s := { base : local_#25342!base, offset : local_#25342!offset + local_#25343 * 1 }; local_#25344 := local_#25342; goto CFG_50923; CFG_50923: assume true; local_#25345 := { base : 0, offset : 0 }; local_#25346 := (if local_#32619_stm == local_#25345 then 1 else 0); if (local_#25346 != 0) { goto CFG_44215; } else { goto CFG_44207; } CFG_44207: assume true; assume _memory[{ base : strlit_#70724!base, offset : strlit_#70724!offset + 0 }] == 42 && _memory[{ base : strlit_#70724!base, offset : strlit_#70724!offset + 1 }] == 116 && _memory[{ base : strlit_#70724!base, offset : strlit_#70724!offset + 2 }] == 0; local_#25347 := strlit_#70724; local_#25348 := { base : local_#25347!base, offset : local_#25347!offset + 0 * 1 }; assert { :LIR "63656" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48126; CFG_48126: assume true; call local_#25349 := routine_#34446_strcmp(local_#32616_s,local_#25348); goto CFG_50924; CFG_50924: assume true; local_#25350 := 0; local_#25351 := (if local_#25349 == local_#25350 then 1 else 0); if (local_#25351 != 0) { goto CFG_44214; } else { goto CFG_44208; } CFG_44208: assume true; _memory[{ base : local_#32623_cc!base, offset : local_#32623_cc!offset + 0 * 1 }] := 37; local_#25352 := local_#32622_b; goto CFG_48127; CFG_48127: assume true; call routine_#33816_luaL_buffinit(local_#6166_L,local_#25352); goto CFG_41800; CFG_41800: assume true; goto CFG_50925; CFG_50925: assume true; local_#25353 := (if local_#32616_s!offset < local_#32617_se!offset then 1 else 0); if (local_#25353 != 0) { goto CFG_50926; } else { goto CFG_44209; } CFG_44209: assume true; local_#25354 := local_#32622_b; goto CFG_48128; CFG_48128: assume true; call routine_#33845_luaL_pushresult(local_#25354); goto CFG_41179; CFG_41179: assume true; goto CFG_38887; CFG_50926: assume true; local_#25355 := _memory[local_#32616_s]; assert { :LIR "63657" } { :check "overflow" } { :finding_ids "0" } local_#25355 <= 2147483647; local_#25356 := 37; local_#25357 := (if local_#25355 != local_#25356 then 1 else 0); if (local_#25357 != 0) { goto CFG_50927; } else { goto CFG_44210; } CFG_44210: assume true; local_#25358 := local_#32622_b; local_#25359 := 250; goto CFG_48129; CFG_48129: assume true; call local_#25360 := routine_#33844_luaL_prepbuffsize(local_#25358,local_#25359); goto CFG_44211; CFG_44211: assume true; local_#32624_buff := local_#25360; local_#25361 := local_#32616_s; local_#25362 := 1; local_#32616_s := { base : local_#25361!base, offset : local_#25361!offset + local_#25362 * 1 }; local_#25363 := local_#25361; local_#25364 := (local_#32617_se!offset - local_#32616_s!offset) / 1; local_#25365 := 1; local_#25366 := { base : local_#32623_cc!base, offset : local_#32623_cc!offset + 0 * 1 + local_#25365 * 1 }; goto CFG_48130; CFG_48130: assume true; call local_#25367 := routine_#34638_checkoption(local_#6166_L,local_#32616_s,local_#25364,local_#25366); goto CFG_44212; CFG_44212: assume true; local_#32616_s := local_#25367; local_#25368 := 250; local_#25369 := { base : local_#32623_cc!base, offset : local_#32623_cc!offset + 0 * 1 }; assert { :LIR "63658" } { :check "overflow" } { :finding_ids "0" } true; local_#25370 := local_#32619_stm; assert { :LIR "63659" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48131; CFG_48131: assume true; call local_#25371 := routine_#34453_strftime(local_#32624_buff,local_#25368,local_#25369,local_#25370); goto CFG_41180; CFG_41180: assume true; local_#32625_reslen := local_#25371; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 16 }] + local_#32625_reslen); assert { :LIR "66751" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45141; CFG_50927: assume true; local_#25372 := (if _memory[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 16 }] < _memory[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 8 }] then 1 else 0); if (local_#25372 != 0) { goto CFG_41182; } else { goto CFG_44213; } CFG_44213: assume true; local_#25373 := local_#32622_b; local_#25374 := 1; goto CFG_48132; CFG_48132: assume true; call local_#25375 := routine_#33844_luaL_prepbuffsize(local_#25373,local_#25374); goto CFG_50928; CFG_50928: assume true; local_#25376 := local_#25375; if (local_#25376 != { base : 0, offset : 0 }) { goto CFG_41182; } else { goto CFG_41181; } CFG_41181: assume true; local_#30828 := 0; goto CFG_41183; CFG_41182: assume true; local_#30828 := 1; goto CFG_41183; CFG_41183: assume true; local_#25377 := 0; assert { :LIR "61802" } { :check "overflow" } { :finding_ids "0" } true; local_#25378 := local_#32616_s; local_#25379 := 1; local_#32616_s := { base : local_#25378!base, offset : local_#25378!offset + local_#25379 * 1 }; local_#25380 := _memory[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 16 }]; local_#25381 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 16 }] := ~uwrap64(local_#25380 + local_#25381); assert { :LIR "66752" } { :check "overflow" } { :finding_ids "0" } true; local_#25382 := { base : _memory_ptr[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32622_b!base, offset : local_#32622_b!offset + 0 }]!offset + local_#25380 * 1 }; _memory[local_#25382] := _memory[local_#25378]; local_#25383 := _memory[local_#25382]; local_#25384 := local_#25383; goto CFG_45141; CFG_45141: assume true; goto CFG_50925; CFG_44214: assume true; local_#25385 := 0; local_#25386 := 9; goto CFG_48133; CFG_48133: assume true; call routine_#33925_lua_createtable(local_#6166_L,local_#25385,local_#25386); goto CFG_48134; CFG_48134: assume true; call routine_#35055_setallfields(local_#6166_L,local_#32619_stm); goto CFG_41184; CFG_41184: assume true; goto CFG_38887; CFG_38887: assume true; local_#8215 := 1; goto CFG_37872; CFG_44215: assume true; assume _memory[{ base : strlit_#70725!base, offset : strlit_#70725!offset + 54 }] == 0; local_#25387 := strlit_#70725; local_#25388 := { base : local_#25387!base, offset : local_#25387!offset + 0 * 1 }; assert { :LIR "63660" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48135; CFG_48135: assume true; call local_#25389 := routine_#33828_luaL_error(local_#6166_L,local_#25388,{ base : 0, offset : 0 }); goto CFG_38888; CFG_38888: assume true; local_#8215 := local_#25389; goto CFG_37872; CFG_37872: assume true; } procedure routine_#34974_os_difftime(local_#6167_L_IN : { base : int, offset : int }) returns (local_#8216 : int) modifies _memory, _memory_ptr, _valid; { var local_#6167_L : { base : int, offset : int }; var local_#25390 : int; var local_#25391 : int; var local_#32626_t1 : int; var local_#25392 : int; var local_#25393 : int; var local_#32627_t2 : int; var local_#25394 : int; var nondet_#0 : int; var local_#25395 : int; local_#6167_L := local_#6167_L_IN; goto CFG_36962; CFG_36962: assume true; goto CFG_44216; CFG_44216: assume true; local_#25390 := 1; goto CFG_48136; CFG_48136: assume true; call local_#25391 := routine_#34843_l_checktime(local_#6167_L,local_#25390); goto CFG_44217; CFG_44217: assume true; local_#32626_t1 := local_#25391; local_#25392 := 2; goto CFG_48137; CFG_48137: assume true; call local_#25393 := routine_#34843_l_checktime(local_#6167_L,local_#25392); goto CFG_44218; CFG_44218: assume true; local_#32627_t2 := local_#25393; goto CFG_48138; CFG_48138: assume true; call local_#25394 := routine_#33509_difftime(local_#32626_t1,local_#32627_t2); goto CFG_44219; CFG_44219: assume true; havoc nondet_#0; local_#25395 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61803 */; assert { :LIR "61803" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48139; CFG_48139: assume true; call routine_#33964_lua_pushnumber(local_#6167_L,local_#25395); goto CFG_38889; CFG_38889: assume true; local_#8216 := 1; goto CFG_37873; CFG_37873: assume true; } procedure routine_#34975_os_execute(local_#6168_L_IN : { base : int, offset : int }) returns (local_#8217 : int) modifies _memory, _memory_ptr, _valid; { var local_#6168_L : { base : int, offset : int }; var local_#25396 : int; var local_#25397 : { base : int, offset : int }; var local_#25398 : { base : int, offset : int }; var local_#25399 : { base : int, offset : int }; var local_#32628_cmd : { base : int, offset : int }; var local_#25400 : int; var local_#32629_stat : int; var local_#25401 : { base : int, offset : int }; var local_#25402 : int; var local_#25403 : int; local_#6168_L := local_#6168_L_IN; goto CFG_36963; CFG_36963: assume true; goto CFG_44220; CFG_44220: assume true; local_#25396 := 1; local_#25397 := { base : 0, offset : 0 }; local_#25398 := { base : 0, offset : 0 }; goto CFG_48140; CFG_48140: assume true; call local_#25399 := routine_#33842_luaL_optlstring(local_#6168_L,local_#25396,local_#25397,local_#25398); goto CFG_44221; CFG_44221: assume true; local_#32628_cmd := local_#25399; goto CFG_48141; CFG_48141: assume true; call local_#25400 := routine_#34477_system(local_#32628_cmd); goto CFG_50929; CFG_50929: assume true; local_#32629_stat := local_#25400; local_#25401 := { base : 0, offset : 0 }; local_#25402 := (if local_#32628_cmd != local_#25401 then 1 else 0); if (local_#25402 != 0) { goto CFG_48143; } else { goto CFG_48142; } CFG_48142: assume true; call routine_#33957_lua_pushboolean(local_#6168_L,local_#32629_stat); goto CFG_38890; CFG_38890: assume true; local_#8217 := 1; goto CFG_37874; CFG_48143: assume true; call local_#25403 := routine_#33829_luaL_execresult(local_#6168_L,local_#32629_stat); goto CFG_38891; CFG_38891: assume true; local_#8217 := local_#25403; goto CFG_37874; CFG_37874: assume true; } procedure routine_#34976_os_exit(local_#6169_L_IN : { base : int, offset : int }) returns (local_#8218 : int) modifies _memory, _memory_ptr, _valid; { var local_#6169_L : { base : int, offset : int }; var local_#25404 : int; var local_#25405 : int; var local_#25406 : int; var local_#25407 : int; var local_#25408 : int; var local_#25409 : int; var local_#25410 : int; var local_#25411 : int; var local_#32630_status : int; var local_#25412 : int; var local_#25413 : int; var local_#25414 : int; var local_#30829 : int; var local_#25415 : int; var local_#25416 : int; var local_#25417 : int; var local_#25418 : { base : int, offset : int }; local_#6169_L := local_#6169_L_IN; goto CFG_36964; CFG_36964: assume true; goto CFG_44222; CFG_44222: assume true; local_#25404 := 1; goto CFG_48144; CFG_48144: assume true; call local_#25405 := routine_#34000_lua_type(local_#6169_L,local_#25404); goto CFG_50930; CFG_50930: assume true; local_#25406 := 1; local_#25407 := (if local_#25405 == local_#25406 then 1 else 0); if (local_#25407 != 0) { goto CFG_44224; } else { goto CFG_44223; } CFG_44223: assume true; local_#25408 := 1; local_#25409 := 0; goto CFG_48145; CFG_48145: assume true; call local_#25410 := routine_#33841_luaL_optinteger(local_#6169_L,local_#25408,local_#25409); goto CFG_41185; CFG_41185: assume true; local_#25411 := local_#25410; assert { :LIR "61804" } { :check "overflow" } { :finding_ids "0" } local_#25411 <= 2147483647; local_#32630_status := local_#25411; goto CFG_44225; CFG_44224: assume true; local_#25412 := 1; goto CFG_48146; CFG_48146: assume true; call local_#25413 := routine_#33992_lua_toboolean(local_#6169_L,local_#25412); goto CFG_50931; CFG_50931: assume true; local_#25414 := local_#25413; if (local_#25414 != 0) { goto CFG_41187; } else { goto CFG_41186; } CFG_41186: assume true; local_#30829 := 1; goto CFG_41188; CFG_41187: assume true; local_#30829 := 0; goto CFG_41188; CFG_41188: assume true; local_#32630_status := local_#30829; goto CFG_44225; CFG_44225: assume true; local_#25415 := 2; goto CFG_48147; CFG_48147: assume true; call local_#25416 := routine_#33992_lua_toboolean(local_#6169_L,local_#25415); goto CFG_50932; CFG_50932: assume true; local_#25417 := local_#25416; if (local_#25417 != 0) { goto CFG_48148; } else { goto CFG_50933; } CFG_48148: assume true; call routine_#33921_lua_close(local_#6169_L); goto CFG_41189; CFG_41189: assume true; goto CFG_50933; CFG_50933: assume true; local_#25418 := local_#6169_L; if (local_#25418 != { base : 0, offset : 0 }) { goto CFG_48149; } else { goto CFG_38892; } CFG_38892: assume true; local_#8218 := 0; goto CFG_37875; CFG_48149: assume true; call routine_#33532_exit(local_#32630_status); CFG_37875: assume true; } procedure routine_#34977_os_getenv(local_#6170_L_IN : { base : int, offset : int }) returns (local_#8219 : int) modifies _memory, _memory_ptr, _valid; { var local_#6170_L : { base : int, offset : int }; var local_#25419 : int; var local_#25420 : { base : int, offset : int }; var local_#25421 : { base : int, offset : int }; var local_#25422 : { base : int, offset : int }; var local_#25423 : { base : int, offset : int }; var local_#25424 : { base : int, offset : int }; local_#6170_L := local_#6170_L_IN; goto CFG_36965; CFG_36965: assume true; goto CFG_44226; CFG_44226: assume true; local_#25419 := 1; local_#25420 := { base : 0, offset : 0 }; goto CFG_48150; CFG_48150: assume true; call local_#25421 := routine_#33821_luaL_checklstring(local_#6170_L,local_#25419,local_#25420); goto CFG_48151; CFG_48151: assume true; call local_#25422 := routine_#33610_getenv(local_#25421); goto CFG_44227; CFG_44227: assume true; local_#25423 := local_#25422; assert { :LIR "63661" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48152; CFG_48152: assume true; call local_#25424 := routine_#33965_lua_pushstring(local_#6170_L,local_#25423); goto CFG_38893; CFG_38893: assume true; local_#8219 := 1; goto CFG_37876; CFG_37876: assume true; } procedure routine_#34978_os_remove(local_#6171_L_IN : { base : int, offset : int }) returns (local_#8220 : int) modifies _memory, _memory_ptr, _valid; { var local_#6171_L : { base : int, offset : int }; var local_#25425 : int; var local_#25426 : { base : int, offset : int }; var local_#25427 : { base : int, offset : int }; var local_#32631_filename : { base : int, offset : int }; var local_#25428 : int; var local_#25429 : int; var local_#25430 : int; var local_#25431 : int; local_#6171_L := local_#6171_L_IN; goto CFG_36966; CFG_36966: assume true; goto CFG_44228; CFG_44228: assume true; local_#25425 := 1; local_#25426 := { base : 0, offset : 0 }; goto CFG_48153; CFG_48153: assume true; call local_#25427 := routine_#33821_luaL_checklstring(local_#6171_L,local_#25425,local_#25426); goto CFG_44229; CFG_44229: assume true; local_#32631_filename := local_#25427; goto CFG_48154; CFG_48154: assume true; call local_#25428 := routine_#34092_remove(local_#32631_filename); goto CFG_44230; CFG_44230: assume true; local_#25429 := 0; local_#25430 := (if local_#25428 == local_#25429 then 1 else 0); goto CFG_48155; CFG_48155: assume true; call local_#25431 := routine_#33830_luaL_fileresult(local_#6171_L,local_#25430,local_#32631_filename); goto CFG_38894; CFG_38894: assume true; local_#8220 := local_#25431; goto CFG_37877; CFG_37877: assume true; } procedure routine_#34979_os_rename(local_#6172_L_IN : { base : int, offset : int }) returns (local_#8221 : int) modifies _memory, _memory_ptr, _valid; { var local_#6172_L : { base : int, offset : int }; var local_#25432 : int; var local_#25433 : { base : int, offset : int }; var local_#25434 : { base : int, offset : int }; var local_#32632_fromname : { base : int, offset : int }; var local_#25435 : int; var local_#25436 : { base : int, offset : int }; var local_#25437 : { base : int, offset : int }; var local_#32633_toname : { base : int, offset : int }; var local_#25438 : int; var local_#25439 : int; var local_#25440 : int; var local_#25441 : { base : int, offset : int }; var local_#25442 : int; local_#6172_L := local_#6172_L_IN; goto CFG_36967; CFG_36967: assume true; goto CFG_44231; CFG_44231: assume true; local_#25432 := 1; local_#25433 := { base : 0, offset : 0 }; goto CFG_48156; CFG_48156: assume true; call local_#25434 := routine_#33821_luaL_checklstring(local_#6172_L,local_#25432,local_#25433); goto CFG_44232; CFG_44232: assume true; local_#32632_fromname := local_#25434; local_#25435 := 2; local_#25436 := { base : 0, offset : 0 }; goto CFG_48157; CFG_48157: assume true; call local_#25437 := routine_#33821_luaL_checklstring(local_#6172_L,local_#25435,local_#25436); goto CFG_44233; CFG_44233: assume true; local_#32633_toname := local_#25437; goto CFG_48158; CFG_48158: assume true; call local_#25438 := routine_#34098_rename(local_#32632_fromname,local_#32633_toname); goto CFG_44234; CFG_44234: assume true; local_#25439 := 0; local_#25440 := (if local_#25438 == local_#25439 then 1 else 0); local_#25441 := { base : 0, offset : 0 }; goto CFG_48159; CFG_48159: assume true; call local_#25442 := routine_#33830_luaL_fileresult(local_#6172_L,local_#25440,local_#25441); goto CFG_38895; CFG_38895: assume true; local_#8221 := local_#25442; goto CFG_37878; CFG_37878: assume true; } procedure routine_#34980_os_setlocale(local_#6173_L_IN : { base : int, offset : int }) returns (local_#8222 : int) modifies _memory, _memory_ptr, _valid; { var local_#6173_L : { base : int, offset : int }; var local_#25443 : int; var local_#25444 : { base : int, offset : int }; var local_#25445 : { base : int, offset : int }; var local_#25446 : { base : int, offset : int }; var local_#32634_l : { base : int, offset : int }; var local_#25447 : int; var local_#25448 : { base : int, offset : int }; var local_#25449 : { base : int, offset : int }; var local_#25450 : { base : int, offset : int }; var local_#25451 : int; var local_#32635_op : int; var local_#25452 : int; var local_#25453 : { base : int, offset : int }; var local_#25454 : { base : int, offset : int }; var local_#25455 : { base : int, offset : int }; local_#6173_L := local_#6173_L_IN; goto CFG_36968; CFG_36968: assume true; goto CFG_44235; CFG_44235: assume true; local_#25443 := 1; local_#25444 := { base : 0, offset : 0 }; local_#25445 := { base : 0, offset : 0 }; goto CFG_48160; CFG_48160: assume true; call local_#25446 := routine_#33842_luaL_optlstring(local_#6173_L,local_#25443,local_#25444,local_#25445); goto CFG_44236; CFG_44236: assume true; local_#32634_l := local_#25446; local_#25447 := 2; assume _memory[{ base : strlit_#70726!base, offset : strlit_#70726!offset + 0 }] == 97 && _memory[{ base : strlit_#70726!base, offset : strlit_#70726!offset + 1 }] == 108 && _memory[{ base : strlit_#70726!base, offset : strlit_#70726!offset + 2 }] == 108 && _memory[{ base : strlit_#70726!base, offset : strlit_#70726!offset + 3 }] == 0; local_#25448 := strlit_#70726; local_#25449 := { base : local_#25448!base, offset : local_#25448!offset + 0 * 1 }; assert { :LIR "63662" } { :check "overflow" } { :finding_ids "0" } true; local_#25450 := { base : global_#31169_catnames!base, offset : global_#31169_catnames!offset + 0 * 8 }; goto CFG_48161; CFG_48161: assume true; call local_#25451 := routine_#33823_luaL_checkoption(local_#6173_L,local_#25447,local_#25449,local_#25450); goto CFG_44237; CFG_44237: assume true; local_#32635_op := local_#25451; local_#25452 := _memory[{ base : global_#31168_cat!base, offset : global_#31168_cat!offset + local_#32635_op * 4 }]; goto CFG_48162; CFG_48162: assume true; call local_#25453 := routine_#34396_setlocale(local_#25452,local_#32634_l); goto CFG_44238; CFG_44238: assume true; local_#25454 := local_#25453; assert { :LIR "63663" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48163; CFG_48163: assume true; call local_#25455 := routine_#33965_lua_pushstring(local_#6173_L,local_#25454); goto CFG_38896; CFG_38896: assume true; local_#8222 := 1; goto CFG_37879; CFG_37879: assume true; } procedure routine_#34981_os_time(local_#6174_L_IN : { base : int, offset : int }) returns (local_#8223 : int) modifies _memory, _memory_ptr, _valid; { var local_#6174_L : { base : int, offset : int }; var local_#25456 : int; var local_#25457 : int; var local_#25458 : int; var local_#25459 : int; var local_#25460 : int; var local_#25461 : int; var local_#25462 : int; var local_#25463 : { base : int, offset : int }; var local_#25464 : { base : int, offset : int }; var local_#25465 : int; var local_#25466 : int; var local_#25467 : int; var local_#32637_ts : { base : int, offset : int }; var local_#25468 : { base : int, offset : int }; var local_#25469 : { base : int, offset : int }; var local_#25470 : int; var local_#25471 : int; var local_#25472 : int; var local_#25473 : { base : int, offset : int }; var local_#25474 : { base : int, offset : int }; var local_#25475 : int; var local_#25476 : int; var local_#25477 : int; var local_#25478 : { base : int, offset : int }; var local_#25479 : { base : int, offset : int }; var local_#25480 : int; var local_#25481 : int; var local_#25482 : int; var local_#25483 : { base : int, offset : int }; var local_#25484 : { base : int, offset : int }; var local_#25485 : int; var local_#25486 : int; var local_#25487 : int; var local_#25488 : { base : int, offset : int }; var local_#25489 : { base : int, offset : int }; var local_#25490 : int; var local_#25491 : int; var local_#25492 : int; var local_#25493 : { base : int, offset : int }; var local_#25494 : { base : int, offset : int }; var local_#25495 : int; var local_#25496 : { base : int, offset : int }; var local_#25497 : int; var local_#32636_t : int; var local_#25498 : { base : int, offset : int }; var local_#25499 : { base : int, offset : int }; var local_#25500 : int; var local_#25501 : int; var local_#25502 : int; var local_#25503 : int; var local_#25504 : int; var local_#25505 : int; var local_#25506 : int; var local_#25507 : { base : int, offset : int }; var local_#25508 : { base : int, offset : int }; var local_#25509 : int; local_#6174_L := local_#6174_L_IN; goto CFG_36969; CFG_36969: assume true; goto CFG_44239; CFG_44239: assume true; local_#25456 := 1; goto CFG_48164; CFG_48164: assume true; call local_#25457 := routine_#34000_lua_type(local_#6174_L,local_#25456); goto CFG_50934; CFG_50934: assume true; local_#25458 := 0; local_#25459 := (if local_#25457 <= local_#25458 then 1 else 0); if (local_#25459 != 0) { goto CFG_44251; } else { goto CFG_44240; } CFG_44240: assume true; local_#25460 := 1; local_#25461 := 5; goto CFG_48165; CFG_48165: assume true; call routine_#33825_luaL_checktype(local_#6174_L,local_#25460,local_#25461); goto CFG_44241; CFG_44241: assume true; local_#25462 := 1; goto CFG_48166; CFG_48166: assume true; call routine_#33987_lua_settop(local_#6174_L,local_#25462); goto CFG_44242; CFG_44242: assume true; assume _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 0 }] == 115 && _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 1 }] == 101 && _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 2 }] == 99 && _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 3 }] == 0; local_#25463 := strlit_#70727; local_#25464 := { base : local_#25463!base, offset : local_#25463!offset + 0 * 1 }; assert { :LIR "63664" } { :check "overflow" } { :finding_ids "0" } true; local_#25465 := 0; local_#25466 := 0; goto CFG_48167; CFG_48167: assume true; call local_#25467 := routine_#34784_getfield(local_#6174_L,local_#25464,local_#25465,local_#25466); goto CFG_44243; CFG_44243: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 0 }] := local_#25467; assume _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 0 }] == 109 && _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 1 }] == 105 && _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 2 }] == 110 && _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 3 }] == 0; local_#25468 := strlit_#70728; local_#25469 := { base : local_#25468!base, offset : local_#25468!offset + 0 * 1 }; assert { :LIR "63665" } { :check "overflow" } { :finding_ids "0" } true; local_#25470 := 0; local_#25471 := 0; goto CFG_48168; CFG_48168: assume true; call local_#25472 := routine_#34784_getfield(local_#6174_L,local_#25469,local_#25470,local_#25471); goto CFG_44244; CFG_44244: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 4 }] := local_#25472; assume _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 0 }] == 104 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 1 }] == 111 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 2 }] == 117 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 3 }] == 114 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 4 }] == 0; local_#25473 := strlit_#70729; local_#25474 := { base : local_#25473!base, offset : local_#25473!offset + 0 * 1 }; assert { :LIR "63666" } { :check "overflow" } { :finding_ids "0" } true; local_#25475 := 12; local_#25476 := 0; goto CFG_48169; CFG_48169: assume true; call local_#25477 := routine_#34784_getfield(local_#6174_L,local_#25474,local_#25475,local_#25476); goto CFG_44245; CFG_44245: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 8 }] := local_#25477; assume _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 0 }] == 100 && _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 1 }] == 97 && _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 2 }] == 121 && _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 3 }] == 0; local_#25478 := strlit_#70730; local_#25479 := { base : local_#25478!base, offset : local_#25478!offset + 0 * 1 }; assert { :LIR "63667" } { :check "overflow" } { :finding_ids "0" } true; local_#25480 := -1; local_#25481 := 0; goto CFG_48170; CFG_48170: assume true; call local_#25482 := routine_#34784_getfield(local_#6174_L,local_#25479,local_#25480,local_#25481); goto CFG_44246; CFG_44246: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 12 }] := local_#25482; assume _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 0 }] == 109 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 1 }] == 111 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 2 }] == 110 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 3 }] == 116 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 4 }] == 104 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 5 }] == 0; local_#25483 := strlit_#70731; local_#25484 := { base : local_#25483!base, offset : local_#25483!offset + 0 * 1 }; assert { :LIR "63668" } { :check "overflow" } { :finding_ids "0" } true; local_#25485 := -1; local_#25486 := 1; goto CFG_48171; CFG_48171: assume true; call local_#25487 := routine_#34784_getfield(local_#6174_L,local_#25484,local_#25485,local_#25486); goto CFG_44247; CFG_44247: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 16 }] := local_#25487; assume _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 0 }] == 121 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 1 }] == 101 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 2 }] == 97 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 3 }] == 114 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 4 }] == 0; local_#25488 := strlit_#70732; local_#25489 := { base : local_#25488!base, offset : local_#25488!offset + 0 * 1 }; assert { :LIR "63669" } { :check "overflow" } { :finding_ids "0" } true; local_#25490 := -1; local_#25491 := 1900; goto CFG_48172; CFG_48172: assume true; call local_#25492 := routine_#34784_getfield(local_#6174_L,local_#25489,local_#25490,local_#25491); goto CFG_44248; CFG_44248: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 20 }] := local_#25492; assume _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 0 }] == 105 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 1 }] == 115 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 2 }] == 100 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 3 }] == 115 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 4 }] == 116 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 5 }] == 0; local_#25493 := strlit_#70733; local_#25494 := { base : local_#25493!base, offset : local_#25493!offset + 0 * 1 }; assert { :LIR "63670" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48173; CFG_48173: assume true; call local_#25495 := routine_#34779_getboolfield(local_#6174_L,local_#25494); goto CFG_44249; CFG_44249: assume true; _memory[{ base : local_#32637_ts!base, offset : local_#32637_ts!offset + 32 }] := local_#25495; local_#25496 := local_#32637_ts; goto CFG_48174; CFG_48174: assume true; call local_#25497 := routine_#34031_mktime(local_#25496); goto CFG_44250; CFG_44250: assume true; local_#32636_t := local_#25497; local_#25498 := local_#32637_ts; goto CFG_48175; CFG_48175: assume true; call routine_#35055_setallfields(local_#6174_L,local_#25498); goto CFG_41190; CFG_41190: assume true; goto CFG_50935; CFG_44251: assume true; local_#25499 := { base : 0, offset : 0 }; goto CFG_48176; CFG_48176: assume true; call local_#25500 := routine_#34493_time(local_#25499); goto CFG_41191; CFG_41191: assume true; local_#32636_t := local_#25500; goto CFG_50935; CFG_50935: assume true; local_#25501 := local_#32636_t; assert { :LIR "61805" } { :check "overflow" } { :finding_ids "0" } local_#25501 <= 9223372036854775807; local_#25502 := local_#25501; assert { :LIR "61806" } { :check "overflow" } { :finding_ids "0" } local_#25502 <= 9223372036854775807; local_#25503 := (if local_#32636_t != local_#25502 then 1 else 0); if (local_#25503 != 0) { goto CFG_44253; } else { goto CFG_50936; } CFG_50936: assume true; local_#25504 := -1; local_#25505 := (if local_#32636_t == local_#25504 then 1 else 0); if (local_#25505 != 0) { goto CFG_44253; } else { goto CFG_44252; } CFG_44252: assume true; local_#25506 := local_#32636_t; assert { :LIR "61807" } { :check "overflow" } { :finding_ids "0" } local_#25506 <= 9223372036854775807; goto CFG_48177; CFG_48177: assume true; call routine_#33960_lua_pushinteger(local_#6174_L,local_#25506); goto CFG_38897; CFG_38897: assume true; local_#8223 := 1; goto CFG_37880; CFG_44253: assume true; assume _memory[{ base : strlit_#70725!base, offset : strlit_#70725!offset + 54 }] == 0; local_#25507 := strlit_#70725; local_#25508 := { base : local_#25507!base, offset : local_#25507!offset + 0 * 1 }; assert { :LIR "63671" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48178; CFG_48178: assume true; call local_#25509 := routine_#33828_luaL_error(local_#6174_L,local_#25508,{ base : 0, offset : 0 }); goto CFG_38898; CFG_38898: assume true; local_#8223 := local_#25509; goto CFG_37880; CFG_37880: assume true; } procedure routine_#34982_os_tmpname(local_#6175_L_IN : { base : int, offset : int }) returns (local_#8224 : int) modifies _memory, _memory_ptr, _valid; { var local_#6175_L : { base : int, offset : int }; var local_#32638_buff : { base : int, offset : int }; var local_#25510 : { base : int, offset : int }; var local_#25511 : { base : int, offset : int }; var local_#25512 : { base : int, offset : int }; var local_#25513 : { base : int, offset : int }; var local_#25514 : { base : int, offset : int }; var local_#25515 : int; var local_#32639_err : int; var local_#25516 : int; var local_#25517 : int; var local_#25518 : int; var local_#25519 : int; var local_#25520 : int; var local_#25521 : int; var local_#25522 : { base : int, offset : int }; var local_#25523 : { base : int, offset : int }; var local_#25524 : { base : int, offset : int }; var local_#25525 : { base : int, offset : int }; var local_#25526 : int; local_#6175_L := local_#6175_L_IN; goto CFG_36970; CFG_36970: assume true; goto CFG_44254; CFG_44254: assume true; local_#25510 := { base : local_#32638_buff!base, offset : local_#32638_buff!offset + 0 * 1 }; assume _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 0 }] == 47 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 1 }] == 116 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 2 }] == 109 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 3 }] == 112 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 4 }] == 47 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 5 }] == 108 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 6 }] == 117 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 7 }] == 97 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 8 }] == 95 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 9 }] == 88 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 10 }] == 88 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 11 }] == 88 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 12 }] == 88 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 13 }] == 88 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 14 }] == 88 && _memory[{ base : strlit_#70735!base, offset : strlit_#70735!offset + 15 }] == 0; local_#25511 := strlit_#70735; local_#25512 := { base : local_#25511!base, offset : local_#25511!offset + 0 * 1 }; assert { :LIR "63672" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48179; CFG_48179: assume true; call local_#25513 := routine_#34448_strcpy(local_#25510,local_#25512); goto CFG_44255; CFG_44255: assume true; local_#25514 := { base : local_#32638_buff!base, offset : local_#32638_buff!offset + 0 * 1 }; goto CFG_48180; CFG_48180: assume true; call local_#25515 := routine_#34029_mkstemp(local_#25514); goto CFG_50937; CFG_50937: assume true; local_#32639_err := local_#25515; local_#25516 := -1; local_#25517 := (if local_#32639_err != local_#25516 then 1 else 0); if (local_#25517 != 0) { goto CFG_48181; } else { goto CFG_50938; } CFG_48181: assume true; call local_#25518 := routine_#33493_close(local_#32639_err); goto CFG_41192; CFG_41192: assume true; goto CFG_50938; CFG_50938: assume true; local_#25519 := -1; local_#25520 := (if local_#32639_err == local_#25519 then 1 else 0); local_#32639_err := local_#25520; local_#25521 := local_#32639_err; if (local_#25521 != 0) { goto CFG_44257; } else { goto CFG_44256; } CFG_44256: assume true; local_#25522 := { base : local_#32638_buff!base, offset : local_#32638_buff!offset + 0 * 1 }; assert { :LIR "63673" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48182; CFG_48182: assume true; call local_#25523 := routine_#33965_lua_pushstring(local_#6175_L,local_#25522); goto CFG_38899; CFG_38899: assume true; local_#8224 := 1; goto CFG_37881; CFG_44257: assume true; assume _memory[{ base : strlit_#70736!base, offset : strlit_#70736!offset + 36 }] == 0; local_#25524 := strlit_#70736; local_#25525 := { base : local_#25524!base, offset : local_#25524!offset + 0 * 1 }; assert { :LIR "63674" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48183; CFG_48183: assume true; call local_#25526 := routine_#33828_luaL_error(local_#6175_L,local_#25525,{ base : 0, offset : 0 }); goto CFG_38900; CFG_38900: assume true; local_#8224 := local_#25526; goto CFG_37881; CFG_37881: assume true; } procedure routine_#34983_pack(local_#6176_L_IN : { base : int, offset : int }) returns (local_#8225 : int) modifies _memory, _memory_ptr, _valid; { var local_#6176_L : { base : int, offset : int }; var local_#25527 : int; var local_#32641_n : int; var local_#25528 : int; var local_#25529 : int; var local_#25530 : int; var local_#32640_i : int; var local_#25531 : int; var local_#25532 : int; var local_#25533 : int; var local_#25534 : int; var local_#25535 : { base : int, offset : int }; var local_#25536 : { base : int, offset : int }; var local_#25537 : int; var local_#25538 : int; var local_#25539 : int; var local_#25540 : int; var local_#25541 : int; local_#6176_L := local_#6176_L_IN; goto CFG_36971; CFG_36971: assume true; goto CFG_48184; CFG_48184: assume true; call local_#25527 := routine_#33941_lua_gettop(local_#6176_L); goto CFG_44258; CFG_44258: assume true; local_#32641_n := local_#25527; local_#25528 := 1; goto CFG_48185; CFG_48185: assume true; call routine_#33925_lua_createtable(local_#6176_L,local_#32641_n,local_#25528); goto CFG_44259; CFG_44259: assume true; local_#25529 := 1; local_#25530 := 1; goto CFG_48186; CFG_48186: assume true; call routine_#33978_lua_rotate(local_#6176_L,local_#25529,local_#25530); goto CFG_41801; CFG_41801: assume true; local_#32640_i := local_#32641_n; goto CFG_50939; CFG_50939: assume true; local_#25531 := 1; local_#25532 := (if local_#32640_i >= local_#25531 then 1 else 0); if (local_#25532 != 0) { goto CFG_44262; } else { goto CFG_44260; } CFG_44260: assume true; local_#25533 := local_#32641_n; assert { :LIR "63675" } { :check "overflow" } { :finding_ids "0" } local_#25533 <= 9223372036854775807; goto CFG_48187; CFG_48187: assume true; call routine_#33960_lua_pushinteger(local_#6176_L,local_#25533); goto CFG_44261; CFG_44261: assume true; local_#25534 := 1; assume _memory[{ base : strlit_#70305!base, offset : strlit_#70305!offset + 0 }] == 110 && _memory[{ base : strlit_#70305!base, offset : strlit_#70305!offset + 1 }] == 0; local_#25535 := strlit_#70305; local_#25536 := { base : local_#25535!base, offset : local_#25535!offset + 0 * 1 }; assert { :LIR "63676" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48188; CFG_48188: assume true; call routine_#33980_lua_setfield(local_#6176_L,local_#25534,local_#25536); goto CFG_38901; CFG_38901: assume true; local_#8225 := 1; goto CFG_37882; CFG_44262: assume true; local_#25537 := 1; local_#25538 := local_#32640_i; assert { :LIR "63677" } { :check "overflow" } { :finding_ids "0" } local_#25538 <= 9223372036854775807; goto CFG_48189; CFG_48189: assume true; call routine_#33983_lua_seti(local_#6176_L,local_#25537,local_#25538); goto CFG_45142; CFG_45142: assume true; local_#25539 := local_#32640_i; local_#25540 := 1; local_#32640_i := local_#25539 - local_#25540; assert { :LIR "68118" } { :check "overflow" } { :finding_ids "0" } local_#32640_i <= 2147483647; local_#25541 := local_#25539; goto CFG_50939; CFG_37882: assume true; } procedure routine_#34984_packint(local_#6177_b_IN : { base : int, offset : int }, local_#6178_n_IN : int, local_#6179_islittle_IN : int, local_#6180_size_IN : int, local_#6181_neg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6177_b : { base : int, offset : int }; var local_#6178_n : int; var local_#6179_islittle : int; var local_#6180_size : int; var local_#6181_neg : int; var local_#25542 : int; var local_#25543 : { base : int, offset : int }; var local_#32642_buff : { base : int, offset : int }; var local_#25544 : int; var local_#25545 : int; var local_#25546 : int; var local_#25547 : int; var local_#25548 : int; var local_#25549 : int; var local_#30830 : int; var local_#25550 : { base : int, offset : int }; var local_#32643_i : int; var local_#25551 : int; var local_#25552 : int; var local_#25553 : int; var local_#25554 : int; var local_#25555 : int; var local_#25556 : int; var local_#25557 : int; var local_#25558 : int; var local_#25559 : int; var local_#25560 : int; var local_#25561 : int; var local_#30831 : int; var local_#25562 : { base : int, offset : int }; var local_#25563 : int; var local_#25564 : int; var local_#25565 : int; var local_#25566 : int; var local_#25567 : int; var local_#25568 : int; var local_#25569 : int; var local_#25570 : int; var local_#25571 : int; var local_#25572 : int; var local_#25573 : int; var local_#30832 : int; var local_#25574 : { base : int, offset : int }; var local_#25575 : int; var local_#25576 : int; var local_#25577 : int; local_#6177_b := local_#6177_b_IN; local_#6178_n := local_#6178_n_IN; local_#6179_islittle := local_#6179_islittle_IN; local_#6180_size := local_#6180_size_IN; local_#6181_neg := local_#6181_neg_IN; goto CFG_36972; CFG_36972: assume true; goto CFG_44263; CFG_44263: assume true; local_#25542 := ~uwrap64(local_#6180_size); assert { :LIR "63678" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48190; CFG_48190: assume true; call local_#25543 := routine_#33844_luaL_prepbuffsize(local_#6177_b,local_#25542); goto CFG_50940; CFG_50940: assume true; local_#32642_buff := local_#25543; local_#25544 := 255; local_#25545 := ~uand64(local_#6178_n, local_#25544); local_#25546 := local_#25545; assert { :LIR "61808" } { :check "overflow" } { :finding_ids "0" } local_#25546 <= 127; local_#25547 := local_#6179_islittle; if (local_#25547 != 0) { goto CFG_41194; } else { goto CFG_41193; } CFG_41193: assume true; local_#25548 := 1; local_#25549 := local_#6180_size - local_#25548; assert { :LIR "68119" } { :check "overflow" } { :finding_ids "0" } local_#25549 <= 2147483647; local_#30830 := local_#25549; goto CFG_41802; CFG_41194: assume true; local_#30830 := 0; goto CFG_41802; CFG_41802: assume true; local_#25550 := { base : local_#32642_buff!base, offset : local_#32642_buff!offset + local_#30830 * 1 }; _memory[local_#25550] := local_#25546; local_#32643_i := 1; goto CFG_50941; CFG_50941: assume true; local_#25551 := (if local_#32643_i < local_#6180_size then 1 else 0); if (local_#25551 != 0) { goto CFG_50946; } else { goto CFG_50942; } CFG_50942: assume true; local_#25552 := local_#6181_neg; if (local_#25552 != 0) { goto CFG_50943; } else { goto CFG_39375; } CFG_50943: assume true; local_#25553 := 8; local_#25554 := (if local_#6180_size > local_#25553 then 1 else 0); if (local_#25554 != 0) { goto CFG_41803; } else { goto CFG_39375; } CFG_41803: assume true; local_#32643_i := 8; goto CFG_50944; CFG_50944: assume true; local_#25555 := (if local_#32643_i < local_#6180_size then 1 else 0); if (local_#25555 != 0) { goto CFG_50945; } else { goto CFG_41195; } CFG_41195: assume true; goto CFG_39375; CFG_39375: assume true; local_#25556 := ~uwrap64(local_#6180_size); assert { :LIR "63679" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#6177_b!base, offset : local_#6177_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#6177_b!base, offset : local_#6177_b!offset + 16 }] + local_#25556); assert { :LIR "66753" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37883; CFG_50945: assume true; local_#25557 := -1; local_#25558 := local_#6179_islittle; if (local_#25558 != 0) { goto CFG_41197; } else { goto CFG_41196; } CFG_41196: assume true; local_#25559 := 1; local_#25560 := local_#6180_size - local_#25559; assert { :LIR "68120" } { :check "overflow" } { :finding_ids "0" } local_#25560 <= 2147483647; local_#25561 := local_#25560 - local_#32643_i; assert { :LIR "68121" } { :check "overflow" } { :finding_ids "0" } local_#25561 <= 2147483647; local_#30831 := local_#25561; goto CFG_44264; CFG_41197: assume true; local_#30831 := local_#32643_i; goto CFG_44264; CFG_44264: assume true; local_#25562 := { base : local_#32642_buff!base, offset : local_#32642_buff!offset + local_#30831 * 1 }; _memory[local_#25562] := local_#25557; goto CFG_45143; CFG_45143: assume true; local_#25563 := local_#32643_i; local_#25564 := 1; local_#32643_i := local_#25563 + local_#25564; assert { :LIR "66754" } { :check "overflow" } { :finding_ids "0" } local_#32643_i <= 2147483647; local_#25565 := local_#25563; goto CFG_50944; CFG_50946: assume true; local_#25566 := 8; local_#6178_n := ~lshr64(local_#6178_n, local_#25566); local_#25567 := 255; local_#25568 := ~uand64(local_#6178_n, local_#25567); local_#25569 := local_#25568; assert { :LIR "61809" } { :check "overflow" } { :finding_ids "0" } local_#25569 <= 127; local_#25570 := local_#6179_islittle; if (local_#25570 != 0) { goto CFG_41199; } else { goto CFG_41198; } CFG_41198: assume true; local_#25571 := 1; local_#25572 := local_#6180_size - local_#25571; assert { :LIR "68122" } { :check "overflow" } { :finding_ids "0" } local_#25572 <= 2147483647; local_#25573 := local_#25572 - local_#32643_i; assert { :LIR "68123" } { :check "overflow" } { :finding_ids "0" } local_#25573 <= 2147483647; local_#30832 := local_#25573; goto CFG_44265; CFG_41199: assume true; local_#30832 := local_#32643_i; goto CFG_44265; CFG_44265: assume true; local_#25574 := { base : local_#32642_buff!base, offset : local_#32642_buff!offset + local_#30832 * 1 }; _memory[local_#25574] := local_#25569; goto CFG_45144; CFG_45144: assume true; local_#25575 := local_#32643_i; local_#25576 := 1; local_#32643_i := local_#25575 + local_#25576; assert { :LIR "66755" } { :check "overflow" } { :finding_ids "0" } local_#32643_i <= 2147483647; local_#25577 := local_#25575; goto CFG_50941; CFG_37883: assume true; } procedure routine_#34985_pairsmeta(local_#6182_L_IN : { base : int, offset : int }, local_#6183_method_IN : { base : int, offset : int }, local_#6184_iszero_IN : int, local_#6185_iter_IN : { base : int, offset : int }) returns (local_#8226 : int) modifies _memory, _memory_ptr, _valid; { var local_#6182_L : { base : int, offset : int }; var local_#6183_method : { base : int, offset : int }; var local_#6184_iszero : int; var local_#6185_iter : { base : int, offset : int }; var local_#25578 : int; var local_#25579 : int; var local_#25580 : int; var local_#25581 : int; var local_#25582 : int; var local_#25583 : int; var local_#25584 : int; var local_#25585 : int; var local_#25586 : int; var local_#25587 : { base : int, offset : int }; var local_#25588 : int; var local_#25589 : int; var local_#25590 : int; var local_#25591 : int; local_#6182_L := local_#6182_L_IN; local_#6183_method := local_#6183_method_IN; local_#6184_iszero := local_#6184_iszero_IN; local_#6185_iter := local_#6185_iter_IN; goto CFG_36973; CFG_36973: assume true; goto CFG_44266; CFG_44266: assume true; local_#25578 := 1; goto CFG_48191; CFG_48191: assume true; call routine_#33819_luaL_checkany(local_#6182_L,local_#25578); goto CFG_44267; CFG_44267: assume true; local_#25579 := 1; goto CFG_48192; CFG_48192: assume true; call local_#25580 := routine_#33831_luaL_getmetafield(local_#6182_L,local_#25579,local_#6183_method); goto CFG_50947; CFG_50947: assume true; local_#25581 := 0; local_#25582 := (if local_#25580 == local_#25581 then 1 else 0); if (local_#25582 != 0) { goto CFG_44270; } else { goto CFG_44268; } CFG_44268: assume true; local_#25583 := 1; goto CFG_48193; CFG_48193: assume true; call routine_#33967_lua_pushvalue(local_#6182_L,local_#25583); goto CFG_44269; CFG_44269: assume true; local_#25584 := 1; local_#25585 := 3; local_#25586 := 0; local_#25587 := { base : 0, offset : 0 }; goto CFG_48194; CFG_48194: assume true; call routine_#33919_lua_callk(local_#6182_L,local_#25584,local_#25585,local_#25586,local_#25587); goto CFG_41200; CFG_41200: assume true; goto CFG_38902; CFG_44270: assume true; local_#25588 := 0; goto CFG_48195; CFG_48195: assume true; call routine_#33958_lua_pushcclosure(local_#6182_L,local_#6185_iter,local_#25588); goto CFG_44271; CFG_44271: assume true; local_#25589 := 1; goto CFG_48196; CFG_48196: assume true; call routine_#33967_lua_pushvalue(local_#6182_L,local_#25589); goto CFG_50948; CFG_50948: assume true; local_#25590 := local_#6184_iszero; if (local_#25590 != 0) { goto CFG_44272; } else { goto CFG_48197; } CFG_48197: assume true; call routine_#33963_lua_pushnil(local_#6182_L); goto CFG_41201; CFG_41201: assume true; goto CFG_41203; CFG_44272: assume true; local_#25591 := 0; goto CFG_48198; CFG_48198: assume true; call routine_#33960_lua_pushinteger(local_#6182_L,local_#25591); goto CFG_41202; CFG_41202: assume true; goto CFG_41203; CFG_41203: assume true; goto CFG_38902; CFG_38902: assume true; local_#8226 := 3; goto CFG_37884; CFG_37884: assume true; } procedure routine_#34986_panic(local_#6186_L_IN : { base : int, offset : int }) returns (local_#8227 : int) modifies _memory, _memory_ptr, _valid; { var local_#6186_L : { base : int, offset : int }; var local_#25592 : { base : int, offset : int }; var local_#25593 : { base : int, offset : int }; var local_#25594 : int; var local_#25595 : { base : int, offset : int }; var local_#25596 : { base : int, offset : int }; var local_#25597 : int; var local_#25598 : int; var local_#25599 : int; local_#6186_L := local_#6186_L_IN; goto CFG_36974; CFG_36974: assume true; goto CFG_44273; CFG_44273: assume true; assume _memory[{ base : strlit_#70738!base, offset : strlit_#70738!offset + 49 }] == 0; local_#25592 := strlit_#70738; local_#25593 := { base : local_#25592!base, offset : local_#25592!offset + 0 * 1 }; assert { :LIR "63680" } { :check "overflow" } { :finding_ids "0" } true; local_#25594 := -1; local_#25595 := { base : 0, offset : 0 }; goto CFG_48199; CFG_48199: assume true; call local_#25596 := routine_#33995_lua_tolstring(local_#6186_L,local_#25594,local_#25595); goto CFG_48200; CFG_48200: assume true; call local_#25597 := routine_#33580_fprintf(global_#33190_stderr,local_#25593,{ base : 0, offset : 0 }); goto CFG_48201; CFG_48201: assume true; call local_#25598 := routine_#33556_fflush(global_#33190_stderr); goto CFG_38903; CFG_38903: assume true; local_#25599 := local_#25598; local_#8227 := 0; goto CFG_37885; CFG_37885: assume true; } procedure routine_#34987_parlist(local_#6187_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6187_ls : { base : int, offset : int }; var local_#32645_fs : { base : int, offset : int }; var local_#32644_f : { base : int, offset : int }; var local_#32646_nparams : int; var local_#25600 : int; var local_#25601 : int; var local_#25602 : int; var local_#25603 : { base : int, offset : int }; var local_#25604 : { base : int, offset : int }; var local_#25605 : { base : int, offset : int }; var local_#25606 : int; var local_#25607 : int; var local_#25608 : int; var local_#25609 : int; var local_#25610 : int; var local_#25611 : int; var local_#25612 : int; var local_#25613 : int; var local_#25614 : int; local_#6187_ls := local_#6187_ls_IN; goto CFG_36975; CFG_36975: assume true; goto CFG_50949; CFG_50949: assume true; local_#32645_fs := _memory_ptr[{ base : local_#6187_ls!base, offset : local_#6187_ls!offset + 48 }]; local_#32644_f := _memory_ptr[{ base : local_#32645_fs!base, offset : local_#32645_fs!offset + 0 }]; local_#32646_nparams := 0; _memory[{ base : local_#32644_f!base, offset : local_#32644_f!offset + 11 }] := 0; local_#25600 := 41; local_#25601 := (if _memory[{ base : local_#6187_ls!base, offset : local_#6187_ls!offset + 16 }] != local_#25600 then 1 else 0); if (local_#25601 != 0) { goto CFG_41804; } else { goto CFG_48207; } CFG_41804: assume true; goto CFG_51561; CFG_51561: assume true; local_#25602 := _memory[{ base : local_#6187_ls!base, offset : local_#6187_ls!offset + 16 }]; if (local_#25602 == 292) { goto CFG_48204; } if (local_#25602 == 281) { goto CFG_48203; } goto CFG_44274; CFG_44274: assume true; assume _memory[{ base : strlit_#70739!base, offset : strlit_#70739!offset + 24 }] == 0; local_#25603 := strlit_#70739; local_#25604 := { base : local_#25603!base, offset : local_#25603!offset + 0 * 1 }; assert { :LIR "63681" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48202; CFG_48202: assume true; call routine_#33910_luaX_syntaxerror(local_#6187_ls,local_#25604); CFG_48203: assume true; call routine_#33908_luaX_next(local_#6187_ls); goto CFG_39692; CFG_39692: assume true; _memory[{ base : local_#32644_f!base, offset : local_#32644_f!offset + 11 }] := 1; goto CFG_50950; CFG_48204: assume true; call local_#25605 := routine_#35085_str_checkname(local_#6187_ls); goto CFG_48205; CFG_48205: assume true; call routine_#34956_new_localvar(local_#6187_ls,local_#25605); goto CFG_39693; CFG_39693: assume true; local_#25606 := local_#32646_nparams; local_#25607 := 1; local_#32646_nparams := local_#25606 + local_#25607; assert { :LIR "66756" } { :check "overflow" } { :finding_ids "0" } local_#32646_nparams <= 2147483647; local_#25608 := local_#25606; goto CFG_50950; CFG_50950: assume true; local_#25609 := (if _memory[{ base : local_#32644_f!base, offset : local_#32644_f!offset + 11 }] != 0 then 0 else 1); if (local_#25609 != 0) { goto CFG_44275; } else { goto CFG_41204; } CFG_44275: assume true; local_#25610 := 44; goto CFG_48206; CFG_48206: assume true; call local_#25611 := routine_#35112_testnext(local_#6187_ls,local_#25610); goto CFG_50951; CFG_50951: assume true; local_#25612 := local_#25611; if (local_#25612 != 0) { goto CFG_45145; } else { goto CFG_41204; } CFG_41204: assume true; goto CFG_48207; CFG_48207: assume true; call routine_#34581_adjustlocalvars(local_#6187_ls,local_#32646_nparams); goto CFG_44276; CFG_44276: assume true; local_#25613 := ~uwrap8(_memory[{ base : local_#32645_fs!base, offset : local_#32645_fs!offset + 58 }]); assert { :LIR "61810" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32644_f!base, offset : local_#32644_f!offset + 10 }] := local_#25613; local_#25614 := _memory[{ base : local_#32645_fs!base, offset : local_#32645_fs!offset + 58 }]; assert { :LIR "63682" } { :check "overflow" } { :finding_ids "0" } local_#25614 <= 2147483647; goto CFG_48208; CFG_48208: assume true; call routine_#33804_luaK_reserveregs(local_#32645_fs,local_#25614); goto CFG_39376; CFG_39376: assume true; goto CFG_37886; CFG_45145: assume true; goto CFG_51561; CFG_41955: assume true; goto CFG_50950; CFG_37886: assume true; } procedure routine_#34988_partition(local_#6188_L_IN : { base : int, offset : int }, local_#6189_lo_IN : int, local_#6190_up_IN : int) returns (local_#8228 : int) modifies _memory, _memory_ptr, _valid; { var local_#6188_L : { base : int, offset : int }; var local_#6189_lo : int; var local_#6190_up : int; var local_#32647_i : int; var local_#25615 : int; var local_#25616 : int; var local_#32648_j : int; var local_#25617 : int; var local_#25618 : int; var local_#25619 : int; var local_#25620 : int; var local_#25621 : int; var local_#25622 : int; var local_#25623 : int; var local_#25624 : int; var local_#25625 : int; var local_#25626 : int; var local_#25627 : int; var local_#25628 : int; var local_#25629 : int; var local_#25630 : int; var local_#25631 : int; var local_#25632 : int; var local_#25633 : int; var local_#25634 : int; var local_#25635 : int; var local_#25636 : int; var local_#25637 : int; var local_#25638 : int; var local_#25639 : { base : int, offset : int }; var local_#25640 : { base : int, offset : int }; var local_#25641 : int; var local_#25642 : int; var local_#25643 : int; var local_#25644 : int; var local_#25645 : int; var local_#25646 : { base : int, offset : int }; var local_#25647 : { base : int, offset : int }; var local_#25648 : int; var local_#25649 : int; local_#6188_L := local_#6188_L_IN; local_#6189_lo := local_#6189_lo_IN; local_#6190_up := local_#6190_up_IN; goto CFG_36976; CFG_36976: assume true; goto CFG_41805; CFG_41805: assume true; local_#32647_i := local_#6189_lo; local_#25615 := 1; assume { :symbol "~uwrap32" } true; local_#25616 := ~uwrap32(local_#6190_up - local_#25615); assert { :LIR "68124" } { :check "overflow" } { :finding_ids "0" } true; local_#32648_j := local_#25616; goto CFG_50952; CFG_50952: assume true; local_#25617 := 1; if (local_#25617 != 0) { goto CFG_41806; } else { goto CFG_37887; } CFG_41806: assume true; goto CFG_44277; CFG_44277: assume true; local_#25618 := 1; local_#25619 := 1; assume { :symbol "~uwrap32" } true; local_#32647_i := ~uwrap32(local_#32647_i + local_#25619); assert { :LIR "66757" } { :check "overflow" } { :finding_ids "0" } true; local_#25620 := local_#32647_i; assert { :LIR "63683" } { :check "overflow" } { :finding_ids "0" } local_#25620 <= 9223372036854775807; goto CFG_48209; CFG_48209: assume true; call local_#25621 := routine_#33935_lua_geti(local_#6188_L,local_#25618,local_#25620); goto CFG_44278; CFG_44278: assume true; local_#25622 := -1; local_#25623 := -2; goto CFG_48210; CFG_48210: assume true; call local_#25624 := routine_#35076_sort_comp(local_#6188_L,local_#25622,local_#25623); goto CFG_50953; CFG_50953: assume true; local_#25625 := local_#25624; if (local_#25625 != 0) { goto CFG_50957; } else { goto CFG_41807; } CFG_41807: assume true; goto CFG_44279; CFG_44279: assume true; local_#25626 := 1; local_#25627 := 1; assume { :symbol "~uwrap32" } true; local_#32648_j := ~uwrap32(local_#32648_j - local_#25627); assert { :LIR "68125" } { :check "overflow" } { :finding_ids "0" } true; local_#25628 := local_#32648_j; assert { :LIR "63684" } { :check "overflow" } { :finding_ids "0" } local_#25628 <= 9223372036854775807; goto CFG_48211; CFG_48211: assume true; call local_#25629 := routine_#33935_lua_geti(local_#6188_L,local_#25626,local_#25628); goto CFG_44280; CFG_44280: assume true; local_#25630 := -3; local_#25631 := -1; goto CFG_48212; CFG_48212: assume true; call local_#25632 := routine_#35076_sort_comp(local_#6188_L,local_#25630,local_#25631); goto CFG_50954; CFG_50954: assume true; local_#25633 := local_#25632; if (local_#25633 != 0) { goto CFG_50956; } else { goto CFG_50955; } CFG_50955: assume true; local_#25634 := (if local_#32648_j < local_#32647_i then 1 else 0); if (local_#25634 != 0) { goto CFG_44281; } else { goto CFG_48213; } CFG_48213: assume true; call routine_#35054_set2(local_#6188_L,local_#32647_i,local_#32648_j); goto CFG_45146; CFG_45146: assume true; goto CFG_50952; CFG_44281: assume true; local_#25635 := -2; goto CFG_48214; CFG_48214: assume true; call routine_#33987_lua_settop(local_#6188_L,local_#25635); goto CFG_44282; CFG_44282: assume true; local_#25636 := 1; assume { :symbol "~uwrap32" } true; local_#25637 := ~uwrap32(local_#6190_up - local_#25636); assert { :LIR "68126" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48215; CFG_48215: assume true; call routine_#35054_set2(local_#6188_L,local_#25637,local_#32647_i); goto CFG_38904; CFG_38904: assume true; local_#8228 := local_#32647_i; goto CFG_37887; CFG_50956: assume true; local_#25638 := (if local_#32648_j < local_#32647_i then 1 else 0); if (local_#25638 != 0) { goto CFG_44283; } else { goto CFG_44284; } CFG_44283: assume true; assume _memory[{ base : strlit_#70740!base, offset : strlit_#70740!offset + 34 }] == 0; local_#25639 := strlit_#70740; local_#25640 := { base : local_#25639!base, offset : local_#25639!offset + 0 * 1 }; assert { :LIR "63685" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48216; CFG_48216: assume true; call local_#25641 := routine_#33828_luaL_error(local_#6188_L,local_#25640,{ base : 0, offset : 0 }); goto CFG_41205; CFG_41205: assume true; goto CFG_44284; CFG_44284: assume true; local_#25642 := -2; goto CFG_48217; CFG_48217: assume true; call routine_#33987_lua_settop(local_#6188_L,local_#25642); goto CFG_45147; CFG_45147: assume true; goto CFG_44279; CFG_50957: assume true; local_#25643 := 1; assume { :symbol "~uwrap32" } true; local_#25644 := ~uwrap32(local_#6190_up - local_#25643); assert { :LIR "68127" } { :check "overflow" } { :finding_ids "0" } true; local_#25645 := (if local_#32647_i == local_#25644 then 1 else 0); if (local_#25645 != 0) { goto CFG_44285; } else { goto CFG_44286; } CFG_44285: assume true; assume _memory[{ base : strlit_#70740!base, offset : strlit_#70740!offset + 34 }] == 0; local_#25646 := strlit_#70740; local_#25647 := { base : local_#25646!base, offset : local_#25646!offset + 0 * 1 }; assert { :LIR "63686" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48218; CFG_48218: assume true; call local_#25648 := routine_#33828_luaL_error(local_#6188_L,local_#25647,{ base : 0, offset : 0 }); goto CFG_41206; CFG_41206: assume true; goto CFG_44286; CFG_44286: assume true; local_#25649 := -2; goto CFG_48219; CFG_48219: assume true; call routine_#33987_lua_settop(local_#6188_L,local_#25649); goto CFG_45148; CFG_45148: assume true; goto CFG_44277; CFG_37887: assume true; } procedure routine_#34989_patchlistaux(local_#6191_fs_IN : { base : int, offset : int }, local_#6192_list_IN : int, local_#6193_vtarget_IN : int, local_#6194_reg_IN : int, local_#6195_dtarget_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6191_fs : { base : int, offset : int }; var local_#6192_list : int; var local_#6193_vtarget : int; var local_#6194_reg : int; var local_#6195_dtarget : int; var local_#25650 : int; var local_#25651 : int; var local_#25652 : int; var local_#32649_next : int; var local_#25653 : int; var local_#25654 : int; local_#6191_fs := local_#6191_fs_IN; local_#6192_list := local_#6192_list_IN; local_#6193_vtarget := local_#6193_vtarget_IN; local_#6194_reg := local_#6194_reg_IN; local_#6195_dtarget := local_#6195_dtarget_IN; goto CFG_36977; CFG_36977: assume true; goto CFG_41808; CFG_41808: assume true; goto CFG_50958; CFG_50958: assume true; local_#25650 := -1; local_#25651 := (if local_#6192_list != local_#25650 then 1 else 0); if (local_#25651 != 0) { goto CFG_48220; } else { goto CFG_39377; } CFG_39377: assume true; goto CFG_37888; CFG_48220: assume true; call local_#25652 := routine_#34790_getjump(local_#6191_fs,local_#6192_list); goto CFG_44287; CFG_44287: assume true; local_#32649_next := local_#25652; goto CFG_48221; CFG_48221: assume true; call local_#25653 := routine_#34990_patchtestreg(local_#6191_fs,local_#6192_list,local_#6194_reg); goto CFG_50959; CFG_50959: assume true; local_#25654 := local_#25653; if (local_#25654 != 0) { goto CFG_48223; } else { goto CFG_48222; } CFG_48222: assume true; call routine_#34753_fixjump(local_#6191_fs,local_#6192_list,local_#6195_dtarget); goto CFG_41207; CFG_41207: assume true; goto CFG_45149; CFG_48223: assume true; call routine_#34753_fixjump(local_#6191_fs,local_#6192_list,local_#6193_vtarget); goto CFG_41208; CFG_41208: assume true; goto CFG_45149; CFG_45149: assume true; local_#6192_list := local_#32649_next; goto CFG_50958; CFG_37888: assume true; } procedure routine_#34990_patchtestreg(local_#6196_fs_IN : { base : int, offset : int }, local_#6197_node_IN : int, local_#6198_reg_IN : int) returns (local_#8229 : int) modifies _memory; { var local_#6196_fs : { base : int, offset : int }; var local_#6197_node : int; var local_#6198_reg : int; var local_#25655 : { base : int, offset : int }; var local_#32650_i : { base : int, offset : int }; var local_#25656 : int; var local_#25657 : int; var local_#25658 : int; var local_#25659 : int; var local_#25660 : int; var local_#25661 : int; var local_#25662 : int; var local_#25663 : int; var local_#25664 : int; var local_#25665 : int; var local_#25666 : int; var local_#25667 : int; var local_#25668 : int; var local_#25669 : int; var local_#25670 : int; var local_#25671 : int; var local_#25672 : int; var local_#25673 : int; var local_#25674 : int; var local_#25675 : int; var local_#25676 : int; var local_#25677 : int; var local_#25678 : int; var local_#25679 : int; var local_#25680 : int; var local_#25681 : int; var local_#25682 : int; var local_#25683 : int; var local_#25684 : int; var local_#25685 : int; var local_#25686 : int; var local_#25687 : int; var local_#25688 : int; var local_#25689 : int; var local_#25690 : int; var local_#25691 : int; var local_#25692 : int; var local_#25693 : int; var local_#25694 : int; var local_#25695 : int; var local_#25696 : int; var local_#25697 : int; var local_#25698 : int; var local_#25699 : int; var local_#25700 : int; local_#6196_fs := local_#6196_fs_IN; local_#6197_node := local_#6197_node_IN; local_#6198_reg := local_#6198_reg_IN; goto CFG_36978; CFG_36978: assume true; goto CFG_48224; CFG_48224: assume true; call local_#25655 := routine_#34791_getjumpcontrol(local_#6196_fs,local_#6197_node); goto CFG_50960; CFG_50960: assume true; local_#32650_i := local_#25655; local_#25656 := 0; local_#25657 := ~lshr32(_memory[local_#32650_i], local_#25656); local_#25658 := 63; local_#25659 := ~uand32(local_#25657, local_#25658); local_#25660 := local_#25659; assert { :LIR "61811" } { :check "overflow" } { :finding_ids "0" } local_#25660 <= 46; local_#25661 := ~uwrap32(local_#25660); assert { :LIR "63687" } { :check "overflow" } { :finding_ids "0" } true; local_#25662 := 35; local_#25663 := (if local_#25661 != local_#25662 then 1 else 0); if (local_#25663 != 0) { goto CFG_38906; } else { goto CFG_50961; } CFG_50961: assume true; local_#25664 := 255; local_#25665 := (if local_#6198_reg != local_#25664 then 1 else 0); if (local_#25665 != 0) { goto CFG_50962; } else { goto CFG_41209; } CFG_50962: assume true; local_#25666 := 23; local_#25667 := ~lshr32(_memory[local_#32650_i], local_#25666); local_#25668 := 511; local_#25669 := ~uand32(local_#25667, local_#25668); local_#25670 := local_#25669; assert { :LIR "61812" } { :check "overflow" } { :finding_ids "0" } local_#25670 <= 2147483647; local_#25671 := (if local_#6198_reg != local_#25670 then 1 else 0); if (local_#25671 != 0) { goto CFG_41210; } else { goto CFG_41209; } CFG_41209: assume true; local_#25672 := 34; local_#25673 := 23; local_#25674 := ~lshr32(_memory[local_#32650_i], local_#25673); local_#25675 := 511; local_#25676 := ~uand32(local_#25674, local_#25675); local_#25677 := local_#25676; assert { :LIR "61813" } { :check "overflow" } { :finding_ids "0" } local_#25677 <= 2147483647; local_#25678 := ~uwrap32(local_#25677); assert { :LIR "61814" } { :check "overflow" } { :finding_ids "0" } true; local_#25679 := 6; local_#25680 := ~shl32(local_#25678, local_#25679); local_#25681 := ~uor32(local_#25672, local_#25680); local_#25682 := 0; local_#25683 := ~uor32(local_#25681, local_#25682); local_#25684 := 14; local_#25685 := ~lshr32(_memory[local_#32650_i], local_#25684); local_#25686 := 511; local_#25687 := ~uand32(local_#25685, local_#25686); local_#25688 := local_#25687; assert { :LIR "61815" } { :check "overflow" } { :finding_ids "0" } local_#25688 <= 2147483647; local_#25689 := ~uwrap32(local_#25688); assert { :LIR "61816" } { :check "overflow" } { :finding_ids "0" } true; local_#25690 := 14; local_#25691 := ~shl32(local_#25689, local_#25690); local_#25692 := ~uor32(local_#25683, local_#25691); _memory[local_#32650_i] := local_#25692; goto CFG_38905; CFG_41210: assume true; local_#25693 := 4294950975; local_#25694 := ~uand32(_memory[local_#32650_i], local_#25693); local_#25695 := ~uwrap32(local_#6198_reg); assert { :LIR "61817" } { :check "overflow" } { :finding_ids "0" } true; local_#25696 := 6; local_#25697 := ~shl32(local_#25695, local_#25696); local_#25698 := 16320; local_#25699 := ~uand32(local_#25697, local_#25698); local_#25700 := ~uor32(local_#25694, local_#25699); _memory[local_#32650_i] := local_#25700; goto CFG_38905; CFG_38905: assume true; local_#8229 := 1; goto CFG_37889; CFG_38906: assume true; local_#8229 := 0; goto CFG_37889; CFG_37889: assume true; } procedure routine_#34991_pmain(local_#6199_L_IN : { base : int, offset : int }) returns (local_#8230 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL, global_#33065_progname; { var local_#6199_L : { base : int, offset : int }; var local_#25701 : int; var local_#25702 : { base : int, offset : int }; var local_#25703 : int; var local_#25704 : int; var local_#32651_argc : int; var local_#25705 : int; var local_#25706 : { base : int, offset : int }; var local_#25707 : { base : int, offset : int }; var local_#32653_argv : { base : int, offset : int }; var local_#32654_script : { base : int, offset : int }; var local_#25708 : { base : int, offset : int }; var local_#25709 : int; var local_#32652_args : int; var nondet_#0 : int; var local_#25710 : int; var local_#25711 : int; var local_#25712 : int; var local_#25713 : { base : int, offset : int }; var local_#25714 : { base : int, offset : int }; var local_#25715 : int; var local_#25716 : { base : int, offset : int }; var local_#25717 : int; var local_#25718 : { base : int, offset : int }; var local_#25719 : int; var local_#25720 : int; var local_#25721 : { base : int, offset : int }; var local_#25722 : { base : int, offset : int }; var local_#25723 : int; var local_#25724 : int; var local_#25725 : int; var local_#25726 : int; var local_#25727 : int; var local_#25728 : int; var local_#25729 : int; var local_#25730 : int; var local_#25731 : { base : int, offset : int }; var local_#25732 : { base : int, offset : int }; var local_#25733 : int; var local_#25734 : int; var local_#25735 : int; var local_#25736 : int; var local_#25737 : int; var local_#25738 : int; var local_#25739 : int; var local_#25740 : int; var local_#25741 : int; var local_#25742 : { base : int, offset : int }; var local_#25743 : int; var local_#25744 : int; var local_#25745 : int; var local_#25746 : int; var local_#25747 : int; var local_#25748 : int; var local_#25749 : int; var local_#25750 : int; var local_#25751 : int; var local_#25752 : int; var local_#25753 : int; var local_#25754 : int; var local_#25755 : { base : int, offset : int }; var local_#25756 : int; var local_#25757 : int; var local_#25758 : { base : int, offset : int }; var local_#25759 : { base : int, offset : int }; local_#6199_L := local_#6199_L_IN; goto CFG_36979; CFG_36979: assume true; goto CFG_44288; CFG_44288: assume true; local_#25701 := 1; local_#25702 := { base : 0, offset : 0 }; goto CFG_48225; CFG_48225: assume true; call local_#25703 := routine_#33994_lua_tointegerx(local_#6199_L,local_#25701,local_#25702); goto CFG_44289; CFG_44289: assume true; local_#25704 := local_#25703; assert { :LIR "61818" } { :check "overflow" } { :finding_ids "0" } local_#25704 <= 2147483647; local_#32651_argc := local_#25704; local_#25705 := 2; goto CFG_48226; CFG_48226: assume true; call local_#25706 := routine_#33999_lua_touserdata(local_#6199_L,local_#25705); goto CFG_44290; CFG_44290: assume true; local_#25707 := local_#25706; assert { :LIR "61819" } { :check "overflow" } { :finding_ids "0" } true; local_#32653_argv := local_#25707; local_#25708 := local_#32654_script; goto CFG_48227; CFG_48227: assume true; call local_#25709 := routine_#34660_collectargs(local_#32653_argv,local_#25708); goto CFG_44291; CFG_44291: assume true; local_#32652_args := local_#25709; havoc nondet_#0; local_#25710 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78637 */; local_#25711 := 136; goto CFG_48228; CFG_48228: assume true; call routine_#33827_luaL_checkversion_(local_#6199_L,local_#25710,local_#25711); goto CFG_50963; CFG_50963: assume true; local_#25712 := 0; local_#25713 := { base : local_#32653_argv!base, offset : local_#32653_argv!offset + local_#25712 * 8 }; local_#25714 := _memory_ptr[local_#25713]; if (local_#25714 != { base : 0, offset : 0 }) { goto CFG_50964; } else { goto CFG_50965; } CFG_50964: assume true; local_#25715 := 0; local_#25716 := { base : local_#32653_argv!base, offset : local_#32653_argv!offset + local_#25715 * 8 }; local_#25717 := 0; local_#25718 := { base : _memory_ptr[local_#25716]!base, offset : _memory_ptr[local_#25716]!offset + local_#25717 * 1 }; local_#25719 := _memory[local_#25718]; if (local_#25719 != 0) { goto CFG_41211; } else { goto CFG_50965; } CFG_41211: assume true; local_#25720 := 0; local_#25721 := { base : local_#32653_argv!base, offset : local_#32653_argv!offset + local_#25720 * 8 }; local_#25722 := _memory_ptr[local_#25721]; assert { :LIR "63688" } { :check "overflow" } { :finding_ids "0" } true; global_#33065_progname := local_#25722; goto CFG_50965; CFG_50965: assume true; local_#25723 := 1; local_#25724 := (if local_#32652_args == local_#25723 then 1 else 0); if (local_#25724 != 0) { goto CFG_44298; } else { goto CFG_50966; } CFG_50966: assume true; local_#25725 := 4; local_#25726 := ~sand32(local_#32652_args, local_#25725); if (local_#25726 != 0) { goto CFG_48229; } else { goto CFG_50967; } CFG_48229: assume true; call routine_#34997_print_version(); goto CFG_41212; CFG_41212: assume true; goto CFG_50967; CFG_50967: assume true; local_#25727 := 16; local_#25728 := ~sand32(local_#32652_args, local_#25727); if (local_#25728 != 0) { goto CFG_44292; } else { goto CFG_48232; } CFG_44292: assume true; local_#25729 := 1; goto CFG_48230; CFG_48230: assume true; call routine_#33957_lua_pushboolean(local_#6199_L,local_#25729); goto CFG_44293; CFG_44293: assume true; local_#25730 := -1001000; assume _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 0 }] == 76 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 1 }] == 85 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 2 }] == 65 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 3 }] == 95 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 4 }] == 78 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 5 }] == 79 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 6 }] == 69 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 7 }] == 78 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 8 }] == 86 && _memory[{ base : strlit_#70720!base, offset : strlit_#70720!offset + 9 }] == 0; local_#25731 := strlit_#70720; local_#25732 := { base : local_#25731!base, offset : local_#25731!offset + 0 * 1 }; assert { :LIR "63689" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48231; CFG_48231: assume true; call routine_#33980_lua_setfield(local_#6199_L,local_#25730,local_#25732); goto CFG_41213; CFG_41213: assume true; goto CFG_48232; CFG_48232: assume true; call routine_#33840_luaL_openlibs(local_#6199_L); goto CFG_48233; CFG_48233: assume true; call routine_#34672_createargtable(local_#6199_L,local_#32653_argv,local_#32651_argc,_memory[local_#32654_script]); goto CFG_50968; CFG_50968: assume true; local_#25733 := 16; local_#25734 := ~sand32(local_#32652_args, local_#25733); local_#25735 := (if local_#25734 != 0 then 0 else 1); if (local_#25735 != 0) { goto CFG_48234; } else { goto CFG_48235; } CFG_48234: assume true; call local_#25736 := routine_#34805_handle_luainit(local_#6199_L); goto CFG_50969; CFG_50969: assume true; local_#25737 := 0; local_#25738 := (if local_#25736 != local_#25737 then 1 else 0); if (local_#25738 != 0) { goto CFG_38910; } else { goto CFG_41214; } CFG_41214: assume true; goto CFG_48235; CFG_48235: assume true; call local_#25739 := routine_#35042_runargs(local_#6199_L,local_#32653_argv,_memory[local_#32654_script]); goto CFG_50970; CFG_50970: assume true; local_#25740 := (if local_#25739 != 0 then 0 else 1); if (local_#25740 != 0) { goto CFG_38909; } else { goto CFG_50971; } CFG_50971: assume true; local_#25741 := (if _memory[local_#32654_script] < local_#32651_argc then 1 else 0); if (local_#25741 != 0) { goto CFG_44294; } else { goto CFG_50973; } CFG_44294: assume true; local_#25742 := { base : local_#32653_argv!base, offset : local_#32653_argv!offset + _memory[local_#32654_script] * 8 }; goto CFG_48236; CFG_48236: assume true; call local_#25743 := routine_#34806_handle_script(local_#6199_L,local_#25742); goto CFG_50972; CFG_50972: assume true; local_#25744 := 0; local_#25745 := (if local_#25743 != local_#25744 then 1 else 0); if (local_#25745 != 0) { goto CFG_38908; } else { goto CFG_50973; } CFG_50973: assume true; local_#25746 := 2; local_#25747 := ~sand32(local_#32652_args, local_#25746); if (local_#25747 != 0) { goto CFG_48241; } else { goto CFG_50974; } CFG_50974: assume true; local_#25748 := (if _memory[local_#32654_script] == local_#32651_argc then 1 else 0); if (local_#25748 != 0) { goto CFG_50975; } else { goto CFG_41218; } CFG_50975: assume true; local_#25749 := 12; local_#25750 := ~sand32(local_#32652_args, local_#25749); local_#25751 := (if local_#25750 != 0 then 0 else 1); if (local_#25751 != 0) { goto CFG_44295; } else { goto CFG_41218; } CFG_44295: assume true; local_#25752 := 0; goto CFG_48237; CFG_48237: assume true; call local_#25753 := routine_#33655_isatty(local_#25752); goto CFG_50976; CFG_50976: assume true; local_#25754 := local_#25753; if (local_#25754 != 0) { goto CFG_48239; } else { goto CFG_44296; } CFG_44296: assume true; local_#25755 := { base : 0, offset : 0 }; goto CFG_48238; CFG_48238: assume true; call local_#25756 := routine_#34704_dofile(local_#6199_L,local_#25755); goto CFG_41215; CFG_41215: assume true; goto CFG_41217; CFG_48239: assume true; call routine_#34997_print_version(); goto CFG_48240; CFG_48240: assume true; call routine_#34701_doREPL(local_#6199_L); goto CFG_41216; CFG_41216: assume true; goto CFG_41217; CFG_41217: assume true; goto CFG_41218; CFG_41218: assume true; goto CFG_44297; CFG_48241: assume true; call routine_#34701_doREPL(local_#6199_L); goto CFG_41219; CFG_41219: assume true; goto CFG_44297; CFG_44297: assume true; local_#25757 := 1; goto CFG_48242; CFG_48242: assume true; call routine_#33957_lua_pushboolean(local_#6199_L,local_#25757); goto CFG_38907; CFG_38907: assume true; local_#8230 := 1; goto CFG_37890; CFG_38908: assume true; local_#8230 := 0; goto CFG_37890; CFG_38909: assume true; local_#8230 := 0; goto CFG_37890; CFG_38910: assume true; local_#8230 := 0; goto CFG_37890; CFG_44298: assume true; local_#25758 := { base : local_#32653_argv!base, offset : local_#32653_argv!offset + _memory[local_#32654_script] * 8 }; local_#25759 := _memory_ptr[local_#25758]; assert { :LIR "63690" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48243; CFG_48243: assume true; call routine_#34996_print_usage(local_#25759); goto CFG_38911; CFG_38911: assume true; local_#8230 := 0; goto CFG_37890; CFG_37890: assume true; } procedure routine_#34992_posrelat(local_#6200_pos_IN : int, local_#6201_len_IN : int) returns (local_#8231 : int) { var local_#6200_pos : int; var local_#6201_len : int; var local_#25760 : int; var local_#25761 : int; var local_#25762 : int; var local_#25763 : int; var local_#25764 : int; var local_#25765 : int; var local_#25766 : int; var local_#25767 : int; var local_#25768 : int; var local_#25769 : int; local_#6200_pos := local_#6200_pos_IN; local_#6201_len := local_#6201_len_IN; goto CFG_36980; CFG_36980: assume true; goto CFG_50977; CFG_50977: assume true; local_#25760 := 0; local_#25761 := (if local_#6200_pos >= local_#25760 then 1 else 0); if (local_#25761 != 0) { goto CFG_38914; } else { goto CFG_50978; } CFG_50978: assume true; local_#25762 := 0; local_#25763 := ~uwrap64(local_#6200_pos); assert { :LIR "61820" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#25764 := ~uwrap64(local_#25762 - local_#25763); assert { :LIR "68128" } { :check "overflow" } { :finding_ids "0" } true; local_#25765 := (if local_#25764 > local_#6201_len then 1 else 0); if (local_#25765 != 0) { goto CFG_38913; } else { goto CFG_38912; } CFG_38912: assume true; local_#25766 := local_#6201_len; assert { :LIR "61821" } { :check "overflow" } { :finding_ids "0" } local_#25766 <= 9223372036854775807; local_#25767 := local_#25766 + local_#6200_pos; assert { :LIR "66758" } { :check "overflow" } { :finding_ids "0" } local_#25767 <= 9223372036854775807; local_#25768 := 1; local_#25769 := local_#25767 + local_#25768; assert { :LIR "66759" } { :check "overflow" } { :finding_ids "0" } local_#25769 <= 9223372036854775807; local_#8231 := local_#25769; goto CFG_37891; CFG_38913: assume true; local_#8231 := 0; goto CFG_37891; CFG_38914: assume true; local_#8231 := local_#6200_pos; goto CFG_37891; CFG_37891: assume true; } procedure routine_#34993_preinit_thread(local_#6202_L_IN : { base : int, offset : int }, local_#6203_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6202_L : { base : int, offset : int }; var local_#6203_g : { base : int, offset : int }; local_#6202_L := local_#6202_L_IN; local_#6203_g := local_#6203_g_IN; goto CFG_36981; CFG_36981: assume true; goto CFG_39378; CFG_39378: assume true; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 24 }] := local_#6203_g; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 56 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 32 }] := { base : 0, offset : 0 }; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 10 }] := 0; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 184 }] := 0; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 80 }] := local_#6202_L; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 88 }] := { base : 0, offset : 0 }; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 198 }] := 0; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 168 }] := { base : 0, offset : 0 }; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 200 }] := 0; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 188 }] := 0; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 204 }] := 1; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 192 }] := _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 188 }]; _memory_ptr[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 64 }] := { base : 0, offset : 0 }; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 196 }] := 1; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 12 }] := 0; _memory[{ base : local_#6202_L!base, offset : local_#6202_L!offset + 176 }] := 0; goto CFG_37892; CFG_37892: assume true; } procedure routine_#34994_prepstate(local_#6204_ms_IN : { base : int, offset : int }, local_#6205_L_IN : { base : int, offset : int }, local_#6206_s_IN : { base : int, offset : int }, local_#6207_ls_IN : int, local_#6208_p_IN : { base : int, offset : int }, local_#6209_lp_IN : int) returns () modifies _memory, _memory_ptr; { var local_#6204_ms : { base : int, offset : int }; var local_#6205_L : { base : int, offset : int }; var local_#6206_s : { base : int, offset : int }; var local_#6207_ls : int; var local_#6208_p : { base : int, offset : int }; var local_#6209_lp : int; var local_#25770 : { base : int, offset : int }; var local_#25771 : { base : int, offset : int }; local_#6204_ms := local_#6204_ms_IN; local_#6205_L := local_#6205_L_IN; local_#6206_s := local_#6206_s_IN; local_#6207_ls := local_#6207_ls_IN; local_#6208_p := local_#6208_p_IN; local_#6209_lp := local_#6209_lp_IN; goto CFG_36982; CFG_36982: assume true; goto CFG_39379; CFG_39379: assume true; _memory_ptr[{ base : local_#6204_ms!base, offset : local_#6204_ms!offset + 24 }] := local_#6205_L; _memory[{ base : local_#6204_ms!base, offset : local_#6204_ms!offset + 32 }] := 200; _memory_ptr[{ base : local_#6204_ms!base, offset : local_#6204_ms!offset + 0 }] := local_#6206_s; local_#25770 := { base : local_#6206_s!base, offset : local_#6206_s!offset + local_#6207_ls * 1 }; _memory_ptr[{ base : local_#6204_ms!base, offset : local_#6204_ms!offset + 8 }] := local_#25770; local_#25771 := { base : local_#6208_p!base, offset : local_#6208_p!offset + local_#6209_lp * 1 }; _memory_ptr[{ base : local_#6204_ms!base, offset : local_#6204_ms!offset + 16 }] := local_#25771; goto CFG_37893; CFG_37893: assume true; } procedure routine_#34995_primaryexp(local_#6210_ls_IN : { base : int, offset : int }, local_#6211_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6210_ls : { base : int, offset : int }; var local_#6211_v : { base : int, offset : int }; var local_#25772 : int; var local_#25773 : { base : int, offset : int }; var local_#25774 : { base : int, offset : int }; var local_#32655_line : int; var local_#25775 : int; var local_#25776 : int; var local_#25777 : { base : int, offset : int }; local_#6210_ls := local_#6210_ls_IN; local_#6211_v := local_#6211_v_IN; goto CFG_36983; CFG_36983: assume true; goto CFG_51562; CFG_51562: assume true; local_#25772 := _memory[{ base : local_#6210_ls!base, offset : local_#6210_ls!offset + 16 }]; if (local_#25772 == 40) { goto CFG_44300; } if (local_#25772 == 292) { goto CFG_48245; } goto CFG_44299; CFG_44299: assume true; assume _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 0 }] == 117 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 1 }] == 110 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 2 }] == 101 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 3 }] == 120 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 4 }] == 112 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 5 }] == 101 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 6 }] == 99 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 7 }] == 116 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 8 }] == 101 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 9 }] == 100 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 10 }] == 32 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 11 }] == 115 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 12 }] == 121 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 13 }] == 109 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 14 }] == 98 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 15 }] == 111 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 16 }] == 108 && _memory[{ base : strlit_#70743!base, offset : strlit_#70743!offset + 17 }] == 0; local_#25773 := strlit_#70743; local_#25774 := { base : local_#25773!base, offset : local_#25773!offset + 0 * 1 }; assert { :LIR "63691" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48244; CFG_48244: assume true; call routine_#33910_luaX_syntaxerror(local_#6210_ls,local_#25774); CFG_48245: assume true; call routine_#35069_singlevar(local_#6210_ls,local_#6211_v); goto CFG_39380; CFG_39380: assume true; goto CFG_37894; CFG_44300: assume true; local_#32655_line := _memory[{ base : local_#6210_ls!base, offset : local_#6210_ls!offset + 4 }]; goto CFG_48246; CFG_48246: assume true; call routine_#33908_luaX_next(local_#6210_ls); goto CFG_48247; CFG_48247: assume true; call routine_#34721_expr(local_#6210_ls,local_#6211_v); goto CFG_44301; CFG_44301: assume true; local_#25775 := 41; local_#25776 := 40; goto CFG_48248; CFG_48248: assume true; call routine_#34626_check_match(local_#6210_ls,local_#25775,local_#25776,local_#32655_line); goto CFG_44302; CFG_44302: assume true; local_#25777 := _memory_ptr[{ base : local_#6210_ls!base, offset : local_#6210_ls!offset + 48 }]; goto CFG_48249; CFG_48249: assume true; call routine_#33784_luaK_dischargevars(local_#25777,local_#6211_v); goto CFG_39381; CFG_39381: assume true; goto CFG_37894; CFG_39382: assume true; goto CFG_37894; CFG_37894: assume true; } procedure routine_#34996_print_usage(local_#6212_badoption_IN : { base : int, offset : int }) returns () modifies _memory_ptr; { var local_#6212_badoption : { base : int, offset : int }; var local_#25778 : { base : int, offset : int }; var local_#25779 : { base : int, offset : int }; var local_#25780 : int; var local_#25781 : int; var local_#25782 : int; var local_#25783 : int; var local_#25784 : { base : int, offset : int }; var local_#25785 : int; var local_#25786 : int; var local_#25787 : int; var local_#25788 : int; var local_#25789 : { base : int, offset : int }; var local_#25790 : int; var local_#25791 : int; var local_#25792 : int; var local_#25793 : { base : int, offset : int }; var local_#25794 : { base : int, offset : int }; var local_#25795 : int; var local_#25796 : int; var local_#25797 : int; var local_#25798 : { base : int, offset : int }; var local_#25799 : { base : int, offset : int }; var local_#25800 : int; var local_#25801 : int; var local_#25802 : int; var local_#25803 : { base : int, offset : int }; var local_#25804 : { base : int, offset : int }; var local_#25805 : int; var local_#25806 : int; var local_#25807 : int; local_#6212_badoption := local_#6212_badoption_IN; goto CFG_36984; CFG_36984: assume true; goto CFG_44303; CFG_44303: assume true; assume _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 0 }] == 37 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 1 }] == 115 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 2 }] == 58 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 3 }] == 32 && _memory[{ base : strlit_#70651!base, offset : strlit_#70651!offset + 4 }] == 0; local_#25778 := strlit_#70651; local_#25779 := { base : local_#25778!base, offset : local_#25778!offset + 0 * 1 }; assert { :LIR "63692" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48250; CFG_48250: assume true; call local_#25780 := routine_#33580_fprintf(global_#33190_stderr,local_#25779,{ base : 0, offset : 0 }); goto CFG_48251; CFG_48251: assume true; call local_#25781 := routine_#33556_fflush(global_#33190_stderr); goto CFG_50979; CFG_50979: assume true; local_#25782 := local_#25781; local_#25783 := 1; local_#25784 := { base : local_#6212_badoption!base, offset : local_#6212_badoption!offset + local_#25783 * 1 }; local_#25785 := _memory[local_#25784]; assert { :LIR "63693" } { :check "overflow" } { :finding_ids "0" } local_#25785 <= 2147483647; local_#25786 := 101; local_#25787 := (if local_#25785 == local_#25786 then 1 else 0); if (local_#25787 != 0) { goto CFG_44305; } else { goto CFG_50980; } CFG_50980: assume true; local_#25788 := 1; local_#25789 := { base : local_#6212_badoption!base, offset : local_#6212_badoption!offset + local_#25788 * 1 }; local_#25790 := _memory[local_#25789]; assert { :LIR "63694" } { :check "overflow" } { :finding_ids "0" } local_#25790 <= 2147483647; local_#25791 := 108; local_#25792 := (if local_#25790 == local_#25791 then 1 else 0); if (local_#25792 != 0) { goto CFG_44305; } else { goto CFG_44304; } CFG_44304: assume true; assume _memory[{ base : strlit_#70745!base, offset : strlit_#70745!offset + 25 }] == 0; local_#25793 := strlit_#70745; local_#25794 := { base : local_#25793!base, offset : local_#25793!offset + 0 * 1 }; assert { :LIR "63695" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48252; CFG_48252: assume true; call local_#25795 := routine_#33580_fprintf(global_#33190_stderr,local_#25794,{ base : 0, offset : 0 }); goto CFG_48253; CFG_48253: assume true; call local_#25796 := routine_#33556_fflush(global_#33190_stderr); goto CFG_41220; CFG_41220: assume true; local_#25797 := local_#25796; goto CFG_44306; CFG_44305: assume true; assume _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 0 }] == 39 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 1 }] == 37 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 2 }] == 115 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 3 }] == 39 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 4 }] == 32 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 5 }] == 110 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 6 }] == 101 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 7 }] == 101 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 8 }] == 100 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 9 }] == 115 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 10 }] == 32 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 11 }] == 97 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 12 }] == 114 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 13 }] == 103 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 14 }] == 117 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 15 }] == 109 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 16 }] == 101 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 17 }] == 110 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 18 }] == 116 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 19 }] == 10 && _memory[{ base : strlit_#70746!base, offset : strlit_#70746!offset + 20 }] == 0; local_#25798 := strlit_#70746; local_#25799 := { base : local_#25798!base, offset : local_#25798!offset + 0 * 1 }; assert { :LIR "63696" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48254; CFG_48254: assume true; call local_#25800 := routine_#33580_fprintf(global_#33190_stderr,local_#25799,{ base : 0, offset : 0 }); goto CFG_48255; CFG_48255: assume true; call local_#25801 := routine_#33556_fflush(global_#33190_stderr); goto CFG_41221; CFG_41221: assume true; local_#25802 := local_#25801; goto CFG_44306; CFG_44306: assume true; assume _memory[{ base : strlit_#70747!base, offset : strlit_#70747!offset + 364 }] == 0; local_#25803 := strlit_#70747; local_#25804 := { base : local_#25803!base, offset : local_#25803!offset + 0 * 1 }; assert { :LIR "63697" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48256; CFG_48256: assume true; call local_#25805 := routine_#33580_fprintf(global_#33190_stderr,local_#25804,{ base : 0, offset : 0 }); goto CFG_48257; CFG_48257: assume true; call local_#25806 := routine_#33556_fflush(global_#33190_stderr); goto CFG_39383; CFG_39383: assume true; local_#25807 := local_#25806; goto CFG_37895; CFG_37895: assume true; } procedure routine_#34997_print_version() returns () { var local_#25808 : { base : int, offset : int }; var local_#25809 : { base : int, offset : int }; var local_#25810 : int; var local_#25811 : { base : int, offset : int }; var local_#25812 : { base : int, offset : int }; var local_#25813 : int; var local_#25814 : int; var local_#25815 : { base : int, offset : int }; var local_#25816 : { base : int, offset : int }; var local_#25817 : int; var local_#25818 : int; var local_#25819 : int; var local_#25820 : int; var local_#25821 : int; goto CFG_36985; CFG_36985: assume true; goto CFG_44307; CFG_44307: assume true; assume _memory[{ base : strlit_#70748!base, offset : strlit_#70748!offset + 51 }] == 0; local_#25808 := strlit_#70748; local_#25809 := { base : local_#25808!base, offset : local_#25808!offset + 0 * 1 }; assert { :LIR "63698" } { :check "overflow" } { :finding_ids "0" } true; local_#25810 := 1; assume _memory[{ base : strlit_#70748!base, offset : strlit_#70748!offset + 51 }] == 0; local_#25811 := strlit_#70748; local_#25812 := { base : local_#25811!base, offset : local_#25811!offset + 0 * 1 }; assert { :LIR "63699" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48258; CFG_48258: assume true; call local_#25813 := routine_#34454_strlen(local_#25812); goto CFG_48259; CFG_48259: assume true; call local_#25814 := routine_#33600_fwrite(local_#25809,local_#25810,local_#25813,global_#33192_stdout); goto CFG_44308; CFG_44308: assume true; assume _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 0 }] == 10 && _memory[{ base : strlit_#70533!base, offset : strlit_#70533!offset + 1 }] == 0; local_#25815 := strlit_#70533; local_#25816 := { base : local_#25815!base, offset : local_#25815!offset + 0 * 1 }; assert { :LIR "63700" } { :check "overflow" } { :finding_ids "0" } true; local_#25817 := 1; local_#25818 := 1; goto CFG_48260; CFG_48260: assume true; call local_#25819 := routine_#33600_fwrite(local_#25816,local_#25817,local_#25818,global_#33192_stdout); goto CFG_48261; CFG_48261: assume true; call local_#25820 := routine_#33556_fflush(global_#33192_stdout); goto CFG_39384; CFG_39384: assume true; local_#25821 := local_#25820; goto CFG_37896; CFG_37896: assume true; } procedure routine_#34998_propagateall(local_#6213_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6213_g : { base : int, offset : int }; var local_#25822 : { base : int, offset : int }; local_#6213_g := local_#6213_g_IN; goto CFG_36986; CFG_36986: assume true; goto CFG_41809; CFG_41809: assume true; goto CFG_50981; CFG_50981: assume true; local_#25822 := _memory_ptr[{ base : local_#6213_g!base, offset : local_#6213_g!offset + 112 }]; if (local_#25822 != { base : 0, offset : 0 }) { goto CFG_48262; } else { goto CFG_39385; } CFG_39385: assume true; goto CFG_37897; CFG_48262: assume true; call routine_#34999_propagatemark(local_#6213_g); goto CFG_45150; CFG_45150: assume true; goto CFG_50981; CFG_37897: assume true; } procedure routine_#34999_propagatemark(local_#6214_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6214_g : { base : int, offset : int }; var local_#32656_o : { base : int, offset : int }; var local_#25823 : int; var local_#25824 : int; var local_#25825 : int; var local_#25826 : int; var local_#25827 : int; var local_#25828 : int; var local_#25829 : int; var local_#25830 : int; var local_#25831 : { base : int, offset : int }; var local_#25832 : { base : int, offset : int }; var local_#32662_p : { base : int, offset : int }; var local_#25833 : int; var local_#25834 : int; var local_#32657_size : int; var local_#25835 : { base : int, offset : int }; var local_#25836 : { base : int, offset : int }; var local_#32661_th : { base : int, offset : int }; var local_#25837 : { base : int, offset : int }; var local_#25838 : { base : int, offset : int }; var local_#25839 : { base : int, offset : int }; var local_#25840 : { base : int, offset : int }; var local_#25841 : { base : int, offset : int }; var local_#25842 : int; var local_#25843 : int; var local_#25844 : int; var local_#25845 : int; var local_#25846 : { base : int, offset : int }; var local_#25847 : { base : int, offset : int }; var local_#25848 : { base : int, offset : int }; var local_#32660_cl : { base : int, offset : int }; var local_#25849 : int; var local_#25850 : { base : int, offset : int }; var local_#25851 : { base : int, offset : int }; var local_#25852 : { base : int, offset : int }; var local_#32659_cl : { base : int, offset : int }; var local_#25853 : int; var local_#25854 : { base : int, offset : int }; var local_#25855 : { base : int, offset : int }; var local_#32658_h : { base : int, offset : int }; var local_#25856 : int; local_#6214_g := local_#6214_g_IN; goto CFG_36987; CFG_36987: assume true; goto CFG_51563; CFG_51563: assume true; local_#32656_o := _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 112 }]; local_#25823 := 0; local_#25824 := 0; assert { :LIR "61822" } { :check "overflow" } { :finding_ids "0" } true; local_#25825 := 4; local_#25826 := _memory[{ base : local_#32656_o!base, offset : local_#32656_o!offset + 9 }]; assert { :LIR "63701" } { :check "overflow" } { :finding_ids "0" } local_#25826 <= 2147483647; local_#25827 := ~sor32(local_#25826, local_#25825); _memory[{ base : local_#32656_o!base, offset : local_#32656_o!offset + 9 }] := ~uwrap8(local_#25827); assert { :LIR "63702" } { :check "overflow" } { :finding_ids "0" } true; local_#25828 := _memory[{ base : local_#32656_o!base, offset : local_#32656_o!offset + 8 }]; assert { :LIR "63703" } { :check "overflow" } { :finding_ids "0" } local_#25828 <= 2147483647; if (local_#25828 == 5) { goto CFG_44313; } if (local_#25828 == 6) { goto CFG_44312; } if (local_#25828 == 38) { goto CFG_44311; } if (local_#25828 == 8) { goto CFG_44310; } if (local_#25828 == 9) { goto CFG_44309; } goto CFG_39386; CFG_39386: assume true; local_#25829 := 0; local_#25830 := 0; assert { :LIR "61823" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37898; CFG_44309: assume true; local_#25831 := local_#32656_o; assert { :LIR "61824" } { :check "overflow" } { :finding_ids "0" } true; local_#25832 := { base : local_#25831!base, offset : local_#25831!offset + 0 }; local_#32662_p := local_#25832; _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 112 }] := _memory_ptr[{ base : local_#32662_p!base, offset : local_#32662_p!offset + 112 }]; goto CFG_48263; CFG_48263: assume true; call local_#25833 := routine_#35120_traverseproto(local_#6214_g,local_#32662_p); goto CFG_39694; CFG_39694: assume true; local_#25834 := ~uwrap64(local_#25833); assert { :LIR "63704" } { :check "overflow" } { :finding_ids "0" } true; local_#32657_size := local_#25834; goto CFG_39387; CFG_44310: assume true; local_#25835 := local_#32656_o; assert { :LIR "61825" } { :check "overflow" } { :finding_ids "0" } true; local_#25836 := { base : local_#25835!base, offset : local_#25835!offset + 0 }; local_#32661_th := local_#25836; _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 112 }] := _memory_ptr[{ base : local_#32661_th!base, offset : local_#32661_th!offset + 72 }]; _memory_ptr[{ base : local_#32661_th!base, offset : local_#32661_th!offset + 72 }] := _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 120 }]; local_#25837 := _memory_ptr[{ base : local_#32661_th!base, offset : local_#32661_th!offset + 72 }]; local_#25838 := local_#32661_th; assert { :LIR "61826" } { :check "overflow" } { :finding_ids "0" } true; local_#25839 := { base : local_#25838!base, offset : local_#25838!offset + 0 }; _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 120 }] := local_#25839; local_#25840 := _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 120 }]; local_#25841 := local_#25840; local_#25842 := 251; local_#25843 := _memory[{ base : local_#32656_o!base, offset : local_#32656_o!offset + 9 }]; assert { :LIR "63705" } { :check "overflow" } { :finding_ids "0" } local_#25843 <= 2147483647; local_#25844 := ~sand32(local_#25843, local_#25842); _memory[{ base : local_#32656_o!base, offset : local_#32656_o!offset + 9 }] := ~uwrap8(local_#25844); assert { :LIR "63706" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48264; CFG_48264: assume true; call local_#25845 := routine_#35123_traversethread(local_#6214_g,local_#32661_th); goto CFG_39695; CFG_39695: assume true; local_#32657_size := local_#25845; goto CFG_39387; CFG_44311: assume true; local_#25846 := local_#32656_o; assert { :LIR "61827" } { :check "overflow" } { :finding_ids "0" } true; local_#25847 := { base : local_#25846!base, offset : local_#25846!offset + 0 }; local_#25848 := { base : local_#25847!base, offset : local_#25847!offset + 0 }; local_#32660_cl := local_#25848; _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 112 }] := _memory_ptr[{ base : local_#32660_cl!base, offset : local_#32660_cl!offset + 16 }]; goto CFG_48265; CFG_48265: assume true; call local_#25849 := routine_#35117_traverseCclosure(local_#6214_g,local_#32660_cl); goto CFG_39696; CFG_39696: assume true; local_#32657_size := local_#25849; goto CFG_39387; CFG_44312: assume true; local_#25850 := local_#32656_o; assert { :LIR "61828" } { :check "overflow" } { :finding_ids "0" } true; local_#25851 := { base : local_#25850!base, offset : local_#25850!offset + 0 }; local_#25852 := { base : local_#25851!base, offset : local_#25851!offset + 0 }; local_#32659_cl := local_#25852; _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 112 }] := _memory_ptr[{ base : local_#32659_cl!base, offset : local_#32659_cl!offset + 16 }]; goto CFG_48266; CFG_48266: assume true; call local_#25853 := routine_#35118_traverseLclosure(local_#6214_g,local_#32659_cl); goto CFG_39697; CFG_39697: assume true; local_#32657_size := local_#25853; goto CFG_39387; CFG_44313: assume true; local_#25854 := local_#32656_o; assert { :LIR "61829" } { :check "overflow" } { :finding_ids "0" } true; local_#25855 := { base : local_#25854!base, offset : local_#25854!offset + 0 }; local_#32658_h := local_#25855; _memory_ptr[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 112 }] := _memory_ptr[{ base : local_#32658_h!base, offset : local_#32658_h!offset + 48 }]; goto CFG_48267; CFG_48267: assume true; call local_#25856 := routine_#35122_traversetable(local_#6214_g,local_#32658_h); goto CFG_39698; CFG_39698: assume true; local_#32657_size := local_#25856; goto CFG_39387; CFG_39387: assume true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 32 }] := ~uwrap64(_memory[{ base : local_#6214_g!base, offset : local_#6214_g!offset + 32 }] + local_#32657_size); assert { :LIR "66760" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37898; CFG_41956: assume true; goto CFG_39387; CFG_37898: assume true; } procedure routine_#35000_push_captures(local_#6215_ms_IN : { base : int, offset : int }, local_#6216_s_IN : { base : int, offset : int }, local_#6217_e_IN : { base : int, offset : int }) returns (local_#8232 : int) modifies _memory, _memory_ptr, _valid; { var local_#6215_ms : { base : int, offset : int }; var local_#6216_s : { base : int, offset : int }; var local_#6217_e : { base : int, offset : int }; var local_#25857 : int; var local_#25858 : int; var local_#25859 : int; var local_#25860 : { base : int, offset : int }; var local_#25861 : int; var local_#30833 : int; var local_#32664_nlevels : int; var local_#25862 : { base : int, offset : int }; var local_#25863 : { base : int, offset : int }; var local_#25864 : { base : int, offset : int }; var local_#32663_i : int; var local_#25865 : int; var local_#25866 : int; var local_#25867 : int; var local_#25868 : int; local_#6215_ms := local_#6215_ms_IN; local_#6216_s := local_#6216_s_IN; local_#6217_e := local_#6217_e_IN; goto CFG_36988; CFG_36988: assume true; goto CFG_50982; CFG_50982: assume true; local_#25857 := _memory[{ base : local_#6215_ms!base, offset : local_#6215_ms!offset + 36 }]; assert { :LIR "63707" } { :check "overflow" } { :finding_ids "0" } local_#25857 <= 2147483647; local_#25858 := 0; local_#25859 := (if local_#25857 == local_#25858 then 1 else 0); if (local_#25859 != 0) { goto CFG_50983; } else { goto CFG_41222; } CFG_50983: assume true; local_#25860 := local_#6216_s; if (local_#25860 != { base : 0, offset : 0 }) { goto CFG_41223; } else { goto CFG_41222; } CFG_41222: assume true; local_#25861 := _memory[{ base : local_#6215_ms!base, offset : local_#6215_ms!offset + 36 }]; assert { :LIR "63708" } { :check "overflow" } { :finding_ids "0" } local_#25861 <= 2147483647; local_#30833 := local_#25861; goto CFG_44314; CFG_41223: assume true; local_#30833 := 1; goto CFG_44314; CFG_44314: assume true; local_#32664_nlevels := local_#30833; local_#25862 := _memory_ptr[{ base : local_#6215_ms!base, offset : local_#6215_ms!offset + 24 }]; assume _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 0 }] == 116 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 1 }] == 111 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 2 }] == 111 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 3 }] == 32 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 4 }] == 109 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 5 }] == 97 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 6 }] == 110 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 7 }] == 121 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 8 }] == 32 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 9 }] == 99 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 10 }] == 97 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 11 }] == 112 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 12 }] == 116 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 13 }] == 117 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 14 }] == 114 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 15 }] == 101 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 16 }] == 115 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 17 }] == 0; local_#25863 := strlit_#70751; local_#25864 := { base : local_#25863!base, offset : local_#25863!offset + 0 * 1 }; assert { :LIR "63709" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48268; CFG_48268: assume true; call routine_#33824_luaL_checkstack(local_#25862,local_#32664_nlevels,local_#25864); goto CFG_41810; CFG_41810: assume true; local_#32663_i := 0; goto CFG_50984; CFG_50984: assume true; local_#25865 := (if local_#32663_i < local_#32664_nlevels then 1 else 0); if (local_#25865 != 0) { goto CFG_48269; } else { goto CFG_38915; } CFG_38915: assume true; local_#8232 := local_#32664_nlevels; goto CFG_37899; CFG_48269: assume true; call routine_#35001_push_onecapture(local_#6215_ms,local_#32663_i,local_#6216_s,local_#6217_e); goto CFG_45151; CFG_45151: assume true; local_#25866 := local_#32663_i; local_#25867 := 1; local_#32663_i := local_#25866 + local_#25867; assert { :LIR "66761" } { :check "overflow" } { :finding_ids "0" } local_#32663_i <= 2147483647; local_#25868 := local_#25866; goto CFG_50984; CFG_37899: assume true; } procedure routine_#35001_push_onecapture(local_#6218_ms_IN : { base : int, offset : int }, local_#6219_i_IN : int, local_#6220_s_IN : { base : int, offset : int }, local_#6221_e_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6218_ms : { base : int, offset : int }; var local_#6219_i : int; var local_#6220_s : { base : int, offset : int }; var local_#6221_e : { base : int, offset : int }; var local_#25869 : int; var local_#25870 : int; var local_#25871 : { base : int, offset : int }; var local_#25872 : { base : int, offset : int }; var local_#32665_l : int; var local_#25873 : int; var local_#25874 : int; var local_#25875 : { base : int, offset : int }; var local_#25876 : { base : int, offset : int }; var local_#25877 : { base : int, offset : int }; var local_#25878 : int; var local_#25879 : int; var local_#25880 : int; var local_#25881 : { base : int, offset : int }; var local_#25882 : { base : int, offset : int }; var local_#25883 : { base : int, offset : int }; var local_#25884 : { base : int, offset : int }; var local_#25885 : int; var local_#25886 : { base : int, offset : int }; var local_#25887 : { base : int, offset : int }; var local_#25888 : { base : int, offset : int }; var local_#25889 : { base : int, offset : int }; var local_#25890 : int; var local_#25891 : int; var local_#25892 : int; var local_#25893 : int; var local_#25894 : int; var local_#25895 : int; var local_#25896 : { base : int, offset : int }; var local_#25897 : { base : int, offset : int }; var local_#25898 : { base : int, offset : int }; var local_#25899 : int; var local_#25900 : int; var local_#25901 : int; var local_#25902 : { base : int, offset : int }; var local_#25903 : int; var local_#25904 : int; var local_#25905 : { base : int, offset : int }; local_#6218_ms := local_#6218_ms_IN; local_#6219_i := local_#6219_i_IN; local_#6220_s := local_#6220_s_IN; local_#6221_e := local_#6221_e_IN; goto CFG_36989; CFG_36989: assume true; goto CFG_50985; CFG_50985: assume true; local_#25869 := _memory[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 36 }]; assert { :LIR "63710" } { :check "overflow" } { :finding_ids "0" } local_#25869 <= 2147483647; local_#25870 := (if local_#6219_i >= local_#25869 then 1 else 0); if (local_#25870 != 0) { goto CFG_50988; } else { goto CFG_50986; } CFG_50986: assume true; local_#25871 := { base : local_#6218_ms!base, offset : local_#6218_ms!offset + 40 }; local_#25872 := { base : local_#25871!base, offset : local_#25871!offset + 0 * 16 + local_#6219_i * 16 }; local_#32665_l := _memory[{ base : local_#25872!base, offset : local_#25872!offset + 8 }]; local_#25873 := -1; local_#25874 := (if local_#32665_l == local_#25873 then 1 else 0); if (local_#25874 != 0) { goto CFG_44315; } else { goto CFG_50987; } CFG_44315: assume true; local_#25875 := _memory_ptr[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 24 }]; assume _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 0 }] == 117 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 1 }] == 110 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 2 }] == 102 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 3 }] == 105 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 4 }] == 110 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 5 }] == 105 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 6 }] == 115 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 7 }] == 104 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 8 }] == 101 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 9 }] == 100 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 10 }] == 32 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 11 }] == 99 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 12 }] == 97 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 13 }] == 112 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 14 }] == 116 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 15 }] == 117 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 16 }] == 114 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 17 }] == 101 && _memory[{ base : strlit_#70752!base, offset : strlit_#70752!offset + 18 }] == 0; local_#25876 := strlit_#70752; local_#25877 := { base : local_#25876!base, offset : local_#25876!offset + 0 * 1 }; assert { :LIR "63711" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48270; CFG_48270: assume true; call local_#25878 := routine_#33828_luaL_error(local_#25875,local_#25877,{ base : 0, offset : 0 }); goto CFG_41224; CFG_41224: assume true; goto CFG_50987; CFG_50987: assume true; local_#25879 := -2; local_#25880 := (if local_#32665_l == local_#25879 then 1 else 0); if (local_#25880 != 0) { goto CFG_44317; } else { goto CFG_44316; } CFG_44316: assume true; local_#25881 := _memory_ptr[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 24 }]; local_#25882 := { base : local_#6218_ms!base, offset : local_#6218_ms!offset + 40 }; local_#25883 := { base : local_#25882!base, offset : local_#25882!offset + 0 * 16 + local_#6219_i * 16 }; local_#25884 := _memory_ptr[{ base : local_#25883!base, offset : local_#25883!offset + 0 }]; local_#25885 := ~uwrap64(local_#32665_l); assert { :LIR "63712" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48271; CFG_48271: assume true; call local_#25886 := routine_#33962_lua_pushlstring(local_#25881,local_#25884,local_#25885); goto CFG_41225; CFG_41225: assume true; goto CFG_41227; CFG_44317: assume true; local_#25887 := _memory_ptr[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 24 }]; local_#25888 := { base : local_#6218_ms!base, offset : local_#6218_ms!offset + 40 }; local_#25889 := { base : local_#25888!base, offset : local_#25888!offset + 0 * 16 + local_#6219_i * 16 }; local_#25890 := (_memory_ptr[{ base : local_#25889!base, offset : local_#25889!offset + 0 }]!offset - _memory_ptr[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 0 }]!offset) / 1; local_#25891 := 1; local_#25892 := local_#25890 + local_#25891; assert { :LIR "66762" } { :check "overflow" } { :finding_ids "0" } local_#25892 <= 9223372036854775807; local_#25893 := local_#25892; assert { :LIR "63713" } { :check "overflow" } { :finding_ids "0" } local_#25893 <= 9223372036854775807; goto CFG_48272; CFG_48272: assume true; call routine_#33960_lua_pushinteger(local_#25887,local_#25893); goto CFG_41226; CFG_41226: assume true; goto CFG_41227; CFG_41227: assume true; goto CFG_39388; CFG_50988: assume true; local_#25894 := 0; local_#25895 := (if local_#6219_i == local_#25894 then 1 else 0); if (local_#25895 != 0) { goto CFG_44319; } else { goto CFG_44318; } CFG_44318: assume true; local_#25896 := _memory_ptr[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 24 }]; assume _memory[{ base : strlit_#70476!base, offset : strlit_#70476!offset + 26 }] == 0; local_#25897 := strlit_#70476; local_#25898 := { base : local_#25897!base, offset : local_#25897!offset + 0 * 1 }; assert { :LIR "63714" } { :check "overflow" } { :finding_ids "0" } true; local_#25899 := 1; local_#25900 := local_#6219_i + local_#25899; assert { :LIR "66763" } { :check "overflow" } { :finding_ids "0" } local_#25900 <= 2147483647; goto CFG_48273; CFG_48273: assume true; call local_#25901 := routine_#33828_luaL_error(local_#25896,local_#25898,{ base : 0, offset : 0 }); goto CFG_41228; CFG_41228: assume true; goto CFG_41230; CFG_44319: assume true; local_#25902 := _memory_ptr[{ base : local_#6218_ms!base, offset : local_#6218_ms!offset + 24 }]; local_#25903 := (local_#6221_e!offset - local_#6220_s!offset) / 1; local_#25904 := ~uwrap64(local_#25903); assert { :LIR "63715" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48274; CFG_48274: assume true; call local_#25905 := routine_#33962_lua_pushlstring(local_#25902,local_#6220_s,local_#25904); goto CFG_41229; CFG_41229: assume true; goto CFG_41230; CFG_41230: assume true; goto CFG_39388; CFG_39388: assume true; goto CFG_37900; CFG_37900: assume true; } procedure routine_#35002_pushargs(local_#6222_L_IN : { base : int, offset : int }) returns (local_#8233 : int) modifies _memory, _memory_ptr, _valid; { var local_#6222_L : { base : int, offset : int }; var local_#25906 : { base : int, offset : int }; var local_#25907 : { base : int, offset : int }; var local_#25908 : int; var local_#25909 : int; var local_#25910 : int; var local_#25911 : { base : int, offset : int }; var local_#25912 : { base : int, offset : int }; var local_#25913 : int; var local_#25914 : int; var local_#25915 : int; var local_#25916 : int; var local_#32667_n : int; var local_#25917 : int; var local_#25918 : int; var local_#25919 : { base : int, offset : int }; var local_#25920 : { base : int, offset : int }; var local_#32666_i : int; var local_#25921 : int; var local_#25922 : int; var local_#25923 : int; var local_#25924 : int; var local_#25925 : int; var local_#25926 : int; var local_#25927 : int; var local_#25928 : int; var local_#25929 : int; var local_#25930 : int; local_#6222_L := local_#6222_L_IN; goto CFG_36990; CFG_36990: assume true; goto CFG_44320; CFG_44320: assume true; assume _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 0 }] == 97 && _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 1 }] == 114 && _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 2 }] == 103 && _memory[{ base : strlit_#70496!base, offset : strlit_#70496!offset + 3 }] == 0; local_#25906 := strlit_#70496; local_#25907 := { base : local_#25906!base, offset : local_#25906!offset + 0 * 1 }; assert { :LIR "63716" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48275; CFG_48275: assume true; call local_#25908 := routine_#33931_lua_getglobal(local_#6222_L,local_#25907); goto CFG_50989; CFG_50989: assume true; local_#25909 := 5; local_#25910 := (if local_#25908 != local_#25909 then 1 else 0); if (local_#25910 != 0) { goto CFG_44321; } else { goto CFG_44322; } CFG_44321: assume true; assume _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 0 }] == 39 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 1 }] == 97 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 2 }] == 114 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 3 }] == 103 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 4 }] == 39 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 5 }] == 32 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 6 }] == 105 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 7 }] == 115 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 8 }] == 32 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 9 }] == 110 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 10 }] == 111 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 11 }] == 116 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 12 }] == 32 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 13 }] == 97 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 14 }] == 32 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 15 }] == 116 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 16 }] == 97 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 17 }] == 98 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 18 }] == 108 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 19 }] == 101 && _memory[{ base : strlit_#70755!base, offset : strlit_#70755!offset + 20 }] == 0; local_#25911 := strlit_#70755; local_#25912 := { base : local_#25911!base, offset : local_#25911!offset + 0 * 1 }; assert { :LIR "63717" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48276; CFG_48276: assume true; call local_#25913 := routine_#33828_luaL_error(local_#6222_L,local_#25912,{ base : 0, offset : 0 }); goto CFG_41231; CFG_41231: assume true; goto CFG_44322; CFG_44322: assume true; local_#25914 := -1; goto CFG_48277; CFG_48277: assume true; call local_#25915 := routine_#33834_luaL_len(local_#6222_L,local_#25914); goto CFG_44323; CFG_44323: assume true; local_#25916 := local_#25915; assert { :LIR "61830" } { :check "overflow" } { :finding_ids "0" } local_#25916 <= 2147483647; local_#32667_n := local_#25916; local_#25917 := 3; local_#25918 := local_#32667_n + local_#25917; assert { :LIR "66764" } { :check "overflow" } { :finding_ids "0" } local_#25918 <= 2147483647; assume _memory[{ base : strlit_#70756!base, offset : strlit_#70756!offset + 28 }] == 0; local_#25919 := strlit_#70756; local_#25920 := { base : local_#25919!base, offset : local_#25919!offset + 0 * 1 }; assert { :LIR "63718" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48278; CFG_48278: assume true; call routine_#33824_luaL_checkstack(local_#6222_L,local_#25918,local_#25920); goto CFG_41811; CFG_41811: assume true; local_#32666_i := 1; goto CFG_50990; CFG_50990: assume true; local_#25921 := (if local_#32666_i <= local_#32667_n then 1 else 0); if (local_#25921 != 0) { goto CFG_44326; } else { goto CFG_44324; } CFG_44324: assume true; local_#25922 := -local_#32666_i; assert { :LIR "64668" } { :check "overflow" } { :finding_ids "0" } local_#25922 <= 2147483647; local_#25923 := -1; goto CFG_48279; CFG_48279: assume true; call routine_#33978_lua_rotate(local_#6222_L,local_#25922,local_#25923); goto CFG_44325; CFG_44325: assume true; local_#25924 := -2; goto CFG_48280; CFG_48280: assume true; call routine_#33987_lua_settop(local_#6222_L,local_#25924); goto CFG_38916; CFG_38916: assume true; local_#8233 := local_#32667_n; goto CFG_37901; CFG_44326: assume true; local_#25925 := -local_#32666_i; assert { :LIR "64669" } { :check "overflow" } { :finding_ids "0" } local_#25925 <= 2147483647; local_#25926 := local_#32666_i; assert { :LIR "63719" } { :check "overflow" } { :finding_ids "0" } local_#25926 <= 9223372036854775807; goto CFG_48281; CFG_48281: assume true; call local_#25927 := routine_#33971_lua_rawgeti(local_#6222_L,local_#25925,local_#25926); goto CFG_45152; CFG_45152: assume true; local_#25928 := local_#32666_i; local_#25929 := 1; local_#32666_i := local_#25928 + local_#25929; assert { :LIR "66765" } { :check "overflow" } { :finding_ids "0" } local_#32666_i <= 2147483647; local_#25930 := local_#25928; goto CFG_50990; CFG_37901: assume true; } procedure routine_#35003_pushclosure(local_#6223_L_IN : { base : int, offset : int }, local_#6224_p_IN : { base : int, offset : int }, local_#6225_encup_IN : { base : int, offset : int }, local_#6226_base_IN : { base : int, offset : int }, local_#6227_ra_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6223_L : { base : int, offset : int }; var local_#6224_p : { base : int, offset : int }; var local_#6225_encup : { base : int, offset : int }; var local_#6226_base : { base : int, offset : int }; var local_#6227_ra : { base : int, offset : int }; var local_#32670_nup : int; var local_#32671_uv : { base : int, offset : int }; var local_#25931 : { base : int, offset : int }; var local_#32669_ncl : { base : int, offset : int }; var local_#32672_io : { base : int, offset : int }; var local_#32673_x_ : { base : int, offset : int }; var local_#25932 : { base : int, offset : int }; var local_#25933 : { base : int, offset : int }; var local_#25934 : { base : int, offset : int }; var local_#25935 : int; var local_#25936 : int; var local_#32668_i : int; var local_#25937 : int; var local_#25938 : int; var local_#25939 : int; var local_#25940 : int; var local_#25941 : int; var local_#25942 : { base : int, offset : int }; var local_#25943 : int; var local_#25944 : { base : int, offset : int }; var local_#25945 : { base : int, offset : int }; var local_#25946 : { base : int, offset : int }; var local_#25947 : { base : int, offset : int }; var local_#25948 : { base : int, offset : int }; var local_#25949 : { base : int, offset : int }; var local_#25950 : { base : int, offset : int }; var local_#25951 : { base : int, offset : int }; var local_#25952 : { base : int, offset : int }; var local_#25953 : { base : int, offset : int }; var local_#25954 : { base : int, offset : int }; var local_#25955 : { base : int, offset : int }; var local_#25956 : int; var local_#25957 : int; var local_#25958 : int; var local_#25959 : int; var local_#25960 : int; var local_#25961 : int; local_#6223_L := local_#6223_L_IN; local_#6224_p := local_#6224_p_IN; local_#6225_encup := local_#6225_encup_IN; local_#6226_base := local_#6226_base_IN; local_#6227_ra := local_#6227_ra_IN; goto CFG_36991; CFG_36991: assume true; goto CFG_44327; CFG_44327: assume true; local_#32670_nup := _memory[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 16 }]; local_#32671_uv := _memory_ptr[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 88 }]; goto CFG_48282; CFG_48282: assume true; call local_#25931 := routine_#33755_luaF_newLclosure(local_#6223_L,local_#32670_nup); goto CFG_41812; CFG_41812: assume true; local_#32669_ncl := local_#25931; _memory_ptr[{ base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 24 }] := local_#6224_p; local_#32672_io := local_#6227_ra; local_#32673_x_ := local_#32669_ncl; local_#25932 := local_#32673_x_; assert { :LIR "61831" } { :check "overflow" } { :finding_ids "0" } true; local_#25933 := { base : local_#25932!base, offset : local_#25932!offset + 0 }; local_#25934 := { base : local_#32672_io!base, offset : local_#32672_io!offset + 0 }; _memory_ptr[local_#25934] := local_#25933; _memory[{ base : local_#32672_io!base, offset : local_#32672_io!offset + 8 }] := 70; local_#25935 := 0; local_#25936 := 0; assert { :LIR "61832" } { :check "overflow" } { :finding_ids "0" } true; local_#32668_i := 0; goto CFG_50991; CFG_50991: assume true; local_#25937 := (if local_#32668_i < local_#32670_nup then 1 else 0); if (local_#25937 != 0) { goto CFG_50993; } else { goto CFG_50992; } CFG_50992: assume true; local_#25938 := _memory[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 9 }]; assert { :LIR "63720" } { :check "overflow" } { :finding_ids "0" } local_#25938 <= 2147483647; local_#25939 := 4; local_#25940 := ~sand32(local_#25938, local_#25939); local_#25941 := (if local_#25940 != 0 then 0 else 1); if (local_#25941 != 0) { goto CFG_41232; } else { goto CFG_39389; } CFG_41232: assume true; _memory_ptr[{ base : local_#6224_p!base, offset : local_#6224_p!offset + 96 }] := local_#32669_ncl; goto CFG_39389; CFG_39389: assume true; goto CFG_37902; CFG_50993: assume true; local_#25942 := { base : local_#32671_uv!base, offset : local_#32671_uv!offset + local_#32668_i * 16 }; local_#25943 := _memory[{ base : local_#25942!base, offset : local_#25942!offset + 8 }]; if (local_#25943 != 0) { goto CFG_44328; } else { goto CFG_41233; } CFG_41233: assume true; local_#25944 := { base : local_#32671_uv!base, offset : local_#32671_uv!offset + local_#32668_i * 16 }; local_#25945 := { base : local_#6225_encup!base, offset : local_#6225_encup!offset + _memory[{ base : local_#25944!base, offset : local_#25944!offset + 9 }] * 8 }; local_#25946 := { base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 32 }; local_#25947 := { base : local_#25946!base, offset : local_#25946!offset + 0 * 8 + local_#32668_i * 8 }; _memory_ptr[local_#25947] := _memory_ptr[local_#25945]; goto CFG_44329; CFG_44328: assume true; local_#25948 := { base : local_#32671_uv!base, offset : local_#32671_uv!offset + local_#32668_i * 16 }; local_#25949 := { base : local_#6226_base!base, offset : local_#6226_base!offset + _memory[{ base : local_#25948!base, offset : local_#25948!offset + 9 }] * 16 }; goto CFG_48283; CFG_48283: assume true; call local_#25950 := routine_#33750_luaF_findupval(local_#6223_L,local_#25949); goto CFG_41234; CFG_41234: assume true; local_#25951 := { base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 32 }; local_#25952 := { base : local_#25951!base, offset : local_#25951!offset + 0 * 8 + local_#32668_i * 8 }; _memory_ptr[local_#25952] := local_#25950; goto CFG_44329; CFG_44329: assume true; local_#25953 := { base : local_#32669_ncl!base, offset : local_#32669_ncl!offset + 32 }; local_#25954 := { base : local_#25953!base, offset : local_#25953!offset + 0 * 8 + local_#32668_i * 8 }; local_#25955 := _memory_ptr[local_#25954]; local_#25956 := _memory[{ base : local_#25955!base, offset : local_#25955!offset + 8 }]; local_#25957 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#25955!base, offset : local_#25955!offset + 8 }] := ~uwrap64(local_#25956 + local_#25957); assert { :LIR "66766" } { :check "overflow" } { :finding_ids "0" } true; local_#25958 := local_#25956; goto CFG_45153; CFG_45153: assume true; local_#25959 := local_#32668_i; local_#25960 := 1; local_#32668_i := local_#25959 + local_#25960; assert { :LIR "66767" } { :check "overflow" } { :finding_ids "0" } local_#32668_i <= 2147483647; local_#25961 := local_#25959; goto CFG_50991; CFG_37902: assume true; } procedure routine_#35004_pushfuncname(local_#6228_L_IN : { base : int, offset : int }, local_#6229_ar_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6228_L : { base : int, offset : int }; var local_#6229_ar : { base : int, offset : int }; var local_#25962 : int; var local_#25963 : int; var local_#25964 : { base : int, offset : int }; var local_#25965 : int; var local_#25966 : int; var local_#25967 : int; var local_#25968 : { base : int, offset : int }; var local_#25969 : int; var local_#25970 : int; var local_#25971 : int; var local_#25972 : { base : int, offset : int }; var local_#25973 : int; var local_#25974 : int; var local_#25975 : int; var local_#25976 : { base : int, offset : int }; var local_#25977 : { base : int, offset : int }; var local_#25978 : { base : int, offset : int }; var local_#25979 : { base : int, offset : int }; var local_#25980 : { base : int, offset : int }; var local_#25981 : { base : int, offset : int }; var local_#25982 : { base : int, offset : int }; var local_#25983 : int; var local_#25984 : { base : int, offset : int }; var local_#25985 : { base : int, offset : int }; var local_#25986 : { base : int, offset : int }; var local_#25987 : { base : int, offset : int }; var local_#25988 : { base : int, offset : int }; var local_#25989 : { base : int, offset : int }; var local_#25990 : { base : int, offset : int }; var local_#25991 : { base : int, offset : int }; var local_#25992 : { base : int, offset : int }; var local_#25993 : { base : int, offset : int }; var local_#25994 : { base : int, offset : int }; var local_#25995 : int; var local_#25996 : { base : int, offset : int }; var local_#25997 : { base : int, offset : int }; var local_#25998 : { base : int, offset : int }; var local_#25999 : int; var local_#26000 : int; var local_#26001 : int; local_#6228_L := local_#6228_L_IN; local_#6229_ar := local_#6229_ar_IN; goto CFG_36992; CFG_36992: assume true; goto CFG_48284; CFG_48284: assume true; call local_#25962 := routine_#35005_pushglobalfuncname(local_#6228_L,local_#6229_ar); goto CFG_50994; CFG_50994: assume true; local_#25963 := local_#25962; if (local_#25963 != 0) { goto CFG_44334; } else { goto CFG_50995; } CFG_50995: assume true; local_#25964 := _memory_ptr[{ base : local_#6229_ar!base, offset : local_#6229_ar!offset + 16 }]; local_#25965 := _memory[local_#25964]; assert { :LIR "63721" } { :check "overflow" } { :finding_ids "0" } local_#25965 <= 2147483647; local_#25966 := 0; local_#25967 := (if local_#25965 != local_#25966 then 1 else 0); if (local_#25967 != 0) { goto CFG_44333; } else { goto CFG_50996; } CFG_50996: assume true; local_#25968 := _memory_ptr[{ base : local_#6229_ar!base, offset : local_#6229_ar!offset + 24 }]; local_#25969 := _memory[local_#25968]; assert { :LIR "63722" } { :check "overflow" } { :finding_ids "0" } local_#25969 <= 2147483647; local_#25970 := 109; local_#25971 := (if local_#25969 == local_#25970 then 1 else 0); if (local_#25971 != 0) { goto CFG_44332; } else { goto CFG_50997; } CFG_50997: assume true; local_#25972 := _memory_ptr[{ base : local_#6229_ar!base, offset : local_#6229_ar!offset + 24 }]; local_#25973 := _memory[local_#25972]; assert { :LIR "63723" } { :check "overflow" } { :finding_ids "0" } local_#25973 <= 2147483647; local_#25974 := 67; local_#25975 := (if local_#25973 != local_#25974 then 1 else 0); if (local_#25975 != 0) { goto CFG_44331; } else { goto CFG_44330; } CFG_44330: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#25976 := strlit_#70307; local_#25977 := { base : local_#25976!base, offset : local_#25976!offset + 0 * 1 }; assert { :LIR "63724" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48285; CFG_48285: assume true; call local_#25978 := routine_#33965_lua_pushstring(local_#6228_L,local_#25977); goto CFG_41235; CFG_41235: assume true; goto CFG_41237; CFG_44331: assume true; assume _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 0 }] == 102 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 1 }] == 117 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 2 }] == 110 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 3 }] == 99 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 4 }] == 116 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 5 }] == 105 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 6 }] == 111 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 7 }] == 110 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 8 }] == 32 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 9 }] == 60 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 10 }] == 37 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 11 }] == 115 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 12 }] == 58 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 13 }] == 37 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 14 }] == 100 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 15 }] == 62 && _memory[{ base : strlit_#70758!base, offset : strlit_#70758!offset + 16 }] == 0; local_#25979 := strlit_#70758; local_#25980 := { base : local_#25979!base, offset : local_#25979!offset + 0 * 1 }; assert { :LIR "63725" } { :check "overflow" } { :finding_ids "0" } true; local_#25981 := { base : local_#6229_ar!base, offset : local_#6229_ar!offset + 56 }; local_#25982 := { base : local_#25981!base, offset : local_#25981!offset + 0 * 1 }; local_#25983 := _memory[{ base : local_#6229_ar!base, offset : local_#6229_ar!offset + 44 }]; goto CFG_48286; CFG_48286: assume true; call local_#25984 := routine_#33959_lua_pushfstring(local_#6228_L,local_#25980,{ base : 0, offset : 0 }); goto CFG_41236; CFG_41236: assume true; goto CFG_41237; CFG_41237: assume true; goto CFG_41239; CFG_44332: assume true; assume _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 0 }] == 109 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 1 }] == 97 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 2 }] == 105 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 3 }] == 110 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 4 }] == 32 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 5 }] == 99 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 6 }] == 104 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 7 }] == 117 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 8 }] == 110 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 9 }] == 107 && _memory[{ base : strlit_#70759!base, offset : strlit_#70759!offset + 10 }] == 0; local_#25985 := strlit_#70759; local_#25986 := { base : local_#25985!base, offset : local_#25985!offset + 0 * 1 }; assert { :LIR "63726" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48287; CFG_48287: assume true; call local_#25987 := routine_#33965_lua_pushstring(local_#6228_L,local_#25986); goto CFG_41238; CFG_41238: assume true; goto CFG_41239; CFG_41239: assume true; goto CFG_41241; CFG_44333: assume true; assume _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 0 }] == 37 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 1 }] == 115 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 2 }] == 32 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 3 }] == 39 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 4 }] == 37 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 5 }] == 115 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 6 }] == 39 && _memory[{ base : strlit_#70760!base, offset : strlit_#70760!offset + 7 }] == 0; local_#25988 := strlit_#70760; local_#25989 := { base : local_#25988!base, offset : local_#25988!offset + 0 * 1 }; assert { :LIR "63727" } { :check "overflow" } { :finding_ids "0" } true; local_#25990 := _memory_ptr[{ base : local_#6229_ar!base, offset : local_#6229_ar!offset + 16 }]; local_#25991 := _memory_ptr[{ base : local_#6229_ar!base, offset : local_#6229_ar!offset + 8 }]; goto CFG_48288; CFG_48288: assume true; call local_#25992 := routine_#33959_lua_pushfstring(local_#6228_L,local_#25989,{ base : 0, offset : 0 }); goto CFG_41240; CFG_41240: assume true; goto CFG_41241; CFG_41241: assume true; goto CFG_39390; CFG_44334: assume true; assume _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 0 }] == 102 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 1 }] == 117 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 2 }] == 110 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 3 }] == 99 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 4 }] == 116 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 5 }] == 105 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 6 }] == 111 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 7 }] == 110 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 8 }] == 32 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 9 }] == 39 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 10 }] == 37 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 11 }] == 115 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 12 }] == 39 && _memory[{ base : strlit_#70761!base, offset : strlit_#70761!offset + 13 }] == 0; local_#25993 := strlit_#70761; local_#25994 := { base : local_#25993!base, offset : local_#25993!offset + 0 * 1 }; assert { :LIR "63728" } { :check "overflow" } { :finding_ids "0" } true; local_#25995 := -1; local_#25996 := { base : 0, offset : 0 }; goto CFG_48289; CFG_48289: assume true; call local_#25997 := routine_#33995_lua_tolstring(local_#6228_L,local_#25995,local_#25996); goto CFG_48290; CFG_48290: assume true; call local_#25998 := routine_#33959_lua_pushfstring(local_#6228_L,local_#25994,{ base : 0, offset : 0 }); goto CFG_44335; CFG_44335: assume true; local_#25999 := -2; local_#26000 := -1; goto CFG_48291; CFG_48291: assume true; call routine_#33978_lua_rotate(local_#6228_L,local_#25999,local_#26000); goto CFG_44336; CFG_44336: assume true; local_#26001 := -2; goto CFG_48292; CFG_48292: assume true; call routine_#33987_lua_settop(local_#6228_L,local_#26001); goto CFG_41242; CFG_41242: assume true; goto CFG_39390; CFG_39390: assume true; goto CFG_37903; CFG_37903: assume true; } procedure routine_#35005_pushglobalfuncname(local_#6230_L_IN : { base : int, offset : int }, local_#6231_ar_IN : { base : int, offset : int }) returns (local_#8234 : int) modifies _memory, _memory_ptr, _valid; { var local_#6230_L : { base : int, offset : int }; var local_#6231_ar : { base : int, offset : int }; var local_#26002 : int; var local_#32674_top : int; var local_#26003 : { base : int, offset : int }; var local_#26004 : { base : int, offset : int }; var local_#26005 : int; var local_#26006 : int; var local_#26007 : { base : int, offset : int }; var local_#26008 : { base : int, offset : int }; var local_#26009 : int; var local_#26010 : int; var local_#26011 : int; var local_#26012 : int; var local_#26013 : int; var local_#26014 : int; var local_#26015 : int; var local_#26016 : { base : int, offset : int }; var local_#26017 : { base : int, offset : int }; var local_#32675_name : { base : int, offset : int }; var local_#26018 : { base : int, offset : int }; var local_#26019 : { base : int, offset : int }; var local_#26020 : int; var local_#26021 : int; var local_#26022 : int; var local_#26023 : int; var local_#26024 : int; var local_#26025 : { base : int, offset : int }; var local_#26026 : { base : int, offset : int }; var local_#26027 : int; var local_#26028 : int; var local_#26029 : int; var local_#26030 : int; var local_#26031 : int; var local_#26032 : int; var local_#26033 : int; local_#6230_L := local_#6230_L_IN; local_#6231_ar := local_#6231_ar_IN; goto CFG_36993; CFG_36993: assume true; goto CFG_48293; CFG_48293: assume true; call local_#26002 := routine_#33941_lua_gettop(local_#6230_L); goto CFG_44337; CFG_44337: assume true; local_#32674_top := local_#26002; assume _memory[{ base : strlit_#70762!base, offset : strlit_#70762!offset + 0 }] == 102 && _memory[{ base : strlit_#70762!base, offset : strlit_#70762!offset + 1 }] == 0; local_#26003 := strlit_#70762; local_#26004 := { base : local_#26003!base, offset : local_#26003!offset + 0 * 1 }; assert { :LIR "63729" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48294; CFG_48294: assume true; call local_#26005 := routine_#33936_lua_getinfo(local_#6230_L,local_#26004,local_#6231_ar); goto CFG_44338; CFG_44338: assume true; local_#26006 := -1001000; assume _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 0 }] == 95 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 1 }] == 76 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 2 }] == 79 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 3 }] == 65 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 4 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 5 }] == 69 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 6 }] == 68 && _memory[{ base : strlit_#70332!base, offset : strlit_#70332!offset + 7 }] == 0; local_#26007 := strlit_#70332; local_#26008 := { base : local_#26007!base, offset : local_#26007!offset + 0 * 1 }; assert { :LIR "63730" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48295; CFG_48295: assume true; call local_#26009 := routine_#33930_lua_getfield(local_#6230_L,local_#26006,local_#26008); goto CFG_44339; CFG_44339: assume true; local_#26010 := 1; local_#26011 := local_#32674_top + local_#26010; assert { :LIR "66768" } { :check "overflow" } { :finding_ids "0" } local_#26011 <= 2147483647; local_#26012 := 2; goto CFG_48296; CFG_48296: assume true; call local_#26013 := routine_#34740_findfield(local_#6230_L,local_#26011,local_#26012); goto CFG_50998; CFG_50998: assume true; local_#26014 := local_#26013; if (local_#26014 != 0) { goto CFG_44340; } else { goto CFG_48297; } CFG_48297: assume true; call routine_#33987_lua_settop(local_#6230_L,local_#32674_top); goto CFG_38917; CFG_38917: assume true; local_#8234 := 0; goto CFG_37904; CFG_44340: assume true; local_#26015 := -1; local_#26016 := { base : 0, offset : 0 }; goto CFG_48298; CFG_48298: assume true; call local_#26017 := routine_#33995_lua_tolstring(local_#6230_L,local_#26015,local_#26016); goto CFG_44341; CFG_44341: assume true; local_#32675_name := local_#26017; assume _memory[{ base : strlit_#70764!base, offset : strlit_#70764!offset + 0 }] == 95 && _memory[{ base : strlit_#70764!base, offset : strlit_#70764!offset + 1 }] == 71 && _memory[{ base : strlit_#70764!base, offset : strlit_#70764!offset + 2 }] == 46 && _memory[{ base : strlit_#70764!base, offset : strlit_#70764!offset + 3 }] == 0; local_#26018 := strlit_#70764; local_#26019 := { base : local_#26018!base, offset : local_#26018!offset + 0 * 1 }; assert { :LIR "63731" } { :check "overflow" } { :finding_ids "0" } true; local_#26020 := 3; goto CFG_48299; CFG_48299: assume true; call local_#26021 := routine_#34456_strncmp(local_#32675_name,local_#26019,local_#26020); goto CFG_50999; CFG_50999: assume true; local_#26022 := 0; local_#26023 := (if local_#26021 == local_#26022 then 1 else 0); if (local_#26023 != 0) { goto CFG_44342; } else { goto CFG_44345; } CFG_44342: assume true; local_#26024 := 3; local_#26025 := { base : local_#32675_name!base, offset : local_#32675_name!offset + local_#26024 * 1 }; goto CFG_48300; CFG_48300: assume true; call local_#26026 := routine_#33965_lua_pushstring(local_#6230_L,local_#26025); goto CFG_44343; CFG_44343: assume true; local_#26027 := -2; local_#26028 := -1; goto CFG_48301; CFG_48301: assume true; call routine_#33978_lua_rotate(local_#6230_L,local_#26027,local_#26028); goto CFG_44344; CFG_44344: assume true; local_#26029 := -2; goto CFG_48302; CFG_48302: assume true; call routine_#33987_lua_settop(local_#6230_L,local_#26029); goto CFG_41243; CFG_41243: assume true; goto CFG_44345; CFG_44345: assume true; local_#26030 := -1; local_#26031 := 1; local_#26032 := local_#32674_top + local_#26031; assert { :LIR "66769" } { :check "overflow" } { :finding_ids "0" } local_#26032 <= 2147483647; goto CFG_48303; CFG_48303: assume true; call routine_#33924_lua_copy(local_#6230_L,local_#26030,local_#26032); goto CFG_44346; CFG_44346: assume true; local_#26033 := -3; goto CFG_48304; CFG_48304: assume true; call routine_#33987_lua_settop(local_#6230_L,local_#26033); goto CFG_38918; CFG_38918: assume true; local_#8234 := 1; goto CFG_37904; CFG_37904: assume true; } procedure routine_#35006_pushline(local_#6232_L_IN : { base : int, offset : int }, local_#6233_firstline_IN : int) returns (local_#8235 : int) modifies _memory, _memory_ptr, _valid; { var local_#6232_L : { base : int, offset : int }; var local_#6233_firstline : int; var local_#32677_buffer : { base : int, offset : int }; var local_#32676_b : { base : int, offset : int }; var local_#26034 : { base : int, offset : int }; var local_#32679_prmt : { base : int, offset : int }; var local_#26035 : int; var local_#26036 : { base : int, offset : int }; var local_#26037 : { base : int, offset : int }; var local_#26038 : int; var local_#32680_readstatus : int; var local_#26039 : int; var local_#26040 : int; var local_#26041 : int; var local_#26042 : { base : int, offset : int }; var local_#26043 : int; var local_#32678_l : int; var local_#26044 : int; var local_#26045 : int; var local_#26046 : int; var local_#26047 : int; var local_#26048 : { base : int, offset : int }; var local_#26049 : int; var local_#26050 : int; var local_#26051 : int; var local_#26052 : int; var local_#26053 : int; var local_#26054 : { base : int, offset : int }; var local_#26055 : int; var local_#26056 : int; var local_#26057 : { base : int, offset : int }; var local_#26058 : int; var local_#26059 : int; var local_#26060 : int; var local_#26061 : { base : int, offset : int }; var local_#26062 : { base : int, offset : int }; var local_#26063 : { base : int, offset : int }; var local_#26064 : { base : int, offset : int }; var local_#26065 : int; var local_#26066 : { base : int, offset : int }; var local_#26067 : { base : int, offset : int }; var local_#26068 : int; var local_#26069 : { base : int, offset : int }; local_#6232_L := local_#6232_L_IN; local_#6233_firstline := local_#6233_firstline_IN; goto CFG_36994; CFG_36994: assume true; goto CFG_44347; CFG_44347: assume true; local_#32676_b := { base : local_#32677_buffer!base, offset : local_#32677_buffer!offset + 0 * 1 }; goto CFG_48305; CFG_48305: assume true; call local_#26034 := routine_#34777_get_prompt(local_#6232_L,local_#6233_firstline); goto CFG_44348; CFG_44348: assume true; local_#32679_prmt := local_#26034; local_#26035 := 0; assert { :LIR "61833" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48306; CFG_48306: assume true; call local_#26036 := routine_#34085_readline(local_#32679_prmt); goto CFG_51000; CFG_51000: assume true; local_#32676_b := local_#26036; local_#26037 := { base : 0, offset : 0 }; local_#26038 := (if local_#32676_b != local_#26037 then 1 else 0); local_#32680_readstatus := local_#26038; local_#26039 := 0; local_#26040 := (if local_#32680_readstatus == local_#26039 then 1 else 0); if (local_#26040 != 0) { goto CFG_38920; } else { goto CFG_44349; } CFG_44349: assume true; local_#26041 := -2; goto CFG_48307; CFG_48307: assume true; call routine_#33987_lua_settop(local_#6232_L,local_#26041); goto CFG_44350; CFG_44350: assume true; local_#26042 := local_#32676_b; assert { :LIR "63732" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48308; CFG_48308: assume true; call local_#26043 := routine_#34454_strlen(local_#26042); goto CFG_51001; CFG_51001: assume true; local_#32678_l := local_#26043; local_#26044 := 0; local_#26045 := (if local_#32678_l > local_#26044 then 1 else 0); if (local_#26045 != 0) { goto CFG_51002; } else { goto CFG_51003; } CFG_51002: assume true; local_#26046 := 1; assume { :symbol "~uwrap64" } true; local_#26047 := ~uwrap64(local_#32678_l - local_#26046); assert { :LIR "68129" } { :check "overflow" } { :finding_ids "0" } true; local_#26048 := { base : local_#32676_b!base, offset : local_#32676_b!offset + local_#26047 * 1 }; local_#26049 := _memory[local_#26048]; assert { :LIR "63733" } { :check "overflow" } { :finding_ids "0" } local_#26049 <= 2147483647; local_#26050 := 10; local_#26051 := (if local_#26049 == local_#26050 then 1 else 0); if (local_#26051 != 0) { goto CFG_41244; } else { goto CFG_51003; } CFG_41244: assume true; local_#26052 := 0; local_#26053 := 1; assume { :symbol "~uwrap64" } true; local_#32678_l := ~uwrap64(local_#32678_l - local_#26053); assert { :LIR "68130" } { :check "overflow" } { :finding_ids "0" } true; local_#26054 := { base : local_#32676_b!base, offset : local_#32676_b!offset + local_#32678_l * 1 }; _memory[local_#26054] := local_#26052; goto CFG_51003; CFG_51003: assume true; local_#26055 := local_#6233_firstline; if (local_#26055 != 0) { goto CFG_51004; } else { goto CFG_44351; } CFG_51004: assume true; local_#26056 := 0; local_#26057 := { base : local_#32676_b!base, offset : local_#32676_b!offset + local_#26056 * 1 }; local_#26058 := _memory[local_#26057]; assert { :LIR "63734" } { :check "overflow" } { :finding_ids "0" } local_#26058 <= 2147483647; local_#26059 := 61; local_#26060 := (if local_#26058 == local_#26059 then 1 else 0); if (local_#26060 != 0) { goto CFG_44352; } else { goto CFG_44351; } CFG_44351: assume true; local_#26061 := local_#32676_b; assert { :LIR "63735" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48309; CFG_48309: assume true; call local_#26062 := routine_#33962_lua_pushlstring(local_#6232_L,local_#26061,local_#32678_l); goto CFG_41245; CFG_41245: assume true; goto CFG_44353; CFG_44352: assume true; assume _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 0 }] == 114 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 1 }] == 101 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 2 }] == 116 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 3 }] == 117 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 4 }] == 114 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 5 }] == 110 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 6 }] == 32 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 7 }] == 37 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 8 }] == 115 && _memory[{ base : strlit_#70765!base, offset : strlit_#70765!offset + 9 }] == 0; local_#26063 := strlit_#70765; local_#26064 := { base : local_#26063!base, offset : local_#26063!offset + 0 * 1 }; assert { :LIR "63736" } { :check "overflow" } { :finding_ids "0" } true; local_#26065 := 1; local_#26066 := { base : local_#32676_b!base, offset : local_#32676_b!offset + local_#26065 * 1 }; goto CFG_48310; CFG_48310: assume true; call local_#26067 := routine_#33959_lua_pushfstring(local_#6232_L,local_#26064,{ base : 0, offset : 0 }); goto CFG_41246; CFG_41246: assume true; goto CFG_44353; CFG_44353: assume true; local_#26068 := 0; assert { :LIR "61834" } { :check "overflow" } { :finding_ids "0" } true; local_#26069 := local_#32676_b; assert { :LIR "63737" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48311; CFG_48311: assume true; call routine_#33584_free(local_#26069); goto CFG_38919; CFG_38919: assume true; local_#8235 := 1; goto CFG_37905; CFG_38920: assume true; local_#8235 := 0; goto CFG_37905; CFG_37905: assume true; } procedure routine_#35007_pushnexttemplate(local_#6234_L_IN : { base : int, offset : int }, local_#6235_path_IN : { base : int, offset : int }) returns (local_#8236 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6234_L : { base : int, offset : int }; var local_#6235_path : { base : int, offset : int }; var local_#26070 : int; var local_#26071 : { base : int, offset : int }; var local_#26072 : int; var local_#26073 : int; var local_#26074 : int; var local_#26075 : int; var local_#26076 : int; var local_#26077 : { base : int, offset : int }; var local_#26078 : int; var local_#26079 : { base : int, offset : int }; var local_#26080 : { base : int, offset : int }; var local_#32681_l : { base : int, offset : int }; var local_#26081 : { base : int, offset : int }; var local_#26082 : int; var local_#26083 : int; var local_#26084 : { base : int, offset : int }; var local_#26085 : int; var local_#26086 : int; var local_#26087 : { base : int, offset : int }; var local_#26088 : { base : int, offset : int }; var local_#26089 : int; var local_#26090 : { base : int, offset : int }; local_#6234_L := local_#6234_L_IN; local_#6235_path := local_#6235_path_IN; goto CFG_36995; CFG_36995: assume true; goto CFG_41813; CFG_41813: assume true; goto CFG_51005; CFG_51005: assume true; local_#26070 := _memory[local_#6235_path]; assert { :LIR "63738" } { :check "overflow" } { :finding_ids "0" } local_#26070 <= 2147483647; assume _memory[{ base : strlit_#70766!base, offset : strlit_#70766!offset + 0 }] == 59 && _memory[{ base : strlit_#70766!base, offset : strlit_#70766!offset + 1 }] == 0; local_#26071 := strlit_#70766; local_#26072 := _memory[{ base : local_#26071!base, offset : local_#26071!offset + 0 * 1 }]; assert { :LIR "63739" } { :check "overflow" } { :finding_ids "0" } local_#26072 <= 2147483647; local_#26073 := (if local_#26070 == local_#26072 then 1 else 0); if (local_#26073 != 0) { goto CFG_45154; } else { goto CFG_51006; } CFG_51006: assume true; local_#26074 := _memory[local_#6235_path]; assert { :LIR "63740" } { :check "overflow" } { :finding_ids "0" } local_#26074 <= 2147483647; local_#26075 := 0; local_#26076 := (if local_#26074 == local_#26075 then 1 else 0); if (local_#26076 != 0) { goto CFG_38922; } else { goto CFG_44354; } CFG_44354: assume true; assume _memory[{ base : strlit_#70766!base, offset : strlit_#70766!offset + 0 }] == 59 && _memory[{ base : strlit_#70766!base, offset : strlit_#70766!offset + 1 }] == 0; local_#26077 := strlit_#70766; local_#26078 := _memory[{ base : local_#26077!base, offset : local_#26077!offset + 0 * 1 }]; assert { :LIR "63741" } { :check "overflow" } { :finding_ids "0" } local_#26078 <= 2147483647; goto CFG_48312; CFG_48312: assume true; call local_#26079 := routine_#34445_strchr(local_#6235_path,local_#26078); goto CFG_51007; CFG_51007: assume true; local_#26080 := local_#26079; assert { :LIR "63742" } { :check "overflow" } { :finding_ids "0" } true; local_#32681_l := local_#26080; local_#26081 := { base : 0, offset : 0 }; local_#26082 := (if local_#32681_l == local_#26081 then 1 else 0); if (local_#26082 != 0) { goto CFG_48313; } else { goto CFG_44355; } CFG_48313: assume true; call local_#26083 := routine_#34454_strlen(local_#6235_path); goto CFG_41247; CFG_41247: assume true; local_#26084 := { base : local_#6235_path!base, offset : local_#6235_path!offset + local_#26083 * 1 }; local_#32681_l := local_#26084; goto CFG_44355; CFG_44355: assume true; local_#26085 := (local_#32681_l!offset - local_#6235_path!offset) / 1; local_#26086 := ~uwrap64(local_#26085); assert { :LIR "63743" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48314; CFG_48314: assume true; call local_#26087 := routine_#33962_lua_pushlstring(local_#6234_L,local_#6235_path,local_#26086); goto CFG_38921; CFG_38921: assume true; local_#8236 := local_#32681_l; goto CFG_37906; CFG_38922: assume true; local_#8236 := { base : 0, offset : 0 }; goto CFG_37906; CFG_45154: assume true; local_#26088 := local_#6235_path; local_#26089 := 1; local_#6235_path := { base : local_#26088!base, offset : local_#26088!offset + local_#26089 * 1 }; local_#26090 := local_#26088; goto CFG_51005; CFG_37906: assume true; } procedure routine_#35008_pushnumint(local_#6236_L_IN : { base : int, offset : int }, local_#6237_d_IN : int) returns () modifies _memory, _memory_ptr; { var local_#6236_L : { base : int, offset : int }; var local_#6237_d : int; var nondet_#0 : int; var local_#26091 : int; var nondet_#1 : bool; var local_#26092 : int; var nondet_#2 : int; var local_#26093 : int; var nondet_#3 : bool; var local_#26094 : int; var local_#26095 : int; var nondet_#4 : int; var local_#32682_n : { base : int, offset : int }; var local_#26096 : int; var local_#26097 : int; local_#6236_L := local_#6236_L_IN; local_#6237_d := local_#6237_d_IN; goto CFG_36996; CFG_36996: assume true; goto CFG_51008; CFG_51008: assume true; havoc nondet_#0; local_#26091 := nondet_#0 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78638 */; havoc nondet_#1; local_#26092 := (if nondet_#1 /* IR2BOOGIE-ERROR: Unsupported type for relation >= in 65760. */ then 1 else 0); if (local_#26092 != 0) { goto CFG_51009; } else { goto CFG_48315; } CFG_51009: assume true; havoc nondet_#2; local_#26093 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78639 */; havoc nondet_#3; local_#26094 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation < in 66299. */ then 1 else 0); if (local_#26094 != 0) { goto CFG_51010; } else { goto CFG_48315; } CFG_51010: assume true; havoc nondet_#4; local_#26095 := nondet_#4 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61835 */; assert { :LIR "61835" } { :check "overflow" } { :finding_ids "0" } local_#26095 <= 9223372036854775807; _memory[local_#32682_n] := local_#26095; local_#26096 := _memory[local_#32682_n]; local_#26097 := 1; if (local_#26097 != 0) { goto CFG_48316; } else { goto CFG_48315; } CFG_48315: assume true; call routine_#33964_lua_pushnumber(local_#6236_L,local_#6237_d); goto CFG_41248; CFG_41248: assume true; goto CFG_39391; CFG_48316: assume true; call routine_#33960_lua_pushinteger(local_#6236_L,_memory[local_#32682_n]); goto CFG_41249; CFG_41249: assume true; goto CFG_39391; CFG_39391: assume true; goto CFG_37907; CFG_37907: assume true; } procedure routine_#35009_pushstr(local_#6238_L_IN : { base : int, offset : int }, local_#6239_str_IN : { base : int, offset : int }, local_#6240_l_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6238_L : { base : int, offset : int }; var local_#6239_str : { base : int, offset : int }; var local_#6240_l : int; var local_#32683_io : { base : int, offset : int }; var local_#26098 : { base : int, offset : int }; var local_#32684_x_ : { base : int, offset : int }; var local_#26099 : { base : int, offset : int }; var local_#26100 : { base : int, offset : int }; var local_#26101 : { base : int, offset : int }; var local_#26102 : int; var local_#26103 : int; var local_#26104 : int; var local_#26105 : int; var local_#26106 : int; local_#6238_L := local_#6238_L_IN; local_#6239_str := local_#6239_str_IN; local_#6240_l := local_#6240_l_IN; goto CFG_36997; CFG_36997: assume true; goto CFG_44356; CFG_44356: assume true; local_#32683_io := _memory_ptr[{ base : local_#6238_L!base, offset : local_#6238_L!offset + 16 }]; goto CFG_48317; CFG_48317: assume true; call local_#26098 := routine_#33877_luaS_newlstr(local_#6238_L,local_#6239_str,local_#6240_l); goto CFG_44357; CFG_44357: assume true; local_#32684_x_ := local_#26098; local_#26099 := local_#32684_x_; assert { :LIR "61836" } { :check "overflow" } { :finding_ids "0" } true; local_#26100 := { base : local_#26099!base, offset : local_#26099!offset + 0 }; local_#26101 := { base : local_#32683_io!base, offset : local_#32683_io!offset + 0 }; _memory_ptr[local_#26101] := local_#26100; local_#26102 := _memory[{ base : local_#32684_x_!base, offset : local_#32684_x_!offset + 8 }]; assert { :LIR "63744" } { :check "overflow" } { :finding_ids "0" } local_#26102 <= 2147483647; local_#26103 := 64; local_#26104 := ~sor32(local_#26102, local_#26103); _memory[{ base : local_#32683_io!base, offset : local_#32683_io!offset + 8 }] := local_#26104; local_#26105 := 0; local_#26106 := 0; assert { :LIR "61837" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48318; CFG_48318: assume true; call routine_#33735_luaD_inctop(local_#6238_L); goto CFG_39392; CFG_39392: assume true; goto CFG_37908; CFG_37908: assume true; } procedure routine_#35010_pushutfchar(local_#6241_L_IN : { base : int, offset : int }, local_#6242_arg_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6241_L : { base : int, offset : int }; var local_#6242_arg : int; var local_#26107 : int; var local_#32685_code : int; var local_#26108 : int; var local_#26109 : int; var local_#26110 : int; var local_#26111 : int; var local_#26112 : { base : int, offset : int }; var local_#26113 : { base : int, offset : int }; var local_#26114 : int; var local_#26115 : int; var local_#30834 : int; var local_#26116 : int; var local_#26117 : { base : int, offset : int }; var local_#26118 : { base : int, offset : int }; var local_#26119 : int; var local_#26120 : { base : int, offset : int }; local_#6241_L := local_#6241_L_IN; local_#6242_arg := local_#6242_arg_IN; goto CFG_36998; CFG_36998: assume true; goto CFG_48319; CFG_48319: assume true; call local_#26107 := routine_#33820_luaL_checkinteger(local_#6241_L,local_#6242_arg); goto CFG_51011; CFG_51011: assume true; local_#32685_code := local_#26107; local_#26108 := 0; local_#26109 := (if local_#26108 <= local_#32685_code then 1 else 0); if (local_#26109 != 0) { goto CFG_51012; } else { goto CFG_44358; } CFG_51012: assume true; local_#26110 := 1114111; local_#26111 := (if local_#32685_code <= local_#26110 then 1 else 0); if (local_#26111 != 0) { goto CFG_41251; } else { goto CFG_44358; } CFG_44358: assume true; assume _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 0 }] == 118 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 1 }] == 97 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 2 }] == 108 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 3 }] == 117 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 4 }] == 101 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 5 }] == 32 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 6 }] == 111 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 7 }] == 117 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 8 }] == 116 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 9 }] == 32 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 10 }] == 111 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 11 }] == 102 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 12 }] == 32 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 13 }] == 114 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 14 }] == 97 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 15 }] == 110 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 16 }] == 103 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 17 }] == 101 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 18 }] == 0; local_#26112 := strlit_#70768; local_#26113 := { base : local_#26112!base, offset : local_#26112!offset + 0 * 1 }; assert { :LIR "63745" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48320; CFG_48320: assume true; call local_#26114 := routine_#33815_luaL_argerror(local_#6241_L,local_#6242_arg,local_#26113); goto CFG_51013; CFG_51013: assume true; local_#26115 := local_#26114; if (local_#26115 != 0) { goto CFG_41251; } else { goto CFG_41250; } CFG_41250: assume true; local_#30834 := 0; goto CFG_44359; CFG_41251: assume true; local_#30834 := 1; goto CFG_44359; CFG_44359: assume true; local_#26116 := 0; assert { :LIR "61838" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70769!base, offset : strlit_#70769!offset + 0 }] == 37 && _memory[{ base : strlit_#70769!base, offset : strlit_#70769!offset + 1 }] == 85 && _memory[{ base : strlit_#70769!base, offset : strlit_#70769!offset + 2 }] == 0; local_#26117 := strlit_#70769; local_#26118 := { base : local_#26117!base, offset : local_#26117!offset + 0 * 1 }; assert { :LIR "63746" } { :check "overflow" } { :finding_ids "0" } true; local_#26119 := local_#32685_code; assert { :LIR "61839" } { :check "overflow" } { :finding_ids "0" } local_#26119 <= 9223372036854775807; goto CFG_48321; CFG_48321: assume true; call local_#26120 := routine_#33959_lua_pushfstring(local_#6241_L,local_#26118,{ base : 0, offset : 0 }); goto CFG_39393; CFG_39393: assume true; goto CFG_37909; CFG_37909: assume true; } procedure routine_#35011_read_all(local_#6243_L_IN : { base : int, offset : int }, local_#6244_f_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6243_L : { base : int, offset : int }; var local_#6244_f : { base : int, offset : int }; var local_#32686_b : { base : int, offset : int }; var local_#26121 : { base : int, offset : int }; var local_#26122 : { base : int, offset : int }; var local_#26123 : int; var local_#26124 : { base : int, offset : int }; var local_#32688_p : { base : int, offset : int }; var local_#26125 : { base : int, offset : int }; var local_#26126 : int; var local_#26127 : int; var local_#26128 : int; var local_#32687_nr : int; var local_#26129 : int; var local_#26130 : int; var local_#26131 : { base : int, offset : int }; local_#6243_L := local_#6243_L_IN; local_#6244_f := local_#6244_f_IN; goto CFG_36999; CFG_36999: assume true; goto CFG_44360; CFG_44360: assume true; local_#26121 := local_#32686_b; goto CFG_48322; CFG_48322: assume true; call routine_#33816_luaL_buffinit(local_#6243_L,local_#26121); goto CFG_41814; CFG_41814: assume true; goto CFG_44361; CFG_44361: assume true; local_#26122 := local_#32686_b; local_#26123 := 8192; goto CFG_48323; CFG_48323: assume true; call local_#26124 := routine_#33844_luaL_prepbuffsize(local_#26122,local_#26123); goto CFG_44362; CFG_44362: assume true; local_#32688_p := local_#26124; local_#26125 := local_#32688_p; assert { :LIR "63747" } { :check "overflow" } { :finding_ids "0" } true; local_#26126 := 1; local_#26127 := 8192; goto CFG_48324; CFG_48324: assume true; call local_#26128 := routine_#33583_fread(local_#26125,local_#26126,local_#26127,local_#6244_f); goto CFG_44363; CFG_44363: assume true; local_#32687_nr := local_#26128; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32686_b!base, offset : local_#32686_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#32686_b!base, offset : local_#32686_b!offset + 16 }] + local_#32687_nr); assert { :LIR "66770" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_51014; CFG_51014: assume true; local_#26129 := 8192; local_#26130 := (if local_#32687_nr == local_#26129 then 1 else 0); if (local_#26130 != 0) { goto CFG_45155; } else { goto CFG_44364; } CFG_44364: assume true; local_#26131 := local_#32686_b; goto CFG_48325; CFG_48325: assume true; call routine_#33845_luaL_pushresult(local_#26131); goto CFG_39394; CFG_39394: assume true; goto CFG_37910; CFG_45155: assume true; goto CFG_44361; CFG_37910: assume true; } procedure routine_#35012_read_chars(local_#6245_L_IN : { base : int, offset : int }, local_#6246_f_IN : { base : int, offset : int }, local_#6247_n_IN : int) returns (local_#8237 : int) modifies _memory, _memory_ptr, _valid; { var local_#6245_L : { base : int, offset : int }; var local_#6246_f : { base : int, offset : int }; var local_#6247_n : int; var local_#32689_b : { base : int, offset : int }; var local_#26132 : { base : int, offset : int }; var local_#26133 : { base : int, offset : int }; var local_#26134 : { base : int, offset : int }; var local_#32691_p : { base : int, offset : int }; var local_#26135 : { base : int, offset : int }; var local_#26136 : int; var local_#26137 : int; var local_#32690_nr : int; var local_#26138 : { base : int, offset : int }; var local_#26139 : int; var local_#26140 : int; local_#6245_L := local_#6245_L_IN; local_#6246_f := local_#6246_f_IN; local_#6247_n := local_#6247_n_IN; goto CFG_37000; CFG_37000: assume true; goto CFG_44365; CFG_44365: assume true; local_#26132 := local_#32689_b; goto CFG_48326; CFG_48326: assume true; call routine_#33816_luaL_buffinit(local_#6245_L,local_#26132); goto CFG_44366; CFG_44366: assume true; local_#26133 := local_#32689_b; goto CFG_48327; CFG_48327: assume true; call local_#26134 := routine_#33844_luaL_prepbuffsize(local_#26133,local_#6247_n); goto CFG_44367; CFG_44367: assume true; local_#32691_p := local_#26134; local_#26135 := local_#32691_p; assert { :LIR "63748" } { :check "overflow" } { :finding_ids "0" } true; local_#26136 := 1; goto CFG_48328; CFG_48328: assume true; call local_#26137 := routine_#33583_fread(local_#26135,local_#26136,local_#6247_n,local_#6246_f); goto CFG_44368; CFG_44368: assume true; local_#32690_nr := local_#26137; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32689_b!base, offset : local_#32689_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#32689_b!base, offset : local_#32689_b!offset + 16 }] + local_#32690_nr); assert { :LIR "66771" } { :check "overflow" } { :finding_ids "0" } true; local_#26138 := local_#32689_b; goto CFG_48329; CFG_48329: assume true; call routine_#33845_luaL_pushresult(local_#26138); goto CFG_38923; CFG_38923: assume true; local_#26139 := 0; local_#26140 := (if local_#32690_nr > local_#26139 then 1 else 0); local_#8237 := local_#26140; goto CFG_37911; CFG_37911: assume true; } procedure routine_#35013_read_line(local_#6248_L_IN : { base : int, offset : int }, local_#6249_f_IN : { base : int, offset : int }, local_#6250_chop_IN : int) returns (local_#8238 : int) modifies _memory, _memory_ptr, _valid; { var local_#6248_L : { base : int, offset : int }; var local_#6249_f : { base : int, offset : int }; var local_#6250_chop : int; var local_#32693_c : int; var local_#32692_b : { base : int, offset : int }; var local_#26141 : { base : int, offset : int }; var local_#26142 : int; var local_#26143 : int; var local_#26144 : int; var local_#26145 : int; var local_#26146 : int; var local_#26147 : int; var local_#26148 : int; var local_#26149 : int; var local_#26150 : { base : int, offset : int }; var local_#26151 : int; var local_#26152 : { base : int, offset : int }; var local_#26153 : { base : int, offset : int }; var local_#30835 : int; var local_#26154 : int; var local_#26155 : int; var local_#26156 : int; var local_#26157 : int; var local_#26158 : { base : int, offset : int }; var local_#26159 : int; var local_#26160 : int; var local_#26161 : { base : int, offset : int }; var local_#26162 : int; var local_#26163 : int; var local_#26164 : int; var local_#26165 : int; var local_#26166 : int; var local_#26167 : int; var local_#30836 : int; var local_#26168 : { base : int, offset : int }; var local_#26169 : int; var local_#26170 : { base : int, offset : int }; var local_#32694_buff : { base : int, offset : int }; var local_#32695_i : int; var local_#26171 : int; var local_#26172 : int; var local_#26173 : int; var local_#26174 : int; var local_#26175 : int; var local_#26176 : int; var local_#26177 : int; var local_#26178 : int; var local_#26179 : int; var local_#26180 : int; var local_#26181 : int; var local_#26182 : { base : int, offset : int }; local_#6248_L := local_#6248_L_IN; local_#6249_f := local_#6249_f_IN; local_#6250_chop := local_#6250_chop_IN; goto CFG_37001; CFG_37001: assume true; goto CFG_44369; CFG_44369: assume true; local_#32693_c := 0; local_#26141 := local_#32692_b; goto CFG_48330; CFG_48330: assume true; call routine_#33816_luaL_buffinit(local_#6248_L,local_#26141); goto CFG_41815; CFG_41815: assume true; goto CFG_51015; CFG_51015: assume true; local_#26142 := -1; local_#26143 := (if local_#32693_c != local_#26142 then 1 else 0); if (local_#26143 != 0) { goto CFG_51016; } else { goto CFG_51017; } CFG_51016: assume true; local_#26144 := 10; local_#26145 := (if local_#32693_c != local_#26144 then 1 else 0); if (local_#26145 != 0) { goto CFG_44373; } else { goto CFG_51017; } CFG_51017: assume true; local_#26146 := (if local_#6250_chop != 0 then 0 else 1); if (local_#26146 != 0) { goto CFG_51018; } else { goto CFG_44371; } CFG_51018: assume true; local_#26147 := 10; local_#26148 := (if local_#32693_c == local_#26147 then 1 else 0); if (local_#26148 != 0) { goto CFG_51019; } else { goto CFG_44371; } CFG_51019: assume true; local_#26149 := (if _memory[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 16 }] < _memory[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 8 }] then 1 else 0); if (local_#26149 != 0) { goto CFG_41253; } else { goto CFG_44370; } CFG_44370: assume true; local_#26150 := local_#32692_b; local_#26151 := 1; goto CFG_48331; CFG_48331: assume true; call local_#26152 := routine_#33844_luaL_prepbuffsize(local_#26150,local_#26151); goto CFG_51020; CFG_51020: assume true; local_#26153 := local_#26152; if (local_#26153 != { base : 0, offset : 0 }) { goto CFG_41253; } else { goto CFG_41252; } CFG_41252: assume true; local_#30835 := 0; goto CFG_41254; CFG_41253: assume true; local_#30835 := 1; goto CFG_41254; CFG_41254: assume true; local_#26154 := 0; assert { :LIR "61840" } { :check "overflow" } { :finding_ids "0" } true; local_#26155 := local_#32693_c; assert { :LIR "63749" } { :check "overflow" } { :finding_ids "0" } local_#26155 <= 127; local_#26156 := _memory[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 16 }]; local_#26157 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 16 }] := ~uwrap64(local_#26156 + local_#26157); assert { :LIR "66772" } { :check "overflow" } { :finding_ids "0" } true; local_#26158 := { base : _memory_ptr[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 0 }]!offset + local_#26156 * 1 }; _memory[local_#26158] := local_#26155; local_#26159 := _memory[local_#26158]; local_#26160 := local_#26159; goto CFG_44371; CFG_44371: assume true; local_#26161 := local_#32692_b; goto CFG_48332; CFG_48332: assume true; call routine_#33845_luaL_pushresult(local_#26161); goto CFG_51021; CFG_51021: assume true; local_#26162 := 10; local_#26163 := (if local_#32693_c == local_#26162 then 1 else 0); if (local_#26163 != 0) { goto CFG_41256; } else { goto CFG_44372; } CFG_44372: assume true; local_#26164 := -1; goto CFG_48333; CFG_48333: assume true; call local_#26165 := routine_#33973_lua_rawlen(local_#6248_L,local_#26164); goto CFG_51022; CFG_51022: assume true; local_#26166 := 0; local_#26167 := (if local_#26165 > local_#26166 then 1 else 0); if (local_#26167 != 0) { goto CFG_41256; } else { goto CFG_41255; } CFG_41255: assume true; local_#30836 := 0; goto CFG_38924; CFG_41256: assume true; local_#30836 := 1; goto CFG_38924; CFG_38924: assume true; local_#8238 := local_#30836; goto CFG_37912; CFG_44373: assume true; local_#26168 := local_#32692_b; local_#26169 := 8192; goto CFG_48334; CFG_48334: assume true; call local_#26170 := routine_#33844_luaL_prepbuffsize(local_#26168,local_#26169); goto CFG_44374; CFG_44374: assume true; local_#32694_buff := local_#26170; local_#32695_i := 0; goto CFG_48335; CFG_48335: assume true; call routine_#33561_flockfile(local_#6249_f); goto CFG_41816; CFG_41816: assume true; goto CFG_51023; CFG_51023: assume true; local_#26171 := 8192; local_#26172 := (if local_#32695_i < local_#26171 then 1 else 0); if (local_#26172 != 0) { goto CFG_48336; } else { goto CFG_48337; } CFG_48336: assume true; call local_#26173 := routine_#33604_getc_unlocked(local_#6249_f); goto CFG_51024; CFG_51024: assume true; local_#32693_c := local_#26173; local_#26174 := -1; local_#26175 := (if local_#32693_c != local_#26174 then 1 else 0); if (local_#26175 != 0) { goto CFG_51025; } else { goto CFG_48337; } CFG_51025: assume true; local_#26176 := 10; local_#26177 := (if local_#32693_c != local_#26176 then 1 else 0); if (local_#26177 != 0) { goto CFG_45157; } else { goto CFG_48337; } CFG_48337: assume true; call routine_#33599_funlockfile(local_#6249_f); goto CFG_45156; CFG_45156: assume true; local_#26178 := ~uwrap64(local_#32695_i); assert { :LIR "63750" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#32692_b!base, offset : local_#32692_b!offset + 16 }] + local_#26178); assert { :LIR "66773" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_51015; CFG_45157: assume true; local_#26179 := local_#32693_c; assert { :LIR "63751" } { :check "overflow" } { :finding_ids "0" } local_#26179 <= 127; local_#26180 := local_#32695_i; local_#26181 := 1; local_#32695_i := local_#26180 + local_#26181; assert { :LIR "66774" } { :check "overflow" } { :finding_ids "0" } local_#32695_i <= 2147483647; local_#26182 := { base : local_#32694_buff!base, offset : local_#32694_buff!offset + local_#26180 * 1 }; _memory[local_#26182] := local_#26179; goto CFG_51023; CFG_37912: assume true; } procedure routine_#35014_read_long_string(local_#6251_ls_IN : { base : int, offset : int }, local_#6252_seminfo_IN : { base : int, offset : int }, local_#6253_sep_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6251_ls : { base : int, offset : int }; var local_#6252_seminfo : { base : int, offset : int }; var local_#6253_sep : int; var local_#32696_line : int; var local_#26183 : int; var local_#26184 : { base : int, offset : int }; var local_#26185 : int; var local_#26186 : int; var local_#26187 : int; var local_#26188 : int; var local_#26189 : { base : int, offset : int }; var local_#26190 : int; var local_#30837 : int; var local_#26191 : { base : int, offset : int }; var local_#26192 : { base : int, offset : int }; var local_#26193 : int; var local_#26194 : int; var local_#26195 : int; var local_#26196 : int; var local_#26197 : int; var local_#26198 : int; var local_#26199 : int; var local_#26200 : int; var local_#26201 : int; var local_#26202 : int; var local_#26203 : int; var local_#26204 : { base : int, offset : int }; var local_#26205 : { base : int, offset : int }; var local_#26206 : int; var local_#26207 : int; var local_#26208 : int; var local_#26209 : int; var local_#26210 : { base : int, offset : int }; var local_#26211 : int; var local_#30838 : int; var local_#26212 : { base : int, offset : int }; var local_#26213 : { base : int, offset : int }; var local_#26214 : int; var local_#26215 : int; var local_#26216 : int; var local_#26217 : int; var local_#26218 : { base : int, offset : int }; var local_#26219 : int; var local_#26220 : int; var local_#26221 : int; var local_#26222 : int; var local_#26223 : { base : int, offset : int }; var local_#26224 : int; var local_#30839 : int; var local_#26225 : { base : int, offset : int }; var local_#26226 : { base : int, offset : int }; var local_#26227 : int; var local_#26228 : int; var local_#26229 : int; var local_#26230 : int; var local_#26231 : int; var local_#26232 : int; var local_#26233 : int; var local_#26234 : int; var local_#26235 : { base : int, offset : int }; var local_#26236 : int; var local_#26237 : int; var local_#26238 : int; var local_#26239 : { base : int, offset : int }; var local_#26240 : int; var local_#26241 : int; var local_#26242 : int; var local_#26243 : int; var local_#26244 : { base : int, offset : int }; var local_#26245 : int; var local_#30840 : int; var local_#26246 : { base : int, offset : int }; var local_#26247 : { base : int, offset : int }; var local_#26248 : int; var local_#26249 : int; var local_#26250 : int; var local_#26251 : int; var local_#26252 : int; var local_#26253 : { base : int, offset : int }; var local_#26254 : { base : int, offset : int }; var local_#26255 : int; var local_#26256 : int; var local_#26257 : { base : int, offset : int }; var local_#26258 : { base : int, offset : int }; var local_#26259 : { base : int, offset : int }; var local_#26260 : int; var local_#26261 : int; var local_#26262 : int; var local_#26263 : int; var local_#26264 : int; var local_#26265 : int; var local_#26266 : { base : int, offset : int }; var local_#26267 : { base : int, offset : int }; var local_#26268 : { base : int, offset : int }; var local_#26269 : { base : int, offset : int }; var local_#30841 : { base : int, offset : int }; var local_#26270 : { base : int, offset : int }; var local_#26271 : { base : int, offset : int }; var local_#32698_what : { base : int, offset : int }; var local_#26272 : { base : int, offset : int }; var local_#26273 : { base : int, offset : int }; var local_#26274 : { base : int, offset : int }; var local_#26275 : { base : int, offset : int }; var local_#32697_msg : { base : int, offset : int }; var local_#26276 : int; local_#6251_ls := local_#6251_ls_IN; local_#6252_seminfo := local_#6252_seminfo_IN; local_#6253_sep := local_#6253_sep_IN; goto CFG_37002; CFG_37002: assume true; goto CFG_44375; CFG_44375: assume true; local_#32696_line := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 4 }]; local_#26183 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; goto CFG_48338; CFG_48338: assume true; call routine_#35043_save(local_#6251_ls,local_#26183); goto CFG_51026; CFG_51026: assume true; local_#26184 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26185 := _memory[{ base : local_#26184!base, offset : local_#26184!offset + 0 }]; local_#26186 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26184!base, offset : local_#26184!offset + 0 }] := ~uwrap64(local_#26185 - local_#26186); assert { :LIR "68131" } { :check "overflow" } { :finding_ids "0" } true; local_#26187 := 0; local_#26188 := (if local_#26185 > local_#26187 then 1 else 0); if (local_#26188 != 0) { goto CFG_41258; } else { goto CFG_44376; } CFG_44376: assume true; local_#26189 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; goto CFG_48339; CFG_48339: assume true; call local_#26190 := routine_#33913_luaZ_fill(local_#26189); goto CFG_41257; CFG_41257: assume true; local_#30837 := local_#26190; goto CFG_51027; CFG_41258: assume true; local_#26191 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26192 := _memory_ptr[{ base : local_#26191!base, offset : local_#26191!offset + 8 }]; local_#26193 := 1; _memory_ptr[{ base : local_#26191!base, offset : local_#26191!offset + 8 }] := { base : local_#26192!base, offset : local_#26192!offset + local_#26193 * 1 }; local_#26194 := ~uwrap8(_memory[local_#26192]); assert { :LIR "61841" } { :check "overflow" } { :finding_ids "0" } true; local_#26195 := local_#26194; assert { :LIR "63752" } { :check "overflow" } { :finding_ids "0" } local_#26195 <= 2147483647; local_#30837 := local_#26195; goto CFG_51027; CFG_51027: assume true; _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }] := local_#30837; local_#26196 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; local_#26197 := local_#26196; local_#26198 := 10; local_#26199 := (if _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }] == local_#26198 then 1 else 0); if (local_#26199 != 0) { goto CFG_48340; } else { goto CFG_51028; } CFG_51028: assume true; local_#26200 := 13; local_#26201 := (if _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }] == local_#26200 then 1 else 0); if (local_#26201 != 0) { goto CFG_48340; } else { goto CFG_41817; } CFG_48340: assume true; call routine_#34809_inclinenumber(local_#6251_ls); goto CFG_41259; CFG_41259: assume true; goto CFG_41817; CFG_41817: assume true; goto CFG_51029; CFG_51029: assume true; local_#26202 := 1; if (local_#26202 != 0) { goto CFG_51564; } else { goto CFG_41957; } CFG_41957: assume true; goto CFG_51036; CFG_51564: assume true; local_#26203 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; if (local_#26203 == -1) { goto CFG_51037; } if (local_#26203 == 93) { goto CFG_48346; } if (local_#26203 == 10) { goto CFG_44380; } if (local_#26203 == 13) { goto CFG_44380; } goto CFG_51030; CFG_51030: assume true; local_#26204 := local_#6252_seminfo; if (local_#26204 != { base : 0, offset : 0 }) { goto CFG_44378; } else { goto CFG_51031; } CFG_51031: assume true; local_#26205 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26206 := _memory[{ base : local_#26205!base, offset : local_#26205!offset + 0 }]; local_#26207 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26205!base, offset : local_#26205!offset + 0 }] := ~uwrap64(local_#26206 - local_#26207); assert { :LIR "68132" } { :check "overflow" } { :finding_ids "0" } true; local_#26208 := 0; local_#26209 := (if local_#26206 > local_#26208 then 1 else 0); if (local_#26209 != 0) { goto CFG_41261; } else { goto CFG_44377; } CFG_44377: assume true; local_#26210 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; goto CFG_48341; CFG_48341: assume true; call local_#26211 := routine_#33913_luaZ_fill(local_#26210); goto CFG_41260; CFG_41260: assume true; local_#30838 := local_#26211; goto CFG_41262; CFG_41261: assume true; local_#26212 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26213 := _memory_ptr[{ base : local_#26212!base, offset : local_#26212!offset + 8 }]; local_#26214 := 1; _memory_ptr[{ base : local_#26212!base, offset : local_#26212!offset + 8 }] := { base : local_#26213!base, offset : local_#26213!offset + local_#26214 * 1 }; local_#26215 := ~uwrap8(_memory[local_#26213]); assert { :LIR "61842" } { :check "overflow" } { :finding_ids "0" } true; local_#26216 := local_#26215; assert { :LIR "63753" } { :check "overflow" } { :finding_ids "0" } local_#26216 <= 2147483647; local_#30838 := local_#26216; goto CFG_41262; CFG_41262: assume true; _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }] := local_#30838; goto CFG_41958; CFG_44378: assume true; local_#26217 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; goto CFG_48342; CFG_48342: assume true; call routine_#35043_save(local_#6251_ls,local_#26217); goto CFG_51032; CFG_51032: assume true; local_#26218 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26219 := _memory[{ base : local_#26218!base, offset : local_#26218!offset + 0 }]; local_#26220 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26218!base, offset : local_#26218!offset + 0 }] := ~uwrap64(local_#26219 - local_#26220); assert { :LIR "68133" } { :check "overflow" } { :finding_ids "0" } true; local_#26221 := 0; local_#26222 := (if local_#26219 > local_#26221 then 1 else 0); if (local_#26222 != 0) { goto CFG_41264; } else { goto CFG_44379; } CFG_44379: assume true; local_#26223 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; goto CFG_48343; CFG_48343: assume true; call local_#26224 := routine_#33913_luaZ_fill(local_#26223); goto CFG_41263; CFG_41263: assume true; local_#30839 := local_#26224; goto CFG_41265; CFG_41264: assume true; local_#26225 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26226 := _memory_ptr[{ base : local_#26225!base, offset : local_#26225!offset + 8 }]; local_#26227 := 1; _memory_ptr[{ base : local_#26225!base, offset : local_#26225!offset + 8 }] := { base : local_#26226!base, offset : local_#26226!offset + local_#26227 * 1 }; local_#26228 := ~uwrap8(_memory[local_#26226]); assert { :LIR "61843" } { :check "overflow" } { :finding_ids "0" } true; local_#26229 := local_#26228; assert { :LIR "63754" } { :check "overflow" } { :finding_ids "0" } local_#26229 <= 2147483647; local_#30839 := local_#26229; goto CFG_41265; CFG_41265: assume true; _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }] := local_#30839; local_#26230 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; local_#26231 := local_#26230; goto CFG_41958; CFG_41958: assume true; goto CFG_45158; CFG_44380: assume true; local_#26232 := 10; goto CFG_48344; CFG_48344: assume true; call routine_#35043_save(local_#6251_ls,local_#26232); goto CFG_48345; CFG_48345: assume true; call routine_#34809_inclinenumber(local_#6251_ls); goto CFG_51033; CFG_51033: assume true; local_#26233 := (if local_#6252_seminfo != { base : 0, offset : 0 } then 0 else 1); if (local_#26233 != 0) { goto CFG_41266; } else { goto CFG_39699; } CFG_41266: assume true; local_#26234 := 0; local_#26235 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 72 }]; _memory[{ base : local_#26235!base, offset : local_#26235!offset + 8 }] := local_#26234; goto CFG_39699; CFG_39699: assume true; goto CFG_45158; CFG_48346: assume true; call local_#26236 := routine_#35072_skip_sep(local_#6251_ls); goto CFG_51034; CFG_51034: assume true; local_#26237 := (if local_#26236 == local_#6253_sep then 1 else 0); if (local_#26237 != 0) { goto CFG_44381; } else { goto CFG_39700; } CFG_39700: assume true; goto CFG_45158; CFG_45158: assume true; goto CFG_51029; CFG_44381: assume true; local_#26238 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; goto CFG_48347; CFG_48347: assume true; call routine_#35043_save(local_#6251_ls,local_#26238); goto CFG_51035; CFG_51035: assume true; local_#26239 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26240 := _memory[{ base : local_#26239!base, offset : local_#26239!offset + 0 }]; local_#26241 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26239!base, offset : local_#26239!offset + 0 }] := ~uwrap64(local_#26240 - local_#26241); assert { :LIR "68134" } { :check "overflow" } { :finding_ids "0" } true; local_#26242 := 0; local_#26243 := (if local_#26240 > local_#26242 then 1 else 0); if (local_#26243 != 0) { goto CFG_41268; } else { goto CFG_44382; } CFG_44382: assume true; local_#26244 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; goto CFG_48348; CFG_48348: assume true; call local_#26245 := routine_#33913_luaZ_fill(local_#26244); goto CFG_41267; CFG_41267: assume true; local_#30840 := local_#26245; goto CFG_45259; CFG_41268: assume true; local_#26246 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 64 }]; local_#26247 := _memory_ptr[{ base : local_#26246!base, offset : local_#26246!offset + 8 }]; local_#26248 := 1; _memory_ptr[{ base : local_#26246!base, offset : local_#26246!offset + 8 }] := { base : local_#26247!base, offset : local_#26247!offset + local_#26248 * 1 }; local_#26249 := ~uwrap8(_memory[local_#26247]); assert { :LIR "61844" } { :check "overflow" } { :finding_ids "0" } true; local_#26250 := local_#26249; assert { :LIR "63755" } { :check "overflow" } { :finding_ids "0" } local_#26250 <= 2147483647; local_#30840 := local_#26250; goto CFG_45259; CFG_45259: assume true; _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }] := local_#30840; local_#26251 := _memory[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 0 }]; local_#26252 := local_#26251; goto CFG_51036; CFG_51036: assume true; local_#26253 := local_#6252_seminfo; if (local_#26253 != { base : 0, offset : 0 }) { goto CFG_44383; } else { goto CFG_39395; } CFG_44383: assume true; local_#26254 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 72 }]; local_#26255 := 2; local_#26256 := local_#26255 + local_#6253_sep; assert { :LIR "66775" } { :check "overflow" } { :finding_ids "0" } local_#26256 <= 2147483647; local_#26257 := { base : _memory_ptr[{ base : local_#26254!base, offset : local_#26254!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#26254!base, offset : local_#26254!offset + 0 }]!offset + local_#26256 * 1 }; local_#26258 := local_#26257; assert { :LIR "63756" } { :check "overflow" } { :finding_ids "0" } true; local_#26259 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 72 }]; local_#26260 := 2; local_#26261 := 2; local_#26262 := local_#26261 + local_#6253_sep; assert { :LIR "66776" } { :check "overflow" } { :finding_ids "0" } local_#26262 <= 2147483647; local_#26263 := local_#26260 * local_#26262; assert { :LIR "68591" } { :check "overflow" } { :finding_ids "0" } local_#26263 <= 2147483647; local_#26264 := ~uwrap64(local_#26263); assert { :LIR "63757" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#26265 := ~uwrap64(_memory[{ base : local_#26259!base, offset : local_#26259!offset + 8 }] - local_#26264); assert { :LIR "68135" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48349; CFG_48349: assume true; call local_#26266 := routine_#33907_luaX_newstring(local_#6251_ls,local_#26258,local_#26265); goto CFG_41269; CFG_41269: assume true; local_#26267 := { base : local_#6252_seminfo!base, offset : local_#6252_seminfo!offset + 0 }; _memory_ptr[local_#26267] := local_#26266; goto CFG_39395; CFG_39395: assume true; goto CFG_37913; CFG_51037: assume true; local_#26268 := local_#6252_seminfo; if (local_#26268 != { base : 0, offset : 0 }) { goto CFG_41271; } else { goto CFG_41270; } CFG_41270: assume true; assume _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 0 }] == 99 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 1 }] == 111 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 2 }] == 109 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 3 }] == 109 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 4 }] == 101 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 5 }] == 110 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 6 }] == 116 && _memory[{ base : strlit_#70770!base, offset : strlit_#70770!offset + 7 }] == 0; local_#26269 := strlit_#70770; local_#30841 := { base : local_#26269!base, offset : local_#26269!offset + 0 * 1 }; goto CFG_44384; CFG_41271: assume true; assume _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 0 }] == 115 && _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 1 }] == 116 && _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 2 }] == 114 && _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 3 }] == 105 && _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 4 }] == 110 && _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 5 }] == 103 && _memory[{ base : strlit_#70771!base, offset : strlit_#70771!offset + 6 }] == 0; local_#26270 := strlit_#70771; local_#30841 := { base : local_#26270!base, offset : local_#26270!offset + 0 * 1 }; goto CFG_44384; CFG_44384: assume true; local_#26271 := local_#30841; assert { :LIR "63758" } { :check "overflow" } { :finding_ids "0" } true; local_#32698_what := local_#26271; local_#26272 := _memory_ptr[{ base : local_#6251_ls!base, offset : local_#6251_ls!offset + 56 }]; assume _memory[{ base : strlit_#70772!base, offset : strlit_#70772!offset + 40 }] == 0; local_#26273 := strlit_#70772; local_#26274 := { base : local_#26273!base, offset : local_#26273!offset + 0 * 1 }; assert { :LIR "63759" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48350; CFG_48350: assume true; call local_#26275 := routine_#33865_luaO_pushfstring(local_#26272,local_#26274,{ base : 0, offset : 0 }); goto CFG_44385; CFG_44385: assume true; local_#32697_msg := local_#26275; local_#26276 := 289; goto CFG_48351; CFG_48351: assume true; call routine_#34857_lexerror(local_#6251_ls,local_#32697_msg,local_#26276); CFG_39701: assume true; goto CFG_45158; CFG_37913: assume true; } procedure routine_#35015_read_number(local_#6254_L_IN : { base : int, offset : int }, local_#6255_f_IN : { base : int, offset : int }) returns (local_#8239 : int) modifies _memory, _memory_ptr; { var local_#6254_L : { base : int, offset : int }; var local_#6255_f : { base : int, offset : int }; var local_#32699_count : int; var local_#32701_hex : int; var local_#32702_rn : { base : int, offset : int }; var local_#26277 : { base : int, offset : int }; var local_#26278 : int; var local_#26279 : { base : int, offset : int }; var local_#32700_decp : { base : int, offset : int }; var local_#26280 : { base : int, offset : int }; var local_#26281 : { base : int, offset : int }; var local_#26282 : int; var local_#26283 : { base : int, offset : int }; var local_#26284 : int; var local_#26285 : { base : int, offset : int }; var local_#26286 : int; var local_#26287 : int; var local_#26288 : int; var local_#26289 : { base : int, offset : int }; var local_#26290 : { base : int, offset : int }; var local_#26291 : { base : int, offset : int }; var local_#26292 : int; var local_#26293 : { base : int, offset : int }; var local_#26294 : { base : int, offset : int }; var local_#26295 : { base : int, offset : int }; var local_#26296 : int; var local_#26297 : int; var local_#26298 : { base : int, offset : int }; var local_#26299 : { base : int, offset : int }; var local_#26300 : { base : int, offset : int }; var local_#26301 : int; var local_#26302 : int; var local_#26303 : { base : int, offset : int }; var local_#26304 : int; var local_#26305 : { base : int, offset : int }; var local_#26306 : { base : int, offset : int }; var local_#26307 : int; var local_#26308 : int; var local_#26309 : { base : int, offset : int }; var local_#26310 : int; var local_#26311 : int; var local_#26312 : int; var local_#26313 : { base : int, offset : int }; var local_#26314 : int; var local_#26315 : { base : int, offset : int }; var local_#30842 : { base : int, offset : int }; var local_#26316 : { base : int, offset : int }; var local_#26317 : { base : int, offset : int }; var local_#26318 : int; var local_#26319 : int; var local_#26320 : { base : int, offset : int }; var local_#26321 : { base : int, offset : int }; var local_#26322 : { base : int, offset : int }; var local_#26323 : int; var local_#26324 : { base : int, offset : int }; var local_#26325 : int; var local_#26326 : int; var local_#26327 : int; var local_#26328 : { base : int, offset : int }; var local_#26329 : int; var local_#26330 : { base : int, offset : int }; var local_#26331 : int; var local_#26332 : { base : int, offset : int }; var local_#26333 : { base : int, offset : int }; var local_#26334 : { base : int, offset : int }; var local_#26335 : { base : int, offset : int }; var local_#26336 : int; var local_#26337 : int; local_#6254_L := local_#6254_L_IN; local_#6255_f := local_#6255_f_IN; goto CFG_37003; CFG_37003: assume true; goto CFG_44386; CFG_44386: assume true; local_#32699_count := 0; local_#32701_hex := 0; _memory_ptr[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 0 }] := local_#6255_f; _memory[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 12 }] := 0; goto CFG_48352; CFG_48352: assume true; call local_#26277 := routine_#33692_localeconv(); goto CFG_44387; CFG_44387: assume true; local_#26278 := 0; local_#26279 := { base : _memory_ptr[{ base : local_#26277!base, offset : local_#26277!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#26277!base, offset : local_#26277!offset + 0 }]!offset + local_#26278 * 1 }; _memory[{ base : local_#32700_decp!base, offset : local_#32700_decp!offset + 0 * 1 }] := _memory[local_#26279]; _memory[{ base : local_#32700_decp!base, offset : local_#32700_decp!offset + 1 * 1 }] := 46; local_#26280 := _memory_ptr[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 0 }]; goto CFG_48353; CFG_48353: assume true; call routine_#33561_flockfile(local_#26280); goto CFG_41818; CFG_41818: assume true; goto CFG_44388; CFG_44388: assume true; local_#26281 := _memory_ptr[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 0 }]; goto CFG_48354; CFG_48354: assume true; call local_#26282 := routine_#33604_getc_unlocked(local_#26281); goto CFG_44389; CFG_44389: assume true; _memory[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 8 }] := local_#26282; goto CFG_48355; CFG_48355: assume true; call local_#26283 := routine_#33248___ctype_b_loc(); goto CFG_51038; CFG_51038: assume true; local_#26284 := _memory[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 8 }]; assert { :LIR "61845" } { :check "overflow" } { :finding_ids "0" } local_#26284 <= 2147483647; local_#26285 := { base : _memory_ptr[local_#26283]!base, offset : _memory_ptr[local_#26283]!offset + local_#26284 * 2 }; local_#26286 := _memory[local_#26285]; assert { :LIR "63760" } { :check "overflow" } { :finding_ids "0" } local_#26286 <= 2147483647; local_#26287 := 8192; local_#26288 := ~sand32(local_#26286, local_#26287); if (local_#26288 != 0) { goto CFG_45159; } else { goto CFG_44390; } CFG_44390: assume true; local_#26289 := local_#32702_rn; assume _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 0 }] == 45 && _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 1 }] == 43 && _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 2 }] == 0; local_#26290 := strlit_#70773; local_#26291 := { base : local_#26290!base, offset : local_#26290!offset + 0 * 1 }; assert { :LIR "63761" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48356; CFG_48356: assume true; call local_#26292 := routine_#35109_test2(local_#26289,local_#26291); goto CFG_44391; CFG_44391: assume true; local_#26293 := local_#32702_rn; assume _memory[{ base : strlit_#70774!base, offset : strlit_#70774!offset + 0 }] == 48 && _memory[{ base : strlit_#70774!base, offset : strlit_#70774!offset + 1 }] == 48 && _memory[{ base : strlit_#70774!base, offset : strlit_#70774!offset + 2 }] == 0; local_#26294 := strlit_#70774; local_#26295 := { base : local_#26294!base, offset : local_#26294!offset + 0 * 1 }; assert { :LIR "63762" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48357; CFG_48357: assume true; call local_#26296 := routine_#35109_test2(local_#26293,local_#26295); goto CFG_51039; CFG_51039: assume true; local_#26297 := local_#26296; if (local_#26297 != 0) { goto CFG_44392; } else { goto CFG_44393; } CFG_44392: assume true; local_#26298 := local_#32702_rn; assume _memory[{ base : strlit_#70775!base, offset : strlit_#70775!offset + 0 }] == 120 && _memory[{ base : strlit_#70775!base, offset : strlit_#70775!offset + 1 }] == 88 && _memory[{ base : strlit_#70775!base, offset : strlit_#70775!offset + 2 }] == 0; local_#26299 := strlit_#70775; local_#26300 := { base : local_#26299!base, offset : local_#26299!offset + 0 * 1 }; assert { :LIR "63763" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48358; CFG_48358: assume true; call local_#26301 := routine_#35109_test2(local_#26298,local_#26300); goto CFG_51040; CFG_51040: assume true; local_#26302 := local_#26301; if (local_#26302 != 0) { goto CFG_41273; } else { goto CFG_41272; } CFG_41272: assume true; local_#32699_count := 1; goto CFG_41274; CFG_41273: assume true; local_#32701_hex := 1; goto CFG_41274; CFG_41274: assume true; goto CFG_44393; CFG_44393: assume true; local_#26303 := local_#32702_rn; goto CFG_48359; CFG_48359: assume true; call local_#26304 := routine_#35020_readdigits(local_#26303,local_#32701_hex); goto CFG_44394; CFG_44394: assume true; local_#32699_count := local_#32699_count + local_#26304; assert { :LIR "66777" } { :check "overflow" } { :finding_ids "0" } local_#32699_count <= 2147483647; local_#26305 := local_#32702_rn; local_#26306 := { base : local_#32700_decp!base, offset : local_#32700_decp!offset + 0 * 1 }; assert { :LIR "63764" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48360; CFG_48360: assume true; call local_#26307 := routine_#35109_test2(local_#26305,local_#26306); goto CFG_51041; CFG_51041: assume true; local_#26308 := local_#26307; if (local_#26308 != 0) { goto CFG_44395; } else { goto CFG_51042; } CFG_44395: assume true; local_#26309 := local_#32702_rn; goto CFG_48361; CFG_48361: assume true; call local_#26310 := routine_#35020_readdigits(local_#26309,local_#32701_hex); goto CFG_41275; CFG_41275: assume true; local_#32699_count := local_#32699_count + local_#26310; assert { :LIR "66778" } { :check "overflow" } { :finding_ids "0" } local_#32699_count <= 2147483647; goto CFG_51042; CFG_51042: assume true; local_#26311 := 0; local_#26312 := (if local_#32699_count > local_#26311 then 1 else 0); if (local_#26312 != 0) { goto CFG_51043; } else { goto CFG_44399; } CFG_51043: assume true; local_#26313 := local_#32702_rn; local_#26314 := local_#32701_hex; if (local_#26314 != 0) { goto CFG_41277; } else { goto CFG_41276; } CFG_41276: assume true; assume _memory[{ base : strlit_#70776!base, offset : strlit_#70776!offset + 0 }] == 101 && _memory[{ base : strlit_#70776!base, offset : strlit_#70776!offset + 1 }] == 69 && _memory[{ base : strlit_#70776!base, offset : strlit_#70776!offset + 2 }] == 0; local_#26315 := strlit_#70776; local_#30842 := { base : local_#26315!base, offset : local_#26315!offset + 0 * 1 }; goto CFG_44396; CFG_41277: assume true; assume _memory[{ base : strlit_#70777!base, offset : strlit_#70777!offset + 0 }] == 112 && _memory[{ base : strlit_#70777!base, offset : strlit_#70777!offset + 1 }] == 80 && _memory[{ base : strlit_#70777!base, offset : strlit_#70777!offset + 2 }] == 0; local_#26316 := strlit_#70777; local_#30842 := { base : local_#26316!base, offset : local_#26316!offset + 0 * 1 }; goto CFG_44396; CFG_44396: assume true; local_#26317 := local_#30842; assert { :LIR "63765" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48362; CFG_48362: assume true; call local_#26318 := routine_#35109_test2(local_#26313,local_#26317); goto CFG_51044; CFG_51044: assume true; local_#26319 := local_#26318; if (local_#26319 != 0) { goto CFG_44397; } else { goto CFG_44399; } CFG_44397: assume true; local_#26320 := local_#32702_rn; assume _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 0 }] == 45 && _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 1 }] == 43 && _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 2 }] == 0; local_#26321 := strlit_#70773; local_#26322 := { base : local_#26321!base, offset : local_#26321!offset + 0 * 1 }; assert { :LIR "63766" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48363; CFG_48363: assume true; call local_#26323 := routine_#35109_test2(local_#26320,local_#26322); goto CFG_44398; CFG_44398: assume true; local_#26324 := local_#32702_rn; local_#26325 := 0; goto CFG_48364; CFG_48364: assume true; call local_#26326 := routine_#35020_readdigits(local_#26324,local_#26325); goto CFG_41278; CFG_41278: assume true; goto CFG_44399; CFG_44399: assume true; local_#26327 := _memory[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 8 }]; local_#26328 := _memory_ptr[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 0 }]; goto CFG_48365; CFG_48365: assume true; call local_#26329 := routine_#34513_ungetc(local_#26327,local_#26328); goto CFG_44400; CFG_44400: assume true; local_#26330 := _memory_ptr[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 0 }]; goto CFG_48366; CFG_48366: assume true; call routine_#33599_funlockfile(local_#26330); goto CFG_44401; CFG_44401: assume true; local_#26331 := 0; local_#26332 := { base : local_#32702_rn!base, offset : local_#32702_rn!offset + 16 }; local_#26333 := { base : local_#26332!base, offset : local_#26332!offset + 0 * 1 + _memory[{ base : local_#32702_rn!base, offset : local_#32702_rn!offset + 12 }] * 1 }; _memory[local_#26333] := local_#26331; local_#26334 := { base : local_#32702_rn!base, offset : local_#32702_rn!offset + 16 }; local_#26335 := { base : local_#26334!base, offset : local_#26334!offset + 0 * 1 }; assert { :LIR "63767" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48367; CFG_48367: assume true; call local_#26336 := routine_#33991_lua_stringtonumber(local_#6254_L,local_#26335); goto CFG_51045; CFG_51045: assume true; local_#26337 := local_#26336; if (local_#26337 != 0) { goto CFG_38926; } else { goto CFG_48368; } CFG_48368: assume true; call routine_#33963_lua_pushnil(local_#6254_L); goto CFG_38925; CFG_38925: assume true; local_#8239 := 0; goto CFG_37914; CFG_38926: assume true; local_#8239 := 1; goto CFG_37914; CFG_45159: assume true; goto CFG_44388; CFG_37914: assume true; } procedure routine_#35016_read_numeral(local_#6256_ls_IN : { base : int, offset : int }, local_#6257_seminfo_IN : { base : int, offset : int }) returns (local_#8240 : int) modifies _memory, _memory_ptr, _valid; { var local_#6256_ls : { base : int, offset : int }; var local_#6257_seminfo : { base : int, offset : int }; var local_#26338 : { base : int, offset : int }; var local_#26339 : { base : int, offset : int }; var local_#32703_expo : { base : int, offset : int }; var local_#32704_first : int; var local_#26340 : int; var local_#26341 : int; var local_#26342 : int; var local_#26343 : { base : int, offset : int }; var local_#26344 : int; var local_#26345 : int; var local_#26346 : int; var local_#26347 : int; var local_#26348 : { base : int, offset : int }; var local_#26349 : int; var local_#30843 : int; var local_#26350 : { base : int, offset : int }; var local_#26351 : { base : int, offset : int }; var local_#26352 : int; var local_#26353 : int; var local_#26354 : int; var local_#26355 : int; var local_#26356 : int; var local_#26357 : int; var local_#26358 : int; var local_#26359 : { base : int, offset : int }; var local_#26360 : { base : int, offset : int }; var local_#26361 : int; var local_#26362 : int; var local_#26363 : { base : int, offset : int }; var local_#26364 : { base : int, offset : int }; var local_#26365 : int; var local_#26366 : int; var local_#26367 : int; var local_#26368 : { base : int, offset : int }; var local_#26369 : { base : int, offset : int }; var local_#26370 : int; var local_#26371 : int; var local_#26372 : int; var local_#26373 : int; var local_#26374 : int; var local_#26375 : int; var local_#26376 : int; var local_#26377 : int; var local_#26378 : int; var local_#26379 : { base : int, offset : int }; var local_#26380 : { base : int, offset : int }; var local_#32705_obj : { base : int, offset : int }; var local_#26381 : { base : int, offset : int }; var local_#26382 : int; var local_#26383 : int; var local_#26384 : int; var local_#26385 : int; var local_#26386 : int; var local_#26387 : int; var local_#26388 : int; var local_#26389 : { base : int, offset : int }; var local_#26390 : { base : int, offset : int }; var nondet_#0 : int; var local_#26391 : { base : int, offset : int }; var local_#26392 : { base : int, offset : int }; var local_#26393 : { base : int, offset : int }; var local_#26394 : { base : int, offset : int }; var local_#26395 : int; var local_#26396 : int; var local_#26397 : { base : int, offset : int }; var local_#26398 : int; var local_#26399 : int; var local_#26400 : int; var local_#26401 : int; var local_#26402 : { base : int, offset : int }; var local_#26403 : int; var local_#30844 : int; var local_#26404 : { base : int, offset : int }; var local_#26405 : { base : int, offset : int }; var local_#26406 : int; var local_#26407 : int; var local_#26408 : int; var local_#26409 : int; var local_#26410 : int; var local_#26411 : int; var local_#26412 : { base : int, offset : int }; var local_#26413 : int; var local_#26414 : int; var local_#26415 : int; var local_#26416 : int; var local_#26417 : { base : int, offset : int }; var local_#26418 : int; var local_#30845 : int; var local_#26419 : { base : int, offset : int }; var local_#26420 : { base : int, offset : int }; var local_#26421 : int; var local_#26422 : int; var local_#26423 : int; var local_#26424 : int; var local_#26425 : int; local_#6256_ls := local_#6256_ls_IN; local_#6257_seminfo := local_#6257_seminfo_IN; goto CFG_37004; CFG_37004: assume true; goto CFG_44402; CFG_44402: assume true; assume _memory[{ base : strlit_#70779!base, offset : strlit_#70779!offset + 0 }] == 69 && _memory[{ base : strlit_#70779!base, offset : strlit_#70779!offset + 1 }] == 101 && _memory[{ base : strlit_#70779!base, offset : strlit_#70779!offset + 2 }] == 0; local_#26338 := strlit_#70779; local_#26339 := { base : local_#26338!base, offset : local_#26338!offset + 0 * 1 }; assert { :LIR "63768" } { :check "overflow" } { :finding_ids "0" } true; local_#32703_expo := local_#26339; local_#32704_first := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; local_#26340 := 0; local_#26341 := 0; assert { :LIR "61846" } { :check "overflow" } { :finding_ids "0" } true; local_#26342 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; goto CFG_48369; CFG_48369: assume true; call routine_#35043_save(local_#6256_ls,local_#26342); goto CFG_51046; CFG_51046: assume true; local_#26343 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; local_#26344 := _memory[{ base : local_#26343!base, offset : local_#26343!offset + 0 }]; local_#26345 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26343!base, offset : local_#26343!offset + 0 }] := ~uwrap64(local_#26344 - local_#26345); assert { :LIR "68136" } { :check "overflow" } { :finding_ids "0" } true; local_#26346 := 0; local_#26347 := (if local_#26344 > local_#26346 then 1 else 0); if (local_#26347 != 0) { goto CFG_41280; } else { goto CFG_44403; } CFG_44403: assume true; local_#26348 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; goto CFG_48370; CFG_48370: assume true; call local_#26349 := routine_#33913_luaZ_fill(local_#26348); goto CFG_41279; CFG_41279: assume true; local_#30843 := local_#26349; goto CFG_51047; CFG_41280: assume true; local_#26350 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; local_#26351 := _memory_ptr[{ base : local_#26350!base, offset : local_#26350!offset + 8 }]; local_#26352 := 1; _memory_ptr[{ base : local_#26350!base, offset : local_#26350!offset + 8 }] := { base : local_#26351!base, offset : local_#26351!offset + local_#26352 * 1 }; local_#26353 := ~uwrap8(_memory[local_#26351]); assert { :LIR "61847" } { :check "overflow" } { :finding_ids "0" } true; local_#26354 := local_#26353; assert { :LIR "63769" } { :check "overflow" } { :finding_ids "0" } local_#26354 <= 2147483647; local_#30843 := local_#26354; goto CFG_51047; CFG_51047: assume true; _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }] := local_#30843; local_#26355 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; local_#26356 := local_#26355; local_#26357 := 48; local_#26358 := (if local_#32704_first == local_#26357 then 1 else 0); if (local_#26358 != 0) { goto CFG_44404; } else { goto CFG_41819; } CFG_44404: assume true; assume _memory[{ base : strlit_#70775!base, offset : strlit_#70775!offset + 0 }] == 120 && _memory[{ base : strlit_#70775!base, offset : strlit_#70775!offset + 1 }] == 88 && _memory[{ base : strlit_#70775!base, offset : strlit_#70775!offset + 2 }] == 0; local_#26359 := strlit_#70775; local_#26360 := { base : local_#26359!base, offset : local_#26359!offset + 0 * 1 }; assert { :LIR "63770" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48371; CFG_48371: assume true; call local_#26361 := routine_#34628_check_next2(local_#6256_ls,local_#26360); goto CFG_51048; CFG_51048: assume true; local_#26362 := local_#26361; if (local_#26362 != 0) { goto CFG_41281; } else { goto CFG_41819; } CFG_41281: assume true; assume _memory[{ base : strlit_#70781!base, offset : strlit_#70781!offset + 0 }] == 80 && _memory[{ base : strlit_#70781!base, offset : strlit_#70781!offset + 1 }] == 112 && _memory[{ base : strlit_#70781!base, offset : strlit_#70781!offset + 2 }] == 0; local_#26363 := strlit_#70781; local_#26364 := { base : local_#26363!base, offset : local_#26363!offset + 0 * 1 }; assert { :LIR "63771" } { :check "overflow" } { :finding_ids "0" } true; local_#32703_expo := local_#26364; goto CFG_41819; CFG_41819: assume true; goto CFG_51049; CFG_51049: assume true; local_#26365 := 1; if (local_#26365 != 0) { goto CFG_48372; } else { goto CFG_41959; } CFG_41959: assume true; goto CFG_44406; CFG_48372: assume true; call local_#26366 := routine_#34628_check_next2(local_#6256_ls,local_#32703_expo); goto CFG_51050; CFG_51050: assume true; local_#26367 := local_#26366; if (local_#26367 != 0) { goto CFG_44405; } else { goto CFG_51051; } CFG_44405: assume true; assume _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 0 }] == 45 && _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 1 }] == 43 && _memory[{ base : strlit_#70773!base, offset : strlit_#70773!offset + 2 }] == 0; local_#26368 := strlit_#70773; local_#26369 := { base : local_#26368!base, offset : local_#26368!offset + 0 * 1 }; assert { :LIR "63772" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48373; CFG_48373: assume true; call local_#26370 := routine_#34628_check_next2(local_#6256_ls,local_#26369); goto CFG_41282; CFG_41282: assume true; goto CFG_51051; CFG_51051: assume true; local_#26371 := 1; local_#26372 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }] + local_#26371; assert { :LIR "66779" } { :check "overflow" } { :finding_ids "0" } local_#26372 <= 2147483647; local_#26373 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#26372 * 1 }]; assert { :LIR "63773" } { :check "overflow" } { :finding_ids "0" } local_#26373 <= 2147483647; local_#26374 := 16; local_#26375 := ~sand32(local_#26373, local_#26374); if (local_#26375 != 0) { goto CFG_44411; } else { goto CFG_51052; } CFG_51052: assume true; local_#26376 := 46; local_#26377 := (if _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }] == local_#26376 then 1 else 0); if (local_#26377 != 0) { goto CFG_44409; } else { goto CFG_39457; } CFG_39457: assume true; goto CFG_44406; CFG_44406: assume true; local_#26378 := 0; goto CFG_48374; CFG_48374: assume true; call routine_#35043_save(local_#6256_ls,local_#26378); goto CFG_44407; CFG_44407: assume true; local_#26379 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 72 }]; local_#26380 := _memory_ptr[{ base : local_#26379!base, offset : local_#26379!offset + 0 }]; assert { :LIR "63774" } { :check "overflow" } { :finding_ids "0" } true; local_#26381 := local_#32705_obj; goto CFG_48375; CFG_48375: assume true; call local_#26382 := routine_#33867_luaO_str2num(local_#26380,local_#26381); goto CFG_51053; CFG_51053: assume true; local_#26383 := 0; local_#26384 := (if local_#26382 == local_#26383 then 1 else 0); if (local_#26384 != 0) { goto CFG_44408; } else { goto CFG_51054; } CFG_51054: assume true; local_#26385 := 19; local_#26386 := (if _memory[{ base : local_#32705_obj!base, offset : local_#32705_obj!offset + 8 }] == local_#26385 then 1 else 0); if (local_#26386 != 0) { goto CFG_38928; } else { goto CFG_38927; } CFG_38927: assume true; local_#26387 := 0; local_#26388 := 0; assert { :LIR "61848" } { :check "overflow" } { :finding_ids "0" } true; local_#26389 := { base : local_#32705_obj!base, offset : local_#32705_obj!offset + 0 }; local_#26390 := { base : local_#6257_seminfo!base, offset : local_#6257_seminfo!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ local_#8240 := 290; goto CFG_37915; CFG_38928: assume true; local_#26391 := { base : local_#32705_obj!base, offset : local_#32705_obj!offset + 0 }; local_#26392 := { base : local_#6257_seminfo!base, offset : local_#6257_seminfo!offset + 0 }; _memory[local_#26392] := _memory[local_#26391]; local_#8240 := 291; goto CFG_37915; CFG_44408: assume true; assume _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 0 }] == 109 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 1 }] == 97 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 2 }] == 108 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 3 }] == 102 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 4 }] == 111 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 5 }] == 114 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 6 }] == 109 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 7 }] == 101 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 8 }] == 100 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 9 }] == 32 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 10 }] == 110 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 11 }] == 117 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 12 }] == 109 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 13 }] == 98 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 14 }] == 101 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 15 }] == 114 && _memory[{ base : strlit_#70783!base, offset : strlit_#70783!offset + 16 }] == 0; local_#26393 := strlit_#70783; local_#26394 := { base : local_#26393!base, offset : local_#26393!offset + 0 * 1 }; assert { :LIR "63775" } { :check "overflow" } { :finding_ids "0" } true; local_#26395 := 290; goto CFG_48376; CFG_48376: assume true; call routine_#34857_lexerror(local_#6256_ls,local_#26394,local_#26395); CFG_44409: assume true; local_#26396 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; goto CFG_48377; CFG_48377: assume true; call routine_#35043_save(local_#6256_ls,local_#26396); goto CFG_51055; CFG_51055: assume true; local_#26397 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; local_#26398 := _memory[{ base : local_#26397!base, offset : local_#26397!offset + 0 }]; local_#26399 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26397!base, offset : local_#26397!offset + 0 }] := ~uwrap64(local_#26398 - local_#26399); assert { :LIR "68137" } { :check "overflow" } { :finding_ids "0" } true; local_#26400 := 0; local_#26401 := (if local_#26398 > local_#26400 then 1 else 0); if (local_#26401 != 0) { goto CFG_41284; } else { goto CFG_44410; } CFG_44410: assume true; local_#26402 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; goto CFG_48378; CFG_48378: assume true; call local_#26403 := routine_#33913_luaZ_fill(local_#26402); goto CFG_41283; CFG_41283: assume true; local_#30844 := local_#26403; goto CFG_41285; CFG_41284: assume true; local_#26404 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; local_#26405 := _memory_ptr[{ base : local_#26404!base, offset : local_#26404!offset + 8 }]; local_#26406 := 1; _memory_ptr[{ base : local_#26404!base, offset : local_#26404!offset + 8 }] := { base : local_#26405!base, offset : local_#26405!offset + local_#26406 * 1 }; local_#26407 := ~uwrap8(_memory[local_#26405]); assert { :LIR "61849" } { :check "overflow" } { :finding_ids "0" } true; local_#26408 := local_#26407; assert { :LIR "63776" } { :check "overflow" } { :finding_ids "0" } local_#26408 <= 2147483647; local_#30844 := local_#26408; goto CFG_41285; CFG_41285: assume true; _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }] := local_#30844; local_#26409 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; local_#26410 := local_#26409; goto CFG_41286; CFG_41286: assume true; goto CFG_45160; CFG_44411: assume true; local_#26411 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; goto CFG_48379; CFG_48379: assume true; call routine_#35043_save(local_#6256_ls,local_#26411); goto CFG_51056; CFG_51056: assume true; local_#26412 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; local_#26413 := _memory[{ base : local_#26412!base, offset : local_#26412!offset + 0 }]; local_#26414 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26412!base, offset : local_#26412!offset + 0 }] := ~uwrap64(local_#26413 - local_#26414); assert { :LIR "68138" } { :check "overflow" } { :finding_ids "0" } true; local_#26415 := 0; local_#26416 := (if local_#26413 > local_#26415 then 1 else 0); if (local_#26416 != 0) { goto CFG_41288; } else { goto CFG_44412; } CFG_44412: assume true; local_#26417 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; goto CFG_48380; CFG_48380: assume true; call local_#26418 := routine_#33913_luaZ_fill(local_#26417); goto CFG_41287; CFG_41287: assume true; local_#30845 := local_#26418; goto CFG_41289; CFG_41288: assume true; local_#26419 := _memory_ptr[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 64 }]; local_#26420 := _memory_ptr[{ base : local_#26419!base, offset : local_#26419!offset + 8 }]; local_#26421 := 1; _memory_ptr[{ base : local_#26419!base, offset : local_#26419!offset + 8 }] := { base : local_#26420!base, offset : local_#26420!offset + local_#26421 * 1 }; local_#26422 := ~uwrap8(_memory[local_#26420]); assert { :LIR "61850" } { :check "overflow" } { :finding_ids "0" } true; local_#26423 := local_#26422; assert { :LIR "63777" } { :check "overflow" } { :finding_ids "0" } local_#26423 <= 2147483647; local_#30845 := local_#26423; goto CFG_41289; CFG_41289: assume true; _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }] := local_#30845; local_#26424 := _memory[{ base : local_#6256_ls!base, offset : local_#6256_ls!offset + 0 }]; local_#26425 := local_#26424; goto CFG_45160; CFG_45160: assume true; goto CFG_51049; CFG_37915: assume true; } procedure routine_#35017_read_string(local_#6258_ls_IN : { base : int, offset : int }, local_#6259_del_IN : int, local_#6260_seminfo_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6258_ls : { base : int, offset : int }; var local_#6259_del : int; var local_#6260_seminfo : { base : int, offset : int }; var local_#26426 : int; var local_#26427 : { base : int, offset : int }; var local_#26428 : int; var local_#26429 : int; var local_#26430 : int; var local_#26431 : int; var local_#26432 : { base : int, offset : int }; var local_#26433 : int; var local_#30846 : int; var local_#26434 : { base : int, offset : int }; var local_#26435 : { base : int, offset : int }; var local_#26436 : int; var local_#26437 : int; var local_#26438 : int; var local_#26439 : int; var local_#26440 : int; var local_#26441 : int; var local_#26442 : int; var local_#26443 : { base : int, offset : int }; var local_#26444 : int; var local_#26445 : int; var local_#26446 : int; var local_#26447 : int; var local_#26448 : { base : int, offset : int }; var local_#26449 : int; var local_#30847 : int; var local_#26450 : { base : int, offset : int }; var local_#26451 : { base : int, offset : int }; var local_#26452 : int; var local_#26453 : int; var local_#26454 : int; var local_#26455 : int; var local_#26456 : int; var local_#26457 : { base : int, offset : int }; var local_#26458 : int; var local_#26459 : { base : int, offset : int }; var local_#26460 : { base : int, offset : int }; var local_#26461 : { base : int, offset : int }; var local_#26462 : int; var local_#26463 : int; var local_#26464 : { base : int, offset : int }; var local_#26465 : { base : int, offset : int }; var local_#26466 : int; var local_#26467 : int; var local_#26468 : { base : int, offset : int }; var local_#26469 : int; var local_#26470 : int; var local_#26471 : int; var local_#26472 : int; var local_#26473 : { base : int, offset : int }; var local_#26474 : int; var local_#30848 : int; var local_#26475 : { base : int, offset : int }; var local_#26476 : { base : int, offset : int }; var local_#26477 : int; var local_#26478 : int; var local_#26479 : int; var local_#26480 : int; var local_#26481 : int; var local_#26482 : int; var local_#26483 : { base : int, offset : int }; var local_#26484 : int; var local_#26485 : int; var local_#26486 : int; var local_#26487 : int; var local_#26488 : { base : int, offset : int }; var local_#26489 : int; var local_#30849 : int; var local_#26490 : { base : int, offset : int }; var local_#26491 : { base : int, offset : int }; var local_#26492 : int; var local_#26493 : int; var local_#26494 : int; var local_#26495 : int; var local_#26496 : int; var local_#26497 : int; var local_#26498 : int; var local_#26499 : int; var local_#26500 : int; var local_#26501 : int; var local_#26502 : int; var local_#26503 : { base : int, offset : int }; var local_#26504 : { base : int, offset : int }; var local_#26505 : int; var local_#32706_c : int; var local_#26506 : int; var local_#26507 : { base : int, offset : int }; var local_#26508 : { base : int, offset : int }; var local_#26509 : int; var local_#26510 : int; var local_#26511 : int; var local_#26512 : int; var local_#26513 : { base : int, offset : int }; var local_#26514 : int; var local_#30850 : int; var local_#26515 : { base : int, offset : int }; var local_#26516 : { base : int, offset : int }; var local_#26517 : int; var local_#26518 : int; var local_#26519 : int; var local_#26520 : int; var local_#26521 : int; var local_#26522 : int; var local_#26523 : int; var local_#26524 : int; var local_#26525 : int; var local_#26526 : int; var local_#26527 : int; var local_#26528 : int; var local_#26529 : { base : int, offset : int }; var local_#26530 : int; var local_#26531 : int; var local_#26532 : int; var local_#26533 : int; var local_#26534 : { base : int, offset : int }; var local_#26535 : int; var local_#30851 : int; var local_#26536 : { base : int, offset : int }; var local_#26537 : { base : int, offset : int }; var local_#26538 : int; var local_#26539 : int; var local_#26540 : int; var local_#26541 : int; var local_#26542 : { base : int, offset : int }; var local_#26543 : int; var local_#26544 : int; var local_#26545 : int; var local_#26546 : int; var local_#26547 : { base : int, offset : int }; var local_#26548 : int; var local_#30852 : int; var local_#26549 : { base : int, offset : int }; var local_#26550 : { base : int, offset : int }; var local_#26551 : int; var local_#26552 : int; var local_#26553 : int; var local_#26554 : int; var local_#26555 : { base : int, offset : int }; var local_#26556 : { base : int, offset : int }; var local_#26557 : { base : int, offset : int }; var local_#26558 : int; var local_#26559 : { base : int, offset : int }; var local_#26560 : { base : int, offset : int }; var local_#26561 : int; local_#6258_ls := local_#6258_ls_IN; local_#6259_del := local_#6259_del_IN; local_#6260_seminfo := local_#6260_seminfo_IN; goto CFG_37005; CFG_37005: assume true; goto CFG_44413; CFG_44413: assume true; local_#26426 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; goto CFG_48381; CFG_48381: assume true; call routine_#35043_save(local_#6258_ls,local_#26426); goto CFG_51057; CFG_51057: assume true; local_#26427 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26428 := _memory[{ base : local_#26427!base, offset : local_#26427!offset + 0 }]; local_#26429 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26427!base, offset : local_#26427!offset + 0 }] := ~uwrap64(local_#26428 - local_#26429); assert { :LIR "68139" } { :check "overflow" } { :finding_ids "0" } true; local_#26430 := 0; local_#26431 := (if local_#26428 > local_#26430 then 1 else 0); if (local_#26431 != 0) { goto CFG_41291; } else { goto CFG_44414; } CFG_44414: assume true; local_#26432 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48382; CFG_48382: assume true; call local_#26433 := routine_#33913_luaZ_fill(local_#26432); goto CFG_41290; CFG_41290: assume true; local_#30846 := local_#26433; goto CFG_41820; CFG_41291: assume true; local_#26434 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26435 := _memory_ptr[{ base : local_#26434!base, offset : local_#26434!offset + 8 }]; local_#26436 := 1; _memory_ptr[{ base : local_#26434!base, offset : local_#26434!offset + 8 }] := { base : local_#26435!base, offset : local_#26435!offset + local_#26436 * 1 }; local_#26437 := ~uwrap8(_memory[local_#26435]); assert { :LIR "61851" } { :check "overflow" } { :finding_ids "0" } true; local_#26438 := local_#26437; assert { :LIR "63778" } { :check "overflow" } { :finding_ids "0" } local_#26438 <= 2147483647; local_#30846 := local_#26438; goto CFG_41820; CFG_41820: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30846; local_#26439 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; local_#26440 := local_#26439; goto CFG_51058; CFG_51058: assume true; local_#26441 := (if _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] != local_#6259_del then 1 else 0); if (local_#26441 != 0) { goto CFG_51565; } else { goto CFG_44415; } CFG_44415: assume true; local_#26442 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; goto CFG_48383; CFG_48383: assume true; call routine_#35043_save(local_#6258_ls,local_#26442); goto CFG_51059; CFG_51059: assume true; local_#26443 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26444 := _memory[{ base : local_#26443!base, offset : local_#26443!offset + 0 }]; local_#26445 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26443!base, offset : local_#26443!offset + 0 }] := ~uwrap64(local_#26444 - local_#26445); assert { :LIR "68140" } { :check "overflow" } { :finding_ids "0" } true; local_#26446 := 0; local_#26447 := (if local_#26444 > local_#26446 then 1 else 0); if (local_#26447 != 0) { goto CFG_41293; } else { goto CFG_44416; } CFG_44416: assume true; local_#26448 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48384; CFG_48384: assume true; call local_#26449 := routine_#33913_luaZ_fill(local_#26448); goto CFG_41292; CFG_41292: assume true; local_#30847 := local_#26449; goto CFG_44417; CFG_41293: assume true; local_#26450 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26451 := _memory_ptr[{ base : local_#26450!base, offset : local_#26450!offset + 8 }]; local_#26452 := 1; _memory_ptr[{ base : local_#26450!base, offset : local_#26450!offset + 8 }] := { base : local_#26451!base, offset : local_#26451!offset + local_#26452 * 1 }; local_#26453 := ~uwrap8(_memory[local_#26451]); assert { :LIR "61852" } { :check "overflow" } { :finding_ids "0" } true; local_#26454 := local_#26453; assert { :LIR "63779" } { :check "overflow" } { :finding_ids "0" } local_#26454 <= 2147483647; local_#30847 := local_#26454; goto CFG_44417; CFG_44417: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30847; local_#26455 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; local_#26456 := local_#26455; local_#26457 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 72 }]; local_#26458 := 1; local_#26459 := { base : _memory_ptr[{ base : local_#26457!base, offset : local_#26457!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#26457!base, offset : local_#26457!offset + 0 }]!offset + local_#26458 * 1 }; local_#26460 := local_#26459; assert { :LIR "63780" } { :check "overflow" } { :finding_ids "0" } true; local_#26461 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 72 }]; local_#26462 := 2; assume { :symbol "~uwrap64" } true; local_#26463 := ~uwrap64(_memory[{ base : local_#26461!base, offset : local_#26461!offset + 8 }] - local_#26462); assert { :LIR "68141" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48385; CFG_48385: assume true; call local_#26464 := routine_#33907_luaX_newstring(local_#6258_ls,local_#26460,local_#26463); goto CFG_39396; CFG_39396: assume true; local_#26465 := { base : local_#6260_seminfo!base, offset : local_#6260_seminfo!offset + 0 }; _memory_ptr[local_#26465] := local_#26464; goto CFG_37916; CFG_51565: assume true; local_#26466 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; if (local_#26466 == -1) { goto CFG_44429; } if (local_#26466 == 10) { goto CFG_44428; } if (local_#26466 == 13) { goto CFG_44428; } if (local_#26466 == 92) { goto CFG_44421; } goto CFG_44418; CFG_44418: assume true; local_#26467 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; goto CFG_48386; CFG_48386: assume true; call routine_#35043_save(local_#6258_ls,local_#26467); goto CFG_51060; CFG_51060: assume true; local_#26468 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26469 := _memory[{ base : local_#26468!base, offset : local_#26468!offset + 0 }]; local_#26470 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26468!base, offset : local_#26468!offset + 0 }] := ~uwrap64(local_#26469 - local_#26470); assert { :LIR "68142" } { :check "overflow" } { :finding_ids "0" } true; local_#26471 := 0; local_#26472 := (if local_#26469 > local_#26471 then 1 else 0); if (local_#26472 != 0) { goto CFG_41295; } else { goto CFG_44419; } CFG_44419: assume true; local_#26473 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48387; CFG_48387: assume true; call local_#26474 := routine_#33913_luaZ_fill(local_#26473); goto CFG_41294; CFG_41294: assume true; local_#30848 := local_#26474; goto CFG_44420; CFG_41295: assume true; local_#26475 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26476 := _memory_ptr[{ base : local_#26475!base, offset : local_#26475!offset + 8 }]; local_#26477 := 1; _memory_ptr[{ base : local_#26475!base, offset : local_#26475!offset + 8 }] := { base : local_#26476!base, offset : local_#26476!offset + local_#26477 * 1 }; local_#26478 := ~uwrap8(_memory[local_#26476]); assert { :LIR "61853" } { :check "overflow" } { :finding_ids "0" } true; local_#26479 := local_#26478; assert { :LIR "63781" } { :check "overflow" } { :finding_ids "0" } local_#26479 <= 2147483647; local_#30848 := local_#26479; goto CFG_44420; CFG_44420: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30848; local_#26480 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; local_#26481 := local_#26480; goto CFG_41960; CFG_41960: assume true; goto CFG_45162; CFG_44421: assume true; local_#26482 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; goto CFG_48388; CFG_48388: assume true; call routine_#35043_save(local_#6258_ls,local_#26482); goto CFG_51061; CFG_51061: assume true; local_#26483 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26484 := _memory[{ base : local_#26483!base, offset : local_#26483!offset + 0 }]; local_#26485 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26483!base, offset : local_#26483!offset + 0 }] := ~uwrap64(local_#26484 - local_#26485); assert { :LIR "68143" } { :check "overflow" } { :finding_ids "0" } true; local_#26486 := 0; local_#26487 := (if local_#26484 > local_#26486 then 1 else 0); if (local_#26487 != 0) { goto CFG_41297; } else { goto CFG_44422; } CFG_44422: assume true; local_#26488 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48389; CFG_48389: assume true; call local_#26489 := routine_#33913_luaZ_fill(local_#26488); goto CFG_41296; CFG_41296: assume true; local_#30849 := local_#26489; goto CFG_51566; CFG_41297: assume true; local_#26490 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26491 := _memory_ptr[{ base : local_#26490!base, offset : local_#26490!offset + 8 }]; local_#26492 := 1; _memory_ptr[{ base : local_#26490!base, offset : local_#26490!offset + 8 }] := { base : local_#26491!base, offset : local_#26491!offset + local_#26492 * 1 }; local_#26493 := ~uwrap8(_memory[local_#26491]); assert { :LIR "61854" } { :check "overflow" } { :finding_ids "0" } true; local_#26494 := local_#26493; assert { :LIR "63782" } { :check "overflow" } { :finding_ids "0" } local_#26494 <= 2147483647; local_#30849 := local_#26494; goto CFG_51566; CFG_51566: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30849; local_#26495 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; local_#26496 := local_#26495; local_#26497 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; if (local_#26497 == 97) { goto CFG_45273; } if (local_#26497 == 98) { goto CFG_45272; } if (local_#26497 == 102) { goto CFG_45271; } if (local_#26497 == 110) { goto CFG_45270; } if (local_#26497 == 114) { goto CFG_45269; } if (local_#26497 == 116) { goto CFG_45268; } if (local_#26497 == 118) { goto CFG_45267; } if (local_#26497 == 120) { goto CFG_48397; } if (local_#26497 == 117) { goto CFG_48396; } if (local_#26497 == 10) { goto CFG_48395; } if (local_#26497 == 13) { goto CFG_48395; } if (local_#26497 == 92) { goto CFG_45263; } if (local_#26497 == 34) { goto CFG_45263; } if (local_#26497 == 39) { goto CFG_45263; } if (local_#26497 == -1) { goto CFG_45262; } if (local_#26497 == 122) { goto CFG_51062; } goto CFG_44423; CFG_44423: assume true; local_#26498 := 1; local_#26499 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] + local_#26498; assert { :LIR "66780" } { :check "overflow" } { :finding_ids "0" } local_#26499 <= 2147483647; local_#26500 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#26499 * 1 }]; assert { :LIR "63783" } { :check "overflow" } { :finding_ids "0" } local_#26500 <= 2147483647; local_#26501 := 2; local_#26502 := ~sand32(local_#26500, local_#26501); assume _memory[{ base : strlit_#70784!base, offset : strlit_#70784!offset + 23 }] == 0; local_#26503 := strlit_#70784; local_#26504 := { base : local_#26503!base, offset : local_#26503!offset + 0 * 1 }; assert { :LIR "63784" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48390; CFG_48390: assume true; call routine_#34717_esccheck(local_#6258_ls,local_#26502,local_#26504); goto CFG_48391; CFG_48391: assume true; call local_#26505 := routine_#35019_readdecesc(local_#6258_ls); goto CFG_45260; CFG_45260: assume true; local_#32706_c := local_#26505; goto CFG_44427; CFG_51062: assume true; local_#26506 := 1; local_#26507 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 72 }]; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26507!base, offset : local_#26507!offset + 8 }] := ~uwrap64(_memory[{ base : local_#26507!base, offset : local_#26507!offset + 8 }] - local_#26506); assert { :LIR "68144" } { :check "overflow" } { :finding_ids "0" } true; local_#26508 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26509 := _memory[{ base : local_#26508!base, offset : local_#26508!offset + 0 }]; local_#26510 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26508!base, offset : local_#26508!offset + 0 }] := ~uwrap64(local_#26509 - local_#26510); assert { :LIR "68145" } { :check "overflow" } { :finding_ids "0" } true; local_#26511 := 0; local_#26512 := (if local_#26509 > local_#26511 then 1 else 0); if (local_#26512 != 0) { goto CFG_41299; } else { goto CFG_44424; } CFG_44424: assume true; local_#26513 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48392; CFG_48392: assume true; call local_#26514 := routine_#33913_luaZ_fill(local_#26513); goto CFG_41298; CFG_41298: assume true; local_#30850 := local_#26514; goto CFG_41821; CFG_41299: assume true; local_#26515 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26516 := _memory_ptr[{ base : local_#26515!base, offset : local_#26515!offset + 8 }]; local_#26517 := 1; _memory_ptr[{ base : local_#26515!base, offset : local_#26515!offset + 8 }] := { base : local_#26516!base, offset : local_#26516!offset + local_#26517 * 1 }; local_#26518 := ~uwrap8(_memory[local_#26516]); assert { :LIR "61855" } { :check "overflow" } { :finding_ids "0" } true; local_#26519 := local_#26518; assert { :LIR "63785" } { :check "overflow" } { :finding_ids "0" } local_#26519 <= 2147483647; local_#30850 := local_#26519; goto CFG_41821; CFG_41821: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30850; goto CFG_51063; CFG_51063: assume true; local_#26520 := 1; local_#26521 := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] + local_#26520; assert { :LIR "66781" } { :check "overflow" } { :finding_ids "0" } local_#26521 <= 2147483647; local_#26522 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#26521 * 1 }]; assert { :LIR "63786" } { :check "overflow" } { :finding_ids "0" } local_#26522 <= 2147483647; local_#26523 := 8; local_#26524 := ~sand32(local_#26522, local_#26523); if (local_#26524 != 0) { goto CFG_51064; } else { goto CFG_45261; } CFG_45261: assume true; goto CFG_39702; CFG_51064: assume true; local_#26525 := 10; local_#26526 := (if _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] == local_#26525 then 1 else 0); if (local_#26526 != 0) { goto CFG_48394; } else { goto CFG_51065; } CFG_51065: assume true; local_#26527 := 13; local_#26528 := (if _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] == local_#26527 then 1 else 0); if (local_#26528 != 0) { goto CFG_48394; } else { goto CFG_51066; } CFG_51066: assume true; local_#26529 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26530 := _memory[{ base : local_#26529!base, offset : local_#26529!offset + 0 }]; local_#26531 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26529!base, offset : local_#26529!offset + 0 }] := ~uwrap64(local_#26530 - local_#26531); assert { :LIR "68146" } { :check "overflow" } { :finding_ids "0" } true; local_#26532 := 0; local_#26533 := (if local_#26530 > local_#26532 then 1 else 0); if (local_#26533 != 0) { goto CFG_41301; } else { goto CFG_44425; } CFG_44425: assume true; local_#26534 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48393; CFG_48393: assume true; call local_#26535 := routine_#33913_luaZ_fill(local_#26534); goto CFG_41300; CFG_41300: assume true; local_#30851 := local_#26535; goto CFG_41302; CFG_41301: assume true; local_#26536 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26537 := _memory_ptr[{ base : local_#26536!base, offset : local_#26536!offset + 8 }]; local_#26538 := 1; _memory_ptr[{ base : local_#26536!base, offset : local_#26536!offset + 8 }] := { base : local_#26537!base, offset : local_#26537!offset + local_#26538 * 1 }; local_#26539 := ~uwrap8(_memory[local_#26537]); assert { :LIR "61856" } { :check "overflow" } { :finding_ids "0" } true; local_#26540 := local_#26539; assert { :LIR "63787" } { :check "overflow" } { :finding_ids "0" } local_#26540 <= 2147483647; local_#30851 := local_#26540; goto CFG_41302; CFG_41302: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30851; goto CFG_45161; CFG_48394: assume true; call routine_#34809_inclinenumber(local_#6258_ls); goto CFG_41303; CFG_41303: assume true; goto CFG_45161; CFG_45161: assume true; goto CFG_51063; CFG_45262: assume true; goto CFG_39702; CFG_45263: assume true; local_#32706_c := _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }]; goto CFG_51067; CFG_48395: assume true; call routine_#34809_inclinenumber(local_#6258_ls); goto CFG_45264; CFG_45264: assume true; local_#32706_c := 10; goto CFG_44427; CFG_48396: assume true; call routine_#35140_utf8esc(local_#6258_ls); goto CFG_45265; CFG_45265: assume true; goto CFG_39702; CFG_48397: assume true; call local_#26541 := routine_#35021_readhexaesc(local_#6258_ls); goto CFG_45266; CFG_45266: assume true; local_#32706_c := local_#26541; goto CFG_51067; CFG_45267: assume true; local_#32706_c := 11; goto CFG_51067; CFG_45268: assume true; local_#32706_c := 9; goto CFG_51067; CFG_45269: assume true; local_#32706_c := 13; goto CFG_51067; CFG_45270: assume true; local_#32706_c := 10; goto CFG_51067; CFG_45271: assume true; local_#32706_c := 12; goto CFG_51067; CFG_45272: assume true; local_#32706_c := 8; goto CFG_51067; CFG_45273: assume true; local_#32706_c := 7; goto CFG_51067; CFG_51067: assume true; local_#26542 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26543 := _memory[{ base : local_#26542!base, offset : local_#26542!offset + 0 }]; local_#26544 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26542!base, offset : local_#26542!offset + 0 }] := ~uwrap64(local_#26543 - local_#26544); assert { :LIR "68147" } { :check "overflow" } { :finding_ids "0" } true; local_#26545 := 0; local_#26546 := (if local_#26543 > local_#26545 then 1 else 0); if (local_#26546 != 0) { goto CFG_41305; } else { goto CFG_44426; } CFG_44426: assume true; local_#26547 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; goto CFG_48398; CFG_48398: assume true; call local_#26548 := routine_#33913_luaZ_fill(local_#26547); goto CFG_41304; CFG_41304: assume true; local_#30852 := local_#26548; goto CFG_41961; CFG_41305: assume true; local_#26549 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 64 }]; local_#26550 := _memory_ptr[{ base : local_#26549!base, offset : local_#26549!offset + 8 }]; local_#26551 := 1; _memory_ptr[{ base : local_#26549!base, offset : local_#26549!offset + 8 }] := { base : local_#26550!base, offset : local_#26550!offset + local_#26551 * 1 }; local_#26552 := ~uwrap8(_memory[local_#26550]); assert { :LIR "61857" } { :check "overflow" } { :finding_ids "0" } true; local_#26553 := local_#26552; assert { :LIR "63788" } { :check "overflow" } { :finding_ids "0" } local_#26553 <= 2147483647; local_#30852 := local_#26553; goto CFG_41961; CFG_41961: assume true; _memory[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 0 }] := local_#30852; goto CFG_44427; CFG_44427: assume true; local_#26554 := 1; local_#26555 := _memory_ptr[{ base : local_#6258_ls!base, offset : local_#6258_ls!offset + 72 }]; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26555!base, offset : local_#26555!offset + 8 }] := ~uwrap64(_memory[{ base : local_#26555!base, offset : local_#26555!offset + 8 }] - local_#26554); assert { :LIR "68148" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48399; CFG_48399: assume true; call routine_#35043_save(local_#6258_ls,local_#32706_c); goto CFG_41962; CFG_41962: assume true; goto CFG_39702; CFG_39702: assume true; goto CFG_45162; CFG_45162: assume true; goto CFG_51058; CFG_44428: assume true; assume _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 0 }] == 117 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 1 }] == 110 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 2 }] == 102 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 3 }] == 105 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 4 }] == 110 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 5 }] == 105 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 6 }] == 115 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 7 }] == 104 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 8 }] == 101 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 9 }] == 100 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 10 }] == 32 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 11 }] == 115 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 12 }] == 116 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 13 }] == 114 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 14 }] == 105 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 15 }] == 110 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 16 }] == 103 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 17 }] == 0; local_#26556 := strlit_#70785; local_#26557 := { base : local_#26556!base, offset : local_#26556!offset + 0 * 1 }; assert { :LIR "63789" } { :check "overflow" } { :finding_ids "0" } true; local_#26558 := 293; goto CFG_48400; CFG_48400: assume true; call routine_#34857_lexerror(local_#6258_ls,local_#26557,local_#26558); CFG_44429: assume true; assume _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 0 }] == 117 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 1 }] == 110 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 2 }] == 102 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 3 }] == 105 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 4 }] == 110 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 5 }] == 105 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 6 }] == 115 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 7 }] == 104 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 8 }] == 101 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 9 }] == 100 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 10 }] == 32 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 11 }] == 115 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 12 }] == 116 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 13 }] == 114 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 14 }] == 105 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 15 }] == 110 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 16 }] == 103 && _memory[{ base : strlit_#70785!base, offset : strlit_#70785!offset + 17 }] == 0; local_#26559 := strlit_#70785; local_#26560 := { base : local_#26559!base, offset : local_#26559!offset + 0 * 1 }; assert { :LIR "63790" } { :check "overflow" } { :finding_ids "0" } true; local_#26561 := 289; goto CFG_48401; CFG_48401: assume true; call routine_#34857_lexerror(local_#6258_ls,local_#26560,local_#26561); CFG_39703: assume true; goto CFG_45162; CFG_39704: assume true; goto CFG_45162; CFG_41963: assume true; goto CFG_51067; CFG_37916: assume true; } procedure routine_#35018_readable(local_#6261_filename_IN : { base : int, offset : int }) returns (local_#8241 : int) { var local_#6261_filename : { base : int, offset : int }; var local_#26562 : { base : int, offset : int }; var local_#26563 : { base : int, offset : int }; var local_#26564 : { base : int, offset : int }; var local_#32707_f : { base : int, offset : int }; var local_#26565 : { base : int, offset : int }; var local_#26566 : int; var local_#26567 : int; local_#6261_filename := local_#6261_filename_IN; goto CFG_37006; CFG_37006: assume true; goto CFG_44430; CFG_44430: assume true; assume _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 0 }] == 114 && _memory[{ base : strlit_#70323!base, offset : strlit_#70323!offset + 1 }] == 0; local_#26562 := strlit_#70323; local_#26563 := { base : local_#26562!base, offset : local_#26562!offset + 0 * 1 }; assert { :LIR "63791" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48402; CFG_48402: assume true; call local_#26564 := routine_#33577_fopen(local_#6261_filename,local_#26563); goto CFG_51068; CFG_51068: assume true; local_#32707_f := local_#26564; local_#26565 := { base : 0, offset : 0 }; local_#26566 := (if local_#32707_f == local_#26565 then 1 else 0); if (local_#26566 != 0) { goto CFG_38930; } else { goto CFG_48403; } CFG_48403: assume true; call local_#26567 := routine_#33547_fclose(local_#32707_f); goto CFG_38929; CFG_38929: assume true; local_#8241 := 1; goto CFG_37917; CFG_38930: assume true; local_#8241 := 0; goto CFG_37917; CFG_37917: assume true; } procedure routine_#35019_readdecesc(local_#6262_ls_IN : { base : int, offset : int }) returns (local_#8242 : int) modifies _memory, _memory_ptr, _valid; { var local_#6262_ls : { base : int, offset : int }; var local_#32709_r : int; var local_#32708_i : int; var local_#26568 : int; var local_#26569 : int; var local_#26570 : int; var local_#26571 : int; var local_#26572 : int; var local_#26573 : int; var local_#26574 : int; var local_#26575 : int; var local_#26576 : int; var local_#26577 : { base : int, offset : int }; var local_#26578 : { base : int, offset : int }; var local_#26579 : int; var local_#26580 : { base : int, offset : int }; var local_#26581 : int; var local_#26582 : int; var local_#26583 : int; var local_#26584 : int; var local_#26585 : int; var local_#26586 : int; var local_#26587 : { base : int, offset : int }; var local_#26588 : int; var local_#26589 : int; var local_#26590 : int; var local_#26591 : int; var local_#26592 : { base : int, offset : int }; var local_#26593 : int; var local_#30853 : int; var local_#26594 : { base : int, offset : int }; var local_#26595 : { base : int, offset : int }; var local_#26596 : int; var local_#26597 : int; var local_#26598 : int; var local_#26599 : int; var local_#26600 : int; var local_#26601 : int; var local_#26602 : int; var local_#26603 : int; local_#6262_ls := local_#6262_ls_IN; goto CFG_37007; CFG_37007: assume true; goto CFG_41822; CFG_41822: assume true; local_#32709_r := 0; local_#32708_i := 0; goto CFG_51069; CFG_51069: assume true; local_#26568 := 3; local_#26569 := (if local_#32708_i < local_#26568 then 1 else 0); if (local_#26569 != 0) { goto CFG_51070; } else { goto CFG_44431; } CFG_51070: assume true; local_#26570 := 1; local_#26571 := _memory[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 0 }] + local_#26570; assert { :LIR "66782" } { :check "overflow" } { :finding_ids "0" } local_#26571 <= 2147483647; local_#26572 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#26571 * 1 }]; assert { :LIR "63792" } { :check "overflow" } { :finding_ids "0" } local_#26572 <= 2147483647; local_#26573 := 2; local_#26574 := ~sand32(local_#26572, local_#26573); if (local_#26574 != 0) { goto CFG_44432; } else { goto CFG_44431; } CFG_44431: assume true; local_#26575 := 255; local_#26576 := (if local_#32709_r <= local_#26575 then 1 else 0); assume _memory[{ base : strlit_#70788!base, offset : strlit_#70788!offset + 24 }] == 0; local_#26577 := strlit_#70788; local_#26578 := { base : local_#26577!base, offset : local_#26577!offset + 0 * 1 }; assert { :LIR "63793" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48404; CFG_48404: assume true; call routine_#34717_esccheck(local_#6262_ls,local_#26576,local_#26578); goto CFG_38931; CFG_38931: assume true; local_#26579 := ~uwrap64(local_#32708_i); assert { :LIR "63794" } { :check "overflow" } { :finding_ids "0" } true; local_#26580 := _memory_ptr[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 72 }]; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26580!base, offset : local_#26580!offset + 8 }] := ~uwrap64(_memory[{ base : local_#26580!base, offset : local_#26580!offset + 8 }] - local_#26579); assert { :LIR "68149" } { :check "overflow" } { :finding_ids "0" } true; local_#8242 := local_#32709_r; goto CFG_37918; CFG_44432: assume true; local_#26581 := 10; local_#26582 := local_#26581 * local_#32709_r; assert { :LIR "68592" } { :check "overflow" } { :finding_ids "0" } local_#26582 <= 2147483647; local_#26583 := local_#26582 + _memory[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 0 }]; assert { :LIR "66783" } { :check "overflow" } { :finding_ids "0" } local_#26583 <= 2147483647; local_#26584 := 48; local_#26585 := local_#26583 - local_#26584; assert { :LIR "68150" } { :check "overflow" } { :finding_ids "0" } local_#26585 <= 2147483647; local_#32709_r := local_#26585; local_#26586 := _memory[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 0 }]; goto CFG_48405; CFG_48405: assume true; call routine_#35043_save(local_#6262_ls,local_#26586); goto CFG_51071; CFG_51071: assume true; local_#26587 := _memory_ptr[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 64 }]; local_#26588 := _memory[{ base : local_#26587!base, offset : local_#26587!offset + 0 }]; local_#26589 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26587!base, offset : local_#26587!offset + 0 }] := ~uwrap64(local_#26588 - local_#26589); assert { :LIR "68151" } { :check "overflow" } { :finding_ids "0" } true; local_#26590 := 0; local_#26591 := (if local_#26588 > local_#26590 then 1 else 0); if (local_#26591 != 0) { goto CFG_41307; } else { goto CFG_44433; } CFG_44433: assume true; local_#26592 := _memory_ptr[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 64 }]; goto CFG_48406; CFG_48406: assume true; call local_#26593 := routine_#33913_luaZ_fill(local_#26592); goto CFG_41306; CFG_41306: assume true; local_#30853 := local_#26593; goto CFG_44434; CFG_41307: assume true; local_#26594 := _memory_ptr[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 64 }]; local_#26595 := _memory_ptr[{ base : local_#26594!base, offset : local_#26594!offset + 8 }]; local_#26596 := 1; _memory_ptr[{ base : local_#26594!base, offset : local_#26594!offset + 8 }] := { base : local_#26595!base, offset : local_#26595!offset + local_#26596 * 1 }; local_#26597 := ~uwrap8(_memory[local_#26595]); assert { :LIR "61858" } { :check "overflow" } { :finding_ids "0" } true; local_#26598 := local_#26597; assert { :LIR "63795" } { :check "overflow" } { :finding_ids "0" } local_#26598 <= 2147483647; local_#30853 := local_#26598; goto CFG_44434; CFG_44434: assume true; _memory[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 0 }] := local_#30853; local_#26599 := _memory[{ base : local_#6262_ls!base, offset : local_#6262_ls!offset + 0 }]; local_#26600 := local_#26599; goto CFG_45163; CFG_45163: assume true; local_#26601 := local_#32708_i; local_#26602 := 1; local_#32708_i := local_#26601 + local_#26602; assert { :LIR "66784" } { :check "overflow" } { :finding_ids "0" } local_#32708_i <= 2147483647; local_#26603 := local_#26601; goto CFG_51069; CFG_37918: assume true; } procedure routine_#35020_readdigits(local_#6263_rn_IN : { base : int, offset : int }, local_#6264_hex_IN : int) returns (local_#8243 : int) modifies _memory; { var local_#6263_rn : { base : int, offset : int }; var local_#6264_hex : int; var local_#32710_count : int; var local_#26604 : int; var local_#26605 : { base : int, offset : int }; var local_#26606 : int; var local_#26607 : { base : int, offset : int }; var local_#26608 : int; var local_#26609 : int; var local_#26610 : int; var local_#26611 : { base : int, offset : int }; var local_#26612 : int; var local_#26613 : { base : int, offset : int }; var local_#26614 : int; var local_#26615 : int; var local_#26616 : int; var local_#26617 : int; var local_#26618 : int; var local_#26619 : int; var local_#26620 : int; var local_#26621 : int; local_#6263_rn := local_#6263_rn_IN; local_#6264_hex := local_#6264_hex_IN; goto CFG_37008; CFG_37008: assume true; goto CFG_41823; CFG_41823: assume true; local_#32710_count := 0; goto CFG_51072; CFG_51072: assume true; local_#26604 := local_#6264_hex; if (local_#26604 != 0) { goto CFG_48408; } else { goto CFG_48407; } CFG_48407: assume true; call local_#26605 := routine_#33248___ctype_b_loc(); goto CFG_51073; CFG_51073: assume true; local_#26606 := _memory[{ base : local_#6263_rn!base, offset : local_#6263_rn!offset + 8 }]; assert { :LIR "61859" } { :check "overflow" } { :finding_ids "0" } local_#26606 <= 2147483647; local_#26607 := { base : _memory_ptr[local_#26605]!base, offset : _memory_ptr[local_#26605]!offset + local_#26606 * 2 }; local_#26608 := _memory[local_#26607]; assert { :LIR "63796" } { :check "overflow" } { :finding_ids "0" } local_#26608 <= 2147483647; local_#26609 := 2048; local_#26610 := ~sand32(local_#26608, local_#26609); if (local_#26610 != 0) { goto CFG_48409; } else { goto CFG_38932; } CFG_48408: assume true; call local_#26611 := routine_#33248___ctype_b_loc(); goto CFG_51074; CFG_51074: assume true; local_#26612 := _memory[{ base : local_#6263_rn!base, offset : local_#6263_rn!offset + 8 }]; assert { :LIR "61860" } { :check "overflow" } { :finding_ids "0" } local_#26612 <= 2147483647; local_#26613 := { base : _memory_ptr[local_#26611]!base, offset : _memory_ptr[local_#26611]!offset + local_#26612 * 2 }; local_#26614 := _memory[local_#26613]; assert { :LIR "63797" } { :check "overflow" } { :finding_ids "0" } local_#26614 <= 2147483647; local_#26615 := 4096; local_#26616 := ~sand32(local_#26614, local_#26615); if (local_#26616 != 0) { goto CFG_48409; } else { goto CFG_38932; } CFG_48409: assume true; call local_#26617 := routine_#34963_nextc(local_#6263_rn); goto CFG_51075; CFG_51075: assume true; local_#26618 := local_#26617; if (local_#26618 != 0) { goto CFG_45164; } else { goto CFG_38932; } CFG_38932: assume true; local_#8243 := local_#32710_count; goto CFG_37919; CFG_45164: assume true; local_#26619 := local_#32710_count; local_#26620 := 1; local_#32710_count := local_#26619 + local_#26620; assert { :LIR "66785" } { :check "overflow" } { :finding_ids "0" } local_#32710_count <= 2147483647; local_#26621 := local_#26619; goto CFG_51072; CFG_37919: assume true; } procedure routine_#35021_readhexaesc(local_#6265_ls_IN : { base : int, offset : int }) returns (local_#8244 : int) modifies _memory, _memory_ptr, _valid; { var local_#6265_ls : { base : int, offset : int }; var local_#26622 : int; var local_#32711_r : int; var local_#26623 : int; var local_#26624 : int; var local_#26625 : int; var local_#26626 : int; var local_#26627 : int; var local_#26628 : { base : int, offset : int }; local_#6265_ls := local_#6265_ls_IN; goto CFG_37009; CFG_37009: assume true; goto CFG_48410; CFG_48410: assume true; call local_#26622 := routine_#34788_gethexa(local_#6265_ls); goto CFG_44435; CFG_44435: assume true; local_#32711_r := local_#26622; local_#26623 := 4; local_#26624 := ~shl32(local_#32711_r, local_#26623); goto CFG_48411; CFG_48411: assume true; call local_#26625 := routine_#34788_gethexa(local_#6265_ls); goto CFG_38933; CFG_38933: assume true; local_#26626 := local_#26624 + local_#26625; assert { :LIR "66786" } { :check "overflow" } { :finding_ids "0" } local_#26626 <= 2147483647; local_#32711_r := local_#26626; local_#26627 := 2; local_#26628 := _memory_ptr[{ base : local_#6265_ls!base, offset : local_#6265_ls!offset + 72 }]; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26628!base, offset : local_#26628!offset + 8 }] := ~uwrap64(_memory[{ base : local_#26628!base, offset : local_#26628!offset + 8 }] - local_#26627); assert { :LIR "68152" } { :check "overflow" } { :finding_ids "0" } true; local_#8244 := local_#32711_r; goto CFG_37920; CFG_37920: assume true; } procedure routine_#35022_readutf8esc(local_#6266_ls_IN : { base : int, offset : int }) returns (local_#8245 : int) modifies _memory, _memory_ptr, _valid; { var local_#6266_ls : { base : int, offset : int }; var local_#32712_i : int; var local_#26629 : int; var local_#26630 : { base : int, offset : int }; var local_#26631 : int; var local_#26632 : int; var local_#26633 : int; var local_#26634 : int; var local_#26635 : { base : int, offset : int }; var local_#26636 : int; var local_#30854 : int; var local_#26637 : { base : int, offset : int }; var local_#26638 : { base : int, offset : int }; var local_#26639 : int; var local_#26640 : int; var local_#26641 : int; var local_#26642 : int; var local_#26643 : int; var local_#26644 : int; var local_#26645 : int; var local_#26646 : { base : int, offset : int }; var local_#26647 : { base : int, offset : int }; var local_#26648 : int; var local_#26649 : int; var local_#32713_r : int; var local_#26650 : int; var local_#26651 : { base : int, offset : int }; var local_#26652 : int; var local_#26653 : int; var local_#26654 : int; var local_#26655 : int; var local_#26656 : { base : int, offset : int }; var local_#26657 : int; var local_#30855 : int; var local_#26658 : { base : int, offset : int }; var local_#26659 : { base : int, offset : int }; var local_#26660 : int; var local_#26661 : int; var local_#26662 : int; var local_#26663 : int; var local_#26664 : int; var local_#26665 : int; var local_#26666 : int; var local_#26667 : int; var local_#26668 : int; var local_#26669 : int; var local_#26670 : int; var local_#26671 : int; var local_#26672 : int; var local_#26673 : { base : int, offset : int }; var local_#26674 : { base : int, offset : int }; var local_#26675 : { base : int, offset : int }; var local_#26676 : int; var local_#26677 : int; var local_#26678 : int; var local_#26679 : int; var local_#26680 : { base : int, offset : int }; var local_#26681 : int; var local_#30856 : int; var local_#26682 : { base : int, offset : int }; var local_#26683 : { base : int, offset : int }; var local_#26684 : int; var local_#26685 : int; var local_#26686 : int; var local_#26687 : int; var local_#26688 : { base : int, offset : int }; var local_#26689 : int; var local_#26690 : int; var local_#26691 : int; var local_#26692 : int; var local_#26693 : int; var local_#26694 : int; var local_#26695 : int; var local_#26696 : int; var local_#26697 : int; var local_#26698 : int; var local_#26699 : int; var local_#26700 : { base : int, offset : int }; var local_#26701 : { base : int, offset : int }; local_#6266_ls := local_#6266_ls_IN; goto CFG_37010; CFG_37010: assume true; goto CFG_44436; CFG_44436: assume true; local_#32712_i := 4; local_#26629 := _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }]; goto CFG_48412; CFG_48412: assume true; call routine_#35043_save(local_#6266_ls,local_#26629); goto CFG_51076; CFG_51076: assume true; local_#26630 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; local_#26631 := _memory[{ base : local_#26630!base, offset : local_#26630!offset + 0 }]; local_#26632 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26630!base, offset : local_#26630!offset + 0 }] := ~uwrap64(local_#26631 - local_#26632); assert { :LIR "68153" } { :check "overflow" } { :finding_ids "0" } true; local_#26633 := 0; local_#26634 := (if local_#26631 > local_#26633 then 1 else 0); if (local_#26634 != 0) { goto CFG_41309; } else { goto CFG_44437; } CFG_44437: assume true; local_#26635 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; goto CFG_48413; CFG_48413: assume true; call local_#26636 := routine_#33913_luaZ_fill(local_#26635); goto CFG_41308; CFG_41308: assume true; local_#30854 := local_#26636; goto CFG_44438; CFG_41309: assume true; local_#26637 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; local_#26638 := _memory_ptr[{ base : local_#26637!base, offset : local_#26637!offset + 8 }]; local_#26639 := 1; _memory_ptr[{ base : local_#26637!base, offset : local_#26637!offset + 8 }] := { base : local_#26638!base, offset : local_#26638!offset + local_#26639 * 1 }; local_#26640 := ~uwrap8(_memory[local_#26638]); assert { :LIR "61861" } { :check "overflow" } { :finding_ids "0" } true; local_#26641 := local_#26640; assert { :LIR "63798" } { :check "overflow" } { :finding_ids "0" } local_#26641 <= 2147483647; local_#30854 := local_#26641; goto CFG_44438; CFG_44438: assume true; _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }] := local_#30854; local_#26642 := _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }]; local_#26643 := local_#26642; local_#26644 := 123; local_#26645 := (if _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }] == local_#26644 then 1 else 0); assume _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 0 }] == 109 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 1 }] == 105 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 2 }] == 115 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 3 }] == 115 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 4 }] == 105 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 5 }] == 110 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 6 }] == 103 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 7 }] == 32 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 8 }] == 39 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 9 }] == 123 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 10 }] == 39 && _memory[{ base : strlit_#70789!base, offset : strlit_#70789!offset + 11 }] == 0; local_#26646 := strlit_#70789; local_#26647 := { base : local_#26646!base, offset : local_#26646!offset + 0 * 1 }; assert { :LIR "63799" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48414; CFG_48414: assume true; call routine_#34717_esccheck(local_#6266_ls,local_#26645,local_#26647); goto CFG_48415; CFG_48415: assume true; call local_#26648 := routine_#34788_gethexa(local_#6266_ls); goto CFG_41824; CFG_41824: assume true; local_#26649 := ~uwrap64(local_#26648); assert { :LIR "63800" } { :check "overflow" } { :finding_ids "0" } true; local_#32713_r := local_#26649; goto CFG_44439; CFG_44439: assume true; local_#26650 := _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }]; goto CFG_48416; CFG_48416: assume true; call routine_#35043_save(local_#6266_ls,local_#26650); goto CFG_51077; CFG_51077: assume true; local_#26651 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; local_#26652 := _memory[{ base : local_#26651!base, offset : local_#26651!offset + 0 }]; local_#26653 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26651!base, offset : local_#26651!offset + 0 }] := ~uwrap64(local_#26652 - local_#26653); assert { :LIR "68154" } { :check "overflow" } { :finding_ids "0" } true; local_#26654 := 0; local_#26655 := (if local_#26652 > local_#26654 then 1 else 0); if (local_#26655 != 0) { goto CFG_41311; } else { goto CFG_44440; } CFG_44440: assume true; local_#26656 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; goto CFG_48417; CFG_48417: assume true; call local_#26657 := routine_#33913_luaZ_fill(local_#26656); goto CFG_41310; CFG_41310: assume true; local_#30855 := local_#26657; goto CFG_51078; CFG_41311: assume true; local_#26658 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; local_#26659 := _memory_ptr[{ base : local_#26658!base, offset : local_#26658!offset + 8 }]; local_#26660 := 1; _memory_ptr[{ base : local_#26658!base, offset : local_#26658!offset + 8 }] := { base : local_#26659!base, offset : local_#26659!offset + local_#26660 * 1 }; local_#26661 := ~uwrap8(_memory[local_#26659]); assert { :LIR "61862" } { :check "overflow" } { :finding_ids "0" } true; local_#26662 := local_#26661; assert { :LIR "63801" } { :check "overflow" } { :finding_ids "0" } local_#26662 <= 2147483647; local_#30855 := local_#26662; goto CFG_51078; CFG_51078: assume true; _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }] := local_#30855; local_#26663 := _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }]; local_#26664 := local_#26663; local_#26665 := 1; local_#26666 := _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }] + local_#26665; assert { :LIR "66787" } { :check "overflow" } { :finding_ids "0" } local_#26666 <= 2147483647; local_#26667 := _memory[{ base : global_#33103_luai_ctype_!base, offset : global_#33103_luai_ctype_!offset + local_#26666 * 1 }]; assert { :LIR "63802" } { :check "overflow" } { :finding_ids "0" } local_#26667 <= 2147483647; local_#26668 := 16; local_#26669 := ~sand32(local_#26667, local_#26668); local_#26670 := local_#26669; if (local_#26670 != 0) { goto CFG_44443; } else { goto CFG_44441; } CFG_44441: assume true; local_#26671 := 125; local_#26672 := (if _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }] == local_#26671 then 1 else 0); assume _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 0 }] == 109 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 1 }] == 105 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 2 }] == 115 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 3 }] == 115 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 4 }] == 105 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 5 }] == 110 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 6 }] == 103 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 7 }] == 32 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 8 }] == 39 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 9 }] == 125 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 10 }] == 39 && _memory[{ base : strlit_#70790!base, offset : strlit_#70790!offset + 11 }] == 0; local_#26673 := strlit_#70790; local_#26674 := { base : local_#26673!base, offset : local_#26673!offset + 0 * 1 }; assert { :LIR "63803" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48418; CFG_48418: assume true; call routine_#34717_esccheck(local_#6266_ls,local_#26672,local_#26674); goto CFG_51079; CFG_51079: assume true; local_#26675 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; local_#26676 := _memory[{ base : local_#26675!base, offset : local_#26675!offset + 0 }]; local_#26677 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26675!base, offset : local_#26675!offset + 0 }] := ~uwrap64(local_#26676 - local_#26677); assert { :LIR "68155" } { :check "overflow" } { :finding_ids "0" } true; local_#26678 := 0; local_#26679 := (if local_#26676 > local_#26678 then 1 else 0); if (local_#26679 != 0) { goto CFG_41313; } else { goto CFG_44442; } CFG_44442: assume true; local_#26680 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; goto CFG_48419; CFG_48419: assume true; call local_#26681 := routine_#33913_luaZ_fill(local_#26680); goto CFG_41312; CFG_41312: assume true; local_#30856 := local_#26681; goto CFG_38934; CFG_41313: assume true; local_#26682 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 64 }]; local_#26683 := _memory_ptr[{ base : local_#26682!base, offset : local_#26682!offset + 8 }]; local_#26684 := 1; _memory_ptr[{ base : local_#26682!base, offset : local_#26682!offset + 8 }] := { base : local_#26683!base, offset : local_#26683!offset + local_#26684 * 1 }; local_#26685 := ~uwrap8(_memory[local_#26683]); assert { :LIR "61863" } { :check "overflow" } { :finding_ids "0" } true; local_#26686 := local_#26685; assert { :LIR "63804" } { :check "overflow" } { :finding_ids "0" } local_#26686 <= 2147483647; local_#30856 := local_#26686; goto CFG_38934; CFG_38934: assume true; _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }] := local_#30856; local_#26687 := ~uwrap64(local_#32712_i); assert { :LIR "63805" } { :check "overflow" } { :finding_ids "0" } true; local_#26688 := _memory_ptr[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 72 }]; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#26688!base, offset : local_#26688!offset + 8 }] := ~uwrap64(_memory[{ base : local_#26688!base, offset : local_#26688!offset + 8 }] - local_#26687); assert { :LIR "68156" } { :check "overflow" } { :finding_ids "0" } true; local_#8245 := local_#32713_r; goto CFG_37921; CFG_44443: assume true; local_#26689 := local_#32712_i; local_#26690 := 1; local_#32712_i := local_#26689 + local_#26690; assert { :LIR "66788" } { :check "overflow" } { :finding_ids "0" } local_#32712_i <= 2147483647; local_#26691 := local_#26689; local_#26692 := 4; local_#26693 := ~shl64(local_#32713_r, local_#26692); local_#26694 := _memory[{ base : local_#6266_ls!base, offset : local_#6266_ls!offset + 0 }]; goto CFG_48420; CFG_48420: assume true; call local_#26695 := routine_#33863_luaO_hexavalue(local_#26694); goto CFG_44444; CFG_44444: assume true; local_#26696 := ~uwrap64(local_#26695); assert { :LIR "63806" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#26697 := ~uwrap64(local_#26693 + local_#26696); assert { :LIR "66789" } { :check "overflow" } { :finding_ids "0" } true; local_#32713_r := local_#26697; local_#26698 := 1114111; local_#26699 := (if local_#32713_r <= local_#26698 then 1 else 0); assume _memory[{ base : strlit_#70791!base, offset : strlit_#70791!offset + 21 }] == 0; local_#26700 := strlit_#70791; local_#26701 := { base : local_#26700!base, offset : local_#26700!offset + 0 * 1 }; assert { :LIR "63807" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48421; CFG_48421: assume true; call routine_#34717_esccheck(local_#6266_ls,local_#26699,local_#26701); goto CFG_45165; CFG_45165: assume true; goto CFG_44439; CFG_37921: assume true; } procedure routine_#35023_reallymarkobject(local_#6267_g_IN : { base : int, offset : int }, local_#6268_o_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6267_g : { base : int, offset : int }; var local_#6268_o : { base : int, offset : int }; var local_#26702 : int; var local_#26703 : int; var local_#26704 : int; var local_#26705 : int; var local_#26706 : int; var local_#26707 : int; var local_#26708 : { base : int, offset : int }; var local_#26709 : { base : int, offset : int }; var local_#26710 : { base : int, offset : int }; var local_#26711 : { base : int, offset : int }; var local_#26712 : { base : int, offset : int }; var local_#26713 : { base : int, offset : int }; var local_#26714 : { base : int, offset : int }; var local_#26715 : { base : int, offset : int }; var local_#26716 : { base : int, offset : int }; var local_#26717 : { base : int, offset : int }; var local_#26718 : { base : int, offset : int }; var local_#26719 : { base : int, offset : int }; var local_#26720 : { base : int, offset : int }; var local_#26721 : { base : int, offset : int }; var local_#26722 : { base : int, offset : int }; var local_#26723 : { base : int, offset : int }; var local_#26724 : { base : int, offset : int }; var local_#26725 : { base : int, offset : int }; var local_#26726 : { base : int, offset : int }; var local_#26727 : { base : int, offset : int }; var local_#26728 : { base : int, offset : int }; var local_#26729 : { base : int, offset : int }; var local_#26730 : { base : int, offset : int }; var local_#26731 : { base : int, offset : int }; var local_#26732 : { base : int, offset : int }; var local_#26733 : { base : int, offset : int }; var local_#26734 : { base : int, offset : int }; var local_#26735 : { base : int, offset : int }; var local_#26736 : { base : int, offset : int }; var local_#26737 : { base : int, offset : int }; var local_#26738 : { base : int, offset : int }; var local_#26739 : { base : int, offset : int }; var local_#26740 : { base : int, offset : int }; var local_#26741 : { base : int, offset : int }; var local_#26742 : { base : int, offset : int }; var local_#26743 : { base : int, offset : int }; var local_#26744 : { base : int, offset : int }; var local_#26745 : { base : int, offset : int }; var local_#26746 : { base : int, offset : int }; var local_#26747 : { base : int, offset : int }; var local_#26748 : { base : int, offset : int }; var local_#26749 : { base : int, offset : int }; var local_#26750 : { base : int, offset : int }; var local_#26751 : { base : int, offset : int }; var local_#26752 : { base : int, offset : int }; var local_#26753 : { base : int, offset : int }; var local_#26754 : { base : int, offset : int }; var local_#26755 : { base : int, offset : int }; var local_#26756 : { base : int, offset : int }; var local_#26757 : { base : int, offset : int }; var local_#26758 : { base : int, offset : int }; var local_#26759 : { base : int, offset : int }; var local_#26760 : { base : int, offset : int }; var local_#26761 : { base : int, offset : int }; var local_#26762 : { base : int, offset : int }; var local_#26763 : int; var local_#26764 : int; var local_#26765 : int; var local_#26766 : { base : int, offset : int }; var local_#26767 : { base : int, offset : int }; var local_#26768 : { base : int, offset : int }; var local_#26769 : { base : int, offset : int }; var local_#26770 : int; var local_#26771 : int; var local_#26772 : int; var local_#26773 : int; var local_#26774 : { base : int, offset : int }; var local_#26775 : { base : int, offset : int }; var local_#26776 : int; var local_#32714_uvalue : { base : int, offset : int }; var local_#32715_io : { base : int, offset : int }; var local_#26777 : { base : int, offset : int }; var local_#26778 : { base : int, offset : int }; var local_#26779 : { base : int, offset : int }; var local_#32716_iu : { base : int, offset : int }; var local_#26780 : int; var local_#26781 : int; var local_#26782 : int; var local_#26783 : int; var local_#26784 : int; var local_#26785 : { base : int, offset : int }; var local_#26786 : { base : int, offset : int }; var local_#26787 : int; var local_#26788 : int; var local_#26789 : int; var local_#26790 : { base : int, offset : int }; var local_#26791 : int; var local_#26792 : int; var local_#26793 : int; var local_#26794 : int; var local_#26795 : { base : int, offset : int }; var local_#26796 : { base : int, offset : int }; var local_#26797 : { base : int, offset : int }; var local_#26798 : int; var local_#26799 : int; var local_#26800 : int; var local_#26801 : int; var local_#26802 : int; var local_#26803 : int; var local_#26804 : int; var local_#26805 : int; var local_#26806 : int; var local_#26807 : { base : int, offset : int }; var local_#26808 : { base : int, offset : int }; var local_#26809 : int; var local_#26810 : int; var local_#26811 : int; var local_#26812 : int; var local_#26813 : int; var local_#26814 : int; var local_#26815 : int; local_#6267_g := local_#6267_g_IN; local_#6268_o := local_#6268_o_IN; goto CFG_37011; CFG_37011: assume true; goto CFG_41964; CFG_41964: assume true; goto CFG_51567; CFG_51567: assume true; local_#26702 := 252; local_#26703 := _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }]; assert { :LIR "63808" } { :check "overflow" } { :finding_ids "0" } local_#26703 <= 2147483647; local_#26704 := ~sand32(local_#26703, local_#26702); _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }] := ~uwrap8(local_#26704); assert { :LIR "63809" } { :check "overflow" } { :finding_ids "0" } true; local_#26705 := _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 8 }]; assert { :LIR "63810" } { :check "overflow" } { :finding_ids "0" } local_#26705 <= 2147483647; if (local_#26705 == 4) { goto CFG_39713; } if (local_#26705 == 20) { goto CFG_39712; } if (local_#26705 == 7) { goto CFG_51080; } if (local_#26705 == 6) { goto CFG_39710; } if (local_#26705 == 38) { goto CFG_39709; } if (local_#26705 == 5) { goto CFG_39708; } if (local_#26705 == 8) { goto CFG_39707; } if (local_#26705 == 9) { goto CFG_39706; } goto CFG_39705; CFG_39705: assume true; local_#26706 := 0; local_#26707 := 0; assert { :LIR "61864" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39397; CFG_39706: assume true; local_#26708 := local_#6268_o; assert { :LIR "61865" } { :check "overflow" } { :finding_ids "0" } true; local_#26709 := { base : local_#26708!base, offset : local_#26708!offset + 0 }; _memory_ptr[{ base : local_#26709!base, offset : local_#26709!offset + 112 }] := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26710 := _memory_ptr[{ base : local_#26709!base, offset : local_#26709!offset + 112 }]; local_#26711 := local_#6268_o; assert { :LIR "61866" } { :check "overflow" } { :finding_ids "0" } true; local_#26712 := { base : local_#26711!base, offset : local_#26711!offset + 0 }; local_#26713 := local_#26712; assert { :LIR "61867" } { :check "overflow" } { :finding_ids "0" } true; local_#26714 := { base : local_#26713!base, offset : local_#26713!offset + 0 }; _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }] := local_#26714; local_#26715 := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26716 := local_#26715; goto CFG_39397; CFG_39707: assume true; local_#26717 := local_#6268_o; assert { :LIR "61868" } { :check "overflow" } { :finding_ids "0" } true; local_#26718 := { base : local_#26717!base, offset : local_#26717!offset + 0 }; _memory_ptr[{ base : local_#26718!base, offset : local_#26718!offset + 72 }] := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26719 := _memory_ptr[{ base : local_#26718!base, offset : local_#26718!offset + 72 }]; local_#26720 := local_#6268_o; assert { :LIR "61869" } { :check "overflow" } { :finding_ids "0" } true; local_#26721 := { base : local_#26720!base, offset : local_#26720!offset + 0 }; local_#26722 := local_#26721; assert { :LIR "61870" } { :check "overflow" } { :finding_ids "0" } true; local_#26723 := { base : local_#26722!base, offset : local_#26722!offset + 0 }; _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }] := local_#26723; local_#26724 := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26725 := local_#26724; goto CFG_39397; CFG_39708: assume true; local_#26726 := local_#6268_o; assert { :LIR "61871" } { :check "overflow" } { :finding_ids "0" } true; local_#26727 := { base : local_#26726!base, offset : local_#26726!offset + 0 }; _memory_ptr[{ base : local_#26727!base, offset : local_#26727!offset + 48 }] := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26728 := _memory_ptr[{ base : local_#26727!base, offset : local_#26727!offset + 48 }]; local_#26729 := local_#6268_o; assert { :LIR "61872" } { :check "overflow" } { :finding_ids "0" } true; local_#26730 := { base : local_#26729!base, offset : local_#26729!offset + 0 }; local_#26731 := local_#26730; assert { :LIR "61873" } { :check "overflow" } { :finding_ids "0" } true; local_#26732 := { base : local_#26731!base, offset : local_#26731!offset + 0 }; _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }] := local_#26732; local_#26733 := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26734 := local_#26733; goto CFG_39397; CFG_39709: assume true; local_#26735 := local_#6268_o; assert { :LIR "61874" } { :check "overflow" } { :finding_ids "0" } true; local_#26736 := { base : local_#26735!base, offset : local_#26735!offset + 0 }; local_#26737 := { base : local_#26736!base, offset : local_#26736!offset + 0 }; _memory_ptr[{ base : local_#26737!base, offset : local_#26737!offset + 16 }] := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26738 := _memory_ptr[{ base : local_#26737!base, offset : local_#26737!offset + 16 }]; local_#26739 := local_#6268_o; assert { :LIR "61875" } { :check "overflow" } { :finding_ids "0" } true; local_#26740 := { base : local_#26739!base, offset : local_#26739!offset + 0 }; local_#26741 := { base : local_#26740!base, offset : local_#26740!offset + 0 }; local_#26742 := local_#26741; assert { :LIR "61876" } { :check "overflow" } { :finding_ids "0" } true; local_#26743 := { base : local_#26742!base, offset : local_#26742!offset + 0 }; _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }] := local_#26743; local_#26744 := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26745 := local_#26744; goto CFG_39397; CFG_39710: assume true; local_#26746 := local_#6268_o; assert { :LIR "61877" } { :check "overflow" } { :finding_ids "0" } true; local_#26747 := { base : local_#26746!base, offset : local_#26746!offset + 0 }; local_#26748 := { base : local_#26747!base, offset : local_#26747!offset + 0 }; _memory_ptr[{ base : local_#26748!base, offset : local_#26748!offset + 16 }] := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26749 := _memory_ptr[{ base : local_#26748!base, offset : local_#26748!offset + 16 }]; local_#26750 := local_#6268_o; assert { :LIR "61878" } { :check "overflow" } { :finding_ids "0" } true; local_#26751 := { base : local_#26750!base, offset : local_#26750!offset + 0 }; local_#26752 := { base : local_#26751!base, offset : local_#26751!offset + 0 }; local_#26753 := local_#26752; assert { :LIR "61879" } { :check "overflow" } { :finding_ids "0" } true; local_#26754 := { base : local_#26753!base, offset : local_#26753!offset + 0 }; _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }] := local_#26754; local_#26755 := _memory_ptr[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 112 }]; local_#26756 := local_#26755; goto CFG_39397; CFG_51080: assume true; local_#26757 := local_#6268_o; assert { :LIR "61880" } { :check "overflow" } { :finding_ids "0" } true; local_#26758 := { base : local_#26757!base, offset : local_#26757!offset + 0 }; local_#26759 := _memory_ptr[{ base : local_#26758!base, offset : local_#26758!offset + 16 }]; if (local_#26759 != { base : 0, offset : 0 }) { goto CFG_51081; } else { goto CFG_51082; } CFG_51081: assume true; local_#26760 := local_#6268_o; assert { :LIR "61881" } { :check "overflow" } { :finding_ids "0" } true; local_#26761 := { base : local_#26760!base, offset : local_#26760!offset + 0 }; local_#26762 := _memory_ptr[{ base : local_#26761!base, offset : local_#26761!offset + 16 }]; local_#26763 := _memory[{ base : local_#26762!base, offset : local_#26762!offset + 9 }]; assert { :LIR "63811" } { :check "overflow" } { :finding_ids "0" } local_#26763 <= 2147483647; local_#26764 := 3; local_#26765 := ~sand32(local_#26763, local_#26764); if (local_#26765 != 0) { goto CFG_44445; } else { goto CFG_41315; } CFG_44445: assume true; local_#26766 := local_#6268_o; assert { :LIR "61882" } { :check "overflow" } { :finding_ids "0" } true; local_#26767 := { base : local_#26766!base, offset : local_#26766!offset + 0 }; local_#26768 := _memory_ptr[{ base : local_#26767!base, offset : local_#26767!offset + 16 }]; assert { :LIR "61883" } { :check "overflow" } { :finding_ids "0" } true; local_#26769 := { base : local_#26768!base, offset : local_#26768!offset + 0 }; goto CFG_48422; CFG_48422: assume true; call routine_#35023_reallymarkobject(local_#6267_g,local_#26769); goto CFG_41314; CFG_41314: assume true; goto CFG_41315; CFG_41315: assume true; goto CFG_51082; CFG_51082: assume true; local_#26770 := 4; local_#26771 := _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }]; assert { :LIR "63812" } { :check "overflow" } { :finding_ids "0" } local_#26771 <= 2147483647; local_#26772 := ~sor32(local_#26771, local_#26770); _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }] := ~uwrap8(local_#26772); assert { :LIR "63813" } { :check "overflow" } { :finding_ids "0" } true; local_#26773 := 40; local_#26774 := local_#6268_o; assert { :LIR "61884" } { :check "overflow" } { :finding_ids "0" } true; local_#26775 := { base : local_#26774!base, offset : local_#26774!offset + 0 }; assume { :symbol "~uwrap64" } true; local_#26776 := ~uwrap64(local_#26773 + _memory[{ base : local_#26775!base, offset : local_#26775!offset + 24 }]); assert { :LIR "66790" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 32 }] := ~uwrap64(_memory[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 32 }] + local_#26776); assert { :LIR "66791" } { :check "overflow" } { :finding_ids "0" } true; local_#32715_io := local_#32714_uvalue; local_#26777 := local_#6268_o; assert { :LIR "61885" } { :check "overflow" } { :finding_ids "0" } true; local_#26778 := { base : local_#26777!base, offset : local_#26777!offset + 0 }; local_#26779 := local_#26778; assert { :LIR "63814" } { :check "overflow" } { :finding_ids "0" } true; local_#32716_iu := local_#26779; assume read_type_#120(_memory, _memory_ptr, { base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 })!_b == _memory[{ base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 })!_f == _memory_ptr[{ base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 })!_gc == _memory_ptr[{ base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 + 0 }] && read_type_#120(_memory, _memory_ptr, { base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 })!_i == _memory[{ base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#120(_memory, _memory_ptr, { base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 })!_p == _memory_ptr[{ base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 + 0 }]; call write_type_#120({ base : local_#32715_io!base, offset : local_#32715_io!offset + 0 },read_type_#120(_memory, _memory_ptr, { base : local_#32716_iu!base, offset : local_#32716_iu!offset + 32 })); local_#26780 := _memory[{ base : local_#32716_iu!base, offset : local_#32716_iu!offset + 10 }]; assert { :LIR "63815" } { :check "overflow" } { :finding_ids "0" } local_#26780 <= 2147483647; _memory[{ base : local_#32715_io!base, offset : local_#32715_io!offset + 8 }] := local_#26780; local_#26781 := 0; local_#26782 := 0; assert { :LIR "61886" } { :check "overflow" } { :finding_ids "0" } true; local_#26783 := 64; local_#26784 := ~sand32(_memory[{ base : local_#32714_uvalue!base, offset : local_#32714_uvalue!offset + 8 }], local_#26783); if (local_#26784 != 0) { goto CFG_51083; } else { goto CFG_39711; } CFG_51083: assume true; local_#26785 := { base : local_#32714_uvalue!base, offset : local_#32714_uvalue!offset + 0 }; local_#26786 := _memory_ptr[local_#26785]; local_#26787 := _memory[{ base : local_#26786!base, offset : local_#26786!offset + 9 }]; assert { :LIR "63816" } { :check "overflow" } { :finding_ids "0" } local_#26787 <= 2147483647; local_#26788 := 3; local_#26789 := ~sand32(local_#26787, local_#26788); if (local_#26789 != 0) { goto CFG_45274; } else { goto CFG_39711; } CFG_39711: assume true; goto CFG_39397; CFG_45274: assume true; local_#26790 := { base : local_#32714_uvalue!base, offset : local_#32714_uvalue!offset + 0 }; local_#6268_o := _memory_ptr[local_#26790]; goto CFG_51567; CFG_39712: assume true; local_#26791 := 4; local_#26792 := _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }]; assert { :LIR "63817" } { :check "overflow" } { :finding_ids "0" } local_#26792 <= 2147483647; local_#26793 := ~sor32(local_#26792, local_#26791); _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }] := ~uwrap8(local_#26793); assert { :LIR "63818" } { :check "overflow" } { :finding_ids "0" } true; local_#26794 := 24; local_#26795 := local_#6268_o; assert { :LIR "61887" } { :check "overflow" } { :finding_ids "0" } true; local_#26796 := { base : local_#26795!base, offset : local_#26795!offset + 0 }; local_#26797 := { base : local_#26796!base, offset : local_#26796!offset + 16 }; local_#26798 := 1; assume { :symbol "~uwrap64" } true; local_#26799 := ~uwrap64(_memory[local_#26797] + local_#26798); assert { :LIR "66792" } { :check "overflow" } { :finding_ids "0" } true; local_#26800 := 1; assume { :symbol "~uwrap64" } true; local_#26801 := ~uwrap64(local_#26799 * local_#26800); assert { :LIR "68593" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#26802 := ~uwrap64(local_#26794 + local_#26801); assert { :LIR "66793" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 32 }] := ~uwrap64(_memory[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 32 }] + local_#26802); assert { :LIR "66794" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39397; CFG_39713: assume true; local_#26803 := 4; local_#26804 := _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }]; assert { :LIR "63819" } { :check "overflow" } { :finding_ids "0" } local_#26804 <= 2147483647; local_#26805 := ~sor32(local_#26804, local_#26803); _memory[{ base : local_#6268_o!base, offset : local_#6268_o!offset + 9 }] := ~uwrap8(local_#26805); assert { :LIR "63820" } { :check "overflow" } { :finding_ids "0" } true; local_#26806 := 24; local_#26807 := local_#6268_o; assert { :LIR "61888" } { :check "overflow" } { :finding_ids "0" } true; local_#26808 := { base : local_#26807!base, offset : local_#26807!offset + 0 }; local_#26809 := _memory[{ base : local_#26808!base, offset : local_#26808!offset + 11 }]; assert { :LIR "63821" } { :check "overflow" } { :finding_ids "0" } local_#26809 <= 2147483647; local_#26810 := 1; local_#26811 := local_#26809 + local_#26810; assert { :LIR "66795" } { :check "overflow" } { :finding_ids "0" } local_#26811 <= 2147483647; local_#26812 := ~uwrap64(local_#26811); assert { :LIR "63822" } { :check "overflow" } { :finding_ids "0" } true; local_#26813 := 1; assume { :symbol "~uwrap64" } true; local_#26814 := ~uwrap64(local_#26812 * local_#26813); assert { :LIR "68594" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#26815 := ~uwrap64(local_#26806 + local_#26814); assert { :LIR "66796" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 32 }] := ~uwrap64(_memory[{ base : local_#6267_g!base, offset : local_#6267_g!offset + 32 }] + local_#26815); assert { :LIR "66797" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39397; CFG_39397: assume true; goto CFG_37922; CFG_41965: assume true; goto CFG_39397; CFG_37922: assume true; } procedure routine_#35024_recfield(local_#6269_ls_IN : { base : int, offset : int }, local_#6270_cc_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6269_ls : { base : int, offset : int }; var local_#6270_cc : { base : int, offset : int }; var local_#32717_fs : { base : int, offset : int }; var local_#26816 : { base : int, offset : int }; var local_#26817 : int; var local_#32719_reg : int; var local_#26818 : int; var local_#26819 : int; var local_#32718_key : { base : int, offset : int }; var local_#26820 : { base : int, offset : int }; var local_#26821 : int; var local_#26822 : int; var local_#26823 : { base : int, offset : int }; var local_#26824 : { base : int, offset : int }; var local_#26825 : { base : int, offset : int }; var local_#26826 : int; var local_#26827 : int; var local_#26828 : int; var local_#26829 : int; var local_#26830 : { base : int, offset : int }; var local_#26831 : int; var local_#32720_rkkey : int; var local_#32721_val : { base : int, offset : int }; var local_#26832 : { base : int, offset : int }; var local_#26833 : int; var local_#26834 : { base : int, offset : int }; var local_#26835 : { base : int, offset : int }; var local_#26836 : int; var local_#26837 : { base : int, offset : int }; var local_#26838 : int; var local_#26839 : int; var local_#26840 : int; local_#6269_ls := local_#6269_ls_IN; local_#6270_cc := local_#6270_cc_IN; goto CFG_37012; CFG_37012: assume true; goto CFG_51084; CFG_51084: assume true; local_#32717_fs := _memory_ptr[{ base : local_#6269_ls!base, offset : local_#6269_ls!offset + 48 }]; local_#26816 := _memory_ptr[{ base : local_#6269_ls!base, offset : local_#6269_ls!offset + 48 }]; local_#26817 := _memory[{ base : local_#26816!base, offset : local_#26816!offset + 60 }]; assert { :LIR "63823" } { :check "overflow" } { :finding_ids "0" } local_#26817 <= 2147483647; local_#32719_reg := local_#26817; local_#26818 := 292; local_#26819 := (if _memory[{ base : local_#6269_ls!base, offset : local_#6269_ls!offset + 16 }] == local_#26818 then 1 else 0); if (local_#26819 != 0) { goto CFG_44447; } else { goto CFG_44446; } CFG_44446: assume true; local_#26820 := local_#32718_key; goto CFG_48423; CFG_48423: assume true; call routine_#35147_yindex(local_#6269_ls,local_#26820); goto CFG_41316; CFG_41316: assume true; goto CFG_44449; CFG_44447: assume true; local_#26821 := _memory[{ base : local_#6270_cc!base, offset : local_#6270_cc!offset + 32 }]; local_#26822 := 2147483647; assume _memory[{ base : strlit_#70658!base, offset : strlit_#70658!offset + 22 }] == 0; local_#26823 := strlit_#70658; local_#26824 := { base : local_#26823!base, offset : local_#26823!offset + 0 * 1 }; assert { :LIR "63824" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48424; CFG_48424: assume true; call routine_#34632_checklimit(local_#32717_fs,local_#26821,local_#26822,local_#26824); goto CFG_44448; CFG_44448: assume true; local_#26825 := local_#32718_key; goto CFG_48425; CFG_48425: assume true; call routine_#34636_checkname(local_#6269_ls,local_#26825); goto CFG_41317; CFG_41317: assume true; goto CFG_44449; CFG_44449: assume true; local_#26826 := _memory[{ base : local_#6270_cc!base, offset : local_#6270_cc!offset + 32 }]; local_#26827 := 1; _memory[{ base : local_#6270_cc!base, offset : local_#6270_cc!offset + 32 }] := local_#26826 + local_#26827; assert { :LIR "66798" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#6270_cc!base, offset : local_#6270_cc!offset + 32 }] <= -1; local_#26828 := local_#26826; local_#26829 := 61; goto CFG_48426; CFG_48426: assume true; call routine_#34637_checknext(local_#6269_ls,local_#26829); goto CFG_44450; CFG_44450: assume true; local_#26830 := local_#32718_key; goto CFG_48427; CFG_48427: assume true; call local_#26831 := routine_#33785_luaK_exp2RK(local_#32717_fs,local_#26830); goto CFG_44451; CFG_44451: assume true; local_#32720_rkkey := local_#26831; local_#26832 := local_#32721_val; goto CFG_48428; CFG_48428: assume true; call routine_#34721_expr(local_#6269_ls,local_#26832); goto CFG_44452; CFG_44452: assume true; local_#26833 := 10; local_#26834 := _memory_ptr[{ base : local_#6270_cc!base, offset : local_#6270_cc!offset + 24 }]; local_#26835 := { base : local_#26834!base, offset : local_#26834!offset + 8 }; local_#26836 := _memory[local_#26835]; local_#26837 := local_#32721_val; goto CFG_48429; CFG_48429: assume true; call local_#26838 := routine_#33785_luaK_exp2RK(local_#32717_fs,local_#26837); goto CFG_48430; CFG_48430: assume true; call local_#26839 := routine_#33780_luaK_codeABC(local_#32717_fs,local_#26833,local_#26836,local_#32720_rkkey,local_#26838); goto CFG_39398; CFG_39398: assume true; local_#26840 := ~uwrap8(local_#32719_reg); assert { :LIR "63825" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32717_fs!base, offset : local_#32717_fs!offset + 60 }] := local_#26840; goto CFG_37923; CFG_37923: assume true; } procedure routine_#35025_recover(local_#6271_L_IN : { base : int, offset : int }, local_#6272_status_IN : int) returns (local_#8246 : int) modifies _memory, _memory_ptr, _valid; { var local_#6271_L : { base : int, offset : int }; var local_#6272_status : int; var local_#26841 : { base : int, offset : int }; var local_#32722_ci : { base : int, offset : int }; var local_#26842 : { base : int, offset : int }; var local_#26843 : int; var local_#26844 : { base : int, offset : int }; var local_#26845 : { base : int, offset : int }; var local_#26846 : { base : int, offset : int }; var local_#32723_oldtop : { base : int, offset : int }; var local_#26847 : int; var local_#26848 : int; var local_#26849 : int; var local_#26850 : int; var local_#26851 : { base : int, offset : int }; local_#6271_L := local_#6271_L_IN; local_#6272_status := local_#6272_status_IN; goto CFG_37013; CFG_37013: assume true; goto CFG_48431; CFG_48431: assume true; call local_#26841 := routine_#34748_findpcall(local_#6271_L); goto CFG_51085; CFG_51085: assume true; local_#32722_ci := local_#26841; local_#26842 := { base : 0, offset : 0 }; local_#26843 := (if local_#32722_ci == local_#26842 then 1 else 0); if (local_#26843 != 0) { goto CFG_38936; } else { goto CFG_44453; } CFG_44453: assume true; local_#26844 := _memory_ptr[{ base : local_#6271_L!base, offset : local_#6271_L!offset + 56 }]; assert { :LIR "61889" } { :check "overflow" } { :finding_ids "0" } true; local_#26845 := { base : local_#26844!base, offset : local_#26844!offset + _memory[{ base : local_#32722_ci!base, offset : local_#32722_ci!offset + 56 }] * 1 }; local_#26846 := local_#26845; assert { :LIR "61890" } { :check "overflow" } { :finding_ids "0" } true; local_#32723_oldtop := local_#26846; goto CFG_48432; CFG_48432: assume true; call routine_#33749_luaF_close(local_#6271_L,local_#32723_oldtop); goto CFG_48433; CFG_48433: assume true; call routine_#35058_seterrorobj(local_#6271_L,local_#6272_status,local_#32723_oldtop); goto CFG_44454; CFG_44454: assume true; _memory_ptr[{ base : local_#6271_L!base, offset : local_#6271_L!offset + 32 }] := local_#32722_ci; local_#26847 := _memory[{ base : local_#32722_ci!base, offset : local_#32722_ci!offset + 66 }]; assert { :LIR "63826" } { :check "overflow" } { :finding_ids "0" } local_#26847 <= 2147483647; local_#26848 := 1; local_#26849 := ~sand32(local_#26847, local_#26848); local_#26850 := ~uwrap8(local_#26849); assert { :LIR "63827" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#6271_L!base, offset : local_#6271_L!offset + 204 }] := local_#26850; _memory[{ base : local_#6271_L!base, offset : local_#6271_L!offset + 196 }] := 0; goto CFG_48434; CFG_48434: assume true; call routine_#33742_luaD_shrinkstack(local_#6271_L); goto CFG_38935; CFG_38935: assume true; local_#26851 := { base : local_#32722_ci!base, offset : local_#32722_ci!offset + 32 }; _memory[{ base : local_#6271_L!base, offset : local_#6271_L!offset + 176 }] := _memory[{ base : local_#26851!base, offset : local_#26851!offset + 8 }]; local_#8246 := 1; goto CFG_37924; CFG_38936: assume true; local_#8246 := 0; goto CFG_37924; CFG_37924: assume true; } procedure routine_#35026_registerlocalvar(local_#6273_ls_IN : { base : int, offset : int }, local_#6274_varname_IN : { base : int, offset : int }) returns (local_#8247 : int) modifies _memory, _memory_ptr, _valid; { var local_#6273_ls : { base : int, offset : int }; var local_#6274_varname : { base : int, offset : int }; var local_#32725_fs : { base : int, offset : int }; var local_#32724_f : { base : int, offset : int }; var local_#32726_oldsize : int; var local_#26852 : int; var local_#26853 : int; var local_#26854 : int; var local_#26855 : int; var local_#26856 : { base : int, offset : int }; var local_#26857 : { base : int, offset : int }; var local_#26858 : { base : int, offset : int }; var local_#26859 : int; var local_#26860 : int; var local_#26861 : { base : int, offset : int }; var local_#26862 : { base : int, offset : int }; var local_#26863 : { base : int, offset : int }; var local_#26864 : { base : int, offset : int }; var local_#26865 : int; var local_#26866 : { base : int, offset : int }; var local_#26867 : int; var local_#26868 : int; var local_#26869 : int; var local_#26870 : int; var local_#26871 : int; var local_#26872 : int; var local_#26873 : int; var local_#26874 : int; var local_#26875 : { base : int, offset : int }; var local_#26876 : { base : int, offset : int }; var local_#26877 : { base : int, offset : int }; var local_#26878 : { base : int, offset : int }; var local_#26879 : { base : int, offset : int }; var local_#26880 : int; var local_#26881 : int; var local_#26882 : int; var local_#26883 : { base : int, offset : int }; var local_#26884 : int; var local_#26885 : int; var local_#26886 : { base : int, offset : int }; local_#6273_ls := local_#6273_ls_IN; local_#6274_varname := local_#6274_varname_IN; goto CFG_37014; CFG_37014: assume true; goto CFG_51086; CFG_51086: assume true; local_#32725_fs := _memory_ptr[{ base : local_#6273_ls!base, offset : local_#6273_ls!offset + 48 }]; local_#32724_f := _memory_ptr[{ base : local_#32725_fs!base, offset : local_#32725_fs!offset + 0 }]; local_#32726_oldsize := _memory[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 36 }]; local_#26852 := _memory[{ base : local_#32725_fs!base, offset : local_#32725_fs!offset + 56 }]; assert { :LIR "63828" } { :check "overflow" } { :finding_ids "0" } local_#26852 <= 2147483647; local_#26853 := 1; local_#26854 := local_#26852 + local_#26853; assert { :LIR "66799" } { :check "overflow" } { :finding_ids "0" } local_#26854 <= 2147483647; local_#26855 := (if local_#26854 > _memory[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 36 }] then 1 else 0); if (local_#26855 != 0) { goto CFG_44455; } else { goto CFG_41825; } CFG_44455: assume true; local_#26856 := _memory_ptr[{ base : local_#6273_ls!base, offset : local_#6273_ls!offset + 56 }]; local_#26857 := _memory_ptr[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 80 }]; assert { :LIR "63829" } { :check "overflow" } { :finding_ids "0" } true; local_#26858 := { base : local_#32724_f!base, offset : local_#32724_f!offset + 36 }; local_#26859 := 16; local_#26860 := 32767; assume _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 0 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 1 }] == 111 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 2 }] == 99 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 3 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 4 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 5 }] == 32 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 6 }] == 118 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 7 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 8 }] == 114 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 9 }] == 105 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 10 }] == 97 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 11 }] == 98 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 12 }] == 108 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 13 }] == 101 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 14 }] == 115 && _memory[{ base : strlit_#70712!base, offset : strlit_#70712!offset + 15 }] == 0; local_#26861 := strlit_#70712; local_#26862 := { base : local_#26861!base, offset : local_#26861!offset + 0 * 1 }; assert { :LIR "63830" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48435; CFG_48435: assume true; call local_#26863 := routine_#33856_luaM_growaux_(local_#26856,local_#26857,local_#26858,local_#26859,local_#26860,local_#26862); goto CFG_41318; CFG_41318: assume true; local_#26864 := local_#26863; assert { :LIR "61891" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 80 }] := local_#26864; goto CFG_41825; CFG_41825: assume true; goto CFG_51087; CFG_51087: assume true; local_#26865 := (if local_#32726_oldsize < _memory[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 36 }] then 1 else 0); if (local_#26865 != 0) { goto CFG_45166; } else { goto CFG_51088; } CFG_51088: assume true; local_#26866 := { base : _memory_ptr[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 80 }]!offset + _memory[{ base : local_#32725_fs!base, offset : local_#32725_fs!offset + 56 }] * 16 }; _memory_ptr[{ base : local_#26866!base, offset : local_#26866!offset + 0 }] := local_#6274_varname; local_#26867 := _memory[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 9 }]; assert { :LIR "63831" } { :check "overflow" } { :finding_ids "0" } local_#26867 <= 2147483647; local_#26868 := 4; local_#26869 := ~sand32(local_#26867, local_#26868); if (local_#26869 != 0) { goto CFG_51089; } else { goto CFG_41319; } CFG_51089: assume true; local_#26870 := _memory[{ base : local_#6274_varname!base, offset : local_#6274_varname!offset + 9 }]; assert { :LIR "63832" } { :check "overflow" } { :finding_ids "0" } local_#26870 <= 2147483647; local_#26871 := 3; local_#26872 := ~sand32(local_#26870, local_#26871); if (local_#26872 != 0) { goto CFG_44456; } else { goto CFG_41319; } CFG_41319: assume true; local_#26873 := 0; local_#26874 := 0; assert { :LIR "61892" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38937; CFG_44456: assume true; local_#26875 := _memory_ptr[{ base : local_#6273_ls!base, offset : local_#6273_ls!offset + 56 }]; local_#26876 := local_#32724_f; assert { :LIR "61893" } { :check "overflow" } { :finding_ids "0" } true; local_#26877 := { base : local_#26876!base, offset : local_#26876!offset + 0 }; local_#26878 := local_#6274_varname; assert { :LIR "61894" } { :check "overflow" } { :finding_ids "0" } true; local_#26879 := { base : local_#26878!base, offset : local_#26878!offset + 0 }; goto CFG_48436; CFG_48436: assume true; call routine_#33720_luaC_barrier_(local_#26875,local_#26877,local_#26879); goto CFG_41320; CFG_41320: assume true; goto CFG_38937; CFG_38937: assume true; local_#26880 := _memory[{ base : local_#32725_fs!base, offset : local_#32725_fs!offset + 56 }]; local_#26881 := 1; _memory[{ base : local_#32725_fs!base, offset : local_#32725_fs!offset + 56 }] := local_#26880 + local_#26881; assert { :LIR "66800" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#32725_fs!base, offset : local_#32725_fs!offset + 56 }] <= -1; local_#26882 := local_#26880; assert { :LIR "63833" } { :check "overflow" } { :finding_ids "0" } local_#26882 <= 2147483647; local_#8247 := local_#26882; goto CFG_37925; CFG_45166: assume true; local_#26883 := { base : 0, offset : 0 }; local_#26884 := local_#32726_oldsize; local_#26885 := 1; local_#32726_oldsize := local_#26884 + local_#26885; assert { :LIR "66801" } { :check "overflow" } { :finding_ids "0" } local_#32726_oldsize <= 2147483647; local_#26886 := { base : _memory_ptr[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#32724_f!base, offset : local_#32724_f!offset + 80 }]!offset + local_#26884 * 16 }; _memory_ptr[{ base : local_#26886!base, offset : local_#26886!offset + 0 }] := local_#26883; goto CFG_51087; CFG_37925: assume true; } procedure routine_#35027_rehash(local_#6275_L_IN : { base : int, offset : int }, local_#6276_t_IN : { base : int, offset : int }, local_#6277_ek_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6275_L : { base : int, offset : int }; var local_#6276_t : { base : int, offset : int }; var local_#6277_ek : { base : int, offset : int }; var local_#32728_i : int; var local_#26887 : int; var local_#26888 : int; var local_#26889 : { base : int, offset : int }; var local_#32730_nums : { base : int, offset : int }; var local_#26890 : { base : int, offset : int }; var local_#26891 : int; var local_#32729_na : { base : int, offset : int }; var local_#26892 : int; var local_#32731_totaluse : int; var local_#26893 : { base : int, offset : int }; var local_#26894 : { base : int, offset : int }; var local_#26895 : { base : int, offset : int }; var local_#26896 : int; var local_#26897 : { base : int, offset : int }; var local_#26898 : int; var local_#26899 : int; var local_#26900 : int; var local_#26901 : int; var local_#26902 : int; var local_#26903 : { base : int, offset : int }; var local_#26904 : { base : int, offset : int }; var local_#26905 : int; var local_#32727_asize : int; var local_#26906 : int; var local_#26907 : int; var local_#26908 : int; var local_#26909 : int; var local_#26910 : int; local_#6275_L := local_#6275_L_IN; local_#6276_t := local_#6276_t_IN; local_#6277_ek := local_#6277_ek_IN; goto CFG_37015; CFG_37015: assume true; goto CFG_41826; CFG_41826: assume true; local_#32728_i := 0; goto CFG_51090; CFG_51090: assume true; local_#26887 := 31; local_#26888 := (if local_#32728_i <= local_#26887 then 1 else 0); if (local_#26888 != 0) { goto CFG_44462; } else { goto CFG_44457; } CFG_44457: assume true; local_#26889 := local_#6276_t; assert { :LIR "63834" } { :check "overflow" } { :finding_ids "0" } true; local_#26890 := { base : local_#32730_nums!base, offset : local_#32730_nums!offset + 0 * 4 }; goto CFG_48437; CFG_48437: assume true; call local_#26891 := routine_#34968_numusearray(local_#26889,local_#26890); goto CFG_44458; CFG_44458: assume true; _memory[local_#32729_na] := local_#26891; local_#26892 := _memory[local_#32729_na]; assert { :LIR "63835" } { :check "overflow" } { :finding_ids "0" } local_#26892 <= 2147483647; local_#32731_totaluse := local_#26892; local_#26893 := local_#6276_t; assert { :LIR "63836" } { :check "overflow" } { :finding_ids "0" } true; local_#26894 := { base : local_#32730_nums!base, offset : local_#32730_nums!offset + 0 * 4 }; local_#26895 := local_#32729_na; goto CFG_48438; CFG_48438: assume true; call local_#26896 := routine_#34969_numusehash(local_#26893,local_#26894,local_#26895); goto CFG_44459; CFG_44459: assume true; local_#32731_totaluse := local_#32731_totaluse + local_#26896; assert { :LIR "66802" } { :check "overflow" } { :finding_ids "0" } local_#32731_totaluse <= 2147483647; local_#26897 := { base : local_#32730_nums!base, offset : local_#32730_nums!offset + 0 * 4 }; goto CFG_48439; CFG_48439: assume true; call local_#26898 := routine_#34671_countint(local_#6277_ek,local_#26897); goto CFG_44460; CFG_44460: assume true; local_#26899 := ~uwrap32(local_#26898); assert { :LIR "63837" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; _memory[local_#32729_na] := ~uwrap32(_memory[local_#32729_na] + local_#26899); assert { :LIR "66803" } { :check "overflow" } { :finding_ids "0" } true; local_#26900 := local_#32731_totaluse; local_#26901 := 1; local_#32731_totaluse := local_#26900 + local_#26901; assert { :LIR "66804" } { :check "overflow" } { :finding_ids "0" } local_#32731_totaluse <= 2147483647; local_#26902 := local_#26900; local_#26903 := { base : local_#32730_nums!base, offset : local_#32730_nums!offset + 0 * 4 }; local_#26904 := local_#32729_na; goto CFG_48440; CFG_48440: assume true; call local_#26905 := routine_#34662_computesizes(local_#26903,local_#26904); goto CFG_44461; CFG_44461: assume true; local_#32727_asize := local_#26905; local_#26906 := ~uwrap32(local_#32731_totaluse); assert { :LIR "63838" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap32" } true; local_#26907 := ~uwrap32(local_#26906 - _memory[local_#32729_na]); assert { :LIR "68157" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48441; CFG_48441: assume true; call routine_#33775_luaH_resize(local_#6275_L,local_#6276_t,local_#32727_asize,local_#26907); goto CFG_39399; CFG_39399: assume true; goto CFG_37926; CFG_44462: assume true; _memory[{ base : local_#32730_nums!base, offset : local_#32730_nums!offset + local_#32728_i * 4 }] := 0; goto CFG_45167; CFG_45167: assume true; local_#26908 := local_#32728_i; local_#26909 := 1; local_#32728_i := local_#26908 + local_#26909; assert { :LIR "66805" } { :check "overflow" } { :finding_ids "0" } local_#32728_i <= 2147483647; local_#26910 := local_#26908; goto CFG_51090; CFG_37926: assume true; } procedure routine_#35028_remarkupvals(local_#6278_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6278_g : { base : int, offset : int }; var local_#32732_p : { base : int, offset : int }; var local_#32733_thread : { base : int, offset : int }; var local_#26911 : { base : int, offset : int }; var local_#26912 : int; var local_#26913 : int; var local_#26914 : int; var local_#26915 : int; var local_#26916 : int; var local_#26917 : int; var local_#26918 : int; var local_#26919 : { base : int, offset : int }; var local_#26920 : int; var local_#32734_uv : { base : int, offset : int }; var local_#26921 : { base : int, offset : int }; var local_#26922 : int; var local_#26923 : { base : int, offset : int }; var local_#26924 : int; var local_#26925 : int; var local_#26926 : int; var local_#26927 : { base : int, offset : int }; var local_#26928 : int; var local_#26929 : int; var local_#26930 : { base : int, offset : int }; var local_#26931 : { base : int, offset : int }; var local_#26932 : { base : int, offset : int }; var local_#26933 : int; var local_#26934 : int; var local_#26935 : int; var local_#26936 : { base : int, offset : int }; var local_#26937 : { base : int, offset : int }; var local_#26938 : { base : int, offset : int }; var local_#26939 : int; var local_#26940 : { base : int, offset : int }; var local_#26941 : { base : int, offset : int }; var local_#26942 : { base : int, offset : int }; local_#6278_g := local_#6278_g_IN; goto CFG_37016; CFG_37016: assume true; goto CFG_41827; CFG_41827: assume true; local_#32732_p := { base : local_#6278_g!base, offset : local_#6278_g!offset + 168 }; goto CFG_51091; CFG_51091: assume true; local_#32733_thread := _memory_ptr[local_#32732_p]; local_#26911 := { base : 0, offset : 0 }; local_#26912 := (if local_#32733_thread != local_#26911 then 1 else 0); if (local_#26912 != 0) { goto CFG_51092; } else { goto CFG_39400; } CFG_39400: assume true; goto CFG_37927; CFG_51092: assume true; local_#26913 := 0; local_#26914 := 0; assert { :LIR "61895" } { :check "overflow" } { :finding_ids "0" } true; local_#26915 := _memory[{ base : local_#32733_thread!base, offset : local_#32733_thread!offset + 9 }]; assert { :LIR "63839" } { :check "overflow" } { :finding_ids "0" } local_#26915 <= 2147483647; local_#26916 := 7; local_#26917 := ~sand32(local_#26915, local_#26916); local_#26918 := (if local_#26917 != 0 then 0 else 1); if (local_#26918 != 0) { goto CFG_51093; } else { goto CFG_41828; } CFG_51093: assume true; local_#26919 := { base : 0, offset : 0 }; local_#26920 := (if _memory_ptr[{ base : local_#32733_thread!base, offset : local_#32733_thread!offset + 64 }] != local_#26919 then 1 else 0); if (local_#26920 != 0) { goto CFG_41324; } else { goto CFG_41828; } CFG_41828: assume true; _memory_ptr[local_#32732_p] := _memory_ptr[{ base : local_#32733_thread!base, offset : local_#32733_thread!offset + 80 }]; _memory_ptr[{ base : local_#32733_thread!base, offset : local_#32733_thread!offset + 80 }] := local_#32733_thread; local_#32734_uv := _memory_ptr[{ base : local_#32733_thread!base, offset : local_#32733_thread!offset + 64 }]; goto CFG_51094; CFG_51094: assume true; local_#26921 := { base : 0, offset : 0 }; local_#26922 := (if local_#32734_uv != local_#26921 then 1 else 0); if (local_#26922 != 0) { goto CFG_51095; } else { goto CFG_41321; } CFG_41321: assume true; goto CFG_45169; CFG_51095: assume true; local_#26923 := { base : local_#32734_uv!base, offset : local_#32734_uv!offset + 16 }; local_#26924 := _memory[{ base : local_#26923!base, offset : local_#26923!offset + 8 }]; if (local_#26924 != 0) { goto CFG_51096; } else { goto CFG_45168; } CFG_51096: assume true; local_#26925 := 0; local_#26926 := 0; assert { :LIR "61896" } { :check "overflow" } { :finding_ids "0" } true; local_#26927 := _memory_ptr[{ base : local_#32734_uv!base, offset : local_#32734_uv!offset + 0 }]; local_#26928 := 64; local_#26929 := ~sand32(_memory[{ base : local_#26927!base, offset : local_#26927!offset + 8 }], local_#26928); if (local_#26929 != 0) { goto CFG_51097; } else { goto CFG_41323; } CFG_51097: assume true; local_#26930 := _memory_ptr[{ base : local_#32734_uv!base, offset : local_#32734_uv!offset + 0 }]; local_#26931 := { base : local_#26930!base, offset : local_#26930!offset + 0 }; local_#26932 := _memory_ptr[local_#26931]; local_#26933 := _memory[{ base : local_#26932!base, offset : local_#26932!offset + 9 }]; assert { :LIR "63840" } { :check "overflow" } { :finding_ids "0" } local_#26933 <= 2147483647; local_#26934 := 3; local_#26935 := ~sand32(local_#26933, local_#26934); if (local_#26935 != 0) { goto CFG_44463; } else { goto CFG_41323; } CFG_44463: assume true; local_#26936 := _memory_ptr[{ base : local_#32734_uv!base, offset : local_#32734_uv!offset + 0 }]; local_#26937 := { base : local_#26936!base, offset : local_#26936!offset + 0 }; local_#26938 := _memory_ptr[local_#26937]; goto CFG_48442; CFG_48442: assume true; call routine_#35023_reallymarkobject(local_#6278_g,local_#26938); goto CFG_41322; CFG_41322: assume true; goto CFG_41323; CFG_41323: assume true; local_#26939 := 0; local_#26940 := { base : local_#32734_uv!base, offset : local_#32734_uv!offset + 16 }; _memory[{ base : local_#26940!base, offset : local_#26940!offset + 8 }] := local_#26939; goto CFG_45168; CFG_45168: assume true; local_#26941 := { base : local_#32734_uv!base, offset : local_#32734_uv!offset + 16 }; local_#32734_uv := _memory_ptr[{ base : local_#26941!base, offset : local_#26941!offset + 0 }]; local_#26942 := local_#32734_uv; goto CFG_51094; CFG_41324: assume true; local_#32732_p := { base : local_#32733_thread!base, offset : local_#32733_thread!offset + 80 }; goto CFG_45169; CFG_45169: assume true; goto CFG_51091; CFG_37927: assume true; } procedure routine_#35029_removeentry(local_#6279_n_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#6279_n : { base : int, offset : int }; var local_#26943 : int; var local_#26944 : int; var local_#26945 : { base : int, offset : int }; var local_#26946 : { base : int, offset : int }; var local_#26947 : int; var local_#26948 : int; var local_#26949 : { base : int, offset : int }; var local_#26950 : { base : int, offset : int }; var local_#26951 : { base : int, offset : int }; var local_#26952 : { base : int, offset : int }; var local_#26953 : int; var local_#26954 : int; var local_#26955 : int; var local_#26956 : int; var local_#26957 : { base : int, offset : int }; local_#6279_n := local_#6279_n_IN; goto CFG_37017; CFG_37017: assume true; goto CFG_51098; CFG_51098: assume true; local_#26943 := 0; local_#26944 := 0; assert { :LIR "61897" } { :check "overflow" } { :finding_ids "0" } true; local_#26945 := { base : local_#6279_n!base, offset : local_#6279_n!offset + 16 }; local_#26946 := local_#26945; assert { :LIR "61898" } { :check "overflow" } { :finding_ids "0" } true; local_#26947 := 64; local_#26948 := ~sand32(_memory[{ base : local_#26946!base, offset : local_#26946!offset + 8 }], local_#26947); if (local_#26948 != 0) { goto CFG_51099; } else { goto CFG_39401; } CFG_51099: assume true; local_#26949 := { base : local_#6279_n!base, offset : local_#6279_n!offset + 16 }; local_#26950 := local_#26949; assert { :LIR "61899" } { :check "overflow" } { :finding_ids "0" } true; local_#26951 := { base : local_#26950!base, offset : local_#26950!offset + 0 }; local_#26952 := _memory_ptr[local_#26951]; local_#26953 := _memory[{ base : local_#26952!base, offset : local_#26952!offset + 9 }]; assert { :LIR "63841" } { :check "overflow" } { :finding_ids "0" } local_#26953 <= 2147483647; local_#26954 := 3; local_#26955 := ~sand32(local_#26953, local_#26954); if (local_#26955 != 0) { goto CFG_41325; } else { goto CFG_39401; } CFG_41325: assume true; local_#26956 := 10; local_#26957 := { base : local_#6279_n!base, offset : local_#6279_n!offset + 16 }; _memory[{ base : local_#26957!base, offset : local_#26957!offset + 8 }] := local_#26956; goto CFG_39401; CFG_39401: assume true; goto CFG_37928; CFG_37928: assume true; } procedure routine_#35030_removevalues(local_#6280_fs_IN : { base : int, offset : int }, local_#6281_list_IN : int) returns () modifies _memory; { var local_#6280_fs : { base : int, offset : int }; var local_#6281_list : int; var local_#26958 : int; var local_#26959 : int; var local_#26960 : int; var local_#26961 : int; var local_#26962 : int; var local_#26963 : int; local_#6280_fs := local_#6280_fs_IN; local_#6281_list := local_#6281_list_IN; goto CFG_37018; CFG_37018: assume true; goto CFG_41829; CFG_41829: assume true; goto CFG_51100; CFG_51100: assume true; local_#26958 := -1; local_#26959 := (if local_#6281_list != local_#26958 then 1 else 0); if (local_#26959 != 0) { goto CFG_44464; } else { goto CFG_39402; } CFG_39402: assume true; goto CFG_37929; CFG_44464: assume true; local_#26960 := 255; goto CFG_48443; CFG_48443: assume true; call local_#26961 := routine_#34990_patchtestreg(local_#6280_fs,local_#6281_list,local_#26960); goto CFG_48444; CFG_48444: assume true; call local_#26962 := routine_#34790_getjump(local_#6280_fs,local_#6281_list); goto CFG_45170; CFG_45170: assume true; local_#6281_list := local_#26962; local_#26963 := local_#6281_list; goto CFG_51100; CFG_37929: assume true; } procedure routine_#35031_removevars(local_#6282_fs_IN : { base : int, offset : int }, local_#6283_tolevel_IN : int) returns () modifies _memory; { var local_#6282_fs : { base : int, offset : int }; var local_#6283_tolevel : int; var local_#26964 : int; var local_#26965 : int; var local_#26966 : { base : int, offset : int }; var local_#26967 : { base : int, offset : int }; var local_#26968 : int; var local_#26969 : int; var local_#26970 : int; var local_#26971 : int; var local_#26972 : { base : int, offset : int }; local_#6282_fs := local_#6282_fs_IN; local_#6283_tolevel := local_#6283_tolevel_IN; goto CFG_37019; CFG_37019: assume true; goto CFG_41830; CFG_41830: assume true; local_#26964 := _memory[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 58 }]; assert { :LIR "63842" } { :check "overflow" } { :finding_ids "0" } local_#26964 <= 2147483647; local_#26965 := local_#26964 - local_#6283_tolevel; assert { :LIR "68158" } { :check "overflow" } { :finding_ids "0" } local_#26965 <= 2147483647; local_#26966 := _memory_ptr[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 16 }]; local_#26967 := _memory_ptr[{ base : local_#26966!base, offset : local_#26966!offset + 88 }]; _memory[{ base : local_#26967!base, offset : local_#26967!offset + 8 }] := _memory[{ base : local_#26967!base, offset : local_#26967!offset + 8 }] - local_#26965; assert { :LIR "68159" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#26967!base, offset : local_#26967!offset + 8 }] <= -1; goto CFG_51101; CFG_51101: assume true; local_#26968 := _memory[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 58 }]; assert { :LIR "63843" } { :check "overflow" } { :finding_ids "0" } local_#26968 <= 2147483647; local_#26969 := (if local_#26968 > local_#6283_tolevel then 1 else 0); if (local_#26969 != 0) { goto CFG_44465; } else { goto CFG_39403; } CFG_39403: assume true; goto CFG_37930; CFG_44465: assume true; local_#26970 := 1; assume { :symbol "~uwrap8" } true; _memory[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 58 }] := ~uwrap8(_memory[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 58 }] - local_#26970); assert { :LIR "68160" } { :check "overflow" } { :finding_ids "0" } true; local_#26971 := _memory[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 58 }]; assert { :LIR "63844" } { :check "overflow" } { :finding_ids "0" } local_#26971 <= 2147483647; goto CFG_48445; CFG_48445: assume true; call local_#26972 := routine_#34792_getlocvar(local_#6282_fs,local_#26971); goto CFG_45171; CFG_45171: assume true; _memory[{ base : local_#26972!base, offset : local_#26972!offset + 12 }] := _memory[{ base : local_#6282_fs!base, offset : local_#6282_fs!offset + 32 }]; goto CFG_51101; CFG_37930: assume true; } procedure routine_#35032_repeatstat(local_#6284_ls_IN : { base : int, offset : int }, local_#6285_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6284_ls : { base : int, offset : int }; var local_#6285_line : int; var local_#32738_fs : { base : int, offset : int }; var local_#26973 : int; var local_#32739_repeat_init : int; var local_#32735_bl1 : { base : int, offset : int }; var local_#26974 : { base : int, offset : int }; var local_#26975 : int; var local_#32736_bl2 : { base : int, offset : int }; var local_#26976 : { base : int, offset : int }; var local_#26977 : int; var local_#26978 : int; var local_#26979 : int; var local_#26980 : int; var local_#32737_condexit : int; var local_#26981 : int; var local_#26982 : int; local_#6284_ls := local_#6284_ls_IN; local_#6285_line := local_#6285_line_IN; goto CFG_37020; CFG_37020: assume true; goto CFG_44466; CFG_44466: assume true; local_#32738_fs := _memory_ptr[{ base : local_#6284_ls!base, offset : local_#6284_ls!offset + 48 }]; goto CFG_48446; CFG_48446: assume true; call local_#26973 := routine_#33791_luaK_getlabel(local_#32738_fs); goto CFG_44467; CFG_44467: assume true; local_#32739_repeat_init := local_#26973; local_#26974 := local_#32735_bl1; local_#26975 := 1; goto CFG_48447; CFG_48447: assume true; call routine_#34710_enterblock(local_#32738_fs,local_#26974,local_#26975); goto CFG_44468; CFG_44468: assume true; local_#26976 := local_#32736_bl2; local_#26977 := 0; goto CFG_48448; CFG_48448: assume true; call routine_#34710_enterblock(local_#32738_fs,local_#26976,local_#26977); goto CFG_48449; CFG_48449: assume true; call routine_#33908_luaX_next(local_#6284_ls); goto CFG_48450; CFG_48450: assume true; call routine_#35082_statlist(local_#6284_ls); goto CFG_44469; CFG_44469: assume true; local_#26978 := 277; local_#26979 := 273; goto CFG_48451; CFG_48451: assume true; call routine_#34626_check_match(local_#6284_ls,local_#26978,local_#26979,local_#6285_line); goto CFG_48452; CFG_48452: assume true; call local_#26980 := routine_#34663_cond(local_#6284_ls); goto CFG_51102; CFG_51102: assume true; local_#32737_condexit := local_#26980; local_#26981 := _memory[{ base : local_#32736_bl2!base, offset : local_#32736_bl2!offset + 17 }]; if (local_#26981 != 0) { goto CFG_44470; } else { goto CFG_48454; } CFG_44470: assume true; local_#26982 := _memory[{ base : local_#32736_bl2!base, offset : local_#32736_bl2!offset + 16 }]; assert { :LIR "63845" } { :check "overflow" } { :finding_ids "0" } local_#26982 <= 2147483647; goto CFG_48453; CFG_48453: assume true; call routine_#33799_luaK_patchclose(local_#32738_fs,local_#32737_condexit,local_#26982); goto CFG_41326; CFG_41326: assume true; goto CFG_48454; CFG_48454: assume true; call routine_#34856_leaveblock(local_#32738_fs); goto CFG_48455; CFG_48455: assume true; call routine_#33800_luaK_patchlist(local_#32738_fs,local_#32737_condexit,local_#32739_repeat_init); goto CFG_48456; CFG_48456: assume true; call routine_#34856_leaveblock(local_#32738_fs); goto CFG_39404; CFG_39404: assume true; goto CFG_37931; CFG_37931: assume true; } procedure routine_#35033_report(local_#6286_L_IN : { base : int, offset : int }, local_#6287_status_IN : int) returns (local_#8248 : int) modifies _memory, _memory_ptr, _valid; { var local_#6286_L : { base : int, offset : int }; var local_#6287_status : int; var local_#26983 : int; var local_#26984 : int; var local_#26985 : int; var local_#26986 : { base : int, offset : int }; var local_#26987 : { base : int, offset : int }; var local_#32740_msg : { base : int, offset : int }; var local_#26988 : int; local_#6286_L := local_#6286_L_IN; local_#6287_status := local_#6287_status_IN; goto CFG_37021; CFG_37021: assume true; goto CFG_51103; CFG_51103: assume true; local_#26983 := 0; local_#26984 := (if local_#6287_status != local_#26983 then 1 else 0); if (local_#26984 != 0) { goto CFG_44471; } else { goto CFG_38938; } CFG_44471: assume true; local_#26985 := -1; local_#26986 := { base : 0, offset : 0 }; goto CFG_48457; CFG_48457: assume true; call local_#26987 := routine_#33995_lua_tolstring(local_#6286_L,local_#26985,local_#26986); goto CFG_44472; CFG_44472: assume true; local_#32740_msg := local_#26987; goto CFG_48458; CFG_48458: assume true; call routine_#34845_l_message(global_#33065_progname,local_#32740_msg); goto CFG_44473; CFG_44473: assume true; local_#26988 := -2; goto CFG_48459; CFG_48459: assume true; call routine_#33987_lua_settop(local_#6286_L,local_#26988); goto CFG_41327; CFG_41327: assume true; goto CFG_38938; CFG_38938: assume true; local_#8248 := local_#6287_status; goto CFG_37932; CFG_37932: assume true; } procedure routine_#35034_reprepstate(local_#6288_ms_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#6288_ms : { base : int, offset : int }; var local_#26989 : int; var local_#26990 : int; local_#6288_ms := local_#6288_ms_IN; goto CFG_37022; CFG_37022: assume true; goto CFG_39405; CFG_39405: assume true; _memory[{ base : local_#6288_ms!base, offset : local_#6288_ms!offset + 36 }] := 0; local_#26989 := 0; local_#26990 := 0; assert { :LIR "61900" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_37933; CFG_37933: assume true; } procedure routine_#35035_resizebox(local_#6289_L_IN : { base : int, offset : int }, local_#6290_idx_IN : int, local_#6291_newsize_IN : int) returns (local_#8249 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6289_L : { base : int, offset : int }; var local_#6290_idx : int; var local_#6291_newsize : int; var local_#32744_ud : { base : int, offset : int }; var local_#26991 : { base : int, offset : int }; var local_#26992 : { base : int, offset : int }; var local_#32741_allocf : { base : int, offset : int }; var local_#26993 : { base : int, offset : int }; var local_#26994 : { base : int, offset : int }; var local_#32742_box : { base : int, offset : int }; var local_#26995 : { base : int, offset : int }; var local_#26996 : int; var local_#26997 : { base : int, offset : int }; var local_#32743_temp : { base : int, offset : int }; var local_#26998 : { base : int, offset : int }; var local_#26999 : int; var local_#27000 : int; var local_#27001 : int; var local_#27002 : int; var local_#27003 : { base : int, offset : int }; var local_#27004 : { base : int, offset : int }; var local_#27005 : { base : int, offset : int }; var local_#27006 : int; local_#6289_L := local_#6289_L_IN; local_#6290_idx := local_#6290_idx_IN; local_#6291_newsize := local_#6291_newsize_IN; goto CFG_37023; CFG_37023: assume true; goto CFG_44474; CFG_44474: assume true; local_#26991 := local_#32744_ud; goto CFG_48460; CFG_48460: assume true; call local_#26992 := routine_#33929_lua_getallocf(local_#6289_L,local_#26991); goto CFG_44475; CFG_44475: assume true; local_#32741_allocf := local_#26992; goto CFG_48461; CFG_48461: assume true; call local_#26993 := routine_#33999_lua_touserdata(local_#6289_L,local_#6290_idx); goto CFG_44476; CFG_44476: assume true; local_#26994 := local_#26993; assert { :LIR "61901" } { :check "overflow" } { :finding_ids "0" } true; local_#32742_box := local_#26994; local_#26995 := _memory_ptr[{ base : local_#32742_box!base, offset : local_#32742_box!offset + 0 }]; local_#26996 := _memory[{ base : local_#32742_box!base, offset : local_#32742_box!offset + 8 }]; goto CFG_48462; CFG_48462: assume true; if (local_#32741_allocf == fun_addr_#34841_l_alloc) { call local_#26997 := routine_#34841_l_alloc(_memory_ptr[local_#32744_ud],local_#26995,local_#26996,local_#6291_newsize); } else { assume false; } goto CFG_51104; CFG_51104: assume true; local_#32743_temp := local_#26997; local_#26998 := { base : 0, offset : 0 }; local_#26999 := (if local_#32743_temp == local_#26998 then 1 else 0); if (local_#26999 != 0) { goto CFG_51105; } else { goto CFG_38939; } CFG_51105: assume true; local_#27000 := 0; local_#27001 := (if local_#6291_newsize > local_#27000 then 1 else 0); if (local_#27001 != 0) { goto CFG_44477; } else { goto CFG_38939; } CFG_44477: assume true; local_#27002 := 0; goto CFG_48463; CFG_48463: assume true; call local_#27003 := routine_#35035_resizebox(local_#6289_L,local_#6290_idx,local_#27002); goto CFG_44478; CFG_44478: assume true; assume _memory[{ base : strlit_#70794!base, offset : strlit_#70794!offset + 39 }] == 0; local_#27004 := strlit_#70794; local_#27005 := { base : local_#27004!base, offset : local_#27004!offset + 0 * 1 }; assert { :LIR "63846" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48464; CFG_48464: assume true; call local_#27006 := routine_#33828_luaL_error(local_#6289_L,local_#27005,{ base : 0, offset : 0 }); goto CFG_41328; CFG_41328: assume true; goto CFG_38939; CFG_38939: assume true; _memory_ptr[{ base : local_#32742_box!base, offset : local_#32742_box!offset + 0 }] := local_#32743_temp; _memory[{ base : local_#32742_box!base, offset : local_#32742_box!offset + 8 }] := local_#6291_newsize; local_#8249 := local_#32743_temp; goto CFG_37934; CFG_37934: assume true; } procedure routine_#35036_restartcollection(local_#6292_g_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6292_g : { base : int, offset : int }; var local_#27007 : { base : int, offset : int }; var local_#27008 : int; var local_#27009 : int; var local_#27010 : int; var local_#27011 : { base : int, offset : int }; var local_#27012 : { base : int, offset : int }; var local_#27013 : int; var local_#27014 : int; var local_#27015 : int; var local_#27016 : int; var local_#27017 : { base : int, offset : int }; var local_#27018 : { base : int, offset : int }; var local_#27019 : int; var local_#27020 : int; var local_#27021 : int; var local_#27022 : { base : int, offset : int }; var local_#27023 : { base : int, offset : int }; local_#6292_g := local_#6292_g_IN; goto CFG_37024; CFG_37024: assume true; goto CFG_51106; CFG_51106: assume true; _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 120 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 112 }] := _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 120 }]; _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 136 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 144 }] := _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 136 }]; _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 128 }] := _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 144 }]; local_#27007 := _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 200 }]; local_#27008 := _memory[{ base : local_#27007!base, offset : local_#27007!offset + 9 }]; assert { :LIR "63847" } { :check "overflow" } { :finding_ids "0" } local_#27008 <= 2147483647; local_#27009 := 3; local_#27010 := ~sand32(local_#27008, local_#27009); if (local_#27010 != 0) { goto CFG_44479; } else { goto CFG_51107; } CFG_44479: assume true; local_#27011 := _memory_ptr[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 200 }]; assert { :LIR "61902" } { :check "overflow" } { :finding_ids "0" } true; local_#27012 := { base : local_#27011!base, offset : local_#27011!offset + 0 }; goto CFG_48465; CFG_48465: assume true; call routine_#35023_reallymarkobject(local_#6292_g,local_#27012); goto CFG_41329; CFG_41329: assume true; goto CFG_51107; CFG_51107: assume true; local_#27013 := 0; local_#27014 := 0; assert { :LIR "61903" } { :check "overflow" } { :finding_ids "0" } true; local_#27015 := 64; local_#27016 := ~sand32(_memory[{ base : local_#6292_g!base, offset : local_#6292_g!offset + 72 }], local_#27015); if (local_#27016 != 0) { goto CFG_51108; } else { goto CFG_48467; } CFG_51108: assume true; local_#27017 := { base : local_#6292_g!base, offset : local_#6292_g!offset + 64 }; local_#27018 := _memory_ptr[local_#27017]; local_#27019 := _memory[{ base : local_#27018!base, offset : local_#27018!offset + 9 }]; assert { :LIR "63848" } { :check "overflow" } { :finding_ids "0" } local_#27019 <= 2147483647; local_#27020 := 3; local_#27021 := ~sand32(local_#27019, local_#27020); if (local_#27021 != 0) { goto CFG_44480; } else { goto CFG_48467; } CFG_44480: assume true; local_#27022 := { base : local_#6292_g!base, offset : local_#6292_g!offset + 64 }; local_#27023 := _memory_ptr[local_#27022]; goto CFG_48466; CFG_48466: assume true; call routine_#35023_reallymarkobject(local_#6292_g,local_#27023); goto CFG_41330; CFG_41330: assume true; goto CFG_48467; CFG_48467: assume true; call routine_#34911_markmt(local_#6292_g); goto CFG_48468; CFG_48468: assume true; call routine_#34910_markbeingfnz(local_#6292_g); goto CFG_39406; CFG_39406: assume true; goto CFG_37935; CFG_37935: assume true; } procedure routine_#35037_resume(local_#6293_L_IN : { base : int, offset : int }, local_#6294_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6293_L : { base : int, offset : int }; var local_#6294_ud : { base : int, offset : int }; var local_#27024 : { base : int, offset : int }; var local_#32747_n : int; var local_#27025 : { base : int, offset : int }; var local_#32746_firstArg : { base : int, offset : int }; var local_#32745_ci : { base : int, offset : int }; var local_#27026 : int; var local_#27027 : int; var local_#27028 : int; var local_#27029 : int; var local_#27030 : int; var local_#27031 : { base : int, offset : int }; var local_#27032 : { base : int, offset : int }; var local_#27033 : { base : int, offset : int }; var local_#27034 : int; var local_#27035 : int; var local_#27036 : int; var local_#27037 : { base : int, offset : int }; var local_#27038 : { base : int, offset : int }; var local_#27039 : int; var local_#27040 : int; var local_#27041 : int; var local_#27042 : { base : int, offset : int }; var local_#27043 : { base : int, offset : int }; var local_#27044 : int; var local_#27045 : { base : int, offset : int }; var local_#27046 : int; var local_#27047 : int; var local_#27048 : int; var local_#27049 : int; var local_#27050 : int; var local_#27051 : int; var local_#27052 : { base : int, offset : int }; var local_#27053 : int; var local_#27054 : { base : int, offset : int }; var local_#27055 : int; var local_#27056 : { base : int, offset : int }; var local_#27057 : int; var local_#27058 : int; var local_#27059 : int; local_#6293_L := local_#6293_L_IN; local_#6294_ud := local_#6294_ud_IN; goto CFG_37025; CFG_37025: assume true; goto CFG_51109; CFG_51109: assume true; local_#27024 := local_#6294_ud; assert { :LIR "61904" } { :check "overflow" } { :finding_ids "0" } true; local_#32747_n := _memory[local_#27024]; local_#27025 := { base : _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 16 }]!offset - local_#32747_n * 16 }; local_#32746_firstArg := local_#27025; local_#32745_ci := _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 32 }]; local_#27026 := _memory[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 12 }]; assert { :LIR "63849" } { :check "overflow" } { :finding_ids "0" } local_#27026 <= 2147483647; local_#27027 := 0; local_#27028 := (if local_#27026 == local_#27027 then 1 else 0); if (local_#27028 != 0) { goto CFG_44483; } else { goto CFG_51110; } CFG_51110: assume true; local_#27029 := 0; local_#27030 := 0; assert { :LIR "61905" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 12 }] := 0; local_#27031 := _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 56 }]; assert { :LIR "61906" } { :check "overflow" } { :finding_ids "0" } true; local_#27032 := { base : local_#27031!base, offset : local_#27031!offset + _memory[{ base : local_#32745_ci!base, offset : local_#32745_ci!offset + 56 }] * 1 }; local_#27033 := local_#27032; assert { :LIR "61907" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32745_ci!base, offset : local_#32745_ci!offset + 0 }] := local_#27033; local_#27034 := _memory[{ base : local_#32745_ci!base, offset : local_#32745_ci!offset + 66 }]; assert { :LIR "63850" } { :check "overflow" } { :finding_ids "0" } local_#27034 <= 2147483647; local_#27035 := 2; local_#27036 := ~sand32(local_#27034, local_#27035); if (local_#27036 != 0) { goto CFG_48471; } else { goto CFG_51111; } CFG_51111: assume true; local_#27037 := { base : local_#32745_ci!base, offset : local_#32745_ci!offset + 32 }; local_#27038 := { base : 0, offset : 0 }; local_#27039 := (if _memory_ptr[{ base : local_#27037!base, offset : local_#27037!offset + 0 }] != local_#27038 then 1 else 0); if (local_#27039 != 0) { goto CFG_44481; } else { goto CFG_48470; } CFG_44481: assume true; local_#27040 := 0; local_#27041 := 0; assert { :LIR "61908" } { :check "overflow" } { :finding_ids "0" } true; local_#27042 := { base : local_#32745_ci!base, offset : local_#32745_ci!offset + 32 }; local_#27043 := _memory_ptr[{ base : local_#27042!base, offset : local_#27042!offset + 0 }]; local_#27044 := 1; local_#27045 := { base : local_#32745_ci!base, offset : local_#32745_ci!offset + 32 }; local_#27046 := _memory[{ base : local_#27045!base, offset : local_#27045!offset + 16 }]; goto CFG_48469; CFG_48469: assume true; if (local_#27043 == fun_addr_#34705_dofilecont) { call local_#27047 := routine_#34705_dofilecont(local_#6293_L,local_#27044,local_#27046); } else if (local_#27043 == fun_addr_#34752_finishpcall) { call local_#27047 := routine_#34752_finishpcall(local_#6293_L,local_#27044,local_#27046); } else { assume false; } goto CFG_41331; CFG_41331: assume true; local_#32747_n := local_#27047; local_#27048 := 0; local_#27049 := 0; assert { :LIR "61909" } { :check "overflow" } { :finding_ids "0" } true; local_#27050 := 0; local_#27051 := 0; assert { :LIR "61910" } { :check "overflow" } { :finding_ids "0" } true; local_#27052 := { base : _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6293_L!base, offset : local_#6293_L!offset + 16 }]!offset - local_#32747_n * 16 }; local_#32746_firstArg := local_#27052; goto CFG_48470; CFG_48470: assume true; call local_#27053 := routine_#33737_luaD_poscall(local_#6293_L,local_#32745_ci,local_#32746_firstArg,local_#32747_n); goto CFG_41332; CFG_41332: assume true; goto CFG_44482; CFG_48471: assume true; call routine_#33894_luaV_execute(local_#6293_L); goto CFG_41333; CFG_41333: assume true; goto CFG_44482; CFG_44482: assume true; local_#27054 := { base : 0, offset : 0 }; goto CFG_48472; CFG_48472: assume true; call routine_#35137_unroll(local_#6293_L,local_#27054); goto CFG_41334; CFG_41334: assume true; goto CFG_39407; CFG_44483: assume true; local_#27055 := 1; local_#27056 := { base : local_#32746_firstArg!base, offset : local_#32746_firstArg!offset - local_#27055 * 16 }; local_#27057 := -1; goto CFG_48473; CFG_48473: assume true; call local_#27058 := routine_#33738_luaD_precall(local_#6293_L,local_#27056,local_#27057); goto CFG_51112; CFG_51112: assume true; local_#27059 := (if local_#27058 != 0 then 0 else 1); if (local_#27059 != 0) { goto CFG_48474; } else { goto CFG_41336; } CFG_48474: assume true; call routine_#33894_luaV_execute(local_#6293_L); goto CFG_41335; CFG_41335: assume true; goto CFG_41336; CFG_41336: assume true; goto CFG_39407; CFG_39407: assume true; goto CFG_37936; CFG_37936: assume true; } procedure routine_#35038_resume_error(local_#6295_L_IN : { base : int, offset : int }, local_#6296_msg_IN : { base : int, offset : int }, local_#6297_narg_IN : int) returns (local_#8250 : int) modifies _memory, _memory_ptr, _valid; { var local_#6295_L : { base : int, offset : int }; var local_#6296_msg : { base : int, offset : int }; var local_#6297_narg : int; var local_#32748_io : { base : int, offset : int }; var local_#27060 : { base : int, offset : int }; var local_#32749_x_ : { base : int, offset : int }; var local_#27061 : { base : int, offset : int }; var local_#27062 : { base : int, offset : int }; var local_#27063 : { base : int, offset : int }; var local_#27064 : int; var local_#27065 : int; var local_#27066 : int; var local_#27067 : int; var local_#27068 : int; var local_#27069 : { base : int, offset : int }; var local_#27070 : int; var local_#27071 : { base : int, offset : int }; var local_#27072 : int; var local_#27073 : int; var local_#27074 : int; var local_#27075 : int; local_#6295_L := local_#6295_L_IN; local_#6296_msg := local_#6296_msg_IN; local_#6297_narg := local_#6297_narg_IN; goto CFG_37026; CFG_37026: assume true; goto CFG_44484; CFG_44484: assume true; _memory_ptr[{ base : local_#6295_L!base, offset : local_#6295_L!offset + 16 }] := { base : _memory_ptr[{ base : local_#6295_L!base, offset : local_#6295_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6295_L!base, offset : local_#6295_L!offset + 16 }]!offset - local_#6297_narg * 16 }; local_#32748_io := _memory_ptr[{ base : local_#6295_L!base, offset : local_#6295_L!offset + 16 }]; goto CFG_48475; CFG_48475: assume true; call local_#27060 := routine_#33876_luaS_new(local_#6295_L,local_#6296_msg); goto CFG_38940; CFG_38940: assume true; local_#32749_x_ := local_#27060; local_#27061 := local_#32749_x_; assert { :LIR "61911" } { :check "overflow" } { :finding_ids "0" } true; local_#27062 := { base : local_#27061!base, offset : local_#27061!offset + 0 }; local_#27063 := { base : local_#32748_io!base, offset : local_#32748_io!offset + 0 }; _memory_ptr[local_#27063] := local_#27062; local_#27064 := _memory[{ base : local_#32749_x_!base, offset : local_#32749_x_!offset + 8 }]; assert { :LIR "63851" } { :check "overflow" } { :finding_ids "0" } local_#27064 <= 2147483647; local_#27065 := 64; local_#27066 := ~sor32(local_#27064, local_#27065); _memory[{ base : local_#32748_io!base, offset : local_#32748_io!offset + 8 }] := local_#27066; local_#27067 := 0; local_#27068 := 0; assert { :LIR "61912" } { :check "overflow" } { :finding_ids "0" } true; local_#27069 := _memory_ptr[{ base : local_#6295_L!base, offset : local_#6295_L!offset + 16 }]; local_#27070 := 1; _memory_ptr[{ base : local_#6295_L!base, offset : local_#6295_L!offset + 16 }] := { base : local_#27069!base, offset : local_#27069!offset + local_#27070 * 16 }; local_#27071 := local_#27069; local_#27072 := 0; local_#27073 := 0; assert { :LIR "61913" } { :check "overflow" } { :finding_ids "0" } true; local_#27074 := 0; local_#27075 := 0; assert { :LIR "61914" } { :check "overflow" } { :finding_ids "0" } true; local_#8250 := 2; goto CFG_37937; CFG_37937: assume true; } procedure routine_#35039_retstat(local_#6298_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6298_ls : { base : int, offset : int }; var local_#32752_fs : { base : int, offset : int }; var local_#27076 : int; var local_#27077 : int; var local_#27078 : int; var local_#27079 : int; var local_#27080 : int; var local_#32750_e : { base : int, offset : int }; var local_#27081 : { base : int, offset : int }; var local_#27082 : int; var local_#32753_nret : int; var local_#27083 : int; var local_#27084 : int; var local_#27085 : int; var local_#27086 : int; var local_#27087 : int; var local_#27088 : int; var local_#27089 : int; var local_#27090 : int; var local_#27091 : { base : int, offset : int }; var local_#27092 : int; var local_#32751_first : int; var local_#27093 : int; var local_#27094 : int; var local_#27095 : { base : int, offset : int }; var local_#27096 : int; var local_#27097 : { base : int, offset : int }; var local_#27098 : int; var local_#27099 : int; var local_#27100 : int; var local_#27101 : int; var local_#27102 : int; var local_#27103 : int; var local_#27104 : { base : int, offset : int }; var local_#27105 : { base : int, offset : int }; var local_#27106 : { base : int, offset : int }; var local_#27107 : int; var local_#27108 : int; var local_#27109 : int; var local_#27110 : int; var local_#27111 : { base : int, offset : int }; var local_#27112 : { base : int, offset : int }; var local_#27113 : { base : int, offset : int }; var local_#27114 : int; var local_#27115 : int; var local_#27116 : int; var local_#27117 : int; var local_#27118 : int; local_#6298_ls := local_#6298_ls_IN; goto CFG_37027; CFG_37027: assume true; goto CFG_44485; CFG_44485: assume true; local_#32752_fs := _memory_ptr[{ base : local_#6298_ls!base, offset : local_#6298_ls!offset + 48 }]; local_#27076 := 1; goto CFG_48476; CFG_48476: assume true; call local_#27077 := routine_#34612_block_follow(local_#6298_ls,local_#27076); goto CFG_51113; CFG_51113: assume true; local_#27078 := local_#27077; if (local_#27078 != 0) { goto CFG_41343; } else { goto CFG_51114; } CFG_51114: assume true; local_#27079 := 59; local_#27080 := (if _memory[{ base : local_#6298_ls!base, offset : local_#6298_ls!offset + 16 }] == local_#27079 then 1 else 0); if (local_#27080 != 0) { goto CFG_41343; } else { goto CFG_44486; } CFG_44486: assume true; local_#27081 := local_#32750_e; goto CFG_48477; CFG_48477: assume true; call local_#27082 := routine_#34720_explist(local_#6298_ls,local_#27081); goto CFG_51115; CFG_51115: assume true; local_#32753_nret := local_#27082; local_#27083 := ~uwrap32(_memory[{ base : local_#32750_e!base, offset : local_#32750_e!offset + 0 }]); assert { :LIR "63852" } { :check "overflow" } { :finding_ids "0" } true; local_#27084 := 13; local_#27085 := (if local_#27083 == local_#27084 then 1 else 0); if (local_#27085 != 0) { goto CFG_44489; } else { goto CFG_51116; } CFG_51116: assume true; local_#27086 := ~uwrap32(_memory[{ base : local_#32750_e!base, offset : local_#32750_e!offset + 0 }]); assert { :LIR "63853" } { :check "overflow" } { :finding_ids "0" } true; local_#27087 := 14; local_#27088 := (if local_#27086 == local_#27087 then 1 else 0); if (local_#27088 != 0) { goto CFG_44489; } else { goto CFG_51117; } CFG_51117: assume true; local_#27089 := 1; local_#27090 := (if local_#32753_nret == local_#27089 then 1 else 0); if (local_#27090 != 0) { goto CFG_44488; } else { goto CFG_44487; } CFG_44487: assume true; local_#27091 := local_#32750_e; goto CFG_48478; CFG_48478: assume true; call routine_#33788_luaK_exp2nextreg(local_#32752_fs,local_#27091); goto CFG_41337; CFG_41337: assume true; local_#27092 := _memory[{ base : local_#32752_fs!base, offset : local_#32752_fs!offset + 58 }]; assert { :LIR "63854" } { :check "overflow" } { :finding_ids "0" } local_#27092 <= 2147483647; local_#32751_first := local_#27092; local_#27093 := 0; local_#27094 := 0; assert { :LIR "61915" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41339; CFG_44488: assume true; local_#27095 := local_#32750_e; goto CFG_48479; CFG_48479: assume true; call local_#27096 := routine_#33786_luaK_exp2anyreg(local_#32752_fs,local_#27095); goto CFG_41338; CFG_41338: assume true; local_#32751_first := local_#27096; goto CFG_41339; CFG_41339: assume true; goto CFG_41342; CFG_44489: assume true; local_#27097 := local_#32750_e; local_#27098 := -1; goto CFG_48480; CFG_48480: assume true; call routine_#33809_luaK_setreturns(local_#32752_fs,local_#27097,local_#27098); goto CFG_51118; CFG_51118: assume true; local_#27099 := ~uwrap32(_memory[{ base : local_#32750_e!base, offset : local_#32750_e!offset + 0 }]); assert { :LIR "63855" } { :check "overflow" } { :finding_ids "0" } true; local_#27100 := 13; local_#27101 := (if local_#27099 == local_#27100 then 1 else 0); if (local_#27101 != 0) { goto CFG_51119; } else { goto CFG_41341; } CFG_51119: assume true; local_#27102 := 1; local_#27103 := (if local_#32753_nret == local_#27102 then 1 else 0); if (local_#27103 != 0) { goto CFG_41340; } else { goto CFG_41341; } CFG_41340: assume true; local_#27104 := _memory_ptr[{ base : local_#32752_fs!base, offset : local_#32752_fs!offset + 0 }]; local_#27105 := { base : local_#32750_e!base, offset : local_#32750_e!offset + 8 }; local_#27106 := { base : _memory_ptr[{ base : local_#27104!base, offset : local_#27104!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#27104!base, offset : local_#27104!offset + 56 }]!offset + _memory[local_#27105] * 4 }; local_#27107 := 4294967232; local_#27108 := ~uand32(_memory[local_#27106], local_#27107); local_#27109 := 37; local_#27110 := ~uor32(local_#27108, local_#27109); local_#27111 := _memory_ptr[{ base : local_#32752_fs!base, offset : local_#32752_fs!offset + 0 }]; local_#27112 := { base : local_#32750_e!base, offset : local_#32750_e!offset + 8 }; local_#27113 := { base : _memory_ptr[{ base : local_#27111!base, offset : local_#27111!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#27111!base, offset : local_#27111!offset + 56 }]!offset + _memory[local_#27112] * 4 }; _memory[local_#27113] := local_#27110; local_#27114 := 0; local_#27115 := 0; assert { :LIR "61916" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41341; CFG_41341: assume true; local_#27116 := _memory[{ base : local_#32752_fs!base, offset : local_#32752_fs!offset + 58 }]; assert { :LIR "63856" } { :check "overflow" } { :finding_ids "0" } local_#27116 <= 2147483647; local_#32751_first := local_#27116; local_#32753_nret := -1; goto CFG_41342; CFG_41342: assume true; goto CFG_48481; CFG_41343: assume true; local_#32753_nret := 0; local_#32751_first := local_#32753_nret; goto CFG_48481; CFG_48481: assume true; call routine_#33805_luaK_ret(local_#32752_fs,local_#32751_first,local_#32753_nret); goto CFG_44490; CFG_44490: assume true; local_#27117 := 59; goto CFG_48482; CFG_48482: assume true; call local_#27118 := routine_#35112_testnext(local_#6298_ls,local_#27117); goto CFG_39408; CFG_39408: assume true; goto CFG_37938; CFG_37938: assume true; } procedure routine_#35040_reverse(local_#6299_L_IN : { base : int, offset : int }, local_#6300_from_IN : { base : int, offset : int }, local_#6301_to_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6299_L : { base : int, offset : int }; var local_#6300_from : { base : int, offset : int }; var local_#6301_to : { base : int, offset : int }; var local_#27119 : int; var local_#32754_temp : { base : int, offset : int }; var local_#32755_io1 : { base : int, offset : int }; var local_#27120 : int; var local_#27121 : int; var local_#27122 : int; var local_#32756_io1 : { base : int, offset : int }; var local_#27123 : int; var local_#27124 : int; var local_#27125 : int; var local_#32757_io1 : { base : int, offset : int }; var local_#27126 : int; var local_#27127 : int; var local_#27128 : int; var local_#27129 : { base : int, offset : int }; var local_#27130 : int; var local_#27131 : { base : int, offset : int }; var local_#27132 : { base : int, offset : int }; var local_#27133 : int; var local_#27134 : { base : int, offset : int }; var local_#27135 : { base : int, offset : int }; local_#6299_L := local_#6299_L_IN; local_#6300_from := local_#6300_from_IN; local_#6301_to := local_#6301_to_IN; goto CFG_37028; CFG_37028: assume true; goto CFG_41831; CFG_41831: assume true; goto CFG_51120; CFG_51120: assume true; local_#27119 := (if local_#6300_from!offset < local_#6301_to!offset then 1 else 0); if (local_#27119 != 0) { goto CFG_44491; } else { goto CFG_39409; } CFG_39409: assume true; goto CFG_37939; CFG_44491: assume true; local_#32755_io1 := local_#32754_temp; assume read_type_#101(_memory, _memory_ptr, local_#6300_from)!_value_!_b == _memory[{ base : local_#6300_from!base, offset : local_#6300_from!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6300_from)!_value_!_f == _memory_ptr[{ base : local_#6300_from!base, offset : local_#6300_from!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6300_from)!_value_!_gc == _memory_ptr[{ base : local_#6300_from!base, offset : local_#6300_from!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6300_from)!_value_!_i == _memory[{ base : local_#6300_from!base, offset : local_#6300_from!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#6300_from)!_value_!_p == _memory_ptr[{ base : local_#6300_from!base, offset : local_#6300_from!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6300_from)!_tt_ == _memory[{ base : local_#6300_from!base, offset : local_#6300_from!offset + 8 }]; call write_type_#101(local_#32755_io1,read_type_#101(_memory, _memory_ptr, local_#6300_from)); local_#27120 := 0; assert { :LIR "61917" } { :check "overflow" } { :finding_ids "0" } true; local_#27121 := 0; local_#27122 := 0; assert { :LIR "61918" } { :check "overflow" } { :finding_ids "0" } true; local_#32756_io1 := local_#6300_from; assume read_type_#101(_memory, _memory_ptr, local_#6301_to)!_value_!_b == _memory[{ base : local_#6301_to!base, offset : local_#6301_to!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6301_to)!_value_!_f == _memory_ptr[{ base : local_#6301_to!base, offset : local_#6301_to!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6301_to)!_value_!_gc == _memory_ptr[{ base : local_#6301_to!base, offset : local_#6301_to!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6301_to)!_value_!_i == _memory[{ base : local_#6301_to!base, offset : local_#6301_to!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#6301_to)!_value_!_p == _memory_ptr[{ base : local_#6301_to!base, offset : local_#6301_to!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#6301_to)!_tt_ == _memory[{ base : local_#6301_to!base, offset : local_#6301_to!offset + 8 }]; call write_type_#101(local_#32756_io1,read_type_#101(_memory, _memory_ptr, local_#6301_to)); local_#27123 := 0; assert { :LIR "61919" } { :check "overflow" } { :finding_ids "0" } true; local_#27124 := 0; local_#27125 := 0; assert { :LIR "61920" } { :check "overflow" } { :finding_ids "0" } true; local_#32757_io1 := local_#6301_to; assume read_type_#101(_memory, _memory_ptr, local_#32754_temp)!_value_!_b == _memory[{ base : local_#32754_temp!base, offset : local_#32754_temp!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32754_temp)!_value_!_f == _memory_ptr[{ base : local_#32754_temp!base, offset : local_#32754_temp!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32754_temp)!_value_!_gc == _memory_ptr[{ base : local_#32754_temp!base, offset : local_#32754_temp!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32754_temp)!_value_!_i == _memory[{ base : local_#32754_temp!base, offset : local_#32754_temp!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#32754_temp)!_value_!_p == _memory_ptr[{ base : local_#32754_temp!base, offset : local_#32754_temp!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#32754_temp)!_tt_ == _memory[{ base : local_#32754_temp!base, offset : local_#32754_temp!offset + 8 }]; call write_type_#101(local_#32757_io1,read_type_#101(_memory, _memory_ptr, local_#32754_temp)); local_#27126 := 0; assert { :LIR "61921" } { :check "overflow" } { :finding_ids "0" } true; local_#27127 := 0; local_#27128 := 0; assert { :LIR "61922" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45172; CFG_45172: assume true; local_#27129 := local_#6300_from; local_#27130 := 1; local_#6300_from := { base : local_#27129!base, offset : local_#27129!offset + local_#27130 * 16 }; local_#27131 := local_#27129; local_#27132 := local_#6301_to; local_#27133 := 1; local_#6301_to := { base : local_#27132!base, offset : local_#27132!offset - local_#27133 * 16 }; local_#27134 := local_#27132; local_#27135 := local_#27134; goto CFG_51120; CFG_37939: assume true; } procedure routine_#35041_runafewfinalizers(local_#6302_L_IN : { base : int, offset : int }) returns (local_#8251 : int) modifies _memory, _memory_ptr, _valid; { var local_#6302_L : { base : int, offset : int }; var local_#32758_g : { base : int, offset : int }; var local_#27136 : int; var local_#27137 : int; var local_#32759_i : int; var local_#27138 : { base : int, offset : int }; var local_#27139 : int; var local_#27140 : int; var local_#27141 : int; var local_#27142 : int; var local_#30857 : int; var local_#27143 : int; var local_#27144 : int; var local_#27145 : int; var local_#27146 : int; var local_#27147 : int; local_#6302_L := local_#6302_L_IN; goto CFG_37029; CFG_37029: assume true; goto CFG_41832; CFG_41832: assume true; local_#32758_g := _memory_ptr[{ base : local_#6302_L!base, offset : local_#6302_L!offset + 24 }]; local_#27136 := 0; local_#27137 := 0; assert { :LIR "61923" } { :check "overflow" } { :finding_ids "0" } true; local_#32759_i := 0; goto CFG_51121; CFG_51121: assume true; local_#27138 := _memory_ptr[{ base : local_#32758_g!base, offset : local_#32758_g!offset + 152 }]; if (local_#27138 != { base : 0, offset : 0 }) { goto CFG_51122; } else { goto CFG_51123; } CFG_51122: assume true; local_#27139 := (if local_#32759_i < _memory[{ base : local_#32758_g!base, offset : local_#32758_g!offset + 176 }] then 1 else 0); if (local_#27139 != 0) { goto CFG_44492; } else { goto CFG_51123; } CFG_51123: assume true; local_#27140 := (if _memory_ptr[{ base : local_#32758_g!base, offset : local_#32758_g!offset + 152 }] != { base : 0, offset : 0 } then 0 else 1); if (local_#27140 != 0) { goto CFG_41345; } else { goto CFG_41344; } CFG_41344: assume true; local_#27141 := 2; assume { :symbol "~uwrap32" } true; local_#27142 := ~uwrap32(_memory[{ base : local_#32758_g!base, offset : local_#32758_g!offset + 176 }] * local_#27141); assert { :LIR "68595" } { :check "overflow" } { :finding_ids "0" } true; local_#30857 := local_#27142; goto CFG_38941; CFG_41345: assume true; local_#30857 := 0; goto CFG_38941; CFG_38941: assume true; _memory[{ base : local_#32758_g!base, offset : local_#32758_g!offset + 176 }] := local_#30857; local_#27143 := local_#32759_i; assert { :LIR "63857" } { :check "overflow" } { :finding_ids "0" } local_#27143 <= 2147483647; local_#8251 := local_#27143; goto CFG_37940; CFG_44492: assume true; local_#27144 := 1; goto CFG_48483; CFG_48483: assume true; call routine_#34552_GCTM(local_#6302_L,local_#27144); goto CFG_45173; CFG_45173: assume true; local_#27145 := local_#32759_i; local_#27146 := 1; assume { :symbol "~uwrap32" } true; local_#32759_i := ~uwrap32(local_#27145 + local_#27146); assert { :LIR "66806" } { :check "overflow" } { :finding_ids "0" } true; local_#27147 := local_#27145; goto CFG_51121; CFG_37940: assume true; } procedure routine_#35042_runargs(local_#6303_L_IN : { base : int, offset : int }, local_#6304_argv_IN : { base : int, offset : int }, local_#6305_n_IN : int) returns (local_#8252 : int) modifies _memory, _memory_ptr, _valid, global_#33056_globalL; { var local_#6303_L : { base : int, offset : int }; var local_#6304_argv : { base : int, offset : int }; var local_#6305_n : int; var local_#32760_i : int; var local_#27148 : int; var local_#27149 : { base : int, offset : int }; var local_#27150 : int; var local_#27151 : { base : int, offset : int }; var local_#27152 : int; var local_#32761_option : int; var local_#27153 : int; var local_#27154 : int; var local_#27155 : int; var local_#27156 : int; var local_#27157 : int; var local_#27158 : int; var local_#27159 : { base : int, offset : int }; var local_#27160 : int; var local_#27161 : { base : int, offset : int }; var local_#27162 : { base : int, offset : int }; var local_#32762_extra : { base : int, offset : int }; var local_#27163 : int; var local_#27164 : int; var local_#27165 : int; var local_#27166 : int; var local_#27167 : { base : int, offset : int }; var local_#27168 : { base : int, offset : int }; var local_#27169 : int; var local_#27170 : int; var local_#27171 : int; var local_#27172 : int; var local_#27173 : int; var local_#30858 : int; var local_#27174 : { base : int, offset : int }; var local_#27175 : { base : int, offset : int }; var local_#27176 : int; var local_#32763_status : int; var local_#27177 : int; var local_#27178 : int; var local_#27179 : int; var local_#27180 : int; var local_#27181 : int; local_#6303_L := local_#6303_L_IN; local_#6304_argv := local_#6304_argv_IN; local_#6305_n := local_#6305_n_IN; goto CFG_37030; CFG_37030: assume true; goto CFG_41833; CFG_41833: assume true; local_#32760_i := 1; goto CFG_51124; CFG_51124: assume true; local_#27148 := (if local_#32760_i < local_#6305_n then 1 else 0); if (local_#27148 != 0) { goto CFG_51125; } else { goto CFG_38942; } CFG_38942: assume true; local_#8252 := 1; goto CFG_37941; CFG_51125: assume true; local_#27149 := { base : local_#6304_argv!base, offset : local_#6304_argv!offset + local_#32760_i * 8 }; local_#27150 := 1; local_#27151 := { base : _memory_ptr[local_#27149]!base, offset : _memory_ptr[local_#27149]!offset + local_#27150 * 1 }; local_#27152 := _memory[local_#27151]; assert { :LIR "63858" } { :check "overflow" } { :finding_ids "0" } local_#27152 <= 2147483647; local_#32761_option := local_#27152; local_#27153 := 0; local_#27154 := 0; assert { :LIR "61924" } { :check "overflow" } { :finding_ids "0" } true; local_#27155 := 101; local_#27156 := (if local_#32761_option == local_#27155 then 1 else 0); if (local_#27156 != 0) { goto CFG_51127; } else { goto CFG_51126; } CFG_51126: assume true; local_#27157 := 108; local_#27158 := (if local_#32761_option == local_#27157 then 1 else 0); if (local_#27158 != 0) { goto CFG_51127; } else { goto CFG_45174; } CFG_51127: assume true; local_#27159 := { base : local_#6304_argv!base, offset : local_#6304_argv!offset + local_#32760_i * 8 }; local_#27160 := 2; local_#27161 := { base : _memory_ptr[local_#27159]!base, offset : _memory_ptr[local_#27159]!offset + local_#27160 * 1 }; local_#27162 := local_#27161; assert { :LIR "63859" } { :check "overflow" } { :finding_ids "0" } true; local_#32762_extra := local_#27162; local_#27163 := _memory[local_#32762_extra]; assert { :LIR "63860" } { :check "overflow" } { :finding_ids "0" } local_#27163 <= 2147483647; local_#27164 := 0; local_#27165 := (if local_#27163 == local_#27164 then 1 else 0); if (local_#27165 != 0) { goto CFG_41346; } else { goto CFG_51128; } CFG_41346: assume true; local_#27166 := 1; local_#32760_i := local_#32760_i + local_#27166; assert { :LIR "66807" } { :check "overflow" } { :finding_ids "0" } local_#32760_i <= 2147483647; local_#27167 := { base : local_#6304_argv!base, offset : local_#6304_argv!offset + local_#32760_i * 8 }; local_#27168 := _memory_ptr[local_#27167]; assert { :LIR "63861" } { :check "overflow" } { :finding_ids "0" } true; local_#32762_extra := local_#27168; goto CFG_51128; CFG_51128: assume true; local_#27169 := 0; local_#27170 := 0; assert { :LIR "61925" } { :check "overflow" } { :finding_ids "0" } true; local_#27171 := 101; local_#27172 := (if local_#32761_option == local_#27171 then 1 else 0); if (local_#27172 != 0) { goto CFG_44493; } else { goto CFG_48484; } CFG_48484: assume true; call local_#27173 := routine_#34706_dolibrary(local_#6303_L,local_#32762_extra); goto CFG_41347; CFG_41347: assume true; local_#30858 := local_#27173; goto CFG_51129; CFG_44493: assume true; assume _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 0 }] == 61 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 1 }] == 40 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 2 }] == 99 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 3 }] == 111 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 4 }] == 109 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 5 }] == 109 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 6 }] == 97 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 7 }] == 110 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 8 }] == 100 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 9 }] == 32 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 10 }] == 108 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 11 }] == 105 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 12 }] == 110 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 13 }] == 101 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 14 }] == 41 && _memory[{ base : strlit_#70795!base, offset : strlit_#70795!offset + 15 }] == 0; local_#27174 := strlit_#70795; local_#27175 := { base : local_#27174!base, offset : local_#27174!offset + 0 * 1 }; assert { :LIR "63862" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48485; CFG_48485: assume true; call local_#27176 := routine_#34707_dostring(local_#6303_L,local_#32762_extra,local_#27175); goto CFG_41348; CFG_41348: assume true; local_#30858 := local_#27176; goto CFG_51129; CFG_51129: assume true; local_#32763_status := local_#30858; local_#27177 := 0; local_#27178 := (if local_#32763_status != local_#27177 then 1 else 0); if (local_#27178 != 0) { goto CFG_38943; } else { goto CFG_41349; } CFG_41349: assume true; goto CFG_45174; CFG_45174: assume true; local_#27179 := local_#32760_i; local_#27180 := 1; local_#32760_i := local_#27179 + local_#27180; assert { :LIR "66808" } { :check "overflow" } { :finding_ids "0" } local_#32760_i <= 2147483647; local_#27181 := local_#27179; goto CFG_51124; CFG_38943: assume true; local_#8252 := 0; goto CFG_37941; CFG_37941: assume true; } procedure routine_#35043_save(local_#6306_ls_IN : { base : int, offset : int }, local_#6307_c_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6306_ls : { base : int, offset : int }; var local_#6307_c : int; var local_#32764_b : { base : int, offset : int }; var local_#27182 : int; var local_#27183 : int; var local_#27184 : int; var local_#27185 : int; var local_#27186 : int; var local_#27187 : int; var local_#27188 : int; var local_#32765_newsize : int; var local_#27189 : { base : int, offset : int }; var local_#27190 : { base : int, offset : int }; var local_#27191 : int; var local_#27192 : int; var local_#27193 : int; var local_#27194 : int; var local_#27195 : { base : int, offset : int }; var local_#27196 : { base : int, offset : int }; var local_#27197 : { base : int, offset : int }; var local_#27198 : int; var local_#27199 : int; var local_#27200 : int; var local_#27201 : int; var local_#27202 : int; var local_#27203 : { base : int, offset : int }; var local_#27204 : { base : int, offset : int }; var local_#27205 : { base : int, offset : int }; var local_#27206 : int; local_#6306_ls := local_#6306_ls_IN; local_#6307_c := local_#6307_c_IN; goto CFG_37031; CFG_37031: assume true; goto CFG_51130; CFG_51130: assume true; local_#32764_b := _memory_ptr[{ base : local_#6306_ls!base, offset : local_#6306_ls!offset + 72 }]; local_#27182 := 1; assume { :symbol "~uwrap64" } true; local_#27183 := ~uwrap64(_memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 8 }] + local_#27182); assert { :LIR "66809" } { :check "overflow" } { :finding_ids "0" } true; local_#27184 := (if local_#27183 > _memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 16 }] then 1 else 0); if (local_#27184 != 0) { goto CFG_51131; } else { goto CFG_39410; } CFG_51131: assume true; local_#27185 := 4611686018427387903; local_#27186 := (if _memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 16 }] >= local_#27185 then 1 else 0); if (local_#27186 != 0) { goto CFG_44495; } else { goto CFG_44494; } CFG_44494: assume true; local_#27187 := 2; assume { :symbol "~uwrap64" } true; local_#27188 := ~uwrap64(_memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 16 }] * local_#27187); assert { :LIR "68596" } { :check "overflow" } { :finding_ids "0" } true; local_#32765_newsize := local_#27188; local_#27189 := _memory_ptr[{ base : local_#6306_ls!base, offset : local_#6306_ls!offset + 56 }]; local_#27190 := _memory_ptr[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 0 }]; assert { :LIR "63863" } { :check "overflow" } { :finding_ids "0" } true; local_#27191 := 1; assume { :symbol "~uwrap64" } true; local_#27192 := ~uwrap64(_memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 16 }] * local_#27191); assert { :LIR "68597" } { :check "overflow" } { :finding_ids "0" } true; local_#27193 := 1; assume { :symbol "~uwrap64" } true; local_#27194 := ~uwrap64(local_#32765_newsize * local_#27193); assert { :LIR "68598" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48486; CFG_48486: assume true; call local_#27195 := routine_#33857_luaM_realloc_(local_#27189,local_#27190,local_#27192,local_#27194); goto CFG_41350; CFG_41350: assume true; local_#27196 := local_#27195; assert { :LIR "61926" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 0 }] := local_#27196; local_#27197 := _memory_ptr[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 0 }]; _memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 16 }] := local_#32765_newsize; local_#27198 := _memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 16 }]; local_#27199 := local_#27198; goto CFG_39410; CFG_39410: assume true; local_#27200 := local_#6307_c; assert { :LIR "61927" } { :check "overflow" } { :finding_ids "0" } local_#27200 <= 127; local_#27201 := _memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 8 }]; local_#27202 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 8 }] := ~uwrap64(local_#27201 + local_#27202); assert { :LIR "66810" } { :check "overflow" } { :finding_ids "0" } true; local_#27203 := { base : _memory_ptr[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32764_b!base, offset : local_#32764_b!offset + 0 }]!offset + local_#27201 * 1 }; _memory[local_#27203] := local_#27200; goto CFG_37942; CFG_44495: assume true; assume _memory[{ base : strlit_#70796!base, offset : strlit_#70796!offset + 24 }] == 0; local_#27204 := strlit_#70796; local_#27205 := { base : local_#27204!base, offset : local_#27204!offset + 0 * 1 }; assert { :LIR "63864" } { :check "overflow" } { :finding_ids "0" } true; local_#27206 := 0; goto CFG_48487; CFG_48487: assume true; call routine_#34857_lexerror(local_#6306_ls,local_#27205,local_#27206); CFG_37942: assume true; } procedure routine_#35044_scanformat(local_#6308_L_IN : { base : int, offset : int }, local_#6309_strfrmt_IN : { base : int, offset : int }, local_#6310_form_IN : { base : int, offset : int }) returns (local_#8253 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6308_L : { base : int, offset : int }; var local_#6309_strfrmt : { base : int, offset : int }; var local_#6310_form : { base : int, offset : int }; var local_#32766_p : { base : int, offset : int }; var local_#27207 : int; var local_#27208 : int; var local_#27209 : int; var local_#27210 : { base : int, offset : int }; var local_#27211 : { base : int, offset : int }; var local_#27212 : int; var local_#27213 : { base : int, offset : int }; var local_#27214 : { base : int, offset : int }; var local_#27215 : int; var local_#27216 : int; var local_#27217 : int; var local_#27218 : int; var local_#27219 : int; var local_#27220 : { base : int, offset : int }; var local_#27221 : { base : int, offset : int }; var local_#27222 : int; var local_#27223 : { base : int, offset : int }; var local_#27224 : int; var local_#27225 : int; var local_#27226 : { base : int, offset : int }; var local_#27227 : int; var local_#27228 : int; var local_#27229 : int; var local_#27230 : { base : int, offset : int }; var local_#27231 : int; var local_#27232 : { base : int, offset : int }; var local_#27233 : { base : int, offset : int }; var local_#27234 : int; var local_#27235 : int; var local_#27236 : { base : int, offset : int }; var local_#27237 : int; var local_#27238 : int; var local_#27239 : int; var local_#27240 : { base : int, offset : int }; var local_#27241 : int; var local_#27242 : { base : int, offset : int }; var local_#27243 : int; var local_#27244 : int; var local_#27245 : int; var local_#27246 : { base : int, offset : int }; var local_#27247 : int; var local_#27248 : { base : int, offset : int }; var local_#27249 : { base : int, offset : int }; var local_#27250 : int; var local_#27251 : int; var local_#27252 : { base : int, offset : int }; var local_#27253 : int; var local_#27254 : int; var local_#27255 : int; var local_#27256 : { base : int, offset : int }; var local_#27257 : int; var local_#27258 : { base : int, offset : int }; var local_#27259 : { base : int, offset : int }; var local_#27260 : int; var local_#27261 : int; var local_#27262 : { base : int, offset : int }; var local_#27263 : int; var local_#27264 : int; var local_#27265 : int; var local_#27266 : { base : int, offset : int }; var local_#27267 : int; var local_#27268 : { base : int, offset : int }; var local_#27269 : { base : int, offset : int }; var local_#27270 : int; var local_#27271 : int; var local_#27272 : { base : int, offset : int }; var local_#27273 : int; var local_#27274 : int; var local_#27275 : int; var local_#27276 : { base : int, offset : int }; var local_#27277 : { base : int, offset : int }; var local_#27278 : int; var local_#27279 : int; var local_#27280 : { base : int, offset : int }; var local_#27281 : int; var local_#27282 : { base : int, offset : int }; var local_#27283 : { base : int, offset : int }; var local_#27284 : int; var local_#27285 : int; var local_#27286 : int; var local_#27287 : int; var local_#27288 : int; var local_#27289 : int; var local_#27290 : { base : int, offset : int }; var local_#27291 : int; var local_#27292 : int; var local_#27293 : int; var local_#27294 : { base : int, offset : int }; var local_#27295 : int; var local_#27296 : { base : int, offset : int }; local_#6308_L := local_#6308_L_IN; local_#6309_strfrmt := local_#6309_strfrmt_IN; local_#6310_form := local_#6310_form_IN; goto CFG_37032; CFG_37032: assume true; goto CFG_41834; CFG_41834: assume true; local_#32766_p := local_#6309_strfrmt; goto CFG_51132; CFG_51132: assume true; local_#27207 := _memory[local_#32766_p]; assert { :LIR "63865" } { :check "overflow" } { :finding_ids "0" } local_#27207 <= 2147483647; local_#27208 := 0; local_#27209 := (if local_#27207 != local_#27208 then 1 else 0); if (local_#27209 != 0) { goto CFG_44496; } else { goto CFG_51134; } CFG_44496: assume true; assume _memory[{ base : strlit_#70797!base, offset : strlit_#70797!offset + 0 }] == 45 && _memory[{ base : strlit_#70797!base, offset : strlit_#70797!offset + 1 }] == 43 && _memory[{ base : strlit_#70797!base, offset : strlit_#70797!offset + 2 }] == 32 && _memory[{ base : strlit_#70797!base, offset : strlit_#70797!offset + 3 }] == 35 && _memory[{ base : strlit_#70797!base, offset : strlit_#70797!offset + 4 }] == 48 && _memory[{ base : strlit_#70797!base, offset : strlit_#70797!offset + 5 }] == 0; local_#27210 := strlit_#70797; local_#27211 := { base : local_#27210!base, offset : local_#27210!offset + 0 * 1 }; assert { :LIR "63866" } { :check "overflow" } { :finding_ids "0" } true; local_#27212 := _memory[local_#32766_p]; assert { :LIR "63867" } { :check "overflow" } { :finding_ids "0" } local_#27212 <= 2147483647; goto CFG_48488; CFG_48488: assume true; call local_#27213 := routine_#34445_strchr(local_#27211,local_#27212); goto CFG_51133; CFG_51133: assume true; local_#27214 := { base : 0, offset : 0 }; local_#27215 := (if local_#27213 != local_#27214 then 1 else 0); if (local_#27215 != 0) { goto CFG_45175; } else { goto CFG_51134; } CFG_51134: assume true; local_#27216 := (local_#32766_p!offset - local_#6309_strfrmt!offset) / 1; local_#27217 := ~uwrap64(local_#27216); assert { :LIR "61928" } { :check "overflow" } { :finding_ids "0" } true; local_#27218 := 6; local_#27219 := (if local_#27217 >= local_#27218 then 1 else 0); if (local_#27219 != 0) { goto CFG_44497; } else { goto CFG_48490; } CFG_44497: assume true; assume _memory[{ base : strlit_#70798!base, offset : strlit_#70798!offset + 31 }] == 0; local_#27220 := strlit_#70798; local_#27221 := { base : local_#27220!base, offset : local_#27220!offset + 0 * 1 }; assert { :LIR "63868" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48489; CFG_48489: assume true; call local_#27222 := routine_#33828_luaL_error(local_#6308_L,local_#27221,{ base : 0, offset : 0 }); goto CFG_41351; CFG_41351: assume true; goto CFG_48490; CFG_48490: assume true; call local_#27223 := routine_#33248___ctype_b_loc(); goto CFG_51135; CFG_51135: assume true; local_#27224 := ~uwrap8(_memory[local_#32766_p]); assert { :LIR "61929" } { :check "overflow" } { :finding_ids "0" } true; local_#27225 := local_#27224; assert { :LIR "61930" } { :check "overflow" } { :finding_ids "0" } local_#27225 <= 2147483647; local_#27226 := { base : _memory_ptr[local_#27223]!base, offset : _memory_ptr[local_#27223]!offset + local_#27225 * 2 }; local_#27227 := _memory[local_#27226]; assert { :LIR "63869" } { :check "overflow" } { :finding_ids "0" } local_#27227 <= 2147483647; local_#27228 := 2048; local_#27229 := ~sand32(local_#27227, local_#27228); if (local_#27229 != 0) { goto CFG_41352; } else { goto CFG_48491; } CFG_41352: assume true; local_#27230 := local_#32766_p; local_#27231 := 1; local_#32766_p := { base : local_#27230!base, offset : local_#27230!offset + local_#27231 * 1 }; local_#27232 := local_#27230; goto CFG_48491; CFG_48491: assume true; call local_#27233 := routine_#33248___ctype_b_loc(); goto CFG_51136; CFG_51136: assume true; local_#27234 := ~uwrap8(_memory[local_#32766_p]); assert { :LIR "61931" } { :check "overflow" } { :finding_ids "0" } true; local_#27235 := local_#27234; assert { :LIR "61932" } { :check "overflow" } { :finding_ids "0" } local_#27235 <= 2147483647; local_#27236 := { base : _memory_ptr[local_#27233]!base, offset : _memory_ptr[local_#27233]!offset + local_#27235 * 2 }; local_#27237 := _memory[local_#27236]; assert { :LIR "63870" } { :check "overflow" } { :finding_ids "0" } local_#27237 <= 2147483647; local_#27238 := 2048; local_#27239 := ~sand32(local_#27237, local_#27238); if (local_#27239 != 0) { goto CFG_41353; } else { goto CFG_51137; } CFG_41353: assume true; local_#27240 := local_#32766_p; local_#27241 := 1; local_#32766_p := { base : local_#27240!base, offset : local_#27240!offset + local_#27241 * 1 }; local_#27242 := local_#27240; goto CFG_51137; CFG_51137: assume true; local_#27243 := _memory[local_#32766_p]; assert { :LIR "63871" } { :check "overflow" } { :finding_ids "0" } local_#27243 <= 2147483647; local_#27244 := 46; local_#27245 := (if local_#27243 == local_#27244 then 1 else 0); if (local_#27245 != 0) { goto CFG_44498; } else { goto CFG_48494; } CFG_44498: assume true; local_#27246 := local_#32766_p; local_#27247 := 1; local_#32766_p := { base : local_#27246!base, offset : local_#27246!offset + local_#27247 * 1 }; local_#27248 := local_#27246; goto CFG_48492; CFG_48492: assume true; call local_#27249 := routine_#33248___ctype_b_loc(); goto CFG_51138; CFG_51138: assume true; local_#27250 := ~uwrap8(_memory[local_#32766_p]); assert { :LIR "61933" } { :check "overflow" } { :finding_ids "0" } true; local_#27251 := local_#27250; assert { :LIR "61934" } { :check "overflow" } { :finding_ids "0" } local_#27251 <= 2147483647; local_#27252 := { base : _memory_ptr[local_#27249]!base, offset : _memory_ptr[local_#27249]!offset + local_#27251 * 2 }; local_#27253 := _memory[local_#27252]; assert { :LIR "63872" } { :check "overflow" } { :finding_ids "0" } local_#27253 <= 2147483647; local_#27254 := 2048; local_#27255 := ~sand32(local_#27253, local_#27254); if (local_#27255 != 0) { goto CFG_41354; } else { goto CFG_48493; } CFG_41354: assume true; local_#27256 := local_#32766_p; local_#27257 := 1; local_#32766_p := { base : local_#27256!base, offset : local_#27256!offset + local_#27257 * 1 }; local_#27258 := local_#27256; goto CFG_48493; CFG_48493: assume true; call local_#27259 := routine_#33248___ctype_b_loc(); goto CFG_51139; CFG_51139: assume true; local_#27260 := ~uwrap8(_memory[local_#32766_p]); assert { :LIR "61935" } { :check "overflow" } { :finding_ids "0" } true; local_#27261 := local_#27260; assert { :LIR "61936" } { :check "overflow" } { :finding_ids "0" } local_#27261 <= 2147483647; local_#27262 := { base : _memory_ptr[local_#27259]!base, offset : _memory_ptr[local_#27259]!offset + local_#27261 * 2 }; local_#27263 := _memory[local_#27262]; assert { :LIR "63873" } { :check "overflow" } { :finding_ids "0" } local_#27263 <= 2147483647; local_#27264 := 2048; local_#27265 := ~sand32(local_#27263, local_#27264); if (local_#27265 != 0) { goto CFG_41355; } else { goto CFG_41356; } CFG_41355: assume true; local_#27266 := local_#32766_p; local_#27267 := 1; local_#32766_p := { base : local_#27266!base, offset : local_#27266!offset + local_#27267 * 1 }; local_#27268 := local_#27266; goto CFG_41356; CFG_41356: assume true; goto CFG_48494; CFG_48494: assume true; call local_#27269 := routine_#33248___ctype_b_loc(); goto CFG_51140; CFG_51140: assume true; local_#27270 := ~uwrap8(_memory[local_#32766_p]); assert { :LIR "61937" } { :check "overflow" } { :finding_ids "0" } true; local_#27271 := local_#27270; assert { :LIR "61938" } { :check "overflow" } { :finding_ids "0" } local_#27271 <= 2147483647; local_#27272 := { base : _memory_ptr[local_#27269]!base, offset : _memory_ptr[local_#27269]!offset + local_#27271 * 2 }; local_#27273 := _memory[local_#27272]; assert { :LIR "63874" } { :check "overflow" } { :finding_ids "0" } local_#27273 <= 2147483647; local_#27274 := 2048; local_#27275 := ~sand32(local_#27273, local_#27274); if (local_#27275 != 0) { goto CFG_44499; } else { goto CFG_44500; } CFG_44499: assume true; assume _memory[{ base : strlit_#70799!base, offset : strlit_#70799!offset + 44 }] == 0; local_#27276 := strlit_#70799; local_#27277 := { base : local_#27276!base, offset : local_#27276!offset + 0 * 1 }; assert { :LIR "63875" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48495; CFG_48495: assume true; call local_#27278 := routine_#33828_luaL_error(local_#6308_L,local_#27277,{ base : 0, offset : 0 }); goto CFG_41357; CFG_41357: assume true; goto CFG_44500; CFG_44500: assume true; local_#27279 := 37; local_#27280 := local_#6310_form; local_#27281 := 1; local_#6310_form := { base : local_#27280!base, offset : local_#27280!offset + local_#27281 * 1 }; _memory[local_#27280] := local_#27279; local_#27282 := local_#6310_form; assert { :LIR "63876" } { :check "overflow" } { :finding_ids "0" } true; local_#27283 := local_#6309_strfrmt; assert { :LIR "63877" } { :check "overflow" } { :finding_ids "0" } true; local_#27284 := (local_#32766_p!offset - local_#6309_strfrmt!offset) / 1; local_#27285 := 1; local_#27286 := local_#27284 + local_#27285; assert { :LIR "66811" } { :check "overflow" } { :finding_ids "0" } local_#27286 <= 9223372036854775807; local_#27287 := ~uwrap64(local_#27286); assert { :LIR "63878" } { :check "overflow" } { :finding_ids "0" } true; local_#27288 := 1; assume { :symbol "~uwrap64" } true; local_#27289 := ~uwrap64(local_#27287 * local_#27288); assert { :LIR "68599" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48496; CFG_48496: assume true; call local_#27290 := routine_#34026_memcpy(local_#27282,local_#27283,local_#27289); goto CFG_38944; CFG_38944: assume true; local_#27291 := (local_#32766_p!offset - local_#6309_strfrmt!offset) / 1; local_#27292 := 1; local_#27293 := local_#27291 + local_#27292; assert { :LIR "66812" } { :check "overflow" } { :finding_ids "0" } local_#27293 <= 9223372036854775807; local_#6310_form := { base : local_#6310_form!base, offset : local_#6310_form!offset + local_#27293 * 1 }; _memory[local_#6310_form] := 0; local_#8253 := local_#32766_p; goto CFG_37943; CFG_45175: assume true; local_#27294 := local_#32766_p; local_#27295 := 1; local_#32766_p := { base : local_#27294!base, offset : local_#27294!offset + local_#27295 * 1 }; local_#27296 := local_#27294; goto CFG_51132; CFG_37943: assume true; } procedure routine_#35045_searcher_C(local_#6311_L_IN : { base : int, offset : int }) returns (local_#8254 : int) modifies _memory, _memory_ptr, _valid; { var local_#6311_L : { base : int, offset : int }; var local_#27297 : int; var local_#27298 : { base : int, offset : int }; var local_#27299 : { base : int, offset : int }; var local_#32768_name : { base : int, offset : int }; var local_#27300 : { base : int, offset : int }; var local_#27301 : { base : int, offset : int }; var local_#27302 : { base : int, offset : int }; var local_#27303 : { base : int, offset : int }; var local_#27304 : { base : int, offset : int }; var local_#32767_filename : { base : int, offset : int }; var local_#27305 : { base : int, offset : int }; var local_#27306 : int; var local_#27307 : int; var local_#27308 : int; var local_#27309 : int; var local_#27310 : int; local_#6311_L := local_#6311_L_IN; goto CFG_37033; CFG_37033: assume true; goto CFG_44501; CFG_44501: assume true; local_#27297 := 1; local_#27298 := { base : 0, offset : 0 }; goto CFG_48497; CFG_48497: assume true; call local_#27299 := routine_#33821_luaL_checklstring(local_#6311_L,local_#27297,local_#27298); goto CFG_44502; CFG_44502: assume true; local_#32768_name := local_#27299; assume _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 0 }] == 99 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 1 }] == 112 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 2 }] == 97 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 3 }] == 116 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 4 }] == 104 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 5 }] == 0; local_#27300 := strlit_#70412; local_#27301 := { base : local_#27300!base, offset : local_#27300!offset + 0 * 1 }; assert { :LIR "63879" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 0 }] == 47 && _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 1 }] == 0; local_#27302 := strlit_#70663; local_#27303 := { base : local_#27302!base, offset : local_#27302!offset + 0 * 1 }; assert { :LIR "63880" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48498; CFG_48498: assume true; call local_#27304 := routine_#34741_findfile(local_#6311_L,local_#32768_name,local_#27301,local_#27303); goto CFG_51141; CFG_51141: assume true; local_#32767_filename := local_#27304; local_#27305 := { base : 0, offset : 0 }; local_#27306 := (if local_#32767_filename == local_#27305 then 1 else 0); if (local_#27306 != 0) { goto CFG_38946; } else { goto CFG_48499; } CFG_48499: assume true; call local_#27307 := routine_#34865_loadfunc(local_#6311_L,local_#32767_filename,local_#32768_name); goto CFG_44503; CFG_44503: assume true; local_#27308 := 0; local_#27309 := (if local_#27307 == local_#27308 then 1 else 0); goto CFG_48500; CFG_48500: assume true; call local_#27310 := routine_#34634_checkload(local_#6311_L,local_#27309,local_#32767_filename); goto CFG_38945; CFG_38945: assume true; local_#8254 := local_#27310; goto CFG_37944; CFG_38946: assume true; local_#8254 := 1; goto CFG_37944; CFG_37944: assume true; } procedure routine_#35046_searcher_Croot(local_#6312_L_IN : { base : int, offset : int }) returns (local_#8255 : int) modifies _memory, _memory_ptr, _valid; { var local_#6312_L : { base : int, offset : int }; var local_#27311 : int; var local_#27312 : { base : int, offset : int }; var local_#27313 : { base : int, offset : int }; var local_#32770_name : { base : int, offset : int }; var local_#27314 : int; var local_#27315 : { base : int, offset : int }; var local_#27316 : { base : int, offset : int }; var local_#32771_p : { base : int, offset : int }; var local_#27317 : { base : int, offset : int }; var local_#27318 : int; var local_#27319 : int; var local_#27320 : int; var local_#27321 : { base : int, offset : int }; var local_#27322 : int; var local_#27323 : { base : int, offset : int }; var local_#27324 : { base : int, offset : int }; var local_#27325 : { base : int, offset : int }; var local_#27326 : { base : int, offset : int }; var local_#27327 : { base : int, offset : int }; var local_#27328 : { base : int, offset : int }; var local_#27329 : { base : int, offset : int }; var local_#32769_filename : { base : int, offset : int }; var local_#27330 : { base : int, offset : int }; var local_#27331 : int; var local_#27332 : int; var local_#32772_stat : int; var local_#27333 : int; var local_#27334 : int; var local_#27335 : { base : int, offset : int }; var local_#27336 : int; var local_#27337 : int; var local_#27338 : { base : int, offset : int }; var local_#27339 : { base : int, offset : int }; var local_#27340 : { base : int, offset : int }; var local_#27341 : int; var local_#27342 : int; local_#6312_L := local_#6312_L_IN; goto CFG_37034; CFG_37034: assume true; goto CFG_44504; CFG_44504: assume true; local_#27311 := 1; local_#27312 := { base : 0, offset : 0 }; goto CFG_48501; CFG_48501: assume true; call local_#27313 := routine_#33821_luaL_checklstring(local_#6312_L,local_#27311,local_#27312); goto CFG_44505; CFG_44505: assume true; local_#32770_name := local_#27313; local_#27314 := 46; goto CFG_48502; CFG_48502: assume true; call local_#27315 := routine_#34445_strchr(local_#32770_name,local_#27314); goto CFG_51142; CFG_51142: assume true; local_#27316 := local_#27315; assert { :LIR "63881" } { :check "overflow" } { :finding_ids "0" } true; local_#32771_p := local_#27316; local_#27317 := { base : 0, offset : 0 }; local_#27318 := (if local_#32771_p == local_#27317 then 1 else 0); if (local_#27318 != 0) { goto CFG_38951; } else { goto CFG_44506; } CFG_44506: assume true; local_#27319 := (local_#32771_p!offset - local_#32770_name!offset) / 1; local_#27320 := ~uwrap64(local_#27319); assert { :LIR "63882" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48503; CFG_48503: assume true; call local_#27321 := routine_#33962_lua_pushlstring(local_#6312_L,local_#32770_name,local_#27320); goto CFG_44507; CFG_44507: assume true; local_#27322 := -1; local_#27323 := { base : 0, offset : 0 }; goto CFG_48504; CFG_48504: assume true; call local_#27324 := routine_#33995_lua_tolstring(local_#6312_L,local_#27322,local_#27323); goto CFG_44508; CFG_44508: assume true; assume _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 0 }] == 99 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 1 }] == 112 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 2 }] == 97 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 3 }] == 116 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 4 }] == 104 && _memory[{ base : strlit_#70412!base, offset : strlit_#70412!offset + 5 }] == 0; local_#27325 := strlit_#70412; local_#27326 := { base : local_#27325!base, offset : local_#27325!offset + 0 * 1 }; assert { :LIR "63883" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 0 }] == 47 && _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 1 }] == 0; local_#27327 := strlit_#70663; local_#27328 := { base : local_#27327!base, offset : local_#27327!offset + 0 * 1 }; assert { :LIR "63884" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48505; CFG_48505: assume true; call local_#27329 := routine_#34741_findfile(local_#6312_L,local_#27324,local_#27326,local_#27328); goto CFG_51143; CFG_51143: assume true; local_#32769_filename := local_#27329; local_#27330 := { base : 0, offset : 0 }; local_#27331 := (if local_#32769_filename == local_#27330 then 1 else 0); if (local_#27331 != 0) { goto CFG_38950; } else { goto CFG_48506; } CFG_48506: assume true; call local_#27332 := routine_#34865_loadfunc(local_#6312_L,local_#32769_filename,local_#32770_name); goto CFG_51144; CFG_51144: assume true; local_#32772_stat := local_#27332; local_#27333 := 0; local_#27334 := (if local_#32772_stat != local_#27333 then 1 else 0); if (local_#27334 != 0) { goto CFG_51145; } else { goto CFG_48507; } CFG_48507: assume true; call local_#27335 := routine_#33965_lua_pushstring(local_#6312_L,local_#32769_filename); goto CFG_38947; CFG_38947: assume true; local_#8255 := 2; goto CFG_37945; CFG_51145: assume true; local_#27336 := 2; local_#27337 := (if local_#32772_stat != local_#27336 then 1 else 0); if (local_#27337 != 0) { goto CFG_44510; } else { goto CFG_44509; } CFG_44509: assume true; assume _memory[{ base : strlit_#70804!base, offset : strlit_#70804!offset + 29 }] == 0; local_#27338 := strlit_#70804; local_#27339 := { base : local_#27338!base, offset : local_#27338!offset + 0 * 1 }; assert { :LIR "63885" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48508; CFG_48508: assume true; call local_#27340 := routine_#33959_lua_pushfstring(local_#6312_L,local_#27339,{ base : 0, offset : 0 }); goto CFG_38948; CFG_38948: assume true; local_#8255 := 1; goto CFG_37945; CFG_44510: assume true; local_#27341 := 0; goto CFG_48509; CFG_48509: assume true; call local_#27342 := routine_#34634_checkload(local_#6312_L,local_#27341,local_#32769_filename); goto CFG_38949; CFG_38949: assume true; local_#8255 := local_#27342; goto CFG_37945; CFG_38950: assume true; local_#8255 := 1; goto CFG_37945; CFG_38951: assume true; local_#8255 := 0; goto CFG_37945; CFG_37945: assume true; } procedure routine_#35047_searcher_Lua(local_#6313_L_IN : { base : int, offset : int }) returns (local_#8256 : int) modifies _memory, _memory_ptr, _valid; { var local_#6313_L : { base : int, offset : int }; var local_#27343 : int; var local_#27344 : { base : int, offset : int }; var local_#27345 : { base : int, offset : int }; var local_#32774_name : { base : int, offset : int }; var local_#27346 : { base : int, offset : int }; var local_#27347 : { base : int, offset : int }; var local_#27348 : { base : int, offset : int }; var local_#27349 : { base : int, offset : int }; var local_#27350 : { base : int, offset : int }; var local_#32773_filename : { base : int, offset : int }; var local_#27351 : { base : int, offset : int }; var local_#27352 : int; var local_#27353 : { base : int, offset : int }; var local_#27354 : int; var local_#27355 : int; var local_#27356 : int; var local_#27357 : int; local_#6313_L := local_#6313_L_IN; goto CFG_37035; CFG_37035: assume true; goto CFG_44511; CFG_44511: assume true; local_#27343 := 1; local_#27344 := { base : 0, offset : 0 }; goto CFG_48510; CFG_48510: assume true; call local_#27345 := routine_#33821_luaL_checklstring(local_#6313_L,local_#27343,local_#27344); goto CFG_44512; CFG_44512: assume true; local_#32774_name := local_#27345; assume _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 0 }] == 112 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 1 }] == 97 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 2 }] == 116 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 3 }] == 104 && _memory[{ base : strlit_#70409!base, offset : strlit_#70409!offset + 4 }] == 0; local_#27346 := strlit_#70409; local_#27347 := { base : local_#27346!base, offset : local_#27346!offset + 0 * 1 }; assert { :LIR "63886" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 0 }] == 47 && _memory[{ base : strlit_#70663!base, offset : strlit_#70663!offset + 1 }] == 0; local_#27348 := strlit_#70663; local_#27349 := { base : local_#27348!base, offset : local_#27348!offset + 0 * 1 }; assert { :LIR "63887" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48511; CFG_48511: assume true; call local_#27350 := routine_#34741_findfile(local_#6313_L,local_#32774_name,local_#27347,local_#27349); goto CFG_51146; CFG_51146: assume true; local_#32773_filename := local_#27350; local_#27351 := { base : 0, offset : 0 }; local_#27352 := (if local_#32773_filename == local_#27351 then 1 else 0); if (local_#27352 != 0) { goto CFG_38953; } else { goto CFG_44513; } CFG_44513: assume true; local_#27353 := { base : 0, offset : 0 }; goto CFG_48512; CFG_48512: assume true; call local_#27354 := routine_#33836_luaL_loadfilex(local_#6313_L,local_#32773_filename,local_#27353); goto CFG_44514; CFG_44514: assume true; local_#27355 := 0; local_#27356 := (if local_#27354 == local_#27355 then 1 else 0); goto CFG_48513; CFG_48513: assume true; call local_#27357 := routine_#34634_checkload(local_#6313_L,local_#27356,local_#32773_filename); goto CFG_38952; CFG_38952: assume true; local_#8256 := local_#27357; goto CFG_37946; CFG_38953: assume true; local_#8256 := 1; goto CFG_37946; CFG_37946: assume true; } procedure routine_#35048_searcher_preload(local_#6314_L_IN : { base : int, offset : int }) returns (local_#8257 : int) modifies _memory, _memory_ptr, _valid; { var local_#6314_L : { base : int, offset : int }; var local_#27358 : int; var local_#27359 : { base : int, offset : int }; var local_#27360 : { base : int, offset : int }; var local_#32775_name : { base : int, offset : int }; var local_#27361 : int; var local_#27362 : { base : int, offset : int }; var local_#27363 : { base : int, offset : int }; var local_#27364 : int; var local_#27365 : int; var local_#27366 : int; var local_#27367 : int; var local_#27368 : int; var local_#27369 : { base : int, offset : int }; var local_#27370 : { base : int, offset : int }; var local_#27371 : { base : int, offset : int }; local_#6314_L := local_#6314_L_IN; goto CFG_37036; CFG_37036: assume true; goto CFG_44515; CFG_44515: assume true; local_#27358 := 1; local_#27359 := { base : 0, offset : 0 }; goto CFG_48514; CFG_48514: assume true; call local_#27360 := routine_#33821_luaL_checklstring(local_#6314_L,local_#27358,local_#27359); goto CFG_44516; CFG_44516: assume true; local_#32775_name := local_#27360; local_#27361 := -1001000; assume _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 0 }] == 95 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 1 }] == 80 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 2 }] == 82 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 3 }] == 69 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 4 }] == 76 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 5 }] == 79 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 6 }] == 65 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 7 }] == 68 && _memory[{ base : strlit_#70419!base, offset : strlit_#70419!offset + 8 }] == 0; local_#27362 := strlit_#70419; local_#27363 := { base : local_#27362!base, offset : local_#27362!offset + 0 * 1 }; assert { :LIR "63888" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48515; CFG_48515: assume true; call local_#27364 := routine_#33930_lua_getfield(local_#6314_L,local_#27361,local_#27363); goto CFG_44517; CFG_44517: assume true; local_#27365 := -1; goto CFG_48516; CFG_48516: assume true; call local_#27366 := routine_#33930_lua_getfield(local_#6314_L,local_#27365,local_#32775_name); goto CFG_51147; CFG_51147: assume true; local_#27367 := 0; local_#27368 := (if local_#27366 == local_#27367 then 1 else 0); if (local_#27368 != 0) { goto CFG_44518; } else { goto CFG_38954; } CFG_44518: assume true; assume _memory[{ base : strlit_#70808!base, offset : strlit_#70808!offset + 32 }] == 0; local_#27369 := strlit_#70808; local_#27370 := { base : local_#27369!base, offset : local_#27369!offset + 0 * 1 }; assert { :LIR "63889" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48517; CFG_48517: assume true; call local_#27371 := routine_#33959_lua_pushfstring(local_#6314_L,local_#27370,{ base : 0, offset : 0 }); goto CFG_41358; CFG_41358: assume true; goto CFG_38954; CFG_38954: assume true; local_#8257 := 1; goto CFG_37947; CFG_37947: assume true; } procedure routine_#35049_searchpath(local_#6315_L_IN : { base : int, offset : int }, local_#6316_name_IN : { base : int, offset : int }, local_#6317_path_IN : { base : int, offset : int }, local_#6318_sep_IN : { base : int, offset : int }, local_#6319_dirsep_IN : { base : int, offset : int }) returns (local_#8258 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6315_L : { base : int, offset : int }; var local_#6316_name : { base : int, offset : int }; var local_#6317_path : { base : int, offset : int }; var local_#6318_sep : { base : int, offset : int }; var local_#6319_dirsep : { base : int, offset : int }; var local_#32776_msg : { base : int, offset : int }; var local_#27372 : { base : int, offset : int }; var local_#27373 : int; var local_#27374 : int; var local_#27375 : int; var local_#27376 : { base : int, offset : int }; var local_#27377 : { base : int, offset : int }; var local_#27378 : { base : int, offset : int }; var local_#27379 : int; var local_#27380 : { base : int, offset : int }; var local_#27381 : int; var local_#27382 : { base : int, offset : int }; var local_#27383 : { base : int, offset : int }; var local_#27384 : { base : int, offset : int }; var local_#27385 : { base : int, offset : int }; var local_#27386 : { base : int, offset : int }; var local_#32777_filename : { base : int, offset : int }; var local_#27387 : int; var local_#27388 : int; var local_#27389 : int; var local_#27390 : int; var local_#27391 : int; var local_#27392 : { base : int, offset : int }; var local_#27393 : { base : int, offset : int }; var local_#27394 : { base : int, offset : int }; var local_#27395 : int; var local_#27396 : int; var local_#27397 : int; var local_#27398 : { base : int, offset : int }; local_#6315_L := local_#6315_L_IN; local_#6316_name := local_#6316_name_IN; local_#6317_path := local_#6317_path_IN; local_#6318_sep := local_#6318_sep_IN; local_#6319_dirsep := local_#6319_dirsep_IN; goto CFG_37037; CFG_37037: assume true; goto CFG_44519; CFG_44519: assume true; local_#27372 := local_#32776_msg; goto CFG_48518; CFG_48518: assume true; call routine_#33816_luaL_buffinit(local_#6315_L,local_#27372); goto CFG_51148; CFG_51148: assume true; local_#27373 := _memory[local_#6318_sep]; assert { :LIR "63890" } { :check "overflow" } { :finding_ids "0" } local_#27373 <= 2147483647; local_#27374 := 0; local_#27375 := (if local_#27373 != local_#27374 then 1 else 0); if (local_#27375 != 0) { goto CFG_48519; } else { goto CFG_41835; } CFG_48519: assume true; call local_#27376 := routine_#33833_luaL_gsub(local_#6315_L,local_#6316_name,local_#6318_sep,local_#6319_dirsep); goto CFG_41359; CFG_41359: assume true; local_#6316_name := local_#27376; goto CFG_41835; CFG_41835: assume true; goto CFG_48520; CFG_48520: assume true; call local_#27377 := routine_#35007_pushnexttemplate(local_#6315_L,local_#6317_path); goto CFG_51149; CFG_51149: assume true; local_#6317_path := local_#27377; local_#27378 := { base : 0, offset : 0 }; local_#27379 := (if local_#6317_path != local_#27378 then 1 else 0); if (local_#27379 != 0) { goto CFG_44521; } else { goto CFG_44520; } CFG_44520: assume true; local_#27380 := local_#32776_msg; goto CFG_48521; CFG_48521: assume true; call routine_#33845_luaL_pushresult(local_#27380); goto CFG_38955; CFG_38955: assume true; local_#8258 := { base : 0, offset : 0 }; goto CFG_37948; CFG_44521: assume true; local_#27381 := -1; local_#27382 := { base : 0, offset : 0 }; goto CFG_48522; CFG_48522: assume true; call local_#27383 := routine_#33995_lua_tolstring(local_#6315_L,local_#27381,local_#27382); goto CFG_44522; CFG_44522: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#27384 := strlit_#70307; local_#27385 := { base : local_#27384!base, offset : local_#27384!offset + 0 * 1 }; assert { :LIR "63891" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48523; CFG_48523: assume true; call local_#27386 := routine_#33833_luaL_gsub(local_#6315_L,local_#27383,local_#27385,local_#6316_name); goto CFG_44523; CFG_44523: assume true; local_#32777_filename := local_#27386; local_#27387 := -2; local_#27388 := -1; goto CFG_48524; CFG_48524: assume true; call routine_#33978_lua_rotate(local_#6315_L,local_#27387,local_#27388); goto CFG_44524; CFG_44524: assume true; local_#27389 := -2; goto CFG_48525; CFG_48525: assume true; call routine_#33987_lua_settop(local_#6315_L,local_#27389); goto CFG_48526; CFG_48526: assume true; call local_#27390 := routine_#35018_readable(local_#32777_filename); goto CFG_51150; CFG_51150: assume true; local_#27391 := local_#27390; if (local_#27391 != 0) { goto CFG_38956; } else { goto CFG_44525; } CFG_44525: assume true; assume _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 0 }] == 10 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 1 }] == 9 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 2 }] == 110 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 3 }] == 111 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 4 }] == 32 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 5 }] == 102 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 6 }] == 105 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 7 }] == 108 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 8 }] == 101 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 9 }] == 32 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 10 }] == 39 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 11 }] == 37 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 12 }] == 115 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 13 }] == 39 && _memory[{ base : strlit_#70810!base, offset : strlit_#70810!offset + 14 }] == 0; local_#27392 := strlit_#70810; local_#27393 := { base : local_#27392!base, offset : local_#27392!offset + 0 * 1 }; assert { :LIR "63892" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48527; CFG_48527: assume true; call local_#27394 := routine_#33959_lua_pushfstring(local_#6315_L,local_#27393,{ base : 0, offset : 0 }); goto CFG_44526; CFG_44526: assume true; local_#27395 := -2; local_#27396 := -1; goto CFG_48528; CFG_48528: assume true; call routine_#33978_lua_rotate(local_#6315_L,local_#27395,local_#27396); goto CFG_44527; CFG_44527: assume true; local_#27397 := -2; goto CFG_48529; CFG_48529: assume true; call routine_#33987_lua_settop(local_#6315_L,local_#27397); goto CFG_44528; CFG_44528: assume true; local_#27398 := local_#32776_msg; goto CFG_48530; CFG_48530: assume true; call routine_#33814_luaL_addvalue(local_#27398); goto CFG_45176; CFG_45176: assume true; goto CFG_48520; CFG_38956: assume true; local_#8258 := local_#32777_filename; goto CFG_37948; CFG_37948: assume true; } procedure routine_#35050_searchupvalue(local_#6320_fs_IN : { base : int, offset : int }, local_#6321_name_IN : { base : int, offset : int }) returns (local_#8259 : int) { var local_#6320_fs : { base : int, offset : int }; var local_#6321_name : { base : int, offset : int }; var local_#27399 : { base : int, offset : int }; var local_#32779_up : { base : int, offset : int }; var local_#32778_i : int; var local_#27400 : int; var local_#27401 : int; var local_#27402 : { base : int, offset : int }; var local_#27403 : int; var local_#27404 : int; var local_#27405 : int; var local_#27406 : int; local_#6320_fs := local_#6320_fs_IN; local_#6321_name := local_#6321_name_IN; goto CFG_37038; CFG_37038: assume true; goto CFG_41836; CFG_41836: assume true; local_#27399 := _memory_ptr[{ base : local_#6320_fs!base, offset : local_#6320_fs!offset + 0 }]; local_#32779_up := _memory_ptr[{ base : local_#27399!base, offset : local_#27399!offset + 88 }]; local_#32778_i := 0; goto CFG_51151; CFG_51151: assume true; local_#27400 := _memory[{ base : local_#6320_fs!base, offset : local_#6320_fs!offset + 59 }]; assert { :LIR "63893" } { :check "overflow" } { :finding_ids "0" } local_#27400 <= 2147483647; local_#27401 := (if local_#32778_i < local_#27400 then 1 else 0); if (local_#27401 != 0) { goto CFG_51152; } else { goto CFG_38957; } CFG_38957: assume true; local_#8259 := -1; goto CFG_37949; CFG_51152: assume true; local_#27402 := { base : local_#32779_up!base, offset : local_#32779_up!offset + local_#32778_i * 16 }; local_#27403 := (if _memory_ptr[{ base : local_#27402!base, offset : local_#27402!offset + 0 }] == local_#6321_name then 1 else 0); if (local_#27403 != 0) { goto CFG_38958; } else { goto CFG_45177; } CFG_45177: assume true; local_#27404 := local_#32778_i; local_#27405 := 1; local_#32778_i := local_#27404 + local_#27405; assert { :LIR "66813" } { :check "overflow" } { :finding_ids "0" } local_#32778_i <= 2147483647; local_#27406 := local_#27404; goto CFG_51151; CFG_38958: assume true; local_#8259 := local_#32778_i; goto CFG_37949; CFG_37949: assume true; } procedure routine_#35051_searchvar(local_#6322_fs_IN : { base : int, offset : int }, local_#6323_n_IN : { base : int, offset : int }) returns (local_#8260 : int) { var local_#6322_fs : { base : int, offset : int }; var local_#6323_n : { base : int, offset : int }; var local_#27407 : int; var local_#27408 : int; var local_#27409 : int; var local_#32780_i : int; var local_#27410 : int; var local_#27411 : int; var local_#27412 : { base : int, offset : int }; var local_#27413 : int; var local_#27414 : int; var local_#27415 : int; var local_#27416 : int; local_#6322_fs := local_#6322_fs_IN; local_#6323_n := local_#6323_n_IN; goto CFG_37039; CFG_37039: assume true; goto CFG_41837; CFG_41837: assume true; local_#27407 := _memory[{ base : local_#6322_fs!base, offset : local_#6322_fs!offset + 58 }]; assert { :LIR "61939" } { :check "overflow" } { :finding_ids "0" } local_#27407 <= 2147483647; local_#27408 := 1; local_#27409 := local_#27407 - local_#27408; assert { :LIR "68161" } { :check "overflow" } { :finding_ids "0" } local_#27409 <= 2147483647; local_#32780_i := local_#27409; goto CFG_51153; CFG_51153: assume true; local_#27410 := 0; local_#27411 := (if local_#32780_i >= local_#27410 then 1 else 0); if (local_#27411 != 0) { goto CFG_48531; } else { goto CFG_38959; } CFG_38959: assume true; local_#8260 := -1; goto CFG_37950; CFG_48531: assume true; call local_#27412 := routine_#34792_getlocvar(local_#6322_fs,local_#32780_i); goto CFG_51154; CFG_51154: assume true; local_#27413 := (if local_#6323_n == _memory_ptr[{ base : local_#27412!base, offset : local_#27412!offset + 0 }] then 1 else 0); if (local_#27413 != 0) { goto CFG_38960; } else { goto CFG_45178; } CFG_45178: assume true; local_#27414 := local_#32780_i; local_#27415 := 1; local_#32780_i := local_#27414 - local_#27415; assert { :LIR "68162" } { :check "overflow" } { :finding_ids "0" } local_#32780_i <= 2147483647; local_#27416 := local_#27414; goto CFG_51153; CFG_38960: assume true; local_#8260 := local_#32780_i; goto CFG_37950; CFG_37950: assume true; } procedure routine_#35052_semerror(local_#6324_ls_IN : { base : int, offset : int }, local_#6325_msg_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6324_ls : { base : int, offset : int }; var local_#6325_msg : { base : int, offset : int }; local_#6324_ls := local_#6324_ls_IN; local_#6325_msg := local_#6325_msg_IN; goto CFG_37040; CFG_37040: assume true; goto CFG_44529; CFG_44529: assume true; _memory[{ base : local_#6324_ls!base, offset : local_#6324_ls!offset + 16 }] := 0; goto CFG_48532; CFG_48532: assume true; call routine_#33910_luaX_syntaxerror(local_#6324_ls,local_#6325_msg); CFG_39411: assume true; goto CFG_37951; CFG_37951: assume true; } procedure routine_#35053_separatetobefnz(local_#6326_g_IN : { base : int, offset : int }, local_#6327_all_IN : int) returns () modifies _memory_ptr; { var local_#6326_g : { base : int, offset : int }; var local_#6327_all : int; var local_#32783_p : { base : int, offset : int }; var local_#27417 : { base : int, offset : int }; var local_#27418 : { base : int, offset : int }; var local_#32782_lastnext : { base : int, offset : int }; var local_#32781_curr : { base : int, offset : int }; var local_#27419 : { base : int, offset : int }; var local_#27420 : int; var local_#27421 : int; var local_#27422 : int; var local_#27423 : int; var local_#27424 : int; var local_#27425 : int; var local_#27426 : int; local_#6326_g := local_#6326_g_IN; local_#6327_all := local_#6327_all_IN; goto CFG_37041; CFG_37041: assume true; goto CFG_44530; CFG_44530: assume true; local_#32783_p := { base : local_#6326_g!base, offset : local_#6326_g!offset + 104 }; local_#27417 := { base : local_#6326_g!base, offset : local_#6326_g!offset + 152 }; goto CFG_48533; CFG_48533: assume true; call local_#27418 := routine_#34745_findlast(local_#27417); goto CFG_41838; CFG_41838: assume true; local_#32782_lastnext := local_#27418; goto CFG_51155; CFG_51155: assume true; local_#32781_curr := _memory_ptr[local_#32783_p]; local_#27419 := { base : 0, offset : 0 }; local_#27420 := (if local_#32781_curr != local_#27419 then 1 else 0); if (local_#27420 != 0) { goto CFG_51156; } else { goto CFG_39412; } CFG_39412: assume true; goto CFG_37952; CFG_51156: assume true; local_#27421 := 0; local_#27422 := 0; assert { :LIR "61940" } { :check "overflow" } { :finding_ids "0" } true; local_#27423 := _memory[{ base : local_#32781_curr!base, offset : local_#32781_curr!offset + 9 }]; assert { :LIR "63894" } { :check "overflow" } { :finding_ids "0" } local_#27423 <= 2147483647; local_#27424 := 3; local_#27425 := ~sand32(local_#27423, local_#27424); if (local_#27425 != 0) { goto CFG_41361; } else { goto CFG_51157; } CFG_51157: assume true; local_#27426 := local_#6327_all; if (local_#27426 != 0) { goto CFG_41361; } else { goto CFG_41360; } CFG_41360: assume true; local_#32783_p := { base : local_#32781_curr!base, offset : local_#32781_curr!offset + 0 }; goto CFG_45179; CFG_41361: assume true; _memory_ptr[local_#32783_p] := _memory_ptr[{ base : local_#32781_curr!base, offset : local_#32781_curr!offset + 0 }]; _memory_ptr[{ base : local_#32781_curr!base, offset : local_#32781_curr!offset + 0 }] := _memory_ptr[local_#32782_lastnext]; _memory_ptr[local_#32782_lastnext] := local_#32781_curr; local_#32782_lastnext := { base : local_#32781_curr!base, offset : local_#32781_curr!offset + 0 }; goto CFG_45179; CFG_45179: assume true; goto CFG_51155; CFG_37952: assume true; } procedure routine_#35054_set2(local_#6328_L_IN : { base : int, offset : int }, local_#6329_i_IN : int, local_#6330_j_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6328_L : { base : int, offset : int }; var local_#6329_i : int; var local_#6330_j : int; var local_#27427 : int; var local_#27428 : int; var local_#27429 : int; var local_#27430 : int; local_#6328_L := local_#6328_L_IN; local_#6329_i := local_#6329_i_IN; local_#6330_j := local_#6330_j_IN; goto CFG_37042; CFG_37042: assume true; goto CFG_44531; CFG_44531: assume true; local_#27427 := 1; local_#27428 := local_#6329_i; assert { :LIR "63895" } { :check "overflow" } { :finding_ids "0" } local_#27428 <= 9223372036854775807; goto CFG_48534; CFG_48534: assume true; call routine_#33983_lua_seti(local_#6328_L,local_#27427,local_#27428); goto CFG_44532; CFG_44532: assume true; local_#27429 := 1; local_#27430 := local_#6330_j; assert { :LIR "63896" } { :check "overflow" } { :finding_ids "0" } local_#27430 <= 9223372036854775807; goto CFG_48535; CFG_48535: assume true; call routine_#33983_lua_seti(local_#6328_L,local_#27429,local_#27430); goto CFG_39413; CFG_39413: assume true; goto CFG_37953; CFG_37953: assume true; } procedure routine_#35055_setallfields(local_#6331_L_IN : { base : int, offset : int }, local_#6332_stm_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6331_L : { base : int, offset : int }; var local_#6332_stm : { base : int, offset : int }; var local_#27431 : { base : int, offset : int }; var local_#27432 : { base : int, offset : int }; var local_#27433 : int; var local_#27434 : { base : int, offset : int }; var local_#27435 : { base : int, offset : int }; var local_#27436 : int; var local_#27437 : { base : int, offset : int }; var local_#27438 : { base : int, offset : int }; var local_#27439 : int; var local_#27440 : { base : int, offset : int }; var local_#27441 : { base : int, offset : int }; var local_#27442 : int; var local_#27443 : { base : int, offset : int }; var local_#27444 : { base : int, offset : int }; var local_#27445 : int; var local_#27446 : int; var local_#27447 : { base : int, offset : int }; var local_#27448 : { base : int, offset : int }; var local_#27449 : int; var local_#27450 : int; var local_#27451 : { base : int, offset : int }; var local_#27452 : { base : int, offset : int }; var local_#27453 : int; var local_#27454 : int; var local_#27455 : { base : int, offset : int }; var local_#27456 : { base : int, offset : int }; var local_#27457 : int; var local_#27458 : int; var local_#27459 : { base : int, offset : int }; var local_#27460 : { base : int, offset : int }; var local_#27461 : int; local_#6331_L := local_#6331_L_IN; local_#6332_stm := local_#6332_stm_IN; goto CFG_37043; CFG_37043: assume true; goto CFG_44533; CFG_44533: assume true; assume _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 0 }] == 115 && _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 1 }] == 101 && _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 2 }] == 99 && _memory[{ base : strlit_#70727!base, offset : strlit_#70727!offset + 3 }] == 0; local_#27431 := strlit_#70727; local_#27432 := { base : local_#27431!base, offset : local_#27431!offset + 0 * 1 }; assert { :LIR "63897" } { :check "overflow" } { :finding_ids "0" } true; local_#27433 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 0 }]; goto CFG_48536; CFG_48536: assume true; call routine_#35059_setfield(local_#6331_L,local_#27432,local_#27433); goto CFG_44534; CFG_44534: assume true; assume _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 0 }] == 109 && _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 1 }] == 105 && _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 2 }] == 110 && _memory[{ base : strlit_#70728!base, offset : strlit_#70728!offset + 3 }] == 0; local_#27434 := strlit_#70728; local_#27435 := { base : local_#27434!base, offset : local_#27434!offset + 0 * 1 }; assert { :LIR "63898" } { :check "overflow" } { :finding_ids "0" } true; local_#27436 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 4 }]; goto CFG_48537; CFG_48537: assume true; call routine_#35059_setfield(local_#6331_L,local_#27435,local_#27436); goto CFG_44535; CFG_44535: assume true; assume _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 0 }] == 104 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 1 }] == 111 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 2 }] == 117 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 3 }] == 114 && _memory[{ base : strlit_#70729!base, offset : strlit_#70729!offset + 4 }] == 0; local_#27437 := strlit_#70729; local_#27438 := { base : local_#27437!base, offset : local_#27437!offset + 0 * 1 }; assert { :LIR "63899" } { :check "overflow" } { :finding_ids "0" } true; local_#27439 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 8 }]; goto CFG_48538; CFG_48538: assume true; call routine_#35059_setfield(local_#6331_L,local_#27438,local_#27439); goto CFG_44536; CFG_44536: assume true; assume _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 0 }] == 100 && _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 1 }] == 97 && _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 2 }] == 121 && _memory[{ base : strlit_#70730!base, offset : strlit_#70730!offset + 3 }] == 0; local_#27440 := strlit_#70730; local_#27441 := { base : local_#27440!base, offset : local_#27440!offset + 0 * 1 }; assert { :LIR "63900" } { :check "overflow" } { :finding_ids "0" } true; local_#27442 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 12 }]; goto CFG_48539; CFG_48539: assume true; call routine_#35059_setfield(local_#6331_L,local_#27441,local_#27442); goto CFG_44537; CFG_44537: assume true; assume _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 0 }] == 109 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 1 }] == 111 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 2 }] == 110 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 3 }] == 116 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 4 }] == 104 && _memory[{ base : strlit_#70731!base, offset : strlit_#70731!offset + 5 }] == 0; local_#27443 := strlit_#70731; local_#27444 := { base : local_#27443!base, offset : local_#27443!offset + 0 * 1 }; assert { :LIR "63901" } { :check "overflow" } { :finding_ids "0" } true; local_#27445 := 1; local_#27446 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 16 }] + local_#27445; assert { :LIR "66814" } { :check "overflow" } { :finding_ids "0" } local_#27446 <= 2147483647; goto CFG_48540; CFG_48540: assume true; call routine_#35059_setfield(local_#6331_L,local_#27444,local_#27446); goto CFG_44538; CFG_44538: assume true; assume _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 0 }] == 121 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 1 }] == 101 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 2 }] == 97 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 3 }] == 114 && _memory[{ base : strlit_#70732!base, offset : strlit_#70732!offset + 4 }] == 0; local_#27447 := strlit_#70732; local_#27448 := { base : local_#27447!base, offset : local_#27447!offset + 0 * 1 }; assert { :LIR "63902" } { :check "overflow" } { :finding_ids "0" } true; local_#27449 := 1900; local_#27450 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 20 }] + local_#27449; assert { :LIR "66815" } { :check "overflow" } { :finding_ids "0" } local_#27450 <= 2147483647; goto CFG_48541; CFG_48541: assume true; call routine_#35059_setfield(local_#6331_L,local_#27448,local_#27450); goto CFG_44539; CFG_44539: assume true; assume _memory[{ base : strlit_#70817!base, offset : strlit_#70817!offset + 0 }] == 119 && _memory[{ base : strlit_#70817!base, offset : strlit_#70817!offset + 1 }] == 100 && _memory[{ base : strlit_#70817!base, offset : strlit_#70817!offset + 2 }] == 97 && _memory[{ base : strlit_#70817!base, offset : strlit_#70817!offset + 3 }] == 121 && _memory[{ base : strlit_#70817!base, offset : strlit_#70817!offset + 4 }] == 0; local_#27451 := strlit_#70817; local_#27452 := { base : local_#27451!base, offset : local_#27451!offset + 0 * 1 }; assert { :LIR "63903" } { :check "overflow" } { :finding_ids "0" } true; local_#27453 := 1; local_#27454 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 24 }] + local_#27453; assert { :LIR "66816" } { :check "overflow" } { :finding_ids "0" } local_#27454 <= 2147483647; goto CFG_48542; CFG_48542: assume true; call routine_#35059_setfield(local_#6331_L,local_#27452,local_#27454); goto CFG_44540; CFG_44540: assume true; assume _memory[{ base : strlit_#70818!base, offset : strlit_#70818!offset + 0 }] == 121 && _memory[{ base : strlit_#70818!base, offset : strlit_#70818!offset + 1 }] == 100 && _memory[{ base : strlit_#70818!base, offset : strlit_#70818!offset + 2 }] == 97 && _memory[{ base : strlit_#70818!base, offset : strlit_#70818!offset + 3 }] == 121 && _memory[{ base : strlit_#70818!base, offset : strlit_#70818!offset + 4 }] == 0; local_#27455 := strlit_#70818; local_#27456 := { base : local_#27455!base, offset : local_#27455!offset + 0 * 1 }; assert { :LIR "63904" } { :check "overflow" } { :finding_ids "0" } true; local_#27457 := 1; local_#27458 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 28 }] + local_#27457; assert { :LIR "66817" } { :check "overflow" } { :finding_ids "0" } local_#27458 <= 2147483647; goto CFG_48543; CFG_48543: assume true; call routine_#35059_setfield(local_#6331_L,local_#27456,local_#27458); goto CFG_44541; CFG_44541: assume true; assume _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 0 }] == 105 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 1 }] == 115 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 2 }] == 100 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 3 }] == 115 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 4 }] == 116 && _memory[{ base : strlit_#70733!base, offset : strlit_#70733!offset + 5 }] == 0; local_#27459 := strlit_#70733; local_#27460 := { base : local_#27459!base, offset : local_#27459!offset + 0 * 1 }; assert { :LIR "63905" } { :check "overflow" } { :finding_ids "0" } true; local_#27461 := _memory[{ base : local_#6332_stm!base, offset : local_#6332_stm!offset + 32 }]; goto CFG_48544; CFG_48544: assume true; call routine_#35057_setboolfield(local_#6331_L,local_#27460,local_#27461); goto CFG_39414; CFG_39414: assume true; goto CFG_37954; CFG_37954: assume true; } procedure routine_#35056_setarrayvector(local_#6333_L_IN : { base : int, offset : int }, local_#6334_t_IN : { base : int, offset : int }, local_#6335_size_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6333_L : { base : int, offset : int }; var local_#6334_t : { base : int, offset : int }; var local_#6335_size : int; var local_#27462 : int; var local_#27463 : int; var local_#27464 : int; var local_#27465 : int; var local_#27466 : int; var local_#27467 : int; var local_#27468 : int; var local_#27469 : int; var local_#27470 : { base : int, offset : int }; var local_#27471 : int; var local_#27472 : int; var local_#27473 : int; var local_#27474 : int; var local_#27475 : int; var local_#27476 : int; var local_#27477 : { base : int, offset : int }; var local_#27478 : { base : int, offset : int }; var local_#32784_i : int; var local_#27479 : int; var local_#27480 : int; var local_#27481 : { base : int, offset : int }; var local_#27482 : int; var local_#27483 : int; var local_#27484 : int; local_#6333_L := local_#6333_L_IN; local_#6334_t := local_#6334_t_IN; local_#6335_size := local_#6335_size_IN; goto CFG_37044; CFG_37044: assume true; goto CFG_51158; CFG_51158: assume true; local_#27462 := 0; if (local_#27462 != 0) { goto CFG_51159; } else { goto CFG_41362; } CFG_51159: assume true; local_#27463 := ~uwrap64(local_#6335_size); assert { :LIR "61941" } { :check "overflow" } { :finding_ids "0" } true; local_#27464 := 1; assume { :symbol "~uwrap64" } true; local_#27465 := ~uwrap64(local_#27463 + local_#27464); assert { :LIR "66818" } { :check "overflow" } { :finding_ids "0" } true; local_#27466 := 1152921504606846975; local_#27467 := (if local_#27465 > local_#27466 then 1 else 0); if (local_#27467 != 0) { goto CFG_48546; } else { goto CFG_41362; } CFG_41362: assume true; local_#27468 := 0; local_#27469 := 0; assert { :LIR "61942" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44542; CFG_44542: assume true; local_#27470 := _memory_ptr[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 16 }]; assert { :LIR "63906" } { :check "overflow" } { :finding_ids "0" } true; local_#27471 := ~uwrap64(_memory[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 12 }]); assert { :LIR "63907" } { :check "overflow" } { :finding_ids "0" } true; local_#27472 := 16; assume { :symbol "~uwrap64" } true; local_#27473 := ~uwrap64(local_#27471 * local_#27472); assert { :LIR "68600" } { :check "overflow" } { :finding_ids "0" } true; local_#27474 := ~uwrap64(local_#6335_size); assert { :LIR "63908" } { :check "overflow" } { :finding_ids "0" } true; local_#27475 := 16; assume { :symbol "~uwrap64" } true; local_#27476 := ~uwrap64(local_#27474 * local_#27475); assert { :LIR "68601" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48545; CFG_48545: assume true; call local_#27477 := routine_#33857_luaM_realloc_(local_#6333_L,local_#27470,local_#27473,local_#27476); goto CFG_41839; CFG_41839: assume true; local_#27478 := local_#27477; assert { :LIR "61943" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 16 }] := local_#27478; local_#32784_i := _memory[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 12 }]; goto CFG_51160; CFG_51160: assume true; local_#27479 := (if local_#32784_i < local_#6335_size then 1 else 0); if (local_#27479 != 0) { goto CFG_44543; } else { goto CFG_39415; } CFG_39415: assume true; _memory[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 12 }] := local_#6335_size; goto CFG_37955; CFG_44543: assume true; local_#27480 := 0; local_#27481 := { base : _memory_ptr[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6334_t!base, offset : local_#6334_t!offset + 16 }]!offset + local_#32784_i * 16 }; _memory[{ base : local_#27481!base, offset : local_#27481!offset + 8 }] := local_#27480; goto CFG_45180; CFG_45180: assume true; local_#27482 := local_#32784_i; local_#27483 := 1; assume { :symbol "~uwrap32" } true; local_#32784_i := ~uwrap32(local_#27482 + local_#27483); assert { :LIR "66819" } { :check "overflow" } { :finding_ids "0" } true; local_#27484 := local_#27482; goto CFG_51160; CFG_48546: assume true; call routine_#33858_luaM_toobig(local_#6333_L); CFG_41363: assume true; goto CFG_44542; CFG_37955: assume true; } procedure routine_#35057_setboolfield(local_#6336_L_IN : { base : int, offset : int }, local_#6337_key_IN : { base : int, offset : int }, local_#6338_value_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6336_L : { base : int, offset : int }; var local_#6337_key : { base : int, offset : int }; var local_#6338_value : int; var local_#27485 : int; var local_#27486 : int; var local_#27487 : int; local_#6336_L := local_#6336_L_IN; local_#6337_key := local_#6337_key_IN; local_#6338_value := local_#6338_value_IN; goto CFG_37045; CFG_37045: assume true; goto CFG_51161; CFG_51161: assume true; local_#27485 := 0; local_#27486 := (if local_#6338_value < local_#27485 then 1 else 0); if (local_#27486 != 0) { goto CFG_39417; } else { goto CFG_48547; } CFG_48547: assume true; call routine_#33957_lua_pushboolean(local_#6336_L,local_#6338_value); goto CFG_44544; CFG_44544: assume true; local_#27487 := -2; goto CFG_48548; CFG_48548: assume true; call routine_#33980_lua_setfield(local_#6336_L,local_#27487,local_#6337_key); goto CFG_39416; CFG_39416: assume true; goto CFG_37956; CFG_39417: assume true; goto CFG_37956; CFG_37956: assume true; } procedure routine_#35058_seterrorobj(local_#6339_L_IN : { base : int, offset : int }, local_#6340_errcode_IN : int, local_#6341_oldtop_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6339_L : { base : int, offset : int }; var local_#6340_errcode : int; var local_#6341_oldtop : { base : int, offset : int }; var local_#27488 : int; var local_#32789_io1 : { base : int, offset : int }; var local_#27489 : int; var local_#27490 : { base : int, offset : int }; var local_#27491 : int; var local_#27492 : int; var local_#27493 : int; var local_#32787_io : { base : int, offset : int }; var local_#27494 : { base : int, offset : int }; var local_#27495 : { base : int, offset : int }; var local_#27496 : int; var local_#27497 : { base : int, offset : int }; var local_#32788_x_ : { base : int, offset : int }; var local_#27498 : { base : int, offset : int }; var local_#27499 : { base : int, offset : int }; var local_#27500 : { base : int, offset : int }; var local_#27501 : int; var local_#27502 : int; var local_#27503 : int; var local_#27504 : int; var local_#27505 : int; var local_#32785_io : { base : int, offset : int }; var local_#27506 : { base : int, offset : int }; var local_#32786_x_ : { base : int, offset : int }; var local_#27507 : { base : int, offset : int }; var local_#27508 : { base : int, offset : int }; var local_#27509 : { base : int, offset : int }; var local_#27510 : int; var local_#27511 : int; var local_#27512 : int; var local_#27513 : int; var local_#27514 : int; var local_#27515 : int; var local_#27516 : { base : int, offset : int }; local_#6339_L := local_#6339_L_IN; local_#6340_errcode := local_#6340_errcode_IN; local_#6341_oldtop := local_#6341_oldtop_IN; goto CFG_37046; CFG_37046: assume true; goto CFG_51568; CFG_51568: assume true; local_#27488 := local_#6340_errcode; if (local_#27488 == 4) { goto CFG_39716; } if (local_#27488 == 6) { goto CFG_44545; } goto CFG_39714; CFG_39714: assume true; local_#32789_io1 := local_#6341_oldtop; local_#27489 := 1; local_#27490 := { base : _memory_ptr[{ base : local_#6339_L!base, offset : local_#6339_L!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6339_L!base, offset : local_#6339_L!offset + 16 }]!offset - local_#27489 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#27490)!_value_!_b == _memory[{ base : local_#27490!base, offset : local_#27490!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#27490)!_value_!_f == _memory_ptr[{ base : local_#27490!base, offset : local_#27490!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#27490)!_value_!_gc == _memory_ptr[{ base : local_#27490!base, offset : local_#27490!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#27490)!_value_!_i == _memory[{ base : local_#27490!base, offset : local_#27490!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#27490)!_value_!_p == _memory_ptr[{ base : local_#27490!base, offset : local_#27490!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#27490)!_tt_ == _memory[{ base : local_#27490!base, offset : local_#27490!offset + 8 }]; call write_type_#101(local_#32789_io1,read_type_#101(_memory, _memory_ptr, local_#27490)); local_#27491 := 0; assert { :LIR "61944" } { :check "overflow" } { :finding_ids "0" } true; local_#27492 := 0; local_#27493 := 0; assert { :LIR "61945" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39418; CFG_44545: assume true; local_#32787_io := local_#6341_oldtop; assume _memory[{ base : strlit_#70820!base, offset : strlit_#70820!offset + 23 }] == 0; local_#27494 := strlit_#70820; local_#27495 := { base : local_#27494!base, offset : local_#27494!offset + 0 * 1 }; assert { :LIR "63909" } { :check "overflow" } { :finding_ids "0" } true; local_#27496 := 23; goto CFG_48549; CFG_48549: assume true; call local_#27497 := routine_#33877_luaS_newlstr(local_#6339_L,local_#27495,local_#27496); goto CFG_39715; CFG_39715: assume true; local_#32788_x_ := local_#27497; local_#27498 := local_#32788_x_; assert { :LIR "61946" } { :check "overflow" } { :finding_ids "0" } true; local_#27499 := { base : local_#27498!base, offset : local_#27498!offset + 0 }; local_#27500 := { base : local_#32787_io!base, offset : local_#32787_io!offset + 0 }; _memory_ptr[local_#27500] := local_#27499; local_#27501 := _memory[{ base : local_#32788_x_!base, offset : local_#32788_x_!offset + 8 }]; assert { :LIR "63910" } { :check "overflow" } { :finding_ids "0" } local_#27501 <= 2147483647; local_#27502 := 64; local_#27503 := ~sor32(local_#27501, local_#27502); _memory[{ base : local_#32787_io!base, offset : local_#32787_io!offset + 8 }] := local_#27503; local_#27504 := 0; local_#27505 := 0; assert { :LIR "61947" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39418; CFG_39716: assume true; local_#32785_io := local_#6341_oldtop; local_#27506 := _memory_ptr[{ base : local_#6339_L!base, offset : local_#6339_L!offset + 24 }]; local_#32786_x_ := _memory_ptr[{ base : local_#27506!base, offset : local_#27506!offset + 216 }]; local_#27507 := local_#32786_x_; assert { :LIR "61948" } { :check "overflow" } { :finding_ids "0" } true; local_#27508 := { base : local_#27507!base, offset : local_#27507!offset + 0 }; local_#27509 := { base : local_#32785_io!base, offset : local_#32785_io!offset + 0 }; _memory_ptr[local_#27509] := local_#27508; local_#27510 := _memory[{ base : local_#32786_x_!base, offset : local_#32786_x_!offset + 8 }]; assert { :LIR "63911" } { :check "overflow" } { :finding_ids "0" } local_#27510 <= 2147483647; local_#27511 := 64; local_#27512 := ~sor32(local_#27510, local_#27511); _memory[{ base : local_#32785_io!base, offset : local_#32785_io!offset + 8 }] := local_#27512; local_#27513 := 0; local_#27514 := 0; assert { :LIR "61949" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_39418; CFG_39418: assume true; local_#27515 := 1; local_#27516 := { base : local_#6341_oldtop!base, offset : local_#6341_oldtop!offset + local_#27515 * 16 }; _memory_ptr[{ base : local_#6339_L!base, offset : local_#6339_L!offset + 16 }] := local_#27516; goto CFG_37957; CFG_41966: assume true; goto CFG_39418; CFG_37957: assume true; } procedure routine_#35059_setfield(local_#6342_L_IN : { base : int, offset : int }, local_#6343_key_IN : { base : int, offset : int }, local_#6344_value_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6342_L : { base : int, offset : int }; var local_#6343_key : { base : int, offset : int }; var local_#6344_value : int; var local_#27517 : int; var local_#27518 : int; local_#6342_L := local_#6342_L_IN; local_#6343_key := local_#6343_key_IN; local_#6344_value := local_#6344_value_IN; goto CFG_37047; CFG_37047: assume true; goto CFG_44546; CFG_44546: assume true; local_#27517 := local_#6344_value; assert { :LIR "63912" } { :check "overflow" } { :finding_ids "0" } local_#27517 <= 9223372036854775807; goto CFG_48550; CFG_48550: assume true; call routine_#33960_lua_pushinteger(local_#6342_L,local_#27517); goto CFG_44547; CFG_44547: assume true; local_#27518 := -2; goto CFG_48551; CFG_48551: assume true; call routine_#33980_lua_setfield(local_#6342_L,local_#27518,local_#6343_key); goto CFG_39419; CFG_39419: assume true; goto CFG_37958; CFG_37958: assume true; } procedure routine_#35060_setnodevector(local_#6345_L_IN : { base : int, offset : int }, local_#6346_t_IN : { base : int, offset : int }, local_#6347_size_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6345_L : { base : int, offset : int }; var local_#6346_t : { base : int, offset : int }; var local_#6347_size : int; var local_#27519 : int; var local_#27520 : int; var local_#27521 : int; var local_#32791_lsize : int; var local_#27522 : int; var local_#27523 : int; var local_#27524 : int; var local_#27525 : int; var local_#27526 : int; var local_#27527 : int; var local_#27528 : int; var local_#27529 : int; var local_#27530 : int; var local_#27531 : int; var local_#27532 : int; var local_#27533 : int; var local_#27534 : int; var local_#27535 : { base : int, offset : int }; var local_#27536 : int; var local_#27537 : int; var local_#27538 : int; var local_#27539 : int; var local_#27540 : { base : int, offset : int }; var local_#27541 : { base : int, offset : int }; var local_#32790_i : int; var local_#27542 : int; var local_#27543 : int; var local_#27544 : int; var local_#27545 : { base : int, offset : int }; var local_#27546 : { base : int, offset : int }; var local_#32792_n : { base : int, offset : int }; var local_#27547 : int; var local_#27548 : { base : int, offset : int }; var local_#27549 : int; var local_#27550 : { base : int, offset : int }; var local_#27551 : int; var local_#27552 : int; var local_#27553 : int; var local_#27554 : { base : int, offset : int }; var local_#27555 : { base : int, offset : int }; var local_#27556 : { base : int, offset : int }; local_#6345_L := local_#6345_L_IN; local_#6346_t := local_#6346_t_IN; local_#6347_size := local_#6347_size_IN; goto CFG_37048; CFG_37048: assume true; goto CFG_51162; CFG_51162: assume true; local_#27519 := 0; local_#27520 := (if local_#6347_size == local_#27519 then 1 else 0); if (local_#27520 != 0) { goto CFG_41366; } else { goto CFG_48552; } CFG_48552: assume true; call local_#27521 := routine_#33860_luaO_ceillog2(local_#6347_size); goto CFG_51163; CFG_51163: assume true; local_#32791_lsize := local_#27521; local_#27522 := 30; local_#27523 := (if local_#32791_lsize > local_#27522 then 1 else 0); if (local_#27523 != 0) { goto CFG_44550; } else { goto CFG_51164; } CFG_51164: assume true; local_#27524 := 1; local_#27525 := ~shl32(local_#27524, local_#32791_lsize); local_#27526 := ~uwrap32(local_#27525); assert { :LIR "63913" } { :check "overflow" } { :finding_ids "0" } true; local_#6347_size := local_#27526; local_#27527 := 0; if (local_#27527 != 0) { goto CFG_51165; } else { goto CFG_41364; } CFG_51165: assume true; local_#27528 := ~uwrap64(local_#6347_size); assert { :LIR "61950" } { :check "overflow" } { :finding_ids "0" } true; local_#27529 := 1; assume { :symbol "~uwrap64" } true; local_#27530 := ~uwrap64(local_#27528 + local_#27529); assert { :LIR "66820" } { :check "overflow" } { :finding_ids "0" } true; local_#27531 := 576460752303423487; local_#27532 := (if local_#27530 > local_#27531 then 1 else 0); if (local_#27532 != 0) { goto CFG_48554; } else { goto CFG_41364; } CFG_41364: assume true; local_#27533 := 0; local_#27534 := 0; assert { :LIR "61951" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44548; CFG_44548: assume true; local_#27535 := { base : 0, offset : 0 }; local_#27536 := 0; local_#27537 := ~uwrap64(local_#6347_size); assert { :LIR "63914" } { :check "overflow" } { :finding_ids "0" } true; local_#27538 := 32; assume { :symbol "~uwrap64" } true; local_#27539 := ~uwrap64(local_#27537 * local_#27538); assert { :LIR "68602" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48553; CFG_48553: assume true; call local_#27540 := routine_#33857_luaM_realloc_(local_#6345_L,local_#27535,local_#27536,local_#27539); goto CFG_41840; CFG_41840: assume true; local_#27541 := local_#27540; assert { :LIR "61952" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 24 }] := local_#27541; local_#32790_i := 0; goto CFG_51166; CFG_51166: assume true; local_#27542 := local_#6347_size; assert { :LIR "61953" } { :check "overflow" } { :finding_ids "0" } local_#27542 <= 2147483647; local_#27543 := (if local_#32790_i < local_#27542 then 1 else 0); if (local_#27543 != 0) { goto CFG_44549; } else { goto CFG_41365; } CFG_41365: assume true; local_#27544 := ~uwrap8(local_#32791_lsize); assert { :LIR "61954" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 11 }] := local_#27544; local_#27545 := { base : _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 24 }]!offset + local_#6347_size * 32 }; _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 32 }] := local_#27545; goto CFG_39420; CFG_44549: assume true; local_#27546 := { base : _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 24 }]!offset + local_#32790_i * 32 }; local_#32792_n := local_#27546; local_#27547 := 0; local_#27548 := { base : local_#32792_n!base, offset : local_#32792_n!offset + 16 }; _memory[{ base : local_#27548!base, offset : local_#27548!offset + 12 }] := local_#27547; local_#27549 := 0; local_#27550 := { base : local_#32792_n!base, offset : local_#32792_n!offset + 16 }; _memory[{ base : local_#27550!base, offset : local_#27550!offset + 8 }] := local_#27549; _memory[{ base : local_#32792_n!base, offset : local_#32792_n!offset + 8 }] := 0; goto CFG_45181; CFG_45181: assume true; local_#27551 := local_#32790_i; local_#27552 := 1; local_#32790_i := local_#27551 + local_#27552; assert { :LIR "66821" } { :check "overflow" } { :finding_ids "0" } local_#32790_i <= 2147483647; local_#27553 := local_#27551; goto CFG_51166; CFG_48554: assume true; call routine_#33858_luaM_toobig(local_#6345_L); CFG_44550: assume true; assume _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 0 }] == 116 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 1 }] == 97 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 2 }] == 98 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 3 }] == 108 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 4 }] == 101 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 5 }] == 32 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 6 }] == 111 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 7 }] == 118 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 8 }] == 101 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 9 }] == 114 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 10 }] == 102 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 11 }] == 108 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 12 }] == 111 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 13 }] == 119 && _memory[{ base : strlit_#70821!base, offset : strlit_#70821!offset + 14 }] == 0; local_#27554 := strlit_#70821; local_#27555 := { base : local_#27554!base, offset : local_#27554!offset + 0 * 1 }; assert { :LIR "63915" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48555; CFG_48555: assume true; call routine_#33762_luaG_runerror(local_#6345_L,local_#27555,{ base : 0, offset : 0 }); CFG_41366: assume true; local_#27556 := global_#33053_dummynode_; assert { :LIR "61955" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 24 }] := local_#27556; _memory[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 11 }] := 0; _memory_ptr[{ base : local_#6346_t!base, offset : local_#6346_t!offset + 32 }] := { base : 0, offset : 0 }; goto CFG_39420; CFG_39420: assume true; goto CFG_37959; CFG_41367: assume true; goto CFG_44548; CFG_37959: assume true; } procedure routine_#35061_setpath(local_#6348_L_IN : { base : int, offset : int }, local_#6349_fieldname_IN : { base : int, offset : int }, local_#6350_envname_IN : { base : int, offset : int }, local_#6351_dft_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6348_L : { base : int, offset : int }; var local_#6349_fieldname : { base : int, offset : int }; var local_#6350_envname : { base : int, offset : int }; var local_#6351_dft : { base : int, offset : int }; var local_#27557 : { base : int, offset : int }; var local_#27558 : { base : int, offset : int }; var local_#27559 : { base : int, offset : int }; var local_#27560 : { base : int, offset : int }; var local_#27561 : { base : int, offset : int }; var local_#32793_nver : { base : int, offset : int }; var local_#27562 : { base : int, offset : int }; var local_#27563 : { base : int, offset : int }; var local_#32794_path : { base : int, offset : int }; var local_#27564 : { base : int, offset : int }; var local_#27565 : int; var local_#27566 : { base : int, offset : int }; var local_#27567 : { base : int, offset : int }; var local_#27568 : { base : int, offset : int }; var local_#27569 : int; var local_#27570 : int; var local_#27571 : int; var local_#27572 : { base : int, offset : int }; var local_#27573 : { base : int, offset : int }; var local_#27574 : { base : int, offset : int }; var local_#27575 : { base : int, offset : int }; var local_#27576 : { base : int, offset : int }; var local_#27577 : { base : int, offset : int }; var local_#27578 : { base : int, offset : int }; var local_#27579 : { base : int, offset : int }; var local_#27580 : int; var local_#27581 : int; var local_#27582 : int; var local_#27583 : { base : int, offset : int }; var local_#27584 : int; var local_#27585 : int; var local_#27586 : int; var local_#27587 : int; local_#6348_L := local_#6348_L_IN; local_#6349_fieldname := local_#6349_fieldname_IN; local_#6350_envname := local_#6350_envname_IN; local_#6351_dft := local_#6351_dft_IN; goto CFG_37049; CFG_37049: assume true; goto CFG_44551; CFG_44551: assume true; assume _memory[{ base : strlit_#70822!base, offset : strlit_#70822!offset + 0 }] == 37 && _memory[{ base : strlit_#70822!base, offset : strlit_#70822!offset + 1 }] == 115 && _memory[{ base : strlit_#70822!base, offset : strlit_#70822!offset + 2 }] == 37 && _memory[{ base : strlit_#70822!base, offset : strlit_#70822!offset + 3 }] == 115 && _memory[{ base : strlit_#70822!base, offset : strlit_#70822!offset + 4 }] == 0; local_#27557 := strlit_#70822; local_#27558 := { base : local_#27557!base, offset : local_#27557!offset + 0 * 1 }; assert { :LIR "63916" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70823!base, offset : strlit_#70823!offset + 0 }] == 95 && _memory[{ base : strlit_#70823!base, offset : strlit_#70823!offset + 1 }] == 53 && _memory[{ base : strlit_#70823!base, offset : strlit_#70823!offset + 2 }] == 95 && _memory[{ base : strlit_#70823!base, offset : strlit_#70823!offset + 3 }] == 51 && _memory[{ base : strlit_#70823!base, offset : strlit_#70823!offset + 4 }] == 0; local_#27559 := strlit_#70823; local_#27560 := { base : local_#27559!base, offset : local_#27559!offset + 0 * 1 }; goto CFG_48556; CFG_48556: assume true; call local_#27561 := routine_#33959_lua_pushfstring(local_#6348_L,local_#27558,{ base : 0, offset : 0 }); goto CFG_44552; CFG_44552: assume true; local_#32793_nver := local_#27561; goto CFG_48557; CFG_48557: assume true; call local_#27562 := routine_#33610_getenv(local_#32793_nver); goto CFG_51167; CFG_51167: assume true; local_#27563 := local_#27562; assert { :LIR "63917" } { :check "overflow" } { :finding_ids "0" } true; local_#32794_path := local_#27563; local_#27564 := { base : 0, offset : 0 }; local_#27565 := (if local_#32794_path == local_#27564 then 1 else 0); if (local_#27565 != 0) { goto CFG_48558; } else { goto CFG_51168; } CFG_48558: assume true; call local_#27566 := routine_#33610_getenv(local_#6350_envname); goto CFG_41368; CFG_41368: assume true; local_#27567 := local_#27566; assert { :LIR "63918" } { :check "overflow" } { :finding_ids "0" } true; local_#32794_path := local_#27567; goto CFG_51168; CFG_51168: assume true; local_#27568 := { base : 0, offset : 0 }; local_#27569 := (if local_#32794_path == local_#27568 then 1 else 0); if (local_#27569 != 0) { goto CFG_48564; } else { goto CFG_48559; } CFG_48559: assume true; call local_#27570 := routine_#34965_noenv(local_#6348_L); goto CFG_51169; CFG_51169: assume true; local_#27571 := local_#27570; if (local_#27571 != 0) { goto CFG_48564; } else { goto CFG_44553; } CFG_44553: assume true; assume _memory[{ base : strlit_#70824!base, offset : strlit_#70824!offset + 0 }] == 59 && _memory[{ base : strlit_#70824!base, offset : strlit_#70824!offset + 1 }] == 59 && _memory[{ base : strlit_#70824!base, offset : strlit_#70824!offset + 2 }] == 0; local_#27572 := strlit_#70824; local_#27573 := { base : local_#27572!base, offset : local_#27572!offset + 0 * 1 }; assert { :LIR "63919" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70825!base, offset : strlit_#70825!offset + 0 }] == 59 && _memory[{ base : strlit_#70825!base, offset : strlit_#70825!offset + 1 }] == 1 && _memory[{ base : strlit_#70825!base, offset : strlit_#70825!offset + 2 }] == 59 && _memory[{ base : strlit_#70825!base, offset : strlit_#70825!offset + 3 }] == 0; local_#27574 := strlit_#70825; local_#27575 := { base : local_#27574!base, offset : local_#27574!offset + 0 * 1 }; assert { :LIR "63920" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48560; CFG_48560: assume true; call local_#27576 := routine_#33833_luaL_gsub(local_#6348_L,local_#32794_path,local_#27573,local_#27575); goto CFG_44554; CFG_44554: assume true; local_#32794_path := local_#27576; assume _memory[{ base : strlit_#70826!base, offset : strlit_#70826!offset + 0 }] == 1 && _memory[{ base : strlit_#70826!base, offset : strlit_#70826!offset + 1 }] == 0; local_#27577 := strlit_#70826; local_#27578 := { base : local_#27577!base, offset : local_#27577!offset + 0 * 1 }; assert { :LIR "63921" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48561; CFG_48561: assume true; call local_#27579 := routine_#33833_luaL_gsub(local_#6348_L,local_#32794_path,local_#27578,local_#6351_dft); goto CFG_44555; CFG_44555: assume true; local_#27580 := -2; local_#27581 := -1; goto CFG_48562; CFG_48562: assume true; call routine_#33978_lua_rotate(local_#6348_L,local_#27580,local_#27581); goto CFG_44556; CFG_44556: assume true; local_#27582 := -2; goto CFG_48563; CFG_48563: assume true; call routine_#33987_lua_settop(local_#6348_L,local_#27582); goto CFG_41369; CFG_41369: assume true; goto CFG_44557; CFG_48564: assume true; call local_#27583 := routine_#33965_lua_pushstring(local_#6348_L,local_#6351_dft); goto CFG_41370; CFG_41370: assume true; goto CFG_44557; CFG_44557: assume true; local_#27584 := 0; local_#27585 := 0; assert { :LIR "61956" } { :check "overflow" } { :finding_ids "0" } true; local_#27586 := -3; goto CFG_48565; CFG_48565: assume true; call routine_#33980_lua_setfield(local_#6348_L,local_#27586,local_#6349_fieldname); goto CFG_44558; CFG_44558: assume true; local_#27587 := -2; goto CFG_48566; CFG_48566: assume true; call routine_#33987_lua_settop(local_#6348_L,local_#27587); goto CFG_39421; CFG_39421: assume true; goto CFG_37960; CFG_37960: assume true; } procedure routine_#35062_setpause(local_#6352_g_IN : { base : int, offset : int }) returns () modifies _memory; { var local_#6352_g : { base : int, offset : int }; var local_#27588 : int; var local_#27589 : int; var local_#27590 : int; var local_#32796_estimate : int; var local_#27591 : int; var local_#27592 : int; var local_#27593 : int; var local_#27594 : int; var local_#27595 : int; var local_#27596 : int; var local_#30859 : int; var local_#27597 : int; var local_#27598 : int; var local_#32797_threshold : int; var local_#27599 : int; var local_#27600 : int; var local_#27601 : int; var local_#27602 : int; var local_#27603 : int; var local_#32795_debt : int; local_#6352_g := local_#6352_g_IN; goto CFG_37050; CFG_37050: assume true; goto CFG_51170; CFG_51170: assume true; local_#27588 := 100; local_#27589 := _memory[{ base : local_#6352_g!base, offset : local_#6352_g!offset + 40 }] / local_#27588; assert { :LIR "68653" } { :check "overflow" } { :finding_ids "0" } true; local_#27590 := local_#27589; assert { :LIR "63922" } { :check "overflow" } { :finding_ids "0" } local_#27590 <= 9223372036854775807; local_#32796_estimate := local_#27590; local_#27591 := 0; local_#27592 := 0; assert { :LIR "61957" } { :check "overflow" } { :finding_ids "0" } true; local_#27593 := _memory[{ base : local_#6352_g!base, offset : local_#6352_g!offset + 180 }]; assert { :LIR "63923" } { :check "overflow" } { :finding_ids "0" } local_#27593 <= 9223372036854775807; local_#27594 := 9223372036854775807; local_#27595 := local_#27594 / local_#32796_estimate; assert { :LIR "68654" } { :check "overflow" } { :finding_ids "0" } local_#27595 <= 9223372036854775807; local_#27596 := (if local_#27593 < local_#27595 then 1 else 0); if (local_#27596 != 0) { goto CFG_41372; } else { goto CFG_41371; } CFG_41371: assume true; local_#30859 := 9223372036854775807; goto CFG_44559; CFG_41372: assume true; local_#27597 := _memory[{ base : local_#6352_g!base, offset : local_#6352_g!offset + 180 }]; assert { :LIR "63924" } { :check "overflow" } { :finding_ids "0" } local_#27597 <= 9223372036854775807; local_#27598 := local_#32796_estimate * local_#27597; assert { :LIR "68603" } { :check "overflow" } { :finding_ids "0" } local_#27598 <= 9223372036854775807; local_#30859 := local_#27598; goto CFG_44559; CFG_44559: assume true; local_#32797_threshold := local_#30859; local_#27599 := _memory[{ base : local_#6352_g!base, offset : local_#6352_g!offset + 16 }] + _memory[{ base : local_#6352_g!base, offset : local_#6352_g!offset + 24 }]; assert { :LIR "66822" } { :check "overflow" } { :finding_ids "0" } local_#27599 <= 9223372036854775807; local_#27600 := ~uwrap64(local_#27599); assert { :LIR "61958" } { :check "overflow" } { :finding_ids "0" } true; local_#27601 := ~uwrap64(local_#32797_threshold); assert { :LIR "63925" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#27602 := ~uwrap64(local_#27600 - local_#27601); assert { :LIR "68163" } { :check "overflow" } { :finding_ids "0" } true; local_#27603 := local_#27602; assert { :LIR "63926" } { :check "overflow" } { :finding_ids "0" } local_#27603 <= 9223372036854775807; local_#32795_debt := local_#27603; goto CFG_48567; CFG_48567: assume true; call routine_#33747_luaE_setdebt(local_#6352_g,local_#32795_debt); goto CFG_39422; CFG_39422: assume true; goto CFG_37961; CFG_37961: assume true; } procedure routine_#35063_settabsb(local_#6353_L_IN : { base : int, offset : int }, local_#6354_k_IN : { base : int, offset : int }, local_#6355_v_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6353_L : { base : int, offset : int }; var local_#6354_k : { base : int, offset : int }; var local_#6355_v : int; var local_#27604 : int; local_#6353_L := local_#6353_L_IN; local_#6354_k := local_#6354_k_IN; local_#6355_v := local_#6355_v_IN; goto CFG_37051; CFG_37051: assume true; goto CFG_48568; CFG_48568: assume true; call routine_#33957_lua_pushboolean(local_#6353_L,local_#6355_v); goto CFG_44560; CFG_44560: assume true; local_#27604 := -2; goto CFG_48569; CFG_48569: assume true; call routine_#33980_lua_setfield(local_#6353_L,local_#27604,local_#6354_k); goto CFG_39423; CFG_39423: assume true; goto CFG_37962; CFG_37962: assume true; } procedure routine_#35064_settabsi(local_#6356_L_IN : { base : int, offset : int }, local_#6357_k_IN : { base : int, offset : int }, local_#6358_v_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6356_L : { base : int, offset : int }; var local_#6357_k : { base : int, offset : int }; var local_#6358_v : int; var local_#27605 : int; var local_#27606 : int; local_#6356_L := local_#6356_L_IN; local_#6357_k := local_#6357_k_IN; local_#6358_v := local_#6358_v_IN; goto CFG_37052; CFG_37052: assume true; goto CFG_44561; CFG_44561: assume true; local_#27605 := local_#6358_v; assert { :LIR "63927" } { :check "overflow" } { :finding_ids "0" } local_#27605 <= 9223372036854775807; goto CFG_48570; CFG_48570: assume true; call routine_#33960_lua_pushinteger(local_#6356_L,local_#27605); goto CFG_44562; CFG_44562: assume true; local_#27606 := -2; goto CFG_48571; CFG_48571: assume true; call routine_#33980_lua_setfield(local_#6356_L,local_#27606,local_#6357_k); goto CFG_39424; CFG_39424: assume true; goto CFG_37963; CFG_37963: assume true; } procedure routine_#35065_settabss(local_#6359_L_IN : { base : int, offset : int }, local_#6360_k_IN : { base : int, offset : int }, local_#6361_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6359_L : { base : int, offset : int }; var local_#6360_k : { base : int, offset : int }; var local_#6361_v : { base : int, offset : int }; var local_#27607 : { base : int, offset : int }; var local_#27608 : int; local_#6359_L := local_#6359_L_IN; local_#6360_k := local_#6360_k_IN; local_#6361_v := local_#6361_v_IN; goto CFG_37053; CFG_37053: assume true; goto CFG_48572; CFG_48572: assume true; call local_#27607 := routine_#33965_lua_pushstring(local_#6359_L,local_#6361_v); goto CFG_44563; CFG_44563: assume true; local_#27608 := -2; goto CFG_48573; CFG_48573: assume true; call routine_#33980_lua_setfield(local_#6359_L,local_#27608,local_#6360_k); goto CFG_39425; CFG_39425: assume true; goto CFG_37964; CFG_37964: assume true; } procedure routine_#35066_simpleexp(local_#6362_ls_IN : { base : int, offset : int }, local_#6363_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6362_ls : { base : int, offset : int }; var local_#6363_v : { base : int, offset : int }; var local_#27609 : int; var local_#27610 : int; var local_#27611 : int; var local_#32798_fs : { base : int, offset : int }; var local_#27612 : { base : int, offset : int }; var local_#27613 : int; var local_#27614 : int; var local_#27615 : int; var local_#27616 : int; var local_#27617 : int; var local_#27618 : int; var local_#27619 : int; var local_#27620 : { base : int, offset : int }; var local_#27621 : { base : int, offset : int }; var local_#27622 : int; var local_#27623 : int; var local_#27624 : int; var local_#27625 : int; var local_#27626 : int; var local_#27627 : int; var local_#27628 : { base : int, offset : int }; var local_#27629 : { base : int, offset : int }; var local_#27630 : int; var local_#27631 : int; var local_#27632 : { base : int, offset : int }; var local_#27633 : { base : int, offset : int }; var local_#27634 : int; var local_#27635 : int; var local_#27636 : { base : int, offset : int }; var local_#27637 : { base : int, offset : int }; var nondet_#0 : int; local_#6362_ls := local_#6362_ls_IN; local_#6363_v := local_#6363_v_IN; goto CFG_37054; CFG_37054: assume true; goto CFG_51569; CFG_51569: assume true; local_#27609 := _memory[{ base : local_#6362_ls!base, offset : local_#6362_ls!offset + 16 }]; if (local_#27609 == 290) { goto CFG_44572; } if (local_#27609 == 291) { goto CFG_44571; } if (local_#27609 == 293) { goto CFG_44570; } if (local_#27609 == 270) { goto CFG_44569; } if (local_#27609 == 276) { goto CFG_44568; } if (local_#27609 == 263) { goto CFG_44567; } if (local_#27609 == 281) { goto CFG_51171; } if (local_#27609 == 123) { goto CFG_48577; } if (local_#27609 == 265) { goto CFG_48575; } goto CFG_48574; CFG_48574: assume true; call routine_#35102_suffixedexp(local_#6362_ls,local_#6363_v); goto CFG_39426; CFG_39426: assume true; goto CFG_37965; CFG_48575: assume true; call routine_#33908_luaX_next(local_#6362_ls); goto CFG_44564; CFG_44564: assume true; local_#27610 := 0; local_#27611 := _memory[{ base : local_#6362_ls!base, offset : local_#6362_ls!offset + 4 }]; goto CFG_48576; CFG_48576: assume true; call routine_#34613_body(local_#6362_ls,local_#6363_v,local_#27610,local_#27611); goto CFG_39427; CFG_39427: assume true; goto CFG_37965; CFG_48577: assume true; call routine_#34666_constructor(local_#6362_ls,local_#6363_v); goto CFG_39428; CFG_39428: assume true; goto CFG_37965; CFG_51171: assume true; local_#32798_fs := _memory_ptr[{ base : local_#6362_ls!base, offset : local_#6362_ls!offset + 48 }]; local_#27612 := _memory_ptr[{ base : local_#32798_fs!base, offset : local_#32798_fs!offset + 0 }]; local_#27613 := (if _memory[{ base : local_#27612!base, offset : local_#27612!offset + 11 }] != 0 then 0 else 1); if (local_#27613 != 0) { goto CFG_44566; } else { goto CFG_44565; } CFG_44565: assume true; local_#27614 := 14; local_#27615 := 45; local_#27616 := 0; local_#27617 := 1; local_#27618 := 0; goto CFG_48578; CFG_48578: assume true; call local_#27619 := routine_#33780_luaK_codeABC(local_#32798_fs,local_#27615,local_#27616,local_#27617,local_#27618); goto CFG_48579; CFG_48579: assume true; call routine_#34812_init_exp(local_#6363_v,local_#27614,local_#27619); goto CFG_39717; CFG_39717: assume true; goto CFG_48587; CFG_44566: assume true; assume _memory[{ base : strlit_#70827!base, offset : strlit_#70827!offset + 42 }] == 0; local_#27620 := strlit_#70827; local_#27621 := { base : local_#27620!base, offset : local_#27620!offset + 0 * 1 }; assert { :LIR "63928" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48580; CFG_48580: assume true; call routine_#33910_luaX_syntaxerror(local_#6362_ls,local_#27621); CFG_44567: assume true; local_#27622 := 3; local_#27623 := 0; goto CFG_48581; CFG_48581: assume true; call routine_#34812_init_exp(local_#6363_v,local_#27622,local_#27623); goto CFG_39718; CFG_39718: assume true; goto CFG_48587; CFG_44568: assume true; local_#27624 := 2; local_#27625 := 0; goto CFG_48582; CFG_48582: assume true; call routine_#34812_init_exp(local_#6363_v,local_#27624,local_#27625); goto CFG_39719; CFG_39719: assume true; goto CFG_48587; CFG_44569: assume true; local_#27626 := 1; local_#27627 := 0; goto CFG_48583; CFG_48583: assume true; call routine_#34812_init_exp(local_#6363_v,local_#27626,local_#27627); goto CFG_39720; CFG_39720: assume true; goto CFG_48587; CFG_44570: assume true; local_#27628 := { base : local_#6362_ls!base, offset : local_#6362_ls!offset + 24 }; local_#27629 := _memory_ptr[local_#27628]; goto CFG_48584; CFG_48584: assume true; call routine_#34658_codestring(local_#6362_ls,local_#6363_v,local_#27629); goto CFG_39721; CFG_39721: assume true; goto CFG_48587; CFG_44571: assume true; local_#27630 := 6; local_#27631 := 0; goto CFG_48585; CFG_48585: assume true; call routine_#34812_init_exp(local_#6363_v,local_#27630,local_#27631); goto CFG_39722; CFG_39722: assume true; local_#27632 := { base : local_#6362_ls!base, offset : local_#6362_ls!offset + 24 }; local_#27633 := { base : local_#6363_v!base, offset : local_#6363_v!offset + 8 }; _memory[local_#27633] := _memory[local_#27632]; goto CFG_48587; CFG_44572: assume true; local_#27634 := 5; local_#27635 := 0; goto CFG_48586; CFG_48586: assume true; call routine_#34812_init_exp(local_#6363_v,local_#27634,local_#27635); goto CFG_39723; CFG_39723: assume true; local_#27636 := { base : local_#6362_ls!base, offset : local_#6362_ls!offset + 24 }; local_#27637 := { base : local_#6363_v!base, offset : local_#6363_v!offset + 8 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ goto CFG_48587; CFG_48587: assume true; call routine_#33908_luaX_next(local_#6362_ls); goto CFG_39429; CFG_39429: assume true; goto CFG_37965; CFG_41967: assume true; goto CFG_48587; CFG_37965: assume true; } procedure routine_#35067_singlematch(local_#6364_ms_IN : { base : int, offset : int }, local_#6365_s_IN : { base : int, offset : int }, local_#6366_p_IN : { base : int, offset : int }, local_#6367_ep_IN : { base : int, offset : int }) returns (local_#8261 : int) { var local_#6364_ms : { base : int, offset : int }; var local_#6365_s : { base : int, offset : int }; var local_#6366_p : { base : int, offset : int }; var local_#6367_ep : { base : int, offset : int }; var local_#27638 : int; var local_#27639 : int; var local_#27640 : int; var local_#32799_c : int; var local_#27641 : int; var local_#27642 : int; var local_#27643 : int; var local_#27644 : int; var local_#27645 : int; var local_#27646 : { base : int, offset : int }; var local_#27647 : int; var local_#27648 : int; var local_#27649 : { base : int, offset : int }; var local_#27650 : int; var local_#27651 : int; var local_#27652 : int; local_#6364_ms := local_#6364_ms_IN; local_#6365_s := local_#6365_s_IN; local_#6366_p := local_#6366_p_IN; local_#6367_ep := local_#6367_ep_IN; goto CFG_37055; CFG_37055: assume true; goto CFG_51172; CFG_51172: assume true; local_#27638 := (if local_#6365_s!offset >= _memory_ptr[{ base : local_#6364_ms!base, offset : local_#6364_ms!offset + 8 }]!offset then 1 else 0); if (local_#27638 != 0) { goto CFG_38965; } else { goto CFG_51570; } CFG_51570: assume true; local_#27639 := ~uwrap8(_memory[local_#6365_s]); assert { :LIR "61959" } { :check "overflow" } { :finding_ids "0" } true; local_#27640 := local_#27639; assert { :LIR "63929" } { :check "overflow" } { :finding_ids "0" } local_#27640 <= 2147483647; local_#32799_c := local_#27640; local_#27641 := _memory[local_#6366_p]; assert { :LIR "63930" } { :check "overflow" } { :finding_ids "0" } local_#27641 <= 2147483647; if (local_#27641 == 46) { goto CFG_38964; } if (local_#27641 == 37) { goto CFG_44574; } if (local_#27641 == 91) { goto CFG_44573; } goto CFG_38961; CFG_38961: assume true; local_#27642 := ~uwrap8(_memory[local_#6366_p]); assert { :LIR "61960" } { :check "overflow" } { :finding_ids "0" } true; local_#27643 := local_#27642; assert { :LIR "63931" } { :check "overflow" } { :finding_ids "0" } local_#27643 <= 2147483647; local_#27644 := (if local_#27643 == local_#32799_c then 1 else 0); local_#8261 := local_#27644; goto CFG_37966; CFG_44573: assume true; local_#27645 := 1; local_#27646 := { base : local_#6367_ep!base, offset : local_#6367_ep!offset - local_#27645 * 1 }; goto CFG_48588; CFG_48588: assume true; call local_#27647 := routine_#34917_matchbracketclass(local_#32799_c,local_#6366_p,local_#27646); goto CFG_38962; CFG_38962: assume true; local_#8261 := local_#27647; goto CFG_37966; CFG_44574: assume true; local_#27648 := 1; local_#27649 := { base : local_#6366_p!base, offset : local_#6366_p!offset + local_#27648 * 1 }; local_#27650 := ~uwrap8(_memory[local_#27649]); assert { :LIR "61961" } { :check "overflow" } { :finding_ids "0" } true; local_#27651 := local_#27650; assert { :LIR "63932" } { :check "overflow" } { :finding_ids "0" } local_#27651 <= 2147483647; goto CFG_48589; CFG_48589: assume true; call local_#27652 := routine_#34915_match_class(local_#32799_c,local_#27651); goto CFG_38963; CFG_38963: assume true; local_#8261 := local_#27652; goto CFG_37966; CFG_38964: assume true; local_#8261 := 1; goto CFG_37966; CFG_38965: assume true; local_#8261 := 0; goto CFG_37966; CFG_37966: assume true; } procedure routine_#35068_singlestep(local_#6368_L_IN : { base : int, offset : int }) returns (local_#8262 : int) modifies _memory, _memory_ptr, _valid; { var local_#6368_L : { base : int, offset : int }; var local_#32800_g : { base : int, offset : int }; var local_#27653 : int; var local_#27654 : int; var local_#27655 : int; var local_#27656 : { base : int, offset : int }; var local_#27657 : int; var local_#27658 : int; var local_#27659 : int; var local_#27660 : int; var local_#32802_n : int; var local_#27661 : int; var local_#27662 : int; var local_#27663 : int; var local_#27664 : { base : int, offset : int }; var local_#27665 : int; var local_#27666 : int; var local_#27667 : int; var local_#27668 : int; var local_#27669 : int; var local_#27670 : int; var local_#27671 : int; var local_#27672 : int; var local_#27673 : int; var local_#27674 : int; var local_#27675 : { base : int, offset : int }; var local_#27676 : int; var local_#27677 : { base : int, offset : int }; var local_#27678 : int; var local_#27679 : int; var local_#27680 : { base : int, offset : int }; var local_#27681 : int; var local_#27682 : int; var local_#27683 : { base : int, offset : int }; var local_#27684 : int; var local_#27685 : int; var local_#27686 : int; var local_#32801_work : int; var local_#27687 : int; var local_#27688 : int; var local_#27689 : int; var local_#27690 : int; var local_#27691 : { base : int, offset : int }; var local_#27692 : int; var local_#27693 : int; var local_#27694 : int; var local_#27695 : int; local_#6368_L := local_#6368_L_IN; goto CFG_37056; CFG_37056: assume true; goto CFG_51571; CFG_51571: assume true; local_#32800_g := _memory_ptr[{ base : local_#6368_L!base, offset : local_#6368_L!offset + 24 }]; local_#27653 := _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 85 }]; assert { :LIR "63933" } { :check "overflow" } { :finding_ids "0" } local_#27653 <= 2147483647; if (local_#27653 == 7) { goto CFG_44581; } if (local_#27653 == 0) { goto CFG_44580; } if (local_#27653 == 1) { goto CFG_48595; } if (local_#27653 == 2) { goto CFG_44578; } if (local_#27653 == 3) { goto CFG_44577; } if (local_#27653 == 4) { goto CFG_44576; } if (local_#27653 == 5) { goto CFG_44575; } if (local_#27653 == 6) { goto CFG_51173; } goto CFG_38966; CFG_38966: assume true; local_#27654 := 0; local_#27655 := 0; assert { :LIR "61962" } { :check "overflow" } { :finding_ids "0" } true; local_#8262 := 0; goto CFG_37967; CFG_51173: assume true; local_#27656 := _memory_ptr[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 152 }]; if (local_#27656 != { base : 0, offset : 0 }) { goto CFG_51174; } else { goto CFG_38967; } CFG_51174: assume true; local_#27657 := _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 86 }]; assert { :LIR "63934" } { :check "overflow" } { :finding_ids "0" } local_#27657 <= 2147483647; local_#27658 := 1; local_#27659 := (if local_#27657 != local_#27658 then 1 else 0); if (local_#27659 != 0) { goto CFG_48590; } else { goto CFG_38967; } CFG_38967: assume true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 85 }] := 7; local_#8262 := 0; goto CFG_37967; CFG_48590: assume true; call local_#27660 := routine_#35041_runafewfinalizers(local_#6368_L); goto CFG_38968; CFG_38968: assume true; local_#32802_n := local_#27660; local_#27661 := ~uwrap64(local_#32802_n); assert { :LIR "63935" } { :check "overflow" } { :finding_ids "0" } true; local_#27662 := 7; assume { :symbol "~uwrap64" } true; local_#27663 := ~uwrap64(local_#27661 * local_#27662); assert { :LIR "68604" } { :check "overflow" } { :finding_ids "0" } true; local_#8262 := local_#27663; goto CFG_37967; CFG_44575: assume true; local_#27664 := _memory_ptr[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 200 }]; local_#27665 := _memory[{ base : local_#27664!base, offset : local_#27664!offset + 9 }]; assert { :LIR "63936" } { :check "overflow" } { :finding_ids "0" } local_#27665 <= 2147483647; local_#27666 := -8; local_#27667 := ~sand32(local_#27665, local_#27666); local_#27668 := _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 84 }]; assert { :LIR "63937" } { :check "overflow" } { :finding_ids "0" } local_#27668 <= 2147483647; local_#27669 := 3; local_#27670 := ~sand32(local_#27668, local_#27669); local_#27671 := ~uwrap8(local_#27670); assert { :LIR "61963" } { :check "overflow" } { :finding_ids "0" } true; local_#27672 := local_#27671; assert { :LIR "63938" } { :check "overflow" } { :finding_ids "0" } local_#27672 <= 2147483647; local_#27673 := ~sor32(local_#27667, local_#27672); local_#27674 := ~uwrap8(local_#27673); assert { :LIR "61964" } { :check "overflow" } { :finding_ids "0" } true; local_#27675 := _memory_ptr[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 200 }]; _memory[{ base : local_#27675!base, offset : local_#27675!offset + 9 }] := local_#27674; goto CFG_48591; CFG_48591: assume true; call routine_#34623_checkSizes(local_#6368_L,local_#32800_g); goto CFG_38969; CFG_38969: assume true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 85 }] := 6; local_#8262 := 0; goto CFG_37967; CFG_44576: assume true; local_#27676 := 5; local_#27677 := { base : 0, offset : 0 }; goto CFG_48592; CFG_48592: assume true; call local_#27678 := routine_#35105_sweepstep(local_#6368_L,local_#32800_g,local_#27676,local_#27677); goto CFG_38970; CFG_38970: assume true; local_#8262 := local_#27678; goto CFG_37967; CFG_44577: assume true; local_#27679 := 4; local_#27680 := { base : local_#32800_g!base, offset : local_#32800_g!offset + 152 }; goto CFG_48593; CFG_48593: assume true; call local_#27681 := routine_#35105_sweepstep(local_#6368_L,local_#32800_g,local_#27679,local_#27680); goto CFG_38971; CFG_38971: assume true; local_#8262 := local_#27681; goto CFG_37967; CFG_44578: assume true; local_#27682 := 3; local_#27683 := { base : local_#32800_g!base, offset : local_#32800_g!offset + 104 }; goto CFG_48594; CFG_48594: assume true; call local_#27684 := routine_#35105_sweepstep(local_#6368_L,local_#32800_g,local_#27682,local_#27683); goto CFG_38972; CFG_38972: assume true; local_#8262 := local_#27684; goto CFG_37967; CFG_48595: assume true; call routine_#34998_propagateall(local_#32800_g); goto CFG_48596; CFG_48596: assume true; call local_#27685 := routine_#34585_atomic(local_#6368_L); goto CFG_44579; CFG_44579: assume true; local_#27686 := ~uwrap64(local_#27685); assert { :LIR "63939" } { :check "overflow" } { :finding_ids "0" } true; local_#32801_work := local_#27686; goto CFG_48597; CFG_48597: assume true; call routine_#34712_entersweep(local_#6368_L); goto CFG_38973; CFG_38973: assume true; local_#27687 := _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 16 }] + _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 24 }]; assert { :LIR "66823" } { :check "overflow" } { :finding_ids "0" } local_#27687 <= 9223372036854775807; local_#27688 := ~uwrap64(local_#27687); assert { :LIR "61965" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 40 }] := local_#27688; local_#8262 := local_#32801_work; goto CFG_37967; CFG_44580: assume true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 32 }] := 0; local_#27689 := 0; local_#27690 := 0; assert { :LIR "61966" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48598; CFG_48598: assume true; call routine_#34999_propagatemark(local_#32800_g); goto CFG_51175; CFG_51175: assume true; local_#27691 := { base : 0, offset : 0 }; local_#27692 := (if _memory_ptr[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 112 }] == local_#27691 then 1 else 0); if (local_#27692 != 0) { goto CFG_41373; } else { goto CFG_38974; } CFG_41373: assume true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 85 }] := 1; goto CFG_38974; CFG_38974: assume true; local_#8262 := _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 32 }]; goto CFG_37967; CFG_44581: assume true; local_#27693 := ~uwrap64(_memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 60 }]); assert { :LIR "63940" } { :check "overflow" } { :finding_ids "0" } true; local_#27694 := 8; assume { :symbol "~uwrap64" } true; local_#27695 := ~uwrap64(local_#27693 * local_#27694); assert { :LIR "68605" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 32 }] := local_#27695; goto CFG_48599; CFG_48599: assume true; call routine_#35036_restartcollection(local_#32800_g); goto CFG_38975; CFG_38975: assume true; _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 85 }] := 0; local_#8262 := _memory[{ base : local_#32800_g!base, offset : local_#32800_g!offset + 32 }]; goto CFG_37967; CFG_37967: assume true; } procedure routine_#35069_singlevar(local_#6369_ls_IN : { base : int, offset : int }, local_#6370_var_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6369_ls : { base : int, offset : int }; var local_#6370_var : { base : int, offset : int }; var local_#27696 : { base : int, offset : int }; var local_#32804_varname : { base : int, offset : int }; var local_#32803_fs : { base : int, offset : int }; var local_#27697 : int; var local_#27698 : int; var local_#27699 : int; var local_#27700 : int; var local_#27701 : { base : int, offset : int }; var local_#27702 : int; var local_#27703 : int; var local_#27704 : int; var local_#32805_key : { base : int, offset : int }; var local_#27705 : { base : int, offset : int }; var local_#27706 : { base : int, offset : int }; local_#6369_ls := local_#6369_ls_IN; local_#6370_var := local_#6370_var_IN; goto CFG_37057; CFG_37057: assume true; goto CFG_48600; CFG_48600: assume true; call local_#27696 := routine_#35085_str_checkname(local_#6369_ls); goto CFG_44582; CFG_44582: assume true; local_#32804_varname := local_#27696; local_#32803_fs := _memory_ptr[{ base : local_#6369_ls!base, offset : local_#6369_ls!offset + 48 }]; local_#27697 := 1; goto CFG_48601; CFG_48601: assume true; call routine_#35070_singlevaraux(local_#32803_fs,local_#32804_varname,local_#6370_var,local_#27697); goto CFG_51176; CFG_51176: assume true; local_#27698 := ~uwrap32(_memory[{ base : local_#6370_var!base, offset : local_#6370_var!offset + 0 }]); assert { :LIR "63941" } { :check "overflow" } { :finding_ids "0" } true; local_#27699 := 0; local_#27700 := (if local_#27698 == local_#27699 then 1 else 0); if (local_#27700 != 0) { goto CFG_44583; } else { goto CFG_39430; } CFG_44583: assume true; local_#27701 := _memory_ptr[{ base : local_#6369_ls!base, offset : local_#6369_ls!offset + 104 }]; local_#27702 := 1; goto CFG_48602; CFG_48602: assume true; call routine_#35070_singlevaraux(local_#32803_fs,local_#27701,local_#6370_var,local_#27702); goto CFG_44584; CFG_44584: assume true; local_#27703 := 0; local_#27704 := 0; assert { :LIR "61967" } { :check "overflow" } { :finding_ids "0" } true; local_#27705 := local_#32805_key; goto CFG_48603; CFG_48603: assume true; call routine_#34658_codestring(local_#6369_ls,local_#27705,local_#32804_varname); goto CFG_44585; CFG_44585: assume true; local_#27706 := local_#32805_key; goto CFG_48604; CFG_48604: assume true; call routine_#33794_luaK_indexed(local_#32803_fs,local_#6370_var,local_#27706); goto CFG_41374; CFG_41374: assume true; goto CFG_39430; CFG_39430: assume true; goto CFG_37968; CFG_37968: assume true; } procedure routine_#35070_singlevaraux(local_#6371_fs_IN : { base : int, offset : int }, local_#6372_n_IN : { base : int, offset : int }, local_#6373_var_IN : { base : int, offset : int }, local_#6374_base_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6371_fs : { base : int, offset : int }; var local_#6372_n : { base : int, offset : int }; var local_#6373_var : { base : int, offset : int }; var local_#6374_base : int; var local_#27707 : { base : int, offset : int }; var local_#27708 : int; var local_#27709 : int; var local_#32806_v : int; var local_#27710 : int; var local_#27711 : int; var local_#27712 : int; var local_#32807_idx : int; var local_#27713 : int; var local_#27714 : int; var local_#27715 : { base : int, offset : int }; var local_#27716 : int; var local_#27717 : int; var local_#27718 : int; var local_#27719 : int; var local_#27720 : int; var local_#27721 : int; var local_#27722 : int; var local_#27723 : int; var local_#27724 : int; var local_#27725 : int; local_#6371_fs := local_#6371_fs_IN; local_#6372_n := local_#6372_n_IN; local_#6373_var := local_#6373_var_IN; local_#6374_base := local_#6374_base_IN; goto CFG_37058; CFG_37058: assume true; goto CFG_51177; CFG_51177: assume true; local_#27707 := { base : 0, offset : 0 }; local_#27708 := (if local_#6371_fs == local_#27707 then 1 else 0); if (local_#27708 != 0) { goto CFG_44589; } else { goto CFG_48605; } CFG_48605: assume true; call local_#27709 := routine_#35051_searchvar(local_#6371_fs,local_#6372_n); goto CFG_51178; CFG_51178: assume true; local_#32806_v := local_#27709; local_#27710 := 0; local_#27711 := (if local_#32806_v >= local_#27710 then 1 else 0); if (local_#27711 != 0) { goto CFG_44588; } else { goto CFG_48606; } CFG_48606: assume true; call local_#27712 := routine_#35050_searchupvalue(local_#6371_fs,local_#6372_n); goto CFG_51179; CFG_51179: assume true; local_#32807_idx := local_#27712; local_#27713 := 0; local_#27714 := (if local_#32807_idx < local_#27713 then 1 else 0); if (local_#27714 != 0) { goto CFG_44586; } else { goto CFG_44587; } CFG_44586: assume true; local_#27715 := _memory_ptr[{ base : local_#6371_fs!base, offset : local_#6371_fs!offset + 8 }]; local_#27716 := 0; goto CFG_48607; CFG_48607: assume true; call routine_#35070_singlevaraux(local_#27715,local_#6372_n,local_#6373_var,local_#27716); goto CFG_51180; CFG_51180: assume true; local_#27717 := ~uwrap32(_memory[{ base : local_#6373_var!base, offset : local_#6373_var!offset + 0 }]); assert { :LIR "63942" } { :check "overflow" } { :finding_ids "0" } true; local_#27718 := 0; local_#27719 := (if local_#27717 == local_#27718 then 1 else 0); if (local_#27719 != 0) { goto CFG_39431; } else { goto CFG_48608; } CFG_48608: assume true; call local_#27720 := routine_#34962_newupvalue(local_#6371_fs,local_#6372_n,local_#6373_var); goto CFG_41375; CFG_41375: assume true; local_#32807_idx := local_#27720; goto CFG_44587; CFG_44587: assume true; local_#27721 := 9; goto CFG_48609; CFG_48609: assume true; call routine_#34812_init_exp(local_#6373_var,local_#27721,local_#32807_idx); goto CFG_41376; CFG_41376: assume true; goto CFG_41379; CFG_39431: assume true; goto CFG_37969; CFG_44588: assume true; local_#27722 := 8; goto CFG_48610; CFG_48610: assume true; call routine_#34812_init_exp(local_#6373_var,local_#27722,local_#32806_v); goto CFG_51181; CFG_51181: assume true; local_#27723 := (if local_#6374_base != 0 then 0 else 1); if (local_#27723 != 0) { goto CFG_48611; } else { goto CFG_41378; } CFG_48611: assume true; call routine_#34912_markupval(local_#6371_fs,local_#32806_v); goto CFG_41377; CFG_41377: assume true; goto CFG_41378; CFG_41378: assume true; goto CFG_41379; CFG_41379: assume true; goto CFG_39432; CFG_44589: assume true; local_#27724 := 0; local_#27725 := 0; goto CFG_48612; CFG_48612: assume true; call routine_#34812_init_exp(local_#6373_var,local_#27724,local_#27725); goto CFG_41380; CFG_41380: assume true; goto CFG_39432; CFG_39432: assume true; goto CFG_37969; CFG_37969: assume true; } procedure routine_#35071_skipBOM(local_#6375_lf_IN : { base : int, offset : int }) returns (local_#8263 : int) modifies _memory; { var local_#6375_lf : { base : int, offset : int }; var local_#27726 : { base : int, offset : int }; var local_#27727 : { base : int, offset : int }; var local_#32809_p : { base : int, offset : int }; var local_#27728 : { base : int, offset : int }; var local_#27729 : int; var local_#32808_c : int; var local_#27730 : int; var local_#27731 : int; var local_#27732 : { base : int, offset : int }; var local_#27733 : int; var local_#27734 : { base : int, offset : int }; var local_#27735 : int; var local_#27736 : int; var local_#27737 : int; var local_#27738 : { base : int, offset : int }; var local_#27739 : int; var local_#27740 : int; var local_#27741 : { base : int, offset : int }; var local_#27742 : int; var local_#27743 : int; var local_#27744 : int; var local_#27745 : { base : int, offset : int }; var local_#27746 : int; local_#6375_lf := local_#6375_lf_IN; goto CFG_37059; CFG_37059: assume true; goto CFG_41841; CFG_41841: assume true; assume _memory[{ base : strlit_#70828!base, offset : strlit_#70828!offset + 0 }] == 239 && _memory[{ base : strlit_#70828!base, offset : strlit_#70828!offset + 1 }] == 187 && _memory[{ base : strlit_#70828!base, offset : strlit_#70828!offset + 2 }] == 191 && _memory[{ base : strlit_#70828!base, offset : strlit_#70828!offset + 3 }] == 0; local_#27726 := strlit_#70828; local_#27727 := { base : local_#27726!base, offset : local_#27726!offset + 0 * 1 }; assert { :LIR "63943" } { :check "overflow" } { :finding_ids "0" } true; local_#32809_p := local_#27727; _memory[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 0 }] := 0; goto CFG_44590; CFG_44590: assume true; local_#27728 := _memory_ptr[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 8 }]; goto CFG_48613; CFG_48613: assume true; call local_#27729 := routine_#33603_getc(local_#27728); goto CFG_51182; CFG_51182: assume true; local_#32808_c := local_#27729; local_#27730 := -1; local_#27731 := (if local_#32808_c == local_#27730 then 1 else 0); if (local_#27731 != 0) { goto CFG_38977; } else { goto CFG_51183; } CFG_51183: assume true; local_#27732 := local_#32809_p; local_#27733 := 1; local_#32809_p := { base : local_#27732!base, offset : local_#27732!offset + local_#27733 * 1 }; local_#27734 := local_#27732; assert { :LIR "61968" } { :check "overflow" } { :finding_ids "0" } true; local_#27735 := _memory[local_#27734]; assert { :LIR "63944" } { :check "overflow" } { :finding_ids "0" } local_#27735 <= 2147483647; local_#27736 := (if local_#32808_c != local_#27735 then 1 else 0); if (local_#27736 != 0) { goto CFG_38977; } else { goto CFG_44591; } CFG_44591: assume true; local_#27737 := local_#32808_c; assert { :LIR "63945" } { :check "overflow" } { :finding_ids "0" } local_#27737 <= 127; local_#27738 := { base : local_#6375_lf!base, offset : local_#6375_lf!offset + 16 }; local_#27739 := _memory[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 0 }]; local_#27740 := 1; _memory[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 0 }] := local_#27739 + local_#27740; assert { :LIR "66824" } { :check "overflow" } { :finding_ids "0" } _memory[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 0 }] <= -1; local_#27741 := { base : local_#27738!base, offset : local_#27738!offset + 0 * 1 + local_#27739 * 1 }; _memory[local_#27741] := local_#27737; goto CFG_51184; CFG_51184: assume true; local_#27742 := _memory[local_#32809_p]; assert { :LIR "63946" } { :check "overflow" } { :finding_ids "0" } local_#27742 <= 2147483647; local_#27743 := 0; local_#27744 := (if local_#27742 != local_#27743 then 1 else 0); if (local_#27744 != 0) { goto CFG_45182; } else { goto CFG_44592; } CFG_44592: assume true; _memory[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 0 }] := 0; local_#27745 := _memory_ptr[{ base : local_#6375_lf!base, offset : local_#6375_lf!offset + 8 }]; goto CFG_48614; CFG_48614: assume true; call local_#27746 := routine_#33603_getc(local_#27745); goto CFG_38976; CFG_38976: assume true; local_#8263 := local_#27746; goto CFG_37970; CFG_45182: assume true; goto CFG_44590; CFG_38977: assume true; local_#8263 := local_#32808_c; goto CFG_37970; CFG_37970: assume true; } procedure routine_#35072_skip_sep(local_#6376_ls_IN : { base : int, offset : int }) returns (local_#8264 : int) modifies _memory, _memory_ptr, _valid; { var local_#6376_ls : { base : int, offset : int }; var local_#32810_count : int; var local_#32811_s : int; var local_#27747 : int; var local_#27748 : int; var local_#27749 : int; var local_#27750 : { base : int, offset : int }; var local_#27751 : int; var local_#27752 : int; var local_#27753 : int; var local_#27754 : int; var local_#27755 : { base : int, offset : int }; var local_#27756 : int; var local_#30860 : int; var local_#27757 : { base : int, offset : int }; var local_#27758 : { base : int, offset : int }; var local_#27759 : int; var local_#27760 : int; var local_#27761 : int; var local_#27762 : int; var local_#27763 : int; var local_#27764 : int; var local_#27765 : int; var local_#27766 : int; var local_#27767 : int; var local_#27768 : int; var local_#27769 : int; var local_#30861 : int; var local_#27770 : int; var local_#27771 : { base : int, offset : int }; var local_#27772 : int; var local_#27773 : int; var local_#27774 : int; var local_#27775 : int; var local_#27776 : { base : int, offset : int }; var local_#27777 : int; var local_#30862 : int; var local_#27778 : { base : int, offset : int }; var local_#27779 : { base : int, offset : int }; var local_#27780 : int; var local_#27781 : int; var local_#27782 : int; var local_#27783 : int; var local_#27784 : int; var local_#27785 : int; var local_#27786 : int; var local_#27787 : int; local_#6376_ls := local_#6376_ls_IN; goto CFG_37060; CFG_37060: assume true; goto CFG_44593; CFG_44593: assume true; local_#32810_count := 0; local_#32811_s := _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }]; local_#27747 := 0; local_#27748 := 0; assert { :LIR "61969" } { :check "overflow" } { :finding_ids "0" } true; local_#27749 := _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }]; goto CFG_48615; CFG_48615: assume true; call routine_#35043_save(local_#6376_ls,local_#27749); goto CFG_51185; CFG_51185: assume true; local_#27750 := _memory_ptr[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 64 }]; local_#27751 := _memory[{ base : local_#27750!base, offset : local_#27750!offset + 0 }]; local_#27752 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#27750!base, offset : local_#27750!offset + 0 }] := ~uwrap64(local_#27751 - local_#27752); assert { :LIR "68164" } { :check "overflow" } { :finding_ids "0" } true; local_#27753 := 0; local_#27754 := (if local_#27751 > local_#27753 then 1 else 0); if (local_#27754 != 0) { goto CFG_41382; } else { goto CFG_44594; } CFG_44594: assume true; local_#27755 := _memory_ptr[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 64 }]; goto CFG_48616; CFG_48616: assume true; call local_#27756 := routine_#33913_luaZ_fill(local_#27755); goto CFG_41381; CFG_41381: assume true; local_#30860 := local_#27756; goto CFG_41842; CFG_41382: assume true; local_#27757 := _memory_ptr[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 64 }]; local_#27758 := _memory_ptr[{ base : local_#27757!base, offset : local_#27757!offset + 8 }]; local_#27759 := 1; _memory_ptr[{ base : local_#27757!base, offset : local_#27757!offset + 8 }] := { base : local_#27758!base, offset : local_#27758!offset + local_#27759 * 1 }; local_#27760 := ~uwrap8(_memory[local_#27758]); assert { :LIR "61970" } { :check "overflow" } { :finding_ids "0" } true; local_#27761 := local_#27760; assert { :LIR "63947" } { :check "overflow" } { :finding_ids "0" } local_#27761 <= 2147483647; local_#30860 := local_#27761; goto CFG_41842; CFG_41842: assume true; _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }] := local_#30860; local_#27762 := _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }]; local_#27763 := local_#27762; goto CFG_51186; CFG_51186: assume true; local_#27764 := 61; local_#27765 := (if _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }] == local_#27764 then 1 else 0); if (local_#27765 != 0) { goto CFG_44595; } else { goto CFG_51187; } CFG_51187: assume true; local_#27766 := (if _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }] == local_#32811_s then 1 else 0); if (local_#27766 != 0) { goto CFG_41384; } else { goto CFG_41383; } CFG_41383: assume true; local_#27767 := -local_#32810_count; assert { :LIR "64670" } { :check "overflow" } { :finding_ids "0" } local_#27767 <= 2147483647; local_#27768 := 1; local_#27769 := local_#27767 - local_#27768; assert { :LIR "68165" } { :check "overflow" } { :finding_ids "0" } local_#27769 <= 2147483647; local_#30861 := local_#27769; goto CFG_38978; CFG_41384: assume true; local_#30861 := local_#32810_count; goto CFG_38978; CFG_38978: assume true; local_#8264 := local_#30861; goto CFG_37971; CFG_44595: assume true; local_#27770 := _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }]; goto CFG_48617; CFG_48617: assume true; call routine_#35043_save(local_#6376_ls,local_#27770); goto CFG_51188; CFG_51188: assume true; local_#27771 := _memory_ptr[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 64 }]; local_#27772 := _memory[{ base : local_#27771!base, offset : local_#27771!offset + 0 }]; local_#27773 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#27771!base, offset : local_#27771!offset + 0 }] := ~uwrap64(local_#27772 - local_#27773); assert { :LIR "68166" } { :check "overflow" } { :finding_ids "0" } true; local_#27774 := 0; local_#27775 := (if local_#27772 > local_#27774 then 1 else 0); if (local_#27775 != 0) { goto CFG_41386; } else { goto CFG_44596; } CFG_44596: assume true; local_#27776 := _memory_ptr[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 64 }]; goto CFG_48618; CFG_48618: assume true; call local_#27777 := routine_#33913_luaZ_fill(local_#27776); goto CFG_41385; CFG_41385: assume true; local_#30862 := local_#27777; goto CFG_45183; CFG_41386: assume true; local_#27778 := _memory_ptr[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 64 }]; local_#27779 := _memory_ptr[{ base : local_#27778!base, offset : local_#27778!offset + 8 }]; local_#27780 := 1; _memory_ptr[{ base : local_#27778!base, offset : local_#27778!offset + 8 }] := { base : local_#27779!base, offset : local_#27779!offset + local_#27780 * 1 }; local_#27781 := ~uwrap8(_memory[local_#27779]); assert { :LIR "61971" } { :check "overflow" } { :finding_ids "0" } true; local_#27782 := local_#27781; assert { :LIR "63948" } { :check "overflow" } { :finding_ids "0" } local_#27782 <= 2147483647; local_#30862 := local_#27782; goto CFG_45183; CFG_45183: assume true; _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }] := local_#30862; local_#27783 := _memory[{ base : local_#6376_ls!base, offset : local_#6376_ls!offset + 0 }]; local_#27784 := local_#27783; local_#27785 := local_#32810_count; local_#27786 := 1; local_#32810_count := local_#27785 + local_#27786; assert { :LIR "66825" } { :check "overflow" } { :finding_ids "0" } local_#32810_count <= 2147483647; local_#27787 := local_#27785; goto CFG_51186; CFG_37971: assume true; } procedure routine_#35073_skipcomment(local_#6377_lf_IN : { base : int, offset : int }, local_#6378_cp_IN : { base : int, offset : int }) returns (local_#8265 : int) modifies _memory; { var local_#6377_lf : { base : int, offset : int }; var local_#6378_cp : { base : int, offset : int }; var local_#27788 : int; var local_#32812_c : int; var local_#27789 : int; var local_#27790 : int; var local_#27791 : { base : int, offset : int }; var local_#27792 : int; var local_#27793 : int; var local_#27794 : int; var local_#27795 : int; var local_#27796 : int; var local_#27797 : { base : int, offset : int }; var local_#27798 : int; local_#6377_lf := local_#6377_lf_IN; local_#6378_cp := local_#6378_cp_IN; goto CFG_37061; CFG_37061: assume true; goto CFG_48619; CFG_48619: assume true; call local_#27788 := routine_#35071_skipBOM(local_#6377_lf); goto CFG_51189; CFG_51189: assume true; _memory[local_#6378_cp] := local_#27788; local_#32812_c := _memory[local_#6378_cp]; local_#27789 := 35; local_#27790 := (if local_#32812_c == local_#27789 then 1 else 0); if (local_#27790 != 0) { goto CFG_41843; } else { goto CFG_38979; } CFG_38979: assume true; local_#8265 := 0; goto CFG_37972; CFG_41843: assume true; goto CFG_44597; CFG_44597: assume true; local_#27791 := _memory_ptr[{ base : local_#6377_lf!base, offset : local_#6377_lf!offset + 8 }]; goto CFG_48620; CFG_48620: assume true; call local_#27792 := routine_#33603_getc(local_#27791); goto CFG_44598; CFG_44598: assume true; local_#32812_c := local_#27792; goto CFG_51190; CFG_51190: assume true; local_#27793 := -1; local_#27794 := (if local_#32812_c != local_#27793 then 1 else 0); if (local_#27794 != 0) { goto CFG_51191; } else { goto CFG_44599; } CFG_51191: assume true; local_#27795 := 10; local_#27796 := (if local_#32812_c != local_#27795 then 1 else 0); if (local_#27796 != 0) { goto CFG_45184; } else { goto CFG_44599; } CFG_44599: assume true; local_#27797 := _memory_ptr[{ base : local_#6377_lf!base, offset : local_#6377_lf!offset + 8 }]; goto CFG_48621; CFG_48621: assume true; call local_#27798 := routine_#33603_getc(local_#27797); goto CFG_38980; CFG_38980: assume true; _memory[local_#6378_cp] := local_#27798; local_#8265 := 1; goto CFG_37972; CFG_45184: assume true; goto CFG_44597; CFG_37972: assume true; } procedure routine_#35074_skipnoopstat(local_#6379_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6379_ls : { base : int, offset : int }; var local_#27799 : int; var local_#27800 : int; var local_#27801 : int; var local_#27802 : int; local_#6379_ls := local_#6379_ls_IN; goto CFG_37062; CFG_37062: assume true; goto CFG_41844; CFG_41844: assume true; goto CFG_51192; CFG_51192: assume true; local_#27799 := 59; local_#27800 := (if _memory[{ base : local_#6379_ls!base, offset : local_#6379_ls!offset + 16 }] == local_#27799 then 1 else 0); if (local_#27800 != 0) { goto CFG_48622; } else { goto CFG_51193; } CFG_51193: assume true; local_#27801 := 288; local_#27802 := (if _memory[{ base : local_#6379_ls!base, offset : local_#6379_ls!offset + 16 }] == local_#27801 then 1 else 0); if (local_#27802 != 0) { goto CFG_48622; } else { goto CFG_39433; } CFG_39433: assume true; goto CFG_37973; CFG_48622: assume true; call routine_#35081_statement(local_#6379_ls); goto CFG_45185; CFG_45185: assume true; goto CFG_51192; CFG_37973: assume true; } procedure routine_#35075_sort(local_#6380_L_IN : { base : int, offset : int }) returns (local_#8266 : int) modifies _memory, _memory_ptr, _valid; { var local_#6380_L : { base : int, offset : int }; var local_#27803 : int; var local_#27804 : int; var local_#27805 : int; var local_#27806 : int; var local_#32813_n : int; var local_#27807 : int; var local_#27808 : int; var local_#27809 : int; var local_#27810 : int; var local_#27811 : int; var local_#27812 : { base : int, offset : int }; var local_#27813 : { base : int, offset : int }; var local_#27814 : int; var local_#27815 : int; var local_#30863 : int; var local_#27816 : int; var local_#27817 : int; var local_#27818 : int; var local_#27819 : int; var local_#27820 : int; var local_#27821 : int; var local_#27822 : int; var local_#27823 : int; var local_#27824 : int; var local_#27825 : int; var local_#27826 : int; var local_#27827 : int; local_#6380_L := local_#6380_L_IN; goto CFG_37063; CFG_37063: assume true; goto CFG_44600; CFG_44600: assume true; local_#27803 := 1; local_#27804 := 7; goto CFG_48623; CFG_48623: assume true; call routine_#34641_checktab(local_#6380_L,local_#27803,local_#27804); goto CFG_44601; CFG_44601: assume true; local_#27805 := 1; goto CFG_48624; CFG_48624: assume true; call local_#27806 := routine_#33834_luaL_len(local_#6380_L,local_#27805); goto CFG_51194; CFG_51194: assume true; local_#32813_n := local_#27806; local_#27807 := 1; local_#27808 := (if local_#32813_n > local_#27807 then 1 else 0); if (local_#27808 != 0) { goto CFG_51195; } else { goto CFG_38981; } CFG_51195: assume true; local_#27809 := 2147483647; local_#27810 := (if local_#32813_n < local_#27809 then 1 else 0); if (local_#27810 != 0) { goto CFG_41388; } else { goto CFG_44602; } CFG_44602: assume true; local_#27811 := 1; assume _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 0 }] == 97 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 1 }] == 114 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 2 }] == 114 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 3 }] == 97 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 4 }] == 121 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 5 }] == 32 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 6 }] == 116 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 7 }] == 111 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 8 }] == 111 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 9 }] == 32 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 10 }] == 98 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 11 }] == 105 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 12 }] == 103 && _memory[{ base : strlit_#70829!base, offset : strlit_#70829!offset + 13 }] == 0; local_#27812 := strlit_#70829; local_#27813 := { base : local_#27812!base, offset : local_#27812!offset + 0 * 1 }; assert { :LIR "63949" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48625; CFG_48625: assume true; call local_#27814 := routine_#33815_luaL_argerror(local_#6380_L,local_#27811,local_#27813); goto CFG_51196; CFG_51196: assume true; local_#27815 := local_#27814; if (local_#27815 != 0) { goto CFG_41388; } else { goto CFG_41387; } CFG_41387: assume true; local_#30863 := 0; goto CFG_44603; CFG_41388: assume true; local_#30863 := 1; goto CFG_44603; CFG_44603: assume true; local_#27816 := 0; assert { :LIR "61972" } { :check "overflow" } { :finding_ids "0" } true; local_#27817 := 2; goto CFG_48626; CFG_48626: assume true; call local_#27818 := routine_#34000_lua_type(local_#6380_L,local_#27817); goto CFG_51197; CFG_51197: assume true; local_#27819 := 0; local_#27820 := (if local_#27818 <= local_#27819 then 1 else 0); local_#27821 := (if local_#27820 != 0 then 0 else 1); if (local_#27821 != 0) { goto CFG_44604; } else { goto CFG_44605; } CFG_44604: assume true; local_#27822 := 2; local_#27823 := 6; goto CFG_48627; CFG_48627: assume true; call routine_#33825_luaL_checktype(local_#6380_L,local_#27822,local_#27823); goto CFG_41389; CFG_41389: assume true; goto CFG_44605; CFG_44605: assume true; local_#27824 := 2; goto CFG_48628; CFG_48628: assume true; call routine_#33987_lua_settop(local_#6380_L,local_#27824); goto CFG_44606; CFG_44606: assume true; local_#27825 := 1; local_#27826 := ~uwrap32(local_#32813_n); assert { :LIR "61973" } { :check "overflow" } { :finding_ids "0" } true; local_#27827 := 0; goto CFG_48629; CFG_48629: assume true; call routine_#34594_auxsort(local_#6380_L,local_#27825,local_#27826,local_#27827); goto CFG_41390; CFG_41390: assume true; goto CFG_38981; CFG_38981: assume true; local_#8266 := 0; goto CFG_37974; CFG_37974: assume true; } procedure routine_#35076_sort_comp(local_#6381_L_IN : { base : int, offset : int }, local_#6382_a_IN : int, local_#6383_b_IN : int) returns (local_#8267 : int) modifies _memory, _memory_ptr, _valid; { var local_#6381_L : { base : int, offset : int }; var local_#6382_a : int; var local_#6383_b : int; var local_#27828 : int; var local_#27829 : int; var local_#27830 : int; var local_#27831 : int; var local_#27832 : int; var local_#27833 : int; var local_#27834 : int; var local_#27835 : int; var local_#27836 : int; var local_#27837 : int; var local_#27838 : int; var local_#27839 : int; var local_#27840 : { base : int, offset : int }; var local_#27841 : int; var local_#27842 : int; var local_#32814_res : int; var local_#27843 : int; var local_#27844 : int; var local_#27845 : int; local_#6381_L := local_#6381_L_IN; local_#6382_a := local_#6382_a_IN; local_#6383_b := local_#6383_b_IN; goto CFG_37064; CFG_37064: assume true; goto CFG_44607; CFG_44607: assume true; local_#27828 := 2; goto CFG_48630; CFG_48630: assume true; call local_#27829 := routine_#34000_lua_type(local_#6381_L,local_#27828); goto CFG_51198; CFG_51198: assume true; local_#27830 := 0; local_#27831 := (if local_#27829 == local_#27830 then 1 else 0); if (local_#27831 != 0) { goto CFG_44614; } else { goto CFG_44608; } CFG_44608: assume true; local_#27832 := 2; goto CFG_48631; CFG_48631: assume true; call routine_#33967_lua_pushvalue(local_#6381_L,local_#27832); goto CFG_44609; CFG_44609: assume true; local_#27833 := 1; local_#27834 := local_#6382_a - local_#27833; assert { :LIR "68167" } { :check "overflow" } { :finding_ids "0" } local_#27834 <= 2147483647; goto CFG_48632; CFG_48632: assume true; call routine_#33967_lua_pushvalue(local_#6381_L,local_#27834); goto CFG_44610; CFG_44610: assume true; local_#27835 := 2; local_#27836 := local_#6383_b - local_#27835; assert { :LIR "68168" } { :check "overflow" } { :finding_ids "0" } local_#27836 <= 2147483647; goto CFG_48633; CFG_48633: assume true; call routine_#33967_lua_pushvalue(local_#6381_L,local_#27836); goto CFG_44611; CFG_44611: assume true; local_#27837 := 2; local_#27838 := 1; local_#27839 := 0; local_#27840 := { base : 0, offset : 0 }; goto CFG_48634; CFG_48634: assume true; call routine_#33919_lua_callk(local_#6381_L,local_#27837,local_#27838,local_#27839,local_#27840); goto CFG_44612; CFG_44612: assume true; local_#27841 := -1; goto CFG_48635; CFG_48635: assume true; call local_#27842 := routine_#33992_lua_toboolean(local_#6381_L,local_#27841); goto CFG_44613; CFG_44613: assume true; local_#32814_res := local_#27842; local_#27843 := -2; goto CFG_48636; CFG_48636: assume true; call routine_#33987_lua_settop(local_#6381_L,local_#27843); goto CFG_38982; CFG_38982: assume true; local_#8267 := local_#32814_res; goto CFG_37975; CFG_44614: assume true; local_#27844 := 1; goto CFG_48637; CFG_48637: assume true; call local_#27845 := routine_#33922_lua_compare(local_#6381_L,local_#6382_a,local_#6383_b,local_#27844); goto CFG_38983; CFG_38983: assume true; local_#8267 := local_#27845; goto CFG_37975; CFG_37975: assume true; } procedure routine_#35077_stack_init(local_#6384_L1_IN : { base : int, offset : int }, local_#6385_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6384_L1 : { base : int, offset : int }; var local_#6385_L : { base : int, offset : int }; var local_#27846 : int; var local_#27847 : int; var local_#27848 : int; var local_#27849 : { base : int, offset : int }; var local_#27850 : int; var local_#27851 : int; var local_#27852 : { base : int, offset : int }; var local_#27853 : { base : int, offset : int }; var local_#32816_i : int; var local_#27854 : int; var local_#27855 : int; var local_#27856 : { base : int, offset : int }; var local_#27857 : int; var local_#27858 : { base : int, offset : int }; var local_#32815_ci : { base : int, offset : int }; var local_#27859 : int; var local_#27860 : { base : int, offset : int }; var local_#27861 : int; var local_#27862 : int; var local_#27863 : { base : int, offset : int }; var local_#27864 : int; var local_#27865 : { base : int, offset : int }; var local_#27866 : int; var local_#27867 : int; var local_#27868 : int; local_#6384_L1 := local_#6384_L1_IN; local_#6385_L := local_#6385_L_IN; goto CFG_37065; CFG_37065: assume true; goto CFG_51199; CFG_51199: assume true; local_#27846 := 0; if (local_#27846 != 0) { goto CFG_48639; } else { goto CFG_41391; } CFG_41391: assume true; local_#27847 := 0; local_#27848 := 0; assert { :LIR "61974" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44615; CFG_44615: assume true; local_#27849 := { base : 0, offset : 0 }; local_#27850 := 0; local_#27851 := 640; goto CFG_48638; CFG_48638: assume true; call local_#27852 := routine_#33857_luaM_realloc_(local_#6385_L,local_#27849,local_#27850,local_#27851); goto CFG_41845; CFG_41845: assume true; local_#27853 := local_#27852; assert { :LIR "61975" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 56 }] := local_#27853; _memory[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 184 }] := 40; local_#32816_i := 0; goto CFG_51200; CFG_51200: assume true; local_#27854 := 40; local_#27855 := (if local_#32816_i < local_#27854 then 1 else 0); if (local_#27855 != 0) { goto CFG_44616; } else { goto CFG_39434; } CFG_39434: assume true; _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 16 }] := _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 56 }]; local_#27856 := { base : _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 56 }]!offset + _memory[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 184 }] * 16 }; local_#27857 := 5; local_#27858 := { base : local_#27856!base, offset : local_#27856!offset - local_#27857 * 16 }; _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 48 }] := local_#27858; local_#32815_ci := { base : local_#6384_L1!base, offset : local_#6384_L1!offset + 96 }; _memory_ptr[{ base : local_#32815_ci!base, offset : local_#32815_ci!offset + 16 }] := { base : 0, offset : 0 }; _memory_ptr[{ base : local_#32815_ci!base, offset : local_#32815_ci!offset + 24 }] := _memory_ptr[{ base : local_#32815_ci!base, offset : local_#32815_ci!offset + 16 }]; _memory[{ base : local_#32815_ci!base, offset : local_#32815_ci!offset + 66 }] := 0; _memory_ptr[{ base : local_#32815_ci!base, offset : local_#32815_ci!offset + 0 }] := _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 16 }]; local_#27859 := 0; local_#27860 := _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 16 }]; local_#27861 := 1; _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 16 }] := { base : local_#27860!base, offset : local_#27860!offset + local_#27861 * 16 }; _memory[{ base : local_#27860!base, offset : local_#27860!offset + 8 }] := local_#27859; local_#27862 := 20; local_#27863 := { base : _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 16 }]!offset + local_#27862 * 16 }; _memory_ptr[{ base : local_#32815_ci!base, offset : local_#32815_ci!offset + 8 }] := local_#27863; _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 32 }] := local_#32815_ci; goto CFG_37976; CFG_44616: assume true; local_#27864 := 0; local_#27865 := { base : _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#6384_L1!base, offset : local_#6384_L1!offset + 56 }]!offset + local_#32816_i * 16 }; _memory[{ base : local_#27865!base, offset : local_#27865!offset + 8 }] := local_#27864; goto CFG_45186; CFG_45186: assume true; local_#27866 := local_#32816_i; local_#27867 := 1; local_#32816_i := local_#27866 + local_#27867; assert { :LIR "66826" } { :check "overflow" } { :finding_ids "0" } local_#32816_i <= 2147483647; local_#27868 := local_#27866; goto CFG_51200; CFG_48639: assume true; call routine_#33858_luaM_toobig(local_#6385_L); CFG_41392: assume true; goto CFG_44615; CFG_37976: assume true; } procedure routine_#35078_stackerror(local_#6386_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6386_L : { base : int, offset : int }; var local_#27869 : int; var local_#27870 : int; var local_#27871 : int; var local_#27872 : int; var local_#27873 : int; var local_#27874 : int; var local_#27875 : int; var local_#27876 : { base : int, offset : int }; var local_#27877 : { base : int, offset : int }; local_#6386_L := local_#6386_L_IN; goto CFG_37066; CFG_37066: assume true; goto CFG_51201; CFG_51201: assume true; local_#27869 := _memory[{ base : local_#6386_L!base, offset : local_#6386_L!offset + 198 }]; assert { :LIR "63950" } { :check "overflow" } { :finding_ids "0" } local_#27869 <= 2147483647; local_#27870 := 200; local_#27871 := (if local_#27869 == local_#27870 then 1 else 0); if (local_#27871 != 0) { goto CFG_44618; } else { goto CFG_51202; } CFG_51202: assume true; local_#27872 := _memory[{ base : local_#6386_L!base, offset : local_#6386_L!offset + 198 }]; assert { :LIR "63951" } { :check "overflow" } { :finding_ids "0" } local_#27872 <= 2147483647; local_#27873 := 225; local_#27874 := (if local_#27872 >= local_#27873 then 1 else 0); if (local_#27874 != 0) { goto CFG_44617; } else { goto CFG_41393; } CFG_41393: assume true; goto CFG_39435; CFG_39435: assume true; goto CFG_37977; CFG_44617: assume true; local_#27875 := 6; goto CFG_48640; CFG_48640: assume true; call routine_#33743_luaD_throw(local_#6386_L,local_#27875); CFG_44618: assume true; assume _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 0 }] == 67 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 1 }] == 32 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 2 }] == 115 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 3 }] == 116 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 4 }] == 97 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 5 }] == 99 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 6 }] == 107 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 7 }] == 32 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 8 }] == 111 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 9 }] == 118 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 10 }] == 101 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 11 }] == 114 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 12 }] == 102 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 13 }] == 108 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 14 }] == 111 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 15 }] == 119 && _memory[{ base : strlit_#70393!base, offset : strlit_#70393!offset + 16 }] == 0; local_#27876 := strlit_#70393; local_#27877 := { base : local_#27876!base, offset : local_#27876!offset + 0 * 1 }; assert { :LIR "63952" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48641; CFG_48641: assume true; call routine_#33762_luaG_runerror(local_#6386_L,local_#27877,{ base : 0, offset : 0 }); CFG_37977: assume true; } procedure routine_#35079_stackinuse(local_#6387_L_IN : { base : int, offset : int }) returns (local_#8268 : int) { var local_#6387_L : { base : int, offset : int }; var local_#32818_lim : { base : int, offset : int }; var local_#32817_ci : { base : int, offset : int }; var local_#27878 : { base : int, offset : int }; var local_#27879 : int; var local_#27880 : int; var local_#27881 : int; var local_#27882 : int; var local_#27883 : int; var local_#27884 : int; var local_#27885 : int; var local_#27886 : int; var local_#27887 : { base : int, offset : int }; local_#6387_L := local_#6387_L_IN; goto CFG_37067; CFG_37067: assume true; goto CFG_41846; CFG_41846: assume true; local_#32818_lim := _memory_ptr[{ base : local_#6387_L!base, offset : local_#6387_L!offset + 16 }]; local_#32817_ci := _memory_ptr[{ base : local_#6387_L!base, offset : local_#6387_L!offset + 32 }]; goto CFG_51203; CFG_51203: assume true; local_#27878 := { base : 0, offset : 0 }; local_#27879 := (if local_#32817_ci != local_#27878 then 1 else 0); if (local_#27879 != 0) { goto CFG_51204; } else { goto CFG_38984; } CFG_38984: assume true; local_#27880 := 0; local_#27881 := 0; assert { :LIR "61976" } { :check "overflow" } { :finding_ids "0" } true; local_#27882 := (local_#32818_lim!offset - _memory_ptr[{ base : local_#6387_L!base, offset : local_#6387_L!offset + 56 }]!offset) / 16; local_#27883 := local_#27882; assert { :LIR "61977" } { :check "overflow" } { :finding_ids "0" } local_#27883 <= 2147483647; local_#27884 := 1; local_#27885 := local_#27883 + local_#27884; assert { :LIR "66827" } { :check "overflow" } { :finding_ids "0" } local_#27885 <= 2147483647; local_#8268 := local_#27885; goto CFG_37978; CFG_51204: assume true; local_#27886 := (if local_#32818_lim!offset < _memory_ptr[{ base : local_#32817_ci!base, offset : local_#32817_ci!offset + 8 }]!offset then 1 else 0); if (local_#27886 != 0) { goto CFG_41394; } else { goto CFG_45187; } CFG_41394: assume true; local_#32818_lim := _memory_ptr[{ base : local_#32817_ci!base, offset : local_#32817_ci!offset + 8 }]; goto CFG_45187; CFG_45187: assume true; local_#32817_ci := _memory_ptr[{ base : local_#32817_ci!base, offset : local_#32817_ci!offset + 16 }]; local_#27887 := local_#32817_ci; goto CFG_51203; CFG_37978: assume true; } procedure routine_#35080_start_capture(local_#6388_ms_IN : { base : int, offset : int }, local_#6389_s_IN : { base : int, offset : int }, local_#6390_p_IN : { base : int, offset : int }, local_#6391_what_IN : int) returns (local_#8269 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6388_ms : { base : int, offset : int }; var local_#6389_s : { base : int, offset : int }; var local_#6390_p : { base : int, offset : int }; var local_#6391_what : int; var local_#27888 : int; var local_#32819_level : int; var local_#27889 : int; var local_#27890 : int; var local_#27891 : { base : int, offset : int }; var local_#27892 : { base : int, offset : int }; var local_#27893 : { base : int, offset : int }; var local_#27894 : int; var local_#27895 : { base : int, offset : int }; var local_#27896 : { base : int, offset : int }; var local_#27897 : int; var local_#27898 : { base : int, offset : int }; var local_#27899 : { base : int, offset : int }; var local_#27900 : int; var local_#27901 : int; var local_#27902 : int; var local_#27903 : { base : int, offset : int }; var local_#32820_res : { base : int, offset : int }; var local_#27904 : { base : int, offset : int }; var local_#27905 : int; var local_#27906 : int; var local_#27907 : int; var local_#27908 : int; local_#6388_ms := local_#6388_ms_IN; local_#6389_s := local_#6389_s_IN; local_#6390_p := local_#6390_p_IN; local_#6391_what := local_#6391_what_IN; goto CFG_37068; CFG_37068: assume true; goto CFG_51205; CFG_51205: assume true; local_#27888 := _memory[{ base : local_#6388_ms!base, offset : local_#6388_ms!offset + 36 }]; assert { :LIR "63953" } { :check "overflow" } { :finding_ids "0" } local_#27888 <= 2147483647; local_#32819_level := local_#27888; local_#27889 := 32; local_#27890 := (if local_#32819_level >= local_#27889 then 1 else 0); if (local_#27890 != 0) { goto CFG_44619; } else { goto CFG_44620; } CFG_44619: assume true; local_#27891 := _memory_ptr[{ base : local_#6388_ms!base, offset : local_#6388_ms!offset + 24 }]; assume _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 0 }] == 116 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 1 }] == 111 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 2 }] == 111 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 3 }] == 32 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 4 }] == 109 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 5 }] == 97 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 6 }] == 110 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 7 }] == 121 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 8 }] == 32 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 9 }] == 99 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 10 }] == 97 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 11 }] == 112 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 12 }] == 116 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 13 }] == 117 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 14 }] == 114 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 15 }] == 101 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 16 }] == 115 && _memory[{ base : strlit_#70751!base, offset : strlit_#70751!offset + 17 }] == 0; local_#27892 := strlit_#70751; local_#27893 := { base : local_#27892!base, offset : local_#27892!offset + 0 * 1 }; assert { :LIR "63954" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48642; CFG_48642: assume true; call local_#27894 := routine_#33828_luaL_error(local_#27891,local_#27893,{ base : 0, offset : 0 }); goto CFG_41395; CFG_41395: assume true; goto CFG_44620; CFG_44620: assume true; local_#27895 := { base : local_#6388_ms!base, offset : local_#6388_ms!offset + 40 }; local_#27896 := { base : local_#27895!base, offset : local_#27895!offset + 0 * 16 + local_#32819_level * 16 }; _memory_ptr[{ base : local_#27896!base, offset : local_#27896!offset + 0 }] := local_#6389_s; local_#27897 := local_#6391_what; assert { :LIR "63955" } { :check "overflow" } { :finding_ids "0" } local_#27897 <= 9223372036854775807; local_#27898 := { base : local_#6388_ms!base, offset : local_#6388_ms!offset + 40 }; local_#27899 := { base : local_#27898!base, offset : local_#27898!offset + 0 * 16 + local_#32819_level * 16 }; _memory[{ base : local_#27899!base, offset : local_#27899!offset + 8 }] := local_#27897; local_#27900 := 1; local_#27901 := local_#32819_level + local_#27900; assert { :LIR "66828" } { :check "overflow" } { :finding_ids "0" } local_#27901 <= 2147483647; local_#27902 := ~uwrap8(local_#27901); assert { :LIR "63956" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#6388_ms!base, offset : local_#6388_ms!offset + 36 }] := local_#27902; goto CFG_48643; CFG_48643: assume true; call local_#27903 := routine_#34913_match(local_#6388_ms,local_#6389_s,local_#6390_p); goto CFG_51206; CFG_51206: assume true; local_#32820_res := local_#27903; local_#27904 := { base : 0, offset : 0 }; local_#27905 := (if local_#32820_res == local_#27904 then 1 else 0); if (local_#27905 != 0) { goto CFG_41396; } else { goto CFG_38985; } CFG_41396: assume true; local_#27906 := _memory[{ base : local_#6388_ms!base, offset : local_#6388_ms!offset + 36 }]; local_#27907 := 1; assume { :symbol "~uwrap8" } true; _memory[{ base : local_#6388_ms!base, offset : local_#6388_ms!offset + 36 }] := ~uwrap8(local_#27906 - local_#27907); assert { :LIR "68169" } { :check "overflow" } { :finding_ids "0" } true; local_#27908 := local_#27906; goto CFG_38985; CFG_38985: assume true; local_#8269 := local_#32820_res; goto CFG_37979; CFG_37979: assume true; } procedure routine_#35081_statement(local_#6392_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6392_ls : { base : int, offset : int }; var local_#32821_line : int; var local_#27909 : int; var local_#27910 : { base : int, offset : int }; var local_#27911 : int; var local_#27912 : { base : int, offset : int }; var local_#27913 : int; var local_#27914 : int; var local_#27915 : int; var local_#27916 : int; var local_#27917 : int; var local_#27918 : int; var local_#27919 : int; var local_#27920 : { base : int, offset : int }; var local_#27921 : { base : int, offset : int }; var local_#27922 : { base : int, offset : int }; var local_#27923 : int; var local_#27924 : int; var local_#27925 : int; local_#6392_ls := local_#6392_ls_IN; goto CFG_37069; CFG_37069: assume true; goto CFG_44621; CFG_44621: assume true; local_#32821_line := _memory[{ base : local_#6392_ls!base, offset : local_#6392_ls!offset + 4 }]; goto CFG_48644; CFG_48644: assume true; call routine_#34711_enterlevel(local_#6392_ls); goto CFG_51572; CFG_51572: assume true; local_#27909 := _memory[{ base : local_#6392_ls!base, offset : local_#6392_ls!offset + 16 }]; if (local_#27909 == 59) { goto CFG_48665; } if (local_#27909 == 267) { goto CFG_48664; } if (local_#27909 == 278) { goto CFG_48663; } if (local_#27909 == 259) { goto CFG_48660; } if (local_#27909 == 264) { goto CFG_48659; } if (local_#27909 == 273) { goto CFG_48658; } if (local_#27909 == 265) { goto CFG_48657; } if (local_#27909 == 269) { goto CFG_48653; } if (local_#27909 == 288) { goto CFG_48650; } if (local_#27909 == 274) { goto CFG_48648; } if (local_#27909 == 258) { goto CFG_44622; } if (local_#27909 == 266) { goto CFG_44622; } goto CFG_48645; CFG_48645: assume true; call routine_#34722_exprstat(local_#6392_ls); goto CFG_39724; CFG_39724: assume true; goto CFG_39436; CFG_44622: assume true; local_#27910 := _memory_ptr[{ base : local_#6392_ls!base, offset : local_#6392_ls!offset + 48 }]; goto CFG_48646; CFG_48646: assume true; call local_#27911 := routine_#33797_luaK_jump(local_#27910); goto CFG_48647; CFG_48647: assume true; call routine_#34803_gotostat(local_#6392_ls,local_#27911); goto CFG_39725; CFG_39725: assume true; goto CFG_39436; CFG_48648: assume true; call routine_#33908_luaX_next(local_#6392_ls); goto CFG_48649; CFG_48649: assume true; call routine_#35039_retstat(local_#6392_ls); goto CFG_39726; CFG_39726: assume true; goto CFG_39436; CFG_48650: assume true; call routine_#33908_luaX_next(local_#6392_ls); goto CFG_48651; CFG_48651: assume true; call local_#27912 := routine_#35085_str_checkname(local_#6392_ls); goto CFG_48652; CFG_48652: assume true; call routine_#34852_labelstat(local_#6392_ls,local_#27912,local_#32821_line); goto CFG_39727; CFG_39727: assume true; goto CFG_39436; CFG_48653: assume true; call routine_#33908_luaX_next(local_#6392_ls); goto CFG_44623; CFG_44623: assume true; local_#27913 := 265; goto CFG_48654; CFG_48654: assume true; call local_#27914 := routine_#35112_testnext(local_#6392_ls,local_#27913); goto CFG_51207; CFG_51207: assume true; local_#27915 := local_#27914; if (local_#27915 != 0) { goto CFG_48656; } else { goto CFG_48655; } CFG_48655: assume true; call routine_#34868_localstat(local_#6392_ls); goto CFG_41397; CFG_41397: assume true; goto CFG_39728; CFG_48656: assume true; call routine_#34867_localfunc(local_#6392_ls); goto CFG_41398; CFG_41398: assume true; goto CFG_39728; CFG_39728: assume true; goto CFG_39436; CFG_48657: assume true; call routine_#34769_funcstat(local_#6392_ls,local_#32821_line); goto CFG_39729; CFG_39729: assume true; goto CFG_39436; CFG_48658: assume true; call routine_#35032_repeatstat(local_#6392_ls,local_#32821_line); goto CFG_39730; CFG_39730: assume true; goto CFG_39436; CFG_48659: assume true; call routine_#34758_forstat(local_#6392_ls,local_#32821_line); goto CFG_39731; CFG_39731: assume true; goto CFG_39436; CFG_48660: assume true; call routine_#33908_luaX_next(local_#6392_ls); goto CFG_48661; CFG_48661: assume true; call routine_#34611_block(local_#6392_ls); goto CFG_44624; CFG_44624: assume true; local_#27916 := 262; local_#27917 := 259; goto CFG_48662; CFG_48662: assume true; call routine_#34626_check_match(local_#6392_ls,local_#27916,local_#27917,local_#32821_line); goto CFG_39732; CFG_39732: assume true; goto CFG_39436; CFG_48663: assume true; call routine_#35145_whilestat(local_#6392_ls,local_#32821_line); goto CFG_39733; CFG_39733: assume true; goto CFG_39436; CFG_48664: assume true; call routine_#34808_ifstat(local_#6392_ls,local_#32821_line); goto CFG_39734; CFG_39734: assume true; goto CFG_39436; CFG_48665: assume true; call routine_#33908_luaX_next(local_#6392_ls); goto CFG_39735; CFG_39735: assume true; goto CFG_39436; CFG_39436: assume true; local_#27918 := 0; local_#27919 := 0; assert { :LIR "61978" } { :check "overflow" } { :finding_ids "0" } true; local_#27920 := _memory_ptr[{ base : local_#6392_ls!base, offset : local_#6392_ls!offset + 48 }]; local_#27921 := _memory_ptr[{ base : local_#6392_ls!base, offset : local_#6392_ls!offset + 48 }]; _memory[{ base : local_#27921!base, offset : local_#27921!offset + 60 }] := _memory[{ base : local_#27920!base, offset : local_#27920!offset + 58 }]; local_#27922 := _memory_ptr[{ base : local_#6392_ls!base, offset : local_#6392_ls!offset + 56 }]; local_#27923 := _memory[{ base : local_#27922!base, offset : local_#27922!offset + 198 }]; local_#27924 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#27922!base, offset : local_#27922!offset + 198 }] := ~uwrap16(local_#27923 - local_#27924); assert { :LIR "68170" } { :check "overflow" } { :finding_ids "0" } true; local_#27925 := local_#27923; goto CFG_37980; CFG_41968: assume true; goto CFG_39436; CFG_37980: assume true; } procedure routine_#35082_statlist(local_#6393_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6393_ls : { base : int, offset : int }; var local_#27926 : int; var local_#27927 : int; var local_#27928 : int; var local_#27929 : int; var local_#27930 : int; local_#6393_ls := local_#6393_ls_IN; goto CFG_37070; CFG_37070: assume true; goto CFG_41847; CFG_41847: assume true; goto CFG_44625; CFG_44625: assume true; local_#27926 := 1; goto CFG_48666; CFG_48666: assume true; call local_#27927 := routine_#34612_block_follow(local_#6393_ls,local_#27926); goto CFG_51208; CFG_51208: assume true; local_#27928 := (if local_#27927 != 0 then 0 else 1); if (local_#27928 != 0) { goto CFG_51209; } else { goto CFG_39437; } CFG_39437: assume true; goto CFG_37981; CFG_51209: assume true; local_#27929 := 274; local_#27930 := (if _memory[{ base : local_#6393_ls!base, offset : local_#6393_ls!offset + 16 }] == local_#27929 then 1 else 0); if (local_#27930 != 0) { goto CFG_48668; } else { goto CFG_48667; } CFG_48667: assume true; call routine_#35081_statement(local_#6393_ls); goto CFG_45188; CFG_45188: assume true; goto CFG_44625; CFG_48668: assume true; call routine_#35081_statement(local_#6393_ls); goto CFG_39438; CFG_39438: assume true; goto CFG_37981; CFG_37981: assume true; } procedure routine_#35083_str_byte(local_#6394_L_IN : { base : int, offset : int }) returns (local_#8270 : int) modifies _memory, _memory_ptr, _valid; { var local_#6394_L : { base : int, offset : int }; var local_#27931 : int; var local_#32823_l : { base : int, offset : int }; var local_#27932 : { base : int, offset : int }; var local_#27933 : { base : int, offset : int }; var local_#32827_s : { base : int, offset : int }; var local_#27934 : int; var local_#27935 : int; var local_#27936 : int; var local_#27937 : int; var local_#32826_posi : int; var local_#27938 : int; var local_#27939 : int; var local_#27940 : int; var local_#32825_pose : int; var local_#27941 : int; var local_#27942 : int; var local_#27943 : int; var local_#27944 : int; var local_#27945 : int; var local_#27946 : int; var local_#27947 : int; var local_#27948 : int; var local_#27949 : int; var local_#27950 : int; var local_#27951 : int; var local_#27952 : int; var local_#27953 : int; var local_#32824_n : int; var local_#27954 : { base : int, offset : int }; var local_#27955 : { base : int, offset : int }; var local_#32822_i : int; var local_#27956 : int; var local_#27957 : int; var local_#27958 : int; var local_#27959 : int; var local_#27960 : int; var local_#27961 : { base : int, offset : int }; var local_#27962 : int; var local_#27963 : int; var local_#27964 : int; var local_#27965 : int; var local_#27966 : int; var local_#27967 : { base : int, offset : int }; var local_#27968 : { base : int, offset : int }; var local_#27969 : int; local_#6394_L := local_#6394_L_IN; goto CFG_37071; CFG_37071: assume true; goto CFG_44626; CFG_44626: assume true; local_#27931 := 1; local_#27932 := local_#32823_l; goto CFG_48669; CFG_48669: assume true; call local_#27933 := routine_#33821_luaL_checklstring(local_#6394_L,local_#27931,local_#27932); goto CFG_44627; CFG_44627: assume true; local_#32827_s := local_#27933; local_#27934 := 2; local_#27935 := 1; goto CFG_48670; CFG_48670: assume true; call local_#27936 := routine_#33841_luaL_optinteger(local_#6394_L,local_#27934,local_#27935); goto CFG_48671; CFG_48671: assume true; call local_#27937 := routine_#34992_posrelat(local_#27936,_memory[local_#32823_l]); goto CFG_44628; CFG_44628: assume true; local_#32826_posi := local_#27937; local_#27938 := 3; goto CFG_48672; CFG_48672: assume true; call local_#27939 := routine_#33841_luaL_optinteger(local_#6394_L,local_#27938,local_#32826_posi); goto CFG_48673; CFG_48673: assume true; call local_#27940 := routine_#34992_posrelat(local_#27939,_memory[local_#32823_l]); goto CFG_51210; CFG_51210: assume true; local_#32825_pose := local_#27940; local_#27941 := 1; local_#27942 := (if local_#32826_posi < local_#27941 then 1 else 0); if (local_#27942 != 0) { goto CFG_41399; } else { goto CFG_51211; } CFG_41399: assume true; local_#32826_posi := 1; goto CFG_51211; CFG_51211: assume true; local_#27943 := _memory[local_#32823_l]; assert { :LIR "61979" } { :check "overflow" } { :finding_ids "0" } local_#27943 <= 9223372036854775807; local_#27944 := (if local_#32825_pose > local_#27943 then 1 else 0); if (local_#27944 != 0) { goto CFG_41400; } else { goto CFG_51212; } CFG_41400: assume true; local_#27945 := _memory[local_#32823_l]; assert { :LIR "63957" } { :check "overflow" } { :finding_ids "0" } local_#27945 <= 9223372036854775807; local_#32825_pose := local_#27945; goto CFG_51212; CFG_51212: assume true; local_#27946 := (if local_#32826_posi > local_#32825_pose then 1 else 0); if (local_#27946 != 0) { goto CFG_38988; } else { goto CFG_51213; } CFG_51213: assume true; local_#27947 := local_#32825_pose - local_#32826_posi; assert { :LIR "68171" } { :check "overflow" } { :finding_ids "0" } local_#27947 <= 9223372036854775807; local_#27948 := 2147483647; local_#27949 := (if local_#27947 >= local_#27948 then 1 else 0); if (local_#27949 != 0) { goto CFG_44631; } else { goto CFG_44629; } CFG_44629: assume true; local_#27950 := local_#32825_pose - local_#32826_posi; assert { :LIR "68172" } { :check "overflow" } { :finding_ids "0" } local_#27950 <= 9223372036854775807; local_#27951 := local_#27950; assert { :LIR "61980" } { :check "overflow" } { :finding_ids "0" } local_#27951 <= 2147483647; local_#27952 := 1; local_#27953 := local_#27951 + local_#27952; assert { :LIR "66829" } { :check "overflow" } { :finding_ids "0" } local_#27953 <= 2147483647; local_#32824_n := local_#27953; assume _memory[{ base : strlit_#70493!base, offset : strlit_#70493!offset + 21 }] == 0; local_#27954 := strlit_#70493; local_#27955 := { base : local_#27954!base, offset : local_#27954!offset + 0 * 1 }; assert { :LIR "63958" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48674; CFG_48674: assume true; call routine_#33824_luaL_checkstack(local_#6394_L,local_#32824_n,local_#27955); goto CFG_41848; CFG_41848: assume true; local_#32822_i := 0; goto CFG_51214; CFG_51214: assume true; local_#27956 := (if local_#32822_i < local_#32824_n then 1 else 0); if (local_#27956 != 0) { goto CFG_44630; } else { goto CFG_38986; } CFG_38986: assume true; local_#8270 := local_#32824_n; goto CFG_37982; CFG_44630: assume true; local_#27957 := local_#32822_i; assert { :LIR "63959" } { :check "overflow" } { :finding_ids "0" } local_#27957 <= 9223372036854775807; local_#27958 := local_#32826_posi + local_#27957; assert { :LIR "66830" } { :check "overflow" } { :finding_ids "0" } local_#27958 <= 9223372036854775807; local_#27959 := 1; local_#27960 := local_#27958 - local_#27959; assert { :LIR "68173" } { :check "overflow" } { :finding_ids "0" } local_#27960 <= 9223372036854775807; local_#27961 := { base : local_#32827_s!base, offset : local_#32827_s!offset + local_#27960 * 1 }; local_#27962 := ~uwrap8(_memory[local_#27961]); assert { :LIR "61981" } { :check "overflow" } { :finding_ids "0" } true; local_#27963 := local_#27962; assert { :LIR "63960" } { :check "overflow" } { :finding_ids "0" } local_#27963 <= 9223372036854775807; goto CFG_48675; CFG_48675: assume true; call routine_#33960_lua_pushinteger(local_#6394_L,local_#27963); goto CFG_45189; CFG_45189: assume true; local_#27964 := local_#32822_i; local_#27965 := 1; local_#32822_i := local_#27964 + local_#27965; assert { :LIR "66831" } { :check "overflow" } { :finding_ids "0" } local_#32822_i <= 2147483647; local_#27966 := local_#27964; goto CFG_51214; CFG_44631: assume true; assume _memory[{ base : strlit_#70493!base, offset : strlit_#70493!offset + 21 }] == 0; local_#27967 := strlit_#70493; local_#27968 := { base : local_#27967!base, offset : local_#27967!offset + 0 * 1 }; assert { :LIR "63961" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48676; CFG_48676: assume true; call local_#27969 := routine_#33828_luaL_error(local_#6394_L,local_#27968,{ base : 0, offset : 0 }); goto CFG_38987; CFG_38987: assume true; local_#8270 := local_#27969; goto CFG_37982; CFG_38988: assume true; local_#8270 := 0; goto CFG_37982; CFG_37982: assume true; } procedure routine_#35084_str_char(local_#6395_L_IN : { base : int, offset : int }) returns (local_#8271 : int) modifies _memory, _memory_ptr, _valid; { var local_#6395_L : { base : int, offset : int }; var local_#27970 : int; var local_#32830_n : int; var local_#32828_b : { base : int, offset : int }; var local_#27971 : { base : int, offset : int }; var local_#27972 : int; var local_#27973 : { base : int, offset : int }; var local_#32831_p : { base : int, offset : int }; var local_#32829_i : int; var local_#27974 : int; var local_#27975 : { base : int, offset : int }; var local_#27976 : int; var local_#27977 : int; var local_#32832_c : int; var local_#27978 : int; var local_#27979 : int; var local_#27980 : int; var local_#27981 : { base : int, offset : int }; var local_#27982 : { base : int, offset : int }; var local_#27983 : int; var local_#27984 : int; var local_#30864 : int; var local_#27985 : int; var local_#27986 : int; var local_#27987 : int; var local_#27988 : int; var local_#27989 : int; var local_#27990 : { base : int, offset : int }; var local_#27991 : int; var local_#27992 : int; var local_#27993 : int; local_#6395_L := local_#6395_L_IN; goto CFG_37072; CFG_37072: assume true; goto CFG_48677; CFG_48677: assume true; call local_#27970 := routine_#33941_lua_gettop(local_#6395_L); goto CFG_44632; CFG_44632: assume true; local_#32830_n := local_#27970; local_#27971 := local_#32828_b; local_#27972 := ~uwrap64(local_#32830_n); assert { :LIR "63962" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48678; CFG_48678: assume true; call local_#27973 := routine_#33817_luaL_buffinitsize(local_#6395_L,local_#27971,local_#27972); goto CFG_41849; CFG_41849: assume true; local_#32831_p := local_#27973; local_#32829_i := 1; goto CFG_51215; CFG_51215: assume true; local_#27974 := (if local_#32829_i <= local_#32830_n then 1 else 0); if (local_#27974 != 0) { goto CFG_48680; } else { goto CFG_44633; } CFG_44633: assume true; local_#27975 := local_#32828_b; local_#27976 := ~uwrap64(local_#32830_n); assert { :LIR "63963" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48679; CFG_48679: assume true; call routine_#33846_luaL_pushresultsize(local_#27975,local_#27976); goto CFG_38989; CFG_38989: assume true; local_#8271 := 1; goto CFG_37983; CFG_48680: assume true; call local_#27977 := routine_#33820_luaL_checkinteger(local_#6395_L,local_#32829_i); goto CFG_51216; CFG_51216: assume true; local_#32832_c := local_#27977; local_#27978 := ~uwrap8(local_#32832_c); assert { :LIR "61982" } { :check "overflow" } { :finding_ids "0" } true; local_#27979 := local_#27978; assert { :LIR "63964" } { :check "overflow" } { :finding_ids "0" } local_#27979 <= 9223372036854775807; local_#27980 := (if local_#27979 == local_#32832_c then 1 else 0); if (local_#27980 != 0) { goto CFG_41402; } else { goto CFG_44634; } CFG_44634: assume true; assume _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 0 }] == 118 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 1 }] == 97 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 2 }] == 108 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 3 }] == 117 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 4 }] == 101 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 5 }] == 32 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 6 }] == 111 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 7 }] == 117 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 8 }] == 116 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 9 }] == 32 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 10 }] == 111 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 11 }] == 102 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 12 }] == 32 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 13 }] == 114 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 14 }] == 97 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 15 }] == 110 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 16 }] == 103 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 17 }] == 101 && _memory[{ base : strlit_#70768!base, offset : strlit_#70768!offset + 18 }] == 0; local_#27981 := strlit_#70768; local_#27982 := { base : local_#27981!base, offset : local_#27981!offset + 0 * 1 }; assert { :LIR "63965" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48681; CFG_48681: assume true; call local_#27983 := routine_#33815_luaL_argerror(local_#6395_L,local_#32829_i,local_#27982); goto CFG_51217; CFG_51217: assume true; local_#27984 := local_#27983; if (local_#27984 != 0) { goto CFG_41402; } else { goto CFG_41401; } CFG_41401: assume true; local_#30864 := 0; goto CFG_44635; CFG_41402: assume true; local_#30864 := 1; goto CFG_44635; CFG_44635: assume true; local_#27985 := 0; assert { :LIR "61983" } { :check "overflow" } { :finding_ids "0" } true; local_#27986 := ~uwrap8(local_#32832_c); assert { :LIR "61984" } { :check "overflow" } { :finding_ids "0" } true; local_#27987 := local_#27986; assert { :LIR "63966" } { :check "overflow" } { :finding_ids "0" } local_#27987 <= 127; local_#27988 := 1; local_#27989 := local_#32829_i - local_#27988; assert { :LIR "68174" } { :check "overflow" } { :finding_ids "0" } local_#27989 <= 2147483647; local_#27990 := { base : local_#32831_p!base, offset : local_#32831_p!offset + local_#27989 * 1 }; _memory[local_#27990] := local_#27987; goto CFG_45190; CFG_45190: assume true; local_#27991 := local_#32829_i; local_#27992 := 1; local_#32829_i := local_#27991 + local_#27992; assert { :LIR "66832" } { :check "overflow" } { :finding_ids "0" } local_#32829_i <= 2147483647; local_#27993 := local_#27991; goto CFG_51215; CFG_37983: assume true; } procedure routine_#35085_str_checkname(local_#6396_ls_IN : { base : int, offset : int }) returns (local_#8272 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6396_ls : { base : int, offset : int }; var local_#27994 : int; var local_#27995 : { base : int, offset : int }; var local_#32833_ts : { base : int, offset : int }; local_#6396_ls := local_#6396_ls_IN; goto CFG_37073; CFG_37073: assume true; goto CFG_44636; CFG_44636: assume true; local_#27994 := 292; goto CFG_48682; CFG_48682: assume true; call routine_#34621_check(local_#6396_ls,local_#27994); goto CFG_44637; CFG_44637: assume true; local_#27995 := { base : local_#6396_ls!base, offset : local_#6396_ls!offset + 24 }; local_#32833_ts := _memory_ptr[local_#27995]; goto CFG_48683; CFG_48683: assume true; call routine_#33908_luaX_next(local_#6396_ls); goto CFG_38990; CFG_38990: assume true; local_#8272 := local_#32833_ts; goto CFG_37984; CFG_37984: assume true; } procedure routine_#35086_str_dump(local_#6397_L_IN : { base : int, offset : int }) returns (local_#8273 : int) modifies _memory, _memory_ptr, _valid; { var local_#6397_L : { base : int, offset : int }; var local_#27996 : int; var local_#27997 : int; var local_#32835_strip : int; var local_#27998 : int; var local_#27999 : int; var local_#28000 : int; var local_#32834_b : { base : int, offset : int }; var local_#28001 : { base : int, offset : int }; var local_#28002 : { base : int, offset : int }; var local_#28003 : { base : int, offset : int }; var local_#28004 : int; var local_#28005 : int; var local_#28006 : int; var local_#28007 : { base : int, offset : int }; var local_#28008 : { base : int, offset : int }; var local_#28009 : { base : int, offset : int }; var local_#28010 : int; local_#6397_L := local_#6397_L_IN; goto CFG_37074; CFG_37074: assume true; goto CFG_44638; CFG_44638: assume true; local_#27996 := 2; goto CFG_48684; CFG_48684: assume true; call local_#27997 := routine_#33992_lua_toboolean(local_#6397_L,local_#27996); goto CFG_44639; CFG_44639: assume true; local_#32835_strip := local_#27997; local_#27998 := 1; local_#27999 := 6; goto CFG_48685; CFG_48685: assume true; call routine_#33825_luaL_checktype(local_#6397_L,local_#27998,local_#27999); goto CFG_44640; CFG_44640: assume true; local_#28000 := 1; goto CFG_48686; CFG_48686: assume true; call routine_#33987_lua_settop(local_#6397_L,local_#28000); goto CFG_44641; CFG_44641: assume true; local_#28001 := local_#32834_b; goto CFG_48687; CFG_48687: assume true; call routine_#33816_luaL_buffinit(local_#6397_L,local_#28001); goto CFG_44642; CFG_44642: assume true; local_#28002 := fun_addr_#35146_writer; local_#28003 := local_#32834_b; assert { :LIR "63967" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48688; CFG_48688: assume true; call local_#28004 := routine_#33926_lua_dump(local_#6397_L,local_#28002,local_#28003,local_#32835_strip); goto CFG_51218; CFG_51218: assume true; local_#28005 := 0; local_#28006 := (if local_#28004 != local_#28005 then 1 else 0); if (local_#28006 != 0) { goto CFG_44644; } else { goto CFG_44643; } CFG_44643: assume true; local_#28007 := local_#32834_b; goto CFG_48689; CFG_48689: assume true; call routine_#33845_luaL_pushresult(local_#28007); goto CFG_38991; CFG_38991: assume true; local_#8273 := 1; goto CFG_37985; CFG_44644: assume true; assume _memory[{ base : strlit_#70835!base, offset : strlit_#70835!offset + 29 }] == 0; local_#28008 := strlit_#70835; local_#28009 := { base : local_#28008!base, offset : local_#28008!offset + 0 * 1 }; assert { :LIR "63968" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48690; CFG_48690: assume true; call local_#28010 := routine_#33828_luaL_error(local_#6397_L,local_#28009,{ base : 0, offset : 0 }); goto CFG_38992; CFG_38992: assume true; local_#8273 := local_#28010; goto CFG_37985; CFG_37985: assume true; } procedure routine_#35087_str_find(local_#6398_L_IN : { base : int, offset : int }) returns (local_#8274 : int) modifies _memory, _memory_ptr, _valid; { var local_#6398_L : { base : int, offset : int }; var local_#28011 : int; var local_#28012 : int; local_#6398_L := local_#6398_L_IN; goto CFG_37075; CFG_37075: assume true; goto CFG_44645; CFG_44645: assume true; local_#28011 := 1; goto CFG_48691; CFG_48691: assume true; call local_#28012 := routine_#35088_str_find_aux(local_#6398_L,local_#28011); goto CFG_38993; CFG_38993: assume true; local_#8274 := local_#28012; goto CFG_37986; CFG_37986: assume true; } procedure routine_#35088_str_find_aux(local_#6399_L_IN : { base : int, offset : int }, local_#6400_find_IN : int) returns (local_#8275 : int) modifies _memory, _memory_ptr, _valid; { var local_#6399_L : { base : int, offset : int }; var local_#6400_find : int; var local_#28013 : int; var local_#32838_ls : { base : int, offset : int }; var local_#28014 : { base : int, offset : int }; var local_#28015 : { base : int, offset : int }; var local_#32840_s : { base : int, offset : int }; var local_#28016 : int; var local_#32837_lp : { base : int, offset : int }; var local_#28017 : { base : int, offset : int }; var local_#28018 : { base : int, offset : int }; var local_#32839_p : { base : int, offset : int }; var local_#28019 : int; var local_#28020 : int; var local_#28021 : int; var local_#28022 : int; var local_#32836_init : int; var local_#28023 : int; var local_#28024 : int; var local_#28025 : int; var local_#28026 : int; var local_#28027 : int; var local_#28028 : int; var local_#28029 : int; var local_#28030 : int; var local_#28031 : int; var local_#28032 : int; var local_#28033 : int; var local_#28034 : int; var local_#28035 : { base : int, offset : int }; var local_#28036 : int; var local_#28037 : { base : int, offset : int }; var local_#32844_s1 : { base : int, offset : int }; var local_#28038 : int; var local_#28039 : int; var local_#28040 : int; var local_#32842_anchor : int; var local_#28041 : int; var local_#28042 : { base : int, offset : int }; var local_#28043 : int; var local_#28044 : { base : int, offset : int }; var local_#28045 : int; var local_#28046 : int; var local_#28047 : int; var local_#32843_ms : { base : int, offset : int }; var local_#28048 : { base : int, offset : int }; var local_#28049 : { base : int, offset : int }; var local_#28050 : { base : int, offset : int }; var local_#28051 : { base : int, offset : int }; var local_#32845_res : { base : int, offset : int }; var local_#28052 : { base : int, offset : int }; var local_#28053 : int; var local_#28054 : { base : int, offset : int }; var local_#28055 : int; var local_#28056 : int; var local_#28057 : int; var local_#28058 : int; var local_#28059 : { base : int, offset : int }; var local_#28060 : int; var local_#28061 : int; var local_#28062 : int; var local_#28063 : int; var local_#28064 : int; var local_#28065 : int; var local_#28066 : int; var local_#28067 : { base : int, offset : int }; var local_#28068 : { base : int, offset : int }; var local_#28069 : { base : int, offset : int }; var local_#28070 : int; var local_#28071 : int; var local_#28072 : int; var local_#28073 : { base : int, offset : int }; var local_#28074 : int; var local_#28075 : { base : int, offset : int }; var local_#28076 : int; var local_#28077 : int; var local_#28078 : int; var local_#28079 : int; var local_#28080 : { base : int, offset : int }; var local_#32841_s2 : { base : int, offset : int }; var local_#28081 : { base : int, offset : int }; var local_#28082 : int; var local_#28083 : int; var local_#28084 : int; var local_#28085 : int; var local_#28086 : int; var local_#28087 : int; var local_#28088 : int; var local_#28089 : int; local_#6399_L := local_#6399_L_IN; local_#6400_find := local_#6400_find_IN; goto CFG_37076; CFG_37076: assume true; goto CFG_44646; CFG_44646: assume true; local_#28013 := 1; local_#28014 := local_#32838_ls; goto CFG_48692; CFG_48692: assume true; call local_#28015 := routine_#33821_luaL_checklstring(local_#6399_L,local_#28013,local_#28014); goto CFG_44647; CFG_44647: assume true; local_#32840_s := local_#28015; local_#28016 := 2; local_#28017 := local_#32837_lp; goto CFG_48693; CFG_48693: assume true; call local_#28018 := routine_#33821_luaL_checklstring(local_#6399_L,local_#28016,local_#28017); goto CFG_44648; CFG_44648: assume true; local_#32839_p := local_#28018; local_#28019 := 3; local_#28020 := 1; goto CFG_48694; CFG_48694: assume true; call local_#28021 := routine_#33841_luaL_optinteger(local_#6399_L,local_#28019,local_#28020); goto CFG_48695; CFG_48695: assume true; call local_#28022 := routine_#34992_posrelat(local_#28021,_memory[local_#32838_ls]); goto CFG_51219; CFG_51219: assume true; local_#32836_init := local_#28022; local_#28023 := 1; local_#28024 := (if local_#32836_init < local_#28023 then 1 else 0); if (local_#28024 != 0) { goto CFG_41404; } else { goto CFG_51220; } CFG_51220: assume true; local_#28025 := _memory[local_#32838_ls]; assert { :LIR "61985" } { :check "overflow" } { :finding_ids "0" } local_#28025 <= 9223372036854775807; local_#28026 := 1; local_#28027 := local_#28025 + local_#28026; assert { :LIR "66833" } { :check "overflow" } { :finding_ids "0" } local_#28027 <= 9223372036854775807; local_#28028 := (if local_#32836_init > local_#28027 then 1 else 0); if (local_#28028 != 0) { goto CFG_48696; } else { goto CFG_41403; } CFG_41403: assume true; goto CFG_51221; CFG_48696: assume true; call routine_#33963_lua_pushnil(local_#6399_L); goto CFG_38994; CFG_38994: assume true; local_#8275 := 1; goto CFG_37987; CFG_41404: assume true; local_#32836_init := 1; goto CFG_51221; CFG_51221: assume true; local_#28029 := local_#6400_find; if (local_#28029 != 0) { goto CFG_44649; } else { goto CFG_51224; } CFG_44649: assume true; local_#28030 := 4; goto CFG_48697; CFG_48697: assume true; call local_#28031 := routine_#33992_lua_toboolean(local_#6399_L,local_#28030); goto CFG_51222; CFG_51222: assume true; local_#28032 := local_#28031; if (local_#28032 != 0) { goto CFG_44657; } else { goto CFG_48698; } CFG_48698: assume true; call local_#28033 := routine_#34966_nospecials(local_#32839_p,_memory[local_#32837_lp]); goto CFG_51223; CFG_51223: assume true; local_#28034 := local_#28033; if (local_#28034 != 0) { goto CFG_44657; } else { goto CFG_51224; } CFG_51224: assume true; local_#28035 := { base : local_#32840_s!base, offset : local_#32840_s!offset + local_#32836_init * 1 }; local_#28036 := 1; local_#28037 := { base : local_#28035!base, offset : local_#28035!offset - local_#28036 * 1 }; local_#32844_s1 := local_#28037; local_#28038 := _memory[local_#32839_p]; assert { :LIR "63969" } { :check "overflow" } { :finding_ids "0" } local_#28038 <= 2147483647; local_#28039 := 94; local_#28040 := (if local_#28038 == local_#28039 then 1 else 0); local_#32842_anchor := local_#28040; local_#28041 := local_#32842_anchor; if (local_#28041 != 0) { goto CFG_41405; } else { goto CFG_44650; } CFG_41405: assume true; local_#28042 := local_#32839_p; local_#28043 := 1; local_#32839_p := { base : local_#28042!base, offset : local_#28042!offset + local_#28043 * 1 }; local_#28044 := local_#28042; local_#28045 := _memory[local_#32837_lp]; local_#28046 := 1; assume { :symbol "~uwrap64" } true; _memory[local_#32837_lp] := ~uwrap64(local_#28045 - local_#28046); assert { :LIR "68175" } { :check "overflow" } { :finding_ids "0" } true; local_#28047 := local_#28045; goto CFG_44650; CFG_44650: assume true; local_#28048 := local_#32843_ms; goto CFG_48699; CFG_48699: assume true; call routine_#34994_prepstate(local_#28048,local_#6399_L,local_#32840_s,_memory[local_#32838_ls],local_#32839_p,_memory[local_#32837_lp]); goto CFG_41850; CFG_41850: assume true; goto CFG_44651; CFG_44651: assume true; local_#28049 := local_#32843_ms; goto CFG_48700; CFG_48700: assume true; call routine_#35034_reprepstate(local_#28049); goto CFG_44652; CFG_44652: assume true; local_#28050 := local_#32843_ms; goto CFG_48701; CFG_48701: assume true; call local_#28051 := routine_#34913_match(local_#28050,local_#32844_s1,local_#32839_p); goto CFG_51225; CFG_51225: assume true; local_#32845_res := local_#28051; local_#28052 := { base : 0, offset : 0 }; local_#28053 := (if local_#32845_res != local_#28052 then 1 else 0); if (local_#28053 != 0) { goto CFG_51228; } else { goto CFG_51226; } CFG_51226: assume true; local_#28054 := local_#32844_s1; local_#28055 := 1; local_#32844_s1 := { base : local_#28054!base, offset : local_#28054!offset + local_#28055 * 1 }; local_#28056 := (if local_#28054!offset < _memory_ptr[{ base : local_#32843_ms!base, offset : local_#32843_ms!offset + 8 }]!offset then 1 else 0); if (local_#28056 != 0) { goto CFG_51227; } else { goto CFG_41406; } CFG_51227: assume true; local_#28057 := (if local_#32842_anchor != 0 then 0 else 1); if (local_#28057 != 0) { goto CFG_45191; } else { goto CFG_41406; } CFG_41406: assume true; goto CFG_48707; CFG_45191: assume true; goto CFG_44651; CFG_51228: assume true; local_#28058 := local_#6400_find; if (local_#28058 != 0) { goto CFG_44654; } else { goto CFG_44653; } CFG_44653: assume true; local_#28059 := local_#32843_ms; goto CFG_48702; CFG_48702: assume true; call local_#28060 := routine_#35000_push_captures(local_#28059,local_#32844_s1,local_#32845_res); goto CFG_38995; CFG_38995: assume true; local_#8275 := local_#28060; goto CFG_37987; CFG_44654: assume true; local_#28061 := (local_#32844_s1!offset - local_#32840_s!offset) / 1; local_#28062 := 1; local_#28063 := local_#28061 + local_#28062; assert { :LIR "66834" } { :check "overflow" } { :finding_ids "0" } local_#28063 <= 9223372036854775807; local_#28064 := local_#28063; assert { :LIR "63970" } { :check "overflow" } { :finding_ids "0" } local_#28064 <= 9223372036854775807; goto CFG_48703; CFG_48703: assume true; call routine_#33960_lua_pushinteger(local_#6399_L,local_#28064); goto CFG_44655; CFG_44655: assume true; local_#28065 := (local_#32845_res!offset - local_#32840_s!offset) / 1; local_#28066 := local_#28065; assert { :LIR "63971" } { :check "overflow" } { :finding_ids "0" } local_#28066 <= 9223372036854775807; goto CFG_48704; CFG_48704: assume true; call routine_#33960_lua_pushinteger(local_#6399_L,local_#28066); goto CFG_44656; CFG_44656: assume true; local_#28067 := local_#32843_ms; local_#28068 := { base : 0, offset : 0 }; local_#28069 := { base : 0, offset : 0 }; goto CFG_48705; CFG_48705: assume true; call local_#28070 := routine_#35000_push_captures(local_#28067,local_#28068,local_#28069); goto CFG_38996; CFG_38996: assume true; local_#28071 := 2; local_#28072 := local_#28070 + local_#28071; assert { :LIR "66835" } { :check "overflow" } { :finding_ids "0" } local_#28072 <= 2147483647; local_#8275 := local_#28072; goto CFG_37987; CFG_44657: assume true; local_#28073 := { base : local_#32840_s!base, offset : local_#32840_s!offset + local_#32836_init * 1 }; local_#28074 := 1; local_#28075 := { base : local_#28073!base, offset : local_#28073!offset - local_#28074 * 1 }; local_#28076 := ~uwrap64(local_#32836_init); assert { :LIR "61986" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28077 := ~uwrap64(_memory[local_#32838_ls] - local_#28076); assert { :LIR "68176" } { :check "overflow" } { :finding_ids "0" } true; local_#28078 := 1; assume { :symbol "~uwrap64" } true; local_#28079 := ~uwrap64(local_#28077 + local_#28078); assert { :LIR "66836" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48706; CFG_48706: assume true; call local_#28080 := routine_#34863_lmemfind(local_#28075,local_#28079,local_#32839_p,_memory[local_#32837_lp]); goto CFG_51229; CFG_51229: assume true; local_#32841_s2 := local_#28080; local_#28081 := local_#32841_s2; if (local_#28081 != { base : 0, offset : 0 }) { goto CFG_44658; } else { goto CFG_41407; } CFG_41407: assume true; goto CFG_48707; CFG_48707: assume true; call routine_#33963_lua_pushnil(local_#6399_L); goto CFG_38997; CFG_38997: assume true; local_#8275 := 1; goto CFG_37987; CFG_44658: assume true; local_#28082 := (local_#32841_s2!offset - local_#32840_s!offset) / 1; local_#28083 := 1; local_#28084 := local_#28082 + local_#28083; assert { :LIR "66837" } { :check "overflow" } { :finding_ids "0" } local_#28084 <= 9223372036854775807; local_#28085 := local_#28084; assert { :LIR "63972" } { :check "overflow" } { :finding_ids "0" } local_#28085 <= 9223372036854775807; goto CFG_48708; CFG_48708: assume true; call routine_#33960_lua_pushinteger(local_#6399_L,local_#28085); goto CFG_44659; CFG_44659: assume true; local_#28086 := (local_#32841_s2!offset - local_#32840_s!offset) / 1; local_#28087 := ~uwrap64(local_#28086); assert { :LIR "63973" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28088 := ~uwrap64(local_#28087 + _memory[local_#32837_lp]); assert { :LIR "66838" } { :check "overflow" } { :finding_ids "0" } true; local_#28089 := local_#28088; assert { :LIR "63974" } { :check "overflow" } { :finding_ids "0" } local_#28089 <= 9223372036854775807; goto CFG_48709; CFG_48709: assume true; call routine_#33960_lua_pushinteger(local_#6399_L,local_#28089); goto CFG_38998; CFG_38998: assume true; local_#8275 := 2; goto CFG_37987; CFG_37987: assume true; } procedure routine_#35089_str_format(local_#6401_L_IN : { base : int, offset : int }) returns (local_#8276 : int) modifies _memory, _memory_ptr, _valid; { var local_#6401_L : { base : int, offset : int }; var local_#28090 : int; var local_#32851_top : int; var local_#32846_arg : int; var local_#32848_sfl : { base : int, offset : int }; var local_#28091 : { base : int, offset : int }; var local_#28092 : { base : int, offset : int }; var local_#32849_strfrmt : { base : int, offset : int }; var local_#28093 : { base : int, offset : int }; var local_#32850_strfrmt_end : { base : int, offset : int }; var local_#32847_b : { base : int, offset : int }; var local_#28094 : { base : int, offset : int }; var local_#28095 : int; var local_#28096 : { base : int, offset : int }; var local_#28097 : int; var local_#28098 : int; var local_#28099 : int; var local_#28100 : int; var local_#28101 : int; var local_#28102 : int; var local_#28103 : int; var local_#28104 : { base : int, offset : int }; var local_#28105 : int; var local_#28106 : { base : int, offset : int }; var local_#32852_buff : { base : int, offset : int }; var local_#32854_nb : int; var local_#28107 : int; var local_#28108 : int; var local_#28109 : { base : int, offset : int }; var local_#28110 : { base : int, offset : int }; var local_#28111 : int; var local_#32853_form : { base : int, offset : int }; var local_#28112 : { base : int, offset : int }; var local_#28113 : { base : int, offset : int }; var local_#28114 : { base : int, offset : int }; var local_#28115 : int; var local_#28116 : int; var local_#28117 : { base : int, offset : int }; var local_#28118 : { base : int, offset : int }; var local_#28119 : int; var local_#28120 : { base : int, offset : int }; var local_#28121 : int; var local_#28122 : int; var local_#32857_l : { base : int, offset : int }; var local_#28123 : { base : int, offset : int }; var local_#28124 : { base : int, offset : int }; var local_#32858_s : { base : int, offset : int }; var local_#28125 : int; var local_#28126 : int; var local_#28127 : int; var local_#28128 : int; var local_#28129 : int; var local_#28130 : { base : int, offset : int }; var local_#28131 : { base : int, offset : int }; var local_#28132 : int; var local_#28133 : int; var local_#30865 : int; var local_#28134 : int; var local_#28135 : { base : int, offset : int }; var local_#28136 : int; var local_#28137 : { base : int, offset : int }; var local_#28138 : int; var local_#28139 : int; var local_#28140 : int; var local_#28141 : int; var local_#28142 : { base : int, offset : int }; var local_#28143 : int; var local_#28144 : int; var local_#28145 : { base : int, offset : int }; var local_#28146 : { base : int, offset : int }; var local_#28147 : { base : int, offset : int }; var local_#28148 : int; var local_#32856_n : int; var local_#28149 : { base : int, offset : int }; var local_#28150 : { base : int, offset : int }; var local_#28151 : { base : int, offset : int }; var local_#28152 : int; var local_#28153 : { base : int, offset : int }; var nondet_#0 : int; var local_#28154 : int; var local_#28155 : int; var local_#28156 : { base : int, offset : int }; var local_#28157 : { base : int, offset : int }; var local_#28158 : { base : int, offset : int }; var local_#28159 : int; var local_#28160 : int; var local_#28161 : { base : int, offset : int }; var local_#28162 : int; var nondet_#1 : int; var local_#28163 : int; var local_#28164 : int; var local_#28165 : int; var local_#32855_n : int; var local_#28166 : { base : int, offset : int }; var local_#28167 : { base : int, offset : int }; var local_#28168 : { base : int, offset : int }; var local_#28169 : int; var local_#28170 : { base : int, offset : int }; var local_#28171 : int; var local_#28172 : int; var local_#28173 : int; var local_#28174 : { base : int, offset : int }; var local_#28175 : int; var local_#28176 : int; var local_#28177 : int; var local_#28178 : int; var local_#28179 : int; var local_#28180 : int; var local_#28181 : int; var local_#28182 : { base : int, offset : int }; var local_#28183 : int; var local_#28184 : { base : int, offset : int }; var local_#28185 : { base : int, offset : int }; var local_#30866 : int; var local_#28186 : int; var local_#28187 : { base : int, offset : int }; var local_#28188 : int; var local_#28189 : int; var local_#28190 : int; var local_#28191 : { base : int, offset : int }; var local_#28192 : int; var local_#28193 : int; var local_#28194 : int; var local_#28195 : { base : int, offset : int }; var local_#28196 : int; var local_#28197 : { base : int, offset : int }; var local_#28198 : { base : int, offset : int }; var local_#30867 : int; var local_#28199 : int; var local_#28200 : { base : int, offset : int }; var local_#28201 : int; var local_#28202 : int; var local_#28203 : int; var local_#28204 : { base : int, offset : int }; var local_#28205 : int; var local_#28206 : int; local_#6401_L := local_#6401_L_IN; goto CFG_37077; CFG_37077: assume true; goto CFG_48710; CFG_48710: assume true; call local_#28090 := routine_#33941_lua_gettop(local_#6401_L); goto CFG_44660; CFG_44660: assume true; local_#32851_top := local_#28090; local_#32846_arg := 1; local_#28091 := local_#32848_sfl; goto CFG_48711; CFG_48711: assume true; call local_#28092 := routine_#33821_luaL_checklstring(local_#6401_L,local_#32846_arg,local_#28091); goto CFG_44661; CFG_44661: assume true; local_#32849_strfrmt := local_#28092; local_#28093 := { base : local_#32849_strfrmt!base, offset : local_#32849_strfrmt!offset + _memory[local_#32848_sfl] * 1 }; local_#32850_strfrmt_end := local_#28093; local_#28094 := local_#32847_b; goto CFG_48712; CFG_48712: assume true; call routine_#33816_luaL_buffinit(local_#6401_L,local_#28094); goto CFG_41851; CFG_41851: assume true; goto CFG_51230; CFG_51230: assume true; local_#28095 := (if local_#32849_strfrmt!offset < local_#32850_strfrmt_end!offset then 1 else 0); if (local_#28095 != 0) { goto CFG_51231; } else { goto CFG_44662; } CFG_44662: assume true; local_#28096 := local_#32847_b; goto CFG_48713; CFG_48713: assume true; call routine_#33845_luaL_pushresult(local_#28096); goto CFG_38999; CFG_38999: assume true; local_#8276 := 1; goto CFG_37988; CFG_51231: assume true; local_#28097 := _memory[local_#32849_strfrmt]; assert { :LIR "63975" } { :check "overflow" } { :finding_ids "0" } local_#28097 <= 2147483647; local_#28098 := 37; local_#28099 := (if local_#28097 != local_#28098 then 1 else 0); if (local_#28099 != 0) { goto CFG_51241; } else { goto CFG_51232; } CFG_51232: assume true; local_#28100 := 1; local_#32849_strfrmt := { base : local_#32849_strfrmt!base, offset : local_#32849_strfrmt!offset + local_#28100 * 1 }; local_#28101 := _memory[local_#32849_strfrmt]; assert { :LIR "63976" } { :check "overflow" } { :finding_ids "0" } local_#28101 <= 2147483647; local_#28102 := 37; local_#28103 := (if local_#28101 == local_#28102 then 1 else 0); if (local_#28103 != 0) { goto CFG_51239; } else { goto CFG_44663; } CFG_44663: assume true; local_#28104 := local_#32847_b; local_#28105 := 428; goto CFG_48714; CFG_48714: assume true; call local_#28106 := routine_#33844_luaL_prepbuffsize(local_#28104,local_#28105); goto CFG_51233; CFG_51233: assume true; local_#32852_buff := local_#28106; local_#32854_nb := 0; local_#28107 := 1; local_#32846_arg := local_#32846_arg + local_#28107; assert { :LIR "66839" } { :check "overflow" } { :finding_ids "0" } local_#32846_arg <= 2147483647; local_#28108 := (if local_#32846_arg > local_#32851_top then 1 else 0); if (local_#28108 != 0) { goto CFG_44664; } else { goto CFG_44665; } CFG_44664: assume true; assume _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 0 }] == 110 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 1 }] == 111 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 2 }] == 32 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 3 }] == 118 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 4 }] == 97 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 5 }] == 108 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 6 }] == 117 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 7 }] == 101 && _memory[{ base : strlit_#70836!base, offset : strlit_#70836!offset + 8 }] == 0; local_#28109 := strlit_#70836; local_#28110 := { base : local_#28109!base, offset : local_#28109!offset + 0 * 1 }; assert { :LIR "63977" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48715; CFG_48715: assume true; call local_#28111 := routine_#33815_luaL_argerror(local_#6401_L,local_#32846_arg,local_#28110); goto CFG_41408; CFG_41408: assume true; goto CFG_44665; CFG_44665: assume true; local_#28112 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; goto CFG_48716; CFG_48716: assume true; call local_#28113 := routine_#35044_scanformat(local_#6401_L,local_#32849_strfrmt,local_#28112); goto CFG_51573; CFG_51573: assume true; local_#32849_strfrmt := local_#28113; local_#28114 := local_#32849_strfrmt; local_#28115 := 1; local_#32849_strfrmt := { base : local_#28114!base, offset : local_#28114!offset + local_#28115 * 1 }; local_#28116 := _memory[local_#28114]; assert { :LIR "63978" } { :check "overflow" } { :finding_ids "0" } local_#28116 <= 2147483647; if (local_#28116 == 99) { goto CFG_44682; } if (local_#28116 == 100) { goto CFG_48733; } if (local_#28116 == 105) { goto CFG_48733; } if (local_#28116 == 111) { goto CFG_48733; } if (local_#28116 == 117) { goto CFG_48733; } if (local_#28116 == 120) { goto CFG_48733; } if (local_#28116 == 88) { goto CFG_48733; } if (local_#28116 == 97) { goto CFG_44677; } if (local_#28116 == 65) { goto CFG_44677; } if (local_#28116 == 101) { goto CFG_48727; } if (local_#28116 == 69) { goto CFG_48727; } if (local_#28116 == 102) { goto CFG_48727; } if (local_#28116 == 103) { goto CFG_48727; } if (local_#28116 == 71) { goto CFG_48727; } if (local_#28116 == 113) { goto CFG_44674; } if (local_#28116 == 115) { goto CFG_44667; } goto CFG_44666; CFG_44666: assume true; assume _memory[{ base : strlit_#70837!base, offset : strlit_#70837!offset + 33 }] == 0; local_#28117 := strlit_#70837; local_#28118 := { base : local_#28117!base, offset : local_#28117!offset + 0 * 1 }; assert { :LIR "63979" } { :check "overflow" } { :finding_ids "0" } true; local_#28119 := 1; local_#28120 := { base : local_#32849_strfrmt!base, offset : local_#32849_strfrmt!offset - local_#28119 * 1 }; local_#28121 := _memory[local_#28120]; assert { :LIR "63980" } { :check "overflow" } { :finding_ids "0" } local_#28121 <= 2147483647; goto CFG_48717; CFG_48717: assume true; call local_#28122 := routine_#33828_luaL_error(local_#6401_L,local_#28118,{ base : 0, offset : 0 }); goto CFG_39000; CFG_39000: assume true; local_#8276 := local_#28122; goto CFG_37988; CFG_44667: assume true; local_#28123 := local_#32857_l; goto CFG_48718; CFG_48718: assume true; call local_#28124 := routine_#33852_luaL_tolstring(local_#6401_L,local_#32846_arg,local_#28123); goto CFG_51234; CFG_51234: assume true; local_#32858_s := local_#28124; local_#28125 := _memory[{ base : local_#32853_form!base, offset : local_#32853_form!offset + 2 * 1 }]; assert { :LIR "63981" } { :check "overflow" } { :finding_ids "0" } local_#28125 <= 2147483647; local_#28126 := 0; local_#28127 := (if local_#28125 == local_#28126 then 1 else 0); if (local_#28127 != 0) { goto CFG_44673; } else { goto CFG_48719; } CFG_48719: assume true; call local_#28128 := routine_#34454_strlen(local_#32858_s); goto CFG_51235; CFG_51235: assume true; local_#28129 := (if _memory[local_#32857_l] == local_#28128 then 1 else 0); if (local_#28129 != 0) { goto CFG_41410; } else { goto CFG_44668; } CFG_44668: assume true; assume _memory[{ base : strlit_#70838!base, offset : strlit_#70838!offset + 21 }] == 0; local_#28130 := strlit_#70838; local_#28131 := { base : local_#28130!base, offset : local_#28130!offset + 0 * 1 }; assert { :LIR "63982" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48720; CFG_48720: assume true; call local_#28132 := routine_#33815_luaL_argerror(local_#6401_L,local_#32846_arg,local_#28131); goto CFG_51236; CFG_51236: assume true; local_#28133 := local_#28132; if (local_#28133 != 0) { goto CFG_41410; } else { goto CFG_41409; } CFG_41409: assume true; local_#30865 := 0; goto CFG_44669; CFG_41410: assume true; local_#30865 := 1; goto CFG_44669; CFG_44669: assume true; local_#28134 := 0; assert { :LIR "61987" } { :check "overflow" } { :finding_ids "0" } true; local_#28135 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assert { :LIR "63983" } { :check "overflow" } { :finding_ids "0" } true; local_#28136 := 46; goto CFG_48721; CFG_48721: assume true; call local_#28137 := routine_#34445_strchr(local_#28135,local_#28136); goto CFG_51237; CFG_51237: assume true; local_#28138 := (if local_#28137 != { base : 0, offset : 0 } then 0 else 1); if (local_#28138 != 0) { goto CFG_51238; } else { goto CFG_44670; } CFG_51238: assume true; local_#28139 := 100; local_#28140 := (if _memory[local_#32857_l] >= local_#28139 then 1 else 0); if (local_#28140 != 0) { goto CFG_44672; } else { goto CFG_44670; } CFG_44670: assume true; local_#28141 := 428; local_#28142 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assert { :LIR "63984" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48722; CFG_48722: assume true; call local_#28143 := routine_#34434_snprintf(local_#32852_buff,local_#28141,local_#28142,{ base : 0, offset : 0 }); goto CFG_44671; CFG_44671: assume true; local_#32854_nb := local_#28143; local_#28144 := -2; goto CFG_48723; CFG_48723: assume true; call routine_#33987_lua_settop(local_#6401_L,local_#28144); goto CFG_41411; CFG_41411: assume true; goto CFG_41413; CFG_44672: assume true; local_#28145 := local_#32847_b; goto CFG_48724; CFG_48724: assume true; call routine_#33814_luaL_addvalue(local_#28145); goto CFG_41412; CFG_41412: assume true; goto CFG_41413; CFG_41413: assume true; goto CFG_39736; CFG_44673: assume true; local_#28146 := local_#32847_b; goto CFG_48725; CFG_48725: assume true; call routine_#33814_luaL_addvalue(local_#28146); goto CFG_41414; CFG_41414: assume true; goto CFG_39736; CFG_39736: assume true; goto CFG_41415; CFG_44674: assume true; local_#28147 := local_#32847_b; goto CFG_48726; CFG_48726: assume true; call routine_#34574_addliteral(local_#6401_L,local_#28147,local_#32846_arg); goto CFG_39737; CFG_39737: assume true; goto CFG_41415; CFG_48727: assume true; call local_#28148 := routine_#33822_luaL_checknumber(local_#6401_L,local_#32846_arg); goto CFG_44675; CFG_44675: assume true; local_#32856_n := local_#28148; local_#28149 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28150 := strlit_#70352; local_#28151 := { base : local_#28150!base, offset : local_#28150!offset + 0 * 1 }; assert { :LIR "63985" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48728; CFG_48728: assume true; call routine_#34573_addlenmod(local_#28149,local_#28151); goto CFG_44676; CFG_44676: assume true; local_#28152 := 428; local_#28153 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assert { :LIR "63986" } { :check "overflow" } { :finding_ids "0" } true; havoc nondet_#0; local_#28154 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61988 */; assert { :LIR "61988" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48729; CFG_48729: assume true; call local_#28155 := routine_#34434_snprintf(local_#32852_buff,local_#28152,local_#28153,{ base : 0, offset : 0 }); goto CFG_39738; CFG_39738: assume true; local_#32854_nb := local_#28155; goto CFG_41415; CFG_44677: assume true; local_#28156 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28157 := strlit_#70352; local_#28158 := { base : local_#28157!base, offset : local_#28157!offset + 0 * 1 }; assert { :LIR "63987" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48730; CFG_48730: assume true; call routine_#34573_addlenmod(local_#28156,local_#28158); goto CFG_44678; CFG_44678: assume true; local_#28159 := 0; assert { :LIR "61989" } { :check "overflow" } { :finding_ids "0" } true; local_#28160 := 428; local_#28161 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assert { :LIR "63988" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48731; CFG_48731: assume true; call local_#28162 := routine_#33822_luaL_checknumber(local_#6401_L,local_#32846_arg); goto CFG_44679; CFG_44679: assume true; havoc nondet_#1; local_#28163 := nondet_#1 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 61990 */; assert { :LIR "61990" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48732; CFG_48732: assume true; call local_#28164 := routine_#34434_snprintf(local_#32852_buff,local_#28160,local_#28161,{ base : 0, offset : 0 }); goto CFG_39739; CFG_39739: assume true; local_#32854_nb := local_#28164; goto CFG_41415; CFG_48733: assume true; call local_#28165 := routine_#33820_luaL_checkinteger(local_#6401_L,local_#32846_arg); goto CFG_44680; CFG_44680: assume true; local_#32855_n := local_#28165; local_#28166 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assume _memory[{ base : strlit_#70841!base, offset : strlit_#70841!offset + 0 }] == 108 && _memory[{ base : strlit_#70841!base, offset : strlit_#70841!offset + 1 }] == 108 && _memory[{ base : strlit_#70841!base, offset : strlit_#70841!offset + 2 }] == 0; local_#28167 := strlit_#70841; local_#28168 := { base : local_#28167!base, offset : local_#28167!offset + 0 * 1 }; assert { :LIR "63989" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48734; CFG_48734: assume true; call routine_#34573_addlenmod(local_#28166,local_#28168); goto CFG_44681; CFG_44681: assume true; local_#28169 := 428; local_#28170 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assert { :LIR "63990" } { :check "overflow" } { :finding_ids "0" } true; local_#28171 := local_#32855_n; assert { :LIR "61991" } { :check "overflow" } { :finding_ids "0" } local_#28171 <= 9223372036854775807; goto CFG_48735; CFG_48735: assume true; call local_#28172 := routine_#34434_snprintf(local_#32852_buff,local_#28169,local_#28170,{ base : 0, offset : 0 }); goto CFG_39740; CFG_39740: assume true; local_#32854_nb := local_#28172; goto CFG_41415; CFG_44682: assume true; local_#28173 := 428; local_#28174 := { base : local_#32853_form!base, offset : local_#32853_form!offset + 0 * 1 }; assert { :LIR "63991" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48736; CFG_48736: assume true; call local_#28175 := routine_#33820_luaL_checkinteger(local_#6401_L,local_#32846_arg); goto CFG_44683; CFG_44683: assume true; local_#28176 := local_#28175; assert { :LIR "61992" } { :check "overflow" } { :finding_ids "0" } local_#28176 <= 2147483647; goto CFG_48737; CFG_48737: assume true; call local_#28177 := routine_#34434_snprintf(local_#32852_buff,local_#28173,local_#28174,{ base : 0, offset : 0 }); goto CFG_39741; CFG_39741: assume true; local_#32854_nb := local_#28177; goto CFG_41415; CFG_41415: assume true; local_#28178 := 0; local_#28179 := 0; assert { :LIR "61993" } { :check "overflow" } { :finding_ids "0" } true; local_#28180 := ~uwrap64(local_#32854_nb); assert { :LIR "63992" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }] + local_#28180); assert { :LIR "66840" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_41419; CFG_51239: assume true; local_#28181 := (if _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }] < _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 8 }] then 1 else 0); if (local_#28181 != 0) { goto CFG_41417; } else { goto CFG_44684; } CFG_44684: assume true; local_#28182 := local_#32847_b; local_#28183 := 1; goto CFG_48738; CFG_48738: assume true; call local_#28184 := routine_#33844_luaL_prepbuffsize(local_#28182,local_#28183); goto CFG_51240; CFG_51240: assume true; local_#28185 := local_#28184; if (local_#28185 != { base : 0, offset : 0 }) { goto CFG_41417; } else { goto CFG_41416; } CFG_41416: assume true; local_#30866 := 0; goto CFG_41418; CFG_41417: assume true; local_#30866 := 1; goto CFG_41418; CFG_41418: assume true; local_#28186 := 0; assert { :LIR "61994" } { :check "overflow" } { :finding_ids "0" } true; local_#28187 := local_#32849_strfrmt; local_#28188 := 1; local_#32849_strfrmt := { base : local_#28187!base, offset : local_#28187!offset + local_#28188 * 1 }; local_#28189 := _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }]; local_#28190 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }] := ~uwrap64(local_#28189 + local_#28190); assert { :LIR "66841" } { :check "overflow" } { :finding_ids "0" } true; local_#28191 := { base : _memory_ptr[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 0 }]!offset + local_#28189 * 1 }; _memory[local_#28191] := _memory[local_#28187]; local_#28192 := _memory[local_#28191]; local_#28193 := local_#28192; goto CFG_41419; CFG_41419: assume true; goto CFG_45192; CFG_51241: assume true; local_#28194 := (if _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }] < _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 8 }] then 1 else 0); if (local_#28194 != 0) { goto CFG_41421; } else { goto CFG_44685; } CFG_44685: assume true; local_#28195 := local_#32847_b; local_#28196 := 1; goto CFG_48739; CFG_48739: assume true; call local_#28197 := routine_#33844_luaL_prepbuffsize(local_#28195,local_#28196); goto CFG_51242; CFG_51242: assume true; local_#28198 := local_#28197; if (local_#28198 != { base : 0, offset : 0 }) { goto CFG_41421; } else { goto CFG_41420; } CFG_41420: assume true; local_#30867 := 0; goto CFG_41422; CFG_41421: assume true; local_#30867 := 1; goto CFG_41422; CFG_41422: assume true; local_#28199 := 0; assert { :LIR "61995" } { :check "overflow" } { :finding_ids "0" } true; local_#28200 := local_#32849_strfrmt; local_#28201 := 1; local_#32849_strfrmt := { base : local_#28200!base, offset : local_#28200!offset + local_#28201 * 1 }; local_#28202 := _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }]; local_#28203 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 16 }] := ~uwrap64(local_#28202 + local_#28203); assert { :LIR "66842" } { :check "overflow" } { :finding_ids "0" } true; local_#28204 := { base : _memory_ptr[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32847_b!base, offset : local_#32847_b!offset + 0 }]!offset + local_#28202 * 1 }; _memory[local_#28204] := _memory[local_#28200]; local_#28205 := _memory[local_#28204]; local_#28206 := local_#28205; goto CFG_45192; CFG_45192: assume true; goto CFG_51230; CFG_41969: assume true; goto CFG_41415; CFG_37988: assume true; } procedure routine_#35090_str_gsub(local_#6402_L_IN : { base : int, offset : int }) returns (local_#8277 : int) modifies _memory, _memory_ptr, _valid; { var local_#6402_L : { base : int, offset : int }; var local_#28207 : int; var local_#32868_srcl : { base : int, offset : int }; var local_#28208 : { base : int, offset : int }; var local_#28209 : { base : int, offset : int }; var local_#32867_src : { base : int, offset : int }; var local_#28210 : int; var local_#32862_lp : { base : int, offset : int }; var local_#28211 : { base : int, offset : int }; var local_#28212 : { base : int, offset : int }; var local_#32866_p : { base : int, offset : int }; var local_#32861_lastmatch : { base : int, offset : int }; var local_#28213 : int; var local_#28214 : int; var local_#32869_tr : int; var local_#28215 : int; var local_#28216 : int; var local_#28217 : int; var local_#28218 : int; var local_#28219 : int; var local_#32863_max_s : int; var local_#28220 : int; var local_#28221 : int; var local_#28222 : int; var local_#32859_anchor : int; var local_#32865_n : int; var local_#28223 : int; var local_#28224 : int; var local_#28225 : int; var local_#28226 : int; var local_#28227 : int; var local_#28228 : int; var local_#28229 : int; var local_#28230 : int; var local_#28231 : int; var local_#28232 : { base : int, offset : int }; var local_#28233 : { base : int, offset : int }; var local_#28234 : int; var local_#28235 : int; var local_#30868 : int; var local_#28236 : int; var local_#32860_b : { base : int, offset : int }; var local_#28237 : { base : int, offset : int }; var local_#28238 : int; var local_#28239 : { base : int, offset : int }; var local_#28240 : int; var local_#28241 : { base : int, offset : int }; var local_#28242 : int; var local_#28243 : int; var local_#28244 : int; var local_#32864_ms : { base : int, offset : int }; var local_#28245 : { base : int, offset : int }; var local_#28246 : int; var local_#28247 : { base : int, offset : int }; var local_#28248 : { base : int, offset : int }; var local_#28249 : { base : int, offset : int }; var local_#32870_e : { base : int, offset : int }; var local_#28250 : { base : int, offset : int }; var local_#28251 : int; var local_#28252 : int; var local_#28253 : int; var local_#28254 : int; var local_#28255 : { base : int, offset : int }; var local_#28256 : int; var local_#28257 : { base : int, offset : int }; var local_#28258 : { base : int, offset : int }; var local_#30869 : int; var local_#28259 : int; var local_#28260 : { base : int, offset : int }; var local_#28261 : int; var local_#28262 : int; var local_#28263 : int; var local_#28264 : { base : int, offset : int }; var local_#28265 : int; var local_#28266 : int; var local_#28267 : int; var local_#28268 : int; var local_#28269 : int; var local_#28270 : { base : int, offset : int }; var local_#28271 : { base : int, offset : int }; var local_#28272 : int; var local_#28273 : { base : int, offset : int }; var local_#28274 : int; var local_#28275 : int; var local_#28276 : { base : int, offset : int }; local_#6402_L := local_#6402_L_IN; goto CFG_37078; CFG_37078: assume true; goto CFG_44686; CFG_44686: assume true; local_#28207 := 1; local_#28208 := local_#32868_srcl; goto CFG_48740; CFG_48740: assume true; call local_#28209 := routine_#33821_luaL_checklstring(local_#6402_L,local_#28207,local_#28208); goto CFG_44687; CFG_44687: assume true; local_#32867_src := local_#28209; local_#28210 := 2; local_#28211 := local_#32862_lp; goto CFG_48741; CFG_48741: assume true; call local_#28212 := routine_#33821_luaL_checklstring(local_#6402_L,local_#28210,local_#28211); goto CFG_44688; CFG_44688: assume true; local_#32866_p := local_#28212; local_#32861_lastmatch := { base : 0, offset : 0 }; local_#28213 := 3; goto CFG_48742; CFG_48742: assume true; call local_#28214 := routine_#34000_lua_type(local_#6402_L,local_#28213); goto CFG_44689; CFG_44689: assume true; local_#32869_tr := local_#28214; local_#28215 := 4; local_#28216 := 1; assume { :symbol "~uwrap64" } true; local_#28217 := ~uwrap64(_memory[local_#32868_srcl] + local_#28216); assert { :LIR "66843" } { :check "overflow" } { :finding_ids "0" } true; local_#28218 := local_#28217; assert { :LIR "63993" } { :check "overflow" } { :finding_ids "0" } local_#28218 <= 9223372036854775807; goto CFG_48743; CFG_48743: assume true; call local_#28219 := routine_#33841_luaL_optinteger(local_#6402_L,local_#28215,local_#28218); goto CFG_51243; CFG_51243: assume true; local_#32863_max_s := local_#28219; local_#28220 := _memory[local_#32866_p]; assert { :LIR "63994" } { :check "overflow" } { :finding_ids "0" } local_#28220 <= 2147483647; local_#28221 := 94; local_#28222 := (if local_#28220 == local_#28221 then 1 else 0); local_#32859_anchor := local_#28222; local_#32865_n := 0; local_#28223 := 3; local_#28224 := (if local_#32869_tr == local_#28223 then 1 else 0); if (local_#28224 != 0) { goto CFG_41424; } else { goto CFG_51244; } CFG_51244: assume true; local_#28225 := 4; local_#28226 := (if local_#32869_tr == local_#28225 then 1 else 0); if (local_#28226 != 0) { goto CFG_41424; } else { goto CFG_51245; } CFG_51245: assume true; local_#28227 := 6; local_#28228 := (if local_#32869_tr == local_#28227 then 1 else 0); if (local_#28228 != 0) { goto CFG_41424; } else { goto CFG_51246; } CFG_51246: assume true; local_#28229 := 5; local_#28230 := (if local_#32869_tr == local_#28229 then 1 else 0); if (local_#28230 != 0) { goto CFG_41424; } else { goto CFG_44690; } CFG_44690: assume true; local_#28231 := 3; assume _memory[{ base : strlit_#70842!base, offset : strlit_#70842!offset + 30 }] == 0; local_#28232 := strlit_#70842; local_#28233 := { base : local_#28232!base, offset : local_#28232!offset + 0 * 1 }; assert { :LIR "63995" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48744; CFG_48744: assume true; call local_#28234 := routine_#33815_luaL_argerror(local_#6402_L,local_#28231,local_#28233); goto CFG_51247; CFG_51247: assume true; local_#28235 := local_#28234; if (local_#28235 != 0) { goto CFG_41424; } else { goto CFG_41423; } CFG_41423: assume true; local_#30868 := 0; goto CFG_44691; CFG_41424: assume true; local_#30868 := 1; goto CFG_44691; CFG_44691: assume true; local_#28236 := 0; assert { :LIR "61996" } { :check "overflow" } { :finding_ids "0" } true; local_#28237 := local_#32860_b; goto CFG_48745; CFG_48745: assume true; call routine_#33816_luaL_buffinit(local_#6402_L,local_#28237); goto CFG_51248; CFG_51248: assume true; local_#28238 := local_#32859_anchor; if (local_#28238 != 0) { goto CFG_41425; } else { goto CFG_44692; } CFG_41425: assume true; local_#28239 := local_#32866_p; local_#28240 := 1; local_#32866_p := { base : local_#28239!base, offset : local_#28239!offset + local_#28240 * 1 }; local_#28241 := local_#28239; local_#28242 := _memory[local_#32862_lp]; local_#28243 := 1; assume { :symbol "~uwrap64" } true; _memory[local_#32862_lp] := ~uwrap64(local_#28242 - local_#28243); assert { :LIR "68177" } { :check "overflow" } { :finding_ids "0" } true; local_#28244 := local_#28242; goto CFG_44692; CFG_44692: assume true; local_#28245 := local_#32864_ms; goto CFG_48746; CFG_48746: assume true; call routine_#34994_prepstate(local_#28245,local_#6402_L,local_#32867_src,_memory[local_#32868_srcl],local_#32866_p,_memory[local_#32862_lp]); goto CFG_41852; CFG_41852: assume true; goto CFG_51249; CFG_51249: assume true; local_#28246 := (if local_#32865_n < local_#32863_max_s then 1 else 0); if (local_#28246 != 0) { goto CFG_44693; } else { goto CFG_41970; } CFG_41970: assume true; goto CFG_44697; CFG_44693: assume true; local_#28247 := local_#32864_ms; goto CFG_48747; CFG_48747: assume true; call routine_#35034_reprepstate(local_#28247); goto CFG_44694; CFG_44694: assume true; local_#28248 := local_#32864_ms; goto CFG_48748; CFG_48748: assume true; call local_#28249 := routine_#34913_match(local_#28248,local_#32867_src,local_#32866_p); goto CFG_51250; CFG_51250: assume true; local_#32870_e := local_#28249; local_#28250 := { base : 0, offset : 0 }; local_#28251 := (if local_#32870_e != local_#28250 then 1 else 0); if (local_#28251 != 0) { goto CFG_51251; } else { goto CFG_51252; } CFG_51251: assume true; local_#28252 := (if local_#32870_e != local_#32861_lastmatch then 1 else 0); if (local_#28252 != 0) { goto CFG_44696; } else { goto CFG_51252; } CFG_51252: assume true; local_#28253 := (if local_#32867_src!offset < _memory_ptr[{ base : local_#32864_ms!base, offset : local_#32864_ms!offset + 8 }]!offset then 1 else 0); if (local_#28253 != 0) { goto CFG_51253; } else { goto CFG_39458; } CFG_39458: assume true; goto CFG_44697; CFG_51253: assume true; local_#28254 := (if _memory[{ base : local_#32860_b!base, offset : local_#32860_b!offset + 16 }] < _memory[{ base : local_#32860_b!base, offset : local_#32860_b!offset + 8 }] then 1 else 0); if (local_#28254 != 0) { goto CFG_41427; } else { goto CFG_44695; } CFG_44695: assume true; local_#28255 := local_#32860_b; local_#28256 := 1; goto CFG_48749; CFG_48749: assume true; call local_#28257 := routine_#33844_luaL_prepbuffsize(local_#28255,local_#28256); goto CFG_51254; CFG_51254: assume true; local_#28258 := local_#28257; if (local_#28258 != { base : 0, offset : 0 }) { goto CFG_41427; } else { goto CFG_41426; } CFG_41426: assume true; local_#30869 := 0; goto CFG_41428; CFG_41427: assume true; local_#30869 := 1; goto CFG_41428; CFG_41428: assume true; local_#28259 := 0; assert { :LIR "61997" } { :check "overflow" } { :finding_ids "0" } true; local_#28260 := local_#32867_src; local_#28261 := 1; local_#32867_src := { base : local_#28260!base, offset : local_#28260!offset + local_#28261 * 1 }; local_#28262 := _memory[{ base : local_#32860_b!base, offset : local_#32860_b!offset + 16 }]; local_#28263 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32860_b!base, offset : local_#32860_b!offset + 16 }] := ~uwrap64(local_#28262 + local_#28263); assert { :LIR "66844" } { :check "overflow" } { :finding_ids "0" } true; local_#28264 := { base : _memory_ptr[{ base : local_#32860_b!base, offset : local_#32860_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32860_b!base, offset : local_#32860_b!offset + 0 }]!offset + local_#28262 * 1 }; _memory[local_#28264] := _memory[local_#28260]; local_#28265 := _memory[local_#28264]; local_#28266 := local_#28265; goto CFG_41429; CFG_41429: assume true; goto CFG_51255; CFG_44696: assume true; local_#28267 := local_#32865_n; local_#28268 := 1; local_#32865_n := local_#28267 + local_#28268; assert { :LIR "66845" } { :check "overflow" } { :finding_ids "0" } local_#32865_n <= 9223372036854775807; local_#28269 := local_#28267; local_#28270 := local_#32864_ms; local_#28271 := local_#32860_b; goto CFG_48750; CFG_48750: assume true; call routine_#34570_add_value(local_#28270,local_#28271,local_#32867_src,local_#32870_e,local_#32869_tr); goto CFG_41430; CFG_41430: assume true; local_#32861_lastmatch := local_#32870_e; local_#32867_src := local_#32861_lastmatch; goto CFG_51255; CFG_51255: assume true; local_#28272 := local_#32859_anchor; if (local_#28272 != 0) { goto CFG_39459; } else { goto CFG_45193; } CFG_45193: assume true; goto CFG_51249; CFG_39459: assume true; goto CFG_44697; CFG_44697: assume true; local_#28273 := local_#32860_b; local_#28274 := (_memory_ptr[{ base : local_#32864_ms!base, offset : local_#32864_ms!offset + 8 }]!offset - local_#32867_src!offset) / 1; local_#28275 := ~uwrap64(local_#28274); assert { :LIR "63996" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48751; CFG_48751: assume true; call routine_#33812_luaL_addlstring(local_#28273,local_#32867_src,local_#28275); goto CFG_44698; CFG_44698: assume true; local_#28276 := local_#32860_b; goto CFG_48752; CFG_48752: assume true; call routine_#33845_luaL_pushresult(local_#28276); goto CFG_48753; CFG_48753: assume true; call routine_#33960_lua_pushinteger(local_#6402_L,local_#32865_n); goto CFG_39001; CFG_39001: assume true; local_#8277 := 2; goto CFG_37989; CFG_37989: assume true; } procedure routine_#35091_str_len(local_#6403_L_IN : { base : int, offset : int }) returns (local_#8278 : int) modifies _memory, _memory_ptr, _valid; { var local_#6403_L : { base : int, offset : int }; var local_#28277 : int; var local_#32871_l : { base : int, offset : int }; var local_#28278 : { base : int, offset : int }; var local_#28279 : { base : int, offset : int }; var local_#28280 : int; local_#6403_L := local_#6403_L_IN; goto CFG_37079; CFG_37079: assume true; goto CFG_44699; CFG_44699: assume true; local_#28277 := 1; local_#28278 := local_#32871_l; goto CFG_48754; CFG_48754: assume true; call local_#28279 := routine_#33821_luaL_checklstring(local_#6403_L,local_#28277,local_#28278); goto CFG_44700; CFG_44700: assume true; local_#28280 := _memory[local_#32871_l]; assert { :LIR "61998" } { :check "overflow" } { :finding_ids "0" } local_#28280 <= 9223372036854775807; goto CFG_48755; CFG_48755: assume true; call routine_#33960_lua_pushinteger(local_#6403_L,local_#28280); goto CFG_39002; CFG_39002: assume true; local_#8278 := 1; goto CFG_37990; CFG_37990: assume true; } procedure routine_#35092_str_lower(local_#6404_L_IN : { base : int, offset : int }) returns (local_#8279 : int) modifies _memory, _memory_ptr, _valid; { var local_#6404_L : { base : int, offset : int }; var local_#28281 : int; var local_#32874_l : { base : int, offset : int }; var local_#28282 : { base : int, offset : int }; var local_#28283 : { base : int, offset : int }; var local_#32876_s : { base : int, offset : int }; var local_#32872_b : { base : int, offset : int }; var local_#28284 : { base : int, offset : int }; var local_#28285 : { base : int, offset : int }; var local_#32875_p : { base : int, offset : int }; var local_#32873_i : int; var local_#28286 : int; var local_#28287 : { base : int, offset : int }; var local_#28288 : { base : int, offset : int }; var local_#28289 : int; var local_#28290 : int; var local_#28291 : int; var local_#28292 : int; var local_#28293 : { base : int, offset : int }; var local_#28294 : int; var local_#28295 : int; var local_#28296 : int; local_#6404_L := local_#6404_L_IN; goto CFG_37080; CFG_37080: assume true; goto CFG_44701; CFG_44701: assume true; local_#28281 := 1; local_#28282 := local_#32874_l; goto CFG_48756; CFG_48756: assume true; call local_#28283 := routine_#33821_luaL_checklstring(local_#6404_L,local_#28281,local_#28282); goto CFG_44702; CFG_44702: assume true; local_#32876_s := local_#28283; local_#28284 := local_#32872_b; goto CFG_48757; CFG_48757: assume true; call local_#28285 := routine_#33817_luaL_buffinitsize(local_#6404_L,local_#28284,_memory[local_#32874_l]); goto CFG_41853; CFG_41853: assume true; local_#32875_p := local_#28285; local_#32873_i := 0; goto CFG_51256; CFG_51256: assume true; local_#28286 := (if local_#32873_i < _memory[local_#32874_l] then 1 else 0); if (local_#28286 != 0) { goto CFG_44704; } else { goto CFG_44703; } CFG_44703: assume true; local_#28287 := local_#32872_b; goto CFG_48758; CFG_48758: assume true; call routine_#33846_luaL_pushresultsize(local_#28287,_memory[local_#32874_l]); goto CFG_39003; CFG_39003: assume true; local_#8279 := 1; goto CFG_37991; CFG_44704: assume true; local_#28288 := { base : local_#32876_s!base, offset : local_#32876_s!offset + local_#32873_i * 1 }; local_#28289 := ~uwrap8(_memory[local_#28288]); assert { :LIR "61999" } { :check "overflow" } { :finding_ids "0" } true; local_#28290 := local_#28289; assert { :LIR "63997" } { :check "overflow" } { :finding_ids "0" } local_#28290 <= 2147483647; goto CFG_48759; CFG_48759: assume true; call local_#28291 := routine_#34503_tolower(local_#28290); goto CFG_44705; CFG_44705: assume true; local_#28292 := local_#28291; assert { :LIR "63998" } { :check "overflow" } { :finding_ids "0" } local_#28292 <= 127; local_#28293 := { base : local_#32875_p!base, offset : local_#32875_p!offset + local_#32873_i * 1 }; _memory[local_#28293] := local_#28292; goto CFG_45194; CFG_45194: assume true; local_#28294 := local_#32873_i; local_#28295 := 1; assume { :symbol "~uwrap64" } true; local_#32873_i := ~uwrap64(local_#28294 + local_#28295); assert { :LIR "66846" } { :check "overflow" } { :finding_ids "0" } true; local_#28296 := local_#28294; goto CFG_51256; CFG_37991: assume true; } procedure routine_#35093_str_match(local_#6405_L_IN : { base : int, offset : int }) returns (local_#8280 : int) modifies _memory, _memory_ptr, _valid; { var local_#6405_L : { base : int, offset : int }; var local_#28297 : int; var local_#28298 : int; local_#6405_L := local_#6405_L_IN; goto CFG_37081; CFG_37081: assume true; goto CFG_44706; CFG_44706: assume true; local_#28297 := 0; goto CFG_48760; CFG_48760: assume true; call local_#28298 := routine_#35088_str_find_aux(local_#6405_L,local_#28297); goto CFG_39004; CFG_39004: assume true; local_#8280 := local_#28298; goto CFG_37992; CFG_37992: assume true; } procedure routine_#35094_str_pack(local_#6406_L_IN : { base : int, offset : int }) returns (local_#8281 : int) modifies _memory, _memory_ptr, _valid; { var local_#6406_L : { base : int, offset : int }; var local_#28299 : int; var local_#28300 : { base : int, offset : int }; var local_#28301 : { base : int, offset : int }; var local_#32879_fmt : { base : int, offset : int }; var local_#32877_arg : int; var local_#32881_totalsize : int; var local_#32880_h : { base : int, offset : int }; var local_#28302 : { base : int, offset : int }; var local_#32878_b : { base : int, offset : int }; var local_#28303 : { base : int, offset : int }; var local_#28304 : int; var local_#28305 : int; var local_#28306 : int; var local_#28307 : { base : int, offset : int }; var local_#28308 : { base : int, offset : int }; var local_#28309 : { base : int, offset : int }; var local_#32884_size : { base : int, offset : int }; var local_#28310 : { base : int, offset : int }; var local_#32882_ntoalign : { base : int, offset : int }; var local_#28311 : { base : int, offset : int }; var local_#28312 : int; var local_#32883_opt : int; var local_#28313 : int; var local_#28314 : int; var local_#28315 : int; var local_#28316 : int; var local_#28317 : int; var local_#28318 : int; var local_#28319 : int; var local_#28320 : int; var local_#28321 : int; var local_#28322 : int; var local_#28323 : int; var local_#28324 : { base : int, offset : int }; var local_#28325 : int; var local_#28326 : { base : int, offset : int }; var local_#28327 : { base : int, offset : int }; var local_#30870 : int; var local_#28328 : int; var local_#28329 : int; var local_#28330 : int; var local_#28331 : int; var local_#28332 : { base : int, offset : int }; var local_#28333 : int; var local_#28334 : int; var local_#28335 : int; var local_#28336 : int; var local_#28337 : int; var local_#32895_len : { base : int, offset : int }; var local_#28338 : { base : int, offset : int }; var local_#28339 : { base : int, offset : int }; var local_#32896_s : { base : int, offset : int }; var local_#28340 : int; var local_#28341 : int; var local_#28342 : { base : int, offset : int }; var local_#28343 : { base : int, offset : int }; var local_#28344 : int; var local_#28345 : int; var local_#30871 : int; var local_#28346 : int; var local_#28347 : { base : int, offset : int }; var local_#28348 : int; var local_#28349 : { base : int, offset : int }; var local_#28350 : int; var local_#28351 : { base : int, offset : int }; var local_#28352 : { base : int, offset : int }; var local_#30872 : int; var local_#28353 : int; var local_#28354 : int; var local_#28355 : int; var local_#28356 : int; var local_#28357 : { base : int, offset : int }; var local_#28358 : int; var local_#28359 : int; var local_#28360 : int; var local_#28361 : int; var local_#32893_len : { base : int, offset : int }; var local_#28362 : { base : int, offset : int }; var local_#28363 : { base : int, offset : int }; var local_#32894_s : { base : int, offset : int }; var local_#28364 : int; var local_#28365 : int; var local_#28366 : int; var local_#28367 : int; var local_#28368 : int; var local_#28369 : int; var local_#28370 : int; var local_#28371 : { base : int, offset : int }; var local_#28372 : { base : int, offset : int }; var local_#28373 : int; var local_#28374 : int; var local_#30873 : int; var local_#28375 : int; var local_#28376 : { base : int, offset : int }; var local_#28377 : int; var local_#28378 : int; var local_#28379 : int; var local_#28380 : { base : int, offset : int }; var local_#32891_len : { base : int, offset : int }; var local_#28381 : { base : int, offset : int }; var local_#28382 : { base : int, offset : int }; var local_#32892_s : { base : int, offset : int }; var local_#28383 : int; var local_#28384 : int; var local_#28385 : { base : int, offset : int }; var local_#28386 : { base : int, offset : int }; var local_#28387 : int; var local_#28388 : int; var local_#30874 : int; var local_#28389 : int; var local_#28390 : { base : int, offset : int }; var local_#28391 : int; var local_#28392 : int; var local_#28393 : int; var local_#28394 : int; var local_#28395 : int; var local_#28396 : { base : int, offset : int }; var local_#28397 : int; var local_#28398 : { base : int, offset : int }; var local_#28399 : { base : int, offset : int }; var local_#30875 : int; var local_#28400 : int; var local_#28401 : int; var local_#28402 : int; var local_#28403 : int; var local_#28404 : { base : int, offset : int }; var local_#28405 : int; var local_#28406 : int; var local_#28407 : { base : int, offset : int }; var local_#28408 : int; var local_#28409 : { base : int, offset : int }; var local_#32888_buff : { base : int, offset : int }; var local_#28410 : int; var local_#32889_n : int; var local_#28411 : int; var local_#28412 : int; var local_#28413 : int; var local_#28414 : int; var local_#28415 : int; var local_#28416 : int; var local_#32890_u : { base : int, offset : int }; var local_#28417 : { base : int, offset : int }; var nondet_#0 : int; var local_#28418 : int; var local_#28419 : { base : int, offset : int }; var nondet_#1 : int; var local_#28420 : int; var local_#28421 : { base : int, offset : int }; var local_#28422 : { base : int, offset : int }; var local_#28423 : { base : int, offset : int }; var local_#28424 : { base : int, offset : int }; var local_#28425 : int; var local_#28426 : int; var local_#28427 : int; var local_#32887_n : int; var local_#28428 : int; var local_#28429 : int; var local_#28430 : int; var local_#28431 : int; var local_#28432 : int; var local_#28433 : int; var local_#28434 : int; var local_#28435 : int; var local_#28436 : { base : int, offset : int }; var local_#28437 : { base : int, offset : int }; var local_#28438 : int; var local_#28439 : int; var local_#30876 : int; var local_#28440 : int; var local_#28441 : { base : int, offset : int }; var local_#28442 : int; var local_#28443 : int; var local_#28444 : int; var local_#28445 : int; var local_#32885_n : int; var local_#28446 : int; var local_#28447 : int; var local_#28448 : int; var local_#28449 : int; var local_#28450 : int; var local_#28451 : int; var local_#28452 : int; var local_#28453 : int; var local_#32886_lim : int; var local_#28454 : int; var local_#28455 : int; var local_#28456 : int; var local_#28457 : { base : int, offset : int }; var local_#28458 : { base : int, offset : int }; var local_#28459 : int; var local_#28460 : int; var local_#30877 : int; var local_#28461 : int; var local_#28462 : { base : int, offset : int }; var local_#28463 : int; var local_#28464 : int; var local_#28465 : int; var local_#28466 : int; var local_#28467 : int; var local_#28468 : { base : int, offset : int }; var local_#28469 : int; var local_#28470 : { base : int, offset : int }; var local_#28471 : { base : int, offset : int }; var local_#30878 : int; var local_#28472 : int; var local_#28473 : int; var local_#28474 : int; var local_#28475 : int; var local_#28476 : { base : int, offset : int }; var local_#28477 : int; var local_#28478 : int; local_#6406_L := local_#6406_L_IN; goto CFG_37082; CFG_37082: assume true; goto CFG_44707; CFG_44707: assume true; local_#28299 := 1; local_#28300 := { base : 0, offset : 0 }; goto CFG_48761; CFG_48761: assume true; call local_#28301 := routine_#33821_luaL_checklstring(local_#6406_L,local_#28299,local_#28300); goto CFG_44708; CFG_44708: assume true; _memory_ptr[local_#32879_fmt] := local_#28301; local_#32877_arg := 1; local_#32881_totalsize := 0; local_#28302 := local_#32880_h; goto CFG_48762; CFG_48762: assume true; call routine_#34814_initheader(local_#6406_L,local_#28302); goto CFG_48763; CFG_48763: assume true; call routine_#33963_lua_pushnil(local_#6406_L); goto CFG_44709; CFG_44709: assume true; local_#28303 := local_#32878_b; goto CFG_48764; CFG_48764: assume true; call routine_#33816_luaL_buffinit(local_#6406_L,local_#28303); goto CFG_41854; CFG_41854: assume true; goto CFG_51257; CFG_51257: assume true; local_#28304 := _memory[_memory_ptr[local_#32879_fmt]]; assert { :LIR "63999" } { :check "overflow" } { :finding_ids "0" } local_#28304 <= 2147483647; local_#28305 := 0; local_#28306 := (if local_#28304 != local_#28305 then 1 else 0); if (local_#28306 != 0) { goto CFG_44711; } else { goto CFG_44710; } CFG_44710: assume true; local_#28307 := local_#32878_b; goto CFG_48765; CFG_48765: assume true; call routine_#33845_luaL_pushresult(local_#28307); goto CFG_39005; CFG_39005: assume true; local_#8281 := 1; goto CFG_37993; CFG_44711: assume true; local_#28308 := local_#32880_h; local_#28309 := local_#32879_fmt; local_#28310 := local_#32884_size; local_#28311 := local_#32882_ntoalign; goto CFG_48766; CFG_48766: assume true; call local_#28312 := routine_#34783_getdetails(local_#28308,local_#32881_totalsize,local_#28309,local_#28310,local_#28311); goto CFG_41855; CFG_41855: assume true; local_#32883_opt := local_#28312; local_#28313 := _memory[local_#32882_ntoalign] + _memory[local_#32884_size]; assert { :LIR "66847" } { :check "overflow" } { :finding_ids "0" } local_#28313 <= 2147483647; local_#28314 := ~uwrap64(local_#28313); assert { :LIR "64000" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32881_totalsize := ~uwrap64(local_#32881_totalsize + local_#28314); assert { :LIR "66848" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_51258; CFG_51258: assume true; local_#28315 := _memory[local_#32882_ntoalign]; local_#28316 := 1; _memory[local_#32882_ntoalign] := local_#28315 - local_#28316; assert { :LIR "68178" } { :check "overflow" } { :finding_ids "0" } _memory[local_#32882_ntoalign] <= 2147483647; local_#28317 := 0; local_#28318 := (if local_#28315 > local_#28317 then 1 else 0); if (local_#28318 != 0) { goto CFG_51282; } else { goto CFG_51581; } CFG_51581: assume true; local_#28319 := local_#32877_arg; local_#28320 := 1; local_#32877_arg := local_#28319 + local_#28320; assert { :LIR "66849" } { :check "overflow" } { :finding_ids "0" } local_#32877_arg <= 2147483647; local_#28321 := local_#28319; local_#28322 := local_#32883_opt; if (local_#28322 == 0) { goto CFG_48787; } if (local_#28322 == 1) { goto CFG_48784; } if (local_#28322 == 2) { goto CFG_44727; } if (local_#28322 == 3) { goto CFG_44723; } if (local_#28322 == 4) { goto CFG_44719; } if (local_#28322 == 5) { goto CFG_44714; } if (local_#28322 == 6) { goto CFG_51259; } if (local_#28322 == 7) { goto CFG_39742; } if (local_#28322 == 8) { goto CFG_39742; } CFG_41971: assume true; goto CFG_45196; CFG_51259: assume true; local_#28323 := (if _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] < _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 8 }] then 1 else 0); if (local_#28323 != 0) { goto CFG_41432; } else { goto CFG_44712; } CFG_44712: assume true; local_#28324 := local_#32878_b; local_#28325 := 1; goto CFG_48767; CFG_48767: assume true; call local_#28326 := routine_#33844_luaL_prepbuffsize(local_#28324,local_#28325); goto CFG_51260; CFG_51260: assume true; local_#28327 := local_#28326; if (local_#28327 != { base : 0, offset : 0 }) { goto CFG_41432; } else { goto CFG_41431; } CFG_41431: assume true; local_#30870 := 0; goto CFG_44713; CFG_41432: assume true; local_#30870 := 1; goto CFG_44713; CFG_44713: assume true; local_#28328 := 0; assert { :LIR "62000" } { :check "overflow" } { :finding_ids "0" } true; local_#28329 := 0; local_#28330 := _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }]; local_#28331 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] := ~uwrap64(local_#28330 + local_#28331); assert { :LIR "66850" } { :check "overflow" } { :finding_ids "0" } true; local_#28332 := { base : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!offset + local_#28330 * 1 }; _memory[local_#28332] := local_#28329; local_#28333 := _memory[local_#28332]; local_#28334 := local_#28333; goto CFG_39742; CFG_39742: assume true; local_#28335 := local_#32877_arg; local_#28336 := 1; local_#32877_arg := local_#28335 - local_#28336; assert { :LIR "68179" } { :check "overflow" } { :finding_ids "0" } local_#32877_arg <= 2147483647; local_#28337 := local_#28335; goto CFG_45196; CFG_44714: assume true; local_#28338 := local_#32895_len; goto CFG_48768; CFG_48768: assume true; call local_#28339 := routine_#33821_luaL_checklstring(local_#6406_L,local_#32877_arg,local_#28338); goto CFG_44715; CFG_44715: assume true; local_#32896_s := local_#28339; goto CFG_48769; CFG_48769: assume true; call local_#28340 := routine_#34454_strlen(local_#32896_s); goto CFG_51261; CFG_51261: assume true; local_#28341 := (if local_#28340 == _memory[local_#32895_len] then 1 else 0); if (local_#28341 != 0) { goto CFG_41434; } else { goto CFG_44716; } CFG_44716: assume true; assume _memory[{ base : strlit_#70838!base, offset : strlit_#70838!offset + 21 }] == 0; local_#28342 := strlit_#70838; local_#28343 := { base : local_#28342!base, offset : local_#28342!offset + 0 * 1 }; assert { :LIR "64001" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48770; CFG_48770: assume true; call local_#28344 := routine_#33815_luaL_argerror(local_#6406_L,local_#32877_arg,local_#28343); goto CFG_51262; CFG_51262: assume true; local_#28345 := local_#28344; if (local_#28345 != 0) { goto CFG_41434; } else { goto CFG_41433; } CFG_41433: assume true; local_#30871 := 0; goto CFG_44717; CFG_41434: assume true; local_#30871 := 1; goto CFG_44717; CFG_44717: assume true; local_#28346 := 0; assert { :LIR "62001" } { :check "overflow" } { :finding_ids "0" } true; local_#28347 := local_#32878_b; goto CFG_48771; CFG_48771: assume true; call routine_#33812_luaL_addlstring(local_#28347,local_#32896_s,_memory[local_#32895_len]); goto CFG_51263; CFG_51263: assume true; local_#28348 := (if _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] < _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 8 }] then 1 else 0); if (local_#28348 != 0) { goto CFG_41436; } else { goto CFG_44718; } CFG_44718: assume true; local_#28349 := local_#32878_b; local_#28350 := 1; goto CFG_48772; CFG_48772: assume true; call local_#28351 := routine_#33844_luaL_prepbuffsize(local_#28349,local_#28350); goto CFG_51264; CFG_51264: assume true; local_#28352 := local_#28351; if (local_#28352 != { base : 0, offset : 0 }) { goto CFG_41436; } else { goto CFG_41435; } CFG_41435: assume true; local_#30872 := 0; goto CFG_39743; CFG_41436: assume true; local_#30872 := 1; goto CFG_39743; CFG_39743: assume true; local_#28353 := 0; assert { :LIR "62002" } { :check "overflow" } { :finding_ids "0" } true; local_#28354 := 0; local_#28355 := _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }]; local_#28356 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] := ~uwrap64(local_#28355 + local_#28356); assert { :LIR "66851" } { :check "overflow" } { :finding_ids "0" } true; local_#28357 := { base : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!offset + local_#28355 * 1 }; _memory[local_#28357] := local_#28354; local_#28358 := _memory[local_#28357]; local_#28359 := local_#28358; local_#28360 := 1; assume { :symbol "~uwrap64" } true; local_#28361 := ~uwrap64(_memory[local_#32895_len] + local_#28360); assert { :LIR "66852" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32881_totalsize := ~uwrap64(local_#32881_totalsize + local_#28361); assert { :LIR "66853" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45196; CFG_44719: assume true; local_#28362 := local_#32893_len; goto CFG_48773; CFG_48773: assume true; call local_#28363 := routine_#33821_luaL_checklstring(local_#6406_L,local_#32877_arg,local_#28362); goto CFG_51265; CFG_51265: assume true; local_#32894_s := local_#28363; local_#28364 := 8; local_#28365 := (if _memory[local_#32884_size] >= local_#28364 then 1 else 0); if (local_#28365 != 0) { goto CFG_41438; } else { goto CFG_51266; } CFG_51266: assume true; local_#28366 := 1; local_#28367 := 8; local_#28368 := _memory[local_#32884_size] * local_#28367; assert { :LIR "68606" } { :check "overflow" } { :finding_ids "0" } local_#28368 <= 2147483647; local_#28369 := ~shl64(local_#28366, local_#28368); local_#28370 := (if _memory[local_#32893_len] < local_#28369 then 1 else 0); if (local_#28370 != 0) { goto CFG_41438; } else { goto CFG_44720; } CFG_44720: assume true; assume _memory[{ base : strlit_#70844!base, offset : strlit_#70844!offset + 40 }] == 0; local_#28371 := strlit_#70844; local_#28372 := { base : local_#28371!base, offset : local_#28371!offset + 0 * 1 }; assert { :LIR "64002" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48774; CFG_48774: assume true; call local_#28373 := routine_#33815_luaL_argerror(local_#6406_L,local_#32877_arg,local_#28372); goto CFG_51267; CFG_51267: assume true; local_#28374 := local_#28373; if (local_#28374 != 0) { goto CFG_41438; } else { goto CFG_41437; } CFG_41437: assume true; local_#30873 := 0; goto CFG_44721; CFG_41438: assume true; local_#30873 := 1; goto CFG_44721; CFG_44721: assume true; local_#28375 := 0; assert { :LIR "62003" } { :check "overflow" } { :finding_ids "0" } true; local_#28376 := local_#32878_b; local_#28377 := ~uwrap64(_memory[local_#32893_len]); assert { :LIR "62004" } { :check "overflow" } { :finding_ids "0" } true; local_#28378 := _memory[{ base : local_#32880_h!base, offset : local_#32880_h!offset + 8 }]; local_#28379 := 0; goto CFG_48775; CFG_48775: assume true; call routine_#34984_packint(local_#28376,local_#28377,local_#28378,_memory[local_#32884_size],local_#28379); goto CFG_44722; CFG_44722: assume true; local_#28380 := local_#32878_b; goto CFG_48776; CFG_48776: assume true; call routine_#33812_luaL_addlstring(local_#28380,local_#32894_s,_memory[local_#32893_len]); goto CFG_39744; CFG_39744: assume true; assume { :symbol "~uwrap64" } true; local_#32881_totalsize := ~uwrap64(local_#32881_totalsize + _memory[local_#32893_len]); assert { :LIR "66854" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45196; CFG_44723: assume true; local_#28381 := local_#32891_len; goto CFG_48777; CFG_48777: assume true; call local_#28382 := routine_#33821_luaL_checklstring(local_#6406_L,local_#32877_arg,local_#28381); goto CFG_51268; CFG_51268: assume true; local_#32892_s := local_#28382; local_#28383 := ~uwrap64(_memory[local_#32884_size]); assert { :LIR "62005" } { :check "overflow" } { :finding_ids "0" } true; local_#28384 := (if _memory[local_#32891_len] <= local_#28383 then 1 else 0); if (local_#28384 != 0) { goto CFG_41440; } else { goto CFG_44724; } CFG_44724: assume true; assume _memory[{ base : strlit_#70845!base, offset : strlit_#70845!offset + 29 }] == 0; local_#28385 := strlit_#70845; local_#28386 := { base : local_#28385!base, offset : local_#28385!offset + 0 * 1 }; assert { :LIR "64003" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48778; CFG_48778: assume true; call local_#28387 := routine_#33815_luaL_argerror(local_#6406_L,local_#32877_arg,local_#28386); goto CFG_51269; CFG_51269: assume true; local_#28388 := local_#28387; if (local_#28388 != 0) { goto CFG_41440; } else { goto CFG_41439; } CFG_41439: assume true; local_#30874 := 0; goto CFG_44725; CFG_41440: assume true; local_#30874 := 1; goto CFG_44725; CFG_44725: assume true; local_#28389 := 0; assert { :LIR "62006" } { :check "overflow" } { :finding_ids "0" } true; local_#28390 := local_#32878_b; goto CFG_48779; CFG_48779: assume true; call routine_#33812_luaL_addlstring(local_#28390,local_#32892_s,_memory[local_#32891_len]); goto CFG_41856; CFG_41856: assume true; goto CFG_51270; CFG_51270: assume true; local_#28391 := _memory[local_#32891_len]; local_#28392 := 1; assume { :symbol "~uwrap64" } true; _memory[local_#32891_len] := ~uwrap64(local_#28391 + local_#28392); assert { :LIR "66855" } { :check "overflow" } { :finding_ids "0" } true; local_#28393 := ~uwrap64(_memory[local_#32884_size]); assert { :LIR "62007" } { :check "overflow" } { :finding_ids "0" } true; local_#28394 := (if local_#28391 < local_#28393 then 1 else 0); if (local_#28394 != 0) { goto CFG_51271; } else { goto CFG_39745; } CFG_39745: assume true; goto CFG_45196; CFG_51271: assume true; local_#28395 := (if _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] < _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 8 }] then 1 else 0); if (local_#28395 != 0) { goto CFG_41442; } else { goto CFG_44726; } CFG_44726: assume true; local_#28396 := local_#32878_b; local_#28397 := 1; goto CFG_48780; CFG_48780: assume true; call local_#28398 := routine_#33844_luaL_prepbuffsize(local_#28396,local_#28397); goto CFG_51272; CFG_51272: assume true; local_#28399 := local_#28398; if (local_#28399 != { base : 0, offset : 0 }) { goto CFG_41442; } else { goto CFG_41441; } CFG_41441: assume true; local_#30875 := 0; goto CFG_45195; CFG_41442: assume true; local_#30875 := 1; goto CFG_45195; CFG_45195: assume true; local_#28400 := 0; assert { :LIR "62008" } { :check "overflow" } { :finding_ids "0" } true; local_#28401 := 0; local_#28402 := _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }]; local_#28403 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] := ~uwrap64(local_#28402 + local_#28403); assert { :LIR "66856" } { :check "overflow" } { :finding_ids "0" } true; local_#28404 := { base : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!offset + local_#28402 * 1 }; _memory[local_#28404] := local_#28401; local_#28405 := _memory[local_#28404]; local_#28406 := local_#28405; goto CFG_51270; CFG_44727: assume true; local_#28407 := local_#32878_b; local_#28408 := ~uwrap64(_memory[local_#32884_size]); assert { :LIR "64004" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48781; CFG_48781: assume true; call local_#28409 := routine_#33844_luaL_prepbuffsize(local_#28407,local_#28408); goto CFG_44728; CFG_44728: assume true; local_#32888_buff := local_#28409; goto CFG_48782; CFG_48782: assume true; call local_#28410 := routine_#33822_luaL_checknumber(local_#6406_L,local_#32877_arg); goto CFG_51273; CFG_51273: assume true; local_#32889_n := local_#28410; local_#28411 := ~uwrap64(_memory[local_#32884_size]); assert { :LIR "64005" } { :check "overflow" } { :finding_ids "0" } true; local_#28412 := 4; local_#28413 := (if local_#28411 == local_#28412 then 1 else 0); if (local_#28413 != 0) { goto CFG_41446; } else { goto CFG_51274; } CFG_51274: assume true; local_#28414 := ~uwrap64(_memory[local_#32884_size]); assert { :LIR "64006" } { :check "overflow" } { :finding_ids "0" } true; local_#28415 := 8; local_#28416 := (if local_#28414 == local_#28415 then 1 else 0); if (local_#28416 != 0) { goto CFG_41444; } else { goto CFG_41443; } CFG_41443: assume true; local_#28417 := { base : local_#32890_u!base, offset : local_#32890_u!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ goto CFG_41445; CFG_41444: assume true; havoc nondet_#0; local_#28418 := nondet_#0 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 62009 */; assert { :LIR "62009" } { :check "overflow" } { :finding_ids "0" } true; local_#28419 := { base : local_#32890_u!base, offset : local_#32890_u!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ goto CFG_41445; CFG_41445: assume true; goto CFG_44729; CFG_41446: assume true; havoc nondet_#1; local_#28420 := nondet_#1 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 62010 */; assert { :LIR "62010" } { :check "overflow" } { :finding_ids "0" } true; local_#28421 := { base : local_#32890_u!base, offset : local_#32890_u!offset + 0 }; assume true; /* IR2BOOGIE: Type IRType492 not supported in generate_write_to_memory */ goto CFG_44729; CFG_44729: assume true; local_#28422 := local_#32888_buff; assert { :LIR "64007" } { :check "overflow" } { :finding_ids "0" } true; local_#28423 := { base : local_#32890_u!base, offset : local_#32890_u!offset + 0 }; local_#28424 := { base : local_#28423!base, offset : local_#28423!offset + 0 * 1 }; assert { :LIR "64008" } { :check "overflow" } { :finding_ids "0" } true; local_#28425 := _memory[{ base : local_#32880_h!base, offset : local_#32880_h!offset + 8 }]; goto CFG_48783; CFG_48783: assume true; call routine_#34669_copywithendian(local_#28422,local_#28424,_memory[local_#32884_size],local_#28425); goto CFG_39746; CFG_39746: assume true; local_#28426 := ~uwrap64(_memory[local_#32884_size]); assert { :LIR "64009" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] := ~uwrap64(_memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] + local_#28426); assert { :LIR "66857" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45196; CFG_48784: assume true; call local_#28427 := routine_#33820_luaL_checkinteger(local_#6406_L,local_#32877_arg); goto CFG_51275; CFG_51275: assume true; local_#32887_n := local_#28427; local_#28428 := 8; local_#28429 := (if _memory[local_#32884_size] < local_#28428 then 1 else 0); if (local_#28429 != 0) { goto CFG_51276; } else { goto CFG_44731; } CFG_51276: assume true; local_#28430 := ~uwrap64(local_#32887_n); assert { :LIR "62011" } { :check "overflow" } { :finding_ids "0" } true; local_#28431 := 1; local_#28432 := 8; local_#28433 := _memory[local_#32884_size] * local_#28432; assert { :LIR "68607" } { :check "overflow" } { :finding_ids "0" } local_#28433 <= 2147483647; local_#28434 := ~shl64(local_#28431, local_#28433); local_#28435 := (if local_#28430 < local_#28434 then 1 else 0); if (local_#28435 != 0) { goto CFG_41448; } else { goto CFG_44730; } CFG_44730: assume true; assume _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 0 }] == 117 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 1 }] == 110 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 2 }] == 115 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 3 }] == 105 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 4 }] == 103 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 5 }] == 110 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 6 }] == 101 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 7 }] == 100 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 8 }] == 32 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 9 }] == 111 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 10 }] == 118 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 11 }] == 101 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 12 }] == 114 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 13 }] == 102 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 14 }] == 108 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 15 }] == 111 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 16 }] == 119 && _memory[{ base : strlit_#70846!base, offset : strlit_#70846!offset + 17 }] == 0; local_#28436 := strlit_#70846; local_#28437 := { base : local_#28436!base, offset : local_#28436!offset + 0 * 1 }; assert { :LIR "64010" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48785; CFG_48785: assume true; call local_#28438 := routine_#33815_luaL_argerror(local_#6406_L,local_#32877_arg,local_#28437); goto CFG_51277; CFG_51277: assume true; local_#28439 := local_#28438; if (local_#28439 != 0) { goto CFG_41448; } else { goto CFG_41447; } CFG_41447: assume true; local_#30876 := 0; goto CFG_41449; CFG_41448: assume true; local_#30876 := 1; goto CFG_41449; CFG_41449: assume true; local_#28440 := 0; assert { :LIR "62012" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44731; CFG_44731: assume true; local_#28441 := local_#32878_b; local_#28442 := ~uwrap64(local_#32887_n); assert { :LIR "62013" } { :check "overflow" } { :finding_ids "0" } true; local_#28443 := _memory[{ base : local_#32880_h!base, offset : local_#32880_h!offset + 8 }]; local_#28444 := 0; goto CFG_48786; CFG_48786: assume true; call routine_#34984_packint(local_#28441,local_#28442,local_#28443,_memory[local_#32884_size],local_#28444); goto CFG_39747; CFG_39747: assume true; goto CFG_45196; CFG_48787: assume true; call local_#28445 := routine_#33820_luaL_checkinteger(local_#6406_L,local_#32877_arg); goto CFG_51278; CFG_51278: assume true; local_#32885_n := local_#28445; local_#28446 := 8; local_#28447 := (if _memory[local_#32884_size] < local_#28446 then 1 else 0); if (local_#28447 != 0) { goto CFG_51279; } else { goto CFG_44733; } CFG_51279: assume true; local_#28448 := 1; local_#28449 := 8; local_#28450 := _memory[local_#32884_size] * local_#28449; assert { :LIR "68608" } { :check "overflow" } { :finding_ids "0" } local_#28450 <= 2147483647; local_#28451 := 1; local_#28452 := local_#28450 - local_#28451; assert { :LIR "68180" } { :check "overflow" } { :finding_ids "0" } local_#28452 <= 2147483647; local_#28453 := ~shl64(local_#28448, local_#28452); local_#32886_lim := local_#28453; local_#28454 := -local_#32886_lim; assert { :LIR "64671" } { :check "overflow" } { :finding_ids "0" } local_#28454 <= 9223372036854775807; local_#28455 := (if local_#28454 <= local_#32885_n then 1 else 0); if (local_#28455 != 0) { goto CFG_51280; } else { goto CFG_44732; } CFG_51280: assume true; local_#28456 := (if local_#32885_n < local_#32886_lim then 1 else 0); if (local_#28456 != 0) { goto CFG_41451; } else { goto CFG_44732; } CFG_44732: assume true; assume _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 0 }] == 105 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 1 }] == 110 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 2 }] == 116 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 3 }] == 101 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 4 }] == 103 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 5 }] == 101 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 6 }] == 114 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 7 }] == 32 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 8 }] == 111 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 9 }] == 118 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 10 }] == 101 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 11 }] == 114 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 12 }] == 102 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 13 }] == 108 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 14 }] == 111 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 15 }] == 119 && _memory[{ base : strlit_#70847!base, offset : strlit_#70847!offset + 16 }] == 0; local_#28457 := strlit_#70847; local_#28458 := { base : local_#28457!base, offset : local_#28457!offset + 0 * 1 }; assert { :LIR "64011" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48788; CFG_48788: assume true; call local_#28459 := routine_#33815_luaL_argerror(local_#6406_L,local_#32877_arg,local_#28458); goto CFG_51281; CFG_51281: assume true; local_#28460 := local_#28459; if (local_#28460 != 0) { goto CFG_41451; } else { goto CFG_41450; } CFG_41450: assume true; local_#30877 := 0; goto CFG_41452; CFG_41451: assume true; local_#30877 := 1; goto CFG_41452; CFG_41452: assume true; local_#28461 := 0; assert { :LIR "62014" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44733; CFG_44733: assume true; local_#28462 := local_#32878_b; local_#28463 := ~uwrap64(local_#32885_n); assert { :LIR "62015" } { :check "overflow" } { :finding_ids "0" } true; local_#28464 := _memory[{ base : local_#32880_h!base, offset : local_#32880_h!offset + 8 }]; local_#28465 := 0; local_#28466 := (if local_#32885_n < local_#28465 then 1 else 0); goto CFG_48789; CFG_48789: assume true; call routine_#34984_packint(local_#28462,local_#28463,local_#28464,_memory[local_#32884_size],local_#28466); goto CFG_39748; CFG_39748: assume true; goto CFG_45196; CFG_45196: assume true; goto CFG_51257; CFG_51282: assume true; local_#28467 := (if _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] < _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 8 }] then 1 else 0); if (local_#28467 != 0) { goto CFG_41454; } else { goto CFG_44734; } CFG_44734: assume true; local_#28468 := local_#32878_b; local_#28469 := 1; goto CFG_48790; CFG_48790: assume true; call local_#28470 := routine_#33844_luaL_prepbuffsize(local_#28468,local_#28469); goto CFG_51283; CFG_51283: assume true; local_#28471 := local_#28470; if (local_#28471 != { base : 0, offset : 0 }) { goto CFG_41454; } else { goto CFG_41453; } CFG_41453: assume true; local_#30878 := 0; goto CFG_45197; CFG_41454: assume true; local_#30878 := 1; goto CFG_45197; CFG_45197: assume true; local_#28472 := 0; assert { :LIR "62016" } { :check "overflow" } { :finding_ids "0" } true; local_#28473 := 0; local_#28474 := _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }]; local_#28475 := 1; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 16 }] := ~uwrap64(local_#28474 + local_#28475); assert { :LIR "66858" } { :check "overflow" } { :finding_ids "0" } true; local_#28476 := { base : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!base, offset : _memory_ptr[{ base : local_#32878_b!base, offset : local_#32878_b!offset + 0 }]!offset + local_#28474 * 1 }; _memory[local_#28476] := local_#28473; local_#28477 := _memory[local_#28476]; local_#28478 := local_#28477; goto CFG_51258; CFG_37993: assume true; } procedure routine_#35095_str_packsize(local_#6407_L_IN : { base : int, offset : int }) returns (local_#8282 : int) modifies _memory, _memory_ptr, _valid; { var local_#6407_L : { base : int, offset : int }; var local_#28479 : int; var local_#28480 : { base : int, offset : int }; var local_#28481 : { base : int, offset : int }; var local_#32897_fmt : { base : int, offset : int }; var local_#32899_totalsize : int; var local_#32898_h : { base : int, offset : int }; var local_#28482 : { base : int, offset : int }; var local_#28483 : int; var local_#28484 : int; var local_#28485 : int; var local_#28486 : int; var local_#28487 : { base : int, offset : int }; var local_#28488 : { base : int, offset : int }; var local_#32902_size : { base : int, offset : int }; var local_#28489 : { base : int, offset : int }; var local_#32900_ntoalign : { base : int, offset : int }; var local_#28490 : { base : int, offset : int }; var local_#28491 : int; var local_#32901_opt : int; var local_#28492 : int; var local_#28493 : int; var local_#28494 : int; var local_#28495 : int; var local_#28496 : int; var local_#28497 : { base : int, offset : int }; var local_#28498 : { base : int, offset : int }; var local_#28499 : int; var local_#28500 : int; var local_#30879 : int; var local_#28501 : int; var local_#28502 : int; var local_#28503 : int; var local_#28504 : int; var local_#28505 : { base : int, offset : int }; var local_#28506 : { base : int, offset : int }; var local_#28507 : int; local_#6407_L := local_#6407_L_IN; goto CFG_37083; CFG_37083: assume true; goto CFG_44735; CFG_44735: assume true; local_#28479 := 1; local_#28480 := { base : 0, offset : 0 }; goto CFG_48791; CFG_48791: assume true; call local_#28481 := routine_#33821_luaL_checklstring(local_#6407_L,local_#28479,local_#28480); goto CFG_44736; CFG_44736: assume true; _memory_ptr[local_#32897_fmt] := local_#28481; local_#32899_totalsize := 0; local_#28482 := local_#32898_h; goto CFG_48792; CFG_48792: assume true; call routine_#34814_initheader(local_#6407_L,local_#28482); goto CFG_41857; CFG_41857: assume true; goto CFG_51284; CFG_51284: assume true; local_#28483 := _memory[_memory_ptr[local_#32897_fmt]]; assert { :LIR "64012" } { :check "overflow" } { :finding_ids "0" } local_#28483 <= 2147483647; local_#28484 := 0; local_#28485 := (if local_#28483 != local_#28484 then 1 else 0); if (local_#28485 != 0) { goto CFG_44738; } else { goto CFG_44737; } CFG_44737: assume true; local_#28486 := local_#32899_totalsize; assert { :LIR "62017" } { :check "overflow" } { :finding_ids "0" } local_#28486 <= 9223372036854775807; goto CFG_48793; CFG_48793: assume true; call routine_#33960_lua_pushinteger(local_#6407_L,local_#28486); goto CFG_39006; CFG_39006: assume true; local_#8282 := 1; goto CFG_37994; CFG_44738: assume true; local_#28487 := local_#32898_h; local_#28488 := local_#32897_fmt; local_#28489 := local_#32902_size; local_#28490 := local_#32900_ntoalign; goto CFG_48794; CFG_48794: assume true; call local_#28491 := routine_#34783_getdetails(local_#28487,local_#32899_totalsize,local_#28488,local_#28489,local_#28490); goto CFG_51285; CFG_51285: assume true; local_#32901_opt := local_#28491; _memory[local_#32902_size] := _memory[local_#32902_size] + _memory[local_#32900_ntoalign]; assert { :LIR "66859" } { :check "overflow" } { :finding_ids "0" } _memory[local_#32902_size] <= 2147483647; local_#28492 := 2147483647; local_#28493 := ~uwrap64(_memory[local_#32902_size]); assert { :LIR "64013" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28494 := ~uwrap64(local_#28492 - local_#28493); assert { :LIR "68181" } { :check "overflow" } { :finding_ids "0" } true; local_#28495 := (if local_#32899_totalsize <= local_#28494 then 1 else 0); if (local_#28495 != 0) { goto CFG_41456; } else { goto CFG_44739; } CFG_44739: assume true; local_#28496 := 1; assume _memory[{ base : strlit_#70848!base, offset : strlit_#70848!offset + 23 }] == 0; local_#28497 := strlit_#70848; local_#28498 := { base : local_#28497!base, offset : local_#28497!offset + 0 * 1 }; assert { :LIR "64014" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48795; CFG_48795: assume true; call local_#28499 := routine_#33815_luaL_argerror(local_#6407_L,local_#28496,local_#28498); goto CFG_51286; CFG_51286: assume true; local_#28500 := local_#28499; if (local_#28500 != 0) { goto CFG_41456; } else { goto CFG_41455; } CFG_41455: assume true; local_#30879 := 0; goto CFG_51574; CFG_41456: assume true; local_#30879 := 1; goto CFG_51574; CFG_51574: assume true; local_#28501 := 0; assert { :LIR "62018" } { :check "overflow" } { :finding_ids "0" } true; local_#28502 := ~uwrap64(_memory[local_#32902_size]); assert { :LIR "64015" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32899_totalsize := ~uwrap64(local_#32899_totalsize + local_#28502); assert { :LIR "66860" } { :check "overflow" } { :finding_ids "0" } true; local_#28503 := local_#32901_opt; if (local_#28503 == 4) { goto CFG_44740; } if (local_#28503 == 5) { goto CFG_44740; } goto CFG_39749; CFG_44740: assume true; local_#28504 := 1; assume _memory[{ base : strlit_#70849!base, offset : strlit_#70849!offset + 22 }] == 0; local_#28505 := strlit_#70849; local_#28506 := { base : local_#28505!base, offset : local_#28505!offset + 0 * 1 }; assert { :LIR "64016" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48796; CFG_48796: assume true; call local_#28507 := routine_#33815_luaL_argerror(local_#6407_L,local_#28504,local_#28506); goto CFG_39749; CFG_39749: assume true; goto CFG_45198; CFG_45198: assume true; goto CFG_51284; CFG_41972: assume true; goto CFG_45198; CFG_37994: assume true; } procedure routine_#35096_str_rep(local_#6408_L_IN : { base : int, offset : int }) returns (local_#8283 : int) modifies _memory, _memory_ptr, _valid; { var local_#6408_L : { base : int, offset : int }; var local_#28508 : int; var local_#32903_l : { base : int, offset : int }; var local_#28509 : { base : int, offset : int }; var local_#28510 : { base : int, offset : int }; var local_#32906_s : { base : int, offset : int }; var local_#28511 : int; var local_#28512 : int; var local_#32905_n : int; var local_#28513 : int; var local_#28514 : { base : int, offset : int }; var local_#28515 : { base : int, offset : int }; var local_#32904_lsep : { base : int, offset : int }; var local_#28516 : { base : int, offset : int }; var local_#28517 : { base : int, offset : int }; var local_#32907_sep : { base : int, offset : int }; var local_#28518 : int; var local_#28519 : int; var local_#28520 : int; var local_#28521 : int; var local_#28522 : int; var local_#28523 : int; var local_#28524 : int; var local_#28525 : int; var local_#28526 : int; var local_#28527 : int; var local_#28528 : int; var local_#28529 : int; var local_#28530 : int; var local_#28531 : int; var local_#28532 : int; var local_#28533 : int; var local_#28534 : int; var local_#32910_totallen : int; var local_#32908_b : { base : int, offset : int }; var local_#28535 : { base : int, offset : int }; var local_#28536 : { base : int, offset : int }; var local_#32909_p : { base : int, offset : int }; var local_#28537 : int; var local_#28538 : int; var local_#28539 : int; var local_#28540 : int; var local_#28541 : { base : int, offset : int }; var local_#28542 : { base : int, offset : int }; var local_#28543 : int; var local_#28544 : int; var local_#28545 : { base : int, offset : int }; var local_#28546 : { base : int, offset : int }; var local_#28547 : { base : int, offset : int }; var local_#28548 : { base : int, offset : int }; var local_#28549 : int; var local_#28550 : int; var local_#28551 : { base : int, offset : int }; var local_#28552 : int; var local_#28553 : int; var local_#28554 : { base : int, offset : int }; var local_#28555 : { base : int, offset : int }; var local_#28556 : int; var local_#28557 : int; var local_#28558 : { base : int, offset : int }; var local_#28559 : { base : int, offset : int }; var local_#28560 : { base : int, offset : int }; var local_#28561 : int; var local_#28562 : { base : int, offset : int }; var local_#28563 : { base : int, offset : int }; var local_#28564 : { base : int, offset : int }; local_#6408_L := local_#6408_L_IN; goto CFG_37084; CFG_37084: assume true; goto CFG_44741; CFG_44741: assume true; local_#28508 := 1; local_#28509 := local_#32903_l; goto CFG_48797; CFG_48797: assume true; call local_#28510 := routine_#33821_luaL_checklstring(local_#6408_L,local_#28508,local_#28509); goto CFG_44742; CFG_44742: assume true; local_#32906_s := local_#28510; local_#28511 := 2; goto CFG_48798; CFG_48798: assume true; call local_#28512 := routine_#33820_luaL_checkinteger(local_#6408_L,local_#28511); goto CFG_44743; CFG_44743: assume true; local_#32905_n := local_#28512; local_#28513 := 3; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28514 := strlit_#70352; local_#28515 := { base : local_#28514!base, offset : local_#28514!offset + 0 * 1 }; assert { :LIR "64017" } { :check "overflow" } { :finding_ids "0" } true; local_#28516 := local_#32904_lsep; goto CFG_48799; CFG_48799: assume true; call local_#28517 := routine_#33842_luaL_optlstring(local_#6408_L,local_#28513,local_#28515,local_#28516); goto CFG_51287; CFG_51287: assume true; local_#32907_sep := local_#28517; local_#28518 := 0; local_#28519 := (if local_#32905_n <= local_#28518 then 1 else 0); if (local_#28519 != 0) { goto CFG_44750; } else { goto CFG_51288; } CFG_51288: assume true; assume { :symbol "~uwrap64" } true; local_#28520 := ~uwrap64(_memory[local_#32903_l] + _memory[local_#32904_lsep]); assert { :LIR "66861" } { :check "overflow" } { :finding_ids "0" } true; local_#28521 := (if local_#28520 < _memory[local_#32903_l] then 1 else 0); if (local_#28521 != 0) { goto CFG_44749; } else { goto CFG_51289; } CFG_51289: assume true; assume { :symbol "~uwrap64" } true; local_#28522 := ~uwrap64(_memory[local_#32903_l] + _memory[local_#32904_lsep]); assert { :LIR "66862" } { :check "overflow" } { :finding_ids "0" } true; local_#28523 := ~uwrap64(local_#28522); assert { :LIR "64018" } { :check "overflow" } { :finding_ids "0" } true; local_#28524 := 2147483647; local_#28525 := ~uwrap64(local_#32905_n); assert { :LIR "64019" } { :check "overflow" } { :finding_ids "0" } true; local_#28526 := local_#28524 / local_#28525; assert { :LIR "68655" } { :check "overflow" } { :finding_ids "0" } true; local_#28527 := (if local_#28523 > local_#28526 then 1 else 0); if (local_#28527 != 0) { goto CFG_44749; } else { goto CFG_44744; } CFG_44744: assume true; local_#28528 := ~uwrap64(local_#32905_n); assert { :LIR "62019" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28529 := ~uwrap64(local_#28528 * _memory[local_#32903_l]); assert { :LIR "68609" } { :check "overflow" } { :finding_ids "0" } true; local_#28530 := 1; local_#28531 := local_#32905_n - local_#28530; assert { :LIR "68182" } { :check "overflow" } { :finding_ids "0" } local_#28531 <= 9223372036854775807; local_#28532 := ~uwrap64(local_#28531); assert { :LIR "62020" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28533 := ~uwrap64(local_#28532 * _memory[local_#32904_lsep]); assert { :LIR "68610" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28534 := ~uwrap64(local_#28529 + local_#28533); assert { :LIR "66863" } { :check "overflow" } { :finding_ids "0" } true; local_#32910_totallen := local_#28534; local_#28535 := local_#32908_b; goto CFG_48800; CFG_48800: assume true; call local_#28536 := routine_#33817_luaL_buffinitsize(local_#6408_L,local_#28535,local_#32910_totallen); goto CFG_41858; CFG_41858: assume true; local_#32909_p := local_#28536; goto CFG_51290; CFG_51290: assume true; local_#28537 := local_#32905_n; local_#28538 := 1; local_#32905_n := local_#28537 - local_#28538; assert { :LIR "68183" } { :check "overflow" } { :finding_ids "0" } local_#32905_n <= 9223372036854775807; local_#28539 := 1; local_#28540 := (if local_#28537 > local_#28539 then 1 else 0); if (local_#28540 != 0) { goto CFG_44747; } else { goto CFG_44745; } CFG_44745: assume true; local_#28541 := local_#32909_p; assert { :LIR "64020" } { :check "overflow" } { :finding_ids "0" } true; local_#28542 := local_#32906_s; assert { :LIR "64021" } { :check "overflow" } { :finding_ids "0" } true; local_#28543 := 1; assume { :symbol "~uwrap64" } true; local_#28544 := ~uwrap64(_memory[local_#32903_l] * local_#28543); assert { :LIR "68611" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48801; CFG_48801: assume true; call local_#28545 := routine_#34026_memcpy(local_#28541,local_#28542,local_#28544); goto CFG_44746; CFG_44746: assume true; local_#28546 := local_#32908_b; goto CFG_48802; CFG_48802: assume true; call routine_#33846_luaL_pushresultsize(local_#28546,local_#32910_totallen); goto CFG_41457; CFG_41457: assume true; goto CFG_41458; CFG_41458: assume true; goto CFG_39008; CFG_44747: assume true; local_#28547 := local_#32909_p; assert { :LIR "64022" } { :check "overflow" } { :finding_ids "0" } true; local_#28548 := local_#32906_s; assert { :LIR "64023" } { :check "overflow" } { :finding_ids "0" } true; local_#28549 := 1; assume { :symbol "~uwrap64" } true; local_#28550 := ~uwrap64(_memory[local_#32903_l] * local_#28549); assert { :LIR "68612" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48803; CFG_48803: assume true; call local_#28551 := routine_#34026_memcpy(local_#28547,local_#28548,local_#28550); goto CFG_51291; CFG_51291: assume true; local_#32909_p := { base : local_#32909_p!base, offset : local_#32909_p!offset + _memory[local_#32903_l] * 1 }; local_#28552 := 0; local_#28553 := (if _memory[local_#32904_lsep] > local_#28552 then 1 else 0); if (local_#28553 != 0) { goto CFG_44748; } else { goto CFG_45199; } CFG_44748: assume true; local_#28554 := local_#32909_p; assert { :LIR "64024" } { :check "overflow" } { :finding_ids "0" } true; local_#28555 := local_#32907_sep; assert { :LIR "64025" } { :check "overflow" } { :finding_ids "0" } true; local_#28556 := 1; assume { :symbol "~uwrap64" } true; local_#28557 := ~uwrap64(_memory[local_#32904_lsep] * local_#28556); assert { :LIR "68613" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48804; CFG_48804: assume true; call local_#28558 := routine_#34026_memcpy(local_#28554,local_#28555,local_#28557); goto CFG_41459; CFG_41459: assume true; local_#32909_p := { base : local_#32909_p!base, offset : local_#32909_p!offset + _memory[local_#32904_lsep] * 1 }; goto CFG_45199; CFG_45199: assume true; goto CFG_51290; CFG_44749: assume true; assume _memory[{ base : strlit_#70851!base, offset : strlit_#70851!offset + 26 }] == 0; local_#28559 := strlit_#70851; local_#28560 := { base : local_#28559!base, offset : local_#28559!offset + 0 * 1 }; assert { :LIR "64026" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48805; CFG_48805: assume true; call local_#28561 := routine_#33828_luaL_error(local_#6408_L,local_#28560,{ base : 0, offset : 0 }); goto CFG_39007; CFG_39007: assume true; local_#8283 := local_#28561; goto CFG_37995; CFG_44750: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28562 := strlit_#70352; local_#28563 := { base : local_#28562!base, offset : local_#28562!offset + 0 * 1 }; assert { :LIR "64027" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48806; CFG_48806: assume true; call local_#28564 := routine_#33965_lua_pushstring(local_#6408_L,local_#28563); goto CFG_41460; CFG_41460: assume true; goto CFG_39008; CFG_39008: assume true; local_#8283 := 1; goto CFG_37995; CFG_37995: assume true; } procedure routine_#35097_str_reverse(local_#6409_L_IN : { base : int, offset : int }) returns (local_#8284 : int) modifies _memory, _memory_ptr, _valid; { var local_#6409_L : { base : int, offset : int }; var local_#28565 : int; var local_#32913_l : { base : int, offset : int }; var local_#28566 : { base : int, offset : int }; var local_#28567 : { base : int, offset : int }; var local_#32915_s : { base : int, offset : int }; var local_#32911_b : { base : int, offset : int }; var local_#28568 : { base : int, offset : int }; var local_#28569 : { base : int, offset : int }; var local_#32914_p : { base : int, offset : int }; var local_#32912_i : int; var local_#28570 : int; var local_#28571 : { base : int, offset : int }; var local_#28572 : int; var local_#28573 : int; var local_#28574 : int; var local_#28575 : { base : int, offset : int }; var local_#28576 : { base : int, offset : int }; var local_#28577 : int; var local_#28578 : int; var local_#28579 : int; local_#6409_L := local_#6409_L_IN; goto CFG_37085; CFG_37085: assume true; goto CFG_44751; CFG_44751: assume true; local_#28565 := 1; local_#28566 := local_#32913_l; goto CFG_48807; CFG_48807: assume true; call local_#28567 := routine_#33821_luaL_checklstring(local_#6409_L,local_#28565,local_#28566); goto CFG_44752; CFG_44752: assume true; local_#32915_s := local_#28567; local_#28568 := local_#32911_b; goto CFG_48808; CFG_48808: assume true; call local_#28569 := routine_#33817_luaL_buffinitsize(local_#6409_L,local_#28568,_memory[local_#32913_l]); goto CFG_41859; CFG_41859: assume true; local_#32914_p := local_#28569; local_#32912_i := 0; goto CFG_51292; CFG_51292: assume true; local_#28570 := (if local_#32912_i < _memory[local_#32913_l] then 1 else 0); if (local_#28570 != 0) { goto CFG_44754; } else { goto CFG_44753; } CFG_44753: assume true; local_#28571 := local_#32911_b; goto CFG_48809; CFG_48809: assume true; call routine_#33846_luaL_pushresultsize(local_#28571,_memory[local_#32913_l]); goto CFG_39009; CFG_39009: assume true; local_#8284 := 1; goto CFG_37996; CFG_44754: assume true; assume { :symbol "~uwrap64" } true; local_#28572 := ~uwrap64(_memory[local_#32913_l] - local_#32912_i); assert { :LIR "68184" } { :check "overflow" } { :finding_ids "0" } true; local_#28573 := 1; assume { :symbol "~uwrap64" } true; local_#28574 := ~uwrap64(local_#28572 - local_#28573); assert { :LIR "68185" } { :check "overflow" } { :finding_ids "0" } true; local_#28575 := { base : local_#32915_s!base, offset : local_#32915_s!offset + local_#28574 * 1 }; local_#28576 := { base : local_#32914_p!base, offset : local_#32914_p!offset + local_#32912_i * 1 }; _memory[local_#28576] := _memory[local_#28575]; goto CFG_45200; CFG_45200: assume true; local_#28577 := local_#32912_i; local_#28578 := 1; assume { :symbol "~uwrap64" } true; local_#32912_i := ~uwrap64(local_#28577 + local_#28578); assert { :LIR "66864" } { :check "overflow" } { :finding_ids "0" } true; local_#28579 := local_#28577; goto CFG_51292; CFG_37996: assume true; } procedure routine_#35098_str_sub(local_#6410_L_IN : { base : int, offset : int }) returns (local_#8285 : int) modifies _memory, _memory_ptr, _valid; { var local_#6410_L : { base : int, offset : int }; var local_#28580 : int; var local_#32917_l : { base : int, offset : int }; var local_#28581 : { base : int, offset : int }; var local_#28582 : { base : int, offset : int }; var local_#32918_s : { base : int, offset : int }; var local_#28583 : int; var local_#28584 : int; var local_#28585 : int; var local_#32919_start : int; var local_#28586 : int; var local_#28587 : int; var local_#28588 : int; var local_#28589 : int; var local_#32916_end : int; var local_#28590 : int; var local_#28591 : int; var local_#28592 : int; var local_#28593 : int; var local_#28594 : int; var local_#28595 : int; var local_#28596 : { base : int, offset : int }; var local_#28597 : { base : int, offset : int }; var local_#28598 : { base : int, offset : int }; var local_#28599 : { base : int, offset : int }; var local_#28600 : int; var local_#28601 : { base : int, offset : int }; var local_#28602 : int; var local_#28603 : int; var local_#28604 : int; var local_#28605 : int; var local_#28606 : { base : int, offset : int }; local_#6410_L := local_#6410_L_IN; goto CFG_37086; CFG_37086: assume true; goto CFG_44755; CFG_44755: assume true; local_#28580 := 1; local_#28581 := local_#32917_l; goto CFG_48810; CFG_48810: assume true; call local_#28582 := routine_#33821_luaL_checklstring(local_#6410_L,local_#28580,local_#28581); goto CFG_44756; CFG_44756: assume true; local_#32918_s := local_#28582; local_#28583 := 2; goto CFG_48811; CFG_48811: assume true; call local_#28584 := routine_#33820_luaL_checkinteger(local_#6410_L,local_#28583); goto CFG_48812; CFG_48812: assume true; call local_#28585 := routine_#34992_posrelat(local_#28584,_memory[local_#32917_l]); goto CFG_44757; CFG_44757: assume true; local_#32919_start := local_#28585; local_#28586 := 3; local_#28587 := -1; goto CFG_48813; CFG_48813: assume true; call local_#28588 := routine_#33841_luaL_optinteger(local_#6410_L,local_#28586,local_#28587); goto CFG_48814; CFG_48814: assume true; call local_#28589 := routine_#34992_posrelat(local_#28588,_memory[local_#32917_l]); goto CFG_51293; CFG_51293: assume true; local_#32916_end := local_#28589; local_#28590 := 1; local_#28591 := (if local_#32919_start < local_#28590 then 1 else 0); if (local_#28591 != 0) { goto CFG_41461; } else { goto CFG_51294; } CFG_41461: assume true; local_#32919_start := 1; goto CFG_51294; CFG_51294: assume true; local_#28592 := _memory[local_#32917_l]; assert { :LIR "62021" } { :check "overflow" } { :finding_ids "0" } local_#28592 <= 9223372036854775807; local_#28593 := (if local_#32916_end > local_#28592 then 1 else 0); if (local_#28593 != 0) { goto CFG_41462; } else { goto CFG_51295; } CFG_41462: assume true; local_#28594 := _memory[local_#32917_l]; assert { :LIR "64028" } { :check "overflow" } { :finding_ids "0" } local_#28594 <= 9223372036854775807; local_#32916_end := local_#28594; goto CFG_51295; CFG_51295: assume true; local_#28595 := (if local_#32919_start <= local_#32916_end then 1 else 0); if (local_#28595 != 0) { goto CFG_44759; } else { goto CFG_44758; } CFG_44758: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28596 := strlit_#70352; local_#28597 := { base : local_#28596!base, offset : local_#28596!offset + 0 * 1 }; assert { :LIR "64029" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48815; CFG_48815: assume true; call local_#28598 := routine_#33965_lua_pushstring(local_#6410_L,local_#28597); goto CFG_41463; CFG_41463: assume true; goto CFG_39010; CFG_44759: assume true; local_#28599 := { base : local_#32918_s!base, offset : local_#32918_s!offset + local_#32919_start * 1 }; local_#28600 := 1; local_#28601 := { base : local_#28599!base, offset : local_#28599!offset - local_#28600 * 1 }; local_#28602 := local_#32916_end - local_#32919_start; assert { :LIR "68186" } { :check "overflow" } { :finding_ids "0" } local_#28602 <= 9223372036854775807; local_#28603 := ~uwrap64(local_#28602); assert { :LIR "62022" } { :check "overflow" } { :finding_ids "0" } true; local_#28604 := 1; assume { :symbol "~uwrap64" } true; local_#28605 := ~uwrap64(local_#28603 + local_#28604); assert { :LIR "66865" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48816; CFG_48816: assume true; call local_#28606 := routine_#33962_lua_pushlstring(local_#6410_L,local_#28601,local_#28605); goto CFG_41464; CFG_41464: assume true; goto CFG_39010; CFG_39010: assume true; local_#8285 := 1; goto CFG_37997; CFG_37997: assume true; } procedure routine_#35099_str_unpack(local_#6411_L_IN : { base : int, offset : int }) returns (local_#8286 : int) modifies _memory, _memory_ptr, _valid; { var local_#6411_L : { base : int, offset : int }; var local_#28607 : int; var local_#28608 : { base : int, offset : int }; var local_#28609 : { base : int, offset : int }; var local_#32921_fmt : { base : int, offset : int }; var local_#28610 : int; var local_#32923_ld : { base : int, offset : int }; var local_#28611 : { base : int, offset : int }; var local_#28612 : { base : int, offset : int }; var local_#32920_data : { base : int, offset : int }; var local_#28613 : int; var local_#28614 : int; var local_#28615 : int; var local_#28616 : int; var local_#28617 : int; var local_#28618 : int; var local_#28619 : int; var local_#32925_pos : int; var local_#32924_n : int; var local_#28620 : int; var local_#28621 : int; var local_#28622 : { base : int, offset : int }; var local_#28623 : { base : int, offset : int }; var local_#28624 : int; var local_#28625 : int; var local_#30880 : int; var local_#28626 : int; var local_#32922_h : { base : int, offset : int }; var local_#28627 : { base : int, offset : int }; var local_#28628 : int; var local_#28629 : int; var local_#28630 : int; var local_#28631 : int; var local_#28632 : int; var local_#28633 : int; var local_#28634 : int; var local_#28635 : int; var local_#28636 : { base : int, offset : int }; var local_#28637 : { base : int, offset : int }; var local_#32928_size : { base : int, offset : int }; var local_#28638 : { base : int, offset : int }; var local_#32926_ntoalign : { base : int, offset : int }; var local_#28639 : { base : int, offset : int }; var local_#28640 : int; var local_#32927_opt : int; var local_#28641 : int; var local_#28642 : int; var local_#28643 : int; var local_#28644 : int; var local_#28645 : int; var local_#28646 : int; var local_#28647 : int; var local_#28648 : int; var local_#28649 : int; var local_#28650 : int; var local_#28651 : int; var local_#28652 : { base : int, offset : int }; var local_#28653 : { base : int, offset : int }; var local_#28654 : int; var local_#28655 : int; var local_#28656 : int; var local_#28657 : { base : int, offset : int }; var local_#28658 : { base : int, offset : int }; var local_#28659 : int; var local_#28660 : int; var local_#28661 : int; var local_#28662 : int; var local_#28663 : int; var local_#28664 : int; var local_#28665 : int; var local_#28666 : { base : int, offset : int }; var local_#28667 : int; var local_#28668 : int; var local_#28669 : int; var local_#32933_len : int; var local_#28670 : { base : int, offset : int }; var local_#28671 : { base : int, offset : int }; var local_#28672 : int; var local_#28673 : int; var local_#28674 : { base : int, offset : int }; var local_#28675 : int; var local_#28676 : int; var local_#28677 : int; var local_#28678 : int; var local_#32932_len : int; var local_#28679 : int; var local_#28680 : int; var local_#28681 : int; var local_#28682 : int; var local_#28683 : int; var local_#28684 : { base : int, offset : int }; var local_#28685 : { base : int, offset : int }; var local_#28686 : int; var local_#28687 : int; var local_#30881 : int; var local_#28688 : int; var local_#28689 : { base : int, offset : int }; var local_#28690 : { base : int, offset : int }; var local_#28691 : { base : int, offset : int }; var local_#28692 : { base : int, offset : int }; var local_#28693 : int; var local_#28694 : { base : int, offset : int }; var local_#32931_u : { base : int, offset : int }; var local_#28695 : { base : int, offset : int }; var local_#28696 : { base : int, offset : int }; var local_#28697 : { base : int, offset : int }; var local_#28698 : { base : int, offset : int }; var local_#28699 : int; var local_#28700 : int; var local_#28701 : int; var local_#28702 : int; var local_#28703 : int; var local_#28704 : int; var local_#28705 : int; var local_#28706 : { base : int, offset : int }; var nondet_#0 : int; var local_#32930_num : int; var local_#28707 : { base : int, offset : int }; var nondet_#1 : int; var nondet_#2 : int; var local_#28708 : int; var local_#28709 : { base : int, offset : int }; var nondet_#3 : int; var nondet_#4 : int; var local_#28710 : int; var local_#28711 : { base : int, offset : int }; var local_#28712 : int; var local_#28713 : int; var local_#28714 : int; var local_#28715 : int; var local_#28716 : int; var local_#32929_res : int; var local_#28717 : int; local_#6411_L := local_#6411_L_IN; goto CFG_37087; CFG_37087: assume true; goto CFG_44760; CFG_44760: assume true; local_#28607 := 1; local_#28608 := { base : 0, offset : 0 }; goto CFG_48817; CFG_48817: assume true; call local_#28609 := routine_#33821_luaL_checklstring(local_#6411_L,local_#28607,local_#28608); goto CFG_44761; CFG_44761: assume true; _memory_ptr[local_#32921_fmt] := local_#28609; local_#28610 := 2; local_#28611 := local_#32923_ld; goto CFG_48818; CFG_48818: assume true; call local_#28612 := routine_#33821_luaL_checklstring(local_#6411_L,local_#28610,local_#28611); goto CFG_44762; CFG_44762: assume true; local_#32920_data := local_#28612; local_#28613 := 3; local_#28614 := 1; goto CFG_48819; CFG_48819: assume true; call local_#28615 := routine_#33841_luaL_optinteger(local_#6411_L,local_#28613,local_#28614); goto CFG_48820; CFG_48820: assume true; call local_#28616 := routine_#34992_posrelat(local_#28615,_memory[local_#32923_ld]); goto CFG_51296; CFG_51296: assume true; local_#28617 := ~uwrap64(local_#28616); assert { :LIR "62023" } { :check "overflow" } { :finding_ids "0" } true; local_#28618 := 1; assume { :symbol "~uwrap64" } true; local_#28619 := ~uwrap64(local_#28617 - local_#28618); assert { :LIR "68187" } { :check "overflow" } { :finding_ids "0" } true; local_#32925_pos := local_#28619; local_#32924_n := 0; local_#28620 := (if local_#32925_pos <= _memory[local_#32923_ld] then 1 else 0); if (local_#28620 != 0) { goto CFG_41466; } else { goto CFG_44763; } CFG_44763: assume true; local_#28621 := 3; assume _memory[{ base : strlit_#70854!base, offset : strlit_#70854!offset + 30 }] == 0; local_#28622 := strlit_#70854; local_#28623 := { base : local_#28622!base, offset : local_#28622!offset + 0 * 1 }; assert { :LIR "64030" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48821; CFG_48821: assume true; call local_#28624 := routine_#33815_luaL_argerror(local_#6411_L,local_#28621,local_#28623); goto CFG_51297; CFG_51297: assume true; local_#28625 := local_#28624; if (local_#28625 != 0) { goto CFG_41466; } else { goto CFG_41465; } CFG_41465: assume true; local_#30880 := 0; goto CFG_44764; CFG_41466: assume true; local_#30880 := 1; goto CFG_44764; CFG_44764: assume true; local_#28626 := 0; assert { :LIR "62024" } { :check "overflow" } { :finding_ids "0" } true; local_#28627 := local_#32922_h; goto CFG_48822; CFG_48822: assume true; call routine_#34814_initheader(local_#6411_L,local_#28627); goto CFG_41860; CFG_41860: assume true; goto CFG_51298; CFG_51298: assume true; local_#28628 := _memory[_memory_ptr[local_#32921_fmt]]; assert { :LIR "64031" } { :check "overflow" } { :finding_ids "0" } local_#28628 <= 2147483647; local_#28629 := 0; local_#28630 := (if local_#28628 != local_#28629 then 1 else 0); if (local_#28630 != 0) { goto CFG_44766; } else { goto CFG_44765; } CFG_44765: assume true; local_#28631 := 1; assume { :symbol "~uwrap64" } true; local_#28632 := ~uwrap64(local_#32925_pos + local_#28631); assert { :LIR "66866" } { :check "overflow" } { :finding_ids "0" } true; local_#28633 := local_#28632; assert { :LIR "64032" } { :check "overflow" } { :finding_ids "0" } local_#28633 <= 9223372036854775807; goto CFG_48823; CFG_48823: assume true; call routine_#33960_lua_pushinteger(local_#6411_L,local_#28633); goto CFG_39011; CFG_39011: assume true; local_#28634 := 1; local_#28635 := local_#32924_n + local_#28634; assert { :LIR "66867" } { :check "overflow" } { :finding_ids "0" } local_#28635 <= 2147483647; local_#8286 := local_#28635; goto CFG_37998; CFG_44766: assume true; local_#28636 := local_#32922_h; local_#28637 := local_#32921_fmt; local_#28638 := local_#32928_size; local_#28639 := local_#32926_ntoalign; goto CFG_48824; CFG_48824: assume true; call local_#28640 := routine_#34783_getdetails(local_#28636,local_#32925_pos,local_#28637,local_#28638,local_#28639); goto CFG_51299; CFG_51299: assume true; local_#32927_opt := local_#28640; local_#28641 := ~uwrap64(_memory[local_#32926_ntoalign]); assert { :LIR "62025" } { :check "overflow" } { :finding_ids "0" } true; local_#28642 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64033" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28643 := ~uwrap64(local_#28641 + local_#28642); assert { :LIR "66868" } { :check "overflow" } { :finding_ids "0" } true; local_#28644 := ~unot64(local_#32925_pos); assume { :symbol "~unot64" } 0 <= local_#32925_pos && local_#32925_pos <= 18446744073709551615 ==> ~unot64(local_#32925_pos) == 18446744073709551615 - local_#32925_pos; local_#28645 := (if local_#28643 > local_#28644 then 1 else 0); if (local_#28645 != 0) { goto CFG_44767; } else { goto CFG_51300; } CFG_51300: assume true; local_#28646 := ~uwrap64(_memory[local_#32926_ntoalign]); assert { :LIR "64034" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28647 := ~uwrap64(local_#32925_pos + local_#28646); assert { :LIR "66869" } { :check "overflow" } { :finding_ids "0" } true; local_#28648 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64035" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28649 := ~uwrap64(local_#28647 + local_#28648); assert { :LIR "66870" } { :check "overflow" } { :finding_ids "0" } true; local_#28650 := (if local_#28649 > _memory[local_#32923_ld] then 1 else 0); if (local_#28650 != 0) { goto CFG_44767; } else { goto CFG_44768; } CFG_44767: assume true; local_#28651 := 2; assume _memory[{ base : strlit_#70855!base, offset : strlit_#70855!offset + 21 }] == 0; local_#28652 := strlit_#70855; local_#28653 := { base : local_#28652!base, offset : local_#28652!offset + 0 * 1 }; assert { :LIR "64036" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48825; CFG_48825: assume true; call local_#28654 := routine_#33815_luaL_argerror(local_#6411_L,local_#28651,local_#28653); goto CFG_41467; CFG_41467: assume true; goto CFG_44768; CFG_44768: assume true; local_#28655 := ~uwrap64(_memory[local_#32926_ntoalign]); assert { :LIR "64037" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32925_pos := ~uwrap64(local_#32925_pos + local_#28655); assert { :LIR "66871" } { :check "overflow" } { :finding_ids "0" } true; local_#28656 := 2; assume _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 0 }] == 116 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 1 }] == 111 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 2 }] == 111 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 3 }] == 32 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 4 }] == 109 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 5 }] == 97 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 6 }] == 110 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 7 }] == 121 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 8 }] == 32 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 9 }] == 114 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 10 }] == 101 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 11 }] == 115 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 12 }] == 117 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 13 }] == 108 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 14 }] == 116 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 15 }] == 115 && _memory[{ base : strlit_#70856!base, offset : strlit_#70856!offset + 16 }] == 0; local_#28657 := strlit_#70856; local_#28658 := { base : local_#28657!base, offset : local_#28657!offset + 0 * 1 }; assert { :LIR "64038" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48826; CFG_48826: assume true; call routine_#33824_luaL_checkstack(local_#6411_L,local_#28656,local_#28658); goto CFG_51582; CFG_51582: assume true; local_#28659 := local_#32924_n; local_#28660 := 1; local_#32924_n := local_#28659 + local_#28660; assert { :LIR "66872" } { :check "overflow" } { :finding_ids "0" } local_#32924_n <= 2147483647; local_#28661 := local_#28659; local_#28662 := local_#32927_opt; if (local_#28662 == 0) { goto CFG_44776; } if (local_#28662 == 1) { goto CFG_44776; } if (local_#28662 == 2) { goto CFG_44775; } if (local_#28662 == 3) { goto CFG_44774; } if (local_#28662 == 4) { goto CFG_44771; } if (local_#28662 == 5) { goto CFG_44769; } if (local_#28662 == 7) { goto CFG_39750; } if (local_#28662 == 6) { goto CFG_39750; } if (local_#28662 == 8) { goto CFG_39750; } CFG_41973: assume true; goto CFG_45201; CFG_39750: assume true; local_#28663 := local_#32924_n; local_#28664 := 1; local_#32924_n := local_#28663 - local_#28664; assert { :LIR "68188" } { :check "overflow" } { :finding_ids "0" } local_#32924_n <= 2147483647; local_#28665 := local_#28663; goto CFG_45201; CFG_44769: assume true; local_#28666 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; goto CFG_48827; CFG_48827: assume true; call local_#28667 := routine_#34454_strlen(local_#28666); goto CFG_44770; CFG_44770: assume true; local_#28668 := local_#28667; assert { :LIR "62026" } { :check "overflow" } { :finding_ids "0" } local_#28668 <= 2147483647; local_#28669 := ~uwrap64(local_#28668); assert { :LIR "64039" } { :check "overflow" } { :finding_ids "0" } true; local_#32933_len := local_#28669; local_#28670 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; goto CFG_48828; CFG_48828: assume true; call local_#28671 := routine_#33962_lua_pushlstring(local_#6411_L,local_#28670,local_#32933_len); goto CFG_39751; CFG_39751: assume true; local_#28672 := 1; assume { :symbol "~uwrap64" } true; local_#28673 := ~uwrap64(local_#32933_len + local_#28672); assert { :LIR "66873" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32925_pos := ~uwrap64(local_#32925_pos + local_#28673); assert { :LIR "66874" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45201; CFG_44771: assume true; local_#28674 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; local_#28675 := _memory[{ base : local_#32922_h!base, offset : local_#32922_h!offset + 8 }]; local_#28676 := 0; goto CFG_48829; CFG_48829: assume true; call local_#28677 := routine_#35136_unpackint(local_#6411_L,local_#28674,local_#28675,_memory[local_#32928_size],local_#28676); goto CFG_51301; CFG_51301: assume true; local_#28678 := ~uwrap64(local_#28677); assert { :LIR "62027" } { :check "overflow" } { :finding_ids "0" } true; local_#32932_len := local_#28678; assume { :symbol "~uwrap64" } true; local_#28679 := ~uwrap64(local_#32925_pos + local_#32932_len); assert { :LIR "66875" } { :check "overflow" } { :finding_ids "0" } true; local_#28680 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64040" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#28681 := ~uwrap64(local_#28679 + local_#28680); assert { :LIR "66876" } { :check "overflow" } { :finding_ids "0" } true; local_#28682 := (if local_#28681 <= _memory[local_#32923_ld] then 1 else 0); if (local_#28682 != 0) { goto CFG_41469; } else { goto CFG_44772; } CFG_44772: assume true; local_#28683 := 2; assume _memory[{ base : strlit_#70855!base, offset : strlit_#70855!offset + 21 }] == 0; local_#28684 := strlit_#70855; local_#28685 := { base : local_#28684!base, offset : local_#28684!offset + 0 * 1 }; assert { :LIR "64041" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48830; CFG_48830: assume true; call local_#28686 := routine_#33815_luaL_argerror(local_#6411_L,local_#28683,local_#28685); goto CFG_51302; CFG_51302: assume true; local_#28687 := local_#28686; if (local_#28687 != 0) { goto CFG_41469; } else { goto CFG_41468; } CFG_41468: assume true; local_#30881 := 0; goto CFG_44773; CFG_41469: assume true; local_#30881 := 1; goto CFG_44773; CFG_44773: assume true; local_#28688 := 0; assert { :LIR "62028" } { :check "overflow" } { :finding_ids "0" } true; local_#28689 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; local_#28690 := { base : local_#28689!base, offset : local_#28689!offset + _memory[local_#32928_size] * 1 }; goto CFG_48831; CFG_48831: assume true; call local_#28691 := routine_#33962_lua_pushlstring(local_#6411_L,local_#28690,local_#32932_len); goto CFG_39752; CFG_39752: assume true; assume { :symbol "~uwrap64" } true; local_#32925_pos := ~uwrap64(local_#32925_pos + local_#32932_len); assert { :LIR "66877" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45201; CFG_44774: assume true; local_#28692 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; local_#28693 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64042" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48832; CFG_48832: assume true; call local_#28694 := routine_#33962_lua_pushlstring(local_#6411_L,local_#28692,local_#28693); goto CFG_39753; CFG_39753: assume true; goto CFG_45201; CFG_44775: assume true; local_#28695 := { base : local_#32931_u!base, offset : local_#32931_u!offset + 0 }; local_#28696 := { base : local_#28695!base, offset : local_#28695!offset + 0 * 1 }; local_#28697 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; local_#28698 := local_#28697; assert { :LIR "64043" } { :check "overflow" } { :finding_ids "0" } true; local_#28699 := _memory[{ base : local_#32922_h!base, offset : local_#32922_h!offset + 8 }]; goto CFG_48833; CFG_48833: assume true; call routine_#34669_copywithendian(local_#28696,local_#28698,_memory[local_#32928_size],local_#28699); goto CFG_51303; CFG_51303: assume true; local_#28700 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64044" } { :check "overflow" } { :finding_ids "0" } true; local_#28701 := 4; local_#28702 := (if local_#28700 == local_#28701 then 1 else 0); if (local_#28702 != 0) { goto CFG_41473; } else { goto CFG_51304; } CFG_51304: assume true; local_#28703 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64045" } { :check "overflow" } { :finding_ids "0" } true; local_#28704 := 8; local_#28705 := (if local_#28703 == local_#28704 then 1 else 0); if (local_#28705 != 0) { goto CFG_41471; } else { goto CFG_41470; } CFG_41470: assume true; local_#28706 := { base : local_#32931_u!base, offset : local_#32931_u!offset + 0 }; havoc nondet_#0; local_#32930_num := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_41472; CFG_41471: assume true; local_#28707 := { base : local_#32931_u!base, offset : local_#32931_u!offset + 0 }; havoc nondet_#1; havoc nondet_#2; local_#28708 := nondet_#2 /* IR2BOOGIE-ERROR: From Type IRType491 is not supported in conversion 62029 */; assert { :LIR "62029" } { :check "overflow" } { :finding_ids "0" } true; local_#32930_num := local_#28708; goto CFG_41472; CFG_41472: assume true; goto CFG_48834; CFG_41473: assume true; local_#28709 := { base : local_#32931_u!base, offset : local_#32931_u!offset + 0 }; havoc nondet_#3; havoc nondet_#4; local_#28710 := nondet_#4 /* IR2BOOGIE-ERROR: From Type IRType492 is not supported in conversion 62030 */; assert { :LIR "62030" } { :check "overflow" } { :finding_ids "0" } true; local_#32930_num := local_#28710; goto CFG_48834; CFG_48834: assume true; call routine_#33964_lua_pushnumber(local_#6411_L,local_#32930_num); goto CFG_39754; CFG_39754: assume true; goto CFG_45201; CFG_44776: assume true; local_#28711 := { base : local_#32920_data!base, offset : local_#32920_data!offset + local_#32925_pos * 1 }; local_#28712 := _memory[{ base : local_#32922_h!base, offset : local_#32922_h!offset + 8 }]; local_#28713 := ~uwrap32(local_#32927_opt); assert { :LIR "64046" } { :check "overflow" } { :finding_ids "0" } true; local_#28714 := 0; local_#28715 := (if local_#28713 == local_#28714 then 1 else 0); goto CFG_48835; CFG_48835: assume true; call local_#28716 := routine_#35136_unpackint(local_#6411_L,local_#28711,local_#28712,_memory[local_#32928_size],local_#28715); goto CFG_44777; CFG_44777: assume true; local_#32929_res := local_#28716; goto CFG_48836; CFG_48836: assume true; call routine_#33960_lua_pushinteger(local_#6411_L,local_#32929_res); goto CFG_39755; CFG_39755: assume true; goto CFG_45201; CFG_45201: assume true; local_#28717 := ~uwrap64(_memory[local_#32928_size]); assert { :LIR "64047" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#32925_pos := ~uwrap64(local_#32925_pos + local_#28717); assert { :LIR "66878" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_51298; CFG_37998: assume true; } procedure routine_#35100_str_upper(local_#6412_L_IN : { base : int, offset : int }) returns (local_#8287 : int) modifies _memory, _memory_ptr, _valid; { var local_#6412_L : { base : int, offset : int }; var local_#28718 : int; var local_#32936_l : { base : int, offset : int }; var local_#28719 : { base : int, offset : int }; var local_#28720 : { base : int, offset : int }; var local_#32938_s : { base : int, offset : int }; var local_#32934_b : { base : int, offset : int }; var local_#28721 : { base : int, offset : int }; var local_#28722 : { base : int, offset : int }; var local_#32937_p : { base : int, offset : int }; var local_#32935_i : int; var local_#28723 : int; var local_#28724 : { base : int, offset : int }; var local_#28725 : { base : int, offset : int }; var local_#28726 : int; var local_#28727 : int; var local_#28728 : int; var local_#28729 : int; var local_#28730 : { base : int, offset : int }; var local_#28731 : int; var local_#28732 : int; var local_#28733 : int; local_#6412_L := local_#6412_L_IN; goto CFG_37088; CFG_37088: assume true; goto CFG_44778; CFG_44778: assume true; local_#28718 := 1; local_#28719 := local_#32936_l; goto CFG_48837; CFG_48837: assume true; call local_#28720 := routine_#33821_luaL_checklstring(local_#6412_L,local_#28718,local_#28719); goto CFG_44779; CFG_44779: assume true; local_#32938_s := local_#28720; local_#28721 := local_#32934_b; goto CFG_48838; CFG_48838: assume true; call local_#28722 := routine_#33817_luaL_buffinitsize(local_#6412_L,local_#28721,_memory[local_#32936_l]); goto CFG_41861; CFG_41861: assume true; local_#32937_p := local_#28722; local_#32935_i := 0; goto CFG_51305; CFG_51305: assume true; local_#28723 := (if local_#32935_i < _memory[local_#32936_l] then 1 else 0); if (local_#28723 != 0) { goto CFG_44781; } else { goto CFG_44780; } CFG_44780: assume true; local_#28724 := local_#32934_b; goto CFG_48839; CFG_48839: assume true; call routine_#33846_luaL_pushresultsize(local_#28724,_memory[local_#32936_l]); goto CFG_39012; CFG_39012: assume true; local_#8287 := 1; goto CFG_37999; CFG_44781: assume true; local_#28725 := { base : local_#32938_s!base, offset : local_#32938_s!offset + local_#32935_i * 1 }; local_#28726 := ~uwrap8(_memory[local_#28725]); assert { :LIR "62031" } { :check "overflow" } { :finding_ids "0" } true; local_#28727 := local_#28726; assert { :LIR "64048" } { :check "overflow" } { :finding_ids "0" } local_#28727 <= 2147483647; goto CFG_48840; CFG_48840: assume true; call local_#28728 := routine_#34504_toupper(local_#28727); goto CFG_44782; CFG_44782: assume true; local_#28729 := local_#28728; assert { :LIR "64049" } { :check "overflow" } { :finding_ids "0" } local_#28729 <= 127; local_#28730 := { base : local_#32937_p!base, offset : local_#32937_p!offset + local_#32935_i * 1 }; _memory[local_#28730] := local_#28729; goto CFG_45202; CFG_45202: assume true; local_#28731 := local_#32935_i; local_#28732 := 1; assume { :symbol "~uwrap64" } true; local_#32935_i := ~uwrap64(local_#28731 + local_#28732); assert { :LIR "66879" } { :check "overflow" } { :finding_ids "0" } true; local_#28733 := local_#28731; goto CFG_51305; CFG_37999: assume true; } procedure routine_#35101_subexpr(local_#6413_ls_IN : { base : int, offset : int }, local_#6414_v_IN : { base : int, offset : int }, local_#6415_limit_IN : int) returns (local_#8288 : int) modifies _memory, _memory_ptr, _valid; { var local_#6413_ls : { base : int, offset : int }; var local_#6414_v : { base : int, offset : int }; var local_#6415_limit : int; var local_#28734 : int; var local_#28735 : int; var local_#32940_uop : int; var local_#28736 : int; var local_#28737 : int; var local_#28738 : int; var local_#32941_line : int; var local_#28739 : int; var local_#28740 : int; var local_#28741 : { base : int, offset : int }; var local_#28742 : int; var local_#28743 : int; var local_#32939_op : int; var local_#28744 : int; var local_#28745 : int; var local_#28746 : int; var local_#28747 : { base : int, offset : int }; var local_#28748 : int; var local_#28749 : int; var local_#28750 : { base : int, offset : int }; var local_#28751 : int; var local_#28752 : int; var local_#28753 : int; var local_#32942_line : int; var local_#28754 : { base : int, offset : int }; var local_#32944_v2 : { base : int, offset : int }; var local_#28755 : { base : int, offset : int }; var local_#28756 : { base : int, offset : int }; var local_#28757 : int; var local_#28758 : int; var local_#32943_nextop : int; var local_#28759 : { base : int, offset : int }; var local_#28760 : { base : int, offset : int }; local_#6413_ls := local_#6413_ls_IN; local_#6414_v := local_#6414_v_IN; local_#6415_limit := local_#6415_limit_IN; goto CFG_37089; CFG_37089: assume true; goto CFG_48841; CFG_48841: assume true; call routine_#34711_enterlevel(local_#6413_ls); goto CFG_44783; CFG_44783: assume true; local_#28734 := _memory[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 16 }]; goto CFG_48842; CFG_48842: assume true; call local_#28735 := routine_#34798_getunopr(local_#28734); goto CFG_51306; CFG_51306: assume true; local_#32940_uop := local_#28735; local_#28736 := ~uwrap32(local_#32940_uop); assert { :LIR "64050" } { :check "overflow" } { :finding_ids "0" } true; local_#28737 := 4; local_#28738 := (if local_#28736 != local_#28737 then 1 else 0); if (local_#28738 != 0) { goto CFG_44784; } else { goto CFG_48843; } CFG_48843: assume true; call routine_#35066_simpleexp(local_#6413_ls,local_#6414_v); goto CFG_41474; CFG_41474: assume true; goto CFG_44787; CFG_44784: assume true; local_#32941_line := _memory[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 4 }]; goto CFG_48844; CFG_48844: assume true; call routine_#33908_luaX_next(local_#6413_ls); goto CFG_44785; CFG_44785: assume true; local_#28739 := 12; goto CFG_48845; CFG_48845: assume true; call local_#28740 := routine_#35101_subexpr(local_#6413_ls,local_#6414_v,local_#28739); goto CFG_44786; CFG_44786: assume true; local_#28741 := _memory_ptr[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 48 }]; goto CFG_48846; CFG_48846: assume true; call routine_#33803_luaK_prefix(local_#28741,local_#32940_uop,local_#6414_v,local_#32941_line); goto CFG_41475; CFG_41475: assume true; goto CFG_44787; CFG_44787: assume true; local_#28742 := _memory[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 16 }]; goto CFG_48847; CFG_48847: assume true; call local_#28743 := routine_#34778_getbinopr(local_#28742); goto CFG_41862; CFG_41862: assume true; local_#32939_op := local_#28743; goto CFG_51307; CFG_51307: assume true; local_#28744 := ~uwrap32(local_#32939_op); assert { :LIR "64051" } { :check "overflow" } { :finding_ids "0" } true; local_#28745 := 21; local_#28746 := (if local_#28744 != local_#28745 then 1 else 0); if (local_#28746 != 0) { goto CFG_51308; } else { goto CFG_39013; } CFG_51308: assume true; local_#28747 := { base : global_#33064_priority!base, offset : global_#33064_priority!offset + local_#32939_op * 2 }; local_#28748 := _memory[{ base : local_#28747!base, offset : local_#28747!offset + 0 }]; assert { :LIR "64052" } { :check "overflow" } { :finding_ids "0" } local_#28748 <= 2147483647; local_#28749 := (if local_#28748 > local_#6415_limit then 1 else 0); if (local_#28749 != 0) { goto CFG_44788; } else { goto CFG_39013; } CFG_39013: assume true; local_#28750 := _memory_ptr[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 56 }]; local_#28751 := _memory[{ base : local_#28750!base, offset : local_#28750!offset + 198 }]; local_#28752 := 1; assume { :symbol "~uwrap16" } true; _memory[{ base : local_#28750!base, offset : local_#28750!offset + 198 }] := ~uwrap16(local_#28751 - local_#28752); assert { :LIR "68189" } { :check "overflow" } { :finding_ids "0" } true; local_#28753 := local_#28751; local_#8288 := local_#32939_op; goto CFG_38000; CFG_44788: assume true; local_#32942_line := _memory[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 4 }]; goto CFG_48848; CFG_48848: assume true; call routine_#33908_luaX_next(local_#6413_ls); goto CFG_44789; CFG_44789: assume true; local_#28754 := _memory_ptr[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 48 }]; goto CFG_48849; CFG_48849: assume true; call routine_#33795_luaK_infix(local_#28754,local_#32939_op,local_#6414_v); goto CFG_44790; CFG_44790: assume true; local_#28755 := local_#32944_v2; local_#28756 := { base : global_#33064_priority!base, offset : global_#33064_priority!offset + local_#32939_op * 2 }; local_#28757 := _memory[{ base : local_#28756!base, offset : local_#28756!offset + 1 }]; assert { :LIR "64053" } { :check "overflow" } { :finding_ids "0" } local_#28757 <= 2147483647; goto CFG_48850; CFG_48850: assume true; call local_#28758 := routine_#35101_subexpr(local_#6413_ls,local_#28755,local_#28757); goto CFG_44791; CFG_44791: assume true; local_#32943_nextop := local_#28758; local_#28759 := _memory_ptr[{ base : local_#6413_ls!base, offset : local_#6413_ls!offset + 48 }]; local_#28760 := local_#32944_v2; goto CFG_48851; CFG_48851: assume true; call routine_#33802_luaK_posfix(local_#28759,local_#32939_op,local_#6414_v,local_#28760,local_#32942_line); goto CFG_45203; CFG_45203: assume true; local_#32939_op := local_#32943_nextop; goto CFG_51307; CFG_38000: assume true; } procedure routine_#35102_suffixedexp(local_#6416_ls_IN : { base : int, offset : int }, local_#6417_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6416_ls : { base : int, offset : int }; var local_#6417_v : { base : int, offset : int }; var local_#32945_fs : { base : int, offset : int }; var local_#32946_line : int; var local_#28761 : int; var local_#28762 : int; var local_#32948_key : { base : int, offset : int }; var local_#28763 : { base : int, offset : int }; var local_#28764 : { base : int, offset : int }; var local_#32947_key : { base : int, offset : int }; var local_#28765 : { base : int, offset : int }; var local_#28766 : { base : int, offset : int }; local_#6416_ls := local_#6416_ls_IN; local_#6417_v := local_#6417_v_IN; goto CFG_37090; CFG_37090: assume true; goto CFG_44792; CFG_44792: assume true; local_#32945_fs := _memory_ptr[{ base : local_#6416_ls!base, offset : local_#6416_ls!offset + 48 }]; local_#32946_line := _memory[{ base : local_#6416_ls!base, offset : local_#6416_ls!offset + 4 }]; goto CFG_48852; CFG_48852: assume true; call routine_#34995_primaryexp(local_#6416_ls,local_#6417_v); goto CFG_41863; CFG_41863: assume true; goto CFG_51309; CFG_51309: assume true; local_#28761 := 1; if (local_#28761 != 0) { goto CFG_51575; } else { goto CFG_38001; } CFG_51575: assume true; local_#28762 := _memory[{ base : local_#6416_ls!base, offset : local_#6416_ls!offset + 16 }]; if (local_#28762 == 46) { goto CFG_48862; } if (local_#28762 == 91) { goto CFG_48859; } if (local_#28762 == 58) { goto CFG_48855; } if (local_#28762 == 40) { goto CFG_48853; } if (local_#28762 == 293) { goto CFG_48853; } if (local_#28762 == 123) { goto CFG_48853; } goto CFG_39439; CFG_39439: assume true; goto CFG_38001; CFG_48853: assume true; call routine_#33788_luaK_exp2nextreg(local_#32945_fs,local_#6417_v); goto CFG_48854; CFG_48854: assume true; call routine_#34765_funcargs(local_#6416_ls,local_#6417_v,local_#32946_line); goto CFG_39756; CFG_39756: assume true; goto CFG_45204; CFG_48855: assume true; call routine_#33908_luaX_next(local_#6416_ls); goto CFG_44793; CFG_44793: assume true; local_#28763 := local_#32948_key; goto CFG_48856; CFG_48856: assume true; call routine_#34636_checkname(local_#6416_ls,local_#28763); goto CFG_44794; CFG_44794: assume true; local_#28764 := local_#32948_key; goto CFG_48857; CFG_48857: assume true; call routine_#33806_luaK_self(local_#32945_fs,local_#6417_v,local_#28764); goto CFG_48858; CFG_48858: assume true; call routine_#34765_funcargs(local_#6416_ls,local_#6417_v,local_#32946_line); goto CFG_39757; CFG_39757: assume true; goto CFG_45204; CFG_48859: assume true; call routine_#33787_luaK_exp2anyregup(local_#32945_fs,local_#6417_v); goto CFG_44795; CFG_44795: assume true; local_#28765 := local_#32947_key; goto CFG_48860; CFG_48860: assume true; call routine_#35147_yindex(local_#6416_ls,local_#28765); goto CFG_44796; CFG_44796: assume true; local_#28766 := local_#32947_key; goto CFG_48861; CFG_48861: assume true; call routine_#33794_luaK_indexed(local_#32945_fs,local_#6417_v,local_#28766); goto CFG_39758; CFG_39758: assume true; goto CFG_45204; CFG_48862: assume true; call routine_#34738_fieldsel(local_#6416_ls,local_#6417_v); goto CFG_39759; CFG_39759: assume true; goto CFG_45204; CFG_45204: assume true; goto CFG_51309; CFG_41974: assume true; goto CFG_45204; CFG_38001: assume true; } procedure routine_#35103_swapextra(local_#6418_L_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6418_L : { base : int, offset : int }; var local_#28767 : int; var local_#28768 : int; var local_#28769 : int; var local_#32949_ci : { base : int, offset : int }; var local_#32950_temp : { base : int, offset : int }; var local_#28770 : { base : int, offset : int }; var local_#28771 : { base : int, offset : int }; var local_#28772 : { base : int, offset : int }; var local_#28773 : { base : int, offset : int }; var local_#28774 : { base : int, offset : int }; var local_#28775 : int; local_#6418_L := local_#6418_L_IN; goto CFG_37091; CFG_37091: assume true; goto CFG_51310; CFG_51310: assume true; local_#28767 := _memory[{ base : local_#6418_L!base, offset : local_#6418_L!offset + 12 }]; assert { :LIR "64054" } { :check "overflow" } { :finding_ids "0" } local_#28767 <= 2147483647; local_#28768 := 1; local_#28769 := (if local_#28767 == local_#28768 then 1 else 0); if (local_#28769 != 0) { goto CFG_41476; } else { goto CFG_39440; } CFG_41476: assume true; local_#32949_ci := _memory_ptr[{ base : local_#6418_L!base, offset : local_#6418_L!offset + 32 }]; local_#32950_temp := _memory_ptr[{ base : local_#32949_ci!base, offset : local_#32949_ci!offset + 0 }]; local_#28770 := _memory_ptr[{ base : local_#6418_L!base, offset : local_#6418_L!offset + 56 }]; assert { :LIR "62032" } { :check "overflow" } { :finding_ids "0" } true; local_#28771 := { base : local_#28770!base, offset : local_#28770!offset + _memory[{ base : local_#32949_ci!base, offset : local_#32949_ci!offset + 56 }] * 1 }; local_#28772 := local_#28771; assert { :LIR "62033" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#32949_ci!base, offset : local_#32949_ci!offset + 0 }] := local_#28772; local_#28773 := local_#32950_temp; assert { :LIR "62034" } { :check "overflow" } { :finding_ids "0" } true; local_#28774 := _memory_ptr[{ base : local_#6418_L!base, offset : local_#6418_L!offset + 56 }]; assert { :LIR "62035" } { :check "overflow" } { :finding_ids "0" } true; local_#28775 := (local_#28773!offset - local_#28774!offset) / 1; _memory[{ base : local_#32949_ci!base, offset : local_#32949_ci!offset + 56 }] := local_#28775; goto CFG_39440; CFG_39440: assume true; goto CFG_38002; CFG_38002: assume true; } procedure routine_#35104_sweeplist(local_#6419_L_IN : { base : int, offset : int }, local_#6420_p_IN : { base : int, offset : int }, local_#6421_count_IN : int) returns (local_#8289 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6419_L : { base : int, offset : int }; var local_#6420_p : { base : int, offset : int }; var local_#6421_count : int; var local_#32951_g : { base : int, offset : int }; var local_#28776 : int; var local_#28777 : int; var local_#28778 : int; var local_#32952_ow : int; var local_#28779 : int; var local_#28780 : int; var local_#28781 : int; var local_#28782 : int; var local_#28783 : int; var local_#32953_white : int; var local_#28784 : { base : int, offset : int }; var local_#28785 : int; var local_#28786 : int; var local_#28787 : int; var local_#28788 : int; var local_#28789 : int; var local_#28790 : { base : int, offset : int }; var local_#28791 : int; var local_#30882 : { base : int, offset : int }; var local_#32954_curr : { base : int, offset : int }; var local_#28792 : int; var local_#32955_marked : int; var local_#28793 : int; var local_#28794 : int; var local_#28795 : int; var local_#28796 : int; var local_#28797 : int; var local_#28798 : int; var local_#28799 : int; var local_#28800 : int; local_#6419_L := local_#6419_L_IN; local_#6420_p := local_#6420_p_IN; local_#6421_count := local_#6421_count_IN; goto CFG_37092; CFG_37092: assume true; goto CFG_41864; CFG_41864: assume true; local_#32951_g := _memory_ptr[{ base : local_#6419_L!base, offset : local_#6419_L!offset + 24 }]; local_#28776 := _memory[{ base : local_#32951_g!base, offset : local_#32951_g!offset + 84 }]; assert { :LIR "64055" } { :check "overflow" } { :finding_ids "0" } local_#28776 <= 2147483647; local_#28777 := 3; local_#28778 := ~sxor32(local_#28776, local_#28777); local_#32952_ow := local_#28778; local_#28779 := _memory[{ base : local_#32951_g!base, offset : local_#32951_g!offset + 84 }]; assert { :LIR "64056" } { :check "overflow" } { :finding_ids "0" } local_#28779 <= 2147483647; local_#28780 := 3; local_#28781 := ~sand32(local_#28779, local_#28780); local_#28782 := ~uwrap8(local_#28781); assert { :LIR "62036" } { :check "overflow" } { :finding_ids "0" } true; local_#28783 := local_#28782; assert { :LIR "64057" } { :check "overflow" } { :finding_ids "0" } local_#28783 <= 2147483647; local_#32953_white := local_#28783; goto CFG_51311; CFG_51311: assume true; local_#28784 := { base : 0, offset : 0 }; local_#28785 := (if _memory_ptr[local_#6420_p] != local_#28784 then 1 else 0); if (local_#28785 != 0) { goto CFG_51312; } else { goto CFG_51313; } CFG_51312: assume true; local_#28786 := local_#6421_count; local_#28787 := 1; assume { :symbol "~uwrap64" } true; local_#6421_count := ~uwrap64(local_#28786 - local_#28787); assert { :LIR "68190" } { :check "overflow" } { :finding_ids "0" } true; local_#28788 := 0; local_#28789 := (if local_#28786 > local_#28788 then 1 else 0); if (local_#28789 != 0) { goto CFG_51314; } else { goto CFG_51313; } CFG_51313: assume true; local_#28790 := { base : 0, offset : 0 }; local_#28791 := (if _memory_ptr[local_#6420_p] == local_#28790 then 1 else 0); if (local_#28791 != 0) { goto CFG_41478; } else { goto CFG_41477; } CFG_41477: assume true; local_#30882 := local_#6420_p; goto CFG_39014; CFG_41478: assume true; local_#30882 := { base : 0, offset : 0 }; goto CFG_39014; CFG_39014: assume true; local_#8289 := local_#30882; goto CFG_38003; CFG_51314: assume true; local_#32954_curr := _memory_ptr[local_#6420_p]; local_#28792 := _memory[{ base : local_#32954_curr!base, offset : local_#32954_curr!offset + 9 }]; assert { :LIR "64058" } { :check "overflow" } { :finding_ids "0" } local_#28792 <= 2147483647; local_#32955_marked := local_#28792; local_#28793 := 3; local_#28794 := ~sxor32(local_#32955_marked, local_#28793); local_#28795 := ~sand32(local_#28794, local_#32952_ow); local_#28796 := (if local_#28795 != 0 then 0 else 1); if (local_#28796 != 0) { goto CFG_44797; } else { goto CFG_41479; } CFG_41479: assume true; local_#28797 := -8; local_#28798 := ~sand32(local_#32955_marked, local_#28797); local_#28799 := ~sor32(local_#28798, local_#32953_white); local_#28800 := ~uwrap8(local_#28799); assert { :LIR "62037" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#32954_curr!base, offset : local_#32954_curr!offset + 9 }] := local_#28800; local_#6420_p := { base : local_#32954_curr!base, offset : local_#32954_curr!offset + 0 }; goto CFG_45205; CFG_44797: assume true; _memory_ptr[local_#6420_p] := _memory_ptr[{ base : local_#32954_curr!base, offset : local_#32954_curr!offset + 0 }]; goto CFG_48863; CFG_48863: assume true; call routine_#34762_freeobj(local_#6419_L,local_#32954_curr); goto CFG_41480; CFG_41480: assume true; goto CFG_45205; CFG_45205: assume true; goto CFG_51311; CFG_38003: assume true; } procedure routine_#35105_sweepstep(local_#6422_L_IN : { base : int, offset : int }, local_#6423_g_IN : { base : int, offset : int }, local_#6424_nextstate_IN : int, local_#6425_nextlist_IN : { base : int, offset : int }) returns (local_#8290 : int) modifies _memory, _memory_ptr, _valid; { var local_#6422_L : { base : int, offset : int }; var local_#6423_g : { base : int, offset : int }; var local_#6424_nextstate : int; var local_#6425_nextlist : { base : int, offset : int }; var local_#28801 : { base : int, offset : int }; var local_#32956_olddebt : int; var local_#28802 : { base : int, offset : int }; var local_#28803 : int; var local_#28804 : { base : int, offset : int }; var local_#28805 : int; var local_#28806 : int; var local_#28807 : { base : int, offset : int }; var local_#28808 : int; local_#6422_L := local_#6422_L_IN; local_#6423_g := local_#6423_g_IN; local_#6424_nextstate := local_#6424_nextstate_IN; local_#6425_nextlist := local_#6425_nextlist_IN; goto CFG_37093; CFG_37093: assume true; goto CFG_51315; CFG_51315: assume true; local_#28801 := _memory_ptr[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 96 }]; if (local_#28801 != { base : 0, offset : 0 }) { goto CFG_44798; } else { goto CFG_39015; } CFG_44798: assume true; local_#32956_olddebt := _memory[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 24 }]; local_#28802 := _memory_ptr[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 96 }]; local_#28803 := 85; goto CFG_48864; CFG_48864: assume true; call local_#28804 := routine_#35104_sweeplist(local_#6422_L,local_#28802,local_#28803); goto CFG_51316; CFG_51316: assume true; _memory_ptr[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 96 }] := local_#28804; local_#28805 := _memory[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 24 }] - local_#32956_olddebt; assert { :LIR "68191" } { :check "overflow" } { :finding_ids "0" } local_#28805 <= 9223372036854775807; local_#28806 := ~uwrap64(local_#28805); assert { :LIR "64059" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; _memory[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 40 }] := ~uwrap64(_memory[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 40 }] + local_#28806); assert { :LIR "66880" } { :check "overflow" } { :finding_ids "0" } true; local_#28807 := _memory_ptr[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 96 }]; if (local_#28807 != { base : 0, offset : 0 }) { goto CFG_39016; } else { goto CFG_41481; } CFG_41481: assume true; goto CFG_39015; CFG_39015: assume true; local_#28808 := ~uwrap8(local_#6424_nextstate); assert { :LIR "64060" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 85 }] := local_#28808; _memory_ptr[{ base : local_#6423_g!base, offset : local_#6423_g!offset + 96 }] := local_#6425_nextlist; local_#8290 := 0; goto CFG_38004; CFG_39016: assume true; local_#8290 := 595; goto CFG_38004; CFG_38004: assume true; } procedure routine_#35106_sweeptolive(local_#6426_L_IN : { base : int, offset : int }, local_#6427_p_IN : { base : int, offset : int }) returns (local_#8291 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6426_L : { base : int, offset : int }; var local_#6427_p : { base : int, offset : int }; var local_#32957_old : { base : int, offset : int }; var local_#28809 : int; var local_#28810 : { base : int, offset : int }; var local_#28811 : int; local_#6426_L := local_#6426_L_IN; local_#6427_p := local_#6427_p_IN; goto CFG_37094; CFG_37094: assume true; goto CFG_41865; CFG_41865: assume true; local_#32957_old := local_#6427_p; goto CFG_44799; CFG_44799: assume true; local_#28809 := 1; goto CFG_48865; CFG_48865: assume true; call local_#28810 := routine_#35104_sweeplist(local_#6426_L,local_#6427_p,local_#28809); goto CFG_44800; CFG_44800: assume true; local_#6427_p := local_#28810; goto CFG_51317; CFG_51317: assume true; local_#28811 := (if local_#6427_p == local_#32957_old then 1 else 0); if (local_#28811 != 0) { goto CFG_45206; } else { goto CFG_39017; } CFG_39017: assume true; local_#8291 := local_#6427_p; goto CFG_38005; CFG_45206: assume true; goto CFG_44799; CFG_38005: assume true; } procedure routine_#35107_tag_error(local_#6428_L_IN : { base : int, offset : int }, local_#6429_arg_IN : int, local_#6430_tag_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6428_L : { base : int, offset : int }; var local_#6429_arg : int; var local_#6430_tag : int; var local_#28812 : { base : int, offset : int }; var local_#28813 : int; local_#6428_L := local_#6428_L_IN; local_#6429_arg := local_#6429_arg_IN; local_#6430_tag := local_#6430_tag_IN; goto CFG_37095; CFG_37095: assume true; goto CFG_48866; CFG_48866: assume true; call local_#28812 := routine_#34001_lua_typename(local_#6428_L,local_#6430_tag); goto CFG_48867; CFG_48867: assume true; call local_#28813 := routine_#35129_typeerror(local_#6428_L,local_#6429_arg,local_#28812); goto CFG_39441; CFG_39441: assume true; goto CFG_38006; CFG_38006: assume true; } procedure routine_#35108_tconcat(local_#6431_L_IN : { base : int, offset : int }) returns (local_#8292 : int) modifies _memory, _memory_ptr, _valid; { var local_#6431_L : { base : int, offset : int }; var local_#28814 : int; var local_#28815 : int; var local_#28816 : int; var local_#28817 : int; var local_#32960_last : int; var local_#28818 : int; var local_#28819 : { base : int, offset : int }; var local_#28820 : { base : int, offset : int }; var local_#32961_lsep : { base : int, offset : int }; var local_#28821 : { base : int, offset : int }; var local_#28822 : { base : int, offset : int }; var local_#32962_sep : { base : int, offset : int }; var local_#28823 : int; var local_#28824 : int; var local_#28825 : int; var local_#32959_i : int; var local_#28826 : int; var local_#28827 : int; var local_#32958_b : { base : int, offset : int }; var local_#28828 : { base : int, offset : int }; var local_#28829 : int; var local_#28830 : int; var local_#28831 : { base : int, offset : int }; var local_#28832 : { base : int, offset : int }; var local_#28833 : { base : int, offset : int }; var local_#28834 : { base : int, offset : int }; var local_#28835 : int; var local_#28836 : int; var local_#28837 : int; local_#6431_L := local_#6431_L_IN; goto CFG_37096; CFG_37096: assume true; goto CFG_44801; CFG_44801: assume true; local_#28814 := 1; local_#28815 := 5; goto CFG_48868; CFG_48868: assume true; call routine_#34641_checktab(local_#6431_L,local_#28814,local_#28815); goto CFG_44802; CFG_44802: assume true; local_#28816 := 1; goto CFG_48869; CFG_48869: assume true; call local_#28817 := routine_#33834_luaL_len(local_#6431_L,local_#28816); goto CFG_44803; CFG_44803: assume true; local_#32960_last := local_#28817; local_#28818 := 2; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28819 := strlit_#70352; local_#28820 := { base : local_#28819!base, offset : local_#28819!offset + 0 * 1 }; assert { :LIR "64061" } { :check "overflow" } { :finding_ids "0" } true; local_#28821 := local_#32961_lsep; goto CFG_48870; CFG_48870: assume true; call local_#28822 := routine_#33842_luaL_optlstring(local_#6431_L,local_#28818,local_#28820,local_#28821); goto CFG_44804; CFG_44804: assume true; local_#32962_sep := local_#28822; local_#28823 := 3; local_#28824 := 1; goto CFG_48871; CFG_48871: assume true; call local_#28825 := routine_#33841_luaL_optinteger(local_#6431_L,local_#28823,local_#28824); goto CFG_44805; CFG_44805: assume true; local_#32959_i := local_#28825; local_#28826 := 4; goto CFG_48872; CFG_48872: assume true; call local_#28827 := routine_#33841_luaL_optinteger(local_#6431_L,local_#28826,local_#32960_last); goto CFG_44806; CFG_44806: assume true; local_#32960_last := local_#28827; local_#28828 := local_#32958_b; goto CFG_48873; CFG_48873: assume true; call routine_#33816_luaL_buffinit(local_#6431_L,local_#28828); goto CFG_41866; CFG_41866: assume true; goto CFG_51318; CFG_51318: assume true; local_#28829 := (if local_#32959_i < local_#32960_last then 1 else 0); if (local_#28829 != 0) { goto CFG_44809; } else { goto CFG_51319; } CFG_51319: assume true; local_#28830 := (if local_#32959_i == local_#32960_last then 1 else 0); if (local_#28830 != 0) { goto CFG_44807; } else { goto CFG_44808; } CFG_44807: assume true; local_#28831 := local_#32958_b; goto CFG_48874; CFG_48874: assume true; call routine_#34571_addfield(local_#6431_L,local_#28831,local_#32959_i); goto CFG_41482; CFG_41482: assume true; goto CFG_44808; CFG_44808: assume true; local_#28832 := local_#32958_b; goto CFG_48875; CFG_48875: assume true; call routine_#33845_luaL_pushresult(local_#28832); goto CFG_39018; CFG_39018: assume true; local_#8292 := 1; goto CFG_38007; CFG_44809: assume true; local_#28833 := local_#32958_b; goto CFG_48876; CFG_48876: assume true; call routine_#34571_addfield(local_#6431_L,local_#28833,local_#32959_i); goto CFG_44810; CFG_44810: assume true; local_#28834 := local_#32958_b; goto CFG_48877; CFG_48877: assume true; call routine_#33812_luaL_addlstring(local_#28834,local_#32962_sep,_memory[local_#32961_lsep]); goto CFG_45207; CFG_45207: assume true; local_#28835 := local_#32959_i; local_#28836 := 1; local_#32959_i := local_#28835 + local_#28836; assert { :LIR "66881" } { :check "overflow" } { :finding_ids "0" } local_#32959_i <= 9223372036854775807; local_#28837 := local_#28835; goto CFG_51318; CFG_38007: assume true; } procedure routine_#35109_test2(local_#6432_rn_IN : { base : int, offset : int }, local_#6433_set_IN : { base : int, offset : int }) returns (local_#8293 : int) modifies _memory; { var local_#6432_rn : { base : int, offset : int }; var local_#6433_set : { base : int, offset : int }; var local_#28838 : int; var local_#28839 : { base : int, offset : int }; var local_#28840 : int; var local_#28841 : int; var local_#28842 : int; var local_#28843 : { base : int, offset : int }; var local_#28844 : int; var local_#28845 : int; var local_#28846 : int; local_#6432_rn := local_#6432_rn_IN; local_#6433_set := local_#6433_set_IN; goto CFG_37097; CFG_37097: assume true; goto CFG_51320; CFG_51320: assume true; local_#28838 := 0; local_#28839 := { base : local_#6433_set!base, offset : local_#6433_set!offset + local_#28838 * 1 }; local_#28840 := _memory[local_#28839]; assert { :LIR "64062" } { :check "overflow" } { :finding_ids "0" } local_#28840 <= 2147483647; local_#28841 := (if _memory[{ base : local_#6432_rn!base, offset : local_#6432_rn!offset + 8 }] == local_#28840 then 1 else 0); if (local_#28841 != 0) { goto CFG_48878; } else { goto CFG_51321; } CFG_51321: assume true; local_#28842 := 1; local_#28843 := { base : local_#6433_set!base, offset : local_#6433_set!offset + local_#28842 * 1 }; local_#28844 := _memory[local_#28843]; assert { :LIR "64063" } { :check "overflow" } { :finding_ids "0" } local_#28844 <= 2147483647; local_#28845 := (if _memory[{ base : local_#6432_rn!base, offset : local_#6432_rn!offset + 8 }] == local_#28844 then 1 else 0); if (local_#28845 != 0) { goto CFG_48878; } else { goto CFG_39019; } CFG_39019: assume true; local_#8293 := 0; goto CFG_38008; CFG_48878: assume true; call local_#28846 := routine_#34963_nextc(local_#6432_rn); goto CFG_39020; CFG_39020: assume true; local_#8293 := local_#28846; goto CFG_38008; CFG_38008: assume true; } procedure routine_#35110_test_eof(local_#6434_L_IN : { base : int, offset : int }, local_#6435_f_IN : { base : int, offset : int }) returns (local_#8294 : int) modifies _memory, _memory_ptr, _valid; { var local_#6434_L : { base : int, offset : int }; var local_#6435_f : { base : int, offset : int }; var local_#28847 : int; var local_#32963_c : int; var local_#28848 : int; var local_#28849 : { base : int, offset : int }; var local_#28850 : { base : int, offset : int }; var local_#28851 : { base : int, offset : int }; var local_#28852 : int; var local_#28853 : int; local_#6434_L := local_#6434_L_IN; local_#6435_f := local_#6435_f_IN; goto CFG_37098; CFG_37098: assume true; goto CFG_48879; CFG_48879: assume true; call local_#28847 := routine_#33603_getc(local_#6435_f); goto CFG_44811; CFG_44811: assume true; local_#32963_c := local_#28847; goto CFG_48880; CFG_48880: assume true; call local_#28848 := routine_#34513_ungetc(local_#32963_c,local_#6435_f); goto CFG_44812; CFG_44812: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#28849 := strlit_#70352; local_#28850 := { base : local_#28849!base, offset : local_#28849!offset + 0 * 1 }; assert { :LIR "64064" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48881; CFG_48881: assume true; call local_#28851 := routine_#33965_lua_pushstring(local_#6434_L,local_#28850); goto CFG_39021; CFG_39021: assume true; local_#28852 := -1; local_#28853 := (if local_#32963_c != local_#28852 then 1 else 0); local_#8294 := local_#28853; goto CFG_38009; CFG_38009: assume true; } procedure routine_#35111_test_then_block(local_#6436_ls_IN : { base : int, offset : int }, local_#6437_escapelist_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6436_ls : { base : int, offset : int }; var local_#6437_escapelist : { base : int, offset : int }; var local_#32965_fs : { base : int, offset : int }; var local_#32967_v : { base : int, offset : int }; var local_#28854 : { base : int, offset : int }; var local_#28855 : int; var local_#28856 : int; var local_#28857 : int; var local_#28858 : int; var local_#28859 : int; var local_#28860 : { base : int, offset : int }; var local_#28861 : { base : int, offset : int }; var local_#32964_bl : { base : int, offset : int }; var local_#28862 : { base : int, offset : int }; var local_#28863 : int; var local_#32966_jf : int; var local_#28864 : { base : int, offset : int }; var local_#28865 : { base : int, offset : int }; var local_#28866 : { base : int, offset : int }; var local_#28867 : int; var local_#28868 : int; var local_#28869 : int; var local_#28870 : int; var local_#28871 : int; var local_#28872 : int; var local_#28873 : int; var local_#28874 : int; var local_#28875 : int; var local_#28876 : int; var local_#28877 : int; var local_#28878 : int; var local_#28879 : int; var local_#28880 : int; local_#6436_ls := local_#6436_ls_IN; local_#6437_escapelist := local_#6437_escapelist_IN; goto CFG_37099; CFG_37099: assume true; goto CFG_44813; CFG_44813: assume true; local_#32965_fs := _memory_ptr[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 48 }]; goto CFG_48882; CFG_48882: assume true; call routine_#33908_luaX_next(local_#6436_ls); goto CFG_44814; CFG_44814: assume true; local_#28854 := local_#32967_v; goto CFG_48883; CFG_48883: assume true; call routine_#34721_expr(local_#6436_ls,local_#28854); goto CFG_44815; CFG_44815: assume true; local_#28855 := 275; goto CFG_48884; CFG_48884: assume true; call routine_#34637_checknext(local_#6436_ls,local_#28855); goto CFG_51322; CFG_51322: assume true; local_#28856 := 266; local_#28857 := (if _memory[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 16 }] == local_#28856 then 1 else 0); if (local_#28857 != 0) { goto CFG_44818; } else { goto CFG_51323; } CFG_51323: assume true; local_#28858 := 258; local_#28859 := (if _memory[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 16 }] == local_#28858 then 1 else 0); if (local_#28859 != 0) { goto CFG_44818; } else { goto CFG_44816; } CFG_44816: assume true; local_#28860 := _memory_ptr[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 48 }]; local_#28861 := local_#32967_v; goto CFG_48885; CFG_48885: assume true; call routine_#33793_luaK_goiftrue(local_#28860,local_#28861); goto CFG_44817; CFG_44817: assume true; local_#28862 := local_#32964_bl; local_#28863 := 0; goto CFG_48886; CFG_48886: assume true; call routine_#34710_enterblock(local_#32965_fs,local_#28862,local_#28863); goto CFG_41483; CFG_41483: assume true; local_#32966_jf := _memory[{ base : local_#32967_v!base, offset : local_#32967_v!offset + 20 }]; goto CFG_48893; CFG_44818: assume true; local_#28864 := _memory_ptr[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 48 }]; local_#28865 := local_#32967_v; goto CFG_48887; CFG_48887: assume true; call routine_#33792_luaK_goiffalse(local_#28864,local_#28865); goto CFG_44819; CFG_44819: assume true; local_#28866 := local_#32964_bl; local_#28867 := 0; goto CFG_48888; CFG_48888: assume true; call routine_#34710_enterblock(local_#32965_fs,local_#28866,local_#28867); goto CFG_44820; CFG_44820: assume true; local_#28868 := _memory[{ base : local_#32967_v!base, offset : local_#32967_v!offset + 16 }]; goto CFG_48889; CFG_48889: assume true; call routine_#34803_gotostat(local_#6436_ls,local_#28868); goto CFG_41867; CFG_41867: assume true; goto CFG_44821; CFG_44821: assume true; local_#28869 := 59; goto CFG_48890; CFG_48890: assume true; call local_#28870 := routine_#35112_testnext(local_#6436_ls,local_#28869); goto CFG_51324; CFG_51324: assume true; local_#28871 := local_#28870; if (local_#28871 != 0) { goto CFG_45208; } else { goto CFG_44822; } CFG_44822: assume true; local_#28872 := 0; goto CFG_48891; CFG_48891: assume true; call local_#28873 := routine_#34612_block_follow(local_#6436_ls,local_#28872); goto CFG_51325; CFG_51325: assume true; local_#28874 := local_#28873; if (local_#28874 != 0) { goto CFG_48898; } else { goto CFG_48892; } CFG_48892: assume true; call local_#28875 := routine_#33797_luaK_jump(local_#32965_fs); goto CFG_41484; CFG_41484: assume true; local_#32966_jf := local_#28875; goto CFG_41485; CFG_41485: assume true; goto CFG_48893; CFG_48893: assume true; call routine_#35082_statlist(local_#6436_ls); goto CFG_48894; CFG_48894: assume true; call routine_#34856_leaveblock(local_#32965_fs); goto CFG_51326; CFG_51326: assume true; local_#28876 := 260; local_#28877 := (if _memory[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 16 }] == local_#28876 then 1 else 0); if (local_#28877 != 0) { goto CFG_48895; } else { goto CFG_51327; } CFG_51327: assume true; local_#28878 := 261; local_#28879 := (if _memory[{ base : local_#6436_ls!base, offset : local_#6436_ls!offset + 16 }] == local_#28878 then 1 else 0); if (local_#28879 != 0) { goto CFG_48895; } else { goto CFG_48897; } CFG_48895: assume true; call local_#28880 := routine_#33797_luaK_jump(local_#32965_fs); goto CFG_48896; CFG_48896: assume true; call routine_#33783_luaK_concat(local_#32965_fs,local_#6437_escapelist,local_#28880); goto CFG_41486; CFG_41486: assume true; goto CFG_48897; CFG_48897: assume true; call routine_#33801_luaK_patchtohere(local_#32965_fs,local_#32966_jf); goto CFG_39442; CFG_39442: assume true; goto CFG_38010; CFG_48898: assume true; call routine_#34856_leaveblock(local_#32965_fs); goto CFG_39443; CFG_39443: assume true; goto CFG_38010; CFG_45208: assume true; goto CFG_44821; CFG_38010: assume true; } procedure routine_#35112_testnext(local_#6438_ls_IN : { base : int, offset : int }, local_#6439_c_IN : int) returns (local_#8295 : int) modifies _memory, _memory_ptr, _valid; { var local_#6438_ls : { base : int, offset : int }; var local_#6439_c : int; var local_#28881 : int; local_#6438_ls := local_#6438_ls_IN; local_#6439_c := local_#6439_c_IN; goto CFG_37100; CFG_37100: assume true; goto CFG_51328; CFG_51328: assume true; local_#28881 := (if _memory[{ base : local_#6438_ls!base, offset : local_#6438_ls!offset + 16 }] == local_#6439_c then 1 else 0); if (local_#28881 != 0) { goto CFG_48899; } else { goto CFG_39022; } CFG_39022: assume true; local_#8295 := 0; goto CFG_38011; CFG_48899: assume true; call routine_#33908_luaX_next(local_#6438_ls); goto CFG_39023; CFG_39023: assume true; local_#8295 := 1; goto CFG_38011; CFG_38011: assume true; } procedure routine_#35113_tinsert(local_#6440_L_IN : { base : int, offset : int }) returns (local_#8296 : int) modifies _memory, _memory_ptr, _valid; { var local_#6440_L : { base : int, offset : int }; var local_#28882 : int; var local_#28883 : int; var local_#28884 : int; var local_#28885 : int; var local_#28886 : int; var local_#28887 : int; var local_#32968_e : int; var local_#28888 : int; var local_#28889 : int; var local_#28890 : { base : int, offset : int }; var local_#28891 : { base : int, offset : int }; var local_#28892 : int; var local_#28893 : int; var local_#28894 : int; var local_#32969_pos : int; var local_#28895 : int; var local_#28896 : int; var local_#28897 : int; var local_#28898 : int; var local_#28899 : { base : int, offset : int }; var local_#28900 : { base : int, offset : int }; var local_#28901 : int; var local_#28902 : int; var local_#30883 : int; var local_#28903 : int; var local_#32970_i : int; var local_#28904 : int; var local_#28905 : int; var local_#28906 : int; var local_#28907 : int; var local_#28908 : int; var local_#28909 : int; var local_#28910 : int; var local_#28911 : int; var local_#28912 : int; var local_#28913 : int; local_#6440_L := local_#6440_L_IN; goto CFG_37101; CFG_37101: assume true; goto CFG_44823; CFG_44823: assume true; local_#28882 := 1; local_#28883 := 7; goto CFG_48900; CFG_48900: assume true; call routine_#34641_checktab(local_#6440_L,local_#28882,local_#28883); goto CFG_44824; CFG_44824: assume true; local_#28884 := 1; goto CFG_48901; CFG_48901: assume true; call local_#28885 := routine_#33834_luaL_len(local_#6440_L,local_#28884); goto CFG_44825; CFG_44825: assume true; local_#28886 := 1; local_#28887 := local_#28885 + local_#28886; assert { :LIR "66882" } { :check "overflow" } { :finding_ids "0" } local_#28887 <= 9223372036854775807; local_#32968_e := local_#28887; goto CFG_48902; CFG_48902: assume true; call local_#28888 := routine_#33941_lua_gettop(local_#6440_L); goto CFG_51576; CFG_51576: assume true; local_#28889 := local_#28888; if (local_#28889 == 2) { goto CFG_39761; } if (local_#28889 == 3) { goto CFG_44827; } goto CFG_44826; CFG_44826: assume true; assume _memory[{ base : strlit_#70860!base, offset : strlit_#70860!offset + 37 }] == 0; local_#28890 := strlit_#70860; local_#28891 := { base : local_#28890!base, offset : local_#28890!offset + 0 * 1 }; assert { :LIR "64065" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48903; CFG_48903: assume true; call local_#28892 := routine_#33828_luaL_error(local_#6440_L,local_#28891,{ base : 0, offset : 0 }); goto CFG_39024; CFG_39024: assume true; local_#8296 := local_#28892; goto CFG_38012; CFG_44827: assume true; local_#28893 := 2; goto CFG_48904; CFG_48904: assume true; call local_#28894 := routine_#33820_luaL_checkinteger(local_#6440_L,local_#28893); goto CFG_51329; CFG_51329: assume true; local_#32969_pos := local_#28894; local_#28895 := 1; local_#28896 := (if local_#28895 <= local_#32969_pos then 1 else 0); if (local_#28896 != 0) { goto CFG_51330; } else { goto CFG_44828; } CFG_51330: assume true; local_#28897 := (if local_#32969_pos <= local_#32968_e then 1 else 0); if (local_#28897 != 0) { goto CFG_41488; } else { goto CFG_44828; } CFG_44828: assume true; local_#28898 := 2; assume _memory[{ base : strlit_#70861!base, offset : strlit_#70861!offset + 22 }] == 0; local_#28899 := strlit_#70861; local_#28900 := { base : local_#28899!base, offset : local_#28899!offset + 0 * 1 }; assert { :LIR "64066" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48905; CFG_48905: assume true; call local_#28901 := routine_#33815_luaL_argerror(local_#6440_L,local_#28898,local_#28900); goto CFG_51331; CFG_51331: assume true; local_#28902 := local_#28901; if (local_#28902 != 0) { goto CFG_41488; } else { goto CFG_41487; } CFG_41487: assume true; local_#30883 := 0; goto CFG_41868; CFG_41488: assume true; local_#30883 := 1; goto CFG_41868; CFG_41868: assume true; local_#28903 := 0; assert { :LIR "62038" } { :check "overflow" } { :finding_ids "0" } true; local_#32970_i := local_#32968_e; goto CFG_51332; CFG_51332: assume true; local_#28904 := (if local_#32970_i > local_#32969_pos then 1 else 0); if (local_#28904 != 0) { goto CFG_44829; } else { goto CFG_39760; } CFG_39760: assume true; goto CFG_44831; CFG_44829: assume true; local_#28905 := 1; local_#28906 := 1; local_#28907 := local_#32970_i - local_#28906; assert { :LIR "68192" } { :check "overflow" } { :finding_ids "0" } local_#28907 <= 9223372036854775807; goto CFG_48906; CFG_48906: assume true; call local_#28908 := routine_#33935_lua_geti(local_#6440_L,local_#28905,local_#28907); goto CFG_44830; CFG_44830: assume true; local_#28909 := 1; goto CFG_48907; CFG_48907: assume true; call routine_#33983_lua_seti(local_#6440_L,local_#28909,local_#32970_i); goto CFG_45209; CFG_45209: assume true; local_#28910 := local_#32970_i; local_#28911 := 1; local_#32970_i := local_#28910 - local_#28911; assert { :LIR "68193" } { :check "overflow" } { :finding_ids "0" } local_#32970_i <= 9223372036854775807; local_#28912 := local_#28910; goto CFG_51332; CFG_39761: assume true; local_#32969_pos := local_#32968_e; goto CFG_44831; CFG_44831: assume true; local_#28913 := 1; goto CFG_48908; CFG_48908: assume true; call routine_#33983_lua_seti(local_#6440_L,local_#28913,local_#32969_pos); goto CFG_39025; CFG_39025: assume true; local_#8296 := 0; goto CFG_38012; CFG_41975: assume true; goto CFG_44831; CFG_38012: assume true; } procedure routine_#35114_tmove(local_#6441_L_IN : { base : int, offset : int }) returns (local_#8297 : int) modifies _memory, _memory_ptr, _valid; { var local_#6441_L : { base : int, offset : int }; var local_#28914 : int; var local_#28915 : int; var local_#32972_f : int; var local_#28916 : int; var local_#28917 : int; var local_#32971_e : int; var local_#28918 : int; var local_#28919 : int; var local_#32973_t : int; var local_#28920 : int; var local_#28921 : int; var local_#28922 : int; var local_#28923 : int; var local_#28924 : int; var local_#30884 : int; var local_#32974_tt : int; var local_#28925 : int; var local_#28926 : int; var local_#28927 : int; var local_#28928 : int; var local_#28929 : int; var local_#28930 : int; var local_#28931 : int; var local_#28932 : int; var local_#28933 : int; var local_#28934 : int; var local_#28935 : { base : int, offset : int }; var local_#28936 : { base : int, offset : int }; var local_#28937 : int; var local_#28938 : int; var local_#30885 : int; var local_#28939 : int; var local_#28940 : int; var local_#28941 : int; var local_#28942 : int; var local_#32976_n : int; var local_#28943 : int; var local_#28944 : int; var local_#28945 : int; var local_#28946 : int; var local_#28947 : int; var local_#28948 : int; var local_#28949 : { base : int, offset : int }; var local_#28950 : { base : int, offset : int }; var local_#28951 : int; var local_#28952 : int; var local_#30886 : int; var local_#28953 : int; var local_#28954 : int; var local_#28955 : int; var local_#28956 : int; var local_#28957 : int; var local_#28958 : int; var local_#28959 : int; var local_#28960 : int; var local_#28961 : int; var local_#28962 : int; var local_#28963 : int; var local_#32975_i : int; var local_#28964 : int; var local_#28965 : int; var local_#28966 : int; var local_#28967 : int; var local_#28968 : int; var local_#28969 : int; var local_#28970 : int; var local_#28971 : int; var local_#28972 : int; var local_#28973 : int; var local_#28974 : int; var local_#28975 : int; var local_#28976 : int; var local_#28977 : int; var local_#28978 : int; var local_#28979 : int; var local_#28980 : int; local_#6441_L := local_#6441_L_IN; goto CFG_37102; CFG_37102: assume true; goto CFG_44832; CFG_44832: assume true; local_#28914 := 2; goto CFG_48909; CFG_48909: assume true; call local_#28915 := routine_#33820_luaL_checkinteger(local_#6441_L,local_#28914); goto CFG_44833; CFG_44833: assume true; local_#32972_f := local_#28915; local_#28916 := 3; goto CFG_48910; CFG_48910: assume true; call local_#28917 := routine_#33820_luaL_checkinteger(local_#6441_L,local_#28916); goto CFG_44834; CFG_44834: assume true; local_#32971_e := local_#28917; local_#28918 := 4; goto CFG_48911; CFG_48911: assume true; call local_#28919 := routine_#33820_luaL_checkinteger(local_#6441_L,local_#28918); goto CFG_44835; CFG_44835: assume true; local_#32973_t := local_#28919; local_#28920 := 5; goto CFG_48912; CFG_48912: assume true; call local_#28921 := routine_#34000_lua_type(local_#6441_L,local_#28920); goto CFG_51333; CFG_51333: assume true; local_#28922 := 0; local_#28923 := (if local_#28921 <= local_#28922 then 1 else 0); local_#28924 := (if local_#28923 != 0 then 0 else 1); if (local_#28924 != 0) { goto CFG_41490; } else { goto CFG_41489; } CFG_41489: assume true; local_#30884 := 1; goto CFG_44836; CFG_41490: assume true; local_#30884 := 5; goto CFG_44836; CFG_44836: assume true; local_#32974_tt := local_#30884; local_#28925 := 1; local_#28926 := 1; goto CFG_48913; CFG_48913: assume true; call routine_#34641_checktab(local_#6441_L,local_#28925,local_#28926); goto CFG_44837; CFG_44837: assume true; local_#28927 := 2; goto CFG_48914; CFG_48914: assume true; call routine_#34641_checktab(local_#6441_L,local_#32974_tt,local_#28927); goto CFG_51334; CFG_51334: assume true; local_#28928 := (if local_#32971_e >= local_#32972_f then 1 else 0); if (local_#28928 != 0) { goto CFG_51335; } else { goto CFG_48920; } CFG_51335: assume true; local_#28929 := 0; local_#28930 := (if local_#32972_f > local_#28929 then 1 else 0); if (local_#28930 != 0) { goto CFG_41492; } else { goto CFG_51336; } CFG_51336: assume true; local_#28931 := 9223372036854775807; local_#28932 := local_#28931 + local_#32972_f; assert { :LIR "66883" } { :check "overflow" } { :finding_ids "0" } local_#28932 <= 9223372036854775807; local_#28933 := (if local_#32971_e < local_#28932 then 1 else 0); if (local_#28933 != 0) { goto CFG_41492; } else { goto CFG_44838; } CFG_44838: assume true; local_#28934 := 3; assume _memory[{ base : strlit_#70862!base, offset : strlit_#70862!offset + 25 }] == 0; local_#28935 := strlit_#70862; local_#28936 := { base : local_#28935!base, offset : local_#28935!offset + 0 * 1 }; assert { :LIR "64067" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48915; CFG_48915: assume true; call local_#28937 := routine_#33815_luaL_argerror(local_#6441_L,local_#28934,local_#28936); goto CFG_51337; CFG_51337: assume true; local_#28938 := local_#28937; if (local_#28938 != 0) { goto CFG_41492; } else { goto CFG_41491; } CFG_41491: assume true; local_#30885 := 0; goto CFG_51338; CFG_41492: assume true; local_#30885 := 1; goto CFG_51338; CFG_51338: assume true; local_#28939 := 0; assert { :LIR "62039" } { :check "overflow" } { :finding_ids "0" } true; local_#28940 := local_#32971_e - local_#32972_f; assert { :LIR "68194" } { :check "overflow" } { :finding_ids "0" } local_#28940 <= 9223372036854775807; local_#28941 := 1; local_#28942 := local_#28940 + local_#28941; assert { :LIR "66884" } { :check "overflow" } { :finding_ids "0" } local_#28942 <= 9223372036854775807; local_#32976_n := local_#28942; local_#28943 := 9223372036854775807; local_#28944 := local_#28943 - local_#32976_n; assert { :LIR "68195" } { :check "overflow" } { :finding_ids "0" } local_#28944 <= 9223372036854775807; local_#28945 := 1; local_#28946 := local_#28944 + local_#28945; assert { :LIR "66885" } { :check "overflow" } { :finding_ids "0" } local_#28946 <= 9223372036854775807; local_#28947 := (if local_#32973_t <= local_#28946 then 1 else 0); if (local_#28947 != 0) { goto CFG_41494; } else { goto CFG_44839; } CFG_44839: assume true; local_#28948 := 4; assume _memory[{ base : strlit_#70863!base, offset : strlit_#70863!offset + 23 }] == 0; local_#28949 := strlit_#70863; local_#28950 := { base : local_#28949!base, offset : local_#28949!offset + 0 * 1 }; assert { :LIR "64068" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48916; CFG_48916: assume true; call local_#28951 := routine_#33815_luaL_argerror(local_#6441_L,local_#28948,local_#28950); goto CFG_51339; CFG_51339: assume true; local_#28952 := local_#28951; if (local_#28952 != 0) { goto CFG_41494; } else { goto CFG_41493; } CFG_41493: assume true; local_#30886 := 0; goto CFG_51340; CFG_41494: assume true; local_#30886 := 1; goto CFG_51340; CFG_51340: assume true; local_#28953 := 0; assert { :LIR "62040" } { :check "overflow" } { :finding_ids "0" } true; local_#28954 := (if local_#32973_t > local_#32971_e then 1 else 0); if (local_#28954 != 0) { goto CFG_41870; } else { goto CFG_51341; } CFG_51341: assume true; local_#28955 := (if local_#32973_t <= local_#32972_f then 1 else 0); if (local_#28955 != 0) { goto CFG_41870; } else { goto CFG_51342; } CFG_51342: assume true; local_#28956 := 1; local_#28957 := (if local_#32974_tt != local_#28956 then 1 else 0); if (local_#28957 != 0) { goto CFG_44840; } else { goto CFG_41869; } CFG_44840: assume true; local_#28958 := 1; local_#28959 := 0; goto CFG_48917; CFG_48917: assume true; call local_#28960 := routine_#33922_lua_compare(local_#6441_L,local_#28958,local_#32974_tt,local_#28959); goto CFG_51343; CFG_51343: assume true; local_#28961 := (if local_#28960 != 0 then 0 else 1); if (local_#28961 != 0) { goto CFG_41870; } else { goto CFG_41869; } CFG_41869: assume true; local_#28962 := 1; local_#28963 := local_#32976_n - local_#28962; assert { :LIR "68196" } { :check "overflow" } { :finding_ids "0" } local_#28963 <= 9223372036854775807; local_#32975_i := local_#28963; goto CFG_51344; CFG_51344: assume true; local_#28964 := 0; local_#28965 := (if local_#32975_i >= local_#28964 then 1 else 0); if (local_#28965 != 0) { goto CFG_44841; } else { goto CFG_41495; } CFG_41495: assume true; goto CFG_41497; CFG_44841: assume true; local_#28966 := 1; local_#28967 := local_#32972_f + local_#32975_i; assert { :LIR "66886" } { :check "overflow" } { :finding_ids "0" } local_#28967 <= 9223372036854775807; goto CFG_48918; CFG_48918: assume true; call local_#28968 := routine_#33935_lua_geti(local_#6441_L,local_#28966,local_#28967); goto CFG_44842; CFG_44842: assume true; local_#28969 := local_#32973_t + local_#32975_i; assert { :LIR "66887" } { :check "overflow" } { :finding_ids "0" } local_#28969 <= 9223372036854775807; goto CFG_48919; CFG_48919: assume true; call routine_#33983_lua_seti(local_#6441_L,local_#32974_tt,local_#28969); goto CFG_45210; CFG_45210: assume true; local_#28970 := local_#32975_i; local_#28971 := 1; local_#32975_i := local_#28970 - local_#28971; assert { :LIR "68197" } { :check "overflow" } { :finding_ids "0" } local_#32975_i <= 9223372036854775807; local_#28972 := local_#28970; goto CFG_51344; CFG_41870: assume true; local_#32975_i := 0; goto CFG_51345; CFG_51345: assume true; local_#28973 := (if local_#32975_i < local_#32976_n then 1 else 0); if (local_#28973 != 0) { goto CFG_44843; } else { goto CFG_41496; } CFG_41496: assume true; goto CFG_41497; CFG_41497: assume true; goto CFG_48920; CFG_48920: assume true; call routine_#33967_lua_pushvalue(local_#6441_L,local_#32974_tt); goto CFG_39026; CFG_39026: assume true; local_#8297 := 1; goto CFG_38013; CFG_44843: assume true; local_#28974 := 1; local_#28975 := local_#32972_f + local_#32975_i; assert { :LIR "66888" } { :check "overflow" } { :finding_ids "0" } local_#28975 <= 9223372036854775807; goto CFG_48921; CFG_48921: assume true; call local_#28976 := routine_#33935_lua_geti(local_#6441_L,local_#28974,local_#28975); goto CFG_44844; CFG_44844: assume true; local_#28977 := local_#32973_t + local_#32975_i; assert { :LIR "66889" } { :check "overflow" } { :finding_ids "0" } local_#28977 <= 9223372036854775807; goto CFG_48922; CFG_48922: assume true; call routine_#33983_lua_seti(local_#6441_L,local_#32974_tt,local_#28977); goto CFG_45211; CFG_45211: assume true; local_#28978 := local_#32975_i; local_#28979 := 1; local_#32975_i := local_#28978 + local_#28979; assert { :LIR "66890" } { :check "overflow" } { :finding_ids "0" } local_#32975_i <= 9223372036854775807; local_#28980 := local_#28978; goto CFG_51345; CFG_38013: assume true; } procedure routine_#35115_tofile(local_#6442_L_IN : { base : int, offset : int }) returns (local_#8298 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6442_L : { base : int, offset : int }; var local_#28981 : int; var local_#28982 : { base : int, offset : int }; var local_#28983 : { base : int, offset : int }; var local_#28984 : { base : int, offset : int }; var local_#28985 : { base : int, offset : int }; var local_#32977_p : { base : int, offset : int }; var local_#28986 : { base : int, offset : int }; var local_#28987 : int; var local_#28988 : { base : int, offset : int }; var local_#28989 : { base : int, offset : int }; var local_#28990 : int; var local_#28991 : int; var local_#28992 : int; local_#6442_L := local_#6442_L_IN; goto CFG_37103; CFG_37103: assume true; goto CFG_44845; CFG_44845: assume true; local_#28981 := 1; assume _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 0 }] == 70 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 1 }] == 73 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 2 }] == 76 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 3 }] == 69 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 4 }] == 42 && _memory[{ base : strlit_#70446!base, offset : strlit_#70446!offset + 5 }] == 0; local_#28982 := strlit_#70446; local_#28983 := { base : local_#28982!base, offset : local_#28982!offset + 0 * 1 }; assert { :LIR "64069" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48923; CFG_48923: assume true; call local_#28984 := routine_#33826_luaL_checkudata(local_#6442_L,local_#28981,local_#28983); goto CFG_51346; CFG_51346: assume true; local_#28985 := local_#28984; assert { :LIR "62041" } { :check "overflow" } { :finding_ids "0" } true; local_#32977_p := local_#28985; local_#28986 := { base : 0, offset : 0 }; local_#28987 := (if _memory_ptr[{ base : local_#32977_p!base, offset : local_#32977_p!offset + 8 }] == local_#28986 then 1 else 0); if (local_#28987 != 0) { goto CFG_44846; } else { goto CFG_39027; } CFG_44846: assume true; assume _memory[{ base : strlit_#70865!base, offset : strlit_#70865!offset + 28 }] == 0; local_#28988 := strlit_#70865; local_#28989 := { base : local_#28988!base, offset : local_#28988!offset + 0 * 1 }; assert { :LIR "64070" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48924; CFG_48924: assume true; call local_#28990 := routine_#33828_luaL_error(local_#6442_L,local_#28989,{ base : 0, offset : 0 }); goto CFG_41498; CFG_41498: assume true; goto CFG_39027; CFG_39027: assume true; local_#28991 := 0; local_#28992 := 0; assert { :LIR "62042" } { :check "overflow" } { :finding_ids "0" } true; local_#8298 := _memory_ptr[{ base : local_#32977_p!base, offset : local_#32977_p!offset + 0 }]; goto CFG_38014; CFG_38014: assume true; } procedure routine_#35116_tonumeral(local_#6443_e_IN : { base : int, offset : int }, local_#6444_v_IN : { base : int, offset : int }) returns (local_#8299 : int) modifies _memory; { var local_#6443_e : { base : int, offset : int }; var local_#6444_v : { base : int, offset : int }; var local_#28993 : int; var local_#28994 : int; var local_#28995 : { base : int, offset : int }; var local_#32979_io : { base : int, offset : int }; var local_#28996 : { base : int, offset : int }; var local_#28997 : { base : int, offset : int }; var nondet_#0 : int; var local_#28998 : { base : int, offset : int }; var local_#32978_io : { base : int, offset : int }; var local_#28999 : { base : int, offset : int }; var local_#29000 : { base : int, offset : int }; local_#6443_e := local_#6443_e_IN; local_#6444_v := local_#6444_v_IN; goto CFG_37104; CFG_37104: assume true; goto CFG_51347; CFG_51347: assume true; local_#28993 := (if _memory[{ base : local_#6443_e!base, offset : local_#6443_e!offset + 16 }] != _memory[{ base : local_#6443_e!base, offset : local_#6443_e!offset + 20 }] then 1 else 0); if (local_#28993 != 0) { goto CFG_39031; } else { goto CFG_51577; } CFG_51577: assume true; local_#28994 := _memory[{ base : local_#6443_e!base, offset : local_#6443_e!offset + 0 }]; if (local_#28994 == 6) { goto CFG_51349; } if (local_#28994 == 5) { goto CFG_51348; } goto CFG_39028; CFG_39028: assume true; local_#8299 := 0; goto CFG_38015; CFG_51348: assume true; local_#28995 := local_#6444_v; if (local_#28995 != { base : 0, offset : 0 }) { goto CFG_41499; } else { goto CFG_39029; } CFG_41499: assume true; local_#32979_io := local_#6444_v; local_#28996 := { base : local_#6443_e!base, offset : local_#6443_e!offset + 8 }; local_#28997 := { base : local_#32979_io!base, offset : local_#32979_io!offset + 0 }; havoc nondet_#0; assume true; /* IR2BOOGIE: Type IRType491 not supported in generate_write_to_memory */ _memory[{ base : local_#32979_io!base, offset : local_#32979_io!offset + 8 }] := 3; goto CFG_39029; CFG_39029: assume true; local_#8299 := 1; goto CFG_38015; CFG_51349: assume true; local_#28998 := local_#6444_v; if (local_#28998 != { base : 0, offset : 0 }) { goto CFG_41500; } else { goto CFG_39030; } CFG_41500: assume true; local_#32978_io := local_#6444_v; local_#28999 := { base : local_#6443_e!base, offset : local_#6443_e!offset + 8 }; local_#29000 := { base : local_#32978_io!base, offset : local_#32978_io!offset + 0 }; _memory[local_#29000] := _memory[local_#28999]; _memory[{ base : local_#32978_io!base, offset : local_#32978_io!offset + 8 }] := 19; goto CFG_39030; CFG_39030: assume true; local_#8299 := 1; goto CFG_38015; CFG_39031: assume true; local_#8299 := 0; goto CFG_38015; CFG_38015: assume true; } procedure routine_#35117_traverseCclosure(local_#6445_g_IN : { base : int, offset : int }, local_#6446_cl_IN : { base : int, offset : int }) returns (local_#8300 : int) modifies _memory, _memory_ptr; { var local_#6445_g : { base : int, offset : int }; var local_#6446_cl : { base : int, offset : int }; var local_#32980_i : int; var local_#29001 : int; var local_#29002 : int; var local_#29003 : int; var local_#29004 : int; var local_#29005 : int; var local_#29006 : int; var local_#29007 : int; var local_#29008 : int; var local_#29009 : int; var local_#29010 : int; var local_#29011 : int; var local_#29012 : int; var local_#29013 : int; var local_#29014 : int; var local_#29015 : { base : int, offset : int }; var local_#29016 : { base : int, offset : int }; var local_#29017 : int; var local_#29018 : int; var local_#29019 : { base : int, offset : int }; var local_#29020 : { base : int, offset : int }; var local_#29021 : { base : int, offset : int }; var local_#29022 : { base : int, offset : int }; var local_#29023 : int; var local_#29024 : int; var local_#29025 : int; var local_#29026 : { base : int, offset : int }; var local_#29027 : { base : int, offset : int }; var local_#29028 : { base : int, offset : int }; var local_#29029 : { base : int, offset : int }; var local_#29030 : int; var local_#29031 : int; var local_#29032 : int; local_#6445_g := local_#6445_g_IN; local_#6446_cl := local_#6446_cl_IN; goto CFG_37105; CFG_37105: assume true; goto CFG_41871; CFG_41871: assume true; local_#32980_i := 0; goto CFG_51350; CFG_51350: assume true; local_#29001 := _memory[{ base : local_#6446_cl!base, offset : local_#6446_cl!offset + 10 }]; assert { :LIR "64071" } { :check "overflow" } { :finding_ids "0" } local_#29001 <= 2147483647; local_#29002 := (if local_#32980_i < local_#29001 then 1 else 0); if (local_#29002 != 0) { goto CFG_51351; } else { goto CFG_39032; } CFG_39032: assume true; local_#29003 := 48; local_#29004 := 16; local_#29005 := _memory[{ base : local_#6446_cl!base, offset : local_#6446_cl!offset + 10 }]; assert { :LIR "64072" } { :check "overflow" } { :finding_ids "0" } local_#29005 <= 2147483647; local_#29006 := 1; local_#29007 := local_#29005 - local_#29006; assert { :LIR "68198" } { :check "overflow" } { :finding_ids "0" } local_#29007 <= 2147483647; local_#29008 := ~uwrap64(local_#29007); assert { :LIR "64073" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29009 := ~uwrap64(local_#29004 * local_#29008); assert { :LIR "68614" } { :check "overflow" } { :finding_ids "0" } true; local_#29010 := local_#29009; assert { :LIR "62043" } { :check "overflow" } { :finding_ids "0" } local_#29010 <= 2147483647; local_#29011 := local_#29003 + local_#29010; assert { :LIR "66891" } { :check "overflow" } { :finding_ids "0" } local_#29011 <= 2147483647; local_#29012 := ~uwrap64(local_#29011); assert { :LIR "64074" } { :check "overflow" } { :finding_ids "0" } true; local_#8300 := local_#29012; goto CFG_38016; CFG_51351: assume true; local_#29013 := 0; local_#29014 := 0; assert { :LIR "62044" } { :check "overflow" } { :finding_ids "0" } true; local_#29015 := { base : local_#6446_cl!base, offset : local_#6446_cl!offset + 32 }; local_#29016 := { base : local_#29015!base, offset : local_#29015!offset + 0 * 16 + local_#32980_i * 16 }; local_#29017 := 64; local_#29018 := ~sand32(_memory[{ base : local_#29016!base, offset : local_#29016!offset + 8 }], local_#29017); if (local_#29018 != 0) { goto CFG_51352; } else { goto CFG_45212; } CFG_51352: assume true; local_#29019 := { base : local_#6446_cl!base, offset : local_#6446_cl!offset + 32 }; local_#29020 := { base : local_#29019!base, offset : local_#29019!offset + 0 * 16 + local_#32980_i * 16 }; local_#29021 := { base : local_#29020!base, offset : local_#29020!offset + 0 }; local_#29022 := _memory_ptr[local_#29021]; local_#29023 := _memory[{ base : local_#29022!base, offset : local_#29022!offset + 9 }]; assert { :LIR "64075" } { :check "overflow" } { :finding_ids "0" } local_#29023 <= 2147483647; local_#29024 := 3; local_#29025 := ~sand32(local_#29023, local_#29024); if (local_#29025 != 0) { goto CFG_44847; } else { goto CFG_45212; } CFG_44847: assume true; local_#29026 := { base : local_#6446_cl!base, offset : local_#6446_cl!offset + 32 }; local_#29027 := { base : local_#29026!base, offset : local_#29026!offset + 0 * 16 + local_#32980_i * 16 }; local_#29028 := { base : local_#29027!base, offset : local_#29027!offset + 0 }; local_#29029 := _memory_ptr[local_#29028]; goto CFG_48925; CFG_48925: assume true; call routine_#35023_reallymarkobject(local_#6445_g,local_#29029); goto CFG_41501; CFG_41501: assume true; goto CFG_45212; CFG_45212: assume true; local_#29030 := local_#32980_i; local_#29031 := 1; local_#32980_i := local_#29030 + local_#29031; assert { :LIR "66892" } { :check "overflow" } { :finding_ids "0" } local_#32980_i <= 2147483647; local_#29032 := local_#29030; goto CFG_51350; CFG_38016: assume true; } procedure routine_#35118_traverseLclosure(local_#6447_g_IN : { base : int, offset : int }, local_#6448_cl_IN : { base : int, offset : int }) returns (local_#8301 : int) modifies _memory, _memory_ptr; { var local_#6447_g : { base : int, offset : int }; var local_#6448_cl : { base : int, offset : int }; var local_#29033 : { base : int, offset : int }; var local_#29034 : { base : int, offset : int }; var local_#29035 : int; var local_#29036 : int; var local_#29037 : int; var local_#29038 : { base : int, offset : int }; var local_#29039 : { base : int, offset : int }; var local_#32981_i : int; var local_#29040 : int; var local_#29041 : int; var local_#29042 : int; var local_#29043 : int; var local_#29044 : int; var local_#29045 : int; var local_#29046 : int; var local_#29047 : int; var local_#29048 : int; var local_#29049 : int; var local_#29050 : int; var local_#29051 : int; var local_#29052 : { base : int, offset : int }; var local_#29053 : { base : int, offset : int }; var local_#32982_uv : { base : int, offset : int }; var local_#29054 : { base : int, offset : int }; var local_#29055 : int; var local_#29056 : { base : int, offset : int }; var local_#29057 : int; var local_#29058 : int; var local_#29059 : int; var local_#29060 : int; var local_#29061 : int; var local_#29062 : int; var local_#29063 : { base : int, offset : int }; var local_#29064 : int; var local_#29065 : int; var local_#29066 : { base : int, offset : int }; var local_#29067 : { base : int, offset : int }; var local_#29068 : { base : int, offset : int }; var local_#29069 : int; var local_#29070 : int; var local_#29071 : int; var local_#29072 : { base : int, offset : int }; var local_#29073 : { base : int, offset : int }; var local_#29074 : { base : int, offset : int }; var local_#29075 : int; var local_#29076 : { base : int, offset : int }; var local_#29077 : int; var local_#29078 : int; var local_#29079 : int; local_#6447_g := local_#6447_g_IN; local_#6448_cl := local_#6448_cl_IN; goto CFG_37106; CFG_37106: assume true; goto CFG_51353; CFG_51353: assume true; local_#29033 := _memory_ptr[{ base : local_#6448_cl!base, offset : local_#6448_cl!offset + 24 }]; if (local_#29033 != { base : 0, offset : 0 }) { goto CFG_51354; } else { goto CFG_41872; } CFG_51354: assume true; local_#29034 := _memory_ptr[{ base : local_#6448_cl!base, offset : local_#6448_cl!offset + 24 }]; local_#29035 := _memory[{ base : local_#29034!base, offset : local_#29034!offset + 9 }]; assert { :LIR "64076" } { :check "overflow" } { :finding_ids "0" } local_#29035 <= 2147483647; local_#29036 := 3; local_#29037 := ~sand32(local_#29035, local_#29036); if (local_#29037 != 0) { goto CFG_44848; } else { goto CFG_41503; } CFG_44848: assume true; local_#29038 := _memory_ptr[{ base : local_#6448_cl!base, offset : local_#6448_cl!offset + 24 }]; assert { :LIR "62045" } { :check "overflow" } { :finding_ids "0" } true; local_#29039 := { base : local_#29038!base, offset : local_#29038!offset + 0 }; goto CFG_48926; CFG_48926: assume true; call routine_#35023_reallymarkobject(local_#6447_g,local_#29039); goto CFG_41502; CFG_41502: assume true; goto CFG_41503; CFG_41503: assume true; goto CFG_41872; CFG_41872: assume true; local_#32981_i := 0; goto CFG_51355; CFG_51355: assume true; local_#29040 := _memory[{ base : local_#6448_cl!base, offset : local_#6448_cl!offset + 10 }]; assert { :LIR "64077" } { :check "overflow" } { :finding_ids "0" } local_#29040 <= 2147483647; local_#29041 := (if local_#32981_i < local_#29040 then 1 else 0); if (local_#29041 != 0) { goto CFG_51356; } else { goto CFG_39033; } CFG_39033: assume true; local_#29042 := 40; local_#29043 := 8; local_#29044 := _memory[{ base : local_#6448_cl!base, offset : local_#6448_cl!offset + 10 }]; assert { :LIR "64078" } { :check "overflow" } { :finding_ids "0" } local_#29044 <= 2147483647; local_#29045 := 1; local_#29046 := local_#29044 - local_#29045; assert { :LIR "68199" } { :check "overflow" } { :finding_ids "0" } local_#29046 <= 2147483647; local_#29047 := ~uwrap64(local_#29046); assert { :LIR "64079" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29048 := ~uwrap64(local_#29043 * local_#29047); assert { :LIR "68615" } { :check "overflow" } { :finding_ids "0" } true; local_#29049 := local_#29048; assert { :LIR "62046" } { :check "overflow" } { :finding_ids "0" } local_#29049 <= 2147483647; local_#29050 := local_#29042 + local_#29049; assert { :LIR "66893" } { :check "overflow" } { :finding_ids "0" } local_#29050 <= 2147483647; local_#29051 := ~uwrap64(local_#29050); assert { :LIR "64080" } { :check "overflow" } { :finding_ids "0" } true; local_#8301 := local_#29051; goto CFG_38017; CFG_51356: assume true; local_#29052 := { base : local_#6448_cl!base, offset : local_#6448_cl!offset + 32 }; local_#29053 := { base : local_#29052!base, offset : local_#29052!offset + 0 * 8 + local_#32981_i * 8 }; local_#32982_uv := _memory_ptr[local_#29053]; local_#29054 := { base : 0, offset : 0 }; local_#29055 := (if local_#32982_uv != local_#29054 then 1 else 0); if (local_#29055 != 0) { goto CFG_51357; } else { goto CFG_45213; } CFG_51357: assume true; local_#29056 := { base : local_#32982_uv!base, offset : local_#32982_uv!offset + 16 }; local_#29057 := (if _memory_ptr[{ base : local_#32982_uv!base, offset : local_#32982_uv!offset + 0 }] != local_#29056 then 1 else 0); if (local_#29057 != 0) { goto CFG_51358; } else { goto CFG_51359; } CFG_51358: assume true; local_#29058 := _memory[{ base : local_#6447_g!base, offset : local_#6447_g!offset + 85 }]; assert { :LIR "64081" } { :check "overflow" } { :finding_ids "0" } local_#29058 <= 2147483647; local_#29059 := 8; local_#29060 := (if local_#29058 != local_#29059 then 1 else 0); if (local_#29060 != 0) { goto CFG_41506; } else { goto CFG_51359; } CFG_51359: assume true; local_#29061 := 0; local_#29062 := 0; assert { :LIR "62047" } { :check "overflow" } { :finding_ids "0" } true; local_#29063 := _memory_ptr[{ base : local_#32982_uv!base, offset : local_#32982_uv!offset + 0 }]; local_#29064 := 64; local_#29065 := ~sand32(_memory[{ base : local_#29063!base, offset : local_#29063!offset + 8 }], local_#29064); if (local_#29065 != 0) { goto CFG_51360; } else { goto CFG_41505; } CFG_51360: assume true; local_#29066 := _memory_ptr[{ base : local_#32982_uv!base, offset : local_#32982_uv!offset + 0 }]; local_#29067 := { base : local_#29066!base, offset : local_#29066!offset + 0 }; local_#29068 := _memory_ptr[local_#29067]; local_#29069 := _memory[{ base : local_#29068!base, offset : local_#29068!offset + 9 }]; assert { :LIR "64082" } { :check "overflow" } { :finding_ids "0" } local_#29069 <= 2147483647; local_#29070 := 3; local_#29071 := ~sand32(local_#29069, local_#29070); if (local_#29071 != 0) { goto CFG_44849; } else { goto CFG_41505; } CFG_44849: assume true; local_#29072 := _memory_ptr[{ base : local_#32982_uv!base, offset : local_#32982_uv!offset + 0 }]; local_#29073 := { base : local_#29072!base, offset : local_#29072!offset + 0 }; local_#29074 := _memory_ptr[local_#29073]; goto CFG_48927; CFG_48927: assume true; call routine_#35023_reallymarkobject(local_#6447_g,local_#29074); goto CFG_41504; CFG_41504: assume true; goto CFG_41505; CFG_41505: assume true; goto CFG_41507; CFG_41506: assume true; local_#29075 := 1; local_#29076 := { base : local_#32982_uv!base, offset : local_#32982_uv!offset + 16 }; _memory[{ base : local_#29076!base, offset : local_#29076!offset + 8 }] := local_#29075; goto CFG_41507; CFG_41507: assume true; goto CFG_45213; CFG_45213: assume true; local_#29077 := local_#32981_i; local_#29078 := 1; local_#32981_i := local_#29077 + local_#29078; assert { :LIR "66894" } { :check "overflow" } { :finding_ids "0" } local_#32981_i <= 2147483647; local_#29079 := local_#29077; goto CFG_51355; CFG_38017: assume true; } procedure routine_#35119_traverseephemeron(local_#6449_g_IN : { base : int, offset : int }, local_#6450_h_IN : { base : int, offset : int }) returns (local_#8302 : int) modifies _memory, _memory_ptr; { var local_#6449_g : { base : int, offset : int }; var local_#6450_h : { base : int, offset : int }; var local_#32987_marked : int; var local_#32983_hasclears : int; var local_#32984_hasww : int; var local_#29080 : int; var local_#29081 : int; var local_#29082 : int; var local_#29083 : int; var local_#29084 : { base : int, offset : int }; var local_#32986_limit : { base : int, offset : int }; var local_#32985_i : int; var local_#29085 : int; var local_#29086 : int; var local_#29087 : { base : int, offset : int }; var local_#32988_n : { base : int, offset : int }; var local_#29088 : int; var local_#29089 : int; var local_#29090 : int; var local_#29091 : int; var local_#29092 : int; var local_#29093 : int; var local_#29094 : { base : int, offset : int }; var local_#29095 : { base : int, offset : int }; var local_#29096 : { base : int, offset : int }; var local_#29097 : { base : int, offset : int }; var local_#29098 : { base : int, offset : int }; var local_#29099 : { base : int, offset : int }; var local_#29100 : { base : int, offset : int }; var local_#29101 : { base : int, offset : int }; var local_#29102 : { base : int, offset : int }; var local_#29103 : { base : int, offset : int }; var local_#29104 : { base : int, offset : int }; var local_#29105 : { base : int, offset : int }; var local_#29106 : { base : int, offset : int }; var local_#29107 : { base : int, offset : int }; var local_#29108 : { base : int, offset : int }; var local_#29109 : int; var local_#29110 : int; var local_#29111 : int; var local_#29112 : int; var local_#29113 : { base : int, offset : int }; var local_#29114 : { base : int, offset : int }; var local_#29115 : int; var local_#29116 : int; var local_#29117 : int; var local_#29118 : int; var local_#29119 : { base : int, offset : int }; var local_#29120 : { base : int, offset : int }; var local_#29121 : int; var local_#29122 : int; var local_#29123 : int; var local_#29124 : { base : int, offset : int }; var local_#29125 : { base : int, offset : int }; var local_#29126 : int; var local_#29127 : int; var local_#29128 : { base : int, offset : int }; var local_#29129 : { base : int, offset : int }; var local_#29130 : int; var local_#29131 : int; var local_#29132 : int; var local_#29133 : { base : int, offset : int }; var local_#29134 : int; var local_#29135 : { base : int, offset : int }; var local_#29136 : { base : int, offset : int }; var local_#29137 : int; var local_#29138 : int; var local_#29139 : { base : int, offset : int }; var local_#29140 : { base : int, offset : int }; var local_#29141 : { base : int, offset : int }; var local_#29142 : int; var local_#29143 : int; var local_#29144 : int; var local_#29145 : { base : int, offset : int }; var local_#29146 : { base : int, offset : int }; var local_#29147 : { base : int, offset : int }; var local_#29148 : int; var local_#29149 : int; var local_#29150 : int; local_#6449_g := local_#6449_g_IN; local_#6450_h := local_#6450_h_IN; goto CFG_37107; CFG_37107: assume true; goto CFG_41873; CFG_41873: assume true; local_#32987_marked := 0; local_#32983_hasclears := 0; local_#32984_hasww := 0; local_#29080 := 1; local_#29081 := _memory[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 11 }]; assert { :LIR "64083" } { :check "overflow" } { :finding_ids "0" } local_#29081 <= 2147483647; local_#29082 := ~shl32(local_#29080, local_#29081); local_#29083 := ~uwrap64(local_#29082); assert { :LIR "62048" } { :check "overflow" } { :finding_ids "0" } true; local_#29084 := { base : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 24 }]!offset + local_#29083 * 32 }; local_#32986_limit := local_#29084; local_#32985_i := 0; goto CFG_51361; CFG_51361: assume true; local_#29085 := (if local_#32985_i < _memory[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 12 }] then 1 else 0); if (local_#29085 != 0) { goto CFG_51372; } else { goto CFG_41874; } CFG_41874: assume true; local_#29086 := 0; local_#29087 := { base : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 24 }]!offset + local_#29086 * 32 }; local_#32988_n := local_#29087; goto CFG_51362; CFG_51362: assume true; local_#29088 := (if local_#32988_n!offset < local_#32986_limit!offset then 1 else 0); if (local_#29088 != 0) { goto CFG_51366; } else { goto CFG_51363; } CFG_51363: assume true; local_#29089 := _memory[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 85 }]; assert { :LIR "64084" } { :check "overflow" } { :finding_ids "0" } local_#29089 <= 2147483647; local_#29090 := 0; local_#29091 := (if local_#29089 == local_#29090 then 1 else 0); if (local_#29091 != 0) { goto CFG_41512; } else { goto CFG_51364; } CFG_51364: assume true; local_#29092 := local_#32984_hasww; if (local_#29092 != 0) { goto CFG_41510; } else { goto CFG_51365; } CFG_51365: assume true; local_#29093 := local_#32983_hasclears; if (local_#29093 != 0) { goto CFG_41508; } else { goto CFG_41509; } CFG_41508: assume true; _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 48 }] := _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 144 }]; local_#29094 := _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 48 }]; local_#29095 := local_#6450_h; assert { :LIR "62049" } { :check "overflow" } { :finding_ids "0" } true; local_#29096 := { base : local_#29095!base, offset : local_#29095!offset + 0 }; _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 144 }] := local_#29096; local_#29097 := _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 144 }]; local_#29098 := local_#29097; goto CFG_41509; CFG_41509: assume true; goto CFG_41511; CFG_41510: assume true; _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 48 }] := _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 136 }]; local_#29099 := _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 48 }]; local_#29100 := local_#6450_h; assert { :LIR "62050" } { :check "overflow" } { :finding_ids "0" } true; local_#29101 := { base : local_#29100!base, offset : local_#29100!offset + 0 }; _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 136 }] := local_#29101; local_#29102 := _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 136 }]; local_#29103 := local_#29102; goto CFG_41511; CFG_41511: assume true; goto CFG_39034; CFG_41512: assume true; _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 48 }] := _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 120 }]; local_#29104 := _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 48 }]; local_#29105 := local_#6450_h; assert { :LIR "62051" } { :check "overflow" } { :finding_ids "0" } true; local_#29106 := { base : local_#29105!base, offset : local_#29105!offset + 0 }; _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 120 }] := local_#29106; local_#29107 := _memory_ptr[{ base : local_#6449_g!base, offset : local_#6449_g!offset + 120 }]; local_#29108 := local_#29107; goto CFG_39034; CFG_39034: assume true; local_#8302 := local_#32987_marked; goto CFG_38018; CFG_51366: assume true; local_#29109 := 0; local_#29110 := 0; assert { :LIR "62052" } { :check "overflow" } { :finding_ids "0" } true; local_#29111 := 0; local_#29112 := (if _memory[{ base : local_#32988_n!base, offset : local_#32988_n!offset + 8 }] == local_#29111 then 1 else 0); if (local_#29112 != 0) { goto CFG_48930; } else { goto CFG_44850; } CFG_44850: assume true; local_#29113 := { base : local_#32988_n!base, offset : local_#32988_n!offset + 16 }; local_#29114 := local_#29113; assert { :LIR "62053" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48928; CFG_48928: assume true; call local_#29115 := routine_#34834_iscleared(local_#6449_g,local_#29114); goto CFG_51367; CFG_51367: assume true; local_#29116 := local_#29115; if (local_#29116 != 0) { goto CFG_51370; } else { goto CFG_51368; } CFG_51368: assume true; local_#29117 := 64; local_#29118 := ~sand32(_memory[{ base : local_#32988_n!base, offset : local_#32988_n!offset + 8 }], local_#29117); if (local_#29118 != 0) { goto CFG_51369; } else { goto CFG_41514; } CFG_51369: assume true; local_#29119 := { base : local_#32988_n!base, offset : local_#32988_n!offset + 0 }; local_#29120 := _memory_ptr[local_#29119]; local_#29121 := _memory[{ base : local_#29120!base, offset : local_#29120!offset + 9 }]; assert { :LIR "64085" } { :check "overflow" } { :finding_ids "0" } local_#29121 <= 2147483647; local_#29122 := 3; local_#29123 := ~sand32(local_#29121, local_#29122); if (local_#29123 != 0) { goto CFG_44851; } else { goto CFG_41514; } CFG_44851: assume true; local_#32987_marked := 1; local_#29124 := { base : local_#32988_n!base, offset : local_#32988_n!offset + 0 }; local_#29125 := _memory_ptr[local_#29124]; goto CFG_48929; CFG_48929: assume true; call routine_#35023_reallymarkobject(local_#6449_g,local_#29125); goto CFG_41513; CFG_41513: assume true; goto CFG_41514; CFG_41514: assume true; goto CFG_41517; CFG_51370: assume true; local_#32983_hasclears := 1; local_#29126 := 64; local_#29127 := ~sand32(_memory[{ base : local_#32988_n!base, offset : local_#32988_n!offset + 8 }], local_#29126); if (local_#29127 != 0) { goto CFG_51371; } else { goto CFG_41516; } CFG_51371: assume true; local_#29128 := { base : local_#32988_n!base, offset : local_#32988_n!offset + 0 }; local_#29129 := _memory_ptr[local_#29128]; local_#29130 := _memory[{ base : local_#29129!base, offset : local_#29129!offset + 9 }]; assert { :LIR "64086" } { :check "overflow" } { :finding_ids "0" } local_#29130 <= 2147483647; local_#29131 := 3; local_#29132 := ~sand32(local_#29130, local_#29131); if (local_#29132 != 0) { goto CFG_41515; } else { goto CFG_41516; } CFG_41515: assume true; local_#32984_hasww := 1; goto CFG_41516; CFG_41516: assume true; goto CFG_41517; CFG_41517: assume true; goto CFG_45214; CFG_48930: assume true; call routine_#35029_removeentry(local_#32988_n); goto CFG_41518; CFG_41518: assume true; goto CFG_45214; CFG_45214: assume true; local_#29133 := local_#32988_n; local_#29134 := 1; local_#32988_n := { base : local_#29133!base, offset : local_#29133!offset + local_#29134 * 32 }; local_#29135 := local_#29133; goto CFG_51362; CFG_51372: assume true; local_#29136 := { base : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 16 }]!offset + local_#32985_i * 16 }; local_#29137 := 64; local_#29138 := ~sand32(_memory[{ base : local_#29136!base, offset : local_#29136!offset + 8 }], local_#29137); if (local_#29138 != 0) { goto CFG_51373; } else { goto CFG_45215; } CFG_51373: assume true; local_#29139 := { base : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 16 }]!offset + local_#32985_i * 16 }; local_#29140 := { base : local_#29139!base, offset : local_#29139!offset + 0 }; local_#29141 := _memory_ptr[local_#29140]; local_#29142 := _memory[{ base : local_#29141!base, offset : local_#29141!offset + 9 }]; assert { :LIR "64087" } { :check "overflow" } { :finding_ids "0" } local_#29142 <= 2147483647; local_#29143 := 3; local_#29144 := ~sand32(local_#29142, local_#29143); if (local_#29144 != 0) { goto CFG_44852; } else { goto CFG_45215; } CFG_44852: assume true; local_#32987_marked := 1; local_#29145 := { base : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6450_h!base, offset : local_#6450_h!offset + 16 }]!offset + local_#32985_i * 16 }; local_#29146 := { base : local_#29145!base, offset : local_#29145!offset + 0 }; local_#29147 := _memory_ptr[local_#29146]; goto CFG_48931; CFG_48931: assume true; call routine_#35023_reallymarkobject(local_#6449_g,local_#29147); goto CFG_41519; CFG_41519: assume true; goto CFG_45215; CFG_45215: assume true; local_#29148 := local_#32985_i; local_#29149 := 1; assume { :symbol "~uwrap32" } true; local_#32985_i := ~uwrap32(local_#29148 + local_#29149); assert { :LIR "66895" } { :check "overflow" } { :finding_ids "0" } true; local_#29150 := local_#29148; goto CFG_51361; CFG_38018: assume true; } procedure routine_#35120_traverseproto(local_#6451_g_IN : { base : int, offset : int }, local_#6452_f_IN : { base : int, offset : int }) returns (local_#8303 : int) modifies _memory, _memory_ptr; { var local_#6451_g : { base : int, offset : int }; var local_#6452_f : { base : int, offset : int }; var local_#29151 : { base : int, offset : int }; var local_#29152 : { base : int, offset : int }; var local_#29153 : int; var local_#29154 : int; var local_#29155 : int; var local_#29156 : { base : int, offset : int }; var local_#29157 : { base : int, offset : int }; var local_#29158 : int; var local_#29159 : int; var local_#29160 : int; var local_#29161 : { base : int, offset : int }; var local_#29162 : { base : int, offset : int }; var local_#32989_i : int; var local_#29163 : int; var local_#29164 : int; var local_#29165 : int; var local_#29166 : int; var local_#29167 : int; var local_#29168 : int; var local_#29169 : int; var local_#29170 : int; var local_#29171 : int; var local_#29172 : int; var local_#29173 : int; var local_#29174 : int; var local_#29175 : int; var local_#29176 : int; var local_#29177 : int; var local_#29178 : int; var local_#29179 : int; var local_#29180 : int; var local_#29181 : int; var local_#29182 : int; var local_#29183 : int; var local_#29184 : int; var local_#29185 : int; var local_#29186 : int; var local_#29187 : int; var local_#29188 : int; var local_#29189 : int; var local_#29190 : int; var local_#29191 : int; var local_#29192 : int; var local_#29193 : { base : int, offset : int }; var local_#29194 : { base : int, offset : int }; var local_#29195 : { base : int, offset : int }; var local_#29196 : { base : int, offset : int }; var local_#29197 : int; var local_#29198 : int; var local_#29199 : int; var local_#29200 : { base : int, offset : int }; var local_#29201 : { base : int, offset : int }; var local_#29202 : { base : int, offset : int }; var local_#29203 : int; var local_#29204 : int; var local_#29205 : int; var local_#29206 : { base : int, offset : int }; var local_#29207 : { base : int, offset : int }; var local_#29208 : { base : int, offset : int }; var local_#29209 : { base : int, offset : int }; var local_#29210 : int; var local_#29211 : int; var local_#29212 : int; var local_#29213 : { base : int, offset : int }; var local_#29214 : { base : int, offset : int }; var local_#29215 : { base : int, offset : int }; var local_#29216 : int; var local_#29217 : int; var local_#29218 : int; var local_#29219 : { base : int, offset : int }; var local_#29220 : { base : int, offset : int }; var local_#29221 : { base : int, offset : int }; var local_#29222 : { base : int, offset : int }; var local_#29223 : int; var local_#29224 : int; var local_#29225 : int; var local_#29226 : { base : int, offset : int }; var local_#29227 : { base : int, offset : int }; var local_#29228 : { base : int, offset : int }; var local_#29229 : int; var local_#29230 : int; var local_#29231 : int; var local_#29232 : int; var local_#29233 : int; var local_#29234 : { base : int, offset : int }; var local_#29235 : int; var local_#29236 : int; var local_#29237 : { base : int, offset : int }; var local_#29238 : { base : int, offset : int }; var local_#29239 : { base : int, offset : int }; var local_#29240 : int; var local_#29241 : int; var local_#29242 : int; var local_#29243 : { base : int, offset : int }; var local_#29244 : { base : int, offset : int }; var local_#29245 : { base : int, offset : int }; var local_#29246 : int; var local_#29247 : int; var local_#29248 : int; local_#6451_g := local_#6451_g_IN; local_#6452_f := local_#6452_f_IN; goto CFG_37108; CFG_37108: assume true; goto CFG_51374; CFG_51374: assume true; local_#29151 := _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 96 }]; if (local_#29151 != { base : 0, offset : 0 }) { goto CFG_51375; } else { goto CFG_51376; } CFG_51375: assume true; local_#29152 := _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 96 }]; local_#29153 := _memory[{ base : local_#29152!base, offset : local_#29152!offset + 9 }]; assert { :LIR "64088" } { :check "overflow" } { :finding_ids "0" } local_#29153 <= 2147483647; local_#29154 := 3; local_#29155 := ~sand32(local_#29153, local_#29154); if (local_#29155 != 0) { goto CFG_41520; } else { goto CFG_51376; } CFG_41520: assume true; _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 96 }] := { base : 0, offset : 0 }; goto CFG_51376; CFG_51376: assume true; local_#29156 := _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 104 }]; if (local_#29156 != { base : 0, offset : 0 }) { goto CFG_51377; } else { goto CFG_41875; } CFG_51377: assume true; local_#29157 := _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 104 }]; local_#29158 := _memory[{ base : local_#29157!base, offset : local_#29157!offset + 9 }]; assert { :LIR "64089" } { :check "overflow" } { :finding_ids "0" } local_#29158 <= 2147483647; local_#29159 := 3; local_#29160 := ~sand32(local_#29158, local_#29159); if (local_#29160 != 0) { goto CFG_44853; } else { goto CFG_41522; } CFG_44853: assume true; local_#29161 := _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 104 }]; assert { :LIR "62054" } { :check "overflow" } { :finding_ids "0" } true; local_#29162 := { base : local_#29161!base, offset : local_#29161!offset + 0 }; goto CFG_48932; CFG_48932: assume true; call routine_#35023_reallymarkobject(local_#6451_g,local_#29162); goto CFG_41521; CFG_41521: assume true; goto CFG_41522; CFG_41522: assume true; goto CFG_41875; CFG_41875: assume true; local_#32989_i := 0; goto CFG_51378; CFG_51378: assume true; local_#29163 := (if local_#32989_i < _memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 20 }] then 1 else 0); if (local_#29163 != 0) { goto CFG_51388; } else { goto CFG_41876; } CFG_41876: assume true; local_#32989_i := 0; goto CFG_51379; CFG_51379: assume true; local_#29164 := (if local_#32989_i < _memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 16 }] then 1 else 0); if (local_#29164 != 0) { goto CFG_51386; } else { goto CFG_41877; } CFG_41877: assume true; local_#32989_i := 0; goto CFG_51380; CFG_51380: assume true; local_#29165 := (if local_#32989_i < _memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 32 }] then 1 else 0); if (local_#29165 != 0) { goto CFG_51384; } else { goto CFG_41878; } CFG_41878: assume true; local_#32989_i := 0; goto CFG_51381; CFG_51381: assume true; local_#29166 := (if local_#32989_i < _memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 36 }] then 1 else 0); if (local_#29166 != 0) { goto CFG_51382; } else { goto CFG_39035; } CFG_39035: assume true; local_#29167 := 120; local_#29168 := 4; local_#29169 := ~uwrap64(_memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 24 }]); assert { :LIR "64090" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29170 := ~uwrap64(local_#29168 * local_#29169); assert { :LIR "68616" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29171 := ~uwrap64(local_#29167 + local_#29170); assert { :LIR "66896" } { :check "overflow" } { :finding_ids "0" } true; local_#29172 := 8; local_#29173 := ~uwrap64(_memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 32 }]); assert { :LIR "64091" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29174 := ~uwrap64(local_#29172 * local_#29173); assert { :LIR "68617" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29175 := ~uwrap64(local_#29171 + local_#29174); assert { :LIR "66897" } { :check "overflow" } { :finding_ids "0" } true; local_#29176 := 16; local_#29177 := ~uwrap64(_memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 20 }]); assert { :LIR "64092" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29178 := ~uwrap64(local_#29176 * local_#29177); assert { :LIR "68618" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29179 := ~uwrap64(local_#29175 + local_#29178); assert { :LIR "66898" } { :check "overflow" } { :finding_ids "0" } true; local_#29180 := 4; local_#29181 := ~uwrap64(_memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 28 }]); assert { :LIR "64093" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29182 := ~uwrap64(local_#29180 * local_#29181); assert { :LIR "68619" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29183 := ~uwrap64(local_#29179 + local_#29182); assert { :LIR "66899" } { :check "overflow" } { :finding_ids "0" } true; local_#29184 := 16; local_#29185 := ~uwrap64(_memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 36 }]); assert { :LIR "64094" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29186 := ~uwrap64(local_#29184 * local_#29185); assert { :LIR "68620" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29187 := ~uwrap64(local_#29183 + local_#29186); assert { :LIR "66900" } { :check "overflow" } { :finding_ids "0" } true; local_#29188 := 16; local_#29189 := ~uwrap64(_memory[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 16 }]); assert { :LIR "64095" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29190 := ~uwrap64(local_#29188 * local_#29189); assert { :LIR "68621" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29191 := ~uwrap64(local_#29187 + local_#29190); assert { :LIR "66901" } { :check "overflow" } { :finding_ids "0" } true; local_#29192 := local_#29191; assert { :LIR "64096" } { :check "overflow" } { :finding_ids "0" } local_#29192 <= 2147483647; local_#8303 := local_#29192; goto CFG_38019; CFG_51382: assume true; local_#29193 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 80 }]!offset + local_#32989_i * 16 }; local_#29194 := _memory_ptr[{ base : local_#29193!base, offset : local_#29193!offset + 0 }]; if (local_#29194 != { base : 0, offset : 0 }) { goto CFG_51383; } else { goto CFG_45216; } CFG_51383: assume true; local_#29195 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 80 }]!offset + local_#32989_i * 16 }; local_#29196 := _memory_ptr[{ base : local_#29195!base, offset : local_#29195!offset + 0 }]; local_#29197 := _memory[{ base : local_#29196!base, offset : local_#29196!offset + 9 }]; assert { :LIR "64097" } { :check "overflow" } { :finding_ids "0" } local_#29197 <= 2147483647; local_#29198 := 3; local_#29199 := ~sand32(local_#29197, local_#29198); if (local_#29199 != 0) { goto CFG_44854; } else { goto CFG_41524; } CFG_44854: assume true; local_#29200 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 80 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 80 }]!offset + local_#32989_i * 16 }; local_#29201 := _memory_ptr[{ base : local_#29200!base, offset : local_#29200!offset + 0 }]; assert { :LIR "62055" } { :check "overflow" } { :finding_ids "0" } true; local_#29202 := { base : local_#29201!base, offset : local_#29201!offset + 0 }; goto CFG_48933; CFG_48933: assume true; call routine_#35023_reallymarkobject(local_#6451_g,local_#29202); goto CFG_41523; CFG_41523: assume true; goto CFG_41524; CFG_41524: assume true; goto CFG_45216; CFG_45216: assume true; local_#29203 := local_#32989_i; local_#29204 := 1; local_#32989_i := local_#29203 + local_#29204; assert { :LIR "66902" } { :check "overflow" } { :finding_ids "0" } local_#32989_i <= 2147483647; local_#29205 := local_#29203; goto CFG_51381; CFG_51384: assume true; local_#29206 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 64 }]!offset + local_#32989_i * 8 }; local_#29207 := _memory_ptr[local_#29206]; if (local_#29207 != { base : 0, offset : 0 }) { goto CFG_51385; } else { goto CFG_45217; } CFG_51385: assume true; local_#29208 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 64 }]!offset + local_#32989_i * 8 }; local_#29209 := _memory_ptr[local_#29208]; local_#29210 := _memory[{ base : local_#29209!base, offset : local_#29209!offset + 9 }]; assert { :LIR "64098" } { :check "overflow" } { :finding_ids "0" } local_#29210 <= 2147483647; local_#29211 := 3; local_#29212 := ~sand32(local_#29210, local_#29211); if (local_#29212 != 0) { goto CFG_44855; } else { goto CFG_41526; } CFG_44855: assume true; local_#29213 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 64 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 64 }]!offset + local_#32989_i * 8 }; local_#29214 := _memory_ptr[local_#29213]; assert { :LIR "62056" } { :check "overflow" } { :finding_ids "0" } true; local_#29215 := { base : local_#29214!base, offset : local_#29214!offset + 0 }; goto CFG_48934; CFG_48934: assume true; call routine_#35023_reallymarkobject(local_#6451_g,local_#29215); goto CFG_41525; CFG_41525: assume true; goto CFG_41526; CFG_41526: assume true; goto CFG_45217; CFG_45217: assume true; local_#29216 := local_#32989_i; local_#29217 := 1; local_#32989_i := local_#29216 + local_#29217; assert { :LIR "66903" } { :check "overflow" } { :finding_ids "0" } local_#32989_i <= 2147483647; local_#29218 := local_#29216; goto CFG_51380; CFG_51386: assume true; local_#29219 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 88 }]!offset + local_#32989_i * 16 }; local_#29220 := _memory_ptr[{ base : local_#29219!base, offset : local_#29219!offset + 0 }]; if (local_#29220 != { base : 0, offset : 0 }) { goto CFG_51387; } else { goto CFG_45218; } CFG_51387: assume true; local_#29221 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 88 }]!offset + local_#32989_i * 16 }; local_#29222 := _memory_ptr[{ base : local_#29221!base, offset : local_#29221!offset + 0 }]; local_#29223 := _memory[{ base : local_#29222!base, offset : local_#29222!offset + 9 }]; assert { :LIR "64099" } { :check "overflow" } { :finding_ids "0" } local_#29223 <= 2147483647; local_#29224 := 3; local_#29225 := ~sand32(local_#29223, local_#29224); if (local_#29225 != 0) { goto CFG_44856; } else { goto CFG_41528; } CFG_44856: assume true; local_#29226 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 88 }]!offset + local_#32989_i * 16 }; local_#29227 := _memory_ptr[{ base : local_#29226!base, offset : local_#29226!offset + 0 }]; assert { :LIR "62057" } { :check "overflow" } { :finding_ids "0" } true; local_#29228 := { base : local_#29227!base, offset : local_#29227!offset + 0 }; goto CFG_48935; CFG_48935: assume true; call routine_#35023_reallymarkobject(local_#6451_g,local_#29228); goto CFG_41527; CFG_41527: assume true; goto CFG_41528; CFG_41528: assume true; goto CFG_45218; CFG_45218: assume true; local_#29229 := local_#32989_i; local_#29230 := 1; local_#32989_i := local_#29229 + local_#29230; assert { :LIR "66904" } { :check "overflow" } { :finding_ids "0" } local_#32989_i <= 2147483647; local_#29231 := local_#29229; goto CFG_51379; CFG_51388: assume true; local_#29232 := 0; local_#29233 := 0; assert { :LIR "62058" } { :check "overflow" } { :finding_ids "0" } true; local_#29234 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 48 }]!offset + local_#32989_i * 16 }; local_#29235 := 64; local_#29236 := ~sand32(_memory[{ base : local_#29234!base, offset : local_#29234!offset + 8 }], local_#29235); if (local_#29236 != 0) { goto CFG_51389; } else { goto CFG_45219; } CFG_51389: assume true; local_#29237 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 48 }]!offset + local_#32989_i * 16 }; local_#29238 := { base : local_#29237!base, offset : local_#29237!offset + 0 }; local_#29239 := _memory_ptr[local_#29238]; local_#29240 := _memory[{ base : local_#29239!base, offset : local_#29239!offset + 9 }]; assert { :LIR "64100" } { :check "overflow" } { :finding_ids "0" } local_#29240 <= 2147483647; local_#29241 := 3; local_#29242 := ~sand32(local_#29240, local_#29241); if (local_#29242 != 0) { goto CFG_44857; } else { goto CFG_45219; } CFG_44857: assume true; local_#29243 := { base : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 48 }]!base, offset : _memory_ptr[{ base : local_#6452_f!base, offset : local_#6452_f!offset + 48 }]!offset + local_#32989_i * 16 }; local_#29244 := { base : local_#29243!base, offset : local_#29243!offset + 0 }; local_#29245 := _memory_ptr[local_#29244]; goto CFG_48936; CFG_48936: assume true; call routine_#35023_reallymarkobject(local_#6451_g,local_#29245); goto CFG_41529; CFG_41529: assume true; goto CFG_45219; CFG_45219: assume true; local_#29246 := local_#32989_i; local_#29247 := 1; local_#32989_i := local_#29246 + local_#29247; assert { :LIR "66905" } { :check "overflow" } { :finding_ids "0" } local_#32989_i <= 2147483647; local_#29248 := local_#29246; goto CFG_51378; CFG_38019: assume true; } procedure routine_#35121_traversestrongtable(local_#6453_g_IN : { base : int, offset : int }, local_#6454_h_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6453_g : { base : int, offset : int }; var local_#6454_h : { base : int, offset : int }; var local_#29249 : int; var local_#29250 : int; var local_#29251 : int; var local_#29252 : int; var local_#29253 : { base : int, offset : int }; var local_#32991_limit : { base : int, offset : int }; var local_#32990_i : int; var local_#29254 : int; var local_#29255 : int; var local_#29256 : { base : int, offset : int }; var local_#32992_n : { base : int, offset : int }; var local_#29257 : int; var local_#29258 : int; var local_#29259 : int; var local_#29260 : int; var local_#29261 : int; var local_#29262 : int; var local_#29263 : int; var local_#29264 : int; var local_#29265 : int; var local_#29266 : { base : int, offset : int }; var local_#29267 : { base : int, offset : int }; var local_#29268 : int; var local_#29269 : int; var local_#29270 : { base : int, offset : int }; var local_#29271 : { base : int, offset : int }; var local_#29272 : { base : int, offset : int }; var local_#29273 : { base : int, offset : int }; var local_#29274 : int; var local_#29275 : int; var local_#29276 : int; var local_#29277 : { base : int, offset : int }; var local_#29278 : { base : int, offset : int }; var local_#29279 : { base : int, offset : int }; var local_#29280 : { base : int, offset : int }; var local_#29281 : int; var local_#29282 : int; var local_#29283 : int; var local_#29284 : int; var local_#29285 : { base : int, offset : int }; var local_#29286 : { base : int, offset : int }; var local_#29287 : int; var local_#29288 : int; var local_#29289 : int; var local_#29290 : { base : int, offset : int }; var local_#29291 : { base : int, offset : int }; var local_#29292 : { base : int, offset : int }; var local_#29293 : int; var local_#29294 : { base : int, offset : int }; var local_#29295 : int; var local_#29296 : int; var local_#29297 : { base : int, offset : int }; var local_#29298 : int; var local_#29299 : int; var local_#29300 : { base : int, offset : int }; var local_#29301 : { base : int, offset : int }; var local_#29302 : { base : int, offset : int }; var local_#29303 : int; var local_#29304 : int; var local_#29305 : int; var local_#29306 : { base : int, offset : int }; var local_#29307 : { base : int, offset : int }; var local_#29308 : { base : int, offset : int }; var local_#29309 : int; var local_#29310 : int; var local_#29311 : int; local_#6453_g := local_#6453_g_IN; local_#6454_h := local_#6454_h_IN; goto CFG_37109; CFG_37109: assume true; goto CFG_41879; CFG_41879: assume true; local_#29249 := 1; local_#29250 := _memory[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 11 }]; assert { :LIR "64101" } { :check "overflow" } { :finding_ids "0" } local_#29250 <= 2147483647; local_#29251 := ~shl32(local_#29249, local_#29250); local_#29252 := ~uwrap64(local_#29251); assert { :LIR "62059" } { :check "overflow" } { :finding_ids "0" } true; local_#29253 := { base : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 24 }]!offset + local_#29252 * 32 }; local_#32991_limit := local_#29253; local_#32990_i := 0; goto CFG_51390; CFG_51390: assume true; local_#29254 := (if local_#32990_i < _memory[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 12 }] then 1 else 0); if (local_#29254 != 0) { goto CFG_51397; } else { goto CFG_41880; } CFG_41880: assume true; local_#29255 := 0; local_#29256 := { base : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 24 }]!offset + local_#29255 * 32 }; local_#32992_n := local_#29256; goto CFG_51391; CFG_51391: assume true; local_#29257 := (if local_#32992_n!offset < local_#32991_limit!offset then 1 else 0); if (local_#29257 != 0) { goto CFG_51392; } else { goto CFG_39444; } CFG_39444: assume true; goto CFG_38020; CFG_51392: assume true; local_#29258 := 0; local_#29259 := 0; assert { :LIR "62060" } { :check "overflow" } { :finding_ids "0" } true; local_#29260 := 0; local_#29261 := (if _memory[{ base : local_#32992_n!base, offset : local_#32992_n!offset + 8 }] == local_#29260 then 1 else 0); if (local_#29261 != 0) { goto CFG_48939; } else { goto CFG_51393; } CFG_51393: assume true; local_#29262 := 0; local_#29263 := 0; assert { :LIR "62061" } { :check "overflow" } { :finding_ids "0" } true; local_#29264 := 0; local_#29265 := 0; assert { :LIR "62062" } { :check "overflow" } { :finding_ids "0" } true; local_#29266 := { base : local_#32992_n!base, offset : local_#32992_n!offset + 16 }; local_#29267 := local_#29266; assert { :LIR "62063" } { :check "overflow" } { :finding_ids "0" } true; local_#29268 := 64; local_#29269 := ~sand32(_memory[{ base : local_#29267!base, offset : local_#29267!offset + 8 }], local_#29268); if (local_#29269 != 0) { goto CFG_51394; } else { goto CFG_51395; } CFG_51394: assume true; local_#29270 := { base : local_#32992_n!base, offset : local_#32992_n!offset + 16 }; local_#29271 := local_#29270; assert { :LIR "62064" } { :check "overflow" } { :finding_ids "0" } true; local_#29272 := { base : local_#29271!base, offset : local_#29271!offset + 0 }; local_#29273 := _memory_ptr[local_#29272]; local_#29274 := _memory[{ base : local_#29273!base, offset : local_#29273!offset + 9 }]; assert { :LIR "64102" } { :check "overflow" } { :finding_ids "0" } local_#29274 <= 2147483647; local_#29275 := 3; local_#29276 := ~sand32(local_#29274, local_#29275); if (local_#29276 != 0) { goto CFG_44858; } else { goto CFG_51395; } CFG_44858: assume true; local_#29277 := { base : local_#32992_n!base, offset : local_#32992_n!offset + 16 }; local_#29278 := local_#29277; assert { :LIR "62065" } { :check "overflow" } { :finding_ids "0" } true; local_#29279 := { base : local_#29278!base, offset : local_#29278!offset + 0 }; local_#29280 := _memory_ptr[local_#29279]; goto CFG_48937; CFG_48937: assume true; call routine_#35023_reallymarkobject(local_#6453_g,local_#29280); goto CFG_41530; CFG_41530: assume true; goto CFG_51395; CFG_51395: assume true; local_#29281 := 0; local_#29282 := 0; assert { :LIR "62066" } { :check "overflow" } { :finding_ids "0" } true; local_#29283 := 64; local_#29284 := ~sand32(_memory[{ base : local_#32992_n!base, offset : local_#32992_n!offset + 8 }], local_#29283); if (local_#29284 != 0) { goto CFG_51396; } else { goto CFG_41532; } CFG_51396: assume true; local_#29285 := { base : local_#32992_n!base, offset : local_#32992_n!offset + 0 }; local_#29286 := _memory_ptr[local_#29285]; local_#29287 := _memory[{ base : local_#29286!base, offset : local_#29286!offset + 9 }]; assert { :LIR "64103" } { :check "overflow" } { :finding_ids "0" } local_#29287 <= 2147483647; local_#29288 := 3; local_#29289 := ~sand32(local_#29287, local_#29288); if (local_#29289 != 0) { goto CFG_44859; } else { goto CFG_41532; } CFG_44859: assume true; local_#29290 := { base : local_#32992_n!base, offset : local_#32992_n!offset + 0 }; local_#29291 := _memory_ptr[local_#29290]; goto CFG_48938; CFG_48938: assume true; call routine_#35023_reallymarkobject(local_#6453_g,local_#29291); goto CFG_41531; CFG_41531: assume true; goto CFG_41532; CFG_41532: assume true; goto CFG_45220; CFG_48939: assume true; call routine_#35029_removeentry(local_#32992_n); goto CFG_41533; CFG_41533: assume true; goto CFG_45220; CFG_45220: assume true; local_#29292 := local_#32992_n; local_#29293 := 1; local_#32992_n := { base : local_#29292!base, offset : local_#29292!offset + local_#29293 * 32 }; local_#29294 := local_#29292; goto CFG_51391; CFG_51397: assume true; local_#29295 := 0; local_#29296 := 0; assert { :LIR "62067" } { :check "overflow" } { :finding_ids "0" } true; local_#29297 := { base : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 16 }]!offset + local_#32990_i * 16 }; local_#29298 := 64; local_#29299 := ~sand32(_memory[{ base : local_#29297!base, offset : local_#29297!offset + 8 }], local_#29298); if (local_#29299 != 0) { goto CFG_51398; } else { goto CFG_45221; } CFG_51398: assume true; local_#29300 := { base : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 16 }]!offset + local_#32990_i * 16 }; local_#29301 := { base : local_#29300!base, offset : local_#29300!offset + 0 }; local_#29302 := _memory_ptr[local_#29301]; local_#29303 := _memory[{ base : local_#29302!base, offset : local_#29302!offset + 9 }]; assert { :LIR "64104" } { :check "overflow" } { :finding_ids "0" } local_#29303 <= 2147483647; local_#29304 := 3; local_#29305 := ~sand32(local_#29303, local_#29304); if (local_#29305 != 0) { goto CFG_44860; } else { goto CFG_45221; } CFG_44860: assume true; local_#29306 := { base : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 16 }]!base, offset : _memory_ptr[{ base : local_#6454_h!base, offset : local_#6454_h!offset + 16 }]!offset + local_#32990_i * 16 }; local_#29307 := { base : local_#29306!base, offset : local_#29306!offset + 0 }; local_#29308 := _memory_ptr[local_#29307]; goto CFG_48940; CFG_48940: assume true; call routine_#35023_reallymarkobject(local_#6453_g,local_#29308); goto CFG_41534; CFG_41534: assume true; goto CFG_45221; CFG_45221: assume true; local_#29309 := local_#32990_i; local_#29310 := 1; assume { :symbol "~uwrap32" } true; local_#32990_i := ~uwrap32(local_#29309 + local_#29310); assert { :LIR "66906" } { :check "overflow" } { :finding_ids "0" } true; local_#29311 := local_#29309; goto CFG_51390; CFG_38020: assume true; } procedure routine_#35122_traversetable(local_#6455_g_IN : { base : int, offset : int }, local_#6456_h_IN : { base : int, offset : int }) returns (local_#8304 : int) modifies _memory, _memory_ptr; { var local_#6455_g : { base : int, offset : int }; var local_#6456_h : { base : int, offset : int }; var local_#29312 : { base : int, offset : int }; var local_#29313 : int; var local_#29314 : { base : int, offset : int }; var local_#29315 : int; var local_#29316 : int; var local_#29317 : int; var local_#29318 : { base : int, offset : int }; var local_#29319 : int; var local_#29320 : { base : int, offset : int }; var local_#29321 : int; var local_#29322 : { base : int, offset : int }; var local_#29323 : { base : int, offset : int }; var local_#29324 : { base : int, offset : int }; var local_#30887 : { base : int, offset : int }; var local_#30888 : { base : int, offset : int }; var local_#32993_mode : { base : int, offset : int }; var local_#29325 : { base : int, offset : int }; var local_#29326 : { base : int, offset : int }; var local_#29327 : int; var local_#29328 : int; var local_#29329 : int; var local_#29330 : { base : int, offset : int }; var local_#29331 : { base : int, offset : int }; var local_#29332 : { base : int, offset : int }; var local_#29333 : int; var local_#29334 : int; var local_#29335 : int; var local_#29336 : int; var local_#29337 : { base : int, offset : int }; var local_#29338 : { base : int, offset : int }; var local_#29339 : { base : int, offset : int }; var local_#29340 : { base : int, offset : int }; var local_#29341 : int; var local_#29342 : { base : int, offset : int }; var local_#29343 : { base : int, offset : int }; var local_#29344 : int; var local_#29345 : { base : int, offset : int }; var local_#29346 : { base : int, offset : int }; var local_#32994_weakkey : { base : int, offset : int }; var local_#29347 : { base : int, offset : int }; var local_#29348 : { base : int, offset : int }; var local_#29349 : { base : int, offset : int }; var local_#29350 : { base : int, offset : int }; var local_#29351 : { base : int, offset : int }; var local_#29352 : int; var local_#29353 : { base : int, offset : int }; var local_#29354 : { base : int, offset : int }; var local_#29355 : int; var local_#29356 : { base : int, offset : int }; var local_#29357 : { base : int, offset : int }; var local_#32995_weakvalue : { base : int, offset : int }; var local_#29358 : { base : int, offset : int }; var local_#29359 : { base : int, offset : int }; var local_#29360 : { base : int, offset : int }; var local_#29361 : { base : int, offset : int }; var local_#30889 : int; var local_#29362 : int; var local_#29363 : int; var local_#29364 : int; var local_#29365 : int; var local_#29366 : int; var local_#29367 : int; var local_#29368 : int; var local_#29369 : { base : int, offset : int }; var local_#29370 : { base : int, offset : int }; var local_#29371 : { base : int, offset : int }; var local_#29372 : { base : int, offset : int }; var local_#29373 : { base : int, offset : int }; var local_#29374 : int; var local_#29375 : int; var local_#29376 : int; var local_#29377 : int; var local_#29378 : int; var local_#29379 : int; var local_#29380 : int; var local_#29381 : { base : int, offset : int }; var local_#29382 : int; var local_#29383 : int; var local_#29384 : int; var local_#29385 : int; var local_#30890 : int; var local_#29386 : int; var local_#29387 : int; var local_#29388 : int; local_#6455_g := local_#6455_g_IN; local_#6456_h := local_#6456_h_IN; goto CFG_37110; CFG_37110: assume true; goto CFG_51399; CFG_51399: assume true; local_#29312 := { base : 0, offset : 0 }; local_#29313 := (if _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 40 }] == local_#29312 then 1 else 0); if (local_#29313 != 0) { goto CFG_41538; } else { goto CFG_51400; } CFG_51400: assume true; local_#29314 := _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 40 }]; local_#29315 := ~uwrap32(_memory[{ base : local_#29314!base, offset : local_#29314!offset + 10 }]); assert { :LIR "64105" } { :check "overflow" } { :finding_ids "0" } true; local_#29316 := 8; local_#29317 := ~uand32(local_#29315, local_#29316); if (local_#29317 != 0) { goto CFG_41536; } else { goto CFG_44861; } CFG_44861: assume true; local_#29318 := _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 40 }]; local_#29319 := 3; local_#29320 := { base : local_#6455_g!base, offset : local_#6455_g!offset + 224 }; local_#29321 := 3; local_#29322 := { base : local_#29320!base, offset : local_#29320!offset + 0 * 8 + local_#29321 * 8 }; local_#29323 := _memory_ptr[local_#29322]; goto CFG_48941; CFG_48941: assume true; call local_#29324 := routine_#33884_luaT_gettm(local_#29318,local_#29319,local_#29323); goto CFG_41535; CFG_41535: assume true; local_#30887 := local_#29324; goto CFG_41537; CFG_41536: assume true; local_#30887 := { base : 0, offset : 0 }; goto CFG_41537; CFG_41537: assume true; local_#30888 := local_#30887; goto CFG_51401; CFG_41538: assume true; local_#30888 := { base : 0, offset : 0 }; goto CFG_51401; CFG_51401: assume true; local_#32993_mode := local_#30888; local_#29325 := _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 40 }]; if (local_#29325 != { base : 0, offset : 0 }) { goto CFG_51402; } else { goto CFG_51403; } CFG_51402: assume true; local_#29326 := _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 40 }]; local_#29327 := _memory[{ base : local_#29326!base, offset : local_#29326!offset + 9 }]; assert { :LIR "64106" } { :check "overflow" } { :finding_ids "0" } local_#29327 <= 2147483647; local_#29328 := 3; local_#29329 := ~sand32(local_#29327, local_#29328); if (local_#29329 != 0) { goto CFG_44862; } else { goto CFG_41540; } CFG_44862: assume true; local_#29330 := _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 40 }]; assert { :LIR "62068" } { :check "overflow" } { :finding_ids "0" } true; local_#29331 := { base : local_#29330!base, offset : local_#29330!offset + 0 }; goto CFG_48942; CFG_48942: assume true; call routine_#35023_reallymarkobject(local_#6455_g,local_#29331); goto CFG_41539; CFG_41539: assume true; goto CFG_41540; CFG_41540: assume true; goto CFG_51403; CFG_51403: assume true; local_#29332 := local_#32993_mode; if (local_#29332 != { base : 0, offset : 0 }) { goto CFG_51404; } else { goto CFG_48945; } CFG_51404: assume true; local_#29333 := 15; local_#29334 := ~sand32(_memory[{ base : local_#32993_mode!base, offset : local_#32993_mode!offset + 8 }], local_#29333); local_#29335 := 4; local_#29336 := (if local_#29334 == local_#29335 then 1 else 0); if (local_#29336 != 0) { goto CFG_44863; } else { goto CFG_48945; } CFG_44863: assume true; local_#29337 := { base : local_#32993_mode!base, offset : local_#32993_mode!offset + 0 }; local_#29338 := _memory_ptr[local_#29337]; assert { :LIR "62069" } { :check "overflow" } { :finding_ids "0" } true; local_#29339 := { base : local_#29338!base, offset : local_#29338!offset + 0 }; local_#29340 := local_#29339; assert { :LIR "62070" } { :check "overflow" } { :finding_ids "0" } true; local_#29341 := 24; local_#29342 := { base : local_#29340!base, offset : local_#29340!offset + local_#29341 * 1 }; local_#29343 := local_#29342; assert { :LIR "64107" } { :check "overflow" } { :finding_ids "0" } true; local_#29344 := 107; goto CFG_48943; CFG_48943: assume true; call local_#29345 := routine_#34445_strchr(local_#29343,local_#29344); goto CFG_44864; CFG_44864: assume true; local_#29346 := local_#29345; assert { :LIR "64108" } { :check "overflow" } { :finding_ids "0" } true; local_#32994_weakkey := local_#29346; local_#29347 := local_#32994_weakkey; local_#29348 := { base : local_#32993_mode!base, offset : local_#32993_mode!offset + 0 }; local_#29349 := _memory_ptr[local_#29348]; assert { :LIR "62071" } { :check "overflow" } { :finding_ids "0" } true; local_#29350 := { base : local_#29349!base, offset : local_#29349!offset + 0 }; local_#29351 := local_#29350; assert { :LIR "62072" } { :check "overflow" } { :finding_ids "0" } true; local_#29352 := 24; local_#29353 := { base : local_#29351!base, offset : local_#29351!offset + local_#29352 * 1 }; local_#29354 := local_#29353; assert { :LIR "64109" } { :check "overflow" } { :finding_ids "0" } true; local_#29355 := 118; goto CFG_48944; CFG_48944: assume true; call local_#29356 := routine_#34445_strchr(local_#29354,local_#29355); goto CFG_51405; CFG_51405: assume true; local_#29357 := local_#29356; assert { :LIR "64110" } { :check "overflow" } { :finding_ids "0" } true; local_#32995_weakvalue := local_#29357; local_#29358 := local_#32995_weakvalue; local_#29359 := local_#29358; local_#29360 := local_#32994_weakkey; if (local_#29360 != { base : 0, offset : 0 }) { goto CFG_41542; } else { goto CFG_51406; } CFG_51406: assume true; local_#29361 := local_#32995_weakvalue; if (local_#29361 != { base : 0, offset : 0 }) { goto CFG_41542; } else { goto CFG_41541; } CFG_41541: assume true; local_#30889 := 0; goto CFG_51407; CFG_41542: assume true; local_#30889 := 1; goto CFG_51407; CFG_51407: assume true; local_#29362 := local_#30889; local_#29363 := local_#29362; if (local_#29363 != 0) { goto CFG_51408; } else { goto CFG_48945; } CFG_48945: assume true; call routine_#35121_traversestrongtable(local_#6455_g,local_#6456_h); goto CFG_41543; CFG_41543: assume true; goto CFG_51410; CFG_51408: assume true; local_#29364 := 251; local_#29365 := _memory[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 9 }]; assert { :LIR "64111" } { :check "overflow" } { :finding_ids "0" } local_#29365 <= 2147483647; local_#29366 := ~sand32(local_#29365, local_#29364); _memory[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 9 }] := ~uwrap8(local_#29366); assert { :LIR "64112" } { :check "overflow" } { :finding_ids "0" } true; local_#29367 := (if local_#32994_weakkey != { base : 0, offset : 0 } then 0 else 1); if (local_#29367 != 0) { goto CFG_48947; } else { goto CFG_51409; } CFG_51409: assume true; local_#29368 := (if local_#32995_weakvalue != { base : 0, offset : 0 } then 0 else 1); if (local_#29368 != 0) { goto CFG_48946; } else { goto CFG_41544; } CFG_41544: assume true; _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 48 }] := _memory_ptr[{ base : local_#6455_g!base, offset : local_#6455_g!offset + 144 }]; local_#29369 := _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 48 }]; local_#29370 := local_#6456_h; assert { :LIR "62073" } { :check "overflow" } { :finding_ids "0" } true; local_#29371 := { base : local_#29370!base, offset : local_#29370!offset + 0 }; _memory_ptr[{ base : local_#6455_g!base, offset : local_#6455_g!offset + 144 }] := local_#29371; local_#29372 := _memory_ptr[{ base : local_#6455_g!base, offset : local_#6455_g!offset + 144 }]; local_#29373 := local_#29372; goto CFG_41546; CFG_48946: assume true; call local_#29374 := routine_#35119_traverseephemeron(local_#6455_g,local_#6456_h); goto CFG_41545; CFG_41545: assume true; goto CFG_41546; CFG_41546: assume true; goto CFG_41548; CFG_48947: assume true; call routine_#35124_traverseweakvalue(local_#6455_g,local_#6456_h); goto CFG_41547; CFG_41547: assume true; goto CFG_41548; CFG_41548: assume true; goto CFG_51410; CFG_51410: assume true; local_#29375 := 56; local_#29376 := 16; local_#29377 := ~uwrap64(_memory[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 12 }]); assert { :LIR "64113" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29378 := ~uwrap64(local_#29376 * local_#29377); assert { :LIR "68622" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29379 := ~uwrap64(local_#29375 + local_#29378); assert { :LIR "66907" } { :check "overflow" } { :finding_ids "0" } true; local_#29380 := 32; local_#29381 := { base : 0, offset : 0 }; local_#29382 := (if _memory_ptr[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 32 }] == local_#29381 then 1 else 0); if (local_#29382 != 0) { goto CFG_41550; } else { goto CFG_41549; } CFG_41549: assume true; local_#29383 := 1; local_#29384 := _memory[{ base : local_#6456_h!base, offset : local_#6456_h!offset + 11 }]; assert { :LIR "64114" } { :check "overflow" } { :finding_ids "0" } local_#29384 <= 2147483647; local_#29385 := ~shl32(local_#29383, local_#29384); local_#30890 := local_#29385; goto CFG_39036; CFG_41550: assume true; local_#30890 := 0; goto CFG_39036; CFG_39036: assume true; local_#29386 := ~uwrap64(local_#30890); assert { :LIR "62074" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29387 := ~uwrap64(local_#29380 * local_#29386); assert { :LIR "68623" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29388 := ~uwrap64(local_#29379 + local_#29387); assert { :LIR "66908" } { :check "overflow" } { :finding_ids "0" } true; local_#8304 := local_#29388; goto CFG_38021; CFG_38021: assume true; } procedure routine_#35123_traversethread(local_#6457_g_IN : { base : int, offset : int }, local_#6458_th_IN : { base : int, offset : int }) returns (local_#8305 : int) modifies _memory, _memory_ptr, _valid; { var local_#6457_g : { base : int, offset : int }; var local_#6458_th : { base : int, offset : int }; var local_#32996_o : { base : int, offset : int }; var local_#29389 : { base : int, offset : int }; var local_#29390 : int; var local_#29391 : int; var local_#29392 : int; var local_#29393 : int; var local_#29394 : int; var local_#29395 : int; var local_#29396 : int; var local_#29397 : int; var local_#29398 : int; var local_#29399 : int; var local_#29400 : { base : int, offset : int }; var local_#32997_lim : { base : int, offset : int }; var local_#29401 : int; var local_#29402 : int; var local_#29403 : int; var local_#29404 : { base : int, offset : int }; var local_#29405 : int; var local_#29406 : int; var local_#29407 : int; var local_#29408 : int; var local_#29409 : int; var local_#29410 : int; var local_#29411 : int; var local_#29412 : int; var local_#29413 : int; var local_#29414 : int; var local_#29415 : { base : int, offset : int }; var local_#29416 : int; var local_#29417 : { base : int, offset : int }; var local_#29418 : int; var local_#29419 : int; var local_#29420 : int; var local_#29421 : int; var local_#29422 : { base : int, offset : int }; var local_#29423 : { base : int, offset : int }; var local_#29424 : int; var local_#29425 : int; var local_#29426 : int; var local_#29427 : { base : int, offset : int }; var local_#29428 : { base : int, offset : int }; var local_#29429 : { base : int, offset : int }; var local_#29430 : int; var local_#29431 : { base : int, offset : int }; local_#6457_g := local_#6457_g_IN; local_#6458_th := local_#6458_th_IN; goto CFG_37111; CFG_37111: assume true; goto CFG_51411; CFG_51411: assume true; local_#32996_o := _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 56 }]; local_#29389 := { base : 0, offset : 0 }; local_#29390 := (if local_#32996_o == local_#29389 then 1 else 0); if (local_#29390 != 0) { goto CFG_39038; } else { goto CFG_41881; } CFG_41881: assume true; local_#29391 := 0; local_#29392 := 0; assert { :LIR "62075" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_51412; CFG_51412: assume true; local_#29393 := (if local_#32996_o!offset < _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 16 }]!offset then 1 else 0); if (local_#29393 != 0) { goto CFG_51418; } else { goto CFG_51413; } CFG_51413: assume true; local_#29394 := _memory[{ base : local_#6457_g!base, offset : local_#6457_g!offset + 85 }]; assert { :LIR "64115" } { :check "overflow" } { :finding_ids "0" } local_#29394 <= 2147483647; local_#29395 := 8; local_#29396 := (if local_#29394 == local_#29395 then 1 else 0); if (local_#29396 != 0) { goto CFG_41882; } else { goto CFG_51414; } CFG_51414: assume true; local_#29397 := _memory[{ base : local_#6457_g!base, offset : local_#6457_g!offset + 86 }]; assert { :LIR "64116" } { :check "overflow" } { :finding_ids "0" } local_#29397 <= 2147483647; local_#29398 := 1; local_#29399 := (if local_#29397 != local_#29398 then 1 else 0); if (local_#29399 != 0) { goto CFG_48948; } else { goto CFG_41552; } CFG_48948: assume true; call routine_#33742_luaD_shrinkstack(local_#6458_th); goto CFG_41551; CFG_41551: assume true; goto CFG_41552; CFG_41552: assume true; goto CFG_39037; CFG_41882: assume true; local_#29400 := { base : _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 56 }]!base, offset : _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 56 }]!offset + _memory[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 184 }] * 16 }; local_#32997_lim := local_#29400; goto CFG_51415; CFG_51415: assume true; local_#29401 := (if local_#32996_o!offset < local_#32997_lim!offset then 1 else 0); if (local_#29401 != 0) { goto CFG_44865; } else { goto CFG_51416; } CFG_51416: assume true; local_#29402 := (if _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 80 }] != local_#6458_th then 1 else 0); local_#29403 := (if local_#29402 != 0 then 0 else 1); if (local_#29403 != 0) { goto CFG_51417; } else { goto CFG_41554; } CFG_51417: assume true; local_#29404 := { base : 0, offset : 0 }; local_#29405 := (if _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 64 }] != local_#29404 then 1 else 0); if (local_#29405 != 0) { goto CFG_41553; } else { goto CFG_41554; } CFG_41553: assume true; _memory_ptr[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 80 }] := _memory_ptr[{ base : local_#6457_g!base, offset : local_#6457_g!offset + 168 }]; _memory_ptr[{ base : local_#6457_g!base, offset : local_#6457_g!offset + 168 }] := local_#6458_th; goto CFG_41554; CFG_41554: assume true; goto CFG_39037; CFG_39037: assume true; local_#29406 := 208; local_#29407 := 16; local_#29408 := ~uwrap64(_memory[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 184 }]); assert { :LIR "64117" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29409 := ~uwrap64(local_#29407 * local_#29408); assert { :LIR "68624" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29410 := ~uwrap64(local_#29406 + local_#29409); assert { :LIR "66909" } { :check "overflow" } { :finding_ids "0" } true; local_#29411 := 72; local_#29412 := ~uwrap64(_memory[{ base : local_#6458_th!base, offset : local_#6458_th!offset + 10 }]); assert { :LIR "64118" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29413 := ~uwrap64(local_#29411 * local_#29412); assert { :LIR "68625" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29414 := ~uwrap64(local_#29410 + local_#29413); assert { :LIR "66910" } { :check "overflow" } { :finding_ids "0" } true; local_#8305 := local_#29414; goto CFG_38022; CFG_44865: assume true; _memory[{ base : local_#32996_o!base, offset : local_#32996_o!offset + 8 }] := 0; goto CFG_45222; CFG_45222: assume true; local_#29415 := local_#32996_o; local_#29416 := 1; local_#32996_o := { base : local_#29415!base, offset : local_#29415!offset + local_#29416 * 16 }; local_#29417 := local_#29415; goto CFG_51415; CFG_51418: assume true; local_#29418 := 0; local_#29419 := 0; assert { :LIR "62076" } { :check "overflow" } { :finding_ids "0" } true; local_#29420 := 64; local_#29421 := ~sand32(_memory[{ base : local_#32996_o!base, offset : local_#32996_o!offset + 8 }], local_#29420); if (local_#29421 != 0) { goto CFG_51419; } else { goto CFG_45223; } CFG_51419: assume true; local_#29422 := { base : local_#32996_o!base, offset : local_#32996_o!offset + 0 }; local_#29423 := _memory_ptr[local_#29422]; local_#29424 := _memory[{ base : local_#29423!base, offset : local_#29423!offset + 9 }]; assert { :LIR "64119" } { :check "overflow" } { :finding_ids "0" } local_#29424 <= 2147483647; local_#29425 := 3; local_#29426 := ~sand32(local_#29424, local_#29425); if (local_#29426 != 0) { goto CFG_44866; } else { goto CFG_45223; } CFG_44866: assume true; local_#29427 := { base : local_#32996_o!base, offset : local_#32996_o!offset + 0 }; local_#29428 := _memory_ptr[local_#29427]; goto CFG_48949; CFG_48949: assume true; call routine_#35023_reallymarkobject(local_#6457_g,local_#29428); goto CFG_41555; CFG_41555: assume true; goto CFG_45223; CFG_45223: assume true; local_#29429 := local_#32996_o; local_#29430 := 1; local_#32996_o := { base : local_#29429!base, offset : local_#29429!offset + local_#29430 * 16 }; local_#29431 := local_#29429; goto CFG_51412; CFG_39038: assume true; local_#8305 := 1; goto CFG_38022; CFG_38022: assume true; } procedure routine_#35124_traverseweakvalue(local_#6459_g_IN : { base : int, offset : int }, local_#6460_h_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr; { var local_#6459_g : { base : int, offset : int }; var local_#6460_h : { base : int, offset : int }; var local_#29432 : int; var local_#29433 : int; var local_#29434 : int; var local_#29435 : int; var local_#29436 : { base : int, offset : int }; var local_#32999_limit : { base : int, offset : int }; var local_#29437 : int; var local_#29438 : int; var local_#32998_hasclears : int; var local_#29439 : int; var local_#29440 : { base : int, offset : int }; var local_#33000_n : { base : int, offset : int }; var local_#29441 : int; var local_#29442 : int; var local_#29443 : int; var local_#29444 : int; var local_#29445 : int; var local_#29446 : { base : int, offset : int }; var local_#29447 : { base : int, offset : int }; var local_#29448 : { base : int, offset : int }; var local_#29449 : { base : int, offset : int }; var local_#29450 : { base : int, offset : int }; var local_#29451 : { base : int, offset : int }; var local_#29452 : { base : int, offset : int }; var local_#29453 : { base : int, offset : int }; var local_#29454 : { base : int, offset : int }; var local_#29455 : { base : int, offset : int }; var local_#29456 : int; var local_#29457 : int; var local_#29458 : int; var local_#29459 : int; var local_#29460 : int; var local_#29461 : int; var local_#29462 : int; var local_#29463 : int; var local_#29464 : { base : int, offset : int }; var local_#29465 : { base : int, offset : int }; var local_#29466 : int; var local_#29467 : int; var local_#29468 : { base : int, offset : int }; var local_#29469 : { base : int, offset : int }; var local_#29470 : { base : int, offset : int }; var local_#29471 : { base : int, offset : int }; var local_#29472 : int; var local_#29473 : int; var local_#29474 : int; var local_#29475 : { base : int, offset : int }; var local_#29476 : { base : int, offset : int }; var local_#29477 : { base : int, offset : int }; var local_#29478 : { base : int, offset : int }; var local_#29479 : int; var local_#29480 : { base : int, offset : int }; var local_#29481 : int; var local_#29482 : int; var local_#29483 : { base : int, offset : int }; var local_#29484 : int; var local_#29485 : { base : int, offset : int }; local_#6459_g := local_#6459_g_IN; local_#6460_h := local_#6460_h_IN; goto CFG_37112; CFG_37112: assume true; goto CFG_41883; CFG_41883: assume true; local_#29432 := 1; local_#29433 := _memory[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 11 }]; assert { :LIR "64120" } { :check "overflow" } { :finding_ids "0" } local_#29433 <= 2147483647; local_#29434 := ~shl32(local_#29432, local_#29433); local_#29435 := ~uwrap64(local_#29434); assert { :LIR "62077" } { :check "overflow" } { :finding_ids "0" } true; local_#29436 := { base : _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 24 }]!offset + local_#29435 * 32 }; local_#32999_limit := local_#29436; local_#29437 := 0; local_#29438 := (if _memory[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 12 }] > local_#29437 then 1 else 0); local_#32998_hasclears := local_#29438; local_#29439 := 0; local_#29440 := { base : _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 24 }]!base, offset : _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 24 }]!offset + local_#29439 * 32 }; local_#33000_n := local_#29440; goto CFG_51420; CFG_51420: assume true; local_#29441 := (if local_#33000_n!offset < local_#32999_limit!offset then 1 else 0); if (local_#29441 != 0) { goto CFG_51423; } else { goto CFG_51421; } CFG_51421: assume true; local_#29442 := _memory[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 85 }]; assert { :LIR "64121" } { :check "overflow" } { :finding_ids "0" } local_#29442 <= 2147483647; local_#29443 := 0; local_#29444 := (if local_#29442 == local_#29443 then 1 else 0); if (local_#29444 != 0) { goto CFG_41558; } else { goto CFG_51422; } CFG_51422: assume true; local_#29445 := local_#32998_hasclears; if (local_#29445 != 0) { goto CFG_41556; } else { goto CFG_41557; } CFG_41556: assume true; _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 48 }] := _memory_ptr[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 128 }]; local_#29446 := _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 48 }]; local_#29447 := local_#6460_h; assert { :LIR "62078" } { :check "overflow" } { :finding_ids "0" } true; local_#29448 := { base : local_#29447!base, offset : local_#29447!offset + 0 }; _memory_ptr[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 128 }] := local_#29448; local_#29449 := _memory_ptr[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 128 }]; local_#29450 := local_#29449; goto CFG_41557; CFG_41557: assume true; goto CFG_39445; CFG_41558: assume true; _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 48 }] := _memory_ptr[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 120 }]; local_#29451 := _memory_ptr[{ base : local_#6460_h!base, offset : local_#6460_h!offset + 48 }]; local_#29452 := local_#6460_h; assert { :LIR "62079" } { :check "overflow" } { :finding_ids "0" } true; local_#29453 := { base : local_#29452!base, offset : local_#29452!offset + 0 }; _memory_ptr[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 120 }] := local_#29453; local_#29454 := _memory_ptr[{ base : local_#6459_g!base, offset : local_#6459_g!offset + 120 }]; local_#29455 := local_#29454; goto CFG_39445; CFG_39445: assume true; goto CFG_38023; CFG_51423: assume true; local_#29456 := 0; local_#29457 := 0; assert { :LIR "62080" } { :check "overflow" } { :finding_ids "0" } true; local_#29458 := 0; local_#29459 := (if _memory[{ base : local_#33000_n!base, offset : local_#33000_n!offset + 8 }] == local_#29458 then 1 else 0); if (local_#29459 != 0) { goto CFG_48952; } else { goto CFG_51424; } CFG_51424: assume true; local_#29460 := 0; local_#29461 := 0; assert { :LIR "62081" } { :check "overflow" } { :finding_ids "0" } true; local_#29462 := 0; local_#29463 := 0; assert { :LIR "62082" } { :check "overflow" } { :finding_ids "0" } true; local_#29464 := { base : local_#33000_n!base, offset : local_#33000_n!offset + 16 }; local_#29465 := local_#29464; assert { :LIR "62083" } { :check "overflow" } { :finding_ids "0" } true; local_#29466 := 64; local_#29467 := ~sand32(_memory[{ base : local_#29465!base, offset : local_#29465!offset + 8 }], local_#29466); if (local_#29467 != 0) { goto CFG_51425; } else { goto CFG_51426; } CFG_51425: assume true; local_#29468 := { base : local_#33000_n!base, offset : local_#33000_n!offset + 16 }; local_#29469 := local_#29468; assert { :LIR "62084" } { :check "overflow" } { :finding_ids "0" } true; local_#29470 := { base : local_#29469!base, offset : local_#29469!offset + 0 }; local_#29471 := _memory_ptr[local_#29470]; local_#29472 := _memory[{ base : local_#29471!base, offset : local_#29471!offset + 9 }]; assert { :LIR "64122" } { :check "overflow" } { :finding_ids "0" } local_#29472 <= 2147483647; local_#29473 := 3; local_#29474 := ~sand32(local_#29472, local_#29473); if (local_#29474 != 0) { goto CFG_44867; } else { goto CFG_51426; } CFG_44867: assume true; local_#29475 := { base : local_#33000_n!base, offset : local_#33000_n!offset + 16 }; local_#29476 := local_#29475; assert { :LIR "62085" } { :check "overflow" } { :finding_ids "0" } true; local_#29477 := { base : local_#29476!base, offset : local_#29476!offset + 0 }; local_#29478 := _memory_ptr[local_#29477]; goto CFG_48950; CFG_48950: assume true; call routine_#35023_reallymarkobject(local_#6459_g,local_#29478); goto CFG_41559; CFG_41559: assume true; goto CFG_51426; CFG_51426: assume true; local_#29479 := (if local_#32998_hasclears != 0 then 0 else 1); if (local_#29479 != 0) { goto CFG_44868; } else { goto CFG_41561; } CFG_44868: assume true; local_#29480 := { base : local_#33000_n!base, offset : local_#33000_n!offset + 0 }; assert { :LIR "64123" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48951; CFG_48951: assume true; call local_#29481 := routine_#34834_iscleared(local_#6459_g,local_#29480); goto CFG_51427; CFG_51427: assume true; local_#29482 := local_#29481; if (local_#29482 != 0) { goto CFG_41560; } else { goto CFG_41561; } CFG_41560: assume true; local_#32998_hasclears := 1; goto CFG_41561; CFG_41561: assume true; goto CFG_45224; CFG_48952: assume true; call routine_#35029_removeentry(local_#33000_n); goto CFG_41562; CFG_41562: assume true; goto CFG_45224; CFG_45224: assume true; local_#29483 := local_#33000_n; local_#29484 := 1; local_#33000_n := { base : local_#29483!base, offset : local_#29483!offset + local_#29484 * 32 }; local_#29485 := local_#29483; goto CFG_51420; CFG_38023: assume true; } procedure routine_#35125_treatstackoption(local_#6461_L_IN : { base : int, offset : int }, local_#6462_L1_IN : { base : int, offset : int }, local_#6463_fname_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6461_L : { base : int, offset : int }; var local_#6462_L1 : { base : int, offset : int }; var local_#6463_fname : { base : int, offset : int }; var local_#29486 : int; var local_#29487 : int; var local_#29488 : int; var local_#29489 : int; var local_#29490 : int; local_#6461_L := local_#6461_L_IN; local_#6462_L1 := local_#6462_L1_IN; local_#6463_fname := local_#6463_fname_IN; goto CFG_37113; CFG_37113: assume true; goto CFG_51428; CFG_51428: assume true; local_#29486 := (if local_#6461_L == local_#6462_L1 then 1 else 0); if (local_#29486 != 0) { goto CFG_44870; } else { goto CFG_44869; } CFG_44869: assume true; local_#29487 := 1; goto CFG_48953; CFG_48953: assume true; call routine_#34005_lua_xmove(local_#6462_L1,local_#6461_L,local_#29487); goto CFG_41563; CFG_41563: assume true; goto CFG_44871; CFG_44870: assume true; local_#29488 := -2; local_#29489 := 1; goto CFG_48954; CFG_48954: assume true; call routine_#33978_lua_rotate(local_#6461_L,local_#29488,local_#29489); goto CFG_41564; CFG_41564: assume true; goto CFG_44871; CFG_44871: assume true; local_#29490 := -2; goto CFG_48955; CFG_48955: assume true; call routine_#33980_lua_setfield(local_#6461_L,local_#29490,local_#6463_fname); goto CFG_39446; CFG_39446: assume true; goto CFG_38024; CFG_38024: assume true; } procedure routine_#35126_tremove(local_#6464_L_IN : { base : int, offset : int }) returns (local_#8306 : int) modifies _memory, _memory_ptr, _valid; { var local_#6464_L : { base : int, offset : int }; var local_#29491 : int; var local_#29492 : int; var local_#29493 : int; var local_#29494 : int; var local_#33002_size : int; var local_#29495 : int; var local_#29496 : int; var local_#33001_pos : int; var local_#29497 : int; var local_#29498 : int; var local_#29499 : int; var local_#29500 : int; var local_#29501 : int; var local_#29502 : int; var local_#29503 : int; var local_#29504 : { base : int, offset : int }; var local_#29505 : { base : int, offset : int }; var local_#29506 : int; var local_#29507 : int; var local_#30891 : int; var local_#29508 : int; var local_#29509 : int; var local_#29510 : int; var local_#29511 : int; var local_#29512 : int; var local_#29513 : int; var local_#29514 : int; var local_#29515 : int; var local_#29516 : int; var local_#29517 : int; var local_#29518 : int; var local_#29519 : int; var local_#29520 : int; local_#6464_L := local_#6464_L_IN; goto CFG_37114; CFG_37114: assume true; goto CFG_44872; CFG_44872: assume true; local_#29491 := 1; local_#29492 := 7; goto CFG_48956; CFG_48956: assume true; call routine_#34641_checktab(local_#6464_L,local_#29491,local_#29492); goto CFG_44873; CFG_44873: assume true; local_#29493 := 1; goto CFG_48957; CFG_48957: assume true; call local_#29494 := routine_#33834_luaL_len(local_#6464_L,local_#29493); goto CFG_44874; CFG_44874: assume true; local_#33002_size := local_#29494; local_#29495 := 2; goto CFG_48958; CFG_48958: assume true; call local_#29496 := routine_#33841_luaL_optinteger(local_#6464_L,local_#29495,local_#33002_size); goto CFG_51429; CFG_51429: assume true; local_#33001_pos := local_#29496; local_#29497 := (if local_#33001_pos != local_#33002_size then 1 else 0); if (local_#29497 != 0) { goto CFG_51430; } else { goto CFG_44876; } CFG_51430: assume true; local_#29498 := 1; local_#29499 := (if local_#29498 <= local_#33001_pos then 1 else 0); if (local_#29499 != 0) { goto CFG_51431; } else { goto CFG_44875; } CFG_51431: assume true; local_#29500 := 1; local_#29501 := local_#33002_size + local_#29500; assert { :LIR "66911" } { :check "overflow" } { :finding_ids "0" } local_#29501 <= 9223372036854775807; local_#29502 := (if local_#33001_pos <= local_#29501 then 1 else 0); if (local_#29502 != 0) { goto CFG_41566; } else { goto CFG_44875; } CFG_44875: assume true; local_#29503 := 1; assume _memory[{ base : strlit_#70861!base, offset : strlit_#70861!offset + 22 }] == 0; local_#29504 := strlit_#70861; local_#29505 := { base : local_#29504!base, offset : local_#29504!offset + 0 * 1 }; assert { :LIR "64124" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48959; CFG_48959: assume true; call local_#29506 := routine_#33815_luaL_argerror(local_#6464_L,local_#29503,local_#29505); goto CFG_51432; CFG_51432: assume true; local_#29507 := local_#29506; if (local_#29507 != 0) { goto CFG_41566; } else { goto CFG_41565; } CFG_41565: assume true; local_#30891 := 0; goto CFG_41567; CFG_41566: assume true; local_#30891 := 1; goto CFG_41567; CFG_41567: assume true; local_#29508 := 0; assert { :LIR "62086" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44876; CFG_44876: assume true; local_#29509 := 1; goto CFG_48960; CFG_48960: assume true; call local_#29510 := routine_#33935_lua_geti(local_#6464_L,local_#29509,local_#33001_pos); goto CFG_41884; CFG_41884: assume true; goto CFG_51433; CFG_51433: assume true; local_#29511 := (if local_#33001_pos < local_#33002_size then 1 else 0); if (local_#29511 != 0) { goto CFG_44878; } else { goto CFG_48961; } CFG_48961: assume true; call routine_#33963_lua_pushnil(local_#6464_L); goto CFG_44877; CFG_44877: assume true; local_#29512 := 1; goto CFG_48962; CFG_48962: assume true; call routine_#33983_lua_seti(local_#6464_L,local_#29512,local_#33001_pos); goto CFG_39039; CFG_39039: assume true; local_#8306 := 1; goto CFG_38025; CFG_44878: assume true; local_#29513 := 1; local_#29514 := 1; local_#29515 := local_#33001_pos + local_#29514; assert { :LIR "66912" } { :check "overflow" } { :finding_ids "0" } local_#29515 <= 9223372036854775807; goto CFG_48963; CFG_48963: assume true; call local_#29516 := routine_#33935_lua_geti(local_#6464_L,local_#29513,local_#29515); goto CFG_44879; CFG_44879: assume true; local_#29517 := 1; goto CFG_48964; CFG_48964: assume true; call routine_#33983_lua_seti(local_#6464_L,local_#29517,local_#33001_pos); goto CFG_45225; CFG_45225: assume true; local_#29518 := local_#33001_pos; local_#29519 := 1; local_#33001_pos := local_#29518 + local_#29519; assert { :LIR "66913" } { :check "overflow" } { :finding_ids "0" } local_#33001_pos <= 9223372036854775807; local_#29520 := local_#29518; goto CFG_51433; CFG_38025: assume true; } procedure routine_#35127_tryfuncTM(local_#6465_L_IN : { base : int, offset : int }, local_#6466_func_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6465_L : { base : int, offset : int }; var local_#6466_func : { base : int, offset : int }; var local_#29521 : { base : int, offset : int }; var local_#29522 : int; var local_#29523 : { base : int, offset : int }; var local_#33004_tm : { base : int, offset : int }; var local_#29524 : int; var local_#29525 : int; var local_#29526 : int; var local_#29527 : int; var local_#29528 : int; var local_#33003_p : { base : int, offset : int }; var local_#29529 : int; var local_#29530 : { base : int, offset : int }; var local_#29531 : int; var local_#29532 : { base : int, offset : int }; var local_#33006_io1 : { base : int, offset : int }; var local_#29533 : int; var local_#29534 : int; var local_#29535 : int; var local_#33005_io1 : { base : int, offset : int }; var local_#29536 : int; var local_#29537 : { base : int, offset : int }; var local_#29538 : int; var local_#29539 : int; var local_#29540 : int; var local_#29541 : { base : int, offset : int }; var local_#29542 : int; var local_#29543 : { base : int, offset : int }; var local_#29544 : { base : int, offset : int }; var local_#29545 : { base : int, offset : int }; var local_#29546 : { base : int, offset : int }; local_#6465_L := local_#6465_L_IN; local_#6466_func := local_#6466_func_IN; goto CFG_37115; CFG_37115: assume true; goto CFG_44880; CFG_44880: assume true; local_#29521 := local_#6466_func; assert { :LIR "64125" } { :check "overflow" } { :finding_ids "0" } true; local_#29522 := 23; goto CFG_48965; CFG_48965: assume true; call local_#29523 := routine_#33885_luaT_gettmbyobj(local_#6465_L,local_#29521,local_#29522); goto CFG_51434; CFG_51434: assume true; local_#33004_tm := local_#29523; local_#29524 := 15; local_#29525 := ~sand32(_memory[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 8 }], local_#29524); local_#29526 := 6; local_#29527 := (if local_#29525 == local_#29526 then 1 else 0); local_#29528 := (if local_#29527 != 0 then 0 else 1); if (local_#29528 != 0) { goto CFG_44882; } else { goto CFG_41885; } CFG_41885: assume true; local_#33003_p := _memory_ptr[{ base : local_#6465_L!base, offset : local_#6465_L!offset + 16 }]; goto CFG_51435; CFG_51435: assume true; local_#29529 := (if local_#33003_p!offset > local_#6466_func!offset then 1 else 0); if (local_#29529 != 0) { goto CFG_44881; } else { goto CFG_39447; } CFG_39447: assume true; local_#29530 := _memory_ptr[{ base : local_#6465_L!base, offset : local_#6465_L!offset + 16 }]; local_#29531 := 1; _memory_ptr[{ base : local_#6465_L!base, offset : local_#6465_L!offset + 16 }] := { base : local_#29530!base, offset : local_#29530!offset + local_#29531 * 16 }; local_#29532 := local_#29530; local_#33006_io1 := local_#6466_func; assume read_type_#101(_memory, _memory_ptr, local_#33004_tm)!_value_!_b == _memory[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#33004_tm)!_value_!_f == _memory_ptr[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#33004_tm)!_value_!_gc == _memory_ptr[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#33004_tm)!_value_!_i == _memory[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#33004_tm)!_value_!_p == _memory_ptr[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#33004_tm)!_tt_ == _memory[{ base : local_#33004_tm!base, offset : local_#33004_tm!offset + 8 }]; call write_type_#101(local_#33006_io1,read_type_#101(_memory, _memory_ptr, local_#33004_tm)); local_#29533 := 0; assert { :LIR "62087" } { :check "overflow" } { :finding_ids "0" } true; local_#29534 := 0; local_#29535 := 0; assert { :LIR "62088" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_38026; CFG_44881: assume true; local_#33005_io1 := local_#33003_p; local_#29536 := 1; local_#29537 := { base : local_#33003_p!base, offset : local_#33003_p!offset - local_#29536 * 16 }; assume read_type_#101(_memory, _memory_ptr, local_#29537)!_value_!_b == _memory[{ base : local_#29537!base, offset : local_#29537!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#29537)!_value_!_f == _memory_ptr[{ base : local_#29537!base, offset : local_#29537!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#29537)!_value_!_gc == _memory_ptr[{ base : local_#29537!base, offset : local_#29537!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#29537)!_value_!_i == _memory[{ base : local_#29537!base, offset : local_#29537!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && read_type_#101(_memory, _memory_ptr, local_#29537)!_value_!_p == _memory_ptr[{ base : local_#29537!base, offset : local_#29537!offset + 0 + 0 }] && read_type_#101(_memory, _memory_ptr, local_#29537)!_tt_ == _memory[{ base : local_#29537!base, offset : local_#29537!offset + 8 }]; call write_type_#101(local_#33005_io1,read_type_#101(_memory, _memory_ptr, local_#29537)); local_#29538 := 0; assert { :LIR "62089" } { :check "overflow" } { :finding_ids "0" } true; local_#29539 := 0; local_#29540 := 0; assert { :LIR "62090" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_45226; CFG_45226: assume true; local_#29541 := local_#33003_p; local_#29542 := 1; local_#33003_p := { base : local_#29541!base, offset : local_#29541!offset - local_#29542 * 16 }; local_#29543 := local_#29541; goto CFG_51435; CFG_44882: assume true; local_#29544 := local_#6466_func; assert { :LIR "64126" } { :check "overflow" } { :finding_ids "0" } true; assume _memory[{ base : strlit_#70867!base, offset : strlit_#70867!offset + 0 }] == 99 && _memory[{ base : strlit_#70867!base, offset : strlit_#70867!offset + 1 }] == 97 && _memory[{ base : strlit_#70867!base, offset : strlit_#70867!offset + 2 }] == 108 && _memory[{ base : strlit_#70867!base, offset : strlit_#70867!offset + 3 }] == 108 && _memory[{ base : strlit_#70867!base, offset : strlit_#70867!offset + 4 }] == 0; local_#29545 := strlit_#70867; local_#29546 := { base : local_#29545!base, offset : local_#29545!offset + 0 * 1 }; assert { :LIR "64127" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48966; CFG_48966: assume true; call routine_#33765_luaG_typeerror(local_#6465_L,local_#29544,local_#29546); CFG_38026: assume true; } procedure routine_#35128_txtToken(local_#6467_ls_IN : { base : int, offset : int }, local_#6468_token_IN : int) returns (local_#8307 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6467_ls : { base : int, offset : int }; var local_#6468_token : int; var local_#29547 : int; var local_#29548 : { base : int, offset : int }; var local_#29549 : int; var local_#29550 : { base : int, offset : int }; var local_#29551 : { base : int, offset : int }; var local_#29552 : { base : int, offset : int }; var local_#29553 : { base : int, offset : int }; var local_#29554 : { base : int, offset : int }; var local_#29555 : { base : int, offset : int }; local_#6467_ls := local_#6467_ls_IN; local_#6468_token := local_#6468_token_IN; goto CFG_37116; CFG_37116: assume true; goto CFG_51578; CFG_51578: assume true; local_#29547 := local_#6468_token; if (local_#29547 == 292) { goto CFG_44883; } if (local_#29547 == 293) { goto CFG_44883; } if (local_#29547 == 290) { goto CFG_44883; } if (local_#29547 == 291) { goto CFG_44883; } goto CFG_48967; CFG_48967: assume true; call local_#29548 := routine_#33911_luaX_token2str(local_#6467_ls,local_#6468_token); goto CFG_39040; CFG_39040: assume true; local_#8307 := local_#29548; goto CFG_38027; CFG_44883: assume true; local_#29549 := 0; goto CFG_48968; CFG_48968: assume true; call routine_#35043_save(local_#6467_ls,local_#29549); goto CFG_44884; CFG_44884: assume true; local_#29550 := _memory_ptr[{ base : local_#6467_ls!base, offset : local_#6467_ls!offset + 56 }]; assume _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 0 }] == 39 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 1 }] == 37 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 2 }] == 115 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 3 }] == 39 && _memory[{ base : strlit_#70387!base, offset : strlit_#70387!offset + 4 }] == 0; local_#29551 := strlit_#70387; local_#29552 := { base : local_#29551!base, offset : local_#29551!offset + 0 * 1 }; assert { :LIR "64128" } { :check "overflow" } { :finding_ids "0" } true; local_#29553 := _memory_ptr[{ base : local_#6467_ls!base, offset : local_#6467_ls!offset + 72 }]; local_#29554 := _memory_ptr[{ base : local_#29553!base, offset : local_#29553!offset + 0 }]; goto CFG_48969; CFG_48969: assume true; call local_#29555 := routine_#33865_luaO_pushfstring(local_#29550,local_#29552,{ base : 0, offset : 0 }); goto CFG_39041; CFG_39041: assume true; local_#8307 := local_#29555; goto CFG_38027; CFG_38027: assume true; } procedure routine_#35129_typeerror(local_#6469_L_IN : { base : int, offset : int }, local_#6470_arg_IN : int, local_#6471_tname_IN : { base : int, offset : int }) returns (local_#8308 : int) modifies _memory, _memory_ptr, _valid; { var local_#6469_L : { base : int, offset : int }; var local_#6470_arg : int; var local_#6471_tname : { base : int, offset : int }; var local_#29556 : { base : int, offset : int }; var local_#29557 : { base : int, offset : int }; var local_#29558 : int; var local_#29559 : int; var local_#29560 : int; var local_#29561 : int; var local_#29562 : int; var local_#29563 : int; var local_#29564 : int; var local_#29565 : { base : int, offset : int }; var local_#33008_typearg : { base : int, offset : int }; var local_#29566 : { base : int, offset : int }; var local_#29567 : { base : int, offset : int }; var local_#29568 : int; var local_#29569 : { base : int, offset : int }; var local_#29570 : { base : int, offset : int }; var local_#29571 : { base : int, offset : int }; var local_#29572 : { base : int, offset : int }; var local_#29573 : { base : int, offset : int }; var local_#33007_msg : { base : int, offset : int }; var local_#29574 : int; local_#6469_L := local_#6469_L_IN; local_#6470_arg := local_#6470_arg_IN; local_#6471_tname := local_#6471_tname_IN; goto CFG_37117; CFG_37117: assume true; goto CFG_44885; CFG_44885: assume true; assume _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 0 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 1 }] == 95 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 2 }] == 110 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 3 }] == 97 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 4 }] == 109 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 5 }] == 101 && _memory[{ base : strlit_#70330!base, offset : strlit_#70330!offset + 6 }] == 0; local_#29556 := strlit_#70330; local_#29557 := { base : local_#29556!base, offset : local_#29556!offset + 0 * 1 }; assert { :LIR "64129" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48970; CFG_48970: assume true; call local_#29558 := routine_#33831_luaL_getmetafield(local_#6469_L,local_#6470_arg,local_#29557); goto CFG_51436; CFG_51436: assume true; local_#29559 := 4; local_#29560 := (if local_#29558 == local_#29559 then 1 else 0); if (local_#29560 != 0) { goto CFG_44886; } else { goto CFG_48971; } CFG_48971: assume true; call local_#29561 := routine_#34000_lua_type(local_#6469_L,local_#6470_arg); goto CFG_51437; CFG_51437: assume true; local_#29562 := 2; local_#29563 := (if local_#29561 == local_#29562 then 1 else 0); if (local_#29563 != 0) { goto CFG_41569; } else { goto CFG_48972; } CFG_48972: assume true; call local_#29564 := routine_#34000_lua_type(local_#6469_L,local_#6470_arg); goto CFG_48973; CFG_48973: assume true; call local_#29565 := routine_#34001_lua_typename(local_#6469_L,local_#29564); goto CFG_41568; CFG_41568: assume true; local_#33008_typearg := local_#29565; goto CFG_41570; CFG_41569: assume true; assume _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 0 }] == 108 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 1 }] == 105 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 2 }] == 103 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 3 }] == 104 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 4 }] == 116 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 5 }] == 32 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 6 }] == 117 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 7 }] == 115 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 8 }] == 101 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 9 }] == 114 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 10 }] == 100 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 11 }] == 97 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 12 }] == 116 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 13 }] == 97 && _memory[{ base : strlit_#70870!base, offset : strlit_#70870!offset + 14 }] == 0; local_#29566 := strlit_#70870; local_#29567 := { base : local_#29566!base, offset : local_#29566!offset + 0 * 1 }; assert { :LIR "64130" } { :check "overflow" } { :finding_ids "0" } true; local_#33008_typearg := local_#29567; goto CFG_41570; CFG_41570: assume true; goto CFG_44887; CFG_44886: assume true; local_#29568 := -1; local_#29569 := { base : 0, offset : 0 }; goto CFG_48974; CFG_48974: assume true; call local_#29570 := routine_#33995_lua_tolstring(local_#6469_L,local_#29568,local_#29569); goto CFG_41571; CFG_41571: assume true; local_#33008_typearg := local_#29570; goto CFG_44887; CFG_44887: assume true; assume _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 0 }] == 37 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 1 }] == 115 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 2 }] == 32 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 3 }] == 101 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 4 }] == 120 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 5 }] == 112 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 6 }] == 101 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 7 }] == 99 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 8 }] == 116 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 9 }] == 101 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 10 }] == 100 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 11 }] == 44 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 12 }] == 32 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 13 }] == 103 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 14 }] == 111 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 15 }] == 116 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 16 }] == 32 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 17 }] == 37 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 18 }] == 115 && _memory[{ base : strlit_#70871!base, offset : strlit_#70871!offset + 19 }] == 0; local_#29571 := strlit_#70871; local_#29572 := { base : local_#29571!base, offset : local_#29571!offset + 0 * 1 }; assert { :LIR "64131" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48975; CFG_48975: assume true; call local_#29573 := routine_#33959_lua_pushfstring(local_#6469_L,local_#29572,{ base : 0, offset : 0 }); goto CFG_44888; CFG_44888: assume true; local_#33007_msg := local_#29573; goto CFG_48976; CFG_48976: assume true; call local_#29574 := routine_#33815_luaL_argerror(local_#6469_L,local_#6470_arg,local_#33007_msg); goto CFG_39042; CFG_39042: assume true; local_#8308 := local_#29574; goto CFG_38028; CFG_38028: assume true; } procedure routine_#35130_u_posrelat(local_#6472_pos_IN : int, local_#6473_len_IN : int) returns (local_#8309 : int) { var local_#6472_pos : int; var local_#6473_len : int; var local_#29575 : int; var local_#29576 : int; var local_#29577 : int; var local_#29578 : int; var local_#29579 : int; var local_#29580 : int; var local_#29581 : int; var local_#29582 : int; var local_#29583 : int; var local_#29584 : int; local_#6472_pos := local_#6472_pos_IN; local_#6473_len := local_#6473_len_IN; goto CFG_37118; CFG_37118: assume true; goto CFG_51438; CFG_51438: assume true; local_#29575 := 0; local_#29576 := (if local_#6472_pos >= local_#29575 then 1 else 0); if (local_#29576 != 0) { goto CFG_39045; } else { goto CFG_51439; } CFG_51439: assume true; local_#29577 := 0; local_#29578 := ~uwrap64(local_#6472_pos); assert { :LIR "62091" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29579 := ~uwrap64(local_#29577 - local_#29578); assert { :LIR "68200" } { :check "overflow" } { :finding_ids "0" } true; local_#29580 := (if local_#29579 > local_#6473_len then 1 else 0); if (local_#29580 != 0) { goto CFG_39044; } else { goto CFG_39043; } CFG_39043: assume true; local_#29581 := local_#6473_len; assert { :LIR "62092" } { :check "overflow" } { :finding_ids "0" } local_#29581 <= 9223372036854775807; local_#29582 := local_#29581 + local_#6472_pos; assert { :LIR "66914" } { :check "overflow" } { :finding_ids "0" } local_#29582 <= 9223372036854775807; local_#29583 := 1; local_#29584 := local_#29582 + local_#29583; assert { :LIR "66915" } { :check "overflow" } { :finding_ids "0" } local_#29584 <= 9223372036854775807; local_#8309 := local_#29584; goto CFG_38029; CFG_39044: assume true; local_#8309 := 0; goto CFG_38029; CFG_39045: assume true; local_#8309 := local_#6472_pos; goto CFG_38029; CFG_38029: assume true; } procedure routine_#35131_udata2finalize(local_#6474_g_IN : { base : int, offset : int }) returns (local_#8310 : { base : int, offset : int }) modifies _memory, _memory_ptr; { var local_#6474_g : { base : int, offset : int }; var local_#33009_o : { base : int, offset : int }; var local_#29585 : int; var local_#29586 : int; var local_#29587 : int; var local_#29588 : int; var local_#29589 : int; var local_#29590 : int; var local_#29591 : int; var local_#29592 : int; var local_#29593 : int; var local_#29594 : int; var local_#29595 : int; var local_#29596 : int; var local_#29597 : int; var local_#29598 : int; var local_#29599 : int; var local_#29600 : int; var local_#29601 : int; var local_#29602 : int; var local_#29603 : int; var local_#29604 : int; var local_#29605 : int; local_#6474_g := local_#6474_g_IN; goto CFG_37119; CFG_37119: assume true; goto CFG_51440; CFG_51440: assume true; local_#33009_o := _memory_ptr[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 152 }]; local_#29585 := 0; local_#29586 := 0; assert { :LIR "62093" } { :check "overflow" } { :finding_ids "0" } true; _memory_ptr[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 152 }] := _memory_ptr[{ base : local_#33009_o!base, offset : local_#33009_o!offset + 0 }]; _memory_ptr[{ base : local_#33009_o!base, offset : local_#33009_o!offset + 0 }] := _memory_ptr[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 88 }]; _memory_ptr[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 88 }] := local_#33009_o; local_#29587 := 247; local_#29588 := _memory[{ base : local_#33009_o!base, offset : local_#33009_o!offset + 9 }]; assert { :LIR "64132" } { :check "overflow" } { :finding_ids "0" } local_#29588 <= 2147483647; local_#29589 := ~sand32(local_#29588, local_#29587); _memory[{ base : local_#33009_o!base, offset : local_#33009_o!offset + 9 }] := ~uwrap8(local_#29589); assert { :LIR "64133" } { :check "overflow" } { :finding_ids "0" } true; local_#29590 := 2; local_#29591 := _memory[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 85 }]; assert { :LIR "64134" } { :check "overflow" } { :finding_ids "0" } local_#29591 <= 2147483647; local_#29592 := (if local_#29590 <= local_#29591 then 1 else 0); if (local_#29592 != 0) { goto CFG_51441; } else { goto CFG_39046; } CFG_51441: assume true; local_#29593 := _memory[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 85 }]; assert { :LIR "64135" } { :check "overflow" } { :finding_ids "0" } local_#29593 <= 2147483647; local_#29594 := 5; local_#29595 := (if local_#29593 <= local_#29594 then 1 else 0); if (local_#29595 != 0) { goto CFG_41572; } else { goto CFG_39046; } CFG_41572: assume true; local_#29596 := _memory[{ base : local_#33009_o!base, offset : local_#33009_o!offset + 9 }]; assert { :LIR "64136" } { :check "overflow" } { :finding_ids "0" } local_#29596 <= 2147483647; local_#29597 := -8; local_#29598 := ~sand32(local_#29596, local_#29597); local_#29599 := _memory[{ base : local_#6474_g!base, offset : local_#6474_g!offset + 84 }]; assert { :LIR "64137" } { :check "overflow" } { :finding_ids "0" } local_#29599 <= 2147483647; local_#29600 := 3; local_#29601 := ~sand32(local_#29599, local_#29600); local_#29602 := ~uwrap8(local_#29601); assert { :LIR "62094" } { :check "overflow" } { :finding_ids "0" } true; local_#29603 := local_#29602; assert { :LIR "64138" } { :check "overflow" } { :finding_ids "0" } local_#29603 <= 2147483647; local_#29604 := ~sor32(local_#29598, local_#29603); local_#29605 := ~uwrap8(local_#29604); assert { :LIR "62095" } { :check "overflow" } { :finding_ids "0" } true; _memory[{ base : local_#33009_o!base, offset : local_#33009_o!offset + 9 }] := local_#29605; goto CFG_39046; CFG_39046: assume true; local_#8310 := local_#33009_o; goto CFG_38030; CFG_38030: assume true; } procedure routine_#35132_unbound_search(local_#6475_t_IN : { base : int, offset : int }, local_#6476_j_IN : int) returns (local_#8311 : int) { var local_#6475_t : { base : int, offset : int }; var local_#6476_j : int; var local_#33010_i : int; var local_#29606 : int; var local_#29607 : int; var local_#29608 : int; var local_#29609 : int; var local_#29610 : { base : int, offset : int }; var local_#29611 : int; var local_#29612 : int; var local_#29613 : int; var local_#29614 : int; var local_#29615 : int; var local_#29616 : int; var local_#29617 : int; var local_#29618 : int; var local_#29619 : int; var local_#33011_m : int; var local_#29620 : int; var local_#29621 : { base : int, offset : int }; var local_#29622 : int; var local_#29623 : int; var local_#29624 : int; var local_#29625 : int; var local_#29626 : int; var local_#29627 : int; var local_#29628 : { base : int, offset : int }; var local_#29629 : int; var local_#29630 : int; var local_#29631 : int; var local_#29632 : int; var local_#29633 : int; var local_#29634 : int; var local_#29635 : int; var local_#29636 : int; local_#6475_t := local_#6475_t_IN; local_#6476_j := local_#6476_j_IN; goto CFG_37120; CFG_37120: assume true; goto CFG_41886; CFG_41886: assume true; local_#33010_i := local_#6476_j; local_#29606 := local_#6476_j; local_#29607 := 1; assume { :symbol "~uwrap64" } true; local_#6476_j := ~uwrap64(local_#29606 + local_#29607); assert { :LIR "66916" } { :check "overflow" } { :finding_ids "0" } true; local_#29608 := local_#29606; goto CFG_44889; CFG_44889: assume true; local_#29609 := local_#6476_j; assert { :LIR "64139" } { :check "overflow" } { :finding_ids "0" } local_#29609 <= 9223372036854775807; goto CFG_48977; CFG_48977: assume true; call local_#29610 := routine_#33768_luaH_getint(local_#6475_t,local_#29609); goto CFG_51442; CFG_51442: assume true; local_#29611 := 0; local_#29612 := (if _memory[{ base : local_#29610!base, offset : local_#29610!offset + 8 }] == local_#29611 then 1 else 0); local_#29613 := (if local_#29612 != 0 then 0 else 1); if (local_#29613 != 0) { goto CFG_51445; } else { goto CFG_41887; } CFG_41887: assume true; goto CFG_51443; CFG_51443: assume true; assume { :symbol "~uwrap64" } true; local_#29614 := ~uwrap64(local_#6476_j - local_#33010_i); assert { :LIR "68201" } { :check "overflow" } { :finding_ids "0" } true; local_#29615 := 1; local_#29616 := (if local_#29614 > local_#29615 then 1 else 0); if (local_#29616 != 0) { goto CFG_44890; } else { goto CFG_39047; } CFG_39047: assume true; local_#8311 := local_#33010_i; goto CFG_38031; CFG_44890: assume true; assume { :symbol "~uwrap64" } true; local_#29617 := ~uwrap64(local_#33010_i + local_#6476_j); assert { :LIR "66917" } { :check "overflow" } { :finding_ids "0" } true; local_#29618 := 2; local_#29619 := local_#29617 / local_#29618; assert { :LIR "68656" } { :check "overflow" } { :finding_ids "0" } true; local_#33011_m := local_#29619; local_#29620 := local_#33011_m; assert { :LIR "64140" } { :check "overflow" } { :finding_ids "0" } local_#29620 <= 9223372036854775807; goto CFG_48978; CFG_48978: assume true; call local_#29621 := routine_#33768_luaH_getint(local_#6475_t,local_#29620); goto CFG_51444; CFG_51444: assume true; local_#29622 := 0; local_#29623 := (if _memory[{ base : local_#29621!base, offset : local_#29621!offset + 8 }] == local_#29622 then 1 else 0); if (local_#29623 != 0) { goto CFG_41574; } else { goto CFG_41573; } CFG_41573: assume true; local_#33010_i := local_#33011_m; goto CFG_45227; CFG_41574: assume true; local_#6476_j := local_#33011_m; goto CFG_45227; CFG_45227: assume true; goto CFG_51443; CFG_51445: assume true; local_#33010_i := local_#6476_j; local_#29624 := 4611686018427387903; local_#29625 := (if local_#6476_j > local_#29624 then 1 else 0); if (local_#29625 != 0) { goto CFG_41888; } else { goto CFG_45228; } CFG_45228: assume true; local_#29626 := 2; assume { :symbol "~uwrap64" } true; local_#6476_j := ~uwrap64(local_#6476_j * local_#29626); assert { :LIR "68626" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_44889; CFG_41888: assume true; local_#33010_i := 1; goto CFG_44891; CFG_44891: assume true; local_#29627 := local_#33010_i; assert { :LIR "64141" } { :check "overflow" } { :finding_ids "0" } local_#29627 <= 9223372036854775807; goto CFG_48979; CFG_48979: assume true; call local_#29628 := routine_#33768_luaH_getint(local_#6475_t,local_#29627); goto CFG_51446; CFG_51446: assume true; local_#29629 := 0; local_#29630 := (if _memory[{ base : local_#29628!base, offset : local_#29628!offset + 8 }] == local_#29629 then 1 else 0); local_#29631 := (if local_#29630 != 0 then 0 else 1); if (local_#29631 != 0) { goto CFG_45229; } else { goto CFG_39048; } CFG_39048: assume true; local_#29632 := 1; assume { :symbol "~uwrap64" } true; local_#29633 := ~uwrap64(local_#33010_i - local_#29632); assert { :LIR "68202" } { :check "overflow" } { :finding_ids "0" } true; local_#8311 := local_#29633; goto CFG_38031; CFG_45229: assume true; local_#29634 := local_#33010_i; local_#29635 := 1; assume { :symbol "~uwrap64" } true; local_#33010_i := ~uwrap64(local_#29634 + local_#29635); assert { :LIR "66918" } { :check "overflow" } { :finding_ids "0" } true; local_#29636 := local_#29634; goto CFG_44891; CFG_38031: assume true; } procedure routine_#35133_undefgoto(local_#6477_ls_IN : { base : int, offset : int }, local_#6478_gt_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6477_ls : { base : int, offset : int }; var local_#6478_gt : { base : int, offset : int }; var local_#29637 : { base : int, offset : int }; var local_#29638 : int; var local_#29639 : int; var local_#29640 : int; var local_#29641 : { base : int, offset : int }; var local_#29642 : int; var local_#29643 : int; var local_#29644 : int; var local_#29645 : { base : int, offset : int }; var local_#30892 : { base : int, offset : int }; var local_#29646 : { base : int, offset : int }; var local_#29647 : { base : int, offset : int }; var local_#33012_msg : { base : int, offset : int }; var local_#29648 : { base : int, offset : int }; var local_#29649 : { base : int, offset : int }; var local_#29650 : int; var local_#29651 : { base : int, offset : int }; var local_#29652 : int; var local_#29653 : { base : int, offset : int }; local_#6477_ls := local_#6477_ls_IN; local_#6478_gt := local_#6478_gt_IN; goto CFG_37121; CFG_37121: assume true; goto CFG_51447; CFG_51447: assume true; local_#29637 := _memory_ptr[{ base : local_#6478_gt!base, offset : local_#6478_gt!offset + 0 }]; local_#29638 := _memory[{ base : local_#29637!base, offset : local_#29637!offset + 8 }]; assert { :LIR "64142" } { :check "overflow" } { :finding_ids "0" } local_#29638 <= 2147483647; local_#29639 := 4; local_#29640 := (if local_#29638 == local_#29639 then 1 else 0); if (local_#29640 != 0) { goto CFG_51448; } else { goto CFG_41575; } CFG_51448: assume true; local_#29641 := _memory_ptr[{ base : local_#6478_gt!base, offset : local_#6478_gt!offset + 0 }]; local_#29642 := _memory[{ base : local_#29641!base, offset : local_#29641!offset + 10 }]; assert { :LIR "64143" } { :check "overflow" } { :finding_ids "0" } local_#29642 <= 2147483647; local_#29643 := 0; local_#29644 := (if local_#29642 > local_#29643 then 1 else 0); if (local_#29644 != 0) { goto CFG_41576; } else { goto CFG_41575; } CFG_41575: assume true; assume _memory[{ base : strlit_#70872!base, offset : strlit_#70872!offset + 43 }] == 0; local_#29645 := strlit_#70872; local_#30892 := { base : local_#29645!base, offset : local_#29645!offset + 0 * 1 }; goto CFG_44892; CFG_41576: assume true; assume _memory[{ base : strlit_#70873!base, offset : strlit_#70873!offset + 33 }] == 0; local_#29646 := strlit_#70873; local_#30892 := { base : local_#29646!base, offset : local_#29646!offset + 0 * 1 }; goto CFG_44892; CFG_44892: assume true; local_#29647 := local_#30892; assert { :LIR "64144" } { :check "overflow" } { :finding_ids "0" } true; local_#33012_msg := local_#29647; local_#29648 := _memory_ptr[{ base : local_#6477_ls!base, offset : local_#6477_ls!offset + 56 }]; local_#29649 := _memory_ptr[{ base : local_#6478_gt!base, offset : local_#6478_gt!offset + 0 }]; assert { :LIR "62096" } { :check "overflow" } { :finding_ids "0" } true; local_#29650 := 24; local_#29651 := { base : local_#29649!base, offset : local_#29649!offset + local_#29650 * 1 }; local_#29652 := _memory[{ base : local_#6478_gt!base, offset : local_#6478_gt!offset + 12 }]; goto CFG_48980; CFG_48980: assume true; call local_#29653 := routine_#33865_luaO_pushfstring(local_#29648,local_#33012_msg,{ base : 0, offset : 0 }); goto CFG_44893; CFG_44893: assume true; local_#33012_msg := local_#29653; goto CFG_48981; CFG_48981: assume true; call routine_#35052_semerror(local_#6477_ls,local_#33012_msg); CFG_39448: assume true; goto CFG_38032; CFG_38032: assume true; } procedure routine_#35134_unmakemask(local_#6479_mask_IN : int, local_#6480_smask_IN : { base : int, offset : int }) returns (local_#8312 : { base : int, offset : int }) modifies _memory; { var local_#6479_mask : int; var local_#6480_smask : { base : int, offset : int }; var local_#33013_i : int; var local_#29654 : int; var local_#29655 : int; var local_#29656 : int; var local_#29657 : int; var local_#29658 : int; var local_#29659 : { base : int, offset : int }; var local_#29660 : int; var local_#29661 : int; var local_#29662 : int; var local_#29663 : int; var local_#29664 : int; var local_#29665 : { base : int, offset : int }; var local_#29666 : int; var local_#29667 : int; var local_#29668 : int; var local_#29669 : int; var local_#29670 : int; var local_#29671 : { base : int, offset : int }; var local_#29672 : int; var local_#29673 : { base : int, offset : int }; local_#6479_mask := local_#6479_mask_IN; local_#6480_smask := local_#6480_smask_IN; goto CFG_37122; CFG_37122: assume true; goto CFG_51449; CFG_51449: assume true; local_#33013_i := 0; local_#29654 := 1; local_#29655 := ~sand32(local_#6479_mask, local_#29654); if (local_#29655 != 0) { goto CFG_41577; } else { goto CFG_51450; } CFG_41577: assume true; local_#29656 := 99; local_#29657 := local_#33013_i; local_#29658 := 1; local_#33013_i := local_#29657 + local_#29658; assert { :LIR "66919" } { :check "overflow" } { :finding_ids "0" } local_#33013_i <= 2147483647; local_#29659 := { base : local_#6480_smask!base, offset : local_#6480_smask!offset + local_#29657 * 1 }; _memory[local_#29659] := local_#29656; goto CFG_51450; CFG_51450: assume true; local_#29660 := 2; local_#29661 := ~sand32(local_#6479_mask, local_#29660); if (local_#29661 != 0) { goto CFG_41578; } else { goto CFG_51451; } CFG_41578: assume true; local_#29662 := 114; local_#29663 := local_#33013_i; local_#29664 := 1; local_#33013_i := local_#29663 + local_#29664; assert { :LIR "66920" } { :check "overflow" } { :finding_ids "0" } local_#33013_i <= 2147483647; local_#29665 := { base : local_#6480_smask!base, offset : local_#6480_smask!offset + local_#29663 * 1 }; _memory[local_#29665] := local_#29662; goto CFG_51451; CFG_51451: assume true; local_#29666 := 4; local_#29667 := ~sand32(local_#6479_mask, local_#29666); if (local_#29667 != 0) { goto CFG_41579; } else { goto CFG_39049; } CFG_41579: assume true; local_#29668 := 108; local_#29669 := local_#33013_i; local_#29670 := 1; local_#33013_i := local_#29669 + local_#29670; assert { :LIR "66921" } { :check "overflow" } { :finding_ids "0" } local_#33013_i <= 2147483647; local_#29671 := { base : local_#6480_smask!base, offset : local_#6480_smask!offset + local_#29669 * 1 }; _memory[local_#29671] := local_#29668; goto CFG_39049; CFG_39049: assume true; local_#29672 := 0; local_#29673 := { base : local_#6480_smask!base, offset : local_#6480_smask!offset + local_#33013_i * 1 }; _memory[local_#29673] := local_#29672; local_#8312 := local_#6480_smask; goto CFG_38033; CFG_38033: assume true; } procedure routine_#35135_unpack(local_#6481_L_IN : { base : int, offset : int }) returns (local_#8313 : int) modifies _memory, _memory_ptr, _valid; { var local_#6481_L : { base : int, offset : int }; var local_#29674 : int; var local_#29675 : int; var local_#29676 : int; var local_#33015_i : int; var local_#29677 : int; var local_#29678 : int; var local_#29679 : int; var local_#29680 : int; var local_#29681 : int; var local_#29682 : int; var local_#30893 : int; var local_#29683 : int; var local_#29684 : int; var local_#33014_e : int; var local_#29685 : int; var local_#29686 : int; var local_#29687 : int; var local_#29688 : int; var local_#33016_n : int; var local_#29689 : int; var local_#29690 : int; var local_#29691 : int; var local_#29692 : int; var local_#29693 : int; var local_#29694 : int; var local_#29695 : int; var local_#29696 : int; var local_#29697 : int; var local_#29698 : int; var local_#29699 : int; var local_#29700 : int; var local_#29701 : int; var local_#29702 : int; var local_#29703 : int; var local_#29704 : { base : int, offset : int }; var local_#29705 : { base : int, offset : int }; var local_#29706 : int; local_#6481_L := local_#6481_L_IN; goto CFG_37123; CFG_37123: assume true; goto CFG_44894; CFG_44894: assume true; local_#29674 := 2; local_#29675 := 1; goto CFG_48982; CFG_48982: assume true; call local_#29676 := routine_#33841_luaL_optinteger(local_#6481_L,local_#29674,local_#29675); goto CFG_44895; CFG_44895: assume true; local_#33015_i := local_#29676; local_#29677 := 3; goto CFG_48983; CFG_48983: assume true; call local_#29678 := routine_#34000_lua_type(local_#6481_L,local_#29677); goto CFG_51452; CFG_51452: assume true; local_#29679 := 0; local_#29680 := (if local_#29678 <= local_#29679 then 1 else 0); if (local_#29680 != 0) { goto CFG_44897; } else { goto CFG_44896; } CFG_44896: assume true; local_#29681 := 3; goto CFG_48984; CFG_48984: assume true; call local_#29682 := routine_#33820_luaL_checkinteger(local_#6481_L,local_#29681); goto CFG_41580; CFG_41580: assume true; local_#30893 := local_#29682; goto CFG_51453; CFG_44897: assume true; local_#29683 := 1; goto CFG_48985; CFG_48985: assume true; call local_#29684 := routine_#33834_luaL_len(local_#6481_L,local_#29683); goto CFG_41581; CFG_41581: assume true; local_#30893 := local_#29684; goto CFG_51453; CFG_51453: assume true; local_#33014_e := local_#30893; local_#29685 := (if local_#33015_i > local_#33014_e then 1 else 0); if (local_#29685 != 0) { goto CFG_39052; } else { goto CFG_51454; } CFG_51454: assume true; local_#29686 := ~uwrap64(local_#33014_e); assert { :LIR "62097" } { :check "overflow" } { :finding_ids "0" } true; local_#29687 := ~uwrap64(local_#33015_i); assert { :LIR "64145" } { :check "overflow" } { :finding_ids "0" } true; assume { :symbol "~uwrap64" } true; local_#29688 := ~uwrap64(local_#29686 - local_#29687); assert { :LIR "68203" } { :check "overflow" } { :finding_ids "0" } true; local_#33016_n := local_#29688; local_#29689 := 2147483647; local_#29690 := (if local_#33016_n >= local_#29689 then 1 else 0); if (local_#29690 != 0) { goto CFG_44901; } else { goto CFG_44898; } CFG_44898: assume true; local_#29691 := 1; assume { :symbol "~uwrap64" } true; local_#33016_n := ~uwrap64(local_#33016_n + local_#29691); assert { :LIR "66922" } { :check "overflow" } { :finding_ids "0" } true; local_#29692 := local_#33016_n; assert { :LIR "62098" } { :check "overflow" } { :finding_ids "0" } local_#29692 <= 2147483647; goto CFG_48986; CFG_48986: assume true; call local_#29693 := routine_#33920_lua_checkstack(local_#6481_L,local_#29692); goto CFG_51455; CFG_51455: assume true; local_#29694 := (if local_#29693 != 0 then 0 else 1); if (local_#29694 != 0) { goto CFG_44901; } else { goto CFG_41889; } CFG_41889: assume true; goto CFG_51456; CFG_51456: assume true; local_#29695 := (if local_#33015_i < local_#33014_e then 1 else 0); if (local_#29695 != 0) { goto CFG_44900; } else { goto CFG_44899; } CFG_44899: assume true; local_#29696 := 1; goto CFG_48987; CFG_48987: assume true; call local_#29697 := routine_#33935_lua_geti(local_#6481_L,local_#29696,local_#33014_e); goto CFG_39050; CFG_39050: assume true; local_#29698 := local_#33016_n; assert { :LIR "62099" } { :check "overflow" } { :finding_ids "0" } local_#29698 <= 2147483647; local_#8313 := local_#29698; goto CFG_38034; CFG_44900: assume true; local_#29699 := 1; goto CFG_48988; CFG_48988: assume true; call local_#29700 := routine_#33935_lua_geti(local_#6481_L,local_#29699,local_#33015_i); goto CFG_45230; CFG_45230: assume true; local_#29701 := local_#33015_i; local_#29702 := 1; local_#33015_i := local_#29701 + local_#29702; assert { :LIR "66923" } { :check "overflow" } { :finding_ids "0" } local_#33015_i <= 9223372036854775807; local_#29703 := local_#29701; goto CFG_51456; CFG_44901: assume true; assume _memory[{ base : strlit_#70874!base, offset : strlit_#70874!offset + 26 }] == 0; local_#29704 := strlit_#70874; local_#29705 := { base : local_#29704!base, offset : local_#29704!offset + 0 * 1 }; assert { :LIR "64146" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48989; CFG_48989: assume true; call local_#29706 := routine_#33828_luaL_error(local_#6481_L,local_#29705,{ base : 0, offset : 0 }); goto CFG_39051; CFG_39051: assume true; local_#8313 := local_#29706; goto CFG_38034; CFG_39052: assume true; local_#8313 := 0; goto CFG_38034; CFG_38034: assume true; } procedure routine_#35136_unpackint(local_#6482_L_IN : { base : int, offset : int }, local_#6483_str_IN : { base : int, offset : int }, local_#6484_islittle_IN : int, local_#6485_size_IN : int, local_#6486_issigned_IN : int) returns (local_#8314 : int) modifies _memory, _memory_ptr, _valid; { var local_#6482_L : { base : int, offset : int }; var local_#6483_str : { base : int, offset : int }; var local_#6484_islittle : int; var local_#6485_size : int; var local_#6486_issigned : int; var local_#33019_res : int; var local_#29707 : int; var local_#29708 : int; var local_#30894 : int; var local_#33018_limit : int; var local_#29709 : int; var local_#29710 : int; var local_#33017_i : int; var local_#29711 : int; var local_#29712 : int; var local_#29713 : int; var local_#29714 : int; var local_#29715 : int; var local_#29716 : int; var local_#29717 : int; var local_#29718 : int; var local_#29719 : int; var local_#29720 : int; var local_#30895 : int; var local_#33021_mask : int; var local_#29721 : int; var local_#29722 : int; var local_#29723 : int; var local_#29724 : int; var local_#29725 : int; var local_#30896 : int; var local_#29726 : { base : int, offset : int }; var local_#29727 : int; var local_#29728 : int; var local_#29729 : int; var local_#29730 : { base : int, offset : int }; var local_#29731 : { base : int, offset : int }; var local_#29732 : int; var local_#29733 : int; var local_#29734 : int; var local_#29735 : int; var local_#29736 : int; var local_#29737 : int; var local_#29738 : int; var local_#29739 : int; var local_#29740 : int; var local_#29741 : int; var local_#29742 : int; var local_#33020_mask : int; var local_#29743 : int; var local_#29744 : int; var local_#29745 : int; var local_#29746 : int; var local_#29747 : int; var local_#29748 : int; var local_#29749 : int; var local_#29750 : int; var local_#30897 : int; var local_#29751 : { base : int, offset : int }; var local_#29752 : int; var local_#29753 : int; var local_#29754 : int; var local_#29755 : int; var local_#29756 : int; local_#6482_L := local_#6482_L_IN; local_#6483_str := local_#6483_str_IN; local_#6484_islittle := local_#6484_islittle_IN; local_#6485_size := local_#6485_size_IN; local_#6486_issigned := local_#6486_issigned_IN; goto CFG_37124; CFG_37124: assume true; goto CFG_51457; CFG_51457: assume true; local_#33019_res := 0; local_#29707 := 8; local_#29708 := (if local_#6485_size <= local_#29707 then 1 else 0); if (local_#29708 != 0) { goto CFG_41583; } else { goto CFG_41582; } CFG_41582: assume true; local_#30894 := 8; goto CFG_41890; CFG_41583: assume true; local_#30894 := local_#6485_size; goto CFG_41890; CFG_41890: assume true; local_#33018_limit := local_#30894; local_#29709 := 1; local_#29710 := local_#33018_limit - local_#29709; assert { :LIR "68204" } { :check "overflow" } { :finding_ids "0" } local_#29710 <= 2147483647; local_#33017_i := local_#29710; goto CFG_51458; CFG_51458: assume true; local_#29711 := 0; local_#29712 := (if local_#33017_i >= local_#29711 then 1 else 0); if (local_#29712 != 0) { goto CFG_51467; } else { goto CFG_51459; } CFG_51459: assume true; local_#29713 := 8; local_#29714 := (if local_#6485_size < local_#29713 then 1 else 0); if (local_#29714 != 0) { goto CFG_51466; } else { goto CFG_51460; } CFG_51460: assume true; local_#29715 := 8; local_#29716 := (if local_#6485_size > local_#29715 then 1 else 0); if (local_#29716 != 0) { goto CFG_51461; } else { goto CFG_41587; } CFG_51461: assume true; local_#29717 := (if local_#6486_issigned != 0 then 0 else 1); if (local_#29717 != 0) { goto CFG_41585; } else { goto CFG_51462; } CFG_51462: assume true; local_#29718 := local_#33019_res; assert { :LIR "62100" } { :check "overflow" } { :finding_ids "0" } local_#29718 <= 9223372036854775807; local_#29719 := 0; local_#29720 := (if local_#29718 >= local_#29719 then 1 else 0); if (local_#29720 != 0) { goto CFG_41585; } else { goto CFG_41584; } CFG_41584: assume true; local_#30895 := 255; goto CFG_41891; CFG_41585: assume true; local_#30895 := 0; goto CFG_41891; CFG_41891: assume true; local_#33021_mask := local_#30895; local_#33017_i := local_#33018_limit; goto CFG_51463; CFG_51463: assume true; local_#29721 := (if local_#33017_i < local_#6485_size then 1 else 0); if (local_#29721 != 0) { goto CFG_51464; } else { goto CFG_41586; } CFG_41586: assume true; goto CFG_41587; CFG_41587: assume true; goto CFG_39053; CFG_51464: assume true; local_#29722 := local_#6484_islittle; if (local_#29722 != 0) { goto CFG_41589; } else { goto CFG_41588; } CFG_41588: assume true; local_#29723 := 1; local_#29724 := local_#6485_size - local_#29723; assert { :LIR "68205" } { :check "overflow" } { :finding_ids "0" } local_#29724 <= 2147483647; local_#29725 := local_#29724 - local_#33017_i; assert { :LIR "68206" } { :check "overflow" } { :finding_ids "0" } local_#29725 <= 2147483647; local_#30896 := local_#29725; goto CFG_51465; CFG_41589: assume true; local_#30896 := local_#33017_i; goto CFG_51465; CFG_51465: assume true; local_#29726 := { base : local_#6483_str!base, offset : local_#6483_str!offset + local_#30896 * 1 }; local_#29727 := ~uwrap8(_memory[local_#29726]); assert { :LIR "62101" } { :check "overflow" } { :finding_ids "0" } true; local_#29728 := local_#29727; assert { :LIR "64147" } { :check "overflow" } { :finding_ids "0" } local_#29728 <= 2147483647; local_#29729 := (if local_#29728 != local_#33021_mask then 1 else 0); if (local_#29729 != 0) { goto CFG_44902; } else { goto CFG_45231; } CFG_44902: assume true; assume _memory[{ base : strlit_#70875!base, offset : strlit_#70875!offset + 45 }] == 0; local_#29730 := strlit_#70875; local_#29731 := { base : local_#29730!base, offset : local_#29730!offset + 0 * 1 }; assert { :LIR "64148" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_48990; CFG_48990: assume true; call local_#29732 := routine_#33828_luaL_error(local_#6482_L,local_#29731,{ base : 0, offset : 0 }); goto CFG_41590; CFG_41590: assume true; goto CFG_45231; CFG_45231: assume true; local_#29733 := local_#33017_i; local_#29734 := 1; local_#33017_i := local_#29733 + local_#29734; assert { :LIR "66924" } { :check "overflow" } { :finding_ids "0" } local_#33017_i <= 2147483647; local_#29735 := local_#29733; goto CFG_51463; CFG_51466: assume true; local_#29736 := local_#6486_issigned; if (local_#29736 != 0) { goto CFG_41591; } else { goto CFG_41592; } CFG_41591: assume true; local_#29737 := 1; local_#29738 := 8; local_#29739 := local_#6485_size * local_#29738; assert { :LIR "68627" } { :check "overflow" } { :finding_ids "0" } local_#29739 <= 2147483647; local_#29740 := 1; local_#29741 := local_#29739 - local_#29740; assert { :LIR "68207" } { :check "overflow" } { :finding_ids "0" } local_#29741 <= 2147483647; local_#29742 := ~shl64(local_#29737, local_#29741); local_#33020_mask := local_#29742; local_#29743 := ~uxor64(local_#33019_res, local_#33020_mask); assume { :symbol "~uwrap64" } true; local_#29744 := ~uwrap64(local_#29743 - local_#33020_mask); assert { :LIR "68208" } { :check "overflow" } { :finding_ids "0" } true; local_#33019_res := local_#29744; goto CFG_41592; CFG_41592: assume true; goto CFG_39053; CFG_39053: assume true; local_#29745 := local_#33019_res; assert { :LIR "62102" } { :check "overflow" } { :finding_ids "0" } local_#29745 <= 9223372036854775807; local_#8314 := local_#29745; goto CFG_38035; CFG_51467: assume true; local_#29746 := 8; local_#33019_res := ~shl64(local_#33019_res, local_#29746); local_#29747 := local_#6484_islittle; if (local_#29747 != 0) { goto CFG_41594; } else { goto CFG_41593; } CFG_41593: assume true; local_#29748 := 1; local_#29749 := local_#6485_size - local_#29748; assert { :LIR "68209" } { :check "overflow" } { :finding_ids "0" } local_#29749 <= 2147483647; local_#29750 := local_#29749 - local_#33017_i; assert { :LIR "68210" } { :check "overflow" } { :finding_ids "0" } local_#29750 <= 2147483647; local_#30897 := local_#29750; goto CFG_44903; CFG_41594: assume true; local_#30897 := local_#33017_i; goto CFG_44903; CFG_44903: assume true; local_#29751 := { base : local_#6483_str!base, offset : local_#6483_str!offset + local_#30897 * 1 }; local_#29752 := ~uwrap8(_memory[local_#29751]); assert { :LIR "62103" } { :check "overflow" } { :finding_ids "0" } true; local_#29753 := ~uwrap64(local_#29752); assert { :LIR "62104" } { :check "overflow" } { :finding_ids "0" } true; local_#33019_res := ~uor64(local_#33019_res, local_#29753); goto CFG_45232; CFG_45232: assume true; local_#29754 := local_#33017_i; local_#29755 := 1; local_#33017_i := local_#29754 - local_#29755; assert { :LIR "68211" } { :check "overflow" } { :finding_ids "0" } local_#33017_i <= 2147483647; local_#29756 := local_#29754; goto CFG_51458; CFG_38035: assume true; } procedure routine_#35137_unroll(local_#6487_L_IN : { base : int, offset : int }, local_#6488_ud_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6487_L : { base : int, offset : int }; var local_#6488_ud : { base : int, offset : int }; var local_#29757 : { base : int, offset : int }; var local_#29758 : int; var local_#29759 : { base : int, offset : int }; var local_#29760 : int; var local_#29761 : int; var local_#29762 : { base : int, offset : int }; var local_#29763 : int; var local_#29764 : int; var local_#29765 : int; var local_#29766 : int; var local_#29767 : int; local_#6487_L := local_#6487_L_IN; local_#6488_ud := local_#6488_ud_IN; goto CFG_37125; CFG_37125: assume true; goto CFG_51468; CFG_51468: assume true; local_#29757 := { base : 0, offset : 0 }; local_#29758 := (if local_#6488_ud != local_#29757 then 1 else 0); if (local_#29758 != 0) { goto CFG_44904; } else { goto CFG_41892; } CFG_44904: assume true; local_#29759 := local_#6488_ud; assert { :LIR "62105" } { :check "overflow" } { :finding_ids "0" } true; local_#29760 := _memory[local_#29759]; goto CFG_48991; CFG_48991: assume true; call routine_#34751_finishCcall(local_#6487_L,local_#29760); goto CFG_41595; CFG_41595: assume true; goto CFG_41892; CFG_41892: assume true; goto CFG_51469; CFG_51469: assume true; local_#29761 := (if _memory_ptr[{ base : local_#6487_L!base, offset : local_#6487_L!offset + 32 }] != { base : local_#6487_L!base, offset : local_#6487_L!offset + 96 } then 1 else 0); if (local_#29761 != 0) { goto CFG_51470; } else { goto CFG_39449; } CFG_39449: assume true; goto CFG_38036; CFG_51470: assume true; local_#29762 := _memory_ptr[{ base : local_#6487_L!base, offset : local_#6487_L!offset + 32 }]; local_#29763 := _memory[{ base : local_#29762!base, offset : local_#29762!offset + 66 }]; assert { :LIR "64149" } { :check "overflow" } { :finding_ids "0" } local_#29763 <= 2147483647; local_#29764 := 2; local_#29765 := ~sand32(local_#29763, local_#29764); local_#29766 := (if local_#29765 != 0 then 0 else 1); if (local_#29766 != 0) { goto CFG_44905; } else { goto CFG_48992; } CFG_48992: assume true; call routine_#33895_luaV_finishOp(local_#6487_L); goto CFG_48993; CFG_48993: assume true; call routine_#33894_luaV_execute(local_#6487_L); goto CFG_41596; CFG_41596: assume true; goto CFG_45233; CFG_44905: assume true; local_#29767 := 1; goto CFG_48994; CFG_48994: assume true; call routine_#34751_finishCcall(local_#6487_L,local_#29767); goto CFG_41597; CFG_41597: assume true; goto CFG_45233; CFG_45233: assume true; goto CFG_51469; CFG_38036: assume true; } procedure routine_#35138_upvalname(local_#6489_p_IN : { base : int, offset : int }, local_#6490_uv_IN : int) returns (local_#8315 : { base : int, offset : int }) { var local_#6489_p : { base : int, offset : int }; var local_#6490_uv : int; var local_#29768 : { base : int, offset : int }; var local_#33022_s : { base : int, offset : int }; var local_#29769 : { base : int, offset : int }; var local_#29770 : int; var local_#29771 : { base : int, offset : int }; var local_#29772 : int; var local_#29773 : { base : int, offset : int }; var local_#29774 : { base : int, offset : int }; var local_#29775 : { base : int, offset : int }; var local_#29776 : { base : int, offset : int }; local_#6489_p := local_#6489_p_IN; local_#6490_uv := local_#6490_uv_IN; goto CFG_37126; CFG_37126: assume true; goto CFG_51471; CFG_51471: assume true; local_#29768 := { base : _memory_ptr[{ base : local_#6489_p!base, offset : local_#6489_p!offset + 88 }]!base, offset : _memory_ptr[{ base : local_#6489_p!base, offset : local_#6489_p!offset + 88 }]!offset + local_#6490_uv * 16 }; local_#33022_s := _memory_ptr[{ base : local_#29768!base, offset : local_#29768!offset + 0 }]; local_#29769 := { base : 0, offset : 0 }; local_#29770 := (if local_#33022_s == local_#29769 then 1 else 0); if (local_#29770 != 0) { goto CFG_39055; } else { goto CFG_39054; } CFG_39054: assume true; local_#29771 := local_#33022_s; assert { :LIR "62106" } { :check "overflow" } { :finding_ids "0" } true; local_#29772 := 24; local_#29773 := { base : local_#29771!base, offset : local_#29771!offset + local_#29772 * 1 }; local_#29774 := local_#29773; assert { :LIR "64150" } { :check "overflow" } { :finding_ids "0" } true; local_#8315 := local_#29774; goto CFG_38037; CFG_39055: assume true; assume _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 0 }] == 63 && _memory[{ base : strlit_#70307!base, offset : strlit_#70307!offset + 1 }] == 0; local_#29775 := strlit_#70307; local_#29776 := { base : local_#29775!base, offset : local_#29775!offset + 0 * 1 }; assert { :LIR "64151" } { :check "overflow" } { :finding_ids "0" } true; local_#8315 := local_#29776; goto CFG_38037; CFG_38037: assume true; } procedure routine_#35139_utf8_decode(local_#6491_o_IN : { base : int, offset : int }, local_#6492_val_IN : { base : int, offset : int }) returns (local_#8316 : { base : int, offset : int }) modifies _memory; { var local_#6491_o : { base : int, offset : int }; var local_#6492_val : { base : int, offset : int }; var local_#29777 : { base : int, offset : int }; var local_#33025_s : { base : int, offset : int }; var local_#29778 : int; var local_#29779 : { base : int, offset : int }; var local_#29780 : int; var local_#33023_c : int; var local_#33024_res : int; var local_#29781 : int; var local_#29782 : int; var local_#33026_count : int; var local_#29783 : int; var local_#29784 : int; var local_#29785 : int; var local_#29786 : int; var local_#29787 : int; var local_#29788 : int; var local_#29789 : int; var local_#29790 : int; var local_#29791 : int; var local_#29792 : int; var local_#29793 : int; var local_#29794 : int; var local_#29795 : int; var local_#29796 : { base : int, offset : int }; var local_#29797 : int; var local_#33027_cc : int; var local_#29798 : int; var local_#29799 : int; var local_#29800 : int; var local_#29801 : int; var local_#29802 : int; var local_#29803 : int; var local_#29804 : int; var local_#29805 : int; var local_#29806 : int; var local_#29807 : int; var local_#29808 : int; var local_#29809 : { base : int, offset : int }; var local_#29810 : int; var local_#29811 : { base : int, offset : int }; var local_#29812 : int; var local_#29813 : { base : int, offset : int }; local_#6491_o := local_#6491_o_IN; local_#6492_val := local_#6492_val_IN; goto CFG_37127; CFG_37127: assume true; goto CFG_51472; CFG_51472: assume true; local_#29777 := local_#6491_o; assert { :LIR "62107" } { :check "overflow" } { :finding_ids "0" } true; local_#33025_s := local_#29777; local_#29778 := 0; local_#29779 := { base : local_#33025_s!base, offset : local_#33025_s!offset + local_#29778 * 1 }; local_#29780 := ~uwrap32(_memory[local_#29779]); assert { :LIR "64152" } { :check "overflow" } { :finding_ids "0" } true; local_#33023_c := local_#29780; local_#33024_res := 0; local_#29781 := 128; local_#29782 := (if local_#33023_c < local_#29781 then 1 else 0); if (local_#29782 != 0) { goto CFG_41599; } else { goto CFG_41893; } CFG_41893: assume true; local_#33026_count := 0; goto CFG_51473; CFG_51473: assume true; local_#29783 := 64; local_#29784 := ~uand32(local_#33023_c, local_#29783); if (local_#29784 != 0) { goto CFG_51477; } else { goto CFG_51474; } CFG_51474: assume true; local_#29785 := 127; local_#29786 := ~uand32(local_#33023_c, local_#29785); local_#29787 := 5; local_#29788 := local_#33026_count * local_#29787; assert { :LIR "68628" } { :check "overflow" } { :finding_ids "0" } local_#29788 <= 2147483647; local_#29789 := ~shl32(local_#29786, local_#29788); local_#33024_res := ~uor32(local_#33024_res, local_#29789); local_#29790 := 3; local_#29791 := (if local_#33026_count > local_#29790 then 1 else 0); if (local_#29791 != 0) { goto CFG_39056; } else { goto CFG_51475; } CFG_51475: assume true; local_#29792 := 1114111; local_#29793 := (if local_#33024_res > local_#29792 then 1 else 0); if (local_#29793 != 0) { goto CFG_39056; } else { goto CFG_51476; } CFG_51476: assume true; local_#29794 := (if local_#33024_res <= _memory[{ base : global_#31170_limits!base, offset : global_#31170_limits!offset + local_#33026_count * 4 }] then 1 else 0); if (local_#29794 != 0) { goto CFG_39056; } else { goto CFG_41598; } CFG_41598: assume true; local_#33025_s := { base : local_#33025_s!base, offset : local_#33025_s!offset + local_#33026_count * 1 }; goto CFG_51478; CFG_39056: assume true; local_#8316 := { base : 0, offset : 0 }; goto CFG_38038; CFG_51477: assume true; local_#29795 := 1; local_#33026_count := local_#33026_count + local_#29795; assert { :LIR "66925" } { :check "overflow" } { :finding_ids "0" } local_#33026_count <= 2147483647; local_#29796 := { base : local_#33025_s!base, offset : local_#33025_s!offset + local_#33026_count * 1 }; local_#29797 := _memory[local_#29796]; assert { :LIR "64153" } { :check "overflow" } { :finding_ids "0" } local_#29797 <= 2147483647; local_#33027_cc := local_#29797; local_#29798 := 192; local_#29799 := ~sand32(local_#33027_cc, local_#29798); local_#29800 := 128; local_#29801 := (if local_#29799 != local_#29800 then 1 else 0); if (local_#29801 != 0) { goto CFG_39057; } else { goto CFG_45234; } CFG_45234: assume true; local_#29802 := 6; local_#29803 := ~shl32(local_#33024_res, local_#29802); local_#29804 := 63; local_#29805 := ~sand32(local_#33027_cc, local_#29804); local_#29806 := ~uwrap32(local_#29805); assert { :LIR "64154" } { :check "overflow" } { :finding_ids "0" } true; local_#29807 := ~uor32(local_#29803, local_#29806); local_#33024_res := local_#29807; local_#29808 := 1; local_#33023_c := ~shl32(local_#33023_c, local_#29808); goto CFG_51473; CFG_39057: assume true; local_#8316 := { base : 0, offset : 0 }; goto CFG_38038; CFG_41599: assume true; local_#33024_res := local_#33023_c; goto CFG_51478; CFG_51478: assume true; local_#29809 := local_#6492_val; if (local_#29809 != { base : 0, offset : 0 }) { goto CFG_41600; } else { goto CFG_39058; } CFG_41600: assume true; local_#29810 := local_#33024_res; assert { :LIR "64155" } { :check "overflow" } { :finding_ids "0" } local_#29810 <= 2147483647; _memory[local_#6492_val] := local_#29810; goto CFG_39058; CFG_39058: assume true; local_#29811 := local_#33025_s; assert { :LIR "62108" } { :check "overflow" } { :finding_ids "0" } true; local_#29812 := 1; local_#29813 := { base : local_#29811!base, offset : local_#29811!offset + local_#29812 * 1 }; local_#8316 := local_#29813; goto CFG_38038; CFG_38038: assume true; } procedure routine_#35140_utf8esc(local_#6493_ls_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6493_ls : { base : int, offset : int }; var local_#33028_buff : { base : int, offset : int }; var local_#29814 : { base : int, offset : int }; var local_#29815 : int; var local_#29816 : int; var local_#33029_n : int; var local_#29817 : int; var local_#29818 : int; var local_#29819 : int; var local_#29820 : int; var local_#29821 : int; var local_#29822 : int; var local_#29823 : int; var local_#29824 : int; local_#6493_ls := local_#6493_ls_IN; goto CFG_37128; CFG_37128: assume true; goto CFG_44906; CFG_44906: assume true; local_#29814 := { base : local_#33028_buff!base, offset : local_#33028_buff!offset + 0 * 1 }; goto CFG_48995; CFG_48995: assume true; call local_#29815 := routine_#35022_readutf8esc(local_#6493_ls); goto CFG_48996; CFG_48996: assume true; call local_#29816 := routine_#33869_luaO_utf8esc(local_#29814,local_#29815); goto CFG_41894; CFG_41894: assume true; local_#33029_n := local_#29816; goto CFG_51479; CFG_51479: assume true; local_#29817 := 0; local_#29818 := (if local_#33029_n > local_#29817 then 1 else 0); if (local_#29818 != 0) { goto CFG_44907; } else { goto CFG_39450; } CFG_39450: assume true; goto CFG_38039; CFG_44907: assume true; local_#29819 := 8; local_#29820 := local_#29819 - local_#33029_n; assert { :LIR "68212" } { :check "overflow" } { :finding_ids "0" } local_#29820 <= 2147483647; local_#29821 := _memory[{ base : local_#33028_buff!base, offset : local_#33028_buff!offset + local_#29820 * 1 }]; assert { :LIR "64156" } { :check "overflow" } { :finding_ids "0" } local_#29821 <= 2147483647; goto CFG_48997; CFG_48997: assume true; call routine_#35043_save(local_#6493_ls,local_#29821); goto CFG_45235; CFG_45235: assume true; local_#29822 := local_#33029_n; local_#29823 := 1; local_#33029_n := local_#29822 - local_#29823; assert { :LIR "68213" } { :check "overflow" } { :finding_ids "0" } local_#33029_n <= 2147483647; local_#29824 := local_#29822; goto CFG_51479; CFG_38039: assume true; } procedure routine_#35141_utfchar(local_#6494_L_IN : { base : int, offset : int }) returns (local_#8317 : int) modifies _memory, _memory_ptr, _valid; { var local_#6494_L : { base : int, offset : int }; var local_#29825 : int; var local_#33030_n : int; var local_#29826 : int; var local_#29827 : int; var local_#33031_b : { base : int, offset : int }; var local_#29828 : { base : int, offset : int }; var local_#33032_i : int; var local_#29829 : int; var local_#29830 : { base : int, offset : int }; var local_#29831 : { base : int, offset : int }; var local_#29832 : int; var local_#29833 : int; var local_#29834 : int; var local_#29835 : int; local_#6494_L := local_#6494_L_IN; goto CFG_37129; CFG_37129: assume true; goto CFG_48998; CFG_48998: assume true; call local_#29825 := routine_#33941_lua_gettop(local_#6494_L); goto CFG_51480; CFG_51480: assume true; local_#33030_n := local_#29825; local_#29826 := 1; local_#29827 := (if local_#33030_n == local_#29826 then 1 else 0); if (local_#29827 != 0) { goto CFG_44911; } else { goto CFG_44908; } CFG_44908: assume true; local_#29828 := local_#33031_b; goto CFG_48999; CFG_48999: assume true; call routine_#33816_luaL_buffinit(local_#6494_L,local_#29828); goto CFG_41895; CFG_41895: assume true; local_#33032_i := 1; goto CFG_51481; CFG_51481: assume true; local_#29829 := (if local_#33032_i <= local_#33030_n then 1 else 0); if (local_#29829 != 0) { goto CFG_49001; } else { goto CFG_44909; } CFG_44909: assume true; local_#29830 := local_#33031_b; goto CFG_49000; CFG_49000: assume true; call routine_#33845_luaL_pushresult(local_#29830); goto CFG_41601; CFG_41601: assume true; goto CFG_39059; CFG_49001: assume true; call routine_#35010_pushutfchar(local_#6494_L,local_#33032_i); goto CFG_44910; CFG_44910: assume true; local_#29831 := local_#33031_b; goto CFG_49002; CFG_49002: assume true; call routine_#33814_luaL_addvalue(local_#29831); goto CFG_45236; CFG_45236: assume true; local_#29832 := local_#33032_i; local_#29833 := 1; local_#33032_i := local_#29832 + local_#29833; assert { :LIR "66926" } { :check "overflow" } { :finding_ids "0" } local_#33032_i <= 2147483647; local_#29834 := local_#29832; goto CFG_51481; CFG_44911: assume true; local_#29835 := 1; goto CFG_49003; CFG_49003: assume true; call routine_#35010_pushutfchar(local_#6494_L,local_#29835); goto CFG_41602; CFG_41602: assume true; goto CFG_39059; CFG_39059: assume true; local_#8317 := 1; goto CFG_38040; CFG_38040: assume true; } procedure routine_#35142_utflen(local_#6495_L_IN : { base : int, offset : int }) returns (local_#8318 : int) modifies _memory, _memory_ptr, _valid; { var local_#6495_L : { base : int, offset : int }; var local_#33034_n : int; var local_#29836 : int; var local_#33033_len : { base : int, offset : int }; var local_#29837 : { base : int, offset : int }; var local_#29838 : { base : int, offset : int }; var local_#33037_s : { base : int, offset : int }; var local_#29839 : int; var local_#29840 : int; var local_#29841 : int; var local_#29842 : int; var local_#33035_posi : int; var local_#29843 : int; var local_#29844 : int; var local_#29845 : int; var local_#29846 : int; var local_#33036_posj : int; var local_#29847 : int; var local_#29848 : int; var local_#29849 : int; var local_#29850 : int; var local_#29851 : int; var local_#29852 : int; var local_#29853 : { base : int, offset : int }; var local_#29854 : { base : int, offset : int }; var local_#29855 : int; var local_#29856 : int; var local_#30898 : int; var local_#29857 : int; var local_#29858 : int; var local_#29859 : int; var local_#29860 : int; var local_#29861 : int; var local_#29862 : { base : int, offset : int }; var local_#29863 : { base : int, offset : int }; var local_#29864 : int; var local_#29865 : int; var local_#30899 : int; var local_#29866 : int; var local_#29867 : int; var local_#29868 : int; var local_#29869 : { base : int, offset : int }; var local_#29870 : { base : int, offset : int }; var local_#29871 : { base : int, offset : int }; var local_#33038_s1 : { base : int, offset : int }; var local_#29872 : { base : int, offset : int }; var local_#29873 : int; var local_#29874 : int; var local_#29875 : int; var local_#29876 : int; var local_#29877 : int; var local_#29878 : int; var local_#29879 : int; var local_#29880 : int; local_#6495_L := local_#6495_L_IN; goto CFG_37130; CFG_37130: assume true; goto CFG_44912; CFG_44912: assume true; local_#33034_n := 0; local_#29836 := 1; local_#29837 := local_#33033_len; goto CFG_49004; CFG_49004: assume true; call local_#29838 := routine_#33821_luaL_checklstring(local_#6495_L,local_#29836,local_#29837); goto CFG_44913; CFG_44913: assume true; local_#33037_s := local_#29838; local_#29839 := 2; local_#29840 := 1; goto CFG_49005; CFG_49005: assume true; call local_#29841 := routine_#33841_luaL_optinteger(local_#6495_L,local_#29839,local_#29840); goto CFG_49006; CFG_49006: assume true; call local_#29842 := routine_#35130_u_posrelat(local_#29841,_memory[local_#33033_len]); goto CFG_44914; CFG_44914: assume true; local_#33035_posi := local_#29842; local_#29843 := 3; local_#29844 := -1; goto CFG_49007; CFG_49007: assume true; call local_#29845 := routine_#33841_luaL_optinteger(local_#6495_L,local_#29843,local_#29844); goto CFG_49008; CFG_49008: assume true; call local_#29846 := routine_#35130_u_posrelat(local_#29845,_memory[local_#33033_len]); goto CFG_51482; CFG_51482: assume true; local_#33036_posj := local_#29846; local_#29847 := 1; local_#29848 := (if local_#29847 <= local_#33035_posi then 1 else 0); if (local_#29848 != 0) { goto CFG_51483; } else { goto CFG_44915; } CFG_51483: assume true; local_#29849 := 1; local_#33035_posi := local_#33035_posi - local_#29849; assert { :LIR "68214" } { :check "overflow" } { :finding_ids "0" } local_#33035_posi <= 9223372036854775807; local_#29850 := _memory[local_#33033_len]; assert { :LIR "62109" } { :check "overflow" } { :finding_ids "0" } local_#29850 <= 9223372036854775807; local_#29851 := (if local_#33035_posi <= local_#29850 then 1 else 0); if (local_#29851 != 0) { goto CFG_41604; } else { goto CFG_44915; } CFG_44915: assume true; local_#29852 := 2; assume _memory[{ base : strlit_#70854!base, offset : strlit_#70854!offset + 30 }] == 0; local_#29853 := strlit_#70854; local_#29854 := { base : local_#29853!base, offset : local_#29853!offset + 0 * 1 }; assert { :LIR "64157" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49009; CFG_49009: assume true; call local_#29855 := routine_#33815_luaL_argerror(local_#6495_L,local_#29852,local_#29854); goto CFG_51484; CFG_51484: assume true; local_#29856 := local_#29855; if (local_#29856 != 0) { goto CFG_41604; } else { goto CFG_41603; } CFG_41603: assume true; local_#30898 := 0; goto CFG_51485; CFG_41604: assume true; local_#30898 := 1; goto CFG_51485; CFG_51485: assume true; local_#29857 := 0; assert { :LIR "62110" } { :check "overflow" } { :finding_ids "0" } true; local_#29858 := 1; local_#33036_posj := local_#33036_posj - local_#29858; assert { :LIR "68215" } { :check "overflow" } { :finding_ids "0" } local_#33036_posj <= 9223372036854775807; local_#29859 := _memory[local_#33033_len]; assert { :LIR "62111" } { :check "overflow" } { :finding_ids "0" } local_#29859 <= 9223372036854775807; local_#29860 := (if local_#33036_posj < local_#29859 then 1 else 0); if (local_#29860 != 0) { goto CFG_41606; } else { goto CFG_44916; } CFG_44916: assume true; local_#29861 := 3; assume _memory[{ base : strlit_#70878!base, offset : strlit_#70878!offset + 28 }] == 0; local_#29862 := strlit_#70878; local_#29863 := { base : local_#29862!base, offset : local_#29862!offset + 0 * 1 }; assert { :LIR "64158" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49010; CFG_49010: assume true; call local_#29864 := routine_#33815_luaL_argerror(local_#6495_L,local_#29861,local_#29863); goto CFG_51486; CFG_51486: assume true; local_#29865 := local_#29864; if (local_#29865 != 0) { goto CFG_41606; } else { goto CFG_41605; } CFG_41605: assume true; local_#30899 := 0; goto CFG_41896; CFG_41606: assume true; local_#30899 := 1; goto CFG_41896; CFG_41896: assume true; local_#29866 := 0; assert { :LIR "62112" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_51487; CFG_51487: assume true; local_#29867 := (if local_#33035_posi <= local_#33036_posj then 1 else 0); if (local_#29867 != 0) { goto CFG_44918; } else { goto CFG_44917; } CFG_44917: assume true; local_#29868 := local_#33034_n; assert { :LIR "64159" } { :check "overflow" } { :finding_ids "0" } local_#29868 <= 9223372036854775807; goto CFG_49011; CFG_49011: assume true; call routine_#33960_lua_pushinteger(local_#6495_L,local_#29868); goto CFG_39060; CFG_39060: assume true; local_#8318 := 1; goto CFG_38041; CFG_44918: assume true; local_#29869 := { base : local_#33037_s!base, offset : local_#33037_s!offset + local_#33035_posi * 1 }; local_#29870 := { base : 0, offset : 0 }; goto CFG_49012; CFG_49012: assume true; call local_#29871 := routine_#35139_utf8_decode(local_#29869,local_#29870); goto CFG_51488; CFG_51488: assume true; local_#33038_s1 := local_#29871; local_#29872 := { base : 0, offset : 0 }; local_#29873 := (if local_#33038_s1 == local_#29872 then 1 else 0); if (local_#29873 != 0) { goto CFG_49013; } else { goto CFG_45237; } CFG_45237: assume true; local_#29874 := (local_#33038_s1!offset - local_#33037_s!offset) / 1; local_#29875 := local_#29874; assert { :LIR "64160" } { :check "overflow" } { :finding_ids "0" } local_#29875 <= 9223372036854775807; local_#33035_posi := local_#29875; local_#29876 := local_#33034_n; local_#29877 := 1; local_#33034_n := local_#29876 + local_#29877; assert { :LIR "66927" } { :check "overflow" } { :finding_ids "0" } local_#33034_n <= 2147483647; local_#29878 := local_#29876; goto CFG_51487; CFG_49013: assume true; call routine_#33963_lua_pushnil(local_#6495_L); goto CFG_44919; CFG_44919: assume true; local_#29879 := 1; local_#29880 := local_#33035_posi + local_#29879; assert { :LIR "66928" } { :check "overflow" } { :finding_ids "0" } local_#29880 <= 9223372036854775807; goto CFG_49014; CFG_49014: assume true; call routine_#33960_lua_pushinteger(local_#6495_L,local_#29880); goto CFG_39061; CFG_39061: assume true; local_#8318 := 2; goto CFG_38041; CFG_38041: assume true; } procedure routine_#35143_validop(local_#6496_op_IN : int, local_#6497_v1_IN : { base : int, offset : int }, local_#6498_v2_IN : { base : int, offset : int }) returns (local_#8319 : int) modifies _memory, _memory_ptr; { var local_#6496_op : int; var local_#6497_v1 : { base : int, offset : int }; var local_#6498_v2 : { base : int, offset : int }; var local_#29881 : int; var local_#29882 : int; var local_#29883 : int; var local_#29884 : { base : int, offset : int }; var nondet_#0 : int; var local_#30900 : int; var local_#29885 : { base : int, offset : int }; var nondet_#1 : int; var local_#29886 : int; var nondet_#2 : int; var local_#29887 : int; var nondet_#3 : bool; var local_#29888 : int; var local_#29889 : int; var local_#29890 : int; var local_#29891 : { base : int, offset : int }; var local_#33039_i : { base : int, offset : int }; var local_#29892 : { base : int, offset : int }; var local_#29893 : int; var local_#29894 : int; var local_#29895 : int; var local_#29896 : { base : int, offset : int }; var local_#29897 : int; var local_#29898 : int; var local_#29899 : int; var local_#29900 : int; var local_#29901 : { base : int, offset : int }; var local_#29902 : { base : int, offset : int }; var local_#29903 : int; var local_#29904 : int; var local_#29905 : int; var local_#29906 : { base : int, offset : int }; var local_#29907 : int; var local_#29908 : int; var local_#30901 : int; local_#6496_op := local_#6496_op_IN; local_#6497_v1 := local_#6497_v1_IN; local_#6498_v2 := local_#6498_v2_IN; goto CFG_37131; CFG_37131: assume true; goto CFG_51579; CFG_51579: assume true; local_#29881 := local_#6496_op; if (local_#29881 == 7) { goto CFG_51490; } if (local_#29881 == 8) { goto CFG_51490; } if (local_#29881 == 9) { goto CFG_51490; } if (local_#29881 == 10) { goto CFG_51490; } if (local_#29881 == 11) { goto CFG_51490; } if (local_#29881 == 13) { goto CFG_51490; } if (local_#29881 == 5) { goto CFG_51489; } if (local_#29881 == 6) { goto CFG_51489; } if (local_#29881 == 3) { goto CFG_51489; } goto CFG_39062; CFG_39062: assume true; local_#8319 := 1; goto CFG_38042; CFG_51489: assume true; local_#29882 := 19; local_#29883 := (if _memory[{ base : local_#6498_v2!base, offset : local_#6498_v2!offset + 8 }] == local_#29882 then 1 else 0); if (local_#29883 != 0) { goto CFG_41608; } else { goto CFG_41607; } CFG_41607: assume true; local_#29884 := { base : local_#6498_v2!base, offset : local_#6498_v2!offset + 0 }; havoc nondet_#0; local_#30900 := nondet_#0 /* IR2BOOGIE-ERROR: Type IRType491 not supported in boogie_read_from_memory */; goto CFG_39063; CFG_41608: assume true; local_#29885 := { base : local_#6498_v2!base, offset : local_#6498_v2!offset + 0 }; havoc nondet_#1; local_#29886 := nondet_#1 /* IR2BOOGIE-ERROR: To Type IRType491 is not supported in conversion 62113 */; assert { :LIR "62113" } { :check "overflow" } { :finding_ids "0" } true; local_#30900 := local_#29886; goto CFG_39063; CFG_39063: assume true; havoc nondet_#2; local_#29887 := nondet_#2 /* IR2BOOGIE-ERROR: Literal Instruction not supported: 78640 */; havoc nondet_#3; local_#29888 := (if nondet_#3 /* IR2BOOGIE-ERROR: Unsupported type for relation != in 65692. */ then 1 else 0); local_#8319 := local_#29888; goto CFG_38042; CFG_51490: assume true; local_#29889 := 19; local_#29890 := (if _memory[{ base : local_#6497_v1!base, offset : local_#6497_v1!offset + 8 }] == local_#29889 then 1 else 0); if (local_#29890 != 0) { goto CFG_51492; } else { goto CFG_44920; } CFG_44920: assume true; local_#29891 := local_#6497_v1; assert { :LIR "64161" } { :check "overflow" } { :finding_ids "0" } true; local_#29892 := local_#33039_i; local_#29893 := 0; goto CFG_49015; CFG_49015: assume true; call local_#29894 := routine_#33903_luaV_tointeger(local_#29891,local_#29892,local_#29893); goto CFG_51491; CFG_51491: assume true; local_#29895 := local_#29894; if (local_#29895 != 0) { goto CFG_51493; } else { goto CFG_41609; } CFG_51492: assume true; local_#29896 := { base : local_#6497_v1!base, offset : local_#6497_v1!offset + 0 }; _memory[local_#33039_i] := _memory[local_#29896]; local_#29897 := _memory[local_#33039_i]; local_#29898 := 1; if (local_#29898 != 0) { goto CFG_51493; } else { goto CFG_41609; } CFG_51493: assume true; local_#29899 := 19; local_#29900 := (if _memory[{ base : local_#6498_v2!base, offset : local_#6498_v2!offset + 8 }] == local_#29899 then 1 else 0); if (local_#29900 != 0) { goto CFG_51495; } else { goto CFG_44921; } CFG_44921: assume true; local_#29901 := local_#6498_v2; assert { :LIR "64162" } { :check "overflow" } { :finding_ids "0" } true; local_#29902 := local_#33039_i; local_#29903 := 0; goto CFG_49016; CFG_49016: assume true; call local_#29904 := routine_#33903_luaV_tointeger(local_#29901,local_#29902,local_#29903); goto CFG_51494; CFG_51494: assume true; local_#29905 := local_#29904; if (local_#29905 != 0) { goto CFG_41610; } else { goto CFG_41609; } CFG_51495: assume true; local_#29906 := { base : local_#6498_v2!base, offset : local_#6498_v2!offset + 0 }; _memory[local_#33039_i] := _memory[local_#29906]; local_#29907 := _memory[local_#33039_i]; local_#29908 := 1; if (local_#29908 != 0) { goto CFG_41610; } else { goto CFG_41609; } CFG_41609: assume true; local_#30901 := 0; goto CFG_39064; CFG_41610: assume true; local_#30901 := 1; goto CFG_39064; CFG_39064: assume true; local_#8319 := local_#30901; goto CFG_38042; CFG_38042: assume true; } procedure routine_#35144_varinfo(local_#6499_L_IN : { base : int, offset : int }, local_#6500_o_IN : { base : int, offset : int }) returns (local_#8320 : { base : int, offset : int }) modifies _memory, _memory_ptr, _valid; { var local_#6499_L : { base : int, offset : int }; var local_#6500_o : { base : int, offset : int }; var local_#33042_name : { base : int, offset : int }; var local_#33040_ci : { base : int, offset : int }; var local_#33041_kind : { base : int, offset : int }; var local_#29909 : int; var local_#29910 : int; var local_#29911 : int; var local_#29912 : { base : int, offset : int }; var local_#29913 : { base : int, offset : int }; var local_#29914 : int; var local_#29915 : int; var local_#29916 : int; var local_#29917 : { base : int, offset : int }; var local_#29918 : { base : int, offset : int }; var local_#29919 : { base : int, offset : int }; var local_#29920 : { base : int, offset : int }; var local_#29921 : { base : int, offset : int }; var local_#29922 : { base : int, offset : int }; var local_#29923 : int; var local_#29924 : { base : int, offset : int }; var local_#29925 : int; var local_#29926 : int; var local_#29927 : { base : int, offset : int }; var local_#29928 : { base : int, offset : int }; var local_#29929 : { base : int, offset : int }; var local_#29930 : { base : int, offset : int }; var local_#29931 : { base : int, offset : int }; var local_#30902 : { base : int, offset : int }; var local_#29932 : { base : int, offset : int }; var local_#29933 : { base : int, offset : int }; var local_#29934 : { base : int, offset : int }; local_#6499_L := local_#6499_L_IN; local_#6500_o := local_#6500_o_IN; goto CFG_37132; CFG_37132: assume true; goto CFG_51496; CFG_51496: assume true; _memory_ptr[local_#33042_name] := { base : 0, offset : 0 }; local_#33040_ci := _memory_ptr[{ base : local_#6499_L!base, offset : local_#6499_L!offset + 32 }]; local_#33041_kind := { base : 0, offset : 0 }; local_#29909 := _memory[{ base : local_#33040_ci!base, offset : local_#33040_ci!offset + 66 }]; assert { :LIR "64163" } { :check "overflow" } { :finding_ids "0" } local_#29909 <= 2147483647; local_#29910 := 2; local_#29911 := ~sand32(local_#29909, local_#29910); if (local_#29911 != 0) { goto CFG_44922; } else { goto CFG_51499; } CFG_44922: assume true; local_#29912 := local_#33042_name; goto CFG_49017; CFG_49017: assume true; call local_#29913 := routine_#34799_getupvalname(local_#33040_ci,local_#6500_o,local_#29912); goto CFG_51497; CFG_51497: assume true; local_#33041_kind := local_#29913; local_#29914 := (if local_#33041_kind != { base : 0, offset : 0 } then 0 else 1); if (local_#29914 != 0) { goto CFG_49018; } else { goto CFG_41612; } CFG_49018: assume true; call local_#29915 := routine_#34835_isinstack(local_#33040_ci,local_#6500_o); goto CFG_51498; CFG_51498: assume true; local_#29916 := local_#29915; if (local_#29916 != 0) { goto CFG_44923; } else { goto CFG_41612; } CFG_44923: assume true; local_#29917 := _memory_ptr[{ base : local_#33040_ci!base, offset : local_#33040_ci!offset + 0 }]; local_#29918 := { base : local_#29917!base, offset : local_#29917!offset + 0 }; local_#29919 := _memory_ptr[local_#29918]; assert { :LIR "62114" } { :check "overflow" } { :finding_ids "0" } true; local_#29920 := { base : local_#29919!base, offset : local_#29919!offset + 0 }; local_#29921 := { base : local_#29920!base, offset : local_#29920!offset + 0 }; local_#29922 := _memory_ptr[{ base : local_#29921!base, offset : local_#29921!offset + 24 }]; goto CFG_49019; CFG_49019: assume true; call local_#29923 := routine_#34680_currentpc(local_#33040_ci); goto CFG_44924; CFG_44924: assume true; local_#29924 := { base : local_#33040_ci!base, offset : local_#33040_ci!offset + 32 }; local_#29925 := (local_#6500_o!offset - _memory_ptr[{ base : local_#29924!base, offset : local_#29924!offset + 0 }]!offset) / 16; local_#29926 := local_#29925; assert { :LIR "62115" } { :check "overflow" } { :finding_ids "0" } local_#29926 <= 2147483647; local_#29927 := local_#33042_name; goto CFG_49020; CFG_49020: assume true; call local_#29928 := routine_#34795_getobjname(local_#29922,local_#29923,local_#29926,local_#29927); goto CFG_41611; CFG_41611: assume true; local_#33041_kind := local_#29928; goto CFG_41612; CFG_41612: assume true; goto CFG_51499; CFG_51499: assume true; local_#29929 := local_#33041_kind; if (local_#29929 != { base : 0, offset : 0 }) { goto CFG_44925; } else { goto CFG_41613; } CFG_41613: assume true; assume _memory[{ base : strlit_#70352!base, offset : strlit_#70352!offset + 0 }] == 0; local_#29930 := strlit_#70352; local_#29931 := { base : local_#29930!base, offset : local_#29930!offset + 0 * 1 }; assert { :LIR "64164" } { :check "overflow" } { :finding_ids "0" } true; local_#30902 := local_#29931; goto CFG_39065; CFG_44925: assume true; assume _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 0 }] == 32 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 1 }] == 40 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 2 }] == 37 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 3 }] == 115 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 4 }] == 32 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 5 }] == 39 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 6 }] == 37 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 7 }] == 115 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 8 }] == 39 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 9 }] == 41 && _memory[{ base : strlit_#70880!base, offset : strlit_#70880!offset + 10 }] == 0; local_#29932 := strlit_#70880; local_#29933 := { base : local_#29932!base, offset : local_#29932!offset + 0 * 1 }; assert { :LIR "64165" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49021; CFG_49021: assume true; call local_#29934 := routine_#33865_luaO_pushfstring(local_#6499_L,local_#29933,{ base : 0, offset : 0 }); goto CFG_41614; CFG_41614: assume true; local_#30902 := local_#29934; goto CFG_39065; CFG_39065: assume true; local_#8320 := local_#30902; goto CFG_38043; CFG_38043: assume true; } procedure routine_#35145_whilestat(local_#6501_ls_IN : { base : int, offset : int }, local_#6502_line_IN : int) returns () modifies _memory, _memory_ptr, _valid; { var local_#6501_ls : { base : int, offset : int }; var local_#6502_line : int; var local_#33045_fs : { base : int, offset : int }; var local_#29935 : int; var local_#33046_whileinit : int; var local_#29936 : int; var local_#33044_condexit : int; var local_#33043_bl : { base : int, offset : int }; var local_#29937 : { base : int, offset : int }; var local_#29938 : int; var local_#29939 : int; var local_#29940 : int; var local_#29941 : int; var local_#29942 : int; local_#6501_ls := local_#6501_ls_IN; local_#6502_line := local_#6502_line_IN; goto CFG_37133; CFG_37133: assume true; goto CFG_44926; CFG_44926: assume true; local_#33045_fs := _memory_ptr[{ base : local_#6501_ls!base, offset : local_#6501_ls!offset + 48 }]; goto CFG_49022; CFG_49022: assume true; call routine_#33908_luaX_next(local_#6501_ls); goto CFG_49023; CFG_49023: assume true; call local_#29935 := routine_#33791_luaK_getlabel(local_#33045_fs); goto CFG_44927; CFG_44927: assume true; local_#33046_whileinit := local_#29935; goto CFG_49024; CFG_49024: assume true; call local_#29936 := routine_#34663_cond(local_#6501_ls); goto CFG_44928; CFG_44928: assume true; local_#33044_condexit := local_#29936; local_#29937 := local_#33043_bl; local_#29938 := 1; goto CFG_49025; CFG_49025: assume true; call routine_#34710_enterblock(local_#33045_fs,local_#29937,local_#29938); goto CFG_44929; CFG_44929: assume true; local_#29939 := 259; goto CFG_49026; CFG_49026: assume true; call routine_#34637_checknext(local_#6501_ls,local_#29939); goto CFG_49027; CFG_49027: assume true; call routine_#34611_block(local_#6501_ls); goto CFG_49028; CFG_49028: assume true; call local_#29940 := routine_#33797_luaK_jump(local_#33045_fs); goto CFG_49029; CFG_49029: assume true; call routine_#33800_luaK_patchlist(local_#33045_fs,local_#29940,local_#33046_whileinit); goto CFG_44930; CFG_44930: assume true; local_#29941 := 262; local_#29942 := 278; goto CFG_49030; CFG_49030: assume true; call routine_#34626_check_match(local_#6501_ls,local_#29941,local_#29942,local_#6502_line); goto CFG_49031; CFG_49031: assume true; call routine_#34856_leaveblock(local_#33045_fs); goto CFG_49032; CFG_49032: assume true; call routine_#33801_luaK_patchtohere(local_#33045_fs,local_#33044_condexit); goto CFG_39451; CFG_39451: assume true; goto CFG_38044; CFG_38044: assume true; } procedure routine_#35146_writer(local_#6503_L_IN : { base : int, offset : int }, local_#6504_b_IN : { base : int, offset : int }, local_#6505_size_IN : int, local_#6506_B_IN : { base : int, offset : int }) returns (local_#8321 : int) modifies _memory, _memory_ptr, _valid; { var local_#6503_L : { base : int, offset : int }; var local_#6504_b : { base : int, offset : int }; var local_#6505_size : int; var local_#6506_B : { base : int, offset : int }; var local_#29943 : int; var local_#29944 : { base : int, offset : int }; var local_#29945 : { base : int, offset : int }; local_#6503_L := local_#6503_L_IN; local_#6504_b := local_#6504_b_IN; local_#6505_size := local_#6505_size_IN; local_#6506_B := local_#6506_B_IN; goto CFG_37134; CFG_37134: assume true; goto CFG_44931; CFG_44931: assume true; local_#29943 := 0; assert { :LIR "62116" } { :check "overflow" } { :finding_ids "0" } true; local_#29944 := local_#6506_B; assert { :LIR "62117" } { :check "overflow" } { :finding_ids "0" } true; local_#29945 := local_#6504_b; assert { :LIR "62118" } { :check "overflow" } { :finding_ids "0" } true; goto CFG_49033; CFG_49033: assume true; call routine_#33812_luaL_addlstring(local_#29944,local_#29945,local_#6505_size); goto CFG_39066; CFG_39066: assume true; local_#8321 := 0; goto CFG_38045; CFG_38045: assume true; } procedure routine_#35147_yindex(local_#6507_ls_IN : { base : int, offset : int }, local_#6508_v_IN : { base : int, offset : int }) returns () modifies _memory, _memory_ptr, _valid; { var local_#6507_ls : { base : int, offset : int }; var local_#6508_v : { base : int, offset : int }; var local_#29946 : { base : int, offset : int }; var local_#29947 : int; local_#6507_ls := local_#6507_ls_IN; local_#6508_v := local_#6508_v_IN; goto CFG_37135; CFG_37135: assume true; goto CFG_49034; CFG_49034: assume true; call routine_#33908_luaX_next(local_#6507_ls); goto CFG_49035; CFG_49035: assume true; call routine_#34721_expr(local_#6507_ls,local_#6508_v); goto CFG_44932; CFG_44932: assume true; local_#29946 := _memory_ptr[{ base : local_#6507_ls!base, offset : local_#6507_ls!offset + 48 }]; goto CFG_49036; CFG_49036: assume true; call routine_#33789_luaK_exp2val(local_#29946,local_#6508_v); goto CFG_44933; CFG_44933: assume true; local_#29947 := 93; goto CFG_49037; CFG_49037: assume true; call routine_#34637_checknext(local_#6507_ls,local_#29947); goto CFG_39452; CFG_39452: assume true; goto CFG_38046; CFG_38046: assume true; } function ~ashr32(in0 : int, in1 : int) returns (out : int) ; function ~lshr32(in0 : int, in1 : int) returns (out : int) ; function ~lshr64(in0 : int, in1 : int) returns (out : int) ; function ~sand32(in0 : int, in1 : int) returns (out : int) ; function ~sand64(in0 : int, in1 : int) returns (out : int) ; function ~shl32(in0 : int, in1 : int) returns (out : int) ; function ~shl64(in0 : int, in1 : int) returns (out : int) ; function ~sor32(in0 : int, in1 : int) returns (out : int) ; function ~sxor32(in0 : int, in1 : int) returns (out : int) ; function ~sxor64(in0 : int, in1 : int) returns (out : int) ; function ~uand32(in0 : int, in1 : int) returns (out : int) ; function ~uand64(in0 : int, in1 : int) returns (out : int) ; function ~unot32(in0 : int) returns (out : int) ; function ~unot64(in0 : int) returns (out : int) ; function ~uor32(in0 : int, in1 : int) returns (out : int) ; function ~uor64(in0 : int, in1 : int) returns (out : int) ; function ~uwrap16(in0 : int) returns (out : int) { in0 % 65536 } function ~uwrap32(in0 : int) returns (out : int) { in0 % 4294967296 } function ~uwrap64(in0 : int) returns (out : int) { in0 % 18446744073709551616 } function ~uwrap8(in0 : int) returns (out : int) { in0 % 256 } function ~uxor32(in0 : int, in1 : int) returns (out : int) ; function ~uxor64(in0 : int, in1 : int) returns (out : int) ; function read_type_#101(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }) ; function read_type_#117(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _nk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }, _tvk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int } }) ; function read_type_#120(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }) ; function read_type_#132(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _ind : { _idx : int, _t : int, _vt : int }, _info : int, _ival : int, _nval : int }) ; function read_type_#159(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _dummy : int, _little : int }) ; function read_type_#51(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _name : { base : int, offset : int }, _pc : int, _line : int, _nactvar : int }) ; function read_type_#59(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _i_val : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }, _i_key : { _nk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }, _tvk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int } } }) ; function read_type_#64(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _token : int, _seminfo : { _i : int, _r : int, _ts : { base : int, offset : int } } }) ; function read_type_#92(in0 : [{ base : int, offset : int }] int, in1 : [{ base : int, offset : int }] { base : int, offset : int }, in2 : { base : int, offset : int }) returns (out : { _k : int, _u : { _ind : { _idx : int, _t : int, _vt : int }, _info : int, _ival : int, _nval : int }, _t : int, _f : int }) ; procedure write_type_#101(address_IN : { base : int, offset : int }, value_IN : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_b][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */[{ base : address_IN!base, offset : address_IN!offset + 8 } := value_IN!_tt_] && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_f][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_gc][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_p] && value_IN!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }]; procedure write_type_#120(address_IN : { base : int, offset : int }, value_IN : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_b][{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_f][{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_gc][{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_p] && value_IN!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 }] && value_IN!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 }] && value_IN!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 }] && value_IN!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 }]; procedure write_type_#159(address_IN : { base : int, offset : int }, value_IN : { _dummy : int, _little : int }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_dummy][{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_little] && _memory_ptr == old(_memory_ptr) && value_IN!_dummy == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 }] && value_IN!_little == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 }]; procedure write_type_#3(address_IN : { base : int, offset : int }, value_IN : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_b][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */[{ base : address_IN!base, offset : address_IN!offset + 8 } := value_IN!_tt_][{ base : address_IN!base, offset : address_IN!offset + 12 } := value_IN!_next] && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_f][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_gc][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN!_value_!_p] && value_IN!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && value_IN!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 }]; procedure write_type_#51(address_IN : { base : int, offset : int }, value_IN : { _name : { base : int, offset : int }, _pc : int, _line : int, _nactvar : int }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 8 } := value_IN!_pc][{ base : address_IN!base, offset : address_IN!offset + 12 } := value_IN!_line][{ base : address_IN!base, offset : address_IN!offset + 16 } := value_IN!_nactvar] && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_name]; procedure write_type_#570(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func]; procedure write_type_#589(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func]; procedure write_type_#59(address_IN : { base : int, offset : int }, value_IN : { _i_val : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int }, _i_key : { _nk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int, _next : int }, _tvk : { _value_ : { _b : int, _f : { base : int, offset : int }, _gc : { base : int, offset : int }, _i : int, _n : int, _p : { base : int, offset : int } }, _tt_ : int } } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 } := value_IN!_i_val!_value_!_b][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 } := value_IN!_i_val!_value_!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */[{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN!_i_val!_tt_][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_nk!_value_!_b][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_nk!_value_!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 8 } := value_IN!_i_key!_nk!_tt_][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 12 } := value_IN!_i_key!_nk!_next][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_tvk!_value_!_b][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_tvk!_value_!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 8 } := value_IN!_i_key!_tvk!_tt_] && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 } := value_IN!_i_val!_value_!_f][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 } := value_IN!_i_val!_value_!_gc][{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 } := value_IN!_i_val!_value_!_p][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_nk!_value_!_f][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_nk!_value_!_gc][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_nk!_value_!_p][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_tvk!_value_!_f][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_tvk!_value_!_gc][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 } := value_IN!_i_key!_tvk!_value_!_p] && value_IN!_i_val!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 }] && value_IN!_i_val!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 }] && value_IN!_i_val!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 }] && value_IN!_i_val!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_i_val!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 + 0 }] && (value_IN!_i_key!_nk!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_nk!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_nk!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_nk!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_i_key!_nk!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_nk!_tt_ == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 8 }] && value_IN!_i_key!_nk!_next == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 12 }]) && (value_IN!_i_key!_tvk!_value_!_b == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_tvk!_value_!_f == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_tvk!_value_!_gc == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_tvk!_value_!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_i_key!_tvk!_value_!_p == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 0 + 0 }] && value_IN!_i_key!_tvk!_tt_ == _memory[{ base : address_IN!base, offset : address_IN!offset + 16 + 0 + 8 }]); procedure write_type_#596(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func][{ base : address_IN!base, offset : address_IN!offset + 112 + 0 } := value_IN[7]!_name][{ base : address_IN!base, offset : address_IN!offset + 112 + 8 } := value_IN[7]!_func]; procedure write_type_#603(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func][{ base : address_IN!base, offset : address_IN!offset + 112 + 0 } := value_IN[7]!_name][{ base : address_IN!base, offset : address_IN!offset + 112 + 8 } := value_IN[7]!_func][{ base : address_IN!base, offset : address_IN!offset + 128 + 0 } := value_IN[8]!_name][{ base : address_IN!base, offset : address_IN!offset + 128 + 8 } := value_IN[8]!_func][{ base : address_IN!base, offset : address_IN!offset + 144 + 0 } := value_IN[9]!_name][{ base : address_IN!base, offset : address_IN!offset + 144 + 8 } := value_IN[9]!_func]; procedure write_type_#605(address_IN : { base : int, offset : int }, value_IN : [int] { base : int, offset : int }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN[0]][{ base : address_IN!base, offset : address_IN!offset + 8 } := value_IN[1]][{ base : address_IN!base, offset : address_IN!offset + 16 } := value_IN[2]][{ base : address_IN!base, offset : address_IN!offset + 24 } := value_IN[3]][{ base : address_IN!base, offset : address_IN!offset + 32 } := value_IN[4]][{ base : address_IN!base, offset : address_IN!offset + 40 } := value_IN[5]][{ base : address_IN!base, offset : address_IN!offset + 48 } := value_IN[6]][{ base : address_IN!base, offset : address_IN!offset + 56 } := value_IN[7]][{ base : address_IN!base, offset : address_IN!offset + 64 } := value_IN[8]][{ base : address_IN!base, offset : address_IN!offset + 72 } := value_IN[9]][{ base : address_IN!base, offset : address_IN!offset + 80 } := value_IN[10]]; procedure write_type_#608(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func][{ base : address_IN!base, offset : address_IN!offset + 112 + 0 } := value_IN[7]!_name][{ base : address_IN!base, offset : address_IN!offset + 112 + 8 } := value_IN[7]!_func][{ base : address_IN!base, offset : address_IN!offset + 128 + 0 } := value_IN[8]!_name][{ base : address_IN!base, offset : address_IN!offset + 128 + 8 } := value_IN[8]!_func][{ base : address_IN!base, offset : address_IN!offset + 144 + 0 } := value_IN[9]!_name][{ base : address_IN!base, offset : address_IN!offset + 144 + 8 } := value_IN[9]!_func][{ base : address_IN!base, offset : address_IN!offset + 160 + 0 } := value_IN[10]!_name][{ base : address_IN!base, offset : address_IN!offset + 160 + 8 } := value_IN[10]!_func][{ base : address_IN!base, offset : address_IN!offset + 176 + 0 } := value_IN[11]!_name][{ base : address_IN!base, offset : address_IN!offset + 176 + 8 } := value_IN[11]!_func]; procedure write_type_#610(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func][{ base : address_IN!base, offset : address_IN!offset + 112 + 0 } := value_IN[7]!_name][{ base : address_IN!base, offset : address_IN!offset + 112 + 8 } := value_IN[7]!_func][{ base : address_IN!base, offset : address_IN!offset + 128 + 0 } := value_IN[8]!_name][{ base : address_IN!base, offset : address_IN!offset + 128 + 8 } := value_IN[8]!_func][{ base : address_IN!base, offset : address_IN!offset + 144 + 0 } := value_IN[9]!_name][{ base : address_IN!base, offset : address_IN!offset + 144 + 8 } := value_IN[9]!_func][{ base : address_IN!base, offset : address_IN!offset + 160 + 0 } := value_IN[10]!_name][{ base : address_IN!base, offset : address_IN!offset + 160 + 8 } := value_IN[10]!_func][{ base : address_IN!base, offset : address_IN!offset + 176 + 0 } := value_IN[11]!_name][{ base : address_IN!base, offset : address_IN!offset + 176 + 8 } := value_IN[11]!_func][{ base : address_IN!base, offset : address_IN!offset + 192 + 0 } := value_IN[12]!_name][{ base : address_IN!base, offset : address_IN!offset + 192 + 8 } := value_IN[12]!_func]; procedure write_type_#617(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func][{ base : address_IN!base, offset : address_IN!offset + 112 + 0 } := value_IN[7]!_name][{ base : address_IN!base, offset : address_IN!offset + 112 + 8 } := value_IN[7]!_func][{ base : address_IN!base, offset : address_IN!offset + 128 + 0 } := value_IN[8]!_name][{ base : address_IN!base, offset : address_IN!offset + 128 + 8 } := value_IN[8]!_func][{ base : address_IN!base, offset : address_IN!offset + 144 + 0 } := value_IN[9]!_name][{ base : address_IN!base, offset : address_IN!offset + 144 + 8 } := value_IN[9]!_func][{ base : address_IN!base, offset : address_IN!offset + 160 + 0 } := value_IN[10]!_name][{ base : address_IN!base, offset : address_IN!offset + 160 + 8 } := value_IN[10]!_func][{ base : address_IN!base, offset : address_IN!offset + 176 + 0 } := value_IN[11]!_name][{ base : address_IN!base, offset : address_IN!offset + 176 + 8 } := value_IN[11]!_func][{ base : address_IN!base, offset : address_IN!offset + 192 + 0 } := value_IN[12]!_name][{ base : address_IN!base, offset : address_IN!offset + 192 + 8 } := value_IN[12]!_func][{ base : address_IN!base, offset : address_IN!offset + 208 + 0 } := value_IN[13]!_name][{ base : address_IN!base, offset : address_IN!offset + 208 + 8 } := value_IN[13]!_func][{ base : address_IN!base, offset : address_IN!offset + 224 + 0 } := value_IN[14]!_name][{ base : address_IN!base, offset : address_IN!offset + 224 + 8 } := value_IN[14]!_func][{ base : address_IN!base, offset : address_IN!offset + 240 + 0 } := value_IN[15]!_name][{ base : address_IN!base, offset : address_IN!offset + 240 + 8 } := value_IN[15]!_func][{ base : address_IN!base, offset : address_IN!offset + 256 + 0 } := value_IN[16]!_name][{ base : address_IN!base, offset : address_IN!offset + 256 + 8 } := value_IN[16]!_func]; procedure write_type_#619(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory) && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 0 + 0 } := value_IN[0]!_name][{ base : address_IN!base, offset : address_IN!offset + 0 + 8 } := value_IN[0]!_func][{ base : address_IN!base, offset : address_IN!offset + 16 + 0 } := value_IN[1]!_name][{ base : address_IN!base, offset : address_IN!offset + 16 + 8 } := value_IN[1]!_func][{ base : address_IN!base, offset : address_IN!offset + 32 + 0 } := value_IN[2]!_name][{ base : address_IN!base, offset : address_IN!offset + 32 + 8 } := value_IN[2]!_func][{ base : address_IN!base, offset : address_IN!offset + 48 + 0 } := value_IN[3]!_name][{ base : address_IN!base, offset : address_IN!offset + 48 + 8 } := value_IN[3]!_func][{ base : address_IN!base, offset : address_IN!offset + 64 + 0 } := value_IN[4]!_name][{ base : address_IN!base, offset : address_IN!offset + 64 + 8 } := value_IN[4]!_func][{ base : address_IN!base, offset : address_IN!offset + 80 + 0 } := value_IN[5]!_name][{ base : address_IN!base, offset : address_IN!offset + 80 + 8 } := value_IN[5]!_func][{ base : address_IN!base, offset : address_IN!offset + 96 + 0 } := value_IN[6]!_name][{ base : address_IN!base, offset : address_IN!offset + 96 + 8 } := value_IN[6]!_func][{ base : address_IN!base, offset : address_IN!offset + 112 + 0 } := value_IN[7]!_name][{ base : address_IN!base, offset : address_IN!offset + 112 + 8 } := value_IN[7]!_func][{ base : address_IN!base, offset : address_IN!offset + 128 + 0 } := value_IN[8]!_name][{ base : address_IN!base, offset : address_IN!offset + 128 + 8 } := value_IN[8]!_func][{ base : address_IN!base, offset : address_IN!offset + 144 + 0 } := value_IN[9]!_name][{ base : address_IN!base, offset : address_IN!offset + 144 + 8 } := value_IN[9]!_func][{ base : address_IN!base, offset : address_IN!offset + 160 + 0 } := value_IN[10]!_name][{ base : address_IN!base, offset : address_IN!offset + 160 + 8 } := value_IN[10]!_func][{ base : address_IN!base, offset : address_IN!offset + 176 + 0 } := value_IN[11]!_name][{ base : address_IN!base, offset : address_IN!offset + 176 + 8 } := value_IN[11]!_func][{ base : address_IN!base, offset : address_IN!offset + 192 + 0 } := value_IN[12]!_name][{ base : address_IN!base, offset : address_IN!offset + 192 + 8 } := value_IN[12]!_func][{ base : address_IN!base, offset : address_IN!offset + 208 + 0 } := value_IN[13]!_name][{ base : address_IN!base, offset : address_IN!offset + 208 + 8 } := value_IN[13]!_func][{ base : address_IN!base, offset : address_IN!offset + 224 + 0 } := value_IN[14]!_name][{ base : address_IN!base, offset : address_IN!offset + 224 + 8 } := value_IN[14]!_func][{ base : address_IN!base, offset : address_IN!offset + 240 + 0 } := value_IN[15]!_name][{ base : address_IN!base, offset : address_IN!offset + 240 + 8 } := value_IN[15]!_func][{ base : address_IN!base, offset : address_IN!offset + 256 + 0 } := value_IN[16]!_name][{ base : address_IN!base, offset : address_IN!offset + 256 + 8 } := value_IN[16]!_func][{ base : address_IN!base, offset : address_IN!offset + 272 + 0 } := value_IN[17]!_name][{ base : address_IN!base, offset : address_IN!offset + 272 + 8 } := value_IN[17]!_func]; procedure write_type_#623(address_IN : { base : int, offset : int }, value_IN : [int] { _left : int, _right : int }) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 42 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (forall i623 : int :: 0 <= i623 && i623 < 21 ==> value_IN[i623]!_left == _memory[{ base : address_IN!base, offset : address_IN!offset + i623 * 2 + 0 }] && value_IN[i623]!_right == _memory[{ base : address_IN!base, offset : address_IN!offset + i623 * 2 + 1 }]); procedure write_type_#632(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 400 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (forall i632 : int :: 0 <= i632 && i632 < 25 ==> value_IN[i632]!_name == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + i632 * 16 + 0 }] && value_IN[i632]!_func == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + i632 * 16 + 8 }]); procedure write_type_#64(address_IN : { base : int, offset : int }, value_IN : { _token : int, _seminfo : { _i : int, _r : int, _ts : { base : int, offset : int } } }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_token][{ base : address_IN!base, offset : address_IN!offset + 8 + 0 } := value_IN!_seminfo!_i] /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && _memory_ptr == old(_memory_ptr)[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 } := value_IN!_seminfo!_ts] && value_IN!_seminfo!_i == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */ && value_IN!_seminfo!_ts == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 }]; procedure write_type_#647(address_IN : { base : int, offset : int }, value_IN : [int] { _name : { base : int, offset : int }, _func : { base : int, offset : int } }) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 576 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (forall i647 : int :: 0 <= i647 && i647 < 36 ==> value_IN[i647]!_name == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + i647 * 16 + 0 }] && value_IN[i647]!_func == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + i647 * 16 + 8 }]); procedure write_type_#649(address_IN : { base : int, offset : int }, value_IN : [int] { base : int, offset : int }) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 296 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (forall i649 : int :: 0 <= i649 && i649 < 37 ==> value_IN[i649] == _memory_ptr[{ base : address_IN!base, offset : address_IN!offset + i649 * 8 }]); procedure write_type_#661(address_IN : { base : int, offset : int }, value_IN : [int] int) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 47 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (forall i661 : int :: 0 <= i661 && i661 < 47 ==> value_IN[i661] == _memory[{ base : address_IN!base, offset : address_IN!offset + i661 * 1 }]); procedure write_type_#683(address_IN : { base : int, offset : int }, value_IN : [int] int) returns (); modifies _memory, _memory_ptr; ensures (forall ptr : { base : int, offset : int } :: ptr!base != address_IN!base || (ptr!offset < address_IN!offset || address_IN!offset + 257 <= ptr!offset) ==> _memory[ptr] == old(_memory)[ptr] && _memory_ptr[ptr] == old(_memory_ptr)[ptr]) && (forall i683 : int :: 0 <= i683 && i683 < 257 ==> value_IN[i683] == _memory[{ base : address_IN!base, offset : address_IN!offset + i683 * 1 }]); procedure write_type_#92(address_IN : { base : int, offset : int }, value_IN : { _k : int, _u : { _ind : { _idx : int, _t : int, _vt : int }, _info : int, _ival : int, _nval : int }, _t : int, _f : int }) returns (); modifies _memory, _memory_ptr; ensures _memory == old(_memory)[{ base : address_IN!base, offset : address_IN!offset + 0 } := value_IN!_k][{ base : address_IN!base, offset : address_IN!offset + 8 + 0 + 0 } := value_IN!_u!_ind!_idx][{ base : address_IN!base, offset : address_IN!offset + 8 + 0 + 2 } := value_IN!_u!_ind!_t][{ base : address_IN!base, offset : address_IN!offset + 8 + 0 + 3 } := value_IN!_u!_ind!_vt][{ base : address_IN!base, offset : address_IN!offset + 8 + 0 } := value_IN!_u!_info][{ base : address_IN!base, offset : address_IN!offset + 8 + 0 } := value_IN!_u!_ival] /* IR2BOOGIE-ERROR: Unknown type IRType491 */[{ base : address_IN!base, offset : address_IN!offset + 16 } := value_IN!_t][{ base : address_IN!base, offset : address_IN!offset + 20 } := value_IN!_f] && _memory_ptr == old(_memory_ptr) && (value_IN!_u!_ind!_idx == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 + 0 }] && value_IN!_u!_ind!_t == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 + 2 }] && value_IN!_u!_ind!_vt == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 + 3 }]) && value_IN!_u!_info == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 }] && value_IN!_u!_ival == _memory[{ base : address_IN!base, offset : address_IN!offset + 8 + 0 }] && true /* IR2BOOGIE-ERROR: Unknown type IRType491 */; const fun_addr_#33952_lua_newstate : { base : int, offset : int }; const fun_addr_#34007_luaopen_base : { base : int, offset : int }; const fun_addr_#34008_luaopen_bit32 : { base : int, offset : int }; const fun_addr_#34009_luaopen_coroutine : { base : int, offset : int }; const fun_addr_#34010_luaopen_debug : { base : int, offset : int }; const fun_addr_#34011_luaopen_io : { base : int, offset : int }; const fun_addr_#34012_luaopen_math : { base : int, offset : int }; const fun_addr_#34013_luaopen_os : { base : int, offset : int }; const fun_addr_#34014_luaopen_package : { base : int, offset : int }; const fun_addr_#34015_luaopen_string : { base : int, offset : int }; const fun_addr_#34016_luaopen_table : { base : int, offset : int }; const fun_addr_#34017_luaopen_utf8 : { base : int, offset : int }; const fun_addr_#34592_auxsetnode : { base : int, offset : int }; const fun_addr_#34596_b_and : { base : int, offset : int }; const fun_addr_#34597_b_arshift : { base : int, offset : int }; const fun_addr_#34598_b_extract : { base : int, offset : int }; const fun_addr_#34599_b_lrot : { base : int, offset : int }; const fun_addr_#34600_b_lshift : { base : int, offset : int }; const fun_addr_#34601_b_not : { base : int, offset : int }; const fun_addr_#34602_b_or : { base : int, offset : int }; const fun_addr_#34603_b_replace : { base : int, offset : int }; const fun_addr_#34605_b_rrot : { base : int, offset : int }; const fun_addr_#34606_b_rshift : { base : int, offset : int }; const fun_addr_#34609_b_test : { base : int, offset : int }; const fun_addr_#34610_b_xor : { base : int, offset : int }; const fun_addr_#34615_boxgc : { base : int, offset : int }; const fun_addr_#34617_byteoffset : { base : int, offset : int }; const fun_addr_#34657_codepoint : { base : int, offset : int }; const fun_addr_#34681_db_debug : { base : int, offset : int }; const fun_addr_#34682_db_gethook : { base : int, offset : int }; const fun_addr_#34683_db_getinfo : { base : int, offset : int }; const fun_addr_#34684_db_getlocal : { base : int, offset : int }; const fun_addr_#34685_db_getmetatable : { base : int, offset : int }; const fun_addr_#34686_db_getregistry : { base : int, offset : int }; const fun_addr_#34687_db_getupvalue : { base : int, offset : int }; const fun_addr_#34688_db_getuservalue : { base : int, offset : int }; const fun_addr_#34689_db_sethook : { base : int, offset : int }; const fun_addr_#34690_db_setlocal : { base : int, offset : int }; const fun_addr_#34691_db_setmetatable : { base : int, offset : int }; const fun_addr_#34692_db_setupvalue : { base : int, offset : int }; const fun_addr_#34693_db_setuservalue : { base : int, offset : int }; const fun_addr_#34694_db_traceback : { base : int, offset : int }; const fun_addr_#34695_db_upvalueid : { base : int, offset : int }; const fun_addr_#34696_db_upvaluejoin : { base : int, offset : int }; const fun_addr_#34705_dofilecont : { base : int, offset : int }; const fun_addr_#34708_dothecall : { base : int, offset : int }; const fun_addr_#34723_f_call : { base : int, offset : int }; const fun_addr_#34724_f_close : { base : int, offset : int }; const fun_addr_#34725_f_flush : { base : int, offset : int }; const fun_addr_#34726_f_gc : { base : int, offset : int }; const fun_addr_#34727_f_lines : { base : int, offset : int }; const fun_addr_#34728_f_luaopen : { base : int, offset : int }; const fun_addr_#34729_f_parser : { base : int, offset : int }; const fun_addr_#34730_f_read : { base : int, offset : int }; const fun_addr_#34731_f_seek : { base : int, offset : int }; const fun_addr_#34732_f_setvbuf : { base : int, offset : int }; const fun_addr_#34733_f_tostring : { base : int, offset : int }; const fun_addr_#34734_f_write : { base : int, offset : int }; const fun_addr_#34752_finishpcall : { base : int, offset : int }; const fun_addr_#34773_gctm : { base : int, offset : int }; const fun_addr_#34774_generic_reader : { base : int, offset : int }; const fun_addr_#34775_getF : { base : int, offset : int }; const fun_addr_#34776_getS : { base : int, offset : int }; const fun_addr_#34801_gmatch : { base : int, offset : int }; const fun_addr_#34802_gmatch_aux : { base : int, offset : int }; const fun_addr_#34804_growstack : { base : int, offset : int }; const fun_addr_#34807_hookf : { base : int, offset : int }; const fun_addr_#34818_io_close : { base : int, offset : int }; const fun_addr_#34819_io_fclose : { base : int, offset : int }; const fun_addr_#34820_io_flush : { base : int, offset : int }; const fun_addr_#34821_io_input : { base : int, offset : int }; const fun_addr_#34822_io_lines : { base : int, offset : int }; const fun_addr_#34823_io_noclose : { base : int, offset : int }; const fun_addr_#34824_io_open : { base : int, offset : int }; const fun_addr_#34825_io_output : { base : int, offset : int }; const fun_addr_#34826_io_pclose : { base : int, offset : int }; const fun_addr_#34827_io_popen : { base : int, offset : int }; const fun_addr_#34828_io_read : { base : int, offset : int }; const fun_addr_#34829_io_readline : { base : int, offset : int }; const fun_addr_#34830_io_tmpfile : { base : int, offset : int }; const fun_addr_#34831_io_type : { base : int, offset : int }; const fun_addr_#34832_io_write : { base : int, offset : int }; const fun_addr_#34833_ipairsaux : { base : int, offset : int }; const fun_addr_#34837_iter_aux : { base : int, offset : int }; const fun_addr_#34838_iter_codes : { base : int, offset : int }; const fun_addr_#34841_l_alloc : { base : int, offset : int }; const fun_addr_#34853_laction : { base : int, offset : int }; const fun_addr_#34859_ll_loadlib : { base : int, offset : int }; const fun_addr_#34860_ll_require : { base : int, offset : int }; const fun_addr_#34861_ll_searchpath : { base : int, offset : int }; const fun_addr_#34870_lstop : { base : int, offset : int }; const fun_addr_#34874_luaB_assert : { base : int, offset : int }; const fun_addr_#34875_luaB_auxwrap : { base : int, offset : int }; const fun_addr_#34876_luaB_cocreate : { base : int, offset : int }; const fun_addr_#34877_luaB_collectgarbage : { base : int, offset : int }; const fun_addr_#34878_luaB_coresume : { base : int, offset : int }; const fun_addr_#34879_luaB_corunning : { base : int, offset : int }; const fun_addr_#34880_luaB_costatus : { base : int, offset : int }; const fun_addr_#34881_luaB_cowrap : { base : int, offset : int }; const fun_addr_#34882_luaB_dofile : { base : int, offset : int }; const fun_addr_#34883_luaB_error : { base : int, offset : int }; const fun_addr_#34884_luaB_getmetatable : { base : int, offset : int }; const fun_addr_#34885_luaB_ipairs : { base : int, offset : int }; const fun_addr_#34886_luaB_load : { base : int, offset : int }; const fun_addr_#34887_luaB_loadfile : { base : int, offset : int }; const fun_addr_#34888_luaB_next : { base : int, offset : int }; const fun_addr_#34889_luaB_pairs : { base : int, offset : int }; const fun_addr_#34890_luaB_pcall : { base : int, offset : int }; const fun_addr_#34891_luaB_print : { base : int, offset : int }; const fun_addr_#34892_luaB_rawequal : { base : int, offset : int }; const fun_addr_#34893_luaB_rawget : { base : int, offset : int }; const fun_addr_#34894_luaB_rawlen : { base : int, offset : int }; const fun_addr_#34895_luaB_rawset : { base : int, offset : int }; const fun_addr_#34896_luaB_select : { base : int, offset : int }; const fun_addr_#34897_luaB_setmetatable : { base : int, offset : int }; const fun_addr_#34898_luaB_tonumber : { base : int, offset : int }; const fun_addr_#34899_luaB_tostring : { base : int, offset : int }; const fun_addr_#34900_luaB_type : { base : int, offset : int }; const fun_addr_#34901_luaB_xpcall : { base : int, offset : int }; const fun_addr_#34902_luaB_yield : { base : int, offset : int }; const fun_addr_#34903_luaB_yieldable : { base : int, offset : int }; const fun_addr_#34918_math_abs : { base : int, offset : int }; const fun_addr_#34919_math_acos : { base : int, offset : int }; const fun_addr_#34920_math_asin : { base : int, offset : int }; const fun_addr_#34921_math_atan : { base : int, offset : int }; const fun_addr_#34922_math_ceil : { base : int, offset : int }; const fun_addr_#34923_math_cos : { base : int, offset : int }; const fun_addr_#34924_math_cosh : { base : int, offset : int }; const fun_addr_#34925_math_deg : { base : int, offset : int }; const fun_addr_#34926_math_exp : { base : int, offset : int }; const fun_addr_#34927_math_floor : { base : int, offset : int }; const fun_addr_#34928_math_fmod : { base : int, offset : int }; const fun_addr_#34929_math_frexp : { base : int, offset : int }; const fun_addr_#34930_math_ldexp : { base : int, offset : int }; const fun_addr_#34931_math_log : { base : int, offset : int }; const fun_addr_#34932_math_log10 : { base : int, offset : int }; const fun_addr_#34933_math_max : { base : int, offset : int }; const fun_addr_#34934_math_min : { base : int, offset : int }; const fun_addr_#34935_math_modf : { base : int, offset : int }; const fun_addr_#34936_math_pow : { base : int, offset : int }; const fun_addr_#34937_math_rad : { base : int, offset : int }; const fun_addr_#34938_math_random : { base : int, offset : int }; const fun_addr_#34939_math_randomseed : { base : int, offset : int }; const fun_addr_#34940_math_sin : { base : int, offset : int }; const fun_addr_#34941_math_sinh : { base : int, offset : int }; const fun_addr_#34942_math_sqrt : { base : int, offset : int }; const fun_addr_#34943_math_tan : { base : int, offset : int }; const fun_addr_#34944_math_tanh : { base : int, offset : int }; const fun_addr_#34945_math_toint : { base : int, offset : int }; const fun_addr_#34946_math_type : { base : int, offset : int }; const fun_addr_#34947_math_ult : { base : int, offset : int }; const fun_addr_#34952_msghandler : { base : int, offset : int }; const fun_addr_#34972_os_clock : { base : int, offset : int }; const fun_addr_#34973_os_date : { base : int, offset : int }; const fun_addr_#34974_os_difftime : { base : int, offset : int }; const fun_addr_#34975_os_execute : { base : int, offset : int }; const fun_addr_#34976_os_exit : { base : int, offset : int }; const fun_addr_#34977_os_getenv : { base : int, offset : int }; const fun_addr_#34978_os_remove : { base : int, offset : int }; const fun_addr_#34979_os_rename : { base : int, offset : int }; const fun_addr_#34980_os_setlocale : { base : int, offset : int }; const fun_addr_#34981_os_time : { base : int, offset : int }; const fun_addr_#34982_os_tmpname : { base : int, offset : int }; const fun_addr_#34983_pack : { base : int, offset : int }; const fun_addr_#34986_panic : { base : int, offset : int }; const fun_addr_#34991_pmain : { base : int, offset : int }; const fun_addr_#35037_resume : { base : int, offset : int }; const fun_addr_#35045_searcher_C : { base : int, offset : int }; const fun_addr_#35046_searcher_Croot : { base : int, offset : int }; const fun_addr_#35047_searcher_Lua : { base : int, offset : int }; const fun_addr_#35048_searcher_preload : { base : int, offset : int }; const fun_addr_#35075_sort : { base : int, offset : int }; const fun_addr_#35083_str_byte : { base : int, offset : int }; const fun_addr_#35084_str_char : { base : int, offset : int }; const fun_addr_#35086_str_dump : { base : int, offset : int }; const fun_addr_#35087_str_find : { base : int, offset : int }; const fun_addr_#35089_str_format : { base : int, offset : int }; const fun_addr_#35090_str_gsub : { base : int, offset : int }; const fun_addr_#35091_str_len : { base : int, offset : int }; const fun_addr_#35092_str_lower : { base : int, offset : int }; const fun_addr_#35093_str_match : { base : int, offset : int }; const fun_addr_#35094_str_pack : { base : int, offset : int }; const fun_addr_#35095_str_packsize : { base : int, offset : int }; const fun_addr_#35096_str_rep : { base : int, offset : int }; const fun_addr_#35097_str_reverse : { base : int, offset : int }; const fun_addr_#35098_str_sub : { base : int, offset : int }; const fun_addr_#35099_str_unpack : { base : int, offset : int }; const fun_addr_#35100_str_upper : { base : int, offset : int }; const fun_addr_#35108_tconcat : { base : int, offset : int }; const fun_addr_#35113_tinsert : { base : int, offset : int }; const fun_addr_#35114_tmove : { base : int, offset : int }; const fun_addr_#35126_tremove : { base : int, offset : int }; const fun_addr_#35135_unpack : { base : int, offset : int }; const fun_addr_#35137_unroll : { base : int, offset : int }; const fun_addr_#35141_utfchar : { base : int, offset : int }; const fun_addr_#35142_utflen : { base : int, offset : int }; const fun_addr_#35146_writer : { base : int, offset : int }; const strlit_#70294 : { base : int, offset : int }; const strlit_#70295 : { base : int, offset : int }; const strlit_#70296 : { base : int, offset : int }; const strlit_#70297 : { base : int, offset : int }; const strlit_#70298 : { base : int, offset : int }; const strlit_#70299 : { base : int, offset : int }; const strlit_#70300 : { base : int, offset : int }; const strlit_#70301 : { base : int, offset : int }; const strlit_#70302 : { base : int, offset : int }; const strlit_#70303 : { base : int, offset : int }; const strlit_#70304 : { base : int, offset : int }; const strlit_#70305 : { base : int, offset : int }; const strlit_#70306 : { base : int, offset : int }; const strlit_#70307 : { base : int, offset : int }; const strlit_#70308 : { base : int, offset : int }; const strlit_#70309 : { base : int, offset : int }; const strlit_#70310 : { base : int, offset : int }; const strlit_#70311 : { base : int, offset : int }; const strlit_#70312 : { base : int, offset : int }; const strlit_#70314 : { base : int, offset : int }; const strlit_#70315 : { base : int, offset : int }; const strlit_#70316 : { base : int, offset : int }; const strlit_#70317 : { base : int, offset : int }; const strlit_#70318 : { base : int, offset : int }; const strlit_#70319 : { base : int, offset : int }; const strlit_#70320 : { base : int, offset : int }; const strlit_#70321 : { base : int, offset : int }; const strlit_#70322 : { base : int, offset : int }; const strlit_#70323 : { base : int, offset : int }; const strlit_#70324 : { base : int, offset : int }; const strlit_#70325 : { base : int, offset : int }; const strlit_#70326 : { base : int, offset : int }; const strlit_#70327 : { base : int, offset : int }; const strlit_#70328 : { base : int, offset : int }; const strlit_#70329 : { base : int, offset : int }; const strlit_#70330 : { base : int, offset : int }; const strlit_#70331 : { base : int, offset : int }; const strlit_#70332 : { base : int, offset : int }; const strlit_#70333 : { base : int, offset : int }; const strlit_#70334 : { base : int, offset : int }; const strlit_#70336 : { base : int, offset : int }; const strlit_#70337 : { base : int, offset : int }; const strlit_#70338 : { base : int, offset : int }; const strlit_#70339 : { base : int, offset : int }; const strlit_#70340 : { base : int, offset : int }; const strlit_#70341 : { base : int, offset : int }; const strlit_#70342 : { base : int, offset : int }; const strlit_#70343 : { base : int, offset : int }; const strlit_#70344 : { base : int, offset : int }; const strlit_#70345 : { base : int, offset : int }; const strlit_#70346 : { base : int, offset : int }; const strlit_#70347 : { base : int, offset : int }; const strlit_#70348 : { base : int, offset : int }; const strlit_#70349 : { base : int, offset : int }; const strlit_#70350 : { base : int, offset : int }; const strlit_#70351 : { base : int, offset : int }; const strlit_#70352 : { base : int, offset : int }; const strlit_#70353 : { base : int, offset : int }; const strlit_#70354 : { base : int, offset : int }; const strlit_#70355 : { base : int, offset : int }; const strlit_#70356 : { base : int, offset : int }; const strlit_#70357 : { base : int, offset : int }; const strlit_#70358 : { base : int, offset : int }; const strlit_#70360 : { base : int, offset : int }; const strlit_#70361 : { base : int, offset : int }; const strlit_#70362 : { base : int, offset : int }; const strlit_#70363 : { base : int, offset : int }; const strlit_#70364 : { base : int, offset : int }; const strlit_#70365 : { base : int, offset : int }; const strlit_#70366 : { base : int, offset : int }; const strlit_#70367 : { base : int, offset : int }; const strlit_#70368 : { base : int, offset : int }; const strlit_#70370 : { base : int, offset : int }; const strlit_#70371 : { base : int, offset : int }; const strlit_#70373 : { base : int, offset : int }; const strlit_#70374 : { base : int, offset : int }; const strlit_#70375 : { base : int, offset : int }; const strlit_#70376 : { base : int, offset : int }; const strlit_#70377 : { base : int, offset : int }; const strlit_#70378 : { base : int, offset : int }; const strlit_#70379 : { base : int, offset : int }; const strlit_#70380 : { base : int, offset : int }; const strlit_#70381 : { base : int, offset : int }; const strlit_#70383 : { base : int, offset : int }; const strlit_#70384 : { base : int, offset : int }; const strlit_#70385 : { base : int, offset : int }; const strlit_#70387 : { base : int, offset : int }; const strlit_#70388 : { base : int, offset : int }; const strlit_#70392 : { base : int, offset : int }; const strlit_#70393 : { base : int, offset : int }; const strlit_#70394 : { base : int, offset : int }; const strlit_#70395 : { base : int, offset : int }; const strlit_#70396 : { base : int, offset : int }; const strlit_#70397 : { base : int, offset : int }; const strlit_#70398 : { base : int, offset : int }; const strlit_#70399 : { base : int, offset : int }; const strlit_#70400 : { base : int, offset : int }; const strlit_#70401 : { base : int, offset : int }; const strlit_#70402 : { base : int, offset : int }; const strlit_#70403 : { base : int, offset : int }; const strlit_#70404 : { base : int, offset : int }; const strlit_#70405 : { base : int, offset : int }; const strlit_#70406 : { base : int, offset : int }; const strlit_#70407 : { base : int, offset : int }; const strlit_#70408 : { base : int, offset : int }; const strlit_#70409 : { base : int, offset : int }; const strlit_#70410 : { base : int, offset : int }; const strlit_#70411 : { base : int, offset : int }; const strlit_#70412 : { base : int, offset : int }; const strlit_#70413 : { base : int, offset : int }; const strlit_#70414 : { base : int, offset : int }; const strlit_#70415 : { base : int, offset : int }; const strlit_#70416 : { base : int, offset : int }; const strlit_#70418 : { base : int, offset : int }; const strlit_#70419 : { base : int, offset : int }; const strlit_#70420 : { base : int, offset : int }; const strlit_#70421 : { base : int, offset : int }; const strlit_#70422 : { base : int, offset : int }; const strlit_#70423 : { base : int, offset : int }; const strlit_#70425 : { base : int, offset : int }; const strlit_#70426 : { base : int, offset : int }; const strlit_#70427 : { base : int, offset : int }; const strlit_#70428 : { base : int, offset : int }; const strlit_#70429 : { base : int, offset : int }; const strlit_#70430 : { base : int, offset : int }; const strlit_#70431 : { base : int, offset : int }; const strlit_#70432 : { base : int, offset : int }; const strlit_#70433 : { base : int, offset : int }; const strlit_#70434 : { base : int, offset : int }; const strlit_#70435 : { base : int, offset : int }; const strlit_#70437 : { base : int, offset : int }; const strlit_#70438 : { base : int, offset : int }; const strlit_#70439 : { base : int, offset : int }; const strlit_#70440 : { base : int, offset : int }; const strlit_#70441 : { base : int, offset : int }; const strlit_#70442 : { base : int, offset : int }; const strlit_#70444 : { base : int, offset : int }; const strlit_#70445 : { base : int, offset : int }; const strlit_#70446 : { base : int, offset : int }; const strlit_#70447 : { base : int, offset : int }; const strlit_#70448 : { base : int, offset : int }; const strlit_#70451 : { base : int, offset : int }; const strlit_#70453 : { base : int, offset : int }; const strlit_#70454 : { base : int, offset : int }; const strlit_#70456 : { base : int, offset : int }; const strlit_#70457 : { base : int, offset : int }; const strlit_#70458 : { base : int, offset : int }; const strlit_#70459 : { base : int, offset : int }; const strlit_#70460 : { base : int, offset : int }; const strlit_#70462 : { base : int, offset : int }; const strlit_#70466 : { base : int, offset : int }; const strlit_#70467 : { base : int, offset : int }; const strlit_#70468 : { base : int, offset : int }; const strlit_#70469 : { base : int, offset : int }; const strlit_#70470 : { base : int, offset : int }; const strlit_#70471 : { base : int, offset : int }; const strlit_#70472 : { base : int, offset : int }; const strlit_#70473 : { base : int, offset : int }; const strlit_#70474 : { base : int, offset : int }; const strlit_#70475 : { base : int, offset : int }; const strlit_#70476 : { base : int, offset : int }; const strlit_#70477 : { base : int, offset : int }; const strlit_#70478 : { base : int, offset : int }; const strlit_#70479 : { base : int, offset : int }; const strlit_#70480 : { base : int, offset : int }; const strlit_#70481 : { base : int, offset : int }; const strlit_#70482 : { base : int, offset : int }; const strlit_#70484 : { base : int, offset : int }; const strlit_#70485 : { base : int, offset : int }; const strlit_#70486 : { base : int, offset : int }; const strlit_#70487 : { base : int, offset : int }; const strlit_#70488 : { base : int, offset : int }; const strlit_#70489 : { base : int, offset : int }; const strlit_#70490 : { base : int, offset : int }; const strlit_#70491 : { base : int, offset : int }; const strlit_#70493 : { base : int, offset : int }; const strlit_#70494 : { base : int, offset : int }; const strlit_#70496 : { base : int, offset : int }; const strlit_#70497 : { base : int, offset : int }; const strlit_#70502 : { base : int, offset : int }; const strlit_#70503 : { base : int, offset : int }; const strlit_#70504 : { base : int, offset : int }; const strlit_#70505 : { base : int, offset : int }; const strlit_#70506 : { base : int, offset : int }; const strlit_#70508 : { base : int, offset : int }; const strlit_#70509 : { base : int, offset : int }; const strlit_#70510 : { base : int, offset : int }; const strlit_#70511 : { base : int, offset : int }; const strlit_#70512 : { base : int, offset : int }; const strlit_#70513 : { base : int, offset : int }; const strlit_#70514 : { base : int, offset : int }; const strlit_#70515 : { base : int, offset : int }; const strlit_#70516 : { base : int, offset : int }; const strlit_#70517 : { base : int, offset : int }; const strlit_#70518 : { base : int, offset : int }; const strlit_#70519 : { base : int, offset : int }; const strlit_#70520 : { base : int, offset : int }; const strlit_#70521 : { base : int, offset : int }; const strlit_#70522 : { base : int, offset : int }; const strlit_#70523 : { base : int, offset : int }; const strlit_#70524 : { base : int, offset : int }; const strlit_#70525 : { base : int, offset : int }; const strlit_#70526 : { base : int, offset : int }; const strlit_#70527 : { base : int, offset : int }; const strlit_#70528 : { base : int, offset : int }; const strlit_#70530 : { base : int, offset : int }; const strlit_#70531 : { base : int, offset : int }; const strlit_#70533 : { base : int, offset : int }; const strlit_#70534 : { base : int, offset : int }; const strlit_#70536 : { base : int, offset : int }; const strlit_#70537 : { base : int, offset : int }; const strlit_#70538 : { base : int, offset : int }; const strlit_#70539 : { base : int, offset : int }; const strlit_#70540 : { base : int, offset : int }; const strlit_#70541 : { base : int, offset : int }; const strlit_#70545 : { base : int, offset : int }; const strlit_#70546 : { base : int, offset : int }; const strlit_#70547 : { base : int, offset : int }; const strlit_#70548 : { base : int, offset : int }; const strlit_#70550 : { base : int, offset : int }; const strlit_#70551 : { base : int, offset : int }; const strlit_#70552 : { base : int, offset : int }; const strlit_#70553 : { base : int, offset : int }; const strlit_#70554 : { base : int, offset : int }; const strlit_#70555 : { base : int, offset : int }; const strlit_#70556 : { base : int, offset : int }; const strlit_#70557 : { base : int, offset : int }; const strlit_#70559 : { base : int, offset : int }; const strlit_#70561 : { base : int, offset : int }; const strlit_#70562 : { base : int, offset : int }; const strlit_#70563 : { base : int, offset : int }; const strlit_#70564 : { base : int, offset : int }; const strlit_#70565 : { base : int, offset : int }; const strlit_#70566 : { base : int, offset : int }; const strlit_#70567 : { base : int, offset : int }; const strlit_#70568 : { base : int, offset : int }; const strlit_#70569 : { base : int, offset : int }; const strlit_#70570 : { base : int, offset : int }; const strlit_#70571 : { base : int, offset : int }; const strlit_#70572 : { base : int, offset : int }; const strlit_#70573 : { base : int, offset : int }; const strlit_#70574 : { base : int, offset : int }; const strlit_#70575 : { base : int, offset : int }; const strlit_#70576 : { base : int, offset : int }; const strlit_#70577 : { base : int, offset : int }; const strlit_#70578 : { base : int, offset : int }; const strlit_#70579 : { base : int, offset : int }; const strlit_#70580 : { base : int, offset : int }; const strlit_#70583 : { base : int, offset : int }; const strlit_#70585 : { base : int, offset : int }; const strlit_#70588 : { base : int, offset : int }; const strlit_#70589 : { base : int, offset : int }; const strlit_#70590 : { base : int, offset : int }; const strlit_#70591 : { base : int, offset : int }; const strlit_#70592 : { base : int, offset : int }; const strlit_#70593 : { base : int, offset : int }; const strlit_#70594 : { base : int, offset : int }; const strlit_#70595 : { base : int, offset : int }; const strlit_#70596 : { base : int, offset : int }; const strlit_#70597 : { base : int, offset : int }; const strlit_#70598 : { base : int, offset : int }; const strlit_#70599 : { base : int, offset : int }; const strlit_#70602 : { base : int, offset : int }; const strlit_#70603 : { base : int, offset : int }; const strlit_#70604 : { base : int, offset : int }; const strlit_#70606 : { base : int, offset : int }; const strlit_#70607 : { base : int, offset : int }; const strlit_#70609 : { base : int, offset : int }; const strlit_#70610 : { base : int, offset : int }; const strlit_#70611 : { base : int, offset : int }; const strlit_#70612 : { base : int, offset : int }; const strlit_#70613 : { base : int, offset : int }; const strlit_#70616 : { base : int, offset : int }; const strlit_#70617 : { base : int, offset : int }; const strlit_#70618 : { base : int, offset : int }; const strlit_#70619 : { base : int, offset : int }; const strlit_#70620 : { base : int, offset : int }; const strlit_#70621 : { base : int, offset : int }; const strlit_#70622 : { base : int, offset : int }; const strlit_#70631 : { base : int, offset : int }; const strlit_#70633 : { base : int, offset : int }; const strlit_#70635 : { base : int, offset : int }; const strlit_#70641 : { base : int, offset : int }; const strlit_#70643 : { base : int, offset : int }; const strlit_#70644 : { base : int, offset : int }; const strlit_#70648 : { base : int, offset : int }; const strlit_#70649 : { base : int, offset : int }; const strlit_#70650 : { base : int, offset : int }; const strlit_#70651 : { base : int, offset : int }; const strlit_#70653 : { base : int, offset : int }; const strlit_#70654 : { base : int, offset : int }; const strlit_#70655 : { base : int, offset : int }; const strlit_#70656 : { base : int, offset : int }; const strlit_#70657 : { base : int, offset : int }; const strlit_#70658 : { base : int, offset : int }; const strlit_#70659 : { base : int, offset : int }; const strlit_#70663 : { base : int, offset : int }; const strlit_#70664 : { base : int, offset : int }; const strlit_#70666 : { base : int, offset : int }; const strlit_#70668 : { base : int, offset : int }; const strlit_#70670 : { base : int, offset : int }; const strlit_#70671 : { base : int, offset : int }; const strlit_#70672 : { base : int, offset : int }; const strlit_#70673 : { base : int, offset : int }; const strlit_#70674 : { base : int, offset : int }; const strlit_#70676 : { base : int, offset : int }; const strlit_#70678 : { base : int, offset : int }; const strlit_#70679 : { base : int, offset : int }; const strlit_#70680 : { base : int, offset : int }; const strlit_#70681 : { base : int, offset : int }; const strlit_#70682 : { base : int, offset : int }; const strlit_#70683 : { base : int, offset : int }; const strlit_#70684 : { base : int, offset : int }; const strlit_#70686 : { base : int, offset : int }; const strlit_#70687 : { base : int, offset : int }; const strlit_#70688 : { base : int, offset : int }; const strlit_#70689 : { base : int, offset : int }; const strlit_#70692 : { base : int, offset : int }; const strlit_#70693 : { base : int, offset : int }; const strlit_#70695 : { base : int, offset : int }; const strlit_#70697 : { base : int, offset : int }; const strlit_#70698 : { base : int, offset : int }; const strlit_#70699 : { base : int, offset : int }; const strlit_#70700 : { base : int, offset : int }; const strlit_#70703 : { base : int, offset : int }; const strlit_#70704 : { base : int, offset : int }; const strlit_#70705 : { base : int, offset : int }; const strlit_#70706 : { base : int, offset : int }; const strlit_#70707 : { base : int, offset : int }; const strlit_#70709 : { base : int, offset : int }; const strlit_#70712 : { base : int, offset : int }; const strlit_#70714 : { base : int, offset : int }; const strlit_#70716 : { base : int, offset : int }; const strlit_#70718 : { base : int, offset : int }; const strlit_#70720 : { base : int, offset : int }; const strlit_#70721 : { base : int, offset : int }; const strlit_#70722 : { base : int, offset : int }; const strlit_#70723 : { base : int, offset : int }; const strlit_#70724 : { base : int, offset : int }; const strlit_#70725 : { base : int, offset : int }; const strlit_#70726 : { base : int, offset : int }; const strlit_#70727 : { base : int, offset : int }; const strlit_#70728 : { base : int, offset : int }; const strlit_#70729 : { base : int, offset : int }; const strlit_#70730 : { base : int, offset : int }; const strlit_#70731 : { base : int, offset : int }; const strlit_#70732 : { base : int, offset : int }; const strlit_#70733 : { base : int, offset : int }; const strlit_#70735 : { base : int, offset : int }; const strlit_#70736 : { base : int, offset : int }; const strlit_#70738 : { base : int, offset : int }; const strlit_#70739 : { base : int, offset : int }; const strlit_#70740 : { base : int, offset : int }; const strlit_#70743 : { base : int, offset : int }; const strlit_#70745 : { base : int, offset : int }; const strlit_#70746 : { base : int, offset : int }; const strlit_#70747 : { base : int, offset : int }; const strlit_#70748 : { base : int, offset : int }; const strlit_#70751 : { base : int, offset : int }; const strlit_#70752 : { base : int, offset : int }; const strlit_#70755 : { base : int, offset : int }; const strlit_#70756 : { base : int, offset : int }; const strlit_#70758 : { base : int, offset : int }; const strlit_#70759 : { base : int, offset : int }; const strlit_#70760 : { base : int, offset : int }; const strlit_#70761 : { base : int, offset : int }; const strlit_#70762 : { base : int, offset : int }; const strlit_#70764 : { base : int, offset : int }; const strlit_#70765 : { base : int, offset : int }; const strlit_#70766 : { base : int, offset : int }; const strlit_#70768 : { base : int, offset : int }; const strlit_#70769 : { base : int, offset : int }; const strlit_#70770 : { base : int, offset : int }; const strlit_#70771 : { base : int, offset : int }; const strlit_#70772 : { base : int, offset : int }; const strlit_#70773 : { base : int, offset : int }; const strlit_#70774 : { base : int, offset : int }; const strlit_#70775 : { base : int, offset : int }; const strlit_#70776 : { base : int, offset : int }; const strlit_#70777 : { base : int, offset : int }; const strlit_#70779 : { base : int, offset : int }; const strlit_#70781 : { base : int, offset : int }; const strlit_#70783 : { base : int, offset : int }; const strlit_#70784 : { base : int, offset : int }; const strlit_#70785 : { base : int, offset : int }; const strlit_#70788 : { base : int, offset : int }; const strlit_#70789 : { base : int, offset : int }; const strlit_#70790 : { base : int, offset : int }; const strlit_#70791 : { base : int, offset : int }; const strlit_#70794 : { base : int, offset : int }; const strlit_#70795 : { base : int, offset : int }; const strlit_#70796 : { base : int, offset : int }; const strlit_#70797 : { base : int, offset : int }; const strlit_#70798 : { base : int, offset : int }; const strlit_#70799 : { base : int, offset : int }; const strlit_#70804 : { base : int, offset : int }; const strlit_#70808 : { base : int, offset : int }; const strlit_#70810 : { base : int, offset : int }; const strlit_#70817 : { base : int, offset : int }; const strlit_#70818 : { base : int, offset : int }; const strlit_#70820 : { base : int, offset : int }; const strlit_#70821 : { base : int, offset : int }; const strlit_#70822 : { base : int, offset : int }; const strlit_#70823 : { base : int, offset : int }; const strlit_#70824 : { base : int, offset : int }; const strlit_#70825 : { base : int, offset : int }; const strlit_#70826 : { base : int, offset : int }; const strlit_#70827 : { base : int, offset : int }; const strlit_#70828 : { base : int, offset : int }; const strlit_#70829 : { base : int, offset : int }; const strlit_#70835 : { base : int, offset : int }; const strlit_#70836 : { base : int, offset : int }; const strlit_#70837 : { base : int, offset : int }; const strlit_#70838 : { base : int, offset : int }; const strlit_#70841 : { base : int, offset : int }; const strlit_#70842 : { base : int, offset : int }; const strlit_#70844 : { base : int, offset : int }; const strlit_#70845 : { base : int, offset : int }; const strlit_#70846 : { base : int, offset : int }; const strlit_#70847 : { base : int, offset : int }; const strlit_#70848 : { base : int, offset : int }; const strlit_#70849 : { base : int, offset : int }; const strlit_#70851 : { base : int, offset : int }; const strlit_#70854 : { base : int, offset : int }; const strlit_#70855 : { base : int, offset : int }; const strlit_#70856 : { base : int, offset : int }; const strlit_#70860 : { base : int, offset : int }; const strlit_#70861 : { base : int, offset : int }; const strlit_#70862 : { base : int, offset : int }; const strlit_#70863 : { base : int, offset : int }; const strlit_#70865 : { base : int, offset : int }; const strlit_#70867 : { base : int, offset : int }; const strlit_#70870 : { base : int, offset : int }; const strlit_#70871 : { base : int, offset : int }; const strlit_#70872 : { base : int, offset : int }; const strlit_#70873 : { base : int, offset : int }; const strlit_#70874 : { base : int, offset : int }; const strlit_#70875 : { base : int, offset : int }; const strlit_#70878 : { base : int, offset : int }; const strlit_#70880 : { base : int, offset : int }; axiom fun_addr_#33952_lua_newstate == { base : -1, offset : 29 }; axiom fun_addr_#34007_luaopen_base == { base : -1, offset : 186 }; axiom fun_addr_#34008_luaopen_bit32 == { base : -1, offset : 196 }; axiom fun_addr_#34009_luaopen_coroutine == { base : -1, offset : 188 }; axiom fun_addr_#34010_luaopen_debug == { base : -1, offset : 195 }; axiom fun_addr_#34011_luaopen_io == { base : -1, offset : 190 }; axiom fun_addr_#34012_luaopen_math == { base : -1, offset : 193 }; axiom fun_addr_#34013_luaopen_os == { base : -1, offset : 191 }; axiom fun_addr_#34014_luaopen_package == { base : -1, offset : 187 }; axiom fun_addr_#34015_luaopen_string == { base : -1, offset : 192 }; axiom fun_addr_#34016_luaopen_table == { base : -1, offset : 189 }; axiom fun_addr_#34017_luaopen_utf8 == { base : -1, offset : 194 }; axiom fun_addr_#34592_auxsetnode == { base : -1, offset : 1 }; axiom fun_addr_#34596_b_and == { base : -1, offset : 55 }; axiom fun_addr_#34597_b_arshift == { base : -1, offset : 54 }; axiom fun_addr_#34598_b_extract == { base : -1, offset : 60 }; axiom fun_addr_#34599_b_lrot == { base : -1, offset : 61 }; axiom fun_addr_#34600_b_lshift == { base : -1, offset : 62 }; axiom fun_addr_#34601_b_not == { base : -1, offset : 56 }; axiom fun_addr_#34602_b_or == { base : -1, offset : 57 }; axiom fun_addr_#34603_b_replace == { base : -1, offset : 63 }; axiom fun_addr_#34605_b_rrot == { base : -1, offset : 64 }; axiom fun_addr_#34606_b_rshift == { base : -1, offset : 65 }; axiom fun_addr_#34609_b_test == { base : -1, offset : 59 }; axiom fun_addr_#34610_b_xor == { base : -1, offset : 58 }; axiom fun_addr_#34615_boxgc == { base : -1, offset : 30 }; axiom fun_addr_#34617_byteoffset == { base : -1, offset : 174 }; axiom fun_addr_#34657_codepoint == { base : -1, offset : 175 }; axiom fun_addr_#34681_db_debug == { base : -1, offset : 73 }; axiom fun_addr_#34682_db_gethook == { base : -1, offset : 75 }; axiom fun_addr_#34683_db_getinfo == { base : -1, offset : 76 }; axiom fun_addr_#34684_db_getlocal == { base : -1, offset : 77 }; axiom fun_addr_#34685_db_getmetatable == { base : -1, offset : 79 }; axiom fun_addr_#34686_db_getregistry == { base : -1, offset : 78 }; axiom fun_addr_#34687_db_getupvalue == { base : -1, offset : 80 }; axiom fun_addr_#34688_db_getuservalue == { base : -1, offset : 74 }; axiom fun_addr_#34689_db_sethook == { base : -1, offset : 84 }; axiom fun_addr_#34690_db_setlocal == { base : -1, offset : 85 }; axiom fun_addr_#34691_db_setmetatable == { base : -1, offset : 86 }; axiom fun_addr_#34692_db_setupvalue == { base : -1, offset : 87 }; axiom fun_addr_#34693_db_setuservalue == { base : -1, offset : 83 }; axiom fun_addr_#34694_db_traceback == { base : -1, offset : 88 }; axiom fun_addr_#34695_db_upvalueid == { base : -1, offset : 82 }; axiom fun_addr_#34696_db_upvaluejoin == { base : -1, offset : 81 }; axiom fun_addr_#34705_dofilecont == { base : -1, offset : 24 }; axiom fun_addr_#34708_dothecall == { base : -1, offset : 12 }; axiom fun_addr_#34723_f_call == { base : -1, offset : 8 }; axiom fun_addr_#34724_f_close == { base : -1, offset : 100 }; axiom fun_addr_#34725_f_flush == { base : -1, offset : 101 }; axiom fun_addr_#34726_f_gc == { base : -1, offset : 107 }; axiom fun_addr_#34727_f_lines == { base : -1, offset : 102 }; axiom fun_addr_#34728_f_luaopen == { base : -1, offset : 7 }; axiom fun_addr_#34729_f_parser == { base : -1, offset : 0 }; axiom fun_addr_#34730_f_read == { base : -1, offset : 103 }; axiom fun_addr_#34731_f_seek == { base : -1, offset : 104 }; axiom fun_addr_#34732_f_setvbuf == { base : -1, offset : 105 }; axiom fun_addr_#34733_f_tostring == { base : -1, offset : 108 }; axiom fun_addr_#34734_f_write == { base : -1, offset : 106 }; axiom fun_addr_#34752_finishpcall == { base : -1, offset : 28 }; axiom fun_addr_#34773_gctm == { base : -1, offset : 14 }; axiom fun_addr_#34774_generic_reader == { base : -1, offset : 26 }; axiom fun_addr_#34775_getF == { base : -1, offset : 3 }; axiom fun_addr_#34776_getS == { base : -1, offset : 2 }; axiom fun_addr_#34801_gmatch == { base : -1, offset : 155 }; axiom fun_addr_#34802_gmatch_aux == { base : -1, offset : 19 }; axiom fun_addr_#34804_growstack == { base : -1, offset : 6 }; axiom fun_addr_#34807_hookf == { base : -1, offset : 16 }; axiom fun_addr_#34818_io_close == { base : -1, offset : 89 }; axiom fun_addr_#34819_io_fclose == { base : -1, offset : 31 }; axiom fun_addr_#34820_io_flush == { base : -1, offset : 90 }; axiom fun_addr_#34821_io_input == { base : -1, offset : 91 }; axiom fun_addr_#34822_io_lines == { base : -1, offset : 92 }; axiom fun_addr_#34823_io_noclose == { base : -1, offset : 15 }; axiom fun_addr_#34824_io_open == { base : -1, offset : 93 }; axiom fun_addr_#34825_io_output == { base : -1, offset : 94 }; axiom fun_addr_#34826_io_pclose == { base : -1, offset : 20 }; axiom fun_addr_#34827_io_popen == { base : -1, offset : 95 }; axiom fun_addr_#34828_io_read == { base : -1, offset : 96 }; axiom fun_addr_#34829_io_readline == { base : -1, offset : 13 }; axiom fun_addr_#34830_io_tmpfile == { base : -1, offset : 97 }; axiom fun_addr_#34831_io_type == { base : -1, offset : 98 }; axiom fun_addr_#34832_io_write == { base : -1, offset : 99 }; axiom fun_addr_#34833_ipairsaux == { base : -1, offset : 25 }; axiom fun_addr_#34837_iter_aux == { base : -1, offset : 21 }; axiom fun_addr_#34838_iter_codes == { base : -1, offset : 178 }; axiom fun_addr_#34841_l_alloc == { base : -1, offset : 4 }; axiom fun_addr_#34853_laction == { base : -1, offset : 18 }; axiom fun_addr_#34859_ll_loadlib == { base : -1, offset : 179 }; axiom fun_addr_#34860_ll_require == { base : -1, offset : 181 }; axiom fun_addr_#34861_ll_searchpath == { base : -1, offset : 180 }; axiom fun_addr_#34870_lstop == { base : -1, offset : 22 }; axiom fun_addr_#34874_luaB_assert == { base : -1, offset : 33 }; axiom fun_addr_#34875_luaB_auxwrap == { base : -1, offset : 23 }; axiom fun_addr_#34876_luaB_cocreate == { base : -1, offset : 66 }; axiom fun_addr_#34877_luaB_collectgarbage == { base : -1, offset : 34 }; axiom fun_addr_#34878_luaB_coresume == { base : -1, offset : 67 }; axiom fun_addr_#34879_luaB_corunning == { base : -1, offset : 68 }; axiom fun_addr_#34880_luaB_costatus == { base : -1, offset : 69 }; axiom fun_addr_#34881_luaB_cowrap == { base : -1, offset : 70 }; axiom fun_addr_#34882_luaB_dofile == { base : -1, offset : 35 }; axiom fun_addr_#34883_luaB_error == { base : -1, offset : 36 }; axiom fun_addr_#34884_luaB_getmetatable == { base : -1, offset : 37 }; axiom fun_addr_#34885_luaB_ipairs == { base : -1, offset : 38 }; axiom fun_addr_#34886_luaB_load == { base : -1, offset : 40 }; axiom fun_addr_#34887_luaB_loadfile == { base : -1, offset : 39 }; axiom fun_addr_#34888_luaB_next == { base : -1, offset : 27 }; axiom fun_addr_#34889_luaB_pairs == { base : -1, offset : 41 }; axiom fun_addr_#34890_luaB_pcall == { base : -1, offset : 42 }; axiom fun_addr_#34891_luaB_print == { base : -1, offset : 43 }; axiom fun_addr_#34892_luaB_rawequal == { base : -1, offset : 44 }; axiom fun_addr_#34893_luaB_rawget == { base : -1, offset : 46 }; axiom fun_addr_#34894_luaB_rawlen == { base : -1, offset : 45 }; axiom fun_addr_#34895_luaB_rawset == { base : -1, offset : 47 }; axiom fun_addr_#34896_luaB_select == { base : -1, offset : 48 }; axiom fun_addr_#34897_luaB_setmetatable == { base : -1, offset : 49 }; axiom fun_addr_#34898_luaB_tonumber == { base : -1, offset : 50 }; axiom fun_addr_#34899_luaB_tostring == { base : -1, offset : 51 }; axiom fun_addr_#34900_luaB_type == { base : -1, offset : 52 }; axiom fun_addr_#34901_luaB_xpcall == { base : -1, offset : 53 }; axiom fun_addr_#34902_luaB_yield == { base : -1, offset : 71 }; axiom fun_addr_#34903_luaB_yieldable == { base : -1, offset : 72 }; axiom fun_addr_#34918_math_abs == { base : -1, offset : 109 }; axiom fun_addr_#34919_math_acos == { base : -1, offset : 110 }; axiom fun_addr_#34920_math_asin == { base : -1, offset : 111 }; axiom fun_addr_#34921_math_atan == { base : -1, offset : 112 }; axiom fun_addr_#34922_math_ceil == { base : -1, offset : 113 }; axiom fun_addr_#34923_math_cos == { base : -1, offset : 114 }; axiom fun_addr_#34924_math_cosh == { base : -1, offset : 132 }; axiom fun_addr_#34925_math_deg == { base : -1, offset : 115 }; axiom fun_addr_#34926_math_exp == { base : -1, offset : 116 }; axiom fun_addr_#34927_math_floor == { base : -1, offset : 118 }; axiom fun_addr_#34928_math_fmod == { base : -1, offset : 119 }; axiom fun_addr_#34929_math_frexp == { base : -1, offset : 136 }; axiom fun_addr_#34930_math_ldexp == { base : -1, offset : 137 }; axiom fun_addr_#34931_math_log == { base : -1, offset : 121 }; axiom fun_addr_#34932_math_log10 == { base : -1, offset : 138 }; axiom fun_addr_#34933_math_max == { base : -1, offset : 122 }; axiom fun_addr_#34934_math_min == { base : -1, offset : 123 }; axiom fun_addr_#34935_math_modf == { base : -1, offset : 124 }; axiom fun_addr_#34936_math_pow == { base : -1, offset : 135 }; axiom fun_addr_#34937_math_rad == { base : -1, offset : 125 }; axiom fun_addr_#34938_math_random == { base : -1, offset : 126 }; axiom fun_addr_#34939_math_randomseed == { base : -1, offset : 127 }; axiom fun_addr_#34940_math_sin == { base : -1, offset : 128 }; axiom fun_addr_#34941_math_sinh == { base : -1, offset : 133 }; axiom fun_addr_#34942_math_sqrt == { base : -1, offset : 129 }; axiom fun_addr_#34943_math_tan == { base : -1, offset : 130 }; axiom fun_addr_#34944_math_tanh == { base : -1, offset : 134 }; axiom fun_addr_#34945_math_toint == { base : -1, offset : 117 }; axiom fun_addr_#34946_math_type == { base : -1, offset : 131 }; axiom fun_addr_#34947_math_ult == { base : -1, offset : 120 }; axiom fun_addr_#34952_msghandler == { base : -1, offset : 17 }; axiom fun_addr_#34972_os_clock == { base : -1, offset : 139 }; axiom fun_addr_#34973_os_date == { base : -1, offset : 140 }; axiom fun_addr_#34974_os_difftime == { base : -1, offset : 141 }; axiom fun_addr_#34975_os_execute == { base : -1, offset : 142 }; axiom fun_addr_#34976_os_exit == { base : -1, offset : 143 }; axiom fun_addr_#34977_os_getenv == { base : -1, offset : 144 }; axiom fun_addr_#34978_os_remove == { base : -1, offset : 145 }; axiom fun_addr_#34979_os_rename == { base : -1, offset : 146 }; axiom fun_addr_#34980_os_setlocale == { base : -1, offset : 147 }; axiom fun_addr_#34981_os_time == { base : -1, offset : 148 }; axiom fun_addr_#34982_os_tmpname == { base : -1, offset : 149 }; axiom fun_addr_#34983_pack == { base : -1, offset : 169 }; axiom fun_addr_#34986_panic == { base : -1, offset : 5 }; axiom fun_addr_#34991_pmain == { base : -1, offset : 11 }; axiom fun_addr_#35037_resume == { base : -1, offset : 9 }; axiom fun_addr_#35045_searcher_C == { base : -1, offset : 184 }; axiom fun_addr_#35046_searcher_Croot == { base : -1, offset : 185 }; axiom fun_addr_#35047_searcher_Lua == { base : -1, offset : 183 }; axiom fun_addr_#35048_searcher_preload == { base : -1, offset : 182 }; axiom fun_addr_#35075_sort == { base : -1, offset : 173 }; axiom fun_addr_#35083_str_byte == { base : -1, offset : 150 }; axiom fun_addr_#35084_str_char == { base : -1, offset : 151 }; axiom fun_addr_#35086_str_dump == { base : -1, offset : 152 }; axiom fun_addr_#35087_str_find == { base : -1, offset : 153 }; axiom fun_addr_#35089_str_format == { base : -1, offset : 154 }; axiom fun_addr_#35090_str_gsub == { base : -1, offset : 156 }; axiom fun_addr_#35091_str_len == { base : -1, offset : 157 }; axiom fun_addr_#35092_str_lower == { base : -1, offset : 158 }; axiom fun_addr_#35093_str_match == { base : -1, offset : 159 }; axiom fun_addr_#35094_str_pack == { base : -1, offset : 164 }; axiom fun_addr_#35095_str_packsize == { base : -1, offset : 165 }; axiom fun_addr_#35096_str_rep == { base : -1, offset : 160 }; axiom fun_addr_#35097_str_reverse == { base : -1, offset : 161 }; axiom fun_addr_#35098_str_sub == { base : -1, offset : 162 }; axiom fun_addr_#35099_str_unpack == { base : -1, offset : 166 }; axiom fun_addr_#35100_str_upper == { base : -1, offset : 163 }; axiom fun_addr_#35108_tconcat == { base : -1, offset : 167 }; axiom fun_addr_#35113_tinsert == { base : -1, offset : 168 }; axiom fun_addr_#35114_tmove == { base : -1, offset : 172 }; axiom fun_addr_#35126_tremove == { base : -1, offset : 171 }; axiom fun_addr_#35135_unpack == { base : -1, offset : 170 }; axiom fun_addr_#35137_unroll == { base : -1, offset : 10 }; axiom fun_addr_#35141_utfchar == { base : -1, offset : 176 }; axiom fun_addr_#35142_utflen == { base : -1, offset : 177 }; axiom fun_addr_#35146_writer == { base : -1, offset : 32 };