Skip to content

Instantly share code, notes, and snippets.

@xelemental
Created August 2, 2021 14:56
Show Gist options
  • Save xelemental/be3906a6e287fefdf40935e07ce7e001 to your computer and use it in GitHub Desktop.
Save xelemental/be3906a6e287fefdf40935e07ce7e001 to your computer and use it in GitHub Desktop.
(module
(type (;0;) (func (param i32 i32 i32) (result i32)))
(type (;1;) (func (param i32) (result i32)))
(type (;2;) (func (result i32)))
(type (;3;) (func (param i32)))
(type (;4;) (func))
(type (;5;) (func (param i32 i32) (result i32)))
(type (;6;) (func (param i32 i64 i32) (result i64)))
(type (;7;) (func (param i32 i64 i64 i32)))
(type (;8;) (func (param i32 i32 i32 i32 i32) (result i32)))
(type (;9;) (func (param i32 f64 i32 i32 i32 i32) (result i32)))
(type (;10;) (func (param i32 i32)))
(type (;11;) (func (param i64 i32) (result i32)))
(type (;12;) (func (param i32 i32 i32 i32) (result i32)))
(type (;13;) (func (param f64 i32) (result f64)))
(type (;14;) (func (param i64 i64) (result f64)))
(type (;15;) (func (param i32 i32 i32 i32 i32 i32 i32) (result i32)))
(type (;16;) (func (param i32 i32 i32)))
(type (;17;) (func (param i32 i32 i32 i32)))
(type (;18;) (func (param i64 i32 i32) (result i32)))
(type (;19;) (func (param i32 i32 i32 i32 i32)))
(type (;20;) (func (param f64) (result i64)))
(type (;21;) (func (param i32 i32 i64 i32) (result i64)))
(import "wasi_snapshot_preview1" "fd_write" (func (;0;) (type 12)))
(import "env" "emscripten_memcpy_big" (func (;1;) (type 0)))
(import "env" "setTempRet0" (func (;2;) (type 3)))
(func (;3;) (type 4)
call 15)
(func (;4;) (type 2) (result i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32)
global.get 0
local.set 0
i32.const 16
local.set 1
local.get 0
local.get 1
i32.sub
local.set 2
local.get 2
global.set 0
i32.const 0
local.set 3
local.get 2
local.get 3
i32.store offset=12
i32.const 1078
local.set 4
i32.const 0
local.set 5
local.get 4
local.get 5
call 44
drop
i32.const 0
local.set 6
i32.const 16
local.set 7
local.get 2
local.get 7
i32.add
local.set 8
local.get 8
global.set 0
local.get 6
return)
(func (;5;) (type 5) (param i32 i32) (result i32)
(local i32)
call 4
local.set 2
local.get 2
return)
(func (;6;) (type 2) (result i32)
i32.const 1984)
(func (;7;) (type 1) (param i32) (result i32)
block ;; label = @1
local.get 0
br_if 0 (;@1;)
i32.const 0
return
end
call 6
local.get 0
i32.store
i32.const -1)
(func (;8;) (type 0) (param i32 i32 i32) (result i32)
(local i32 i32 i32 i32 i32 i32 i32)
global.get 0
i32.const 32
i32.sub
local.tee 3
global.set 0
local.get 3
local.get 0
i32.load offset=28
local.tee 4
i32.store offset=16
local.get 0
i32.load offset=20
local.set 5
local.get 3
local.get 2
i32.store offset=28
local.get 3
local.get 1
i32.store offset=24
local.get 3
local.get 5
local.get 4
i32.sub
local.tee 1
i32.store offset=20
local.get 1
local.get 2
i32.add
local.set 6
i32.const 2
local.set 7
local.get 3
i32.const 16
i32.add
local.set 1
block ;; label = @1
block ;; label = @2
block ;; label = @3
block ;; label = @4
local.get 0
i32.load offset=60
local.get 3
i32.const 16
i32.add
i32.const 2
local.get 3
i32.const 12
i32.add
call 0
call 7
br_if 0 (;@4;)
loop ;; label = @5
local.get 6
local.get 3
i32.load offset=12
local.tee 4
i32.eq
br_if 2 (;@3;)
local.get 4
i32.const -1
i32.le_s
br_if 3 (;@2;)
local.get 1
local.get 4
local.get 1
i32.load offset=4
local.tee 8
i32.gt_u
local.tee 5
i32.const 3
i32.shl
i32.add
local.tee 9
local.get 9
i32.load
local.get 4
local.get 8
i32.const 0
local.get 5
select
i32.sub
local.tee 8
i32.add
i32.store
local.get 1
i32.const 12
i32.const 4
local.get 5
select
i32.add
local.tee 9
local.get 9
i32.load
local.get 8
i32.sub
i32.store
local.get 6
local.get 4
i32.sub
local.set 6
local.get 0
i32.load offset=60
local.get 1
i32.const 8
i32.add
local.get 1
local.get 5
select
local.tee 1
local.get 7
local.get 5
i32.sub
local.tee 7
local.get 3
i32.const 12
i32.add
call 0
call 7
i32.eqz
br_if 0 (;@5;)
end
end
local.get 6
i32.const -1
i32.ne
br_if 1 (;@2;)
end
local.get 0
local.get 0
i32.load offset=44
local.tee 1
i32.store offset=28
local.get 0
local.get 1
i32.store offset=20
local.get 0
local.get 1
local.get 0
i32.load offset=48
i32.add
i32.store offset=16
local.get 2
local.set 4
br 1 (;@1;)
end
i32.const 0
local.set 4
local.get 0
i32.const 0
i32.store offset=28
local.get 0
i64.const 0
i64.store offset=16
local.get 0
local.get 0
i32.load
i32.const 32
i32.or
i32.store
local.get 7
i32.const 2
i32.eq
br_if 0 (;@1;)
local.get 2
local.get 1
i32.load offset=4
i32.sub
local.set 4
end
local.get 3
i32.const 32
i32.add
global.set 0
local.get 4)
(func (;9;) (type 1) (param i32) (result i32)
i32.const 0)
(func (;10;) (type 6) (param i32 i64 i32) (result i64)
i64.const 0)
(func (;11;) (type 0) (param i32 i32 i32) (result i32)
(local i32 i32 i32 i64)
block ;; label = @1
local.get 2
i32.eqz
br_if 0 (;@1;)
local.get 2
local.get 0
i32.add
local.tee 3
i32.const -1
i32.add
local.get 1
i32.store8
local.get 0
local.get 1
i32.store8
local.get 2
i32.const 3
i32.lt_u
br_if 0 (;@1;)
local.get 3
i32.const -2
i32.add
local.get 1
i32.store8
local.get 0
local.get 1
i32.store8 offset=1
local.get 3
i32.const -3
i32.add
local.get 1
i32.store8
local.get 0
local.get 1
i32.store8 offset=2
local.get 2
i32.const 7
i32.lt_u
br_if 0 (;@1;)
local.get 3
i32.const -4
i32.add
local.get 1
i32.store8
local.get 0
local.get 1
i32.store8 offset=3
local.get 2
i32.const 9
i32.lt_u
br_if 0 (;@1;)
local.get 0
i32.const 0
local.get 0
i32.sub
i32.const 3
i32.and
local.tee 4
i32.add
local.tee 3
local.get 1
i32.const 255
i32.and
i32.const 16843009
i32.mul
local.tee 1
i32.store
local.get 3
local.get 2
local.get 4
i32.sub
i32.const -4
i32.and
local.tee 4
i32.add
local.tee 2
i32.const -4
i32.add
local.get 1
i32.store
local.get 4
i32.const 9
i32.lt_u
br_if 0 (;@1;)
local.get 3
local.get 1
i32.store offset=8
local.get 3
local.get 1
i32.store offset=4
local.get 2
i32.const -8
i32.add
local.get 1
i32.store
local.get 2
i32.const -12
i32.add
local.get 1
i32.store
local.get 4
i32.const 25
i32.lt_u
br_if 0 (;@1;)
local.get 3
local.get 1
i32.store offset=24
local.get 3
local.get 1
i32.store offset=20
local.get 3
local.get 1
i32.store offset=16
local.get 3
local.get 1
i32.store offset=12
local.get 2
i32.const -16
i32.add
local.get 1
i32.store
local.get 2
i32.const -20
i32.add
local.get 1
i32.store
local.get 2
i32.const -24
i32.add
local.get 1
i32.store
local.get 2
i32.const -28
i32.add
local.get 1
i32.store
local.get 4
local.get 3
i32.const 4
i32.and
i32.const 24
i32.or
local.tee 5
i32.sub
local.tee 2
i32.const 32
i32.lt_u
br_if 0 (;@1;)
local.get 1
i64.extend_i32_u
i64.const 4294967297
i64.mul
local.set 6
local.get 3
local.get 5
i32.add
local.set 1
loop ;; label = @2
local.get 1
local.get 6
i64.store offset=24
local.get 1
local.get 6
i64.store offset=16
local.get 1
local.get 6
i64.store offset=8
local.get 1
local.get 6
i64.store
local.get 1
i32.const 32
i32.add
local.set 1
local.get 2
i32.const -32
i32.add
local.tee 2
i32.const 31
i32.gt_u
br_if 0 (;@2;)
end
end
local.get 0)
(func (;12;) (type 1) (param i32) (result i32)
local.get 0
i32.const -48
i32.add
i32.const 10
i32.lt_u)
(func (;13;) (type 0) (param i32 i32 i32) (result i32)
(local i32 i32)
local.get 2
i32.const 0
i32.ne
local.set 3
block ;; label = @1
block ;; label = @2
block ;; label = @3
local.get 0
i32.const 3
i32.and
i32.eqz
br_if 0 (;@3;)
local.get 2
i32.eqz
br_if 0 (;@3;)
local.get 1
i32.const 255
i32.and
local.set 4
loop ;; label = @4
local.get 0
i32.load8_u
local.get 4
i32.eq
br_if 2 (;@2;)
local.get 2
i32.const -1
i32.add
local.tee 2
i32.const 0
i32.ne
local.set 3
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 3
i32.and
i32.eqz
br_if 1 (;@3;)
local.get 2
br_if 0 (;@4;)
end
end
local.get 3
i32.eqz
br_if 1 (;@1;)
end
block ;; label = @2
local.get 0
i32.load8_u
local.get 1
i32.const 255
i32.and
i32.eq
br_if 0 (;@2;)
local.get 2
i32.const 4
i32.lt_u
br_if 0 (;@2;)
local.get 1
i32.const 255
i32.and
i32.const 16843009
i32.mul
local.set 4
loop ;; label = @3
local.get 0
i32.load
local.get 4
i32.xor
local.tee 3
i32.const -1
i32.xor
local.get 3
i32.const -16843009
i32.add
i32.and
i32.const -2139062144
i32.and
br_if 1 (;@2;)
local.get 0
i32.const 4
i32.add
local.set 0
local.get 2
i32.const -4
i32.add
local.tee 2
i32.const 3
i32.gt_u
br_if 0 (;@3;)
end
end
local.get 2
i32.eqz
br_if 0 (;@1;)
local.get 1
i32.const 255
i32.and
local.set 3
loop ;; label = @2
block ;; label = @3
local.get 0
i32.load8_u
local.get 3
i32.ne
br_if 0 (;@3;)
local.get 0
return
end
local.get 0
i32.const 1
i32.add
local.set 0
local.get 2
i32.const -1
i32.add
local.tee 2
br_if 0 (;@2;)
end
end
i32.const 0)
(func (;14;) (type 0) (param i32 i32 i32) (result i32)
(local i32 i32 i32)
block ;; label = @1
local.get 2
i32.const 512
i32.lt_u
br_if 0 (;@1;)
local.get 0
local.get 1
local.get 2
call 1
drop
local.get 0
return
end
local.get 0
local.get 2
i32.add
local.set 3
block ;; label = @1
block ;; label = @2
local.get 1
local.get 0
i32.xor
i32.const 3
i32.and
br_if 0 (;@2;)
block ;; label = @3
block ;; label = @4
local.get 0
i32.const 3
i32.and
br_if 0 (;@4;)
local.get 0
local.set 2
br 1 (;@3;)
end
block ;; label = @4
local.get 2
i32.const 1
i32.ge_s
br_if 0 (;@4;)
local.get 0
local.set 2
br 1 (;@3;)
end
local.get 0
local.set 2
loop ;; label = @4
local.get 2
local.get 1
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.set 1
local.get 2
i32.const 1
i32.add
local.tee 2
i32.const 3
i32.and
i32.eqz
br_if 1 (;@3;)
local.get 2
local.get 3
i32.lt_u
br_if 0 (;@4;)
end
end
block ;; label = @3
local.get 3
i32.const -4
i32.and
local.tee 4
i32.const 64
i32.lt_u
br_if 0 (;@3;)
local.get 2
local.get 4
i32.const -64
i32.add
local.tee 5
i32.gt_u
br_if 0 (;@3;)
loop ;; label = @4
local.get 2
local.get 1
i32.load
i32.store
local.get 2
local.get 1
i32.load offset=4
i32.store offset=4
local.get 2
local.get 1
i32.load offset=8
i32.store offset=8
local.get 2
local.get 1
i32.load offset=12
i32.store offset=12
local.get 2
local.get 1
i32.load offset=16
i32.store offset=16
local.get 2
local.get 1
i32.load offset=20
i32.store offset=20
local.get 2
local.get 1
i32.load offset=24
i32.store offset=24
local.get 2
local.get 1
i32.load offset=28
i32.store offset=28
local.get 2
local.get 1
i32.load offset=32
i32.store offset=32
local.get 2
local.get 1
i32.load offset=36
i32.store offset=36
local.get 2
local.get 1
i32.load offset=40
i32.store offset=40
local.get 2
local.get 1
i32.load offset=44
i32.store offset=44
local.get 2
local.get 1
i32.load offset=48
i32.store offset=48
local.get 2
local.get 1
i32.load offset=52
i32.store offset=52
local.get 2
local.get 1
i32.load offset=56
i32.store offset=56
local.get 2
local.get 1
i32.load offset=60
i32.store offset=60
local.get 1
i32.const 64
i32.add
local.set 1
local.get 2
i32.const 64
i32.add
local.tee 2
local.get 5
i32.le_u
br_if 0 (;@4;)
end
end
local.get 2
local.get 4
i32.ge_u
br_if 1 (;@1;)
loop ;; label = @3
local.get 2
local.get 1
i32.load
i32.store
local.get 1
i32.const 4
i32.add
local.set 1
local.get 2
i32.const 4
i32.add
local.tee 2
local.get 4
i32.lt_u
br_if 0 (;@3;)
br 2 (;@1;)
end
unreachable
end
block ;; label = @2
local.get 3
i32.const 4
i32.ge_u
br_if 0 (;@2;)
local.get 0
local.set 2
br 1 (;@1;)
end
block ;; label = @2
local.get 3
i32.const -4
i32.add
local.tee 4
local.get 0
i32.ge_u
br_if 0 (;@2;)
local.get 0
local.set 2
br 1 (;@1;)
end
local.get 0
local.set 2
loop ;; label = @2
local.get 2
local.get 1
i32.load8_u
i32.store8
local.get 2
local.get 1
i32.load8_u offset=1
i32.store8 offset=1
local.get 2
local.get 1
i32.load8_u offset=2
i32.store8 offset=2
local.get 2
local.get 1
i32.load8_u offset=3
i32.store8 offset=3
local.get 1
i32.const 4
i32.add
local.set 1
local.get 2
i32.const 4
i32.add
local.tee 2
local.get 4
i32.le_u
br_if 0 (;@2;)
end
end
block ;; label = @1
local.get 2
local.get 3
i32.ge_u
br_if 0 (;@1;)
loop ;; label = @2
local.get 2
local.get 1
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.set 1
local.get 2
i32.const 1
i32.add
local.tee 2
local.get 3
i32.ne
br_if 0 (;@2;)
end
end
local.get 0)
(func (;15;) (type 4)
i32.const 5246000
global.set 2
i32.const 3108
i32.const 15
i32.add
i32.const -16
i32.and
global.set 1)
(func (;16;) (type 2) (result i32)
global.get 0
global.get 1
i32.sub)
(func (;17;) (type 2) (result i32)
global.get 1)
(func (;18;) (type 2) (result i32)
i32.const 1748)
(func (;19;) (type 0) (param i32 i32 i32) (result i32)
(local i32)
i32.const 1
local.set 3
block ;; label = @1
block ;; label = @2
local.get 0
i32.eqz
br_if 0 (;@2;)
local.get 1
i32.const 127
i32.le_u
br_if 1 (;@1;)
block ;; label = @3
block ;; label = @4
call 18
i32.load offset=172
i32.load
br_if 0 (;@4;)
local.get 1
i32.const -128
i32.and
i32.const 57216
i32.eq
br_if 3 (;@1;)
call 6
i32.const 25
i32.store
br 1 (;@3;)
end
block ;; label = @4
local.get 1
i32.const 2047
i32.gt_u
br_if 0 (;@4;)
local.get 0
local.get 1
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=1
local.get 0
local.get 1
i32.const 6
i32.shr_u
i32.const 192
i32.or
i32.store8
i32.const 2
return
end
block ;; label = @4
block ;; label = @5
local.get 1
i32.const 55296
i32.lt_u
br_if 0 (;@5;)
local.get 1
i32.const -8192
i32.and
i32.const 57344
i32.ne
br_if 1 (;@4;)
end
local.get 0
local.get 1
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=2
local.get 0
local.get 1
i32.const 12
i32.shr_u
i32.const 224
i32.or
i32.store8
local.get 0
local.get 1
i32.const 6
i32.shr_u
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=1
i32.const 3
return
end
block ;; label = @4
local.get 1
i32.const -65536
i32.add
i32.const 1048575
i32.gt_u
br_if 0 (;@4;)
local.get 0
local.get 1
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=3
local.get 0
local.get 1
i32.const 18
i32.shr_u
i32.const 240
i32.or
i32.store8
local.get 0
local.get 1
i32.const 6
i32.shr_u
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=2
local.get 0
local.get 1
i32.const 12
i32.shr_u
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=1
i32.const 4
return
end
call 6
i32.const 25
i32.store
end
i32.const -1
local.set 3
end
local.get 3
return
end
local.get 0
local.get 1
i32.store8
i32.const 1)
(func (;20;) (type 5) (param i32 i32) (result i32)
block ;; label = @1
local.get 0
br_if 0 (;@1;)
i32.const 0
return
end
local.get 0
local.get 1
i32.const 0
call 19)
(func (;21;) (type 13) (param f64 i32) (result f64)
(local i64 i32)
block ;; label = @1
local.get 0
i64.reinterpret_f64
local.tee 2
i64.const 52
i64.shr_u
i32.wrap_i64
i32.const 2047
i32.and
local.tee 3
i32.const 2047
i32.eq
br_if 0 (;@1;)
block ;; label = @2
local.get 3
br_if 0 (;@2;)
block ;; label = @3
block ;; label = @4
local.get 0
f64.const 0x0p+0 (;=0;)
f64.ne
br_if 0 (;@4;)
i32.const 0
local.set 3
br 1 (;@3;)
end
local.get 0
f64.const 0x1p+64 (;=1.84467e+19;)
f64.mul
local.get 1
call 21
local.set 0
local.get 1
i32.load
i32.const -64
i32.add
local.set 3
end
local.get 1
local.get 3
i32.store
local.get 0
return
end
local.get 1
local.get 3
i32.const -1022
i32.add
i32.store
local.get 2
i64.const -9218868437227405313
i64.and
i64.const 4602678819172646912
i64.or
f64.reinterpret_i64
local.set 0
end
local.get 0)
(func (;22;) (type 7) (param i32 i64 i64 i32)
(local i64)
block ;; label = @1
block ;; label = @2
local.get 3
i32.const 64
i32.and
i32.eqz
br_if 0 (;@2;)
local.get 1
local.get 3
i32.const -64
i32.add
i64.extend_i32_u
i64.shl
local.set 2
i64.const 0
local.set 1
br 1 (;@1;)
end
local.get 3
i32.eqz
br_if 0 (;@1;)
local.get 1
i32.const 64
local.get 3
i32.sub
i64.extend_i32_u
i64.shr_u
local.get 2
local.get 3
i64.extend_i32_u
local.tee 4
i64.shl
i64.or
local.set 2
local.get 1
local.get 4
i64.shl
local.set 1
end
local.get 0
local.get 1
i64.store
local.get 0
local.get 2
i64.store offset=8)
(func (;23;) (type 7) (param i32 i64 i64 i32)
(local i64)
block ;; label = @1
block ;; label = @2
local.get 3
i32.const 64
i32.and
i32.eqz
br_if 0 (;@2;)
local.get 2
local.get 3
i32.const -64
i32.add
i64.extend_i32_u
i64.shr_u
local.set 1
i64.const 0
local.set 2
br 1 (;@1;)
end
local.get 3
i32.eqz
br_if 0 (;@1;)
local.get 2
i32.const 64
local.get 3
i32.sub
i64.extend_i32_u
i64.shl
local.get 1
local.get 3
i64.extend_i32_u
local.tee 4
i64.shr_u
i64.or
local.set 1
local.get 2
local.get 4
i64.shr_u
local.set 2
end
local.get 0
local.get 1
i64.store
local.get 0
local.get 2
i64.store offset=8)
(func (;24;) (type 14) (param i64 i64) (result f64)
(local i32 i32 i64 i64)
global.get 0
i32.const 32
i32.sub
local.tee 2
global.set 0
block ;; label = @1
block ;; label = @2
local.get 1
i64.const 9223372036854775807
i64.and
local.tee 4
i64.const -4323737117252386816
i64.add
local.get 4
i64.const -4899634919602388992
i64.add
i64.ge_u
br_if 0 (;@2;)
local.get 0
i64.const 60
i64.shr_u
local.get 1
i64.const 4
i64.shl
i64.or
local.set 4
block ;; label = @3
local.get 0
i64.const 1152921504606846975
i64.and
local.tee 0
i64.const 576460752303423489
i64.lt_u
br_if 0 (;@3;)
local.get 4
i64.const 4611686018427387905
i64.add
local.set 5
br 2 (;@1;)
end
local.get 4
i64.const 4611686018427387904
i64.add
local.set 5
local.get 0
i64.const 576460752303423488
i64.xor
i64.const 0
i64.ne
br_if 1 (;@1;)
local.get 5
local.get 4
i64.const 1
i64.and
i64.add
local.set 5
br 1 (;@1;)
end
block ;; label = @2
local.get 0
i64.eqz
local.get 4
i64.const 9223090561878065152
i64.lt_u
local.get 4
i64.const 9223090561878065152
i64.eq
select
br_if 0 (;@2;)
local.get 0
i64.const 60
i64.shr_u
local.get 1
i64.const 4
i64.shl
i64.or
i64.const 2251799813685247
i64.and
i64.const 9221120237041090560
i64.or
local.set 5
br 1 (;@1;)
end
i64.const 9218868437227405312
local.set 5
local.get 4
i64.const 4899634919602388991
i64.gt_u
br_if 0 (;@1;)
i64.const 0
local.set 5
local.get 4
i64.const 48
i64.shr_u
i32.wrap_i64
local.tee 3
i32.const 15249
i32.lt_u
br_if 0 (;@1;)
local.get 2
i32.const 16
i32.add
local.get 0
local.get 1
i64.const 281474976710655
i64.and
i64.const 281474976710656
i64.or
local.tee 4
local.get 3
i32.const -15233
i32.add
call 22
local.get 2
local.get 0
local.get 4
i32.const 15361
local.get 3
i32.sub
call 23
local.get 2
i64.load
local.tee 4
i64.const 60
i64.shr_u
local.get 2
i32.const 8
i32.add
i64.load
i64.const 4
i64.shl
i64.or
local.set 5
block ;; label = @2
local.get 4
i64.const 1152921504606846975
i64.and
local.get 2
i64.load offset=16
local.get 2
i32.const 16
i32.add
i32.const 8
i32.add
i64.load
i64.or
i64.const 0
i64.ne
i64.extend_i32_u
i64.or
local.tee 4
i64.const 576460752303423489
i64.lt_u
br_if 0 (;@2;)
local.get 5
i64.const 1
i64.add
local.set 5
br 1 (;@1;)
end
local.get 4
i64.const 576460752303423488
i64.xor
i64.const 0
i64.ne
br_if 0 (;@1;)
local.get 5
i64.const 1
i64.and
local.get 5
i64.add
local.set 5
end
local.get 2
i32.const 32
i32.add
global.set 0
local.get 5
local.get 1
i64.const -9223372036854775808
i64.and
i64.or
f64.reinterpret_i64)
(func (;25;) (type 3) (param i32))
(func (;26;) (type 3) (param i32))
(func (;27;) (type 2) (result i32)
i32.const 3096
call 25
i32.const 3104)
(func (;28;) (type 4)
i32.const 3096
call 26)
(func (;29;) (type 1) (param i32) (result i32)
(local i32)
local.get 0
local.get 0
i32.load8_u offset=74
local.tee 1
i32.const -1
i32.add
local.get 1
i32.or
i32.store8 offset=74
block ;; label = @1
local.get 0
i32.load
local.tee 1
i32.const 8
i32.and
i32.eqz
br_if 0 (;@1;)
local.get 0
local.get 1
i32.const 32
i32.or
i32.store
i32.const -1
return
end
local.get 0
i64.const 0
i64.store offset=4 align=4
local.get 0
local.get 0
i32.load offset=44
local.tee 1
i32.store offset=28
local.get 0
local.get 1
i32.store offset=20
local.get 0
local.get 1
local.get 0
i32.load offset=48
i32.add
i32.store offset=16
i32.const 0)
(func (;30;) (type 0) (param i32 i32 i32) (result i32)
(local i32 i32 i32)
block ;; label = @1
block ;; label = @2
local.get 2
i32.load offset=16
local.tee 3
br_if 0 (;@2;)
i32.const 0
local.set 4
local.get 2
call 29
br_if 1 (;@1;)
local.get 2
i32.load offset=16
local.set 3
end
block ;; label = @2
local.get 3
local.get 2
i32.load offset=20
local.tee 5
i32.sub
local.get 1
i32.ge_u
br_if 0 (;@2;)
local.get 2
local.get 0
local.get 1
local.get 2
i32.load offset=36
call_indirect (type 0)
return
end
block ;; label = @2
block ;; label = @3
local.get 2
i32.load8_s offset=75
i32.const 0
i32.ge_s
br_if 0 (;@3;)
i32.const 0
local.set 3
br 1 (;@2;)
end
local.get 1
local.set 4
loop ;; label = @3
block ;; label = @4
local.get 4
local.tee 3
br_if 0 (;@4;)
i32.const 0
local.set 3
br 2 (;@2;)
end
local.get 0
local.get 3
i32.const -1
i32.add
local.tee 4
i32.add
i32.load8_u
i32.const 10
i32.ne
br_if 0 (;@3;)
end
local.get 2
local.get 0
local.get 3
local.get 2
i32.load offset=36
call_indirect (type 0)
local.tee 4
local.get 3
i32.lt_u
br_if 1 (;@1;)
local.get 0
local.get 3
i32.add
local.set 0
local.get 1
local.get 3
i32.sub
local.set 1
local.get 2
i32.load offset=20
local.set 5
end
local.get 5
local.get 0
local.get 1
call 14
drop
local.get 2
local.get 2
i32.load offset=20
local.get 1
i32.add
i32.store offset=20
local.get 3
local.get 1
i32.add
local.set 4
end
local.get 4)
(func (;31;) (type 8) (param i32 i32 i32 i32 i32) (result i32)
(local i32 i32 i32)
global.get 0
i32.const 208
i32.sub
local.tee 5
global.set 0
local.get 5
local.get 2
i32.store offset=204
i32.const 0
local.set 2
local.get 5
i32.const 160
i32.add
i32.const 0
i32.const 40
call 11
drop
local.get 5
local.get 5
i32.load offset=204
i32.store offset=200
block ;; label = @1
block ;; label = @2
i32.const 0
local.get 1
local.get 5
i32.const 200
i32.add
local.get 5
i32.const 80
i32.add
local.get 5
i32.const 160
i32.add
local.get 3
local.get 4
call 32
i32.const 0
i32.ge_s
br_if 0 (;@2;)
i32.const -1
local.set 1
br 1 (;@1;)
end
block ;; label = @2
local.get 0
i32.load offset=76
i32.const 0
i32.lt_s
br_if 0 (;@2;)
local.get 0
call 45
local.set 2
end
local.get 0
i32.load
local.set 6
block ;; label = @2
local.get 0
i32.load8_s offset=74
i32.const 0
i32.gt_s
br_if 0 (;@2;)
local.get 0
local.get 6
i32.const -33
i32.and
i32.store
end
local.get 6
i32.const 32
i32.and
local.set 6
block ;; label = @2
block ;; label = @3
local.get 0
i32.load offset=48
i32.eqz
br_if 0 (;@3;)
local.get 0
local.get 1
local.get 5
i32.const 200
i32.add
local.get 5
i32.const 80
i32.add
local.get 5
i32.const 160
i32.add
local.get 3
local.get 4
call 32
local.set 1
br 1 (;@2;)
end
local.get 0
i32.const 80
i32.store offset=48
local.get 0
local.get 5
i32.const 80
i32.add
i32.store offset=16
local.get 0
local.get 5
i32.store offset=28
local.get 0
local.get 5
i32.store offset=20
local.get 0
i32.load offset=44
local.set 7
local.get 0
local.get 5
i32.store offset=44
local.get 0
local.get 1
local.get 5
i32.const 200
i32.add
local.get 5
i32.const 80
i32.add
local.get 5
i32.const 160
i32.add
local.get 3
local.get 4
call 32
local.set 1
local.get 7
i32.eqz
br_if 0 (;@2;)
local.get 0
i32.const 0
i32.const 0
local.get 0
i32.load offset=36
call_indirect (type 0)
drop
local.get 0
i32.const 0
i32.store offset=48
local.get 0
local.get 7
i32.store offset=44
local.get 0
i32.const 0
i32.store offset=28
local.get 0
i32.const 0
i32.store offset=16
local.get 0
i32.load offset=20
local.set 3
local.get 0
i32.const 0
i32.store offset=20
local.get 1
i32.const -1
local.get 3
select
local.set 1
end
local.get 0
local.get 0
i32.load
local.tee 3
local.get 6
i32.or
i32.store
i32.const -1
local.get 1
local.get 3
i32.const 32
i32.and
select
local.set 1
local.get 2
i32.eqz
br_if 0 (;@1;)
local.get 0
call 46
end
local.get 5
i32.const 208
i32.add
global.set 0
local.get 1)
(func (;32;) (type 15) (param i32 i32 i32 i32 i32 i32 i32) (result i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64)
global.get 0
i32.const 80
i32.sub
local.tee 7
global.set 0
local.get 7
local.get 1
i32.store offset=76
local.get 7
i32.const 55
i32.add
local.set 8
local.get 7
i32.const 56
i32.add
local.set 9
i32.const 0
local.set 10
i32.const 0
local.set 11
i32.const 0
local.set 1
block ;; label = @1
loop ;; label = @2
block ;; label = @3
local.get 11
i32.const 0
i32.lt_s
br_if 0 (;@3;)
block ;; label = @4
local.get 1
i32.const 2147483647
local.get 11
i32.sub
i32.le_s
br_if 0 (;@4;)
call 6
i32.const 61
i32.store
i32.const -1
local.set 11
br 1 (;@3;)
end
local.get 1
local.get 11
i32.add
local.set 11
end
local.get 7
i32.load offset=76
local.tee 12
local.set 1
block ;; label = @3
block ;; label = @4
block ;; label = @5
block ;; label = @6
block ;; label = @7
local.get 12
i32.load8_u
local.tee 13
i32.eqz
br_if 0 (;@7;)
loop ;; label = @8
block ;; label = @9
block ;; label = @10
block ;; label = @11
local.get 13
i32.const 255
i32.and
local.tee 13
br_if 0 (;@11;)
local.get 1
local.set 13
br 1 (;@10;)
end
local.get 13
i32.const 37
i32.ne
br_if 1 (;@9;)
local.get 1
local.set 13
loop ;; label = @11
local.get 1
i32.load8_u offset=1
i32.const 37
i32.ne
br_if 1 (;@10;)
local.get 7
local.get 1
i32.const 2
i32.add
local.tee 14
i32.store offset=76
local.get 13
i32.const 1
i32.add
local.set 13
local.get 1
i32.load8_u offset=2
local.set 15
local.get 14
local.set 1
local.get 15
i32.const 37
i32.eq
br_if 0 (;@11;)
end
end
local.get 13
local.get 12
i32.sub
local.set 1
block ;; label = @10
local.get 0
i32.eqz
br_if 0 (;@10;)
local.get 0
local.get 12
local.get 1
call 33
end
local.get 1
br_if 7 (;@2;)
i32.const -1
local.set 16
i32.const 1
local.set 13
local.get 7
i32.load offset=76
i32.load8_s offset=1
call 12
local.set 14
local.get 7
i32.load offset=76
local.set 1
block ;; label = @10
local.get 14
i32.eqz
br_if 0 (;@10;)
local.get 1
i32.load8_u offset=2
i32.const 36
i32.ne
br_if 0 (;@10;)
local.get 1
i32.load8_s offset=1
i32.const -48
i32.add
local.set 16
i32.const 1
local.set 10
i32.const 3
local.set 13
end
local.get 7
local.get 1
local.get 13
i32.add
local.tee 1
i32.store offset=76
i32.const 0
local.set 17
block ;; label = @10
block ;; label = @11
local.get 1
i32.load8_s
local.tee 15
i32.const -32
i32.add
local.tee 14
i32.const 31
i32.le_u
br_if 0 (;@11;)
local.get 1
local.set 13
br 1 (;@10;)
end
i32.const 0
local.set 17
local.get 1
local.set 13
i32.const 1
local.get 14
i32.shl
local.tee 14
i32.const 75913
i32.and
i32.eqz
br_if 0 (;@10;)
loop ;; label = @11
local.get 7
local.get 1
i32.const 1
i32.add
local.tee 13
i32.store offset=76
local.get 14
local.get 17
i32.or
local.set 17
local.get 1
i32.load8_s offset=1
local.tee 15
i32.const -32
i32.add
local.tee 14
i32.const 32
i32.ge_u
br_if 1 (;@10;)
local.get 13
local.set 1
i32.const 1
local.get 14
i32.shl
local.tee 14
i32.const 75913
i32.and
br_if 0 (;@11;)
end
end
block ;; label = @10
block ;; label = @11
local.get 15
i32.const 42
i32.ne
br_if 0 (;@11;)
block ;; label = @12
block ;; label = @13
local.get 13
i32.load8_s offset=1
call 12
i32.eqz
br_if 0 (;@13;)
local.get 7
i32.load offset=76
local.tee 13
i32.load8_u offset=2
i32.const 36
i32.ne
br_if 0 (;@13;)
local.get 13
i32.load8_s offset=1
i32.const 2
i32.shl
local.get 4
i32.add
i32.const -192
i32.add
i32.const 10
i32.store
local.get 13
i32.const 3
i32.add
local.set 1
local.get 13
i32.load8_s offset=1
i32.const 3
i32.shl
local.get 3
i32.add
i32.const -384
i32.add
i32.load
local.set 18
i32.const 1
local.set 10
br 1 (;@12;)
end
local.get 10
br_if 6 (;@6;)
i32.const 0
local.set 10
i32.const 0
local.set 18
block ;; label = @13
local.get 0
i32.eqz
br_if 0 (;@13;)
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 1
i32.load
local.set 18
end
local.get 7
i32.load offset=76
i32.const 1
i32.add
local.set 1
end
local.get 7
local.get 1
i32.store offset=76
local.get 18
i32.const -1
i32.gt_s
br_if 1 (;@10;)
i32.const 0
local.get 18
i32.sub
local.set 18
local.get 17
i32.const 8192
i32.or
local.set 17
br 1 (;@10;)
end
local.get 7
i32.const 76
i32.add
call 34
local.tee 18
i32.const 0
i32.lt_s
br_if 4 (;@6;)
local.get 7
i32.load offset=76
local.set 1
end
i32.const -1
local.set 19
block ;; label = @10
local.get 1
i32.load8_u
i32.const 46
i32.ne
br_if 0 (;@10;)
block ;; label = @11
local.get 1
i32.load8_u offset=1
i32.const 42
i32.ne
br_if 0 (;@11;)
block ;; label = @12
local.get 1
i32.load8_s offset=2
call 12
i32.eqz
br_if 0 (;@12;)
local.get 7
i32.load offset=76
local.tee 1
i32.load8_u offset=3
i32.const 36
i32.ne
br_if 0 (;@12;)
local.get 1
i32.load8_s offset=2
i32.const 2
i32.shl
local.get 4
i32.add
i32.const -192
i32.add
i32.const 10
i32.store
local.get 1
i32.load8_s offset=2
i32.const 3
i32.shl
local.get 3
i32.add
i32.const -384
i32.add
i32.load
local.set 19
local.get 7
local.get 1
i32.const 4
i32.add
local.tee 1
i32.store offset=76
br 2 (;@10;)
end
local.get 10
br_if 5 (;@6;)
block ;; label = @12
block ;; label = @13
local.get 0
br_if 0 (;@13;)
i32.const 0
local.set 19
br 1 (;@12;)
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 1
i32.load
local.set 19
end
local.get 7
local.get 7
i32.load offset=76
i32.const 2
i32.add
local.tee 1
i32.store offset=76
br 1 (;@10;)
end
local.get 7
local.get 1
i32.const 1
i32.add
i32.store offset=76
local.get 7
i32.const 76
i32.add
call 34
local.set 19
local.get 7
i32.load offset=76
local.set 1
end
i32.const 0
local.set 13
loop ;; label = @10
local.get 13
local.set 14
i32.const -1
local.set 20
local.get 1
i32.load8_s
i32.const -65
i32.add
i32.const 57
i32.gt_u
br_if 9 (;@1;)
local.get 7
local.get 1
i32.const 1
i32.add
local.tee 15
i32.store offset=76
local.get 1
i32.load8_s
local.set 13
local.get 15
local.set 1
local.get 13
local.get 14
i32.const 58
i32.mul
i32.add
i32.const 1055
i32.add
i32.load8_u
local.tee 13
i32.const -1
i32.add
i32.const 8
i32.lt_u
br_if 0 (;@10;)
end
block ;; label = @10
block ;; label = @11
block ;; label = @12
local.get 13
i32.const 19
i32.eq
br_if 0 (;@12;)
local.get 13
i32.eqz
br_if 11 (;@1;)
block ;; label = @13
local.get 16
i32.const 0
i32.lt_s
br_if 0 (;@13;)
local.get 4
local.get 16
i32.const 2
i32.shl
i32.add
local.get 13
i32.store
local.get 7
local.get 3
local.get 16
i32.const 3
i32.shl
i32.add
i64.load
i64.store offset=64
br 2 (;@11;)
end
local.get 0
i32.eqz
br_if 9 (;@3;)
local.get 7
i32.const 64
i32.add
local.get 13
local.get 2
local.get 6
call 35
local.get 7
i32.load offset=76
local.set 15
br 2 (;@10;)
end
i32.const -1
local.set 20
local.get 16
i32.const -1
i32.gt_s
br_if 10 (;@1;)
end
i32.const 0
local.set 1
local.get 0
i32.eqz
br_if 8 (;@2;)
end
local.get 17
i32.const -65537
i32.and
local.tee 21
local.get 17
local.get 17
i32.const 8192
i32.and
select
local.set 13
i32.const 0
local.set 20
i32.const 1024
local.set 16
local.get 9
local.set 17
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
local.get 15
i32.const -1
i32.add
i32.load8_s
local.tee 1
i32.const -33
i32.and
local.get 1
local.get 1
i32.const 15
i32.and
i32.const 3
i32.eq
select
local.get 1
local.get 14
select
local.tee 1
i32.const -88
i32.add
br_table 4 (;@21;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 14 (;@11;) 21 (;@4;) 15 (;@10;) 6 (;@19;) 14 (;@11;) 14 (;@11;) 14 (;@11;) 21 (;@4;) 6 (;@19;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 21 (;@4;) 2 (;@23;) 5 (;@20;) 3 (;@22;) 21 (;@4;) 21 (;@4;) 9 (;@16;) 21 (;@4;) 1 (;@24;) 21 (;@4;) 21 (;@4;) 4 (;@21;) 0 (;@25;)
end
local.get 9
local.set 17
block ;; label = @25
local.get 1
i32.const -65
i32.add
br_table 14 (;@11;) 21 (;@4;) 11 (;@14;) 21 (;@4;) 14 (;@11;) 14 (;@11;) 14 (;@11;) 0 (;@25;)
end
local.get 1
i32.const 83
i32.eq
br_if 9 (;@15;)
br 19 (;@5;)
end
i32.const 0
local.set 20
i32.const 1024
local.set 16
local.get 7
i64.load offset=64
local.set 22
br 5 (;@18;)
end
i32.const 0
local.set 1
block ;; label = @23
block ;; label = @24
block ;; label = @25
block ;; label = @26
block ;; label = @27
block ;; label = @28
block ;; label = @29
local.get 14
i32.const 255
i32.and
br_table 0 (;@29;) 1 (;@28;) 2 (;@27;) 3 (;@26;) 4 (;@25;) 27 (;@2;) 5 (;@24;) 6 (;@23;) 27 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i32.store
br 26 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i32.store
br 25 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i64.extend_i32_s
i64.store
br 24 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i32.store16
br 23 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i32.store8
br 22 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i32.store
br 21 (;@2;)
end
local.get 7
i32.load offset=64
local.get 11
i64.extend_i32_s
i64.store
br 20 (;@2;)
end
local.get 19
i32.const 8
local.get 19
i32.const 8
i32.gt_u
select
local.set 19
local.get 13
i32.const 8
i32.or
local.set 13
i32.const 120
local.set 1
end
local.get 7
i64.load offset=64
local.get 9
local.get 1
i32.const 32
i32.and
call 36
local.set 12
i32.const 0
local.set 20
i32.const 1024
local.set 16
local.get 7
i64.load offset=64
i64.eqz
br_if 3 (;@17;)
local.get 13
i32.const 8
i32.and
i32.eqz
br_if 3 (;@17;)
local.get 1
i32.const 4
i32.shr_u
i32.const 1024
i32.add
local.set 16
i32.const 2
local.set 20
br 3 (;@17;)
end
i32.const 0
local.set 20
i32.const 1024
local.set 16
local.get 7
i64.load offset=64
local.get 9
call 37
local.set 12
local.get 13
i32.const 8
i32.and
i32.eqz
br_if 2 (;@17;)
local.get 19
local.get 9
local.get 12
i32.sub
local.tee 1
i32.const 1
i32.add
local.get 19
local.get 1
i32.gt_s
select
local.set 19
br 2 (;@17;)
end
block ;; label = @19
local.get 7
i64.load offset=64
local.tee 22
i64.const -1
i64.gt_s
br_if 0 (;@19;)
local.get 7
i64.const 0
local.get 22
i64.sub
local.tee 22
i64.store offset=64
i32.const 1
local.set 20
i32.const 1024
local.set 16
br 1 (;@18;)
end
block ;; label = @19
local.get 13
i32.const 2048
i32.and
i32.eqz
br_if 0 (;@19;)
i32.const 1
local.set 20
i32.const 1025
local.set 16
br 1 (;@18;)
end
i32.const 1026
i32.const 1024
local.get 13
i32.const 1
i32.and
local.tee 20
select
local.set 16
end
local.get 22
local.get 9
call 38
local.set 12
end
local.get 13
i32.const -65537
i32.and
local.get 13
local.get 19
i32.const -1
i32.gt_s
select
local.set 13
block ;; label = @17
local.get 7
i64.load offset=64
local.tee 22
i64.const 0
i64.ne
br_if 0 (;@17;)
local.get 19
br_if 0 (;@17;)
i32.const 0
local.set 19
local.get 9
local.set 12
br 12 (;@5;)
end
local.get 19
local.get 9
local.get 12
i32.sub
local.get 22
i64.eqz
i32.add
local.tee 1
local.get 19
local.get 1
i32.gt_s
select
local.set 19
br 11 (;@5;)
end
i32.const 0
local.set 20
local.get 7
i32.load offset=64
local.tee 1
i32.const 1071
local.get 1
select
local.tee 12
i32.const 0
local.get 19
call 13
local.tee 1
local.get 12
local.get 19
i32.add
local.get 1
select
local.set 17
local.get 21
local.set 13
local.get 1
local.get 12
i32.sub
local.get 19
local.get 1
select
local.set 19
br 11 (;@4;)
end
block ;; label = @15
local.get 19
i32.eqz
br_if 0 (;@15;)
local.get 7
i32.load offset=64
local.set 14
br 2 (;@13;)
end
i32.const 0
local.set 1
local.get 0
i32.const 32
local.get 18
i32.const 0
local.get 13
call 39
br 2 (;@12;)
end
local.get 7
i32.const 0
i32.store offset=12
local.get 7
local.get 7
i64.load offset=64
i64.store32 offset=8
local.get 7
local.get 7
i32.const 8
i32.add
i32.store offset=64
i32.const -1
local.set 19
local.get 7
i32.const 8
i32.add
local.set 14
end
i32.const 0
local.set 1
block ;; label = @13
loop ;; label = @14
local.get 14
i32.load
local.tee 15
i32.eqz
br_if 1 (;@13;)
block ;; label = @15
local.get 7
i32.const 4
i32.add
local.get 15
call 20
local.tee 15
i32.const 0
i32.lt_s
local.tee 12
br_if 0 (;@15;)
local.get 15
local.get 19
local.get 1
i32.sub
i32.gt_u
br_if 0 (;@15;)
local.get 14
i32.const 4
i32.add
local.set 14
local.get 19
local.get 15
local.get 1
i32.add
local.tee 1
i32.gt_u
br_if 1 (;@14;)
br 2 (;@13;)
end
end
i32.const -1
local.set 20
local.get 12
br_if 12 (;@1;)
end
local.get 0
i32.const 32
local.get 18
local.get 1
local.get 13
call 39
block ;; label = @13
local.get 1
br_if 0 (;@13;)
i32.const 0
local.set 1
br 1 (;@12;)
end
i32.const 0
local.set 14
local.get 7
i32.load offset=64
local.set 15
loop ;; label = @13
local.get 15
i32.load
local.tee 12
i32.eqz
br_if 1 (;@12;)
local.get 7
i32.const 4
i32.add
local.get 12
call 20
local.tee 12
local.get 14
i32.add
local.tee 14
local.get 1
i32.gt_s
br_if 1 (;@12;)
local.get 0
local.get 7
i32.const 4
i32.add
local.get 12
call 33
local.get 15
i32.const 4
i32.add
local.set 15
local.get 14
local.get 1
i32.lt_u
br_if 0 (;@13;)
end
end
local.get 0
i32.const 32
local.get 18
local.get 1
local.get 13
i32.const 8192
i32.xor
call 39
local.get 18
local.get 1
local.get 18
local.get 1
i32.gt_s
select
local.set 1
br 9 (;@2;)
end
local.get 0
local.get 7
f64.load offset=64
local.get 18
local.get 19
local.get 13
local.get 1
local.get 5
call_indirect (type 9)
local.set 1
br 8 (;@2;)
end
local.get 7
local.get 7
i64.load offset=64
i64.store8 offset=55
i32.const 1
local.set 19
local.get 8
local.set 12
local.get 9
local.set 17
local.get 21
local.set 13
br 5 (;@4;)
end
local.get 7
local.get 1
i32.const 1
i32.add
local.tee 14
i32.store offset=76
local.get 1
i32.load8_u offset=1
local.set 13
local.get 14
local.set 1
br 0 (;@8;)
end
unreachable
end
local.get 11
local.set 20
local.get 0
br_if 5 (;@1;)
local.get 10
i32.eqz
br_if 3 (;@3;)
i32.const 1
local.set 1
block ;; label = @7
loop ;; label = @8
local.get 4
local.get 1
i32.const 2
i32.shl
i32.add
i32.load
local.tee 13
i32.eqz
br_if 1 (;@7;)
local.get 3
local.get 1
i32.const 3
i32.shl
i32.add
local.get 13
local.get 2
local.get 6
call 35
i32.const 1
local.set 20
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 10
i32.ne
br_if 0 (;@8;)
br 7 (;@1;)
end
unreachable
end
i32.const 1
local.set 20
local.get 1
i32.const 10
i32.ge_u
br_if 5 (;@1;)
loop ;; label = @7
local.get 4
local.get 1
i32.const 2
i32.shl
i32.add
i32.load
br_if 1 (;@6;)
i32.const 1
local.set 20
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 10
i32.eq
br_if 6 (;@1;)
br 0 (;@7;)
end
unreachable
end
i32.const -1
local.set 20
br 4 (;@1;)
end
local.get 9
local.set 17
end
local.get 0
i32.const 32
local.get 20
local.get 17
local.get 12
i32.sub
local.tee 15
local.get 19
local.get 19
local.get 15
i32.lt_s
select
local.tee 17
i32.add
local.tee 14
local.get 18
local.get 18
local.get 14
i32.lt_s
select
local.tee 1
local.get 14
local.get 13
call 39
local.get 0
local.get 16
local.get 20
call 33
local.get 0
i32.const 48
local.get 1
local.get 14
local.get 13
i32.const 65536
i32.xor
call 39
local.get 0
i32.const 48
local.get 17
local.get 15
i32.const 0
call 39
local.get 0
local.get 12
local.get 15
call 33
local.get 0
i32.const 32
local.get 1
local.get 14
local.get 13
i32.const 8192
i32.xor
call 39
br 1 (;@2;)
end
end
i32.const 0
local.set 20
end
local.get 7
i32.const 80
i32.add
global.set 0
local.get 20)
(func (;33;) (type 16) (param i32 i32 i32)
block ;; label = @1
local.get 0
i32.load8_u
i32.const 32
i32.and
br_if 0 (;@1;)
local.get 1
local.get 2
local.get 0
call 30
drop
end)
(func (;34;) (type 1) (param i32) (result i32)
(local i32 i32 i32)
i32.const 0
local.set 1
block ;; label = @1
local.get 0
i32.load
i32.load8_s
call 12
i32.eqz
br_if 0 (;@1;)
loop ;; label = @2
local.get 0
i32.load
local.tee 2
i32.load8_s
local.set 3
local.get 0
local.get 2
i32.const 1
i32.add
i32.store
local.get 3
local.get 1
i32.const 10
i32.mul
i32.add
i32.const -48
i32.add
local.set 1
local.get 2
i32.load8_s offset=1
call 12
br_if 0 (;@2;)
end
end
local.get 1)
(func (;35;) (type 17) (param i32 i32 i32 i32)
block ;; label = @1
local.get 1
i32.const 20
i32.gt_u
br_if 0 (;@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
local.get 1
i32.const -9
i32.add
br_table 0 (;@11;) 1 (;@10;) 2 (;@9;) 3 (;@8;) 4 (;@7;) 5 (;@6;) 6 (;@5;) 7 (;@4;) 8 (;@3;) 9 (;@2;) 10 (;@1;)
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i32.load
i32.store
return
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i64.load32_s
i64.store
return
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i64.load32_u
i64.store
return
end
local.get 2
local.get 2
i32.load
i32.const 7
i32.add
i32.const -8
i32.and
local.tee 1
i32.const 8
i32.add
i32.store
local.get 0
local.get 1
i64.load
i64.store
return
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i64.load16_s
i64.store
return
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i64.load16_u
i64.store
return
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i64.load8_s
i64.store
return
end
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 0
local.get 1
i64.load8_u
i64.store
return
end
local.get 2
local.get 2
i32.load
i32.const 7
i32.add
i32.const -8
i32.and
local.tee 1
i32.const 8
i32.add
i32.store
local.get 0
local.get 1
f64.load
f64.store
return
end
local.get 0
local.get 2
local.get 3
call_indirect (type 10)
end)
(func (;36;) (type 18) (param i64 i32 i32) (result i32)
(local i32)
block ;; label = @1
local.get 0
i64.eqz
br_if 0 (;@1;)
loop ;; label = @2
local.get 1
i32.const -1
i32.add
local.tee 1
local.get 0
i32.wrap_i64
i32.const 15
i32.and
i32.const 1584
i32.add
i32.load8_u
local.get 2
i32.or
i32.store8
local.get 0
i64.const 15
i64.gt_u
local.set 3
local.get 0
i64.const 4
i64.shr_u
local.set 0
local.get 3
br_if 0 (;@2;)
end
end
local.get 1)
(func (;37;) (type 11) (param i64 i32) (result i32)
(local i32)
block ;; label = @1
local.get 0
i64.eqz
br_if 0 (;@1;)
loop ;; label = @2
local.get 1
i32.const -1
i32.add
local.tee 1
local.get 0
i32.wrap_i64
i32.const 7
i32.and
i32.const 48
i32.or
i32.store8
local.get 0
i64.const 7
i64.gt_u
local.set 2
local.get 0
i64.const 3
i64.shr_u
local.set 0
local.get 2
br_if 0 (;@2;)
end
end
local.get 1)
(func (;38;) (type 11) (param i64 i32) (result i32)
(local i64 i32 i32 i32)
block ;; label = @1
block ;; label = @2
local.get 0
i64.const 4294967296
i64.ge_u
br_if 0 (;@2;)
local.get 0
local.set 2
br 1 (;@1;)
end
loop ;; label = @2
local.get 1
i32.const -1
i32.add
local.tee 1
local.get 0
local.get 0
i64.const 10
i64.div_u
local.tee 2
i64.const 10
i64.mul
i64.sub
i32.wrap_i64
i32.const 48
i32.or
i32.store8
local.get 0
i64.const 42949672959
i64.gt_u
local.set 3
local.get 2
local.set 0
local.get 3
br_if 0 (;@2;)
end
end
block ;; label = @1
local.get 2
i32.wrap_i64
local.tee 3
i32.eqz
br_if 0 (;@1;)
loop ;; label = @2
local.get 1
i32.const -1
i32.add
local.tee 1
local.get 3
local.get 3
i32.const 10
i32.div_u
local.tee 4
i32.const 10
i32.mul
i32.sub
i32.const 48
i32.or
i32.store8
local.get 3
i32.const 9
i32.gt_u
local.set 5
local.get 4
local.set 3
local.get 5
br_if 0 (;@2;)
end
end
local.get 1)
(func (;39;) (type 19) (param i32 i32 i32 i32 i32)
(local i32)
global.get 0
i32.const 256
i32.sub
local.tee 5
global.set 0
block ;; label = @1
local.get 4
i32.const 73728
i32.and
br_if 0 (;@1;)
local.get 2
local.get 3
i32.le_s
br_if 0 (;@1;)
local.get 5
local.get 1
i32.const 255
i32.and
local.get 2
local.get 3
i32.sub
local.tee 2
i32.const 256
local.get 2
i32.const 256
i32.lt_u
local.tee 3
select
call 11
drop
block ;; label = @2
local.get 3
br_if 0 (;@2;)
loop ;; label = @3
local.get 0
local.get 5
i32.const 256
call 33
local.get 2
i32.const -256
i32.add
local.tee 2
i32.const 255
i32.gt_u
br_if 0 (;@3;)
end
end
local.get 0
local.get 5
local.get 2
call 33
end
local.get 5
i32.const 256
i32.add
global.set 0)
(func (;40;) (type 0) (param i32 i32 i32) (result i32)
local.get 0
local.get 1
local.get 2
i32.const 4
i32.const 5
call 31)
(func (;41;) (type 9) (param i32 f64 i32 i32 i32 i32) (result i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i64 f64)
global.get 0
i32.const 560
i32.sub
local.tee 6
global.set 0
i32.const 0
local.set 7
local.get 6
i32.const 0
i32.store offset=44
block ;; label = @1
block ;; label = @2
local.get 1
call 43
local.tee 23
i64.const -1
i64.gt_s
br_if 0 (;@2;)
i32.const 1
local.set 8
i32.const 1034
local.set 9
local.get 1
f64.neg
local.tee 1
call 43
local.set 23
br 1 (;@1;)
end
block ;; label = @2
local.get 4
i32.const 2048
i32.and
i32.eqz
br_if 0 (;@2;)
i32.const 1
local.set 8
i32.const 1037
local.set 9
br 1 (;@1;)
end
i32.const 1040
i32.const 1035
local.get 4
i32.const 1
i32.and
local.tee 8
select
local.set 9
local.get 8
i32.eqz
local.set 7
end
block ;; label = @1
block ;; label = @2
local.get 23
i64.const 9218868437227405312
i64.and
i64.const 9218868437227405312
i64.ne
br_if 0 (;@2;)
local.get 0
i32.const 32
local.get 2
local.get 8
i32.const 3
i32.add
local.tee 10
local.get 4
i32.const -65537
i32.and
call 39
local.get 0
local.get 9
local.get 8
call 33
local.get 0
i32.const 1053
i32.const 1061
local.get 5
i32.const 32
i32.and
local.tee 11
select
i32.const 1057
i32.const 1065
local.get 11
select
local.get 1
local.get 1
f64.ne
select
i32.const 3
call 33
local.get 0
i32.const 32
local.get 2
local.get 10
local.get 4
i32.const 8192
i32.xor
call 39
br 1 (;@1;)
end
local.get 6
i32.const 16
i32.add
local.set 12
block ;; label = @2
block ;; label = @3
block ;; label = @4
block ;; label = @5
local.get 1
local.get 6
i32.const 44
i32.add
call 21
local.tee 1
local.get 1
f64.add
local.tee 1
f64.const 0x0p+0 (;=0;)
f64.eq
br_if 0 (;@5;)
local.get 6
local.get 6
i32.load offset=44
local.tee 11
i32.const -1
i32.add
i32.store offset=44
local.get 5
i32.const 32
i32.or
local.tee 13
i32.const 97
i32.ne
br_if 1 (;@4;)
br 3 (;@2;)
end
local.get 5
i32.const 32
i32.or
local.tee 13
i32.const 97
i32.eq
br_if 2 (;@2;)
i32.const 6
local.get 3
local.get 3
i32.const 0
i32.lt_s
select
local.set 14
local.get 6
i32.load offset=44
local.set 15
br 1 (;@3;)
end
local.get 6
local.get 11
i32.const -29
i32.add
local.tee 15
i32.store offset=44
i32.const 6
local.get 3
local.get 3
i32.const 0
i32.lt_s
select
local.set 14
local.get 1
f64.const 0x1p+28 (;=2.68435e+08;)
f64.mul
local.set 1
end
local.get 6
i32.const 48
i32.add
local.get 6
i32.const 336
i32.add
local.get 15
i32.const 0
i32.lt_s
select
local.tee 16
local.set 17
loop ;; label = @3
block ;; label = @4
block ;; label = @5
local.get 1
f64.const 0x1p+32 (;=4.29497e+09;)
f64.lt
local.get 1
f64.const 0x0p+0 (;=0;)
f64.ge
i32.and
i32.eqz
br_if 0 (;@5;)
local.get 1
i32.trunc_f64_u
local.set 11
br 1 (;@4;)
end
i32.const 0
local.set 11
end
local.get 17
local.get 11
i32.store
local.get 17
i32.const 4
i32.add
local.set 17
local.get 1
local.get 11
f64.convert_i32_u
f64.sub
f64.const 0x1.dcd65p+29 (;=1e+09;)
f64.mul
local.tee 1
f64.const 0x0p+0 (;=0;)
f64.ne
br_if 0 (;@3;)
end
block ;; label = @3
block ;; label = @4
local.get 15
i32.const 1
i32.ge_s
br_if 0 (;@4;)
local.get 17
local.set 11
local.get 16
local.set 18
br 1 (;@3;)
end
local.get 16
local.set 18
loop ;; label = @4
local.get 15
i32.const 29
local.get 15
i32.const 29
i32.lt_s
select
local.set 15
block ;; label = @5
local.get 17
i32.const -4
i32.add
local.tee 11
local.get 18
i32.lt_u
br_if 0 (;@5;)
local.get 15
i64.extend_i32_u
local.set 24
i64.const 0
local.set 23
loop ;; label = @6
local.get 11
local.get 11
i64.load32_u
local.get 24
i64.shl
local.get 23
i64.const 4294967295
i64.and
i64.add
local.tee 23
local.get 23
i64.const 1000000000
i64.div_u
local.tee 23
i64.const 1000000000
i64.mul
i64.sub
i64.store32
local.get 11
i32.const -4
i32.add
local.tee 11
local.get 18
i32.ge_u
br_if 0 (;@6;)
end
local.get 23
i32.wrap_i64
local.tee 11
i32.eqz
br_if 0 (;@5;)
local.get 18
i32.const -4
i32.add
local.tee 18
local.get 11
i32.store
end
block ;; label = @5
loop ;; label = @6
local.get 17
local.tee 11
local.get 18
i32.le_u
br_if 1 (;@5;)
local.get 11
i32.const -4
i32.add
local.tee 17
i32.load
i32.eqz
br_if 0 (;@6;)
end
end
local.get 6
local.get 6
i32.load offset=44
local.get 15
i32.sub
local.tee 15
i32.store offset=44
local.get 11
local.set 17
local.get 15
i32.const 0
i32.gt_s
br_if 0 (;@4;)
end
end
local.get 14
i32.const 25
i32.add
i32.const 9
i32.div_s
local.set 17
block ;; label = @3
local.get 15
i32.const -1
i32.gt_s
br_if 0 (;@3;)
local.get 17
i32.const 1
i32.add
local.set 19
local.get 13
i32.const 102
i32.eq
local.set 20
loop ;; label = @4
i32.const 9
i32.const 0
local.get 15
i32.sub
local.get 15
i32.const -9
i32.lt_s
select
local.set 10
block ;; label = @5
block ;; label = @6
local.get 18
local.get 11
i32.ge_u
br_if 0 (;@6;)
i32.const 1000000000
local.get 10
i32.shr_u
local.set 21
i32.const -1
local.get 10
i32.shl
i32.const -1
i32.xor
local.set 22
i32.const 0
local.set 15
local.get 18
local.set 17
loop ;; label = @7
local.get 17
local.get 17
i32.load
local.tee 3
local.get 10
i32.shr_u
local.get 15
i32.add
i32.store
local.get 3
local.get 22
i32.and
local.get 21
i32.mul
local.set 15
local.get 17
i32.const 4
i32.add
local.tee 17
local.get 11
i32.lt_u
br_if 0 (;@7;)
end
local.get 18
i32.load
local.set 17
local.get 15
i32.eqz
br_if 1 (;@5;)
local.get 11
local.get 15
i32.store
local.get 11
i32.const 4
i32.add
local.set 11
br 1 (;@5;)
end
local.get 18
i32.load
local.set 17
end
local.get 6
local.get 6
i32.load offset=44
local.get 10
i32.add
local.tee 15
i32.store offset=44
local.get 16
local.get 18
local.get 17
i32.eqz
i32.const 2
i32.shl
i32.add
local.tee 18
local.get 20
select
local.tee 17
local.get 19
i32.const 2
i32.shl
i32.add
local.get 11
local.get 11
local.get 17
i32.sub
i32.const 2
i32.shr_s
local.get 19
i32.gt_s
select
local.set 11
local.get 15
i32.const 0
i32.lt_s
br_if 0 (;@4;)
end
end
i32.const 0
local.set 17
block ;; label = @3
local.get 18
local.get 11
i32.ge_u
br_if 0 (;@3;)
local.get 16
local.get 18
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set 17
i32.const 10
local.set 15
local.get 18
i32.load
local.tee 3
i32.const 10
i32.lt_u
br_if 0 (;@3;)
loop ;; label = @4
local.get 17
i32.const 1
i32.add
local.set 17
local.get 3
local.get 15
i32.const 10
i32.mul
local.tee 15
i32.ge_u
br_if 0 (;@4;)
end
end
block ;; label = @3
local.get 14
i32.const 0
local.get 17
local.get 13
i32.const 102
i32.eq
select
i32.sub
local.get 13
i32.const 103
i32.eq
local.get 14
i32.const 0
i32.ne
i32.and
i32.sub
local.tee 15
local.get 11
local.get 16
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
i32.const -9
i32.add
i32.ge_s
br_if 0 (;@3;)
local.get 15
i32.const 9216
i32.add
local.tee 3
i32.const 9
i32.div_s
local.tee 21
i32.const 2
i32.shl
local.get 16
i32.add
i32.const -4092
i32.add
local.set 10
i32.const 10
local.set 15
block ;; label = @4
local.get 3
local.get 21
i32.const 9
i32.mul
i32.sub
local.tee 3
i32.const 7
i32.gt_s
br_if 0 (;@4;)
loop ;; label = @5
local.get 15
i32.const 10
i32.mul
local.set 15
local.get 3
i32.const 1
i32.add
local.tee 3
i32.const 8
i32.ne
br_if 0 (;@5;)
end
end
local.get 10
i32.const 4
i32.add
local.set 22
block ;; label = @4
block ;; label = @5
local.get 10
i32.load
local.tee 3
local.get 3
local.get 15
i32.div_u
local.tee 19
local.get 15
i32.mul
i32.sub
local.tee 21
br_if 0 (;@5;)
local.get 22
local.get 11
i32.eq
br_if 1 (;@4;)
end
f64.const 0x1p-1 (;=0.5;)
f64.const 0x1p+0 (;=1;)
f64.const 0x1.8p+0 (;=1.5;)
local.get 22
local.get 11
i32.eq
select
f64.const 0x1.8p+0 (;=1.5;)
local.get 21
local.get 15
i32.const 1
i32.shr_u
local.tee 22
i32.eq
select
local.get 21
local.get 22
i32.lt_u
select
local.set 25
f64.const 0x1.0000000000001p+53 (;=9.0072e+15;)
f64.const 0x1p+53 (;=9.0072e+15;)
local.get 19
i32.const 1
i32.and
select
local.set 1
block ;; label = @5
local.get 7
br_if 0 (;@5;)
local.get 9
i32.load8_u
i32.const 45
i32.ne
br_if 0 (;@5;)
local.get 25
f64.neg
local.set 25
local.get 1
f64.neg
local.set 1
end
local.get 10
local.get 3
local.get 21
i32.sub
local.tee 3
i32.store
local.get 1
local.get 25
f64.add
local.get 1
f64.eq
br_if 0 (;@4;)
local.get 10
local.get 3
local.get 15
i32.add
local.tee 17
i32.store
block ;; label = @5
local.get 17
i32.const 1000000000
i32.lt_u
br_if 0 (;@5;)
loop ;; label = @6
local.get 10
i32.const 0
i32.store
block ;; label = @7
local.get 10
i32.const -4
i32.add
local.tee 10
local.get 18
i32.ge_u
br_if 0 (;@7;)
local.get 18
i32.const -4
i32.add
local.tee 18
i32.const 0
i32.store
end
local.get 10
local.get 10
i32.load
i32.const 1
i32.add
local.tee 17
i32.store
local.get 17
i32.const 999999999
i32.gt_u
br_if 0 (;@6;)
end
end
local.get 16
local.get 18
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set 17
i32.const 10
local.set 15
local.get 18
i32.load
local.tee 3
i32.const 10
i32.lt_u
br_if 0 (;@4;)
loop ;; label = @5
local.get 17
i32.const 1
i32.add
local.set 17
local.get 3
local.get 15
i32.const 10
i32.mul
local.tee 15
i32.ge_u
br_if 0 (;@5;)
end
end
local.get 10
i32.const 4
i32.add
local.tee 15
local.get 11
local.get 11
local.get 15
i32.gt_u
select
local.set 11
end
block ;; label = @3
loop ;; label = @4
local.get 11
local.tee 3
local.get 18
i32.le_u
local.tee 15
br_if 1 (;@3;)
local.get 3
i32.const -4
i32.add
local.tee 11
i32.load
i32.eqz
br_if 0 (;@4;)
end
end
block ;; label = @3
block ;; label = @4
local.get 13
i32.const 103
i32.eq
br_if 0 (;@4;)
local.get 4
i32.const 8
i32.and
local.set 22
br 1 (;@3;)
end
local.get 17
i32.const -1
i32.xor
i32.const -1
local.get 14
i32.const 1
local.get 14
select
local.tee 11
local.get 17
i32.gt_s
local.get 17
i32.const -5
i32.gt_s
i32.and
local.tee 10
select
local.get 11
i32.add
local.set 14
i32.const -1
i32.const -2
local.get 10
select
local.get 5
i32.add
local.set 5
local.get 4
i32.const 8
i32.and
local.tee 22
br_if 0 (;@3;)
i32.const -9
local.set 11
block ;; label = @4
local.get 15
br_if 0 (;@4;)
local.get 3
i32.const -4
i32.add
i32.load
local.tee 10
i32.eqz
br_if 0 (;@4;)
i32.const 10
local.set 15
i32.const 0
local.set 11
local.get 10
i32.const 10
i32.rem_u
br_if 0 (;@4;)
loop ;; label = @5
local.get 11
local.tee 21
i32.const 1
i32.add
local.set 11
local.get 10
local.get 15
i32.const 10
i32.mul
local.tee 15
i32.rem_u
i32.eqz
br_if 0 (;@5;)
end
local.get 21
i32.const -1
i32.xor
local.set 11
end
local.get 3
local.get 16
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set 15
block ;; label = @4
local.get 5
i32.const -33
i32.and
i32.const 70
i32.ne
br_if 0 (;@4;)
i32.const 0
local.set 22
local.get 14
local.get 15
local.get 11
i32.add
i32.const -9
i32.add
local.tee 11
i32.const 0
local.get 11
i32.const 0
i32.gt_s
select
local.tee 11
local.get 14
local.get 11
i32.lt_s
select
local.set 14
br 1 (;@3;)
end
i32.const 0
local.set 22
local.get 14
local.get 17
local.get 15
i32.add
local.get 11
i32.add
i32.const -9
i32.add
local.tee 11
i32.const 0
local.get 11
i32.const 0
i32.gt_s
select
local.tee 11
local.get 14
local.get 11
i32.lt_s
select
local.set 14
end
local.get 14
local.get 22
i32.or
i32.const 0
i32.ne
local.set 19
block ;; label = @3
block ;; label = @4
local.get 5
i32.const -33
i32.and
local.tee 15
i32.const 70
i32.ne
br_if 0 (;@4;)
local.get 17
i32.const 0
local.get 17
i32.const 0
i32.gt_s
select
local.set 11
br 1 (;@3;)
end
block ;; label = @4
local.get 12
local.get 17
local.get 17
i32.const 31
i32.shr_s
local.tee 11
i32.add
local.get 11
i32.xor
i64.extend_i32_u
local.get 12
call 38
local.tee 11
i32.sub
i32.const 1
i32.gt_s
br_if 0 (;@4;)
loop ;; label = @5
local.get 11
i32.const -1
i32.add
local.tee 11
i32.const 48
i32.store8
local.get 12
local.get 11
i32.sub
i32.const 2
i32.lt_s
br_if 0 (;@5;)
end
end
local.get 11
i32.const -2
i32.add
local.tee 20
local.get 5
i32.store8
local.get 11
i32.const -1
i32.add
i32.const 45
i32.const 43
local.get 17
i32.const 0
i32.lt_s
select
i32.store8
local.get 12
local.get 20
i32.sub
local.set 11
end
local.get 0
i32.const 32
local.get 2
local.get 8
local.get 14
i32.add
local.get 19
i32.add
local.get 11
i32.add
i32.const 1
i32.add
local.tee 10
local.get 4
call 39
local.get 0
local.get 9
local.get 8
call 33
local.get 0
i32.const 48
local.get 2
local.get 10
local.get 4
i32.const 65536
i32.xor
call 39
block ;; label = @3
block ;; label = @4
block ;; label = @5
block ;; label = @6
local.get 15
i32.const 70
i32.ne
br_if 0 (;@6;)
local.get 6
i32.const 16
i32.add
i32.const 8
i32.or
local.set 21
local.get 6
i32.const 16
i32.add
i32.const 9
i32.or
local.set 15
local.get 16
local.get 18
local.get 18
local.get 16
i32.gt_u
select
local.tee 18
local.set 17
loop ;; label = @7
local.get 17
i64.load32_u
local.get 15
call 38
local.set 11
block ;; label = @8
block ;; label = @9
local.get 17
local.get 18
i32.eq
br_if 0 (;@9;)
local.get 11
local.get 6
i32.const 16
i32.add
i32.le_u
br_if 1 (;@8;)
loop ;; label = @10
local.get 11
i32.const -1
i32.add
local.tee 11
i32.const 48
i32.store8
local.get 11
local.get 6
i32.const 16
i32.add
i32.gt_u
br_if 0 (;@10;)
br 2 (;@8;)
end
unreachable
end
local.get 11
local.get 15
i32.ne
br_if 0 (;@8;)
local.get 6
i32.const 48
i32.store8 offset=24
local.get 21
local.set 11
end
local.get 0
local.get 11
local.get 15
local.get 11
i32.sub
call 33
local.get 17
i32.const 4
i32.add
local.tee 17
local.get 16
i32.le_u
br_if 0 (;@7;)
end
i32.const 0
local.set 11
local.get 19
i32.eqz
br_if 2 (;@4;)
local.get 0
i32.const 1069
i32.const 1
call 33
local.get 17
local.get 3
i32.ge_u
br_if 1 (;@5;)
local.get 14
i32.const 1
i32.lt_s
br_if 1 (;@5;)
loop ;; label = @7
block ;; label = @8
local.get 17
i64.load32_u
local.get 15
call 38
local.tee 11
local.get 6
i32.const 16
i32.add
i32.le_u
br_if 0 (;@8;)
loop ;; label = @9
local.get 11
i32.const -1
i32.add
local.tee 11
i32.const 48
i32.store8
local.get 11
local.get 6
i32.const 16
i32.add
i32.gt_u
br_if 0 (;@9;)
end
end
local.get 0
local.get 11
local.get 14
i32.const 9
local.get 14
i32.const 9
i32.lt_s
select
call 33
local.get 14
i32.const -9
i32.add
local.set 11
local.get 17
i32.const 4
i32.add
local.tee 17
local.get 3
i32.ge_u
br_if 3 (;@4;)
local.get 14
i32.const 9
i32.gt_s
local.set 18
local.get 11
local.set 14
local.get 18
br_if 0 (;@7;)
br 3 (;@4;)
end
unreachable
end
block ;; label = @6
local.get 14
i32.const 0
i32.lt_s
br_if 0 (;@6;)
local.get 3
local.get 18
i32.const 4
i32.add
local.get 3
local.get 18
i32.gt_u
select
local.set 21
local.get 6
i32.const 16
i32.add
i32.const 9
i32.or
local.set 15
local.get 6
i32.const 16
i32.add
i32.const 8
i32.or
local.set 16
local.get 18
local.set 17
loop ;; label = @7
block ;; label = @8
local.get 17
i64.load32_u
local.get 15
call 38
local.tee 11
local.get 15
i32.ne
br_if 0 (;@8;)
local.get 6
i32.const 48
i32.store8 offset=24
local.get 16
local.set 11
end
block ;; label = @8
block ;; label = @9
local.get 17
local.get 18
i32.eq
br_if 0 (;@9;)
local.get 11
local.get 6
i32.const 16
i32.add
i32.le_u
br_if 1 (;@8;)
loop ;; label = @10
local.get 11
i32.const -1
i32.add
local.tee 11
i32.const 48
i32.store8
local.get 11
local.get 6
i32.const 16
i32.add
i32.gt_u
br_if 0 (;@10;)
br 2 (;@8;)
end
unreachable
end
local.get 0
local.get 11
i32.const 1
call 33
local.get 11
i32.const 1
i32.add
local.set 11
block ;; label = @9
local.get 14
i32.const 0
i32.gt_s
br_if 0 (;@9;)
local.get 22
i32.eqz
br_if 1 (;@8;)
end
local.get 0
i32.const 1069
i32.const 1
call 33
end
local.get 0
local.get 11
local.get 15
local.get 11
i32.sub
local.tee 3
local.get 14
local.get 14
local.get 3
i32.gt_s
select
call 33
local.get 14
local.get 3
i32.sub
local.set 14
local.get 17
i32.const 4
i32.add
local.tee 17
local.get 21
i32.ge_u
br_if 1 (;@6;)
local.get 14
i32.const -1
i32.gt_s
br_if 0 (;@7;)
end
end
local.get 0
i32.const 48
local.get 14
i32.const 18
i32.add
i32.const 18
i32.const 0
call 39
local.get 0
local.get 20
local.get 12
local.get 20
i32.sub
call 33
br 2 (;@3;)
end
local.get 14
local.set 11
end
local.get 0
i32.const 48
local.get 11
i32.const 9
i32.add
i32.const 9
i32.const 0
call 39
end
local.get 0
i32.const 32
local.get 2
local.get 10
local.get 4
i32.const 8192
i32.xor
call 39
br 1 (;@1;)
end
local.get 9
local.get 5
i32.const 26
i32.shl
i32.const 31
i32.shr_s
i32.const 9
i32.and
i32.add
local.set 14
block ;; label = @2
local.get 3
i32.const 11
i32.gt_u
br_if 0 (;@2;)
i32.const 12
local.get 3
i32.sub
local.tee 11
i32.eqz
br_if 0 (;@2;)
f64.const 0x1p+3 (;=8;)
local.set 25
loop ;; label = @3
local.get 25
f64.const 0x1p+4 (;=16;)
f64.mul
local.set 25
local.get 11
i32.const -1
i32.add
local.tee 11
br_if 0 (;@3;)
end
block ;; label = @3
local.get 14
i32.load8_u
i32.const 45
i32.ne
br_if 0 (;@3;)
local.get 25
local.get 1
f64.neg
local.get 25
f64.sub
f64.add
f64.neg
local.set 1
br 1 (;@2;)
end
local.get 1
local.get 25
f64.add
local.get 25
f64.sub
local.set 1
end
block ;; label = @2
local.get 6
i32.load offset=44
local.tee 11
local.get 11
i32.const 31
i32.shr_s
local.tee 11
i32.add
local.get 11
i32.xor
i64.extend_i32_u
local.get 12
call 38
local.tee 11
local.get 12
i32.ne
br_if 0 (;@2;)
local.get 6
i32.const 48
i32.store8 offset=15
local.get 6
i32.const 15
i32.add
local.set 11
end
local.get 8
i32.const 2
i32.or
local.set 22
local.get 5
i32.const 32
i32.and
local.set 18
local.get 6
i32.load offset=44
local.set 17
local.get 11
i32.const -2
i32.add
local.tee 21
local.get 5
i32.const 15
i32.add
i32.store8
local.get 11
i32.const -1
i32.add
i32.const 45
i32.const 43
local.get 17
i32.const 0
i32.lt_s
select
i32.store8
local.get 4
i32.const 8
i32.and
local.set 15
local.get 6
i32.const 16
i32.add
local.set 17
loop ;; label = @2
local.get 17
local.set 11
block ;; label = @3
block ;; label = @4
local.get 1
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@4;)
local.get 1
i32.trunc_f64_s
local.set 17
br 1 (;@3;)
end
i32.const -2147483648
local.set 17
end
local.get 11
local.get 17
i32.const 1584
i32.add
i32.load8_u
local.get 18
i32.or
i32.store8
local.get 1
local.get 17
f64.convert_i32_s
f64.sub
f64.const 0x1p+4 (;=16;)
f64.mul
local.set 1
block ;; label = @3
local.get 11
i32.const 1
i32.add
local.tee 17
local.get 6
i32.const 16
i32.add
i32.sub
i32.const 1
i32.ne
br_if 0 (;@3;)
block ;; label = @4
local.get 1
f64.const 0x0p+0 (;=0;)
f64.ne
br_if 0 (;@4;)
local.get 3
i32.const 0
i32.gt_s
br_if 0 (;@4;)
local.get 15
i32.eqz
br_if 1 (;@3;)
end
local.get 11
i32.const 46
i32.store8 offset=1
local.get 11
i32.const 2
i32.add
local.set 17
end
local.get 1
f64.const 0x0p+0 (;=0;)
f64.ne
br_if 0 (;@2;)
end
block ;; label = @2
block ;; label = @3
local.get 3
i32.eqz
br_if 0 (;@3;)
local.get 17
local.get 6
i32.const 16
i32.add
i32.sub
i32.const -2
i32.add
local.get 3
i32.ge_s
br_if 0 (;@3;)
local.get 3
local.get 12
i32.add
local.get 21
i32.sub
i32.const 2
i32.add
local.set 11
br 1 (;@2;)
end
local.get 12
local.get 6
i32.const 16
i32.add
local.get 21
i32.add
i32.sub
local.get 17
i32.add
local.set 11
end
local.get 0
i32.const 32
local.get 2
local.get 11
local.get 22
i32.add
local.tee 10
local.get 4
call 39
local.get 0
local.get 14
local.get 22
call 33
local.get 0
i32.const 48
local.get 2
local.get 10
local.get 4
i32.const 65536
i32.xor
call 39
local.get 0
local.get 6
i32.const 16
i32.add
local.get 17
local.get 6
i32.const 16
i32.add
i32.sub
local.tee 17
call 33
local.get 0
i32.const 48
local.get 11
local.get 17
local.get 12
local.get 21
i32.sub
local.tee 18
i32.add
i32.sub
i32.const 0
i32.const 0
call 39
local.get 0
local.get 21
local.get 18
call 33
local.get 0
i32.const 32
local.get 2
local.get 10
local.get 4
i32.const 8192
i32.xor
call 39
end
local.get 6
i32.const 560
i32.add
global.set 0
local.get 2
local.get 10
local.get 10
local.get 2
i32.lt_s
select)
(func (;42;) (type 10) (param i32 i32)
(local i32)
local.get 1
local.get 1
i32.load
i32.const 7
i32.add
i32.const -8
i32.and
local.tee 2
i32.const 16
i32.add
i32.store
local.get 0
local.get 2
i64.load
local.get 2
i32.const 8
i32.add
i64.load
call 24
f64.store)
(func (;43;) (type 20) (param f64) (result i64)
local.get 0
i64.reinterpret_f64)
(func (;44;) (type 5) (param i32 i32) (result i32)
(local i32)
global.get 0
i32.const 16
i32.sub
local.tee 2
global.set 0
local.get 2
local.get 1
i32.store offset=12
i32.const 0
i32.load offset=1104
local.get 0
local.get 1
call 40
local.set 1
local.get 2
i32.const 16
i32.add
global.set 0
local.get 1)
(func (;45;) (type 1) (param i32) (result i32)
i32.const 1)
(func (;46;) (type 3) (param i32))
(func (;47;) (type 2) (result i32)
global.get 0)
(func (;48;) (type 3) (param i32)
local.get 0
global.set 0)
(func (;49;) (type 1) (param i32) (result i32)
(local i32 i32)
global.get 0
local.get 0
i32.sub
i32.const -16
i32.and
local.tee 1
global.set 0
local.get 1)
(func (;50;) (type 1) (param i32) (result i32)
(local i32 i32)
block ;; label = @1
block ;; label = @2
local.get 0
i32.eqz
br_if 0 (;@2;)
block ;; label = @3
local.get 0
i32.load offset=76
i32.const -1
i32.gt_s
br_if 0 (;@3;)
local.get 0
call 51
return
end
local.get 0
call 45
local.set 1
local.get 0
call 51
local.set 2
local.get 1
i32.eqz
br_if 1 (;@1;)
local.get 0
call 46
local.get 2
return
end
i32.const 0
local.set 2
block ;; label = @2
i32.const 0
i32.load offset=1744
i32.eqz
br_if 0 (;@2;)
i32.const 0
i32.load offset=1744
call 50
local.set 2
end
block ;; label = @2
call 27
i32.load
local.tee 0
i32.eqz
br_if 0 (;@2;)
loop ;; label = @3
i32.const 0
local.set 1
block ;; label = @4
local.get 0
i32.load offset=76
i32.const 0
i32.lt_s
br_if 0 (;@4;)
local.get 0
call 45
local.set 1
end
block ;; label = @4
local.get 0
i32.load offset=20
local.get 0
i32.load offset=28
i32.le_u
br_if 0 (;@4;)
local.get 0
call 51
local.get 2
i32.or
local.set 2
end
block ;; label = @4
local.get 1
i32.eqz
br_if 0 (;@4;)
local.get 0
call 46
end
local.get 0
i32.load offset=56
local.tee 0
br_if 0 (;@3;)
end
end
call 28
end
local.get 2)
(func (;51;) (type 1) (param i32) (result i32)
(local i32 i32)
block ;; label = @1
local.get 0
i32.load offset=20
local.get 0
i32.load offset=28
i32.le_u
br_if 0 (;@1;)
local.get 0
i32.const 0
i32.const 0
local.get 0
i32.load offset=36
call_indirect (type 0)
drop
local.get 0
i32.load offset=20
br_if 0 (;@1;)
i32.const -1
return
end
block ;; label = @1
local.get 0
i32.load offset=4
local.tee 1
local.get 0
i32.load offset=8
local.tee 2
i32.ge_u
br_if 0 (;@1;)
local.get 0
local.get 1
local.get 2
i32.sub
i64.extend_i32_s
i32.const 1
local.get 0
i32.load offset=40
call_indirect (type 6)
drop
end
local.get 0
i32.const 0
i32.store offset=28
local.get 0
i64.const 0
i64.store offset=16
local.get 0
i64.const 0
i64.store offset=4 align=4
i32.const 0)
(func (;52;) (type 21) (param i32 i32 i64 i32) (result i64)
local.get 1
local.get 2
local.get 3
local.get 0
call_indirect (type 6))
(func (;53;) (type 8) (param i32 i32 i32 i32 i32) (result i32)
(local i64)
local.get 0
local.get 1
local.get 2
i64.extend_i32_u
local.get 3
i64.extend_i32_u
i64.const 32
i64.shl
i64.or
local.get 4
call 52
local.set 5
local.get 5
i64.const 32
i64.shr_u
i32.wrap_i64
call 2
local.get 5
i32.wrap_i64)
(table (;0;) 6 6 funcref)
(memory (;0;) 256 256)
(global (;0;) (mut i32) (i32.const 5246000))
(global (;1;) (mut i32) (i32.const 0))
(global (;2;) (mut i32) (i32.const 0))
(export "memory" (memory 0))
(export "__wasm_call_ctors" (func 3))
(export "main" (func 5))
(export "__indirect_function_table" (table 0))
(export "fflush" (func 50))
(export "__errno_location" (func 6))
(export "stackSave" (func 47))
(export "stackRestore" (func 48))
(export "stackAlloc" (func 49))
(export "emscripten_stack_init" (func 15))
(export "emscripten_stack_get_free" (func 16))
(export "emscripten_stack_get_end" (func 17))
(export "dynCall_jiji" (func 53))
(elem (;0;) (i32.const 1) func 9 8 10 41 42)
(data (;0;) (i32.const 1024) "-+ 0X0x\00-0X+0X 0X-0x+0x 0x\00nan\00inf\00NAN\00INF\00.\00(null)\00My first program in WASM\0a\00@\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\00\0a\00\11\11\11\00\00\00\00\05\00\00\00\00\00\00\09\00\00\00\00\0b\00\00\00\00\00\00\00\00\11\00\0f\0a\11\11\11\03\0a\07\00\01\00\09\0b\0b\00\00\09\06\0b\00\00\0b\00\06\11\00\00\00\11\11\11\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\00\00\00\00\00\11\00\0a\0a\11\11\11\00\0a\00\00\02\00\09\0b\00\00\00\09\00\0b\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\0c\00\00\00\00\09\0c\00\00\00\00\00\0c\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\0d\00\00\00\04\0d\00\00\00\00\09\0e\00\00\00\00\00\0e\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\00\0f\00\00\00\00\09\10\00\00\00\00\00\10\00\00\10\00\00\12\00\00\00\12\12\12\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\12\12\12\00\00\00\00\00\00\09\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\0a\00\00\00\00\0a\00\00\00\00\09\0b\00\00\00\00\00\0b\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\0c\00\00\00\00\09\0c\00\00\00\00\00\0c\00\00\0c\00\000123456789ABCDEF")
(data (;1;) (i32.const 1600) "\05\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\d8\07\00\00\00\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0a\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00@\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment