Created
August 9, 2016 07:50
-
-
Save petamoriken/c520eef76988bb525aaad40546c3c99a to your computer and use it in GitHub Desktop.
Wasm malloc テスト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="ja"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>malloc test</title> | |
<script> | |
fetch("malloc.wasm").then(res => res.arrayBuffer()) | |
.then(buffer => { | |
const binarray = new Uint8Array(buffer); | |
const info = { | |
env: { | |
abort, | |
sbrk: _sbrk, | |
pthread_self: _pthread_self | |
} | |
}; | |
const module = Wasm.instantiateModule(binarray, info); | |
window.modules = module.exports; | |
}); | |
/* | |
ここから下は Emscripten からの引用 | |
*/ | |
var TOTAL_STACK = 5242880; | |
var TOTAL_MEMORY = 16777216; | |
var STATICTOP = 0; | |
var DYNAMICTOP = 0; | |
var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area | |
function assert(condition, text) { | |
if (!condition) { | |
abort('Assertion failed: ' + text); | |
} | |
} | |
function abort(what) { | |
console.error(what); | |
} | |
function alignMemoryPage(x) { | |
if (x % 4096 > 0) { | |
x += (4096 - (x % 4096)); | |
} | |
return x; | |
} | |
function abortOnCannotGrowMemory() { | |
abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); | |
} | |
function enlargeMemory() { | |
abortOnCannotGrowMemory(); | |
} | |
var Runtime = { | |
dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, | |
alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; } | |
}; | |
STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); | |
STACK_MAX = STACK_BASE + TOTAL_STACK; | |
DYNAMICTOP = Runtime.alignMemory(STACK_MAX); | |
function _sbrk(bytes) { | |
// Implement a Linux-like 'memory area' for our 'process'. | |
// Changes the size of the memory area by |bytes|; returns the | |
// address of the previous top ('break') of the memory area | |
// We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP | |
var self = _sbrk; | |
if (!self.called) { | |
DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned | |
self.called = true; | |
assert(Runtime.dynamicAlloc); | |
self.alloc = Runtime.dynamicAlloc; | |
Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; | |
} | |
var ret = DYNAMICTOP; | |
if (bytes != 0) { | |
var success = self.alloc(bytes); | |
if (!success) return -1 >>> 0; // sbrk failure code | |
} | |
return ret; // Previous break location. | |
} | |
function _pthread_self() { | |
return 0; | |
} | |
</script> | |
</head> | |
<body> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(module | |
(memory 256) | |
(export "memory" memory) | |
(import $abort "env" "abort") | |
(import $sbrk "env" "sbrk" (param i32) (result i32)) | |
(import $pthread_self "env" "pthread_self" (result i32)) | |
(func $malloc (param $0 i32) (result i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i32) | |
(local $10 i32) | |
(local $11 i32) | |
(local $12 i32) | |
(local $13 i32) | |
(set_local $1 | |
(i32.store offset=1024 | |
(i32.const 0) | |
(i32.sub | |
(i32.load offset=1024 | |
(i32.const 0) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
(block $label$0 | |
(block $label$1 | |
(block $label$2 | |
(block $label$3 | |
(block $label$4 | |
(block $label$5 | |
(block $label$6 | |
(block $label$7 | |
(block $label$8 | |
(block $label$9 | |
(block $label$10 | |
(block $label$11 | |
(block $label$12 | |
(block $label$13 | |
(block $label$14 | |
(block $label$15 | |
(block $label$16 | |
(block $label$17 | |
(block $label$18 | |
(block $label$19 | |
(block $label$20 | |
(block $label$21 | |
(block $label$22 | |
(block $label$23 | |
(block $label$24 | |
(block $label$25 | |
(block $label$26 | |
(block $label$27 | |
(block $label$28 | |
(block $label$29 | |
(block $label$30 | |
(block $label$31 | |
(block $label$32 | |
(block $label$33 | |
(block $label$34 | |
(block $label$35 | |
(block $label$36 | |
(block $label$37 | |
(block $label$38 | |
(block $label$39 | |
(block $label$40 | |
(block $label$41 | |
(block $label$42 | |
(block $label$43 | |
(block $label$44 | |
(block $label$45 | |
(block $label$46 | |
(block $label$47 | |
(block $label$48 | |
(block $label$49 | |
(block $label$50 | |
(block $label$51 | |
(block $label$52 | |
(block $label$53 | |
(block $label$54 | |
(block $label$55 | |
(block $label$56 | |
(block $label$57 | |
(block $label$58 | |
(block $label$59 | |
(block $label$60 | |
(block $label$61 | |
(block $label$62 | |
(block $label$63 | |
(block $label$64 | |
(block $label$65 | |
(block $label$66 | |
(block $label$67 | |
(block $label$68 | |
(br_if $label$68 | |
(i32.gt_u | |
(get_local $0) | |
(i32.const 244) | |
) | |
) | |
(br_if $label$67 | |
(i32.eqz | |
(i32.and | |
(set_local $0 | |
(i32.shr_u | |
(set_local $9 | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
) | |
(set_local $12 | |
(i32.shr_u | |
(set_local $8 | |
(select | |
(i32.const 16) | |
(i32.and | |
(i32.add | |
(get_local $0) | |
(i32.const 11) | |
) | |
(i32.const -8) | |
) | |
(i32.lt_u | |
(get_local $0) | |
(i32.const 11) | |
) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
) | |
(br_if $label$66 | |
(i32.eq | |
(set_local $8 | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(set_local $5 | |
(i32.add | |
(i32.and | |
(i32.xor | |
(get_local $0) | |
(i32.const -1) | |
) | |
(i32.const 1) | |
) | |
(get_local $12) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.const 2296) | |
) | |
) | |
(set_local $0 | |
(i32.load offset=8 | |
(set_local $12 | |
(i32.load offset=2304 | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $0) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $0) | |
) | |
(get_local $12) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 12) | |
) | |
(get_local $8) | |
) | |
(i32.const 8) | |
) | |
(get_local $0) | |
) | |
(br $label$65) | |
) | |
(set_local $8 | |
(i32.const -1) | |
) | |
(br_if $label$58 | |
(i32.gt_u | |
(get_local $0) | |
(i32.const -65) | |
) | |
) | |
(set_local $8 | |
(i32.and | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(i32.const 11) | |
) | |
) | |
(i32.const -8) | |
) | |
) | |
(br_if $label$58 | |
(i32.eqz | |
(set_local $4 | |
(i32.load offset=2260 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $10 | |
(i32.const 0) | |
) | |
(block $label$69 | |
(br_if $label$69 | |
(i32.eqz | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(set_local $10 | |
(i32.const 31) | |
) | |
(br_if $label$69 | |
(i32.gt_u | |
(get_local $8) | |
(i32.const 16777215) | |
) | |
) | |
(set_local $10 | |
(i32.or | |
(i32.and | |
(i32.shr_u | |
(get_local $8) | |
(i32.add | |
(set_local $0 | |
(i32.add | |
(i32.sub | |
(i32.const 14) | |
(i32.or | |
(i32.or | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(get_local $0) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(get_local $0) | |
(i32.const 1048320) | |
) | |
(i32.const 16) | |
) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(i32.const 520192) | |
) | |
(i32.const 16) | |
) | |
(i32.const 4) | |
) | |
) | |
(get_local $12) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(get_local $0) | |
(get_local $5) | |
) | |
) | |
(i32.const 245760) | |
) | |
(i32.const 16) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(i32.shr_u | |
(i32.shl | |
(get_local $0) | |
(get_local $12) | |
) | |
(i32.const 15) | |
) | |
) | |
) | |
(i32.const 7) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.sub | |
(i32.const 0) | |
(get_local $8) | |
) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(br_if $label$64 | |
(i32.eqz | |
(set_local $5 | |
(i32.load offset=2560 | |
(i32.shl | |
(get_local $10) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
) | |
(set_local $11 | |
(i32.shl | |
(get_local $8) | |
(select | |
(i32.const 0) | |
(i32.sub | |
(i32.const 25) | |
(i32.shr_u | |
(get_local $10) | |
(i32.const 1) | |
) | |
) | |
(i32.eq | |
(get_local $10) | |
(i32.const 31) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(set_local $13 | |
(i32.const 0) | |
) | |
(loop $label$71 $label$70 | |
(block $label$72 | |
(br_if $label$72 | |
(i32.ge_u | |
(set_local $9 | |
(i32.sub | |
(i32.and | |
(i32.load offset=4 | |
(get_local $5) | |
) | |
(i32.const -8) | |
) | |
(get_local $8) | |
) | |
) | |
(get_local $12) | |
) | |
) | |
(set_local $12 | |
(get_local $9) | |
) | |
(set_local $13 | |
(get_local $5) | |
) | |
(br_if $label$61 | |
(i32.eqz | |
(get_local $9) | |
) | |
) | |
) | |
(set_local $0 | |
(select | |
(select | |
(get_local $0) | |
(set_local $9 | |
(i32.load | |
(i32.add | |
(get_local $5) | |
(i32.const 20) | |
) | |
) | |
) | |
(i32.eq | |
(get_local $9) | |
(set_local $5 | |
(i32.load | |
(i32.add | |
(i32.add | |
(get_local $5) | |
(i32.and | |
(i32.shr_u | |
(get_local $11) | |
(i32.const 29) | |
) | |
(i32.const 4) | |
) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
(get_local $0) | |
(get_local $9) | |
) | |
) | |
(set_local $11 | |
(i32.shl | |
(get_local $11) | |
(i32.ne | |
(get_local $5) | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$70 | |
(get_local $5) | |
) | |
(br $label$63) | |
) | |
) | |
(br_if $label$58 | |
(i32.le_u | |
(get_local $8) | |
(set_local $4 | |
(i32.load offset=2264 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$62 | |
(i32.eqz | |
(get_local $0) | |
) | |
) | |
(br_if $label$57 | |
(i32.eq | |
(set_local $5 | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(set_local $13 | |
(i32.add | |
(i32.or | |
(i32.or | |
(i32.or | |
(i32.or | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(set_local $12 | |
(i32.shr_u | |
(set_local $0 | |
(i32.add | |
(i32.and | |
(set_local $0 | |
(i32.and | |
(i32.shl | |
(get_local $0) | |
(get_local $12) | |
) | |
(i32.or | |
(set_local $0 | |
(i32.shl | |
(i32.const 2) | |
(get_local $12) | |
) | |
) | |
(i32.sub | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
) | |
) | |
(i32.sub | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
(i32.const -1) | |
) | |
) | |
(set_local $0 | |
(i32.and | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 12) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
(i32.const 5) | |
) | |
(i32.const 8) | |
) | |
) | |
(get_local $0) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.const 2) | |
) | |
(i32.const 4) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.const 1) | |
) | |
) | |
) | |
(i32.shr_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.const 2296) | |
) | |
) | |
(set_local $12 | |
(i32.load offset=8 | |
(set_local $0 | |
(i32.load offset=2304 | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $12) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $12) | |
) | |
(get_local $0) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 12) | |
) | |
(get_local $5) | |
) | |
(i32.const 8) | |
) | |
(get_local $12) | |
) | |
(br $label$56) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.and | |
(get_local $9) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $5) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $12) | |
(i32.or | |
(set_local $5 | |
(i32.shl | |
(get_local $5) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $12 | |
(i32.add | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.or | |
(i32.load offset=4 | |
(get_local $12) | |
) | |
(i32.const 1) | |
) | |
) | |
(br $label$0) | |
) | |
(set_local $13 | |
(i32.const 0) | |
) | |
) | |
(block $label$73 | |
(br_if $label$73 | |
(i32.or | |
(get_local $0) | |
(get_local $13) | |
) | |
) | |
(br_if $label$58 | |
(i32.eqz | |
(set_local $0 | |
(i32.and | |
(get_local $4) | |
(i32.or | |
(set_local $0 | |
(i32.shl | |
(i32.const 2) | |
(get_local $10) | |
) | |
) | |
(i32.sub | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.load offset=2560 | |
(i32.shl | |
(i32.add | |
(i32.or | |
(i32.or | |
(i32.or | |
(i32.or | |
(set_local $11 | |
(i32.and | |
(i32.shr_u | |
(set_local $5 | |
(i32.shr_u | |
(set_local $0 | |
(i32.add | |
(i32.and | |
(get_local $0) | |
(i32.sub | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
(i32.const -1) | |
) | |
) | |
(set_local $0 | |
(i32.and | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 12) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
(i32.const 5) | |
) | |
(i32.const 8) | |
) | |
) | |
(get_local $0) | |
) | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $5) | |
(get_local $11) | |
) | |
) | |
(i32.const 2) | |
) | |
(i32.const 4) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(get_local $5) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(get_local $5) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.const 1) | |
) | |
) | |
) | |
(i32.shr_u | |
(get_local $0) | |
(get_local $5) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(br_if $label$60 | |
(get_local $0) | |
) | |
(br $label$59) | |
) | |
(br_if $label$58 | |
(i32.eqz | |
(set_local $7 | |
(i32.load offset=2260 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.sub | |
(i32.and | |
(i32.load offset=4 | |
(set_local $13 | |
(i32.load offset=2560 | |
(i32.shl | |
(i32.add | |
(i32.or | |
(i32.or | |
(i32.or | |
(i32.or | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(set_local $12 | |
(i32.shr_u | |
(set_local $0 | |
(i32.add | |
(i32.and | |
(get_local $7) | |
(i32.sub | |
(i32.const 0) | |
(get_local $7) | |
) | |
) | |
(i32.const -1) | |
) | |
) | |
(set_local $0 | |
(i32.and | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 12) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
(i32.const 5) | |
) | |
(i32.const 8) | |
) | |
) | |
(get_local $0) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.const 2) | |
) | |
(i32.const 4) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(set_local $0 | |
(i32.shr_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.const 1) | |
) | |
) | |
) | |
(i32.shr_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(i32.const -8) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $5 | |
(get_local $13) | |
) | |
(loop $label$75 $label$74 | |
(block $label$76 | |
(br_if $label$76 | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $5) | |
) | |
) | |
) | |
(br_if $label$75 | |
(i32.eqz | |
(set_local $0 | |
(i32.load | |
(i32.add | |
(get_local $5) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
) | |
(set_local $12 | |
(select | |
(set_local $5 | |
(i32.sub | |
(i32.and | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
(i32.const -8) | |
) | |
(get_local $8) | |
) | |
) | |
(get_local $12) | |
(set_local $5 | |
(i32.lt_u | |
(get_local $5) | |
(get_local $12) | |
) | |
) | |
) | |
) | |
(set_local $13 | |
(select | |
(get_local $0) | |
(get_local $13) | |
(get_local $5) | |
) | |
) | |
(set_local $5 | |
(get_local $0) | |
) | |
(br $label$74) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $13) | |
(set_local $2 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.ge_u | |
(get_local $13) | |
(set_local $3 | |
(i32.add | |
(get_local $13) | |
(get_local $8) | |
) | |
) | |
) | |
) | |
(set_local $6 | |
(i32.load offset=24 | |
(get_local $13) | |
) | |
) | |
(br_if $label$49 | |
(i32.eq | |
(set_local $11 | |
(i32.load offset=12 | |
(get_local $13) | |
) | |
) | |
(get_local $13) | |
) | |
) | |
(br_if $label$9 | |
(i32.lt_u | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $13) | |
) | |
) | |
(get_local $2) | |
) | |
) | |
(br_if $label$9 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $0) | |
) | |
(get_local $13) | |
) | |
) | |
(br_if $label$9 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $11) | |
) | |
(get_local $13) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 12) | |
) | |
(get_local $11) | |
) | |
(i32.const 8) | |
) | |
(get_local $0) | |
) | |
(br $label$48) | |
) | |
(set_local $13 | |
(get_local $5) | |
) | |
(set_local $12 | |
(i32.const 0) | |
) | |
(set_local $0 | |
(get_local $5) | |
) | |
) | |
(loop $label$78 $label$77 | |
(set_local $12 | |
(select | |
(set_local $0 | |
(i32.sub | |
(i32.and | |
(i32.load offset=4 | |
(set_local $5 | |
(get_local $0) | |
) | |
) | |
(i32.const -8) | |
) | |
(get_local $8) | |
) | |
) | |
(get_local $12) | |
(set_local $0 | |
(i32.lt_u | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
) | |
) | |
(set_local $13 | |
(select | |
(get_local $5) | |
(get_local $13) | |
(get_local $0) | |
) | |
) | |
(br_if $label$77 | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $5) | |
) | |
) | |
) | |
(br_if $label$77 | |
(set_local $0 | |
(i32.load | |
(i32.add | |
(get_local $5) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$58 | |
(i32.eqz | |
(get_local $13) | |
) | |
) | |
(br_if $label$58 | |
(i32.ge_u | |
(get_local $12) | |
(i32.sub | |
(i32.load offset=2264 | |
(i32.const 0) | |
) | |
(get_local $8) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $13) | |
(set_local $6 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.ge_u | |
(get_local $13) | |
(set_local $7 | |
(i32.add | |
(get_local $13) | |
(get_local $8) | |
) | |
) | |
) | |
) | |
(set_local $10 | |
(i32.load offset=24 | |
(get_local $13) | |
) | |
) | |
(br_if $label$55 | |
(i32.eq | |
(set_local $11 | |
(i32.load offset=12 | |
(get_local $13) | |
) | |
) | |
(get_local $13) | |
) | |
) | |
(br_if $label$10 | |
(i32.lt_u | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $13) | |
) | |
) | |
(get_local $6) | |
) | |
) | |
(br_if $label$10 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $0) | |
) | |
(get_local $13) | |
) | |
) | |
(br_if $label$10 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $11) | |
) | |
(get_local $13) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 12) | |
) | |
(get_local $11) | |
) | |
(i32.const 8) | |
) | |
(get_local $0) | |
) | |
(br $label$54) | |
) | |
(block $label$79 | |
(block $label$80 | |
(block $label$81 | |
(block $label$82 | |
(block $label$83 | |
(block $label$84 | |
(br_if $label$84 | |
(i32.ge_u | |
(set_local $0 | |
(i32.load offset=2264 | |
(i32.const 0) | |
) | |
) | |
(get_local $8) | |
) | |
) | |
(br_if $label$83 | |
(i32.le_u | |
(set_local $13 | |
(i32.load offset=2268 | |
(i32.const 0) | |
) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $12 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.sub | |
(get_local $13) | |
(get_local $8) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(i32.add | |
(set_local $0 | |
(i32.load offset=2280 | |
(i32.const 0) | |
) | |
) | |
(get_local $8) | |
) | |
) | |
(i32.or | |
(get_local $12) | |
(i32.const 1) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $0) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(br $label$0) | |
) | |
(set_local $12 | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
(br_if $label$82 | |
(i32.lt_u | |
(set_local $5 | |
(i32.sub | |
(get_local $0) | |
(get_local $8) | |
) | |
) | |
(i32.const 16) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $13 | |
(i32.store offset=2276 | |
(i32.const 0) | |
(i32.add | |
(get_local $12) | |
(get_local $8) | |
) | |
) | |
) | |
(i32.or | |
(set_local $0 | |
(i32.store offset=2264 | |
(i32.const 0) | |
(get_local $5) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $13) | |
(get_local $0) | |
) | |
(get_local $0) | |
) | |
(i32.store offset=4 | |
(get_local $12) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(br $label$81) | |
) | |
(br_if $label$80 | |
(i32.eqz | |
(i32.load offset=2728 | |
(i32.const 0) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.load offset=2736 | |
(i32.const 0) | |
) | |
) | |
(br $label$79) | |
) | |
(i32.store offset=2276 | |
(set_local $5 | |
(i32.store offset=2264 | |
(i32.const 0) | |
(i32.const 0) | |
) | |
) | |
(get_local $5) | |
) | |
(i32.store offset=4 | |
(get_local $12) | |
(i32.or | |
(get_local $0) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $0 | |
(i32.add | |
(get_local $12) | |
(get_local $0) | |
) | |
) | |
(i32.or | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
(i32.const 1) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
) | |
(br $label$0) | |
) | |
(set_local $12 | |
(i32.const 4096) | |
) | |
(i32.store offset=2732 | |
(i32.const 0) | |
(i32.store offset=2736 | |
(i32.const 0) | |
(i32.const 4096) | |
) | |
) | |
(i32.store offset=2744 | |
(i32.const 0) | |
(i32.store offset=2740 | |
(i32.const 0) | |
(i32.const -1) | |
) | |
) | |
(i32.store offset=2728 | |
(i32.store offset=2700 | |
(set_local $0 | |
(i32.store offset=2748 | |
(i32.const 0) | |
(i32.const 0) | |
) | |
) | |
(get_local $0) | |
) | |
(i32.store offset=12 | |
(get_local $1) | |
(i32.xor | |
(i32.and | |
(i32.add | |
(get_local $1) | |
(i32.const 12) | |
) | |
(i32.const -16) | |
) | |
(i32.const 1431655768) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(br_if $label$0 | |
(i32.le_u | |
(set_local $11 | |
(i32.and | |
(set_local $9 | |
(i32.add | |
(get_local $12) | |
(set_local $4 | |
(i32.add | |
(get_local $8) | |
(i32.const 47) | |
) | |
) | |
) | |
) | |
(set_local $10 | |
(i32.sub | |
(i32.const 0) | |
(get_local $12) | |
) | |
) | |
) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(block $label$85 | |
(br_if $label$85 | |
(i32.eqz | |
(set_local $12 | |
(i32.load offset=2696 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.le_u | |
(set_local $7 | |
(i32.add | |
(set_local $5 | |
(i32.load offset=2688 | |
(i32.const 0) | |
) | |
) | |
(get_local $11) | |
) | |
) | |
(get_local $5) | |
) | |
) | |
(br_if $label$0 | |
(i32.gt_u | |
(get_local $7) | |
(get_local $12) | |
) | |
) | |
) | |
(br_if $label$23 | |
(i32.and | |
(i32.load8_u offset=2700 | |
(i32.const 0) | |
) | |
(i32.const 4) | |
) | |
) | |
(block $label$86 | |
(br_if $label$86 | |
(i32.eqz | |
(set_local $12 | |
(i32.load offset=2280 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 2704) | |
) | |
(loop $label$88 $label$87 | |
(block $label$89 | |
(br_if $label$89 | |
(i32.gt_u | |
(set_local $5 | |
(i32.load | |
(get_local $0) | |
) | |
) | |
(get_local $12) | |
) | |
) | |
(br_if $label$42 | |
(i32.gt_u | |
(i32.add | |
(get_local $5) | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
) | |
(get_local $12) | |
) | |
) | |
) | |
(br_if $label$87 | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$24 | |
(i32.eq | |
(set_local $13 | |
(call_import $sbrk | |
(i32.const 0) | |
) | |
) | |
(i32.const -1) | |
) | |
) | |
(set_local $9 | |
(get_local $11) | |
) | |
(block $label$90 | |
(br_if $label$90 | |
(i32.eqz | |
(i32.and | |
(set_local $12 | |
(i32.add | |
(set_local $0 | |
(i32.load offset=2732 | |
(i32.const 0) | |
) | |
) | |
(i32.const -1) | |
) | |
) | |
(get_local $13) | |
) | |
) | |
) | |
(set_local $9 | |
(i32.add | |
(i32.sub | |
(get_local $11) | |
(get_local $13) | |
) | |
(i32.and | |
(i32.add | |
(get_local $12) | |
(get_local $13) | |
) | |
(i32.sub | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$24 | |
(i32.le_u | |
(get_local $9) | |
(get_local $8) | |
) | |
) | |
(br_if $label$24 | |
(i32.gt_u | |
(get_local $9) | |
(i32.const 2147483646) | |
) | |
) | |
(block $label$91 | |
(br_if $label$91 | |
(i32.eqz | |
(set_local $0 | |
(i32.load offset=2696 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$24 | |
(i32.le_u | |
(set_local $5 | |
(i32.add | |
(set_local $12 | |
(i32.load offset=2688 | |
(i32.const 0) | |
) | |
) | |
(get_local $9) | |
) | |
) | |
(get_local $12) | |
) | |
) | |
(br_if $label$24 | |
(i32.gt_u | |
(get_local $5) | |
(get_local $0) | |
) | |
) | |
) | |
(br_if $label$41 | |
(i32.ne | |
(set_local $0 | |
(call_import $sbrk | |
(get_local $9) | |
) | |
) | |
(get_local $13) | |
) | |
) | |
(br $label$22) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(set_local $9 | |
(i32.and | |
(get_local $9) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $13) | |
) | |
) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $0) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(get_local $8) | |
) | |
) | |
(i32.or | |
(set_local $12 | |
(i32.sub | |
(i32.shl | |
(get_local $13) | |
(i32.const 3) | |
) | |
(get_local $8) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(set_local $8 | |
(i32.store | |
(i32.add | |
(get_local $5) | |
(get_local $12) | |
) | |
(get_local $12) | |
) | |
) | |
(br_if $label$51 | |
(i32.eqz | |
(get_local $4) | |
) | |
) | |
(set_local $12 | |
(i32.add | |
(i32.shl | |
(set_local $13 | |
(i32.shr_u | |
(get_local $4) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
(set_local $11 | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
(br_if $label$53 | |
(i32.eqz | |
(i32.and | |
(get_local $9) | |
(set_local $13 | |
(i32.shl | |
(i32.const 1) | |
(get_local $13) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$52 | |
(i32.ge_u | |
(set_local $13 | |
(i32.load offset=8 | |
(get_local $12) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br $label$31) | |
) | |
(block $label$92 | |
(br_if $label$92 | |
(set_local $0 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(get_local $13) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $11 | |
(i32.const 0) | |
) | |
(br_if $label$54 | |
(i32.eqz | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $13) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $13) | |
(i32.const 16) | |
) | |
) | |
) | |
(loop $label$94 $label$93 | |
(set_local $9 | |
(get_local $5) | |
) | |
(br_if $label$93 | |
(set_local $0 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(set_local $11 | |
(get_local $0) | |
) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $11) | |
(i32.const 16) | |
) | |
) | |
(br_if $label$93 | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $11) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $9) | |
(get_local $6) | |
) | |
) | |
(i32.store | |
(get_local $9) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$44 | |
(i32.eqz | |
(get_local $10) | |
) | |
) | |
(br_if $label$50 | |
(i32.eq | |
(get_local $13) | |
(i32.load offset=2560 | |
(set_local $0 | |
(i32.shl | |
(set_local $5 | |
(i32.load offset=28 | |
(get_local $13) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$8 | |
(i32.lt_u | |
(get_local $10) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$47 | |
(i32.eq | |
(i32.load offset=16 | |
(get_local $10) | |
) | |
(get_local $13) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $10) | |
(i32.const 20) | |
) | |
(get_local $11) | |
) | |
(br $label$46) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.or | |
(get_local $9) | |
(get_local $13) | |
) | |
) | |
(set_local $13 | |
(get_local $12) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $11 | |
(i32.store offset=12 | |
(get_local $13) | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
(get_local $11) | |
) | |
) | |
) | |
(get_local $13) | |
) | |
(i32.store offset=12 | |
(get_local $11) | |
(get_local $12) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(i32.store offset=2264 | |
(i32.const 0) | |
(get_local $8) | |
) | |
(i32.store offset=2276 | |
(i32.const 0) | |
(get_local $5) | |
) | |
(br $label$0) | |
) | |
(br_if $label$45 | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 2560) | |
) | |
(get_local $11) | |
) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(set_local $4 | |
(i32.and | |
(get_local $4) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $5) | |
) | |
) | |
) | |
) | |
(br $label$44) | |
) | |
(block $label$95 | |
(br_if $label$95 | |
(set_local $0 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(get_local $13) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $11 | |
(i32.const 0) | |
) | |
(br_if $label$48 | |
(i32.eqz | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $13) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $13) | |
(i32.const 16) | |
) | |
) | |
) | |
(loop $label$97 $label$96 | |
(set_local $10 | |
(get_local $5) | |
) | |
(br_if $label$96 | |
(set_local $0 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(set_local $11 | |
(get_local $0) | |
) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $11) | |
(i32.const 16) | |
) | |
) | |
(br_if $label$96 | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $11) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $10) | |
(get_local $2) | |
) | |
) | |
(i32.store | |
(get_local $10) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$32 | |
(i32.eqz | |
(get_local $6) | |
) | |
) | |
(br_if $label$43 | |
(i32.eq | |
(get_local $13) | |
(i32.load offset=2560 | |
(set_local $0 | |
(i32.shl | |
(set_local $5 | |
(i32.load offset=28 | |
(get_local $13) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$7 | |
(i32.lt_u | |
(get_local $6) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$35 | |
(i32.eq | |
(i32.load offset=16 | |
(get_local $6) | |
) | |
(get_local $13) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $6) | |
(i32.const 20) | |
) | |
(get_local $11) | |
) | |
(br $label$34) | |
) | |
(i32.store | |
(i32.add | |
(get_local $10) | |
(i32.const 16) | |
) | |
(get_local $11) | |
) | |
) | |
(br_if $label$44 | |
(i32.eqz | |
(get_local $11) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $11) | |
(set_local $5 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(get_local $11) | |
(get_local $10) | |
) | |
(block $label$98 | |
(br_if $label$98 | |
(i32.eqz | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $13) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $0) | |
(get_local $5) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store offset=16 | |
(get_local $11) | |
(get_local $0) | |
) | |
(get_local $11) | |
) | |
) | |
(br_if $label$44 | |
(i32.eqz | |
(set_local $0 | |
(i32.load | |
(i32.add | |
(get_local $13) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $0) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store | |
(i32.add | |
(get_local $11) | |
(i32.const 20) | |
) | |
(get_local $0) | |
) | |
(get_local $11) | |
) | |
) | |
(block $label$99 | |
(br_if $label$99 | |
(i32.gt_u | |
(get_local $12) | |
(i32.const 15) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $13) | |
(i32.or | |
(set_local $0 | |
(i32.add | |
(get_local $12) | |
(get_local $8) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $0 | |
(i32.add | |
(get_local $13) | |
(get_local $0) | |
) | |
) | |
(i32.or | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
(i32.const 1) | |
) | |
) | |
(br $label$36) | |
) | |
(i32.store offset=4 | |
(get_local $13) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $7) | |
(i32.or | |
(get_local $12) | |
(i32.const 1) | |
) | |
) | |
(block $label$100 | |
(br_if $label$100 | |
(i32.gt_u | |
(set_local $8 | |
(i32.store | |
(i32.add | |
(get_local $7) | |
(get_local $12) | |
) | |
(get_local $12) | |
) | |
) | |
(i32.const 255) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(i32.shl | |
(set_local $12 | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
(br_if $label$40 | |
(i32.eqz | |
(i32.and | |
(set_local $5 | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
) | |
(set_local $12 | |
(i32.shl | |
(i32.const 1) | |
(get_local $12) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(set_local $12 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(br $label$39) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(block $label$101 | |
(br_if $label$101 | |
(i32.eqz | |
(set_local $12 | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 31) | |
) | |
(br_if $label$101 | |
(i32.gt_u | |
(get_local $8) | |
(i32.const 16777215) | |
) | |
) | |
(set_local $0 | |
(i32.or | |
(i32.and | |
(i32.shr_u | |
(get_local $8) | |
(i32.add | |
(set_local $0 | |
(i32.add | |
(i32.sub | |
(i32.const 14) | |
(i32.or | |
(i32.or | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $12 | |
(i32.shl | |
(get_local $12) | |
(set_local $0 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(get_local $12) | |
(i32.const 1048320) | |
) | |
(i32.const 16) | |
) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(i32.const 520192) | |
) | |
(i32.const 16) | |
) | |
(i32.const 4) | |
) | |
) | |
(get_local $0) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.const 245760) | |
) | |
(i32.const 16) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(i32.shr_u | |
(i32.shl | |
(get_local $0) | |
(get_local $12) | |
) | |
(i32.const 15) | |
) | |
) | |
) | |
(i32.const 7) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
) | |
) | |
(i32.store offset=28 | |
(get_local $7) | |
(get_local $0) | |
) | |
(i32.store offset=16 | |
(get_local $7) | |
(i32.store | |
(i32.add | |
(get_local $7) | |
(i32.const 20) | |
) | |
(i32.const 0) | |
) | |
) | |
(set_local $12 | |
(i32.add | |
(i32.shl | |
(get_local $0) | |
(i32.const 2) | |
) | |
(i32.const 2560) | |
) | |
) | |
(br_if $label$38 | |
(i32.eqz | |
(i32.and | |
(get_local $4) | |
(set_local $5 | |
(i32.shl | |
(i32.const 1) | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.shl | |
(get_local $8) | |
(select | |
(i32.const 0) | |
(i32.sub | |
(i32.const 25) | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.eq | |
(get_local $0) | |
(i32.const 31) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.load | |
(get_local $12) | |
) | |
) | |
(loop $label$103 $label$102 | |
(br_if $label$37 | |
(i32.eq | |
(i32.and | |
(i32.load offset=4 | |
(set_local $12 | |
(get_local $5) | |
) | |
) | |
(i32.const -8) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $5 | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 29) | |
) | |
) | |
(set_local $0 | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$102 | |
(set_local $5 | |
(i32.load | |
(set_local $11 | |
(i32.add | |
(i32.add | |
(get_local $12) | |
(i32.and | |
(get_local $5) | |
(i32.const 4) | |
) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $11) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(set_local $0 | |
(i32.store | |
(get_local $11) | |
(get_local $7) | |
) | |
) | |
(get_local $12) | |
) | |
(i32.store offset=8 | |
(set_local $0 | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
(br $label$36) | |
) | |
(br_if $label$33 | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 2560) | |
) | |
(get_local $11) | |
) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.and | |
(get_local $7) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $5) | |
) | |
) | |
) | |
(br $label$32) | |
) | |
(br_if $label$24 | |
(i32.gt_u | |
(set_local $9 | |
(i32.and | |
(i32.sub | |
(get_local $9) | |
(get_local $13) | |
) | |
(get_local $10) | |
) | |
) | |
(i32.const 2147483646) | |
) | |
) | |
(br_if $label$26 | |
(i32.eq | |
(set_local $13 | |
(call_import $sbrk | |
(get_local $9) | |
) | |
) | |
(i32.add | |
(i32.load | |
(get_local $0) | |
) | |
(i32.load | |
(i32.add | |
(get_local $0) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(get_local $13) | |
) | |
) | |
(set_local $13 | |
(get_local $0) | |
) | |
(block $label$104 | |
(br_if $label$104 | |
(i32.le_u | |
(i32.add | |
(get_local $8) | |
(i32.const 48) | |
) | |
(get_local $9) | |
) | |
) | |
(br_if $label$104 | |
(i32.gt_u | |
(get_local $9) | |
(i32.const 2147483646) | |
) | |
) | |
(br_if $label$104 | |
(i32.eq | |
(get_local $13) | |
(i32.const -1) | |
) | |
) | |
(br_if $label$104 | |
(i32.gt_u | |
(set_local $0 | |
(i32.and | |
(i32.add | |
(i32.sub | |
(get_local $4) | |
(get_local $9) | |
) | |
(set_local $0 | |
(i32.load offset=2736 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.sub | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.const 2147483646) | |
) | |
) | |
(br_if $label$25 | |
(i32.eq | |
(call_import $sbrk | |
(get_local $0) | |
) | |
(i32.const -1) | |
) | |
) | |
(set_local $9 | |
(i32.add | |
(get_local $0) | |
(get_local $9) | |
) | |
) | |
) | |
(br_if $label$22 | |
(i32.ne | |
(get_local $13) | |
(i32.const -1) | |
) | |
) | |
(br $label$24) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.or | |
(get_local $5) | |
(get_local $12) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(set_local $12 | |
(get_local $0) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $5 | |
(i32.store offset=12 | |
(get_local $12) | |
(i32.store | |
(get_local $5) | |
(get_local $7) | |
) | |
) | |
) | |
(get_local $12) | |
) | |
(i32.store offset=12 | |
(get_local $5) | |
(get_local $0) | |
) | |
(br $label$36) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.or | |
(get_local $4) | |
(get_local $5) | |
) | |
) | |
(i32.store offset=24 | |
(set_local $0 | |
(i32.store | |
(get_local $12) | |
(get_local $7) | |
) | |
) | |
(get_local $12) | |
) | |
(i32.store offset=8 | |
(set_local $0 | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
(br $label$36) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $12) | |
) | |
) | |
(set_local $5 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $5 | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $7) | |
) | |
) | |
) | |
(get_local $0) | |
) | |
(i32.store offset=12 | |
(get_local $5) | |
(get_local $12) | |
) | |
(i32.store offset=24 | |
(get_local $5) | |
(i32.const 0) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $13) | |
(i32.const 8) | |
) | |
) | |
(br $label$0) | |
) | |
(i32.store | |
(i32.add | |
(get_local $6) | |
(i32.const 16) | |
) | |
(get_local $11) | |
) | |
) | |
(br_if $label$32 | |
(i32.eqz | |
(get_local $11) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $11) | |
(set_local $5 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(get_local $11) | |
(get_local $6) | |
) | |
(block $label$105 | |
(br_if $label$105 | |
(i32.eqz | |
(set_local $0 | |
(i32.load offset=16 | |
(get_local $13) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $0) | |
(get_local $5) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store offset=16 | |
(get_local $11) | |
(get_local $0) | |
) | |
(get_local $11) | |
) | |
) | |
(br_if $label$32 | |
(i32.eqz | |
(set_local $0 | |
(i32.load | |
(i32.add | |
(get_local $13) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.lt_u | |
(get_local $0) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store | |
(i32.add | |
(get_local $11) | |
(i32.const 20) | |
) | |
(get_local $0) | |
) | |
(get_local $11) | |
) | |
) | |
(block $label$106 | |
(br_if $label$106 | |
(i32.gt_u | |
(get_local $12) | |
(i32.const 15) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $13) | |
(i32.or | |
(set_local $0 | |
(i32.add | |
(get_local $12) | |
(get_local $8) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $0 | |
(i32.add | |
(get_local $13) | |
(get_local $0) | |
) | |
) | |
(i32.or | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
(i32.const 1) | |
) | |
) | |
(br $label$27) | |
) | |
(i32.store offset=4 | |
(get_local $13) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $3) | |
(i32.or | |
(get_local $12) | |
(i32.const 1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(get_local $12) | |
) | |
(get_local $12) | |
) | |
(br_if $label$28 | |
(i32.eqz | |
(get_local $4) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(i32.shl | |
(set_local $5 | |
(i32.shr_u | |
(get_local $4) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
(set_local $8 | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
(br_if $label$30 | |
(i32.eqz | |
(i32.and | |
(get_local $9) | |
(set_local $5 | |
(i32.shl | |
(i32.const 1) | |
(get_local $5) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$29 | |
(i32.ge_u | |
(set_local $5 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.or | |
(get_local $9) | |
(get_local $5) | |
) | |
) | |
(set_local $5 | |
(get_local $0) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $8 | |
(i32.store offset=12 | |
(get_local $5) | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
(get_local $8) | |
) | |
) | |
) | |
(get_local $5) | |
) | |
(i32.store offset=12 | |
(get_local $8) | |
(get_local $0) | |
) | |
) | |
(i32.store offset=2264 | |
(i32.const 0) | |
(get_local $12) | |
) | |
(i32.store offset=2276 | |
(i32.const 0) | |
(get_local $3) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $13) | |
(i32.const 8) | |
) | |
) | |
(br $label$0) | |
) | |
(br_if $label$22 | |
(i32.ne | |
(get_local $13) | |
(i32.const -1) | |
) | |
) | |
(br $label$24) | |
) | |
(call_import $sbrk | |
(i32.sub | |
(i32.const 0) | |
(get_local $9) | |
) | |
) | |
) | |
(i32.store offset=2700 | |
(i32.const 0) | |
(i32.or | |
(i32.load offset=2700 | |
(i32.const 0) | |
) | |
(i32.const 4) | |
) | |
) | |
) | |
(br_if $label$21 | |
(i32.gt_u | |
(get_local $11) | |
(i32.const 2147483646) | |
) | |
) | |
(br_if $label$21 | |
(i32.ge_u | |
(set_local $13 | |
(call_import $sbrk | |
(get_local $11) | |
) | |
) | |
(set_local $0 | |
(call_import $sbrk | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$21 | |
(i32.eq | |
(get_local $13) | |
(i32.const -1) | |
) | |
) | |
(br_if $label$21 | |
(i32.eq | |
(get_local $0) | |
(i32.const -1) | |
) | |
) | |
(br_if $label$21 | |
(i32.le_u | |
(set_local $9 | |
(i32.sub | |
(get_local $0) | |
(get_local $13) | |
) | |
) | |
(i32.add | |
(get_local $8) | |
(i32.const 40) | |
) | |
) | |
) | |
) | |
(block $label$107 | |
(br_if $label$107 | |
(i32.le_u | |
(set_local $0 | |
(i32.store offset=2688 | |
(i32.const 0) | |
(i32.add | |
(i32.load offset=2688 | |
(i32.const 0) | |
) | |
(get_local $9) | |
) | |
) | |
) | |
(i32.load offset=2692 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=2692 | |
(i32.const 0) | |
(get_local $0) | |
) | |
) | |
(block $label$108 | |
(block $label$109 | |
(block $label$110 | |
(block $label$111 | |
(br_if $label$111 | |
(i32.eqz | |
(set_local $12 | |
(i32.load offset=2280 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 2704) | |
) | |
(loop $label$113 $label$112 | |
(br_if $label$110 | |
(i32.eq | |
(get_local $13) | |
(i32.add | |
(set_local $5 | |
(i32.load | |
(get_local $0) | |
) | |
) | |
(set_local $11 | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$112 | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
) | |
(br $label$109) | |
) | |
) | |
(block $label$114 | |
(block $label$115 | |
(br_if $label$115 | |
(i32.eqz | |
(set_local $0 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$114 | |
(i32.ge_u | |
(get_local $13) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.store offset=2272 | |
(i32.const 0) | |
(get_local $13) | |
) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(set_local $12 | |
(i32.store offset=2704 | |
(i32.const 0) | |
(get_local $13) | |
) | |
) | |
(set_local $13 | |
(i32.store offset=2708 | |
(i32.const 0) | |
(get_local $9) | |
) | |
) | |
(i32.store offset=2292 | |
(set_local $5 | |
(i32.store offset=2716 | |
(i32.const 0) | |
(i32.const 0) | |
) | |
) | |
(i32.load offset=2728 | |
(get_local $5) | |
) | |
) | |
(i32.store offset=2288 | |
(get_local $5) | |
(i32.const -1) | |
) | |
(loop $label$117 $label$116 | |
(i32.store offset=2304 | |
(get_local $0) | |
(i32.store offset=2308 | |
(get_local $0) | |
(i32.add | |
(get_local $0) | |
(i32.const 2296) | |
) | |
) | |
) | |
(br_if $label$116 | |
(i32.ne | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(i32.const 256) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $12 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(i32.add | |
(get_local $12) | |
(set_local $0 | |
(select | |
(i32.and | |
(i32.sub | |
(i32.const -8) | |
(get_local $12) | |
) | |
(i32.const 7) | |
) | |
(i32.const 0) | |
(i32.and | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
(i32.const 7) | |
) | |
) | |
) | |
) | |
) | |
) | |
(i32.or | |
(set_local $0 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.sub | |
(i32.add | |
(get_local $13) | |
(i32.const -40) | |
) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(i32.store offset=4 | |
(i32.add | |
(get_local $12) | |
(get_local $0) | |
) | |
(i32.const 40) | |
) | |
(i32.store offset=2284 | |
(i32.const 0) | |
(i32.load offset=2744 | |
(i32.const 0) | |
) | |
) | |
(br $label$108) | |
) | |
(br_if $label$109 | |
(i32.and | |
(i32.load8_u offset=12 | |
(get_local $0) | |
) | |
(i32.const 8) | |
) | |
) | |
(br_if $label$109 | |
(i32.ge_u | |
(get_local $12) | |
(get_local $13) | |
) | |
) | |
(br_if $label$109 | |
(i32.lt_u | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 4) | |
) | |
(i32.add | |
(get_local $11) | |
(get_local $9) | |
) | |
) | |
(set_local $0 | |
(i32.load offset=2268 | |
(i32.const 0) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $12 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(i32.add | |
(get_local $12) | |
(set_local $5 | |
(select | |
(i32.and | |
(i32.sub | |
(i32.const -8) | |
(get_local $12) | |
) | |
(i32.const 7) | |
) | |
(i32.const 0) | |
(i32.and | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
(i32.const 7) | |
) | |
) | |
) | |
) | |
) | |
) | |
(i32.or | |
(set_local $0 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.add | |
(get_local $0) | |
(i32.sub | |
(get_local $9) | |
(get_local $5) | |
) | |
) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(i32.store offset=4 | |
(i32.add | |
(get_local $12) | |
(get_local $0) | |
) | |
(i32.const 40) | |
) | |
(i32.store offset=2284 | |
(i32.const 0) | |
(i32.load offset=2744 | |
(i32.const 0) | |
) | |
) | |
(br $label$108) | |
) | |
(block $label$118 | |
(br_if $label$118 | |
(i32.ge_u | |
(get_local $13) | |
(set_local $11 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $11 | |
(i32.store offset=2272 | |
(i32.const 0) | |
(get_local $13) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $13) | |
(get_local $9) | |
) | |
) | |
(set_local $0 | |
(i32.const 2704) | |
) | |
(block $label$119 | |
(block $label$120 | |
(block $label$121 | |
(block $label$122 | |
(block $label$123 | |
(block $label$124 | |
(loop $label$126 $label$125 | |
(br_if $label$126 | |
(i32.eq | |
(i32.load | |
(get_local $0) | |
) | |
(get_local $5) | |
) | |
) | |
(br_if $label$125 | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
) | |
(br $label$124) | |
) | |
(br_if $label$124 | |
(i32.and | |
(i32.load8_u offset=12 | |
(get_local $0) | |
) | |
(i32.const 8) | |
) | |
) | |
(i32.store | |
(get_local $0) | |
(get_local $13) | |
) | |
(i32.store offset=4 | |
(get_local $0) | |
(i32.add | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
(get_local $9) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $13 | |
(i32.add | |
(get_local $13) | |
(select | |
(i32.and | |
(i32.sub | |
(i32.const -8) | |
(get_local $13) | |
) | |
(i32.const 7) | |
) | |
(i32.const 0) | |
(i32.and | |
(i32.add | |
(get_local $13) | |
(i32.const 8) | |
) | |
(i32.const 7) | |
) | |
) | |
) | |
) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(set_local $10 | |
(i32.sub | |
(i32.sub | |
(set_local $0 | |
(i32.add | |
(get_local $5) | |
(select | |
(i32.and | |
(i32.sub | |
(i32.const -8) | |
(get_local $5) | |
) | |
(i32.const 7) | |
) | |
(i32.const 0) | |
(i32.and | |
(i32.add | |
(get_local $5) | |
(i32.const 8) | |
) | |
(i32.const 7) | |
) | |
) | |
) | |
) | |
(get_local $13) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $9 | |
(i32.add | |
(get_local $13) | |
(get_local $8) | |
) | |
) | |
(br_if $label$123 | |
(i32.eq | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
(br_if $label$20 | |
(i32.eq | |
(get_local $0) | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$12 | |
(i32.ne | |
(i32.and | |
(set_local $7 | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$19 | |
(i32.gt_u | |
(get_local $7) | |
(i32.const 255) | |
) | |
) | |
(set_local $5 | |
(i32.load offset=12 | |
(get_local $0) | |
) | |
) | |
(block $label$127 | |
(br_if $label$127 | |
(i32.eq | |
(set_local $12 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(set_local $8 | |
(i32.add | |
(i32.shl | |
(set_local $4 | |
(i32.shr_u | |
(get_local $7) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
) | |
) | |
(br_if $label$4 | |
(i32.lt_u | |
(get_local $12) | |
(get_local $11) | |
) | |
) | |
(br_if $label$4 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $12) | |
) | |
(get_local $0) | |
) | |
) | |
) | |
(br_if $label$18 | |
(i32.eq | |
(get_local $5) | |
(get_local $12) | |
) | |
) | |
(block $label$128 | |
(br_if $label$128 | |
(i32.eq | |
(get_local $5) | |
(get_local $8) | |
) | |
) | |
(br_if $label$4 | |
(i32.lt_u | |
(get_local $5) | |
(get_local $11) | |
) | |
) | |
(br_if $label$4 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $5) | |
) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store offset=12 | |
(get_local $12) | |
(get_local $5) | |
) | |
(i32.const 8) | |
) | |
(get_local $12) | |
) | |
(br $label$13) | |
) | |
(set_local $0 | |
(i32.const 2704) | |
) | |
(loop $label$130 $label$129 | |
(block $label$131 | |
(br_if $label$131 | |
(i32.gt_u | |
(set_local $5 | |
(i32.load | |
(get_local $0) | |
) | |
) | |
(get_local $12) | |
) | |
) | |
(br_if $label$130 | |
(i32.gt_u | |
(set_local $5 | |
(i32.add | |
(get_local $5) | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
) | |
) | |
(get_local $12) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(br $label$129) | |
) | |
(i32.store offset=4 | |
(set_local $11 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(i32.add | |
(get_local $13) | |
(set_local $0 | |
(select | |
(i32.and | |
(i32.sub | |
(i32.const -8) | |
(get_local $13) | |
) | |
(i32.const 7) | |
) | |
(i32.const 0) | |
(i32.and | |
(i32.add | |
(get_local $13) | |
(i32.const 8) | |
) | |
(i32.const 7) | |
) | |
) | |
) | |
) | |
) | |
) | |
(i32.or | |
(set_local $0 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.sub | |
(i32.add | |
(get_local $9) | |
(i32.const -40) | |
) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(i32.store offset=4 | |
(i32.add | |
(get_local $11) | |
(get_local $0) | |
) | |
(i32.const 40) | |
) | |
(i32.store offset=2284 | |
(i32.const 0) | |
(i32.load offset=2744 | |
(i32.const 0) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $11 | |
(select | |
(get_local $12) | |
(set_local $0 | |
(i32.add | |
(i32.add | |
(get_local $5) | |
(select | |
(i32.and | |
(i32.sub | |
(i32.const 39) | |
(get_local $5) | |
) | |
(i32.const 7) | |
) | |
(i32.const 0) | |
(i32.and | |
(i32.add | |
(get_local $5) | |
(i32.const -39) | |
) | |
(i32.const 7) | |
) | |
) | |
) | |
(i32.const -47) | |
) | |
) | |
(i32.lt_u | |
(get_local $0) | |
(i32.add | |
(get_local $12) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
(i32.const 27) | |
) | |
(i32.store | |
(i32.add | |
(get_local $11) | |
(i32.const 20) | |
) | |
(i32.load offset=2716 | |
(i32.const 0) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $11) | |
(i32.const 16) | |
) | |
(i32.load offset=2712 | |
(i32.const 0) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $11) | |
(i32.const 12) | |
) | |
(i32.load offset=2708 | |
(i32.const 0) | |
) | |
) | |
(i32.store offset=8 | |
(get_local $11) | |
(i32.load offset=2704 | |
(i32.const 0) | |
) | |
) | |
(i32.store offset=2704 | |
(i32.const 0) | |
(get_local $13) | |
) | |
(i32.store offset=2708 | |
(i32.const 0) | |
(get_local $9) | |
) | |
(i32.store offset=2712 | |
(i32.store offset=2716 | |
(i32.const 0) | |
(i32.const 0) | |
) | |
(i32.add | |
(get_local $11) | |
(i32.const 8) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $11) | |
(i32.const 28) | |
) | |
) | |
(loop $label$133 $label$132 | |
(i32.store | |
(get_local $0) | |
(i32.const 7) | |
) | |
(br_if $label$132 | |
(i32.lt_u | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(i32.const 4) | |
) | |
) | |
(get_local $5) | |
) | |
) | |
) | |
(br_if $label$108 | |
(i32.eq | |
(get_local $11) | |
(get_local $12) | |
) | |
) | |
(i32.store | |
(set_local $0 | |
(i32.add | |
(get_local $11) | |
(i32.const 4) | |
) | |
) | |
(i32.and | |
(i32.load | |
(get_local $0) | |
) | |
(i32.const -2) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $12) | |
(i32.or | |
(set_local $0 | |
(i32.sub | |
(get_local $11) | |
(get_local $12) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(block $label$134 | |
(br_if $label$134 | |
(i32.gt_u | |
(set_local $11 | |
(i32.store | |
(get_local $11) | |
(get_local $0) | |
) | |
) | |
(i32.const 255) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(i32.shl | |
(set_local $5 | |
(i32.shr_u | |
(get_local $11) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
(br_if $label$122 | |
(i32.eqz | |
(i32.and | |
(set_local $13 | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
) | |
(set_local $5 | |
(i32.shl | |
(i32.const 1) | |
(get_local $5) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$121 | |
(i32.ge_u | |
(set_local $5 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br $label$6) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(block $label$135 | |
(br_if $label$135 | |
(i32.eqz | |
(set_local $5 | |
(i32.shr_u | |
(get_local $11) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 31) | |
) | |
(br_if $label$135 | |
(i32.gt_u | |
(get_local $11) | |
(i32.const 16777215) | |
) | |
) | |
(set_local $0 | |
(i32.or | |
(i32.and | |
(i32.shr_u | |
(get_local $11) | |
(i32.add | |
(set_local $0 | |
(i32.add | |
(i32.sub | |
(i32.const 14) | |
(i32.or | |
(i32.or | |
(set_local $13 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $5 | |
(i32.shl | |
(get_local $5) | |
(set_local $0 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(get_local $5) | |
(i32.const 1048320) | |
) | |
(i32.const 16) | |
) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(i32.const 520192) | |
) | |
(i32.const 16) | |
) | |
(i32.const 4) | |
) | |
) | |
(get_local $0) | |
) | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(get_local $5) | |
(get_local $13) | |
) | |
) | |
(i32.const 245760) | |
) | |
(i32.const 16) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(i32.shr_u | |
(i32.shl | |
(get_local $0) | |
(get_local $5) | |
) | |
(i32.const 15) | |
) | |
) | |
) | |
(i32.const 7) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(i32.shl | |
(set_local $0 | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 28) | |
) | |
(get_local $0) | |
) | |
) | |
(i32.const 2) | |
) | |
(i32.const 2560) | |
) | |
) | |
(br_if $label$120 | |
(i32.eqz | |
(i32.and | |
(set_local $13 | |
(i32.load offset=2260 | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 16) | |
) | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 20) | |
) | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $9 | |
(i32.shl | |
(i32.const 1) | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.shl | |
(get_local $11) | |
(select | |
(i32.const 0) | |
(i32.sub | |
(i32.const 25) | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.eq | |
(get_local $0) | |
(i32.const 31) | |
) | |
) | |
) | |
) | |
(set_local $13 | |
(i32.load | |
(get_local $5) | |
) | |
) | |
(loop $label$137 $label$136 | |
(br_if $label$119 | |
(i32.eq | |
(i32.and | |
(i32.load offset=4 | |
(set_local $5 | |
(get_local $13) | |
) | |
) | |
(i32.const -8) | |
) | |
(get_local $11) | |
) | |
) | |
(set_local $13 | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 29) | |
) | |
) | |
(set_local $0 | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$136 | |
(set_local $13 | |
(i32.load | |
(set_local $9 | |
(i32.add | |
(i32.add | |
(get_local $5) | |
(i32.and | |
(get_local $13) | |
(i32.const 4) | |
) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $9) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store | |
(i32.add | |
(set_local $0 | |
(i32.store | |
(get_local $9) | |
(get_local $12) | |
) | |
) | |
(i32.const 24) | |
) | |
(get_local $5) | |
) | |
(i32.store offset=8 | |
(set_local $0 | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
(br $label$108) | |
) | |
(set_local $0 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.add | |
(i32.load offset=2268 | |
(i32.const 0) | |
) | |
(get_local $10) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(get_local $9) | |
) | |
(i32.or | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(br $label$11) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.or | |
(get_local $13) | |
(get_local $5) | |
) | |
) | |
(set_local $5 | |
(get_local $0) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $12 | |
(i32.store offset=12 | |
(get_local $5) | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
(get_local $12) | |
) | |
) | |
) | |
(get_local $5) | |
) | |
(i32.store offset=12 | |
(get_local $12) | |
(get_local $0) | |
) | |
(br $label$108) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.or | |
(get_local $13) | |
(get_local $9) | |
) | |
) | |
(i32.store | |
(i32.add | |
(set_local $0 | |
(i32.store | |
(get_local $5) | |
(get_local $12) | |
) | |
) | |
(i32.const 24) | |
) | |
(get_local $5) | |
) | |
(i32.store offset=8 | |
(set_local $0 | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
(br $label$108) | |
) | |
(br_if $label$5 | |
(i32.lt_u | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $5) | |
) | |
) | |
(set_local $13 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$5 | |
(i32.lt_u | |
(get_local $5) | |
(get_local $13) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $12 | |
(i32.store | |
(i32.add | |
(get_local $5) | |
(i32.const 8) | |
) | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
) | |
(get_local $0) | |
) | |
(i32.store offset=12 | |
(get_local $12) | |
(get_local $5) | |
) | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 24) | |
) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$21 | |
(i32.le_u | |
(set_local $0 | |
(i32.load offset=2268 | |
(i32.const 0) | |
) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $12 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.sub | |
(get_local $0) | |
(get_local $8) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(i32.add | |
(set_local $0 | |
(i32.load offset=2280 | |
(i32.const 0) | |
) | |
) | |
(get_local $8) | |
) | |
) | |
(i32.or | |
(get_local $12) | |
(i32.const 1) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $0) | |
(i32.or | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(br $label$0) | |
) | |
(i32.store | |
(call $__errno_location) | |
(i32.const 12) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(br $label$0) | |
) | |
(set_local $0 | |
(i32.store offset=2264 | |
(i32.const 0) | |
(i32.add | |
(i32.load offset=2264 | |
(i32.const 0) | |
) | |
(get_local $10) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $12 | |
(i32.store offset=2276 | |
(i32.const 0) | |
(get_local $9) | |
) | |
) | |
(i32.or | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(get_local $0) | |
) | |
(get_local $0) | |
) | |
(br $label$11) | |
) | |
(set_local $6 | |
(i32.load offset=24 | |
(get_local $0) | |
) | |
) | |
(block $label$138 | |
(block $label$139 | |
(br_if $label$139 | |
(i32.eq | |
(set_local $8 | |
(i32.load offset=12 | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
) | |
(br_if $label$3 | |
(i32.lt_u | |
(set_local $12 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(get_local $11) | |
) | |
) | |
(br_if $label$3 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $12) | |
) | |
(get_local $0) | |
) | |
) | |
(br_if $label$3 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $8) | |
) | |
(get_local $0) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 12) | |
) | |
(get_local $8) | |
) | |
(i32.const 8) | |
) | |
(get_local $12) | |
) | |
(br $label$138) | |
) | |
(block $label$140 | |
(br_if $label$140 | |
(set_local $12 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $8 | |
(i32.const 0) | |
) | |
(br_if $label$138 | |
(i32.eqz | |
(set_local $12 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
(loop $label$142 $label$141 | |
(set_local $4 | |
(get_local $5) | |
) | |
(br_if $label$141 | |
(set_local $12 | |
(i32.load | |
(set_local $5 | |
(i32.add | |
(set_local $8 | |
(get_local $12) | |
) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $8) | |
(i32.const 16) | |
) | |
) | |
(br_if $label$141 | |
(set_local $12 | |
(i32.load offset=16 | |
(get_local $8) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $4) | |
(get_local $11) | |
) | |
) | |
(i32.store | |
(get_local $4) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$13 | |
(i32.eqz | |
(get_local $6) | |
) | |
) | |
(br_if $label$17 | |
(i32.eq | |
(get_local $0) | |
(i32.load offset=2560 | |
(set_local $12 | |
(i32.shl | |
(set_local $5 | |
(i32.load offset=28 | |
(get_local $0) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$1 | |
(i32.lt_u | |
(get_local $6) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$16 | |
(i32.eq | |
(i32.load offset=16 | |
(get_local $6) | |
) | |
(get_local $0) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $6) | |
(i32.const 20) | |
) | |
(get_local $8) | |
) | |
(br $label$15) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.and | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $4) | |
) | |
) | |
) | |
(br $label$13) | |
) | |
(br_if $label$14 | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 2560) | |
) | |
(get_local $8) | |
) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.and | |
(i32.load offset=2260 | |
(i32.const 0) | |
) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $5) | |
) | |
) | |
) | |
(br $label$13) | |
) | |
(i32.store | |
(i32.add | |
(get_local $6) | |
(i32.const 16) | |
) | |
(get_local $8) | |
) | |
) | |
(br_if $label$13 | |
(i32.eqz | |
(get_local $8) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $8) | |
(set_local $5 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(get_local $8) | |
(get_local $6) | |
) | |
(block $label$143 | |
(br_if $label$143 | |
(i32.eqz | |
(set_local $12 | |
(i32.load offset=16 | |
(get_local $0) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store offset=16 | |
(get_local $8) | |
(get_local $12) | |
) | |
(get_local $8) | |
) | |
) | |
(br_if $label$13 | |
(i32.eqz | |
(set_local $12 | |
(i32.load | |
(i32.add | |
(get_local $0) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $12) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store | |
(i32.add | |
(get_local $8) | |
(i32.const 20) | |
) | |
(get_local $12) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $10 | |
(i32.add | |
(set_local $12 | |
(i32.and | |
(get_local $7) | |
(i32.const -8) | |
) | |
) | |
(get_local $10) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $0) | |
(get_local $12) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $0) | |
(i32.and | |
(i32.load offset=4 | |
(get_local $0) | |
) | |
(i32.const -2) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $9) | |
(i32.or | |
(get_local $10) | |
(i32.const 1) | |
) | |
) | |
(block $label$144 | |
(block $label$145 | |
(block $label$146 | |
(block $label$147 | |
(block $label$148 | |
(br_if $label$148 | |
(i32.gt_u | |
(set_local $8 | |
(i32.store | |
(i32.add | |
(get_local $9) | |
(get_local $10) | |
) | |
(get_local $10) | |
) | |
) | |
(i32.const 255) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(i32.shl | |
(set_local $12 | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
(br_if $label$147 | |
(i32.eqz | |
(i32.and | |
(set_local $5 | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
) | |
(set_local $12 | |
(i32.shl | |
(i32.const 1) | |
(get_local $12) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(set_local $12 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(br $label$146) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(block $label$149 | |
(br_if $label$149 | |
(i32.eqz | |
(set_local $12 | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 31) | |
) | |
(br_if $label$149 | |
(i32.gt_u | |
(get_local $8) | |
(i32.const 16777215) | |
) | |
) | |
(set_local $0 | |
(i32.or | |
(i32.and | |
(i32.shr_u | |
(get_local $8) | |
(i32.add | |
(set_local $0 | |
(i32.add | |
(i32.sub | |
(i32.const 14) | |
(i32.or | |
(i32.or | |
(set_local $5 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $12 | |
(i32.shl | |
(get_local $12) | |
(set_local $0 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(get_local $12) | |
(i32.const 1048320) | |
) | |
(i32.const 16) | |
) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(i32.const 520192) | |
) | |
(i32.const 16) | |
) | |
(i32.const 4) | |
) | |
) | |
(get_local $0) | |
) | |
(set_local $12 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $0 | |
(i32.shl | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.const 245760) | |
) | |
(i32.const 16) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(i32.shr_u | |
(i32.shl | |
(get_local $0) | |
(get_local $12) | |
) | |
(i32.const 15) | |
) | |
) | |
) | |
(i32.const 7) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
) | |
) | |
(set_local $12 | |
(i32.add | |
(i32.shl | |
(set_local $0 | |
(i32.store offset=28 | |
(get_local $9) | |
(get_local $0) | |
) | |
) | |
(i32.const 2) | |
) | |
(i32.const 2560) | |
) | |
) | |
(br_if $label$145 | |
(i32.eqz | |
(i32.and | |
(set_local $5 | |
(i32.load offset=2260 | |
(i32.store offset=16 | |
(get_local $9) | |
(i32.store | |
(i32.add | |
(get_local $9) | |
(i32.const 20) | |
) | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $11 | |
(i32.shl | |
(i32.const 1) | |
(get_local $0) | |
) | |
) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.shl | |
(get_local $8) | |
(select | |
(i32.const 0) | |
(i32.sub | |
(i32.const 25) | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.eq | |
(get_local $0) | |
(i32.const 31) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.load | |
(get_local $12) | |
) | |
) | |
(loop $label$151 $label$150 | |
(br_if $label$144 | |
(i32.eq | |
(i32.and | |
(i32.load offset=4 | |
(set_local $12 | |
(get_local $5) | |
) | |
) | |
(i32.const -8) | |
) | |
(get_local $8) | |
) | |
) | |
(set_local $5 | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 29) | |
) | |
) | |
(set_local $0 | |
(i32.shl | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$150 | |
(set_local $5 | |
(i32.load | |
(set_local $11 | |
(i32.add | |
(i32.add | |
(get_local $12) | |
(i32.and | |
(get_local $5) | |
(i32.const 4) | |
) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $11) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(set_local $0 | |
(i32.store | |
(get_local $11) | |
(get_local $9) | |
) | |
) | |
(get_local $12) | |
) | |
(i32.store offset=8 | |
(set_local $0 | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
(br $label$11) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.or | |
(get_local $5) | |
(get_local $12) | |
) | |
) | |
(set_local $5 | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
(set_local $12 | |
(get_local $0) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $5 | |
(i32.store offset=12 | |
(get_local $12) | |
(i32.store | |
(get_local $5) | |
(get_local $9) | |
) | |
) | |
) | |
(get_local $12) | |
) | |
(i32.store offset=12 | |
(get_local $5) | |
(get_local $0) | |
) | |
(br $label$11) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.or | |
(get_local $5) | |
(get_local $11) | |
) | |
) | |
(i32.store offset=24 | |
(set_local $0 | |
(i32.store | |
(get_local $12) | |
(get_local $9) | |
) | |
) | |
(get_local $12) | |
) | |
(i32.store offset=8 | |
(set_local $0 | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $0) | |
) | |
) | |
(get_local $0) | |
) | |
(br $label$11) | |
) | |
(br_if $label$2 | |
(i32.lt_u | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $12) | |
) | |
) | |
(set_local $5 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$2 | |
(i32.lt_u | |
(get_local $12) | |
(get_local $5) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $5 | |
(i32.store | |
(i32.add | |
(get_local $12) | |
(i32.const 8) | |
) | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $9) | |
) | |
) | |
) | |
(get_local $0) | |
) | |
(i32.store offset=12 | |
(get_local $5) | |
(get_local $12) | |
) | |
(i32.store offset=24 | |
(get_local $5) | |
(i32.const 0) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $13) | |
(i32.const 8) | |
) | |
) | |
(br $label$0) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(i32.store offset=1024 | |
(i32.const 0) | |
(i32.add | |
(get_local $1) | |
(i32.const 16) | |
) | |
) | |
(get_local $0) | |
) | |
(export "malloc" $malloc) | |
(func $free (param $0 i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(block $label$0 | |
(block $label$1 | |
(br_if $label$1 | |
(i32.eqz | |
(get_local $0) | |
) | |
) | |
(block $label$2 | |
(block $label$3 | |
(block $label$4 | |
(block $label$5 | |
(block $label$6 | |
(block $label$7 | |
(block $label$8 | |
(block $label$9 | |
(br_if $label$9 | |
(i32.lt_u | |
(set_local $3 | |
(i32.add | |
(get_local $0) | |
(i32.const -8) | |
) | |
) | |
(set_local $5 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$9 | |
(i32.eq | |
(set_local $6 | |
(i32.and | |
(set_local $8 | |
(i32.load | |
(i32.add | |
(get_local $0) | |
(i32.const -4) | |
) | |
) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(set_local $1 | |
(i32.add | |
(get_local $3) | |
(set_local $0 | |
(i32.and | |
(get_local $8) | |
(i32.const -8) | |
) | |
) | |
) | |
) | |
(block $label$10 | |
(br_if $label$10 | |
(i32.and | |
(get_local $8) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$1 | |
(i32.eqz | |
(get_local $6) | |
) | |
) | |
(br_if $label$9 | |
(i32.lt_u | |
(set_local $3 | |
(i32.sub | |
(get_local $3) | |
(set_local $8 | |
(i32.load | |
(get_local $3) | |
) | |
) | |
) | |
) | |
(get_local $5) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(get_local $8) | |
(get_local $0) | |
) | |
) | |
(block $label$11 | |
(block $label$12 | |
(block $label$13 | |
(block $label$14 | |
(block $label$15 | |
(block $label$16 | |
(block $label$17 | |
(br_if $label$17 | |
(i32.eq | |
(get_local $3) | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$16 | |
(i32.gt_u | |
(get_local $8) | |
(i32.const 255) | |
) | |
) | |
(set_local $7 | |
(i32.load offset=12 | |
(get_local $3) | |
) | |
) | |
(block $label$18 | |
(br_if $label$18 | |
(i32.eq | |
(set_local $6 | |
(i32.load offset=8 | |
(get_local $3) | |
) | |
) | |
(set_local $8 | |
(i32.add | |
(i32.shl | |
(set_local $4 | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
) | |
) | |
(br_if $label$8 | |
(i32.lt_u | |
(get_local $6) | |
(get_local $5) | |
) | |
) | |
(br_if $label$8 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $6) | |
) | |
(get_local $3) | |
) | |
) | |
) | |
(br_if $label$15 | |
(i32.eq | |
(get_local $7) | |
(get_local $6) | |
) | |
) | |
(block $label$19 | |
(br_if $label$19 | |
(i32.eq | |
(get_local $7) | |
(get_local $8) | |
) | |
) | |
(br_if $label$8 | |
(i32.lt_u | |
(get_local $7) | |
(get_local $5) | |
) | |
) | |
(br_if $label$8 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $7) | |
) | |
(get_local $3) | |
) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store offset=12 | |
(get_local $6) | |
(get_local $7) | |
) | |
(i32.const 8) | |
) | |
(get_local $6) | |
) | |
(br $label$10) | |
) | |
(br_if $label$10 | |
(i32.ne | |
(i32.and | |
(set_local $8 | |
(i32.load offset=4 | |
(get_local $1) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 3) | |
) | |
) | |
(i32.store offset=2264 | |
(i32.const 0) | |
(get_local $0) | |
) | |
(i32.store | |
(i32.add | |
(get_local $1) | |
(i32.const 4) | |
) | |
(i32.and | |
(get_local $8) | |
(i32.const -2) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $3) | |
(i32.or | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(get_local $0) | |
) | |
(get_local $0) | |
) | |
(return) | |
) | |
(set_local $2 | |
(i32.load offset=24 | |
(get_local $3) | |
) | |
) | |
(block $label$20 | |
(block $label$21 | |
(br_if $label$21 | |
(i32.eq | |
(set_local $7 | |
(i32.load offset=12 | |
(get_local $3) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(br_if $label$7 | |
(i32.lt_u | |
(set_local $8 | |
(i32.load offset=8 | |
(get_local $3) | |
) | |
) | |
(get_local $5) | |
) | |
) | |
(br_if $label$7 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $8) | |
) | |
(get_local $3) | |
) | |
) | |
(br_if $label$7 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $7) | |
) | |
(get_local $3) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $8) | |
(i32.const 12) | |
) | |
(get_local $7) | |
) | |
(i32.const 8) | |
) | |
(get_local $8) | |
) | |
(br $label$20) | |
) | |
(block $label$22 | |
(br_if $label$22 | |
(set_local $6 | |
(i32.load | |
(set_local $8 | |
(i32.add | |
(get_local $3) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $7 | |
(i32.const 0) | |
) | |
(br_if $label$20 | |
(i32.eqz | |
(set_local $6 | |
(i32.load | |
(set_local $8 | |
(i32.add | |
(get_local $3) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
(loop $label$24 $label$23 | |
(set_local $4 | |
(get_local $8) | |
) | |
(br_if $label$23 | |
(set_local $6 | |
(i32.load | |
(set_local $8 | |
(i32.add | |
(set_local $7 | |
(get_local $6) | |
) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $8 | |
(i32.add | |
(get_local $7) | |
(i32.const 16) | |
) | |
) | |
(br_if $label$23 | |
(set_local $6 | |
(i32.load offset=16 | |
(get_local $7) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $4) | |
(get_local $5) | |
) | |
) | |
(i32.store | |
(get_local $4) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$10 | |
(i32.eqz | |
(get_local $2) | |
) | |
) | |
(br_if $label$14 | |
(i32.eq | |
(get_local $3) | |
(i32.load offset=2560 | |
(set_local $8 | |
(i32.shl | |
(set_local $6 | |
(i32.load offset=28 | |
(get_local $3) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$4 | |
(i32.lt_u | |
(get_local $2) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$13 | |
(i32.eq | |
(i32.load offset=16 | |
(get_local $2) | |
) | |
(get_local $3) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $2) | |
(i32.const 20) | |
) | |
(get_local $7) | |
) | |
(br $label$12) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.and | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $4) | |
) | |
) | |
) | |
(br $label$10) | |
) | |
(br_if $label$11 | |
(i32.store | |
(i32.add | |
(get_local $8) | |
(i32.const 2560) | |
) | |
(get_local $7) | |
) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.and | |
(i32.load offset=2260 | |
(i32.const 0) | |
) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $6) | |
) | |
) | |
) | |
(br $label$10) | |
) | |
(i32.store | |
(i32.add | |
(get_local $2) | |
(i32.const 16) | |
) | |
(get_local $7) | |
) | |
) | |
(br_if $label$10 | |
(i32.eqz | |
(get_local $7) | |
) | |
) | |
) | |
(br_if $label$9 | |
(i32.lt_u | |
(get_local $7) | |
(set_local $6 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(get_local $7) | |
(get_local $2) | |
) | |
(block $label$25 | |
(br_if $label$25 | |
(i32.eqz | |
(set_local $8 | |
(i32.load offset=16 | |
(get_local $3) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $8) | |
(get_local $6) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store offset=16 | |
(get_local $7) | |
(get_local $8) | |
) | |
(get_local $7) | |
) | |
) | |
(br_if $label$10 | |
(i32.eqz | |
(set_local $8 | |
(i32.load | |
(i32.add | |
(get_local $3) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$9 | |
(i32.lt_u | |
(get_local $8) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store | |
(i32.add | |
(get_local $7) | |
(i32.const 20) | |
) | |
(get_local $8) | |
) | |
(get_local $7) | |
) | |
) | |
(br_if $label$9 | |
(i32.ge_u | |
(get_local $3) | |
(get_local $1) | |
) | |
) | |
(br_if $label$9 | |
(i32.eqz | |
(i32.and | |
(set_local $4 | |
(i32.load offset=4 | |
(get_local $1) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
) | |
(block $label$26 | |
(block $label$27 | |
(block $label$28 | |
(block $label$29 | |
(block $label$30 | |
(block $label$31 | |
(block $label$32 | |
(block $label$33 | |
(block $label$34 | |
(block $label$35 | |
(br_if $label$35 | |
(i32.and | |
(get_local $4) | |
(i32.const 2) | |
) | |
) | |
(br_if $label$34 | |
(i32.eq | |
(get_local $1) | |
(i32.load offset=2280 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$33 | |
(i32.eq | |
(get_local $1) | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$32 | |
(i32.gt_u | |
(get_local $4) | |
(i32.const 255) | |
) | |
) | |
(set_local $6 | |
(i32.load offset=12 | |
(get_local $1) | |
) | |
) | |
(block $label$36 | |
(br_if $label$36 | |
(i32.eq | |
(set_local $8 | |
(i32.load offset=8 | |
(get_local $1) | |
) | |
) | |
(set_local $7 | |
(i32.add | |
(i32.shl | |
(set_local $5 | |
(i32.shr_u | |
(get_local $4) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $8) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $8) | |
) | |
(get_local $1) | |
) | |
) | |
) | |
(br_if $label$31 | |
(i32.eq | |
(get_local $6) | |
(get_local $8) | |
) | |
) | |
(block $label$37 | |
(br_if $label$37 | |
(i32.eq | |
(get_local $6) | |
(get_local $7) | |
) | |
) | |
(br_if $label$6 | |
(i32.lt_u | |
(get_local $6) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$6 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $6) | |
) | |
(get_local $1) | |
) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store offset=12 | |
(get_local $8) | |
(get_local $6) | |
) | |
(i32.const 8) | |
) | |
(get_local $8) | |
) | |
(br $label$26) | |
) | |
(i32.store | |
(i32.add | |
(get_local $1) | |
(i32.const 4) | |
) | |
(i32.and | |
(get_local $4) | |
(i32.const -2) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $3) | |
(i32.or | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(get_local $0) | |
) | |
(get_local $0) | |
) | |
(br $label$2) | |
) | |
(set_local $0 | |
(i32.store offset=2268 | |
(i32.const 0) | |
(i32.add | |
(i32.load offset=2268 | |
(i32.const 0) | |
) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $3 | |
(i32.store offset=2280 | |
(i32.const 0) | |
(get_local $3) | |
) | |
) | |
(i32.or | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$1 | |
(i32.ne | |
(get_local $3) | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=2264 | |
(set_local $3 | |
(i32.store offset=2276 | |
(i32.const 0) | |
(i32.const 0) | |
) | |
) | |
(get_local $3) | |
) | |
(return) | |
) | |
(set_local $0 | |
(i32.store offset=2264 | |
(i32.const 0) | |
(i32.add | |
(i32.load offset=2264 | |
(i32.const 0) | |
) | |
(get_local $0) | |
) | |
) | |
) | |
(i32.store offset=4 | |
(set_local $3 | |
(i32.store offset=2276 | |
(i32.const 0) | |
(get_local $3) | |
) | |
) | |
(i32.or | |
(get_local $0) | |
(i32.const 1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(get_local $0) | |
) | |
(get_local $0) | |
) | |
(return) | |
) | |
(set_local $2 | |
(i32.load offset=24 | |
(get_local $1) | |
) | |
) | |
(block $label$38 | |
(block $label$39 | |
(br_if $label$39 | |
(i32.eq | |
(set_local $7 | |
(i32.load offset=12 | |
(get_local $1) | |
) | |
) | |
(get_local $1) | |
) | |
) | |
(br_if $label$5 | |
(i32.lt_u | |
(set_local $8 | |
(i32.load offset=8 | |
(get_local $1) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$5 | |
(i32.ne | |
(i32.load offset=12 | |
(get_local $8) | |
) | |
(get_local $1) | |
) | |
) | |
(br_if $label$5 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $7) | |
) | |
(get_local $1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(i32.store | |
(i32.add | |
(get_local $8) | |
(i32.const 12) | |
) | |
(get_local $7) | |
) | |
(i32.const 8) | |
) | |
(get_local $8) | |
) | |
(br $label$38) | |
) | |
(block $label$40 | |
(br_if $label$40 | |
(set_local $6 | |
(i32.load | |
(set_local $8 | |
(i32.add | |
(get_local $1) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $7 | |
(i32.const 0) | |
) | |
(br_if $label$38 | |
(i32.eqz | |
(set_local $6 | |
(i32.load | |
(set_local $8 | |
(i32.add | |
(get_local $1) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
(loop $label$42 $label$41 | |
(set_local $5 | |
(get_local $8) | |
) | |
(br_if $label$41 | |
(set_local $6 | |
(i32.load | |
(set_local $8 | |
(i32.add | |
(set_local $7 | |
(get_local $6) | |
) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(set_local $8 | |
(i32.add | |
(get_local $7) | |
(i32.const 16) | |
) | |
) | |
(br_if $label$41 | |
(set_local $6 | |
(i32.load offset=16 | |
(get_local $7) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $5) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store | |
(get_local $5) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$26 | |
(i32.eqz | |
(get_local $2) | |
) | |
) | |
(br_if $label$30 | |
(i32.eq | |
(get_local $1) | |
(i32.load offset=2560 | |
(set_local $8 | |
(i32.shl | |
(set_local $6 | |
(i32.load offset=28 | |
(get_local $1) | |
) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$3 | |
(i32.lt_u | |
(get_local $2) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$29 | |
(i32.eq | |
(i32.load offset=16 | |
(get_local $2) | |
) | |
(get_local $1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(get_local $2) | |
(i32.const 20) | |
) | |
(get_local $7) | |
) | |
(br $label$28) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.and | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $5) | |
) | |
) | |
) | |
(br $label$26) | |
) | |
(br_if $label$27 | |
(i32.store | |
(i32.add | |
(get_local $8) | |
(i32.const 2560) | |
) | |
(get_local $7) | |
) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.and | |
(i32.load offset=2260 | |
(i32.const 0) | |
) | |
(i32.rotl | |
(i32.const -2) | |
(get_local $6) | |
) | |
) | |
) | |
(br $label$26) | |
) | |
(i32.store | |
(i32.add | |
(get_local $2) | |
(i32.const 16) | |
) | |
(get_local $7) | |
) | |
) | |
(br_if $label$26 | |
(i32.eqz | |
(get_local $7) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $7) | |
(set_local $6 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(get_local $7) | |
(get_local $2) | |
) | |
(block $label$43 | |
(br_if $label$43 | |
(i32.eqz | |
(set_local $8 | |
(i32.load offset=16 | |
(get_local $1) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $8) | |
(get_local $6) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store offset=16 | |
(get_local $7) | |
(get_local $8) | |
) | |
(get_local $7) | |
) | |
) | |
(br_if $label$26 | |
(i32.eqz | |
(set_local $8 | |
(i32.load | |
(i32.add | |
(get_local $1) | |
(i32.const 20) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $8) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=24 | |
(i32.store | |
(i32.add | |
(get_local $7) | |
(i32.const 20) | |
) | |
(get_local $8) | |
) | |
(get_local $7) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $3) | |
(i32.or | |
(set_local $0 | |
(i32.add | |
(i32.and | |
(get_local $4) | |
(i32.const -8) | |
) | |
(get_local $0) | |
) | |
) | |
(i32.const 1) | |
) | |
) | |
(set_local $8 | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(get_local $0) | |
) | |
(get_local $0) | |
) | |
) | |
(br_if $label$2 | |
(i32.ne | |
(get_local $3) | |
(i32.load offset=2276 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store offset=2264 | |
(i32.const 0) | |
(get_local $8) | |
) | |
(return) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(block $label$44 | |
(block $label$45 | |
(block $label$46 | |
(block $label$47 | |
(block $label$48 | |
(block $label$49 | |
(br_if $label$49 | |
(i32.gt_u | |
(get_local $0) | |
(i32.const 255) | |
) | |
) | |
(set_local $0 | |
(i32.add | |
(i32.shl | |
(set_local $8 | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 3) | |
) | |
) | |
(i32.const 3) | |
) | |
(i32.const 2296) | |
) | |
) | |
(br_if $label$48 | |
(i32.eqz | |
(i32.and | |
(set_local $6 | |
(i32.load offset=2256 | |
(i32.const 0) | |
) | |
) | |
(set_local $8 | |
(i32.shl | |
(i32.const 1) | |
(get_local $8) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$47 | |
(i32.ge_u | |
(set_local $8 | |
(i32.load offset=8 | |
(get_local $0) | |
) | |
) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(br $label$0) | |
) | |
(set_local $8 | |
(i32.const 0) | |
) | |
(block $label$50 | |
(br_if $label$50 | |
(i32.eqz | |
(set_local $6 | |
(i32.shr_u | |
(get_local $0) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(set_local $8 | |
(i32.const 31) | |
) | |
(br_if $label$50 | |
(i32.gt_u | |
(get_local $0) | |
(i32.const 16777215) | |
) | |
) | |
(set_local $8 | |
(i32.or | |
(i32.and | |
(i32.shr_u | |
(get_local $0) | |
(i32.add | |
(set_local $8 | |
(i32.add | |
(i32.sub | |
(i32.const 14) | |
(i32.or | |
(i32.or | |
(set_local $7 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $6 | |
(i32.shl | |
(get_local $6) | |
(set_local $8 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(get_local $6) | |
(i32.const 1048320) | |
) | |
(i32.const 16) | |
) | |
(i32.const 8) | |
) | |
) | |
) | |
) | |
(i32.const 520192) | |
) | |
(i32.const 16) | |
) | |
(i32.const 4) | |
) | |
) | |
(get_local $8) | |
) | |
(set_local $6 | |
(i32.and | |
(i32.shr_u | |
(i32.add | |
(set_local $8 | |
(i32.shl | |
(get_local $6) | |
(get_local $7) | |
) | |
) | |
(i32.const 245760) | |
) | |
(i32.const 16) | |
) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(i32.shr_u | |
(i32.shl | |
(get_local $8) | |
(get_local $6) | |
) | |
(i32.const 15) | |
) | |
) | |
) | |
(i32.const 7) | |
) | |
) | |
(i32.const 1) | |
) | |
(i32.shl | |
(get_local $8) | |
(i32.const 1) | |
) | |
) | |
) | |
) | |
(set_local $6 | |
(i32.add | |
(i32.shl | |
(set_local $8 | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(i32.const 28) | |
) | |
(get_local $8) | |
) | |
) | |
(i32.const 2) | |
) | |
(i32.const 2560) | |
) | |
) | |
(br_if $label$46 | |
(i32.eqz | |
(i32.and | |
(set_local $7 | |
(i32.load offset=2260 | |
(i32.store offset=16 | |
(get_local $3) | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(i32.const 20) | |
) | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(set_local $1 | |
(i32.shl | |
(i32.const 1) | |
(get_local $8) | |
) | |
) | |
) | |
) | |
) | |
(set_local $8 | |
(i32.shl | |
(get_local $0) | |
(select | |
(i32.const 0) | |
(i32.sub | |
(i32.const 25) | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 1) | |
) | |
) | |
(i32.eq | |
(get_local $8) | |
(i32.const 31) | |
) | |
) | |
) | |
) | |
(set_local $7 | |
(i32.load | |
(get_local $6) | |
) | |
) | |
(loop $label$52 $label$51 | |
(br_if $label$45 | |
(i32.eq | |
(i32.and | |
(i32.load offset=4 | |
(set_local $6 | |
(get_local $7) | |
) | |
) | |
(i32.const -8) | |
) | |
(get_local $0) | |
) | |
) | |
(set_local $7 | |
(i32.shr_u | |
(get_local $8) | |
(i32.const 29) | |
) | |
) | |
(set_local $8 | |
(i32.shl | |
(get_local $8) | |
(i32.const 1) | |
) | |
) | |
(br_if $label$51 | |
(set_local $7 | |
(i32.load | |
(set_local $1 | |
(i32.add | |
(i32.add | |
(get_local $6) | |
(i32.and | |
(get_local $7) | |
(i32.const 4) | |
) | |
) | |
(i32.const 16) | |
) | |
) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $1) | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
(i32.store | |
(i32.add | |
(set_local $3 | |
(i32.store | |
(get_local $1) | |
(get_local $3) | |
) | |
) | |
(i32.const 24) | |
) | |
(get_local $6) | |
) | |
(i32.store offset=8 | |
(set_local $3 | |
(i32.store offset=12 | |
(get_local $3) | |
(get_local $3) | |
) | |
) | |
(get_local $3) | |
) | |
(br $label$44) | |
) | |
(i32.store offset=2256 | |
(i32.const 0) | |
(i32.or | |
(get_local $6) | |
(get_local $8) | |
) | |
) | |
(set_local $8 | |
(get_local $0) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $3 | |
(i32.store offset=12 | |
(get_local $8) | |
(i32.store | |
(i32.add | |
(get_local $0) | |
(i32.const 8) | |
) | |
(get_local $3) | |
) | |
) | |
) | |
(get_local $8) | |
) | |
(i32.store offset=12 | |
(get_local $3) | |
(get_local $0) | |
) | |
(return) | |
) | |
(i32.store offset=2260 | |
(i32.const 0) | |
(i32.or | |
(get_local $7) | |
(get_local $1) | |
) | |
) | |
(i32.store | |
(i32.add | |
(set_local $3 | |
(i32.store | |
(get_local $6) | |
(get_local $3) | |
) | |
) | |
(i32.const 24) | |
) | |
(get_local $6) | |
) | |
(i32.store offset=8 | |
(set_local $3 | |
(i32.store offset=12 | |
(get_local $3) | |
(get_local $3) | |
) | |
) | |
(get_local $3) | |
) | |
(br $label$44) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(set_local $0 | |
(i32.load offset=8 | |
(get_local $6) | |
) | |
) | |
(set_local $8 | |
(i32.load offset=2272 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(get_local $6) | |
(get_local $8) | |
) | |
) | |
(i32.store offset=8 | |
(set_local $3 | |
(i32.store | |
(i32.add | |
(get_local $6) | |
(i32.const 8) | |
) | |
(i32.store offset=12 | |
(get_local $0) | |
(get_local $3) | |
) | |
) | |
) | |
(get_local $0) | |
) | |
(i32.store offset=12 | |
(get_local $3) | |
(get_local $6) | |
) | |
(i32.store | |
(i32.add | |
(get_local $3) | |
(i32.const 24) | |
) | |
(i32.const 0) | |
) | |
) | |
(br_if $label$1 | |
(i32.store offset=2288 | |
(i32.const 0) | |
(i32.add | |
(i32.load offset=2288 | |
(i32.const 0) | |
) | |
(i32.const -1) | |
) | |
) | |
) | |
(set_local $3 | |
(i32.const 2712) | |
) | |
(loop $label$54 $label$53 | |
(set_local $3 | |
(i32.add | |
(set_local $0 | |
(i32.load | |
(get_local $3) | |
) | |
) | |
(i32.const 8) | |
) | |
) | |
(br_if $label$53 | |
(get_local $0) | |
) | |
) | |
(i32.store offset=2288 | |
(i32.const 0) | |
(i32.const -1) | |
) | |
) | |
(return) | |
) | |
(call_import $abort) | |
(unreachable) | |
) | |
(export "free" $free) | |
(func $__errno_location (result i32) | |
(local $0 i32) | |
(set_local $0 | |
(i32.const 2248) | |
) | |
(block $label$0 | |
(br_if $label$0 | |
(i32.eqz | |
(i32.load offset=2204 | |
(i32.const 0) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.load offset=64 | |
(call_import $pthread_self) | |
) | |
) | |
) | |
(get_local $0) | |
) | |
) |
最新ビルドの wast を取ってくる方法
- last known good revision から最新の Successful ビルドの番号を得る
- https://wasm-stat.us/builders/linux/builds/ の末尾にビルド番号を入れてアクセス
- "27. Compile LLVM Torture (emscripten+wasm backend)" を download する
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Wast (S-Expression) は sexpr-wasm-prototype で Wasm に変換する。
なお、malloc.wast は Waterfall ビルド 9517 の 27. Compile LLVM Torture (emscripten+wasm backend) の download からテキトーに抜き出して書きなおした。