wasm 파일은 바이너리라 열어봐도 내용이 안보이는데, 크롬으로 실행하고 디버거로 보면 텍스트로 변환(?) 된다.
단순한(?!) hello world 하나 출력할 뿐인데 드럽게 기네
(module
(func $wasi_snapshot_preview1.fd_write (;0;) (import "wasi_snapshot_preview1" "fd_write") (param i32 i32 i32 i32) (result i32))
(func $env.emscripten_memcpy_big (;1;) (import "env" "emscripten_memcpy_big") (param i32 i32 i32) (result i32))
(func $env.setTempRet0 (;2;) (import "env" "setTempRet0") (param i32))
(table $__indirect_function_table (;0;) (export "__indirect_function_table") 6 6 funcref)
(memory $memory (;0;) (export "memory") 256 256)
(global $global0 (mut i32) (i32.const 5245984))
(global $global1 (mut i32) (i32.const 0))
(global $global2 (mut i32) (i32.const 0))
(elem $elem0 (i32.const 1) funcref (ref.func $func9) (ref.func $func8) (ref.func $func10) (ref.func $func41) (ref.func $func42))
(func $__wasm_call_ctors (;3;) (export "__wasm_call_ctors")
call $emscripten_stack_init
call $func24
)
(func $func4 (result i32)
(local $var0 i32) (local $var1 i32) (local $var2 i32) (local $var3 i32) (local $var4 i32) (local $var5 i32) (local $var6 i32) (local $var7 i32) (local $var8 i32)
global.get $global0
local.set $var0
i32.const 16
local.set $var1
local.get $var0
local.get $var1
i32.sub
local.set $var2
local.get $var2
global.set $global0
i32.const 0
local.set $var3
local.get $var2
local.get $var3
i32.store offset=12
i32.const 1078
local.set $var4
i32.const 0
local.set $var5
local.get $var4
local.get $var5
call $func44
drop
i32.const 0
local.set $var6
i32.const 16
local.set $var7
local.get $var2
local.get $var7
i32.add
local.set $var8
local.get $var8
global.set $global0
local.get $var6
return
)
(func $main (;5;) (export "main") (param $var0 i32) (param $var1 i32) (result i32)
(local $var2 i32)
call $func4
local.set $var2
local.get $var2
return
)
(func $__errno_location (;6;) (export "__errno_location") (result i32)
i32.const 1744
)
(func $func7 (param $var0 i32) (result i32)
block $label0
local.get $var0
br_if $label0
i32.const 0
return
end $label0
call $__errno_location
local.get $var0
i32.store
i32.const -1
)
(func $func8 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32) (local $var4 i32) (local $var5 i32) (local $var6 i32) (local $var7 i32) (local $var8 i32) (local $var9 i32)
global.get $global0
i32.const 32
i32.sub
local.tee $var3
global.set $global0
local.get $var3
local.get $var0
i32.load offset=28
local.tee $var4
i32.store offset=16
local.get $var0
i32.load offset=20
local.set $var5
local.get $var3
local.get $var2
i32.store offset=28
local.get $var3
local.get $var1
i32.store offset=24
local.get $var3
local.get $var5
local.get $var4
i32.sub
local.tee $var1
i32.store offset=20
local.get $var1
local.get $var2
i32.add
local.set $var6
i32.const 2
local.set $var7
local.get $var3
i32.const 16
i32.add
local.set $var1
block $label4
block $label2
block $label1
block $label0
local.get $var0
i32.load offset=60
local.get $var3
i32.const 16
i32.add
i32.const 2
local.get $var3
i32.const 12
i32.add
call $wasi_snapshot_preview1.fd_write
call $func7
br_if $label0
loop $label3
local.get $var6
local.get $var3
i32.load offset=12
local.tee $var4
i32.eq
br_if $label1
local.get $var4
i32.const -1
i32.le_s
br_if $label2
local.get $var1
local.get $var4
local.get $var1
i32.load offset=4
local.tee $var8
i32.gt_u
local.tee $var5
i32.const 3
i32.shl
i32.add
local.tee $var9
local.get $var9
i32.load
local.get $var4
local.get $var8
i32.const 0
local.get $var5
select
i32.sub
local.tee $var8
i32.add
i32.store
local.get $var1
i32.const 12
i32.const 4
local.get $var5
select
i32.add
local.tee $var9
local.get $var9
i32.load
local.get $var8
i32.sub
i32.store
local.get $var6
local.get $var4
i32.sub
local.set $var6
local.get $var0
i32.load offset=60
local.get $var1
i32.const 8
i32.add
local.get $var1
local.get $var5
select
local.tee $var1
local.get $var7
local.get $var5
i32.sub
local.tee $var7
local.get $var3
i32.const 12
i32.add
call $wasi_snapshot_preview1.fd_write
call $func7
i32.eqz
br_if $label3
end $label3
end $label0
local.get $var6
i32.const -1
i32.ne
br_if $label2
end $label1
local.get $var0
local.get $var0
i32.load offset=44
local.tee $var1
i32.store offset=28
local.get $var0
local.get $var1
i32.store offset=20
local.get $var0
local.get $var1
local.get $var0
i32.load offset=48
i32.add
i32.store offset=16
local.get $var2
local.set $var4
br $label4
end $label2
i32.const 0
local.set $var4
local.get $var0
i32.const 0
i32.store offset=28
local.get $var0
i64.const 0
i64.store offset=16
local.get $var0
local.get $var0
i32.load
i32.const 32
i32.or
i32.store
local.get $var7
i32.const 2
i32.eq
br_if $label4
local.get $var2
local.get $var1
i32.load offset=4
i32.sub
local.set $var4
end $label4
local.get $var3
i32.const 32
i32.add
global.set $global0
local.get $var4
)
(func $func9 (param $var0 i32) (result i32)
i32.const 0
)
(func $func10 (param $var0 i32) (param $var1 i64) (param $var2 i32) (result i64)
i64.const 0
)
(func $func11 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32) (local $var4 i32) (local $var5 i32) (local $var6 i64)
block $label0
local.get $var2
i32.eqz
br_if $label0
local.get $var2
local.get $var0
i32.add
local.tee $var3
i32.const -1
i32.add
local.get $var1
i32.store8
local.get $var0
local.get $var1
i32.store8
local.get $var2
i32.const 3
i32.lt_u
br_if $label0
local.get $var3
i32.const -2
i32.add
local.get $var1
i32.store8
local.get $var0
local.get $var1
i32.store8 offset=1
local.get $var3
i32.const -3
i32.add
local.get $var1
i32.store8
local.get $var0
local.get $var1
i32.store8 offset=2
local.get $var2
i32.const 7
i32.lt_u
br_if $label0
local.get $var3
i32.const -4
i32.add
local.get $var1
i32.store8
local.get $var0
local.get $var1
i32.store8 offset=3
local.get $var2
i32.const 9
i32.lt_u
br_if $label0
local.get $var0
i32.const 0
local.get $var0
i32.sub
i32.const 3
i32.and
local.tee $var4
i32.add
local.tee $var3
local.get $var1
i32.const 255
i32.and
i32.const 16843009
i32.mul
local.tee $var1
i32.store
local.get $var3
local.get $var2
local.get $var4
i32.sub
i32.const -4
i32.and
local.tee $var4
i32.add
local.tee $var2
i32.const -4
i32.add
local.get $var1
i32.store
local.get $var4
i32.const 9
i32.lt_u
br_if $label0
local.get $var3
local.get $var1
i32.store offset=8
local.get $var3
local.get $var1
i32.store offset=4
local.get $var2
i32.const -8
i32.add
local.get $var1
i32.store
local.get $var2
i32.const -12
i32.add
local.get $var1
i32.store
local.get $var4
i32.const 25
i32.lt_u
br_if $label0
local.get $var3
local.get $var1
i32.store offset=24
local.get $var3
local.get $var1
i32.store offset=20
local.get $var3
local.get $var1
i32.store offset=16
local.get $var3
local.get $var1
i32.store offset=12
local.get $var2
i32.const -16
i32.add
local.get $var1
i32.store
local.get $var2
i32.const -20
i32.add
local.get $var1
i32.store
local.get $var2
i32.const -24
i32.add
local.get $var1
i32.store
local.get $var2
i32.const -28
i32.add
local.get $var1
i32.store
local.get $var4
local.get $var3
i32.const 4
i32.and
i32.const 24
i32.or
local.tee $var5
i32.sub
local.tee $var2
i32.const 32
i32.lt_u
br_if $label0
local.get $var1
i64.extend_i32_u
i64.const 4294967297
i64.mul
local.set $var6
local.get $var3
local.get $var5
i32.add
local.set $var1
loop $label1
local.get $var1
local.get $var6
i64.store offset=24
local.get $var1
local.get $var6
i64.store offset=16
local.get $var1
local.get $var6
i64.store offset=8
local.get $var1
local.get $var6
i64.store
local.get $var1
i32.const 32
i32.add
local.set $var1
local.get $var2
i32.const -32
i32.add
local.tee $var2
i32.const 31
i32.gt_u
br_if $label1
end $label1
end $label0
local.get $var0
)
(func $func12 (param $var0 i32) (result i32)
local.get $var0
i32.const -48
i32.add
i32.const 10
i32.lt_u
)
(func $func13 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32) (local $var4 i32)
local.get $var2
i32.const 0
i32.ne
local.set $var3
block $label3
block $label1
block $label0
local.get $var0
i32.const 3
i32.and
i32.eqz
br_if $label0
local.get $var2
i32.eqz
br_if $label0
local.get $var1
i32.const 255
i32.and
local.set $var4
loop $label2
local.get $var0
i32.load8_u
local.get $var4
i32.eq
br_if $label1
local.get $var2
i32.const -1
i32.add
local.tee $var2
i32.const 0
i32.ne
local.set $var3
local.get $var0
i32.const 1
i32.add
local.tee $var0
i32.const 3
i32.and
i32.eqz
br_if $label0
local.get $var2
br_if $label2
end $label2
end $label0
local.get $var3
i32.eqz
br_if $label3
end $label1
block $label4
local.get $var0
i32.load8_u
local.get $var1
i32.const 255
i32.and
i32.eq
br_if $label4
local.get $var2
i32.const 4
i32.lt_u
br_if $label4
local.get $var1
i32.const 255
i32.and
i32.const 16843009
i32.mul
local.set $var4
loop $label5
local.get $var0
i32.load
local.get $var4
i32.xor
local.tee $var3
i32.const -1
i32.xor
local.get $var3
i32.const -16843009
i32.add
i32.and
i32.const -2139062144
i32.and
br_if $label4
local.get $var0
i32.const 4
i32.add
local.set $var0
local.get $var2
i32.const -4
i32.add
local.tee $var2
i32.const 3
i32.gt_u
br_if $label5
end $label5
end $label4
local.get $var2
i32.eqz
br_if $label3
local.get $var1
i32.const 255
i32.and
local.set $var3
loop $label7
block $label6
local.get $var0
i32.load8_u
local.get $var3
i32.ne
br_if $label6
local.get $var0
return
end $label6
local.get $var0
i32.const 1
i32.add
local.set $var0
local.get $var2
i32.const -1
i32.add
local.tee $var2
br_if $label7
end $label7
end $label3
i32.const 0
)
(func $func14 (param $var0 i32)
)
(func $func15 (param $var0 i32)
)
(func $func16 (result i32)
i32.const 2856
call $func14
i32.const 2864
)
(func $func17
i32.const 2856
call $func15
)
(func $func18 (param $var0 i32) (result i32)
(local $var1 i32)
local.get $var0
local.get $var0
i32.load8_u offset=74
local.tee $var1
i32.const -1
i32.add
local.get $var1
i32.or
i32.store8 offset=74
block $label0
local.get $var0
i32.load
local.tee $var1
i32.const 8
i32.and
i32.eqz
br_if $label0
local.get $var0
local.get $var1
i32.const 32
i32.or
i32.store
i32.const -1
return
end $label0
local.get $var0
i64.const 0
i64.store offset=4 align=4
local.get $var0
local.get $var0
i32.load offset=44
local.tee $var1
i32.store offset=28
local.get $var0
local.get $var1
i32.store offset=20
local.get $var0
local.get $var1
local.get $var0
i32.load offset=48
i32.add
i32.store offset=16
i32.const 0
)
(func $func19 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32) (local $var4 i32) (local $var5 i32)
block $label0
local.get $var2
i32.const 512
i32.lt_u
br_if $label0
local.get $var0
local.get $var1
local.get $var2
call $env.emscripten_memcpy_big
drop
local.get $var0
return
end $label0
local.get $var0
local.get $var2
i32.add
local.set $var3
block $label8
block $label1
local.get $var1
local.get $var0
i32.xor
i32.const 3
i32.and
br_if $label1
block $label3
block $label2
local.get $var0
i32.const 3
i32.and
br_if $label2
local.get $var0
local.set $var2
br $label3
end $label2
block $label4
local.get $var2
i32.const 1
i32.ge_s
br_if $label4
local.get $var0
local.set $var2
br $label3
end $label4
local.get $var0
local.set $var2
loop $label5
local.get $var2
local.get $var1
i32.load8_u
i32.store8
local.get $var1
i32.const 1
i32.add
local.set $var1
local.get $var2
i32.const 1
i32.add
local.tee $var2
i32.const 3
i32.and
i32.eqz
br_if $label3
local.get $var2
local.get $var3
i32.lt_u
br_if $label5
end $label5
end $label3
block $label6
local.get $var3
i32.const -4
i32.and
local.tee $var4
i32.const 64
i32.lt_u
br_if $label6
local.get $var2
local.get $var4
i32.const -64
i32.add
local.tee $var5
i32.gt_u
br_if $label6
loop $label7
local.get $var2
local.get $var1
i32.load
i32.store
local.get $var2
local.get $var1
i32.load offset=4
i32.store offset=4
local.get $var2
local.get $var1
i32.load offset=8
i32.store offset=8
local.get $var2
local.get $var1
i32.load offset=12
i32.store offset=12
local.get $var2
local.get $var1
i32.load offset=16
i32.store offset=16
local.get $var2
local.get $var1
i32.load offset=20
i32.store offset=20
local.get $var2
local.get $var1
i32.load offset=24
i32.store offset=24
local.get $var2
local.get $var1
i32.load offset=28
i32.store offset=28
local.get $var2
local.get $var1
i32.load offset=32
i32.store offset=32
local.get $var2
local.get $var1
i32.load offset=36
i32.store offset=36
local.get $var2
local.get $var1
i32.load offset=40
i32.store offset=40
local.get $var2
local.get $var1
i32.load offset=44
i32.store offset=44
local.get $var2
local.get $var1
i32.load offset=48
i32.store offset=48
local.get $var2
local.get $var1
i32.load offset=52
i32.store offset=52
local.get $var2
local.get $var1
i32.load offset=56
i32.store offset=56
local.get $var2
local.get $var1
i32.load offset=60
i32.store offset=60
local.get $var1
i32.const 64
i32.add
local.set $var1
local.get $var2
i32.const 64
i32.add
local.tee $var2
local.get $var5
i32.le_u
br_if $label7
end $label7
end $label6
local.get $var2
local.get $var4
i32.ge_u
br_if $label8
loop $label9
local.get $var2
local.get $var1
i32.load
i32.store
local.get $var1
i32.const 4
i32.add
local.set $var1
local.get $var2
i32.const 4
i32.add
local.tee $var2
local.get $var4
i32.lt_u
br_if $label9
br $label8
end $label9
unreachable
end $label1
block $label10
local.get $var3
i32.const 4
i32.ge_u
br_if $label10
local.get $var0
local.set $var2
br $label8
end $label10
block $label11
local.get $var3
i32.const -4
i32.add
local.tee $var4
local.get $var0
i32.ge_u
br_if $label11
local.get $var0
local.set $var2
br $label8
end $label11
local.get $var0
local.set $var2
loop $label12
local.get $var2
local.get $var1
i32.load8_u
i32.store8
local.get $var2
local.get $var1
i32.load8_u offset=1
i32.store8 offset=1
local.get $var2
local.get $var1
i32.load8_u offset=2
i32.store8 offset=2
local.get $var2
local.get $var1
i32.load8_u offset=3
i32.store8 offset=3
local.get $var1
i32.const 4
i32.add
local.set $var1
local.get $var2
i32.const 4
i32.add
local.tee $var2
local.get $var4
i32.le_u
br_if $label12
end $label12
end $label8
block $label13
local.get $var2
local.get $var3
i32.ge_u
br_if $label13
loop $label14
local.get $var2
local.get $var1
i32.load8_u
i32.store8
local.get $var1
i32.const 1
i32.add
local.set $var1
local.get $var2
i32.const 1
i32.add
local.tee $var2
local.get $var3
i32.ne
br_if $label14
end $label14
end $label13
local.get $var0
)
(func $func20 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32) (local $var4 i32) (local $var5 i32)
block $label1
block $label0
local.get $var2
i32.load offset=16
local.tee $var3
br_if $label0
i32.const 0
local.set $var4
local.get $var2
call $func18
br_if $label1
local.get $var2
i32.load offset=16
local.set $var3
end $label0
block $label2
local.get $var3
local.get $var2
i32.load offset=20
local.tee $var5
i32.sub
local.get $var1
i32.ge_u
br_if $label2
local.get $var2
local.get $var0
local.get $var1
local.get $var2
i32.load offset=36
call_indirect (param i32 i32 i32) (result i32)
return
end $label2
block $label4
block $label3
local.get $var2
i32.load8_s offset=75
i32.const 0
i32.ge_s
br_if $label3
i32.const 0
local.set $var3
br $label4
end $label3
local.get $var1
local.set $var4
loop $label6
block $label5
local.get $var4
local.tee $var3
br_if $label5
i32.const 0
local.set $var3
br $label4
end $label5
local.get $var0
local.get $var3
i32.const -1
i32.add
local.tee $var4
i32.add
i32.load8_u
i32.const 10
i32.ne
br_if $label6
end $label6
local.get $var2
local.get $var0
local.get $var3
local.get $var2
i32.load offset=36
call_indirect (param i32 i32 i32) (result i32)
local.tee $var4
local.get $var3
i32.lt_u
br_if $label1
local.get $var0
local.get $var3
i32.add
local.set $var0
local.get $var1
local.get $var3
i32.sub
local.set $var1
local.get $var2
i32.load offset=20
local.set $var5
end $label4
local.get $var5
local.get $var0
local.get $var1
call $func19
drop
local.get $var2
local.get $var2
i32.load offset=20
local.get $var1
i32.add
i32.store offset=20
local.get $var3
local.get $var1
i32.add
local.set $var4
end $label1
local.get $var4
)
(func $func21 (result i32)
i32.const 42
)
(func $func22 (result i32)
call $func21
)
(func $func23 (result i32)
i32.const 2868
)
(func $func24
i32.const 0
i32.const 2792
i32.const 40
i32.add
i32.store offset=3036
i32.const 0
call $func22
i32.store offset=2904
)
(func $func25 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32)
i32.const 1
local.set $var3
block $label1
block $label0
local.get $var0
i32.eqz
br_if $label0
local.get $var1
i32.const 127
i32.le_u
br_if $label1
block $label3
block $label2
call $func23
i32.load offset=168
i32.load
br_if $label2
local.get $var1
i32.const -128
i32.and
i32.const 57216
i32.eq
br_if $label1
call $__errno_location
i32.const 25
i32.store
br $label3
end $label2
block $label4
local.get $var1
i32.const 2047
i32.gt_u
br_if $label4
local.get $var0
local.get $var1
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=1
local.get $var0
local.get $var1
i32.const 6
i32.shr_u
i32.const 192
i32.or
i32.store8
i32.const 2
return
end $label4
block $label6
block $label5
local.get $var1
i32.const 55296
i32.lt_u
br_if $label5
local.get $var1
i32.const -8192
i32.and
i32.const 57344
i32.ne
br_if $label6
end $label5
local.get $var0
local.get $var1
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=2
local.get $var0
local.get $var1
i32.const 12
i32.shr_u
i32.const 224
i32.or
i32.store8
local.get $var0
local.get $var1
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 $label6
block $label7
local.get $var1
i32.const -65536
i32.add
i32.const 1048575
i32.gt_u
br_if $label7
local.get $var0
local.get $var1
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=3
local.get $var0
local.get $var1
i32.const 18
i32.shr_u
i32.const 240
i32.or
i32.store8
local.get $var0
local.get $var1
i32.const 6
i32.shr_u
i32.const 63
i32.and
i32.const 128
i32.or
i32.store8 offset=2
local.get $var0
local.get $var1
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 $label7
call $__errno_location
i32.const 25
i32.store
end $label3
i32.const -1
local.set $var3
end $label0
local.get $var3
return
end $label1
local.get $var0
local.get $var1
i32.store8
i32.const 1
)
(func $func26 (param $var0 i32) (param $var1 i32) (result i32)
block $label0
local.get $var0
br_if $label0
i32.const 0
return
end $label0
local.get $var0
local.get $var1
i32.const 0
call $func25
)
(func $func27 (param $var0 f64) (param $var1 i32) (result f64)
(local $var2 i64) (local $var3 i32)
block $label0
local.get $var0
i64.reinterpret_f64
local.tee $var2
i64.const 52
i64.shr_u
i32.wrap_i64
i32.const 2047
i32.and
local.tee $var3
i32.const 2047
i32.eq
br_if $label0
block $label1
local.get $var3
br_if $label1
block $label3
block $label2
local.get $var0
f64.const 0.0
f64.ne
br_if $label2
i32.const 0
local.set $var3
br $label3
end $label2
local.get $var0
f64.const 18446744073709552000
f64.mul
local.get $var1
call $func27
local.set $var0
local.get $var1
i32.load
i32.const -64
i32.add
local.set $var3
end $label3
local.get $var1
local.get $var3
i32.store
local.get $var0
return
end $label1
local.get $var1
local.get $var3
i32.const -1022
i32.add
i32.store
local.get $var2
i64.const -9218868437227405313
i64.and
i64.const 4602678819172646912
i64.or
f64.reinterpret_i64
local.set $var0
end $label0
local.get $var0
)
(func $func28 (param $var0 i32) (param $var1 i64) (param $var2 i64) (param $var3 i32)
(local $var4 i64)
block $label1
block $label0
local.get $var3
i32.const 64
i32.and
i32.eqz
br_if $label0
local.get $var1
local.get $var3
i32.const -64
i32.add
i64.extend_i32_u
i64.shl
local.set $var2
i64.const 0
local.set $var1
br $label1
end $label0
local.get $var3
i32.eqz
br_if $label1
local.get $var1
i32.const 64
local.get $var3
i32.sub
i64.extend_i32_u
i64.shr_u
local.get $var2
local.get $var3
i64.extend_i32_u
local.tee $var4
i64.shl
i64.or
local.set $var2
local.get $var1
local.get $var4
i64.shl
local.set $var1
end $label1
local.get $var0
local.get $var1
i64.store
local.get $var0
local.get $var2
i64.store offset=8
)
(func $func29 (param $var0 i32) (param $var1 i64) (param $var2 i64) (param $var3 i32)
(local $var4 i64)
block $label1
block $label0
local.get $var3
i32.const 64
i32.and
i32.eqz
br_if $label0
local.get $var2
local.get $var3
i32.const -64
i32.add
i64.extend_i32_u
i64.shr_u
local.set $var1
i64.const 0
local.set $var2
br $label1
end $label0
local.get $var3
i32.eqz
br_if $label1
local.get $var2
i32.const 64
local.get $var3
i32.sub
i64.extend_i32_u
i64.shl
local.get $var1
local.get $var3
i64.extend_i32_u
local.tee $var4
i64.shr_u
i64.or
local.set $var1
local.get $var2
local.get $var4
i64.shr_u
local.set $var2
end $label1
local.get $var0
local.get $var1
i64.store
local.get $var0
local.get $var2
i64.store offset=8
)
(func $func30 (param $var0 i64) (param $var1 i64) (result f64)
(local $var2 i32) (local $var3 i32) (local $var4 i64) (local $var5 i64)
global.get $global0
i32.const 32
i32.sub
local.tee $var2
global.set $global0
block $label2
block $label0
local.get $var1
i64.const 9223372036854775807
i64.and
local.tee $var4
i64.const -4323737117252386816
i64.add
local.get $var4
i64.const -4899634919602388992
i64.add
i64.ge_u
br_if $label0
local.get $var0
i64.const 60
i64.shr_u
local.get $var1
i64.const 4
i64.shl
i64.or
local.set $var4
block $label1
local.get $var0
i64.const 1152921504606846975
i64.and
local.tee $var0
i64.const 576460752303423489
i64.lt_u
br_if $label1
local.get $var4
i64.const 4611686018427387905
i64.add
local.set $var5
br $label2
end $label1
local.get $var4
i64.const 4611686018427387904
i64.add
local.set $var5
local.get $var0
i64.const 576460752303423488
i64.xor
i64.const 0
i64.ne
br_if $label2
local.get $var5
local.get $var4
i64.const 1
i64.and
i64.add
local.set $var5
br $label2
end $label0
block $label3
local.get $var0
i64.eqz
local.get $var4
i64.const 9223090561878065152
i64.lt_u
local.get $var4
i64.const 9223090561878065152
i64.eq
select
br_if $label3
local.get $var0
i64.const 60
i64.shr_u
local.get $var1
i64.const 4
i64.shl
i64.or
i64.const 2251799813685247
i64.and
i64.const 9221120237041090560
i64.or
local.set $var5
br $label2
end $label3
i64.const 9218868437227405312
local.set $var5
local.get $var4
i64.const 4899634919602388991
i64.gt_u
br_if $label2
i64.const 0
local.set $var5
local.get $var4
i64.const 48
i64.shr_u
i32.wrap_i64
local.tee $var3
i32.const 15249
i32.lt_u
br_if $label2
local.get $var2
i32.const 16
i32.add
local.get $var0
local.get $var1
i64.const 281474976710655
i64.and
i64.const 281474976710656
i64.or
local.tee $var4
local.get $var3
i32.const -15233
i32.add
call $func28
local.get $var2
local.get $var0
local.get $var4
i32.const 15361
local.get $var3
i32.sub
call $func29
local.get $var2
i64.load
local.tee $var4
i64.const 60
i64.shr_u
local.get $var2
i32.const 8
i32.add
i64.load
i64.const 4
i64.shl
i64.or
local.set $var5
block $label4
local.get $var4
i64.const 1152921504606846975
i64.and
local.get $var2
i64.load offset=16
local.get $var2
i32.const 16
i32.add
i32.const 8
i32.add
i64.load
i64.or
i64.const 0
i64.ne
i64.extend_i32_u
i64.or
local.tee $var4
i64.const 576460752303423489
i64.lt_u
br_if $label4
local.get $var5
i64.const 1
i64.add
local.set $var5
br $label2
end $label4
local.get $var4
i64.const 576460752303423488
i64.xor
i64.const 0
i64.ne
br_if $label2
local.get $var5
i64.const 1
i64.and
local.get $var5
i64.add
local.set $var5
end $label2
local.get $var2
i32.const 32
i32.add
global.set $global0
local.get $var5
local.get $var1
i64.const -9223372036854775808
i64.and
i64.or
f64.reinterpret_i64
)
(func $func31 (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32) (param $var4 i32) (result i32)
(local $var5 i32) (local $var6 i32) (local $var7 i32)
global.get $global0
i32.const 208
i32.sub
local.tee $var5
global.set $global0
local.get $var5
local.get $var2
i32.store offset=204
i32.const 0
local.set $var2
local.get $var5
i32.const 160
i32.add
i32.const 0
i32.const 40
call $func11
drop
local.get $var5
local.get $var5
i32.load offset=204
i32.store offset=200
block $label1
block $label0
i32.const 0
local.get $var1
local.get $var5
i32.const 200
i32.add
local.get $var5
i32.const 80
i32.add
local.get $var5
i32.const 160
i32.add
local.get $var3
local.get $var4
call $func32
i32.const 0
i32.ge_s
br_if $label0
i32.const -1
local.set $var1
br $label1
end $label0
block $label2
local.get $var0
i32.load offset=76
i32.const 0
i32.lt_s
br_if $label2
local.get $var0
call $func45
local.set $var2
end $label2
local.get $var0
i32.load
local.set $var6
block $label3
local.get $var0
i32.load8_s offset=74
i32.const 0
i32.gt_s
br_if $label3
local.get $var0
local.get $var6
i32.const -33
i32.and
i32.store
end $label3
local.get $var6
i32.const 32
i32.and
local.set $var6
block $label5
block $label4
local.get $var0
i32.load offset=48
i32.eqz
br_if $label4
local.get $var0
local.get $var1
local.get $var5
i32.const 200
i32.add
local.get $var5
i32.const 80
i32.add
local.get $var5
i32.const 160
i32.add
local.get $var3
local.get $var4
call $func32
local.set $var1
br $label5
end $label4
local.get $var0
i32.const 80
i32.store offset=48
local.get $var0
local.get $var5
i32.const 80
i32.add
i32.store offset=16
local.get $var0
local.get $var5
i32.store offset=28
local.get $var0
local.get $var5
i32.store offset=20
local.get $var0
i32.load offset=44
local.set $var7
local.get $var0
local.get $var5
i32.store offset=44
local.get $var0
local.get $var1
local.get $var5
i32.const 200
i32.add
local.get $var5
i32.const 80
i32.add
local.get $var5
i32.const 160
i32.add
local.get $var3
local.get $var4
call $func32
local.set $var1
local.get $var7
i32.eqz
br_if $label5
local.get $var0
i32.const 0
i32.const 0
local.get $var0
i32.load offset=36
call_indirect (param i32 i32 i32) (result i32)
drop
local.get $var0
i32.const 0
i32.store offset=48
local.get $var0
local.get $var7
i32.store offset=44
local.get $var0
i32.const 0
i32.store offset=28
local.get $var0
i32.const 0
i32.store offset=16
local.get $var0
i32.load offset=20
local.set $var3
local.get $var0
i32.const 0
i32.store offset=20
local.get $var1
i32.const -1
local.get $var3
select
local.set $var1
end $label5
local.get $var0
local.get $var0
i32.load
local.tee $var3
local.get $var6
i32.or
i32.store
i32.const -1
local.get $var1
local.get $var3
i32.const 32
i32.and
select
local.set $var1
local.get $var2
i32.eqz
br_if $label1
local.get $var0
call $func46
end $label1
local.get $var5
i32.const 208
i32.add
global.set $global0
local.get $var1
)
(func $func32 (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32) (param $var4 i32) (param $var5 i32) (param $var6 i32) (result i32)
(local $var7 i32) (local $var8 i32) (local $var9 i32) (local $var10 i32) (local $var11 i32) (local $var12 i32) (local $var13 i32) (local $var14 i32) (local $var15 i32) (local $var16 i32) (local $var17 i32) (local $var18 i32) (local $var19 i32) (local $var20 i32) (local $var21 i32) (local $var22 i64)
global.get $global0
i32.const 80
i32.sub
local.tee $var7
global.set $global0
local.get $var7
local.get $var1
i32.store offset=76
local.get $var7
i32.const 55
i32.add
local.set $var8
local.get $var7
i32.const 56
i32.add
local.set $var9
i32.const 0
local.set $var10
i32.const 0
local.set $var11
i32.const 0
local.set $var1
block $label24
loop $label8
block $label0
local.get $var11
i32.const 0
i32.lt_s
br_if $label0
block $label1
local.get $var1
i32.const 2147483647
local.get $var11
i32.sub
i32.le_s
br_if $label1
call $__errno_location
i32.const 61
i32.store
i32.const -1
local.set $var11
br $label0
end $label1
local.get $var1
local.get $var11
i32.add
local.set $var11
end $label0
local.get $var7
i32.load offset=76
local.tee $var12
local.set $var1
block $label29
block $label32
block $label45
block $label16
block $label2
local.get $var12
i32.load8_u
local.tee $var13
i32.eqz
br_if $label2
loop $label66
block $label5
block $label4
block $label3
local.get $var13
i32.const 255
i32.and
local.tee $var13
br_if $label3
local.get $var1
local.set $var13
br $label4
end $label3
local.get $var13
i32.const 37
i32.ne
br_if $label5
local.get $var1
local.set $var13
loop $label6
local.get $var1
i32.load8_u offset=1
i32.const 37
i32.ne
br_if $label4
local.get $var7
local.get $var1
i32.const 2
i32.add
local.tee $var14
i32.store offset=76
local.get $var13
i32.const 1
i32.add
local.set $var13
local.get $var1
i32.load8_u offset=2
local.set $var15
local.get $var14
local.set $var1
local.get $var15
i32.const 37
i32.eq
br_if $label6
end $label6
end $label4
local.get $var13
local.get $var12
i32.sub
local.set $var1
block $label7
local.get $var0
i32.eqz
br_if $label7
local.get $var0
local.get $var12
local.get $var1
call $func33
end $label7
local.get $var1
br_if $label8
i32.const -1
local.set $var16
i32.const 1
local.set $var13
local.get $var7
i32.load offset=76
i32.load8_s offset=1
call $func12
local.set $var14
local.get $var7
i32.load offset=76
local.set $var1
block $label9
local.get $var14
i32.eqz
br_if $label9
local.get $var1
i32.load8_u offset=2
i32.const 36
i32.ne
br_if $label9
local.get $var1
i32.load8_s offset=1
i32.const -48
i32.add
local.set $var16
i32.const 1
local.set $var10
i32.const 3
local.set $var13
end $label9
local.get $var7
local.get $var1
local.get $var13
i32.add
local.tee $var1
i32.store offset=76
i32.const 0
local.set $var17
block $label11
block $label10
local.get $var1
i32.load8_s
local.tee $var15
i32.const -32
i32.add
local.tee $var14
i32.const 31
i32.le_u
br_if $label10
local.get $var1
local.set $var13
br $label11
end $label10
i32.const 0
local.set $var17
local.get $var1
local.set $var13
i32.const 1
local.get $var14
i32.shl
local.tee $var14
i32.const 75913
i32.and
i32.eqz
br_if $label11
loop $label12
local.get $var7
local.get $var1
i32.const 1
i32.add
local.tee $var13
i32.store offset=76
local.get $var14
local.get $var17
i32.or
local.set $var17
local.get $var1
i32.load8_s offset=1
local.tee $var15
i32.const -32
i32.add
local.tee $var14
i32.const 32
i32.ge_u
br_if $label11
local.get $var13
local.set $var1
i32.const 1
local.get $var14
i32.shl
local.tee $var14
i32.const 75913
i32.and
br_if $label12
end $label12
end $label11
block $label18
block $label13
local.get $var15
i32.const 42
i32.ne
br_if $label13
block $label15
block $label14
local.get $var13
i32.load8_s offset=1
call $func12
i32.eqz
br_if $label14
local.get $var7
i32.load offset=76
local.tee $var13
i32.load8_u offset=2
i32.const 36
i32.ne
br_if $label14
local.get $var13
i32.load8_s offset=1
i32.const 2
i32.shl
local.get $var4
i32.add
i32.const -192
i32.add
i32.const 10
i32.store
local.get $var13
i32.const 3
i32.add
local.set $var1
local.get $var13
i32.load8_s offset=1
i32.const 3
i32.shl
local.get $var3
i32.add
i32.const -384
i32.add
i32.load
local.set $var18
i32.const 1
local.set $var10
br $label15
end $label14
local.get $var10
br_if $label16
i32.const 0
local.set $var10
i32.const 0
local.set $var18
block $label17
local.get $var0
i32.eqz
br_if $label17
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var1
i32.load
local.set $var18
end $label17
local.get $var7
i32.load offset=76
i32.const 1
i32.add
local.set $var1
end $label15
local.get $var7
local.get $var1
i32.store offset=76
local.get $var18
i32.const -1
i32.gt_s
br_if $label18
i32.const 0
local.get $var18
i32.sub
local.set $var18
local.get $var17
i32.const 8192
i32.or
local.set $var17
br $label18
end $label13
local.get $var7
i32.const 76
i32.add
call $func34
local.tee $var18
i32.const 0
i32.lt_s
br_if $label16
local.get $var7
i32.load offset=76
local.set $var1
end $label18
i32.const -1
local.set $var19
block $label19
local.get $var1
i32.load8_u
i32.const 46
i32.ne
br_if $label19
block $label20
local.get $var1
i32.load8_u offset=1
i32.const 42
i32.ne
br_if $label20
block $label21
local.get $var1
i32.load8_s offset=2
call $func12
i32.eqz
br_if $label21
local.get $var7
i32.load offset=76
local.tee $var1
i32.load8_u offset=3
i32.const 36
i32.ne
br_if $label21
local.get $var1
i32.load8_s offset=2
i32.const 2
i32.shl
local.get $var4
i32.add
i32.const -192
i32.add
i32.const 10
i32.store
local.get $var1
i32.load8_s offset=2
i32.const 3
i32.shl
local.get $var3
i32.add
i32.const -384
i32.add
i32.load
local.set $var19
local.get $var7
local.get $var1
i32.const 4
i32.add
local.tee $var1
i32.store offset=76
br $label19
end $label21
local.get $var10
br_if $label16
block $label23
block $label22
local.get $var0
br_if $label22
i32.const 0
local.set $var19
br $label23
end $label22
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var1
i32.load
local.set $var19
end $label23
local.get $var7
local.get $var7
i32.load offset=76
i32.const 2
i32.add
local.tee $var1
i32.store offset=76
br $label19
end $label20
local.get $var7
local.get $var1
i32.const 1
i32.add
i32.store offset=76
local.get $var7
i32.const 76
i32.add
call $func34
local.set $var19
local.get $var7
i32.load offset=76
local.set $var1
end $label19
i32.const 0
local.set $var13
loop $label25
local.get $var13
local.set $var14
i32.const -1
local.set $var20
local.get $var1
i32.load8_s
i32.const -65
i32.add
i32.const 57
i32.gt_u
br_if $label24
local.get $var7
local.get $var1
i32.const 1
i32.add
local.tee $var15
i32.store offset=76
local.get $var1
i32.load8_s
local.set $var13
local.get $var15
local.set $var1
local.get $var13
local.get $var14
i32.const 58
i32.mul
i32.add
i32.const 1039
i32.add
i32.load8_u
local.tee $var13
i32.const -1
i32.add
i32.const 8
i32.lt_u
br_if $label25
end $label25
block $label30
block $label28
block $label26
local.get $var13
i32.const 19
i32.eq
br_if $label26
local.get $var13
i32.eqz
br_if $label24
block $label27
local.get $var16
i32.const 0
i32.lt_s
br_if $label27
local.get $var4
local.get $var16
i32.const 2
i32.shl
i32.add
local.get $var13
i32.store
local.get $var7
local.get $var3
local.get $var16
i32.const 3
i32.shl
i32.add
i64.load
i64.store offset=64
br $label28
end $label27
local.get $var0
i32.eqz
br_if $label29
local.get $var7
i32.const 64
i32.add
local.get $var13
local.get $var2
local.get $var6
call $func35
local.get $var7
i32.load offset=76
local.set $var15
br $label30
end $label26
i32.const -1
local.set $var20
local.get $var16
i32.const -1
i32.gt_s
br_if $label24
end $label28
i32.const 0
local.set $var1
local.get $var0
i32.eqz
br_if $label8
end $label30
local.get $var17
i32.const -65537
i32.and
local.tee $var21
local.get $var17
local.get $var17
i32.const 8192
i32.and
select
local.set $var13
i32.const 0
local.set $var20
i32.const 1024
local.set $var16
local.get $var9
local.set $var17
block $label34
block $label33
block $label60
block $label59
block $label42
block $label44
block $label39
block $label54
block $label46
block $label35
block $label37
block $label31
block $label38
block $label36
block $label40
block $label41
local.get $var15
i32.const -1
i32.add
i32.load8_s
local.tee $var1
i32.const -33
i32.and
local.get $var1
local.get $var1
i32.const 15
i32.and
i32.const 3
i32.eq
select
local.get $var1
local.get $var14
select
local.tee $var1
i32.const -88
i32.add
br_table $label31 $label32 $label32 $label32 $label32 $label32 $label32 $label32 $label32 $label33 $label32 $label34 $label35 $label33 $label33 $label33 $label32 $label35 $label32 $label32 $label32 $label32 $label36 $label37 $label38 $label32 $label32 $label39 $label32 $label40 $label32 $label32 $label31 $label41
end $label41
local.get $var9
local.set $var17
block $label43
local.get $var1
i32.const -65
i32.add
br_table $label33 $label32 $label42 $label32 $label33 $label33 $label33 $label43
end $label43
local.get $var1
i32.const 83
i32.eq
br_if $label44
br $label45
end $label40
i32.const 0
local.set $var20
i32.const 1024
local.set $var16
local.get $var7
i64.load offset=64
local.set $var22
br $label46
end $label36
i32.const 0
local.set $var1
block $label53
block $label52
block $label51
block $label50
block $label49
block $label48
block $label47
local.get $var14
i32.const 255
i32.and
br_table $label47 $label48 $label49 $label50 $label51 $label8 $label52 $label53 $label8
end $label47
local.get $var7
i32.load offset=64
local.get $var11
i32.store
br $label8
end $label48
local.get $var7
i32.load offset=64
local.get $var11
i32.store
br $label8
end $label49
local.get $var7
i32.load offset=64
local.get $var11
i64.extend_i32_s
i64.store
br $label8
end $label50
local.get $var7
i32.load offset=64
local.get $var11
i32.store16
br $label8
end $label51
local.get $var7
i32.load offset=64
local.get $var11
i32.store8
br $label8
end $label52
local.get $var7
i32.load offset=64
local.get $var11
i32.store
br $label8
end $label53
local.get $var7
i32.load offset=64
local.get $var11
i64.extend_i32_s
i64.store
br $label8
end $label38
local.get $var19
i32.const 8
local.get $var19
i32.const 8
i32.gt_u
select
local.set $var19
local.get $var13
i32.const 8
i32.or
local.set $var13
i32.const 120
local.set $var1
end $label31
local.get $var7
i64.load offset=64
local.get $var9
local.get $var1
i32.const 32
i32.and
call $func36
local.set $var12
i32.const 0
local.set $var20
i32.const 1024
local.set $var16
local.get $var7
i64.load offset=64
i64.eqz
br_if $label54
local.get $var13
i32.const 8
i32.and
i32.eqz
br_if $label54
local.get $var1
i32.const 4
i32.shr_u
i32.const 1024
i32.add
local.set $var16
i32.const 2
local.set $var20
br $label54
end $label37
i32.const 0
local.set $var20
i32.const 1024
local.set $var16
local.get $var7
i64.load offset=64
local.get $var9
call $func37
local.set $var12
local.get $var13
i32.const 8
i32.and
i32.eqz
br_if $label54
local.get $var19
local.get $var9
local.get $var12
i32.sub
local.tee $var1
i32.const 1
i32.add
local.get $var19
local.get $var1
i32.gt_s
select
local.set $var19
br $label54
end $label35
block $label55
local.get $var7
i64.load offset=64
local.tee $var22
i64.const -1
i64.gt_s
br_if $label55
local.get $var7
i64.const 0
local.get $var22
i64.sub
local.tee $var22
i64.store offset=64
i32.const 1
local.set $var20
i32.const 1024
local.set $var16
br $label46
end $label55
block $label56
local.get $var13
i32.const 2048
i32.and
i32.eqz
br_if $label56
i32.const 1
local.set $var20
i32.const 1025
local.set $var16
br $label46
end $label56
i32.const 1026
i32.const 1024
local.get $var13
i32.const 1
i32.and
local.tee $var20
select
local.set $var16
end $label46
local.get $var22
local.get $var9
call $func38
local.set $var12
end $label54
local.get $var13
i32.const -65537
i32.and
local.get $var13
local.get $var19
i32.const -1
i32.gt_s
select
local.set $var13
block $label57
local.get $var7
i64.load offset=64
local.tee $var22
i64.const 0
i64.ne
br_if $label57
local.get $var19
br_if $label57
i32.const 0
local.set $var19
local.get $var9
local.set $var12
br $label45
end $label57
local.get $var19
local.get $var9
local.get $var12
i32.sub
local.get $var22
i64.eqz
i32.add
local.tee $var1
local.get $var19
local.get $var1
i32.gt_s
select
local.set $var19
br $label45
end $label39
i32.const 0
local.set $var20
local.get $var7
i32.load offset=64
local.tee $var1
i32.const 1071
local.get $var1
select
local.tee $var12
i32.const 0
local.get $var19
call $func13
local.tee $var1
local.get $var12
local.get $var19
i32.add
local.get $var1
select
local.set $var17
local.get $var21
local.set $var13
local.get $var1
local.get $var12
i32.sub
local.get $var19
local.get $var1
select
local.set $var19
br $label32
end $label44
block $label58
local.get $var19
i32.eqz
br_if $label58
local.get $var7
i32.load offset=64
local.set $var14
br $label59
end $label58
i32.const 0
local.set $var1
local.get $var0
i32.const 32
local.get $var18
i32.const 0
local.get $var13
call $func39
br $label60
end $label42
local.get $var7
i32.const 0
i32.store offset=12
local.get $var7
local.get $var7
i64.load offset=64
i64.store32 offset=8
local.get $var7
local.get $var7
i32.const 8
i32.add
i32.store offset=64
i32.const -1
local.set $var19
local.get $var7
i32.const 8
i32.add
local.set $var14
end $label59
i32.const 0
local.set $var1
block $label61
loop $label63
local.get $var14
i32.load
local.tee $var15
i32.eqz
br_if $label61
block $label62
local.get $var7
i32.const 4
i32.add
local.get $var15
call $func26
local.tee $var15
i32.const 0
i32.lt_s
local.tee $var12
br_if $label62
local.get $var15
local.get $var19
local.get $var1
i32.sub
i32.gt_u
br_if $label62
local.get $var14
i32.const 4
i32.add
local.set $var14
local.get $var19
local.get $var15
local.get $var1
i32.add
local.tee $var1
i32.gt_u
br_if $label63
br $label61
end $label62
end $label63
i32.const -1
local.set $var20
local.get $var12
br_if $label24
end $label61
local.get $var0
i32.const 32
local.get $var18
local.get $var1
local.get $var13
call $func39
block $label64
local.get $var1
br_if $label64
i32.const 0
local.set $var1
br $label60
end $label64
i32.const 0
local.set $var14
local.get $var7
i32.load offset=64
local.set $var15
loop $label65
local.get $var15
i32.load
local.tee $var12
i32.eqz
br_if $label60
local.get $var7
i32.const 4
i32.add
local.get $var12
call $func26
local.tee $var12
local.get $var14
i32.add
local.tee $var14
local.get $var1
i32.gt_s
br_if $label60
local.get $var0
local.get $var7
i32.const 4
i32.add
local.get $var12
call $func33
local.get $var15
i32.const 4
i32.add
local.set $var15
local.get $var14
local.get $var1
i32.lt_u
br_if $label65
end $label65
end $label60
local.get $var0
i32.const 32
local.get $var18
local.get $var1
local.get $var13
i32.const 8192
i32.xor
call $func39
local.get $var18
local.get $var1
local.get $var18
local.get $var1
i32.gt_s
select
local.set $var1
br $label8
end $label33
local.get $var0
local.get $var7
f64.load offset=64
local.get $var18
local.get $var19
local.get $var13
local.get $var1
local.get $var5
call_indirect (param i32 f64 i32 i32 i32 i32) (result i32)
local.set $var1
br $label8
end $label34
local.get $var7
local.get $var7
i64.load offset=64
i64.store8 offset=55
i32.const 1
local.set $var19
local.get $var8
local.set $var12
local.get $var9
local.set $var17
local.get $var21
local.set $var13
br $label32
end $label5
local.get $var7
local.get $var1
i32.const 1
i32.add
local.tee $var14
i32.store offset=76
local.get $var1
i32.load8_u offset=1
local.set $var13
local.get $var14
local.set $var1
br $label66
end $label66
unreachable
end $label2
local.get $var11
local.set $var20
local.get $var0
br_if $label24
local.get $var10
i32.eqz
br_if $label29
i32.const 1
local.set $var1
block $label67
loop $label68
local.get $var4
local.get $var1
i32.const 2
i32.shl
i32.add
i32.load
local.tee $var13
i32.eqz
br_if $label67
local.get $var3
local.get $var1
i32.const 3
i32.shl
i32.add
local.get $var13
local.get $var2
local.get $var6
call $func35
i32.const 1
local.set $var20
local.get $var1
i32.const 1
i32.add
local.tee $var1
i32.const 10
i32.ne
br_if $label68
br $label24
end $label68
unreachable
end $label67
i32.const 1
local.set $var20
local.get $var1
i32.const 10
i32.ge_u
br_if $label24
loop $label69
local.get $var4
local.get $var1
i32.const 2
i32.shl
i32.add
i32.load
br_if $label16
i32.const 1
local.set $var20
local.get $var1
i32.const 1
i32.add
local.tee $var1
i32.const 10
i32.eq
br_if $label24
br $label69
end $label69
unreachable
end $label16
i32.const -1
local.set $var20
br $label24
end $label45
local.get $var9
local.set $var17
end $label32
local.get $var0
i32.const 32
local.get $var20
local.get $var17
local.get $var12
i32.sub
local.tee $var15
local.get $var19
local.get $var19
local.get $var15
i32.lt_s
select
local.tee $var17
i32.add
local.tee $var14
local.get $var18
local.get $var18
local.get $var14
i32.lt_s
select
local.tee $var1
local.get $var14
local.get $var13
call $func39
local.get $var0
local.get $var16
local.get $var20
call $func33
local.get $var0
i32.const 48
local.get $var1
local.get $var14
local.get $var13
i32.const 65536
i32.xor
call $func39
local.get $var0
i32.const 48
local.get $var17
local.get $var15
i32.const 0
call $func39
local.get $var0
local.get $var12
local.get $var15
call $func33
local.get $var0
i32.const 32
local.get $var1
local.get $var14
local.get $var13
i32.const 8192
i32.xor
call $func39
br $label8
end $label29
end $label8
i32.const 0
local.set $var20
end $label24
local.get $var7
i32.const 80
i32.add
global.set $global0
local.get $var20
)
(func $func33 (param $var0 i32) (param $var1 i32) (param $var2 i32)
block $label0
local.get $var0
i32.load8_u
i32.const 32
i32.and
br_if $label0
local.get $var1
local.get $var2
local.get $var0
call $func20
drop
end $label0
)
(func $func34 (param $var0 i32) (result i32)
(local $var1 i32) (local $var2 i32) (local $var3 i32)
i32.const 0
local.set $var1
block $label0
local.get $var0
i32.load
i32.load8_s
call $func12
i32.eqz
br_if $label0
loop $label1
local.get $var0
i32.load
local.tee $var2
i32.load8_s
local.set $var3
local.get $var0
local.get $var2
i32.const 1
i32.add
i32.store
local.get $var3
local.get $var1
i32.const 10
i32.mul
i32.add
i32.const -48
i32.add
local.set $var1
local.get $var2
i32.load8_s offset=1
call $func12
br_if $label1
end $label1
end $label0
local.get $var1
)
(func $func35 (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32)
block $label0
local.get $var1
i32.const 20
i32.gt_u
br_if $label0
block $label10
block $label9
block $label8
block $label7
block $label6
block $label5
block $label4
block $label3
block $label2
block $label1
local.get $var1
i32.const -9
i32.add
br_table $label1 $label2 $label3 $label4 $label5 $label6 $label7 $label8 $label9 $label10 $label0
end $label1
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i32.load
i32.store
return
end $label2
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i64.load32_s
i64.store
return
end $label3
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i64.load32_u
i64.store
return
end $label4
local.get $var2
local.get $var2
i32.load
i32.const 7
i32.add
i32.const -8
i32.and
local.tee $var1
i32.const 8
i32.add
i32.store
local.get $var0
local.get $var1
i64.load
i64.store
return
end $label5
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i64.load16_s
i64.store
return
end $label6
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i64.load16_u
i64.store
return
end $label7
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i64.load8_s
i64.store
return
end $label8
local.get $var2
local.get $var2
i32.load
local.tee $var1
i32.const 4
i32.add
i32.store
local.get $var0
local.get $var1
i64.load8_u
i64.store
return
end $label9
local.get $var2
local.get $var2
i32.load
i32.const 7
i32.add
i32.const -8
i32.and
local.tee $var1
i32.const 8
i32.add
i32.store
local.get $var0
local.get $var1
f64.load
f64.store
return
end $label10
local.get $var0
local.get $var2
local.get $var3
call_indirect (param i32 i32)
end $label0
)
(func $func36 (param $var0 i64) (param $var1 i32) (param $var2 i32) (result i32)
(local $var3 i32)
block $label0
local.get $var0
i64.eqz
br_if $label0
loop $label1
local.get $var1
i32.const -1
i32.add
local.tee $var1
local.get $var0
i32.wrap_i64
i32.const 15
i32.and
i32.const 1568
i32.add
i32.load8_u
local.get $var2
i32.or
i32.store8
local.get $var0
i64.const 15
i64.gt_u
local.set $var3
local.get $var0
i64.const 4
i64.shr_u
local.set $var0
local.get $var3
br_if $label1
end $label1
end $label0
local.get $var1
)
(func $func37 (param $var0 i64) (param $var1 i32) (result i32)
(local $var2 i32)
block $label0
local.get $var0
i64.eqz
br_if $label0
loop $label1
local.get $var1
i32.const -1
i32.add
local.tee $var1
local.get $var0
i32.wrap_i64
i32.const 7
i32.and
i32.const 48
i32.or
i32.store8
local.get $var0
i64.const 7
i64.gt_u
local.set $var2
local.get $var0
i64.const 3
i64.shr_u
local.set $var0
local.get $var2
br_if $label1
end $label1
end $label0
local.get $var1
)
(func $func38 (param $var0 i64) (param $var1 i32) (result i32)
(local $var2 i64) (local $var3 i32) (local $var4 i32) (local $var5 i32)
block $label1
block $label0
local.get $var0
i64.const 4294967296
i64.ge_u
br_if $label0
local.get $var0
local.set $var2
br $label1
end $label0
loop $label2
local.get $var1
i32.const -1
i32.add
local.tee $var1
local.get $var0
local.get $var0
i64.const 10
i64.div_u
local.tee $var2
i64.const 10
i64.mul
i64.sub
i32.wrap_i64
i32.const 48
i32.or
i32.store8
local.get $var0
i64.const 42949672959
i64.gt_u
local.set $var3
local.get $var2
local.set $var0
local.get $var3
br_if $label2
end $label2
end $label1
block $label3
local.get $var2
i32.wrap_i64
local.tee $var3
i32.eqz
br_if $label3
loop $label4
local.get $var1
i32.const -1
i32.add
local.tee $var1
local.get $var3
local.get $var3
i32.const 10
i32.div_u
local.tee $var4
i32.const 10
i32.mul
i32.sub
i32.const 48
i32.or
i32.store8
local.get $var3
i32.const 9
i32.gt_u
local.set $var5
local.get $var4
local.set $var3
local.get $var5
br_if $label4
end $label4
end $label3
local.get $var1
)
(func $func39 (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32) (param $var4 i32)
(local $var5 i32)
global.get $global0
i32.const 256
i32.sub
local.tee $var5
global.set $global0
block $label0
local.get $var4
i32.const 73728
i32.and
br_if $label0
local.get $var2
local.get $var3
i32.le_s
br_if $label0
local.get $var5
local.get $var1
i32.const 255
i32.and
local.get $var2
local.get $var3
i32.sub
local.tee $var2
i32.const 256
local.get $var2
i32.const 256
i32.lt_u
local.tee $var3
select
call $func11
drop
block $label1
local.get $var3
br_if $label1
loop $label2
local.get $var0
local.get $var5
i32.const 256
call $func33
local.get $var2
i32.const -256
i32.add
local.tee $var2
i32.const 255
i32.gt_u
br_if $label2
end $label2
end $label1
local.get $var0
local.get $var5
local.get $var2
call $func33
end $label0
local.get $var5
i32.const 256
i32.add
global.set $global0
)
(func $func40 (param $var0 i32) (param $var1 i32) (param $var2 i32) (result i32)
local.get $var0
local.get $var1
local.get $var2
i32.const 4
i32.const 5
call $func31
)
(func $func41 (param $var0 i32) (param $var1 f64) (param $var2 i32) (param $var3 i32) (param $var4 i32) (param $var5 i32) (result i32)
(local $var6 i32) (local $var7 i32) (local $var8 i32) (local $var9 i32) (local $var10 i32) (local $var11 i32) (local $var12 i32) (local $var13 i32) (local $var14 i32) (local $var15 i32) (local $var16 i32) (local $var17 i32) (local $var18 i32) (local $var19 i32) (local $var20 i32) (local $var21 i32) (local $var22 i32) (local $var23 i32) (local $var24 i64) (local $var25 i64) (local $var26 f64)
global.get $global0
i32.const 560
i32.sub
local.tee $var6
global.set $global0
i32.const 0
local.set $var7
local.get $var6
i32.const 0
i32.store offset=44
block $label1
block $label0
local.get $var1
call $func43
local.tee $var24
i64.const -1
i64.gt_s
br_if $label0
i32.const 1
local.set $var8
i32.const 1034
local.set $var9
local.get $var1
f64.neg
local.tee $var1
call $func43
local.set $var24
br $label1
end $label0
block $label2
local.get $var4
i32.const 2048
i32.and
i32.eqz
br_if $label2
i32.const 1
local.set $var8
i32.const 1037
local.set $var9
br $label1
end $label2
i32.const 1040
i32.const 1035
local.get $var4
i32.const 1
i32.and
local.tee $var8
select
local.set $var9
local.get $var8
i32.eqz
local.set $var7
end $label1
block $label4
block $label3
local.get $var24
i64.const 9218868437227405312
i64.and
i64.const 9218868437227405312
i64.ne
br_if $label3
local.get $var0
i32.const 32
local.get $var2
local.get $var8
i32.const 3
i32.add
local.tee $var10
local.get $var4
i32.const -65537
i32.and
call $func39
local.get $var0
local.get $var9
local.get $var8
call $func33
local.get $var0
i32.const 1053
i32.const 1061
local.get $var5
i32.const 32
i32.and
local.tee $var11
select
i32.const 1057
i32.const 1065
local.get $var11
select
local.get $var1
local.get $var1
f64.ne
select
i32.const 3
call $func33
local.get $var0
i32.const 32
local.get $var2
local.get $var10
local.get $var4
i32.const 8192
i32.xor
call $func39
br $label4
end $label3
local.get $var6
i32.const 16
i32.add
local.set $var12
block $label7
block $label8
block $label6
block $label5
local.get $var1
local.get $var6
i32.const 44
i32.add
call $func27
local.tee $var1
local.get $var1
f64.add
local.tee $var1
f64.const 0.0
f64.eq
br_if $label5
local.get $var6
local.get $var6
i32.load offset=44
local.tee $var11
i32.const -1
i32.add
i32.store offset=44
local.get $var5
i32.const 32
i32.or
local.tee $var13
i32.const 97
i32.ne
br_if $label6
br $label7
end $label5
local.get $var5
i32.const 32
i32.or
local.tee $var13
i32.const 97
i32.eq
br_if $label7
i32.const 6
local.get $var3
local.get $var3
i32.const 0
i32.lt_s
select
local.set $var14
local.get $var6
i32.load offset=44
local.set $var15
br $label8
end $label6
local.get $var6
local.get $var11
i32.const -29
i32.add
local.tee $var15
i32.store offset=44
i32.const 6
local.get $var3
local.get $var3
i32.const 0
i32.lt_s
select
local.set $var14
local.get $var1
f64.const 268435456
f64.mul
local.set $var1
end $label8
local.get $var6
i32.const 48
i32.add
local.get $var6
i32.const 336
i32.add
local.get $var15
i32.const 0
i32.lt_s
select
local.tee $var16
local.set $var17
loop $label11
block $label10
block $label9
local.get $var1
f64.const 4294967296
f64.lt
local.get $var1
f64.const 0.0
f64.ge
i32.and
i32.eqz
br_if $label9
local.get $var1
i32.trunc_f64_u
local.set $var11
br $label10
end $label9
i32.const 0
local.set $var11
end $label10
local.get $var17
local.get $var11
i32.store
local.get $var17
i32.const 4
i32.add
local.set $var17
local.get $var1
local.get $var11
f64.convert_i32_u
f64.sub
f64.const 1000000000
f64.mul
local.tee $var1
f64.const 0.0
f64.ne
br_if $label11
end $label11
block $label13
block $label12
local.get $var15
i32.const 1
i32.ge_s
br_if $label12
local.get $var15
local.set $var3
local.get $var17
local.set $var11
local.get $var16
local.set $var18
br $label13
end $label12
local.get $var16
local.set $var18
local.get $var15
local.set $var3
loop $label18
local.get $var3
i32.const 29
local.get $var3
i32.const 29
i32.lt_s
select
local.set $var3
block $label14
local.get $var17
i32.const -4
i32.add
local.tee $var11
local.get $var18
i32.lt_u
br_if $label14
local.get $var3
i64.extend_i32_u
local.set $var25
i64.const 0
local.set $var24
loop $label15
local.get $var11
local.get $var11
i64.load32_u
local.get $var25
i64.shl
local.get $var24
i64.const 4294967295
i64.and
i64.add
local.tee $var24
local.get $var24
i64.const 1000000000
i64.div_u
local.tee $var24
i64.const 1000000000
i64.mul
i64.sub
i64.store32
local.get $var11
i32.const -4
i32.add
local.tee $var11
local.get $var18
i32.ge_u
br_if $label15
end $label15
local.get $var24
i32.wrap_i64
local.tee $var11
i32.eqz
br_if $label14
local.get $var18
i32.const -4
i32.add
local.tee $var18
local.get $var11
i32.store
end $label14
block $label16
loop $label17
local.get $var17
local.tee $var11
local.get $var18
i32.le_u
br_if $label16
local.get $var11
i32.const -4
i32.add
local.tee $var17
i32.load
i32.eqz
br_if $label17
end $label17
end $label16
local.get $var6
local.get $var6
i32.load offset=44
local.get $var3
i32.sub
local.tee $var3
i32.store offset=44
local.get $var11
local.set $var17
local.get $var3
i32.const 0
i32.gt_s
br_if $label18
end $label18
end $label13
local.get $var14
i32.const 25
i32.add
i32.const 9
i32.div_s
local.set $var17
block $label19
local.get $var3
i32.const -1
i32.gt_s
br_if $label19
local.get $var17
i32.const 1
i32.add
local.set $var19
local.get $var13
i32.const 102
i32.eq
local.set $var20
loop $label23
i32.const 0
local.get $var3
i32.sub
local.tee $var17
i32.const 9
local.get $var17
i32.const 9
i32.lt_s
select
local.set $var10
block $label22
block $label20
local.get $var18
local.get $var11
i32.ge_u
br_if $label20
i32.const 1000000000
local.get $var10
i32.shr_u
local.set $var21
i32.const -1
local.get $var10
i32.shl
i32.const -1
i32.xor
local.set $var22
i32.const 0
local.set $var3
local.get $var18
local.set $var17
loop $label21
local.get $var17
local.get $var17
i32.load
local.tee $var23
local.get $var10
i32.shr_u
local.get $var3
i32.add
i32.store
local.get $var23
local.get $var22
i32.and
local.get $var21
i32.mul
local.set $var3
local.get $var17
i32.const 4
i32.add
local.tee $var17
local.get $var11
i32.lt_u
br_if $label21
end $label21
local.get $var18
i32.load
local.set $var17
local.get $var3
i32.eqz
br_if $label22
local.get $var11
local.get $var3
i32.store
local.get $var11
i32.const 4
i32.add
local.set $var11
br $label22
end $label20
local.get $var18
i32.load
local.set $var17
end $label22
local.get $var6
local.get $var6
i32.load offset=44
local.get $var10
i32.add
local.tee $var3
i32.store offset=44
local.get $var16
local.get $var18
local.get $var17
i32.eqz
i32.const 2
i32.shl
i32.add
local.tee $var18
local.get $var20
select
local.tee $var17
local.get $var19
i32.const 2
i32.shl
i32.add
local.get $var11
local.get $var11
local.get $var17
i32.sub
i32.const 2
i32.shr_s
local.get $var19
i32.gt_s
select
local.set $var11
local.get $var3
i32.const 0
i32.lt_s
br_if $label23
end $label23
end $label19
i32.const 0
local.set $var17
block $label24
local.get $var18
local.get $var11
i32.ge_u
br_if $label24
local.get $var16
local.get $var18
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set $var17
i32.const 10
local.set $var3
local.get $var18
i32.load
local.tee $var23
i32.const 10
i32.lt_u
br_if $label24
loop $label25
local.get $var17
i32.const 1
i32.add
local.set $var17
local.get $var23
local.get $var3
i32.const 10
i32.mul
local.tee $var3
i32.ge_u
br_if $label25
end $label25
end $label24
block $label26
local.get $var14
i32.const 0
local.get $var17
local.get $var13
i32.const 102
i32.eq
select
i32.sub
local.get $var13
i32.const 103
i32.eq
local.get $var14
i32.const 0
i32.ne
i32.and
i32.sub
local.tee $var3
local.get $var11
local.get $var16
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
i32.const -9
i32.add
i32.ge_s
br_if $label26
local.get $var3
i32.const 9216
i32.add
local.tee $var23
i32.const 9
i32.div_s
local.tee $var21
i32.const 2
i32.shl
local.get $var6
i32.const 48
i32.add
i32.const 4
i32.const 292
local.get $var15
i32.const 0
i32.lt_s
select
i32.add
i32.add
i32.const -4096
i32.add
local.set $var10
i32.const 10
local.set $var3
block $label27
local.get $var23
local.get $var21
i32.const 9
i32.mul
i32.sub
local.tee $var23
i32.const 7
i32.gt_s
br_if $label27
loop $label28
local.get $var3
i32.const 10
i32.mul
local.set $var3
local.get $var23
i32.const 1
i32.add
local.tee $var23
i32.const 8
i32.ne
br_if $label28
end $label28
end $label27
local.get $var10
i32.const 4
i32.add
local.set $var22
block $label30
block $label29
local.get $var10
i32.load
local.tee $var23
local.get $var23
local.get $var3
i32.div_u
local.tee $var19
local.get $var3
i32.mul
i32.sub
local.tee $var21
br_if $label29
local.get $var22
local.get $var11
i32.eq
br_if $label30
end $label29
f64.const 0.5
f64.const 1
f64.const 1.5
local.get $var22
local.get $var11
i32.eq
select
f64.const 1.5
local.get $var21
local.get $var3
i32.const 1
i32.shr_u
local.tee $var22
i32.eq
select
local.get $var21
local.get $var22
i32.lt_u
select
local.set $var26
f64.const 9007199254740994
f64.const 9007199254740992
local.get $var19
i32.const 1
i32.and
select
local.set $var1
block $label31
local.get $var7
br_if $label31
local.get $var9
i32.load8_u
i32.const 45
i32.ne
br_if $label31
local.get $var26
f64.neg
local.set $var26
local.get $var1
f64.neg
local.set $var1
end $label31
local.get $var10
local.get $var23
local.get $var21
i32.sub
local.tee $var23
i32.store
local.get $var1
local.get $var26
f64.add
local.get $var1
f64.eq
br_if $label30
local.get $var10
local.get $var23
local.get $var3
i32.add
local.tee $var17
i32.store
block $label32
local.get $var17
i32.const 1000000000
i32.lt_u
br_if $label32
loop $label34
local.get $var10
i32.const 0
i32.store
block $label33
local.get $var10
i32.const -4
i32.add
local.tee $var10
local.get $var18
i32.ge_u
br_if $label33
local.get $var18
i32.const -4
i32.add
local.tee $var18
i32.const 0
i32.store
end $label33
local.get $var10
local.get $var10
i32.load
i32.const 1
i32.add
local.tee $var17
i32.store
local.get $var17
i32.const 999999999
i32.gt_u
br_if $label34
end $label34
end $label32
local.get $var16
local.get $var18
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set $var17
i32.const 10
local.set $var3
local.get $var18
i32.load
local.tee $var23
i32.const 10
i32.lt_u
br_if $label30
loop $label35
local.get $var17
i32.const 1
i32.add
local.set $var17
local.get $var23
local.get $var3
i32.const 10
i32.mul
local.tee $var3
i32.ge_u
br_if $label35
end $label35
end $label30
local.get $var10
i32.const 4
i32.add
local.tee $var3
local.get $var11
local.get $var11
local.get $var3
i32.gt_u
select
local.set $var11
end $label26
block $label36
loop $label37
local.get $var11
local.tee $var23
local.get $var18
i32.le_u
local.tee $var3
br_if $label36
local.get $var23
i32.const -4
i32.add
local.tee $var11
i32.load
i32.eqz
br_if $label37
end $label37
end $label36
block $label39
block $label38
local.get $var13
i32.const 103
i32.eq
br_if $label38
local.get $var4
i32.const 8
i32.and
local.set $var22
br $label39
end $label38
local.get $var17
i32.const -1
i32.xor
i32.const -1
local.get $var14
i32.const 1
local.get $var14
select
local.tee $var11
local.get $var17
i32.gt_s
local.get $var17
i32.const -5
i32.gt_s
i32.and
local.tee $var10
select
local.get $var11
i32.add
local.set $var14
i32.const -1
i32.const -2
local.get $var10
select
local.get $var5
i32.add
local.set $var5
local.get $var4
i32.const 8
i32.and
local.tee $var22
br_if $label39
i32.const -9
local.set $var11
block $label40
local.get $var3
br_if $label40
local.get $var23
i32.const -4
i32.add
i32.load
local.tee $var10
i32.eqz
br_if $label40
i32.const 10
local.set $var3
i32.const 0
local.set $var11
local.get $var10
i32.const 10
i32.rem_u
br_if $label40
loop $label41
local.get $var11
local.tee $var21
i32.const 1
i32.add
local.set $var11
local.get $var10
local.get $var3
i32.const 10
i32.mul
local.tee $var3
i32.rem_u
i32.eqz
br_if $label41
end $label41
local.get $var21
i32.const -1
i32.xor
local.set $var11
end $label40
local.get $var23
local.get $var16
i32.sub
i32.const 2
i32.shr_s
i32.const 9
i32.mul
local.set $var3
block $label42
local.get $var5
i32.const -33
i32.and
i32.const 70
i32.ne
br_if $label42
i32.const 0
local.set $var22
local.get $var14
local.get $var3
local.get $var11
i32.add
i32.const -9
i32.add
local.tee $var11
i32.const 0
local.get $var11
i32.const 0
i32.gt_s
select
local.tee $var11
local.get $var14
local.get $var11
i32.lt_s
select
local.set $var14
br $label39
end $label42
i32.const 0
local.set $var22
local.get $var14
local.get $var17
local.get $var3
i32.add
local.get $var11
i32.add
i32.const -9
i32.add
local.tee $var11
i32.const 0
local.get $var11
i32.const 0
i32.gt_s
select
local.tee $var11
local.get $var14
local.get $var11
i32.lt_s
select
local.set $var14
end $label39
local.get $var14
local.get $var22
i32.or
i32.const 0
i32.ne
local.set $var19
block $label44
block $label43
local.get $var5
i32.const -33
i32.and
local.tee $var3
i32.const 70
i32.ne
br_if $label43
local.get $var17
i32.const 0
local.get $var17
i32.const 0
i32.gt_s
select
local.set $var11
br $label44
end $label43
block $label45
local.get $var12
local.get $var17
local.get $var17
i32.const 31
i32.shr_s
local.tee $var11
i32.add
local.get $var11
i32.xor
i64.extend_i32_u
local.get $var12
call $func38
local.tee $var11
i32.sub
i32.const 1
i32.gt_s
br_if $label45
loop $label46
local.get $var11
i32.const -1
i32.add
local.tee $var11
i32.const 48
i32.store8
local.get $var12
local.get $var11
i32.sub
i32.const 2
i32.lt_s
br_if $label46
end $label46
end $label45
local.get $var11
i32.const -2
i32.add
local.tee $var20
local.get $var5
i32.store8
local.get $var11
i32.const -1
i32.add
i32.const 45
i32.const 43
local.get $var17
i32.const 0
i32.lt_s
select
i32.store8
local.get $var12
local.get $var20
i32.sub
local.set $var11
end $label44
local.get $var0
i32.const 32
local.get $var2
local.get $var8
local.get $var14
i32.add
local.get $var19
i32.add
local.get $var11
i32.add
i32.const 1
i32.add
local.tee $var10
local.get $var4
call $func39
local.get $var0
local.get $var9
local.get $var8
call $func33
local.get $var0
i32.const 48
local.get $var2
local.get $var10
local.get $var4
i32.const 65536
i32.xor
call $func39
block $label64
block $label52
block $label53
block $label47
local.get $var3
i32.const 70
i32.ne
br_if $label47
local.get $var6
i32.const 16
i32.add
i32.const 8
i32.or
local.set $var21
local.get $var6
i32.const 16
i32.add
i32.const 9
i32.or
local.set $var3
local.get $var16
local.get $var18
local.get $var18
local.get $var16
i32.gt_u
select
local.tee $var18
local.set $var17
loop $label51
local.get $var17
i64.load32_u
local.get $var3
call $func38
local.set $var11
block $label49
block $label48
local.get $var17
local.get $var18
i32.eq
br_if $label48
local.get $var11
local.get $var6
i32.const 16
i32.add
i32.le_u
br_if $label49
loop $label50
local.get $var11
i32.const -1
i32.add
local.tee $var11
i32.const 48
i32.store8
local.get $var11
local.get $var6
i32.const 16
i32.add
i32.gt_u
br_if $label50
br $label49
end $label50
unreachable
end $label48
local.get $var11
local.get $var3
i32.ne
br_if $label49
local.get $var6
i32.const 48
i32.store8 offset=24
local.get $var21
local.set $var11
end $label49
local.get $var0
local.get $var11
local.get $var3
local.get $var11
i32.sub
call $func33
local.get $var17
i32.const 4
i32.add
local.tee $var17
local.get $var16
i32.le_u
br_if $label51
end $label51
i32.const 0
local.set $var11
local.get $var19
i32.eqz
br_if $label52
local.get $var0
i32.const 1069
i32.const 1
call $func33
local.get $var17
local.get $var23
i32.ge_u
br_if $label53
local.get $var14
i32.const 1
i32.lt_s
br_if $label53
loop $label56
block $label54
local.get $var17
i64.load32_u
local.get $var3
call $func38
local.tee $var11
local.get $var6
i32.const 16
i32.add
i32.le_u
br_if $label54
loop $label55
local.get $var11
i32.const -1
i32.add
local.tee $var11
i32.const 48
i32.store8
local.get $var11
local.get $var6
i32.const 16
i32.add
i32.gt_u
br_if $label55
end $label55
end $label54
local.get $var0
local.get $var11
local.get $var14
i32.const 9
local.get $var14
i32.const 9
i32.lt_s
select
call $func33
local.get $var14
i32.const -9
i32.add
local.set $var11
local.get $var17
i32.const 4
i32.add
local.tee $var17
local.get $var23
i32.ge_u
br_if $label52
local.get $var14
i32.const 9
i32.gt_s
local.set $var18
local.get $var11
local.set $var14
local.get $var18
br_if $label56
br $label52
end $label56
unreachable
end $label47
block $label57
local.get $var14
i32.const 0
i32.lt_s
br_if $label57
local.get $var23
local.get $var18
i32.const 4
i32.add
local.get $var23
local.get $var18
i32.gt_u
select
local.set $var21
local.get $var6
i32.const 16
i32.add
i32.const 9
i32.or
local.set $var3
local.get $var6
i32.const 16
i32.add
i32.const 8
i32.or
local.set $var16
local.get $var18
local.set $var17
loop $label63
block $label58
local.get $var17
i64.load32_u
local.get $var3
call $func38
local.tee $var11
local.get $var3
i32.ne
br_if $label58
local.get $var6
i32.const 48
i32.store8 offset=24
local.get $var16
local.set $var11
end $label58
block $label60
block $label59
local.get $var17
local.get $var18
i32.eq
br_if $label59
local.get $var11
local.get $var6
i32.const 16
i32.add
i32.le_u
br_if $label60
loop $label61
local.get $var11
i32.const -1
i32.add
local.tee $var11
i32.const 48
i32.store8
local.get $var11
local.get $var6
i32.const 16
i32.add
i32.gt_u
br_if $label61
br $label60
end $label61
unreachable
end $label59
local.get $var0
local.get $var11
i32.const 1
call $func33
local.get $var11
i32.const 1
i32.add
local.set $var11
block $label62
local.get $var14
i32.const 0
i32.gt_s
br_if $label62
local.get $var22
i32.eqz
br_if $label60
end $label62
local.get $var0
i32.const 1069
i32.const 1
call $func33
end $label60
local.get $var0
local.get $var11
local.get $var3
local.get $var11
i32.sub
local.tee $var23
local.get $var14
local.get $var14
local.get $var23
i32.gt_s
select
call $func33
local.get $var14
local.get $var23
i32.sub
local.set $var14
local.get $var17
i32.const 4
i32.add
local.tee $var17
local.get $var21
i32.ge_u
br_if $label57
local.get $var14
i32.const -1
i32.gt_s
br_if $label63
end $label63
end $label57
local.get $var0
i32.const 48
local.get $var14
i32.const 18
i32.add
i32.const 18
i32.const 0
call $func39
local.get $var0
local.get $var20
local.get $var12
local.get $var20
i32.sub
call $func33
br $label64
end $label53
local.get $var14
local.set $var11
end $label52
local.get $var0
i32.const 48
local.get $var11
i32.const 9
i32.add
i32.const 9
i32.const 0
call $func39
end $label64
local.get $var0
i32.const 32
local.get $var2
local.get $var10
local.get $var4
i32.const 8192
i32.xor
call $func39
br $label4
end $label7
local.get $var9
local.get $var5
i32.const 26
i32.shl
i32.const 31
i32.shr_s
i32.const 9
i32.and
i32.add
local.set $var14
block $label65
local.get $var3
i32.const 11
i32.gt_u
br_if $label65
i32.const 12
local.get $var3
i32.sub
local.set $var11
f64.const 8
local.set $var26
loop $label66
local.get $var26
f64.const 16
f64.mul
local.set $var26
local.get $var11
i32.const -1
i32.add
local.tee $var11
br_if $label66
end $label66
block $label67
local.get $var14
i32.load8_u
i32.const 45
i32.ne
br_if $label67
local.get $var26
local.get $var1
f64.neg
local.get $var26
f64.sub
f64.add
f64.neg
local.set $var1
br $label65
end $label67
local.get $var1
local.get $var26
f64.add
local.get $var26
f64.sub
local.set $var1
end $label65
block $label68
local.get $var6
i32.load offset=44
local.tee $var11
local.get $var11
i32.const 31
i32.shr_s
local.tee $var11
i32.add
local.get $var11
i32.xor
i64.extend_i32_u
local.get $var12
call $func38
local.tee $var11
local.get $var12
i32.ne
br_if $label68
local.get $var6
i32.const 48
i32.store8 offset=15
local.get $var6
i32.const 15
i32.add
local.set $var11
end $label68
local.get $var8
i32.const 2
i32.or
local.set $var22
local.get $var5
i32.const 32
i32.and
local.set $var18
local.get $var6
i32.load offset=44
local.set $var17
local.get $var11
i32.const -2
i32.add
local.tee $var21
local.get $var5
i32.const 15
i32.add
i32.store8
local.get $var11
i32.const -1
i32.add
i32.const 45
i32.const 43
local.get $var17
i32.const 0
i32.lt_s
select
i32.store8
local.get $var4
i32.const 8
i32.and
local.set $var23
local.get $var6
i32.const 16
i32.add
local.set $var17
loop $label73
local.get $var17
local.set $var11
block $label70
block $label69
local.get $var1
f64.abs
f64.const 2147483648
f64.lt
i32.eqz
br_if $label69
local.get $var1
i32.trunc_f64_s
local.set $var17
br $label70
end $label69
i32.const -2147483648
local.set $var17
end $label70
local.get $var11
local.get $var17
i32.const 1568
i32.add
i32.load8_u
local.get $var18
i32.or
i32.store8
local.get $var1
local.get $var17
f64.convert_i32_s
f64.sub
f64.const 16
f64.mul
local.set $var1
block $label71
local.get $var11
i32.const 1
i32.add
local.tee $var17
local.get $var6
i32.const 16
i32.add
i32.sub
i32.const 1
i32.ne
br_if $label71
block $label72
local.get $var1
f64.const 0.0
f64.ne
br_if $label72
local.get $var3
i32.const 0
i32.gt_s
br_if $label72
local.get $var23
i32.eqz
br_if $label71
end $label72
local.get $var11
i32.const 46
i32.store8 offset=1
local.get $var11
i32.const 2
i32.add
local.set $var17
end $label71
local.get $var1
f64.const 0.0
f64.ne
br_if $label73
end $label73
block $label75
block $label74
local.get $var3
i32.eqz
br_if $label74
local.get $var17
local.get $var6
i32.const 16
i32.add
i32.sub
i32.const -2
i32.add
local.get $var3
i32.ge_s
br_if $label74
local.get $var3
local.get $var12
i32.add
local.get $var21
i32.sub
i32.const 2
i32.add
local.set $var11
br $label75
end $label74
local.get $var12
local.get $var6
i32.const 16
i32.add
local.get $var21
i32.add
i32.sub
local.get $var17
i32.add
local.set $var11
end $label75
local.get $var0
i32.const 32
local.get $var2
local.get $var11
local.get $var22
i32.add
local.tee $var10
local.get $var4
call $func39
local.get $var0
local.get $var14
local.get $var22
call $func33
local.get $var0
i32.const 48
local.get $var2
local.get $var10
local.get $var4
i32.const 65536
i32.xor
call $func39
local.get $var0
local.get $var6
i32.const 16
i32.add
local.get $var17
local.get $var6
i32.const 16
i32.add
i32.sub
local.tee $var17
call $func33
local.get $var0
i32.const 48
local.get $var11
local.get $var17
local.get $var12
local.get $var21
i32.sub
local.tee $var18
i32.add
i32.sub
i32.const 0
i32.const 0
call $func39
local.get $var0
local.get $var21
local.get $var18
call $func33
local.get $var0
i32.const 32
local.get $var2
local.get $var10
local.get $var4
i32.const 8192
i32.xor
call $func39
end $label4
local.get $var6
i32.const 560
i32.add
global.set $global0
local.get $var2
local.get $var10
local.get $var10
local.get $var2
i32.lt_s
select
)
(func $func42 (param $var0 i32) (param $var1 i32)
(local $var2 i32)
local.get $var1
local.get $var1
i32.load
i32.const 7
i32.add
i32.const -8
i32.and
local.tee $var2
i32.const 16
i32.add
i32.store
local.get $var0
local.get $var2
i64.load
local.get $var2
i32.const 8
i32.add
i64.load
call $func30
f64.store
)
(func $func43 (param $var0 f64) (result i64)
local.get $var0
i64.reinterpret_f64
)
(func $func44 (param $var0 i32) (param $var1 i32) (result i32)
(local $var2 i32)
global.get $global0
i32.const 16
i32.sub
local.tee $var2
global.set $global0
local.get $var2
local.get $var1
i32.store offset=12
i32.const 0
i32.load offset=1096
local.get $var0
local.get $var1
call $func40
local.set $var1
local.get $var2
i32.const 16
i32.add
global.set $global0
local.get $var1
)
(func $func45 (param $var0 i32) (result i32)
i32.const 1
)
(func $func46 (param $var0 i32)
)
(func $stackSave (;47;) (export "stackSave") (result i32)
global.get $global0
)
(func $stackRestore (;48;) (export "stackRestore") (param $var0 i32)
local.get $var0
global.set $global0
)
(func $stackAlloc (;49;) (export "stackAlloc") (param $var0 i32) (result i32)
(local $var1 i32) (local $var2 i32)
global.get $global0
local.get $var0
i32.sub
i32.const -16
i32.and
local.tee $var1
global.set $global0
local.get $var1
)
(func $emscripten_stack_init (;50;) (export "emscripten_stack_init")
i32.const 5245984
global.set $global2
i32.const 3092
i32.const 15
i32.add
i32.const -16
i32.and
global.set $global1
)
(func $emscripten_stack_get_free (;51;) (export "emscripten_stack_get_free") (result i32)
global.get $global0
global.get $global1
i32.sub
)
(func $emscripten_stack_get_end (;52;) (export "emscripten_stack_get_end") (result i32)
global.get $global1
)
(func $fflush (;53;) (export "fflush") (param $var0 i32) (result i32)
(local $var1 i32) (local $var2 i32)
block $label2
block $label0
local.get $var0
i32.eqz
br_if $label0
block $label1
local.get $var0
i32.load offset=76
i32.const -1
i32.gt_s
br_if $label1
local.get $var0
call $func54
return
end $label1
local.get $var0
call $func45
local.set $var1
local.get $var0
call $func54
local.set $var2
local.get $var1
i32.eqz
br_if $label2
local.get $var0
call $func46
local.get $var2
return
end $label0
i32.const 0
local.set $var2
block $label3
i32.const 0
i32.load offset=1728
i32.eqz
br_if $label3
i32.const 0
i32.load offset=1728
call $fflush
local.set $var2
end $label3
block $label4
call $func16
i32.load
local.tee $var0
i32.eqz
br_if $label4
loop $label8
i32.const 0
local.set $var1
block $label5
local.get $var0
i32.load offset=76
i32.const 0
i32.lt_s
br_if $label5
local.get $var0
call $func45
local.set $var1
end $label5
block $label6
local.get $var0
i32.load offset=20
local.get $var0
i32.load offset=28
i32.le_u
br_if $label6
local.get $var0
call $func54
local.get $var2
i32.or
local.set $var2
end $label6
block $label7
local.get $var1
i32.eqz
br_if $label7
local.get $var0
call $func46
end $label7
local.get $var0
i32.load offset=56
local.tee $var0
br_if $label8
end $label8
end $label4
call $func17
end $label2
local.get $var2
)
(func $func54 (param $var0 i32) (result i32)
(local $var1 i32) (local $var2 i32)
block $label0
local.get $var0
i32.load offset=20
local.get $var0
i32.load offset=28
i32.le_u
br_if $label0
local.get $var0
i32.const 0
i32.const 0
local.get $var0
i32.load offset=36
call_indirect (param i32 i32 i32) (result i32)
drop
local.get $var0
i32.load offset=20
br_if $label0
i32.const -1
return
end $label0
block $label1
local.get $var0
i32.load offset=4
local.tee $var1
local.get $var0
i32.load offset=8
local.tee $var2
i32.ge_u
br_if $label1
local.get $var0
local.get $var1
local.get $var2
i32.sub
i64.extend_i32_s
i32.const 1
local.get $var0
i32.load offset=40
call_indirect (param i32 i64 i32) (result i64)
drop
end $label1
local.get $var0
i32.const 0
i32.store offset=28
local.get $var0
i64.const 0
i64.store offset=16
local.get $var0
i64.const 0
i64.store offset=4 align=4
i32.const 0
)
(func $func55 (param $var0 i32) (param $var1 i32) (param $var2 i64) (param $var3 i32) (result i64)
local.get $var1
local.get $var2
local.get $var3
local.get $var0
call_indirect (param i32 i64 i32) (result i64)
)
(func $dynCall_jiji (;56;) (export "dynCall_jiji") (param $var0 i32) (param $var1 i32) (param $var2 i32) (param $var3 i32) (param $var4 i32) (result i32)
(local $var5 i64)
local.get $var0
local.get $var1
local.get $var2
i64.extend_i32_u
local.get $var3
i64.extend_i32_u
i64.const 32
i64.shl
i64.or
local.get $var4
call $func55
local.set $var5
local.get $var5
i64.const 32
i64.shr_u
i32.wrap_i64
call $env.setTempRet0
local.get $var5
i32.wrap_i64
)
(data (i32.const 1024) "-+ 0X0x\00-0X+0X 0X-0x+0x 0x\00nan\00inf\00NAN\00INF\00.\00(null)\00hello, world!\0a\00\00\00\000\06\00\00\00\00\00\00\11\00\0a\00\11\11\11\00\00\00\00\05\00\00\00\00\00\00\09\00\00\00\00\0b\00\00\00\00\00\00\00\00\11\00\0f\0a\11\11\11\03\0a\07\00\01\00\09\0b\0b\00\00\09\06\0b\00\00\0b\00\06\11\00\00\00\11\11\11\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\00\00\00\00\00\11\00\0a\0a\11\11\11\00\0a\00\00\02\00\09\0b\00\00\00\09\00\0b\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\0c\00\00\00\00\09\0c\00\00\00\00\00\0c\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\0d\00\00\00\04\0d\00\00\00\00\09\0e\00\00\00\00\00\0e\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\00\0f\00\00\00\00\09\10\00\00\00\00\00\10\00\00\10\00\00\12\00\00\00\12\12\12\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\12\12\12\00\00\00\00\00\00\09\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\0a\00\00\00\00\0a\00\00\00\00\09\0b\00\00\00\00\00\0b\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\00\0c\00\00\00\00\09\0c\00\00\00\00\00\0c\00\00\0c\00\000123456789ABCDEF")
(data (i32.const 1584) "\05\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\e8\06\00\00\00\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0a\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\06\00\00")
)
[링크 : https://developer.mozilla.org/ko/docs/WebAssembly/Understanding_the_text_format]
'Programming > wasm' 카테고리의 다른 글
wasm 배열 예제 (0) | 2023.01.31 |
---|---|
wasm interfacing example (0) | 2021.11.25 |
wasm text 와 binary 상호변환 (0) | 2021.10.26 |
emcc wasm 빌드 (0) | 2021.10.25 |
wasm from c, cpp (0) | 2021.10.24 |