(module $longjmp.wasm
 (type $0 (func (param i32 i32 i32)))
 (type $3 (func (param i32 i32)))
 (type $1 (func (param i32 i32) (result i32)))
 (type $2 (func (result i32)))
 (type $4 (func (param i32)))
 (type $5 (func))
 (import "env" "__wasm_setjmp" (func $__wasm_setjmp (param i32 i32 i32)))
 (import "env" "emscripten_longjmp" (func $emscripten_longjmp (param i32 i32)))
 (import "env" "invoke_vii" (func $invoke_vii (param i32 i32 i32)))
 (import "env" "__wasm_setjmp_test" (func $__wasm_setjmp_test (param i32 i32) (result i32)))
 (import "env" "setTempRet0" (func $setTempRet0 (param i32)))
 (import "env" "getTempRet0" (func $getTempRet0 (result i32)))
 (global $__stack_pointer (mut i32) (i32.const 66112))
 (memory $0 2)
 (table $0 2 2 funcref)
 (elem $0 (i32.const 1) $emscripten_longjmp)
 (export "memory" (memory $0))
 (export "__wasm_call_ctors" (func $__wasm_call_ctors))
 (export "main" (func $main))
 (export "dynCall_vii" (func $dynCall_vii))
 (func $__wasm_call_ctors
 )
 (func $__original_main (result i32)
  (local $0 i32)
  (local $1 i32)
  (local $2 i32)
  (global.set $__stack_pointer
   (local.tee $0
    (i32.sub
     (global.get $__stack_pointer)
     (i32.const 16)
    )
   )
  )
  (call $__wasm_setjmp
   (local.get $1)
   (i32.const 1)
   (i32.add
    (local.get $0)
    (i32.const 12)
   )
  )
  (local.set $1
   (i32.const 0)
  )
  (block $block2
   (block $block
    (loop $label
     (br_if $block
      (local.get $1)
     )
     (i32.store offset=568
      (i32.const 0)
      (i32.const 0)
     )
     (call $invoke_vii
      (i32.const 1)
      (local.get $1)
      (i32.const 1)
     )
     (local.set $1
      (i32.load offset=568
       (i32.const 0)
      )
     )
     (i32.store offset=568
      (i32.const 0)
      (i32.const 0)
     )
     (block $block1
      (br_if $block1
       (i32.eqz
        (local.get $1)
       )
      )
      (br_if $block1
       (i32.eqz
        (local.tee $2
         (i32.load offset=572
          (i32.const 0)
         )
        )
       )
      )
      (br_if $block2
       (i32.eqz
        (call $__wasm_setjmp_test
         (local.get $1)
         (i32.add
          (local.get $0)
          (i32.const 12)
         )
        )
       )
      )
      (call $setTempRet0
       (local.get $2)
      )
     )
     (local.set $1
      (call $getTempRet0)
     )
     (br $label)
    )
   )
   (global.set $__stack_pointer
    (i32.add
     (local.get $0)
     (i32.const 16)
    )
   )
   (return
    (i32.const 0)
   )
  )
  (call $emscripten_longjmp
   (local.get $1)
   (local.get $2)
  )
  (unreachable)
 )
 (func $main (param $0 i32) (param $1 i32) (result i32)
  (call $__original_main)
 )
 (func $dynCall_vii (param $fptr i32) (param $0 i32) (param $1 i32)
  (call_indirect (type $3)
   (local.get $0)
   (local.get $1)
   (local.get $fptr)
  )
 )
)
