DWARF debug info
================

Contains section .debug_info (79 bytes)
Contains section .debug_abbrev (64 bytes)
Contains section .debug_line (53 bytes)
Contains section .debug_str (206 bytes)

.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_base_type	DW_CHILDREN_no
	DW_AT_name	DW_FORM_strp
	DW_AT_encoding	DW_FORM_data1
	DW_AT_byte_size	DW_FORM_data1

[2] DW_TAG_GNU_call_site	DW_CHILDREN_no
	DW_AT_low_pc	DW_FORM_addr

[3] DW_TAG_subprogram	DW_CHILDREN_yes
	DW_AT_low_pc	DW_FORM_addr
	DW_AT_high_pc	DW_FORM_data4
	DW_AT_frame_base	DW_FORM_exprloc
	DW_AT_GNU_all_call_sites	DW_FORM_flag_present
	DW_AT_name	DW_FORM_strp
	DW_AT_decl_file	DW_FORM_data1
	DW_AT_decl_line	DW_FORM_data1
	DW_AT_type	DW_FORM_ref4
	DW_AT_external	DW_FORM_flag_present

[4] DW_TAG_compile_unit	DW_CHILDREN_yes
	DW_AT_producer	DW_FORM_strp
	DW_AT_language	DW_FORM_data2
	DW_AT_name	DW_FORM_strp
	DW_AT_stmt_list	DW_FORM_sec_offset
	DW_AT_comp_dir	DW_FORM_strp
	DW_AT_low_pc	DW_FORM_addr
	DW_AT_high_pc	DW_FORM_data4


.debug_info contents:
0x00000000: Compile Unit: length = 0x0000004b version = 0x0004 abbr_offset = 0x0000 addr_size = 0x04 (next unit at 0x0000004f)

0x0000000b: DW_TAG_compile_unit [4] *
              DW_AT_producer [DW_FORM_strp]	( .debug_str[0x00000000] = "clang version 12.0.0 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 576bd52f778405de08f309678e4fe4f7523bf7c4)")
              DW_AT_language [DW_FORM_data2]	(DW_LANG_C99)
              DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000095] = "tests/hello_world.c")
              DW_AT_stmt_list [DW_FORM_sec_offset]	(0x00000000)
              DW_AT_comp_dir [DW_FORM_strp]	( .debug_str[0x000000a9] = "/home/azakai/Dev/emscripten")
              DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000000)
              DW_AT_high_pc [DW_FORM_data4]	(0x00000000)

0x00000026:   DW_TAG_subprogram [3] *
                DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000000)
                DW_AT_high_pc [DW_FORM_data4]	(0x00000000)
                DW_AT_frame_base [DW_FORM_exprloc]	(DW_OP_WASM_location 0x3 +0, <decoding error> 00 00 9f)
                DW_AT_GNU_all_call_sites [DW_FORM_flag_present]	(true)
                DW_AT_name [DW_FORM_strp]	( .debug_str[0x000000c5] = "main")
                DW_AT_decl_file [DW_FORM_data1]	("/home/azakai/Dev/emscripten/tests/hello_world.c")
                DW_AT_decl_line [DW_FORM_data1]	(10)
                DW_AT_type [DW_FORM_ref4]	(cu + 0x0047 => {0x00000047} "int")
                DW_AT_external [DW_FORM_flag_present]	(true)

0x00000041:     DW_TAG_GNU_call_site [2]  
                  DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000000)

0x00000046:     NULL

0x00000047:   DW_TAG_base_type [1]  
                DW_AT_name [DW_FORM_strp]	( .debug_str[0x000000ca] = "int")
                DW_AT_encoding [DW_FORM_data1]	(DW_ATE_signed)
                DW_AT_byte_size [DW_FORM_data1]	(0x04)

0x0000004e:   NULL

.debug_line contents:
debug_line[0x00000000]
Line table prologue:
    total_length: 0x00000031
         version: 4
 prologue_length: 0x0000002b
 min_inst_length: 1
max_ops_per_inst: 1
 default_is_stmt: 1
       line_base: -5
      line_range: 14
     opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
include_directories[  1] = "tests"
file_names[  1]:
           name: "hello_world.c"
      dir_index: 1
       mod_time: 0x00000000
         length: 0x00000000

.debug_str contents:
0x00000000: "clang version 12.0.0 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 576bd52f778405de08f309678e4fe4f7523bf7c4)"
0x00000095: "tests/hello_world.c"
0x000000a9: "/home/azakai/Dev/emscripten"
0x000000c5: "main"
0x000000ca: "int"
(module
 (type $i32_=>_i32 (func (param i32) (result i32)))
 (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32)))
 (type $i32_=>_none (func (param i32)))
 (type $none_=>_i32 (func (result i32)))
 (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
 (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32)))
 (type $i32_i64_i32_=>_i64 (func (param i32 i64 i32) (result i64)))
 (type $none_=>_none (func))
 (type $i32_i32_i64_i32_=>_i64 (func (param i32 i32 i64 i32) (result i64)))
 (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32)))
 (import "env" "memory" (memory $mimport$0 256 256))
 (import "env" "__indirect_function_table" (table $timport$0 4 funcref))
 (import "wasi_snapshot_preview1" "fd_write" (func $fimport$0 (param i32 i32 i32 i32) (result i32)))
 (import "env" "emscripten_memcpy_big" (func $fimport$1 (param i32 i32 i32) (result i32)))
 (import "env" "setTempRet0" (func $fimport$2 (param i32)))
 (global $global$0 (mut i32) (i32.const 5245136))
 (global $global$1 i32 (i32.const 2248))
 (data (i32.const 1024) "hello, world!\00\00\00\18\04")
 (data (i32.const 1048) "\05")
 (data (i32.const 1060) "\01")
 (data (i32.const 1084) "\02\00\00\00\03\00\00\00\c8\04\00\00\00\04")
 (data (i32.const 1108) "\01")
 (data (i32.const 1123) "\n\ff\ff\ff\ff")
 (elem (i32.const 1) $6 $5 $7)
 (export "__wasm_call_ctors" (func $0))
 (export "main" (func $2))
 (export "__errno_location" (func $3))
 (export "stackSave" (func $18))
 (export "stackRestore" (func $19))
 (export "stackAlloc" (func $20))
 (export "__data_end" (global $global$1))
 (export "dynCall_jiji" (func $22))
 (export "__growWasmMemory" (func $23))
 (func $0
  ;; code offset: 0x3
  (nop)
 )
 (func $1 (result i32)
  ;; code offset: 0xc
  (drop
   ;; code offset: 0xa
   (call $14
    ;; code offset: 0x7
    (i32.const 1024)
   )
  )
  ;; code offset: 0xd
  (i32.const 0)
 )
 (func $2 (param $0 i32) (param $1 i32) (result i32)
  ;; code offset: 0x12
  (call $1)
 )
 (func $3 (result i32)
  ;; code offset: 0x17
  (i32.const 1200)
 )
 (func $4 (param $0 i32) (result i32)
  ;; code offset: 0x20
  (if
   ;; code offset: 0x1f
   (i32.eqz
    ;; code offset: 0x1d
    (local.get $0)
   )
   ;; code offset: 0x24
   (return
    ;; code offset: 0x22
    (i32.const 0)
   )
  )
  ;; code offset: 0x2a
  (i32.store
   ;; code offset: 0x26
   (call $3)
   ;; code offset: 0x28
   (local.get $0)
  )
  ;; code offset: 0x2d
  (i32.const -1)
 )
 (func $5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
  (local $3 i32)
  (local $4 i32)
  (local $5 i32)
  (local $6 i32)
  (local $7 i32)
  (local $8 i32)
  (local $9 i32)
  ;; code offset: 0x48
  (global.set $global$0
   ;; code offset: 0x46
   (local.tee $3
    ;; code offset: 0x45
    (i32.sub
     ;; code offset: 0x41
     (global.get $global$0)
     ;; code offset: 0x43
     (i32.const 32)
    )
   )
  )
  ;; code offset: 0x53
  (i32.store offset=16
   ;; code offset: 0x4a
   (local.get $3)
   ;; code offset: 0x51
   (local.tee $4
    ;; code offset: 0x4e
    (i32.load offset=28
     ;; code offset: 0x4c
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x5b
  (local.set $5
   ;; code offset: 0x58
   (i32.load offset=20
    ;; code offset: 0x56
    (local.get $0)
   )
  )
  ;; code offset: 0x61
  (i32.store offset=28
   ;; code offset: 0x5d
   (local.get $3)
   ;; code offset: 0x5f
   (local.get $2)
  )
  ;; code offset: 0x68
  (i32.store offset=24
   ;; code offset: 0x64
   (local.get $3)
   ;; code offset: 0x66
   (local.get $1)
  )
  ;; code offset: 0x74
  (i32.store offset=20
   ;; code offset: 0x6b
   (local.get $3)
   ;; code offset: 0x72
   (local.tee $1
    ;; code offset: 0x71
    (i32.sub
     ;; code offset: 0x6d
     (local.get $5)
     ;; code offset: 0x6f
     (local.get $4)
    )
   )
  )
  ;; code offset: 0x7c
  (local.set $6
   ;; code offset: 0x7b
   (i32.add
    ;; code offset: 0x77
    (local.get $1)
    ;; code offset: 0x79
    (local.get $2)
   )
  )
  ;; code offset: 0x80
  (local.set $7
   ;; code offset: 0x7e
   (i32.const 2)
  )
  ;; code offset: 0x87
  (local.set $1
   ;; code offset: 0x86
   (i32.add
    ;; code offset: 0x82
    (local.get $3)
    ;; code offset: 0x84
    (i32.const 16)
   )
  )
  ;; code offset: 0x18d
  (local.set $4
   ;; code offset: 0x89
   (block $label$1 (result i32)
    (block $label$2
     (block $label$3
      ;; code offset: 0xa5
      (if
       ;; code offset: 0xa4
       (i32.eqz
        ;; code offset: 0xa2
        (call $4
         ;; code offset: 0xa0
         (call $fimport$0
          ;; code offset: 0x91
          (i32.load offset=60
           ;; code offset: 0x8f
           (local.get $0)
          )
          ;; code offset: 0x98
          (i32.add
           ;; code offset: 0x94
           (local.get $3)
           ;; code offset: 0x96
           (i32.const 16)
          )
          ;; code offset: 0x99
          (i32.const 2)
          ;; code offset: 0x9f
          (i32.add
           ;; code offset: 0x9b
           (local.get $3)
           ;; code offset: 0x9d
           (i32.const 12)
          )
         )
        )
       )
       ;; code offset: 0xa7
       (loop $label$5
        ;; code offset: 0xb3
        (br_if $label$3
         ;; code offset: 0xb2
         (i32.eq
          ;; code offset: 0xa9
          (local.get $6)
          ;; code offset: 0xb0
          (local.tee $4
           ;; code offset: 0xad
           (i32.load offset=12
            ;; code offset: 0xab
            (local.get $3)
           )
          )
         )
        )
        ;; code offset: 0xba
        (br_if $label$2
         ;; code offset: 0xb9
         (i32.le_s
          ;; code offset: 0xb5
          (local.get $4)
          ;; code offset: 0xb7
          (i32.const -1)
         )
        )
        ;; code offset: 0xe2
        (i32.store
         ;; code offset: 0xce
         (local.tee $9
          ;; code offset: 0xcd
          (i32.add
           ;; code offset: 0xbc
           (local.get $1)
           ;; code offset: 0xcc
           (i32.shl
            ;; code offset: 0xc8
            (local.tee $5
             ;; code offset: 0xc7
             (i32.gt_u
              ;; code offset: 0xbe
              (local.get $4)
              ;; code offset: 0xc5
              (local.tee $8
               ;; code offset: 0xc2
               (i32.load offset=4
                ;; code offset: 0xc0
                (local.get $1)
               )
              )
             )
            )
            ;; code offset: 0xca
            (i32.const 3)
           )
          )
         )
         ;; code offset: 0xe1
         (i32.add
          ;; code offset: 0xda
          (local.tee $8
           ;; code offset: 0xd9
           (i32.sub
            ;; code offset: 0xd0
            (local.get $4)
            ;; code offset: 0xd8
            (select
             ;; code offset: 0xd2
             (local.get $8)
             ;; code offset: 0xd4
             (i32.const 0)
             ;; code offset: 0xd6
             (local.get $5)
            )
           )
          )
          ;; code offset: 0xde
          (i32.load
           ;; code offset: 0xdc
           (local.get $9)
          )
         )
        )
        ;; code offset: 0xf9
        (i32.store
         ;; code offset: 0xef
         (local.tee $9
          ;; code offset: 0xee
          (i32.add
           ;; code offset: 0xe5
           (local.get $1)
           ;; code offset: 0xed
           (select
            ;; code offset: 0xe7
            (i32.const 12)
            ;; code offset: 0xe9
            (i32.const 4)
            ;; code offset: 0xeb
            (local.get $5)
           )
          )
         )
         ;; code offset: 0xf8
         (i32.sub
          ;; code offset: 0xf3
          (i32.load
           ;; code offset: 0xf1
           (local.get $9)
          )
          ;; code offset: 0xf6
          (local.get $8)
         )
        )
        ;; code offset: 0x101
        (local.set $6
         ;; code offset: 0x100
         (i32.sub
          ;; code offset: 0xfc
          (local.get $6)
          ;; code offset: 0xfe
          (local.get $4)
         )
        )
        ;; code offset: 0x125
        (br_if $label$5
         ;; code offset: 0x124
         (i32.eqz
          ;; code offset: 0x122
          (call $4
           ;; code offset: 0x120
           (call $fimport$0
            ;; code offset: 0x105
            (i32.load offset=60
             ;; code offset: 0x103
             (local.get $0)
            )
            ;; code offset: 0x112
            (local.tee $1
             ;; code offset: 0x111
             (select
              ;; code offset: 0x10c
              (i32.add
               ;; code offset: 0x108
               (local.get $1)
               ;; code offset: 0x10a
               (i32.const 8)
              )
              ;; code offset: 0x10d
              (local.get $1)
              ;; code offset: 0x10f
              (local.get $5)
             )
            )
            ;; code offset: 0x119
            (local.tee $7
             ;; code offset: 0x118
             (i32.sub
              ;; code offset: 0x114
              (local.get $7)
              ;; code offset: 0x116
              (local.get $5)
             )
            )
            ;; code offset: 0x11f
            (i32.add
             ;; code offset: 0x11b
             (local.get $3)
             ;; code offset: 0x11d
             (i32.const 12)
            )
           )
          )
         )
        )
       )
      )
      ;; code offset: 0x12d
      (i32.store offset=12
       ;; code offset: 0x129
       (local.get $3)
       ;; code offset: 0x12b
       (i32.const -1)
      )
      ;; code offset: 0x135
      (br_if $label$2
       ;; code offset: 0x134
       (i32.ne
        ;; code offset: 0x130
        (local.get $6)
        ;; code offset: 0x132
        (i32.const -1)
       )
      )
     )
     ;; code offset: 0x141
     (i32.store offset=28
      ;; code offset: 0x138
      (local.get $0)
      ;; code offset: 0x13f
      (local.tee $1
       ;; code offset: 0x13c
       (i32.load offset=44
        ;; code offset: 0x13a
        (local.get $0)
       )
      )
     )
     ;; code offset: 0x148
     (i32.store offset=20
      ;; code offset: 0x144
      (local.get $0)
      ;; code offset: 0x146
      (local.get $1)
     )
     ;; code offset: 0x155
     (i32.store offset=16
      ;; code offset: 0x14b
      (local.get $0)
      ;; code offset: 0x154
      (i32.add
       ;; code offset: 0x14d
       (local.get $1)
       ;; code offset: 0x151
       (i32.load offset=48
        ;; code offset: 0x14f
        (local.get $0)
       )
      )
     )
     ;; code offset: 0x15a
     (br $label$1
      ;; code offset: 0x158
      (local.get $2)
     )
    )
    ;; code offset: 0x161
    (i32.store offset=28
     ;; code offset: 0x15d
     (local.get $0)
     ;; code offset: 0x15f
     (i32.const 0)
    )
    ;; code offset: 0x168
    (i64.store offset=16
     ;; code offset: 0x164
     (local.get $0)
     ;; code offset: 0x166
     (i64.const 0)
    )
    ;; code offset: 0x175
    (i32.store
     ;; code offset: 0x16b
     (local.get $0)
     ;; code offset: 0x174
     (i32.or
      ;; code offset: 0x16f
      (i32.load
       ;; code offset: 0x16d
       (local.get $0)
      )
      ;; code offset: 0x172
      (i32.const 32)
     )
    )
    ;; code offset: 0x183
    (drop
     ;; code offset: 0x181
     (br_if $label$1
      ;; code offset: 0x17a
      (local.tee $4
       ;; code offset: 0x178
       (i32.const 0)
      )
      ;; code offset: 0x180
      (i32.eq
       ;; code offset: 0x17c
       (local.get $7)
       ;; code offset: 0x17e
       (i32.const 2)
      )
     )
    )
    ;; code offset: 0x18b
    (i32.sub
     ;; code offset: 0x184
     (local.get $2)
     ;; code offset: 0x188
     (i32.load offset=4
      ;; code offset: 0x186
      (local.get $1)
     )
    )
   )
  )
  ;; code offset: 0x194
  (global.set $global$0
   ;; code offset: 0x193
   (i32.add
    ;; code offset: 0x18f
    (local.get $3)
    ;; code offset: 0x191
    (i32.const 32)
   )
  )
  ;; code offset: 0x196
  (local.get $4)
 )
 (func $6 (param $0 i32) (result i32)
  ;; code offset: 0x19b
  (i32.const 0)
 )
 (func $7 (param $0 i32) (param $1 i64) (param $2 i32) (result i64)
  ;; code offset: 0x1a0
  (i64.const 0)
 )
 (func $8 (param $0 i32) (result i32)
  (local $1 i32)
  ;; code offset: 0x1b6
  (i32.store8 offset=74
   ;; code offset: 0x1a7
   (local.get $0)
   ;; code offset: 0x1b5
   (i32.or
    ;; code offset: 0x1b2
    (i32.add
     ;; code offset: 0x1ae
     (local.tee $1
      ;; code offset: 0x1ab
      (i32.load8_u offset=74
       ;; code offset: 0x1a9
       (local.get $0)
      )
     )
     ;; code offset: 0x1b0
     (i32.const -1)
    )
    ;; code offset: 0x1b3
    (local.get $1)
   )
  )
  ;; code offset: 0x1c3
  (if
   ;; code offset: 0x1c2
   (i32.and
    ;; code offset: 0x1be
    (local.tee $1
     ;; code offset: 0x1bb
     (i32.load
      ;; code offset: 0x1b9
      (local.get $0)
     )
    )
    ;; code offset: 0x1c0
    (i32.const 8)
   )
   (block
    ;; code offset: 0x1cc
    (i32.store
     ;; code offset: 0x1c5
     (local.get $0)
     ;; code offset: 0x1cb
     (i32.or
      ;; code offset: 0x1c7
      (local.get $1)
      ;; code offset: 0x1c9
      (i32.const 32)
     )
    )
    ;; code offset: 0x1d1
    (return
     ;; code offset: 0x1cf
     (i32.const -1)
    )
   )
  )
  ;; code offset: 0x1d7
  (i64.store offset=4 align=4
   ;; code offset: 0x1d3
   (local.get $0)
   ;; code offset: 0x1d5
   (i64.const 0)
  )
  ;; code offset: 0x1e3
  (i32.store offset=28
   ;; code offset: 0x1da
   (local.get $0)
   ;; code offset: 0x1e1
   (local.tee $1
    ;; code offset: 0x1de
    (i32.load offset=44
     ;; code offset: 0x1dc
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x1ea
  (i32.store offset=20
   ;; code offset: 0x1e6
   (local.get $0)
   ;; code offset: 0x1e8
   (local.get $1)
  )
  ;; code offset: 0x1f7
  (i32.store offset=16
   ;; code offset: 0x1ed
   (local.get $0)
   ;; code offset: 0x1f6
   (i32.add
    ;; code offset: 0x1ef
    (local.get $1)
    ;; code offset: 0x1f3
    (i32.load offset=48
     ;; code offset: 0x1f1
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x1fa
  (i32.const 0)
 )
 (func $9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
  (local $3 i32)
  (local $4 i32)
  (local $5 i32)
  ;; code offset: 0x20c
  (if
   ;; code offset: 0x20b
   (i32.ge_u
    ;; code offset: 0x206
    (local.get $2)
    ;; code offset: 0x208
    (i32.const 512)
   )
   (block
    ;; code offset: 0x216
    (drop
     ;; code offset: 0x214
     (call $fimport$1
      ;; code offset: 0x20e
      (local.get $0)
      ;; code offset: 0x210
      (local.get $1)
      ;; code offset: 0x212
      (local.get $2)
     )
    )
    ;; code offset: 0x219
    (return
     ;; code offset: 0x217
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x220
  (local.set $3
   ;; code offset: 0x21f
   (i32.add
    ;; code offset: 0x21b
    (local.get $0)
    ;; code offset: 0x21d
    (local.get $2)
   )
  )
  ;; code offset: 0x222
  (block $label$2
   ;; code offset: 0x22d
   (if
    ;; code offset: 0x22c
    (i32.eqz
     ;; code offset: 0x22b
     (i32.and
      ;; code offset: 0x228
      (i32.xor
       ;; code offset: 0x224
       (local.get $0)
       ;; code offset: 0x226
       (local.get $1)
      )
      ;; code offset: 0x229
      (i32.const 3)
     )
    )
    (block
     ;; code offset: 0x22f
     (block $label$4
      ;; code offset: 0x236
      (if
       ;; code offset: 0x235
       (i32.lt_s
        ;; code offset: 0x231
        (local.get $2)
        ;; code offset: 0x233
        (i32.const 1)
       )
       (block
        ;; code offset: 0x23a
        (local.set $2
         ;; code offset: 0x238
         (local.get $0)
        )
        ;; code offset: 0x23c
        (br $label$4)
       )
      )
      ;; code offset: 0x245
      (if
       ;; code offset: 0x244
       (i32.eqz
        ;; code offset: 0x243
        (i32.and
         ;; code offset: 0x23f
         (local.get $0)
         ;; code offset: 0x241
         (i32.const 3)
        )
       )
       (block
        ;; code offset: 0x249
        (local.set $2
         ;; code offset: 0x247
         (local.get $0)
        )
        ;; code offset: 0x24b
        (br $label$4)
       )
      )
      ;; code offset: 0x250
      (local.set $2
       ;; code offset: 0x24e
       (local.get $0)
      )
      ;; code offset: 0x252
      (loop $label$7
       ;; code offset: 0x25b
       (i32.store8
        ;; code offset: 0x254
        (local.get $2)
        ;; code offset: 0x258
        (i32.load8_u
         ;; code offset: 0x256
         (local.get $1)
        )
       )
       ;; code offset: 0x263
       (local.set $1
        ;; code offset: 0x262
        (i32.add
         ;; code offset: 0x25e
         (local.get $1)
         ;; code offset: 0x260
         (i32.const 1)
        )
       )
       ;; code offset: 0x26f
       (br_if $label$4
        ;; code offset: 0x26e
        (i32.ge_u
         ;; code offset: 0x26a
         (local.tee $2
          ;; code offset: 0x269
          (i32.add
           ;; code offset: 0x265
           (local.get $2)
           ;; code offset: 0x267
           (i32.const 1)
          )
         )
         ;; code offset: 0x26c
         (local.get $3)
        )
       )
       ;; code offset: 0x276
       (br_if $label$7
        ;; code offset: 0x275
        (i32.and
         ;; code offset: 0x271
         (local.get $2)
         ;; code offset: 0x273
         (i32.const 3)
        )
       )
      )
     )
     ;; code offset: 0x27a
     (block $label$8
      ;; code offset: 0x287
      (br_if $label$8
       ;; code offset: 0x286
       (i32.lt_u
        ;; code offset: 0x281
        (local.tee $4
         ;; code offset: 0x280
         (i32.and
          ;; code offset: 0x27c
          (local.get $3)
          ;; code offset: 0x27e
          (i32.const -4)
         )
        )
        ;; code offset: 0x283
        (i32.const 64)
       )
      )
      ;; code offset: 0x293
      (br_if $label$8
       ;; code offset: 0x292
       (i32.gt_u
        ;; code offset: 0x289
        (local.get $2)
        ;; code offset: 0x290
        (local.tee $5
         ;; code offset: 0x28f
         (i32.add
          ;; code offset: 0x28b
          (local.get $4)
          ;; code offset: 0x28d
          (i32.const -64)
         )
        )
       )
      )
      ;; code offset: 0x295
      (loop $label$9
       ;; code offset: 0x29e
       (i32.store
        ;; code offset: 0x297
        (local.get $2)
        ;; code offset: 0x29b
        (i32.load
         ;; code offset: 0x299
         (local.get $1)
        )
       )
       ;; code offset: 0x2a8
       (i32.store offset=4
        ;; code offset: 0x2a1
        (local.get $2)
        ;; code offset: 0x2a5
        (i32.load offset=4
         ;; code offset: 0x2a3
         (local.get $1)
        )
       )
       ;; code offset: 0x2b2
       (i32.store offset=8
        ;; code offset: 0x2ab
        (local.get $2)
        ;; code offset: 0x2af
        (i32.load offset=8
         ;; code offset: 0x2ad
         (local.get $1)
        )
       )
       ;; code offset: 0x2bc
       (i32.store offset=12
        ;; code offset: 0x2b5
        (local.get $2)
        ;; code offset: 0x2b9
        (i32.load offset=12
         ;; code offset: 0x2b7
         (local.get $1)
        )
       )
       ;; code offset: 0x2c6
       (i32.store offset=16
        ;; code offset: 0x2bf
        (local.get $2)
        ;; code offset: 0x2c3
        (i32.load offset=16
         ;; code offset: 0x2c1
         (local.get $1)
        )
       )
       ;; code offset: 0x2d0
       (i32.store offset=20
        ;; code offset: 0x2c9
        (local.get $2)
        ;; code offset: 0x2cd
        (i32.load offset=20
         ;; code offset: 0x2cb
         (local.get $1)
        )
       )
       ;; code offset: 0x2da
       (i32.store offset=24
        ;; code offset: 0x2d3
        (local.get $2)
        ;; code offset: 0x2d7
        (i32.load offset=24
         ;; code offset: 0x2d5
         (local.get $1)
        )
       )
       ;; code offset: 0x2e4
       (i32.store offset=28
        ;; code offset: 0x2dd
        (local.get $2)
        ;; code offset: 0x2e1
        (i32.load offset=28
         ;; code offset: 0x2df
         (local.get $1)
        )
       )
       ;; code offset: 0x2ee
       (i32.store offset=32
        ;; code offset: 0x2e7
        (local.get $2)
        ;; code offset: 0x2eb
        (i32.load offset=32
         ;; code offset: 0x2e9
         (local.get $1)
        )
       )
       ;; code offset: 0x2f8
       (i32.store offset=36
        ;; code offset: 0x2f1
        (local.get $2)
        ;; code offset: 0x2f5
        (i32.load offset=36
         ;; code offset: 0x2f3
         (local.get $1)
        )
       )
       ;; code offset: 0x302
       (i32.store offset=40
        ;; code offset: 0x2fb
        (local.get $2)
        ;; code offset: 0x2ff
        (i32.load offset=40
         ;; code offset: 0x2fd
         (local.get $1)
        )
       )
       ;; code offset: 0x30c
       (i32.store offset=44
        ;; code offset: 0x305
        (local.get $2)
        ;; code offset: 0x309
        (i32.load offset=44
         ;; code offset: 0x307
         (local.get $1)
        )
       )
       ;; code offset: 0x316
       (i32.store offset=48
        ;; code offset: 0x30f
        (local.get $2)
        ;; code offset: 0x313
        (i32.load offset=48
         ;; code offset: 0x311
         (local.get $1)
        )
       )
       ;; code offset: 0x320
       (i32.store offset=52
        ;; code offset: 0x319
        (local.get $2)
        ;; code offset: 0x31d
        (i32.load offset=52
         ;; code offset: 0x31b
         (local.get $1)
        )
       )
       ;; code offset: 0x32a
       (i32.store offset=56
        ;; code offset: 0x323
        (local.get $2)
        ;; code offset: 0x327
        (i32.load offset=56
         ;; code offset: 0x325
         (local.get $1)
        )
       )
       ;; code offset: 0x334
       (i32.store offset=60
        ;; code offset: 0x32d
        (local.get $2)
        ;; code offset: 0x331
        (i32.load offset=60
         ;; code offset: 0x32f
         (local.get $1)
        )
       )
       ;; code offset: 0x33c
       (local.set $1
        ;; code offset: 0x33b
        (i32.sub
         ;; code offset: 0x337
         (local.get $1)
         ;; code offset: 0x339
         (i32.const -64)
        )
       )
       ;; code offset: 0x348
       (br_if $label$9
        ;; code offset: 0x347
        (i32.le_u
         ;; code offset: 0x343
         (local.tee $2
          ;; code offset: 0x342
          (i32.sub
           ;; code offset: 0x33e
           (local.get $2)
           ;; code offset: 0x340
           (i32.const -64)
          )
         )
         ;; code offset: 0x345
         (local.get $5)
        )
       )
      )
     )
     ;; code offset: 0x351
     (br_if $label$2
      ;; code offset: 0x350
      (i32.ge_u
       ;; code offset: 0x34c
       (local.get $2)
       ;; code offset: 0x34e
       (local.get $4)
      )
     )
     ;; code offset: 0x353
     (loop $label$10
      ;; code offset: 0x35c
      (i32.store
       ;; code offset: 0x355
       (local.get $2)
       ;; code offset: 0x359
       (i32.load
        ;; code offset: 0x357
        (local.get $1)
       )
      )
      ;; code offset: 0x364
      (local.set $1
       ;; code offset: 0x363
       (i32.add
        ;; code offset: 0x35f
        (local.get $1)
        ;; code offset: 0x361
        (i32.const 4)
       )
      )
      ;; code offset: 0x370
      (br_if $label$10
       ;; code offset: 0x36f
       (i32.lt_u
        ;; code offset: 0x36b
        (local.tee $2
         ;; code offset: 0x36a
         (i32.add
          ;; code offset: 0x366
          (local.get $2)
          ;; code offset: 0x368
          (i32.const 4)
         )
        )
        ;; code offset: 0x36d
        (local.get $4)
       )
      )
     )
     ;; code offset: 0x373
     (br $label$2)
    )
   )
   ;; code offset: 0x37b
   (if
    ;; code offset: 0x37a
    (i32.lt_u
     ;; code offset: 0x376
     (local.get $3)
     ;; code offset: 0x378
     (i32.const 4)
    )
    (block
     ;; code offset: 0x37f
     (local.set $2
      ;; code offset: 0x37d
      (local.get $0)
     )
     ;; code offset: 0x381
     (br $label$2)
    )
   )
   ;; code offset: 0x38e
   (if
    ;; code offset: 0x38d
    (i32.lt_u
     ;; code offset: 0x389
     (local.tee $4
      ;; code offset: 0x388
      (i32.add
       ;; code offset: 0x384
       (local.get $3)
       ;; code offset: 0x386
       (i32.const -4)
      )
     )
     ;; code offset: 0x38b
     (local.get $0)
    )
    (block
     ;; code offset: 0x392
     (local.set $2
      ;; code offset: 0x390
      (local.get $0)
     )
     ;; code offset: 0x394
     (br $label$2)
    )
   )
   ;; code offset: 0x399
   (local.set $2
    ;; code offset: 0x397
    (local.get $0)
   )
   ;; code offset: 0x39b
   (loop $label$13
    ;; code offset: 0x3a4
    (i32.store8
     ;; code offset: 0x39d
     (local.get $2)
     ;; code offset: 0x3a1
     (i32.load8_u
      ;; code offset: 0x39f
      (local.get $1)
     )
    )
    ;; code offset: 0x3ae
    (i32.store8 offset=1
     ;; code offset: 0x3a7
     (local.get $2)
     ;; code offset: 0x3ab
     (i32.load8_u offset=1
      ;; code offset: 0x3a9
      (local.get $1)
     )
    )
    ;; code offset: 0x3b8
    (i32.store8 offset=2
     ;; code offset: 0x3b1
     (local.get $2)
     ;; code offset: 0x3b5
     (i32.load8_u offset=2
      ;; code offset: 0x3b3
      (local.get $1)
     )
    )
    ;; code offset: 0x3c2
    (i32.store8 offset=3
     ;; code offset: 0x3bb
     (local.get $2)
     ;; code offset: 0x3bf
     (i32.load8_u offset=3
      ;; code offset: 0x3bd
      (local.get $1)
     )
    )
    ;; code offset: 0x3ca
    (local.set $1
     ;; code offset: 0x3c9
     (i32.add
      ;; code offset: 0x3c5
      (local.get $1)
      ;; code offset: 0x3c7
      (i32.const 4)
     )
    )
    ;; code offset: 0x3d6
    (br_if $label$13
     ;; code offset: 0x3d5
     (i32.le_u
      ;; code offset: 0x3d1
      (local.tee $2
       ;; code offset: 0x3d0
       (i32.add
        ;; code offset: 0x3cc
        (local.get $2)
        ;; code offset: 0x3ce
        (i32.const 4)
       )
      )
      ;; code offset: 0x3d3
      (local.get $4)
     )
    )
   )
  )
  ;; code offset: 0x3df
  (if
   ;; code offset: 0x3de
   (i32.lt_u
    ;; code offset: 0x3da
    (local.get $2)
    ;; code offset: 0x3dc
    (local.get $3)
   )
   ;; code offset: 0x3e1
   (loop $label$15
    ;; code offset: 0x3ea
    (i32.store8
     ;; code offset: 0x3e3
     (local.get $2)
     ;; code offset: 0x3e7
     (i32.load8_u
      ;; code offset: 0x3e5
      (local.get $1)
     )
    )
    ;; code offset: 0x3f2
    (local.set $1
     ;; code offset: 0x3f1
     (i32.add
      ;; code offset: 0x3ed
      (local.get $1)
      ;; code offset: 0x3ef
      (i32.const 1)
     )
    )
    ;; code offset: 0x3fe
    (br_if $label$15
     ;; code offset: 0x3fd
     (i32.ne
      ;; code offset: 0x3f9
      (local.tee $2
       ;; code offset: 0x3f8
       (i32.add
        ;; code offset: 0x3f4
        (local.get $2)
        ;; code offset: 0x3f6
        (i32.const 1)
       )
      )
      ;; code offset: 0x3fb
      (local.get $3)
     )
    )
   )
  )
  ;; code offset: 0x402
  (local.get $0)
 )
 (func $10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
  (local $3 i32)
  (local $4 i32)
  (local $5 i32)
  (local $6 i32)
  ;; code offset: 0x410
  (block $label$1
   ;; code offset: 0x43a
   (if
    (block $label$2 (result i32)
     ;; code offset: 0x41c
     (if
      ;; code offset: 0x41b
      (i32.eqz
       ;; code offset: 0x419
       (local.tee $3
        ;; code offset: 0x416
        (i32.load offset=16
         ;; code offset: 0x414
         (local.get $2)
        )
       )
      )
      (block
       ;; code offset: 0x422
       (br_if $label$1
        ;; code offset: 0x420
        (call $8
         ;; code offset: 0x41e
         (local.get $2)
        )
       )
       ;; code offset: 0x429
       (local.set $3
        ;; code offset: 0x426
        (i32.load offset=16
         ;; code offset: 0x424
         (local.get $2)
        )
       )
      )
     )
     ;; code offset: 0x438
     (i32.lt_u
      ;; code offset: 0x435
      (i32.sub
       ;; code offset: 0x42c
       (local.get $3)
       ;; code offset: 0x433
       (local.tee $5
        ;; code offset: 0x430
        (i32.load offset=20
         ;; code offset: 0x42e
         (local.get $2)
        )
       )
      )
      ;; code offset: 0x436
      (local.get $1)
     )
    )
    ;; code offset: 0x44a
    (return
     ;; code offset: 0x447
     (call_indirect (type $i32_i32_i32_=>_i32)
      ;; code offset: 0x43c
      (local.get $2)
      ;; code offset: 0x43e
      (local.get $0)
      ;; code offset: 0x440
      (local.get $1)
      ;; code offset: 0x444
      (i32.load offset=36
       ;; code offset: 0x442
       (local.get $2)
      )
     )
    )
   )
   ;; code offset: 0x44c
   (block $label$5
    ;; code offset: 0x456
    (br_if $label$5
     ;; code offset: 0x455
     (i32.lt_s
      ;; code offset: 0x450
      (i32.load8_s offset=75
       ;; code offset: 0x44e
       (local.get $2)
      )
      ;; code offset: 0x453
      (i32.const 0)
     )
    )
    ;; code offset: 0x45a
    (local.set $4
     ;; code offset: 0x458
     (local.get $1)
    )
    ;; code offset: 0x45c
    (loop $label$6
     ;; code offset: 0x463
     (br_if $label$5
      ;; code offset: 0x462
      (i32.eqz
       ;; code offset: 0x460
       (local.tee $3
        ;; code offset: 0x45e
        (local.get $4)
       )
      )
     )
     ;; code offset: 0x475
     (br_if $label$6
      ;; code offset: 0x474
      (i32.ne
       ;; code offset: 0x46f
       (i32.load8_u
        ;; code offset: 0x46e
        (i32.add
         ;; code offset: 0x465
         (local.get $0)
         ;; code offset: 0x46c
         (local.tee $4
          ;; code offset: 0x46b
          (i32.add
           ;; code offset: 0x467
           (local.get $3)
           ;; code offset: 0x469
           (i32.const -1)
          )
         )
        )
       )
       ;; code offset: 0x472
       (i32.const 10)
      )
     )
    )
    ;; code offset: 0x48b
    (br_if $label$1
     ;; code offset: 0x48a
     (i32.lt_u
      ;; code offset: 0x486
      (local.tee $4
       ;; code offset: 0x483
       (call_indirect (type $i32_i32_i32_=>_i32)
        ;; code offset: 0x478
        (local.get $2)
        ;; code offset: 0x47a
        (local.get $0)
        ;; code offset: 0x47c
        (local.get $3)
        ;; code offset: 0x480
        (i32.load offset=36
         ;; code offset: 0x47e
         (local.get $2)
        )
       )
      )
      ;; code offset: 0x488
      (local.get $3)
     )
    )
    ;; code offset: 0x492
    (local.set $0
     ;; code offset: 0x491
     (i32.add
      ;; code offset: 0x48d
      (local.get $0)
      ;; code offset: 0x48f
      (local.get $3)
     )
    )
    ;; code offset: 0x499
    (local.set $1
     ;; code offset: 0x498
     (i32.sub
      ;; code offset: 0x494
      (local.get $1)
      ;; code offset: 0x496
      (local.get $3)
     )
    )
    ;; code offset: 0x4a0
    (local.set $5
     ;; code offset: 0x49d
     (i32.load offset=20
      ;; code offset: 0x49b
      (local.get $2)
     )
    )
    ;; code offset: 0x4a4
    (local.set $6
     ;; code offset: 0x4a2
     (local.get $3)
    )
   )
   ;; code offset: 0x4af
   (drop
    ;; code offset: 0x4ad
    (call $9
     ;; code offset: 0x4a7
     (local.get $5)
     ;; code offset: 0x4a9
     (local.get $0)
     ;; code offset: 0x4ab
     (local.get $1)
    )
   )
   ;; code offset: 0x4ba
   (i32.store offset=20
    ;; code offset: 0x4b0
    (local.get $2)
    ;; code offset: 0x4b9
    (i32.add
     ;; code offset: 0x4b4
     (i32.load offset=20
      ;; code offset: 0x4b2
      (local.get $2)
     )
     ;; code offset: 0x4b7
     (local.get $1)
    )
   )
   ;; code offset: 0x4c2
   (local.set $4
    ;; code offset: 0x4c1
    (i32.add
     ;; code offset: 0x4bd
     (local.get $1)
     ;; code offset: 0x4bf
     (local.get $6)
    )
   )
  )
  ;; code offset: 0x4c5
  (local.get $4)
 )
 (func $11 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
  (local $4 i32)
  (local $5 i32)
  ;; code offset: 0x4d3
  (local.set $4
   ;; code offset: 0x4d2
   (i32.mul
    ;; code offset: 0x4ce
    (local.get $1)
    ;; code offset: 0x4d0
    (local.get $2)
   )
  )
  ;; code offset: 0x4d5
  (block $label$1
   ;; code offset: 0x4df
   (if
    ;; code offset: 0x4de
    (i32.le_s
     ;; code offset: 0x4d9
     (i32.load offset=76
      ;; code offset: 0x4d7
      (local.get $3)
     )
     ;; code offset: 0x4dc
     (i32.const -1)
    )
    (block
     ;; code offset: 0x4e9
     (local.set $0
      ;; code offset: 0x4e7
      (call $10
       ;; code offset: 0x4e1
       (local.get $0)
       ;; code offset: 0x4e3
       (local.get $4)
       ;; code offset: 0x4e5
       (local.get $3)
      )
     )
     ;; code offset: 0x4eb
     (br $label$1)
    )
   )
   ;; code offset: 0x4f2
   (local.set $5
    ;; code offset: 0x4f0
    (call $15
     ;; code offset: 0x4ee
     (local.get $3)
    )
   )
   ;; code offset: 0x4fc
   (local.set $0
    ;; code offset: 0x4fa
    (call $10
     ;; code offset: 0x4f4
     (local.get $0)
     ;; code offset: 0x4f6
     (local.get $4)
     ;; code offset: 0x4f8
     (local.get $3)
    )
   )
   ;; code offset: 0x501
   (br_if $label$1
    ;; code offset: 0x500
    (i32.eqz
     ;; code offset: 0x4fe
     (local.get $5)
    )
   )
   ;; code offset: 0x505
   (call $16
    ;; code offset: 0x503
    (local.get $3)
   )
  )
  ;; code offset: 0x50d
  (if
   ;; code offset: 0x50c
   (i32.eq
    ;; code offset: 0x508
    (local.get $0)
    ;; code offset: 0x50a
    (local.get $4)
   )
   ;; code offset: 0x516
   (return
    ;; code offset: 0x515
    (select
     ;; code offset: 0x50f
     (local.get $2)
     ;; code offset: 0x511
     (i32.const 0)
     ;; code offset: 0x513
     (local.get $1)
    )
   )
  )
  ;; code offset: 0x51c
  (i32.div_u
   ;; code offset: 0x518
   (local.get $0)
   ;; code offset: 0x51a
   (local.get $1)
  )
 )
 (func $12 (param $0 i32) (param $1 i32) (result i32)
  (local $2 i32)
  ;; code offset: 0x537
  (select
   ;; code offset: 0x522
   (i32.const -1)
   ;; code offset: 0x524
   (i32.const 0)
   ;; code offset: 0x536
   (i32.ne
    ;; code offset: 0x532
    (call $11
     ;; code offset: 0x526
     (local.get $0)
     ;; code offset: 0x528
     (i32.const 1)
     ;; code offset: 0x52e
     (local.tee $2
      ;; code offset: 0x52c
      (call $17
       ;; code offset: 0x52a
       (local.get $0)
      )
     )
     ;; code offset: 0x530
     (local.get $1)
    )
    ;; code offset: 0x534
    (local.get $2)
   )
  )
 )
 (func $13 (param $0 i32) (param $1 i32) (result i32)
  (local $2 i32)
  (local $3 i32)
  (local $4 i32)
  ;; code offset: 0x549
  (global.set $global$0
   ;; code offset: 0x547
   (local.tee $3
    ;; code offset: 0x546
    (i32.sub
     ;; code offset: 0x542
     (global.get $global$0)
     ;; code offset: 0x544
     (i32.const 16)
    )
   )
  )
  ;; code offset: 0x54f
  (i32.store8 offset=15
   ;; code offset: 0x54b
   (local.get $3)
   ;; code offset: 0x54d
   (local.get $1)
  )
  ;; code offset: 0x552
  (block $label$1
   ;; code offset: 0x55c
   (if
    ;; code offset: 0x55b
    (i32.eqz
     ;; code offset: 0x559
     (local.tee $2
      ;; code offset: 0x556
      (i32.load offset=16
       ;; code offset: 0x554
       (local.get $0)
      )
     )
    )
    (block
     ;; code offset: 0x560
     (local.set $2
      ;; code offset: 0x55e
      (i32.const -1)
     )
     ;; code offset: 0x566
     (br_if $label$1
      ;; code offset: 0x564
      (call $8
       ;; code offset: 0x562
       (local.get $0)
      )
     )
     ;; code offset: 0x56d
     (local.set $2
      ;; code offset: 0x56a
      (i32.load offset=16
       ;; code offset: 0x568
       (local.get $0)
      )
     )
    )
   )
   ;; code offset: 0x570
   (block $label$3
    ;; code offset: 0x57c
    (br_if $label$3
     ;; code offset: 0x57b
     (i32.ge_u
      ;; code offset: 0x577
      (local.tee $4
       ;; code offset: 0x574
       (i32.load offset=20
        ;; code offset: 0x572
        (local.get $0)
       )
      )
      ;; code offset: 0x579
      (local.get $2)
     )
    )
    ;; code offset: 0x58c
    (br_if $label$3
     ;; code offset: 0x58b
     (i32.eq
      ;; code offset: 0x584
      (local.tee $2
       ;; code offset: 0x583
       (i32.and
        ;; code offset: 0x57e
        (local.get $1)
        ;; code offset: 0x580
        (i32.const 255)
       )
      )
      ;; code offset: 0x588
      (i32.load8_s offset=75
       ;; code offset: 0x586
       (local.get $0)
      )
     )
    )
    ;; code offset: 0x595
    (i32.store offset=20
     ;; code offset: 0x58e
     (local.get $0)
     ;; code offset: 0x594
     (i32.add
      ;; code offset: 0x590
      (local.get $4)
      ;; code offset: 0x592
      (i32.const 1)
     )
    )
    ;; code offset: 0x59c
    (i32.store8
     ;; code offset: 0x598
     (local.get $4)
     ;; code offset: 0x59a
     (local.get $1)
    )
    ;; code offset: 0x59f
    (br $label$1)
   )
   ;; code offset: 0x5a4
   (local.set $2
    ;; code offset: 0x5a2
    (i32.const -1)
   )
   ;; code offset: 0x5ba
   (br_if $label$1
    ;; code offset: 0x5b9
    (i32.ne
     ;; code offset: 0x5b4
     (call_indirect (type $i32_i32_i32_=>_i32)
      ;; code offset: 0x5a6
      (local.get $0)
      ;; code offset: 0x5ac
      (i32.add
       ;; code offset: 0x5a8
       (local.get $3)
       ;; code offset: 0x5aa
       (i32.const 15)
      )
      ;; code offset: 0x5ad
      (i32.const 1)
      ;; code offset: 0x5b1
      (i32.load offset=36
       ;; code offset: 0x5af
       (local.get $0)
      )
     )
     ;; code offset: 0x5b7
     (i32.const 1)
    )
   )
   ;; code offset: 0x5c1
   (local.set $2
    ;; code offset: 0x5be
    (i32.load8_u offset=15
     ;; code offset: 0x5bc
     (local.get $3)
    )
   )
  )
  ;; code offset: 0x5c9
  (global.set $global$0
   ;; code offset: 0x5c8
   (i32.add
    ;; code offset: 0x5c4
    (local.get $3)
    ;; code offset: 0x5c6
    (i32.const 16)
   )
  )
  ;; code offset: 0x5cb
  (local.get $2)
 )
 (func $14 (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  ;; code offset: 0x5e2
  (if
   ;; code offset: 0x5e1
   (i32.ge_s
    ;; code offset: 0x5dc
    (i32.load offset=76
     ;; code offset: 0x5da
     (local.tee $1
      ;; code offset: 0x5d7
      (i32.load
       ;; code offset: 0x5d4
       (i32.const 1040)
      )
     )
    )
    ;; code offset: 0x5df
    (i32.const 0)
   )
   ;; code offset: 0x5e8
   (local.set $2
    ;; code offset: 0x5e6
    (call $15
     ;; code offset: 0x5e4
     (local.get $1)
    )
   )
  )
  ;; code offset: 0x636
  (local.set $0
   ;; code offset: 0x5eb
   (block $label$2 (result i32)
    ;; code offset: 0x5fa
    (drop
     ;; code offset: 0x5f8
     (br_if $label$2
      ;; code offset: 0x5ed
      (i32.const -1)
      ;; code offset: 0x5f7
      (i32.lt_s
       ;; code offset: 0x5f3
       (call $12
        ;; code offset: 0x5ef
        (local.get $0)
        ;; code offset: 0x5f1
        (local.get $1)
       )
       ;; code offset: 0x5f5
       (i32.const 0)
      )
     )
    )
    ;; code offset: 0x5fb
    (block $label$3
     ;; code offset: 0x605
     (br_if $label$3
      ;; code offset: 0x604
      (i32.eq
       ;; code offset: 0x5ff
       (i32.load8_u offset=75
        ;; code offset: 0x5fd
        (local.get $1)
       )
       ;; code offset: 0x602
       (i32.const 10)
      )
     )
     ;; code offset: 0x614
     (br_if $label$3
      ;; code offset: 0x613
      (i32.ge_u
       ;; code offset: 0x60c
       (local.tee $0
        ;; code offset: 0x609
        (i32.load offset=20
         ;; code offset: 0x607
         (local.get $1)
        )
       )
       ;; code offset: 0x610
       (i32.load offset=16
        ;; code offset: 0x60e
        (local.get $1)
       )
      )
     )
     ;; code offset: 0x61d
     (i32.store offset=20
      ;; code offset: 0x616
      (local.get $1)
      ;; code offset: 0x61c
      (i32.add
       ;; code offset: 0x618
       (local.get $0)
       ;; code offset: 0x61a
       (i32.const 1)
      )
     )
     ;; code offset: 0x624
     (i32.store8
      ;; code offset: 0x620
      (local.get $0)
      ;; code offset: 0x622
      (i32.const 10)
     )
     ;; code offset: 0x629
     (br $label$2
      ;; code offset: 0x627
      (i32.const 0)
     )
    )
    ;; code offset: 0x634
    (i32.shr_s
     ;; code offset: 0x630
     (call $13
      ;; code offset: 0x62c
      (local.get $1)
      ;; code offset: 0x62e
      (i32.const 10)
     )
     ;; code offset: 0x632
     (i32.const 31)
    )
   )
  )
  ;; code offset: 0x63a
  (if
   ;; code offset: 0x638
   (local.get $2)
   ;; code offset: 0x63e
   (call $16
    ;; code offset: 0x63c
    (local.get $1)
   )
  )
  ;; code offset: 0x641
  (local.get $0)
 )
 (func $15 (param $0 i32) (result i32)
  ;; code offset: 0x646
  (i32.const 1)
 )
 (func $16 (param $0 i32)
  ;; code offset: 0x64b
  (nop)
 )
 (func $17 (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  (local $3 i32)
  ;; code offset: 0x658
  (local.set $1
   ;; code offset: 0x656
   (local.get $0)
  )
  ;; code offset: 0x65a
  (block $label$1
   (block $label$2
    ;; code offset: 0x664
    (br_if $label$2
     ;; code offset: 0x663
     (i32.eqz
      ;; code offset: 0x662
      (i32.and
       ;; code offset: 0x65e
       (local.get $0)
       ;; code offset: 0x660
       (i32.const 3)
      )
     )
    )
    ;; code offset: 0x66c
    (if
     ;; code offset: 0x66b
     (i32.eqz
      ;; code offset: 0x668
      (i32.load8_u
       ;; code offset: 0x666
       (local.get $0)
      )
     )
     ;; code offset: 0x670
     (return
      ;; code offset: 0x66e
      (i32.const 0)
     )
    )
    ;; code offset: 0x672
    (loop $label$4
     ;; code offset: 0x67f
     (br_if $label$2
      ;; code offset: 0x67e
      (i32.eqz
       ;; code offset: 0x67d
       (i32.and
        ;; code offset: 0x679
        (local.tee $1
         ;; code offset: 0x678
         (i32.add
          ;; code offset: 0x674
          (local.get $1)
          ;; code offset: 0x676
          (i32.const 1)
         )
        )
        ;; code offset: 0x67b
        (i32.const 3)
       )
      )
     )
     ;; code offset: 0x686
     (br_if $label$4
      ;; code offset: 0x683
      (i32.load8_u
       ;; code offset: 0x681
       (local.get $1)
      )
     )
    )
    ;; code offset: 0x689
    (br $label$1)
   )
   ;; code offset: 0x68c
   (loop $label$5
    ;; code offset: 0x695
    (local.set $1
     ;; code offset: 0x694
     (i32.add
      ;; code offset: 0x690
      (local.tee $2
       ;; code offset: 0x68e
       (local.get $1)
      )
      ;; code offset: 0x692
      (i32.const 4)
     )
    )
    ;; code offset: 0x6b2
    (br_if $label$5
     ;; code offset: 0x6b1
     (i32.eqz
      ;; code offset: 0x6b0
      (i32.and
       ;; code offset: 0x6a9
       (i32.and
        ;; code offset: 0x6a0
        (i32.xor
         ;; code offset: 0x69c
         (local.tee $3
          ;; code offset: 0x699
          (i32.load
           ;; code offset: 0x697
           (local.get $2)
          )
         )
         ;; code offset: 0x69e
         (i32.const -1)
        )
        ;; code offset: 0x6a8
        (i32.add
         ;; code offset: 0x6a1
         (local.get $3)
         ;; code offset: 0x6a3
         (i32.const -16843009)
        )
       )
       ;; code offset: 0x6aa
       (i32.const -2139062144)
      )
     )
    )
   )
   ;; code offset: 0x6bc
   (if
    ;; code offset: 0x6bb
    (i32.eqz
     ;; code offset: 0x6ba
     (i32.and
      ;; code offset: 0x6b5
      (local.get $3)
      ;; code offset: 0x6b7
      (i32.const 255)
     )
    )
    ;; code offset: 0x6c3
    (return
     ;; code offset: 0x6c2
     (i32.sub
      ;; code offset: 0x6be
      (local.get $2)
      ;; code offset: 0x6c0
      (local.get $0)
     )
    )
   )
   ;; code offset: 0x6c5
   (loop $label$7
    ;; code offset: 0x6cc
    (local.set $3
     ;; code offset: 0x6c9
     (i32.load8_u offset=1
      ;; code offset: 0x6c7
      (local.get $2)
     )
    )
    ;; code offset: 0x6d5
    (local.set $2
     ;; code offset: 0x6d3
     (local.tee $1
      ;; code offset: 0x6d2
      (i32.add
       ;; code offset: 0x6ce
       (local.get $2)
       ;; code offset: 0x6d0
       (i32.const 1)
      )
     )
    )
    ;; code offset: 0x6d9
    (br_if $label$7
     ;; code offset: 0x6d7
     (local.get $3)
    )
   )
  )
  ;; code offset: 0x6e1
  (i32.sub
   ;; code offset: 0x6dd
   (local.get $1)
   ;; code offset: 0x6df
   (local.get $0)
  )
 )
 (func $18 (result i32)
  ;; code offset: 0x6e5
  (global.get $global$0)
 )
 (func $19 (param $0 i32)
  ;; code offset: 0x6ec
  (global.set $global$0
   ;; code offset: 0x6ea
   (local.get $0)
  )
 )
 (func $20 (param $0 i32) (result i32)
  (local $1 i32)
  ;; code offset: 0x6fd
  (global.set $global$0
   ;; code offset: 0x6fb
   (local.tee $1
    ;; code offset: 0x6fa
    (i32.and
     ;; code offset: 0x6f7
     (i32.sub
      ;; code offset: 0x6f3
      (global.get $global$0)
      ;; code offset: 0x6f5
      (local.get $0)
     )
     ;; code offset: 0x6f8
     (i32.const -16)
    )
   )
  )
  ;; code offset: 0x6ff
  (local.get $1)
 )
 (func $21 (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) (result i64)
  ;; code offset: 0x70c
  (call_indirect (type $i32_i64_i32_=>_i64)
   ;; code offset: 0x704
   (local.get $1)
   ;; code offset: 0x706
   (local.get $2)
   ;; code offset: 0x708
   (local.get $3)
   ;; code offset: 0x70a
   (local.get $0)
  )
 )
 (func $22 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
  (local $5 i64)
  ;; code offset: 0x72c
  (call $fimport$2
   ;; code offset: 0x72b
   (i32.wrap_i64
    ;; code offset: 0x72a
    (i64.shr_u
     ;; code offset: 0x726
     (local.tee $5
      ;; code offset: 0x724
      (call $21
       ;; code offset: 0x714
       (local.get $0)
       ;; code offset: 0x716
       (local.get $1)
       ;; code offset: 0x721
       (i64.or
        ;; code offset: 0x71a
        (i64.extend_i32_u
         ;; code offset: 0x718
         (local.get $2)
        )
        ;; code offset: 0x720
        (i64.shl
         ;; code offset: 0x71d
         (i64.extend_i32_u
          ;; code offset: 0x71b
          (local.get $3)
         )
         ;; code offset: 0x71e
         (i64.const 32)
        )
       )
       ;; code offset: 0x722
       (local.get $4)
      )
     )
     ;; code offset: 0x728
     (i64.const 32)
    )
   )
  )
  ;; code offset: 0x730
  (i32.wrap_i64
   ;; code offset: 0x72e
   (local.get $5)
  )
 )
 (func $23 (param $0 i32) (result i32)
  ;; code offset: 0x736
  (memory.grow
   ;; code offset: 0x734
   (local.get $0)
  )
 )
 ;; custom section ".debug_info", size 79
 ;; custom section ".debug_abbrev", size 64
 ;; custom section ".debug_line", size 53
 ;; custom section ".debug_str", size 206
)
