(module $md5.wasm
  (type (;0;) (func (param i32 i32)))
  (type (;1;) (func))
  (type (;2;) (func (param i32 i32 i32)))
  (type (;3;) (func (param i32 i32 i32) (result i32)))
  (type (;4;) (func (result i32)))
  (import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
  (func $__wasm_apply_data_relocs (type 1))
  (func $md5_update (type 2) (param i32 i32 i32)
    (local i32 i32 i32 i32 i32 i32 i32 i32)
    local.get 0
    local.get 0
    i32.load offset=64
    local.tee 3
    local.get 2
    i32.const 3
    i32.shl
    i32.add
    local.tee 4
    i32.store offset=64
    local.get 0
    local.get 0
    i32.load offset=68
    local.get 4
    local.get 3
    i32.lt_u
    i32.add
    local.get 2
    i32.const 29
    i32.shr_u
    i32.add
    i32.store offset=68
    block  ;; label = @1
      block  ;; label = @2
        i32.const 64
        local.get 3
        i32.const 3
        i32.shr_u
        i32.const 63
        i32.and
        local.tee 5
        i32.sub
        local.tee 3
        local.get 2
        i32.le_u
        br_if 0 (;@2;)
        i32.const 0
        local.set 3
        br 1 (;@1;)
      end
      i32.const 0
      local.set 4
      i32.const 0
      i32.const 55
      call $__pragma_loopbound
      local.get 3
      i32.const 3
      i32.and
      local.set 6
      block  ;; label = @2
        local.get 5
        i32.const 63
        i32.xor
        i32.const 3
        i32.lt_u
        br_if 0 (;@2;)
        local.get 0
        local.get 5
        i32.add
        local.set 7
        local.get 3
        i32.const 124
        i32.and
        local.set 8
        i32.const 0
        local.set 4
        loop  ;; label = @3
          local.get 7
          local.get 4
          i32.add
          local.tee 9
          i32.const 72
          i32.add
          local.get 1
          local.get 4
          i32.add
          local.tee 10
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 73
          i32.add
          local.get 10
          i32.const 1
          i32.add
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 74
          i32.add
          local.get 10
          i32.const 2
          i32.add
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 75
          i32.add
          local.get 10
          i32.const 3
          i32.add
          i32.load8_u
          i32.store8
          local.get 8
          local.get 4
          i32.const 4
          i32.add
          local.tee 4
          i32.ne
          br_if 0 (;@3;)
        end
      end
      local.get 0
      i32.const 72
      i32.add
      local.set 10
      block  ;; label = @2
        local.get 6
        i32.eqz
        br_if 0 (;@2;)
        local.get 1
        local.get 4
        i32.add
        local.set 9
        local.get 4
        local.get 5
        i32.add
        local.get 0
        i32.add
        i32.const 72
        i32.add
        local.set 4
        loop  ;; label = @3
          local.get 4
          local.get 9
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 1
          i32.add
          local.set 9
          local.get 4
          i32.const 1
          i32.add
          local.set 4
          local.get 6
          i32.const -1
          i32.add
          local.tee 6
          br_if 0 (;@3;)
        end
      end
      local.get 0
      local.get 10
      call $md5_transform
      i32.const 0
      i32.const 0
      call $__pragma_loopbound
      block  ;; label = @2
        local.get 5
        i32.const 127
        i32.xor
        local.get 2
        i32.lt_u
        br_if 0 (;@2;)
        i32.const 0
        local.set 5
        br 1 (;@1;)
      end
      loop  ;; label = @2
        local.get 0
        local.get 1
        local.get 3
        i32.add
        call $md5_transform
        local.get 3
        i32.const 127
        i32.add
        local.set 4
        local.get 3
        i32.const 64
        i32.add
        local.tee 9
        local.set 3
        local.get 4
        local.get 2
        i32.lt_u
        br_if 0 (;@2;)
      end
      i32.const 0
      local.set 5
      local.get 9
      local.set 3
    end
    i32.const 0
    i32.const 55
    call $__pragma_loopbound
    block  ;; label = @1
      local.get 2
      local.get 3
      i32.eq
      br_if 0 (;@1;)
      local.get 2
      local.get 3
      i32.sub
      local.tee 9
      i32.const 3
      i32.and
      local.set 6
      i32.const 0
      local.set 4
      block  ;; label = @2
        local.get 3
        local.get 2
        i32.sub
        i32.const -4
        i32.gt_u
        br_if 0 (;@2;)
        local.get 1
        local.get 3
        i32.add
        local.set 2
        local.get 0
        local.get 5
        i32.add
        local.set 7
        local.get 9
        i32.const -4
        i32.and
        local.set 8
        i32.const 0
        local.set 4
        loop  ;; label = @3
          local.get 7
          local.get 4
          i32.add
          local.tee 9
          i32.const 72
          i32.add
          local.get 2
          local.get 4
          i32.add
          local.tee 10
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 73
          i32.add
          local.get 10
          i32.const 1
          i32.add
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 74
          i32.add
          local.get 10
          i32.const 2
          i32.add
          i32.load8_u
          i32.store8
          local.get 9
          i32.const 75
          i32.add
          local.get 10
          i32.const 3
          i32.add
          i32.load8_u
          i32.store8
          local.get 8
          local.get 4
          i32.const 4
          i32.add
          local.tee 4
          i32.ne
          br_if 0 (;@3;)
        end
      end
      local.get 6
      i32.eqz
      br_if 0 (;@1;)
      local.get 1
      local.get 3
      local.get 4
      i32.add
      i32.add
      local.set 3
      local.get 5
      local.get 4
      i32.add
      local.get 0
      i32.add
      i32.const 72
      i32.add
      local.set 4
      loop  ;; label = @2
        local.get 4
        local.get 3
        i32.load8_u
        i32.store8
        local.get 3
        i32.const 1
        i32.add
        local.set 3
        local.get 4
        i32.const 1
        i32.add
        local.set 4
        local.get 6
        i32.const -1
        i32.add
        local.tee 6
        br_if 0 (;@2;)
      end
    end)
  (func $md5_transform (type 0) (param i32 i32)
    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
    global.get $__stack_pointer
    i32.const 64
    i32.sub
    local.tee 2
    global.set $__stack_pointer
    local.get 0
    i32.load offset=12
    local.set 3
    local.get 0
    i32.load offset=8
    local.set 4
    local.get 0
    i32.load offset=4
    local.set 5
    local.get 0
    i32.load
    local.set 6
    i32.const 16
    i32.const 16
    call $__pragma_loopbound
    i32.const 0
    local.set 7
    loop  ;; label = @1
      local.get 2
      local.get 7
      i32.add
      local.get 1
      local.get 7
      i32.add
      i32.load align=1
      i32.store
      local.get 7
      i32.const 4
      i32.add
      local.tee 7
      i32.const 64
      i32.ne
      br_if 0 (;@1;)
    end
    local.get 0
    local.get 2
    i32.load offset=16
    local.tee 8
    local.get 2
    i32.load offset=32
    local.tee 9
    local.get 2
    i32.load offset=48
    local.tee 10
    local.get 2
    i32.load
    local.tee 11
    local.get 2
    i32.load offset=36
    local.tee 12
    local.get 2
    i32.load offset=52
    local.tee 13
    local.get 2
    i32.load offset=4
    local.tee 14
    local.get 2
    i32.load offset=20
    local.tee 15
    local.get 13
    local.get 12
    local.get 15
    local.get 14
    local.get 10
    local.get 9
    local.get 8
    local.get 11
    local.get 6
    local.get 3
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    local.get 4
    local.get 5
    i32.and
    i32.or
    i32.add
    i32.add
    i32.const -680876936
    i32.add
    i32.const 7
    i32.rotl
    local.get 5
    i32.add
    local.tee 7
    i32.add
    local.get 5
    local.get 2
    i32.load offset=12
    local.tee 6
    i32.add
    local.get 4
    local.get 2
    i32.load offset=8
    local.tee 16
    i32.add
    local.get 3
    local.get 14
    i32.add
    local.get 7
    local.get 5
    i32.and
    local.get 4
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -389564586
    i32.add
    i32.const 12
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 7
    i32.and
    local.get 5
    local.get 1
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 606105819
    i32.add
    i32.const 17
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 1
    i32.and
    local.get 7
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1044525330
    i32.add
    i32.const 22
    i32.rotl
    local.get 5
    i32.add
    local.tee 7
    local.get 5
    i32.and
    local.get 1
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -176418897
    i32.add
    i32.const 7
    i32.rotl
    local.get 7
    i32.add
    local.tee 4
    i32.add
    local.get 2
    i32.load offset=28
    local.tee 3
    local.get 7
    i32.add
    local.get 2
    i32.load offset=24
    local.tee 17
    local.get 5
    i32.add
    local.get 15
    local.get 1
    i32.add
    local.get 4
    local.get 7
    i32.and
    local.get 5
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 1200080426
    i32.add
    i32.const 12
    i32.rotl
    local.get 4
    i32.add
    local.tee 1
    local.get 4
    i32.and
    local.get 7
    local.get 1
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1473231341
    i32.add
    i32.const 17
    i32.rotl
    local.get 1
    i32.add
    local.tee 7
    local.get 1
    i32.and
    local.get 4
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -45705983
    i32.add
    i32.const 22
    i32.rotl
    local.get 7
    i32.add
    local.tee 5
    local.get 7
    i32.and
    local.get 1
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 1770035416
    i32.add
    i32.const 7
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 2
    i32.load offset=44
    local.tee 18
    local.get 5
    i32.add
    local.get 2
    i32.load offset=40
    local.tee 19
    local.get 7
    i32.add
    local.get 12
    local.get 1
    i32.add
    local.get 4
    local.get 5
    i32.and
    local.get 7
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1958414417
    i32.add
    i32.const 12
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 4
    i32.and
    local.get 5
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -42063
    i32.add
    i32.const 17
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 7
    i32.and
    local.get 4
    local.get 1
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1990404162
    i32.add
    i32.const 22
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 1
    i32.and
    local.get 7
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 1804603682
    i32.add
    i32.const 7
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 2
    i32.load offset=60
    local.tee 20
    local.get 5
    i32.add
    local.get 2
    i32.load offset=56
    local.tee 21
    local.get 1
    i32.add
    local.get 13
    local.get 7
    i32.add
    local.get 4
    local.get 5
    i32.and
    local.get 1
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -40341101
    i32.add
    i32.const 12
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 4
    i32.and
    local.get 5
    local.get 7
    i32.const -1
    i32.xor
    local.tee 22
    i32.and
    i32.or
    i32.add
    i32.const -1502002290
    i32.add
    i32.const 17
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 7
    i32.and
    local.get 4
    local.get 1
    i32.const -1
    i32.xor
    local.tee 23
    i32.and
    i32.or
    i32.add
    i32.const 1236535329
    i32.add
    i32.const 22
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.and
    local.get 1
    local.get 22
    i32.and
    i32.or
    i32.add
    i32.const -165796510
    i32.add
    i32.const 5
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 11
    local.get 5
    i32.add
    local.get 18
    local.get 1
    i32.add
    local.get 17
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.and
    local.get 5
    local.get 23
    i32.and
    i32.or
    i32.add
    i32.const -1069501632
    i32.add
    i32.const 9
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.and
    local.get 4
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 643717713
    i32.add
    i32.const 14
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 4
    i32.and
    local.get 7
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -373897302
    i32.add
    i32.const 20
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.and
    local.get 1
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -701558691
    i32.add
    i32.const 5
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 8
    local.get 5
    i32.add
    local.get 20
    local.get 1
    i32.add
    local.get 19
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.and
    local.get 5
    local.get 1
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 38016083
    i32.add
    i32.const 9
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.and
    local.get 4
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -660478335
    i32.add
    i32.const 14
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 4
    i32.and
    local.get 7
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -405537848
    i32.add
    i32.const 20
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.and
    local.get 1
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 568446438
    i32.add
    i32.const 5
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 9
    local.get 5
    i32.add
    local.get 6
    local.get 1
    i32.add
    local.get 21
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.and
    local.get 5
    local.get 1
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1019803690
    i32.add
    i32.const 9
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.and
    local.get 4
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -187363961
    i32.add
    i32.const 14
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 4
    i32.and
    local.get 7
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 1163531501
    i32.add
    i32.const 20
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.and
    local.get 1
    local.get 7
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1444681467
    i32.add
    i32.const 5
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 10
    local.get 5
    i32.add
    local.get 3
    local.get 1
    i32.add
    local.get 16
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.and
    local.get 5
    local.get 1
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -51403784
    i32.add
    i32.const 9
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.and
    local.get 4
    local.get 5
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const 1735328473
    i32.add
    i32.const 14
    i32.rotl
    local.get 7
    i32.add
    local.tee 5
    local.get 4
    i32.and
    local.get 7
    local.get 4
    i32.const -1
    i32.xor
    i32.and
    i32.or
    i32.add
    i32.const -1926607734
    i32.add
    i32.const 20
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    local.get 5
    i32.xor
    local.tee 22
    local.get 7
    i32.xor
    i32.add
    i32.const -378558
    i32.add
    i32.const 4
    i32.rotl
    local.get 4
    i32.add
    local.tee 1
    i32.add
    local.get 18
    local.get 5
    i32.add
    local.get 1
    local.get 4
    i32.xor
    local.get 9
    local.get 7
    i32.add
    local.get 22
    local.get 1
    i32.xor
    i32.add
    i32.const -2022574463
    i32.add
    i32.const 11
    i32.rotl
    local.get 1
    i32.add
    local.tee 7
    i32.xor
    i32.add
    i32.const 1839030562
    i32.add
    i32.const 16
    i32.rotl
    local.get 7
    i32.add
    local.tee 5
    local.get 7
    i32.xor
    local.get 21
    local.get 4
    i32.add
    local.get 7
    local.get 1
    i32.xor
    local.get 5
    i32.xor
    i32.add
    i32.const -35309556
    i32.add
    i32.const 23
    i32.rotl
    local.get 5
    i32.add
    local.tee 1
    i32.xor
    i32.add
    i32.const -1530992060
    i32.add
    i32.const 4
    i32.rotl
    local.get 1
    i32.add
    local.tee 4
    i32.add
    local.get 3
    local.get 5
    i32.add
    local.get 4
    local.get 1
    i32.xor
    local.get 8
    local.get 7
    i32.add
    local.get 1
    local.get 5
    i32.xor
    local.get 4
    i32.xor
    i32.add
    i32.const 1272893353
    i32.add
    i32.const 11
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    i32.xor
    i32.add
    i32.const -155497632
    i32.add
    i32.const 16
    i32.rotl
    local.get 7
    i32.add
    local.tee 5
    local.get 7
    i32.xor
    local.get 19
    local.get 1
    i32.add
    local.get 7
    local.get 4
    i32.xor
    local.get 5
    i32.xor
    i32.add
    i32.const -1094730640
    i32.add
    i32.const 23
    i32.rotl
    local.get 5
    i32.add
    local.tee 1
    i32.xor
    i32.add
    i32.const 681279174
    i32.add
    i32.const 4
    i32.rotl
    local.get 1
    i32.add
    local.tee 4
    i32.add
    local.get 6
    local.get 5
    i32.add
    local.get 4
    local.get 1
    i32.xor
    local.get 11
    local.get 7
    i32.add
    local.get 1
    local.get 5
    i32.xor
    local.get 4
    i32.xor
    i32.add
    i32.const -358537222
    i32.add
    i32.const 11
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    i32.xor
    i32.add
    i32.const -722521979
    i32.add
    i32.const 16
    i32.rotl
    local.get 7
    i32.add
    local.tee 5
    local.get 7
    i32.xor
    local.get 17
    local.get 1
    i32.add
    local.get 7
    local.get 4
    i32.xor
    local.get 5
    i32.xor
    i32.add
    i32.const 76029189
    i32.add
    i32.const 23
    i32.rotl
    local.get 5
    i32.add
    local.tee 1
    i32.xor
    i32.add
    i32.const -640364487
    i32.add
    i32.const 4
    i32.rotl
    local.get 1
    i32.add
    local.tee 4
    i32.add
    local.get 16
    local.get 1
    i32.add
    local.get 10
    local.get 7
    i32.add
    local.get 1
    local.get 5
    i32.xor
    local.get 4
    i32.xor
    i32.add
    i32.const -421815835
    i32.add
    i32.const 11
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 4
    i32.xor
    local.get 20
    local.get 5
    i32.add
    local.get 4
    local.get 1
    i32.xor
    local.get 7
    i32.xor
    i32.add
    i32.const 530742520
    i32.add
    i32.const 16
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    i32.xor
    i32.add
    i32.const -995338651
    i32.add
    i32.const 23
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.const -1
    i32.xor
    i32.or
    local.get 1
    i32.xor
    i32.add
    i32.const -198630844
    i32.add
    i32.const 6
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 15
    local.get 5
    i32.add
    local.get 21
    local.get 1
    i32.add
    local.get 3
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.const -1
    i32.xor
    i32.or
    local.get 5
    i32.xor
    i32.add
    i32.const 1126891415
    i32.add
    i32.const 10
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.const -1
    i32.xor
    i32.or
    local.get 4
    i32.xor
    i32.add
    i32.const -1416354905
    i32.add
    i32.const 15
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 4
    i32.const -1
    i32.xor
    i32.or
    local.get 7
    i32.xor
    i32.add
    i32.const -57434055
    i32.add
    i32.const 21
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.const -1
    i32.xor
    i32.or
    local.get 1
    i32.xor
    i32.add
    i32.const 1700485571
    i32.add
    i32.const 6
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 14
    local.get 5
    i32.add
    local.get 19
    local.get 1
    i32.add
    local.get 6
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.const -1
    i32.xor
    i32.or
    local.get 5
    i32.xor
    i32.add
    i32.const -1894986606
    i32.add
    i32.const 10
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.const -1
    i32.xor
    i32.or
    local.get 4
    i32.xor
    i32.add
    i32.const -1051523
    i32.add
    i32.const 15
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 4
    i32.const -1
    i32.xor
    i32.or
    local.get 7
    i32.xor
    i32.add
    i32.const -2054922799
    i32.add
    i32.const 21
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.const -1
    i32.xor
    i32.or
    local.get 1
    i32.xor
    i32.add
    i32.const 1873313359
    i32.add
    i32.const 6
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    i32.add
    local.get 13
    local.get 5
    i32.add
    local.get 17
    local.get 1
    i32.add
    local.get 20
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.const -1
    i32.xor
    i32.or
    local.get 5
    i32.xor
    i32.add
    i32.const -30611744
    i32.add
    i32.const 10
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 5
    i32.const -1
    i32.xor
    i32.or
    local.get 4
    i32.xor
    i32.add
    i32.const -1560198380
    i32.add
    i32.const 15
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 4
    i32.const -1
    i32.xor
    i32.or
    local.get 7
    i32.xor
    i32.add
    i32.const 1309151649
    i32.add
    i32.const 21
    i32.rotl
    local.get 1
    i32.add
    local.tee 5
    local.get 7
    i32.const -1
    i32.xor
    i32.or
    local.get 1
    i32.xor
    i32.add
    i32.const -145523070
    i32.add
    i32.const 6
    i32.rotl
    local.get 5
    i32.add
    local.tee 4
    local.get 0
    i32.load
    i32.add
    i32.store
    local.get 0
    local.get 18
    local.get 7
    i32.add
    local.get 4
    local.get 1
    i32.const -1
    i32.xor
    i32.or
    local.get 5
    i32.xor
    i32.add
    i32.const -1120210379
    i32.add
    i32.const 10
    i32.rotl
    local.get 4
    i32.add
    local.tee 7
    local.get 0
    i32.load offset=12
    i32.add
    i32.store offset=12
    local.get 0
    local.get 16
    local.get 1
    i32.add
    local.get 7
    local.get 5
    i32.const -1
    i32.xor
    i32.or
    local.get 4
    i32.xor
    i32.add
    i32.const 718787259
    i32.add
    i32.const 15
    i32.rotl
    local.get 7
    i32.add
    local.tee 1
    local.get 0
    i32.load offset=8
    i32.add
    i32.store offset=8
    local.get 0
    local.get 1
    local.get 0
    i32.load offset=4
    i32.add
    local.get 12
    local.get 5
    i32.add
    local.get 1
    local.get 4
    i32.const -1
    i32.xor
    i32.or
    local.get 7
    i32.xor
    i32.add
    i32.const -343485551
    i32.add
    i32.const 21
    i32.rotl
    i32.add
    i32.store offset=4
    i32.const 128
    i32.const 208
    call $__pragma_loopbound
    local.get 2
    i32.const 64
    i32.add
    global.set $__stack_pointer)
  (func $md5_final (type 0) (param i32 i32)
    (local i32 i32 i32 i32)
    global.get $__stack_pointer
    i32.const 16
    i32.sub
    local.tee 2
    global.set $__stack_pointer
    i32.const 2
    i32.const 16
    call $__pragma_loopbound
    local.get 2
    local.get 1
    i32.load offset=64
    local.tee 3
    i32.store offset=8 align=1
    local.get 2
    local.get 1
    i32.load offset=68
    i32.store offset=12 align=1
    local.get 1
    i32.const 1024
    i32.const 56
    i32.const 120
    local.get 3
    i32.const 3
    i32.shr_u
    i32.const 63
    i32.and
    local.tee 3
    i32.const 56
    i32.lt_u
    select
    local.get 3
    i32.sub
    call $md5_update
    local.get 1
    local.get 2
    i32.const 8
    i32.add
    i32.const 8
    call $md5_update
    i32.const 2
    i32.const 16
    call $__pragma_loopbound
    i32.const 0
    local.set 3
    loop  ;; label = @1
      local.get 0
      local.get 3
      i32.add
      local.tee 4
      local.get 1
      local.get 3
      i32.add
      local.tee 5
      i32.load
      i32.store8
      local.get 4
      i32.const 1
      i32.add
      local.get 5
      i32.load
      i32.const 8
      i32.shr_u
      i32.store8
      local.get 4
      i32.const 2
      i32.add
      local.get 5
      i32.load16_u offset=2
      i32.store8
      local.get 4
      i32.const 3
      i32.add
      local.get 5
      i32.load8_u offset=3
      i32.store8
      local.get 3
      i32.const 4
      i32.add
      local.tee 3
      i32.const 64
      i32.ne
      br_if 0 (;@1;)
    end
    i32.const 128
    i32.const 208
    call $__pragma_loopbound
    i32.const -136
    local.set 3
    loop  ;; label = @1
      local.get 1
      local.get 3
      i32.add
      i32.const 136
      i32.add
      i64.const 0
      i64.store align=1
      local.get 3
      i32.const 8
      i32.add
      local.tee 3
      br_if 0 (;@1;)
    end
    local.get 2
    i32.const 16
    i32.add
    global.set $__stack_pointer)
  (func $md5_R_RandomUpdate (type 3) (param i32 i32 i32) (result i32)
    (local i32)
    global.get $__stack_pointer
    i32.const 208
    i32.sub
    local.tee 3
    global.set $__stack_pointer
    local.get 3
    i64.const 0
    i64.store offset=136 align=4
    local.get 3
    i64.const 0
    i64.store offset=128 align=4
    local.get 3
    i64.const 0
    i64.store offset=120 align=4
    local.get 3
    i64.const 0
    i64.store offset=112 align=4
    local.get 3
    i64.const 0
    i64.store offset=104 align=4
    local.get 3
    i64.const 0
    i64.store offset=96 align=4
    local.get 3
    i64.const 0
    i64.store offset=88 align=4
    local.get 3
    i64.const 1167088121787636990
    i64.store offset=80 align=4
    local.get 3
    i64.const -1167088121787636991
    i64.store offset=72 align=4
    local.get 3
    i32.const 72
    i32.add
    local.get 1
    local.get 2
    call $md5_update
    local.get 3
    local.get 3
    i32.const 72
    i32.add
    call $md5_final
    i32.const 16
    i32.const 16
    call $__pragma_loopbound
    local.get 0
    local.get 0
    i32.load8_u offset=19
    local.get 3
    i32.load8_u offset=15
    i32.add
    local.tee 1
    i32.store8 offset=19
    local.get 0
    local.get 1
    i32.const 255
    i32.and
    local.get 1
    i32.ne
    local.get 0
    i32.load8_u offset=18
    i32.add
    local.get 3
    i32.load8_u offset=14
    i32.add
    local.tee 1
    i32.store8 offset=18
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=17
    i32.add
    local.get 3
    i32.load8_u offset=13
    i32.add
    local.tee 1
    i32.store8 offset=17
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=16
    i32.add
    local.get 3
    i32.load8_u offset=12
    i32.add
    local.tee 1
    i32.store8 offset=16
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=15
    i32.add
    local.get 3
    i32.load8_u offset=11
    i32.add
    local.tee 1
    i32.store8 offset=15
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=14
    i32.add
    local.get 3
    i32.load8_u offset=10
    i32.add
    local.tee 1
    i32.store8 offset=14
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=13
    i32.add
    local.get 3
    i32.load8_u offset=9
    i32.add
    local.tee 1
    i32.store8 offset=13
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=12
    i32.add
    local.get 3
    i32.load8_u offset=8
    i32.add
    local.tee 1
    i32.store8 offset=12
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=11
    i32.add
    local.get 3
    i32.load8_u offset=7
    i32.add
    local.tee 1
    i32.store8 offset=11
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=10
    i32.add
    local.get 3
    i32.load8_u offset=6
    i32.add
    local.tee 1
    i32.store8 offset=10
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=9
    i32.add
    local.get 3
    i32.load8_u offset=5
    i32.add
    local.tee 1
    i32.store8 offset=9
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=8
    i32.add
    local.get 3
    i32.load8_u offset=4
    i32.add
    local.tee 1
    i32.store8 offset=8
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=7
    i32.add
    local.get 3
    i32.load8_u offset=3
    i32.add
    local.tee 1
    i32.store8 offset=7
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=6
    i32.add
    local.get 3
    i32.load8_u offset=2
    i32.add
    local.tee 1
    i32.store8 offset=6
    local.get 0
    local.get 1
    i32.const 8
    i32.shr_u
    local.get 0
    i32.load8_u offset=5
    i32.add
    local.get 3
    i32.load8_u offset=1
    i32.add
    local.tee 1
    i32.store8 offset=5
    local.get 0
    local.get 0
    i32.load8_u offset=4
    local.get 1
    i32.const 8
    i32.shr_u
    i32.add
    local.get 3
    i32.load8_u
    i32.add
    i32.store8 offset=4
    local.get 0
    i32.const 0
    local.get 0
    i32.load
    local.tee 1
    local.get 2
    i32.sub
    local.tee 2
    local.get 2
    local.get 1
    i32.gt_u
    select
    i32.store
    i32.const 16
    i32.const 64
    call $__pragma_loopbound
    local.get 3
    i32.const 208
    i32.add
    global.set $__stack_pointer
    i32.const 0)
  (func $md5_main (type 1)
    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
    global.get $__stack_pointer
    i32.const 192
    i32.sub
    local.tee 0
    global.set $__stack_pointer
    local.get 0
    i32.const 256
    i32.store offset=8
    i32.const 16
    i32.const 64
    call $__pragma_loopbound
    local.get 0
    i32.const 0
    i32.store offset=28
    local.get 0
    i64.const 0
    i64.store offset=20 align=4
    local.get 0
    i64.const 0
    i64.store offset=12 align=4
    i32.const 256
    i32.const 256
    call $__pragma_loopbound
    loop  ;; label = @1
      local.get 0
      i32.const 8
      i32.add
      i32.const 1088
      i32.const 1
      call $md5_R_RandomUpdate
      drop
      local.get 0
      i32.load offset=8
      br_if 0 (;@1;)
    end
    i32.const 10
    i32.const 10
    call $__pragma_loopbound
    local.get 0
    i32.const 48
    i32.add
    i32.const 72
    i32.add
    local.set 1
    i32.const 0
    local.set 2
    loop  ;; label = @1
      i32.const 16
      i32.const 64
      call $__pragma_loopbound
      i32.const 256
      local.set 3
      i32.const 256
      i32.const 256
      call $__pragma_loopbound
      loop  ;; label = @2
        local.get 0
        i64.const 0
        i64.store offset=104 align=4
        local.get 0
        i64.const 0
        i64.store offset=96 align=4
        local.get 0
        i64.const 0
        i64.store offset=88 align=4
        local.get 0
        i64.const 0
        i64.store offset=80 align=4
        local.get 0
        i64.const 0
        i64.store offset=72 align=4
        local.get 0
        i64.const 0
        i64.store offset=64 align=4
        local.get 0
        i64.const 1167088121787636990
        i64.store offset=56 align=4
        local.get 0
        i64.const -1167088121787636991
        i64.store offset=48 align=4
        i32.const 0
        local.set 4
        i32.const 0
        i32.const 55
        call $__pragma_loopbound
        local.get 0
        i32.const 0
        i32.load8_u offset=1088
        i32.store8 offset=120
        i32.const 2
        i32.const 16
        call $__pragma_loopbound
        local.get 0
        i64.const 448
        i64.store offset=112 align=4
        local.get 0
        i64.const 8
        i64.store offset=184 align=1
        i32.const 0
        i32.const 55
        call $__pragma_loopbound
        local.get 0
        i32.const 0
        i32.load8_u offset=1024
        i32.store8 offset=121
        local.get 0
        i32.const 0
        i32.load offset=1025 align=1
        i32.store offset=122 align=2
        local.get 0
        i32.const 0
        i64.load offset=1029 align=1
        i64.store offset=126 align=2
        local.get 0
        i32.const 0
        i64.load offset=1037 align=1
        i64.store offset=134 align=2
        local.get 0
        i32.const 0
        i64.load offset=1045 align=1
        i64.store offset=142 align=2
        local.get 0
        i32.const 0
        i64.load offset=1053 align=1
        i64.store offset=150 align=2
        local.get 0
        i32.const 0
        i32.load offset=1061 align=1
        i32.store offset=158 align=2
        local.get 0
        i32.const 0
        i32.load16_u offset=1065 align=1
        i32.store16 offset=162
        local.get 0
        i32.const 0
        i32.load8_u offset=1067
        i32.store8 offset=164
        local.get 0
        i32.const 0
        i32.load8_u offset=1068
        i32.store8 offset=165
        local.get 0
        i32.const 0
        i64.load offset=1069 align=1
        i64.store offset=166 align=2
        local.get 0
        i32.const 0
        i32.load16_u offset=1077 align=1
        i32.store16 offset=174
        local.get 0
        local.get 0
        i32.load offset=112
        local.tee 5
        i32.const 64
        i32.add
        i32.store offset=112
        local.get 0
        local.get 0
        i32.load offset=116
        local.get 5
        i32.const -65
        i32.gt_u
        i32.add
        i32.store offset=116
        block  ;; label = @3
          local.get 5
          i32.const 3
          i32.shr_u
          i32.const 63
          i32.and
          local.tee 6
          i32.const 56
          i32.lt_u
          br_if 0 (;@3;)
          i32.const 0
          i32.const 55
          call $__pragma_loopbound
          local.get 1
          local.get 6
          i32.add
          local.tee 5
          local.get 0
          i32.load8_u offset=184
          i32.store8
          block  ;; label = @4
            local.get 6
            i32.const 63
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=185
            i32.store8 offset=1
            local.get 6
            i32.const 62
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=186
            i32.store8 offset=2
            local.get 6
            i32.const 61
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=187
            i32.store8 offset=3
            local.get 6
            i32.const 60
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=188
            i32.store8 offset=4
            local.get 6
            i32.const 59
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=189
            i32.store8 offset=5
            local.get 6
            i32.const 58
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=190
            i32.store8 offset=6
            local.get 6
            i32.const 57
            i32.eq
            br_if 0 (;@4;)
            local.get 5
            local.get 0
            i32.load8_u offset=191
            i32.store8 offset=7
          end
          i32.const 64
          local.get 6
          i32.sub
          local.set 4
          local.get 0
          i32.const 48
          i32.add
          local.get 1
          call $md5_transform
          i32.const 0
          local.set 6
          i32.const 0
          i32.const 0
          call $__pragma_loopbound
        end
        i32.const 0
        i32.const 55
        call $__pragma_loopbound
        block  ;; label = @3
          local.get 4
          i32.const 8
          i32.eq
          br_if 0 (;@3;)
          i32.const 8
          local.get 4
          i32.sub
          local.tee 7
          i32.const 3
          i32.and
          local.set 8
          i32.const 0
          local.set 5
          block  ;; label = @4
            local.get 4
            i32.const -5
            i32.add
            i32.const 3
            i32.lt_u
            br_if 0 (;@4;)
            local.get 0
            i32.const 184
            i32.add
            local.get 4
            i32.add
            local.set 9
            local.get 7
            i32.const -4
            i32.and
            local.set 7
            local.get 0
            i32.const 48
            i32.add
            local.get 6
            i32.add
            local.set 10
            i32.const 0
            local.set 5
            loop  ;; label = @5
              local.get 10
              local.get 5
              i32.add
              i32.const 72
              i32.add
              local.get 9
              local.get 5
              i32.add
              i32.load align=1
              i32.store align=1
              local.get 7
              local.get 5
              i32.const 4
              i32.add
              local.tee 5
              i32.ne
              br_if 0 (;@5;)
            end
          end
          local.get 8
          i32.eqz
          br_if 0 (;@3;)
          local.get 1
          local.get 6
          local.get 5
          i32.add
          i32.add
          local.set 9
          local.get 0
          i32.const 184
          i32.add
          local.get 5
          local.get 4
          i32.add
          i32.add
          local.set 5
          loop  ;; label = @4
            local.get 9
            local.get 5
            i32.load8_u
            i32.store8
            local.get 5
            i32.const 1
            i32.add
            local.set 5
            local.get 9
            i32.const 1
            i32.add
            local.set 9
            local.get 8
            i32.const -1
            i32.add
            local.tee 8
            br_if 0 (;@4;)
          end
        end
        i32.const 2
        i32.const 16
        call $__pragma_loopbound
        i32.const 128
        i32.const 208
        call $__pragma_loopbound
        i32.const 0
        local.set 5
        loop  ;; label = @3
          local.get 0
          i32.const 48
          i32.add
          local.get 5
          i32.add
          i64.const 0
          i64.store align=4
          local.get 5
          i32.const 8
          i32.add
          local.tee 5
          i32.const 136
          i32.ne
          br_if 0 (;@3;)
        end
        i32.const 16
        i32.const 16
        call $__pragma_loopbound
        i32.const 16
        i32.const 64
        call $__pragma_loopbound
        local.get 3
        i32.const 2
        i32.lt_u
        local.set 5
        local.get 3
        i32.const -1
        i32.add
        local.set 3
        local.get 5
        i32.eqz
        br_if 0 (;@2;)
      end
      local.get 2
      i32.const 1
      i32.add
      local.tee 2
      i32.const 10
      i32.ne
      br_if 0 (;@1;)
    end
    i32.const 0
    local.get 0
    i32.load offset=8
    i32.store offset=1092
    local.get 0
    i32.const 192
    i32.add
    global.set $__stack_pointer)
  (func $__original_main (type 4) (result i32)
    call $md5_main
    i32.const 0
    i32.load offset=1092)
  (table (;0;) 1 1 funcref)
  (memory (;0;) 1)
  (global $__stack_pointer (mut i32) (i32.const 5200))
  (global (;1;) i32 (i32.const 1096))
  (global (;2;) i32 (i32.const 5200))
  (export "memory" (memory 0))
  (export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
  (export "entrypoint" (func $md5_main))
  (export "main" (func $__original_main))
  (export "__data_end" (global 1))
  (export "__heap_base" (global 2))
  (data $.data (i32.const 1024) "\80\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"))
