Skip to content

Instantly share code, notes, and snippets.

@taegyunkim
Created February 24, 2020 20:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taegyunkim/1e00fc4f516ad21774e5ab14dfcc3696 to your computer and use it in GitHub Desktop.
Save taegyunkim/1e00fc4f516ad21774e5ab14dfcc3696 to your computer and use it in GitHub Desktop.
(module
(type (;0;) (func (param i32) (result i32)))
(type (;1;) (func (param i32 i32 i32) (result i32)))
(type (;2;) (func (param i32 i32) (result i32)))
(type (;3;) (func (param i32)))
(type (;4;) (func (param i32 i32 i32)))
(type (;5;) (func (result i32)))
(type (;6;) (func (param i32 i32)))
(type (;7;) (func))
(type (;8;) (func (param i32 f64 i32 i32 i32 i32) (result i32)))
(type (;9;) (func (param i64 i32) (result i32)))
(type (;10;) (func (param i32 i32 i32 i32)))
(type (;11;) (func (param i32 i32 i32 i32 i32)))
(type (;12;) (func (param i32 i32 i32 i32) (result i32)))
(type (;13;) (func (param i32 i32 i32 i32 i32 i32) (result i32)))
(type (;14;) (func (param i32 i64 i32 i32) (result i32)))
(type (;15;) (func (param i64 i32 i32) (result i32)))
(type (;16;) (func (param i32 i64 i32) (result i64)))
(type (;17;) (func (param f64 i32) (result f64)))
(import "wasi_snapshot_preview1" "args_sizes_get" (func (;0;) (type 2)))
(import "wasi_snapshot_preview1" "args_get" (func (;1;) (type 2)))
(import "wasi_snapshot_preview1" "proc_exit" (func (;2;) (type 3)))
(import "wasi_snapshot_preview1" "fd_close" (func (;3;) (type 0)))
(import "wasi_snapshot_preview1" "fd_write" (func (;4;) (type 12)))
(import "wasi_snapshot_preview1" "fd_seek" (func (;5;) (type 14)))
(func (;6;) (type 7)
nop)
(func (;7;) (type 2) (param i32 i32) (result i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 f64)
global.get 0
i32.const 48
i32.sub
local.tee 6
global.set 0
call 8
local.set 5
i32.const 1
local.set 1
i32.const 0
local.set 0
loop ;; label = @1
local.get 5
local.get 0
local.tee 2
i32.const 16000
i32.mul
i32.add
local.set 3
i32.const 0
local.get 0
i32.const 3
i32.shl
local.tee 4
i32.sub
local.set 7
local.get 0
i32.const 16008
i32.mul
local.get 5
i32.add
i32.const 8
i32.add
local.set 8
i32.const 0
local.set 0
loop ;; label = @2
local.get 3
local.get 0
i32.const 3
i32.shl
i32.add
i32.const 0
local.get 0
i32.sub
f64.convert_i32_s
f64.const 0x1.f4p+10 (;=2000;)
f64.div
f64.const 0x1p+0 (;=1;)
f64.add
f64.store
local.get 0
i32.const 1
i32.add
local.tee 0
local.get 1
i32.ne
br_if 0 (;@2;)
end
local.get 2
i32.const 1
i32.add
local.set 0
local.get 2
i32.const 1998
i32.le_u
if ;; label = @2
local.get 8
i32.const 0
local.get 7
i32.const 15992
i32.add
call 44
drop
end
local.get 3
local.get 4
i32.add
i64.const 4607182418800017408
i64.store
local.get 1
i32.const 1
i32.add
local.set 1
local.get 0
i32.const 2000
i32.ne
br_if 0 (;@1;)
end
call 8
i32.const 0
i32.const 32000000
call 44
local.set 8
loop ;; label = @1
local.get 5
local.get 9
i32.const 3
i32.shl
i32.add
local.set 3
i32.const 0
local.set 1
loop ;; label = @2
local.get 8
local.get 1
i32.const 16000
i32.mul
local.tee 0
i32.add
local.set 4
local.get 0
local.get 3
i32.add
local.set 7
i32.const 0
local.set 0
loop ;; label = @3
local.get 4
local.get 0
i32.const 3
i32.shl
i32.add
local.tee 2
local.get 7
f64.load
local.get 3
local.get 0
i32.const 16000
i32.mul
i32.add
f64.load
f64.mul
local.get 2
f64.load
f64.add
f64.store
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 2000
i32.ne
br_if 0 (;@3;)
end
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 2000
i32.ne
br_if 0 (;@2;)
end
local.get 9
i32.const 1
i32.add
local.tee 9
i32.const 2000
i32.ne
br_if 0 (;@1;)
end
i32.const 0
local.set 1
loop ;; label = @1
local.get 5
local.get 1
i32.const 16000
i32.mul
local.tee 0
i32.add
local.set 3
local.get 0
local.get 8
i32.add
local.set 4
i32.const 0
local.set 0
loop ;; label = @2
local.get 3
local.get 0
i32.const 3
i32.shl
local.tee 2
i32.add
local.get 2
local.get 4
i32.add
i64.load
i64.store
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 2000
i32.ne
br_if 0 (;@2;)
end
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 2000
i32.ne
br_if 0 (;@1;)
end
local.get 8
call 39
i32.const 0
local.set 0
loop ;; label = @1
i32.const 0
local.set 4
local.get 0
if ;; label = @2
local.get 5
local.get 0
i32.const 2000
i32.mul
local.tee 4
i32.const 3
i32.shl
i32.add
local.set 3
i32.const 0
local.set 2
loop ;; label = @3
block ;; label = @4
local.get 2
i32.eqz
if ;; label = @5
local.get 3
f64.load
local.set 10
br 1 (;@4;)
end
local.get 5
local.get 2
i32.const 3
i32.shl
local.tee 1
i32.add
local.set 7
local.get 1
local.get 3
i32.add
local.tee 8
f64.load
local.set 10
i32.const 0
local.set 1
loop ;; label = @5
local.get 8
local.get 10
local.get 3
local.get 1
i32.const 3
i32.shl
i32.add
f64.load
local.get 7
local.get 1
i32.const 16000
i32.mul
i32.add
f64.load
f64.mul
f64.sub
local.tee 10
f64.store
local.get 1
i32.const 1
i32.add
local.tee 1
local.get 2
i32.ne
br_if 0 (;@5;)
end
end
local.get 3
local.get 2
i32.const 3
i32.shl
local.tee 1
i32.add
local.get 10
local.get 5
local.get 2
i32.const 16000
i32.mul
i32.add
local.get 1
i32.add
f64.load
f64.div
f64.store
local.get 2
i32.const 1
i32.add
local.tee 2
local.get 0
i32.ne
br_if 0 (;@3;)
end
end
local.get 5
local.get 4
i32.const 3
i32.shl
i32.add
local.set 3
local.get 0
local.set 1
loop ;; label = @2
local.get 0
if ;; label = @3
local.get 5
local.get 1
i32.const 3
i32.shl
local.tee 2
i32.add
local.set 4
local.get 2
local.get 3
i32.add
local.tee 7
f64.load
local.set 10
i32.const 0
local.set 2
loop ;; label = @4
local.get 7
local.get 10
local.get 3
local.get 2
i32.const 3
i32.shl
i32.add
f64.load
local.get 4
local.get 2
i32.const 16000
i32.mul
i32.add
f64.load
f64.mul
f64.sub
local.tee 10
f64.store
local.get 2
i32.const 1
i32.add
local.tee 2
local.get 0
i32.ne
br_if 0 (;@4;)
end
end
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 2000
i32.ne
br_if 0 (;@2;)
end
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 2000
i32.ne
br_if 0 (;@1;)
end
i32.const 0
local.set 1
i32.const 1024
i32.const 22
i32.const 1164
i32.load
local.tee 2
call 17
local.get 6
i32.const 1062
i32.store offset=32
local.get 2
i32.const 1047
local.get 6
i32.const 32
i32.add
call 11
loop ;; label = @1
local.get 5
local.get 1
i32.const 2000
i32.mul
local.tee 3
i32.const 3
i32.shl
i32.add
local.set 4
i32.const 0
local.set 0
loop ;; label = @2
local.get 0
local.get 3
i32.add
i32.const 20
i32.rem_u
i32.eqz
if ;; label = @3
local.get 2
call 15
end
local.get 6
local.get 4
local.get 0
i32.const 3
i32.shl
i32.add
f64.load
f64.store offset=16
local.get 2
local.get 6
i32.const 16
i32.add
call 12
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 2000
i32.ne
br_if 0 (;@2;)
end
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 2000
i32.ne
br_if 0 (;@1;)
end
local.get 6
i32.const 1062
i32.store
local.get 2
i32.const 1072
local.get 6
call 11
i32.const 1089
i32.const 22
local.get 2
call 17
local.get 5
call 39
local.get 6
i32.const 48
i32.add
global.set 0
i32.const 0)
(func (;8;) (type 5) (result i32)
(local i32 i32 i32)
global.get 0
i32.const 16
i32.sub
local.tee 0
global.set 0
local.get 0
i32.const 0
i32.store offset=12
block ;; label = @1
block (result i32) ;; label = @2
local.get 0
i32.const 12
i32.add
local.set 1
i32.const 48
call 40
local.tee 2
i32.eqz
br_if 0 (;@2;)
drop
local.get 1
local.get 2
i32.store
i32.const 0
end
i32.eqz
if ;; label = @2
local.get 0
i32.load offset=12
local.tee 1
br_if 1 (;@1;)
end
i32.const 1112
i32.const 50
i32.const 1164
i32.load
call 17
i32.const 1
call 2
unreachable
end
local.get 0
i32.const 16
i32.add
global.set 0
local.get 1)
(func (;9;) (type 5) (result i32)
(local i32 i32 i32 i32)
global.get 0
i32.const 16
i32.sub
local.tee 0
global.set 0
block ;; label = @1
local.get 0
local.tee 1
i32.const 12
i32.add
local.get 0
i32.const 8
i32.add
call 0
i32.eqz
if ;; label = @2
block (result i32) ;; label = @3
i32.const 0
local.get 1
i32.load offset=12
local.tee 2
i32.eqz
br_if 0 (;@3;)
drop
local.get 0
local.get 2
i32.const 2
i32.shl
local.tee 2
i32.const 19
i32.add
i32.const -16
i32.and
i32.sub
local.tee 0
local.tee 3
global.set 0
local.get 3
local.get 1
i32.load offset=8
i32.const 15
i32.add
i32.const -16
i32.and
i32.sub
local.tee 3
global.set 0
local.get 0
local.get 2
i32.add
i32.const 0
i32.store
local.get 0
local.get 3
call 1
br_if 2 (;@1;)
local.get 1
i32.load offset=12
end
local.get 0
call 7
local.set 0
local.get 1
i32.const 16
i32.add
global.set 0
local.get 0
return
end
i32.const 71
call 2
unreachable
end
i32.const 71
call 2
unreachable)
(func (;10;) (type 7)
(local i32)
call 9
local.tee 0
if ;; label = @1
local.get 0
call 2
unreachable
end)
(func (;11;) (type 4) (param i32 i32 i32)
(local i32)
global.get 0
i32.const 16
i32.sub
local.tee 3
global.set 0
local.get 3
local.get 2
i32.store offset=12
local.get 0
local.get 1
local.get 2
i32.const 0
call 26
local.get 3
i32.const 16
i32.add
global.set 0)
(func (;12;) (type 6) (param i32 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
local.get 0
i32.const 1064
local.get 1
i32.const 6
call 26
local.get 2
i32.const 16
i32.add
global.set 0)
(func (;13;) (type 0) (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
local.get 0
i32.load
local.tee 1
i32.const 8
i32.and
if ;; label = @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 (;14;) (type 3) (param i32)
(local i32 i32 i32)
global.get 0
i32.const 16
i32.sub
local.tee 1
global.set 0
local.get 1
i32.const 10
i32.store8 offset=15
block ;; label = @1
local.get 0
i32.load offset=16
local.tee 2
i32.eqz
if ;; label = @2
local.get 0
call 13
br_if 1 (;@1;)
local.get 0
i32.load offset=16
local.set 2
end
block ;; label = @2
local.get 0
i32.load offset=20
local.tee 3
local.get 2
i32.ge_u
br_if 0 (;@2;)
local.get 0
i32.load8_s offset=75
i32.const 10
i32.eq
br_if 0 (;@2;)
local.get 0
local.get 3
i32.const 1
i32.add
i32.store offset=20
local.get 3
i32.const 10
i32.store8
br 1 (;@1;)
end
local.get 0
local.get 1
i32.const 15
i32.add
i32.const 1
local.get 0
i32.load offset=36
call_indirect (type 1)
i32.const 1
i32.ne
br_if 0 (;@1;)
local.get 1
i32.load8_u offset=15
drop
end
local.get 1
i32.const 16
i32.add
global.set 0)
(func (;15;) (type 3) (param i32)
(local i32)
local.get 0
i32.load offset=76
i32.const 0
i32.lt_s
if ;; label = @1
block ;; label = @2
local.get 0
i32.load8_s offset=75
i32.const 10
i32.eq
br_if 0 (;@2;)
local.get 0
i32.load offset=20
local.tee 1
local.get 0
i32.load offset=16
i32.ge_u
br_if 0 (;@2;)
local.get 0
local.get 1
i32.const 1
i32.add
i32.store offset=20
local.get 1
i32.const 10
i32.store8
return
end
local.get 0
call 14
return
end
block ;; label = @1
block ;; label = @2
local.get 0
i32.load8_s offset=75
i32.const 10
i32.eq
br_if 0 (;@2;)
local.get 0
i32.load offset=20
local.tee 1
local.get 0
i32.load offset=16
i32.ge_u
br_if 0 (;@2;)
local.get 0
local.get 1
i32.const 1
i32.add
i32.store offset=20
local.get 1
i32.const 10
i32.store8
br 1 (;@1;)
end
local.get 0
call 14
end)
(func (;16;) (type 1) (param i32 i32 i32) (result i32)
(local i32 i32 i32 i32)
block ;; label = @1
local.get 2
i32.load offset=16
local.tee 3
if (result i32) ;; label = @2
local.get 3
else
local.get 2
call 13
br_if 1 (;@1;)
local.get 2
i32.load offset=16
end
local.get 2
i32.load offset=20
local.tee 5
i32.sub
local.get 1
i32.lt_u
if ;; label = @2
local.get 2
local.get 0
local.get 1
local.get 2
i32.load offset=36
call_indirect (type 1)
return
end
block ;; label = @2
local.get 2
i32.load8_s offset=75
i32.const 0
i32.lt_s
br_if 0 (;@2;)
local.get 1
local.set 4
loop ;; label = @3
local.get 4
local.tee 3
i32.eqz
br_if 1 (;@2;)
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 1)
local.tee 4
local.get 3
i32.lt_u
br_if 1 (;@1;)
local.get 1
local.get 3
i32.sub
local.set 1
local.get 0
local.get 3
i32.add
local.set 0
local.get 2
i32.load offset=20
local.set 5
local.get 3
local.set 6
end
local.get 5
local.get 0
local.get 1
call 43
drop
local.get 2
local.get 2
i32.load offset=20
local.get 1
i32.add
i32.store offset=20
local.get 1
local.get 6
i32.add
local.set 4
end
local.get 4)
(func (;17;) (type 4) (param i32 i32 i32)
(local i32)
local.get 1
local.set 3
local.get 3
block (result i32) ;; label = @1
local.get 2
i32.load offset=76
i32.const -1
i32.le_s
if ;; label = @2
local.get 0
local.get 3
local.get 2
call 16
br 1 (;@1;)
end
local.get 0
local.get 3
local.get 2
call 16
end
local.tee 0
i32.eq
if ;; label = @1
return
end
local.get 0
local.get 1
i32.div_u
drop)
(func (;18;) (type 0) (param i32) (result i32)
local.get 0
i32.load offset=60
call 3)
(func (;19;) (type 1) (param i32 i32 i32) (result i32)
(local 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 5
i32.const 2
local.set 6
local.get 3
i32.const 16
i32.add
local.set 1
block (result i32) ;; label = @1
block ;; label = @2
block ;; label = @3
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 4
call 37
i32.eqz
if ;; label = @4
loop ;; label = @5
local.get 5
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
i32.const 8
i32.add
local.get 1
local.get 4
local.get 1
i32.load offset=4
local.tee 7
i32.gt_u
local.tee 8
select
local.tee 1
local.get 4
local.get 7
i32.const 0
local.get 8
select
i32.sub
local.tee 7
local.get 1
i32.load
i32.add
i32.store
local.get 1
local.get 1
i32.load offset=4
local.get 7
i32.sub
i32.store offset=4
local.get 5
local.get 4
i32.sub
local.set 5
local.get 0
i32.load offset=60
local.get 1
local.get 6
local.get 8
i32.sub
local.tee 6
local.get 3
i32.const 12
i32.add
call 4
call 37
i32.eqz
br_if 0 (;@5;)
end
end
local.get 3
i32.const -1
i32.store offset=12
local.get 5
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
br 1 (;@1;)
end
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
i32.const 0
local.get 6
i32.const 2
i32.eq
br_if 0 (;@1;)
drop
local.get 2
local.get 1
i32.load offset=4
i32.sub
end
local.set 4
local.get 3
i32.const 32
i32.add
global.set 0
local.get 4)
(func (;20;) (type 16) (param i32 i64 i32) (result i64)
(local i32)
global.get 0
i32.const 16
i32.sub
local.tee 3
global.set 0
block (result i64) ;; label = @1
local.get 0
i32.load offset=60
local.get 1
local.get 2
i32.const 255
i32.and
local.get 3
i32.const 8
i32.add
call 5
call 37
i32.eqz
if ;; label = @2
local.get 3
i64.load offset=8
br 1 (;@1;)
end
local.get 3
i64.const -1
i64.store offset=8
i64.const -1
end
local.set 1
local.get 3
i32.const 16
i32.add
global.set 0
local.get 1)
(func (;21;) (type 5) (result i32)
i32.const 2104)
(func (;22;) (type 0) (param i32) (result i32)
local.get 0
i32.const -48
i32.add
i32.const 10
i32.lt_u)
(func (;23;) (type 2) (param i32 i32) (result i32)
block ;; label = @1
local.get 0
if (result i32) ;; label = @2
local.get 1
i32.const 127
i32.le_u
br_if 1 (;@1;)
block ;; label = @3
i32.const 2040
i32.load
i32.load
i32.eqz
if ;; label = @4
local.get 1
i32.const -128
i32.and
i32.const 57216
i32.eq
br_if 3 (;@1;)
i32.const 2104
i32.const 25
i32.store
br 1 (;@3;)
end
local.get 1
i32.const 2047
i32.le_u
if ;; label = @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
local.get 1
i32.const 55296
i32.ge_u
i32.const 0
local.get 1
i32.const -8192
i32.and
i32.const 57344
i32.ne
select
i32.eqz
if ;; label = @4
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
local.get 1
i32.const -65536
i32.add
i32.const 1048575
i32.le_u
if ;; label = @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
i32.const 2104
i32.const 25
i32.store
end
i32.const -1
else
i32.const 1
end
return
end
local.get 0
local.get 1
i32.store8
i32.const 1)
(func (;24;) (type 2) (param i32 i32) (result i32)
local.get 0
i32.eqz
if ;; label = @1
i32.const 0
return
end
local.get 0
local.get 1
call 23)
(func (;25;) (type 17) (param f64 i32) (result f64)
(local i32 i64)
local.get 0
i64.reinterpret_f64
local.tee 3
i64.const 52
i64.shr_u
i32.wrap_i64
i32.const 2047
i32.and
local.tee 2
i32.const 2047
i32.ne
if (result f64) ;; label = @1
local.get 2
i32.eqz
if ;; label = @2
local.get 1
local.get 0
f64.const 0x0p+0 (;=0;)
f64.eq
if (result i32) ;; label = @3
i32.const 0
else
local.get 0
f64.const 0x1p+64 (;=1.84467e+19;)
f64.mul
local.get 1
call 25
local.set 0
local.get 1
i32.load
i32.const -64
i32.add
end
i32.store
local.get 0
return
end
local.get 1
local.get 2
i32.const -1022
i32.add
i32.store
local.get 3
i64.const -9218868437227405313
i64.and
i64.const 4602678819172646912
i64.or
f64.reinterpret_i64
else
local.get 0
end)
(func (;26;) (type 10) (param i32 i32 i32 i32)
(local i32 i32 i32)
global.get 0
i32.const 208
i32.sub
local.tee 4
global.set 0
local.get 4
local.get 2
i32.store offset=204
i32.const 0
local.set 2
local.get 4
i32.const 160
i32.add
i32.const 0
i32.const 40
call 44
drop
local.get 4
local.get 4
i32.load offset=204
i32.store offset=200
block ;; label = @1
i32.const 0
local.get 1
local.get 4
i32.const 200
i32.add
local.get 4
i32.const 80
i32.add
local.get 4
i32.const 160
i32.add
local.get 3
call 27
i32.const 0
i32.lt_s
br_if 0 (;@1;)
local.get 0
i32.load offset=76
i32.const 0
i32.ge_s
if ;; label = @2
i32.const 1
local.set 2
end
local.get 0
i32.load
local.set 5
local.get 0
i32.load8_s offset=74
i32.const 0
i32.le_s
if ;; label = @2
local.get 0
local.get 5
i32.const -33
i32.and
i32.store
end
local.get 5
i32.const 32
i32.and
local.set 5
block (result i32) ;; label = @2
local.get 0
i32.load offset=48
if ;; label = @3
local.get 0
local.get 1
local.get 4
i32.const 200
i32.add
local.get 4
i32.const 80
i32.add
local.get 4
i32.const 160
i32.add
local.get 3
call 27
br 1 (;@2;)
end
local.get 0
i32.const 80
i32.store offset=48
local.get 0
local.get 4
i32.const 80
i32.add
i32.store offset=16
local.get 0
local.get 4
i32.store offset=28
local.get 0
local.get 4
i32.store offset=20
local.get 0
i32.load offset=44
local.set 6
local.get 0
local.get 4
i32.store offset=44
local.get 0
local.get 1
local.get 4
i32.const 200
i32.add
local.get 4
i32.const 80
i32.add
local.get 4
i32.const 160
i32.add
local.get 3
call 27
local.get 6
i32.eqz
br_if 0 (;@2;)
drop
local.get 0
i32.const 0
i32.const 0
local.get 0
i32.load offset=36
call_indirect (type 1)
drop
local.get 0
i32.const 0
i32.store offset=48
local.get 0
local.get 6
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
drop
local.get 0
i32.const 0
i32.store offset=20
i32.const 0
end
drop
local.get 0
local.get 0
i32.load
local.get 5
i32.or
i32.store
local.get 2
i32.eqz
br_if 0 (;@1;)
end
local.get 4
i32.const 208
i32.add
global.set 0)
(func (;27;) (type 13) (param 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 6
global.set 0
local.get 6
local.get 1
i32.store offset=76
local.get 6
i32.const 55
i32.add
local.set 20
local.get 6
i32.const 56
i32.add
local.set 17
i32.const 0
local.set 1
block ;; label = @1
loop ;; label = @2
block ;; label = @3
local.get 14
i32.const 0
i32.lt_s
br_if 0 (;@3;)
local.get 1
i32.const 2147483647
local.get 14
i32.sub
i32.gt_s
if ;; label = @4
i32.const 2104
i32.const 61
i32.store
i32.const -1
local.set 14
br 1 (;@3;)
end
local.get 1
local.get 14
i32.add
local.set 14
end
local.get 6
i32.load offset=76
local.tee 11
local.set 1
block ;; label = @3
block ;; label = @4
block ;; label = @5
block (result i32) ;; 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
local.get 11
i32.load8_u
local.tee 7
if ;; label = @17
loop ;; label = @18
block ;; label = @19
block ;; label = @20
block ;; label = @21
local.get 7
i32.const 255
i32.and
local.tee 7
i32.eqz
if ;; label = @22
local.get 1
local.set 7
br 1 (;@21;)
end
local.get 7
i32.const 37
i32.ne
br_if 1 (;@20;)
local.get 1
local.set 7
loop ;; label = @22
local.get 1
i32.load8_u offset=1
i32.const 37
i32.ne
br_if 1 (;@21;)
local.get 6
local.get 1
i32.const 2
i32.add
local.tee 8
i32.store offset=76
local.get 7
i32.const 1
i32.add
local.set 7
local.get 1
i32.load8_u offset=2
local.set 9
local.get 8
local.set 1
local.get 9
i32.const 37
i32.eq
br_if 0 (;@22;)
end
end
local.get 7
local.get 11
i32.sub
local.set 1
local.get 0
if ;; label = @21
local.get 0
local.get 11
local.get 1
call 28
end
local.get 1
br_if 18 (;@2;)
local.get 6
i32.load offset=76
i32.load8_s offset=1
call 22
local.set 8
i32.const -1
local.set 16
i32.const 1
local.set 7
local.get 6
i32.load offset=76
local.set 1
block ;; label = @21
local.get 8
i32.eqz
br_if 0 (;@21;)
local.get 1
i32.load8_u offset=2
i32.const 36
i32.ne
br_if 0 (;@21;)
local.get 1
i32.load8_s offset=1
i32.const -48
i32.add
local.set 16
i32.const 1
local.set 18
i32.const 3
local.set 7
end
local.get 6
local.get 1
local.get 7
i32.add
local.tee 1
i32.store offset=76
i32.const 0
local.set 7
block ;; label = @21
local.get 1
i32.load8_s
local.tee 15
i32.const -32
i32.add
local.tee 9
i32.const 31
i32.gt_u
if ;; label = @22
local.get 1
local.set 8
br 1 (;@21;)
end
local.get 1
local.set 8
i32.const 1
local.get 9
i32.shl
local.tee 9
i32.const 75913
i32.and
i32.eqz
br_if 0 (;@21;)
loop ;; label = @22
local.get 6
local.get 1
i32.const 1
i32.add
local.tee 8
i32.store offset=76
local.get 7
local.get 9
i32.or
local.set 7
local.get 1
i32.load8_s offset=1
local.tee 15
i32.const -32
i32.add
local.tee 9
i32.const 31
i32.gt_u
br_if 1 (;@21;)
local.get 8
local.set 1
i32.const 1
local.get 9
i32.shl
local.tee 9
i32.const 75913
i32.and
br_if 0 (;@22;)
end
end
block ;; label = @21
local.get 15
i32.const 42
i32.eq
if ;; label = @22
local.get 6
block (result i32) ;; label = @23
block ;; label = @24
local.get 8
i32.load8_s offset=1
call 22
i32.eqz
br_if 0 (;@24;)
local.get 6
i32.load offset=76
local.tee 8
i32.load8_u offset=2
i32.const 36
i32.ne
br_if 0 (;@24;)
local.get 8
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 8
i32.load8_s offset=1
i32.const 3
i32.shl
local.get 3
i32.add
i32.const -384
i32.add
i32.load
local.set 12
i32.const 1
local.set 18
local.get 8
i32.const 3
i32.add
br 1 (;@23;)
end
local.get 18
br_if 7 (;@16;)
i32.const 0
local.set 18
i32.const 0
local.set 12
local.get 0
if ;; label = @24
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 12
end
local.get 6
i32.load offset=76
i32.const 1
i32.add
end
local.tee 1
i32.store offset=76
local.get 12
i32.const -1
i32.gt_s
br_if 1 (;@21;)
i32.const 0
local.get 12
i32.sub
local.set 12
local.get 7
i32.const 8192
i32.or
local.set 7
br 1 (;@21;)
end
local.get 6
i32.const 76
i32.add
call 29
local.tee 12
i32.const 0
i32.lt_s
br_if 5 (;@16;)
local.get 6
i32.load offset=76
local.set 1
end
i32.const -1
local.set 10
block ;; label = @21
local.get 1
i32.load8_u
i32.const 46
i32.ne
br_if 0 (;@21;)
local.get 1
i32.load8_u offset=1
i32.const 42
i32.eq
if ;; label = @22
block ;; label = @23
local.get 1
i32.load8_s offset=2
call 22
i32.eqz
br_if 0 (;@23;)
local.get 6
i32.load offset=76
local.tee 1
i32.load8_u offset=3
i32.const 36
i32.ne
br_if 0 (;@23;)
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 10
local.get 6
local.get 1
i32.const 4
i32.add
local.tee 1
i32.store offset=76
br 2 (;@21;)
end
local.get 18
br_if 6 (;@16;)
local.get 0
if (result i32) ;; label = @23
local.get 2
local.get 2
i32.load
local.tee 1
i32.const 4
i32.add
i32.store
local.get 1
i32.load
else
i32.const 0
end
local.set 10
local.get 6
local.get 6
i32.load offset=76
i32.const 2
i32.add
local.tee 1
i32.store offset=76
br 1 (;@21;)
end
local.get 6
local.get 1
i32.const 1
i32.add
i32.store offset=76
local.get 6
i32.const 76
i32.add
call 29
local.set 10
local.get 6
i32.load offset=76
local.set 1
end
i32.const 0
local.set 8
loop ;; label = @21
local.get 8
local.set 9
i32.const -1
local.set 13
local.get 1
i32.load8_s
i32.const -65
i32.add
i32.const 57
i32.gt_u
br_if 20 (;@1;)
local.get 6
local.get 1
i32.const 1
i32.add
local.tee 15
i32.store offset=76
local.get 1
i32.load8_s
local.set 8
local.get 15
local.set 1
local.get 8
local.get 9
i32.const 58
i32.mul
i32.add
i32.const 1135
i32.add
i32.load8_u
local.tee 8
i32.const -1
i32.add
i32.const 8
i32.lt_u
br_if 0 (;@21;)
end
local.get 8
i32.eqz
br_if 19 (;@1;)
block ;; label = @21
block ;; label = @22
block ;; label = @23
local.get 8
i32.const 19
i32.eq
if ;; label = @24
local.get 16
i32.const -1
i32.le_s
br_if 1 (;@23;)
br 23 (;@1;)
end
local.get 16
i32.const 0
i32.lt_s
br_if 1 (;@22;)
local.get 4
local.get 16
i32.const 2
i32.shl
i32.add
local.get 8
i32.store
local.get 6
local.get 3
local.get 16
i32.const 3
i32.shl
i32.add
i64.load
i64.store offset=64
end
i32.const 0
local.set 1
local.get 0
i32.eqz
br_if 20 (;@2;)
br 1 (;@21;)
end
local.get 0
i32.eqz
br_if 18 (;@3;)
local.get 6
i32.const -64
i32.sub
local.get 8
local.get 2
call 30
local.get 6
i32.load offset=76
local.set 15
end
local.get 7
i32.const -65537
i32.and
local.tee 19
local.get 7
local.get 7
i32.const 8192
i32.and
select
local.set 7
i32.const 0
local.set 13
i32.const 1168
local.set 16
local.get 17
local.set 8
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 9
select
local.tee 1
i32.const -88
i32.add
local.tee 15
i32.const 32
i32.le_u
br_if 1 (;@19;)
block ;; label = @21
block (result i32) ;; label = @22
block ;; label = @23
block ;; label = @24
local.get 1
i32.const -65
i32.add
local.tee 9
i32.const 6
i32.gt_u
if ;; label = @25
local.get 1
i32.const 83
i32.ne
br_if 21 (;@4;)
local.get 10
i32.eqz
br_if 1 (;@24;)
local.get 6
i32.load offset=64
br 3 (;@22;)
end
local.get 9
i32.const 1
i32.sub
br_table 20 (;@4;) 1 (;@23;) 20 (;@4;) 9 (;@15;)
end
i32.const 0
local.set 1
local.get 0
i32.const 32
local.get 12
i32.const 0
local.get 7
call 31
br 2 (;@21;)
end
local.get 6
i32.const 0
i32.store offset=12
local.get 6
local.get 6
i64.load offset=64
i64.store32 offset=8
local.get 6
local.get 6
i32.const 8
i32.add
i32.store offset=64
i32.const -1
local.set 10
local.get 6
i32.const 8
i32.add
end
local.set 8
i32.const 0
local.set 1
block ;; label = @22
loop ;; label = @23
local.get 8
i32.load
local.tee 9
i32.eqz
br_if 1 (;@22;)
block ;; label = @24
local.get 6
i32.const 4
i32.add
local.get 9
call 24
local.tee 9
i32.const 0
i32.lt_s
local.tee 11
br_if 0 (;@24;)
local.get 9
local.get 10
local.get 1
i32.sub
i32.gt_u
br_if 0 (;@24;)
local.get 8
i32.const 4
i32.add
local.set 8
local.get 10
local.get 1
local.get 9
i32.add
local.tee 1
i32.gt_u
br_if 1 (;@23;)
br 2 (;@22;)
end
end
i32.const -1
local.set 13
local.get 11
br_if 21 (;@1;)
end
local.get 0
i32.const 32
local.get 12
local.get 1
local.get 7
call 31
local.get 1
i32.eqz
if ;; label = @22
i32.const 0
local.set 1
br 1 (;@21;)
end
i32.const 0
local.set 9
local.get 6
i32.load offset=64
local.set 8
loop ;; label = @22
local.get 8
i32.load
local.tee 11
i32.eqz
br_if 1 (;@21;)
local.get 6
i32.const 4
i32.add
local.get 11
call 24
local.tee 11
local.get 9
i32.add
local.tee 9
local.get 1
i32.gt_s
br_if 1 (;@21;)
local.get 0
local.get 6
i32.const 4
i32.add
local.get 11
call 28
local.get 8
i32.const 4
i32.add
local.set 8
local.get 9
local.get 1
i32.lt_u
br_if 0 (;@22;)
end
end
local.get 0
i32.const 32
local.get 12
local.get 1
local.get 7
i32.const 8192
i32.xor
call 31
local.get 12
local.get 1
local.get 12
local.get 1
i32.gt_s
select
local.set 1
br 18 (;@2;)
end
local.get 6
local.get 1
i32.const 1
i32.add
local.tee 8
i32.store offset=76
local.get 1
i32.load8_u offset=1
local.set 7
local.get 8
local.set 1
br 1 (;@18;)
end
end
local.get 15
i32.const 1
i32.sub
br_table 13 (;@4;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 2 (;@15;) 13 (;@4;) 4 (;@13;) 5 (;@12;) 2 (;@15;) 2 (;@15;) 2 (;@15;) 13 (;@4;) 5 (;@12;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 13 (;@4;) 9 (;@8;) 6 (;@11;) 7 (;@10;) 13 (;@4;) 13 (;@4;) 3 (;@14;) 13 (;@4;) 10 (;@7;) 13 (;@4;) 13 (;@4;) 8 (;@9;)
end
local.get 14
local.set 13
local.get 0
br_if 15 (;@1;)
local.get 18
i32.eqz
br_if 13 (;@3;)
i32.const 1
local.set 1
loop ;; label = @17
local.get 4
local.get 1
i32.const 2
i32.shl
i32.add
i32.load
local.tee 7
if ;; label = @18
local.get 3
local.get 1
i32.const 3
i32.shl
i32.add
local.get 7
local.get 2
call 30
i32.const 1
local.set 13
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 10
i32.ne
br_if 1 (;@17;)
br 17 (;@1;)
end
end
i32.const 1
local.set 13
local.get 1
i32.const 10
i32.ge_u
br_if 15 (;@1;)
loop ;; label = @17
local.get 4
local.get 1
i32.const 2
i32.shl
i32.add
i32.load
br_if 1 (;@16;)
local.get 1
i32.const 8
i32.gt_u
local.set 7
local.get 1
i32.const 1
i32.add
local.set 1
local.get 7
i32.eqz
br_if 0 (;@17;)
end
br 15 (;@1;)
end
i32.const -1
local.set 13
br 14 (;@1;)
end
local.get 0
local.get 6
f64.load offset=64
local.get 12
local.get 10
local.get 7
local.get 1
local.get 5
call_indirect (type 8)
local.set 1
br 12 (;@2;)
end
local.get 6
i32.load offset=64
local.tee 1
i32.const 1178
local.get 1
select
local.tee 11
local.get 10
call 36
local.tee 1
local.get 10
local.get 11
i32.add
local.get 1
select
local.set 8
local.get 19
local.set 7
local.get 1
local.get 11
i32.sub
local.get 10
local.get 1
select
local.set 10
br 9 (;@4;)
end
local.get 6
local.get 6
i64.load offset=64
i64.store8 offset=55
i32.const 1
local.set 10
local.get 20
local.set 11
local.get 19
local.set 7
br 8 (;@4;)
end
local.get 6
i64.load offset=64
local.tee 21
i64.const -1
i64.le_s
if ;; label = @12
local.get 6
i64.const 0
local.get 21
i64.sub
local.tee 21
i64.store offset=64
i32.const 1
local.set 13
i32.const 1168
br 6 (;@6;)
end
local.get 7
i32.const 2048
i32.and
if ;; label = @12
i32.const 1
local.set 13
i32.const 1169
br 6 (;@6;)
end
i32.const 1170
i32.const 1168
local.get 7
i32.const 1
i32.and
local.tee 13
select
br 5 (;@6;)
end
local.get 6
i64.load offset=64
local.get 17
call 32
local.set 11
local.get 7
i32.const 8
i32.and
i32.eqz
br_if 5 (;@5;)
local.get 10
local.get 17
local.get 11
i32.sub
local.tee 1
i32.const 1
i32.add
local.get 10
local.get 1
i32.gt_s
select
local.set 10
br 5 (;@5;)
end
local.get 10
i32.const 8
local.get 10
i32.const 8
i32.gt_u
select
local.set 10
local.get 7
i32.const 8
i32.or
local.set 7
i32.const 120
local.set 1
end
local.get 6
i64.load offset=64
local.get 17
local.get 1
i32.const 32
i32.and
call 33
local.set 11
local.get 7
i32.const 8
i32.and
i32.eqz
br_if 3 (;@5;)
local.get 6
i64.load offset=64
i64.eqz
br_if 3 (;@5;)
local.get 1
i32.const 4
i32.shr_u
i32.const 1168
i32.add
local.set 16
i32.const 2
local.set 13
br 3 (;@5;)
end
i32.const 0
local.set 1
local.get 9
i32.const 255
i32.and
local.tee 7
i32.const 7
i32.gt_u
br_if 5 (;@2;)
block ;; label = @8
block ;; label = @9
block ;; label = @10
block ;; label = @11
block ;; label = @12
block ;; label = @13
block ;; label = @14
local.get 7
i32.const 1
i32.sub
br_table 1 (;@13;) 2 (;@12;) 3 (;@11;) 4 (;@10;) 12 (;@2;) 5 (;@9;) 6 (;@8;) 0 (;@14;)
end
local.get 6
i32.load offset=64
local.get 14
i32.store
br 11 (;@2;)
end
local.get 6
i32.load offset=64
local.get 14
i32.store
br 10 (;@2;)
end
local.get 6
i32.load offset=64
local.get 14
i64.extend_i32_s
i64.store
br 9 (;@2;)
end
local.get 6
i32.load offset=64
local.get 14
i32.store16
br 8 (;@2;)
end
local.get 6
i32.load offset=64
local.get 14
i32.store8
br 7 (;@2;)
end
local.get 6
i32.load offset=64
local.get 14
i32.store
br 6 (;@2;)
end
local.get 6
i32.load offset=64
local.get 14
i64.extend_i32_s
i64.store
br 5 (;@2;)
end
local.get 6
i64.load offset=64
local.set 21
i32.const 1168
end
local.set 16
local.get 21
local.get 17
call 34
local.set 11
end
local.get 7
i32.const -65537
i32.and
local.get 7
local.get 10
i32.const -1
i32.gt_s
select
local.set 7
local.get 6
i64.load offset=64
local.set 21
block (result i32) ;; label = @5
block ;; label = @6
local.get 10
br_if 0 (;@6;)
local.get 21
i64.eqz
i32.eqz
br_if 0 (;@6;)
local.get 17
local.set 11
i32.const 0
br 1 (;@5;)
end
local.get 10
local.get 21
i64.eqz
local.get 17
local.get 11
i32.sub
i32.add
local.tee 1
local.get 10
local.get 1
i32.gt_s
select
end
local.set 10
end
local.get 0
i32.const 32
local.get 13
local.get 8
local.get 11
i32.sub
local.tee 9
local.get 10
local.get 10
local.get 9
i32.lt_s
select
local.tee 15
i32.add
local.tee 8
local.get 12
local.get 12
local.get 8
i32.lt_s
select
local.tee 1
local.get 8
local.get 7
call 31
local.get 0
local.get 16
local.get 13
call 28
local.get 0
i32.const 48
local.get 1
local.get 8
local.get 7
i32.const 65536
i32.xor
call 31
local.get 0
i32.const 48
local.get 15
local.get 9
i32.const 0
call 31
local.get 0
local.get 11
local.get 9
call 28
local.get 0
i32.const 32
local.get 1
local.get 8
local.get 7
i32.const 8192
i32.xor
call 31
br 1 (;@2;)
end
end
i32.const 0
local.set 13
end
local.get 6
i32.const 80
i32.add
global.set 0
local.get 13)
(func (;28;) (type 4) (param i32 i32 i32)
local.get 0
i32.load8_u
i32.const 32
i32.and
i32.eqz
if ;; label = @1
local.get 1
local.get 2
local.get 0
call 16
drop
end)
(func (;29;) (type 0) (param i32) (result i32)
(local i32 i32 i32)
local.get 0
i32.load
i32.load8_s
call 22
if ;; label = @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 22
br_if 0 (;@2;)
end
end
local.get 1)
(func (;30;) (type 4) (param i32 i32 i32)
block ;; label = @1
local.get 1
i32.const 20
i32.gt_u
br_if 0 (;@1;)
local.get 1
i32.const -9
i32.add
local.tee 1
i32.const 9
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 1
i32.sub
br_table 1 (;@10;) 2 (;@9;) 3 (;@8;) 4 (;@7;) 5 (;@6;) 6 (;@5;) 7 (;@4;) 8 (;@3;) 9 (;@2;) 0 (;@11;)
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
i64.load
i64.store
return
end
block ;; label = @2
block ;; label = @3
local.get 0
drop
local.get 2
drop
end
unreachable
unreachable
end
unreachable
end)
(func (;31;) (type 11) (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 2
local.get 3
i32.le_s
br_if 0 (;@1;)
local.get 4
i32.const 73728
i32.and
br_if 0 (;@1;)
local.get 5
local.get 1
local.get 2
local.get 3
i32.sub
local.tee 4
i32.const 256
local.get 4
i32.const 256
i32.lt_u
local.tee 1
select
call 44
drop
local.get 0
local.get 5
local.get 1
if (result i32) ;; label = @2
local.get 4
else
local.get 2
local.get 3
i32.sub
local.set 2
loop ;; label = @3
local.get 0
local.get 5
i32.const 256
call 28
local.get 4
i32.const -256
i32.add
local.tee 4
i32.const 255
i32.gt_u
br_if 0 (;@3;)
end
local.get 2
i32.const 255
i32.and
end
call 28
end
local.get 5
i32.const 256
i32.add
global.set 0)
(func (;32;) (type 9) (param i64 i32) (result i32)
local.get 0
i64.eqz
i32.eqz
if ;; label = @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 3
i64.shr_u
local.tee 0
i64.const 0
i64.ne
br_if 0 (;@2;)
end
end
local.get 1)
(func (;33;) (type 15) (param i64 i32 i32) (result i32)
local.get 0
i64.eqz
i32.eqz
if ;; label = @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 1664
i32.add
i32.load8_u
local.get 2
i32.or
i32.store8
local.get 0
i64.const 4
i64.shr_u
local.tee 0
i64.const 0
i64.ne
br_if 0 (;@2;)
end
end
local.get 1)
(func (;34;) (type 9) (param i64 i32) (result i32)
(local i32 i32 i32 i64)
block ;; label = @1
local.get 0
i64.const 4294967296
i64.lt_u
if ;; label = @2
local.get 0
local.set 5
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 5
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 2
local.get 5
local.set 0
local.get 2
br_if 0 (;@2;)
end
end
local.get 5
i32.wrap_i64
local.tee 2
if ;; label = @1
loop ;; label = @2
local.get 1
i32.const -1
i32.add
local.tee 1
local.get 2
local.get 2
i32.const 10
i32.div_u
local.tee 3
i32.const 10
i32.mul
i32.sub
i32.const 48
i32.or
i32.store8
local.get 2
i32.const 9
i32.gt_u
local.set 4
local.get 3
local.set 2
local.get 4
br_if 0 (;@2;)
end
end
local.get 1)
(func (;35;) (type 8) (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 i64 i64 f64)
global.get 0
i32.const 560
i32.sub
local.tee 10
global.set 0
local.get 10
i32.const 0
i32.store offset=44
block (result i32) ;; label = @1
local.get 1
i64.reinterpret_f64
local.tee 22
i64.const -1
i64.le_s
if ;; label = @2
local.get 1
f64.neg
local.tee 1
i64.reinterpret_f64
local.set 22
i32.const 1
local.set 17
i32.const 1680
br 1 (;@1;)
end
local.get 4
i32.const 2048
i32.and
if ;; label = @2
i32.const 1
local.set 17
i32.const 1683
br 1 (;@1;)
end
i32.const 1686
i32.const 1681
local.get 4
i32.const 1
i32.and
local.tee 17
select
end
local.set 21
block ;; label = @1
local.get 22
i64.const 9218868437227405312
i64.and
i64.const 9218868437227405312
i64.eq
if ;; label = @2
local.get 0
i32.const 32
local.get 2
local.get 17
i32.const 3
i32.add
local.tee 12
local.get 4
i32.const -65537
i32.and
call 31
local.get 0
local.get 21
local.get 17
call 28
local.get 0
i32.const 1707
i32.const 1711
local.get 5
i32.const 5
i32.shr_u
i32.const 1
i32.and
local.tee 6
select
i32.const 1699
i32.const 1703
local.get 6
select
local.get 1
local.get 1
f64.ne
select
i32.const 3
call 28
local.get 0
i32.const 32
local.get 2
local.get 12
local.get 4
i32.const 8192
i32.xor
call 31
br 1 (;@1;)
end
local.get 10
i32.const 16
i32.add
local.set 16
block ;; label = @2
block (result i32) ;; label = @3
block ;; label = @4
local.get 1
local.get 10
i32.const 44
i32.add
call 25
local.tee 1
local.get 1
f64.add
local.tee 1
f64.const 0x0p+0 (;=0;)
f64.ne
if ;; label = @5
local.get 10
local.get 10
i32.load offset=44
local.tee 6
i32.const -1
i32.add
i32.store offset=44
local.get 5
i32.const 32
i32.or
local.tee 19
i32.const 97
i32.ne
br_if 1 (;@4;)
br 3 (;@2;)
end
local.get 5
i32.const 32
i32.or
local.tee 19
i32.const 97
i32.eq
br_if 2 (;@2;)
local.get 10
i32.load offset=44
local.set 7
i32.const 6
local.get 3
local.get 3
i32.const 0
i32.lt_s
select
br 1 (;@3;)
end
local.get 10
local.get 6
i32.const -29
i32.add
local.tee 7
i32.store offset=44
local.get 1
f64.const 0x1p+28 (;=2.68435e+08;)
f64.mul
local.set 1
i32.const 6
local.get 3
local.get 3
i32.const 0
i32.lt_s
select
end
local.set 11
local.get 10
i32.const 48
i32.add
local.get 10
i32.const 336
i32.add
local.get 7
i32.const 0
i32.lt_s
select
local.tee 14
local.set 9
loop ;; label = @3
local.get 9
block (result i32) ;; label = @4
local.get 1
f64.const 0x1p+32 (;=4.29497e+09;)
f64.lt
local.get 1
f64.const 0x0p+0 (;=0;)
f64.ge
i32.and
if ;; label = @5
local.get 1
i32.trunc_f64_u
br 1 (;@4;)
end
i32.const 0
end
local.tee 6
i32.store
local.get 9
i32.const 4
i32.add
local.set 9
local.get 1
local.get 6
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
local.get 7
i32.const 1
i32.lt_s
if ;; label = @4
local.get 9
local.set 6
local.get 14
local.set 8
br 1 (;@3;)
end
local.get 14
local.set 8
loop ;; label = @4
local.get 7
i32.const 29
local.get 7
i32.const 29
i32.lt_s
select
local.set 7
block ;; label = @5
local.get 9
i32.const -4
i32.add
local.tee 6
local.get 8
i32.lt_u
br_if 0 (;@5;)
local.get 7
i64.extend_i32_u
local.set 23
i64.const 0
local.set 22
loop ;; label = @6
local.get 6
local.get 22
i64.const 4294967295
i64.and
local.get 6
i64.load32_u
local.get 23
i64.shl
i64.add
local.tee 22
local.get 22
i64.const 1000000000
i64.div_u
local.tee 22
i64.const 1000000000
i64.mul
i64.sub
i64.store32
local.get 6
i32.const -4
i32.add
local.tee 6
local.get 8
i32.ge_u
br_if 0 (;@6;)
end
local.get 22
i32.wrap_i64
local.tee 6
i32.eqz
br_if 0 (;@5;)
local.get 8
i32.const -4
i32.add
local.tee 8
local.get 6
i32.store
end
loop ;; label = @5
local.get 9
local.tee 6
local.get 8
i32.gt_u
if ;; label = @6
local.get 6
i32.const -4
i32.add
local.tee 9
i32.load
i32.eqz
br_if 1 (;@5;)
end
end
local.get 10
local.get 10
i32.load offset=44
local.get 7
i32.sub
local.tee 7
i32.store offset=44
local.get 6
local.set 9
local.get 7
i32.const 0
i32.gt_s
br_if 0 (;@4;)
end
end
local.get 7
i32.const -1
i32.le_s
if ;; label = @3
local.get 11
i32.const 25
i32.add
i32.const 9
i32.div_s
i32.const 1
i32.add
local.set 18
local.get 19
i32.const 102
i32.eq
local.set 20
loop ;; label = @4
i32.const 9
i32.const 0
local.get 7
i32.sub
local.get 7
i32.const -9
i32.lt_s
select
local.set 12
block ;; label = @5
local.get 8
local.get 6
i32.ge_u
if ;; label = @6
local.get 8
local.get 8
i32.const 4
i32.add
local.get 8
i32.load
select
local.set 8
br 1 (;@5;)
end
i32.const 1000000000
local.get 12
i32.shr_u
local.set 13
i32.const -1
local.get 12
i32.shl
i32.const -1
i32.xor
local.set 15
i32.const 0
local.set 7
local.get 8
local.set 9
loop ;; label = @6
local.get 9
local.get 9
i32.load
local.tee 3
local.get 12
i32.shr_u
local.get 7
i32.add
i32.store
local.get 3
local.get 15
i32.and
local.get 13
i32.mul
local.set 7
local.get 9
i32.const 4
i32.add
local.tee 9
local.get 6
i32.lt_u
br_if 0 (;@6;)
end
local.get 8
local.get 8
i32.const 4
i32.add
local.get 8
i32.load
select
local.set 8
local.get 7
i32.eqz
br_if 0 (;@5;)
local.get 6
local.get 7
i32.store
local.get 6
i32.const 4
i32.add
local.set 6
end
local.get 10
local.get 10
i32.load offset=44
local.get 12
i32.add
local.tee 7
i32.store offset=44
local.get 14
local.get 8
local.get 20
select
local.tee 9
local.get 18
i32.const 2
i32.shl
i32.add
local.get 6
local.get 6
local.get 9
i32.sub
i32.const 2
i32.shr_s
local.get 18
i32.gt_s
select
local.set 6
local.get 7
i32.const 0
i32.lt_s
br_if 0 (;@4;)
end
end
i32.const 0
local.set 9
block ;; label = @3
local.get 8
local.get 6
i32.ge_u
br_if 0 (;@3;)
local.get 14
local.get 8
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set 9
i32.const 10
local.set 7
local.get 8
i32.load
local.tee 3
i32.const 10
i32.lt_u
br_if 0 (;@3;)
loop ;; label = @4
local.get 9
i32.const 1
i32.add
local.set 9
local.get 3
local.get 7
i32.const 10
i32.mul
local.tee 7
i32.ge_u
br_if 0 (;@4;)
end
end
local.get 11
i32.const 0
local.get 9
local.get 19
i32.const 102
i32.eq
select
i32.sub
local.get 19
i32.const 103
i32.eq
local.get 11
i32.const 0
i32.ne
i32.and
i32.sub
local.tee 7
local.get 6
local.get 14
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
i32.const -9
i32.add
i32.lt_s
if ;; label = @3
local.get 7
i32.const 9216
i32.add
local.tee 7
i32.const 9
i32.div_s
local.tee 12
i32.const 2
i32.shl
local.get 14
i32.add
i32.const -4092
i32.add
local.set 13
i32.const 10
local.set 3
local.get 7
local.get 12
i32.const 9
i32.mul
i32.sub
local.tee 7
i32.const 7
i32.le_s
if ;; label = @4
loop ;; label = @5
local.get 3
i32.const 10
i32.mul
local.set 3
local.get 7
i32.const 7
i32.lt_s
local.set 12
local.get 7
i32.const 1
i32.add
local.set 7
local.get 12
br_if 0 (;@5;)
end
end
block ;; label = @4
i32.const 0
local.get 6
local.get 13
i32.const 4
i32.add
local.tee 18
i32.eq
local.get 13
i32.load
local.tee 12
local.get 12
local.get 3
i32.div_u
local.tee 15
local.get 3
i32.mul
i32.sub
local.tee 7
select
br_if 0 (;@4;)
f64.const 0x1p-1 (;=0.5;)
f64.const 0x1p+0 (;=1;)
f64.const 0x1.8p+0 (;=1.5;)
local.get 7
local.get 3
i32.const 1
i32.shr_u
local.tee 20
i32.eq
select
f64.const 0x1.8p+0 (;=1.5;)
local.get 6
local.get 18
i32.eq
select
local.get 7
local.get 20
i32.lt_u
select
local.set 24
f64.const 0x1.0000000000001p+53 (;=9.0072e+15;)
f64.const 0x1p+53 (;=9.0072e+15;)
local.get 15
i32.const 1
i32.and
select
local.set 1
block ;; label = @5
local.get 17
i32.eqz
br_if 0 (;@5;)
local.get 21
i32.load8_u
i32.const 45
i32.ne
br_if 0 (;@5;)
local.get 24
f64.neg
local.set 24
local.get 1
f64.neg
local.set 1
end
local.get 13
local.get 12
local.get 7
i32.sub
local.tee 7
i32.store
local.get 1
local.get 24
f64.add
local.get 1
f64.eq
br_if 0 (;@4;)
local.get 13
local.get 3
local.get 7
i32.add
local.tee 9
i32.store
local.get 9
i32.const 1000000000
i32.ge_u
if ;; label = @5
loop ;; label = @6
local.get 13
i32.const 0
i32.store
local.get 13
i32.const -4
i32.add
local.tee 13
local.get 8
i32.lt_u
if ;; label = @7
local.get 8
i32.const -4
i32.add
local.tee 8
i32.const 0
i32.store
end
local.get 13
local.get 13
i32.load
i32.const 1
i32.add
local.tee 9
i32.store
local.get 9
i32.const 999999999
i32.gt_u
br_if 0 (;@6;)
end
end
local.get 14
local.get 8
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set 9
i32.const 10
local.set 7
local.get 8
i32.load
local.tee 3
i32.const 10
i32.lt_u
br_if 0 (;@4;)
loop ;; label = @5
local.get 9
i32.const 1
i32.add
local.set 9
local.get 3
local.get 7
i32.const 10
i32.mul
local.tee 7
i32.ge_u
br_if 0 (;@5;)
end
end
local.get 13
i32.const 4
i32.add
local.tee 7
local.get 6
local.get 6
local.get 7
i32.gt_u
select
local.set 6
end
block (result i32) ;; label = @3
loop ;; label = @4
i32.const 0
local.get 6
local.tee 7
local.get 8
i32.le_u
br_if 1 (;@3;)
drop
local.get 7
i32.const -4
i32.add
local.tee 6
i32.load
i32.eqz
br_if 0 (;@4;)
end
i32.const 1
end
local.set 20
block ;; label = @3
local.get 19
i32.const 103
i32.ne
if ;; label = @4
local.get 4
i32.const 8
i32.and
local.set 15
br 1 (;@3;)
end
local.get 9
i32.const -1
i32.xor
i32.const -1
local.get 11
i32.const 1
local.get 11
select
local.tee 6
local.get 9
i32.gt_s
local.get 9
i32.const -5
i32.gt_s
i32.and
local.tee 3
select
local.get 6
i32.add
local.set 11
i32.const -1
i32.const -2
local.get 3
select
local.get 5
i32.add
local.set 5
local.get 4
i32.const 8
i32.and
local.tee 15
br_if 0 (;@3;)
i32.const 9
local.set 6
block ;; label = @4
local.get 20
i32.eqz
br_if 0 (;@4;)
local.get 7
i32.const -4
i32.add
i32.load
local.tee 12
i32.eqz
br_if 0 (;@4;)
i32.const 10
local.set 3
i32.const 0
local.set 6
local.get 12
i32.const 10
i32.rem_u
br_if 0 (;@4;)
loop ;; label = @5
local.get 6
i32.const 1
i32.add
local.set 6
local.get 12
local.get 3
i32.const 10
i32.mul
local.tee 3
i32.rem_u
i32.eqz
br_if 0 (;@5;)
end
end
local.get 7
local.get 14
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
i32.const -9
i32.add
local.set 3
local.get 5
i32.const 32
i32.or
i32.const 102
i32.eq
if ;; label = @4
i32.const 0
local.set 15
local.get 11
local.get 3
local.get 6
i32.sub
local.tee 6
i32.const 0
local.get 6
i32.const 0
i32.gt_s
select
local.tee 6
local.get 11
local.get 6
i32.lt_s
select
local.set 11
br 1 (;@3;)
end
i32.const 0
local.set 15
local.get 11
local.get 3
local.get 9
i32.add
local.get 6
i32.sub
local.tee 6
i32.const 0
local.get 6
i32.const 0
i32.gt_s
select
local.tee 6
local.get 11
local.get 6
i32.lt_s
select
local.set 11
end
local.get 11
local.get 15
i32.or
local.tee 19
i32.const 0
i32.ne
local.set 3
local.get 0
i32.const 32
local.get 2
block (result i32) ;; label = @3
local.get 9
i32.const 0
local.get 9
i32.const 0
i32.gt_s
select
local.get 5
i32.const 32
i32.or
local.tee 13
i32.const 102
i32.eq
br_if 0 (;@3;)
drop
local.get 16
local.get 9
local.get 9
i32.const 31
i32.shr_s
local.tee 6
i32.add
local.get 6
i32.xor
i64.extend_i32_u
local.get 16
call 34
local.tee 6
i32.sub
i32.const 1
i32.le_s
if ;; label = @4
loop ;; label = @5
local.get 6
i32.const -1
i32.add
local.tee 6
i32.const 48
i32.store8
local.get 16
local.get 6
i32.sub
i32.const 2
i32.lt_s
br_if 0 (;@5;)
end
end
local.get 6
i32.const -2
i32.add
local.tee 18
local.get 5
i32.store8
local.get 6
i32.const -1
i32.add
i32.const 45
i32.const 43
local.get 9
i32.const 0
i32.lt_s
select
i32.store8
local.get 16
local.get 18
i32.sub
end
local.get 11
local.get 17
i32.add
local.get 3
i32.add
i32.add
i32.const 1
i32.add
local.tee 12
local.get 4
call 31
local.get 0
local.get 21
local.get 17
call 28
local.get 0
i32.const 48
local.get 2
local.get 12
local.get 4
i32.const 65536
i32.xor
call 31
block ;; label = @3
block ;; label = @4
block ;; label = @5
local.get 13
i32.const 102
i32.eq
if ;; label = @6
local.get 10
i32.const 16
i32.add
i32.const 8
i32.or
local.set 13
local.get 10
i32.const 16
i32.add
i32.const 9
i32.or
local.set 9
local.get 14
local.get 8
local.get 8
local.get 14
i32.gt_u
select
local.tee 3
local.set 8
loop ;; label = @7
local.get 8
i64.load32_u
local.get 9
call 34
local.set 6
block ;; label = @8
local.get 3
local.get 8
i32.ne
if ;; label = @9
local.get 6
local.get 10
i32.const 16
i32.add
i32.le_u
br_if 1 (;@8;)
loop ;; label = @10
local.get 6
i32.const -1
i32.add
local.tee 6
i32.const 48
i32.store8
local.get 6
local.get 10
i32.const 16
i32.add
i32.gt_u
br_if 0 (;@10;)
end
br 1 (;@8;)
end
local.get 6
local.get 9
i32.ne
br_if 0 (;@8;)
local.get 10
i32.const 48
i32.store8 offset=24
local.get 13
local.set 6
end
local.get 0
local.get 6
local.get 9
local.get 6
i32.sub
call 28
local.get 8
i32.const 4
i32.add
local.tee 8
local.get 14
i32.le_u
br_if 0 (;@7;)
end
local.get 19
if ;; label = @7
local.get 0
i32.const 1715
i32.const 1
call 28
end
local.get 8
local.get 7
i32.ge_u
br_if 1 (;@5;)
local.get 11
i32.const 1
i32.lt_s
br_if 1 (;@5;)
loop ;; label = @7
local.get 8
i64.load32_u
local.get 9
call 34
local.tee 6
local.get 10
i32.const 16
i32.add
i32.gt_u
if ;; label = @8
loop ;; label = @9
local.get 6
i32.const -1
i32.add
local.tee 6
i32.const 48
i32.store8
local.get 6
local.get 10
i32.const 16
i32.add
i32.gt_u
br_if 0 (;@9;)
end
end
local.get 0
local.get 6
local.get 11
i32.const 9
local.get 11
i32.const 9
i32.lt_s
select
call 28
local.get 11
i32.const -9
i32.add
local.set 6
local.get 8
i32.const 4
i32.add
local.tee 8
local.get 7
i32.ge_u
br_if 3 (;@4;)
local.get 11
i32.const 9
i32.gt_s
local.set 3
local.get 6
local.set 11
local.get 3
br_if 0 (;@7;)
end
br 2 (;@4;)
end
block ;; label = @6
local.get 11
i32.const 0
i32.lt_s
br_if 0 (;@6;)
local.get 7
local.get 8
i32.const 4
i32.add
local.get 20
select
local.set 13
local.get 10
i32.const 16
i32.add
i32.const 8
i32.or
local.set 14
local.get 10
i32.const 16
i32.add
i32.const 9
i32.or
local.set 7
local.get 8
local.set 9
loop ;; label = @7
local.get 7
local.get 9
i64.load32_u
local.get 7
call 34
local.tee 6
i32.eq
if ;; label = @8
local.get 10
i32.const 48
i32.store8 offset=24
local.get 14
local.set 6
end
block ;; label = @8
local.get 8
local.get 9
i32.ne
if ;; label = @9
local.get 6
local.get 10
i32.const 16
i32.add
i32.le_u
br_if 1 (;@8;)
loop ;; label = @10
local.get 6
i32.const -1
i32.add
local.tee 6
i32.const 48
i32.store8
local.get 6
local.get 10
i32.const 16
i32.add
i32.gt_u
br_if 0 (;@10;)
end
br 1 (;@8;)
end
local.get 0
local.get 6
i32.const 1
call 28
local.get 6
i32.const 1
i32.add
local.set 6
local.get 15
i32.eqz
i32.const 0
local.get 11
i32.const 1
i32.lt_s
select
br_if 0 (;@8;)
local.get 0
i32.const 1715
i32.const 1
call 28
end
local.get 0
local.get 6
local.get 7
local.get 6
i32.sub
local.tee 3
local.get 11
local.get 11
local.get 3
i32.gt_s
select
call 28
local.get 11
local.get 3
i32.sub
local.set 11
local.get 9
i32.const 4
i32.add
local.tee 9
local.get 13
i32.ge_u
br_if 1 (;@6;)
local.get 11
i32.const -1
i32.gt_s
br_if 0 (;@7;)
end
end
local.get 0
i32.const 48
local.get 11
i32.const 18
i32.add
i32.const 18
i32.const 0
call 31
local.get 0
local.get 18
local.get 16
local.get 18
i32.sub
call 28
br 2 (;@3;)
end
local.get 11
local.set 6
end
local.get 0
i32.const 48
local.get 6
i32.const 9
i32.add
i32.const 9
i32.const 0
call 31
end
local.get 0
i32.const 32
local.get 2
local.get 12
local.get 4
i32.const 8192
i32.xor
call 31
br 1 (;@1;)
end
local.get 21
i32.const 9
i32.add
local.get 21
local.get 5
i32.const 32
i32.and
local.tee 9
select
local.set 11
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 6
i32.eqz
br_if 0 (;@2;)
f64.const 0x1p+3 (;=8;)
local.set 24
loop ;; label = @3
local.get 24
f64.const 0x1p+4 (;=16;)
f64.mul
local.set 24
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@3;)
end
local.get 11
i32.load8_u
i32.const 45
i32.eq
if ;; label = @3
local.get 24
local.get 1
f64.neg
local.get 24
f64.sub
f64.add
f64.neg
local.set 1
br 1 (;@2;)
end
local.get 1
local.get 24
f64.add
local.get 24
f64.sub
local.set 1
end
local.get 16
local.get 10
i32.load offset=44
local.tee 6
local.get 6
i32.const 31
i32.shr_s
local.tee 6
i32.add
local.get 6
i32.xor
i64.extend_i32_u
local.get 16
call 34
local.tee 6
i32.eq
if ;; label = @2
local.get 10
i32.const 48
i32.store8 offset=15
local.get 10
i32.const 15
i32.add
local.set 6
end
local.get 17
i32.const 2
i32.or
local.set 15
local.get 10
i32.load offset=44
local.set 8
local.get 6
i32.const -2
i32.add
local.tee 13
local.get 5
i32.const 15
i32.add
i32.store8
local.get 6
i32.const -1
i32.add
i32.const 45
i32.const 43
local.get 8
i32.const 0
i32.lt_s
select
i32.store8
local.get 4
i32.const 8
i32.and
local.set 7
local.get 10
i32.const 16
i32.add
local.set 8
loop ;; label = @2
local.get 8
local.tee 6
block (result i32) ;; label = @3
local.get 1
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
if ;; label = @4
local.get 1
i32.trunc_f64_s
br 1 (;@3;)
end
i32.const -2147483648
end
local.tee 8
i32.const 1664
i32.add
i32.load8_u
local.get 9
i32.or
i32.store8
local.get 1
local.get 8
f64.convert_i32_s
f64.sub
f64.const 0x1p+4 (;=16;)
f64.mul
local.set 1
block ;; label = @3
local.get 6
i32.const 1
i32.add
local.tee 8
local.get 10
i32.const 16
i32.add
i32.sub
i32.const 1
i32.ne
br_if 0 (;@3;)
block ;; label = @4
local.get 7
br_if 0 (;@4;)
local.get 3
i32.const 0
i32.gt_s
br_if 0 (;@4;)
local.get 1
f64.const 0x0p+0 (;=0;)
f64.eq
br_if 1 (;@3;)
end
local.get 6
i32.const 46
i32.store8 offset=1
local.get 6
i32.const 2
i32.add
local.set 8
end
local.get 1
f64.const 0x0p+0 (;=0;)
f64.ne
br_if 0 (;@2;)
end
local.get 0
i32.const 32
local.get 2
local.get 15
block (result i32) ;; label = @2
block ;; label = @3
local.get 3
i32.eqz
br_if 0 (;@3;)
local.get 8
local.get 10
i32.sub
i32.const -18
i32.add
local.get 3
i32.ge_s
br_if 0 (;@3;)
local.get 3
local.get 16
i32.add
local.get 13
i32.sub
i32.const 2
i32.add
br 1 (;@2;)
end
local.get 16
local.get 10
i32.const 16
i32.add
i32.sub
local.get 13
i32.sub
local.get 8
i32.add
end
local.tee 6
i32.add
local.tee 12
local.get 4
call 31
local.get 0
local.get 11
local.get 15
call 28
local.get 0
i32.const 48
local.get 2
local.get 12
local.get 4
i32.const 65536
i32.xor
call 31
local.get 0
local.get 10
i32.const 16
i32.add
local.get 8
local.get 10
i32.const 16
i32.add
i32.sub
local.tee 8
call 28
local.get 0
i32.const 48
local.get 6
local.get 8
local.get 16
local.get 13
i32.sub
local.tee 9
i32.add
i32.sub
i32.const 0
i32.const 0
call 31
local.get 0
local.get 13
local.get 9
call 28
local.get 0
i32.const 32
local.get 2
local.get 12
local.get 4
i32.const 8192
i32.xor
call 31
end
local.get 10
i32.const 560
i32.add
global.set 0
local.get 2
local.get 12
local.get 12
local.get 2
i32.lt_s
select)
(func (;36;) (type 2) (param i32 i32) (result i32)
(local i32 i32 i32)
local.get 1
i32.const 0
i32.ne
local.set 2
block ;; label = @1
block ;; label = @2
block ;; label = @3
block ;; label = @4
local.get 1
i32.eqz
br_if 0 (;@4;)
local.get 0
i32.const 3
i32.and
i32.eqz
br_if 0 (;@4;)
loop ;; label = @5
local.get 0
i32.load8_u
i32.eqz
br_if 2 (;@3;)
local.get 0
i32.const 1
i32.add
local.set 0
local.get 1
i32.const -1
i32.add
local.tee 1
i32.const 0
i32.ne
local.set 2
local.get 1
i32.eqz
br_if 1 (;@4;)
local.get 0
i32.const 3
i32.and
br_if 0 (;@5;)
end
end
local.get 2
i32.eqz
br_if 1 (;@2;)
end
local.get 0
i32.load8_u
i32.eqz
br_if 1 (;@1;)
block ;; label = @3
local.get 1
i32.const 4
i32.ge_u
if ;; label = @4
local.get 1
i32.const -4
i32.add
local.tee 2
i32.const 3
i32.and
local.set 3
local.get 2
i32.const -4
i32.and
local.get 0
i32.add
i32.const 4
i32.add
local.set 4
loop ;; label = @5
local.get 0
i32.load
local.tee 2
i32.const -1
i32.xor
local.get 2
i32.const -16843009
i32.add
i32.and
i32.const -2139062144
i32.and
br_if 2 (;@3;)
local.get 0
i32.const 4
i32.add
local.set 0
local.get 1
i32.const -4
i32.add
local.tee 1
i32.const 3
i32.gt_u
br_if 0 (;@5;)
end
local.get 3
local.set 1
local.get 4
local.set 0
end
local.get 1
i32.eqz
br_if 1 (;@2;)
end
loop ;; label = @3
local.get 0
i32.load8_u
i32.eqz
br_if 2 (;@1;)
local.get 0
i32.const 1
i32.add
local.set 0
local.get 1
i32.const -1
i32.add
local.tee 1
br_if 0 (;@3;)
end
end
i32.const 0
return
end
local.get 0)
(func (;37;) (type 0) (param i32) (result i32)
local.get 0
i32.eqz
if ;; label = @1
i32.const 0
return
end
i32.const 2104
local.get 0
i32.store
i32.const -1)
(func (;38;) (type 0) (param i32) (result i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
global.get 0
i32.const 16
i32.sub
local.tee 11
global.set 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
local.get 0
i32.const 244
i32.le_u
if ;; label = @12
i32.const 2172
i32.load
local.tee 6
i32.const 16
local.get 0
i32.const 11
i32.add
i32.const -8
i32.and
local.get 0
i32.const 11
i32.lt_u
select
local.tee 4
i32.const 3
i32.shr_u
local.tee 1
i32.shr_u
local.tee 0
i32.const 3
i32.and
if ;; label = @13
local.get 0
i32.const -1
i32.xor
i32.const 1
i32.and
local.get 1
i32.add
local.tee 4
i32.const 3
i32.shl
local.tee 2
i32.const 2220
i32.add
i32.load
local.tee 1
i32.const 8
i32.add
local.set 0
block ;; label = @14
local.get 1
i32.load offset=8
local.tee 3
local.get 2
i32.const 2212
i32.add
local.tee 2
i32.eq
if ;; label = @15
i32.const 2172
local.get 6
i32.const -2
local.get 4
i32.rotl
i32.and
i32.store
br 1 (;@14;)
end
i32.const 2188
i32.load
drop
local.get 3
local.get 2
i32.store offset=12
local.get 2
local.get 3
i32.store offset=8
end
local.get 1
local.get 4
i32.const 3
i32.shl
local.tee 3
i32.const 3
i32.or
i32.store offset=4
local.get 1
local.get 3
i32.add
local.tee 1
local.get 1
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
br 12 (;@1;)
end
local.get 4
i32.const 2180
i32.load
local.tee 8
i32.le_u
br_if 1 (;@11;)
local.get 0
if ;; label = @13
block ;; label = @14
local.get 0
local.get 1
i32.shl
i32.const 2
local.get 1
i32.shl
local.tee 0
i32.const 0
local.get 0
i32.sub
i32.or
i32.and
local.tee 0
i32.const 0
local.get 0
i32.sub
i32.and
i32.const -1
i32.add
local.tee 0
local.get 0
i32.const 12
i32.shr_u
i32.const 16
i32.and
local.tee 0
i32.shr_u
local.tee 1
i32.const 5
i32.shr_u
i32.const 8
i32.and
local.tee 3
local.get 0
i32.or
local.get 1
local.get 3
i32.shr_u
local.tee 0
i32.const 2
i32.shr_u
i32.const 4
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
local.tee 0
i32.const 1
i32.shr_u
i32.const 2
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
local.tee 0
i32.const 1
i32.shr_u
i32.const 1
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
i32.add
local.tee 3
i32.const 3
i32.shl
local.tee 2
i32.const 2220
i32.add
i32.load
local.tee 1
i32.load offset=8
local.tee 0
local.get 2
i32.const 2212
i32.add
local.tee 2
i32.eq
if ;; label = @15
i32.const 2172
local.get 6
i32.const -2
local.get 3
i32.rotl
i32.and
local.tee 6
i32.store
br 1 (;@14;)
end
i32.const 2188
i32.load
drop
local.get 0
local.get 2
i32.store offset=12
local.get 2
local.get 0
i32.store offset=8
end
local.get 1
i32.const 8
i32.add
local.set 0
local.get 1
local.get 4
i32.const 3
i32.or
i32.store offset=4
local.get 1
local.get 4
i32.add
local.tee 2
local.get 3
i32.const 3
i32.shl
local.tee 5
local.get 4
i32.sub
local.tee 3
i32.const 1
i32.or
i32.store offset=4
local.get 1
local.get 5
i32.add
local.get 3
i32.store
local.get 8
if ;; label = @14
local.get 8
i32.const 3
i32.shr_u
local.tee 5
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 4
i32.const 2192
i32.load
local.set 1
block (result i32) ;; label = @15
local.get 6
i32.const 1
local.get 5
i32.shl
local.tee 5
i32.and
i32.eqz
if ;; label = @16
i32.const 2172
local.get 5
local.get 6
i32.or
i32.store
local.get 4
br 1 (;@15;)
end
local.get 4
i32.load offset=8
end
local.set 5
local.get 4
local.get 1
i32.store offset=8
local.get 5
local.get 1
i32.store offset=12
local.get 1
local.get 4
i32.store offset=12
local.get 1
local.get 5
i32.store offset=8
end
i32.const 2192
local.get 2
i32.store
i32.const 2180
local.get 3
i32.store
br 12 (;@1;)
end
i32.const 2176
i32.load
local.tee 9
i32.eqz
br_if 1 (;@11;)
local.get 9
i32.const 0
local.get 9
i32.sub
i32.and
i32.const -1
i32.add
local.tee 0
local.get 0
i32.const 12
i32.shr_u
i32.const 16
i32.and
local.tee 0
i32.shr_u
local.tee 1
i32.const 5
i32.shr_u
i32.const 8
i32.and
local.tee 3
local.get 0
i32.or
local.get 1
local.get 3
i32.shr_u
local.tee 0
i32.const 2
i32.shr_u
i32.const 4
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
local.tee 0
i32.const 1
i32.shr_u
i32.const 2
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
local.tee 0
i32.const 1
i32.shr_u
i32.const 1
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
i32.add
i32.const 2
i32.shl
i32.const 2476
i32.add
i32.load
local.tee 2
i32.load offset=4
i32.const -8
i32.and
local.get 4
i32.sub
local.set 1
local.get 2
local.set 3
loop ;; label = @13
block ;; label = @14
local.get 3
i32.load offset=16
local.tee 0
i32.eqz
if ;; label = @15
local.get 3
i32.load offset=20
local.tee 0
i32.eqz
br_if 1 (;@14;)
end
local.get 0
i32.load offset=4
i32.const -8
i32.and
local.get 4
i32.sub
local.tee 3
local.get 1
local.get 3
local.get 1
i32.lt_u
local.tee 3
select
local.set 1
local.get 0
local.get 2
local.get 3
select
local.set 2
local.get 0
local.set 3
br 1 (;@13;)
end
end
local.get 2
i32.load offset=24
local.set 10
local.get 2
local.get 2
i32.load offset=12
local.tee 5
i32.ne
if ;; label = @13
i32.const 2188
i32.load
local.get 2
i32.load offset=8
local.tee 0
i32.le_u
if ;; label = @14
local.get 0
i32.load offset=12
drop
end
local.get 0
local.get 5
i32.store offset=12
local.get 5
local.get 0
i32.store offset=8
br 11 (;@2;)
end
local.get 2
i32.const 20
i32.add
local.tee 3
i32.load
local.tee 0
i32.eqz
if ;; label = @13
local.get 2
i32.load offset=16
local.tee 0
i32.eqz
br_if 3 (;@10;)
local.get 2
i32.const 16
i32.add
local.set 3
end
loop ;; label = @13
local.get 3
local.set 7
local.get 0
local.tee 5
i32.const 20
i32.add
local.tee 3
i32.load
local.tee 0
br_if 0 (;@13;)
local.get 5
i32.const 16
i32.add
local.set 3
local.get 5
i32.load offset=16
local.tee 0
br_if 0 (;@13;)
end
local.get 7
i32.const 0
i32.store
br 10 (;@2;)
end
i32.const -1
local.set 4
local.get 0
i32.const -65
i32.gt_u
br_if 0 (;@11;)
local.get 0
i32.const 11
i32.add
local.tee 0
i32.const -8
i32.and
local.set 4
i32.const 2176
i32.load
local.tee 8
i32.eqz
br_if 0 (;@11;)
block (result i32) ;; label = @12
i32.const 0
local.get 0
i32.const 8
i32.shr_u
local.tee 0
i32.eqz
br_if 0 (;@12;)
drop
i32.const 31
local.get 4
i32.const 16777215
i32.gt_u
br_if 0 (;@12;)
drop
local.get 0
local.get 0
i32.const 1048320
i32.add
i32.const 16
i32.shr_u
i32.const 8
i32.and
local.tee 1
i32.shl
local.tee 0
local.get 0
i32.const 520192
i32.add
i32.const 16
i32.shr_u
i32.const 4
i32.and
local.tee 0
i32.shl
local.tee 3
local.get 3
i32.const 245760
i32.add
i32.const 16
i32.shr_u
i32.const 2
i32.and
local.tee 3
i32.shl
i32.const 15
i32.shr_u
local.get 0
local.get 1
i32.or
local.get 3
i32.or
i32.sub
local.tee 0
i32.const 1
i32.shl
local.get 4
local.get 0
i32.const 21
i32.add
i32.shr_u
i32.const 1
i32.and
i32.or
i32.const 28
i32.add
end
local.set 7
i32.const 0
local.get 4
i32.sub
local.set 3
block ;; label = @12
block ;; label = @13
block ;; label = @14
local.get 7
i32.const 2
i32.shl
i32.const 2476
i32.add
i32.load
local.tee 1
i32.eqz
if ;; label = @15
i32.const 0
local.set 0
br 1 (;@14;)
end
local.get 4
i32.const 0
i32.const 25
local.get 7
i32.const 1
i32.shr_u
i32.sub
local.get 7
i32.const 31
i32.eq
select
i32.shl
local.set 2
i32.const 0
local.set 0
loop ;; label = @15
block ;; label = @16
local.get 1
i32.load offset=4
i32.const -8
i32.and
local.get 4
i32.sub
local.tee 6
local.get 3
i32.ge_u
br_if 0 (;@16;)
local.get 1
local.set 5
local.get 6
local.tee 3
br_if 0 (;@16;)
i32.const 0
local.set 3
local.get 1
local.set 0
br 3 (;@13;)
end
local.get 0
local.get 1
i32.load offset=20
local.tee 6
local.get 6
local.get 1
local.get 2
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.load offset=16
local.tee 1
i32.eq
select
local.get 0
local.get 6
select
local.set 0
local.get 2
local.get 1
i32.const 0
i32.ne
i32.shl
local.set 2
local.get 1
br_if 0 (;@15;)
end
end
local.get 0
local.get 5
i32.or
i32.eqz
if ;; label = @14
i32.const 2
local.get 7
i32.shl
local.tee 0
i32.const 0
local.get 0
i32.sub
i32.or
local.get 8
i32.and
local.tee 0
i32.eqz
br_if 3 (;@11;)
local.get 0
i32.const 0
local.get 0
i32.sub
i32.and
i32.const -1
i32.add
local.tee 0
local.get 0
i32.const 12
i32.shr_u
i32.const 16
i32.and
local.tee 0
i32.shr_u
local.tee 1
i32.const 5
i32.shr_u
i32.const 8
i32.and
local.tee 2
local.get 0
i32.or
local.get 1
local.get 2
i32.shr_u
local.tee 0
i32.const 2
i32.shr_u
i32.const 4
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
local.tee 0
i32.const 1
i32.shr_u
i32.const 2
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
local.tee 0
i32.const 1
i32.shr_u
i32.const 1
i32.and
local.tee 1
i32.or
local.get 0
local.get 1
i32.shr_u
i32.add
i32.const 2
i32.shl
i32.const 2476
i32.add
i32.load
local.set 0
end
local.get 0
i32.eqz
br_if 1 (;@12;)
end
loop ;; label = @13
local.get 0
i32.load offset=4
i32.const -8
i32.and
local.get 4
i32.sub
local.tee 6
local.get 3
i32.lt_u
local.set 2
local.get 6
local.get 3
local.get 2
select
local.set 3
local.get 0
local.get 5
local.get 2
select
local.set 5
local.get 0
i32.load offset=16
local.tee 1
if (result i32) ;; label = @14
local.get 1
else
local.get 0
i32.load offset=20
end
local.tee 0
br_if 0 (;@13;)
end
end
local.get 5
i32.eqz
br_if 0 (;@11;)
local.get 3
i32.const 2180
i32.load
local.get 4
i32.sub
i32.ge_u
br_if 0 (;@11;)
local.get 5
i32.load offset=24
local.set 7
local.get 5
local.get 5
i32.load offset=12
local.tee 2
i32.ne
if ;; label = @12
i32.const 2188
i32.load
local.get 5
i32.load offset=8
local.tee 0
i32.le_u
if ;; label = @13
local.get 0
i32.load offset=12
drop
end
local.get 0
local.get 2
i32.store offset=12
local.get 2
local.get 0
i32.store offset=8
br 9 (;@3;)
end
local.get 5
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 0
i32.eqz
if ;; label = @12
local.get 5
i32.load offset=16
local.tee 0
i32.eqz
br_if 3 (;@9;)
local.get 5
i32.const 16
i32.add
local.set 1
end
loop ;; label = @12
local.get 1
local.set 6
local.get 0
local.tee 2
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 0
br_if 0 (;@12;)
local.get 2
i32.const 16
i32.add
local.set 1
local.get 2
i32.load offset=16
local.tee 0
br_if 0 (;@12;)
end
local.get 6
i32.const 0
i32.store
br 8 (;@3;)
end
i32.const 2180
i32.load
local.tee 0
local.get 4
i32.ge_u
if ;; label = @11
i32.const 2192
i32.load
local.set 1
block ;; label = @12
local.get 0
local.get 4
i32.sub
local.tee 3
i32.const 16
i32.ge_u
if ;; label = @13
i32.const 2180
local.get 3
i32.store
i32.const 2192
local.get 1
local.get 4
i32.add
local.tee 2
i32.store
local.get 2
local.get 3
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 1
i32.add
local.get 3
i32.store
local.get 1
local.get 4
i32.const 3
i32.or
i32.store offset=4
br 1 (;@12;)
end
i32.const 2192
i32.const 0
i32.store
i32.const 2180
i32.const 0
i32.store
local.get 1
local.get 0
i32.const 3
i32.or
i32.store offset=4
local.get 0
local.get 1
i32.add
local.tee 0
local.get 0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
end
local.get 1
i32.const 8
i32.add
local.set 0
br 10 (;@1;)
end
i32.const 2184
i32.load
local.tee 2
local.get 4
i32.gt_u
if ;; label = @11
i32.const 2184
local.get 2
local.get 4
i32.sub
local.tee 1
i32.store
i32.const 2196
i32.const 2196
i32.load
local.tee 0
local.get 4
i32.add
local.tee 3
i32.store
local.get 3
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 4
i32.const 3
i32.or
i32.store offset=4
local.get 0
i32.const 8
i32.add
local.set 0
br 10 (;@1;)
end
i32.const 0
local.set 0
local.get 4
i32.const 47
i32.add
local.tee 8
block (result i32) ;; label = @11
i32.const 2644
i32.load
if ;; label = @12
i32.const 2652
i32.load
br 1 (;@11;)
end
i32.const 2656
i64.const -1
i64.store align=4
i32.const 2648
i64.const 17592186048512
i64.store align=4
i32.const 2644
local.get 11
i32.const 12
i32.add
i32.const -16
i32.and
i32.const 1431655768
i32.xor
i32.store
i32.const 2664
i32.const 0
i32.store
i32.const 2616
i32.const 0
i32.store
i32.const 4096
end
local.tee 1
i32.add
local.tee 6
i32.const 0
local.get 1
i32.sub
local.tee 7
i32.and
local.tee 5
local.get 4
i32.le_u
br_if 9 (;@1;)
i32.const 2612
i32.load
local.tee 1
if ;; label = @11
i32.const 2604
i32.load
local.tee 3
local.get 5
i32.add
local.tee 9
local.get 3
i32.le_u
br_if 10 (;@1;)
local.get 9
local.get 1
i32.gt_u
br_if 10 (;@1;)
end
i32.const 2616
i32.load8_u
i32.const 4
i32.and
br_if 4 (;@6;)
block ;; label = @11
block ;; label = @12
i32.const 2196
i32.load
local.tee 1
if ;; label = @13
i32.const 2620
local.set 0
loop ;; label = @14
local.get 0
i32.load
local.tee 3
local.get 1
i32.le_u
if ;; label = @15
local.get 3
local.get 0
i32.load offset=4
i32.add
local.get 1
i32.gt_u
br_if 3 (;@12;)
end
local.get 0
i32.load offset=8
local.tee 0
br_if 0 (;@14;)
end
end
i32.const 0
call 42
local.tee 2
i32.const -1
i32.eq
br_if 5 (;@7;)
local.get 5
local.set 6
i32.const 2648
i32.load
local.tee 0
i32.const -1
i32.add
local.tee 1
local.get 2
i32.and
if ;; label = @13
local.get 5
local.get 2
i32.sub
local.get 1
local.get 2
i32.add
i32.const 0
local.get 0
i32.sub
i32.and
i32.add
local.set 6
end
local.get 6
local.get 4
i32.le_u
br_if 5 (;@7;)
local.get 6
i32.const 2147483646
i32.gt_u
br_if 5 (;@7;)
i32.const 2612
i32.load
local.tee 0
if ;; label = @13
i32.const 2604
i32.load
local.tee 1
local.get 6
i32.add
local.tee 3
local.get 1
i32.le_u
br_if 6 (;@7;)
local.get 3
local.get 0
i32.gt_u
br_if 6 (;@7;)
end
local.get 6
call 42
local.tee 0
local.get 2
i32.ne
br_if 1 (;@11;)
br 7 (;@5;)
end
local.get 6
local.get 2
i32.sub
local.get 7
i32.and
local.tee 6
i32.const 2147483646
i32.gt_u
br_if 4 (;@7;)
local.get 6
call 42
local.tee 2
local.get 0
i32.load
local.get 0
i32.load offset=4
i32.add
i32.eq
br_if 3 (;@8;)
local.get 2
local.set 0
end
local.get 0
local.set 2
block ;; label = @11
local.get 4
i32.const 48
i32.add
local.get 6
i32.le_u
br_if 0 (;@11;)
local.get 6
i32.const 2147483646
i32.gt_u
br_if 0 (;@11;)
local.get 2
i32.const -1
i32.eq
br_if 0 (;@11;)
i32.const 2652
i32.load
local.tee 0
local.get 8
local.get 6
i32.sub
i32.add
i32.const 0
local.get 0
i32.sub
i32.and
local.tee 0
i32.const 2147483646
i32.gt_u
br_if 6 (;@5;)
local.get 0
call 42
i32.const -1
i32.ne
if ;; label = @12
local.get 0
local.get 6
i32.add
local.set 6
br 7 (;@5;)
end
i32.const 0
local.get 6
i32.sub
call 42
drop
br 4 (;@7;)
end
local.get 2
i32.const -1
i32.ne
br_if 5 (;@5;)
br 3 (;@7;)
end
i32.const 0
local.set 5
br 7 (;@2;)
end
i32.const 0
local.set 2
br 5 (;@3;)
end
local.get 2
i32.const -1
i32.ne
br_if 2 (;@5;)
end
i32.const 2616
i32.const 2616
i32.load
i32.const 4
i32.or
i32.store
end
local.get 5
i32.const 2147483646
i32.gt_u
br_if 1 (;@4;)
local.get 5
call 42
local.tee 2
i32.const 0
call 42
local.tee 0
i32.ge_u
br_if 1 (;@4;)
local.get 2
i32.const -1
i32.eq
br_if 1 (;@4;)
local.get 0
i32.const -1
i32.eq
br_if 1 (;@4;)
local.get 0
local.get 2
i32.sub
local.tee 6
local.get 4
i32.const 40
i32.add
i32.le_u
br_if 1 (;@4;)
end
i32.const 2604
i32.const 2604
i32.load
local.get 6
i32.add
local.tee 0
i32.store
local.get 0
i32.const 2608
i32.load
i32.gt_u
if ;; label = @5
i32.const 2608
local.get 0
i32.store
end
block ;; label = @5
block ;; label = @6
block ;; label = @7
i32.const 2196
i32.load
local.tee 1
if ;; label = @8
i32.const 2620
local.set 0
loop ;; label = @9
local.get 2
local.get 0
i32.load
local.tee 3
local.get 0
i32.load offset=4
local.tee 5
i32.add
i32.eq
br_if 2 (;@7;)
local.get 0
i32.load offset=8
local.tee 0
br_if 0 (;@9;)
end
br 2 (;@6;)
end
i32.const 2188
i32.load
local.tee 0
i32.const 0
local.get 2
local.get 0
i32.ge_u
select
i32.eqz
if ;; label = @8
i32.const 2188
local.get 2
i32.store
end
i32.const 0
local.set 0
i32.const 2624
local.get 6
i32.store
i32.const 2620
local.get 2
i32.store
i32.const 2204
i32.const -1
i32.store
i32.const 2208
i32.const 2644
i32.load
i32.store
i32.const 2632
i32.const 0
i32.store
loop ;; label = @8
local.get 0
i32.const 3
i32.shl
local.tee 1
i32.const 2220
i32.add
local.get 1
i32.const 2212
i32.add
local.tee 3
i32.store
local.get 1
i32.const 2224
i32.add
local.get 3
i32.store
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 32
i32.ne
br_if 0 (;@8;)
end
i32.const 2184
local.get 6
i32.const -40
i32.add
local.tee 0
i32.const -8
local.get 2
i32.sub
i32.const 7
i32.and
i32.const 0
local.get 2
i32.const 8
i32.add
i32.const 7
i32.and
select
local.tee 1
i32.sub
local.tee 3
i32.store
i32.const 2196
local.get 1
local.get 2
i32.add
local.tee 1
i32.store
local.get 1
local.get 3
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
i32.const 40
i32.store offset=4
i32.const 2200
i32.const 2660
i32.load
i32.store
br 2 (;@5;)
end
local.get 0
i32.load8_u offset=12
i32.const 8
i32.and
br_if 0 (;@6;)
local.get 2
local.get 1
i32.le_u
br_if 0 (;@6;)
local.get 3
local.get 1
i32.gt_u
br_if 0 (;@6;)
local.get 0
local.get 5
local.get 6
i32.add
i32.store offset=4
i32.const 2196
local.get 1
i32.const -8
local.get 1
i32.sub
i32.const 7
i32.and
i32.const 0
local.get 1
i32.const 8
i32.add
i32.const 7
i32.and
select
local.tee 0
i32.add
local.tee 3
i32.store
i32.const 2184
i32.const 2184
i32.load
local.get 6
i32.add
local.tee 2
local.get 0
i32.sub
local.tee 0
i32.store
local.get 3
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 1
local.get 2
i32.add
i32.const 40
i32.store offset=4
i32.const 2200
i32.const 2660
i32.load
i32.store
br 1 (;@5;)
end
local.get 2
i32.const 2188
i32.load
local.tee 5
i32.lt_u
if ;; label = @6
i32.const 2188
local.get 2
i32.store
local.get 2
local.set 5
end
local.get 2
local.get 6
i32.add
local.set 3
i32.const 2620
local.set 0
block ;; label = @6
block ;; label = @7
block ;; label = @8
block ;; label = @9
block ;; label = @10
block ;; label = @11
loop ;; label = @12
local.get 3
local.get 0
i32.load
i32.ne
if ;; label = @13
local.get 0
i32.load offset=8
local.tee 0
br_if 1 (;@12;)
br 2 (;@11;)
end
end
local.get 0
i32.load8_u offset=12
i32.const 8
i32.and
i32.eqz
br_if 1 (;@10;)
end
i32.const 2620
local.set 0
loop ;; label = @11
local.get 0
i32.load
local.tee 3
local.get 1
i32.le_u
if ;; label = @12
local.get 3
local.get 0
i32.load offset=4
i32.add
local.tee 3
local.get 1
i32.gt_u
br_if 3 (;@9;)
end
local.get 0
i32.load offset=8
local.set 0
br 0 (;@11;)
unreachable
end
unreachable
end
local.get 0
local.get 2
i32.store
local.get 0
local.get 0
i32.load offset=4
local.get 6
i32.add
i32.store offset=4
local.get 2
i32.const -8
local.get 2
i32.sub
i32.const 7
i32.and
i32.const 0
local.get 2
i32.const 8
i32.add
i32.const 7
i32.and
select
i32.add
local.tee 7
local.get 4
i32.const 3
i32.or
i32.store offset=4
local.get 3
i32.const -8
local.get 3
i32.sub
i32.const 7
i32.and
i32.const 0
local.get 3
i32.const 8
i32.add
i32.const 7
i32.and
select
i32.add
local.tee 2
local.get 7
i32.sub
local.get 4
i32.sub
local.set 0
local.get 4
local.get 7
i32.add
local.set 3
local.get 1
local.get 2
i32.eq
if ;; label = @10
i32.const 2196
local.get 3
i32.store
i32.const 2184
i32.const 2184
i32.load
local.get 0
i32.add
local.tee 0
i32.store
local.get 3
local.get 0
i32.const 1
i32.or
i32.store offset=4
br 3 (;@7;)
end
local.get 2
i32.const 2192
i32.load
i32.eq
if ;; label = @10
i32.const 2192
local.get 3
i32.store
i32.const 2180
i32.const 2180
i32.load
local.get 0
i32.add
local.tee 0
i32.store
local.get 3
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 3
i32.add
local.get 0
i32.store
br 3 (;@7;)
end
local.get 2
i32.load offset=4
local.tee 1
i32.const 3
i32.and
i32.const 1
i32.eq
if ;; label = @10
local.get 1
i32.const -8
i32.and
local.set 8
block ;; label = @11
local.get 1
i32.const 255
i32.le_u
if ;; label = @12
local.get 2
i32.load offset=8
local.tee 6
local.get 1
i32.const 3
i32.shr_u
local.tee 9
i32.const 3
i32.shl
i32.const 2212
i32.add
i32.ne
drop
local.get 2
i32.load offset=12
local.tee 4
local.get 6
i32.eq
if ;; label = @13
i32.const 2172
i32.const 2172
i32.load
i32.const -2
local.get 9
i32.rotl
i32.and
i32.store
br 2 (;@11;)
end
local.get 6
local.get 4
i32.store offset=12
local.get 4
local.get 6
i32.store offset=8
br 1 (;@11;)
end
local.get 2
i32.load offset=24
local.set 9
block ;; label = @12
local.get 2
local.get 2
i32.load offset=12
local.tee 6
i32.ne
if ;; label = @13
local.get 5
local.get 2
i32.load offset=8
local.tee 1
i32.le_u
if ;; label = @14
local.get 1
i32.load offset=12
drop
end
local.get 1
local.get 6
i32.store offset=12
local.get 6
local.get 1
i32.store offset=8
br 1 (;@12;)
end
block ;; label = @13
local.get 2
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@13;)
local.get 2
i32.const 16
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@13;)
i32.const 0
local.set 6
br 1 (;@12;)
end
loop ;; label = @13
local.get 1
local.set 5
local.get 4
local.tee 6
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@13;)
local.get 6
i32.const 16
i32.add
local.set 1
local.get 6
i32.load offset=16
local.tee 4
br_if 0 (;@13;)
end
local.get 5
i32.const 0
i32.store
end
local.get 9
i32.eqz
br_if 0 (;@11;)
block ;; label = @12
local.get 2
local.get 2
i32.load offset=28
local.tee 4
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 1
i32.load
i32.eq
if ;; label = @13
local.get 1
local.get 6
i32.store
local.get 6
br_if 1 (;@12;)
i32.const 2176
i32.const 2176
i32.load
i32.const -2
local.get 4
i32.rotl
i32.and
i32.store
br 2 (;@11;)
end
local.get 9
i32.const 16
i32.const 20
local.get 9
i32.load offset=16
local.get 2
i32.eq
select
i32.add
local.get 6
i32.store
local.get 6
i32.eqz
br_if 1 (;@11;)
end
local.get 6
local.get 9
i32.store offset=24
local.get 2
i32.load offset=16
local.tee 1
if ;; label = @12
local.get 6
local.get 1
i32.store offset=16
local.get 1
local.get 6
i32.store offset=24
end
local.get 2
i32.load offset=20
local.tee 1
i32.eqz
br_if 0 (;@11;)
local.get 6
local.get 1
i32.store offset=20
local.get 1
local.get 6
i32.store offset=24
end
local.get 2
local.get 8
i32.add
local.set 2
local.get 0
local.get 8
i32.add
local.set 0
end
local.get 2
local.get 2
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
local.get 3
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 3
i32.add
local.get 0
i32.store
local.get 0
i32.const 255
i32.le_u
if ;; label = @10
local.get 0
i32.const 3
i32.shr_u
local.tee 1
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 0
block (result i32) ;; label = @11
i32.const 2172
i32.load
local.tee 4
i32.const 1
local.get 1
i32.shl
local.tee 1
i32.and
i32.eqz
if ;; label = @12
i32.const 2172
local.get 1
local.get 4
i32.or
i32.store
local.get 0
br 1 (;@11;)
end
local.get 0
i32.load offset=8
end
local.set 1
local.get 0
local.get 3
i32.store offset=8
local.get 1
local.get 3
i32.store offset=12
local.get 3
local.get 0
i32.store offset=12
local.get 3
local.get 1
i32.store offset=8
br 3 (;@7;)
end
local.get 3
block (result i32) ;; label = @10
i32.const 0
local.get 0
i32.const 8
i32.shr_u
local.tee 4
i32.eqz
br_if 0 (;@10;)
drop
i32.const 31
local.get 0
i32.const 16777215
i32.gt_u
br_if 0 (;@10;)
drop
local.get 4
local.get 4
i32.const 1048320
i32.add
i32.const 16
i32.shr_u
i32.const 8
i32.and
local.tee 1
i32.shl
local.tee 4
local.get 4
i32.const 520192
i32.add
i32.const 16
i32.shr_u
i32.const 4
i32.and
local.tee 4
i32.shl
local.tee 2
local.get 2
i32.const 245760
i32.add
i32.const 16
i32.shr_u
i32.const 2
i32.and
local.tee 2
i32.shl
i32.const 15
i32.shr_u
local.get 1
local.get 4
i32.or
local.get 2
i32.or
i32.sub
local.tee 1
i32.const 1
i32.shl
local.get 0
local.get 1
i32.const 21
i32.add
i32.shr_u
i32.const 1
i32.and
i32.or
i32.const 28
i32.add
end
local.tee 1
i32.store offset=28
local.get 3
i64.const 0
i64.store offset=16 align=4
local.get 1
i32.const 2
i32.shl
i32.const 2476
i32.add
local.set 4
block ;; label = @10
i32.const 2176
i32.load
local.tee 2
i32.const 1
local.get 1
i32.shl
local.tee 5
i32.and
i32.eqz
if ;; label = @11
i32.const 2176
local.get 2
local.get 5
i32.or
i32.store
local.get 4
local.get 3
i32.store
local.get 3
local.get 4
i32.store offset=24
br 1 (;@10;)
end
local.get 0
i32.const 0
i32.const 25
local.get 1
i32.const 1
i32.shr_u
i32.sub
local.get 1
i32.const 31
i32.eq
select
i32.shl
local.set 1
local.get 4
i32.load
local.set 2
loop ;; label = @11
local.get 2
local.tee 4
i32.load offset=4
i32.const -8
i32.and
local.get 0
i32.eq
br_if 3 (;@8;)
local.get 1
i32.const 29
i32.shr_u
local.set 2
local.get 1
i32.const 1
i32.shl
local.set 1
local.get 4
local.get 2
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee 5
i32.load
local.tee 2
br_if 0 (;@11;)
end
local.get 5
local.get 3
i32.store
local.get 3
local.get 4
i32.store offset=24
end
local.get 3
local.get 3
i32.store offset=12
local.get 3
local.get 3
i32.store offset=8
br 2 (;@7;)
end
i32.const 2184
local.get 6
i32.const -40
i32.add
local.tee 0
i32.const -8
local.get 2
i32.sub
i32.const 7
i32.and
i32.const 0
local.get 2
i32.const 8
i32.add
i32.const 7
i32.and
select
local.tee 5
i32.sub
local.tee 7
i32.store
i32.const 2196
local.get 2
local.get 5
i32.add
local.tee 5
i32.store
local.get 5
local.get 7
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
i32.const 40
i32.store offset=4
i32.const 2200
i32.const 2660
i32.load
i32.store
local.get 1
local.get 3
i32.const 39
local.get 3
i32.sub
i32.const 7
i32.and
i32.const 0
local.get 3
i32.const -39
i32.add
i32.const 7
i32.and
select
i32.add
i32.const -47
i32.add
local.tee 0
local.get 0
local.get 1
i32.const 16
i32.add
i32.lt_u
select
local.tee 5
i32.const 27
i32.store offset=4
local.get 5
i32.const 2628
i64.load align=4
i64.store offset=16 align=4
local.get 5
i32.const 2620
i64.load align=4
i64.store offset=8 align=4
i32.const 2628
local.get 5
i32.const 8
i32.add
i32.store
i32.const 2624
local.get 6
i32.store
i32.const 2620
local.get 2
i32.store
i32.const 2632
i32.const 0
i32.store
local.get 5
i32.const 24
i32.add
local.set 0
loop ;; label = @9
local.get 0
i32.const 7
i32.store offset=4
local.get 0
i32.const 8
i32.add
local.set 2
local.get 0
i32.const 4
i32.add
local.set 0
local.get 3
local.get 2
i32.gt_u
br_if 0 (;@9;)
end
local.get 1
local.get 5
i32.eq
br_if 3 (;@5;)
local.get 5
local.get 5
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
local.get 1
local.get 5
local.get 1
i32.sub
local.tee 6
i32.const 1
i32.or
i32.store offset=4
local.get 5
local.get 6
i32.store
local.get 6
i32.const 255
i32.le_u
if ;; label = @9
local.get 6
i32.const 3
i32.shr_u
local.tee 3
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 0
block (result i32) ;; label = @10
i32.const 2172
i32.load
local.tee 2
i32.const 1
local.get 3
i32.shl
local.tee 3
i32.and
i32.eqz
if ;; label = @11
i32.const 2172
local.get 2
local.get 3
i32.or
i32.store
local.get 0
br 1 (;@10;)
end
local.get 0
i32.load offset=8
end
local.set 3
local.get 0
local.get 1
i32.store offset=8
local.get 3
local.get 1
i32.store offset=12
local.get 1
local.get 0
i32.store offset=12
local.get 1
local.get 3
i32.store offset=8
br 4 (;@5;)
end
local.get 1
i64.const 0
i64.store offset=16 align=4
local.get 1
block (result i32) ;; label = @9
i32.const 0
local.get 6
i32.const 8
i32.shr_u
local.tee 3
i32.eqz
br_if 0 (;@9;)
drop
i32.const 31
local.get 6
i32.const 16777215
i32.gt_u
br_if 0 (;@9;)
drop
local.get 3
local.get 3
i32.const 1048320
i32.add
i32.const 16
i32.shr_u
i32.const 8
i32.and
local.tee 0
i32.shl
local.tee 3
local.get 3
i32.const 520192
i32.add
i32.const 16
i32.shr_u
i32.const 4
i32.and
local.tee 3
i32.shl
local.tee 2
local.get 2
i32.const 245760
i32.add
i32.const 16
i32.shr_u
i32.const 2
i32.and
local.tee 2
i32.shl
i32.const 15
i32.shr_u
local.get 0
local.get 3
i32.or
local.get 2
i32.or
i32.sub
local.tee 0
i32.const 1
i32.shl
local.get 6
local.get 0
i32.const 21
i32.add
i32.shr_u
i32.const 1
i32.and
i32.or
i32.const 28
i32.add
end
local.tee 0
i32.store offset=28
local.get 0
i32.const 2
i32.shl
i32.const 2476
i32.add
local.set 3
block ;; label = @9
i32.const 2176
i32.load
local.tee 2
i32.const 1
local.get 0
i32.shl
local.tee 5
i32.and
i32.eqz
if ;; label = @10
i32.const 2176
local.get 2
local.get 5
i32.or
i32.store
local.get 3
local.get 1
i32.store
local.get 1
local.get 3
i32.store offset=24
br 1 (;@9;)
end
local.get 6
i32.const 0
i32.const 25
local.get 0
i32.const 1
i32.shr_u
i32.sub
local.get 0
i32.const 31
i32.eq
select
i32.shl
local.set 0
local.get 3
i32.load
local.set 2
loop ;; label = @10
local.get 2
local.tee 3
i32.load offset=4
i32.const -8
i32.and
local.get 6
i32.eq
br_if 4 (;@6;)
local.get 0
i32.const 29
i32.shr_u
local.set 2
local.get 0
i32.const 1
i32.shl
local.set 0
local.get 3
local.get 2
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee 5
i32.load
local.tee 2
br_if 0 (;@10;)
end
local.get 5
local.get 1
i32.store
local.get 1
local.get 3
i32.store offset=24
end
local.get 1
local.get 1
i32.store offset=12
local.get 1
local.get 1
i32.store offset=8
br 3 (;@5;)
end
local.get 4
i32.load offset=8
local.tee 0
local.get 3
i32.store offset=12
local.get 4
local.get 3
i32.store offset=8
local.get 3
i32.const 0
i32.store offset=24
local.get 3
local.get 4
i32.store offset=12
local.get 3
local.get 0
i32.store offset=8
end
local.get 7
i32.const 8
i32.add
local.set 0
br 5 (;@1;)
end
local.get 3
i32.load offset=8
local.tee 0
local.get 1
i32.store offset=12
local.get 3
local.get 1
i32.store offset=8
local.get 1
i32.const 0
i32.store offset=24
local.get 1
local.get 3
i32.store offset=12
local.get 1
local.get 0
i32.store offset=8
end
i32.const 2184
i32.load
local.tee 0
local.get 4
i32.le_u
br_if 0 (;@4;)
i32.const 2184
local.get 0
local.get 4
i32.sub
local.tee 1
i32.store
i32.const 2196
i32.const 2196
i32.load
local.tee 0
local.get 4
i32.add
local.tee 3
i32.store
local.get 3
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 4
i32.const 3
i32.or
i32.store offset=4
local.get 0
i32.const 8
i32.add
local.set 0
br 3 (;@1;)
end
i32.const 2104
i32.const 48
i32.store
i32.const 0
local.set 0
br 2 (;@1;)
end
block ;; label = @3
local.get 7
i32.eqz
br_if 0 (;@3;)
block ;; label = @4
local.get 5
i32.load offset=28
local.tee 1
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 0
i32.load
local.get 5
i32.eq
if ;; label = @5
local.get 0
local.get 2
i32.store
local.get 2
br_if 1 (;@4;)
i32.const 2176
local.get 8
i32.const -2
local.get 1
i32.rotl
i32.and
local.tee 8
i32.store
br 2 (;@3;)
end
local.get 7
i32.const 16
i32.const 20
local.get 7
i32.load offset=16
local.get 5
i32.eq
select
i32.add
local.get 2
i32.store
local.get 2
i32.eqz
br_if 1 (;@3;)
end
local.get 2
local.get 7
i32.store offset=24
local.get 5
i32.load offset=16
local.tee 0
if ;; label = @4
local.get 2
local.get 0
i32.store offset=16
local.get 0
local.get 2
i32.store offset=24
end
local.get 5
i32.load offset=20
local.tee 0
i32.eqz
br_if 0 (;@3;)
local.get 2
local.get 0
i32.store offset=20
local.get 0
local.get 2
i32.store offset=24
end
block ;; label = @3
local.get 3
i32.const 15
i32.le_u
if ;; label = @4
local.get 5
local.get 3
local.get 4
i32.add
local.tee 0
i32.const 3
i32.or
i32.store offset=4
local.get 0
local.get 5
i32.add
local.tee 0
local.get 0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
br 1 (;@3;)
end
local.get 5
local.get 4
i32.const 3
i32.or
i32.store offset=4
local.get 4
local.get 5
i32.add
local.tee 2
local.get 3
i32.const 1
i32.or
i32.store offset=4
local.get 2
local.get 3
i32.add
local.get 3
i32.store
local.get 3
i32.const 255
i32.le_u
if ;; label = @4
local.get 3
i32.const 3
i32.shr_u
local.tee 1
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 0
block (result i32) ;; label = @5
i32.const 2172
i32.load
local.tee 3
i32.const 1
local.get 1
i32.shl
local.tee 1
i32.and
i32.eqz
if ;; label = @6
i32.const 2172
local.get 1
local.get 3
i32.or
i32.store
local.get 0
br 1 (;@5;)
end
local.get 0
i32.load offset=8
end
local.set 1
local.get 0
local.get 2
i32.store offset=8
local.get 1
local.get 2
i32.store offset=12
local.get 2
local.get 0
i32.store offset=12
local.get 2
local.get 1
i32.store offset=8
br 1 (;@3;)
end
local.get 2
block (result i32) ;; label = @4
i32.const 0
local.get 3
i32.const 8
i32.shr_u
local.tee 1
i32.eqz
br_if 0 (;@4;)
drop
i32.const 31
local.get 3
i32.const 16777215
i32.gt_u
br_if 0 (;@4;)
drop
local.get 1
local.get 1
i32.const 1048320
i32.add
i32.const 16
i32.shr_u
i32.const 8
i32.and
local.tee 0
i32.shl
local.tee 1
local.get 1
i32.const 520192
i32.add
i32.const 16
i32.shr_u
i32.const 4
i32.and
local.tee 1
i32.shl
local.tee 4
local.get 4
i32.const 245760
i32.add
i32.const 16
i32.shr_u
i32.const 2
i32.and
local.tee 4
i32.shl
i32.const 15
i32.shr_u
local.get 0
local.get 1
i32.or
local.get 4
i32.or
i32.sub
local.tee 0
i32.const 1
i32.shl
local.get 3
local.get 0
i32.const 21
i32.add
i32.shr_u
i32.const 1
i32.and
i32.or
i32.const 28
i32.add
end
local.tee 0
i32.store offset=28
local.get 2
i64.const 0
i64.store offset=16 align=4
local.get 0
i32.const 2
i32.shl
i32.const 2476
i32.add
local.set 1
block ;; label = @4
block ;; label = @5
local.get 8
i32.const 1
local.get 0
i32.shl
local.tee 4
i32.and
i32.eqz
if ;; label = @6
i32.const 2176
local.get 4
local.get 8
i32.or
i32.store
local.get 1
local.get 2
i32.store
local.get 2
local.get 1
i32.store offset=24
br 1 (;@5;)
end
local.get 3
i32.const 0
i32.const 25
local.get 0
i32.const 1
i32.shr_u
i32.sub
local.get 0
i32.const 31
i32.eq
select
i32.shl
local.set 0
local.get 1
i32.load
local.set 4
loop ;; label = @6
local.get 4
local.tee 1
i32.load offset=4
i32.const -8
i32.and
local.get 3
i32.eq
br_if 2 (;@4;)
local.get 0
i32.const 29
i32.shr_u
local.set 4
local.get 0
i32.const 1
i32.shl
local.set 0
local.get 1
local.get 4
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee 6
i32.load
local.tee 4
br_if 0 (;@6;)
end
local.get 6
local.get 2
i32.store
local.get 2
local.get 1
i32.store offset=24
end
local.get 2
local.get 2
i32.store offset=12
local.get 2
local.get 2
i32.store offset=8
br 1 (;@3;)
end
local.get 1
i32.load offset=8
local.tee 0
local.get 2
i32.store offset=12
local.get 1
local.get 2
i32.store offset=8
local.get 2
i32.const 0
i32.store offset=24
local.get 2
local.get 1
i32.store offset=12
local.get 2
local.get 0
i32.store offset=8
end
local.get 5
i32.const 8
i32.add
local.set 0
br 1 (;@1;)
end
block ;; label = @2
local.get 10
i32.eqz
br_if 0 (;@2;)
block ;; label = @3
local.get 2
i32.load offset=28
local.tee 3
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 0
i32.load
local.get 2
i32.eq
if ;; label = @4
local.get 0
local.get 5
i32.store
local.get 5
br_if 1 (;@3;)
i32.const 2176
local.get 9
i32.const -2
local.get 3
i32.rotl
i32.and
i32.store
br 2 (;@2;)
end
local.get 10
i32.const 16
i32.const 20
local.get 10
i32.load offset=16
local.get 2
i32.eq
select
i32.add
local.get 5
i32.store
local.get 5
i32.eqz
br_if 1 (;@2;)
end
local.get 5
local.get 10
i32.store offset=24
local.get 2
i32.load offset=16
local.tee 0
if ;; label = @3
local.get 5
local.get 0
i32.store offset=16
local.get 0
local.get 5
i32.store offset=24
end
local.get 2
i32.load offset=20
local.tee 0
i32.eqz
br_if 0 (;@2;)
local.get 5
local.get 0
i32.store offset=20
local.get 0
local.get 5
i32.store offset=24
end
block ;; label = @2
local.get 1
i32.const 15
i32.le_u
if ;; label = @3
local.get 2
local.get 1
local.get 4
i32.add
local.tee 0
i32.const 3
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
local.tee 0
local.get 0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
br 1 (;@2;)
end
local.get 2
local.get 4
i32.const 3
i32.or
i32.store offset=4
local.get 2
local.get 4
i32.add
local.tee 3
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 1
local.get 3
i32.add
local.get 1
i32.store
local.get 8
if ;; label = @3
local.get 8
i32.const 3
i32.shr_u
local.tee 5
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 4
i32.const 2192
i32.load
local.set 0
block (result i32) ;; label = @4
i32.const 1
local.get 5
i32.shl
local.tee 5
local.get 6
i32.and
i32.eqz
if ;; label = @5
i32.const 2172
local.get 5
local.get 6
i32.or
i32.store
local.get 4
br 1 (;@4;)
end
local.get 4
i32.load offset=8
end
local.set 5
local.get 4
local.get 0
i32.store offset=8
local.get 5
local.get 0
i32.store offset=12
local.get 0
local.get 4
i32.store offset=12
local.get 0
local.get 5
i32.store offset=8
end
i32.const 2192
local.get 3
i32.store
i32.const 2180
local.get 1
i32.store
end
local.get 2
i32.const 8
i32.add
local.set 0
end
local.get 11
i32.const 16
i32.add
global.set 0
local.get 0)
(func (;39;) (type 3) (param i32)
(local i32 i32 i32 i32 i32 i32 i32)
block ;; label = @1
local.get 0
i32.eqz
br_if 0 (;@1;)
local.get 0
i32.const -8
i32.add
local.tee 2
local.get 0
i32.const -4
i32.add
i32.load
local.tee 1
i32.const -8
i32.and
local.tee 0
i32.add
local.set 5
block ;; label = @2
local.get 1
i32.const 1
i32.and
br_if 0 (;@2;)
local.get 1
i32.const 3
i32.and
i32.eqz
br_if 1 (;@1;)
local.get 2
local.get 2
i32.load
local.tee 1
i32.sub
local.tee 2
i32.const 2188
i32.load
local.tee 4
i32.lt_u
br_if 1 (;@1;)
local.get 0
local.get 1
i32.add
local.set 0
local.get 2
i32.const 2192
i32.load
i32.ne
if ;; label = @3
local.get 1
i32.const 255
i32.le_u
if ;; label = @4
local.get 2
i32.load offset=8
local.tee 7
local.get 1
i32.const 3
i32.shr_u
local.tee 6
i32.const 3
i32.shl
i32.const 2212
i32.add
i32.ne
drop
local.get 7
local.get 2
i32.load offset=12
local.tee 3
i32.eq
if ;; label = @5
i32.const 2172
i32.const 2172
i32.load
i32.const -2
local.get 6
i32.rotl
i32.and
i32.store
br 3 (;@2;)
end
local.get 7
local.get 3
i32.store offset=12
local.get 3
local.get 7
i32.store offset=8
br 2 (;@2;)
end
local.get 2
i32.load offset=24
local.set 6
block ;; label = @4
local.get 2
local.get 2
i32.load offset=12
local.tee 3
i32.ne
if ;; label = @5
local.get 4
local.get 2
i32.load offset=8
local.tee 1
i32.le_u
if ;; label = @6
local.get 1
i32.load offset=12
drop
end
local.get 1
local.get 3
i32.store offset=12
local.get 3
local.get 1
i32.store offset=8
br 1 (;@4;)
end
block ;; label = @5
local.get 2
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@5;)
local.get 2
i32.const 16
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@5;)
i32.const 0
local.set 3
br 1 (;@4;)
end
loop ;; label = @5
local.get 1
local.set 7
local.get 4
local.tee 3
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@5;)
local.get 3
i32.const 16
i32.add
local.set 1
local.get 3
i32.load offset=16
local.tee 4
br_if 0 (;@5;)
end
local.get 7
i32.const 0
i32.store
end
local.get 6
i32.eqz
br_if 1 (;@2;)
block ;; label = @4
local.get 2
local.get 2
i32.load offset=28
local.tee 4
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 1
i32.load
i32.eq
if ;; label = @5
local.get 1
local.get 3
i32.store
local.get 3
br_if 1 (;@4;)
i32.const 2176
i32.const 2176
i32.load
i32.const -2
local.get 4
i32.rotl
i32.and
i32.store
br 3 (;@2;)
end
local.get 6
i32.const 16
i32.const 20
local.get 6
i32.load offset=16
local.get 2
i32.eq
select
i32.add
local.get 3
i32.store
local.get 3
i32.eqz
br_if 2 (;@2;)
end
local.get 3
local.get 6
i32.store offset=24
local.get 2
i32.load offset=16
local.tee 1
if ;; label = @4
local.get 3
local.get 1
i32.store offset=16
local.get 1
local.get 3
i32.store offset=24
end
local.get 2
i32.load offset=20
local.tee 1
i32.eqz
br_if 1 (;@2;)
local.get 3
local.get 1
i32.store offset=20
local.get 1
local.get 3
i32.store offset=24
br 1 (;@2;)
end
local.get 5
i32.load offset=4
local.tee 1
i32.const 3
i32.and
i32.const 3
i32.ne
br_if 0 (;@2;)
i32.const 2180
local.get 0
i32.store
local.get 5
local.get 1
i32.const -2
i32.and
i32.store offset=4
local.get 2
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
local.get 0
i32.store
return
end
local.get 5
local.get 2
i32.le_u
br_if 0 (;@1;)
local.get 5
i32.load offset=4
local.tee 1
i32.const 1
i32.and
i32.eqz
br_if 0 (;@1;)
block ;; label = @2
local.get 1
i32.const 2
i32.and
i32.eqz
if ;; label = @3
local.get 5
i32.const 2196
i32.load
i32.eq
if ;; label = @4
i32.const 2196
local.get 2
i32.store
i32.const 2184
i32.const 2184
i32.load
local.get 0
i32.add
local.tee 0
i32.store
local.get 2
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 2
i32.const 2192
i32.load
i32.ne
br_if 3 (;@1;)
i32.const 2180
i32.const 0
i32.store
i32.const 2192
i32.const 0
i32.store
return
end
local.get 5
i32.const 2192
i32.load
i32.eq
if ;; label = @4
i32.const 2192
local.get 2
i32.store
i32.const 2180
i32.const 2180
i32.load
local.get 0
i32.add
local.tee 0
i32.store
local.get 2
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
local.get 0
i32.store
return
end
local.get 1
i32.const -8
i32.and
local.get 0
i32.add
local.set 0
block ;; label = @4
local.get 1
i32.const 255
i32.le_u
if ;; label = @5
local.get 5
i32.load offset=12
local.set 4
local.get 5
i32.load offset=8
local.tee 3
local.get 1
i32.const 3
i32.shr_u
local.tee 5
i32.const 3
i32.shl
i32.const 2212
i32.add
local.tee 1
i32.ne
if ;; label = @6
i32.const 2188
i32.load
drop
end
local.get 3
local.get 4
i32.eq
if ;; label = @6
i32.const 2172
i32.const 2172
i32.load
i32.const -2
local.get 5
i32.rotl
i32.and
i32.store
br 2 (;@4;)
end
local.get 1
local.get 4
i32.ne
if ;; label = @6
i32.const 2188
i32.load
drop
end
local.get 3
local.get 4
i32.store offset=12
local.get 4
local.get 3
i32.store offset=8
br 1 (;@4;)
end
local.get 5
i32.load offset=24
local.set 6
block ;; label = @5
local.get 5
local.get 5
i32.load offset=12
local.tee 3
i32.ne
if ;; label = @6
i32.const 2188
i32.load
local.get 5
i32.load offset=8
local.tee 1
i32.le_u
if ;; label = @7
local.get 1
i32.load offset=12
drop
end
local.get 1
local.get 3
i32.store offset=12
local.get 3
local.get 1
i32.store offset=8
br 1 (;@5;)
end
block ;; label = @6
local.get 5
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@6;)
local.get 5
i32.const 16
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@6;)
i32.const 0
local.set 3
br 1 (;@5;)
end
loop ;; label = @6
local.get 1
local.set 7
local.get 4
local.tee 3
i32.const 20
i32.add
local.tee 1
i32.load
local.tee 4
br_if 0 (;@6;)
local.get 3
i32.const 16
i32.add
local.set 1
local.get 3
i32.load offset=16
local.tee 4
br_if 0 (;@6;)
end
local.get 7
i32.const 0
i32.store
end
local.get 6
i32.eqz
br_if 0 (;@4;)
block ;; label = @5
local.get 5
local.get 5
i32.load offset=28
local.tee 4
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 1
i32.load
i32.eq
if ;; label = @6
local.get 1
local.get 3
i32.store
local.get 3
br_if 1 (;@5;)
i32.const 2176
i32.const 2176
i32.load
i32.const -2
local.get 4
i32.rotl
i32.and
i32.store
br 2 (;@4;)
end
local.get 6
i32.const 16
i32.const 20
local.get 6
i32.load offset=16
local.get 5
i32.eq
select
i32.add
local.get 3
i32.store
local.get 3
i32.eqz
br_if 1 (;@4;)
end
local.get 3
local.get 6
i32.store offset=24
local.get 5
i32.load offset=16
local.tee 1
if ;; label = @5
local.get 3
local.get 1
i32.store offset=16
local.get 1
local.get 3
i32.store offset=24
end
local.get 5
i32.load offset=20
local.tee 1
i32.eqz
br_if 0 (;@4;)
local.get 3
local.get 1
i32.store offset=20
local.get 1
local.get 3
i32.store offset=24
end
local.get 2
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
local.get 0
i32.store
local.get 2
i32.const 2192
i32.load
i32.ne
br_if 1 (;@2;)
i32.const 2180
local.get 0
i32.store
return
end
local.get 5
local.get 1
i32.const -2
i32.and
i32.store offset=4
local.get 2
local.get 0
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 2
i32.add
local.get 0
i32.store
end
local.get 0
i32.const 255
i32.le_u
if ;; label = @2
local.get 0
i32.const 3
i32.shr_u
local.tee 1
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 0
block (result i32) ;; label = @3
i32.const 2172
i32.load
local.tee 4
i32.const 1
local.get 1
i32.shl
local.tee 1
i32.and
i32.eqz
if ;; label = @4
i32.const 2172
local.get 1
local.get 4
i32.or
i32.store
local.get 0
br 1 (;@3;)
end
local.get 0
i32.load offset=8
end
local.set 1
local.get 0
local.get 2
i32.store offset=8
local.get 1
local.get 2
i32.store offset=12
local.get 2
local.get 0
i32.store offset=12
local.get 2
local.get 1
i32.store offset=8
return
end
local.get 2
i64.const 0
i64.store offset=16 align=4
local.get 2
block (result i32) ;; label = @2
i32.const 0
local.get 0
i32.const 8
i32.shr_u
local.tee 4
i32.eqz
br_if 0 (;@2;)
drop
i32.const 31
local.get 0
i32.const 16777215
i32.gt_u
br_if 0 (;@2;)
drop
local.get 4
local.get 4
i32.const 1048320
i32.add
i32.const 16
i32.shr_u
i32.const 8
i32.and
local.tee 1
i32.shl
local.tee 4
local.get 4
i32.const 520192
i32.add
i32.const 16
i32.shr_u
i32.const 4
i32.and
local.tee 4
i32.shl
local.tee 3
local.get 3
i32.const 245760
i32.add
i32.const 16
i32.shr_u
i32.const 2
i32.and
local.tee 3
i32.shl
i32.const 15
i32.shr_u
local.get 1
local.get 4
i32.or
local.get 3
i32.or
i32.sub
local.tee 1
i32.const 1
i32.shl
local.get 0
local.get 1
i32.const 21
i32.add
i32.shr_u
i32.const 1
i32.and
i32.or
i32.const 28
i32.add
end
local.tee 1
i32.store offset=28
local.get 1
i32.const 2
i32.shl
i32.const 2476
i32.add
local.set 4
block ;; label = @2
block ;; label = @3
block ;; label = @4
i32.const 2176
i32.load
local.tee 3
i32.const 1
local.get 1
i32.shl
local.tee 5
i32.and
i32.eqz
if ;; label = @5
i32.const 2176
local.get 3
local.get 5
i32.or
i32.store
local.get 4
local.get 2
i32.store
local.get 2
local.get 4
i32.store offset=24
br 1 (;@4;)
end
local.get 0
i32.const 0
i32.const 25
local.get 1
i32.const 1
i32.shr_u
i32.sub
local.get 1
i32.const 31
i32.eq
select
i32.shl
local.set 1
local.get 4
i32.load
local.set 3
loop ;; label = @5
local.get 3
local.tee 4
i32.load offset=4
i32.const -8
i32.and
local.get 0
i32.eq
br_if 2 (;@3;)
local.get 1
i32.const 29
i32.shr_u
local.set 3
local.get 1
i32.const 1
i32.shl
local.set 1
local.get 4
local.get 3
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee 5
i32.load
local.tee 3
br_if 0 (;@5;)
end
local.get 5
local.get 2
i32.store
local.get 2
local.get 4
i32.store offset=24
end
local.get 2
local.get 2
i32.store offset=12
local.get 2
local.get 2
i32.store offset=8
br 1 (;@2;)
end
local.get 4
i32.load offset=8
local.tee 0
local.get 2
i32.store offset=12
local.get 4
local.get 2
i32.store offset=8
local.get 2
i32.const 0
i32.store offset=24
local.get 2
local.get 4
i32.store offset=12
local.get 2
local.get 0
i32.store offset=8
end
i32.const 2204
i32.const 2204
i32.load
i32.const -1
i32.add
local.tee 2
i32.store
local.get 2
br_if 0 (;@1;)
i32.const 2628
local.set 2
loop ;; label = @2
local.get 2
i32.load
local.tee 0
i32.const 8
i32.add
local.set 2
local.get 0
br_if 0 (;@2;)
end
i32.const 2204
i32.const -1
i32.store
end)
(func (;40;) (type 5) (result i32)
(local i32 i32 i32 i32 i32 i32)
i32.const 32004116
call 38
local.tee 0
i32.eqz
if ;; label = @1
i32.const 0
return
end
local.get 0
i32.const -8
i32.add
local.set 2
block ;; label = @1
local.get 0
i32.const 4095
i32.and
i32.eqz
if ;; label = @2
local.get 2
local.set 1
br 1 (;@1;)
end
local.get 0
i32.const -4
i32.add
local.tee 4
i32.load
local.tee 5
i32.const -8
i32.and
local.get 0
i32.const 4095
i32.add
i32.const -4096
i32.and
i32.const -8
i32.add
local.tee 0
local.get 0
i32.const 4096
i32.add
local.get 0
local.get 2
i32.sub
i32.const 15
i32.gt_u
select
local.tee 1
local.get 2
i32.sub
local.tee 0
i32.sub
local.set 3
local.get 5
i32.const 3
i32.and
i32.eqz
if ;; label = @2
local.get 2
i32.load
local.set 2
local.get 1
local.get 3
i32.store offset=4
local.get 1
local.get 0
local.get 2
i32.add
i32.store
br 1 (;@1;)
end
local.get 1
local.get 3
local.get 1
i32.load offset=4
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store offset=4
local.get 1
local.get 3
i32.add
local.tee 3
local.get 3
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get 4
local.get 0
local.get 4
i32.load
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get 1
local.get 1
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get 2
local.get 0
call 41
end
block ;; label = @1
local.get 1
i32.load offset=4
local.tee 0
i32.const 3
i32.and
i32.eqz
br_if 0 (;@1;)
local.get 0
i32.const -8
i32.and
local.tee 2
i32.const 32000024
i32.le_u
br_if 0 (;@1;)
local.get 1
local.get 0
i32.const 1
i32.and
i32.const 32000010
i32.or
i32.store offset=4
local.get 1
i32.const 32000008
i32.add
local.tee 0
local.get 2
i32.const 32000008
i32.sub
local.tee 3
i32.const 3
i32.or
i32.store offset=4
local.get 1
local.get 2
i32.add
local.tee 2
local.get 2
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 3
call 41
end
local.get 1
i32.const 8
i32.add)
(func (;41;) (type 6) (param i32 i32)
(local i32 i32 i32 i32 i32 i32)
local.get 0
local.get 1
i32.add
local.set 5
block ;; label = @1
block ;; label = @2
local.get 0
i32.load offset=4
local.tee 2
i32.const 1
i32.and
br_if 0 (;@2;)
local.get 2
i32.const 3
i32.and
i32.eqz
br_if 1 (;@1;)
local.get 0
i32.load
local.tee 2
local.get 1
i32.add
local.set 1
local.get 0
local.get 2
i32.sub
local.tee 0
i32.const 2192
i32.load
i32.ne
if ;; label = @3
i32.const 2188
i32.load
local.set 7
local.get 2
i32.const 255
i32.le_u
if ;; label = @4
local.get 0
i32.load offset=8
local.tee 3
local.get 2
i32.const 3
i32.shr_u
local.tee 6
i32.const 3
i32.shl
i32.const 2212
i32.add
i32.ne
drop
local.get 3
local.get 0
i32.load offset=12
local.tee 4
i32.eq
if ;; label = @5
i32.const 2172
i32.const 2172
i32.load
i32.const -2
local.get 6
i32.rotl
i32.and
i32.store
br 3 (;@2;)
end
local.get 3
local.get 4
i32.store offset=12
local.get 4
local.get 3
i32.store offset=8
br 2 (;@2;)
end
local.get 0
i32.load offset=24
local.set 6
block ;; label = @4
local.get 0
local.get 0
i32.load offset=12
local.tee 3
i32.ne
if ;; label = @5
local.get 7
local.get 0
i32.load offset=8
local.tee 2
i32.le_u
if ;; label = @6
local.get 2
i32.load offset=12
drop
end
local.get 2
local.get 3
i32.store offset=12
local.get 3
local.get 2
i32.store offset=8
br 1 (;@4;)
end
block ;; label = @5
local.get 0
i32.const 20
i32.add
local.tee 2
i32.load
local.tee 4
br_if 0 (;@5;)
local.get 0
i32.const 16
i32.add
local.tee 2
i32.load
local.tee 4
br_if 0 (;@5;)
i32.const 0
local.set 3
br 1 (;@4;)
end
loop ;; label = @5
local.get 2
local.set 7
local.get 4
local.tee 3
i32.const 20
i32.add
local.tee 2
i32.load
local.tee 4
br_if 0 (;@5;)
local.get 3
i32.const 16
i32.add
local.set 2
local.get 3
i32.load offset=16
local.tee 4
br_if 0 (;@5;)
end
local.get 7
i32.const 0
i32.store
end
local.get 6
i32.eqz
br_if 1 (;@2;)
block ;; label = @4
local.get 0
local.get 0
i32.load offset=28
local.tee 4
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 2
i32.load
i32.eq
if ;; label = @5
local.get 2
local.get 3
i32.store
local.get 3
br_if 1 (;@4;)
i32.const 2176
i32.const 2176
i32.load
i32.const -2
local.get 4
i32.rotl
i32.and
i32.store
br 3 (;@2;)
end
local.get 6
i32.const 16
i32.const 20
local.get 6
i32.load offset=16
local.get 0
i32.eq
select
i32.add
local.get 3
i32.store
local.get 3
i32.eqz
br_if 2 (;@2;)
end
local.get 3
local.get 6
i32.store offset=24
local.get 0
i32.load offset=16
local.tee 2
if ;; label = @4
local.get 3
local.get 2
i32.store offset=16
local.get 2
local.get 3
i32.store offset=24
end
local.get 0
i32.load offset=20
local.tee 2
i32.eqz
br_if 1 (;@2;)
local.get 3
local.get 2
i32.store offset=20
local.get 2
local.get 3
i32.store offset=24
br 1 (;@2;)
end
local.get 5
i32.load offset=4
local.tee 2
i32.const 3
i32.and
i32.const 3
i32.ne
br_if 0 (;@2;)
i32.const 2180
local.get 1
i32.store
local.get 5
local.get 2
i32.const -2
i32.and
i32.store offset=4
local.get 0
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 5
local.get 1
i32.store
return
end
block ;; label = @2
local.get 5
i32.load offset=4
local.tee 2
i32.const 2
i32.and
i32.eqz
if ;; label = @3
local.get 5
i32.const 2196
i32.load
i32.eq
if ;; label = @4
i32.const 2196
local.get 0
i32.store
i32.const 2184
i32.const 2184
i32.load
local.get 1
i32.add
local.tee 1
i32.store
local.get 0
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 0
i32.const 2192
i32.load
i32.ne
br_if 3 (;@1;)
i32.const 2180
i32.const 0
i32.store
i32.const 2192
i32.const 0
i32.store
return
end
local.get 5
i32.const 2192
i32.load
i32.eq
if ;; label = @4
i32.const 2192
local.get 0
i32.store
i32.const 2180
i32.const 2180
i32.load
local.get 1
i32.add
local.tee 1
i32.store
local.get 0
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 1
i32.add
local.get 1
i32.store
return
end
i32.const 2188
i32.load
local.set 7
local.get 2
i32.const -8
i32.and
local.get 1
i32.add
local.set 1
block ;; label = @4
local.get 2
i32.const 255
i32.le_u
if ;; label = @5
local.get 5
i32.load offset=12
local.set 4
local.get 5
i32.load offset=8
local.tee 3
local.get 2
i32.const 3
i32.shr_u
local.tee 5
i32.const 3
i32.shl
i32.const 2212
i32.add
i32.ne
drop
local.get 3
local.get 4
i32.eq
if ;; label = @6
i32.const 2172
i32.const 2172
i32.load
i32.const -2
local.get 5
i32.rotl
i32.and
i32.store
br 2 (;@4;)
end
local.get 3
local.get 4
i32.store offset=12
local.get 4
local.get 3
i32.store offset=8
br 1 (;@4;)
end
local.get 5
i32.load offset=24
local.set 6
block ;; label = @5
local.get 5
local.get 5
i32.load offset=12
local.tee 3
i32.ne
if ;; label = @6
local.get 7
local.get 5
i32.load offset=8
local.tee 2
i32.le_u
if ;; label = @7
local.get 2
i32.load offset=12
drop
end
local.get 2
local.get 3
i32.store offset=12
local.get 3
local.get 2
i32.store offset=8
br 1 (;@5;)
end
block ;; label = @6
local.get 5
i32.const 20
i32.add
local.tee 2
i32.load
local.tee 4
br_if 0 (;@6;)
local.get 5
i32.const 16
i32.add
local.tee 2
i32.load
local.tee 4
br_if 0 (;@6;)
i32.const 0
local.set 3
br 1 (;@5;)
end
loop ;; label = @6
local.get 2
local.set 7
local.get 4
local.tee 3
i32.const 20
i32.add
local.tee 2
i32.load
local.tee 4
br_if 0 (;@6;)
local.get 3
i32.const 16
i32.add
local.set 2
local.get 3
i32.load offset=16
local.tee 4
br_if 0 (;@6;)
end
local.get 7
i32.const 0
i32.store
end
local.get 6
i32.eqz
br_if 0 (;@4;)
block ;; label = @5
local.get 5
local.get 5
i32.load offset=28
local.tee 4
i32.const 2
i32.shl
i32.const 2476
i32.add
local.tee 2
i32.load
i32.eq
if ;; label = @6
local.get 2
local.get 3
i32.store
local.get 3
br_if 1 (;@5;)
i32.const 2176
i32.const 2176
i32.load
i32.const -2
local.get 4
i32.rotl
i32.and
i32.store
br 2 (;@4;)
end
local.get 6
i32.const 16
i32.const 20
local.get 6
i32.load offset=16
local.get 5
i32.eq
select
i32.add
local.get 3
i32.store
local.get 3
i32.eqz
br_if 1 (;@4;)
end
local.get 3
local.get 6
i32.store offset=24
local.get 5
i32.load offset=16
local.tee 2
if ;; label = @5
local.get 3
local.get 2
i32.store offset=16
local.get 2
local.get 3
i32.store offset=24
end
local.get 5
i32.load offset=20
local.tee 2
i32.eqz
br_if 0 (;@4;)
local.get 3
local.get 2
i32.store offset=20
local.get 2
local.get 3
i32.store offset=24
end
local.get 0
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 1
i32.add
local.get 1
i32.store
local.get 0
i32.const 2192
i32.load
i32.ne
br_if 1 (;@2;)
i32.const 2180
local.get 1
i32.store
return
end
local.get 5
local.get 2
i32.const -2
i32.and
i32.store offset=4
local.get 0
local.get 1
i32.const 1
i32.or
i32.store offset=4
local.get 0
local.get 1
i32.add
local.get 1
i32.store
end
local.get 1
i32.const 255
i32.le_u
if ;; label = @2
local.get 1
i32.const 3
i32.shr_u
local.tee 2
i32.const 3
i32.shl
i32.const 2212
i32.add
local.set 1
block (result i32) ;; label = @3
i32.const 2172
i32.load
local.tee 4
i32.const 1
local.get 2
i32.shl
local.tee 2
i32.and
i32.eqz
if ;; label = @4
i32.const 2172
local.get 2
local.get 4
i32.or
i32.store
local.get 1
br 1 (;@3;)
end
local.get 1
i32.load offset=8
end
local.set 2
local.get 1
local.get 0
i32.store offset=8
local.get 2
local.get 0
i32.store offset=12
local.get 0
local.get 1
i32.store offset=12
local.get 0
local.get 2
i32.store offset=8
return
end
local.get 0
i64.const 0
i64.store offset=16 align=4
local.get 0
block (result i32) ;; label = @2
i32.const 0
local.get 1
i32.const 8
i32.shr_u
local.tee 4
i32.eqz
br_if 0 (;@2;)
drop
i32.const 31
local.get 1
i32.const 16777215
i32.gt_u
br_if 0 (;@2;)
drop
local.get 4
local.get 4
i32.const 1048320
i32.add
i32.const 16
i32.shr_u
i32.const 8
i32.and
local.tee 2
i32.shl
local.tee 4
local.get 4
i32.const 520192
i32.add
i32.const 16
i32.shr_u
i32.const 4
i32.and
local.tee 4
i32.shl
local.tee 3
local.get 3
i32.const 245760
i32.add
i32.const 16
i32.shr_u
i32.const 2
i32.and
local.tee 3
i32.shl
i32.const 15
i32.shr_u
local.get 2
local.get 4
i32.or
local.get 3
i32.or
i32.sub
local.tee 2
i32.const 1
i32.shl
local.get 1
local.get 2
i32.const 21
i32.add
i32.shr_u
i32.const 1
i32.and
i32.or
i32.const 28
i32.add
end
local.tee 2
i32.store offset=28
local.get 2
i32.const 2
i32.shl
i32.const 2476
i32.add
local.set 4
block ;; label = @2
block ;; label = @3
i32.const 2176
i32.load
local.tee 3
i32.const 1
local.get 2
i32.shl
local.tee 5
i32.and
i32.eqz
if ;; label = @4
i32.const 2176
local.get 3
local.get 5
i32.or
i32.store
local.get 4
local.get 0
i32.store
local.get 0
local.get 4
i32.store offset=24
br 1 (;@3;)
end
local.get 1
i32.const 0
i32.const 25
local.get 2
i32.const 1
i32.shr_u
i32.sub
local.get 2
i32.const 31
i32.eq
select
i32.shl
local.set 2
local.get 4
i32.load
local.set 3
loop ;; label = @4
local.get 3
local.tee 4
i32.load offset=4
i32.const -8
i32.and
local.get 1
i32.eq
br_if 2 (;@2;)
local.get 2
i32.const 29
i32.shr_u
local.set 3
local.get 2
i32.const 1
i32.shl
local.set 2
local.get 4
local.get 3
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee 5
i32.load
local.tee 3
br_if 0 (;@4;)
end
local.get 5
local.get 0
i32.store
local.get 0
local.get 4
i32.store offset=24
end
local.get 0
local.get 0
i32.store offset=12
local.get 0
local.get 0
i32.store offset=8
return
end
local.get 4
i32.load offset=8
local.tee 1
local.get 0
i32.store offset=12
local.get 4
local.get 0
i32.store offset=8
local.get 0
i32.const 0
i32.store offset=24
local.get 0
local.get 4
i32.store offset=12
local.get 0
local.get 1
i32.store offset=8
end)
(func (;42;) (type 0) (param i32) (result i32)
(local i32)
i32.const 2688
i32.load
local.tee 1
local.get 0
i32.const 3
i32.add
i32.const -4
i32.and
i32.add
local.tee 0
i32.const -1
i32.le_s
if ;; label = @1
i32.const 2104
i32.const 48
i32.store
i32.const -1
return
end
local.get 0
memory.size
i32.const 16
i32.shl
i32.gt_u
if ;; label = @1
i32.const 2104
i32.const 48
i32.store
i32.const -1
return
end
i32.const 2688
local.get 0
i32.store
local.get 1)
(func (;43;) (type 1) (param i32 i32 i32) (result i32)
(local i32 i32 i32)
local.get 2
i32.const 8192
i32.ge_u
if ;; label = @1
local.get 0
local.get 1
local.get 2
call 45
local.get 0
return
end
local.get 0
local.get 2
i32.add
local.set 3
block ;; label = @1
local.get 0
local.get 1
i32.xor
i32.const 3
i32.and
i32.eqz
if ;; label = @2
block ;; label = @3
local.get 2
i32.const 1
i32.lt_s
if ;; label = @4
local.get 0
local.set 2
br 1 (;@3;)
end
local.get 0
i32.const 3
i32.and
i32.eqz
if ;; label = @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
local.get 3
i32.ge_u
br_if 1 (;@3;)
local.get 2
i32.const 3
i32.and
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.sub
local.set 1
local.get 2
i32.const -64
i32.sub
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;)
end
br 1 (;@1;)
end
local.get 3
i32.const 4
i32.lt_u
if ;; label = @2
local.get 0
local.set 2
br 1 (;@1;)
end
local.get 3
i32.const -4
i32.add
local.tee 4
local.get 0
i32.lt_u
if ;; label = @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
local.get 2
local.get 3
i32.lt_u
if ;; label = @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 (;44;) (type 1) (param i32 i32 i32) (result i32)
(local i32 i32 i64)
block ;; label = @1
local.get 2
i32.eqz
br_if 0 (;@1;)
local.get 0
local.get 2
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 4
i32.sub
local.tee 2
i32.const 32
i32.lt_u
br_if 0 (;@1;)
local.get 1
i64.extend_i32_u
local.tee 5
i64.const 32
i64.shl
local.get 5
i64.or
local.set 5
local.get 3
local.get 4
i32.add
local.set 1
loop ;; label = @2
local.get 1
local.get 5
i64.store offset=24
local.get 1
local.get 5
i64.store offset=16
local.get 1
local.get 5
i64.store offset=8
local.get 1
local.get 5
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 (;45;) (type 4) (param i32 i32 i32)
(local i32)
local.get 2
if ;; label = @1
loop ;; label = @2
local.get 0
local.get 1
local.get 2
i32.const 4096
local.get 2
i32.const 4096
i32.lt_u
select
local.tee 3
call 43
local.set 0
local.get 1
i32.const 4096
i32.add
local.set 1
local.get 0
i32.const 4096
i32.add
local.set 0
local.get 2
local.get 3
i32.sub
local.tee 2
br_if 0 (;@2;)
end
end)
(func (;46;) (type 6) (param i32 i32)
i32.const 2668
i32.load
i32.eqz
if ;; label = @1
i32.const 2672
local.get 1
i32.store
i32.const 2668
local.get 0
i32.store
end)
(func (;47;) (type 5) (result i32)
global.get 0)
(func (;48;) (type 0) (param i32) (result i32)
global.get 0
local.get 0
i32.sub
i32.const -16
i32.and
local.tee 0
global.set 0
local.get 0)
(func (;49;) (type 3) (param i32)
local.get 0
global.set 0)
(func (;50;) (type 0) (param i32) (result i32)
local.get 0
memory.grow)
(table (;0;) 7 7 funcref)
(memory (;0;) 256 256)
(global (;0;) (mut i32) (i32.const 5245568))
(global (;1;) i32 (i32.const 2676))
(export "memory" (memory 0))
(export "main" (func 7))
(export "free" (func 39))
(export "_start" (func 10))
(export "__errno_location" (func 21))
(export "setThrew" (func 46))
(export "malloc" (func 38))
(export "__data_end" (global 1))
(export "stackSave" (func 47))
(export "stackAlloc" (func 48))
(export "stackRestore" (func 49))
(export "__growWasmMemory" (func 50))
(elem (;0;) (i32.const 1) func 6 7 18 19 20 35)
(data (;0;) (i32.const 1024) "==BEGIN DUMP_ARRAYS==\0a\00begin dump: %s\00A\00%0.2lf \00\0aend dump: %s\0a\00==END DUMP_ARRAYS==\0a\00[PolyBench] posix_memalign: cannot allocate memory\00\00\b8\06\00\00-+ 0X0x\00(null)")
(data (;1;) (i32.const 1200) "\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\13\09\0b\0b\00\00\09\06\0b\00\00\0b\00\06\11\00\00\00\11\11\11")
(data (;2;) (i32.const 1281) "\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")
(data (;3;) (i32.const 1339) "\0c")
(data (;4;) (i32.const 1351) "\0c\00\00\00\00\0c\00\00\00\00\09\0c\00\00\00\00\00\0c\00\00\0c")
(data (;5;) (i32.const 1397) "\0e")
(data (;6;) (i32.const 1409) "\0d\00\00\00\04\0d\00\00\00\00\09\0e\00\00\00\00\00\0e\00\00\0e")
(data (;7;) (i32.const 1455) "\10")
(data (;8;) (i32.const 1467) "\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")
(data (;9;) (i32.const 1522) "\12\00\00\00\12\12\12\00\00\00\00\00\00\09")
(data (;10;) (i32.const 1571) "\0b")
(data (;11;) (i32.const 1583) "\0a\00\00\00\00\0a\00\00\00\00\09\0b\00\00\00\00\00\0b\00\00\0b")
(data (;12;) (i32.const 1629) "\0c")
(data (;13;) (i32.const 1641) "\0c\00\00\00\00\0c\00\00\00\00\09\0c\00\00\00\00\00\0c\00\00\0c\00\000123456789ABCDEF-0X+0X 0X-0x+0x 0x\00inf\00INF\00nan\00NAN\00.\00\00\00\00\05")
(data (;14;) (i32.const 1732) "\03")
(data (;15;) (i32.const 1756) "\04\00\00\00\05\00\00\008\08")
(data (;16;) (i32.const 1780) "\02")
(data (;17;) (i32.const 1795) "\ff\ff\ff\ff\ff")
(data (;18;) (i32.const 2040) "d\08")
(data (;19;) (i32.const 2688) " \0bP"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment