Programming/wasm2021. 10. 26. 11:08

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 interfacing example  (0) 2021.11.25
wasm text format  (0) 2021.10.26
wasm text 와 binary 상호변환  (0) 2021.10.26
emcc wasm 빌드  (0) 2021.10.25
wasm from c, cpp  (0) 2021.10.24
wasm  (0) 2021.10.22
Posted by 구차니

댓글을 달아 주세요