Some Assembly Required 2
This commit is contained in:
102
some_assembly_required_2/Y8splx37qY.dcmp
Normal file
102
some_assembly_required_2/Y8splx37qY.dcmp
Normal file
@@ -0,0 +1,102 @@
|
||||
export memory memory(initial: 2, max: 0);
|
||||
|
||||
global g_a:int = 66864;
|
||||
export global input:int = 1072;
|
||||
export global dso_handle:int = 1024;
|
||||
export global data_end:int = 1328;
|
||||
export global global_base:int = 1024;
|
||||
export global heap_base:int = 66864;
|
||||
export global memory_base:int = 0;
|
||||
export global table_base:int = 1;
|
||||
|
||||
table T_a:funcref(min: 1, max: 1);
|
||||
|
||||
data d_xakgKNs989l1im8i890088k09nj9(offset: 1024) =
|
||||
"xakgK\Ns9=8:9l1?im8i<89?00>88k09=nj9kimnu\00\00";
|
||||
|
||||
export function wasm_call_ctors() {
|
||||
}
|
||||
|
||||
export function strcmp(a:int, b:int):int {
|
||||
var c:int = g_a;
|
||||
var d:int = 32;
|
||||
var e:int = c - d;
|
||||
e[6]:int = a;
|
||||
e[5]:int = b;
|
||||
var f:int = e[6]:int;
|
||||
e[4]:int = f;
|
||||
var g:int = e[5]:int;
|
||||
e[3]:int = g;
|
||||
loop L_b {
|
||||
var h:ubyte_ptr = e[4]:int;
|
||||
var i:int = 1;
|
||||
var j:int = h + i;
|
||||
e[4]:int = j;
|
||||
var k:int = h[0];
|
||||
e[11]:byte = k;
|
||||
var l:ubyte_ptr = e[3]:int;
|
||||
var m:int = 1;
|
||||
var n:int = l + m;
|
||||
e[3]:int = n;
|
||||
var o:int = l[0];
|
||||
e[10]:byte = o;
|
||||
var p:int = e[11]:ubyte;
|
||||
var q:int = 255;
|
||||
var r:int = p & q;
|
||||
if (r) goto B_c;
|
||||
var s:int = e[11]:ubyte;
|
||||
var t:int = 255;
|
||||
var u:int = s & t;
|
||||
var v:int = e[10]:ubyte;
|
||||
var w:int = 255;
|
||||
var x:int = v & w;
|
||||
var y:int = u - x;
|
||||
e[7]:int = y;
|
||||
goto B_a;
|
||||
label B_c:
|
||||
var z:int = e[11]:ubyte;
|
||||
var aa:int = 255;
|
||||
var ba:int = z & aa;
|
||||
var ca:int = e[10]:ubyte;
|
||||
var da:int = 255;
|
||||
var ea:int = ca & da;
|
||||
var fa:int = ba;
|
||||
var ga:int = ea;
|
||||
var ha:int = fa == ga;
|
||||
var ia:int = 1;
|
||||
var ja:int = ha & ia;
|
||||
if (ja) continue L_b;
|
||||
}
|
||||
var ka:int = e[11]:ubyte;
|
||||
var la:int = 255;
|
||||
var ma:int = ka & la;
|
||||
var na:int = e[10]:ubyte;
|
||||
var oa:int = 255;
|
||||
var pa:int = na & oa;
|
||||
var qa:int = ma - pa;
|
||||
e[7]:int = qa;
|
||||
label B_a:
|
||||
var ra:int = e[7]:int;
|
||||
return ra;
|
||||
}
|
||||
|
||||
export function check_flag():int {
|
||||
var b:int = 1072;
|
||||
var c:int = 1024;
|
||||
var d:int = strcmp(c, b);
|
||||
var g:int = d != 0;
|
||||
var i:int = g ^ -1;
|
||||
var k:int = i & 1;
|
||||
return k;
|
||||
}
|
||||
|
||||
function copy(a:int, b:int) {
|
||||
var c:int = g_a;
|
||||
var e:int_ptr = c - 16;
|
||||
if (eqz(a))
|
||||
goto B_a;
|
||||
a = a ^ 8;
|
||||
label B_a:
|
||||
b[1072] = a;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user