(module $cjpeg_wrbmp.wasm
  (type (;0;) (func (param i32 i32)))
  (type (;1;) (func (param i32 i32 i32) (result i32)))
  (type (;2;) (func))
  (type (;3;) (func (param i32 i32 i32 i32)))
  (type (;4;) (func (result i32)))
  (import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
  (import "env" "memcpy" (func $memcpy (type 1)))
  (func $__wasm_apply_data_relocs (type 2))
  (func $cjpeg_wrbmp_write_colormap (type 3) (param i32 i32 i32 i32)
    (local i32 i32 i32 i32)
    block  ;; label = @1
      block  ;; label = @2
        local.get 3
        i32.eqz
        br_if 0 (;@2;)
        local.get 0
        i32.load offset=128
        local.set 3
        local.get 0
        i32.load offset=116
        local.set 0
        i32.const 256
        i32.const 256
        call $__pragma_loopbound
        block  ;; label = @3
          local.get 0
          i32.const 3
          i32.ne
          br_if 0 (;@3;)
          block  ;; label = @4
            local.get 3
            i32.const 1
            i32.ge_s
            br_if 0 (;@4;)
            i32.const 0
            local.set 3
            br 3 (;@1;)
          end
          i32.const 0
          i32.load offset=8864
          local.set 0
          local.get 2
          i32.const 4
          i32.ne
          local.set 4
          i32.const 0
          local.set 5
          loop  ;; label = @4
            local.get 0
            i32.const 8880
            local.get 5
            i32.add
            local.tee 6
            i32.const 512
            i32.add
            i32.load8_u
            local.tee 7
            i32.store8
            i32.const 0
            i32.const 0
            i32.load offset=8864
            local.tee 0
            i32.const 1
            i32.add
            i32.store offset=8864
            i32.const 0
            local.get 7
            i32.const 0
            i32.load offset=8868
            i32.add
            i32.store offset=8868
            local.get 0
            local.get 6
            i32.const 256
            i32.add
            i32.load8_u
            local.tee 7
            i32.store8 offset=1
            i32.const 0
            i32.const 0
            i32.load offset=8864
            local.tee 0
            i32.const 1
            i32.add
            i32.store offset=8864
            i32.const 0
            local.get 7
            i32.const 0
            i32.load offset=8868
            i32.add
            i32.store offset=8868
            local.get 0
            local.get 6
            i32.load8_u
            local.tee 6
            i32.store8 offset=1
            i32.const 0
            i32.const 0
            i32.load offset=8864
            i32.const 1
            i32.add
            local.tee 0
            i32.store offset=8864
            i32.const 0
            local.get 6
            i32.const 0
            i32.load offset=8868
            i32.add
            i32.store offset=8868
            block  ;; label = @5
              local.get 4
              br_if 0 (;@5;)
              local.get 0
              i32.const 0
              i32.store8
              i32.const 0
              i32.const 0
              i32.load offset=8864
              i32.const 1
              i32.add
              local.tee 0
              i32.store offset=8864
            end
            local.get 3
            local.get 5
            i32.const 1
            i32.add
            local.tee 5
            i32.ne
            br_if 0 (;@4;)
            br 3 (;@1;)
          end
        end
        block  ;; label = @3
          local.get 3
          i32.const 1
          i32.ge_s
          br_if 0 (;@3;)
          i32.const 0
          local.set 3
          br 2 (;@1;)
        end
        i32.const 0
        i32.load offset=8864
        local.set 0
        local.get 2
        i32.const 4
        i32.ne
        local.set 4
        i32.const 0
        local.set 5
        loop  ;; label = @3
          local.get 0
          i32.const 8880
          local.get 5
          i32.add
          local.tee 6
          i32.const 512
          i32.add
          i32.load8_u
          local.tee 7
          i32.store8
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          i32.const 0
          local.get 7
          i32.const 0
          i32.load offset=8868
          i32.add
          i32.store offset=8868
          local.get 0
          local.get 6
          i32.const 256
          i32.add
          i32.load8_u
          local.tee 7
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          i32.const 0
          local.get 7
          i32.const 0
          i32.load offset=8868
          i32.add
          i32.store offset=8868
          local.get 0
          local.get 6
          i32.load8_u
          local.tee 6
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          i32.const 1
          i32.add
          local.tee 0
          i32.store offset=8864
          i32.const 0
          local.get 6
          i32.const 0
          i32.load offset=8868
          i32.add
          i32.store offset=8868
          block  ;; label = @4
            local.get 4
            br_if 0 (;@4;)
            local.get 0
            i32.const 0
            i32.store8
            i32.const 0
            i32.const 0
            i32.load offset=8864
            i32.const 1
            i32.add
            local.tee 0
            i32.store offset=8864
          end
          local.get 3
          local.get 5
          i32.const 1
          i32.add
          local.tee 5
          i32.ne
          br_if 0 (;@3;)
          br 2 (;@1;)
        end
      end
      i32.const 256
      i32.const 256
      call $__pragma_loopbound
      i32.const 0
      i32.load offset=8864
      local.set 5
      block  ;; label = @2
        local.get 2
        i32.const 4
        i32.eq
        br_if 0 (;@2;)
        i32.const 0
        local.set 0
        loop  ;; label = @3
          local.get 5
          local.get 0
          i32.store8
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 3
          i32.const 1
          i32.add
          i32.store offset=8864
          i32.const 0
          local.get 0
          i32.const 0
          i32.load offset=8868
          i32.add
          i32.store offset=8868
          local.get 3
          local.get 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 3
          i32.const 1
          i32.add
          i32.store offset=8864
          i32.const 0
          local.get 0
          i32.const 0
          i32.load offset=8868
          i32.add
          i32.store offset=8868
          local.get 3
          local.get 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          i32.const 1
          i32.add
          local.tee 5
          i32.store offset=8864
          i32.const 0
          local.get 0
          i32.const 0
          i32.load offset=8868
          i32.add
          i32.store offset=8868
          i32.const 256
          local.set 3
          local.get 0
          i32.const 1
          i32.add
          local.tee 0
          i32.const 256
          i32.ne
          br_if 0 (;@3;)
          br 2 (;@1;)
        end
      end
      i32.const 0
      local.set 0
      loop  ;; label = @2
        local.get 5
        local.get 0
        i32.store8
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 3
        i32.const 1
        i32.add
        i32.store offset=8864
        i32.const 0
        local.get 0
        i32.const 0
        i32.load offset=8868
        i32.add
        i32.store offset=8868
        local.get 3
        local.get 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 3
        i32.const 1
        i32.add
        i32.store offset=8864
        i32.const 0
        local.get 0
        i32.const 0
        i32.load offset=8868
        i32.add
        i32.store offset=8868
        local.get 3
        local.get 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 3
        i32.const 1
        i32.add
        i32.store offset=8864
        i32.const 0
        local.get 0
        i32.const 0
        i32.load offset=8868
        i32.add
        i32.store offset=8868
        local.get 3
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        i32.const 1
        i32.add
        local.tee 5
        i32.store offset=8864
        i32.const 256
        local.set 3
        local.get 0
        i32.const 1
        i32.add
        local.tee 0
        i32.const 256
        i32.ne
        br_if 0 (;@2;)
      end
    end
    i32.const 512
    i32.const 512
    call $__pragma_loopbound
    block  ;; label = @1
      local.get 1
      local.get 3
      i32.le_s
      br_if 0 (;@1;)
      i32.const 0
      i32.load offset=8864
      local.set 0
      block  ;; label = @2
        local.get 2
        i32.const 4
        i32.eq
        br_if 0 (;@2;)
        block  ;; label = @3
          block  ;; label = @4
            local.get 1
            local.get 3
            i32.sub
            i32.const 1
            i32.and
            br_if 0 (;@4;)
            local.get 3
            local.set 5
            br 1 (;@3;)
          end
          local.get 0
          i32.const 0
          i32.store8
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          i32.const 1
          i32.add
          local.tee 0
          i32.store offset=8864
          local.get 3
          i32.const 1
          i32.add
          local.set 5
        end
        local.get 3
        local.get 1
        i32.const -1
        i32.add
        i32.eq
        br_if 1 (;@1;)
        local.get 1
        local.get 5
        i32.sub
        local.set 3
        loop  ;; label = @3
          local.get 0
          i32.const 0
          i32.store8
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          local.tee 0
          i32.const 1
          i32.add
          i32.store offset=8864
          local.get 0
          i32.const 0
          i32.store8 offset=1
          i32.const 0
          i32.const 0
          i32.load offset=8864
          i32.const 1
          i32.add
          local.tee 0
          i32.store offset=8864
          local.get 3
          i32.const -2
          i32.add
          local.tee 3
          br_if 0 (;@3;)
          br 2 (;@1;)
        end
      end
      block  ;; label = @2
        block  ;; label = @3
          local.get 1
          local.get 3
          i32.sub
          i32.const 1
          i32.and
          br_if 0 (;@3;)
          local.get 3
          local.set 5
          br 1 (;@2;)
        end
        local.get 0
        i32.const 0
        i32.store8
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        i32.const 1
        i32.add
        local.tee 0
        i32.store offset=8864
        local.get 3
        i32.const 1
        i32.add
        local.set 5
      end
      local.get 3
      local.get 1
      i32.const -1
      i32.add
      i32.eq
      br_if 0 (;@1;)
      local.get 1
      local.get 5
      i32.sub
      local.set 3
      loop  ;; label = @2
        local.get 0
        i32.const 0
        i32.store8
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        local.tee 0
        i32.const 1
        i32.add
        i32.store offset=8864
        local.get 0
        i32.const 0
        i32.store8 offset=1
        i32.const 0
        i32.const 0
        i32.load offset=8864
        i32.const 1
        i32.add
        local.tee 0
        i32.store offset=8864
        local.get 3
        i32.const -2
        i32.add
        local.tee 3
        br_if 0 (;@2;)
      end
    end)
  (func $cjpeg_wrbmp_main (type 2)
    (local i32 i32)
    i32.const 0
    i32.load offset=1800
    local.set 0
    i32.const 30
    i32.const 30
    call $__pragma_loopbound
    block  ;; label = @1
      block  ;; label = @2
        block  ;; label = @3
          i32.const 0
          i32.load offset=1904
          local.tee 1
          i32.eqz
          br_if 0 (;@3;)
          local.get 0
          i32.eqz
          br_if 2 (;@1;)
          local.get 0
          local.get 1
          i32.store offset=8
          local.get 0
          local.get 1
          i32.const -1
          i32.add
          i32.store offset=4
          br 1 (;@2;)
        end
        local.get 0
        i32.eqz
        br_if 1 (;@1;)
      end
      local.get 0
      local.get 0
      i32.load offset=20
      i32.const 1
      i32.add
      i32.store offset=20
    end
    i32.const 1792
    i32.const 768
    i32.const 4
    i32.const 1
    call $cjpeg_wrbmp_write_colormap
    i32.const 0
    i32.load offset=2260
    local.set 0
    i32.const 30
    i32.const 30
    call $__pragma_loopbound
    block  ;; label = @1
      block  ;; label = @2
        block  ;; label = @3
          i32.const 0
          i32.load offset=2364
          local.tee 1
          i32.eqz
          br_if 0 (;@3;)
          local.get 0
          i32.eqz
          br_if 2 (;@1;)
          local.get 0
          local.get 1
          i32.store offset=8
          local.get 0
          local.get 1
          i32.const -1
          i32.add
          i32.store offset=4
          br 1 (;@2;)
        end
        local.get 0
        i32.eqz
        br_if 1 (;@1;)
      end
      local.get 0
      local.get 0
      i32.load offset=20
      i32.const 1
      i32.add
      i32.store offset=20
    end
    i32.const 2252
    i32.const 768
    i32.const 4
    i32.const 1
    call $cjpeg_wrbmp_write_colormap)
  (func $__original_main (type 4) (result i32)
    call $cjpeg_wrbmp_initInput
    i32.const 0
    i32.const 256
    i32.store offset=1920
    i32.const 0
    i64.const 8589934622
    i64.store offset=1904 align=4
    i32.const 0
    i32.const 256
    i32.store offset=2380
    i32.const 0
    i64.const 12884901918
    i64.store offset=2364 align=4
    i32.const 0
    i32.const 2720
    i32.store offset=8864
    i32.const 0
    i32.const 0
    i32.store offset=1800
    i32.const 0
    i32.const 0
    i32.store offset=2260
    i32.const 0
    i32.const 0
    i32.store offset=8868
    call $cjpeg_wrbmp_main
    i32.const 0
    i32.load offset=8868
    i32.const 209330
    i32.ne)
  (func $cjpeg_wrbmp_initInput (type 2)
    (local i32 i32 i32)
    global.get $__stack_pointer
    i32.const 768
    i32.sub
    local.tee 0
    global.set $__stack_pointer
    local.get 0
    i32.const 1024
    i32.const 768
    call $memcpy
    local.set 1
    i32.const 3
    i32.const 3
    call $__pragma_loopbound
    i32.const 256
    i32.const 256
    call $__pragma_loopbound
    i32.const -256
    local.set 0
    loop  ;; label = @1
      local.get 0
      i32.const 9136
      i32.add
      local.get 1
      local.get 0
      i32.add
      local.tee 2
      i32.const 256
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9137
      i32.add
      local.get 2
      i32.const 257
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9138
      i32.add
      local.get 2
      i32.const 258
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9139
      i32.add
      local.get 2
      i32.const 259
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 4
      i32.add
      local.tee 0
      br_if 0 (;@1;)
    end
    i32.const 256
    i32.const 256
    call $__pragma_loopbound
    i32.const -256
    local.set 0
    loop  ;; label = @1
      local.get 0
      i32.const 9392
      i32.add
      local.get 1
      local.get 0
      i32.add
      local.tee 2
      i32.const 512
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9393
      i32.add
      local.get 2
      i32.const 513
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9394
      i32.add
      local.get 2
      i32.const 514
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9395
      i32.add
      local.get 2
      i32.const 515
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 4
      i32.add
      local.tee 0
      br_if 0 (;@1;)
    end
    i32.const 256
    i32.const 256
    call $__pragma_loopbound
    i32.const -256
    local.set 0
    loop  ;; label = @1
      local.get 0
      i32.const 9648
      i32.add
      local.get 1
      local.get 0
      i32.add
      local.tee 2
      i32.const 768
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9649
      i32.add
      local.get 2
      i32.const 769
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9650
      i32.add
      local.get 2
      i32.const 770
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 9651
      i32.add
      local.get 2
      i32.const 771
      i32.add
      i32.load8_u
      i32.store8
      local.get 0
      i32.const 4
      i32.add
      local.tee 0
      br_if 0 (;@1;)
    end
    local.get 1
    i32.const 768
    i32.add
    global.set $__stack_pointer)
  (table (;0;) 1 1 funcref)
  (memory (;0;) 1)
  (global $__stack_pointer (mut i32) (i32.const 13744))
  (global (;1;) i32 (i32.const 9648))
  (global (;2;) i32 (i32.const 13744))
  (export "memory" (memory 0))
  (export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
  (export "entrypoint" (func $cjpeg_wrbmp_main))
  (export "main" (func $__original_main))
  (export "__data_end" (global 1))
  (export "__heap_base" (global 2))
  (data $.rodata (i32.const 1024) ",i\99G\97\a0\bcZ\d1\83\ddr]|\d0\cf\da6\91q\99\ef\e2S\f3\97bCr\99S\batH\bc\bem\a2\da\85\d0\d1s\fb\87Y\8f\e2\e6\f6\98\f3\98s\b4N\f6\a4\fauL\96\98\bc\fb\c3\7fo\e1\d0^]\8f\83\c9\d3c]\be\9dy\f0u\b9\a7\89\98\bc\fa;\f8\f5s\f0\c0\d1\8f\88b\e0\a7\87\84\bdH\f9\cd,j`\93\f7\f9\e4\e0\f9\bep\87\a8_\cd\ab:pO\ceK\f2\bc\bd\e1\b9Q\dd\99\f4\c6\ab\a3\9f\d1\f0\8a\94\cf\a6\c0\bc\97b\be\d1\9a\e1H`\f9\bf\df\cf\a3\cf\85\fb\b7\87\89\9f\f7\a7S{\c7\cb\90\8e\edM\80u\a9\ca\88\80\bc\a87\de\a9t<K\aff\d9\a8\b9\bd\e1}\c0po\a8\ef\e1\a8a\81\be\af\a9\e1\aa\e2\e1\e2\e0\86j\fa\de\94\f1\a8\a6\a0_\bef\b4\c1o\97\a5\ab\c84\86\a9\df\a6\e1\a9o\b9m8\f4\9d\fa\e2\e7w\bc*\8f.[T\c9\8c[R\8c\1fX,\ab9s\ce;\91ut5\e8uP<B@u\aeY\b2\93?S;g\8b\d3@Dbv5wZ\a1\e8\abb\b0\ecv\9d\b4MrX\1cw(aE\bd\fc\e1w`\dbTRi\9e1\c8=uN?\93\8cElZ\a1i\berTLF+\9c\de`H\8fZi8\90N\81#Bed1i\82\a0\ef\81\8dS+Dj\84S\5c\82\af?\83O\c0i9\a0v\a2\8dN\c0\80\ce\c9\cb\a2\9f\a3\dd\b7\9d\b1\bd\c0\81\826h-e\fc4[\b11\ddto\8f\5c\8e\9f\83\ad=\9f\adQ\81\d6\d5\91\8f\e8C\91\82c\edn\a0\83C2\81\83\7fL\5c\cb`\ce\b0\b4Uc\a2v@N\be\bf-e\81:H\d31ssU=dtk\8fu\db\9a\e1\ae\a0\a3w\bej\ba1-\b1\93U\8a*\ae;DxG\818\95aDX\94<\ef\b3\95h,L%8L\98z\99M\bf)L'a.m\ac+t[f1\c9DX-5_\a0\aff\a4t2L-V\bd\d82=]\c4[d:t\df\a6f~\dd\9eV\eb7qx4s*V7\a5\f7\c2\a0l\aalbM\a8*\b3F`>G\d8dG\9by\92V\86ir1d2w\da_Q\dcNf2}D\aa$>w\81,\97H\8f\f1\83\89OI7z\ccIJ\83\dd5YH\b2<@\91\9d\9c\b1e\b4p\c2\ce\b2\a8\dd\99\c9w\de\a5\bc\d4u\b4-\86*\82\e5/k\ac(\dd\92\84\8an\90\bcp\84@\a2\91\8c\c8\b5\d7\8b\c5\b7j~tY\cc\98{\a14.\83\a7\ad>F\97\97\c5\b1\b8`ae\826?\8d\b9-~`.G\ac&rdjEv\8a\7fc\7f\c6\cc\f2\f8\c5\f1J\bd\b2\fcA-\94\91a\a8-o+@\a4Pq/\88S*[\c5_\de\a7\5cb"))
