The code below is in wat format (WebAssembly text format) and was produced by the The WebAssembly Binary Toolkit wasm2wat tool.
(module
(type (;0;) (func (result i64)))
(type (;1;) (func (param i64 i64) (result i64)))
(type (;2;) (func (param i64) (result i64)))
(type (;3;) (func (param i64 i64 i64) (result i64)))
(type (;4;) (func (param i64 i64 i64 i64) (result i64)))
(type (;5;) (func (param i32 i64)))
(type (;6;) (func))
(import "x" "9" (func (;0;) (type 0)))
(import "x" "1" (func (;1;) (type 1)))
(import "a" "0" (func (;2;) (type 2)))
(import "l" "3" (func (;3;) (type 3)))
(import "b" "j" (func (;4;) (type 1)))
(import "d" "_" (func (;5;) (type 3)))
(import "v" "g" (func (;6;) (type 1)))
(import "b" "8" (func (;7;) (type 2)))
(func (;8;) (type 4) (param i64 i64 i64 i64) (result i64)
(local i32 i32 i32)
global.get 0
i32.const 48
i32.sub
local.tee 4
global.set 0
block ;; label = @1
block ;; label = @2
local.get 0
i64.const 255
i64.and
i64.const 77
i64.ne
br_if 0 (;@2;)
local.get 4
i32.const 16
i32.add
local.get 1
call 9
local.get 4
i32.load offset=16
br_if 0 (;@2;)
local.get 4
i64.load offset=24
local.set 1
local.get 4
local.get 2
call 9
local.get 4
i32.load
br_if 0 (;@2;)
local.get 3
i64.const 255
i64.and
i64.const 75
i64.ne
br_if 0 (;@2;)
local.get 4
i64.load offset=8
local.set 2
local.get 0
call 0
call 1
i64.const 0
i64.eq
br_if 1 (;@1;)
local.get 0
call 2
drop
br 1 (;@1;)
end
unreachable
unreachable
end
i32.const -9
local.set 5
local.get 0
local.get 1
local.get 2
call 3
local.set 0
block ;; label = @1
loop ;; label = @2
local.get 5
i32.eqz
br_if 1 (;@1;)
block ;; label = @3
local.get 5
i32.const 1048585
i32.add
i32.load8_u
local.tee 6
i32.const 95
i32.eq
br_if 0 (;@3;)
local.get 6
i32.const -48
i32.add
i32.const 10
i32.lt_u
br_if 0 (;@3;)
local.get 6
i32.const -65
i32.add
i32.const 26
i32.lt_u
br_if 0 (;@3;)
local.get 6
i32.const -97
i32.add
i32.const 25
i32.gt_u
br_if 2 (;@1;)
end
local.get 5
i32.const 1
i32.add
local.set 5
br 0 (;@2;)
end
end
local.get 4
local.get 0
i32.const 1048576
i64.extend_i32_u
i64.const 32
i64.shl
i64.const 4
i64.or
i64.const 42949672964
call 4
local.get 3
call 5
i64.store offset=40
local.get 4
local.get 0
i64.store offset=32
local.get 4
i32.const 32
i32.add
i64.extend_i32_u
i64.const 32
i64.shl
i64.const 4
i64.or
i64.const 8589934596
call 6
local.set 0
local.get 4
i32.const 48
i32.add
global.set 0
local.get 0)
(func (;9;) (type 5) (param i32 i64)
(local i64)
i64.const 1
local.set 2
block ;; label = @1
local.get 1
i64.const 255
i64.and
i64.const 72
i64.ne
br_if 0 (;@1;)
local.get 1
call 7
i64.const -4294967296
i64.and
i64.const 137438953472
i64.ne
i64.extend_i32_u
local.set 2
end
local.get 0
local.get 1
i64.store offset=8
local.get 0
local.get 2
i64.store)
(func (;10;) (type 6))
(memory (;0;) 17)
(global (;0;) (mut i32) (i32.const 1048576))
(global (;1;) i32 (i32.const 1048586))
(global (;2;) i32 (i32.const 1048592))
(export "memory" (memory 0))
(export "deploy" (func 8))
(export "_" (func 10))
(export "__data_end" (global 1))
(export "__heap_base" (global 2))
(data (;0;) (i32.const 1048576) "initialize"))