Metrics
total
 [exports]      : 1       
 [funcs]        : 1       
 [globals]      : 0       
 [imports]      : 10      
 [memories]     : 0       
 [memory-data]  : 0       
 [table-data]   : 0       
 [tables]       : 0       
 [tags]         : 0       
 [total]        : 1953    
 [vars]         : 9       
 Binary         : 238     
 Block          : 68      
 Break          : 90      
 Call           : 22      
 CallIndirect   : 1       
 Const          : 174     
 Drop           : 8       
 If             : 27      
 Load           : 311     
 LocalGet       : 629     
 LocalSet       : 180     
 Loop           : 3       
 Return         : 3       
 Select         : 11      
 Store          : 159     
 Unary          : 29      
(module
 (type $0 (func (param i32 i32 i32) (result i32)))
 (type $2 (func (param i32 i32) (result i32)))
 (type $3 (func (param i32 i32 i32 i32)))
 (type $10 (func (param i32)))
 (import "env" "memory" (memory $108 4096 4096))
 (import "env" "table" (table $timport$109 10 funcref))
 (import "env" "crc32" (func $fimport$14 (param i32 i32 i32) (result i32)))
 (import "env" "adler32" (func $fimport$15 (param i32 i32 i32) (result i32)))
 (import "env" "deflate_huff" (func $fimport$20 (param i32 i32) (result i32)))
 (import "env" "deflate_rle" (func $fimport$21 (param i32 i32) (result i32)))
 (import "env" "_tr_stored_block" (func $fimport$29 (param i32 i32 i32 i32)))
 (import "env" "_tr_align" (func $fimport$30 (param i32)))
 (import "env" "memset" (func $fimport$97 (param i32 i32 i32) (result i32)))
 (import "env" "memcpy" (func $fimport$98 (param i32 i32 i32) (result i32)))
 (export "deflate" (func $0))
 (func $0 (param $0 i32) (param $1 i32) (result i32)
  (local $2 i32)
  (local $3 i32)
  (local $4 i32)
  (local $5 i32)
  (local $6 i32)
  (local $7 i32)
  (local $8 i32)
  (local $9 i32)
  (local $10 i32)
  (local.set $3
   (i32.const -2)
  )
  (block $folding-inner1
   (block $folding-inner0
    (block $label$1
     (br_if $label$1
      (i32.eqz
       (local.get $0)
      )
     )
     (br_if $label$1
      (i32.gt_u
       (local.get $1)
       (i32.const 5)
      )
     )
     (br_if $label$1
      (i32.eqz
       (local.tee $2
        (i32.load offset=28
         (local.get $0)
        )
       )
      )
     )
     (block $label$2
      (block $label$3
       (br_if $label$3
        (i32.eqz
         (i32.load offset=12
          (local.get $0)
         )
        )
       )
       (if
        (i32.eqz
         (i32.load
          (local.get $0)
         )
        )
        (then
         (br_if $label$3
          (i32.load offset=4
           (local.get $0)
          )
         )
        )
       )
       (local.set $3
        (i32.load offset=4
         (local.get $2)
        )
       )
       (br_if $label$2
        (i32.eq
         (local.get $1)
         (i32.const 4)
        )
       )
       (br_if $label$2
        (i32.ne
         (local.get $3)
         (i32.const 666)
        )
       )
      )
      (i32.store offset=24
       (local.get $0)
       (i32.load
        (i32.const 16992)
       )
      )
      (return
       (i32.const -2)
      )
     )
     (if
      (i32.eqz
       (i32.load offset=16
        (local.get $0)
       )
      )
      (then
       (br $folding-inner0)
      )
     )
     (i32.store
      (local.get $2)
      (local.get $0)
     )
     (local.set $7
      (i32.load offset=40
       (local.get $2)
      )
     )
     (i32.store offset=40
      (local.get $2)
      (local.get $1)
     )
     (block $label$6
      (block $label$7
       (block $label$8
        (block $label$9
         (block $label$10
          (block $label$11
           (block $label$12
            (block $label$13
             (block $label$14
              (block $label$15
               (block $label$16
                (if
                 (i32.eq
                  (local.get $3)
                  (i32.const 42)
                 )
                 (then
                  (if
                   (i32.eq
                    (i32.load offset=24
                     (local.get $2)
                    )
                    (i32.const 2)
                   )
                   (then
                    (i32.store offset=48
                     (local.get $0)
                     (call $fimport$14
                      (i32.const 0)
                      (i32.const 0)
                      (i32.const 0)
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $3
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $3)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.const 31)
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $3
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $3)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.const 139)
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $3
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $3)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.const 8)
                    )
                    (if
                     (i32.eqz
                      (local.tee $3
                       (i32.load offset=28
                        (local.get $2)
                       )
                      )
                     )
                     (then
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $3
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $3)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (i32.const 0)
                      )
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $3
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $3)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (i32.const 0)
                      )
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $3
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $3)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (i32.const 0)
                      )
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $3
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $3)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (i32.const 0)
                      )
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $3
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $3)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (i32.const 0)
                      )
                      (local.set $3
                       (i32.const 2)
                      )
                      (if
                       (i32.ne
                        (local.tee $4
                         (i32.load offset=132
                          (local.get $2)
                         )
                        )
                        (i32.const 9)
                       )
                       (then
                        (local.set $3
                         (select
                          (i32.const 4)
                          (i32.shl
                           (i32.gt_s
                            (i32.load offset=136
                             (local.get $2)
                            )
                            (i32.const 1)
                           )
                           (i32.const 2)
                          )
                          (i32.lt_s
                           (local.get $4)
                           (i32.const 2)
                          )
                         )
                        )
                       )
                      )
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $4
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $4)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (local.get $3)
                      )
                      (i32.store offset=20
                       (local.get $2)
                       (i32.add
                        (local.tee $3
                         (i32.load offset=20
                          (local.get $2)
                         )
                        )
                        (i32.const 1)
                       )
                      )
                      (i32.store8
                       (i32.add
                        (local.get $3)
                        (i32.load offset=8
                         (local.get $2)
                        )
                       )
                       (i32.const 3)
                      )
                      (i32.store offset=4
                       (local.get $2)
                       (i32.const 113)
                      )
                      (br $label$6)
                     )
                    )
                    (local.set $4
                     (i32.load offset=36
                      (local.get $3)
                     )
                    )
                    (local.set $5
                     (i32.load offset=28
                      (local.get $3)
                     )
                    )
                    (local.set $6
                     (i32.load offset=16
                      (local.get $3)
                     )
                    )
                    (local.set $8
                     (i32.load offset=44
                      (local.get $3)
                     )
                    )
                    (local.set $9
                     (i32.load
                      (local.get $3)
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $10
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (local.set $3
                     (i32.const 2)
                    )
                    (i32.store8
                     (i32.add
                      (local.get $10)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.or
                      (i32.or
                       (i32.or
                        (i32.or
                         (i32.shl
                          (i32.ne
                           (local.get $8)
                           (i32.const 0)
                          )
                          (i32.const 1)
                         )
                         (i32.ne
                          (local.get $9)
                          (i32.const 0)
                         )
                        )
                        (i32.shl
                         (i32.ne
                          (local.get $6)
                          (i32.const 0)
                         )
                         (i32.const 2)
                        )
                       )
                       (i32.shl
                        (i32.ne
                         (local.get $5)
                         (i32.const 0)
                        )
                        (i32.const 3)
                       )
                      )
                      (i32.shl
                       (i32.ne
                        (local.get $4)
                        (i32.const 0)
                       )
                       (i32.const 4)
                      )
                     )
                    )
                    (local.set $4
                     (i32.load offset=4
                      (i32.load offset=28
                       (local.get $2)
                      )
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $5
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $5)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (local.get $4)
                    )
                    (local.set $4
                     (i32.load offset=4
                      (i32.load offset=28
                       (local.get $2)
                      )
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $5
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $5)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.shr_u
                      (local.get $4)
                      (i32.const 8)
                     )
                    )
                    (local.set $4
                     (i32.load16_u offset=6
                      (i32.load offset=28
                       (local.get $2)
                      )
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $5
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $5)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (local.get $4)
                    )
                    (local.set $4
                     (i32.load8_u offset=7
                      (i32.load offset=28
                       (local.get $2)
                      )
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $5
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $5)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (local.get $4)
                    )
                    (if
                     (i32.ne
                      (local.tee $4
                       (i32.load offset=132
                        (local.get $2)
                       )
                      )
                      (i32.const 9)
                     )
                     (then
                      (local.set $3
                       (select
                        (i32.const 4)
                        (i32.shl
                         (i32.gt_s
                          (i32.load offset=136
                           (local.get $2)
                          )
                          (i32.const 1)
                         )
                         (i32.const 2)
                        )
                        (i32.lt_s
                         (local.get $4)
                         (i32.const 2)
                        )
                       )
                      )
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $4
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $4)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (local.get $3)
                    )
                    (local.set $3
                     (i32.load offset=12
                      (i32.load offset=28
                       (local.get $2)
                      )
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $4
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $4)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (local.get $3)
                    )
                    (if
                     (i32.load offset=44
                      (if (result i32)
                       (i32.load offset=16
                        (local.tee $3
                         (i32.load offset=28
                          (local.get $2)
                         )
                        )
                       )
                       (then
                        (local.set $3
                         (i32.load offset=20
                          (local.get $3)
                         )
                        )
                        (i32.store offset=20
                         (local.get $2)
                         (i32.add
                          (local.tee $4
                           (i32.load offset=20
                            (local.get $2)
                           )
                          )
                          (i32.const 1)
                         )
                        )
                        (i32.store8
                         (i32.add
                          (local.get $4)
                          (i32.load offset=8
                           (local.get $2)
                          )
                         )
                         (local.get $3)
                        )
                        (local.set $3
                         (i32.load offset=20
                          (i32.load offset=28
                           (local.get $2)
                          )
                         )
                        )
                        (i32.store offset=20
                         (local.get $2)
                         (i32.add
                          (local.tee $4
                           (i32.load offset=20
                            (local.get $2)
                           )
                          )
                          (i32.const 1)
                         )
                        )
                        (i32.store8
                         (i32.add
                          (local.get $4)
                          (i32.load offset=8
                           (local.get $2)
                          )
                         )
                         (i32.shr_u
                          (local.get $3)
                          (i32.const 8)
                         )
                        )
                        (i32.load offset=28
                         (local.get $2)
                        )
                       )
                       (else
                        (local.get $3)
                       )
                      )
                     )
                     (then
                      (i32.store offset=48
                       (local.get $0)
                       (call $fimport$14
                        (i32.load offset=48
                         (local.get $0)
                        )
                        (i32.load offset=8
                         (local.get $2)
                        )
                        (i32.load offset=20
                         (local.get $2)
                        )
                       )
                      )
                     )
                    )
                    (i32.store offset=4
                     (local.get $2)
                     (i32.const 69)
                    )
                    (i32.store offset=32
                     (local.get $2)
                     (i32.const 0)
                    )
                    (br $label$16)
                   )
                  )
                  (local.set $5
                   (i32.sub
                    (i32.shl
                     (i32.load offset=48
                      (local.get $2)
                     )
                     (i32.const 12)
                    )
                    (i32.const 30720)
                   )
                  )
                  (local.set $3
                   (i32.const 0)
                  )
                  (block $label$24
                   (br_if $label$24
                    (i32.gt_s
                     (i32.load offset=136
                      (local.get $2)
                     )
                     (i32.const 1)
                    )
                   )
                   (br_if $label$24
                    (i32.lt_s
                     (local.tee $4
                      (i32.load offset=132
                       (local.get $2)
                      )
                     )
                     (i32.const 2)
                    )
                   )
                   (local.set $3
                    (i32.const 64)
                   )
                   (br_if $label$24
                    (i32.lt_s
                     (local.get $4)
                     (i32.const 6)
                    )
                   )
                   (local.set $3
                    (select
                     (i32.const 128)
                     (i32.const 192)
                     (i32.eq
                      (local.get $4)
                      (i32.const 6)
                     )
                    )
                   )
                  )
                  (i32.store offset=4
                   (local.get $2)
                   (i32.const 113)
                  )
                  (i32.store offset=20
                   (local.get $2)
                   (i32.add
                    (local.tee $4
                     (i32.load offset=20
                      (local.get $2)
                     )
                    )
                    (i32.const 1)
                   )
                  )
                  (i32.store8
                   (i32.add
                    (local.get $4)
                    (i32.load offset=8
                     (local.get $2)
                    )
                   )
                   (i32.shr_u
                    (local.tee $3
                     (select
                      (i32.or
                       (local.tee $3
                        (i32.or
                         (local.get $3)
                         (local.get $5)
                        )
                       )
                       (i32.const 32)
                      )
                      (local.get $3)
                      (i32.load offset=108
                       (local.get $2)
                      )
                     )
                    )
                    (i32.const 8)
                   )
                  )
                  (i32.store offset=20
                   (local.get $2)
                   (i32.add
                    (local.tee $4
                     (i32.load offset=20
                      (local.get $2)
                     )
                    )
                    (i32.const 1)
                   )
                  )
                  (i32.store8
                   (i32.add
                    (local.get $4)
                    (i32.load offset=8
                     (local.get $2)
                    )
                   )
                   (i32.xor
                    (i32.or
                     (i32.rem_u
                      (local.get $3)
                      (i32.const 31)
                     )
                     (local.get $3)
                    )
                    (i32.const 31)
                   )
                  )
                  (if
                   (i32.load offset=108
                    (local.get $2)
                   )
                   (then
                    (local.set $3
                     (i32.load offset=48
                      (local.get $0)
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $4
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $4)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.shr_u
                      (local.get $3)
                      (i32.const 24)
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $4
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $4)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.shr_u
                      (local.get $3)
                      (i32.const 16)
                     )
                    )
                    (local.set $3
                     (i32.load offset=48
                      (local.get $0)
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $4
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $4)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (i32.shr_u
                      (local.get $3)
                      (i32.const 8)
                     )
                    )
                    (i32.store offset=20
                     (local.get $2)
                     (i32.add
                      (local.tee $4
                       (i32.load offset=20
                        (local.get $2)
                       )
                      )
                      (i32.const 1)
                     )
                    )
                    (i32.store8
                     (i32.add
                      (local.get $4)
                      (i32.load offset=8
                       (local.get $2)
                      )
                     )
                     (local.get $3)
                    )
                   )
                  )
                  (i32.store offset=48
                   (local.get $0)
                   (call $fimport$15
                    (i32.const 0)
                    (i32.const 0)
                    (i32.const 0)
                   )
                  )
                  (local.set $3
                   (i32.load offset=4
                    (local.get $2)
                   )
                  )
                 )
                )
                (br_if $label$15
                 (i32.ne
                  (local.get $3)
                  (i32.const 69)
                 )
                )
               )
               (block $label$26
                (if
                 (i32.load offset=16
                  (local.tee $5
                   (i32.load offset=28
                    (local.get $2)
                   )
                  )
                 )
                 (then
                  (local.set $3
                   (i32.load offset=20
                    (local.get $2)
                   )
                  )
                  (br_if $label$26
                   (i32.ge_u
                    (local.tee $6
                     (i32.load offset=32
                      (local.get $2)
                     )
                    )
                    (i32.load16_u offset=20
                     (local.get $5)
                    )
                   )
                  )
                  (local.set $4
                   (local.get $3)
                  )
                  (loop $label$28
                   (if
                    (i32.eq
                     (i32.load offset=12
                      (local.get $2)
                     )
                     (local.get $3)
                    )
                    (then
                     (block $label$30
                      (br_if $label$30
                       (i32.le_u
                        (local.get $3)
                        (local.get $4)
                       )
                      )
                      (br_if $label$30
                       (i32.eqz
                        (i32.load offset=44
                         (local.get $5)
                        )
                       )
                      )
                      (i32.store offset=48
                       (local.get $0)
                       (call $fimport$14
                        (i32.load offset=48
                         (local.get $0)
                        )
                        (i32.add
                         (i32.load offset=8
                          (local.get $2)
                         )
                         (local.get $4)
                        )
                        (i32.sub
                         (local.get $3)
                         (local.get $4)
                        )
                       )
                      )
                     )
                     (block $label$31
                      (br_if $label$31
                       (i32.eqz
                        (local.tee $3
                         (select
                          (local.tee $3
                           (i32.load offset=16
                            (local.get $0)
                           )
                          )
                          (local.tee $5
                           (i32.load offset=20
                            (local.tee $4
                             (i32.load offset=28
                              (local.get $0)
                             )
                            )
                           )
                          )
                          (i32.lt_u
                           (local.get $3)
                           (local.get $5)
                          )
                         )
                        )
                       )
                      )
                      (drop
                       (call $fimport$98
                        (i32.load offset=12
                         (local.get $0)
                        )
                        (i32.load offset=16
                         (local.get $4)
                        )
                        (local.get $3)
                       )
                      )
                      (i32.store offset=12
                       (local.get $0)
                       (i32.add
                        (i32.load offset=12
                         (local.get $0)
                        )
                        (local.get $3)
                       )
                      )
                      (i32.store offset=16
                       (local.tee $4
                        (i32.load offset=28
                         (local.get $0)
                        )
                       )
                       (i32.add
                        (i32.load offset=16
                         (local.get $4)
                        )
                        (local.get $3)
                       )
                      )
                      (i32.store offset=20
                       (local.get $0)
                       (i32.add
                        (i32.load offset=20
                         (local.get $0)
                        )
                        (local.get $3)
                       )
                      )
                      (i32.store offset=16
                       (local.get $0)
                       (i32.sub
                        (i32.load offset=16
                         (local.get $0)
                        )
                        (local.get $3)
                       )
                      )
                      (i32.store offset=20
                       (local.get $4)
                       (local.tee $3
                        (i32.sub
                         (i32.load offset=20
                          (local.get $4)
                         )
                         (local.get $3)
                        )
                       )
                      )
                      (br_if $label$31
                       (local.get $3)
                      )
                      (i32.store offset=16
                       (local.get $4)
                       (i32.load offset=8
                        (local.get $4)
                       )
                      )
                     )
                     (local.set $5
                      (i32.load offset=28
                       (local.get $2)
                      )
                     )
                     (br_if $label$26
                      (i32.eq
                       (local.tee $3
                        (i32.load offset=20
                         (local.get $2)
                        )
                       )
                       (i32.load offset=12
                        (local.get $2)
                       )
                      )
                     )
                     (local.set $6
                      (i32.load offset=32
                       (local.get $2)
                      )
                     )
                     (local.set $4
                      (local.get $3)
                     )
                    )
                   )
                   (local.set $5
                    (i32.load8_u
                     (i32.add
                      (i32.load offset=16
                       (local.get $5)
                      )
                      (local.get $6)
                     )
                    )
                   )
                   (i32.store offset=20
                    (local.get $2)
                    (i32.add
                     (local.get $3)
                     (i32.const 1)
                    )
                   )
                   (i32.store8
                    (i32.add
                     (i32.load offset=8
                      (local.get $2)
                     )
                     (local.get $3)
                    )
                    (local.get $5)
                   )
                   (i32.store offset=32
                    (local.get $2)
                    (local.tee $6
                     (i32.add
                      (i32.load offset=32
                       (local.get $2)
                      )
                      (i32.const 1)
                     )
                    )
                   )
                   (if
                    (i32.le_u
                     (i32.load16_u offset=20
                      (local.tee $5
                       (i32.load offset=28
                        (local.get $2)
                       )
                      )
                     )
                     (local.get $6)
                    )
                    (then
                     (local.set $3
                      (local.get $4)
                     )
                     (br $label$26)
                    )
                    (else
                     (local.set $3
                      (i32.load offset=20
                       (local.get $2)
                      )
                     )
                     (br $label$28)
                    )
                   )
                  )
                 )
                )
                (i32.store offset=4
                 (local.get $2)
                 (i32.const 73)
                )
                (br $label$14)
               )
               (block $label$33
                (br_if $label$33
                 (i32.eqz
                  (i32.load offset=44
                   (local.get $5)
                  )
                 )
                )
                (br_if $label$33
                 (i32.le_u
                  (local.tee $4
                   (i32.load offset=20
                    (local.get $2)
                   )
                  )
                  (local.get $3)
                 )
                )
                (i32.store offset=48
                 (local.get $0)
                 (call $fimport$14
                  (i32.load offset=48
                   (local.get $0)
                  )
                  (i32.add
                   (i32.load offset=8
                    (local.get $2)
                   )
                   (local.get $3)
                  )
                  (i32.sub
                   (local.get $4)
                   (local.get $3)
                  )
                 )
                )
                (local.set $5
                 (i32.load offset=28
                  (local.get $2)
                 )
                )
               )
               (if
                (i32.eq
                 (i32.load offset=32
                  (local.get $2)
                 )
                 (i32.load offset=20
                  (local.get $5)
                 )
                )
                (then
                 (i32.store offset=4
                  (local.get $2)
                  (i32.const 73)
                 )
                 (i32.store offset=32
                  (local.get $2)
                  (i32.const 0)
                 )
                 (br $label$14)
                )
               )
               (local.set $3
                (i32.load offset=4
                 (local.get $2)
                )
               )
              )
              (br_if $label$13
               (i32.ne
                (local.get $3)
                (i32.const 73)
               )
              )
              (local.set $5
               (i32.load offset=28
                (local.get $2)
               )
              )
             )
             (br_if $label$11
              (i32.eqz
               (i32.load offset=28
                (local.get $5)
               )
              )
             )
             (local.set $4
              (local.tee $3
               (i32.load offset=20
                (local.get $2)
               )
              )
             )
             (local.set $5
              (block $label$35 (result i32)
               (loop $label$37
                (block $label$36
                 (if
                  (i32.eq
                   (i32.load offset=12
                    (local.get $2)
                   )
                   (local.get $3)
                  )
                  (then
                   (block $label$39
                    (br_if $label$39
                     (i32.le_u
                      (local.get $3)
                      (local.get $4)
                     )
                    )
                    (br_if $label$39
                     (i32.eqz
                      (i32.load offset=44
                       (i32.load offset=28
                        (local.get $2)
                       )
                      )
                     )
                    )
                    (i32.store offset=48
                     (local.get $0)
                     (call $fimport$14
                      (i32.load offset=48
                       (local.get $0)
                      )
                      (i32.add
                       (i32.load offset=8
                        (local.get $2)
                       )
                       (local.get $4)
                      )
                      (i32.sub
                       (local.get $3)
                       (local.get $4)
                      )
                     )
                    )
                   )
                   (block $label$40
                    (br_if $label$40
                     (i32.eqz
                      (local.tee $3
                       (select
                        (local.tee $3
                         (i32.load offset=16
                          (local.get $0)
                         )
                        )
                        (local.tee $5
                         (i32.load offset=20
                          (local.tee $4
                           (i32.load offset=28
                            (local.get $0)
                           )
                          )
                         )
                        )
                        (i32.lt_u
                         (local.get $3)
                         (local.get $5)
                        )
                       )
                      )
                     )
                    )
                    (drop
                     (call $fimport$98
                      (i32.load offset=12
                       (local.get $0)
                      )
                      (i32.load offset=16
                       (local.get $4)
                      )
                      (local.get $3)
                     )
                    )
                    (i32.store offset=12
                     (local.get $0)
                     (i32.add
                      (i32.load offset=12
                       (local.get $0)
                      )
                      (local.get $3)
                     )
                    )
                    (i32.store offset=16
                     (local.tee $4
                      (i32.load offset=28
                       (local.get $0)
                      )
                     )
                     (i32.add
                      (i32.load offset=16
                       (local.get $4)
                      )
                      (local.get $3)
                     )
                    )
                    (i32.store offset=20
                     (local.get $0)
                     (i32.add
                      (i32.load offset=20
                       (local.get $0)
                      )
                      (local.get $3)
                     )
                    )
                    (i32.store offset=16
                     (local.get $0)
                     (i32.sub
                      (i32.load offset=16
                       (local.get $0)
                      )
                      (local.get $3)
                     )
                    )
                    (i32.store offset=20
                     (local.get $4)
                     (local.tee $3
                      (i32.sub
                       (i32.load offset=20
                        (local.get $4)
                       )
                       (local.get $3)
                      )
                     )
                    )
                    (br_if $label$40
                     (local.get $3)
                    )
                    (i32.store offset=16
                     (local.get $4)
                     (i32.load offset=8
                      (local.get $4)
                     )
                    )
                   )
                   (br_if $label$36
                    (i32.eq
                     (local.tee $3
                      (i32.load offset=20
                       (local.get $2)
                      )
                     )
                     (i32.load offset=12
                      (local.get $2)
                     )
                    )
                   )
                   (local.set $4
                    (local.get $3)
                   )
                  )
                 )
                 (local.set $5
                  (i32.load offset=28
                   (i32.load offset=28
                    (local.get $2)
                   )
                  )
                 )
                 (i32.store offset=32
                  (local.get $2)
                  (i32.add
                   (local.tee $6
                    (i32.load offset=32
                     (local.get $2)
                    )
                   )
                   (i32.const 1)
                  )
                 )
                 (local.set $5
                  (i32.load8_u
                   (i32.add
                    (local.get $5)
                    (local.get $6)
                   )
                  )
                 )
                 (i32.store offset=20
                  (local.get $2)
                  (i32.add
                   (local.get $3)
                   (i32.const 1)
                  )
                 )
                 (i32.store8
                  (i32.add
                   (i32.load offset=8
                    (local.get $2)
                   )
                   (local.get $3)
                  )
                  (local.get $5)
                 )
                 (if
                  (local.get $5)
                  (then
                   (local.set $3
                    (i32.load offset=20
                     (local.get $2)
                    )
                   )
                   (br $label$37)
                  )
                  (else
                   (local.set $3
                    (local.get $4)
                   )
                   (br $label$35
                    (i32.const 0)
                   )
                  )
                 )
                )
               )
               (i32.const 1)
              )
             )
             (block $label$42
              (br_if $label$42
               (i32.eqz
                (i32.load offset=44
                 (i32.load offset=28
                  (local.get $2)
                 )
                )
               )
              )
              (br_if $label$42
               (i32.le_u
                (local.tee $4
                 (i32.load offset=20
                  (local.get $2)
                 )
                )
                (local.get $3)
               )
              )
              (i32.store offset=48
               (local.get $0)
               (call $fimport$14
                (i32.load offset=48
                 (local.get $0)
                )
                (i32.add
                 (i32.load offset=8
                  (local.get $2)
                 )
                 (local.get $3)
                )
                (i32.sub
                 (local.get $4)
                 (local.get $3)
                )
               )
              )
             )
             (br_if $label$12
              (i32.eqz
               (local.get $5)
              )
             )
             (local.set $3
              (i32.load offset=4
               (local.get $2)
              )
             )
            )
            (br_if $label$10
             (i32.eq
              (local.get $3)
              (i32.const 91)
             )
            )
            (br $label$9)
           )
           (i32.store offset=32
            (local.get $2)
            (i32.const 0)
           )
          )
          (i32.store offset=4
           (local.get $2)
           (i32.const 91)
          )
         )
         (br_if $label$8
          (i32.eqz
           (i32.load offset=36
            (i32.load offset=28
             (local.get $2)
            )
           )
          )
         )
         (local.set $4
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
         )
         (local.set $5
          (block $label$43 (result i32)
           (loop $label$45
            (block $label$44
             (if
              (i32.eq
               (i32.load offset=12
                (local.get $2)
               )
               (local.get $3)
              )
              (then
               (block $label$47
                (br_if $label$47
                 (i32.le_u
                  (local.get $3)
                  (local.get $4)
                 )
                )
                (br_if $label$47
                 (i32.eqz
                  (i32.load offset=44
                   (i32.load offset=28
                    (local.get $2)
                   )
                  )
                 )
                )
                (i32.store offset=48
                 (local.get $0)
                 (call $fimport$14
                  (i32.load offset=48
                   (local.get $0)
                  )
                  (i32.add
                   (i32.load offset=8
                    (local.get $2)
                   )
                   (local.get $4)
                  )
                  (i32.sub
                   (local.get $3)
                   (local.get $4)
                  )
                 )
                )
               )
               (block $label$48
                (br_if $label$48
                 (i32.eqz
                  (local.tee $3
                   (select
                    (local.tee $3
                     (i32.load offset=16
                      (local.get $0)
                     )
                    )
                    (local.tee $5
                     (i32.load offset=20
                      (local.tee $4
                       (i32.load offset=28
                        (local.get $0)
                       )
                      )
                     )
                    )
                    (i32.lt_u
                     (local.get $3)
                     (local.get $5)
                    )
                   )
                  )
                 )
                )
                (drop
                 (call $fimport$98
                  (i32.load offset=12
                   (local.get $0)
                  )
                  (i32.load offset=16
                   (local.get $4)
                  )
                  (local.get $3)
                 )
                )
                (i32.store offset=12
                 (local.get $0)
                 (i32.add
                  (i32.load offset=12
                   (local.get $0)
                  )
                  (local.get $3)
                 )
                )
                (i32.store offset=16
                 (local.tee $4
                  (i32.load offset=28
                   (local.get $0)
                  )
                 )
                 (i32.add
                  (i32.load offset=16
                   (local.get $4)
                  )
                  (local.get $3)
                 )
                )
                (i32.store offset=20
                 (local.get $0)
                 (i32.add
                  (i32.load offset=20
                   (local.get $0)
                  )
                  (local.get $3)
                 )
                )
                (i32.store offset=16
                 (local.get $0)
                 (i32.sub
                  (i32.load offset=16
                   (local.get $0)
                  )
                  (local.get $3)
                 )
                )
                (i32.store offset=20
                 (local.get $4)
                 (local.tee $3
                  (i32.sub
                   (i32.load offset=20
                    (local.get $4)
                   )
                   (local.get $3)
                  )
                 )
                )
                (br_if $label$48
                 (local.get $3)
                )
                (i32.store offset=16
                 (local.get $4)
                 (i32.load offset=8
                  (local.get $4)
                 )
                )
               )
               (br_if $label$44
                (i32.eq
                 (local.tee $3
                  (i32.load offset=20
                   (local.get $2)
                  )
                 )
                 (i32.load offset=12
                  (local.get $2)
                 )
                )
               )
               (local.set $4
                (local.get $3)
               )
              )
             )
             (local.set $5
              (i32.load offset=36
               (i32.load offset=28
                (local.get $2)
               )
              )
             )
             (i32.store offset=32
              (local.get $2)
              (i32.add
               (local.tee $6
                (i32.load offset=32
                 (local.get $2)
                )
               )
               (i32.const 1)
              )
             )
             (local.set $5
              (i32.load8_u
               (i32.add
                (local.get $5)
                (local.get $6)
               )
              )
             )
             (i32.store offset=20
              (local.get $2)
              (i32.add
               (local.get $3)
               (i32.const 1)
              )
             )
             (i32.store8
              (i32.add
               (i32.load offset=8
                (local.get $2)
               )
               (local.get $3)
              )
              (local.get $5)
             )
             (if
              (local.get $5)
              (then
               (local.set $3
                (i32.load offset=20
                 (local.get $2)
                )
               )
               (br $label$45)
              )
              (else
               (local.set $3
                (local.get $4)
               )
               (br $label$43
                (i32.const 0)
               )
              )
             )
            )
           )
           (i32.const 1)
          )
         )
         (block $label$50
          (br_if $label$50
           (i32.eqz
            (i32.load offset=44
             (i32.load offset=28
              (local.get $2)
             )
            )
           )
          )
          (br_if $label$50
           (i32.le_u
            (local.tee $4
             (i32.load offset=20
              (local.get $2)
             )
            )
            (local.get $3)
           )
          )
          (i32.store offset=48
           (local.get $0)
           (call $fimport$14
            (i32.load offset=48
             (local.get $0)
            )
            (i32.add
             (i32.load offset=8
              (local.get $2)
             )
             (local.get $3)
            )
            (i32.sub
             (local.get $4)
             (local.get $3)
            )
           )
          )
         )
         (br_if $label$8
          (i32.eqz
           (local.get $5)
          )
         )
         (local.set $3
          (i32.load offset=4
           (local.get $2)
          )
         )
        )
        (br_if $label$7
         (i32.eq
          (local.get $3)
          (i32.const 103)
         )
        )
        (br $label$6)
       )
       (i32.store offset=4
        (local.get $2)
        (i32.const 103)
       )
      )
      (if
       (i32.load offset=44
        (i32.load offset=28
         (local.get $2)
        )
       )
       (then
        (block $label$52
         (br_if $label$52
          (i32.ge_u
           (i32.load offset=12
            (local.get $2)
           )
           (i32.add
            (i32.load offset=20
             (local.get $2)
            )
            (i32.const 2)
           )
          )
         )
         (br_if $label$52
          (i32.eqz
           (local.tee $3
            (select
             (local.tee $3
              (i32.load offset=16
               (local.get $0)
              )
             )
             (local.tee $5
              (i32.load offset=20
               (local.tee $4
                (i32.load offset=28
                 (local.get $0)
                )
               )
              )
             )
             (i32.lt_u
              (local.get $3)
              (local.get $5)
             )
            )
           )
          )
         )
         (drop
          (call $fimport$98
           (i32.load offset=12
            (local.get $0)
           )
           (i32.load offset=16
            (local.get $4)
           )
           (local.get $3)
          )
         )
         (i32.store offset=12
          (local.get $0)
          (i32.add
           (i32.load offset=12
            (local.get $0)
           )
           (local.get $3)
          )
         )
         (i32.store offset=16
          (local.tee $4
           (i32.load offset=28
            (local.get $0)
           )
          )
          (i32.add
           (i32.load offset=16
            (local.get $4)
           )
           (local.get $3)
          )
         )
         (i32.store offset=20
          (local.get $0)
          (i32.add
           (i32.load offset=20
            (local.get $0)
           )
           (local.get $3)
          )
         )
         (i32.store offset=16
          (local.get $0)
          (i32.sub
           (i32.load offset=16
            (local.get $0)
           )
           (local.get $3)
          )
         )
         (i32.store offset=20
          (local.get $4)
          (local.tee $3
           (i32.sub
            (i32.load offset=20
             (local.get $4)
            )
            (local.get $3)
           )
          )
         )
         (br_if $label$52
          (local.get $3)
         )
         (i32.store offset=16
          (local.get $4)
          (i32.load offset=8
           (local.get $4)
          )
         )
        )
        (br_if $label$6
         (i32.lt_u
          (i32.load offset=12
           (local.get $2)
          )
          (i32.add
           (local.tee $3
            (i32.load offset=20
             (local.get $2)
            )
           )
           (i32.const 2)
          )
         )
        )
        (local.set $4
         (i32.load offset=48
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.get $3)
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (i32.load offset=8
           (local.get $2)
          )
          (local.get $3)
         )
         (local.get $4)
        )
        (local.set $3
         (i32.load offset=48
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $4
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $4)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (i32.shr_u
          (local.get $3)
          (i32.const 8)
         )
        )
        (i32.store offset=48
         (local.get $0)
         (call $fimport$14
          (i32.const 0)
          (i32.const 0)
          (i32.const 0)
         )
        )
        (i32.store offset=4
         (local.get $2)
         (i32.const 113)
        )
        (br $label$6)
       )
      )
      (i32.store offset=4
       (local.get $2)
       (i32.const 113)
      )
     )
     (block $label$53
      (if
       (i32.load offset=20
        (local.get $2)
       )
       (then
        (block $label$55
         (br_if $label$55
          (i32.eqz
           (local.tee $3
            (select
             (local.tee $5
              (i32.load offset=16
               (local.get $0)
              )
             )
             (local.tee $3
              (i32.load offset=20
               (local.tee $4
                (i32.load offset=28
                 (local.get $0)
                )
               )
              )
             )
             (i32.gt_u
              (local.get $3)
              (local.get $5)
             )
            )
           )
          )
         )
         (drop
          (call $fimport$98
           (i32.load offset=12
            (local.get $0)
           )
           (i32.load offset=16
            (local.get $4)
           )
           (local.get $3)
          )
         )
         (i32.store offset=12
          (local.get $0)
          (i32.add
           (i32.load offset=12
            (local.get $0)
           )
           (local.get $3)
          )
         )
         (i32.store offset=16
          (local.tee $4
           (i32.load offset=28
            (local.get $0)
           )
          )
          (i32.add
           (i32.load offset=16
            (local.get $4)
           )
           (local.get $3)
          )
         )
         (i32.store offset=20
          (local.get $0)
          (i32.add
           (i32.load offset=20
            (local.get $0)
           )
           (local.get $3)
          )
         )
         (i32.store offset=16
          (local.get $0)
          (local.tee $5
           (i32.sub
            (i32.load offset=16
             (local.get $0)
            )
            (local.get $3)
           )
          )
         )
         (i32.store offset=20
          (local.get $4)
          (local.tee $3
           (i32.sub
            (i32.load offset=20
             (local.get $4)
            )
            (local.get $3)
           )
          )
         )
         (br_if $label$55
          (local.get $3)
         )
         (i32.store offset=16
          (local.get $4)
          (i32.load offset=8
           (local.get $4)
          )
         )
        )
        (br_if $label$53
         (local.get $5)
        )
        (br $folding-inner1)
       )
      )
      (br_if $label$53
       (i32.eq
        (local.get $1)
        (i32.const 4)
       )
      )
      (br_if $label$53
       (i32.gt_s
        (local.get $1)
        (local.get $7)
       )
      )
      (br_if $label$53
       (i32.load offset=4
        (local.get $0)
       )
      )
      (br $folding-inner0)
     )
     (local.set $3
      (i32.load offset=4
       (local.get $0)
      )
     )
     (block $label$56
      (block $label$57
       (block $label$58
        (if
         (i32.eq
          (local.tee $4
           (i32.load offset=4
            (local.get $2)
           )
          )
          (i32.const 666)
         )
         (then
          (br_if $label$58
           (i32.eqz
            (local.get $3)
           )
          )
          (br $folding-inner0)
         )
        )
        (br_if $label$57
         (local.get $3)
        )
       )
       (br_if $label$57
        (i32.eqz
         (i32.or
          (i32.eqz
           (local.get $1)
          )
          (i32.eq
           (local.get $4)
           (i32.const 666)
          )
         )
        )
       )
       (br_if $label$56
        (i32.eqz
         (i32.load offset=116
          (local.get $2)
         )
        )
       )
      )
      (if
       (i32.eq
        (i32.or
         (local.tee $3
          (block $label$60 (result i32)
           (block $label$61
            (if
             (i32.ne
              (local.tee $3
               (i32.load offset=136
                (local.get $2)
               )
              )
              (i32.const 3)
             )
             (then
              (br_if $label$61
               (i32.ne
                (local.get $3)
                (i32.const 2)
               )
              )
              (br $label$60
               (call $fimport$20
                (local.get $2)
                (local.get $1)
               )
              )
             )
            )
            (br $label$60
             (call $fimport$21
              (local.get $2)
              (local.get $1)
             )
            )
           )
           (call_indirect (type $2)
            (local.get $2)
            (local.get $1)
            (i32.load
             (i32.add
              (i32.mul
               (i32.load offset=132
                (local.get $2)
               )
               (i32.const 12)
              )
              (i32.const 11032)
             )
            )
           )
          )
         )
         (i32.const 1)
        )
        (i32.const 3)
       )
       (then
        (i32.store offset=4
         (local.get $2)
         (i32.const 666)
        )
       )
      )
      (if
       (i32.eqz
        (i32.and
         (local.get $3)
         (i32.const -3)
        )
       )
       (then
        (local.set $3
         (i32.const 0)
        )
        (br_if $label$1
         (i32.load offset=16
          (local.get $0)
         )
        )
        (br $folding-inner1)
       )
      )
      (br_if $label$56
       (i32.ne
        (local.get $3)
        (i32.const 1)
       )
      )
      (block $label$65
       (br_if $label$65
        (i32.eq
         (local.get $1)
         (i32.const 5)
        )
       )
       (if
        (i32.eq
         (local.get $1)
         (i32.const 1)
        )
        (then
         (call $fimport$30
          (local.get $2)
         )
         (br $label$65)
        )
       )
       (call $fimport$29
        (local.get $2)
        (i32.const 0)
        (i32.const 0)
        (i32.const 0)
       )
       (br_if $label$65
        (i32.ne
         (local.get $1)
         (i32.const 3)
        )
       )
       (i32.store16
        (i32.add
         (local.tee $3
          (i32.load offset=68
           (local.get $2)
          )
         )
         (local.tee $4
          (i32.sub
           (i32.shl
            (i32.load offset=76
             (local.get $2)
            )
            (i32.const 1)
           )
           (i32.const 2)
          )
         )
        )
        (i32.const 0)
       )
       (drop
        (call $fimport$97
         (local.get $3)
         (i32.const 0)
         (local.get $4)
        )
       )
       (br_if $label$65
        (i32.load offset=116
         (local.get $2)
        )
       )
       (i32.store offset=92
        (local.get $2)
        (i32.const 0)
       )
       (i32.store offset=108
        (local.get $2)
        (i32.const 0)
       )
      )
      (block $label$67
       (br_if $label$67
        (i32.eqz
         (local.tee $3
          (select
           (local.tee $5
            (i32.load offset=16
             (local.get $0)
            )
           )
           (local.tee $3
            (i32.load offset=20
             (local.tee $4
              (i32.load offset=28
               (local.get $0)
              )
             )
            )
           )
           (i32.gt_u
            (local.get $3)
            (local.get $5)
           )
          )
         )
        )
       )
       (drop
        (call $fimport$98
         (i32.load offset=12
          (local.get $0)
         )
         (i32.load offset=16
          (local.get $4)
         )
         (local.get $3)
        )
       )
       (i32.store offset=12
        (local.get $0)
        (i32.add
         (i32.load offset=12
          (local.get $0)
         )
         (local.get $3)
        )
       )
       (i32.store offset=16
        (local.tee $4
         (i32.load offset=28
          (local.get $0)
         )
        )
        (i32.add
         (i32.load offset=16
          (local.get $4)
         )
         (local.get $3)
        )
       )
       (i32.store offset=20
        (local.get $0)
        (i32.add
         (i32.load offset=20
          (local.get $0)
         )
         (local.get $3)
        )
       )
       (i32.store offset=16
        (local.get $0)
        (local.tee $5
         (i32.sub
          (i32.load offset=16
           (local.get $0)
          )
          (local.get $3)
         )
        )
       )
       (i32.store offset=20
        (local.get $4)
        (local.tee $3
         (i32.sub
          (i32.load offset=20
           (local.get $4)
          )
          (local.get $3)
         )
        )
       )
       (br_if $label$67
        (local.get $3)
       )
       (i32.store offset=16
        (local.get $4)
        (i32.load offset=8
         (local.get $4)
        )
       )
      )
      (br_if $label$56
       (local.get $5)
      )
      (br $folding-inner1)
     )
     (local.set $3
      (i32.const 0)
     )
     (br_if $label$1
      (i32.ne
       (local.get $1)
       (i32.const 4)
      )
     )
     (local.set $3
      (i32.const 1)
     )
     (br_if $label$1
      (i32.le_s
       (local.tee $4
        (i32.load offset=24
         (local.get $2)
        )
       )
       (i32.const 0)
      )
     )
     (local.set $1
      (i32.load offset=48
       (local.get $0)
      )
     )
     (block $label$68
      (if
       (i32.eq
        (local.get $4)
        (i32.const 2)
       )
       (then
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (local.get $1)
        )
        (local.set $1
         (i32.load offset=48
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (i32.shr_u
          (local.get $1)
          (i32.const 8)
         )
        )
        (local.set $1
         (i32.load16_u offset=50
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (local.get $1)
        )
        (local.set $1
         (i32.load8_u offset=51
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (local.get $1)
        )
        (local.set $1
         (i32.load offset=8
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (local.get $1)
        )
        (local.set $1
         (i32.load offset=8
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (i32.shr_u
          (local.get $1)
          (i32.const 8)
         )
        )
        (local.set $1
         (i32.load16_u offset=10
          (local.get $0)
         )
        )
        (i32.store offset=20
         (local.get $2)
         (i32.add
          (local.tee $3
           (i32.load offset=20
            (local.get $2)
           )
          )
          (i32.const 1)
         )
        )
        (i32.store8
         (i32.add
          (local.get $3)
          (i32.load offset=8
           (local.get $2)
          )
         )
         (local.get $1)
        )
        (local.set $3
         (i32.load8_u offset=11
          (local.get $0)
         )
        )
        (br $label$68)
       )
      )
      (i32.store offset=20
       (local.get $2)
       (i32.add
        (local.tee $3
         (i32.load offset=20
          (local.get $2)
         )
        )
        (i32.const 1)
       )
      )
      (i32.store8
       (i32.add
        (local.get $3)
        (i32.load offset=8
         (local.get $2)
        )
       )
       (i32.shr_u
        (local.get $1)
        (i32.const 24)
       )
      )
      (i32.store offset=20
       (local.get $2)
       (i32.add
        (local.tee $3
         (i32.load offset=20
          (local.get $2)
         )
        )
        (i32.const 1)
       )
      )
      (i32.store8
       (i32.add
        (local.get $3)
        (i32.load offset=8
         (local.get $2)
        )
       )
       (i32.shr_u
        (local.get $1)
        (i32.const 16)
       )
      )
      (local.set $3
       (i32.load offset=48
        (local.get $0)
       )
      )
      (i32.store offset=20
       (local.get $2)
       (i32.add
        (local.tee $1
         (i32.load offset=20
          (local.get $2)
         )
        )
        (i32.const 1)
       )
      )
      (i32.store8
       (i32.add
        (local.get $1)
        (i32.load offset=8
         (local.get $2)
        )
       )
       (i32.shr_u
        (local.get $3)
        (i32.const 8)
       )
      )
     )
     (i32.store offset=20
      (local.get $2)
      (i32.add
       (local.tee $1
        (i32.load offset=20
         (local.get $2)
        )
       )
       (i32.const 1)
      )
     )
     (i32.store8
      (i32.add
       (local.get $1)
       (i32.load offset=8
        (local.get $2)
       )
      )
      (local.get $3)
     )
     (block $label$70
      (br_if $label$70
       (i32.eqz
        (local.tee $1
         (select
          (local.tee $1
           (i32.load offset=16
            (local.get $0)
           )
          )
          (local.tee $4
           (i32.load offset=20
            (local.tee $3
             (i32.load offset=28
              (local.get $0)
             )
            )
           )
          )
          (i32.lt_u
           (local.get $1)
           (local.get $4)
          )
         )
        )
       )
      )
      (drop
       (call $fimport$98
        (i32.load offset=12
         (local.get $0)
        )
        (i32.load offset=16
         (local.get $3)
        )
        (local.get $1)
       )
      )
      (i32.store offset=12
       (local.get $0)
       (i32.add
        (i32.load offset=12
         (local.get $0)
        )
        (local.get $1)
       )
      )
      (i32.store offset=16
       (local.tee $3
        (i32.load offset=28
         (local.get $0)
        )
       )
       (i32.add
        (i32.load offset=16
         (local.get $3)
        )
        (local.get $1)
       )
      )
      (i32.store offset=20
       (local.get $0)
       (i32.add
        (i32.load offset=20
         (local.get $0)
        )
        (local.get $1)
       )
      )
      (i32.store offset=16
       (local.get $0)
       (i32.sub
        (i32.load offset=16
         (local.get $0)
        )
        (local.get $1)
       )
      )
      (i32.store offset=20
       (local.get $3)
       (local.tee $0
        (i32.sub
         (i32.load offset=20
          (local.get $3)
         )
         (local.get $1)
        )
       )
      )
      (br_if $label$70
       (local.get $0)
      )
      (i32.store offset=16
       (local.get $3)
       (i32.load offset=8
        (local.get $3)
       )
      )
     )
     (if
      (i32.gt_s
       (local.tee $0
        (i32.load offset=24
         (local.get $2)
        )
       )
       (i32.const 0)
      )
      (then
       (i32.store offset=24
        (local.get $2)
        (i32.sub
         (i32.const 0)
         (local.get $0)
        )
       )
      )
     )
     (local.set $3
      (i32.eqz
       (i32.load offset=20
        (local.get $2)
       )
      )
     )
    )
    (return
     (local.get $3)
    )
   )
   (i32.store offset=24
    (local.get $0)
    (i32.load
     (i32.const 17004)
    )
   )
   (return
    (i32.const -5)
   )
  )
  (i32.store offset=40
   (local.get $2)
   (i32.const -1)
  )
  (i32.const 0)
 )
)
