Skip to content

Instantly share code, notes, and snippets.

@gythialy
Created June 12, 2020 02:46
Show Gist options
  • Select an option

  • Save gythialy/40e05f90ef5809590e1c6ade70692424 to your computer and use it in GitHub Desktop.

Select an option

Save gythialy/40e05f90ef5809590e1c6ade70692424 to your computer and use it in GitHub Desktop.
example.wat
(module
(type $t0 (func (param i32 i32 i32) (result i32)))
(type $t1 (func (param i32 i32) (result i32)))
(type $t2 (func (param i32 i32)))
(type $t3 (func (param i32 i32 i32 i32)))
(type $t4 (func (param i32 i32 i32 i32 i32) (result i32)))
(type $t5 (func (param i32)))
(type $t6 (func (param i32 i32 i32 i32) (result i32)))
(type $t7 (func (result i32)))
(type $t8 (func))
(type $t9 (func (param i32 i32 i32)))
(type $t10 (func (param i32) (result i64)))
(type $t11 (func (param i32) (result i32)))
(import "env" "qlcchain_storage_write" (func $qlcchain_storage_write (type $t3)))
(import "env" "qlcchain_storage_read" (func $qlcchain_storage_read (type $t4)))
(import "env" "qlcchain_debug" (func $qlcchain_debug (type $t2)))
(func $__rust_dealloc (type $t5) (param $p0 i32)
local.get $p0
call $__rdl_dealloc)
(func $__rdl_dealloc (type $t5) (param $p0 i32)
local.get $p0
call $_ZN8dlmalloc8dlmalloc8Dlmalloc4free17h1e5b8056d89d58c4E)
(func $__rust_realloc (type $t6) (param $p0 i32) (param $p1 i32) (param $p2 i32) (param $p3 i32) (result i32)
local.get $p0
local.get $p1
local.get $p2
local.get $p3
call $__rdl_realloc)
(func $__rdl_realloc (type $t6) (param $p0 i32) (param $p1 i32) (param $p2 i32) (param $p3 i32) (result i32)
(local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
block $B0
block $B1
block $B2
block $B3
local.get $p2
i32.const 9
i32.lt_u
br_if $B3
local.get $p2
local.get $p3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc8memalign17h99b4ca3480339422E
local.tee $p2
br_if $B2
i32.const 0
return
end
i32.const 0
local.set $p2
local.get $p3
i32.const -65588
i32.gt_u
br_if $B0
i32.const 16
local.get $p3
i32.const 11
i32.add
i32.const -8
i32.and
local.get $p3
i32.const 11
i32.lt_u
select
local.set $p1
local.get $p0
i32.const -4
i32.add
local.tee $l4
i32.load
local.tee $l5
i32.const -8
i32.and
local.set $l6
block $B4
block $B5
block $B6
block $B7
block $B8
local.get $l5
i32.const 3
i32.and
i32.eqz
br_if $B8
local.get $p0
i32.const -8
i32.add
local.tee $l7
local.get $l6
i32.add
local.set $l8
local.get $l6
local.get $p1
i32.ge_u
br_if $B7
i32.const 0
i32.load offset=33732
local.get $l8
i32.eq
br_if $B6
i32.const 0
i32.load offset=33728
local.get $l8
i32.eq
br_if $B5
local.get $l8
i32.const 4
i32.add
i32.load
local.tee $l5
i32.const 2
i32.and
br_if $B1
local.get $l5
i32.const -8
i32.and
local.tee $l5
local.get $l6
i32.add
local.tee $l6
local.get $p1
i32.ge_u
br_if $B4
br $B1
end
local.get $p1
i32.const 256
i32.lt_u
br_if $B1
local.get $l6
local.get $p1
i32.const 4
i32.or
i32.lt_u
br_if $B1
local.get $l6
local.get $p1
i32.sub
i32.const 131073
i32.ge_u
br_if $B1
local.get $p0
return
end
block $B9
local.get $l6
local.get $p1
i32.sub
local.tee $p3
i32.const 16
i32.ge_u
br_if $B9
local.get $p0
return
end
local.get $l4
local.get $p1
local.get $l5
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $l7
local.get $p1
i32.add
local.tee $p2
local.get $p3
i32.const 3
i32.or
i32.store offset=4
local.get $l8
local.get $l8
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get $p2
local.get $p3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc13dispose_chunk17h868bcade4d4773acE
local.get $p0
return
end
i32.const 0
i32.load offset=33724
local.get $l6
i32.add
local.tee $l6
local.get $p1
i32.le_u
br_if $B1
local.get $l4
local.get $p1
local.get $l5
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $l7
local.get $p1
i32.add
local.tee $p3
local.get $l6
local.get $p1
i32.sub
local.tee $p2
i32.const 1
i32.or
i32.store offset=4
i32.const 0
local.get $p2
i32.store offset=33724
i32.const 0
local.get $p3
i32.store offset=33732
local.get $p0
return
end
i32.const 0
i32.load offset=33720
local.get $l6
i32.add
local.tee $l6
local.get $p1
i32.lt_u
br_if $B1
block $B10
block $B11
local.get $l6
local.get $p1
i32.sub
local.tee $p3
i32.const 15
i32.gt_u
br_if $B11
local.get $l4
local.get $l5
i32.const 1
i32.and
local.get $l6
i32.or
i32.const 2
i32.or
i32.store
local.get $l7
local.get $l6
i32.add
local.tee $p3
local.get $p3
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
i32.const 0
local.set $p3
i32.const 0
local.set $p2
br $B10
end
local.get $l4
local.get $p1
local.get $l5
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $l7
local.get $p1
i32.add
local.tee $p2
local.get $p3
i32.const 1
i32.or
i32.store offset=4
local.get $l7
local.get $l6
i32.add
local.tee $p1
local.get $p3
i32.store
local.get $p1
local.get $p1
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
end
i32.const 0
local.get $p2
i32.store offset=33728
i32.const 0
local.get $p3
i32.store offset=33720
local.get $p0
return
end
local.get $l8
local.get $l5
call $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E
block $B12
local.get $l6
local.get $p1
i32.sub
local.tee $p3
i32.const 16
i32.lt_u
br_if $B12
local.get $l4
local.get $p1
local.get $l4
i32.load
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $l7
local.get $p1
i32.add
local.tee $p2
local.get $p3
i32.const 3
i32.or
i32.store offset=4
local.get $l7
local.get $l6
i32.add
local.tee $p1
local.get $p1
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get $p2
local.get $p3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc13dispose_chunk17h868bcade4d4773acE
local.get $p0
return
end
local.get $l4
local.get $l6
local.get $l4
i32.load
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $l7
local.get $l6
i32.add
local.tee $p3
local.get $p3
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get $p0
return
end
local.get $p2
local.get $p0
local.get $p3
local.get $p1
local.get $p1
local.get $p3
i32.gt_u
select
call $memcpy
drop
local.get $p0
call $_ZN8dlmalloc8dlmalloc8Dlmalloc4free17h1e5b8056d89d58c4E
br $B0
end
local.get $p3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc6malloc17h2b3c0b91fcfd2e18E
local.tee $p1
i32.eqz
br_if $B0
local.get $p1
local.get $p0
local.get $p3
local.get $l4
i32.load
local.tee $p2
i32.const -8
i32.and
i32.const 4
i32.const 8
local.get $p2
i32.const 3
i32.and
select
i32.sub
local.tee $p2
local.get $p2
local.get $p3
i32.gt_u
select
call $memcpy
local.set $p3
local.get $p0
call $_ZN8dlmalloc8dlmalloc8Dlmalloc4free17h1e5b8056d89d58c4E
local.get $p3
return
end
local.get $p2)
(func $__rust_alloc_zeroed (type $t7) (result i32)
call $__rdl_alloc_zeroed)
(func $__rdl_alloc_zeroed (type $t7) (result i32)
(local $l0 i32)
block $B0
i32.const 32
call $_ZN8dlmalloc8dlmalloc8Dlmalloc6malloc17h2b3c0b91fcfd2e18E
local.tee $l0
i32.eqz
br_if $B0
local.get $l0
i32.const -4
i32.add
i32.load8_u
i32.const 3
i32.and
i32.eqz
br_if $B0
local.get $l0
i64.const 0
i64.store align=1
local.get $l0
i32.const 24
i32.add
i64.const 0
i64.store align=1
local.get $l0
i32.const 16
i32.add
i64.const 0
i64.store align=1
local.get $l0
i32.const 8
i32.add
i64.const 0
i64.store align=1
end
local.get $l0)
(func $_ZN5alloc7raw_vec17capacity_overflow17hfdc93175e0844a74E (type $t8)
i32.const 32768
i32.const 17
i32.const 32788
call $_ZN4core9panicking5panic17he2069cf04c3ce8e4E
unreachable)
(func $_ZN4core9panicking5panic17he2069cf04c3ce8e4E (type $t9) (param $p0 i32) (param $p1 i32) (param $p2 i32)
(local $l3 i32)
global.get $g0
i32.const 32
i32.sub
local.tee $l3
global.set $g0
local.get $l3
i32.const 20
i32.add
i32.const 0
i32.store
local.get $l3
i32.const 33188
i32.store offset=16
local.get $l3
i64.const 1
i64.store offset=4 align=4
local.get $l3
local.get $p1
i32.store offset=28
local.get $l3
local.get $p0
i32.store offset=24
local.get $l3
local.get $l3
i32.const 24
i32.add
i32.store
local.get $l3
local.get $p2
call $_ZN4core9panicking9panic_fmt17h0dbc4ba05c77baa3E
unreachable)
(func $_ZN4core9panicking9panic_fmt17h0dbc4ba05c77baa3E (type $t2) (param $p0 i32) (param $p1 i32)
(local $l2 i32)
global.get $g0
i32.const 16
i32.sub
local.tee $l2
global.set $g0
local.get $l2
local.get $p1
i32.store offset=12
local.get $l2
local.get $p0
i32.store offset=8
local.get $l2
i32.const 32828
i32.store offset=4
local.get $l2
i32.const 33188
i32.store
local.get $l2
call $rust_begin_unwind
unreachable)
(func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h4c1d1358b3e3261dE (type $t1) (param $p0 i32) (param $p1 i32) (result i32)
(local $l2 i32) (local $l3 i32) (local $l4 i64) (local $l5 i64) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32) (local $l13 i32)
global.get $g0
i32.const 48
i32.sub
local.tee $l2
global.set $g0
i32.const 39
local.set $l3
block $B0
block $B1
local.get $p0
i64.load32_u
local.tee $l4
i64.const 10000
i64.ge_u
br_if $B1
local.get $l4
local.set $l5
br $B0
end
i32.const 39
local.set $l3
loop $L2
local.get $l2
i32.const 9
i32.add
local.get $l3
i32.add
local.tee $p0
i32.const -4
i32.add
local.get $l4
local.get $l4
i64.const 10000
i64.div_u
local.tee $l5
i64.const -10000
i64.mul
i64.add
i32.wrap_i64
local.tee $l6
i32.const 65535
i32.and
i32.const 100
i32.div_u
local.tee $l7
i32.const 1
i32.shl
i32.const 32844
i32.add
i32.load16_u align=1
i32.store16 align=1
local.get $p0
i32.const -2
i32.add
local.get $l7
i32.const -100
i32.mul
local.get $l6
i32.add
i32.const 65535
i32.and
i32.const 1
i32.shl
i32.const 32844
i32.add
i32.load16_u align=1
i32.store16 align=1
local.get $l3
i32.const -4
i32.add
local.set $l3
local.get $l4
i64.const 99999999
i64.gt_u
local.set $p0
local.get $l5
local.set $l4
local.get $p0
br_if $L2
end
end
block $B3
local.get $l5
i32.wrap_i64
local.tee $p0
i32.const 99
i32.le_s
br_if $B3
local.get $l2
i32.const 9
i32.add
local.get $l3
i32.const -2
i32.add
local.tee $l3
i32.add
local.get $l5
i32.wrap_i64
local.tee $l6
i32.const 65535
i32.and
i32.const 100
i32.div_u
local.tee $p0
i32.const -100
i32.mul
local.get $l6
i32.add
i32.const 65535
i32.and
i32.const 1
i32.shl
i32.const 32844
i32.add
i32.load16_u align=1
i32.store16 align=1
end
block $B4
block $B5
local.get $p0
i32.const 10
i32.lt_s
br_if $B5
local.get $l2
i32.const 9
i32.add
local.get $l3
i32.const -2
i32.add
local.tee $l6
i32.add
local.get $p0
i32.const 1
i32.shl
i32.const 32844
i32.add
i32.load16_u align=1
i32.store16 align=1
br $B4
end
local.get $l2
i32.const 9
i32.add
local.get $l3
i32.const -1
i32.add
local.tee $l6
i32.add
local.get $p0
i32.const 48
i32.add
i32.store8
end
i32.const 39
local.get $l6
i32.sub
local.set $l8
i32.const 1
local.set $l3
i32.const 43
i32.const 1114112
local.get $p1
i32.load
local.tee $p0
i32.const 1
i32.and
local.tee $l9
select
local.set $l7
local.get $p0
i32.const 29
i32.shl
i32.const 31
i32.shr_s
i32.const 33188
i32.and
local.set $l10
local.get $l2
i32.const 9
i32.add
local.get $l6
i32.add
local.set $l6
block $B6
block $B7
local.get $p1
i32.load offset=8
i32.const 1
i32.eq
br_if $B7
local.get $p1
local.get $l7
local.get $l10
call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17hf0810ea0258fcefdE
br_if $B6
local.get $p1
i32.load offset=24
local.get $l6
local.get $l8
local.get $p1
i32.const 28
i32.add
i32.load
i32.load offset=12
call_indirect (type $t0) $T0
local.set $l3
br $B6
end
block $B8
local.get $p1
i32.const 12
i32.add
i32.load
local.tee $l11
local.get $l9
local.get $l8
i32.add
local.tee $l9
i32.gt_u
br_if $B8
local.get $p1
local.get $l7
local.get $l10
call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17hf0810ea0258fcefdE
br_if $B6
local.get $p1
i32.load offset=24
local.get $l6
local.get $l8
local.get $p1
i32.const 28
i32.add
i32.load
i32.load offset=12
call_indirect (type $t0) $T0
local.set $l3
br $B6
end
block $B9
block $B10
local.get $p0
i32.const 8
i32.and
br_if $B10
i32.const 0
local.set $l3
local.get $l11
local.get $l9
i32.sub
local.tee $p0
local.set $l11
block $B11
block $B12
block $B13
i32.const 1
local.get $p1
i32.load8_u offset=32
local.tee $l9
local.get $l9
i32.const 3
i32.eq
select
br_table $B11 $B12 $B13 $B12 $B11
end
local.get $p0
i32.const 1
i32.shr_u
local.set $l3
local.get $p0
i32.const 1
i32.add
i32.const 1
i32.shr_u
local.set $l11
br $B11
end
i32.const 0
local.set $l11
local.get $p0
local.set $l3
end
local.get $l3
i32.const 1
i32.add
local.set $l3
loop $L14
local.get $l3
i32.const -1
i32.add
local.tee $l3
i32.eqz
br_if $B9
local.get $p1
i32.load offset=24
local.get $p1
i32.load offset=4
local.get $p1
i32.load offset=28
i32.load offset=16
call_indirect (type $t1) $T0
i32.eqz
br_if $L14
end
i32.const 1
local.set $l3
br $B6
end
local.get $p1
i32.load offset=4
local.set $l12
local.get $p1
i32.const 48
i32.store offset=4
local.get $p1
i32.load8_u offset=32
local.set $l13
i32.const 1
local.set $l3
local.get $p1
i32.const 1
i32.store8 offset=32
local.get $p1
local.get $l7
local.get $l10
call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17hf0810ea0258fcefdE
br_if $B6
i32.const 0
local.set $l3
local.get $l11
local.get $l9
i32.sub
local.tee $l7
local.set $l10
block $B15
block $B16
block $B17
i32.const 1
local.get $p1
i32.load8_u offset=32
local.tee $p0
local.get $p0
i32.const 3
i32.eq
select
br_table $B15 $B16 $B17 $B16 $B15
end
local.get $l7
i32.const 1
i32.shr_u
local.set $l3
local.get $l7
i32.const 1
i32.add
i32.const 1
i32.shr_u
local.set $l10
br $B15
end
i32.const 0
local.set $l10
local.get $l7
local.set $l3
end
local.get $l3
i32.const 1
i32.add
local.set $l3
block $B18
loop $L19
local.get $l3
i32.const -1
i32.add
local.tee $l3
i32.eqz
br_if $B18
local.get $p1
i32.load offset=24
local.get $p1
i32.load offset=4
local.get $p1
i32.load offset=28
i32.load offset=16
call_indirect (type $t1) $T0
i32.eqz
br_if $L19
end
i32.const 1
local.set $l3
br $B6
end
local.get $p1
i32.load offset=4
local.set $l7
i32.const 1
local.set $l3
local.get $p1
i32.load offset=24
local.get $l6
local.get $l8
local.get $p1
i32.load offset=28
i32.load offset=12
call_indirect (type $t0) $T0
br_if $B6
local.get $l10
i32.const 1
i32.add
local.set $p0
local.get $p1
i32.load offset=28
local.set $l6
local.get $p1
i32.load offset=24
local.set $l10
block $B20
loop $L21
local.get $p0
i32.const -1
i32.add
local.tee $p0
i32.eqz
br_if $B20
i32.const 1
local.set $l3
local.get $l10
local.get $l7
local.get $l6
i32.load offset=16
call_indirect (type $t1) $T0
i32.eqz
br_if $L21
br $B6
end
end
local.get $p1
local.get $l13
i32.store8 offset=32
local.get $p1
local.get $l12
i32.store offset=4
i32.const 0
local.set $l3
br $B6
end
local.get $p1
i32.load offset=4
local.set $l9
i32.const 1
local.set $l3
local.get $p1
local.get $l7
local.get $l10
call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17hf0810ea0258fcefdE
br_if $B6
local.get $p1
i32.load offset=24
local.get $l6
local.get $l8
local.get $p1
i32.load offset=28
i32.load offset=12
call_indirect (type $t0) $T0
br_if $B6
local.get $l11
i32.const 1
i32.add
local.set $p0
local.get $p1
i32.load offset=28
local.set $l6
local.get $p1
i32.load offset=24
local.set $l7
loop $L22
block $B23
local.get $p0
i32.const -1
i32.add
local.tee $p0
br_if $B23
i32.const 0
local.set $l3
br $B6
end
i32.const 1
local.set $l3
local.get $l7
local.get $l9
local.get $l6
i32.load offset=16
call_indirect (type $t1) $T0
i32.eqz
br_if $L22
end
end
local.get $l2
i32.const 48
i32.add
global.set $g0
local.get $l3)
(func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17hf0810ea0258fcefdE (type $t0) (param $p0 i32) (param $p1 i32) (param $p2 i32) (result i32)
(local $l3 i32)
block $B0
block $B1
local.get $p1
i32.const 1114112
i32.eq
br_if $B1
i32.const 1
local.set $l3
local.get $p0
i32.load offset=24
local.get $p1
local.get $p0
i32.const 28
i32.add
i32.load
i32.load offset=16
call_indirect (type $t1) $T0
br_if $B0
end
block $B2
local.get $p2
br_if $B2
i32.const 0
return
end
local.get $p0
i32.load offset=24
local.get $p2
i32.const 0
local.get $p0
i32.const 28
i32.add
i32.load
i32.load offset=12
call_indirect (type $t0) $T0
local.set $l3
end
local.get $l3)
(func $rust_begin_unwind (type $t5) (param $p0 i32)
local.get $p0
i32.load offset=8
call $_ZN4core6option15Option$LT$T$GT$6unwrap17hb27551b920ee8fa2E
drop
call $_ZN3std9panicking20rust_panic_with_hook17h5395f3796c27894aE
unreachable)
(func $_ZN4core3ptr13drop_in_place17h03a6ed1502f70d63E (type $t5) (param $p0 i32))
(func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17he9e1e2bb2280c5e7E (type $t10) (param $p0 i32) (result i64)
i64.const 600873965932787963)
(func $_ZN4core5slice22slice_index_order_fail17h3e21e8558a30236bE (type $t5) (param $p0 i32)
(local $l1 i32)
global.get $g0
i32.const 48
i32.sub
local.tee $l1
global.set $g0
local.get $l1
local.get $p0
i32.store offset=4
local.get $l1
i32.const 32
i32.store
local.get $l1
i32.const 28
i32.add
i32.const 2
i32.store
local.get $l1
i32.const 44
i32.add
i32.const 1
i32.store
local.get $l1
i64.const 2
i64.store offset=12 align=4
local.get $l1
i32.const 33068
i32.store offset=8
local.get $l1
i32.const 1
i32.store offset=36
local.get $l1
local.get $l1
i32.const 32
i32.add
i32.store offset=24
local.get $l1
local.get $l1
i32.const 4
i32.add
i32.store offset=40
local.get $l1
local.get $l1
i32.store offset=32
local.get $l1
i32.const 8
i32.add
i32.const 33084
call $_ZN4core9panicking9panic_fmt17h0dbc4ba05c77baa3E
unreachable)
(func $_ZN8dlmalloc8dlmalloc8Dlmalloc6malloc17h2b3c0b91fcfd2e18E (type $t11) (param $p0 i32) (result i32)
(local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i64)
block $B0
block $B1
block $B2
block $B3
block $B4
local.get $p0
i32.const 245
i32.lt_u
br_if $B4
i32.const 0
local.set $l1
local.get $p0
i32.const -65587
i32.ge_u
br_if $B0
local.get $p0
i32.const 11
i32.add
local.tee $p0
i32.const -8
i32.and
local.set $l2
i32.const 0
i32.load offset=33324
local.tee $l3
i32.eqz
br_if $B3
i32.const 0
local.set $l4
block $B5
local.get $p0
i32.const 8
i32.shr_u
local.tee $p0
i32.eqz
br_if $B5
i32.const 31
local.set $l4
local.get $l2
i32.const 16777215
i32.gt_u
br_if $B5
local.get $l2
i32.const 6
local.get $p0
i32.clz
local.tee $p0
i32.sub
i32.const 31
i32.and
i32.shr_u
i32.const 1
i32.and
local.get $p0
i32.const 1
i32.shl
i32.sub
i32.const 62
i32.add
local.set $l4
end
i32.const 0
local.get $l2
i32.sub
local.set $l1
block $B6
block $B7
block $B8
local.get $l4
i32.const 2
i32.shl
i32.const 33592
i32.add
i32.load
local.tee $p0
i32.eqz
br_if $B8
i32.const 0
local.set $l5
local.get $l2
i32.const 0
i32.const 25
local.get $l4
i32.const 1
i32.shr_u
i32.sub
i32.const 31
i32.and
local.get $l4
i32.const 31
i32.eq
select
i32.shl
local.set $l6
i32.const 0
local.set $l7
loop $L9
block $B10
local.get $p0
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.tee $l8
local.get $l2
i32.lt_u
br_if $B10
local.get $l8
local.get $l2
i32.sub
local.tee $l8
local.get $l1
i32.ge_u
br_if $B10
local.get $l8
local.set $l1
local.get $p0
local.set $l7
local.get $l8
br_if $B10
i32.const 0
local.set $l1
local.get $p0
local.set $l7
br $B7
end
local.get $p0
i32.const 20
i32.add
i32.load
local.tee $l8
local.get $l5
local.get $l8
local.get $p0
local.get $l6
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
i32.load
local.tee $p0
i32.ne
select
local.get $l5
local.get $l8
select
local.set $l5
local.get $l6
i32.const 1
i32.shl
local.set $l6
local.get $p0
br_if $L9
end
block $B11
local.get $l5
i32.eqz
br_if $B11
local.get $l5
local.set $p0
br $B7
end
local.get $l7
br_if $B6
end
i32.const 0
local.set $l7
i32.const 2
local.get $l4
i32.const 31
i32.and
i32.shl
local.tee $p0
i32.const 0
local.get $p0
i32.sub
i32.or
local.get $l3
i32.and
local.tee $p0
i32.eqz
br_if $B3
local.get $p0
i32.const 0
local.get $p0
i32.sub
i32.and
i32.ctz
i32.const 2
i32.shl
i32.const 33592
i32.add
i32.load
local.tee $p0
i32.eqz
br_if $B3
end
loop $L12
local.get $p0
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.tee $l5
local.get $l2
i32.ge_u
local.get $l5
local.get $l2
i32.sub
local.tee $l8
local.get $l1
i32.lt_u
i32.and
local.set $l6
block $B13
local.get $p0
i32.load offset=16
local.tee $l5
br_if $B13
local.get $p0
i32.const 20
i32.add
i32.load
local.set $l5
end
local.get $p0
local.get $l7
local.get $l6
select
local.set $l7
local.get $l8
local.get $l1
local.get $l6
select
local.set $l1
local.get $l5
local.set $p0
local.get $l5
br_if $L12
end
local.get $l7
i32.eqz
br_if $B3
end
block $B14
i32.const 0
i32.load offset=33720
local.tee $p0
local.get $l2
i32.lt_u
br_if $B14
local.get $l1
local.get $p0
local.get $l2
i32.sub
i32.ge_u
br_if $B3
end
local.get $l7
i32.load offset=24
local.set $l4
block $B15
block $B16
block $B17
local.get $l7
i32.load offset=12
local.tee $l5
local.get $l7
i32.ne
br_if $B17
local.get $l7
i32.const 20
i32.const 16
local.get $l7
i32.const 20
i32.add
local.tee $l5
i32.load
local.tee $l6
select
i32.add
i32.load
local.tee $p0
br_if $B16
i32.const 0
local.set $l5
br $B15
end
local.get $l7
i32.load offset=8
local.tee $p0
local.get $l5
i32.store offset=12
local.get $l5
local.get $p0
i32.store offset=8
br $B15
end
local.get $l5
local.get $l7
i32.const 16
i32.add
local.get $l6
select
local.set $l6
loop $L18
local.get $l6
local.set $l8
block $B19
local.get $p0
local.tee $l5
i32.const 20
i32.add
local.tee $l6
i32.load
local.tee $p0
br_if $B19
local.get $l5
i32.const 16
i32.add
local.set $l6
local.get $l5
i32.load offset=16
local.set $p0
end
local.get $p0
br_if $L18
end
local.get $l8
i32.const 0
i32.store
end
block $B20
local.get $l4
i32.eqz
br_if $B20
block $B21
block $B22
local.get $l7
i32.load offset=28
i32.const 2
i32.shl
i32.const 33592
i32.add
local.tee $p0
i32.load
local.get $l7
i32.eq
br_if $B22
local.get $l4
i32.const 16
i32.const 20
local.get $l4
i32.load offset=16
local.get $l7
i32.eq
select
i32.add
local.get $l5
i32.store
local.get $l5
i32.eqz
br_if $B20
br $B21
end
local.get $p0
local.get $l5
i32.store
local.get $l5
br_if $B21
i32.const 0
i32.const 0
i32.load offset=33324
i32.const -2
local.get $l7
i32.load offset=28
i32.rotl
i32.and
i32.store offset=33324
br $B20
end
local.get $l5
local.get $l4
i32.store offset=24
block $B23
local.get $l7
i32.load offset=16
local.tee $p0
i32.eqz
br_if $B23
local.get $l5
local.get $p0
i32.store offset=16
local.get $p0
local.get $l5
i32.store offset=24
end
local.get $l7
i32.const 20
i32.add
i32.load
local.tee $p0
i32.eqz
br_if $B20
local.get $l5
i32.const 20
i32.add
local.get $p0
i32.store
local.get $p0
local.get $l5
i32.store offset=24
end
block $B24
block $B25
local.get $l1
i32.const 16
i32.lt_u
br_if $B25
local.get $l7
local.get $l2
i32.const 3
i32.or
i32.store offset=4
local.get $l7
local.get $l2
i32.add
local.tee $l2
local.get $l1
i32.const 1
i32.or
i32.store offset=4
local.get $l2
local.get $l1
i32.add
local.get $l1
i32.store
block $B26
local.get $l1
i32.const 256
i32.lt_u
br_if $B26
i32.const 0
local.set $p0
block $B27
local.get $l1
i32.const 8
i32.shr_u
local.tee $l5
i32.eqz
br_if $B27
i32.const 31
local.set $p0
local.get $l1
i32.const 16777215
i32.gt_u
br_if $B27
local.get $l1
i32.const 6
local.get $l5
i32.clz
local.tee $p0
i32.sub
i32.const 31
i32.and
i32.shr_u
i32.const 1
i32.and
local.get $p0
i32.const 1
i32.shl
i32.sub
i32.const 62
i32.add
local.set $p0
end
local.get $l2
i64.const 0
i64.store offset=16 align=4
local.get $l2
local.get $p0
i32.store offset=28
local.get $p0
i32.const 2
i32.shl
i32.const 33592
i32.add
local.set $l5
block $B28
block $B29
block $B30
block $B31
block $B32
i32.const 0
i32.load offset=33324
local.tee $l6
i32.const 1
local.get $p0
i32.const 31
i32.and
i32.shl
local.tee $l8
i32.and
i32.eqz
br_if $B32
local.get $l5
i32.load
local.tee $l6
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l1
i32.ne
br_if $B31
local.get $l6
local.set $p0
br $B30
end
i32.const 0
local.get $l6
local.get $l8
i32.or
i32.store offset=33324
local.get $l5
local.get $l2
i32.store
local.get $l2
local.get $l5
i32.store offset=24
br $B28
end
local.get $l1
i32.const 0
i32.const 25
local.get $p0
i32.const 1
i32.shr_u
i32.sub
i32.const 31
i32.and
local.get $p0
i32.const 31
i32.eq
select
i32.shl
local.set $l5
loop $L33
local.get $l6
local.get $l5
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee $l8
i32.load
local.tee $p0
i32.eqz
br_if $B29
local.get $l5
i32.const 1
i32.shl
local.set $l5
local.get $p0
local.set $l6
local.get $p0
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l1
i32.ne
br_if $L33
end
end
local.get $p0
i32.load offset=8
local.tee $l1
local.get $l2
i32.store offset=12
local.get $p0
local.get $l2
i32.store offset=8
local.get $l2
i32.const 0
i32.store offset=24
local.get $l2
local.get $p0
i32.store offset=12
local.get $l2
local.get $l1
i32.store offset=8
br $B24
end
local.get $l8
local.get $l2
i32.store
local.get $l2
local.get $l6
i32.store offset=24
end
local.get $l2
local.get $l2
i32.store offset=12
local.get $l2
local.get $l2
i32.store offset=8
br $B24
end
local.get $l1
i32.const 3
i32.shr_u
local.tee $l1
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $p0
block $B34
block $B35
i32.const 0
i32.load offset=33320
local.tee $l5
i32.const 1
local.get $l1
i32.const 31
i32.and
i32.shl
local.tee $l1
i32.and
i32.eqz
br_if $B35
local.get $p0
i32.load offset=8
local.set $l1
br $B34
end
i32.const 0
local.get $l5
local.get $l1
i32.or
i32.store offset=33320
local.get $p0
local.set $l1
end
local.get $p0
local.get $l2
i32.store offset=8
local.get $l1
local.get $l2
i32.store offset=12
local.get $l2
local.get $p0
i32.store offset=12
local.get $l2
local.get $l1
i32.store offset=8
br $B24
end
local.get $l7
local.get $l1
local.get $l2
i32.add
local.tee $p0
i32.const 3
i32.or
i32.store offset=4
local.get $l7
local.get $p0
i32.add
local.tee $p0
local.get $p0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
end
local.get $l7
i32.const 8
i32.add
return
end
block $B36
block $B37
block $B38
i32.const 0
i32.load offset=33320
local.tee $l7
i32.const 16
local.get $p0
i32.const 11
i32.add
i32.const -8
i32.and
local.get $p0
i32.const 11
i32.lt_u
select
local.tee $l2
i32.const 3
i32.shr_u
local.tee $l1
i32.const 31
i32.and
local.tee $l5
i32.shr_u
local.tee $p0
i32.const 3
i32.and
br_if $B38
local.get $l2
i32.const 0
i32.load offset=33720
i32.le_u
br_if $B3
local.get $p0
br_if $B37
i32.const 0
i32.load offset=33324
local.tee $p0
i32.eqz
br_if $B3
local.get $p0
i32.const 0
local.get $p0
i32.sub
i32.and
i32.ctz
i32.const 2
i32.shl
i32.const 33592
i32.add
i32.load
local.tee $l5
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l2
i32.sub
local.set $l1
local.get $l5
local.set $l6
loop $L39
block $B40
local.get $l5
i32.load offset=16
local.tee $p0
br_if $B40
local.get $l5
i32.const 20
i32.add
i32.load
local.tee $p0
i32.eqz
br_if $B36
end
local.get $p0
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l2
i32.sub
local.tee $l5
local.get $l1
local.get $l5
local.get $l1
i32.lt_u
local.tee $l5
select
local.set $l1
local.get $p0
local.get $l6
local.get $l5
select
local.set $l6
local.get $p0
local.set $l5
br $L39
end
end
block $B41
block $B42
local.get $p0
i32.const -1
i32.xor
i32.const 1
i32.and
local.get $l1
i32.add
local.tee $l2
i32.const 3
i32.shl
local.tee $l6
i32.const 33336
i32.add
i32.load
local.tee $p0
i32.const 8
i32.add
local.tee $l1
i32.load
local.tee $l5
local.get $l6
i32.const 33328
i32.add
local.tee $l6
i32.eq
br_if $B42
local.get $l5
local.get $l6
i32.store offset=12
local.get $l6
local.get $l5
i32.store offset=8
br $B41
end
i32.const 0
local.get $l7
i32.const -2
local.get $l2
i32.rotl
i32.and
i32.store offset=33320
end
local.get $p0
local.get $l2
i32.const 3
i32.shl
local.tee $l2
i32.const 3
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.add
local.tee $p0
local.get $p0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
br $B0
end
block $B43
block $B44
local.get $p0
local.get $l5
i32.shl
i32.const 2
local.get $l5
i32.shl
local.tee $p0
i32.const 0
local.get $p0
i32.sub
i32.or
i32.and
local.tee $p0
i32.const 0
local.get $p0
i32.sub
i32.and
i32.ctz
local.tee $l1
i32.const 3
i32.shl
local.tee $l6
i32.const 33336
i32.add
i32.load
local.tee $p0
i32.const 8
i32.add
local.tee $l8
i32.load
local.tee $l5
local.get $l6
i32.const 33328
i32.add
local.tee $l6
i32.eq
br_if $B44
local.get $l5
local.get $l6
i32.store offset=12
local.get $l6
local.get $l5
i32.store offset=8
br $B43
end
i32.const 0
local.get $l7
i32.const -2
local.get $l1
i32.rotl
i32.and
i32.store offset=33320
end
local.get $p0
local.get $l2
i32.const 3
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.add
local.tee $l5
local.get $l1
i32.const 3
i32.shl
local.tee $l1
local.get $l2
i32.sub
local.tee $l2
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $l1
i32.add
local.get $l2
i32.store
block $B45
i32.const 0
i32.load offset=33720
local.tee $p0
i32.eqz
br_if $B45
local.get $p0
i32.const 3
i32.shr_u
local.tee $l6
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $l1
i32.const 0
i32.load offset=33728
local.set $p0
block $B46
block $B47
i32.const 0
i32.load offset=33320
local.tee $l7
i32.const 1
local.get $l6
i32.const 31
i32.and
i32.shl
local.tee $l6
i32.and
i32.eqz
br_if $B47
local.get $l1
i32.load offset=8
local.set $l6
br $B46
end
i32.const 0
local.get $l7
local.get $l6
i32.or
i32.store offset=33320
local.get $l1
local.set $l6
end
local.get $l1
local.get $p0
i32.store offset=8
local.get $l6
local.get $p0
i32.store offset=12
local.get $p0
local.get $l1
i32.store offset=12
local.get $p0
local.get $l6
i32.store offset=8
end
i32.const 0
local.get $l5
i32.store offset=33728
i32.const 0
local.get $l2
i32.store offset=33720
local.get $l8
return
end
local.get $l6
i32.load offset=24
local.set $l4
block $B48
block $B49
block $B50
local.get $l6
i32.load offset=12
local.tee $l5
local.get $l6
i32.ne
br_if $B50
local.get $l6
i32.const 20
i32.const 16
local.get $l6
i32.const 20
i32.add
local.tee $l5
i32.load
local.tee $l7
select
i32.add
i32.load
local.tee $p0
br_if $B49
i32.const 0
local.set $l5
br $B48
end
local.get $l6
i32.load offset=8
local.tee $p0
local.get $l5
i32.store offset=12
local.get $l5
local.get $p0
i32.store offset=8
br $B48
end
local.get $l5
local.get $l6
i32.const 16
i32.add
local.get $l7
select
local.set $l7
loop $L51
local.get $l7
local.set $l8
block $B52
local.get $p0
local.tee $l5
i32.const 20
i32.add
local.tee $l7
i32.load
local.tee $p0
br_if $B52
local.get $l5
i32.const 16
i32.add
local.set $l7
local.get $l5
i32.load offset=16
local.set $p0
end
local.get $p0
br_if $L51
end
local.get $l8
i32.const 0
i32.store
end
local.get $l4
i32.eqz
br_if $B1
block $B53
local.get $l6
i32.load offset=28
i32.const 2
i32.shl
i32.const 33592
i32.add
local.tee $p0
i32.load
local.get $l6
i32.eq
br_if $B53
local.get $l4
i32.const 16
i32.const 20
local.get $l4
i32.load offset=16
local.get $l6
i32.eq
select
i32.add
local.get $l5
i32.store
local.get $l5
i32.eqz
br_if $B1
br $B2
end
local.get $p0
local.get $l5
i32.store
local.get $l5
br_if $B2
i32.const 0
i32.const 0
i32.load offset=33324
i32.const -2
local.get $l6
i32.load offset=28
i32.rotl
i32.and
i32.store offset=33324
br $B1
end
block $B54
block $B55
block $B56
block $B57
block $B58
block $B59
i32.const 0
i32.load offset=33720
local.tee $p0
local.get $l2
i32.ge_u
br_if $B59
i32.const 0
i32.load offset=33724
local.tee $p0
local.get $l2
i32.gt_u
br_if $B56
i32.const 0
local.set $l1
local.get $l2
i32.const 65583
i32.add
local.tee $l5
i32.const 16
i32.shr_u
memory.grow
local.tee $p0
i32.const -1
i32.eq
br_if $B0
local.get $p0
i32.const 16
i32.shl
local.tee $l6
i32.eqz
br_if $B0
i32.const 0
i32.const 0
i32.load offset=33736
local.get $l5
i32.const -65536
i32.and
local.tee $l8
i32.add
local.tee $p0
i32.store offset=33736
i32.const 0
i32.const 0
i32.load offset=33740
local.tee $l1
local.get $p0
local.get $l1
local.get $p0
i32.gt_u
select
i32.store offset=33740
i32.const 0
i32.load offset=33732
local.tee $l1
i32.eqz
br_if $B58
i32.const 33744
local.set $p0
loop $L60
local.get $p0
i32.load
local.tee $l5
local.get $p0
i32.load offset=4
local.tee $l7
i32.add
local.get $l6
i32.eq
br_if $B57
local.get $p0
i32.load offset=8
local.tee $p0
br_if $L60
br $B55
end
end
i32.const 0
i32.load offset=33728
local.set $l1
block $B61
block $B62
local.get $p0
local.get $l2
i32.sub
local.tee $l5
i32.const 15
i32.gt_u
br_if $B62
i32.const 0
i32.const 0
i32.store offset=33728
i32.const 0
i32.const 0
i32.store offset=33720
local.get $l1
local.get $p0
i32.const 3
i32.or
i32.store offset=4
local.get $l1
local.get $p0
i32.add
local.tee $l2
i32.const 4
i32.add
local.set $p0
local.get $l2
i32.load offset=4
i32.const 1
i32.or
local.set $l2
br $B61
end
i32.const 0
local.get $l5
i32.store offset=33720
i32.const 0
local.get $l1
local.get $l2
i32.add
local.tee $l6
i32.store offset=33728
local.get $l6
local.get $l5
i32.const 1
i32.or
i32.store offset=4
local.get $l1
local.get $p0
i32.add
local.get $l5
i32.store
local.get $l2
i32.const 3
i32.or
local.set $l2
local.get $l1
i32.const 4
i32.add
local.set $p0
end
local.get $p0
local.get $l2
i32.store
local.get $l1
i32.const 8
i32.add
return
end
block $B63
block $B64
i32.const 0
i32.load offset=33764
local.tee $p0
i32.eqz
br_if $B64
local.get $p0
local.get $l6
i32.le_u
br_if $B63
end
i32.const 0
local.get $l6
i32.store offset=33764
end
i32.const 0
i32.const 4095
i32.store offset=33768
i32.const 0
local.get $l8
i32.store offset=33748
i32.const 0
local.get $l6
i32.store offset=33744
i32.const 0
i32.const 33328
i32.store offset=33340
i32.const 0
i32.const 33336
i32.store offset=33348
i32.const 0
i32.const 33328
i32.store offset=33336
i32.const 0
i32.const 33344
i32.store offset=33356
i32.const 0
i32.const 33336
i32.store offset=33344
i32.const 0
i32.const 33352
i32.store offset=33364
i32.const 0
i32.const 33344
i32.store offset=33352
i32.const 0
i32.const 33360
i32.store offset=33372
i32.const 0
i32.const 33352
i32.store offset=33360
i32.const 0
i32.const 33368
i32.store offset=33380
i32.const 0
i32.const 33360
i32.store offset=33368
i32.const 0
i32.const 33376
i32.store offset=33388
i32.const 0
i32.const 33368
i32.store offset=33376
i32.const 0
i32.const 33384
i32.store offset=33396
i32.const 0
i32.const 33376
i32.store offset=33384
i32.const 0
i32.const 0
i32.store offset=33756
i32.const 0
i32.const 33392
i32.store offset=33404
i32.const 0
i32.const 33384
i32.store offset=33392
i32.const 0
i32.const 33392
i32.store offset=33400
i32.const 0
i32.const 33400
i32.store offset=33412
i32.const 0
i32.const 33400
i32.store offset=33408
i32.const 0
i32.const 33408
i32.store offset=33420
i32.const 0
i32.const 33408
i32.store offset=33416
i32.const 0
i32.const 33416
i32.store offset=33428
i32.const 0
i32.const 33416
i32.store offset=33424
i32.const 0
i32.const 33424
i32.store offset=33436
i32.const 0
i32.const 33424
i32.store offset=33432
i32.const 0
i32.const 33432
i32.store offset=33444
i32.const 0
i32.const 33432
i32.store offset=33440
i32.const 0
i32.const 33440
i32.store offset=33452
i32.const 0
i32.const 33440
i32.store offset=33448
i32.const 0
i32.const 33448
i32.store offset=33460
i32.const 0
i32.const 33448
i32.store offset=33456
i32.const 0
i32.const 33456
i32.store offset=33468
i32.const 0
i32.const 33464
i32.store offset=33476
i32.const 0
i32.const 33456
i32.store offset=33464
i32.const 0
i32.const 33472
i32.store offset=33484
i32.const 0
i32.const 33464
i32.store offset=33472
i32.const 0
i32.const 33480
i32.store offset=33492
i32.const 0
i32.const 33472
i32.store offset=33480
i32.const 0
i32.const 33488
i32.store offset=33500
i32.const 0
i32.const 33480
i32.store offset=33488
i32.const 0
i32.const 33496
i32.store offset=33508
i32.const 0
i32.const 33488
i32.store offset=33496
i32.const 0
i32.const 33504
i32.store offset=33516
i32.const 0
i32.const 33496
i32.store offset=33504
i32.const 0
i32.const 33512
i32.store offset=33524
i32.const 0
i32.const 33504
i32.store offset=33512
i32.const 0
i32.const 33520
i32.store offset=33532
i32.const 0
i32.const 33512
i32.store offset=33520
i32.const 0
i32.const 33528
i32.store offset=33540
i32.const 0
i32.const 33520
i32.store offset=33528
i32.const 0
i32.const 33536
i32.store offset=33548
i32.const 0
i32.const 33528
i32.store offset=33536
i32.const 0
i32.const 33544
i32.store offset=33556
i32.const 0
i32.const 33536
i32.store offset=33544
i32.const 0
i32.const 33552
i32.store offset=33564
i32.const 0
i32.const 33544
i32.store offset=33552
i32.const 0
i32.const 33560
i32.store offset=33572
i32.const 0
i32.const 33552
i32.store offset=33560
i32.const 0
i32.const 33568
i32.store offset=33580
i32.const 0
i32.const 33560
i32.store offset=33568
i32.const 0
i32.const 33576
i32.store offset=33588
i32.const 0
i32.const 33568
i32.store offset=33576
i32.const 0
local.get $l6
i32.store offset=33732
i32.const 0
i32.const 33576
i32.store offset=33584
i32.const 0
local.get $l8
i32.const -40
i32.add
local.tee $p0
i32.store offset=33724
local.get $l6
local.get $p0
i32.const 1
i32.or
i32.store offset=4
local.get $l6
local.get $p0
i32.add
i32.const 40
i32.store offset=4
i32.const 0
i32.const 2097152
i32.store offset=33760
br $B54
end
local.get $p0
i32.const 12
i32.add
i32.load
br_if $B55
local.get $l6
local.get $l1
i32.le_u
br_if $B55
local.get $l5
local.get $l1
i32.gt_u
br_if $B55
local.get $p0
local.get $l7
local.get $l8
i32.add
i32.store offset=4
i32.const 0
i32.const 0
i32.load offset=33732
local.tee $p0
i32.const 15
i32.add
i32.const -8
i32.and
local.tee $l1
i32.const -8
i32.add
i32.store offset=33732
i32.const 0
local.get $p0
local.get $l1
i32.sub
i32.const 0
i32.load offset=33724
local.get $l8
i32.add
local.tee $l5
i32.add
i32.const 8
i32.add
local.tee $l6
i32.store offset=33724
local.get $l1
i32.const -4
i32.add
local.get $l6
i32.const 1
i32.or
i32.store
local.get $p0
local.get $l5
i32.add
i32.const 40
i32.store offset=4
i32.const 0
i32.const 2097152
i32.store offset=33760
br $B54
end
i32.const 0
local.get $p0
local.get $l2
i32.sub
local.tee $l1
i32.store offset=33724
i32.const 0
i32.const 0
i32.load offset=33732
local.tee $p0
local.get $l2
i32.add
local.tee $l5
i32.store offset=33732
local.get $l5
local.get $l1
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.const 3
i32.or
i32.store offset=4
local.get $p0
i32.const 8
i32.add
return
end
i32.const 0
i32.const 0
i32.load offset=33764
local.tee $p0
local.get $l6
local.get $p0
local.get $l6
i32.lt_u
select
i32.store offset=33764
local.get $l6
local.get $l8
i32.add
local.set $l5
i32.const 33744
local.set $p0
block $B65
block $B66
loop $L67
local.get $p0
i32.load
local.get $l5
i32.eq
br_if $B66
local.get $p0
i32.load offset=8
local.tee $p0
br_if $L67
br $B65
end
end
local.get $p0
i32.const 12
i32.add
i32.load
br_if $B65
local.get $p0
local.get $l6
i32.store
local.get $p0
local.get $p0
i32.load offset=4
local.get $l8
i32.add
i32.store offset=4
local.get $l6
local.get $l2
i32.const 3
i32.or
i32.store offset=4
local.get $l6
local.get $l2
i32.add
local.set $p0
local.get $l5
local.get $l6
i32.sub
local.get $l2
i32.sub
local.set $l2
block $B68
block $B69
block $B70
i32.const 0
i32.load offset=33732
local.get $l5
i32.eq
br_if $B70
i32.const 0
i32.load offset=33728
local.get $l5
i32.eq
br_if $B69
block $B71
local.get $l5
i32.const 4
i32.add
i32.load
local.tee $l1
i32.const 3
i32.and
i32.const 1
i32.ne
br_if $B71
local.get $l5
local.get $l1
i32.const -8
i32.and
local.tee $l1
call $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E
local.get $l1
local.get $l2
i32.add
local.set $l2
local.get $l5
local.get $l1
i32.add
local.set $l5
end
local.get $l5
local.get $l5
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
local.get $p0
local.get $l2
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.add
local.get $l2
i32.store
block $B72
local.get $l2
i32.const 256
i32.lt_u
br_if $B72
i32.const 0
local.set $l1
block $B73
local.get $l2
i32.const 8
i32.shr_u
local.tee $l5
i32.eqz
br_if $B73
i32.const 31
local.set $l1
local.get $l2
i32.const 16777215
i32.gt_u
br_if $B73
local.get $l2
i32.const 6
local.get $l5
i32.clz
local.tee $l1
i32.sub
i32.const 31
i32.and
i32.shr_u
i32.const 1
i32.and
local.get $l1
i32.const 1
i32.shl
i32.sub
i32.const 62
i32.add
local.set $l1
end
local.get $p0
i64.const 0
i64.store offset=16 align=4
local.get $p0
local.get $l1
i32.store offset=28
local.get $l1
i32.const 2
i32.shl
i32.const 33592
i32.add
local.set $l5
block $B74
block $B75
block $B76
block $B77
block $B78
i32.const 0
i32.load offset=33324
local.tee $l7
i32.const 1
local.get $l1
i32.const 31
i32.and
i32.shl
local.tee $l8
i32.and
i32.eqz
br_if $B78
local.get $l5
i32.load
local.tee $l7
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l2
i32.ne
br_if $B77
local.get $l7
local.set $l1
br $B76
end
i32.const 0
local.get $l7
local.get $l8
i32.or
i32.store offset=33324
local.get $l5
local.get $p0
i32.store
local.get $p0
local.get $l5
i32.store offset=24
br $B74
end
local.get $l2
i32.const 0
i32.const 25
local.get $l1
i32.const 1
i32.shr_u
i32.sub
i32.const 31
i32.and
local.get $l1
i32.const 31
i32.eq
select
i32.shl
local.set $l5
loop $L79
local.get $l7
local.get $l5
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee $l8
i32.load
local.tee $l1
i32.eqz
br_if $B75
local.get $l5
i32.const 1
i32.shl
local.set $l5
local.get $l1
local.set $l7
local.get $l1
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l2
i32.ne
br_if $L79
end
end
local.get $l1
i32.load offset=8
local.tee $l2
local.get $p0
i32.store offset=12
local.get $l1
local.get $p0
i32.store offset=8
local.get $p0
i32.const 0
i32.store offset=24
local.get $p0
local.get $l1
i32.store offset=12
local.get $p0
local.get $l2
i32.store offset=8
br $B68
end
local.get $l8
local.get $p0
i32.store
local.get $p0
local.get $l7
i32.store offset=24
end
local.get $p0
local.get $p0
i32.store offset=12
local.get $p0
local.get $p0
i32.store offset=8
br $B68
end
local.get $l2
i32.const 3
i32.shr_u
local.tee $l1
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $l2
block $B80
block $B81
i32.const 0
i32.load offset=33320
local.tee $l5
i32.const 1
local.get $l1
i32.const 31
i32.and
i32.shl
local.tee $l1
i32.and
i32.eqz
br_if $B81
local.get $l2
i32.load offset=8
local.set $l1
br $B80
end
i32.const 0
local.get $l5
local.get $l1
i32.or
i32.store offset=33320
local.get $l2
local.set $l1
end
local.get $l2
local.get $p0
i32.store offset=8
local.get $l1
local.get $p0
i32.store offset=12
local.get $p0
local.get $l2
i32.store offset=12
local.get $p0
local.get $l1
i32.store offset=8
br $B68
end
i32.const 0
local.get $p0
i32.store offset=33732
i32.const 0
i32.const 0
i32.load offset=33724
local.get $l2
i32.add
local.tee $l2
i32.store offset=33724
local.get $p0
local.get $l2
i32.const 1
i32.or
i32.store offset=4
br $B68
end
i32.const 0
local.get $p0
i32.store offset=33728
i32.const 0
i32.const 0
i32.load offset=33720
local.get $l2
i32.add
local.tee $l2
i32.store offset=33720
local.get $p0
local.get $l2
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.add
local.get $l2
i32.store
end
local.get $l6
i32.const 8
i32.add
return
end
i32.const 33744
local.set $p0
block $B82
loop $L83
block $B84
local.get $p0
i32.load
local.tee $l5
local.get $l1
i32.gt_u
br_if $B84
local.get $l5
local.get $p0
i32.load offset=4
i32.add
local.tee $l5
local.get $l1
i32.gt_u
br_if $B82
end
local.get $p0
i32.load offset=8
local.set $p0
br $L83
end
end
i32.const 0
local.get $l6
i32.store offset=33732
i32.const 0
local.get $l8
i32.const -40
i32.add
local.tee $p0
i32.store offset=33724
local.get $l6
local.get $p0
i32.const 1
i32.or
i32.store offset=4
local.get $l6
local.get $p0
i32.add
i32.const 40
i32.store offset=4
i32.const 0
i32.const 2097152
i32.store offset=33760
local.get $l1
local.get $l5
i32.const -32
i32.add
i32.const -8
i32.and
i32.const -8
i32.add
local.tee $p0
local.get $p0
local.get $l1
i32.const 16
i32.add
i32.lt_u
select
local.tee $l7
i32.const 27
i32.store offset=4
i32.const 0
i64.load offset=33744 align=4
local.set $l9
local.get $l7
i32.const 16
i32.add
i32.const 0
i64.load offset=33752 align=4
i64.store align=4
local.get $l7
local.get $l9
i64.store offset=8 align=4
i32.const 0
local.get $l8
i32.store offset=33748
i32.const 0
local.get $l6
i32.store offset=33744
i32.const 0
local.get $l7
i32.const 8
i32.add
i32.store offset=33752
i32.const 0
i32.const 0
i32.store offset=33756
local.get $l7
i32.const 28
i32.add
local.set $p0
loop $L85
local.get $p0
i32.const 7
i32.store
local.get $l5
local.get $p0
i32.const 4
i32.add
local.tee $p0
i32.gt_u
br_if $L85
end
local.get $l7
local.get $l1
i32.eq
br_if $B54
local.get $l7
local.get $l7
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
local.get $l1
local.get $l7
local.get $l1
i32.sub
local.tee $l6
i32.const 1
i32.or
i32.store offset=4
local.get $l7
local.get $l6
i32.store
block $B86
local.get $l6
i32.const 256
i32.lt_u
br_if $B86
i32.const 0
local.set $p0
block $B87
local.get $l6
i32.const 8
i32.shr_u
local.tee $l5
i32.eqz
br_if $B87
i32.const 31
local.set $p0
local.get $l6
i32.const 16777215
i32.gt_u
br_if $B87
local.get $l6
i32.const 6
local.get $l5
i32.clz
local.tee $p0
i32.sub
i32.const 31
i32.and
i32.shr_u
i32.const 1
i32.and
local.get $p0
i32.const 1
i32.shl
i32.sub
i32.const 62
i32.add
local.set $p0
end
local.get $l1
i64.const 0
i64.store offset=16 align=4
local.get $l1
i32.const 28
i32.add
local.get $p0
i32.store
local.get $p0
i32.const 2
i32.shl
i32.const 33592
i32.add
local.set $l5
block $B88
block $B89
block $B90
block $B91
block $B92
i32.const 0
i32.load offset=33324
local.tee $l7
i32.const 1
local.get $p0
i32.const 31
i32.and
i32.shl
local.tee $l8
i32.and
i32.eqz
br_if $B92
local.get $l5
i32.load
local.tee $l7
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l6
i32.ne
br_if $B91
local.get $l7
local.set $p0
br $B90
end
i32.const 0
local.get $l7
local.get $l8
i32.or
i32.store offset=33324
local.get $l5
local.get $l1
i32.store
local.get $l1
i32.const 24
i32.add
local.get $l5
i32.store
br $B88
end
local.get $l6
i32.const 0
i32.const 25
local.get $p0
i32.const 1
i32.shr_u
i32.sub
i32.const 31
i32.and
local.get $p0
i32.const 31
i32.eq
select
i32.shl
local.set $l5
loop $L93
local.get $l7
local.get $l5
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee $l8
i32.load
local.tee $p0
i32.eqz
br_if $B89
local.get $l5
i32.const 1
i32.shl
local.set $l5
local.get $p0
local.set $l7
local.get $p0
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $l6
i32.ne
br_if $L93
end
end
local.get $p0
i32.load offset=8
local.tee $l5
local.get $l1
i32.store offset=12
local.get $p0
local.get $l1
i32.store offset=8
local.get $l1
i32.const 24
i32.add
i32.const 0
i32.store
local.get $l1
local.get $p0
i32.store offset=12
local.get $l1
local.get $l5
i32.store offset=8
br $B54
end
local.get $l8
local.get $l1
i32.store
local.get $l1
i32.const 24
i32.add
local.get $l7
i32.store
end
local.get $l1
local.get $l1
i32.store offset=12
local.get $l1
local.get $l1
i32.store offset=8
br $B54
end
local.get $l6
i32.const 3
i32.shr_u
local.tee $l5
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $p0
block $B94
block $B95
i32.const 0
i32.load offset=33320
local.tee $l6
i32.const 1
local.get $l5
i32.const 31
i32.and
i32.shl
local.tee $l5
i32.and
i32.eqz
br_if $B95
local.get $p0
i32.load offset=8
local.set $l5
br $B94
end
i32.const 0
local.get $l6
local.get $l5
i32.or
i32.store offset=33320
local.get $p0
local.set $l5
end
local.get $p0
local.get $l1
i32.store offset=8
local.get $l5
local.get $l1
i32.store offset=12
local.get $l1
local.get $p0
i32.store offset=12
local.get $l1
local.get $l5
i32.store offset=8
end
i32.const 0
local.set $l1
i32.const 0
i32.load offset=33724
local.tee $p0
local.get $l2
i32.le_u
br_if $B0
i32.const 0
local.get $p0
local.get $l2
i32.sub
local.tee $l1
i32.store offset=33724
i32.const 0
i32.const 0
i32.load offset=33732
local.tee $p0
local.get $l2
i32.add
local.tee $l5
i32.store offset=33732
local.get $l5
local.get $l1
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.const 3
i32.or
i32.store offset=4
local.get $p0
i32.const 8
i32.add
return
end
local.get $l5
local.get $l4
i32.store offset=24
block $B96
local.get $l6
i32.load offset=16
local.tee $p0
i32.eqz
br_if $B96
local.get $l5
local.get $p0
i32.store offset=16
local.get $p0
local.get $l5
i32.store offset=24
end
local.get $l6
i32.const 20
i32.add
i32.load
local.tee $p0
i32.eqz
br_if $B1
local.get $l5
i32.const 20
i32.add
local.get $p0
i32.store
local.get $p0
local.get $l5
i32.store offset=24
end
block $B97
block $B98
local.get $l1
i32.const 16
i32.lt_u
br_if $B98
local.get $l6
local.get $l2
i32.const 3
i32.or
i32.store offset=4
local.get $l6
local.get $l2
i32.add
local.tee $l2
local.get $l1
i32.const 1
i32.or
i32.store offset=4
local.get $l2
local.get $l1
i32.add
local.get $l1
i32.store
block $B99
i32.const 0
i32.load offset=33720
local.tee $p0
i32.eqz
br_if $B99
local.get $p0
i32.const 3
i32.shr_u
local.tee $l7
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $l5
i32.const 0
i32.load offset=33728
local.set $p0
block $B100
block $B101
i32.const 0
i32.load offset=33320
local.tee $l8
i32.const 1
local.get $l7
i32.const 31
i32.and
i32.shl
local.tee $l7
i32.and
i32.eqz
br_if $B101
local.get $l5
i32.load offset=8
local.set $l7
br $B100
end
i32.const 0
local.get $l8
local.get $l7
i32.or
i32.store offset=33320
local.get $l5
local.set $l7
end
local.get $l5
local.get $p0
i32.store offset=8
local.get $l7
local.get $p0
i32.store offset=12
local.get $p0
local.get $l5
i32.store offset=12
local.get $p0
local.get $l7
i32.store offset=8
end
i32.const 0
local.get $l2
i32.store offset=33728
i32.const 0
local.get $l1
i32.store offset=33720
br $B97
end
local.get $l6
local.get $l1
local.get $l2
i32.add
local.tee $p0
i32.const 3
i32.or
i32.store offset=4
local.get $l6
local.get $p0
i32.add
local.tee $p0
local.get $p0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
end
local.get $l6
i32.const 8
i32.add
return
end
local.get $l1)
(func $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E (type $t2) (param $p0 i32) (param $p1 i32)
(local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32)
block $B0
block $B1
block $B2
local.get $p1
i32.const 256
i32.lt_u
br_if $B2
local.get $p0
i32.const 24
i32.add
i32.load
local.set $l2
block $B3
block $B4
block $B5
local.get $p0
i32.load offset=12
local.tee $l3
local.get $p0
i32.ne
br_if $B5
local.get $p0
i32.const 20
i32.const 16
local.get $p0
i32.const 20
i32.add
local.tee $l3
i32.load
local.tee $l4
select
i32.add
i32.load
local.tee $p1
br_if $B4
i32.const 0
local.set $l3
br $B3
end
local.get $p0
i32.load offset=8
local.tee $p1
local.get $l3
i32.store offset=12
local.get $l3
local.get $p1
i32.store offset=8
br $B3
end
local.get $l3
local.get $p0
i32.const 16
i32.add
local.get $l4
select
local.set $l4
loop $L6
local.get $l4
local.set $l5
block $B7
local.get $p1
local.tee $l3
i32.const 20
i32.add
local.tee $l4
i32.load
local.tee $p1
br_if $B7
local.get $l3
i32.const 16
i32.add
local.set $l4
local.get $l3
i32.load offset=16
local.set $p1
end
local.get $p1
br_if $L6
end
local.get $l5
i32.const 0
i32.store
end
local.get $l2
i32.eqz
br_if $B0
block $B8
local.get $p0
i32.const 28
i32.add
i32.load
i32.const 2
i32.shl
i32.const 33592
i32.add
local.tee $p1
i32.load
local.get $p0
i32.eq
br_if $B8
local.get $l2
i32.const 16
i32.const 20
local.get $l2
i32.load offset=16
local.get $p0
i32.eq
select
i32.add
local.get $l3
i32.store
local.get $l3
i32.eqz
br_if $B0
br $B1
end
local.get $p1
local.get $l3
i32.store
local.get $l3
br_if $B1
i32.const 0
i32.const 0
i32.load offset=33324
i32.const -2
local.get $p0
i32.load offset=28
i32.rotl
i32.and
i32.store offset=33324
return
end
block $B9
local.get $p0
i32.const 12
i32.add
i32.load
local.tee $l3
local.get $p0
i32.const 8
i32.add
i32.load
local.tee $l4
i32.eq
br_if $B9
local.get $l4
local.get $l3
i32.store offset=12
local.get $l3
local.get $l4
i32.store offset=8
return
end
i32.const 0
i32.const 0
i32.load offset=33320
i32.const -2
local.get $p1
i32.const 3
i32.shr_u
i32.rotl
i32.and
i32.store offset=33320
br $B0
end
local.get $l3
local.get $l2
i32.store offset=24
block $B10
local.get $p0
i32.load offset=16
local.tee $p1
i32.eqz
br_if $B10
local.get $l3
local.get $p1
i32.store offset=16
local.get $p1
local.get $l3
i32.store offset=24
end
local.get $p0
i32.const 20
i32.add
i32.load
local.tee $p1
i32.eqz
br_if $B0
local.get $l3
i32.const 20
i32.add
local.get $p1
i32.store
local.get $p1
local.get $l3
i32.store offset=24
return
end)
(func $_ZN8dlmalloc8dlmalloc8Dlmalloc13dispose_chunk17h868bcade4d4773acE (type $t2) (param $p0 i32) (param $p1 i32)
(local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32)
local.get $p0
local.get $p1
i32.add
local.set $l2
block $B0
block $B1
block $B2
block $B3
block $B4
local.get $p0
i32.const 4
i32.add
i32.load
local.tee $l3
i32.const 1
i32.and
br_if $B4
local.get $l3
i32.const 3
i32.and
i32.eqz
br_if $B3
local.get $p0
i32.load
local.tee $l3
local.get $p1
i32.add
local.set $p1
block $B5
i32.const 0
i32.load offset=33728
local.get $p0
local.get $l3
i32.sub
local.tee $p0
i32.ne
br_if $B5
local.get $l2
i32.load offset=4
i32.const 3
i32.and
i32.const 3
i32.ne
br_if $B4
i32.const 0
local.get $p1
i32.store offset=33720
local.get $l2
local.get $l2
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
local.get $p0
local.get $p1
i32.const 1
i32.or
i32.store offset=4
local.get $l2
local.get $p1
i32.store
return
end
local.get $p0
local.get $l3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E
end
block $B6
block $B7
local.get $l2
i32.const 4
i32.add
i32.load
local.tee $l3
i32.const 2
i32.and
i32.eqz
br_if $B7
local.get $l2
i32.const 4
i32.add
local.get $l3
i32.const -2
i32.and
i32.store
local.get $p0
local.get $p1
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $p1
i32.add
local.get $p1
i32.store
br $B6
end
block $B8
block $B9
i32.const 0
i32.load offset=33732
local.get $l2
i32.eq
br_if $B9
i32.const 0
i32.load offset=33728
local.get $l2
i32.eq
br_if $B8
local.get $l2
local.get $l3
i32.const -8
i32.and
local.tee $l3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E
local.get $p0
local.get $l3
local.get $p1
i32.add
local.tee $p1
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $p1
i32.add
local.get $p1
i32.store
local.get $p0
i32.const 0
i32.load offset=33728
i32.ne
br_if $B6
i32.const 0
local.get $p1
i32.store offset=33720
return
end
i32.const 0
local.get $p0
i32.store offset=33732
i32.const 0
i32.const 0
i32.load offset=33724
local.get $p1
i32.add
local.tee $p1
i32.store offset=33724
local.get $p0
local.get $p1
i32.const 1
i32.or
i32.store offset=4
local.get $p0
i32.const 0
i32.load offset=33728
i32.ne
br_if $B3
i32.const 0
i32.const 0
i32.store offset=33720
i32.const 0
i32.const 0
i32.store offset=33728
return
end
i32.const 0
local.get $p0
i32.store offset=33728
i32.const 0
i32.const 0
i32.load offset=33720
local.get $p1
i32.add
local.tee $p1
i32.store offset=33720
local.get $p0
local.get $p1
i32.const 1
i32.or
i32.store offset=4
local.get $p0
local.get $p1
i32.add
local.get $p1
i32.store
return
end
local.get $p1
i32.const 256
i32.lt_u
br_if $B0
i32.const 0
local.set $l2
block $B10
local.get $p1
i32.const 8
i32.shr_u
local.tee $l3
i32.eqz
br_if $B10
i32.const 31
local.set $l2
local.get $p1
i32.const 16777215
i32.gt_u
br_if $B10
local.get $p1
i32.const 6
local.get $l3
i32.clz
local.tee $l2
i32.sub
i32.const 31
i32.and
i32.shr_u
i32.const 1
i32.and
local.get $l2
i32.const 1
i32.shl
i32.sub
i32.const 62
i32.add
local.set $l2
end
local.get $p0
i64.const 0
i64.store offset=16 align=4
local.get $p0
i32.const 28
i32.add
local.get $l2
i32.store
local.get $l2
i32.const 2
i32.shl
i32.const 33592
i32.add
local.set $l3
block $B11
block $B12
block $B13
i32.const 0
i32.load offset=33324
local.tee $l4
i32.const 1
local.get $l2
i32.const 31
i32.and
i32.shl
local.tee $l5
i32.and
i32.eqz
br_if $B13
local.get $l3
i32.load
local.tee $l4
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $p1
i32.ne
br_if $B12
local.get $l4
local.set $l2
br $B11
end
i32.const 0
local.get $l4
local.get $l5
i32.or
i32.store offset=33324
local.get $l3
local.get $p0
i32.store
local.get $p0
i32.const 24
i32.add
local.get $l3
i32.store
br $B1
end
local.get $p1
i32.const 0
i32.const 25
local.get $l2
i32.const 1
i32.shr_u
i32.sub
i32.const 31
i32.and
local.get $l2
i32.const 31
i32.eq
select
i32.shl
local.set $l3
loop $L14
local.get $l4
local.get $l3
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee $l5
i32.load
local.tee $l2
i32.eqz
br_if $B2
local.get $l3
i32.const 1
i32.shl
local.set $l3
local.get $l2
local.set $l4
local.get $l2
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $p1
i32.ne
br_if $L14
end
end
local.get $l2
i32.load offset=8
local.tee $p1
local.get $p0
i32.store offset=12
local.get $l2
local.get $p0
i32.store offset=8
local.get $p0
i32.const 24
i32.add
i32.const 0
i32.store
local.get $p0
local.get $l2
i32.store offset=12
local.get $p0
local.get $p1
i32.store offset=8
end
return
end
local.get $l5
local.get $p0
i32.store
local.get $p0
i32.const 24
i32.add
local.get $l4
i32.store
end
local.get $p0
local.get $p0
i32.store offset=12
local.get $p0
local.get $p0
i32.store offset=8
return
end
local.get $p1
i32.const 3
i32.shr_u
local.tee $l2
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $p1
block $B15
block $B16
i32.const 0
i32.load offset=33320
local.tee $l3
i32.const 1
local.get $l2
i32.const 31
i32.and
i32.shl
local.tee $l2
i32.and
i32.eqz
br_if $B16
local.get $p1
i32.load offset=8
local.set $l2
br $B15
end
i32.const 0
local.get $l3
local.get $l2
i32.or
i32.store offset=33320
local.get $p1
local.set $l2
end
local.get $p1
local.get $p0
i32.store offset=8
local.get $l2
local.get $p0
i32.store offset=12
local.get $p0
local.get $p1
i32.store offset=12
local.get $p0
local.get $l2
i32.store offset=8)
(func $_ZN8dlmalloc8dlmalloc8Dlmalloc4free17h1e5b8056d89d58c4E (type $t5) (param $p0 i32)
(local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32)
local.get $p0
i32.const -8
i32.add
local.tee $l1
local.get $p0
i32.const -4
i32.add
i32.load
local.tee $l2
i32.const -8
i32.and
local.tee $p0
i32.add
local.set $l3
block $B0
block $B1
block $B2
block $B3
local.get $l2
i32.const 1
i32.and
br_if $B3
local.get $l2
i32.const 3
i32.and
i32.eqz
br_if $B2
local.get $l1
i32.load
local.tee $l2
local.get $p0
i32.add
local.set $p0
block $B4
i32.const 0
i32.load offset=33728
local.get $l1
local.get $l2
i32.sub
local.tee $l1
i32.ne
br_if $B4
local.get $l3
i32.load offset=4
i32.const 3
i32.and
i32.const 3
i32.ne
br_if $B3
i32.const 0
local.get $p0
i32.store offset=33720
local.get $l3
local.get $l3
i32.load offset=4
i32.const -2
i32.and
i32.store offset=4
local.get $l1
local.get $p0
i32.const 1
i32.or
i32.store offset=4
local.get $l1
local.get $p0
i32.add
local.get $p0
i32.store
return
end
local.get $l1
local.get $l2
call $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E
end
block $B5
block $B6
local.get $l3
i32.const 4
i32.add
local.tee $l4
i32.load
local.tee $l2
i32.const 2
i32.and
i32.eqz
br_if $B6
local.get $l4
local.get $l2
i32.const -2
i32.and
i32.store
local.get $l1
local.get $p0
i32.const 1
i32.or
i32.store offset=4
local.get $l1
local.get $p0
i32.add
local.get $p0
i32.store
br $B5
end
block $B7
block $B8
i32.const 0
i32.load offset=33732
local.get $l3
i32.eq
br_if $B8
i32.const 0
i32.load offset=33728
local.get $l3
i32.eq
br_if $B7
local.get $l3
local.get $l2
i32.const -8
i32.and
local.tee $l2
call $_ZN8dlmalloc8dlmalloc8Dlmalloc12unlink_chunk17h0f785a9f983731c3E
local.get $l1
local.get $l2
local.get $p0
i32.add
local.tee $p0
i32.const 1
i32.or
i32.store offset=4
local.get $l1
local.get $p0
i32.add
local.get $p0
i32.store
local.get $l1
i32.const 0
i32.load offset=33728
i32.ne
br_if $B5
i32.const 0
local.get $p0
i32.store offset=33720
return
end
i32.const 0
local.get $l1
i32.store offset=33732
i32.const 0
i32.const 0
i32.load offset=33724
local.get $p0
i32.add
local.tee $p0
i32.store offset=33724
local.get $l1
local.get $p0
i32.const 1
i32.or
i32.store offset=4
block $B9
local.get $l1
i32.const 0
i32.load offset=33728
i32.ne
br_if $B9
i32.const 0
i32.const 0
i32.store offset=33720
i32.const 0
i32.const 0
i32.store offset=33728
end
i32.const 0
i32.load offset=33760
local.tee $l2
local.get $p0
i32.ge_u
br_if $B2
i32.const 0
i32.load offset=33732
local.tee $p0
i32.eqz
br_if $B2
block $B10
i32.const 0
i32.load offset=33724
local.tee $l4
i32.const 41
i32.lt_u
br_if $B10
i32.const 33744
local.set $l1
loop $L11
block $B12
local.get $l1
i32.load
local.tee $l3
local.get $p0
i32.gt_u
br_if $B12
local.get $l3
local.get $l1
i32.load offset=4
i32.add
local.get $p0
i32.gt_u
br_if $B10
end
local.get $l1
i32.load offset=8
local.tee $l1
br_if $L11
end
end
block $B13
block $B14
i32.const 0
i32.load offset=33752
local.tee $p0
br_if $B14
i32.const 4095
local.set $l1
br $B13
end
i32.const 0
local.set $l1
loop $L15
local.get $l1
i32.const 1
i32.add
local.set $l1
local.get $p0
i32.load offset=8
local.tee $p0
br_if $L15
end
local.get $l1
i32.const 4095
local.get $l1
i32.const 4095
i32.gt_u
select
local.set $l1
end
i32.const 0
local.get $l1
i32.store offset=33768
local.get $l4
local.get $l2
i32.le_u
br_if $B2
i32.const 0
i32.const -1
i32.store offset=33760
return
end
i32.const 0
local.get $l1
i32.store offset=33728
i32.const 0
i32.const 0
i32.load offset=33720
local.get $p0
i32.add
local.tee $p0
i32.store offset=33720
local.get $l1
local.get $p0
i32.const 1
i32.or
i32.store offset=4
local.get $l1
local.get $p0
i32.add
local.get $p0
i32.store
return
end
local.get $p0
i32.const 256
i32.lt_u
br_if $B1
i32.const 0
local.set $l3
block $B16
local.get $p0
i32.const 8
i32.shr_u
local.tee $l2
i32.eqz
br_if $B16
i32.const 31
local.set $l3
local.get $p0
i32.const 16777215
i32.gt_u
br_if $B16
local.get $p0
i32.const 6
local.get $l2
i32.clz
local.tee $l3
i32.sub
i32.const 31
i32.and
i32.shr_u
i32.const 1
i32.and
local.get $l3
i32.const 1
i32.shl
i32.sub
i32.const 62
i32.add
local.set $l3
end
local.get $l1
i64.const 0
i64.store offset=16 align=4
local.get $l1
i32.const 28
i32.add
local.get $l3
i32.store
local.get $l3
i32.const 2
i32.shl
i32.const 33592
i32.add
local.set $l2
block $B17
block $B18
block $B19
block $B20
block $B21
block $B22
i32.const 0
i32.load offset=33324
local.tee $l4
i32.const 1
local.get $l3
i32.const 31
i32.and
i32.shl
local.tee $l5
i32.and
i32.eqz
br_if $B22
local.get $l2
i32.load
local.tee $l4
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $p0
i32.ne
br_if $B21
local.get $l4
local.set $l3
br $B20
end
i32.const 0
local.get $l4
local.get $l5
i32.or
i32.store offset=33324
local.get $l2
local.get $l1
i32.store
local.get $l1
i32.const 24
i32.add
local.get $l2
i32.store
br $B18
end
local.get $p0
i32.const 0
i32.const 25
local.get $l3
i32.const 1
i32.shr_u
i32.sub
i32.const 31
i32.and
local.get $l3
i32.const 31
i32.eq
select
i32.shl
local.set $l2
loop $L23
local.get $l4
local.get $l2
i32.const 29
i32.shr_u
i32.const 4
i32.and
i32.add
i32.const 16
i32.add
local.tee $l5
i32.load
local.tee $l3
i32.eqz
br_if $B19
local.get $l2
i32.const 1
i32.shl
local.set $l2
local.get $l3
local.set $l4
local.get $l3
i32.const 4
i32.add
i32.load
i32.const -8
i32.and
local.get $p0
i32.ne
br_if $L23
end
end
local.get $l3
i32.load offset=8
local.tee $p0
local.get $l1
i32.store offset=12
local.get $l3
local.get $l1
i32.store offset=8
local.get $l1
i32.const 24
i32.add
i32.const 0
i32.store
local.get $l1
local.get $l3
i32.store offset=12
local.get $l1
local.get $p0
i32.store offset=8
br $B17
end
local.get $l5
local.get $l1
i32.store
local.get $l1
i32.const 24
i32.add
local.get $l4
i32.store
end
local.get $l1
local.get $l1
i32.store offset=12
local.get $l1
local.get $l1
i32.store offset=8
end
i32.const 0
i32.const 0
i32.load offset=33768
i32.const -1
i32.add
local.tee $l1
i32.store offset=33768
local.get $l1
i32.eqz
br_if $B0
end
return
end
local.get $p0
i32.const 3
i32.shr_u
local.tee $l3
i32.const 3
i32.shl
i32.const 33328
i32.add
local.set $p0
block $B24
block $B25
i32.const 0
i32.load offset=33320
local.tee $l2
i32.const 1
local.get $l3
i32.const 31
i32.and
i32.shl
local.tee $l3
i32.and
i32.eqz
br_if $B25
local.get $p0
i32.load offset=8
local.set $l3
br $B24
end
i32.const 0
local.get $l2
local.get $l3
i32.or
i32.store offset=33320
local.get $p0
local.set $l3
end
local.get $p0
local.get $l1
i32.store offset=8
local.get $l3
local.get $l1
i32.store offset=12
local.get $l1
local.get $p0
i32.store offset=12
local.get $l1
local.get $l3
i32.store offset=8
return
end
block $B26
block $B27
i32.const 0
i32.load offset=33752
local.tee $p0
br_if $B27
i32.const 4095
local.set $l1
br $B26
end
i32.const 0
local.set $l1
loop $L28
local.get $l1
i32.const 1
i32.add
local.set $l1
local.get $p0
i32.load offset=8
local.tee $p0
br_if $L28
end
local.get $l1
i32.const 4095
local.get $l1
i32.const 4095
i32.gt_u
select
local.set $l1
end
i32.const 0
local.get $l1
i32.store offset=33768)
(func $_ZN8dlmalloc8dlmalloc8Dlmalloc8memalign17h99b4ca3480339422E (type $t1) (param $p0 i32) (param $p1 i32) (result i32)
(local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32)
i32.const 0
local.set $l2
block $B0
i32.const -65587
local.get $p0
i32.const 16
local.get $p0
i32.const 16
i32.gt_u
select
local.tee $p0
i32.sub
local.get $p1
i32.le_u
br_if $B0
local.get $p0
i32.const 16
local.get $p1
i32.const 11
i32.add
i32.const -8
i32.and
local.get $p1
i32.const 11
i32.lt_u
select
local.tee $l3
i32.add
i32.const 12
i32.add
call $_ZN8dlmalloc8dlmalloc8Dlmalloc6malloc17h2b3c0b91fcfd2e18E
local.tee $p1
i32.eqz
br_if $B0
local.get $p1
i32.const -8
i32.add
local.set $l2
block $B1
block $B2
local.get $p0
i32.const -1
i32.add
local.tee $l4
local.get $p1
i32.and
br_if $B2
local.get $l2
local.set $p0
br $B1
end
local.get $p1
i32.const -4
i32.add
local.tee $l5
i32.load
local.tee $l6
i32.const -8
i32.and
local.get $l4
local.get $p1
i32.add
i32.const 0
local.get $p0
i32.sub
i32.and
i32.const -8
i32.add
local.tee $p1
local.get $p1
local.get $p0
i32.add
local.get $p1
local.get $l2
i32.sub
i32.const 16
i32.gt_u
select
local.tee $p0
local.get $l2
i32.sub
local.tee $p1
i32.sub
local.set $l4
block $B3
local.get $l6
i32.const 3
i32.and
i32.eqz
br_if $B3
local.get $p0
local.get $l4
local.get $p0
i32.load offset=4
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store offset=4
local.get $p0
local.get $l4
i32.add
local.tee $l4
local.get $l4
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get $l5
local.get $p1
local.get $l5
i32.load
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $p0
local.get $p0
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get $l2
local.get $p1
call $_ZN8dlmalloc8dlmalloc8Dlmalloc13dispose_chunk17h868bcade4d4773acE
br $B1
end
local.get $l2
i32.load
local.set $l2
local.get $p0
local.get $l4
i32.store offset=4
local.get $p0
local.get $l2
local.get $p1
i32.add
i32.store
end
block $B4
local.get $p0
i32.const 4
i32.add
i32.load
local.tee $p1
i32.const 3
i32.and
i32.eqz
br_if $B4
local.get $p1
i32.const -8
i32.and
local.tee $l2
local.get $l3
i32.const 16
i32.add
i32.le_u
br_if $B4
local.get $p0
i32.const 4
i32.add
local.get $l3
local.get $p1
i32.const 1
i32.and
i32.or
i32.const 2
i32.or
i32.store
local.get $p0
local.get $l3
i32.add
local.tee $p1
local.get $l2
local.get $l3
i32.sub
local.tee $l3
i32.const 3
i32.or
i32.store offset=4
local.get $p0
local.get $l2
i32.add
local.tee $l2
local.get $l2
i32.load offset=4
i32.const 1
i32.or
i32.store offset=4
local.get $p1
local.get $l3
call $_ZN8dlmalloc8dlmalloc8Dlmalloc13dispose_chunk17h868bcade4d4773acE
end
local.get $p0
i32.const 8
i32.add
local.set $l2
end
local.get $l2)
(func $invoke (type $t8)
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32)
i32.const 33135
i32.const 5
i32.const 33140
i32.const 5
call $qlcchain_storage_write
block $B0
block $B1
call $__rust_alloc_zeroed
local.tee $l0
i32.eqz
br_if $B1
block $B2
block $B3
i32.const 33135
i32.const 5
local.get $l0
i32.const 32
i32.const 0
call $qlcchain_storage_read
local.tee $l1
i32.const -1
i32.eq
br_if $B3
block $B4
local.get $l1
i32.const 32
i32.gt_u
br_if $B4
local.get $l0
local.get $l1
call $qlcchain_debug
br $B3
end
block $B5
block $B6
block $B7
local.get $l1
local.get $l1
i32.const -32
i32.add
local.tee $l2
i32.lt_u
br_if $B7
i32.const 0
local.set $l3
local.get $l1
i32.const 64
local.get $l1
i32.const 64
i32.gt_u
select
local.tee $l4
i32.const 0
i32.lt_s
br_if $B6
i32.const 32
local.set $l3
local.get $l0
i32.const 32
i32.const 1
local.get $l4
call $__rust_realloc
local.tee $l0
br_if $B5
local.get $l4
i32.const 1
i32.const 0
i32.load offset=33788
local.tee $l3
i32.const 2
local.get $l3
select
call_indirect (type $t2) $T0
unreachable
unreachable
end
i32.const 0
local.set $l3
end
local.get $l3
i32.eqz
br_if $B0
i32.const 33188
i32.const 40
i32.const 33228
call $_ZN4core9panicking5panic17he2069cf04c3ce8e4E
unreachable
end
block $B8
block $B9
block $B10
block $B11
local.get $l2
i32.const 2
i32.lt_u
br_if $B11
local.get $l1
i32.const -33
i32.add
local.set $l2
loop $L12
local.get $l0
local.get $l3
i32.add
i32.const 0
i32.store8
local.get $l3
i32.const 1
i32.add
local.set $l3
local.get $l2
i32.const -1
i32.add
local.tee $l2
br_if $L12
end
local.get $l0
local.get $l3
i32.add
i32.const 0
i32.store8
local.get $l3
i32.const 1
i32.add
local.set $l3
local.get $l1
i32.const 32
i32.le_u
br_if $B9
local.get $l3
i32.const 31
i32.gt_u
br_if $B10
local.get $l3
call $_ZN4core5slice22slice_index_order_fail17h3e21e8558a30236bE
unreachable
end
local.get $l0
i32.const 32
i32.add
i32.const 0
i32.store8
i32.const 33
local.set $l3
end
i32.const 33135
i32.const 5
local.get $l0
i32.const 32
i32.add
local.get $l3
i32.const -32
i32.add
i32.const 32
call $qlcchain_storage_read
drop
br $B8
end
local.get $l0
i32.eqz
br_if $B2
end
local.get $l0
local.get $l3
call $qlcchain_debug
local.get $l4
i64.extend_i32_u
i64.const 137438953472
i64.or
i32.wrap_i64
i32.eqz
br_if $B2
end
local.get $l0
call $__rust_dealloc
end
return
end
i32.const 32
i32.const 1
i32.const 0
i32.load offset=33788
local.tee $l3
i32.const 2
local.get $l3
select
call_indirect (type $t2) $T0
unreachable
unreachable
end
call $_ZN5alloc7raw_vec17capacity_overflow17hfdc93175e0844a74E
unreachable)
(func $_ZN3std5alloc24default_alloc_error_hook17hdd27145b016544bbE (type $t2) (param $p0 i32) (param $p1 i32))
(func $_ZN3std9panicking20rust_panic_with_hook17h5395f3796c27894aE (type $t8)
(local $l0 i32) (local $l1 i32)
i32.const 1
local.set $l0
block $B0
block $B1
block $B2
i32.const 0
i32.load offset=33776
i32.const 1
i32.eq
br_if $B2
i32.const 0
i64.const 4294967297
i64.store offset=33776
br $B1
end
i32.const 0
i32.const 0
i32.load offset=33780
i32.const 1
i32.add
local.tee $l0
i32.store offset=33780
local.get $l0
i32.const 2
i32.gt_u
br_if $B0
end
i32.const 0
i32.load offset=33784
local.tee $l1
i32.const -1
i32.le_s
br_if $B0
i32.const 0
local.get $l1
i32.store offset=33784
local.get $l0
i32.const 1
i32.gt_u
br_if $B0
call $rust_panic
unreachable
end
unreachable
unreachable)
(func $rust_panic (type $t8)
unreachable
unreachable)
(func $_ZN4core6option15Option$LT$T$GT$6unwrap17hb27551b920ee8fa2E (type $t11) (param $p0 i32) (result i32)
block $B0
local.get $p0
br_if $B0
i32.const 33145
i32.const 43
i32.const 33276
call $_ZN4core9panicking5panic17he2069cf04c3ce8e4E
unreachable
end
local.get $p0)
(func $memcpy (type $t0) (param $p0 i32) (param $p1 i32) (param $p2 i32) (result i32)
(local $l3 i32)
block $B0
local.get $p2
i32.eqz
br_if $B0
local.get $p0
local.set $l3
loop $L1
local.get $l3
local.get $p1
i32.load8_u
i32.store8
local.get $l3
i32.const 1
i32.add
local.set $l3
local.get $p1
i32.const 1
i32.add
local.set $p1
local.get $p2
i32.const -1
i32.add
local.tee $p2
br_if $L1
end
end
local.get $p0)
(table $T0 5 5 funcref)
(memory $memory 1)
(global $g0 (mut i32) (i32.const 32768))
(global $__data_end i32 (i32.const 33792))
(global $__heap_base i32 (i32.const 33792))
(export "memory" (memory 0))
(export "invoke" (func $invoke))
(export "__data_end" (global 1))
(export "__heap_base" (global 2))
(elem $e0 (i32.const 1) $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h4c1d1358b3e3261dE $_ZN3std5alloc24default_alloc_error_hook17hdd27145b016544bbE $_ZN4core3ptr13drop_in_place17h03a6ed1502f70d63E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17he9e1e2bb2280c5e7E)
(data $d0 (i32.const 32768) "capacity overflow\00\00\00$\80\00\00\17\00\00\00\ee\02\00\00\05\00\00\00src/liballoc/raw_vec.rs\00\03\00\00\00\00\00\00\00\01\00\00\00\04\00\00\0000010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899src/libcore/slice/mod.rsL\81\00\00\16\00\00\00b\81\00\00\0d\00\00\00\14\81\00\00\18\00\00\00\ab\0a\00\00\05\00\00\00slice index starts at but ends at key01val01called `Option::unwrap()` on a `None` valueinternal error: entered unreachable code\dc\81\00\00\1e\00\00\00\02\00\00\00\02\00\00\00<::core::macros::panic macros>\00\00\0c\82\00\00\17\00\00\00y\01\00\00\0f\00\00\00src/libstd/panicking.rs")
(data $d1 (i32.const 33320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment