IA64/dist/unicorn-x86.min.js

3155 lines
2.6 MiB
JavaScript
Raw Permalink Normal View History

var MUnicorn = function(MUnicorn) {
MUnicorn = MUnicorn || {};
var Module = MUnicorn;
var Module;if(!Module)Module=(typeof MUnicorn!=="undefined"?MUnicorn:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globa
var asm=(function(global,env,buffer) {
"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0.0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.max;var ca=global.Math.clz32;var da=env.abort;var ea=env.assert;var fa=env.enlargeMemory;var ga=env.getTotalMemory;var ha=env.abortOnCannotGrowMemory;var ia=env.invoke_iiiiiiii;var ja=env.jsCall_iiiiiiii;var ka=env.invoke_iiii;var la=env.jsCall_iiii;var ma=env.invoke_viiiiiii;var na=env.jsCall_viiiiiii;var oa=env.invoke_viiiii;var pa=env.jsCall_viiiii;var qa=env.invoke_vi;var ra=env.jsCall_vi;var sa=env.invoke_iiiiiiiiiii;var ta=env.jsCall_iiiiiiiiiii;var ua=env.invoke_vii;var va=env.jsCall_vii;var wa=env.invoke_iiiiiii;var xa=env.jsCall_iiiiiii;var ya=env.invoke_ii;var za=env.jsCall_ii;var Aa=env.invoke_viii;var Ba=env.jsCall_viii;var Ca=env.invoke_viiiiiiii;var Da=env.jsCall_viiiiiiii;var Ea=env.invoke_v;var Fa=env.jsCall_v;var Ga=env.invoke_iiiiiiiii;var Ha=env.jsCall_iiiiiiiii;var Ia=env.invoke_iiiii;var Ja=env.jsCall_iiiii;var Ka=env.invoke_viiiiii;var La=env.jsCall_viiiiii;var Ma=env.invoke_iii;var Na=env.jsCall_iii;var Oa=env.invoke_iiiiii;var Pa=env.jsCall_iiiiii;var Qa=env.invoke_viiii;var Ra=env.jsCall_viiii;var Sa=env._pthread_join;var Ta=env.___syscall125;var Ua=env._pthread_attr_destroy;var Va=env.___assert_fail;var Wa=env._usleep;var Xa=env._pthread_attr_setdetachstate;var Ya=env._longjmp;var Za=env._llvm_exp2_f64;var _a=env.___setErrNo;var $a=env.___syscall192;var ab=env._getpagesize;var bb=env._sigfillset;var cb=env._emscripten_memcpy_big;var db=env._pthread_attr_init;var eb=env.__exit;var fb=env.___syscall91;var gb=env._abort;var hb=env.___syscall54;var ib=env.___unlock;var jb=env._pthread_create;var kb=env._llvm_cttz_i64;var lb=env.___lock;var mb=env._llvm_exp2_f32;var nb=env.___syscall6;var ob=env._gettimeofday;var pb=env.___syscall140;var qb=env._exit;var rb=env._pthread_sigmask;var sb=env.___syscall146;var tb=0.0;function ub(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true}
// EMSCRIPTEN_START_FUNCS
function js(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Ec=0,Gc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0,ci=0,di=0,ei=0,fi=0,gi=0,hi=0,ii=0,ji=0,ki=0,li=0,mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0;Ei=u;u=u+320|0;I=Ei+304|0;H=Ei+296|0;Jb=Ei+288|0;Hd=Ei+280|0;eb=Ei+272|0;Nc=Ei+264|0;yg=Ei+256|0;Ka=Ei+248|0;Mg=Ei+240|0;Ob=Ei+232|0;Lg=Ei+224|0;Nb=Ei+216|0;La=Ei+208|0;Mb=Ei+200|0;Lb=Ei+192|0;ib=Ei+184|0;Rc=Ei+176|0;hb=Ei+168|0;Qc=Ei+160|0;Yg=Ei+152|0;fb=Ei+144|0;lh=Ei+136|0;Pc=Ei+128|0;N=Ei+120|0;T=Ei+112|0;Kb=Ei+104|0;L=Ei+96|0;sb=Ei+88|0;K=Ei+80|0;J=Ei+72|0;S=Ei+64|0;Fe=Ei+56|0;Oc=Ei+48|0;ea=Ei+40|0;zi=Ei;ti=b+168|0;e=k[ti>>2]|0;g=e+864|0;Ai=k[g>>2]|0;ci=Ai+199252|0;yi=k[ci>>2]|0;ii=k[Ai+200012>>2]|0;$h=k[Ai+200016>>2]|0;Ec=k[Ai+200020>>2]|0;Bf=Ai+199968|0;li=k[k[Bf>>2]>>2]|0;bi=Ai+199972|0;hi=k[k[bi>>2]>>2]|0;Gh=Ai+199976|0;ki=k[k[Gh>>2]>>2]|0;gf=Ai+199984|0;Ng=k[k[gf>>2]>>2]|0;df=Ai+199996|0;fi=k[k[df>>2]>>2]|0;Sh=k[k[Ai+2e5>>2]>>2]|0;ri=Ai+199988|0;gi=Ai+199260|0;si=Ai+61084|0;Bi=k[si>>2]|0;oi=b+84|0;f=i[oi>>0]|0;Ci=f<<24>>24!=0;Di=b+16|0;xi=Di;k[xi>>2]=c;k[xi+4>>2]=d;xi=e+1112|0;if((k[xi>>2]|0)==(c|0)?(k[xi+4>>2]|0)==(d|0):0){if(f<<24>>24){Bi=k[g>>2]|0;xi=k[Bi+199256>>2]|0;Ci=k[b+76>>2]|0;wi=Bi+61080|0;e=k[wi>>2]|0;k[wi>>2]=e+2;j[e>>1]=11;Bi=Bi+61084|0;e=k[Bi>>2]|0;k[Bi>>2]=e+4;k[e>>2]=xi;e=k[Bi>>2]|0;k[Bi>>2]=e+4;k[e>>2]=Ci;i[oi>>0]=0;e=k[ti>>2]|0}Ci=b+32|0;Ci=HQ(c|0,d|0,k[Ci>>2]|0,k[Ci+4>>2]|0)|0;xi=k[e+864>>2]|0;ui=k[k[xi+199996>>2]>>2]|0;vi=xi+61080|0;Bi=k[vi>>2]|0;k[vi>>2]=Bi+2;j[Bi>>1]=11;Bi=xi+61084|0;wi=k[Bi>>2]|0;k[Bi>>2]=wi+4;k[wi>>2]=ui;wi=k[Bi>>2]|0;k[Bi>>2]=wi+4;k[wi>>2]=Ci;wi=ui+1|0;Ci=k[vi>>2]|0;k[vi>>2]=Ci+2;j[Ci>>1]=11;Ci=k[Bi>>2]|0;k[Bi>>2]=Ci+4;k[Ci>>2]=wi;Ci=k[Bi>>2]|0;k[Bi>>2]=Ci+4;k[Ci>>2]=M;xi=k[xi+199252>>2]|0;Ci=k[vi>>2]|0;k[vi>>2]=Ci+2;j[Ci>>1]=21;Ci=k[Bi>>2]|0;k[Bi>>2]=Ci+4;k[Ci>>2]=ui;Ci=k[Bi>>2]
function WQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=VQ(e,f)|0;a=M;return (M=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function XQ(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ha()|0;_a(12);return -1}k[r>>2]=a;if((a|0)>(ga()|0)?(fa()|0)==0:0){_a(12);k[r>>2]=b;return -1}return b|0}function YQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else TQ(a,b,c)|0;return a|0}function ZQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=u;u=u+16|0;e=f|0;MQ(a,b,c,d,e)|0;u=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function _Q(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function $Q(a){a=a|0;return (a&255)<<8|a>>8&255|0}function aR(a,b,c){a=a|0;b=b|0;c=c|0;b=ca(b)|0;if((b|0)==32)b=b+(ca(a)|0)|0;M=0;return b|0}function bR(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return vb[a&1023](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function dR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function eR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function fR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function gR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function hR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function iR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function jR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function kR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function lR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function mR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function nR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function oR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function pR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function qR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function rR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function sR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function tR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function uR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function vR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function wR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(20,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function xR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(21,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function yR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(22,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function zR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(23,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function AR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(24,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function BR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(25,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function CR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ja(26,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function DR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0
function gJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+64|0;C=D+48|0;v=D+8|0;B=D;r=v+16|0;s=v+24|0;t=v+32|0;q=a;e=0;d=4;w=0;x=4;while(1){p=k[q+12>>2]|0;f=k[p>>2]|0;j=k[p+20>>2]|0;p=k[p+24>>2]|0;o=QQ(b|0,c|0,12)|0;n=M;g=f&63;f=f>>>6;a:do if(!g)y=6;else{h=6;while(1){h=h-g|0;if((h|0)<=-1){y=6;break a}if((f|0)==67108863){f=p;break a}g=QQ(o|0,n|0,h*9|0)|0;f=k[j+(f<<11)+((g&511)<<2)>>2]|0;g=f&63;f=f>>>6;if(!g){y=6;break}}}while(0);do if((y|0)==6){y=0;o=p+(f*48|0)+24|0;if((k[o>>2]|0)==0&(k[o+4>>2]|0)==0?(h=p+(f*48|0)+32|0,j=k[h>>2]|0,h=k[h+4>>2]|0,o=p+(f*48|0)+16|0,n=k[o>>2]|0,o=k[o+4>>2]|0,g=KQ(j|0,h|0,-1,-1)|0,o=KQ(g|0,M|0,n|0,o|0)|0,n=M,!((h>>>0<c>>>0|(h|0)==(c|0)&j>>>0<=b>>>0)&(n>>>0>c>>>0|(n|0)==(c|0)&o>>>0>=b>>>0))):0){f=p;break}f=p+(f*48|0)|0}while(0);g=k[f>>2]|0;if(i[g+80>>0]|0){g=p+((m[g+168+((b&4095)<<1)>>1]|0)*48|0)|0;f=g;g=k[g>>2]|0}h=f+32|0;h=HQ(b|0,c|0,k[h>>2]|0,k[h+4>>2]|0)|0;E=M;b=f+8|0;b=KQ(h|0,E|0,k[b>>2]|0,k[b+4>>2]|0)|0;c=M;F=g+40|0;f=k[F>>2]|0;F=k[F+4>>2]|0;j=g+48|0;o=k[j>>2]|0;j=k[j+4>>2]|0;n=HQ(f|0,F|0,h|0,E|0)|0;p=M;h=(F>>>0<E>>>0|(F|0)==(E|0)&f>>>0<h>>>0)<<31>>31;j=KQ(h|0,((h|0)<0)<<31>>31|0,o|0,j|0)|0;o=M;o=(o|0)<0|(e>>>0>p>>>0|(e|0)==(p|0)&d>>>0>=n>>>0)&((j|0)==0&(o|0)==0);d=o?n:d;e=o?p:e;if(!(k[g+24>>2]|0)){f=0;break}f=k[g+28>>2]|0;if(!f){f=g;e=w;d=x;break}yb[k[f>>2]&1023](v,g,b,c,0);f=k[v>>2]|0;E=r;o=s;p=k[o>>2]|0;o=k[o+4>>2]|0;F=k[t>>2]|0;n=k[E>>2]&~p;E=k[E+4>>2]&~o;b=p&b|n;c=o&c|E;o=HQ(n|p|0,E|o|0,b|0,c|0)|0;o=KQ(o|0,M|0,1,0)|0;E=M;p=w>>>0<E>>>0|(w|0)==(E|0)&x>>>0<o>>>0;x=p?x:o;w=p?w:E;if(!(F&1)){y=14;break}else q=f}if((y|0)==14){f=(k[q+76>>2]|0)+496|0;e=w;d=x}do if(!(e>>>0<0|(e|0)==0&d>>>0<4)){if(!(lf(f)|0)){if(!(i[f+87>>0]|0))break;if(!(i[f+82>>0]|0))break}e=k[a+76>>2]|0;b=KQ((of(f)|0)&-4096|0,0,b|0,c|0)|0;d=e+804|0;c=k[d>>2]|0;if((c|0)!=0?(b-(k[c+8>>2]|0)|0)>>>0<(k[c+12>>2]|0)>>>0:0)A=c;else y=22;b:do if((y|0)==22){c=k[e+808>>2]|0;if(!c){F=k[10771]|0;E=C;y=E;k[y>>2]=b;E=E+4|0;k[E>>2]=0;dQ(F,58184,C)|0;gb()}else z=c;do{if((b-(k[z+8>>2]|0)|0)>>>0<(k[z+12>>2]|0)>>>0){A=z;break b}z=k[z+276>>2]|0}while((z|0)!=0);F=k[10771]|0;E=C;z=E;k[z>>2]=b;E=E+4|0;k[E>>2]=0;dQ(F,58184,C)|0;gb()}while(0);k[d>>2]=A;F=(k[A+4>>2]|0)+(b-(k[A+8>>2]|0))|0;F=l[F>>0]|l[F+1>>0]<<8|l[F+2>>0]<<16|l[F+3>>0]<<24;E=B;k[E>>2]=F;k[E+4>>2]=((F|0)<0)<<31>>31;u=D;return F|0}while(0);tf(f,b,c,B,4)|0;F=k[B>>2]|0;u=D;return F|0}function hJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+64|0;C=D+48|0;v=D+8|0;B=D;r=v+16|0;s=v+24|0;t=v+32|0;q=a;e=0;d=8;w=0;x=8;while(1){p=k[q+12>>2]|0;f=k[p>>2]|0;j=k[p+20>>2]|0;p=k[p+24>>2]|0;o=QQ(b|0,c|0,12)|0;n=M;g=f&63;f=f>>>6;a:do if(!g)y=6;else{h=6;while(1){h=h-g|0;if((h|0)<=-1){y=6;break a}if((f|0)==67108863){f=p;break a}g=QQ(o|0,n|0,h*9|0)|0;f=k[j+(f<<11)+((g&511)<<2)>>2]|0;g=f&63;f=f>>>6;if(!g){y=6;break}}}while(0);do if((y|0)==6){y=0;o=p+(f*48|0)+24|0;if((k[o>>2]|0)==0&(k[o+4>>2]|0)==0?(h=p+(f*48|0)+32|0,j=k[h>>2]|0,h=k[h+4>>2]|0,o=p+(f*48|0)+16|0,n=k[o>>2]|0,o=k[o+4>>2]|0,g=KQ(j|0,h|0,-1,-1)|0,o=KQ(g|0,M|0,n|0,o|0)|0,n=M,!((h>>>0<c>>>0|(h|0)==(c|0)&j>>>0<=b>>>0)&(n>>>0>c>>>0|(n|0)==(c|0)&o>>>0>=b>>>0))):0){f=p;break}f=p+(f*48|0)|0}while(0);g=k[f>>2]|0;if(i[g+80>>0]|0){g=p+((m[g+168+((b&4095)<<1)>>1]|0)*48|0)|0;f=g;g=k[g>>2]|0}h=f+32|0;h=HQ(b|0,c|0,k[h>>2]|0,k[h+4>>2]|0)|0;E=M;b=f+8|0;b=KQ(h|0,E|0,k[b>>2]|0,k[b+4>>2]|0)|0;c=M;F=g+40|0;f=k[F>>2]|0;F=k[F+4>>2]|0;j=g+48|0;o=k[j>>2]|0;j=k[j+4>>2]|0;n=HQ(f|0,F|0,h|0,E|0)|0;p=M;h=(F>>>0<E>>>0|(F|0)==(E|0)&f>>>0<h>>>0)<<31>>31;j=KQ(h|0,((h|0)<0)<<31>>31|0,o|0,j|0)|0;o=M;o=(o|0)<0|(e>>>0>p>>>0|(e|0)==(p|0)&d>>>0>=n>>>0)&((j|0)==0&(o|0)==0);d=o?n:d;e=o?p:e;if(!(k[g+24>>2]|0)){f=0;break}f=k[g+28>>2]|0;if(!f){f=g;e=w;d=x;break}yb[k[f>>2]&1023](v,g,b,c,0);f=k[v>>2]|0;E=r;o=s;p=k[o>>2]|0;o=k[o+4>>2]|0;F=k[t>>2]|0;n=k[E>>2]&~p;E=k[E+4>>2]&~o;b=p&b|n;c=o&c|E;o=HQ(n|p|0,E|o|0,b|0,c|0)|0;o=KQ(o|0,M|0,1,0)|0;E=M;p=w>>>0<E>>>0|(w|0)==(E|0)&x>>>0<o>>>0;x=p?x:o;w=p?w:E;if(!(F&1)){y=14;break}els
function Ns(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=u;u=u+16|0;X=$;T=b+168|0;_=k[(k[T>>2]|0)+864>>2]|0;n=_+199252|0;m=k[n>>2]|0;Y=k[_+200004>>2]|0;V=k[_+200008>>2]|0;p=_+200012|0;g=k[p>>2]|0;B=k[_+200016>>2]|0;l=_+200020|0;E=k[l>>2]|0;W=k[k[_+199968>>2]>>2]|0;U=_+199972|0;J=k[k[U>>2]>>2]|0;C=_+199976|0;I=k[k[C>>2]>>2]|0;h=k[k[_+199980>>2]>>2]|0;H=k[k[_+199996>>2]>>2]|0;Z=_+199988|0;P=c&255;D=b+4|0;o=k[D>>2]|0;q=(o&8|0)==0;if(q)O=(o&1|0)==0?((o&2|0)==0?0:3):2;else O=1;F=k[19564+(P<<4)+(O<<2)>>2]|0;a:do if(F|0){N=(O|0)==0;A=(P|4|0)==198|(P+-16|0)>>>0<80|N^1;o=k[b+128>>2]|0;if(!((o&2048|0)==0&0==0)){_=b+32|0;_=HQ(d|0,e|0,k[_>>2]|0,k[_+4>>2]|0)|0;Bs(b,7,_,M);u=$;return}if((o&1024|0)==0&0==0){t=c&255;if(A&((o&4194304|0)==0&0==0)){switch(t<<24>>24){case 56:case 58:break;default:break a}if(!q)break}switch(t<<24>>24){case 14:{if((k[b+156>>2]|0)>=0)break a;k[X>>2]=m;Vf(_,695,-1,1,X);u=$;return}case 119:{k[X>>2]=m;Vf(_,695,-1,1,X);u=$;return}default:{if(!A){k[X>>2]=m;Vf(_,694,-1,1,X)}Q=b+16|0;r=Q;q=k[r>>2]|0;r=k[r+4>>2]|0;S=KQ(q|0,r|0,1,0)|0;s=Q;k[s>>2]=S;k[s+4>>2]=M;s=(QQ(q|0,r|0,12)|0)&255;S=a+184|0;o=k[S>>2]|0;if((o&3|0)!=3)if(!(o&8388608))o=2;else o=(k[a+144>>2]|0)>>>17&2;else o=1;R=a+3632+(o<<13)+(s<<5)+16|0;if((k[R>>2]|0)==(q&-4096|0)?(k[R+4>>2]|0)==(r|0):0){L=KQ(k[a+3632+(o<<13)+(s<<5)+24>>2]|0,0,q|0,r|0)|0;L=i[L>>0]|0}else L=gc(a,q,r,o)|0;R=L&255;r=R>>>3&7;s=r|f;K=A?s:r;z=R>>>6;if((F|0)!=1){switch(t<<24>>24){case -62:case -58:case 112:{k[b+144>>2]=1;break}default:{}}g=K<<4;b:do if(!A){g=g+592|0;if((z|0)==3){o=g;p=(R<<4&112)+592|0;break}else{ls(a,b,R);Z=k[T>>2]|0;p=k[Z+864>>2]|0;X=k[p+200020>>2]|0;_f(Z,X,k[k[p+199968>>2]>>2]|0,k[b+120>>2]|0,3);Z=k[p+199252>>2]|0;U=p+61080|0;o=k[U>>2]|0;k[U>>2]=o+2;j[o>>1]=21;p=p+61084|0;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=X;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=Z;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=1064;o=k[U>>2]|0;k[U>>2]=o+2;j[o>>1]=21;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=X+1;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=Z;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=1068;o=g;p=1064;break}}else{l=g+792|0;if((z|0)==3){o=l;p=((k[b+60>>2]|R&7)<<4)+792|0;break}ls(a,b,R);switch(t<<24>>24){case 90:case 89:case 88:case 87:case 86:case 85:case 84:case 83:case 82:case 81:case 80:case 95:case 94:case 93:case 92:case -62:{g=(O|0)==2?2:(O|0)==3?3:4;G=637;break}case 47:case 46:{g=N?2:3;G=637;break}default:{}}c:do if((G|0)==637){switch(g&7){case 2:break;case 3:{Z=k[T>>2]|0;p=k[Z+864>>2]|0;X=k[p+200020>>2]|0;_f(Z,X,k[k[p+199968>>2]>>2]|0,k[b+120>>2]|0,3);Z=k[p+199252>>2]|0;U=p+61080|0;o=k[U>>2]|0;k[U>>2]=o+2;j[o>>1]=21;p=p+61084|0;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=X;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=Z;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=1048;o=k[U>>2]|0;k[U>>2]=o+2;j[o>>1]=21;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=X+1;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=Z;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=1052;o=l;p=1048;break b}default:break c}h=k[k[Z>>2]>>2]|0;g=k[T>>2]|0;if(k[g+1024>>2]|0){K=b+176|0;J=k[K>>2]|0;K=k[K+4>>2]|0;U=k[g+864>>2]|0;L=k[k[U+199996>>2]>>2]|0;N=U+61080|0;X=k[N>>2]|0;k[N>>2]=X+2;j[X>>1]=11;X=U+61084|0;R=k[X>>2]|0;k[X>>2]=R+4;k[R>>2]=L;R=k[X>>2]|0;k[X>>2]=R+4;k[R>>2]=J;R=L+1|0;g=k[N>>2]|0;k[N>>2]=g+2;j[g>>1]=11;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=R;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=K;U=k[U+199252>>2]|0;g=k[N>>2]|0;k[N>>2]=g+2;j[g>>1]=21;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=L;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=U;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=128;g=k[N>>2]|0;k[N>>2]=g+2;j[g>>1]=21;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=R;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=U;g=k[X>>2]|0;k[X>>2]=g+4;k[g>>2]=132;g=k[T>>2]|0}_f(g,h,W,k[b+120>>2]|0,2);Z=k[k[Z>>2]>>2]|0;o=_+61080|0;p=k[o>>2]|0;k[o>>2]=p+2;j[p>>1]=21;p=_+61084|0;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=Z;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=m;o=k[p>>2]|0;k[p>>2]=o+4;k[o>>2]=1048;o=l;p=1048;break b}while(0);o=k[b+120>>2]|0;Z=k[T>>2]|0;J=k[Z+864>>2]|0;L=k[J+200020>>2]|0;f=k[k[J+199968>>2]>>2]|0;N=k[k[J+199996>>2]>>2]|0;_f(Z,L,f,o,3);Z=J+199252|0;E=k[Z>>2]|0;R=L;U=J+61080|0;
function Nb(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Ob(){return u|0}function Pb(a){a=a|0;u=a}function Qb(a,b){a=a|0;b=b|0;u=a;v=b}function Rb(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Sb(a){a=a|0;M=a}function Tb(){return M|0}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=a+1081|0;d=k[a+952>>2]|0;if(!d)return;e=c&255;while(1){c=k[d+4>>2]|0;if(!c){c=8;break}if(i[f>>0]|0){c=8;break}if((k[c+4>>2]|0)==500)yb[k[c+32>>2]&1023](a,b,1,e,k[c+36>>2]|0);d=k[d>>2]|0;if(!d){c=8;break}}if((c|0)==8)return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=a+1081|0;d=k[a+952>>2]|0;if(!d)return;e=c&65535;while(1){c=k[d+4>>2]|0;if(!c){c=8;break}if(i[f>>0]|0){c=8;break}if((k[c+4>>2]|0)==500)yb[k[c+32>>2]&1023](a,b,2,e,k[c+36>>2]|0);d=k[d>>2]|0;if(!d){c=8;break}}if((c|0)==8)return}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=a+1081|0;d=k[a+952>>2]|0;if(!d)return;while(1){e=k[d+4>>2]|0;if(!e){d=7;break}if(i[f>>0]|0){d=7;break}if((k[e+4>>2]|0)==500)yb[k[e+32>>2]&1023](a,b,4,c,k[e+36>>2]|0);d=k[d>>2]|0;if(!d){d=7;break}}if((d|0)==7)return}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a+952>>2]|0;if(!c){b=0;return b|0}d=a+1081|0;while(1){e=k[c+4>>2]|0;if(!e){c=0;d=8;break}if(i[d>>0]|0){c=0;d=8;break}if((k[e+4>>2]|0)==218){d=7;break}c=k[c>>2]|0;if(!c){c=0;d=8;break}}if((d|0)==7){b=(Ib[k[e+32>>2]&1023](a,b,1,k[e+36>>2]|0)|0)&255;return b|0}else if((d|0)==8)return c|0;return 0}function Yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a+952>>2]|0;if(!c){b=0;return b|0}d=a+1081|0;while(1){e=k[c+4>>2]|0;if(!e){c=0;d=8;break}if(i[d>>0]|0){c=0;d=8;break}if((k[e+4>>2]|0)==218){d=7;break}c=k[c>>2]|0;if(!c){c=0;d=8;break}}if((d|0)==7){b=(Ib[k[e+32>>2]&1023](a,b,2,k[e+36>>2]|0)|0)&65535;return b|0}else if((d|0)==8)return c|0;return 0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a+952>>2]|0;if(!c){b=0;return b|0}d=a+1081|0;while(1){e=k[c+4>>2]|0;if(!e){c=0;d=8;break}if(i[d>>0]|0){c=0;d=8;break}if((k[e+4>>2]|0)==218){d=7;break}c=k[c>>2]|0;if(!c){c=0;d=8;break}}if((d|0)==7){b=Ib[k[e+32>>2]&1023](a,b,4,k[e+36>>2]|0)|0;return b|0}else if((d|0)==8)return c|0;return 0}function _b(a,b){a=a|0;b=b|0;b=k[a+284>>2]|0;k[a+288>>2]=0;IQ(b+3632|0,-1,25344)|0;IQ(a+292|0,0,16384)|0;a=b+35328|0;k[a>>2]=0;k[a+4>>2]=0;a=b+35312|0;k[a>>2]=-1;k[a+4>>2]=-1;b=b+35320|0;k[b>>2]=0;k[b+4>>2]=0;return}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=k[a+284>>2]|0;e=g+35320|0;h=e;d=g+35312|0;f=d;f=(k[h>>2]&b|0)==(k[f>>2]|0)?(k[h+4>>2]&c|0)==(k[f+4>>2]|0):0;k[a+288>>2]=0;if(f){IQ(g+3632|0,-1,25344)|0;IQ(a+292|0,0,16384)|0;h=g+35328|0;k[h>>2]=0;k[h+4>>2]=0;h=d;k[h>>2]=-1;k[h+4>>2]=-1;h=e;k[h>>2]=0;k[h+4>>2]=0;return}f=b&-4096;e=QQ(b|0,c|0,12)|0;e=e&255;d=g+3632+(e<<5)|0;h=d;if(!((!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)?(h=g+3632+(e<<5)+8|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)?(h=g+3632+(e<<5)+16|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)){k[d>>2]=-1;k[d+4>>2]=-1;k[d+8>>2]=-1;k[d+12>>2]=-1;k[d+16>>2]=-1;k[d+20>>2]=-1;k[d+24>>2]=-1;k[d+28>>2]=-1}d=g+11824+(e<<5)|0;h=d;if(!((!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)?(h=g+11824+(e<<5)+8|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)?(h=g+11824+(e<<5)+16|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)){k[d>>2]=-1;k[d+4>>2]=-1;k[d+8>>2]=-1;k[d+12>>2]=-1;k[d+16>>2]=-1;k[d+20>>2]=-1;k[d+24>>2]=-1;k[d+28>>2]=-1}d=g+20016+(e<<5)|0;h=d;if((!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)?(h=g+20016+(e<<5)+8|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)?(h=g+20016+(e<<5)+16|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)e=0;else{k[d>>2]=-1;k[d+4>>2]=-1;k[d+8>>2]=-1;k[d+12>>2]=-1;k[d+16>>2]=-1;k[d+20>>2]=-1;k[d+24>>2]=-1;k[d+28>>2]=-1;e=0}do{d=g+28208+(e<<8)|0;h=d;if(!((!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)?(h=g+28208+(e<<8)+8|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)?(h=g+28208+(e<<8)+16|0,!((k[h>>2]&-4088|0)==(f|0)?(k[h+4>>2]|0)==(c|0):0)):0)){k[d>>2]=-1;k[d+4>>2]=-1;k[d+8>>2]=-1;k[d+12>>2]=-1;k[d+16>>2]=-1;k[d+20>>2]=-1;k[d+24>>2]=-1;k[d+28>>2]=-1}d=g+28208+(e<<8)+32|0;h=d;if
function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;ua=u;u=u+144|0;ta=ua+128|0;ra=ua+120|0;qa=ua+112|0;pa=ua+104|0;oa=ua+96|0;na=ua+88|0;ma=ua+80|0;la=ua+72|0;ka=ua+64|0;ja=ua+56|0;ia=ua+48|0;ga=ua+40|0;fa=ua+32|0;ea=ua+24|0;sa=ua+16|0;ha=ua+8|0;da=ua;Y=k[a+32>>2]|0;_=a+28|0;$=k[_>>2]|0;aa=(Y|0)>0;if(aa){e=0;do{k[a+200068+(e<<4)>>2]=0;k[a+200068+(e<<4)+12>>2]=-1;e=e+1|0}while((e|0)!=(Y|0))}E=b-(a+18840)|0;F=E>>1;if((E|0)<=0){ta=c;u=ua;return ta|0}D=a+200064|0;E=($|0)<1;b=c;B=0;e=c;a:while(1){A=a+18840+(B<<1)|0;r=j[A>>1]|0;z=r&65535;if(r<<16>>16==8){y=k[b>>2]|0;k[e>>2]=y;C=y>>>16;y=y&65535;w=C;c=y;y=C+y+(l[d+(z*20|0)+6>>0]|0)|0;C=b+4|0;e=e+4|0}else{w=l[d+(z*20|0)+4>>0]|0;c=l[d+(z*20|0)+5>>0]|0;y=l[d+(z*20|0)+7>>0]|0;C=b}q=w+c|0;if(c|0){g=w;do{h=C+(g<<2)|0;b=k[h>>2]|0;if((k[a+200068+(b<<4)>>2]|0)==2){c=k[_>>2]|0;b:do if(c>>>0<=b>>>0?(Z=m[a+200068+(b<<4)+6>>1]|0,(Z|0)!=(b|0)):0){f=Z;do{if(f>>>0<c>>>0){b=f;break b}f=m[a+200068+(f<<4)+6>>1]|0}while((f|0)!=(b|0));if(!(i[a+148+(b*36|0)+28>>0]&8)){c=Z;do{if(i[a+148+(c*36|0)+28>>0]&8){b=c;break b}c=m[a+200068+(c<<4)+6>>1]|0}while((c|0)!=(b|0))}}while(0);k[h>>2]=b}g=g+1|0}while((g|0)<(q|0))}c:do switch(r<<16>>16){case 118:case 46:case 117:case 45:case 112:case 61:case 111:case 60:case 110:case 59:case 88:case 33:case 87:case 32:case 86:case 31:case 79:case 24:case 77:case 22:{b=C+4|0;c=C+8|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if((x|0)<=0?!((x|0)==0?(g|0)==(k[C>>2]|0):0):0){x=48;break c}k[b>>2]=g;k[c>>2]=f;x=48;break}case 96:case 40:{b=C+4|0;c=k[C>>2]|0;f=k[b>>2]|0;x=((k[a+200068+(c<<4)>>2]|0)==1&1)-((k[a+200068+(f<<4)>>2]|0)==1&1)|0;if((x|0)<=0?!((f|0)==-1&(x|0)==0):0){x=48;break c}k[C>>2]=f;k[b>>2]=c;x=C+8|0;v=k[x>>2]|0;k[x>>2]=v&6|0?v^9:v;x=48;break}case 64:case 12:{b=C+4|0;c=C+8|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if((x|0)<=0?!((x|0)==0?(g|0)==(k[C>>2]|0):0):0){x=48;break c}k[b>>2]=g;k[c>>2]=f;x=C+12|0;v=k[x>>2]|0;k[x>>2]=v&6|0?v^9:v;x=48;break}case 65:case 13:{b=C+4|0;c=C+8|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if(!((x|0)<=0?!((g|0)==-1&(x|0)==0):0)){k[b>>2]=g;k[c>>2]=f;x=C+20|0;v=k[x>>2]|0;k[x>>2]=v&6|0?v^9:v}b=C+16|0;c=C+12|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if((x|0)<=0?!((x|0)==0?(g|0)==(k[C>>2]|0):0):0){x=48;break c}k[b>>2]=g;k[c>>2]=f;x=C+20|0;k[x>>2]=k[x>>2]^1;x=48;break}case 113:case 41:{b=C+8|0;c=C+16|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if(!((x|0)<=0?!((x|0)==0?(g|0)==(k[C>>2]|0):0):0)){k[b>>2]=g;k[c>>2]=f}b=C+12|0;c=C+20|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if((x|0)<=0?!((x|0)==0?(g|0)==(k[C+4>>2]|0):0):0){x=48;break c}k[b>>2]=g;k[c>>2]=f;x=48;break}case 116:case 44:case 115:case 43:{b=C+8|0;c=C+12|0;f=k[b>>2]|0;g=k[c>>2]|0;x=((k[a+200068+(f<<4)>>2]|0)==1&1)-((k[a+200068+(g<<4)>>2]|0)==1&1)|0;if((x|0)<=0?!((x|0)==0?(g|0)==(k[C>>2]|0):0):0){x=48;break c}k[b>>2]=g;k[c>>2]=f;x=48;break}case 47:{b=C+8|0;c=k[C>>2]|0;f=C+4|0;g=k[f>>2]|0;h=k[b>>2]|0;n=C+12|0;o=k[n>>2]|0;if((((k[a+200068+(g<<4)>>2]|0)==1&1)+((k[a+200068+(c<<4)>>2]|0)==1&1)+(((k[a+200068+(h<<4)>>2]|0)==1)<<31>>31)|0)>((k[a+200068+(o<<4)>>2]|0)==1|0)){k[C>>2]=h;k[b>>2]=c;k[f>>2]=o;k[n>>2]=g;x=C+16|0;v=k[x>>2]|0;k[x>>2]=v&6|0?v^9:v;x=165}else x=165;break}case 48:{b=C+4|0;c=C+12|0;f=k[b>>2]|0;g=C+8|0;h=k[g>>2]|0;n=k[c>>2]|0;o=C+16|0;p=k[o>>2]|0;if((((k[a+200068+(h<<4)>>2]|0)==1&1)+((k[a+200068+(f<<4)>>2]|0)==1&1)+(((k[a+200068+(n<<4)>>2]|0)==1)<<31>>31)|0)>((k[a+200068+(p<<4)>>2]|0)==1|0)){k[b>>2]=n;k[c>>2]=f;k[g>>2]=p;k[o>>2]=h;x=C+20|0;v=k[x>>2]|0;k[x>>2]=v&6|0?v^9:v;x=129}else x=129;break}d
function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(0==0&(b&2146435072|0)==0&(i[c+5>>0]|0)!=0?(d=c+2|0,!((a|0)==0&(b&1048575|0)==0)):0){i[d>>0]=i[d>>0]|64;f=b&-2147483648;a=0}else f=b;e=f&1048575;b=QQ(a|0,f|0,52)|0;b=b&2047;d=QQ(a|0,f|0,63)|0;d=d&255;if((b|0)==2047){if((a|0)==0&(e|0)==0){if(!(d<<24>>24)){n=f;c=a;M=n;return c|0}n=c+2|0;i[n>>0]=i[n>>0]|1;n=-524288;c=0;M=n;return c|0}b=0==0&(f&2146959360|0)==2146435072&((a|0)!=0|(f&524287|0)!=0);if(b){n=c+2|0;i[n>>0]=i[n>>0]|1}if(i[c+6>>0]|0){n=-524288;c=0;M=n;return c|0}n=b?f|524288:f;c=b?a:a;M=n;return c|0}if(d<<24>>24){if((b|a|0)==0&(e|0)==0){n=f;c=a;M=n;return c|0}n=c+2|0;i[n>>0]=i[n>>0]|1;n=-524288;c=0;M=n;return c|0}do if(!b)if((a|0)==0&(e|0)==0){n=0;c=0;M=n;return c|0}else{b=aR(a|0,e|0,0)|0;b=(b<<24)+-184549376>>24;a=JQ(a|0,e|0,b|0)|0;b=1-b|0;e=M;break}while(0);n=(b+-1023>>1)+1022|0;g=e|1048576;f=QQ(a|0,g|0,21)|0;d=QQ(a|0,e|0,48)|0;d=d&15;e=b&1;b=QQ(a|0,g|0,38)|0;b=b&32767;if(!e){b=(b|32768)-(m[43408+(d<<1)>>1]|0)|0;b=b+((f>>>0)/(b>>>0)|0)|0;b=b>>>0>131071?-32768:b<<15;if(b>>>0>f>>>0){d=b;b=f;h=22}else j=f>>1}else{d=b+16384-(m[43376+(d<<1)>>1]|0)|0;b=QQ(a|0,g|0,22)|0;d=(d<<15)+(((f>>>0)/(d>>>0)|0)<<14)|0;b=b&2147483647;h=22}if((h|0)==22){j=JQ(b|0,0,31)|0;j=UQ(j|0,M|0,d|0,0)|0;j=j+(d>>>1)|0}h=JQ(a|0,g|0,9-e|0)|0;k=M;if(j>>>0>k>>>0|(j|0)==(k|0)&0>h>>>0){d=UQ(h|0,k|0,j|0,0)|0;b=WQ(d|0,0,j|0,0)|0;b=HQ(h|0,k|0,b|0,M|0)|0;a=M;if((a|0)<0){e=0;do{e=KQ(e|0,d|0,0,-1)|0;d=M;b=KQ(b|0,a|0,j|0,0)|0;a=M}while((a|0)<0);f=e;e=d}else{f=0;e=d}if(j>>>0>b>>>0|(j|0)==(b|0)&0>0){b=UQ(0,b|0,j|0,0)|0;a=M}else{b=-1;a=0}d=b|f;b=a|e}else{d=-1;b=-1}l=JQ(j|0,0,30)|0;d=KQ(d|0,b|0,l|0,M|0)|0;b=M;if(0<0|0==0&(d&510)>>>0<6){p=WQ(d|0,0,d|0,0)|0;t=M;e=WQ(b|0,0,d|0,0)|0;l=M;s=WQ(b|0,0,b|0,0)|0;r=M;f=JQ(e|0,l|0,1)|0;j=M;o=QQ(e|0,l|0,31)|0;q=JQ(e|0,l|0,33)|0;u=M;t=KQ(q|0,u|0,p|0,t|0)|0;p=M;g=HQ(0,0,t|0,p|0)|0;a=M;q=(p>>>0<u>>>0|(p|0)==(u|0)&t>>>0<q>>>0)<<31>>31;p=((t|0)!=0|(p|0)!=0)<<31>>31;k=HQ(h|0,k|0,s|0,r|0)|0;k=KQ(k|0,M|0,q|0,((q|0)<0)<<31>>31|0)|0;k=KQ(k|0,M|0,p|0,((p|0)<0)<<31>>31|0)|0;e=HQ(k|0,M|0,o|0,(j>>>0<l>>>0|(j|0)==(l|0)&f>>>0<e>>>0)&1|0)|0;f=M;if((f|0)<0){k=JQ(d|0,b|0,1)|0;l=M;while(1){d=KQ(d|0,b|0,-1,-1)|0;b=M;k=KQ(k|0,l|0,-2,-1)|0;l=M;t=QQ(d|0,b|0,63)|0;u=M;h=KQ(k|1|0,l|0,g|0,a|0)|0;j=M;e=KQ(t|0,u|0,e|0,f|0)|0;e=KQ(e|0,M|0,(j>>>0<a>>>0|(j|0)==(a|0)&h>>>0<g>>>0)&1|0,0)|0;f=M;if((f|0)>=0){g=h;a=j;break}else{g=h;a=j}}}d=((g|e|0)!=0|(a|f|0)!=0)&1|d}u=Md(0,n,d,b,c)|0;t=M;M=t;return u|0}function se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=(i[e+5>>0]|0)!=0;if(0==0&(b&2146435072|0)==0&h?(f=e+2|0,!((a|0)==0&(b&1048575|0)==0)):0){i[f>>0]=i[f>>0]|64;j=b&-2147483648;a=0}else j=b;if(0==0&(d&2146435072|0)==0&h?(g=e+2|0,!((c|0)==0&(d&1048575|0)==0)):0){i[g>>0]=i[g>>0]|64;d=d&-2147483648;c=0}if(0!=0|(j&2146435072|0)!=2146435072|(a|0)==0&(j&1048575|0)==0?0!=0|(d&2146435072|0)!=2146435072|(c|0)==0&(d&1048575|0)==0:0){b=QQ(a|0,j|0,63)|0;f=b&255;e=QQ(c|0,d|0,63)|0;if(f<<24>>24==(e&255)<<24>>24){e=(a|0)==(c|0)&(j|0)==(d|0)|(b|0)!=((j>>>0<d>>>0|(j|0)==(d|0)&a>>>0<c>>>0)&1|0);e=e&1;return e|0}else{e=f<<24>>24!=0|(c|a|0)==0&((d|j)&2147483647|0)==0;e=e&1;return e|0}}e=e+2|0;i[e>>0]=i[e>>0]|1;e=0;e=e&1;return e|0}function te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=(i[e+5>>0]|0)!=0;if(0==0&(b&2146435072|0)==0&h?(f=e+2|0,!((a|0)==0&(b&1048575|0)==0)):0){i[f>>0]=i[f>>0]|64;j=b&-2147483648;a=0}else j=b;if(0==0&(d&2146435072|0)==0&h?(g=e+2|0,!((c|0)==0&(d&1048575|0)==0)):0){i[g>>0]=i[g>>0]|64;d=d&-2147483648;c=0}if(0!=0|(j&2146435072|0)!=2146435072|(a|0)==0&(j&1048575|0)==0?0!=0|(d&2146435072|0)!=2146435072|(c|0)==0&(d&1048575|0)==0:0){b=QQ(a|0,j|0,63)|0;f=b&255;e=QQ(c|0,d|0,63)|0;if(f<<24>>24==(e&255)<<24>>24){e=((a|0)!=(c|0)|(j|0)!=(d|0))&(b|0)!=((j>>>0<d>>>0|(j|0)==(d|0)&a>>>0<c>>>0)&1|0);e=e&1;return e|0}else{e=f<<24>>24!=0&((c|a|0)!=0|((d|j)&2147483647|0)!=0);e=e&1;return e|0}}e=e+2|0;i[e>>0]=i[e>>0]|1;e=0;e=e&1;return e|0}function ue(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=(i[e+5>>0]|0)!=0;if(0
function Jz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+16|0;r=I+8|0;p=I;H=a+128|0;F=H;F=KQ(k[F>>2]|0,k[F+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;q=M;z=b&65532;if(!z)Dh(a,13,0);t=a+336|0;w=a+384|0;f=(b&4|0)==0?w:t;if((b|7)>>>0>(k[f+16>>2]|0)>>>0)Dh(a,13,z);j=b&-8;m=f+8|0;j=KQ(k[m>>2]|0,k[m+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;m=M;f=QQ(j|0,m|0,12)|0;f=f&255;G=a+184|0;h=k[G>>2]|0;if(h&8388608)if((h&3|0)==3)g=0;else g=(k[a+144>>2]|0)>>>17&2;else g=2;E=a+3632+(g<<13)+(f<<5)|0;if((k[E>>2]|0)==(j&-4093|0)?(k[E+4>>2]|0)==(m|0):0){y=KQ(k[a+3632+(g<<13)+(f<<5)+24>>2]|0,0,j|0,m|0)|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24}else{y=tc(a,j,m,g)|0;h=k[G>>2]|0}f=KQ(j|0,m|0,4,0)|0;g=M;j=QQ(f|0,g|0,12)|0;j=j&255;if(h&8388608)if((h&3|0)==3)m=0;else m=(k[a+144>>2]|0)>>>17&2;else m=2;E=a+3632+(m<<13)+(j<<5)|0;if((k[E>>2]|0)==(f&-4093|0)?(k[E+4>>2]|0)==(g|0):0){x=KQ(k[a+3632+(m<<13)+(j<<5)+24>>2]|0,0,f|0,g|0)|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;v=h}else{x=tc(a,f,g,m)|0;v=k[G>>2]|0}A=v&3;f=x>>>13&3;a:do if(!(x&4096)){g=f>>>0<(b&3)>>>0;f=f>>>0<A>>>0;switch(x>>>8&31){case 5:case 9:case 1:{if(f|g)Dh(a,13,z);yz(a,b,y,x,2,F);u=I;return}case 12:case 4:{c=x>>>11&3;if(f|g)Dh(a,13,z);if(!(x&32768))Dh(a,11,z);g=y>>>16;E=x&-65536|y&65535;e=x&31;D=g&65532;if(!D)Dh(a,13,0);f=(g&4|0)==0?w:t;if((g|7)>>>0>(k[f+16>>2]|0)>>>0)Dh(a,13,D);h=f+8|0;h=KQ(k[h>>2]|0,k[h+4>>2]|0,g&65528|0,0)|0;j=M;f=(QQ(h|0,j|0,12)|0)&255;if(v&8388608)if((A|0)==3)g=0;else g=(k[a+144>>2]|0)>>>17&2;else g=2;C=a+3632+(g<<13)+(f<<5)|0;if((k[C>>2]|0)==(h&-4093|0)?(k[C+4>>2]|0)==(j|0):0){C=KQ(k[a+3632+(g<<13)+(f<<5)+24>>2]|0,0,h|0,j|0)|0;C=l[C>>0]|l[C+1>>0]<<8|l[C+2>>0]<<16|l[C+3>>0]<<24;f=v}else{C=tc(a,h,j,g)|0;f=k[G>>2]|0}g=KQ(h|0,j|0,4,0)|0;h=M;j=(QQ(g|0,h|0,12)|0)&255;if(f&8388608)if((f&3|0)==3)f=0;else f=(k[a+144>>2]|0)>>>17&2;else f=2;B=a+3632+(f<<13)+(j<<5)|0;if((k[B>>2]|0)==(g&-4093|0)?(k[B+4>>2]|0)==(h|0):0){d=KQ(k[a+3632+(f<<13)+(j<<5)+24>>2]|0,0,g|0,h|0)|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24}else d=tc(a,g,h,f)|0;if((d&6144|0)!=6144)Dh(a,13,D);B=d>>>13&3;if(B>>>0>A>>>0)Dh(a,13,D);if(!(d&32768))Dh(a,11,D);do if((d&1024|0)==0&B>>>0<A>>>0){f=a+-16768|0;g=k[a+380>>2]|0;if(!(g&32768))DI(f,57264,p);if((g&1792|0)!=256)DI(f,57276,r);f=g>>>11&1;n=(B<<2|2)<<f;if(((4<<f)+-1+n|0)>>>0>(k[a+376>>2]|0)>>>0)Dh(a,10,k[a+360>>2]&65532);o=a+368|0;j=o;j=KQ(k[j>>2]|0,k[j+4>>2]|0,n|0,0)|0;m=M;b=QQ(j|0,m|0,12)|0;b=b&255;g=k[G>>2]|0;h=(g&8388608|0)==0;do if(f){do if(h)f=2;else{if((g&3|0)==3){f=0;break}f=(k[a+144>>2]|0)>>>17&2}while(0);A=a+3632+(f<<13)+(b<<5)|0;if((k[A>>2]|0)==(j&-4093|0)?(k[A+4>>2]|0)==(m|0):0){p=KQ(k[a+3632+(f<<13)+(b<<5)+24>>2]|0,0,j|0,m|0)|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;f=4;g=0;break}else{p=tc(a,j,m,f)|0;f=4;g=0;break}}else{do if(h)f=2;else{if((g&3|0)==3){f=0;break}f=(k[a+144>>2]|0)>>>17&2}while(0);A=a+3632+(f<<13)+(b<<5)|0;if((k[A>>2]|0)==(j&-4095|0)?(k[A+4>>2]|0)==(m|0):0){f=KQ(k[a+3632+(f<<13)+(b<<5)+24>>2]|0,0,j|0,m|0)|0;f=l[f>>0]|l[f+1>>0]<<8}else f=nc(a,j,m,f)|0;p=f&65535;f=2;g=0}while(0);h=o;j=k[h>>2]|0;h=k[h+4>>2]|0;g=KQ(f|0,g|0,n|0,0)|0;g=KQ(g|0,M|0,j|0,h|0)|0;h=M;j=QQ(g|0,h|0,12)|0;j=j&255;f=k[G>>2]|0;do if(!(f&8388608))f=2;else{if((f&3|0)==3){f=0;break}f=(k[a+144>>2]|0)>>>17&2}while(0);A=a+3632+(f<<13)+(j<<5)|0;if((k[A>>2]|0)==(g&-4095|0)?(k[A+4>>2]|0)==(h|0):0){f=KQ(k[a+3632+(f<<13)+(j<<5)+24>>2]|0,0,g|0,h|0)|0;f=l[f>>0]|l[f+1>>0]<<8}else f=nc(a,g,h,f)|0;s=f&65535;b=s&65532;if(!b)Dh(a,10,0);if((s&3|0)!=(B|0))Dh(a,10,b);f=(s&4|0)==0?w:t;if((s|7)>>>0>(k[f+16>>2]|0)>>>0)Dh(a,10,b);j=f+8|0;j=KQ(k[j>>2]|0,k[j+4>>2]|0,s&65528|0,0)|0;m=M;f=QQ(j|0,m|0,12)|0;f=f&255;h=k[G>>2]|0;do if(!(h&8388608))g=2;else{if((h&3|0)==3){g=0;break}g=(k[a+144>>2]|0)>>>17&2}while(0);A=a+3632+(g<<13)+(f<<5)|0;if((k[A>>2]|0)==(j&-4093|0)?(k[A+4>>2]|0)==(m|0):0){z=KQ(k[a+3632+(g<<13)+(f<<5)+24>>2]|0,0,j|0,m|0)|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24}else{z=tc(a,j,m,g)|0;h=k[G>>2]|0}g=KQ(j|0,m|0,4,0)|0;j=M;m=QQ(g|0,j|0,1
function sE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=j[b+((c>>>2&3)<<1)>>1]|0;g=j[b+((c>>>4&3)<<1)>>1]|0;f=j[b+((c>>>6&3)<<1)>>1]|0;d=b+8|0;e=k[d>>2]|0;d=k[d+4>>2]|0;j[a>>1]=j[b+((c&3)<<1)>>1]|0;j[a+2>>1]=h;j[a+4>>1]=g;j[a+6>>1]=f;c=a+8|0;k[c>>2]=e;k[c+4>>2]=d;return}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=b;g=k[h+4>>2]|0;f=j[b+((c&3|4)<<1)>>1]|0;e=j[b+((c>>>2&3|4)<<1)>>1]|0;d=j[b+((c>>>4&3|4)<<1)>>1]|0;c=j[b+((c>>>6&3|4)<<1)>>1]|0;b=a;k[b>>2]=k[h>>2];k[b+4>>2]=g;j[a+8>>1]=f;j[a+10>>1]=e;j[a+12>>1]=d;j[a+14>>1]=c;return}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+775|0;d=Vd(k[b>>2]|0,k[c>>2]|0,a)|0;k[b>>2]=d;d=b+4|0;e=Vd(k[d>>2]|0,k[c+4>>2]|0,a)|0;k[d>>2]=e;d=b+8|0;e=Vd(k[d>>2]|0,k[c+8>>2]|0,a)|0;k[d>>2]=e;b=b+12|0;c=Vd(k[b>>2]|0,k[c+12>>2]|0,a)|0;k[b>>2]=c;return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;c=Vd(k[b>>2]|0,k[c>>2]|0,a+775|0)|0;k[b>>2]=c;return}function wE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=b;e=c;d=a+775|0;e=ee(k[f>>2]|0,k[f+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,d)|0;a=b;k[a>>2]=e;k[a+4>>2]=M;a=b+8|0;e=a;b=c+8|0;b=ee(k[e>>2]|0,k[e+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,d)|0;c=a;k[c>>2]=b;k[c+4>>2]=M;return}function xE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b;a=ee(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0,a+775|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=M;return}function yE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+775|0;d=Yd(k[b>>2]|0,k[c>>2]|0,a)|0;k[b>>2]=d;d=b+4|0;e=Yd(k[d>>2]|0,k[c+4>>2]|0,a)|0;k[d>>2]=e;d=b+8|0;e=Yd(k[d>>2]|0,k[c+8>>2]|0,a)|0;k[d>>2]=e;b=b+12|0;c=Yd(k[b>>2]|0,k[c+12>>2]|0,a)|0;k[b>>2]=c;return}function zE(a,b,c){a=a|0;b=b|0;c=c|0;c=Yd(k[b>>2]|0,k[c>>2]|0,a+775|0)|0;k[b>>2]=c;return}function AE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=b;e=c;d=a+775|0;e=pe(k[f>>2]|0,k[f+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,d)|0;a=b;k[a>>2]=e;k[a+4>>2]=M;a=b+8|0;e=a;b=c+8|0;b=pe(k[e>>2]|0,k[e+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,d)|0;c=a;k[c>>2]=b;k[c+4>>2]=M;return}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b;a=pe(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0,a+775|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=M;return}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+775|0;d=Zd(k[b>>2]|0,k[c>>2]|0,a)|0;k[b>>2]=d;d=b+4|0;e=Zd(k[d>>2]|0,k[c+4>>2]|0,a)|0;k[d>>2]=e;d=b+8|0;e=Zd(k[d>>2]|0,k[c+8>>2]|0,a)|0;k[d>>2]=e;b=b+12|0;c=Zd(k[b>>2]|0,k[c+12>>2]|0,a)|0;k[b>>2]=c;return}function DE(a,b,c){a=a|0;b=b|0;c=c|0;c=Zd(k[b>>2]|0,k[c>>2]|0,a+775|0)|0;k[b>>2]=c;return}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=b;e=c;d=a+775|0;e=ae(k[f>>2]|0,k[f+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,d)|0;a=b;k[a>>2]=e;k[a+4>>2]=M;a=b+8|0;e=a;b=c+8|0;b=ae(k[e>>2]|0,k[e+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,d)|0;c=a;k[c>>2]=b;k[c+4>>2]=M;return}function FE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b;a=ae(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0,a+775|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=M;return}function GE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+775|0;d=_d(k[b>>2]|0,k[c>>2]|0,a)|0;k[b>>2]=d;d=b+4|0;e=_d(k[d>>2]|0,k[c+4>>2]|0,a)|0;k[d>>2]=e;d=b+8|0;e=_d(k[d>>2]|0,k[c+8>>2]|0,a)|0;k[d>>2]=e;b=b+12|0;c=_d(k[b>>2]|0,k[c+12>>2]|0,a)|0;k[b>>2]=c;return}function HE(a,b,c){a=a|0;b=b|0;c=c|0;c=_d(k[b>>2]|0,k[c>>2]|0,a+775|0)|0;k[b>>2]=c;return}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=b;e=c;d=a+775|0;e=qe(k[f>>2]|0,k[f+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,d)|0;a=b;k[a>>2]=e;k[a+4>>2]=M;a=b+8|0;e=a;b=c+8|0;b=qe(k[e>>2]|0,k[e+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,d)|0;c=a;k[c>>2]=b;k[c+4>>2]=M;return}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b;a=qe(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0,a+775|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=M;return}function KE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+775|0;a=(ge(k[b>>2]|0,k[c>>2]|0,d)|0)!=0;k[b>>2]=k[(a?b:c)>>2];a=b+4|0;e=(ge(k[a>>2]|0,k[c+4>>2]|0,d)|0)!=0;k[a>>2]=k[(e?b:c)+4>>2];a=b+8|0;e=(ge(k[a>>2]|0,k[c+8>>2]|0,d)|0)!=0;k[a>>2]=k[(e?b:c)+8>>2];a=b+12|0;d=(ge(k[a>>2]|0,k[c+12>>2]|0,d)|0)!=0;k[a>>2]=k[(d?b:c)+12>>2];return}function LE(a,b,c){a=a|0;b=b|0;c=c|0;a=(ge(k[b>>2]|0,k[c>>2]|0,a+775|0)|0)!=0;k[b>>2]=k[(a?b:c)>>2];return}function ME(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=b;e=c;a=a+775|0;e=(te(k[f>>2]|0,k[f+4>>2]|0,k[e>>
function Ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=u;u=u+208|0;C=K+184|0;E=K;l=k[a+36092>>2]|0;J=k[l+864>>2]|0;n=a+-16768|0;y=n+16768|0;I=n+52860|0;A=b;z=k[A>>2]|0;A=k[A+4>>2]|0;m=b+8|0;t=m;s=k[t>>2]|0;t=k[t+4>>2]|0;x=b+16|0;e=x;d=k[e>>2]|0;e=k[e+4>>2]|0;H=E+168|0;k[H>>2]=l;g=QQ(d|0,e|0,7)|0;k[E+40>>2]=g&1;g=QQ(d|0,e|0,4)|0;k[E+44>>2]=g&1;g=QQ(d|0,e|0,5)|0;k[E+72>>2]=g&1;g=QQ(d|0,e|0,6)|0;k[E+88>>2]=g&1;k[E+92>>2]=0;g=QQ(d|0,e|0,17)|0;k[E+96>>2]=g&1;k[E+100>>2]=d&3;g=QQ(d|0,e|0,12)|0;k[E+104>>2]=g&3;g=QQ(d|0,e|0,8)|0;g=g&1;v=E+108|0;k[v>>2]=g;h=k[n+108>>2]|0;w=E+112|0;k[w>>2]=h;F=E+76|0;k[F>>2]=0;k[E+80>>2]=0;B=E+84|0;i[B>>0]=0;G=E+32|0;f=G;k[f>>2]=s;k[f+4>>2]=t;k[E+136>>2]=b;k[E+140>>2]=0;f=E+120|0;k[f>>2]=0;if(!((d&4|0)==0&0==0)){a=k[n+16952>>2]|0;if((a&3|0)!=3)if(!(a&8388608))a=2;else a=(k[n+16912>>2]|0)>>>17&2;else a=1;k[f>>2]=a}k[E+148>>2]=k[n+52144>>2];k[E+152>>2]=k[n+52148>>2];k[E+156>>2]=k[n+52156>>2];k[E+160>>2]=k[n+52160>>2];k[E+164>>2]=k[n+52152>>2];f=QQ(d|0,e|0,14)|0;k[E+48>>2]=f&1;f=QQ(d|0,e|0,15)|0;k[E+52>>2]=f&1;f=E+128|0;k[f>>2]=d;k[f+4>>2]=e;f=(d&8|0)==0&0==0;k[E+116>>2]=f&(h|g|0)==0&1;if(!(i[l+1080>>0]|0)){t=BK(4)|0;k[J+199988>>2]=t}a=Qf(J,0)|0;k[k[J+199988>>2]>>2]=a;a=J+199992|0;if(!(i[(k[I>>2]|0)+1080>>0]|0)){t=BK(4)|0;k[a>>2]=t}t=Qf(J,0)|0;k[k[a>>2]>>2]=t;a=J+199968|0;if(!(i[(k[I>>2]|0)+1080>>0]|0)){t=BK(4)|0;k[a>>2]=t}t=Qf(J,0)|0;k[k[a>>2]>>2]=t;a=J+199996|0;if(!(i[(k[I>>2]|0)+1080>>0]|0)){t=BK(4)|0;k[a>>2]=t}t=Qf(J,0)|0;k[k[a>>2]>>2]=t;a=J+2e5|0;if(!(i[(k[I>>2]|0)+1080>>0]|0)){t=BK(4)|0;k[a>>2]=t}t=Qf(J,0)|0;k[k[a>>2]>>2]=t;a=Qf(J,0)|0;k[J+200020>>2]=a;a=Pf(J,0)|0;k[J+200012>>2]=a;a=Pf(J,0)|0;k[J+200016>>2]=a;a=Pf(J,0)|0;k[J+200004>>2]=a;a=Pf(J,0)|0;k[J+200008>>2]=a;a=J+199984|0;if(!(i[(k[I>>2]|0)+1080>>0]|0)){t=BK(4)|0;k[a>>2]=t}s=Qf(J,1)|0;k[k[a>>2]>>2]=s;i[(k[I>>2]|0)+1080>>0]=1;s=b;d=k[I>>2]|0;t=d+1112|0;a:do if((k[s>>2]|0)==(k[t>>2]|0)?(k[s+4>>2]|0)==(k[t+4>>2]|0):0){D=Ff(J)|0;e=J+487112|0;k[e>>2]=D;D=Pf(J,0)|0;f=J+199252|0;g=k[f>>2]|0;d=J+61080|0;G=k[d>>2]|0;k[d>>2]=G+2;j[G>>1]=18;G=D;c=J+61084|0;a=k[c>>2]|0;k[c>>2]=a+4;k[a>>2]=G;a=k[c>>2]|0;k[c>>2]=a+4;k[a>>2]=g;a=k[c>>2]|0;k[c>>2]=a+4;k[a>>2]=-12;a=k[e>>2]|0;g=Tf(J,0)|0;F=k[d>>2]|0;k[d>>2]=F+2;j[F>>1]=40;F=k[c>>2]|0;k[c>>2]=F+4;k[F>>2]=G;F=k[c>>2]|0;k[c>>2]=F+4;k[F>>2]=g;F=k[c>>2]|0;k[c>>2]=F+4;k[F>>2]=9;F=k[c>>2]|0;k[c>>2]=F+4;k[F>>2]=a;Rf(J,g);Rf(J,D);D=b;g=m;g=HQ(k[D>>2]|0,k[D+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;H=k[(k[H>>2]|0)+864>>2]|0;D=k[k[H+199996>>2]>>2]|0;F=H+61080|0;a=k[F>>2]|0;k[F>>2]=a+2;j[a>>1]=11;a=H+61084|0;G=k[a>>2]|0;k[a>>2]=G+4;k[G>>2]=D;G=k[a>>2]|0;k[a>>2]=G+4;k[G>>2]=g;G=D+1|0;g=k[F>>2]|0;k[F>>2]=g+2;j[g>>1]=11;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=G;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=M;H=k[H+199252>>2]|0;g=k[F>>2]|0;k[F>>2]=g+2;j[g>>1]=21;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=D;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=H;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=128;g=k[F>>2]|0;k[F>>2]=g+2;j[g>>1]=21;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=G;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=H;g=k[a>>2]|0;k[a>>2]=g+4;k[g>>2]=132;f=k[f>>2]|0;g=Tf(J,0)|0;k[C>>2]=f;k[C+4>>2]=g;Vf(J,560,-1,2,C);k[E+24>>2]=3;g=0;f=0;a=J+18840|0}else{a=J+18840|0;r=J+19588|0;t=E+24|0;k[t>>2]=0;q=j[b+26>>1]&32767;q=q<<16>>16==0?32767:q&65535;b:do if((i[d+1124>>0]|0)==0?(c=k[d+968>>2]|0,(c|0)!=0):0){while(1){p=k[c+4>>2]|0;m=p+16|0;o=k[m>>2]|0;m=k[m+4>>2]|0;p=p+24|0;s=k[p>>2]|0;p=k[p+4>>2]|0;if(m>>>0>p>>>0|(m|0)==(p|0)&o>>>0>s>>>0|(m>>>0<A>>>0|(m|0)==(A|0)&o>>>0<=z>>>0)&(p>>>0>A>>>0|(p|0)==(A|0)&s>>>0>=z>>>0))break;c=k[c>>2]|0;if(!c){D=25;break b}}c=d+1072|0;k[c>>2]=z;k[c+4>>2]=A;c=J+61084|0;k[(k[I>>2]|0)+1128>>2]=(J+20120-(k[c>>2]|0)>>2)+1;p=k[I>>2]|0;m=Tf(J,-117901064)|0;o=Tf(J,3)|0;p=Tf(J,p)|0;s=Uf(J,z,A)|0;k[C>>2]=m;k[C+4>>2]=o;k[C+8>>2]=p;k[C+12>>2]=s;Vf(J,514,-1,4,C)}else D=25;while(0);if((D|0)==25){k[d+1128>>2]=-1;c=J+61084|0}p=Ff(J)|0;e=J+487112|0;k[e>>2]=p;p=Pf(J,0)|0;s=k[J+199252>>2]|0;d=J+61080|0;l=k[d>>2]|0;k[d>>2]=l+2;j[l>>1]=18;l=p;m=k[c>>2]|0;k[c>>2]=m+4;k[m>>2]=l;m=k[c>>2]|0;k[c>>2]
function ks(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;g=u;u=u+16|0;d=g;e=a+168|0;f=k[(k[e>>2]|0)+864>>2]|0;b=a+84|0;if(i[b>>0]|0){m=k[f+199256>>2]|0;h=k[a+76>>2]|0;c=f+61080|0;l=k[c>>2]|0;k[c>>2]=l+2;j[l>>1]=11;l=f+61084|0;c=k[l>>2]|0;k[l>>2]=c+4;k[c>>2]=m;c=k[l>>2]|0;k[l>>2]=c+4;k[c>>2]=h;i[b>>0]=0}c=a+136|0;b=(k[c>>2]|0)+16|0;b=k[b>>2]|0;if(!((b&8|0)==0&0==0)){k[d>>2]=k[f+199252>>2];Vf(f,573,-1,1,d);b=(k[c>>2]|0)+16|0;b=k[b>>2]|0}if(!((b&65536|0)==0&0==0)){k[d>>2]=k[f+199252>>2];Vf(f,565,-1,1,d)}if(k[a+112>>2]|0){k[d>>2]=k[f+199252>>2];Vf(f,564,-1,1,d);m=a+24|0;k[m>>2]=3;u=g;return}if(!(k[a+108>>2]|0)){l=k[(k[e>>2]|0)+864>>2]|0;h=l+61080|0;m=k[h>>2]|0;k[h>>2]=m+2;j[m>>1]=120;l=l+61084|0;m=k[l>>2]|0;k[l>>2]=m+4;k[m>>2]=0;m=a+24|0;k[m>>2]=3;u=g;return}else{k[d>>2]=k[f+199252>>2];Vf(f,580,-1,1,d);m=a+24|0;k[m>>2]=3;u=g;return}}function ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+16|0;f=B;n=b+168|0;z=k[(k[n>>2]|0)+864>>2]|0;y=k[k[z+199968>>2]>>2]|0;w=k[k[z+199996>>2]>>2]|0;d=k[b>>2]|0;A=(d|0)>-1?1:k[b+88>>2]|0;m=c>>>6;e=c&7;x=b+8|0;switch(k[x>>2]|0){case 2:case 3:{if((e|0)==4){h=b+16|0;g=h;f=k[g>>2]|0;g=k[g+4>>2]|0;e=KQ(f|0,g|0,1,0)|0;k[h>>2]=e;k[h+4>>2]=M;h=QQ(f|0,g|0,12)|0;h=h&255;e=k[a+184>>2]|0;if((e&3|0)!=3)if(!(e&8388608))e=2;else e=(k[a+144>>2]|0)>>>17&2;else e=1;p=a+3632+(e<<13)+(h<<5)+16|0;if((k[p>>2]|0)==(f&-4096|0)?(k[p+4>>2]|0)==(g|0):0){e=KQ(k[a+3632+(e<<13)+(h<<5)+24>>2]|0,0,f|0,g|0)|0;e=i[e>>0]|0}else e=gc(a,f,g,e)|0;p=e&255;o=p>>>3&7|k[b+56>>2];c=1;e=p&7;o=(o|0)==4?-1:o;p=p>>>6}else{c=0;o=-1;p=0}n=k[b+60>>2]|e;switch(m&3){case 0:{if((n&7|0)==5){m=b+16|0;e=m;g=k[e>>2]|0;e=k[e+4>>2]|0;h=QQ(g|0,e|0,12)|0;h=h&255;f=k[a+184>>2]|0;if((f&3|0)!=3)if(!(f&8388608))f=2;else f=(k[a+144>>2]|0)>>>17&2;else f=1;n=a+3632+(f<<13)+(h<<5)+16|0;if((k[n>>2]|0)==(g&-4093|0)?(k[n+4>>2]|0)==(e|0):0){h=KQ(k[a+3632+(f<<13)+(h<<5)+24>>2]|0,0,g|0,e|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24}else{h=Fc(a,g,e,f)|0;e=m;g=k[e>>2]|0;e=k[e+4>>2]|0}f=((h|0)<0)<<31>>31;e=KQ(g|0,e|0,4,0)|0;g=M;a=m;k[a>>2]=e;k[a+4>>2]=g;if((c|0)!=0|(k[b+52>>2]|0)==0)m=-1;else{m=k[b+144>>2]|0;h=KQ(e|0,g|0,h|0,f|0)|0;h=KQ(h|0,M|0,m|0,((m|0)<0)<<31>>31|0)|0;m=-1;f=M}}else{e=0;f=0;q=34}break}case 1:{h=b+16|0;g=h;f=k[g>>2]|0;g=k[g+4>>2]|0;e=KQ(f|0,g|0,1,0)|0;k[h>>2]=e;k[h+4>>2]=M;h=(QQ(f|0,g|0,12)|0)&255;e=k[a+184>>2]|0;if((e&3|0)!=3)if(!(e&8388608))e=2;else e=(k[a+144>>2]|0)>>>17&2;else e=1;q=a+3632+(e<<13)+(h<<5)+16|0;if((k[q>>2]|0)==(f&-4096|0)?(k[q+4>>2]|0)==(g|0):0){e=KQ(k[a+3632+(e<<13)+(h<<5)+24>>2]|0,0,f|0,g|0)|0;e=i[e>>0]|0}else e=gc(a,f,g,e)|0;f=e<<24>>24;e=f;f=((f|0)<0)<<31>>31;q=34;break}default:{m=b+16|0;e=m;f=k[e>>2]|0;e=k[e+4>>2]|0;h=(QQ(f|0,e|0,12)|0)&255;g=k[a+184>>2]|0;if((g&3|0)!=3)if(!(g&8388608))g=2;else g=(k[a+144>>2]|0)>>>17&2;else g=1;q=a+3632+(g<<13)+(h<<5)+16|0;if((k[q>>2]|0)==(f&-4093|0)?(k[q+4>>2]|0)==(e|0):0){g=KQ(k[a+3632+(g<<13)+(h<<5)+24>>2]|0,0,f|0,e|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24}else{g=Fc(a,f,e,g)|0;e=m;f=k[e>>2]|0;e=k[e+4>>2]|0}f=KQ(f|0,e|0,4,0)|0;e=m;k[e>>2]=f;k[e+4>>2]=M;e=g;f=((g|0)<0)<<31>>31;q=34}}if((q|0)==34)if((n|0)==4){h=k[b+140>>2]|0;h=KQ(h|0,((h|0)<0)<<31>>31|0,e|0,f|0)|0;m=4;f=M}else{m=n;h=e}if((o|0)>-1){e=k[k[z+199260+(o<<2)>>2]>>2]|0;if(p){Wf(z,y,e,p,0,0);e=y}if((m|0)>-1){a=k[k[z+199260+(m<<2)>>2]>>2]|0;n=y;o=e;q=z+61080|0;p=k[q>>2]|0;k[q>>2]=p+2;j[p>>1]=41;p=z+61084|0;e=k[p>>2]|0;k[p>>2]=e+4;k[e>>2]=n;e=k[p>>2]|0;k[p>>2]=e+4;k[e>>2]=n+1;e=k[p>>2]|0;k[p>>2]=e+4;k[e>>2]=o;e=k[p>>2]|0;k[p>>2]=e+4;k[e>>2]=o+1;e=k[p>>2]|0;k[p>>2]=e+4;k[e>>2]=a;e=k[p>>2]|0;k[p>>2]=e+4;k[e>>2]=a+1;e=k[q>>2]|0;k[q>>2]=e+2;j[e>>1]=1;e=y;q=43}else q=43}else if((m|0)>-1){e=k[k[z+199260+(m<<2)>>2]>>2]|0;q=43}else q=44;do if((q|0)==43){g=e;if((e|0)!=(-1|0)){if(!((h|0)==0&(f|0)==0)){v=Uf(z,h,f)|0;p=y;r=v;s=z+61080|0;a=k[s>>2]|0;k[s>>2]=a+2;j[a>>1]=41;a=z+61084|0;t=k[a>>2]|0;k[a>>2]=t+4;k[t>>2]=p;t=k[a>>2]|0;k[a>>2]=t+4;k[t>>2]=p+1;t=k[a>>2]|0;k[a>>2]=t+4;k[t>>2]=g;t=k[a>>2]|0;k[a>>2]=t+4;k[t>>2]=g+1;t=k[a>>2]|0;k[a>>2]=t+4;k[t>
// EMSCRIPTEN_END_FUNCS
var vb=[Lab,Lab,cR,Lab,dR,Lab,eR,Lab,fR,Lab,gR,Lab,hR,Lab,iR,Lab,jR,Lab,kR,Lab,lR,Lab,mR,Lab,nR,Lab,oR,Lab,pR,Lab,qR,Lab,rR,Lab,sR,Lab,tR,Lab,uR,Lab,vR,Lab,wR,Lab,xR,Lab,yR,Lab,zR,Lab,AR,Lab,BR,Lab,CR,Lab,DR,Lab,ER,Lab,FR,Lab,GR,Lab,HR,Lab,IR,Lab,JR,Lab,KR,Lab,LR,Lab,MR,Lab,NR,Lab,OR,Lab,PR,Lab,QR,Lab,RR,Lab,SR,Lab,TR,Lab,UR,Lab,VR,Lab,WR,Lab,XR,Lab,YR,Lab,ZR,Lab,_R,Lab,$R,Lab,aS,Lab,bS,Lab,cS,Lab,dS,Lab,eS,Lab,fS,Lab,gS,Lab,hS,Lab,iS,Lab,jS,Lab,kS,Lab,lS,Lab,mS,Lab,nS,Lab,oS,Lab,pS,Lab,qS,Lab,rS,Lab,sS,Lab,tS,Lab,uS,Lab,vS,Lab,wS,Lab,xS,Lab,yS,Lab,zS,Lab,AS,Lab,BS,Lab,CS,Lab,DS,Lab,ES,Lab,FS,Lab,GS,Lab,HS,Lab,IS,Lab,JS,Lab,KS,Lab,LS,Lab,MS,Lab,NS,Lab,OS,Lab,PS,Lab,QS,Lab,RS,Lab,SS,Lab,TS,Lab,US,Lab,VS,Lab,WS,Lab,XS,Lab,YS,Lab,ZS,Lab,_S,Lab,$S,Lab,aT,Lab,bT,Lab,cT,Lab,dT,Lab,eT,Lab,fT,Lab,gT,Lab,hT,Lab,iT,Lab,jT,Lab,kT,Lab,lT,Lab,mT,Lab,nT,Lab,oT,Lab,pT,Lab,qT,Lab,rT,Lab,sT,Lab,tT,Lab,uT,Lab,vT,Lab,wT,Lab,xT,Lab,yT,Lab,zT,Lab,AT,Lab,BT,Lab,CT,Lab,DT,Lab,ET,Lab,FT,Lab,GT,Lab,HT,Lab,IT,Lab,JT,Lab,KT,Lab,LT,Lab,MT,Lab,NT,Lab,OT,Lab,PT,Lab,QT,Lab,RT,Lab,ST,Lab,TT,Lab,UT,Lab,VT,Lab,WT,Lab,XT,Lab,YT,Lab,ZT,Lab,_T,Lab,$T,Lab,aU,Lab,bU,Lab,cU,Lab,dU,Lab,eU,Lab,fU,Lab,gU,Lab,hU,Lab,iU,Lab,jU,Lab,kU,Lab,lU,Lab,mU,Lab,nU,Lab,oU,Lab,pU,Lab,qU,Lab,rU,Lab,sU,Lab,tU,Lab,uU,Lab,vU,Lab,wU,Lab,xU,Lab,yU,Lab,zU,Lab,AU,Lab,BU,Lab,CU,Lab,DU,Lab,EU,Lab,FU,Lab,GU,Lab,HU,Lab,IU,Lab,JU,Lab,KU,Lab,LU,Lab,MU,Lab,NU,Lab,OU,Lab,PU,Lab,QU,Lab,RU,Lab,SU,Lab,TU,Lab,UU,Lab,VU,Lab,WU,Lab,XU,Lab,YU,Lab,ZU,Lab,_U,Lab,$U,Lab,aV,Lab,bV,Lab,cV,Lab,dV,Lab,eV,Lab,fV,Lab,gV,Lab,hV,Lab,iV,Lab,jV,Lab,kV,Lab,lV,Lab,mV,Lab,nV,Lab,oV,Lab,pV,Lab,qV,Lab,rV,Lab,sV,Lab,tV,Lab,uV,Lab,vV,Lab,wV,Lab,xV,Lab,yV,Lab,zV,Lab,AV,Lab,BV,Lab,CV,Lab,DV,Lab,EV,Lab,FV,Lab,GV,Lab,HV,Lab,IV,Lab,JV,Lab,KV,Lab,LV,Lab,MV,Lab,NV,Lab,OV,Lab,PV,Lab,Tc,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab,Lab];var wb=[Mab,Mab,RV,Mab,SV,Mab,TV,Mab,UV,Mab,VV,Mab,WV,Mab,XV,Mab,YV,Mab,ZV,Mab,_V,Mab,$V,Mab,aW,Mab,bW,Mab,cW,Mab,dW,Mab,eW,Mab,fW,Mab,gW,Mab,hW,Mab,iW,Mab,jW,Mab,kW,Mab,lW,Mab,mW,Mab,nW,Mab,oW,Mab,pW,Mab,qW,Mab,rW,Mab,sW,Mab,tW,Mab,uW,Mab,vW,Mab,
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _uc_emu_stop=Module["_uc_emu_stop"]=asm["_uc_emu_stop"];var _uc_query=Module["_uc_query"]=asm["_uc_query"];var stackSave=Module["stackSave"]=asm["stackSave"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _uc_errno=Module["_uc_errno"]=asm["_uc_errno"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var setThrew=Module["setThrew"]=asm["setThrew"];var _uc_free=Module["_uc_free"]=asm["_uc_free"];var _uc_context_save=Module["_uc_context_save"]=asm["_uc_context_save"];var _uc_mem_map_ptr=Module["_uc_mem_map_ptr"]=asm["_uc_mem_map_ptr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _llvm_ctlz_i64=Module["_llvm_ctlz_i64"]=asm["_llvm_ctlz_i64"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _uc_open=Module["_uc_open"]=asm["_uc_open"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _uc_reg_write=Module["_uc_reg_write"]=asm["_uc_reg_write"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _uc_mem_unmap=Module["_uc_mem_unmap"]=asm["_uc_mem_unmap"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _uc_strerror=Module["_uc_strerror"]=asm["_uc_strerror"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _uc_reg_read=Module["_uc_reg_read"]=asm["_uc_reg_read"];var _uc_context_alloc=Module["_uc_context_alloc"]=asm["_uc_context_alloc"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _uc_version=Module["_uc_version"]=asm["_uc_version"];var _uc_mem_protect=Module["_uc_mem_protect"]=asm["_uc_mem_protect"];var _uc_reg_write_batch=Module["_uc_reg_write_batch"]=asm["_uc_reg_write_batch"];var _uc_mem_map=Module["_uc_mem_map"]=asm["_uc_mem_map"];var _uc_mem_write=Module["_uc_mem_write"]=asm["_uc_mem_write"];var _uc_mem_regions=Module["_uc_mem_regions"]=asm["_uc_mem_regions"];var _uc_hook_add=Module["_uc_hook_add"]=asm["_uc_hook_add"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _uc_emu_start=Module["_uc_emu_start"]=asm["_uc_emu_start"];var _uc_mem_read=Module["_uc_mem_read"]=asm["_uc_mem_read"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _uc_reg_read_batch=Module["_uc_reg_read_batch"]=asm["_uc_reg_read_batch"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memmove=Module["_memmove"]=asm["_memmove"];var _uc_close=Module["_uc_close"]=asm["_uc_close"];var _uc_context_restore=Module["_uc_context_restore"]=asm["_uc_context_restore"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _malloc=Module["_malloc"]=asm["_malloc"];var _uc_hook_del=Module["_uc_hook_del"]=asm["_uc_hook_del"];var _uc_arch_supported=Module["_uc_arch_supported"]=asm["_uc_arch_supported"];var _memalign=Module["_memalign"]=asm["_memalign"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var _memset=Module["_memset"]=asm["_memset"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiii=Module["dynCall_viiiii
return MUnicorn;
};
/**
* (c) 2016-2017 Unicorn.JS
* Wrapper made by Alexandro Sanchez Bach.
*/
// Emscripten demodularize
var MUnicorn = new MUnicorn();
var uc = {
// Static
version: function() {
major_ptr = MUnicorn._malloc(4);
minor_ptr = MUnicorn._malloc(4);
var ret = MUnicorn.ccall('uc_version', 'number',
['pointer', 'pointer'], [major_ptr, minor_ptr]);
major = MUnicorn.getValue(major_ptr, 'i32');
minor = MUnicorn.getValue(minor_ptr, 'i32');
MUnicorn._free(major_ptr);
MUnicorn._free(minor_ptr);
return ret;
},
arch_supported: function(arch) {
var ret = MUnicorn.ccall('uc_arch_supported', 'number', ['number'], [arch]);
return ret;
},
strerror: function(code) {
var ret = MUnicorn.ccall('uc_strerror', 'string', ['number'], [code]);
return ret;
},
/**
* Unicorn object
*/
Unicorn: function (arch, mode) {
this.arch = arch;
this.mode = mode;
this.handle_ptr = MUnicorn._malloc(4);
// Methods
this.reg_write = function (regid, bytes) {
// Allocate bytes buffer and copy data
var buffer_len = bytes.length;
var buffer_ptr = MUnicorn._malloc(buffer_len);
MUnicorn.writeArrayToMemory(bytes, buffer_ptr);
// Register write
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_reg_write', 'number',
['pointer', 'number', 'pointer'],
[handle, regid, buffer_ptr]
);
// Free memory and handle return code
MUnicorn._free(buffer_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_reg_write failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.reg_read = function (regid, size) {
// Allocate space for the output value
var buffer_ptr = MUnicorn._malloc(size);
for (var i = 0; i < size; i++) {
MUnicorn.setValue(buffer_ptr + i, 0, 'i8');
}
// Register read
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_reg_read', 'number',
['pointer', 'number', 'pointer'],
[handle, regid, buffer_ptr]
);
// Get register value, free memory and handle return code
var value = new Uint8Array(size);
for (var i = 0; i < size; i++) {
value[i] = MUnicorn.getValue(buffer_ptr + i, 'i8');
}
MUnicorn._free(buffer_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_reg_read failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
return value;
}
this.mem_write = function (address, bytes) {
// Allocate bytes buffer and copy data
var buffer_len = bytes.length;
var buffer_ptr = MUnicorn._malloc(buffer_len);
MUnicorn.writeArrayToMemory(bytes, buffer_ptr);
// Write to memory
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_mem_write', 'number',
['pointer', 'number', 'number', 'pointer', 'number'],
[handle, address, 0, buffer_ptr, buffer_len]
);
// Free memory and handle return code
MUnicorn._free(buffer_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_mem_write failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.mem_read = function (address, size) {
// Allocate space for the output value
var buffer_ptr = MUnicorn._malloc(size);
for (var i = 0; i < size; i++) {
MUnicorn.setValue(buffer_ptr + i, 0, 'i8');
}
// Read from memory
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_mem_read', 'number',
['pointer', 'number', 'number', 'pointer', 'number'],
[handle, address, 0, buffer_ptr, size]
);
// Get register value, free memory and handle return code
var buffer = new Uint8Array(size);
for (var i = 0; i < size; i++) {
buffer[i] = MUnicorn.getValue(buffer_ptr + i, 'i8');
}
MUnicorn._free(buffer_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_mem_read failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
return buffer;
}
this.mem_map = function (address, size, perms) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_mem_map', 'number',
['pointer', 'number', 'number', 'number', 'number'],
[handle, address, 0, size, perms]
);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_mem_map failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.mem_protect = function (address, size, perms) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_mem_protect', 'number',
['pointer', 'number', 'number', 'number', 'number'],
[handle, address, 0, size, perms]
);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_mem_protect failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.mem_regions = function () {
console.error("Unicorn.js: Method mem_regions unimplemented");
}
this.mem_unmap = function (address, size) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_mem_unmap', 'number',
['pointer', 'number', 'number', 'number'],
[handle, address, 0, size]
);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_mem_unmap failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.hook_add = function (type, user_callback, user_data, begin, end) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
// Default arguments
if (typeof user_data === 'undefined') {
user_data = {}
}
if (typeof begin === 'undefined' &&
typeof end === 'undefined') {
begin = 1;
end = 0;
}
// Wrap callback
switch (type) {
case uc.HOOK_INSN:
var callback = (function (handle, user_data) {
return function (_, _) {
user_callback(handle, user_data);
}
})(this, user_data);
break;
// uc_cb_hookintr_t
case uc.HOOK_INTR:
var callback = (function (handle, user_data) {
return function (_, intno, _) {
user_callback(handle, intno, user_data);
}
})(this, user_data);
break;
// uc_cb_hookcode_t
case uc.HOOK_CODE:
case uc.HOOK_BLOCK:
var callback = (function (handle, user_data) {
return function (_, addr_lo, addr_hi, size, _) {
user_callback(handle, addr_lo, addr_hi, size, user_data);
}
})(this, user_data);
break;
default:
// uc_cb_hookmem_t
if ((type & uc.HOOK_MEM_READ) ||
(type & uc.HOOK_MEM_WRITE) ||
(type & uc.HOOK_MEM_FETCH) ||
(type & uc.HOOK_MEM_READ_AFTER)) {
var callback = (function (handle, user_data) {
return function (_, type, addr_lo, addr_hi, size, value_lo, value_hi, _) {
user_callback(handle, type, addr_lo, addr_hi, size, value_lo, value_hi, user_data);
}
})(this, user_data);
}
// uc_cb_eventmem_t
if ((type & uc.HOOK_MEM_READ_UNMAPPED) ||
(type & uc.HOOK_MEM_WRITE_UNMAPPED) ||
(type & uc.HOOK_MEM_FETCH_UNMAPPED) ||
(type & uc.HOOK_MEM_READ_PROT) ||
(type & uc.HOOK_MEM_WRITE_PROT) ||
(type & uc.HOOK_MEM_FETCH_PROT)) {
var callback = (function (handle, user_data) {
return function (_, type, addr_lo, addr_hi, size, value_lo, value_hi, _) {
return user_callback(handle, type, addr_lo, addr_hi, size, value_lo, value_hi, user_data);
}
})(this, user_data);
}
}
if (typeof callback === 'undefined') {
throw 'Unicorn.js: Unimplemented hook type'
}
// Set hook
var callback_ptr = MUnicorn.Runtime.addFunction(callback);
var hook_ptr = MUnicorn._malloc(4);
var ret = MUnicorn.ccall('uc_hook_add', 'number',
['pointer', 'pointer', 'number', 'pointer', 'pointer',
'number', 'number', 'number', 'number'],
[handle, hook_ptr, type, callback_ptr, 0,
begin, 0, end, 0]
);
if (ret != uc.ERR_OK) {
MUnicorn.Runtime.removeFunction(callback_ptr);
MUnicorn._free(hook_ptr);
var error = 'Unicorn.js: Function uc_mem_unmap failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
var hook = {
handle: MUnicorn.getValue(hook_ptr, '*'),
callback: callback_ptr
};
MUnicorn._free(hook_ptr);
return hook
}
this.hook_del = function (hook) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_hook_del', 'number',
['pointer', 'pointer'],
[handle, hook.handle]
);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_mem_unmap failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
MUnicorn.Runtime.removeFunction(hook.callback);
}
this.emu_start = function (begin, until, timeout, count) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_emu_start', 'number',
['pointer', 'number', 'number', 'number', 'number', 'number', 'number', 'number'],
[handle, begin, 0, until, 0, timeout, 0, count]
);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_emu_start failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.emu_stop = function (begin, until, timeout, count) {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_emu_stop', 'number', ['pointer'], [handle]);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_emu_stop failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.context_alloc = function () {
console.error('Unicorn.js: Contexts not implemented');
}
this.context_free = function () {
console.error('Unicorn.js: Contexts not implemented');
}
this.context_save = function () {
console.error('Unicorn.js: Contexts not implemented');
}
this.context_restore = function () {
console.error('Unicorn.js: Contexts not implemented');
}
this.errno = function() {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_errno', 'number', ['pointer'], [handle]);
return ret;
}
this.close = function() {
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_close', 'number', ['pointer'], [handle]);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_close failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
// Helpers
this._sizeof = function (type) {
switch (type) {
case 'i8': return 1;
case 'i16': return 2;
case 'i32': return 4;
case 'i64': return 8;
case 'float': return 4;
case 'double': return 8;
default: return 0;
}
}
this.reg_write_type = function (regid, type, value) {
// Allocate space for the output value
var value_size = this._sizeof(type);
var value_ptr = MUnicorn._malloc(value_size);
MUnicorn.setValue(value_ptr, value, type);
// Register write
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_reg_write', 'number',
['pointer', 'number', 'pointer'],
[handle, regid, value_ptr]
);
// Free memory and handle return code
MUnicorn._free(value_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_reg_write failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
this.reg_write_i8 = function (regid, value) { this.reg_write_type(regid, 'i8', value); }
this.reg_write_i16 = function (regid, value) { this.reg_write_type(regid, 'i16', value); }
this.reg_write_i32 = function (regid, value) { this.reg_write_type(regid, 'i32', value); }
this.reg_write_i64 = function (regid, value) { this.reg_write_type(regid, 'i64', value); }
this.reg_write_float = function (regid, value) { this.reg_write_type(regid, 'float', value); }
this.reg_write_double = function (regid, value) { this.reg_write_type(regid, 'double', value); }
this.reg_read_type = function (regid, type) {
// Allocate space for the output value
var value_size = this._sizeof(type);
var value_ptr = MUnicorn._malloc(value_size);
MUnicorn.setValue(value_ptr, 0, type);
// Register read
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_reg_read', 'number',
['pointer', 'number', 'pointer'],
[handle, regid, value_ptr]
);
// Get register value, free memory and handle return code
var value = MUnicorn.getValue(value_ptr, type);
MUnicorn._free(value_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_reg_read failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
return value;
}
this.reg_read_i8 = function (regid) { return this.reg_read_type(regid, 'i8'); }
this.reg_read_i16 = function (regid) { return this.reg_read_type(regid, 'i16'); }
this.reg_read_i32 = function (regid) { return this.reg_read_type(regid, 'i32'); }
this.reg_read_i64 = function (regid) { return this.reg_read_type(regid, 'i64'); }
this.reg_read_float = function (regid) { return this.reg_read_type(regid, 'float'); }
this.reg_read_double = function (regid) { return this.reg_read_type(regid, 'double'); }
this.query_type = function (query_type, result_type) {
// Allocate space for the output value
var result_size = this._sizeof(result_type);
var result_ptr = MUnicorn._malloc(result_size);
MUnicorn.setValue(value_ptr, 0, result_type);
// Make query
var handle = MUnicorn.getValue(this.handle_ptr, '*');
var ret = MUnicorn.ccall('uc_query', 'number',
['pointer', 'number', 'pointer'],
[handle, query_type, result_ptr]
);
// Get result value, free memory and handle return code
var result = MUnicorn.getValue(result_ptr, result_type);
MUnicorn._free(result_ptr);
if (ret != uc.ERR_OK) {
var error = 'Unicorn.js: Function uc_query failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
return result;
}
this.query_i8 = function (type) { return this.query_type(type, 'i8'); }
this.query_i16 = function (type) { return this.query_type(type, 'i16'); }
this.query_i32 = function (type) { return this.query_type(type, 'i32'); }
this.query_i64 = function (type) { return this.query_type(type, 'i64'); }
this.query_float = function (type) { return this.query_type(type, 'float'); }
this.query_double = function (type) { return this.query_type(type, 'double'); }
// Constructor
var ret = MUnicorn.ccall('uc_open', 'number',
['number', 'number', 'pointer'],
[this.arch, this.mode, this.handle_ptr]
);
if (ret != uc.ERR_OK) {
MUnicorn.setValue(this.handle_ptr, 0, '*');
var error = 'Unicorn.js: Function uc_open failed with code ' + ret + ':\n' + uc.strerror(ret);
throw error;
}
}
};
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.py]
// ARM64 registers
uc.ARM64_REG_INVALID = 0
uc.ARM64_REG_X29 = 1
uc.ARM64_REG_X30 = 2
uc.ARM64_REG_NZCV = 3
uc.ARM64_REG_SP = 4
uc.ARM64_REG_WSP = 5
uc.ARM64_REG_WZR = 6
uc.ARM64_REG_XZR = 7
uc.ARM64_REG_B0 = 8
uc.ARM64_REG_B1 = 9
uc.ARM64_REG_B2 = 10
uc.ARM64_REG_B3 = 11
uc.ARM64_REG_B4 = 12
uc.ARM64_REG_B5 = 13
uc.ARM64_REG_B6 = 14
uc.ARM64_REG_B7 = 15
uc.ARM64_REG_B8 = 16
uc.ARM64_REG_B9 = 17
uc.ARM64_REG_B10 = 18
uc.ARM64_REG_B11 = 19
uc.ARM64_REG_B12 = 20
uc.ARM64_REG_B13 = 21
uc.ARM64_REG_B14 = 22
uc.ARM64_REG_B15 = 23
uc.ARM64_REG_B16 = 24
uc.ARM64_REG_B17 = 25
uc.ARM64_REG_B18 = 26
uc.ARM64_REG_B19 = 27
uc.ARM64_REG_B20 = 28
uc.ARM64_REG_B21 = 29
uc.ARM64_REG_B22 = 30
uc.ARM64_REG_B23 = 31
uc.ARM64_REG_B24 = 32
uc.ARM64_REG_B25 = 33
uc.ARM64_REG_B26 = 34
uc.ARM64_REG_B27 = 35
uc.ARM64_REG_B28 = 36
uc.ARM64_REG_B29 = 37
uc.ARM64_REG_B30 = 38
uc.ARM64_REG_B31 = 39
uc.ARM64_REG_D0 = 40
uc.ARM64_REG_D1 = 41
uc.ARM64_REG_D2 = 42
uc.ARM64_REG_D3 = 43
uc.ARM64_REG_D4 = 44
uc.ARM64_REG_D5 = 45
uc.ARM64_REG_D6 = 46
uc.ARM64_REG_D7 = 47
uc.ARM64_REG_D8 = 48
uc.ARM64_REG_D9 = 49
uc.ARM64_REG_D10 = 50
uc.ARM64_REG_D11 = 51
uc.ARM64_REG_D12 = 52
uc.ARM64_REG_D13 = 53
uc.ARM64_REG_D14 = 54
uc.ARM64_REG_D15 = 55
uc.ARM64_REG_D16 = 56
uc.ARM64_REG_D17 = 57
uc.ARM64_REG_D18 = 58
uc.ARM64_REG_D19 = 59
uc.ARM64_REG_D20 = 60
uc.ARM64_REG_D21 = 61
uc.ARM64_REG_D22 = 62
uc.ARM64_REG_D23 = 63
uc.ARM64_REG_D24 = 64
uc.ARM64_REG_D25 = 65
uc.ARM64_REG_D26 = 66
uc.ARM64_REG_D27 = 67
uc.ARM64_REG_D28 = 68
uc.ARM64_REG_D29 = 69
uc.ARM64_REG_D30 = 70
uc.ARM64_REG_D31 = 71
uc.ARM64_REG_H0 = 72
uc.ARM64_REG_H1 = 73
uc.ARM64_REG_H2 = 74
uc.ARM64_REG_H3 = 75
uc.ARM64_REG_H4 = 76
uc.ARM64_REG_H5 = 77
uc.ARM64_REG_H6 = 78
uc.ARM64_REG_H7 = 79
uc.ARM64_REG_H8 = 80
uc.ARM64_REG_H9 = 81
uc.ARM64_REG_H10 = 82
uc.ARM64_REG_H11 = 83
uc.ARM64_REG_H12 = 84
uc.ARM64_REG_H13 = 85
uc.ARM64_REG_H14 = 86
uc.ARM64_REG_H15 = 87
uc.ARM64_REG_H16 = 88
uc.ARM64_REG_H17 = 89
uc.ARM64_REG_H18 = 90
uc.ARM64_REG_H19 = 91
uc.ARM64_REG_H20 = 92
uc.ARM64_REG_H21 = 93
uc.ARM64_REG_H22 = 94
uc.ARM64_REG_H23 = 95
uc.ARM64_REG_H24 = 96
uc.ARM64_REG_H25 = 97
uc.ARM64_REG_H26 = 98
uc.ARM64_REG_H27 = 99
uc.ARM64_REG_H28 = 100
uc.ARM64_REG_H29 = 101
uc.ARM64_REG_H30 = 102
uc.ARM64_REG_H31 = 103
uc.ARM64_REG_Q0 = 104
uc.ARM64_REG_Q1 = 105
uc.ARM64_REG_Q2 = 106
uc.ARM64_REG_Q3 = 107
uc.ARM64_REG_Q4 = 108
uc.ARM64_REG_Q5 = 109
uc.ARM64_REG_Q6 = 110
uc.ARM64_REG_Q7 = 111
uc.ARM64_REG_Q8 = 112
uc.ARM64_REG_Q9 = 113
uc.ARM64_REG_Q10 = 114
uc.ARM64_REG_Q11 = 115
uc.ARM64_REG_Q12 = 116
uc.ARM64_REG_Q13 = 117
uc.ARM64_REG_Q14 = 118
uc.ARM64_REG_Q15 = 119
uc.ARM64_REG_Q16 = 120
uc.ARM64_REG_Q17 = 121
uc.ARM64_REG_Q18 = 122
uc.ARM64_REG_Q19 = 123
uc.ARM64_REG_Q20 = 124
uc.ARM64_REG_Q21 = 125
uc.ARM64_REG_Q22 = 126
uc.ARM64_REG_Q23 = 127
uc.ARM64_REG_Q24 = 128
uc.ARM64_REG_Q25 = 129
uc.ARM64_REG_Q26 = 130
uc.ARM64_REG_Q27 = 131
uc.ARM64_REG_Q28 = 132
uc.ARM64_REG_Q29 = 133
uc.ARM64_REG_Q30 = 134
uc.ARM64_REG_Q31 = 135
uc.ARM64_REG_S0 = 136
uc.ARM64_REG_S1 = 137
uc.ARM64_REG_S2 = 138
uc.ARM64_REG_S3 = 139
uc.ARM64_REG_S4 = 140
uc.ARM64_REG_S5 = 141
uc.ARM64_REG_S6 = 142
uc.ARM64_REG_S7 = 143
uc.ARM64_REG_S8 = 144
uc.ARM64_REG_S9 = 145
uc.ARM64_REG_S10 = 146
uc.ARM64_REG_S11 = 147
uc.ARM64_REG_S12 = 148
uc.ARM64_REG_S13 = 149
uc.ARM64_REG_S14 = 150
uc.ARM64_REG_S15 = 151
uc.ARM64_REG_S16 = 152
uc.ARM64_REG_S17 = 153
uc.ARM64_REG_S18 = 154
uc.ARM64_REG_S19 = 155
uc.ARM64_REG_S20 = 156
uc.ARM64_REG_S21 = 157
uc.ARM64_REG_S22 = 158
uc.ARM64_REG_S23 = 159
uc.ARM64_REG_S24 = 160
uc.ARM64_REG_S25 = 161
uc.ARM64_REG_S26 = 162
uc.ARM64_REG_S27 = 163
uc.ARM64_REG_S28 = 164
uc.ARM64_REG_S29 = 165
uc.ARM64_REG_S30 = 166
uc.ARM64_REG_S31 = 167
uc.ARM64_REG_W0 = 168
uc.ARM64_REG_W1 = 169
uc.ARM64_REG_W2 = 170
uc.ARM64_REG_W3 = 171
uc.ARM64_REG_W4 = 172
uc.ARM64_REG_W5 = 173
uc.ARM64_REG_W6 = 174
uc.ARM64_REG_W7 = 175
uc.ARM64_REG_W8 = 176
uc.ARM64_REG_W9 = 177
uc.ARM64_REG_W10 = 178
uc.ARM64_REG_W11 = 179
uc.ARM64_REG_W12 = 180
uc.ARM64_REG_W13 = 181
uc.ARM64_REG_W14 = 182
uc.ARM64_REG_W15 = 183
uc.ARM64_REG_W16 = 184
uc.ARM64_REG_W17 = 185
uc.ARM64_REG_W18 = 186
uc.ARM64_REG_W19 = 187
uc.ARM64_REG_W20 = 188
uc.ARM64_REG_W21 = 189
uc.ARM64_REG_W22 = 190
uc.ARM64_REG_W23 = 191
uc.ARM64_REG_W24 = 192
uc.ARM64_REG_W25 = 193
uc.ARM64_REG_W26 = 194
uc.ARM64_REG_W27 = 195
uc.ARM64_REG_W28 = 196
uc.ARM64_REG_W29 = 197
uc.ARM64_REG_W30 = 198
uc.ARM64_REG_X0 = 199
uc.ARM64_REG_X1 = 200
uc.ARM64_REG_X2 = 201
uc.ARM64_REG_X3 = 202
uc.ARM64_REG_X4 = 203
uc.ARM64_REG_X5 = 204
uc.ARM64_REG_X6 = 205
uc.ARM64_REG_X7 = 206
uc.ARM64_REG_X8 = 207
uc.ARM64_REG_X9 = 208
uc.ARM64_REG_X10 = 209
uc.ARM64_REG_X11 = 210
uc.ARM64_REG_X12 = 211
uc.ARM64_REG_X13 = 212
uc.ARM64_REG_X14 = 213
uc.ARM64_REG_X15 = 214
uc.ARM64_REG_X16 = 215
uc.ARM64_REG_X17 = 216
uc.ARM64_REG_X18 = 217
uc.ARM64_REG_X19 = 218
uc.ARM64_REG_X20 = 219
uc.ARM64_REG_X21 = 220
uc.ARM64_REG_X22 = 221
uc.ARM64_REG_X23 = 222
uc.ARM64_REG_X24 = 223
uc.ARM64_REG_X25 = 224
uc.ARM64_REG_X26 = 225
uc.ARM64_REG_X27 = 226
uc.ARM64_REG_X28 = 227
uc.ARM64_REG_V0 = 228
uc.ARM64_REG_V1 = 229
uc.ARM64_REG_V2 = 230
uc.ARM64_REG_V3 = 231
uc.ARM64_REG_V4 = 232
uc.ARM64_REG_V5 = 233
uc.ARM64_REG_V6 = 234
uc.ARM64_REG_V7 = 235
uc.ARM64_REG_V8 = 236
uc.ARM64_REG_V9 = 237
uc.ARM64_REG_V10 = 238
uc.ARM64_REG_V11 = 239
uc.ARM64_REG_V12 = 240
uc.ARM64_REG_V13 = 241
uc.ARM64_REG_V14 = 242
uc.ARM64_REG_V15 = 243
uc.ARM64_REG_V16 = 244
uc.ARM64_REG_V17 = 245
uc.ARM64_REG_V18 = 246
uc.ARM64_REG_V19 = 247
uc.ARM64_REG_V20 = 248
uc.ARM64_REG_V21 = 249
uc.ARM64_REG_V22 = 250
uc.ARM64_REG_V23 = 251
uc.ARM64_REG_V24 = 252
uc.ARM64_REG_V25 = 253
uc.ARM64_REG_V26 = 254
uc.ARM64_REG_V27 = 255
uc.ARM64_REG_V28 = 256
uc.ARM64_REG_V29 = 257
uc.ARM64_REG_V30 = 258
uc.ARM64_REG_V31 = 259
// pseudo registers
uc.ARM64_REG_PC = 260
uc.ARM64_REG_ENDING = 261
// alias registers
uc.ARM64_REG_IP1 = 215
uc.ARM64_REG_IP0 = 216
uc.ARM64_REG_FP = 1
uc.ARM64_REG_LR = 2
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm_const.py]
// ARM registers
uc.ARM_REG_INVALID = 0
uc.ARM_REG_APSR = 1
uc.ARM_REG_APSR_NZCV = 2
uc.ARM_REG_CPSR = 3
uc.ARM_REG_FPEXC = 4
uc.ARM_REG_FPINST = 5
uc.ARM_REG_FPSCR = 6
uc.ARM_REG_FPSCR_NZCV = 7
uc.ARM_REG_FPSID = 8
uc.ARM_REG_ITSTATE = 9
uc.ARM_REG_LR = 10
uc.ARM_REG_PC = 11
uc.ARM_REG_SP = 12
uc.ARM_REG_SPSR = 13
uc.ARM_REG_D0 = 14
uc.ARM_REG_D1 = 15
uc.ARM_REG_D2 = 16
uc.ARM_REG_D3 = 17
uc.ARM_REG_D4 = 18
uc.ARM_REG_D5 = 19
uc.ARM_REG_D6 = 20
uc.ARM_REG_D7 = 21
uc.ARM_REG_D8 = 22
uc.ARM_REG_D9 = 23
uc.ARM_REG_D10 = 24
uc.ARM_REG_D11 = 25
uc.ARM_REG_D12 = 26
uc.ARM_REG_D13 = 27
uc.ARM_REG_D14 = 28
uc.ARM_REG_D15 = 29
uc.ARM_REG_D16 = 30
uc.ARM_REG_D17 = 31
uc.ARM_REG_D18 = 32
uc.ARM_REG_D19 = 33
uc.ARM_REG_D20 = 34
uc.ARM_REG_D21 = 35
uc.ARM_REG_D22 = 36
uc.ARM_REG_D23 = 37
uc.ARM_REG_D24 = 38
uc.ARM_REG_D25 = 39
uc.ARM_REG_D26 = 40
uc.ARM_REG_D27 = 41
uc.ARM_REG_D28 = 42
uc.ARM_REG_D29 = 43
uc.ARM_REG_D30 = 44
uc.ARM_REG_D31 = 45
uc.ARM_REG_FPINST2 = 46
uc.ARM_REG_MVFR0 = 47
uc.ARM_REG_MVFR1 = 48
uc.ARM_REG_MVFR2 = 49
uc.ARM_REG_Q0 = 50
uc.ARM_REG_Q1 = 51
uc.ARM_REG_Q2 = 52
uc.ARM_REG_Q3 = 53
uc.ARM_REG_Q4 = 54
uc.ARM_REG_Q5 = 55
uc.ARM_REG_Q6 = 56
uc.ARM_REG_Q7 = 57
uc.ARM_REG_Q8 = 58
uc.ARM_REG_Q9 = 59
uc.ARM_REG_Q10 = 60
uc.ARM_REG_Q11 = 61
uc.ARM_REG_Q12 = 62
uc.ARM_REG_Q13 = 63
uc.ARM_REG_Q14 = 64
uc.ARM_REG_Q15 = 65
uc.ARM_REG_R0 = 66
uc.ARM_REG_R1 = 67
uc.ARM_REG_R2 = 68
uc.ARM_REG_R3 = 69
uc.ARM_REG_R4 = 70
uc.ARM_REG_R5 = 71
uc.ARM_REG_R6 = 72
uc.ARM_REG_R7 = 73
uc.ARM_REG_R8 = 74
uc.ARM_REG_R9 = 75
uc.ARM_REG_R10 = 76
uc.ARM_REG_R11 = 77
uc.ARM_REG_R12 = 78
uc.ARM_REG_S0 = 79
uc.ARM_REG_S1 = 80
uc.ARM_REG_S2 = 81
uc.ARM_REG_S3 = 82
uc.ARM_REG_S4 = 83
uc.ARM_REG_S5 = 84
uc.ARM_REG_S6 = 85
uc.ARM_REG_S7 = 86
uc.ARM_REG_S8 = 87
uc.ARM_REG_S9 = 88
uc.ARM_REG_S10 = 89
uc.ARM_REG_S11 = 90
uc.ARM_REG_S12 = 91
uc.ARM_REG_S13 = 92
uc.ARM_REG_S14 = 93
uc.ARM_REG_S15 = 94
uc.ARM_REG_S16 = 95
uc.ARM_REG_S17 = 96
uc.ARM_REG_S18 = 97
uc.ARM_REG_S19 = 98
uc.ARM_REG_S20 = 99
uc.ARM_REG_S21 = 100
uc.ARM_REG_S22 = 101
uc.ARM_REG_S23 = 102
uc.ARM_REG_S24 = 103
uc.ARM_REG_S25 = 104
uc.ARM_REG_S26 = 105
uc.ARM_REG_S27 = 106
uc.ARM_REG_S28 = 107
uc.ARM_REG_S29 = 108
uc.ARM_REG_S30 = 109
uc.ARM_REG_S31 = 110
uc.ARM_REG_C1_C0_2 = 111
uc.ARM_REG_C13_C0_2 = 112
uc.ARM_REG_C13_C0_3 = 113
uc.ARM_REG_ENDING = 114
// alias registers
uc.ARM_REG_R13 = 12
uc.ARM_REG_R14 = 10
uc.ARM_REG_R15 = 11
uc.ARM_REG_SB = 75
uc.ARM_REG_SL = 76
uc.ARM_REG_FP = 77
uc.ARM_REG_IP = 78
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [m68k_const.py]
// M68K registers
uc.M68K_REG_INVALID = 0
uc.M68K_REG_A0 = 1
uc.M68K_REG_A1 = 2
uc.M68K_REG_A2 = 3
uc.M68K_REG_A3 = 4
uc.M68K_REG_A4 = 5
uc.M68K_REG_A5 = 6
uc.M68K_REG_A6 = 7
uc.M68K_REG_A7 = 8
uc.M68K_REG_D0 = 9
uc.M68K_REG_D1 = 10
uc.M68K_REG_D2 = 11
uc.M68K_REG_D3 = 12
uc.M68K_REG_D4 = 13
uc.M68K_REG_D5 = 14
uc.M68K_REG_D6 = 15
uc.M68K_REG_D7 = 16
uc.M68K_REG_SR = 17
uc.M68K_REG_PC = 18
uc.M68K_REG_ENDING = 19
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [mips_const.py]
// MIPS registers
uc.MIPS_REG_INVALID = 0
// General purpose registers
uc.MIPS_REG_PC = 1
uc.MIPS_REG_0 = 2
uc.MIPS_REG_1 = 3
uc.MIPS_REG_2 = 4
uc.MIPS_REG_3 = 5
uc.MIPS_REG_4 = 6
uc.MIPS_REG_5 = 7
uc.MIPS_REG_6 = 8
uc.MIPS_REG_7 = 9
uc.MIPS_REG_8 = 10
uc.MIPS_REG_9 = 11
uc.MIPS_REG_10 = 12
uc.MIPS_REG_11 = 13
uc.MIPS_REG_12 = 14
uc.MIPS_REG_13 = 15
uc.MIPS_REG_14 = 16
uc.MIPS_REG_15 = 17
uc.MIPS_REG_16 = 18
uc.MIPS_REG_17 = 19
uc.MIPS_REG_18 = 20
uc.MIPS_REG_19 = 21
uc.MIPS_REG_20 = 22
uc.MIPS_REG_21 = 23
uc.MIPS_REG_22 = 24
uc.MIPS_REG_23 = 25
uc.MIPS_REG_24 = 26
uc.MIPS_REG_25 = 27
uc.MIPS_REG_26 = 28
uc.MIPS_REG_27 = 29
uc.MIPS_REG_28 = 30
uc.MIPS_REG_29 = 31
uc.MIPS_REG_30 = 32
uc.MIPS_REG_31 = 33
// DSP registers
uc.MIPS_REG_DSPCCOND = 34
uc.MIPS_REG_DSPCARRY = 35
uc.MIPS_REG_DSPEFI = 36
uc.MIPS_REG_DSPOUTFLAG = 37
uc.MIPS_REG_DSPOUTFLAG16_19 = 38
uc.MIPS_REG_DSPOUTFLAG20 = 39
uc.MIPS_REG_DSPOUTFLAG21 = 40
uc.MIPS_REG_DSPOUTFLAG22 = 41
uc.MIPS_REG_DSPOUTFLAG23 = 42
uc.MIPS_REG_DSPPOS = 43
uc.MIPS_REG_DSPSCOUNT = 44
// ACC registers
uc.MIPS_REG_AC0 = 45
uc.MIPS_REG_AC1 = 46
uc.MIPS_REG_AC2 = 47
uc.MIPS_REG_AC3 = 48
// COP registers
uc.MIPS_REG_CC0 = 49
uc.MIPS_REG_CC1 = 50
uc.MIPS_REG_CC2 = 51
uc.MIPS_REG_CC3 = 52
uc.MIPS_REG_CC4 = 53
uc.MIPS_REG_CC5 = 54
uc.MIPS_REG_CC6 = 55
uc.MIPS_REG_CC7 = 56
// FPU registers
uc.MIPS_REG_F0 = 57
uc.MIPS_REG_F1 = 58
uc.MIPS_REG_F2 = 59
uc.MIPS_REG_F3 = 60
uc.MIPS_REG_F4 = 61
uc.MIPS_REG_F5 = 62
uc.MIPS_REG_F6 = 63
uc.MIPS_REG_F7 = 64
uc.MIPS_REG_F8 = 65
uc.MIPS_REG_F9 = 66
uc.MIPS_REG_F10 = 67
uc.MIPS_REG_F11 = 68
uc.MIPS_REG_F12 = 69
uc.MIPS_REG_F13 = 70
uc.MIPS_REG_F14 = 71
uc.MIPS_REG_F15 = 72
uc.MIPS_REG_F16 = 73
uc.MIPS_REG_F17 = 74
uc.MIPS_REG_F18 = 75
uc.MIPS_REG_F19 = 76
uc.MIPS_REG_F20 = 77
uc.MIPS_REG_F21 = 78
uc.MIPS_REG_F22 = 79
uc.MIPS_REG_F23 = 80
uc.MIPS_REG_F24 = 81
uc.MIPS_REG_F25 = 82
uc.MIPS_REG_F26 = 83
uc.MIPS_REG_F27 = 84
uc.MIPS_REG_F28 = 85
uc.MIPS_REG_F29 = 86
uc.MIPS_REG_F30 = 87
uc.MIPS_REG_F31 = 88
uc.MIPS_REG_FCC0 = 89
uc.MIPS_REG_FCC1 = 90
uc.MIPS_REG_FCC2 = 91
uc.MIPS_REG_FCC3 = 92
uc.MIPS_REG_FCC4 = 93
uc.MIPS_REG_FCC5 = 94
uc.MIPS_REG_FCC6 = 95
uc.MIPS_REG_FCC7 = 96
// AFPR128
uc.MIPS_REG_W0 = 97
uc.MIPS_REG_W1 = 98
uc.MIPS_REG_W2 = 99
uc.MIPS_REG_W3 = 100
uc.MIPS_REG_W4 = 101
uc.MIPS_REG_W5 = 102
uc.MIPS_REG_W6 = 103
uc.MIPS_REG_W7 = 104
uc.MIPS_REG_W8 = 105
uc.MIPS_REG_W9 = 106
uc.MIPS_REG_W10 = 107
uc.MIPS_REG_W11 = 108
uc.MIPS_REG_W12 = 109
uc.MIPS_REG_W13 = 110
uc.MIPS_REG_W14 = 111
uc.MIPS_REG_W15 = 112
uc.MIPS_REG_W16 = 113
uc.MIPS_REG_W17 = 114
uc.MIPS_REG_W18 = 115
uc.MIPS_REG_W19 = 116
uc.MIPS_REG_W20 = 117
uc.MIPS_REG_W21 = 118
uc.MIPS_REG_W22 = 119
uc.MIPS_REG_W23 = 120
uc.MIPS_REG_W24 = 121
uc.MIPS_REG_W25 = 122
uc.MIPS_REG_W26 = 123
uc.MIPS_REG_W27 = 124
uc.MIPS_REG_W28 = 125
uc.MIPS_REG_W29 = 126
uc.MIPS_REG_W30 = 127
uc.MIPS_REG_W31 = 128
uc.MIPS_REG_HI = 129
uc.MIPS_REG_LO = 130
uc.MIPS_REG_P0 = 131
uc.MIPS_REG_P1 = 132
uc.MIPS_REG_P2 = 133
uc.MIPS_REG_MPL0 = 134
uc.MIPS_REG_MPL1 = 135
uc.MIPS_REG_MPL2 = 136
uc.MIPS_REG_ENDING = 137
uc.MIPS_REG_ZERO = 2
uc.MIPS_REG_AT = 3
uc.MIPS_REG_V0 = 4
uc.MIPS_REG_V1 = 5
uc.MIPS_REG_A0 = 6
uc.MIPS_REG_A1 = 7
uc.MIPS_REG_A2 = 8
uc.MIPS_REG_A3 = 9
uc.MIPS_REG_T0 = 10
uc.MIPS_REG_T1 = 11
uc.MIPS_REG_T2 = 12
uc.MIPS_REG_T3 = 13
uc.MIPS_REG_T4 = 14
uc.MIPS_REG_T5 = 15
uc.MIPS_REG_T6 = 16
uc.MIPS_REG_T7 = 17
uc.MIPS_REG_S0 = 18
uc.MIPS_REG_S1 = 19
uc.MIPS_REG_S2 = 20
uc.MIPS_REG_S3 = 21
uc.MIPS_REG_S4 = 22
uc.MIPS_REG_S5 = 23
uc.MIPS_REG_S6 = 24
uc.MIPS_REG_S7 = 25
uc.MIPS_REG_T8 = 26
uc.MIPS_REG_T9 = 27
uc.MIPS_REG_K0 = 28
uc.MIPS_REG_K1 = 29
uc.MIPS_REG_GP = 30
uc.MIPS_REG_SP = 31
uc.MIPS_REG_FP = 32
uc.MIPS_REG_S8 = 32
uc.MIPS_REG_RA = 33
uc.MIPS_REG_HI0 = 45
uc.MIPS_REG_HI1 = 46
uc.MIPS_REG_HI2 = 47
uc.MIPS_REG_HI3 = 48
uc.MIPS_REG_LO0 = 45
uc.MIPS_REG_LO1 = 46
uc.MIPS_REG_LO2 = 47
uc.MIPS_REG_LO3 = 48
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [sparc_const.py]
// SPARC registers
uc.SPARC_REG_INVALID = 0
uc.SPARC_REG_F0 = 1
uc.SPARC_REG_F1 = 2
uc.SPARC_REG_F2 = 3
uc.SPARC_REG_F3 = 4
uc.SPARC_REG_F4 = 5
uc.SPARC_REG_F5 = 6
uc.SPARC_REG_F6 = 7
uc.SPARC_REG_F7 = 8
uc.SPARC_REG_F8 = 9
uc.SPARC_REG_F9 = 10
uc.SPARC_REG_F10 = 11
uc.SPARC_REG_F11 = 12
uc.SPARC_REG_F12 = 13
uc.SPARC_REG_F13 = 14
uc.SPARC_REG_F14 = 15
uc.SPARC_REG_F15 = 16
uc.SPARC_REG_F16 = 17
uc.SPARC_REG_F17 = 18
uc.SPARC_REG_F18 = 19
uc.SPARC_REG_F19 = 20
uc.SPARC_REG_F20 = 21
uc.SPARC_REG_F21 = 22
uc.SPARC_REG_F22 = 23
uc.SPARC_REG_F23 = 24
uc.SPARC_REG_F24 = 25
uc.SPARC_REG_F25 = 26
uc.SPARC_REG_F26 = 27
uc.SPARC_REG_F27 = 28
uc.SPARC_REG_F28 = 29
uc.SPARC_REG_F29 = 30
uc.SPARC_REG_F30 = 31
uc.SPARC_REG_F31 = 32
uc.SPARC_REG_F32 = 33
uc.SPARC_REG_F34 = 34
uc.SPARC_REG_F36 = 35
uc.SPARC_REG_F38 = 36
uc.SPARC_REG_F40 = 37
uc.SPARC_REG_F42 = 38
uc.SPARC_REG_F44 = 39
uc.SPARC_REG_F46 = 40
uc.SPARC_REG_F48 = 41
uc.SPARC_REG_F50 = 42
uc.SPARC_REG_F52 = 43
uc.SPARC_REG_F54 = 44
uc.SPARC_REG_F56 = 45
uc.SPARC_REG_F58 = 46
uc.SPARC_REG_F60 = 47
uc.SPARC_REG_F62 = 48
uc.SPARC_REG_FCC0 = 49
uc.SPARC_REG_FCC1 = 50
uc.SPARC_REG_FCC2 = 51
uc.SPARC_REG_FCC3 = 52
uc.SPARC_REG_G0 = 53
uc.SPARC_REG_G1 = 54
uc.SPARC_REG_G2 = 55
uc.SPARC_REG_G3 = 56
uc.SPARC_REG_G4 = 57
uc.SPARC_REG_G5 = 58
uc.SPARC_REG_G6 = 59
uc.SPARC_REG_G7 = 60
uc.SPARC_REG_I0 = 61
uc.SPARC_REG_I1 = 62
uc.SPARC_REG_I2 = 63
uc.SPARC_REG_I3 = 64
uc.SPARC_REG_I4 = 65
uc.SPARC_REG_I5 = 66
uc.SPARC_REG_FP = 67
uc.SPARC_REG_I7 = 68
uc.SPARC_REG_ICC = 69
uc.SPARC_REG_L0 = 70
uc.SPARC_REG_L1 = 71
uc.SPARC_REG_L2 = 72
uc.SPARC_REG_L3 = 73
uc.SPARC_REG_L4 = 74
uc.SPARC_REG_L5 = 75
uc.SPARC_REG_L6 = 76
uc.SPARC_REG_L7 = 77
uc.SPARC_REG_O0 = 78
uc.SPARC_REG_O1 = 79
uc.SPARC_REG_O2 = 80
uc.SPARC_REG_O3 = 81
uc.SPARC_REG_O4 = 82
uc.SPARC_REG_O5 = 83
uc.SPARC_REG_SP = 84
uc.SPARC_REG_O7 = 85
uc.SPARC_REG_Y = 86
uc.SPARC_REG_XCC = 87
uc.SPARC_REG_PC = 88
uc.SPARC_REG_ENDING = 89
uc.SPARC_REG_O6 = 84
uc.SPARC_REG_I6 = 67
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [x86_const.py]
// X86 registers
uc.X86_REG_INVALID = 0
uc.X86_REG_AH = 1
uc.X86_REG_AL = 2
uc.X86_REG_AX = 3
uc.X86_REG_BH = 4
uc.X86_REG_BL = 5
uc.X86_REG_BP = 6
uc.X86_REG_BPL = 7
uc.X86_REG_BX = 8
uc.X86_REG_CH = 9
uc.X86_REG_CL = 10
uc.X86_REG_CS = 11
uc.X86_REG_CX = 12
uc.X86_REG_DH = 13
uc.X86_REG_DI = 14
uc.X86_REG_DIL = 15
uc.X86_REG_DL = 16
uc.X86_REG_DS = 17
uc.X86_REG_DX = 18
uc.X86_REG_EAX = 19
uc.X86_REG_EBP = 20
uc.X86_REG_EBX = 21
uc.X86_REG_ECX = 22
uc.X86_REG_EDI = 23
uc.X86_REG_EDX = 24
uc.X86_REG_EFLAGS = 25
uc.X86_REG_EIP = 26
uc.X86_REG_EIZ = 27
uc.X86_REG_ES = 28
uc.X86_REG_ESI = 29
uc.X86_REG_ESP = 30
uc.X86_REG_FPSW = 31
uc.X86_REG_FS = 32
uc.X86_REG_GS = 33
uc.X86_REG_IP = 34
uc.X86_REG_RAX = 35
uc.X86_REG_RBP = 36
uc.X86_REG_RBX = 37
uc.X86_REG_RCX = 38
uc.X86_REG_RDI = 39
uc.X86_REG_RDX = 40
uc.X86_REG_RIP = 41
uc.X86_REG_RIZ = 42
uc.X86_REG_RSI = 43
uc.X86_REG_RSP = 44
uc.X86_REG_SI = 45
uc.X86_REG_SIL = 46
uc.X86_REG_SP = 47
uc.X86_REG_SPL = 48
uc.X86_REG_SS = 49
uc.X86_REG_CR0 = 50
uc.X86_REG_CR1 = 51
uc.X86_REG_CR2 = 52
uc.X86_REG_CR3 = 53
uc.X86_REG_CR4 = 54
uc.X86_REG_CR5 = 55
uc.X86_REG_CR6 = 56
uc.X86_REG_CR7 = 57
uc.X86_REG_CR8 = 58
uc.X86_REG_CR9 = 59
uc.X86_REG_CR10 = 60
uc.X86_REG_CR11 = 61
uc.X86_REG_CR12 = 62
uc.X86_REG_CR13 = 63
uc.X86_REG_CR14 = 64
uc.X86_REG_CR15 = 65
uc.X86_REG_DR0 = 66
uc.X86_REG_DR1 = 67
uc.X86_REG_DR2 = 68
uc.X86_REG_DR3 = 69
uc.X86_REG_DR4 = 70
uc.X86_REG_DR5 = 71
uc.X86_REG_DR6 = 72
uc.X86_REG_DR7 = 73
uc.X86_REG_DR8 = 74
uc.X86_REG_DR9 = 75
uc.X86_REG_DR10 = 76
uc.X86_REG_DR11 = 77
uc.X86_REG_DR12 = 78
uc.X86_REG_DR13 = 79
uc.X86_REG_DR14 = 80
uc.X86_REG_DR15 = 81
uc.X86_REG_FP0 = 82
uc.X86_REG_FP1 = 83
uc.X86_REG_FP2 = 84
uc.X86_REG_FP3 = 85
uc.X86_REG_FP4 = 86
uc.X86_REG_FP5 = 87
uc.X86_REG_FP6 = 88
uc.X86_REG_FP7 = 89
uc.X86_REG_K0 = 90
uc.X86_REG_K1 = 91
uc.X86_REG_K2 = 92
uc.X86_REG_K3 = 93
uc.X86_REG_K4 = 94
uc.X86_REG_K5 = 95
uc.X86_REG_K6 = 96
uc.X86_REG_K7 = 97
uc.X86_REG_MM0 = 98
uc.X86_REG_MM1 = 99
uc.X86_REG_MM2 = 100
uc.X86_REG_MM3 = 101
uc.X86_REG_MM4 = 102
uc.X86_REG_MM5 = 103
uc.X86_REG_MM6 = 104
uc.X86_REG_MM7 = 105
uc.X86_REG_R8 = 106
uc.X86_REG_R9 = 107
uc.X86_REG_R10 = 108
uc.X86_REG_R11 = 109
uc.X86_REG_R12 = 110
uc.X86_REG_R13 = 111
uc.X86_REG_R14 = 112
uc.X86_REG_R15 = 113
uc.X86_REG_ST0 = 114
uc.X86_REG_ST1 = 115
uc.X86_REG_ST2 = 116
uc.X86_REG_ST3 = 117
uc.X86_REG_ST4 = 118
uc.X86_REG_ST5 = 119
uc.X86_REG_ST6 = 120
uc.X86_REG_ST7 = 121
uc.X86_REG_XMM0 = 122
uc.X86_REG_XMM1 = 123
uc.X86_REG_XMM2 = 124
uc.X86_REG_XMM3 = 125
uc.X86_REG_XMM4 = 126
uc.X86_REG_XMM5 = 127
uc.X86_REG_XMM6 = 128
uc.X86_REG_XMM7 = 129
uc.X86_REG_XMM8 = 130
uc.X86_REG_XMM9 = 131
uc.X86_REG_XMM10 = 132
uc.X86_REG_XMM11 = 133
uc.X86_REG_XMM12 = 134
uc.X86_REG_XMM13 = 135
uc.X86_REG_XMM14 = 136
uc.X86_REG_XMM15 = 137
uc.X86_REG_XMM16 = 138
uc.X86_REG_XMM17 = 139
uc.X86_REG_XMM18 = 140
uc.X86_REG_XMM19 = 141
uc.X86_REG_XMM20 = 142
uc.X86_REG_XMM21 = 143
uc.X86_REG_XMM22 = 144
uc.X86_REG_XMM23 = 145
uc.X86_REG_XMM24 = 146
uc.X86_REG_XMM25 = 147
uc.X86_REG_XMM26 = 148
uc.X86_REG_XMM27 = 149
uc.X86_REG_XMM28 = 150
uc.X86_REG_XMM29 = 151
uc.X86_REG_XMM30 = 152
uc.X86_REG_XMM31 = 153
uc.X86_REG_YMM0 = 154
uc.X86_REG_YMM1 = 155
uc.X86_REG_YMM2 = 156
uc.X86_REG_YMM3 = 157
uc.X86_REG_YMM4 = 158
uc.X86_REG_YMM5 = 159
uc.X86_REG_YMM6 = 160
uc.X86_REG_YMM7 = 161
uc.X86_REG_YMM8 = 162
uc.X86_REG_YMM9 = 163
uc.X86_REG_YMM10 = 164
uc.X86_REG_YMM11 = 165
uc.X86_REG_YMM12 = 166
uc.X86_REG_YMM13 = 167
uc.X86_REG_YMM14 = 168
uc.X86_REG_YMM15 = 169
uc.X86_REG_YMM16 = 170
uc.X86_REG_YMM17 = 171
uc.X86_REG_YMM18 = 172
uc.X86_REG_YMM19 = 173
uc.X86_REG_YMM20 = 174
uc.X86_REG_YMM21 = 175
uc.X86_REG_YMM22 = 176
uc.X86_REG_YMM23 = 177
uc.X86_REG_YMM24 = 178
uc.X86_REG_YMM25 = 179
uc.X86_REG_YMM26 = 180
uc.X86_REG_YMM27 = 181
uc.X86_REG_YMM28 = 182
uc.X86_REG_YMM29 = 183
uc.X86_REG_YMM30 = 184
uc.X86_REG_YMM31 = 185
uc.X86_REG_ZMM0 = 186
uc.X86_REG_ZMM1 = 187
uc.X86_REG_ZMM2 = 188
uc.X86_REG_ZMM3 = 189
uc.X86_REG_ZMM4 = 190
uc.X86_REG_ZMM5 = 191
uc.X86_REG_ZMM6 = 192
uc.X86_REG_ZMM7 = 193
uc.X86_REG_ZMM8 = 194
uc.X86_REG_ZMM9 = 195
uc.X86_REG_ZMM10 = 196
uc.X86_REG_ZMM11 = 197
uc.X86_REG_ZMM12 = 198
uc.X86_REG_ZMM13 = 199
uc.X86_REG_ZMM14 = 200
uc.X86_REG_ZMM15 = 201
uc.X86_REG_ZMM16 = 202
uc.X86_REG_ZMM17 = 203
uc.X86_REG_ZMM18 = 204
uc.X86_REG_ZMM19 = 205
uc.X86_REG_ZMM20 = 206
uc.X86_REG_ZMM21 = 207
uc.X86_REG_ZMM22 = 208
uc.X86_REG_ZMM23 = 209
uc.X86_REG_ZMM24 = 210
uc.X86_REG_ZMM25 = 211
uc.X86_REG_ZMM26 = 212
uc.X86_REG_ZMM27 = 213
uc.X86_REG_ZMM28 = 214
uc.X86_REG_ZMM29 = 215
uc.X86_REG_ZMM30 = 216
uc.X86_REG_ZMM31 = 217
uc.X86_REG_R8B = 218
uc.X86_REG_R9B = 219
uc.X86_REG_R10B = 220
uc.X86_REG_R11B = 221
uc.X86_REG_R12B = 222
uc.X86_REG_R13B = 223
uc.X86_REG_R14B = 224
uc.X86_REG_R15B = 225
uc.X86_REG_R8D = 226
uc.X86_REG_R9D = 227
uc.X86_REG_R10D = 228
uc.X86_REG_R11D = 229
uc.X86_REG_R12D = 230
uc.X86_REG_R13D = 231
uc.X86_REG_R14D = 232
uc.X86_REG_R15D = 233
uc.X86_REG_R8W = 234
uc.X86_REG_R9W = 235
uc.X86_REG_R10W = 236
uc.X86_REG_R11W = 237
uc.X86_REG_R12W = 238
uc.X86_REG_R13W = 239
uc.X86_REG_R14W = 240
uc.X86_REG_R15W = 241
uc.X86_REG_IDTR = 242
uc.X86_REG_GDTR = 243
uc.X86_REG_LDTR = 244
uc.X86_REG_TR = 245
uc.X86_REG_FPCW = 246
uc.X86_REG_FPTAG = 247
uc.X86_REG_ENDING = 248
// X86 instructions
uc.X86_INS_INVALID = 0
uc.X86_INS_AAA = 1
uc.X86_INS_AAD = 2
uc.X86_INS_AAM = 3
uc.X86_INS_AAS = 4
uc.X86_INS_FABS = 5
uc.X86_INS_ADC = 6
uc.X86_INS_ADCX = 7
uc.X86_INS_ADD = 8
uc.X86_INS_ADDPD = 9
uc.X86_INS_ADDPS = 10
uc.X86_INS_ADDSD = 11
uc.X86_INS_ADDSS = 12
uc.X86_INS_ADDSUBPD = 13
uc.X86_INS_ADDSUBPS = 14
uc.X86_INS_FADD = 15
uc.X86_INS_FIADD = 16
uc.X86_INS_FADDP = 17
uc.X86_INS_ADOX = 18
uc.X86_INS_AESDECLAST = 19
uc.X86_INS_AESDEC = 20
uc.X86_INS_AESENCLAST = 21
uc.X86_INS_AESENC = 22
uc.X86_INS_AESIMC = 23
uc.X86_INS_AESKEYGENASSIST = 24
uc.X86_INS_AND = 25
uc.X86_INS_ANDN = 26
uc.X86_INS_ANDNPD = 27
uc.X86_INS_ANDNPS = 28
uc.X86_INS_ANDPD = 29
uc.X86_INS_ANDPS = 30
uc.X86_INS_ARPL = 31
uc.X86_INS_BEXTR = 32
uc.X86_INS_BLCFILL = 33
uc.X86_INS_BLCI = 34
uc.X86_INS_BLCIC = 35
uc.X86_INS_BLCMSK = 36
uc.X86_INS_BLCS = 37
uc.X86_INS_BLENDPD = 38
uc.X86_INS_BLENDPS = 39
uc.X86_INS_BLENDVPD = 40
uc.X86_INS_BLENDVPS = 41
uc.X86_INS_BLSFILL = 42
uc.X86_INS_BLSI = 43
uc.X86_INS_BLSIC = 44
uc.X86_INS_BLSMSK = 45
uc.X86_INS_BLSR = 46
uc.X86_INS_BOUND = 47
uc.X86_INS_BSF = 48
uc.X86_INS_BSR = 49
uc.X86_INS_BSWAP = 50
uc.X86_INS_BT = 51
uc.X86_INS_BTC = 52
uc.X86_INS_BTR = 53
uc.X86_INS_BTS = 54
uc.X86_INS_BZHI = 55
uc.X86_INS_CALL = 56
uc.X86_INS_CBW = 57
uc.X86_INS_CDQ = 58
uc.X86_INS_CDQE = 59
uc.X86_INS_FCHS = 60
uc.X86_INS_CLAC = 61
uc.X86_INS_CLC = 62
uc.X86_INS_CLD = 63
uc.X86_INS_CLFLUSH = 64
uc.X86_INS_CLFLUSHOPT = 65
uc.X86_INS_CLGI = 66
uc.X86_INS_CLI = 67
uc.X86_INS_CLTS = 68
uc.X86_INS_CLWB = 69
uc.X86_INS_CMC = 70
uc.X86_INS_CMOVA = 71
uc.X86_INS_CMOVAE = 72
uc.X86_INS_CMOVB = 73
uc.X86_INS_CMOVBE = 74
uc.X86_INS_FCMOVBE = 75
uc.X86_INS_FCMOVB = 76
uc.X86_INS_CMOVE = 77
uc.X86_INS_FCMOVE = 78
uc.X86_INS_CMOVG = 79
uc.X86_INS_CMOVGE = 80
uc.X86_INS_CMOVL = 81
uc.X86_INS_CMOVLE = 82
uc.X86_INS_FCMOVNBE = 83
uc.X86_INS_FCMOVNB = 84
uc.X86_INS_CMOVNE = 85
uc.X86_INS_FCMOVNE = 86
uc.X86_INS_CMOVNO = 87
uc.X86_INS_CMOVNP = 88
uc.X86_INS_FCMOVNU = 89
uc.X86_INS_CMOVNS = 90
uc.X86_INS_CMOVO = 91
uc.X86_INS_CMOVP = 92
uc.X86_INS_FCMOVU = 93
uc.X86_INS_CMOVS = 94
uc.X86_INS_CMP = 95
uc.X86_INS_CMPPD = 96
uc.X86_INS_CMPPS = 97
uc.X86_INS_CMPSB = 98
uc.X86_INS_CMPSD = 99
uc.X86_INS_CMPSQ = 100
uc.X86_INS_CMPSS = 101
uc.X86_INS_CMPSW = 102
uc.X86_INS_CMPXCHG16B = 103
uc.X86_INS_CMPXCHG = 104
uc.X86_INS_CMPXCHG8B = 105
uc.X86_INS_COMISD = 106
uc.X86_INS_COMISS = 107
uc.X86_INS_FCOMP = 108
uc.X86_INS_FCOMPI = 109
uc.X86_INS_FCOMI = 110
uc.X86_INS_FCOM = 111
uc.X86_INS_FCOS = 112
uc.X86_INS_CPUID = 113
uc.X86_INS_CQO = 114
uc.X86_INS_CRC32 = 115
uc.X86_INS_CVTDQ2PD = 116
uc.X86_INS_CVTDQ2PS = 117
uc.X86_INS_CVTPD2DQ = 118
uc.X86_INS_CVTPD2PS = 119
uc.X86_INS_CVTPS2DQ = 120
uc.X86_INS_CVTPS2PD = 121
uc.X86_INS_CVTSD2SI = 122
uc.X86_INS_CVTSD2SS = 123
uc.X86_INS_CVTSI2SD = 124
uc.X86_INS_CVTSI2SS = 125
uc.X86_INS_CVTSS2SD = 126
uc.X86_INS_CVTSS2SI = 127
uc.X86_INS_CVTTPD2DQ = 128
uc.X86_INS_CVTTPS2DQ = 129
uc.X86_INS_CVTTSD2SI = 130
uc.X86_INS_CVTTSS2SI = 131
uc.X86_INS_CWD = 132
uc.X86_INS_CWDE = 133
uc.X86_INS_DAA = 134
uc.X86_INS_DAS = 135
uc.X86_INS_DATA16 = 136
uc.X86_INS_DEC = 137
uc.X86_INS_DIV = 138
uc.X86_INS_DIVPD = 139
uc.X86_INS_DIVPS = 140
uc.X86_INS_FDIVR = 141
uc.X86_INS_FIDIVR = 142
uc.X86_INS_FDIVRP = 143
uc.X86_INS_DIVSD = 144
uc.X86_INS_DIVSS = 145
uc.X86_INS_FDIV = 146
uc.X86_INS_FIDIV = 147
uc.X86_INS_FDIVP = 148
uc.X86_INS_DPPD = 149
uc.X86_INS_DPPS = 150
uc.X86_INS_RET = 151
uc.X86_INS_ENCLS = 152
uc.X86_INS_ENCLU = 153
uc.X86_INS_ENTER = 154
uc.X86_INS_EXTRACTPS = 155
uc.X86_INS_EXTRQ = 156
uc.X86_INS_F2XM1 = 157
uc.X86_INS_LCALL = 158
uc.X86_INS_LJMP = 159
uc.X86_INS_FBLD = 160
uc.X86_INS_FBSTP = 161
uc.X86_INS_FCOMPP = 162
uc.X86_INS_FDECSTP = 163
uc.X86_INS_FEMMS = 164
uc.X86_INS_FFREE = 165
uc.X86_INS_FICOM = 166
uc.X86_INS_FICOMP = 167
uc.X86_INS_FINCSTP = 168
uc.X86_INS_FLDCW = 169
uc.X86_INS_FLDENV = 170
uc.X86_INS_FLDL2E = 171
uc.X86_INS_FLDL2T = 172
uc.X86_INS_FLDLG2 = 173
uc.X86_INS_FLDLN2 = 174
uc.X86_INS_FLDPI = 175
uc.X86_INS_FNCLEX = 176
uc.X86_INS_FNINIT = 177
uc.X86_INS_FNOP = 178
uc.X86_INS_FNSTCW = 179
uc.X86_INS_FNSTSW = 180
uc.X86_INS_FPATAN = 181
uc.X86_INS_FPREM = 182
uc.X86_INS_FPREM1 = 183
uc.X86_INS_FPTAN = 184
uc.X86_INS_FFREEP = 185
uc.X86_INS_FRNDINT = 186
uc.X86_INS_FRSTOR = 187
uc.X86_INS_FNSAVE = 188
uc.X86_INS_FSCALE = 189
uc.X86_INS_FSETPM = 190
uc.X86_INS_FSINCOS = 191
uc.X86_INS_FNSTENV = 192
uc.X86_INS_FXAM = 193
uc.X86_INS_FXRSTOR = 194
uc.X86_INS_FXRSTOR64 = 195
uc.X86_INS_FXSAVE = 196
uc.X86_INS_FXSAVE64 = 197
uc.X86_INS_FXTRACT = 198
uc.X86_INS_FYL2X = 199
uc.X86_INS_FYL2XP1 = 200
uc.X86_INS_MOVAPD = 201
uc.X86_INS_MOVAPS = 202
uc.X86_INS_ORPD = 203
uc.X86_INS_ORPS = 204
uc.X86_INS_VMOVAPD = 205
uc.X86_INS_VMOVAPS = 206
uc.X86_INS_XORPD = 207
uc.X86_INS_XORPS = 208
uc.X86_INS_GETSEC = 209
uc.X86_INS_HADDPD = 210
uc.X86_INS_HADDPS = 211
uc.X86_INS_HLT = 212
uc.X86_INS_HSUBPD = 213
uc.X86_INS_HSUBPS = 214
uc.X86_INS_IDIV = 215
uc.X86_INS_FILD = 216
uc.X86_INS_IMUL = 217
uc.X86_INS_IN = 218
uc.X86_INS_INC = 219
uc.X86_INS_INSB = 220
uc.X86_INS_INSERTPS = 221
uc.X86_INS_INSERTQ = 222
uc.X86_INS_INSD = 223
uc.X86_INS_INSW = 224
uc.X86_INS_INT = 225
uc.X86_INS_INT1 = 226
uc.X86_INS_INT3 = 227
uc.X86_INS_INTO = 228
uc.X86_INS_INVD = 229
uc.X86_INS_INVEPT = 230
uc.X86_INS_INVLPG = 231
uc.X86_INS_INVLPGA = 232
uc.X86_INS_INVPCID = 233
uc.X86_INS_INVVPID = 234
uc.X86_INS_IRET = 235
uc.X86_INS_IRETD = 236
uc.X86_INS_IRETQ = 237
uc.X86_INS_FISTTP = 238
uc.X86_INS_FIST = 239
uc.X86_INS_FISTP = 240
uc.X86_INS_UCOMISD = 241
uc.X86_INS_UCOMISS = 242
uc.X86_INS_VCOMISD = 243
uc.X86_INS_VCOMISS = 244
uc.X86_INS_VCVTSD2SS = 245
uc.X86_INS_VCVTSI2SD = 246
uc.X86_INS_VCVTSI2SS = 247
uc.X86_INS_VCVTSS2SD = 248
uc.X86_INS_VCVTTSD2SI = 249
uc.X86_INS_VCVTTSD2USI = 250
uc.X86_INS_VCVTTSS2SI = 251
uc.X86_INS_VCVTTSS2USI = 252
uc.X86_INS_VCVTUSI2SD = 253
uc.X86_INS_VCVTUSI2SS = 254
uc.X86_INS_VUCOMISD = 255
uc.X86_INS_VUCOMISS = 256
uc.X86_INS_JAE = 257
uc.X86_INS_JA = 258
uc.X86_INS_JBE = 259
uc.X86_INS_JB = 260
uc.X86_INS_JCXZ = 261
uc.X86_INS_JECXZ = 262
uc.X86_INS_JE = 263
uc.X86_INS_JGE = 264
uc.X86_INS_JG = 265
uc.X86_INS_JLE = 266
uc.X86_INS_JL = 267
uc.X86_INS_JMP = 268
uc.X86_INS_JNE = 269
uc.X86_INS_JNO = 270
uc.X86_INS_JNP = 271
uc.X86_INS_JNS = 272
uc.X86_INS_JO = 273
uc.X86_INS_JP = 274
uc.X86_INS_JRCXZ = 275
uc.X86_INS_JS = 276
uc.X86_INS_KANDB = 277
uc.X86_INS_KANDD = 278
uc.X86_INS_KANDNB = 279
uc.X86_INS_KANDND = 280
uc.X86_INS_KANDNQ = 281
uc.X86_INS_KANDNW = 282
uc.X86_INS_KANDQ = 283
uc.X86_INS_KANDW = 284
uc.X86_INS_KMOVB = 285
uc.X86_INS_KMOVD = 286
uc.X86_INS_KMOVQ = 287
uc.X86_INS_KMOVW = 288
uc.X86_INS_KNOTB = 289
uc.X86_INS_KNOTD = 290
uc.X86_INS_KNOTQ = 291
uc.X86_INS_KNOTW = 292
uc.X86_INS_KORB = 293
uc.X86_INS_KORD = 294
uc.X86_INS_KORQ = 295
uc.X86_INS_KORTESTB = 296
uc.X86_INS_KORTESTD = 297
uc.X86_INS_KORTESTQ = 298
uc.X86_INS_KORTESTW = 299
uc.X86_INS_KORW = 300
uc.X86_INS_KSHIFTLB = 301
uc.X86_INS_KSHIFTLD = 302
uc.X86_INS_KSHIFTLQ = 303
uc.X86_INS_KSHIFTLW = 304
uc.X86_INS_KSHIFTRB = 305
uc.X86_INS_KSHIFTRD = 306
uc.X86_INS_KSHIFTRQ = 307
uc.X86_INS_KSHIFTRW = 308
uc.X86_INS_KUNPCKBW = 309
uc.X86_INS_KXNORB = 310
uc.X86_INS_KXNORD = 311
uc.X86_INS_KXNORQ = 312
uc.X86_INS_KXNORW = 313
uc.X86_INS_KXORB = 314
uc.X86_INS_KXORD = 315
uc.X86_INS_KXORQ = 316
uc.X86_INS_KXORW = 317
uc.X86_INS_LAHF = 318
uc.X86_INS_LAR = 319
uc.X86_INS_LDDQU = 320
uc.X86_INS_LDMXCSR = 321
uc.X86_INS_LDS = 322
uc.X86_INS_FLDZ = 323
uc.X86_INS_FLD1 = 324
uc.X86_INS_FLD = 325
uc.X86_INS_LEA = 326
uc.X86_INS_LEAVE = 327
uc.X86_INS_LES = 328
uc.X86_INS_LFENCE = 329
uc.X86_INS_LFS = 330
uc.X86_INS_LGDT = 331
uc.X86_INS_LGS = 332
uc.X86_INS_LIDT = 333
uc.X86_INS_LLDT = 334
uc.X86_INS_LMSW = 335
uc.X86_INS_OR = 336
uc.X86_INS_SUB = 337
uc.X86_INS_XOR = 338
uc.X86_INS_LODSB = 339
uc.X86_INS_LODSD = 340
uc.X86_INS_LODSQ = 341
uc.X86_INS_LODSW = 342
uc.X86_INS_LOOP = 343
uc.X86_INS_LOOPE = 344
uc.X86_INS_LOOPNE = 345
uc.X86_INS_RETF = 346
uc.X86_INS_RETFQ = 347
uc.X86_INS_LSL = 348
uc.X86_INS_LSS = 349
uc.X86_INS_LTR = 350
uc.X86_INS_XADD = 351
uc.X86_INS_LZCNT = 352
uc.X86_INS_MASKMOVDQU = 353
uc.X86_INS_MAXPD = 354
uc.X86_INS_MAXPS = 355
uc.X86_INS_MAXSD = 356
uc.X86_INS_MAXSS = 357
uc.X86_INS_MFENCE = 358
uc.X86_INS_MINPD = 359
uc.X86_INS_MINPS = 360
uc.X86_INS_MINSD = 361
uc.X86_INS_MINSS = 362
uc.X86_INS_CVTPD2PI = 363
uc.X86_INS_CVTPI2PD = 364
uc.X86_INS_CVTPI2PS = 365
uc.X86_INS_CVTPS2PI = 366
uc.X86_INS_CVTTPD2PI = 367
uc.X86_INS_CVTTPS2PI = 368
uc.X86_INS_EMMS = 369
uc.X86_INS_MASKMOVQ = 370
uc.X86_INS_MOVD = 371
uc.X86_INS_MOVDQ2Q = 372
uc.X86_INS_MOVNTQ = 373
uc.X86_INS_MOVQ2DQ = 374
uc.X86_INS_MOVQ = 375
uc.X86_INS_PABSB = 376
uc.X86_INS_PABSD = 377
uc.X86_INS_PABSW = 378
uc.X86_INS_PACKSSDW = 379
uc.X86_INS_PACKSSWB = 380
uc.X86_INS_PACKUSWB = 381
uc.X86_INS_PADDB = 382
uc.X86_INS_PADDD = 383
uc.X86_INS_PADDQ = 384
uc.X86_INS_PADDSB = 385
uc.X86_INS_PADDSW = 386
uc.X86_INS_PADDUSB = 387
uc.X86_INS_PADDUSW = 388
uc.X86_INS_PADDW = 389
uc.X86_INS_PALIGNR = 390
uc.X86_INS_PANDN = 391
uc.X86_INS_PAND = 392
uc.X86_INS_PAVGB = 393
uc.X86_INS_PAVGW = 394
uc.X86_INS_PCMPEQB = 395
uc.X86_INS_PCMPEQD = 396
uc.X86_INS_PCMPEQW = 397
uc.X86_INS_PCMPGTB = 398
uc.X86_INS_PCMPGTD = 399
uc.X86_INS_PCMPGTW = 400
uc.X86_INS_PEXTRW = 401
uc.X86_INS_PHADDSW = 402
uc.X86_INS_PHADDW = 403
uc.X86_INS_PHADDD = 404
uc.X86_INS_PHSUBD = 405
uc.X86_INS_PHSUBSW = 406
uc.X86_INS_PHSUBW = 407
uc.X86_INS_PINSRW = 408
uc.X86_INS_PMADDUBSW = 409
uc.X86_INS_PMADDWD = 410
uc.X86_INS_PMAXSW = 411
uc.X86_INS_PMAXUB = 412
uc.X86_INS_PMINSW = 413
uc.X86_INS_PMINUB = 414
uc.X86_INS_PMOVMSKB = 415
uc.X86_INS_PMULHRSW = 416
uc.X86_INS_PMULHUW = 417
uc.X86_INS_PMULHW = 418
uc.X86_INS_PMULLW = 419
uc.X86_INS_PMULUDQ = 420
uc.X86_INS_POR = 421
uc.X86_INS_PSADBW = 422
uc.X86_INS_PSHUFB = 423
uc.X86_INS_PSHUFW = 424
uc.X86_INS_PSIGNB = 425
uc.X86_INS_PSIGND = 426
uc.X86_INS_PSIGNW = 427
uc.X86_INS_PSLLD = 428
uc.X86_INS_PSLLQ = 429
uc.X86_INS_PSLLW = 430
uc.X86_INS_PSRAD = 431
uc.X86_INS_PSRAW = 432
uc.X86_INS_PSRLD = 433
uc.X86_INS_PSRLQ = 434
uc.X86_INS_PSRLW = 435
uc.X86_INS_PSUBB = 436
uc.X86_INS_PSUBD = 437
uc.X86_INS_PSUBQ = 438
uc.X86_INS_PSUBSB = 439
uc.X86_INS_PSUBSW = 440
uc.X86_INS_PSUBUSB = 441
uc.X86_INS_PSUBUSW = 442
uc.X86_INS_PSUBW = 443
uc.X86_INS_PUNPCKHBW = 444
uc.X86_INS_PUNPCKHDQ = 445
uc.X86_INS_PUNPCKHWD = 446
uc.X86_INS_PUNPCKLBW = 447
uc.X86_INS_PUNPCKLDQ = 448
uc.X86_INS_PUNPCKLWD = 449
uc.X86_INS_PXOR = 450
uc.X86_INS_MONITOR = 451
uc.X86_INS_MONTMUL = 452
uc.X86_INS_MOV = 453
uc.X86_INS_MOVABS = 454
uc.X86_INS_MOVBE = 455
uc.X86_INS_MOVDDUP = 456
uc.X86_INS_MOVDQA = 457
uc.X86_INS_MOVDQU = 458
uc.X86_INS_MOVHLPS = 459
uc.X86_INS_MOVHPD = 460
uc.X86_INS_MOVHPS = 461
uc.X86_INS_MOVLHPS = 462
uc.X86_INS_MOVLPD = 463
uc.X86_INS_MOVLPS = 464
uc.X86_INS_MOVMSKPD = 465
uc.X86_INS_MOVMSKPS = 466
uc.X86_INS_MOVNTDQA = 467
uc.X86_INS_MOVNTDQ = 468
uc.X86_INS_MOVNTI = 469
uc.X86_INS_MOVNTPD = 470
uc.X86_INS_MOVNTPS = 471
uc.X86_INS_MOVNTSD = 472
uc.X86_INS_MOVNTSS = 473
uc.X86_INS_MOVSB = 474
uc.X86_INS_MOVSD = 475
uc.X86_INS_MOVSHDUP = 476
uc.X86_INS_MOVSLDUP = 477
uc.X86_INS_MOVSQ = 478
uc.X86_INS_MOVSS = 479
uc.X86_INS_MOVSW = 480
uc.X86_INS_MOVSX = 481
uc.X86_INS_MOVSXD = 482
uc.X86_INS_MOVUPD = 483
uc.X86_INS_MOVUPS = 484
uc.X86_INS_MOVZX = 485
uc.X86_INS_MPSADBW = 486
uc.X86_INS_MUL = 487
uc.X86_INS_MULPD = 488
uc.X86_INS_MULPS = 489
uc.X86_INS_MULSD = 490
uc.X86_INS_MULSS = 491
uc.X86_INS_MULX = 492
uc.X86_INS_FMUL = 493
uc.X86_INS_FIMUL = 494
uc.X86_INS_FMULP = 495
uc.X86_INS_MWAIT = 496
uc.X86_INS_NEG = 497
uc.X86_INS_NOP = 498
uc.X86_INS_NOT = 499
uc.X86_INS_OUT = 500
uc.X86_INS_OUTSB = 501
uc.X86_INS_OUTSD = 502
uc.X86_INS_OUTSW = 503
uc.X86_INS_PACKUSDW = 504
uc.X86_INS_PAUSE = 505
uc.X86_INS_PAVGUSB = 506
uc.X86_INS_PBLENDVB = 507
uc.X86_INS_PBLENDW = 508
uc.X86_INS_PCLMULQDQ = 509
uc.X86_INS_PCMPEQQ = 510
uc.X86_INS_PCMPESTRI = 511
uc.X86_INS_PCMPESTRM = 512
uc.X86_INS_PCMPGTQ = 513
uc.X86_INS_PCMPISTRI = 514
uc.X86_INS_PCMPISTRM = 515
uc.X86_INS_PCOMMIT = 516
uc.X86_INS_PDEP = 517
uc.X86_INS_PEXT = 518
uc.X86_INS_PEXTRB = 519
uc.X86_INS_PEXTRD = 520
uc.X86_INS_PEXTRQ = 521
uc.X86_INS_PF2ID = 522
uc.X86_INS_PF2IW = 523
uc.X86_INS_PFACC = 524
uc.X86_INS_PFADD = 525
uc.X86_INS_PFCMPEQ = 526
uc.X86_INS_PFCMPGE = 527
uc.X86_INS_PFCMPGT = 528
uc.X86_INS_PFMAX = 529
uc.X86_INS_PFMIN = 530
uc.X86_INS_PFMUL = 531
uc.X86_INS_PFNACC = 532
uc.X86_INS_PFPNACC = 533
uc.X86_INS_PFRCPIT1 = 534
uc.X86_INS_PFRCPIT2 = 535
uc.X86_INS_PFRCP = 536
uc.X86_INS_PFRSQIT1 = 537
uc.X86_INS_PFRSQRT = 538
uc.X86_INS_PFSUBR = 539
uc.X86_INS_PFSUB = 540
uc.X86_INS_PHMINPOSUW = 541
uc.X86_INS_PI2FD = 542
uc.X86_INS_PI2FW = 543
uc.X86_INS_PINSRB = 544
uc.X86_INS_PINSRD = 545
uc.X86_INS_PINSRQ = 546
uc.X86_INS_PMAXSB = 547
uc.X86_INS_PMAXSD = 548
uc.X86_INS_PMAXUD = 549
uc.X86_INS_PMAXUW = 550
uc.X86_INS_PMINSB = 551
uc.X86_INS_PMINSD = 552
uc.X86_INS_PMINUD = 553
uc.X86_INS_PMINUW = 554
uc.X86_INS_PMOVSXBD = 555
uc.X86_INS_PMOVSXBQ = 556
uc.X86_INS_PMOVSXBW = 557
uc.X86_INS_PMOVSXDQ = 558
uc.X86_INS_PMOVSXWD = 559
uc.X86_INS_PMOVSXWQ = 560
uc.X86_INS_PMOVZXBD = 561
uc.X86_INS_PMOVZXBQ = 562
uc.X86_INS_PMOVZXBW = 563
uc.X86_INS_PMOVZXDQ = 564
uc.X86_INS_PMOVZXWD = 565
uc.X86_INS_PMOVZXWQ = 566
uc.X86_INS_PMULDQ = 567
uc.X86_INS_PMULHRW = 568
uc.X86_INS_PMULLD = 569
uc.X86_INS_POP = 570
uc.X86_INS_POPAW = 571
uc.X86_INS_POPAL = 572
uc.X86_INS_POPCNT = 573
uc.X86_INS_POPF = 574
uc.X86_INS_POPFD = 575
uc.X86_INS_POPFQ = 576
uc.X86_INS_PREFETCH = 577
uc.X86_INS_PREFETCHNTA = 578
uc.X86_INS_PREFETCHT0 = 579
uc.X86_INS_PREFETCHT1 = 580
uc.X86_INS_PREFETCHT2 = 581
uc.X86_INS_PREFETCHW = 582
uc.X86_INS_PSHUFD = 583
uc.X86_INS_PSHUFHW = 584
uc.X86_INS_PSHUFLW = 585
uc.X86_INS_PSLLDQ = 586
uc.X86_INS_PSRLDQ = 587
uc.X86_INS_PSWAPD = 588
uc.X86_INS_PTEST = 589
uc.X86_INS_PUNPCKHQDQ = 590
uc.X86_INS_PUNPCKLQDQ = 591
uc.X86_INS_PUSH = 592
uc.X86_INS_PUSHAW = 593
uc.X86_INS_PUSHAL = 594
uc.X86_INS_PUSHF = 595
uc.X86_INS_PUSHFD = 596
uc.X86_INS_PUSHFQ = 597
uc.X86_INS_RCL = 598
uc.X86_INS_RCPPS = 599
uc.X86_INS_RCPSS = 600
uc.X86_INS_RCR = 601
uc.X86_INS_RDFSBASE = 602
uc.X86_INS_RDGSBASE = 603
uc.X86_INS_RDMSR = 604
uc.X86_INS_RDPMC = 605
uc.X86_INS_RDRAND = 606
uc.X86_INS_RDSEED = 607
uc.X86_INS_RDTSC = 608
uc.X86_INS_RDTSCP = 609
uc.X86_INS_ROL = 610
uc.X86_INS_ROR = 611
uc.X86_INS_RORX = 612
uc.X86_INS_ROUNDPD = 613
uc.X86_INS_ROUNDPS = 614
uc.X86_INS_ROUNDSD = 615
uc.X86_INS_ROUNDSS = 616
uc.X86_INS_RSM = 617
uc.X86_INS_RSQRTPS = 618
uc.X86_INS_RSQRTSS = 619
uc.X86_INS_SAHF = 620
uc.X86_INS_SAL = 621
uc.X86_INS_SALC = 622
uc.X86_INS_SAR = 623
uc.X86_INS_SARX = 624
uc.X86_INS_SBB = 625
uc.X86_INS_SCASB = 626
uc.X86_INS_SCASD = 627
uc.X86_INS_SCASQ = 628
uc.X86_INS_SCASW = 629
uc.X86_INS_SETAE = 630
uc.X86_INS_SETA = 631
uc.X86_INS_SETBE = 632
uc.X86_INS_SETB = 633
uc.X86_INS_SETE = 634
uc.X86_INS_SETGE = 635
uc.X86_INS_SETG = 636
uc.X86_INS_SETLE = 637
uc.X86_INS_SETL = 638
uc.X86_INS_SETNE = 639
uc.X86_INS_SETNO = 640
uc.X86_INS_SETNP = 641
uc.X86_INS_SETNS = 642
uc.X86_INS_SETO = 643
uc.X86_INS_SETP = 644
uc.X86_INS_SETS = 645
uc.X86_INS_SFENCE = 646
uc.X86_INS_SGDT = 647
uc.X86_INS_SHA1MSG1 = 648
uc.X86_INS_SHA1MSG2 = 649
uc.X86_INS_SHA1NEXTE = 650
uc.X86_INS_SHA1RNDS4 = 651
uc.X86_INS_SHA256MSG1 = 652
uc.X86_INS_SHA256MSG2 = 653
uc.X86_INS_SHA256RNDS2 = 654
uc.X86_INS_SHL = 655
uc.X86_INS_SHLD = 656
uc.X86_INS_SHLX = 657
uc.X86_INS_SHR = 658
uc.X86_INS_SHRD = 659
uc.X86_INS_SHRX = 660
uc.X86_INS_SHUFPD = 661
uc.X86_INS_SHUFPS = 662
uc.X86_INS_SIDT = 663
uc.X86_INS_FSIN = 664
uc.X86_INS_SKINIT = 665
uc.X86_INS_SLDT = 666
uc.X86_INS_SMSW = 667
uc.X86_INS_SQRTPD = 668
uc.X86_INS_SQRTPS = 669
uc.X86_INS_SQRTSD = 670
uc.X86_INS_SQRTSS = 671
uc.X86_INS_FSQRT = 672
uc.X86_INS_STAC = 673
uc.X86_INS_STC = 674
uc.X86_INS_STD = 675
uc.X86_INS_STGI = 676
uc.X86_INS_STI = 677
uc.X86_INS_STMXCSR = 678
uc.X86_INS_STOSB = 679
uc.X86_INS_STOSD = 680
uc.X86_INS_STOSQ = 681
uc.X86_INS_STOSW = 682
uc.X86_INS_STR = 683
uc.X86_INS_FST = 684
uc.X86_INS_FSTP = 685
uc.X86_INS_FSTPNCE = 686
uc.X86_INS_FXCH = 687
uc.X86_INS_SUBPD = 688
uc.X86_INS_SUBPS = 689
uc.X86_INS_FSUBR = 690
uc.X86_INS_FISUBR = 691
uc.X86_INS_FSUBRP = 692
uc.X86_INS_SUBSD = 693
uc.X86_INS_SUBSS = 694
uc.X86_INS_FSUB = 695
uc.X86_INS_FISUB = 696
uc.X86_INS_FSUBP = 697
uc.X86_INS_SWAPGS = 698
uc.X86_INS_SYSCALL = 699
uc.X86_INS_SYSENTER = 700
uc.X86_INS_SYSEXIT = 701
uc.X86_INS_SYSRET = 702
uc.X86_INS_T1MSKC = 703
uc.X86_INS_TEST = 704
uc.X86_INS_UD2 = 705
uc.X86_INS_FTST = 706
uc.X86_INS_TZCNT = 707
uc.X86_INS_TZMSK = 708
uc.X86_INS_FUCOMPI = 709
uc.X86_INS_FUCOMI = 710
uc.X86_INS_FUCOMPP = 711
uc.X86_INS_FUCOMP = 712
uc.X86_INS_FUCOM = 713
uc.X86_INS_UD2B = 714
uc.X86_INS_UNPCKHPD = 715
uc.X86_INS_UNPCKHPS = 716
uc.X86_INS_UNPCKLPD = 717
uc.X86_INS_UNPCKLPS = 718
uc.X86_INS_VADDPD = 719
uc.X86_INS_VADDPS = 720
uc.X86_INS_VADDSD = 721
uc.X86_INS_VADDSS = 722
uc.X86_INS_VADDSUBPD = 723
uc.X86_INS_VADDSUBPS = 724
uc.X86_INS_VAESDECLAST = 725
uc.X86_INS_VAESDEC = 726
uc.X86_INS_VAESENCLAST = 727
uc.X86_INS_VAESENC = 728
uc.X86_INS_VAESIMC = 729
uc.X86_INS_VAESKEYGENASSIST = 730
uc.X86_INS_VALIGND = 731
uc.X86_INS_VALIGNQ = 732
uc.X86_INS_VANDNPD = 733
uc.X86_INS_VANDNPS = 734
uc.X86_INS_VANDPD = 735
uc.X86_INS_VANDPS = 736
uc.X86_INS_VBLENDMPD = 737
uc.X86_INS_VBLENDMPS = 738
uc.X86_INS_VBLENDPD = 739
uc.X86_INS_VBLENDPS = 740
uc.X86_INS_VBLENDVPD = 741
uc.X86_INS_VBLENDVPS = 742
uc.X86_INS_VBROADCASTF128 = 743
uc.X86_INS_VBROADCASTI32X4 = 744
uc.X86_INS_VBROADCASTI64X4 = 745
uc.X86_INS_VBROADCASTSD = 746
uc.X86_INS_VBROADCASTSS = 747
uc.X86_INS_VCMPPD = 748
uc.X86_INS_VCMPPS = 749
uc.X86_INS_VCMPSD = 750
uc.X86_INS_VCMPSS = 751
uc.X86_INS_VCOMPRESSPD = 752
uc.X86_INS_VCOMPRESSPS = 753
uc.X86_INS_VCVTDQ2PD = 754
uc.X86_INS_VCVTDQ2PS = 755
uc.X86_INS_VCVTPD2DQX = 756
uc.X86_INS_VCVTPD2DQ = 757
uc.X86_INS_VCVTPD2PSX = 758
uc.X86_INS_VCVTPD2PS = 759
uc.X86_INS_VCVTPD2UDQ = 760
uc.X86_INS_VCVTPH2PS = 761
uc.X86_INS_VCVTPS2DQ = 762
uc.X86_INS_VCVTPS2PD = 763
uc.X86_INS_VCVTPS2PH = 764
uc.X86_INS_VCVTPS2UDQ = 765
uc.X86_INS_VCVTSD2SI = 766
uc.X86_INS_VCVTSD2USI = 767
uc.X86_INS_VCVTSS2SI = 768
uc.X86_INS_VCVTSS2USI = 769
uc.X86_INS_VCVTTPD2DQX = 770
uc.X86_INS_VCVTTPD2DQ = 771
uc.X86_INS_VCVTTPD2UDQ = 772
uc.X86_INS_VCVTTPS2DQ = 773
uc.X86_INS_VCVTTPS2UDQ = 774
uc.X86_INS_VCVTUDQ2PD = 775
uc.X86_INS_VCVTUDQ2PS = 776
uc.X86_INS_VDIVPD = 777
uc.X86_INS_VDIVPS = 778
uc.X86_INS_VDIVSD = 779
uc.X86_INS_VDIVSS = 780
uc.X86_INS_VDPPD = 781
uc.X86_INS_VDPPS = 782
uc.X86_INS_VERR = 783
uc.X86_INS_VERW = 784
uc.X86_INS_VEXP2PD = 785
uc.X86_INS_VEXP2PS = 786
uc.X86_INS_VEXPANDPD = 787
uc.X86_INS_VEXPANDPS = 788
uc.X86_INS_VEXTRACTF128 = 789
uc.X86_INS_VEXTRACTF32X4 = 790
uc.X86_INS_VEXTRACTF64X4 = 791
uc.X86_INS_VEXTRACTI128 = 792
uc.X86_INS_VEXTRACTI32X4 = 793
uc.X86_INS_VEXTRACTI64X4 = 794
uc.X86_INS_VEXTRACTPS = 795
uc.X86_INS_VFMADD132PD = 796
uc.X86_INS_VFMADD132PS = 797
uc.X86_INS_VFMADDPD = 798
uc.X86_INS_VFMADD213PD = 799
uc.X86_INS_VFMADD231PD = 800
uc.X86_INS_VFMADDPS = 801
uc.X86_INS_VFMADD213PS = 802
uc.X86_INS_VFMADD231PS = 803
uc.X86_INS_VFMADDSD = 804
uc.X86_INS_VFMADD213SD = 805
uc.X86_INS_VFMADD132SD = 806
uc.X86_INS_VFMADD231SD = 807
uc.X86_INS_VFMADDSS = 808
uc.X86_INS_VFMADD213SS = 809
uc.X86_INS_VFMADD132SS = 810
uc.X86_INS_VFMADD231SS = 811
uc.X86_INS_VFMADDSUB132PD = 812
uc.X86_INS_VFMADDSUB132PS = 813
uc.X86_INS_VFMADDSUBPD = 814
uc.X86_INS_VFMADDSUB213PD = 815
uc.X86_INS_VFMADDSUB231PD = 816
uc.X86_INS_VFMADDSUBPS = 817
uc.X86_INS_VFMADDSUB213PS = 818
uc.X86_INS_VFMADDSUB231PS = 819
uc.X86_INS_VFMSUB132PD = 820
uc.X86_INS_VFMSUB132PS = 821
uc.X86_INS_VFMSUBADD132PD = 822
uc.X86_INS_VFMSUBADD132PS = 823
uc.X86_INS_VFMSUBADDPD = 824
uc.X86_INS_VFMSUBADD213PD = 825
uc.X86_INS_VFMSUBADD231PD = 826
uc.X86_INS_VFMSUBADDPS = 827
uc.X86_INS_VFMSUBADD213PS = 828
uc.X86_INS_VFMSUBADD231PS = 829
uc.X86_INS_VFMSUBPD = 830
uc.X86_INS_VFMSUB213PD = 831
uc.X86_INS_VFMSUB231PD = 832
uc.X86_INS_VFMSUBPS = 833
uc.X86_INS_VFMSUB213PS = 834
uc.X86_INS_VFMSUB231PS = 835
uc.X86_INS_VFMSUBSD = 836
uc.X86_INS_VFMSUB213SD = 837
uc.X86_INS_VFMSUB132SD = 838
uc.X86_INS_VFMSUB231SD = 839
uc.X86_INS_VFMSUBSS = 840
uc.X86_INS_VFMSUB213SS = 841
uc.X86_INS_VFMSUB132SS = 842
uc.X86_INS_VFMSUB231SS = 843
uc.X86_INS_VFNMADD132PD = 844
uc.X86_INS_VFNMADD132PS = 845
uc.X86_INS_VFNMADDPD = 846
uc.X86_INS_VFNMADD213PD = 847
uc.X86_INS_VFNMADD231PD = 848
uc.X86_INS_VFNMADDPS = 849
uc.X86_INS_VFNMADD213PS = 850
uc.X86_INS_VFNMADD231PS = 851
uc.X86_INS_VFNMADDSD = 852
uc.X86_INS_VFNMADD213SD = 853
uc.X86_INS_VFNMADD132SD = 854
uc.X86_INS_VFNMADD231SD = 855
uc.X86_INS_VFNMADDSS = 856
uc.X86_INS_VFNMADD213SS = 857
uc.X86_INS_VFNMADD132SS = 858
uc.X86_INS_VFNMADD231SS = 859
uc.X86_INS_VFNMSUB132PD = 860
uc.X86_INS_VFNMSUB132PS = 861
uc.X86_INS_VFNMSUBPD = 862
uc.X86_INS_VFNMSUB213PD = 863
uc.X86_INS_VFNMSUB231PD = 864
uc.X86_INS_VFNMSUBPS = 865
uc.X86_INS_VFNMSUB213PS = 866
uc.X86_INS_VFNMSUB231PS = 867
uc.X86_INS_VFNMSUBSD = 868
uc.X86_INS_VFNMSUB213SD = 869
uc.X86_INS_VFNMSUB132SD = 870
uc.X86_INS_VFNMSUB231SD = 871
uc.X86_INS_VFNMSUBSS = 872
uc.X86_INS_VFNMSUB213SS = 873
uc.X86_INS_VFNMSUB132SS = 874
uc.X86_INS_VFNMSUB231SS = 875
uc.X86_INS_VFRCZPD = 876
uc.X86_INS_VFRCZPS = 877
uc.X86_INS_VFRCZSD = 878
uc.X86_INS_VFRCZSS = 879
uc.X86_INS_VORPD = 880
uc.X86_INS_VORPS = 881
uc.X86_INS_VXORPD = 882
uc.X86_INS_VXORPS = 883
uc.X86_INS_VGATHERDPD = 884
uc.X86_INS_VGATHERDPS = 885
uc.X86_INS_VGATHERPF0DPD = 886
uc.X86_INS_VGATHERPF0DPS = 887
uc.X86_INS_VGATHERPF0QPD = 888
uc.X86_INS_VGATHERPF0QPS = 889
uc.X86_INS_VGATHERPF1DPD = 890
uc.X86_INS_VGATHERPF1DPS = 891
uc.X86_INS_VGATHERPF1QPD = 892
uc.X86_INS_VGATHERPF1QPS = 893
uc.X86_INS_VGATHERQPD = 894
uc.X86_INS_VGATHERQPS = 895
uc.X86_INS_VHADDPD = 896
uc.X86_INS_VHADDPS = 897
uc.X86_INS_VHSUBPD = 898
uc.X86_INS_VHSUBPS = 899
uc.X86_INS_VINSERTF128 = 900
uc.X86_INS_VINSERTF32X4 = 901
uc.X86_INS_VINSERTF32X8 = 902
uc.X86_INS_VINSERTF64X2 = 903
uc.X86_INS_VINSERTF64X4 = 904
uc.X86_INS_VINSERTI128 = 905
uc.X86_INS_VINSERTI32X4 = 906
uc.X86_INS_VINSERTI32X8 = 907
uc.X86_INS_VINSERTI64X2 = 908
uc.X86_INS_VINSERTI64X4 = 909
uc.X86_INS_VINSERTPS = 910
uc.X86_INS_VLDDQU = 911
uc.X86_INS_VLDMXCSR = 912
uc.X86_INS_VMASKMOVDQU = 913
uc.X86_INS_VMASKMOVPD = 914
uc.X86_INS_VMASKMOVPS = 915
uc.X86_INS_VMAXPD = 916
uc.X86_INS_VMAXPS = 917
uc.X86_INS_VMAXSD = 918
uc.X86_INS_VMAXSS = 919
uc.X86_INS_VMCALL = 920
uc.X86_INS_VMCLEAR = 921
uc.X86_INS_VMFUNC = 922
uc.X86_INS_VMINPD = 923
uc.X86_INS_VMINPS = 924
uc.X86_INS_VMINSD = 925
uc.X86_INS_VMINSS = 926
uc.X86_INS_VMLAUNCH = 927
uc.X86_INS_VMLOAD = 928
uc.X86_INS_VMMCALL = 929
uc.X86_INS_VMOVQ = 930
uc.X86_INS_VMOVDDUP = 931
uc.X86_INS_VMOVD = 932
uc.X86_INS_VMOVDQA32 = 933
uc.X86_INS_VMOVDQA64 = 934
uc.X86_INS_VMOVDQA = 935
uc.X86_INS_VMOVDQU16 = 936
uc.X86_INS_VMOVDQU32 = 937
uc.X86_INS_VMOVDQU64 = 938
uc.X86_INS_VMOVDQU8 = 939
uc.X86_INS_VMOVDQU = 940
uc.X86_INS_VMOVHLPS = 941
uc.X86_INS_VMOVHPD = 942
uc.X86_INS_VMOVHPS = 943
uc.X86_INS_VMOVLHPS = 944
uc.X86_INS_VMOVLPD = 945
uc.X86_INS_VMOVLPS = 946
uc.X86_INS_VMOVMSKPD = 947
uc.X86_INS_VMOVMSKPS = 948
uc.X86_INS_VMOVNTDQA = 949
uc.X86_INS_VMOVNTDQ = 950
uc.X86_INS_VMOVNTPD = 951
uc.X86_INS_VMOVNTPS = 952
uc.X86_INS_VMOVSD = 953
uc.X86_INS_VMOVSHDUP = 954
uc.X86_INS_VMOVSLDUP = 955
uc.X86_INS_VMOVSS = 956
uc.X86_INS_VMOVUPD = 957
uc.X86_INS_VMOVUPS = 958
uc.X86_INS_VMPSADBW = 959
uc.X86_INS_VMPTRLD = 960
uc.X86_INS_VMPTRST = 961
uc.X86_INS_VMREAD = 962
uc.X86_INS_VMRESUME = 963
uc.X86_INS_VMRUN = 964
uc.X86_INS_VMSAVE = 965
uc.X86_INS_VMULPD = 966
uc.X86_INS_VMULPS = 967
uc.X86_INS_VMULSD = 968
uc.X86_INS_VMULSS = 969
uc.X86_INS_VMWRITE = 970
uc.X86_INS_VMXOFF = 971
uc.X86_INS_VMXON = 972
uc.X86_INS_VPABSB = 973
uc.X86_INS_VPABSD = 974
uc.X86_INS_VPABSQ = 975
uc.X86_INS_VPABSW = 976
uc.X86_INS_VPACKSSDW = 977
uc.X86_INS_VPACKSSWB = 978
uc.X86_INS_VPACKUSDW = 979
uc.X86_INS_VPACKUSWB = 980
uc.X86_INS_VPADDB = 981
uc.X86_INS_VPADDD = 982
uc.X86_INS_VPADDQ = 983
uc.X86_INS_VPADDSB = 984
uc.X86_INS_VPADDSW = 985
uc.X86_INS_VPADDUSB = 986
uc.X86_INS_VPADDUSW = 987
uc.X86_INS_VPADDW = 988
uc.X86_INS_VPALIGNR = 989
uc.X86_INS_VPANDD = 990
uc.X86_INS_VPANDND = 991
uc.X86_INS_VPANDNQ = 992
uc.X86_INS_VPANDN = 993
uc.X86_INS_VPANDQ = 994
uc.X86_INS_VPAND = 995
uc.X86_INS_VPAVGB = 996
uc.X86_INS_VPAVGW = 997
uc.X86_INS_VPBLENDD = 998
uc.X86_INS_VPBLENDMB = 999
uc.X86_INS_VPBLENDMD = 1000
uc.X86_INS_VPBLENDMQ = 1001
uc.X86_INS_VPBLENDMW = 1002
uc.X86_INS_VPBLENDVB = 1003
uc.X86_INS_VPBLENDW = 1004
uc.X86_INS_VPBROADCASTB = 1005
uc.X86_INS_VPBROADCASTD = 1006
uc.X86_INS_VPBROADCASTMB2Q = 1007
uc.X86_INS_VPBROADCASTMW2D = 1008
uc.X86_INS_VPBROADCASTQ = 1009
uc.X86_INS_VPBROADCASTW = 1010
uc.X86_INS_VPCLMULQDQ = 1011
uc.X86_INS_VPCMOV = 1012
uc.X86_INS_VPCMPB = 1013
uc.X86_INS_VPCMPD = 1014
uc.X86_INS_VPCMPEQB = 1015
uc.X86_INS_VPCMPEQD = 1016
uc.X86_INS_VPCMPEQQ = 1017
uc.X86_INS_VPCMPEQW = 1018
uc.X86_INS_VPCMPESTRI = 1019
uc.X86_INS_VPCMPESTRM = 1020
uc.X86_INS_VPCMPGTB = 1021
uc.X86_INS_VPCMPGTD = 1022
uc.X86_INS_VPCMPGTQ = 1023
uc.X86_INS_VPCMPGTW = 1024
uc.X86_INS_VPCMPISTRI = 1025
uc.X86_INS_VPCMPISTRM = 1026
uc.X86_INS_VPCMPQ = 1027
uc.X86_INS_VPCMPUB = 1028
uc.X86_INS_VPCMPUD = 1029
uc.X86_INS_VPCMPUQ = 1030
uc.X86_INS_VPCMPUW = 1031
uc.X86_INS_VPCMPW = 1032
uc.X86_INS_VPCOMB = 1033
uc.X86_INS_VPCOMD = 1034
uc.X86_INS_VPCOMPRESSD = 1035
uc.X86_INS_VPCOMPRESSQ = 1036
uc.X86_INS_VPCOMQ = 1037
uc.X86_INS_VPCOMUB = 1038
uc.X86_INS_VPCOMUD = 1039
uc.X86_INS_VPCOMUQ = 1040
uc.X86_INS_VPCOMUW = 1041
uc.X86_INS_VPCOMW = 1042
uc.X86_INS_VPCONFLICTD = 1043
uc.X86_INS_VPCONFLICTQ = 1044
uc.X86_INS_VPERM2F128 = 1045
uc.X86_INS_VPERM2I128 = 1046
uc.X86_INS_VPERMD = 1047
uc.X86_INS_VPERMI2D = 1048
uc.X86_INS_VPERMI2PD = 1049
uc.X86_INS_VPERMI2PS = 1050
uc.X86_INS_VPERMI2Q = 1051
uc.X86_INS_VPERMIL2PD = 1052
uc.X86_INS_VPERMIL2PS = 1053
uc.X86_INS_VPERMILPD = 1054
uc.X86_INS_VPERMILPS = 1055
uc.X86_INS_VPERMPD = 1056
uc.X86_INS_VPERMPS = 1057
uc.X86_INS_VPERMQ = 1058
uc.X86_INS_VPERMT2D = 1059
uc.X86_INS_VPERMT2PD = 1060
uc.X86_INS_VPERMT2PS = 1061
uc.X86_INS_VPERMT2Q = 1062
uc.X86_INS_VPEXPANDD = 1063
uc.X86_INS_VPEXPANDQ = 1064
uc.X86_INS_VPEXTRB = 1065
uc.X86_INS_VPEXTRD = 1066
uc.X86_INS_VPEXTRQ = 1067
uc.X86_INS_VPEXTRW = 1068
uc.X86_INS_VPGATHERDD = 1069
uc.X86_INS_VPGATHERDQ = 1070
uc.X86_INS_VPGATHERQD = 1071
uc.X86_INS_VPGATHERQQ = 1072
uc.X86_INS_VPHADDBD = 1073
uc.X86_INS_VPHADDBQ = 1074
uc.X86_INS_VPHADDBW = 1075
uc.X86_INS_VPHADDDQ = 1076
uc.X86_INS_VPHADDD = 1077
uc.X86_INS_VPHADDSW = 1078
uc.X86_INS_VPHADDUBD = 1079
uc.X86_INS_VPHADDUBQ = 1080
uc.X86_INS_VPHADDUBW = 1081
uc.X86_INS_VPHADDUDQ = 1082
uc.X86_INS_VPHADDUWD = 1083
uc.X86_INS_VPHADDUWQ = 1084
uc.X86_INS_VPHADDWD = 1085
uc.X86_INS_VPHADDWQ = 1086
uc.X86_INS_VPHADDW = 1087
uc.X86_INS_VPHMINPOSUW = 1088
uc.X86_INS_VPHSUBBW = 1089
uc.X86_INS_VPHSUBDQ = 1090
uc.X86_INS_VPHSUBD = 1091
uc.X86_INS_VPHSUBSW = 1092
uc.X86_INS_VPHSUBWD = 1093
uc.X86_INS_VPHSUBW = 1094
uc.X86_INS_VPINSRB = 1095
uc.X86_INS_VPINSRD = 1096
uc.X86_INS_VPINSRQ = 1097
uc.X86_INS_VPINSRW = 1098
uc.X86_INS_VPLZCNTD = 1099
uc.X86_INS_VPLZCNTQ = 1100
uc.X86_INS_VPMACSDD = 1101
uc.X86_INS_VPMACSDQH = 1102
uc.X86_INS_VPMACSDQL = 1103
uc.X86_INS_VPMACSSDD = 1104
uc.X86_INS_VPMACSSDQH = 1105
uc.X86_INS_VPMACSSDQL = 1106
uc.X86_INS_VPMACSSWD = 1107
uc.X86_INS_VPMACSSWW = 1108
uc.X86_INS_VPMACSWD = 1109
uc.X86_INS_VPMACSWW = 1110
uc.X86_INS_VPMADCSSWD = 1111
uc.X86_INS_VPMADCSWD = 1112
uc.X86_INS_VPMADDUBSW = 1113
uc.X86_INS_VPMADDWD = 1114
uc.X86_INS_VPMASKMOVD = 1115
uc.X86_INS_VPMASKMOVQ = 1116
uc.X86_INS_VPMAXSB = 1117
uc.X86_INS_VPMAXSD = 1118
uc.X86_INS_VPMAXSQ = 1119
uc.X86_INS_VPMAXSW = 1120
uc.X86_INS_VPMAXUB = 1121
uc.X86_INS_VPMAXUD = 1122
uc.X86_INS_VPMAXUQ = 1123
uc.X86_INS_VPMAXUW = 1124
uc.X86_INS_VPMINSB = 1125
uc.X86_INS_VPMINSD = 1126
uc.X86_INS_VPMINSQ = 1127
uc.X86_INS_VPMINSW = 1128
uc.X86_INS_VPMINUB = 1129
uc.X86_INS_VPMINUD = 1130
uc.X86_INS_VPMINUQ = 1131
uc.X86_INS_VPMINUW = 1132
uc.X86_INS_VPMOVDB = 1133
uc.X86_INS_VPMOVDW = 1134
uc.X86_INS_VPMOVM2B = 1135
uc.X86_INS_VPMOVM2D = 1136
uc.X86_INS_VPMOVM2Q = 1137
uc.X86_INS_VPMOVM2W = 1138
uc.X86_INS_VPMOVMSKB = 1139
uc.X86_INS_VPMOVQB = 1140
uc.X86_INS_VPMOVQD = 1141
uc.X86_INS_VPMOVQW = 1142
uc.X86_INS_VPMOVSDB = 1143
uc.X86_INS_VPMOVSDW = 1144
uc.X86_INS_VPMOVSQB = 1145
uc.X86_INS_VPMOVSQD = 1146
uc.X86_INS_VPMOVSQW = 1147
uc.X86_INS_VPMOVSXBD = 1148
uc.X86_INS_VPMOVSXBQ = 1149
uc.X86_INS_VPMOVSXBW = 1150
uc.X86_INS_VPMOVSXDQ = 1151
uc.X86_INS_VPMOVSXWD = 1152
uc.X86_INS_VPMOVSXWQ = 1153
uc.X86_INS_VPMOVUSDB = 1154
uc.X86_INS_VPMOVUSDW = 1155
uc.X86_INS_VPMOVUSQB = 1156
uc.X86_INS_VPMOVUSQD = 1157
uc.X86_INS_VPMOVUSQW = 1158
uc.X86_INS_VPMOVZXBD = 1159
uc.X86_INS_VPMOVZXBQ = 1160
uc.X86_INS_VPMOVZXBW = 1161
uc.X86_INS_VPMOVZXDQ = 1162
uc.X86_INS_VPMOVZXWD = 1163
uc.X86_INS_VPMOVZXWQ = 1164
uc.X86_INS_VPMULDQ = 1165
uc.X86_INS_VPMULHRSW = 1166
uc.X86_INS_VPMULHUW = 1167
uc.X86_INS_VPMULHW = 1168
uc.X86_INS_VPMULLD = 1169
uc.X86_INS_VPMULLQ = 1170
uc.X86_INS_VPMULLW = 1171
uc.X86_INS_VPMULUDQ = 1172
uc.X86_INS_VPORD = 1173
uc.X86_INS_VPORQ = 1174
uc.X86_INS_VPOR = 1175
uc.X86_INS_VPPERM = 1176
uc.X86_INS_VPROTB = 1177
uc.X86_INS_VPROTD = 1178
uc.X86_INS_VPROTQ = 1179
uc.X86_INS_VPROTW = 1180
uc.X86_INS_VPSADBW = 1181
uc.X86_INS_VPSCATTERDD = 1182
uc.X86_INS_VPSCATTERDQ = 1183
uc.X86_INS_VPSCATTERQD = 1184
uc.X86_INS_VPSCATTERQQ = 1185
uc.X86_INS_VPSHAB = 1186
uc.X86_INS_VPSHAD = 1187
uc.X86_INS_VPSHAQ = 1188
uc.X86_INS_VPSHAW = 1189
uc.X86_INS_VPSHLB = 1190
uc.X86_INS_VPSHLD = 1191
uc.X86_INS_VPSHLQ = 1192
uc.X86_INS_VPSHLW = 1193
uc.X86_INS_VPSHUFB = 1194
uc.X86_INS_VPSHUFD = 1195
uc.X86_INS_VPSHUFHW = 1196
uc.X86_INS_VPSHUFLW = 1197
uc.X86_INS_VPSIGNB = 1198
uc.X86_INS_VPSIGND = 1199
uc.X86_INS_VPSIGNW = 1200
uc.X86_INS_VPSLLDQ = 1201
uc.X86_INS_VPSLLD = 1202
uc.X86_INS_VPSLLQ = 1203
uc.X86_INS_VPSLLVD = 1204
uc.X86_INS_VPSLLVQ = 1205
uc.X86_INS_VPSLLW = 1206
uc.X86_INS_VPSRAD = 1207
uc.X86_INS_VPSRAQ = 1208
uc.X86_INS_VPSRAVD = 1209
uc.X86_INS_VPSRAVQ = 1210
uc.X86_INS_VPSRAW = 1211
uc.X86_INS_VPSRLDQ = 1212
uc.X86_INS_VPSRLD = 1213
uc.X86_INS_VPSRLQ = 1214
uc.X86_INS_VPSRLVD = 1215
uc.X86_INS_VPSRLVQ = 1216
uc.X86_INS_VPSRLW = 1217
uc.X86_INS_VPSUBB = 1218
uc.X86_INS_VPSUBD = 1219
uc.X86_INS_VPSUBQ = 1220
uc.X86_INS_VPSUBSB = 1221
uc.X86_INS_VPSUBSW = 1222
uc.X86_INS_VPSUBUSB = 1223
uc.X86_INS_VPSUBUSW = 1224
uc.X86_INS_VPSUBW = 1225
uc.X86_INS_VPTESTMD = 1226
uc.X86_INS_VPTESTMQ = 1227
uc.X86_INS_VPTESTNMD = 1228
uc.X86_INS_VPTESTNMQ = 1229
uc.X86_INS_VPTEST = 1230
uc.X86_INS_VPUNPCKHBW = 1231
uc.X86_INS_VPUNPCKHDQ = 1232
uc.X86_INS_VPUNPCKHQDQ = 1233
uc.X86_INS_VPUNPCKHWD = 1234
uc.X86_INS_VPUNPCKLBW = 1235
uc.X86_INS_VPUNPCKLDQ = 1236
uc.X86_INS_VPUNPCKLQDQ = 1237
uc.X86_INS_VPUNPCKLWD = 1238
uc.X86_INS_VPXORD = 1239
uc.X86_INS_VPXORQ = 1240
uc.X86_INS_VPXOR = 1241
uc.X86_INS_VRCP14PD = 1242
uc.X86_INS_VRCP14PS = 1243
uc.X86_INS_VRCP14SD = 1244
uc.X86_INS_VRCP14SS = 1245
uc.X86_INS_VRCP28PD = 1246
uc.X86_INS_VRCP28PS = 1247
uc.X86_INS_VRCP28SD = 1248
uc.X86_INS_VRCP28SS = 1249
uc.X86_INS_VRCPPS = 1250
uc.X86_INS_VRCPSS = 1251
uc.X86_INS_VRNDSCALEPD = 1252
uc.X86_INS_VRNDSCALEPS = 1253
uc.X86_INS_VRNDSCALESD = 1254
uc.X86_INS_VRNDSCALESS = 1255
uc.X86_INS_VROUNDPD = 1256
uc.X86_INS_VROUNDPS = 1257
uc.X86_INS_VROUNDSD = 1258
uc.X86_INS_VROUNDSS = 1259
uc.X86_INS_VRSQRT14PD = 1260
uc.X86_INS_VRSQRT14PS = 1261
uc.X86_INS_VRSQRT14SD = 1262
uc.X86_INS_VRSQRT14SS = 1263
uc.X86_INS_VRSQRT28PD = 1264
uc.X86_INS_VRSQRT28PS = 1265
uc.X86_INS_VRSQRT28SD = 1266
uc.X86_INS_VRSQRT28SS = 1267
uc.X86_INS_VRSQRTPS = 1268
uc.X86_INS_VRSQRTSS = 1269
uc.X86_INS_VSCATTERDPD = 1270
uc.X86_INS_VSCATTERDPS = 1271
uc.X86_INS_VSCATTERPF0DPD = 1272
uc.X86_INS_VSCATTERPF0DPS = 1273
uc.X86_INS_VSCATTERPF0QPD = 1274
uc.X86_INS_VSCATTERPF0QPS = 1275
uc.X86_INS_VSCATTERPF1DPD = 1276
uc.X86_INS_VSCATTERPF1DPS = 1277
uc.X86_INS_VSCATTERPF1QPD = 1278
uc.X86_INS_VSCATTERPF1QPS = 1279
uc.X86_INS_VSCATTERQPD = 1280
uc.X86_INS_VSCATTERQPS = 1281
uc.X86_INS_VSHUFPD = 1282
uc.X86_INS_VSHUFPS = 1283
uc.X86_INS_VSQRTPD = 1284
uc.X86_INS_VSQRTPS = 1285
uc.X86_INS_VSQRTSD = 1286
uc.X86_INS_VSQRTSS = 1287
uc.X86_INS_VSTMXCSR = 1288
uc.X86_INS_VSUBPD = 1289
uc.X86_INS_VSUBPS = 1290
uc.X86_INS_VSUBSD = 1291
uc.X86_INS_VSUBSS = 1292
uc.X86_INS_VTESTPD = 1293
uc.X86_INS_VTESTPS = 1294
uc.X86_INS_VUNPCKHPD = 1295
uc.X86_INS_VUNPCKHPS = 1296
uc.X86_INS_VUNPCKLPD = 1297
uc.X86_INS_VUNPCKLPS = 1298
uc.X86_INS_VZEROALL = 1299
uc.X86_INS_VZEROUPPER = 1300
uc.X86_INS_WAIT = 1301
uc.X86_INS_WBINVD = 1302
uc.X86_INS_WRFSBASE = 1303
uc.X86_INS_WRGSBASE = 1304
uc.X86_INS_WRMSR = 1305
uc.X86_INS_XABORT = 1306
uc.X86_INS_XACQUIRE = 1307
uc.X86_INS_XBEGIN = 1308
uc.X86_INS_XCHG = 1309
uc.X86_INS_XCRYPTCBC = 1310
uc.X86_INS_XCRYPTCFB = 1311
uc.X86_INS_XCRYPTCTR = 1312
uc.X86_INS_XCRYPTECB = 1313
uc.X86_INS_XCRYPTOFB = 1314
uc.X86_INS_XEND = 1315
uc.X86_INS_XGETBV = 1316
uc.X86_INS_XLATB = 1317
uc.X86_INS_XRELEASE = 1318
uc.X86_INS_XRSTOR = 1319
uc.X86_INS_XRSTOR64 = 1320
uc.X86_INS_XRSTORS = 1321
uc.X86_INS_XRSTORS64 = 1322
uc.X86_INS_XSAVE = 1323
uc.X86_INS_XSAVE64 = 1324
uc.X86_INS_XSAVEC = 1325
uc.X86_INS_XSAVEC64 = 1326
uc.X86_INS_XSAVEOPT = 1327
uc.X86_INS_XSAVEOPT64 = 1328
uc.X86_INS_XSAVES = 1329
uc.X86_INS_XSAVES64 = 1330
uc.X86_INS_XSETBV = 1331
uc.X86_INS_XSHA1 = 1332
uc.X86_INS_XSHA256 = 1333
uc.X86_INS_XSTORE = 1334
uc.X86_INS_XTEST = 1335
uc.X86_INS_FDISI8087_NOP = 1336
uc.X86_INS_FENI8087_NOP = 1337
uc.X86_INS_ENDING = 1338
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [unicorn_const.py]
uc.API_MAJOR = 1
uc.API_MINOR = 0
uc.VERSION_MAJOR = 1
uc.VERSION_MINOR = 0
uc.VERSION_EXTRA = 0
uc.SECOND_SCALE = 1000000
uc.MILISECOND_SCALE = 1000
uc.ARCH_ARM = 1
uc.ARCH_ARM64 = 2
uc.ARCH_MIPS = 3
uc.ARCH_X86 = 4
uc.ARCH_PPC = 5
uc.ARCH_SPARC = 6
uc.ARCH_M68K = 7
uc.ARCH_MAX = 8
uc.MODE_LITTLE_ENDIAN = 0
uc.MODE_BIG_ENDIAN = 1073741824
uc.MODE_ARM = 0
uc.MODE_THUMB = 16
uc.MODE_MCLASS = 32
uc.MODE_V8 = 64
uc.MODE_MICRO = 16
uc.MODE_MIPS3 = 32
uc.MODE_MIPS32R6 = 64
uc.MODE_MIPS32 = 4
uc.MODE_MIPS64 = 8
uc.MODE_16 = 2
uc.MODE_32 = 4
uc.MODE_64 = 8
uc.MODE_PPC32 = 4
uc.MODE_PPC64 = 8
uc.MODE_QPX = 16
uc.MODE_SPARC32 = 4
uc.MODE_SPARC64 = 8
uc.MODE_V9 = 16
uc.ERR_OK = 0
uc.ERR_NOMEM = 1
uc.ERR_ARCH = 2
uc.ERR_HANDLE = 3
uc.ERR_MODE = 4
uc.ERR_VERSION = 5
uc.ERR_READ_UNMAPPED = 6
uc.ERR_WRITE_UNMAPPED = 7
uc.ERR_FETCH_UNMAPPED = 8
uc.ERR_HOOK = 9
uc.ERR_INSN_INVALID = 10
uc.ERR_MAP = 11
uc.ERR_WRITE_PROT = 12
uc.ERR_READ_PROT = 13
uc.ERR_FETCH_PROT = 14
uc.ERR_ARG = 15
uc.ERR_READ_UNALIGNED = 16
uc.ERR_WRITE_UNALIGNED = 17
uc.ERR_FETCH_UNALIGNED = 18
uc.ERR_HOOK_EXIST = 19
uc.ERR_RESOURCE = 20
uc.ERR_EXCEPTION = 21
uc.MEM_READ = 16
uc.MEM_WRITE = 17
uc.MEM_FETCH = 18
uc.MEM_READ_UNMAPPED = 19
uc.MEM_WRITE_UNMAPPED = 20
uc.MEM_FETCH_UNMAPPED = 21
uc.MEM_WRITE_PROT = 22
uc.MEM_READ_PROT = 23
uc.MEM_FETCH_PROT = 24
uc.MEM_READ_AFTER = 25
uc.HOOK_INTR = 1
uc.HOOK_INSN = 2
uc.HOOK_CODE = 4
uc.HOOK_BLOCK = 8
uc.HOOK_MEM_READ_UNMAPPED = 16
uc.HOOK_MEM_WRITE_UNMAPPED = 32
uc.HOOK_MEM_FETCH_UNMAPPED = 64
uc.HOOK_MEM_READ_PROT = 128
uc.HOOK_MEM_WRITE_PROT = 256
uc.HOOK_MEM_FETCH_PROT = 512
uc.HOOK_MEM_READ = 1024
uc.HOOK_MEM_WRITE = 2048
uc.HOOK_MEM_FETCH = 4096
uc.HOOK_MEM_READ_AFTER = 8192
uc.HOOK_MEM_UNMAPPED = 112
uc.HOOK_MEM_PROT = 896
uc.HOOK_MEM_READ_INVALID = 144
uc.HOOK_MEM_WRITE_INVALID = 288
uc.HOOK_MEM_FETCH_INVALID = 576
uc.HOOK_MEM_INVALID = 1008
uc.HOOK_MEM_VALID = 7168
uc.QUERY_MODE = 1
uc.QUERY_PAGE_SIZE = 2
uc.PROT_NONE = 0
uc.PROT_READ = 1
uc.PROT_WRITE = 2
uc.PROT_EXEC = 4
uc.PROT_ALL = 7
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.py]
// ARM64 registers
uc.ARM64_REG_INVALID = 0
uc.ARM64_REG_X29 = 1
uc.ARM64_REG_X30 = 2
uc.ARM64_REG_NZCV = 3
uc.ARM64_REG_SP = 4
uc.ARM64_REG_WSP = 5
uc.ARM64_REG_WZR = 6
uc.ARM64_REG_XZR = 7
uc.ARM64_REG_B0 = 8
uc.ARM64_REG_B1 = 9
uc.ARM64_REG_B2 = 10
uc.ARM64_REG_B3 = 11
uc.ARM64_REG_B4 = 12
uc.ARM64_REG_B5 = 13
uc.ARM64_REG_B6 = 14
uc.ARM64_REG_B7 = 15
uc.ARM64_REG_B8 = 16
uc.ARM64_REG_B9 = 17
uc.ARM64_REG_B10 = 18
uc.ARM64_REG_B11 = 19
uc.ARM64_REG_B12 = 20
uc.ARM64_REG_B13 = 21
uc.ARM64_REG_B14 = 22
uc.ARM64_REG_B15 = 23
uc.ARM64_REG_B16 = 24
uc.ARM64_REG_B17 = 25
uc.ARM64_REG_B18 = 26
uc.ARM64_REG_B19 = 27
uc.ARM64_REG_B20 = 28
uc.ARM64_REG_B21 = 29
uc.ARM64_REG_B22 = 30
uc.ARM64_REG_B23 = 31
uc.ARM64_REG_B24 = 32
uc.ARM64_REG_B25 = 33
uc.ARM64_REG_B26 = 34
uc.ARM64_REG_B27 = 35
uc.ARM64_REG_B28 = 36
uc.ARM64_REG_B29 = 37
uc.ARM64_REG_B30 = 38
uc.ARM64_REG_B31 = 39
uc.ARM64_REG_D0 = 40
uc.ARM64_REG_D1 = 41
uc.ARM64_REG_D2 = 42
uc.ARM64_REG_D3 = 43
uc.ARM64_REG_D4 = 44
uc.ARM64_REG_D5 = 45
uc.ARM64_REG_D6 = 46
uc.ARM64_REG_D7 = 47
uc.ARM64_REG_D8 = 48
uc.ARM64_REG_D9 = 49
uc.ARM64_REG_D10 = 50
uc.ARM64_REG_D11 = 51
uc.ARM64_REG_D12 = 52
uc.ARM64_REG_D13 = 53
uc.ARM64_REG_D14 = 54
uc.ARM64_REG_D15 = 55
uc.ARM64_REG_D16 = 56
uc.ARM64_REG_D17 = 57
uc.ARM64_REG_D18 = 58
uc.ARM64_REG_D19 = 59
uc.ARM64_REG_D20 = 60
uc.ARM64_REG_D21 = 61
uc.ARM64_REG_D22 = 62
uc.ARM64_REG_D23 = 63
uc.ARM64_REG_D24 = 64
uc.ARM64_REG_D25 = 65
uc.ARM64_REG_D26 = 66
uc.ARM64_REG_D27 = 67
uc.ARM64_REG_D28 = 68
uc.ARM64_REG_D29 = 69
uc.ARM64_REG_D30 = 70
uc.ARM64_REG_D31 = 71
uc.ARM64_REG_H0 = 72
uc.ARM64_REG_H1 = 73
uc.ARM64_REG_H2 = 74
uc.ARM64_REG_H3 = 75
uc.ARM64_REG_H4 = 76
uc.ARM64_REG_H5 = 77
uc.ARM64_REG_H6 = 78
uc.ARM64_REG_H7 = 79
uc.ARM64_REG_H8 = 80
uc.ARM64_REG_H9 = 81
uc.ARM64_REG_H10 = 82
uc.ARM64_REG_H11 = 83
uc.ARM64_REG_H12 = 84
uc.ARM64_REG_H13 = 85
uc.ARM64_REG_H14 = 86
uc.ARM64_REG_H15 = 87
uc.ARM64_REG_H16 = 88
uc.ARM64_REG_H17 = 89
uc.ARM64_REG_H18 = 90
uc.ARM64_REG_H19 = 91
uc.ARM64_REG_H20 = 92
uc.ARM64_REG_H21 = 93
uc.ARM64_REG_H22 = 94
uc.ARM64_REG_H23 = 95
uc.ARM64_REG_H24 = 96
uc.ARM64_REG_H25 = 97
uc.ARM64_REG_H26 = 98
uc.ARM64_REG_H27 = 99
uc.ARM64_REG_H28 = 100
uc.ARM64_REG_H29 = 101
uc.ARM64_REG_H30 = 102
uc.ARM64_REG_H31 = 103
uc.ARM64_REG_Q0 = 104
uc.ARM64_REG_Q1 = 105
uc.ARM64_REG_Q2 = 106
uc.ARM64_REG_Q3 = 107
uc.ARM64_REG_Q4 = 108
uc.ARM64_REG_Q5 = 109
uc.ARM64_REG_Q6 = 110
uc.ARM64_REG_Q7 = 111
uc.ARM64_REG_Q8 = 112
uc.ARM64_REG_Q9 = 113
uc.ARM64_REG_Q10 = 114
uc.ARM64_REG_Q11 = 115
uc.ARM64_REG_Q12 = 116
uc.ARM64_REG_Q13 = 117
uc.ARM64_REG_Q14 = 118
uc.ARM64_REG_Q15 = 119
uc.ARM64_REG_Q16 = 120
uc.ARM64_REG_Q17 = 121
uc.ARM64_REG_Q18 = 122
uc.ARM64_REG_Q19 = 123
uc.ARM64_REG_Q20 = 124
uc.ARM64_REG_Q21 = 125
uc.ARM64_REG_Q22 = 126
uc.ARM64_REG_Q23 = 127
uc.ARM64_REG_Q24 = 128
uc.ARM64_REG_Q25 = 129
uc.ARM64_REG_Q26 = 130
uc.ARM64_REG_Q27 = 131
uc.ARM64_REG_Q28 = 132
uc.ARM64_REG_Q29 = 133
uc.ARM64_REG_Q30 = 134
uc.ARM64_REG_Q31 = 135
uc.ARM64_REG_S0 = 136
uc.ARM64_REG_S1 = 137
uc.ARM64_REG_S2 = 138
uc.ARM64_REG_S3 = 139
uc.ARM64_REG_S4 = 140
uc.ARM64_REG_S5 = 141
uc.ARM64_REG_S6 = 142
uc.ARM64_REG_S7 = 143
uc.ARM64_REG_S8 = 144
uc.ARM64_REG_S9 = 145
uc.ARM64_REG_S10 = 146
uc.ARM64_REG_S11 = 147
uc.ARM64_REG_S12 = 148
uc.ARM64_REG_S13 = 149
uc.ARM64_REG_S14 = 150
uc.ARM64_REG_S15 = 151
uc.ARM64_REG_S16 = 152
uc.ARM64_REG_S17 = 153
uc.ARM64_REG_S18 = 154
uc.ARM64_REG_S19 = 155
uc.ARM64_REG_S20 = 156
uc.ARM64_REG_S21 = 157
uc.ARM64_REG_S22 = 158
uc.ARM64_REG_S23 = 159
uc.ARM64_REG_S24 = 160
uc.ARM64_REG_S25 = 161
uc.ARM64_REG_S26 = 162
uc.ARM64_REG_S27 = 163
uc.ARM64_REG_S28 = 164
uc.ARM64_REG_S29 = 165
uc.ARM64_REG_S30 = 166
uc.ARM64_REG_S31 = 167
uc.ARM64_REG_W0 = 168
uc.ARM64_REG_W1 = 169
uc.ARM64_REG_W2 = 170
uc.ARM64_REG_W3 = 171
uc.ARM64_REG_W4 = 172
uc.ARM64_REG_W5 = 173
uc.ARM64_REG_W6 = 174
uc.ARM64_REG_W7 = 175
uc.ARM64_REG_W8 = 176
uc.ARM64_REG_W9 = 177
uc.ARM64_REG_W10 = 178
uc.ARM64_REG_W11 = 179
uc.ARM64_REG_W12 = 180
uc.ARM64_REG_W13 = 181
uc.ARM64_REG_W14 = 182
uc.ARM64_REG_W15 = 183
uc.ARM64_REG_W16 = 184
uc.ARM64_REG_W17 = 185
uc.ARM64_REG_W18 = 186
uc.ARM64_REG_W19 = 187
uc.ARM64_REG_W20 = 188
uc.ARM64_REG_W21 = 189
uc.ARM64_REG_W22 = 190
uc.ARM64_REG_W23 = 191
uc.ARM64_REG_W24 = 192
uc.ARM64_REG_W25 = 193
uc.ARM64_REG_W26 = 194
uc.ARM64_REG_W27 = 195
uc.ARM64_REG_W28 = 196
uc.ARM64_REG_W29 = 197
uc.ARM64_REG_W30 = 198
uc.ARM64_REG_X0 = 199
uc.ARM64_REG_X1 = 200
uc.ARM64_REG_X2 = 201
uc.ARM64_REG_X3 = 202
uc.ARM64_REG_X4 = 203
uc.ARM64_REG_X5 = 204
uc.ARM64_REG_X6 = 205
uc.ARM64_REG_X7 = 206
uc.ARM64_REG_X8 = 207
uc.ARM64_REG_X9 = 208
uc.ARM64_REG_X10 = 209
uc.ARM64_REG_X11 = 210
uc.ARM64_REG_X12 = 211
uc.ARM64_REG_X13 = 212
uc.ARM64_REG_X14 = 213
uc.ARM64_REG_X15 = 214
uc.ARM64_REG_X16 = 215
uc.ARM64_REG_X17 = 216
uc.ARM64_REG_X18 = 217
uc.ARM64_REG_X19 = 218
uc.ARM64_REG_X20 = 219
uc.ARM64_REG_X21 = 220
uc.ARM64_REG_X22 = 221
uc.ARM64_REG_X23 = 222
uc.ARM64_REG_X24 = 223
uc.ARM64_REG_X25 = 224
uc.ARM64_REG_X26 = 225
uc.ARM64_REG_X27 = 226
uc.ARM64_REG_X28 = 227
uc.ARM64_REG_V0 = 228
uc.ARM64_REG_V1 = 229
uc.ARM64_REG_V2 = 230
uc.ARM64_REG_V3 = 231
uc.ARM64_REG_V4 = 232
uc.ARM64_REG_V5 = 233
uc.ARM64_REG_V6 = 234
uc.ARM64_REG_V7 = 235
uc.ARM64_REG_V8 = 236
uc.ARM64_REG_V9 = 237
uc.ARM64_REG_V10 = 238
uc.ARM64_REG_V11 = 239
uc.ARM64_REG_V12 = 240
uc.ARM64_REG_V13 = 241
uc.ARM64_REG_V14 = 242
uc.ARM64_REG_V15 = 243
uc.ARM64_REG_V16 = 244
uc.ARM64_REG_V17 = 245
uc.ARM64_REG_V18 = 246
uc.ARM64_REG_V19 = 247
uc.ARM64_REG_V20 = 248
uc.ARM64_REG_V21 = 249
uc.ARM64_REG_V22 = 250
uc.ARM64_REG_V23 = 251
uc.ARM64_REG_V24 = 252
uc.ARM64_REG_V25 = 253
uc.ARM64_REG_V26 = 254
uc.ARM64_REG_V27 = 255
uc.ARM64_REG_V28 = 256
uc.ARM64_REG_V29 = 257
uc.ARM64_REG_V30 = 258
uc.ARM64_REG_V31 = 259
// pseudo registers
uc.ARM64_REG_PC = 260
uc.ARM64_REG_ENDING = 261
// alias registers
uc.ARM64_REG_IP1 = 215
uc.ARM64_REG_IP0 = 216
uc.ARM64_REG_FP = 1
uc.ARM64_REG_LR = 2