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 $0 (func (param i32) (result i32)))
 (type $1 (func (param i32 i32 i32) (result i32)))
 (type $2 (func (param i32)))
 (type $3 (func (result i32)))
 (type $4 (func (param i32 i32) (result i32)))
 (type $5 (func (param i32 i32 i32 i32) (result i32)))
 (type $6 (func (param i32 i64 i32) (result i64)))
 (type $7 (func))
 (type $8 (func (param i32 i32 i64 i32) (result i64)))
 (type $9 (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 $0 (i32.const 1024) "hello, world!\00\00\00\18\04")
 (data $1 (i32.const 1048) "\05")
 (data $2 (i32.const 1060) "\01")
 (data $3 (i32.const 1084) "\02\00\00\00\03\00\00\00\c8\04\00\00\00\04")
 (data $4 (i32.const 1108) "\01")
 (data $5 (i32.const 1123) "\n\ff\ff\ff\ff")
 (elem $0 (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 - 0x4
  (nop)
 )
 (func $1 (result i32)
  ;; code offset: 0xc - 0xd
  (drop
   ;; code offset: 0xa - 0xc
   (call $14
    ;; code offset: 0x7 - 0xa
    (i32.const 1024)
   )
  )
  ;; code offset: 0xd - 0xf
  (i32.const 0)
 )
 (func $2 (param $0 i32) (param $1 i32) (result i32)
  ;; code offset: 0x12 - 0x14
  (call $1)
 )
 (func $3 (result i32)
  ;; code offset: 0x17 - 0x1a
  (i32.const 1200)
 )
 (func $4 (param $0 i32) (result i32)
  ;; code offset: 0x20 - 0x26
  (if
   ;; code offset: 0x1f - 0x20
   (i32.eqz
    ;; code offset: 0x1d - 0x1f
    (local.get $0)
   )
   (then
    ;; code offset: 0x24 - 0x25
    (return
     ;; code offset: 0x22 - 0x24
     (i32.const 0)
    )
   )
  )
  ;; code offset: 0x2a - 0x2d
  (i32.store
   ;; code offset: 0x26 - 0x28
   (call $3)
   ;; code offset: 0x28 - 0x2a
   (local.get $0)
  )
  ;; code offset: 0x2d - 0x2f
  (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 - 0x4a
  (global.set $global$0
   ;; code offset: 0x46 - 0x48
   (local.tee $3
    ;; code offset: 0x45 - 0x46
    (i32.sub
     ;; code offset: 0x41 - 0x43
     (global.get $global$0)
     ;; code offset: 0x43 - 0x45
     (i32.const 32)
    )
   )
  )
  ;; code offset: 0x53 - 0x56
  (i32.store offset=16
   ;; code offset: 0x4a - 0x4c
   (local.get $3)
   ;; code offset: 0x51 - 0x53
   (local.tee $4
    ;; code offset: 0x4e - 0x51
    (i32.load offset=28
     ;; code offset: 0x4c - 0x4e
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x5b - 0x5d
  (local.set $5
   ;; code offset: 0x58 - 0x5b
   (i32.load offset=20
    ;; code offset: 0x56 - 0x58
    (local.get $0)
   )
  )
  ;; code offset: 0x61 - 0x64
  (i32.store offset=28
   ;; code offset: 0x5d - 0x5f
   (local.get $3)
   ;; code offset: 0x5f - 0x61
   (local.get $2)
  )
  ;; code offset: 0x68 - 0x6b
  (i32.store offset=24
   ;; code offset: 0x64 - 0x66
   (local.get $3)
   ;; code offset: 0x66 - 0x68
   (local.get $1)
  )
  ;; code offset: 0x74 - 0x77
  (i32.store offset=20
   ;; code offset: 0x6b - 0x6d
   (local.get $3)
   ;; code offset: 0x72 - 0x74
   (local.tee $1
    ;; code offset: 0x71 - 0x72
    (i32.sub
     ;; code offset: 0x6d - 0x6f
     (local.get $5)
     ;; code offset: 0x6f - 0x71
     (local.get $4)
    )
   )
  )
  ;; code offset: 0x7c - 0x7e
  (local.set $6
   ;; code offset: 0x7b - 0x7c
   (i32.add
    ;; code offset: 0x77 - 0x79
    (local.get $1)
    ;; code offset: 0x79 - 0x7b
    (local.get $2)
   )
  )
  ;; code offset: 0x80 - 0x82
  (local.set $7
   ;; code offset: 0x7e - 0x80
   (i32.const 2)
  )
  ;; code offset: 0x87 - 0x89
  (local.set $1
   ;; code offset: 0x86 - 0x87
   (i32.add
    ;; code offset: 0x82 - 0x84
    (local.get $3)
    ;; code offset: 0x84 - 0x86
    (i32.const 16)
   )
  )
  ;; code offset: 0x18d - 0x18f
  (local.set $4
   ;; code offset: 0x89 - 0x18d
   (block $block2 (result i32)
    ;; code offset: 0x8b - 0x15d
    (block $block1
     ;; code offset: 0x8d - 0x138
     (block $block
      ;; code offset: 0xa5 - 0x129
      (if
       ;; code offset: 0xa4 - 0xa5
       (i32.eqz
        ;; code offset: 0xa2 - 0xa4
        (call $4
         ;; code offset: 0xa0 - 0xa2
         (call $fimport$0
          ;; code offset: 0x91 - 0x94
          (i32.load offset=60
           ;; code offset: 0x8f - 0x91
           (local.get $0)
          )
          ;; code offset: 0x98 - 0x99
          (i32.add
           ;; code offset: 0x94 - 0x96
           (local.get $3)
           ;; code offset: 0x96 - 0x98
           (i32.const 16)
          )
          ;; code offset: 0x99 - 0x9b
          (i32.const 2)
          ;; code offset: 0x9f - 0xa0
          (i32.add
           ;; code offset: 0x9b - 0x9d
           (local.get $3)
           ;; code offset: 0x9d - 0x9f
           (i32.const 12)
          )
         )
        )
       )
       (then
        ;; code offset: 0xa7 - 0x128
        (loop $label
         ;; code offset: 0xb3 - 0xb5
         (br_if $block
          ;; code offset: 0xb2 - 0xb3
          (i32.eq
           ;; code offset: 0xa9 - 0xab
           (local.get $6)
           ;; code offset: 0xb0 - 0xb2
           (local.tee $4
            ;; code offset: 0xad - 0xb0
            (i32.load offset=12
             ;; code offset: 0xab - 0xad
             (local.get $3)
            )
           )
          )
         )
         ;; code offset: 0xba - 0xbc
         (br_if $block1
          ;; code offset: 0xb9 - 0xba
          (i32.le_s
           ;; code offset: 0xb5 - 0xb7
           (local.get $4)
           ;; code offset: 0xb7 - 0xb9
           (i32.const -1)
          )
         )
         ;; code offset: 0xe2 - 0xe5
         (i32.store
          ;; code offset: 0xce - 0xd0
          (local.tee $9
           ;; code offset: 0xcd - 0xce
           (i32.add
            ;; code offset: 0xbc - 0xbe
            (local.get $1)
            ;; code offset: 0xcc - 0xcd
            (i32.shl
             ;; code offset: 0xc8 - 0xca
             (local.tee $5
              ;; code offset: 0xc7 - 0xc8
              (i32.gt_u
               ;; code offset: 0xbe - 0xc0
               (local.get $4)
               ;; code offset: 0xc5 - 0xc7
               (local.tee $8
                ;; code offset: 0xc2 - 0xc5
                (i32.load offset=4
                 ;; code offset: 0xc0 - 0xc2
                 (local.get $1)
                )
               )
              )
             )
             ;; code offset: 0xca - 0xcc
             (i32.const 3)
            )
           )
          )
          ;; code offset: 0xe1 - 0xe2
          (i32.add
           ;; code offset: 0xda - 0xdc
           (local.tee $8
            ;; code offset: 0xd9 - 0xda
            (i32.sub
             ;; code offset: 0xd0 - 0xd2
             (local.get $4)
             ;; code offset: 0xd8 - 0xd9
             (select
              ;; code offset: 0xd2 - 0xd4
              (local.get $8)
              ;; code offset: 0xd4 - 0xd6
              (i32.const 0)
              ;; code offset: 0xd6 - 0xd8
              (local.get $5)
             )
            )
           )
           ;; code offset: 0xde - 0xe1
           (i32.load
            ;; code offset: 0xdc - 0xde
            (local.get $9)
           )
          )
         )
         ;; code offset: 0xf9 - 0xfc
         (i32.store
          ;; code offset: 0xef - 0xf1
          (local.tee $9
           ;; code offset: 0xee - 0xef
           (i32.add
            ;; code offset: 0xe5 - 0xe7
            (local.get $1)
            ;; code offset: 0xed - 0xee
            (select
             ;; code offset: 0xe7 - 0xe9
             (i32.const 12)
             ;; code offset: 0xe9 - 0xeb
             (i32.const 4)
             ;; code offset: 0xeb - 0xed
             (local.get $5)
            )
           )
          )
          ;; code offset: 0xf8 - 0xf9
          (i32.sub
           ;; code offset: 0xf3 - 0xf6
           (i32.load
            ;; code offset: 0xf1 - 0xf3
            (local.get $9)
           )
           ;; code offset: 0xf6 - 0xf8
           (local.get $8)
          )
         )
         ;; code offset: 0x101 - 0x103
         (local.set $6
          ;; code offset: 0x100 - 0x101
          (i32.sub
           ;; code offset: 0xfc - 0xfe
           (local.get $6)
           ;; code offset: 0xfe - 0x100
           (local.get $4)
          )
         )
         ;; code offset: 0x125 - 0x127
         (br_if $label
          ;; code offset: 0x124 - 0x125
          (i32.eqz
           ;; code offset: 0x122 - 0x124
           (call $4
            ;; code offset: 0x120 - 0x122
            (call $fimport$0
             ;; code offset: 0x105 - 0x108
             (i32.load offset=60
              ;; code offset: 0x103 - 0x105
              (local.get $0)
             )
             ;; code offset: 0x112 - 0x114
             (local.tee $1
              ;; code offset: 0x111 - 0x112
              (select
               ;; code offset: 0x10c - 0x10d
               (i32.add
                ;; code offset: 0x108 - 0x10a
                (local.get $1)
                ;; code offset: 0x10a - 0x10c
                (i32.const 8)
               )
               ;; code offset: 0x10d - 0x10f
               (local.get $1)
               ;; code offset: 0x10f - 0x111
               (local.get $5)
              )
             )
             ;; code offset: 0x119 - 0x11b
             (local.tee $7
              ;; code offset: 0x118 - 0x119
              (i32.sub
               ;; code offset: 0x114 - 0x116
               (local.get $7)
               ;; code offset: 0x116 - 0x118
               (local.get $5)
              )
             )
             ;; code offset: 0x11f - 0x120
             (i32.add
              ;; code offset: 0x11b - 0x11d
              (local.get $3)
              ;; code offset: 0x11d - 0x11f
              (i32.const 12)
             )
            )
           )
          )
         )
        )
       )
      )
      ;; code offset: 0x12d - 0x130
      (i32.store offset=12
       ;; code offset: 0x129 - 0x12b
       (local.get $3)
       ;; code offset: 0x12b - 0x12d
       (i32.const -1)
      )
      ;; code offset: 0x135 - 0x137
      (br_if $block1
       ;; code offset: 0x134 - 0x135
       (i32.ne
        ;; code offset: 0x130 - 0x132
        (local.get $6)
        ;; code offset: 0x132 - 0x134
        (i32.const -1)
       )
      )
     )
     ;; code offset: 0x141 - 0x144
     (i32.store offset=28
      ;; code offset: 0x138 - 0x13a
      (local.get $0)
      ;; code offset: 0x13f - 0x141
      (local.tee $1
       ;; code offset: 0x13c - 0x13f
       (i32.load offset=44
        ;; code offset: 0x13a - 0x13c
        (local.get $0)
       )
      )
     )
     ;; code offset: 0x148 - 0x14b
     (i32.store offset=20
      ;; code offset: 0x144 - 0x146
      (local.get $0)
      ;; code offset: 0x146 - 0x148
      (local.get $1)
     )
     ;; code offset: 0x155 - 0x158
     (i32.store offset=16
      ;; code offset: 0x14b - 0x14d
      (local.get $0)
      ;; code offset: 0x154 - 0x155
      (i32.add
       ;; code offset: 0x14d - 0x14f
       (local.get $1)
       ;; code offset: 0x151 - 0x154
       (i32.load offset=48
        ;; code offset: 0x14f - 0x151
        (local.get $0)
       )
      )
     )
     ;; code offset: 0x15a - 0x15c
     (br $block2
      ;; code offset: 0x158 - 0x15a
      (local.get $2)
     )
    )
    ;; code offset: 0x161 - 0x164
    (i32.store offset=28
     ;; code offset: 0x15d - 0x15f
     (local.get $0)
     ;; code offset: 0x15f - 0x161
     (i32.const 0)
    )
    ;; code offset: 0x168 - 0x16b
    (i64.store offset=16
     ;; code offset: 0x164 - 0x166
     (local.get $0)
     ;; code offset: 0x166 - 0x168
     (i64.const 0)
    )
    ;; code offset: 0x175 - 0x178
    (i32.store
     ;; code offset: 0x16b - 0x16d
     (local.get $0)
     ;; code offset: 0x174 - 0x175
     (i32.or
      ;; code offset: 0x16f - 0x172
      (i32.load
       ;; code offset: 0x16d - 0x16f
       (local.get $0)
      )
      ;; code offset: 0x172 - 0x174
      (i32.const 32)
     )
    )
    ;; code offset: 0x183 - 0x184
    (drop
     ;; code offset: 0x181 - 0x183
     (br_if $block2
      ;; code offset: 0x17a - 0x17c
      (local.tee $4
       ;; code offset: 0x178 - 0x17a
       (i32.const 0)
      )
      ;; code offset: 0x180 - 0x181
      (i32.eq
       ;; code offset: 0x17c - 0x17e
       (local.get $7)
       ;; code offset: 0x17e - 0x180
       (i32.const 2)
      )
     )
    )
    ;; code offset: 0x18b - 0x18c
    (i32.sub
     ;; code offset: 0x184 - 0x186
     (local.get $2)
     ;; code offset: 0x188 - 0x18b
     (i32.load offset=4
      ;; code offset: 0x186 - 0x188
      (local.get $1)
     )
    )
   )
  )
  ;; code offset: 0x194 - 0x196
  (global.set $global$0
   ;; code offset: 0x193 - 0x194
   (i32.add
    ;; code offset: 0x18f - 0x191
    (local.get $3)
    ;; code offset: 0x191 - 0x193
    (i32.const 32)
   )
  )
  ;; code offset: 0x196 - 0x198
  (local.get $4)
 )
 (func $6 (param $0 i32) (result i32)
  ;; code offset: 0x19b - 0x19d
  (i32.const 0)
 )
 (func $7 (param $0 i32) (param $1 i64) (param $2 i32) (result i64)
  ;; code offset: 0x1a0 - 0x1a2
  (i64.const 0)
 )
 (func $8 (param $0 i32) (result i32)
  (local $1 i32)
  ;; code offset: 0x1b6 - 0x1b9
  (i32.store8 offset=74
   ;; code offset: 0x1a7 - 0x1a9
   (local.get $0)
   ;; code offset: 0x1b5 - 0x1b6
   (i32.or
    ;; code offset: 0x1b2 - 0x1b3
    (i32.add
     ;; code offset: 0x1ae - 0x1b0
     (local.tee $1
      ;; code offset: 0x1ab - 0x1ae
      (i32.load8_u offset=74
       ;; code offset: 0x1a9 - 0x1ab
       (local.get $0)
      )
     )
     ;; code offset: 0x1b0 - 0x1b2
     (i32.const -1)
    )
    ;; code offset: 0x1b3 - 0x1b5
    (local.get $1)
   )
  )
  ;; code offset: 0x1c3 - 0x1d3
  (if
   ;; code offset: 0x1c2 - 0x1c3
   (i32.and
    ;; code offset: 0x1be - 0x1c0
    (local.tee $1
     ;; code offset: 0x1bb - 0x1be
     (i32.load
      ;; code offset: 0x1b9 - 0x1bb
      (local.get $0)
     )
    )
    ;; code offset: 0x1c0 - 0x1c2
    (i32.const 8)
   )
   (then
    ;; code offset: 0x1cc - 0x1cf
    (i32.store
     ;; code offset: 0x1c5 - 0x1c7
     (local.get $0)
     ;; code offset: 0x1cb - 0x1cc
     (i32.or
      ;; code offset: 0x1c7 - 0x1c9
      (local.get $1)
      ;; code offset: 0x1c9 - 0x1cb
      (i32.const 32)
     )
    )
    ;; code offset: 0x1d1 - 0x1d2
    (return
     ;; code offset: 0x1cf - 0x1d1
     (i32.const -1)
    )
   )
  )
  ;; code offset: 0x1d7 - 0x1da
  (i64.store offset=4 align=4
   ;; code offset: 0x1d3 - 0x1d5
   (local.get $0)
   ;; code offset: 0x1d5 - 0x1d7
   (i64.const 0)
  )
  ;; code offset: 0x1e3 - 0x1e6
  (i32.store offset=28
   ;; code offset: 0x1da - 0x1dc
   (local.get $0)
   ;; code offset: 0x1e1 - 0x1e3
   (local.tee $1
    ;; code offset: 0x1de - 0x1e1
    (i32.load offset=44
     ;; code offset: 0x1dc - 0x1de
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x1ea - 0x1ed
  (i32.store offset=20
   ;; code offset: 0x1e6 - 0x1e8
   (local.get $0)
   ;; code offset: 0x1e8 - 0x1ea
   (local.get $1)
  )
  ;; code offset: 0x1f7 - 0x1fa
  (i32.store offset=16
   ;; code offset: 0x1ed - 0x1ef
   (local.get $0)
   ;; code offset: 0x1f6 - 0x1f7
   (i32.add
    ;; code offset: 0x1ef - 0x1f1
    (local.get $1)
    ;; code offset: 0x1f3 - 0x1f6
    (i32.load offset=48
     ;; code offset: 0x1f1 - 0x1f3
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x1fa - 0x1fc
  (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 - 0x21b
  (if
   ;; code offset: 0x20b - 0x20c
   (i32.ge_u
    ;; code offset: 0x206 - 0x208
    (local.get $2)
    ;; code offset: 0x208 - 0x20b
    (i32.const 512)
   )
   (then
    ;; code offset: 0x216 - 0x217
    (drop
     ;; code offset: 0x214 - 0x216
     (call $fimport$1
      ;; code offset: 0x20e - 0x210
      (local.get $0)
      ;; code offset: 0x210 - 0x212
      (local.get $1)
      ;; code offset: 0x212 - 0x214
      (local.get $2)
     )
    )
    ;; code offset: 0x219 - 0x21a
    (return
     ;; code offset: 0x217 - 0x219
     (local.get $0)
    )
   )
  )
  ;; code offset: 0x220 - 0x222
  (local.set $3
   ;; code offset: 0x21f - 0x220
   (i32.add
    ;; code offset: 0x21b - 0x21d
    (local.get $0)
    ;; code offset: 0x21d - 0x21f
    (local.get $2)
   )
  )
  ;; code offset: 0x222 - 0x3da
  (block $block2
   ;; code offset: 0x22d - 0x376
   (if
    ;; code offset: 0x22c - 0x22d
    (i32.eqz
     ;; code offset: 0x22b - 0x22c
     (i32.and
      ;; code offset: 0x228 - 0x229
      (i32.xor
       ;; code offset: 0x224 - 0x226
       (local.get $0)
       ;; code offset: 0x226 - 0x228
       (local.get $1)
      )
      ;; code offset: 0x229 - 0x22b
      (i32.const 3)
     )
    )
    (then
     ;; code offset: 0x22f - 0x27a
     (block $block
      ;; code offset: 0x236 - 0x23f
      (if
       ;; code offset: 0x235 - 0x236
       (i32.lt_s
        ;; code offset: 0x231 - 0x233
        (local.get $2)
        ;; code offset: 0x233 - 0x235
        (i32.const 1)
       )
       (then
        ;; code offset: 0x23a - 0x23c
        (local.set $2
         ;; code offset: 0x238 - 0x23a
         (local.get $0)
        )
        ;; code offset: 0x23c - 0x23e
        (br $block)
       )
      )
      ;; code offset: 0x245 - 0x24e
      (if
       ;; code offset: 0x244 - 0x245
       (i32.eqz
        ;; code offset: 0x243 - 0x244
        (i32.and
         ;; code offset: 0x23f - 0x241
         (local.get $0)
         ;; code offset: 0x241 - 0x243
         (i32.const 3)
        )
       )
       (then
        ;; code offset: 0x249 - 0x24b
        (local.set $2
         ;; code offset: 0x247 - 0x249
         (local.get $0)
        )
        ;; code offset: 0x24b - 0x24d
        (br $block)
       )
      )
      ;; code offset: 0x250 - 0x252
      (local.set $2
       ;; code offset: 0x24e - 0x250
       (local.get $0)
      )
      ;; code offset: 0x252 - 0x279
      (loop $label
       ;; code offset: 0x25b - 0x25e
       (i32.store8
        ;; code offset: 0x254 - 0x256
        (local.get $2)
        ;; code offset: 0x258 - 0x25b
        (i32.load8_u
         ;; code offset: 0x256 - 0x258
         (local.get $1)
        )
       )
       ;; code offset: 0x263 - 0x265
       (local.set $1
        ;; code offset: 0x262 - 0x263
        (i32.add
         ;; code offset: 0x25e - 0x260
         (local.get $1)
         ;; code offset: 0x260 - 0x262
         (i32.const 1)
        )
       )
       ;; code offset: 0x26f - 0x271
       (br_if $block
        ;; code offset: 0x26e - 0x26f
        (i32.ge_u
         ;; code offset: 0x26a - 0x26c
         (local.tee $2
          ;; code offset: 0x269 - 0x26a
          (i32.add
           ;; code offset: 0x265 - 0x267
           (local.get $2)
           ;; code offset: 0x267 - 0x269
           (i32.const 1)
          )
         )
         ;; code offset: 0x26c - 0x26e
         (local.get $3)
        )
       )
       ;; code offset: 0x276 - 0x278
       (br_if $label
        ;; code offset: 0x275 - 0x276
        (i32.and
         ;; code offset: 0x271 - 0x273
         (local.get $2)
         ;; code offset: 0x273 - 0x275
         (i32.const 3)
        )
       )
      )
     )
     ;; code offset: 0x27a - 0x34c
     (block $block1
      ;; code offset: 0x287 - 0x289
      (br_if $block1
       ;; code offset: 0x286 - 0x287
       (i32.lt_u
        ;; code offset: 0x281 - 0x283
        (local.tee $4
         ;; code offset: 0x280 - 0x281
         (i32.and
          ;; code offset: 0x27c - 0x27e
          (local.get $3)
          ;; code offset: 0x27e - 0x280
          (i32.const -4)
         )
        )
        ;; code offset: 0x283 - 0x286
        (i32.const 64)
       )
      )
      ;; code offset: 0x293 - 0x295
      (br_if $block1
       ;; code offset: 0x292 - 0x293
       (i32.gt_u
        ;; code offset: 0x289 - 0x28b
        (local.get $2)
        ;; code offset: 0x290 - 0x292
        (local.tee $5
         ;; code offset: 0x28f - 0x290
         (i32.add
          ;; code offset: 0x28b - 0x28d
          (local.get $4)
          ;; code offset: 0x28d - 0x28f
          (i32.const -64)
         )
        )
       )
      )
      ;; code offset: 0x295 - 0x34b
      (loop $label1
       ;; code offset: 0x29e - 0x2a1
       (i32.store
        ;; code offset: 0x297 - 0x299
        (local.get $2)
        ;; code offset: 0x29b - 0x29e
        (i32.load
         ;; code offset: 0x299 - 0x29b
         (local.get $1)
        )
       )
       ;; code offset: 0x2a8 - 0x2ab
       (i32.store offset=4
        ;; code offset: 0x2a1 - 0x2a3
        (local.get $2)
        ;; code offset: 0x2a5 - 0x2a8
        (i32.load offset=4
         ;; code offset: 0x2a3 - 0x2a5
         (local.get $1)
        )
       )
       ;; code offset: 0x2b2 - 0x2b5
       (i32.store offset=8
        ;; code offset: 0x2ab - 0x2ad
        (local.get $2)
        ;; code offset: 0x2af - 0x2b2
        (i32.load offset=8
         ;; code offset: 0x2ad - 0x2af
         (local.get $1)
        )
       )
       ;; code offset: 0x2bc - 0x2bf
       (i32.store offset=12
        ;; code offset: 0x2b5 - 0x2b7
        (local.get $2)
        ;; code offset: 0x2b9 - 0x2bc
        (i32.load offset=12
         ;; code offset: 0x2b7 - 0x2b9
         (local.get $1)
        )
       )
       ;; code offset: 0x2c6 - 0x2c9
       (i32.store offset=16
        ;; code offset: 0x2bf - 0x2c1
        (local.get $2)
        ;; code offset: 0x2c3 - 0x2c6
        (i32.load offset=16
         ;; code offset: 0x2c1 - 0x2c3
         (local.get $1)
        )
       )
       ;; code offset: 0x2d0 - 0x2d3
       (i32.store offset=20
        ;; code offset: 0x2c9 - 0x2cb
        (local.get $2)
        ;; code offset: 0x2cd - 0x2d0
        (i32.load offset=20
         ;; code offset: 0x2cb - 0x2cd
         (local.get $1)
        )
       )
       ;; code offset: 0x2da - 0x2dd
       (i32.store offset=24
        ;; code offset: 0x2d3 - 0x2d5
        (local.get $2)
        ;; code offset: 0x2d7 - 0x2da
        (i32.load offset=24
         ;; code offset: 0x2d5 - 0x2d7
         (local.get $1)
        )
       )
       ;; code offset: 0x2e4 - 0x2e7
       (i32.store offset=28
        ;; code offset: 0x2dd - 0x2df
        (local.get $2)
        ;; code offset: 0x2e1 - 0x2e4
        (i32.load offset=28
         ;; code offset: 0x2df - 0x2e1
         (local.get $1)
        )
       )
       ;; code offset: 0x2ee - 0x2f1
       (i32.store offset=32
        ;; code offset: 0x2e7 - 0x2e9
        (local.get $2)
        ;; code offset: 0x2eb - 0x2ee
        (i32.load offset=32
         ;; code offset: 0x2e9 - 0x2eb
         (local.get $1)
        )
       )
       ;; code offset: 0x2f8 - 0x2fb
       (i32.store offset=36
        ;; code offset: 0x2f1 - 0x2f3
        (local.get $2)
        ;; code offset: 0x2f5 - 0x2f8
        (i32.load offset=36
         ;; code offset: 0x2f3 - 0x2f5
         (local.get $1)
        )
       )
       ;; code offset: 0x302 - 0x305
       (i32.store offset=40
        ;; code offset: 0x2fb - 0x2fd
        (local.get $2)
        ;; code offset: 0x2ff - 0x302
        (i32.load offset=40
         ;; code offset: 0x2fd - 0x2ff
         (local.get $1)
        )
       )
       ;; code offset: 0x30c - 0x30f
       (i32.store offset=44
        ;; code offset: 0x305 - 0x307
        (local.get $2)
        ;; code offset: 0x309 - 0x30c
        (i32.load offset=44
         ;; code offset: 0x307 - 0x309
         (local.get $1)
        )
       )
       ;; code offset: 0x316 - 0x319
       (i32.store offset=48
        ;; code offset: 0x30f - 0x311
        (local.get $2)
        ;; code offset: 0x313 - 0x316
        (i32.load offset=48
         ;; code offset: 0x311 - 0x313
         (local.get $1)
        )
       )
       ;; code offset: 0x320 - 0x323
       (i32.store offset=52
        ;; code offset: 0x319 - 0x31b
        (local.get $2)
        ;; code offset: 0x31d - 0x320
        (i32.load offset=52
         ;; code offset: 0x31b - 0x31d
         (local.get $1)
        )
       )
       ;; code offset: 0x32a - 0x32d
       (i32.store offset=56
        ;; code offset: 0x323 - 0x325
        (local.get $2)
        ;; code offset: 0x327 - 0x32a
        (i32.load offset=56
         ;; code offset: 0x325 - 0x327
         (local.get $1)
        )
       )
       ;; code offset: 0x334 - 0x337
       (i32.store offset=60
        ;; code offset: 0x32d - 0x32f
        (local.get $2)
        ;; code offset: 0x331 - 0x334
        (i32.load offset=60
         ;; code offset: 0x32f - 0x331
         (local.get $1)
        )
       )
       ;; code offset: 0x33c - 0x33e
       (local.set $1
        ;; code offset: 0x33b - 0x33c
        (i32.sub
         ;; code offset: 0x337 - 0x339
         (local.get $1)
         ;; code offset: 0x339 - 0x33b
         (i32.const -64)
        )
       )
       ;; code offset: 0x348 - 0x34a
       (br_if $label1
        ;; code offset: 0x347 - 0x348
        (i32.le_u
         ;; code offset: 0x343 - 0x345
         (local.tee $2
          ;; code offset: 0x342 - 0x343
          (i32.sub
           ;; code offset: 0x33e - 0x340
           (local.get $2)
           ;; code offset: 0x340 - 0x342
           (i32.const -64)
          )
         )
         ;; code offset: 0x345 - 0x347
         (local.get $5)
        )
       )
      )
     )
     ;; code offset: 0x351 - 0x353
     (br_if $block2
      ;; code offset: 0x350 - 0x351
      (i32.ge_u
       ;; code offset: 0x34c - 0x34e
       (local.get $2)
       ;; code offset: 0x34e - 0x350
       (local.get $4)
      )
     )
     ;; code offset: 0x353 - 0x373
     (loop $label2
      ;; code offset: 0x35c - 0x35f
      (i32.store
       ;; code offset: 0x355 - 0x357
       (local.get $2)
       ;; code offset: 0x359 - 0x35c
       (i32.load
        ;; code offset: 0x357 - 0x359
        (local.get $1)
       )
      )
      ;; code offset: 0x364 - 0x366
      (local.set $1
       ;; code offset: 0x363 - 0x364
       (i32.add
        ;; code offset: 0x35f - 0x361
        (local.get $1)
        ;; code offset: 0x361 - 0x363
        (i32.const 4)
       )
      )
      ;; code offset: 0x370 - 0x372
      (br_if $label2
       ;; code offset: 0x36f - 0x370
       (i32.lt_u
        ;; code offset: 0x36b - 0x36d
        (local.tee $2
         ;; code offset: 0x36a - 0x36b
         (i32.add
          ;; code offset: 0x366 - 0x368
          (local.get $2)
          ;; code offset: 0x368 - 0x36a
          (i32.const 4)
         )
        )
        ;; code offset: 0x36d - 0x36f
        (local.get $4)
       )
      )
     )
     ;; code offset: 0x373 - 0x375
     (br $block2)
    )
   )
   ;; code offset: 0x37b - 0x384
   (if
    ;; code offset: 0x37a - 0x37b
    (i32.lt_u
     ;; code offset: 0x376 - 0x378
     (local.get $3)
     ;; code offset: 0x378 - 0x37a
     (i32.const 4)
    )
    (then
     ;; code offset: 0x37f - 0x381
     (local.set $2
      ;; code offset: 0x37d - 0x37f
      (local.get $0)
     )
     ;; code offset: 0x381 - 0x383
     (br $block2)
    )
   )
   ;; code offset: 0x38e - 0x397
   (if
    ;; code offset: 0x38d - 0x38e
    (i32.lt_u
     ;; code offset: 0x389 - 0x38b
     (local.tee $4
      ;; code offset: 0x388 - 0x389
      (i32.add
       ;; code offset: 0x384 - 0x386
       (local.get $3)
       ;; code offset: 0x386 - 0x388
       (i32.const -4)
      )
     )
     ;; code offset: 0x38b - 0x38d
     (local.get $0)
    )
    (then
     ;; code offset: 0x392 - 0x394
     (local.set $2
      ;; code offset: 0x390 - 0x392
      (local.get $0)
     )
     ;; code offset: 0x394 - 0x396
     (br $block2)
    )
   )
   ;; code offset: 0x399 - 0x39b
   (local.set $2
    ;; code offset: 0x397 - 0x399
    (local.get $0)
   )
   ;; code offset: 0x39b - 0x3d9
   (loop $label3
    ;; code offset: 0x3a4 - 0x3a7
    (i32.store8
     ;; code offset: 0x39d - 0x39f
     (local.get $2)
     ;; code offset: 0x3a1 - 0x3a4
     (i32.load8_u
      ;; code offset: 0x39f - 0x3a1
      (local.get $1)
     )
    )
    ;; code offset: 0x3ae - 0x3b1
    (i32.store8 offset=1
     ;; code offset: 0x3a7 - 0x3a9
     (local.get $2)
     ;; code offset: 0x3ab - 0x3ae
     (i32.load8_u offset=1
      ;; code offset: 0x3a9 - 0x3ab
      (local.get $1)
     )
    )
    ;; code offset: 0x3b8 - 0x3bb
    (i32.store8 offset=2
     ;; code offset: 0x3b1 - 0x3b3
     (local.get $2)
     ;; code offset: 0x3b5 - 0x3b8
     (i32.load8_u offset=2
      ;; code offset: 0x3b3 - 0x3b5
      (local.get $1)
     )
    )
    ;; code offset: 0x3c2 - 0x3c5
    (i32.store8 offset=3
     ;; code offset: 0x3bb - 0x3bd
     (local.get $2)
     ;; code offset: 0x3bf - 0x3c2
     (i32.load8_u offset=3
      ;; code offset: 0x3bd - 0x3bf
      (local.get $1)
     )
    )
    ;; code offset: 0x3ca - 0x3cc
    (local.set $1
     ;; code offset: 0x3c9 - 0x3ca
     (i32.add
      ;; code offset: 0x3c5 - 0x3c7
      (local.get $1)
      ;; code offset: 0x3c7 - 0x3c9
      (i32.const 4)
     )
    )
    ;; code offset: 0x3d6 - 0x3d8
    (br_if $label3
     ;; code offset: 0x3d5 - 0x3d6
     (i32.le_u
      ;; code offset: 0x3d1 - 0x3d3
      (local.tee $2
       ;; code offset: 0x3d0 - 0x3d1
       (i32.add
        ;; code offset: 0x3cc - 0x3ce
        (local.get $2)
        ;; code offset: 0x3ce - 0x3d0
        (i32.const 4)
       )
      )
      ;; code offset: 0x3d3 - 0x3d5
      (local.get $4)
     )
    )
   )
  )
  ;; code offset: 0x3df - 0x402
  (if
   ;; code offset: 0x3de - 0x3df
   (i32.lt_u
    ;; code offset: 0x3da - 0x3dc
    (local.get $2)
    ;; code offset: 0x3dc - 0x3de
    (local.get $3)
   )
   (then
    ;; code offset: 0x3e1 - 0x401
    (loop $label4
     ;; code offset: 0x3ea - 0x3ed
     (i32.store8
      ;; code offset: 0x3e3 - 0x3e5
      (local.get $2)
      ;; code offset: 0x3e7 - 0x3ea
      (i32.load8_u
       ;; code offset: 0x3e5 - 0x3e7
       (local.get $1)
      )
     )
     ;; code offset: 0x3f2 - 0x3f4
     (local.set $1
      ;; code offset: 0x3f1 - 0x3f2
      (i32.add
       ;; code offset: 0x3ed - 0x3ef
       (local.get $1)
       ;; code offset: 0x3ef - 0x3f1
       (i32.const 1)
      )
     )
     ;; code offset: 0x3fe - 0x400
     (br_if $label4
      ;; code offset: 0x3fd - 0x3fe
      (i32.ne
       ;; code offset: 0x3f9 - 0x3fb
       (local.tee $2
        ;; code offset: 0x3f8 - 0x3f9
        (i32.add
         ;; code offset: 0x3f4 - 0x3f6
         (local.get $2)
         ;; code offset: 0x3f6 - 0x3f8
         (i32.const 1)
        )
       )
       ;; code offset: 0x3fb - 0x3fd
       (local.get $3)
      )
     )
    )
   )
  )
  ;; code offset: 0x402 - 0x404
  (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 - 0x4c2
  (block $block
   ;; code offset: 0x41a - 0x42a
   (if
    ;; code offset: 0x419 - 0x41a
    (i32.eqz
     ;; code offset: 0x417 - 0x419
     (local.tee $3
      ;; code offset: 0x414 - 0x417
      (i32.load offset=16
       ;; code offset: 0x412 - 0x414
       (local.get $2)
      )
     )
    )
    (then
     ;; code offset: 0x420 - 0x422
     (br_if $block
      ;; code offset: 0x41e - 0x420
      (call $8
       ;; code offset: 0x41c - 0x41e
       (local.get $2)
      )
     )
     ;; code offset: 0x427 - 0x429
     (local.set $3
      ;; code offset: 0x424 - 0x427
      (i32.load offset=16
       ;; code offset: 0x422 - 0x424
       (local.get $2)
      )
     )
    )
   )
   ;; code offset: 0x437 - 0x449
   (if
    ;; code offset: 0x436 - 0x437
    (i32.lt_u
     ;; code offset: 0x433 - 0x434
     (i32.sub
      ;; code offset: 0x42a - 0x42c
      (local.get $3)
      ;; code offset: 0x431 - 0x433
      (local.tee $5
       ;; code offset: 0x42e - 0x431
       (i32.load offset=20
        ;; code offset: 0x42c - 0x42e
        (local.get $2)
       )
      )
     )
     ;; code offset: 0x434 - 0x436
     (local.get $1)
    )
    (then
     ;; code offset: 0x447 - 0x448
     (return
      ;; code offset: 0x444 - 0x447
      (call_indirect (type $1)
       ;; code offset: 0x439 - 0x43b
       (local.get $2)
       ;; code offset: 0x43b - 0x43d
       (local.get $0)
       ;; code offset: 0x43d - 0x43f
       (local.get $1)
       ;; code offset: 0x441 - 0x444
       (i32.load offset=36
        ;; code offset: 0x43f - 0x441
        (local.get $2)
       )
      )
     )
    )
   )
   ;; code offset: 0x449 - 0x4a4
   (block $block1
    ;; code offset: 0x453 - 0x455
    (br_if $block1
     ;; code offset: 0x452 - 0x453
     (i32.lt_s
      ;; code offset: 0x44d - 0x450
      (i32.load8_s offset=75
       ;; code offset: 0x44b - 0x44d
       (local.get $2)
      )
      ;; code offset: 0x450 - 0x452
      (i32.const 0)
     )
    )
    ;; code offset: 0x457 - 0x459
    (local.set $4
     ;; code offset: 0x455 - 0x457
     (local.get $1)
    )
    ;; code offset: 0x459 - 0x475
    (loop $label
     ;; code offset: 0x460 - 0x462
     (br_if $block1
      ;; code offset: 0x45f - 0x460
      (i32.eqz
       ;; code offset: 0x45d - 0x45f
       (local.tee $3
        ;; code offset: 0x45b - 0x45d
        (local.get $4)
       )
      )
     )
     ;; code offset: 0x472 - 0x474
     (br_if $label
      ;; code offset: 0x471 - 0x472
      (i32.ne
       ;; code offset: 0x46c - 0x46f
       (i32.load8_u
        ;; code offset: 0x46b - 0x46c
        (i32.add
         ;; code offset: 0x462 - 0x464
         (local.get $0)
         ;; code offset: 0x469 - 0x46b
         (local.tee $4
          ;; code offset: 0x468 - 0x469
          (i32.add
           ;; code offset: 0x464 - 0x466
           (local.get $3)
           ;; code offset: 0x466 - 0x468
           (i32.const -1)
          )
         )
        )
       )
       ;; code offset: 0x46f - 0x471
       (i32.const 10)
      )
     )
    )
    ;; code offset: 0x488 - 0x48a
    (br_if $block
     ;; code offset: 0x487 - 0x488
     (i32.lt_u
      ;; code offset: 0x483 - 0x485
      (local.tee $4
       ;; code offset: 0x480 - 0x483
       (call_indirect (type $1)
        ;; code offset: 0x475 - 0x477
        (local.get $2)
        ;; code offset: 0x477 - 0x479
        (local.get $0)
        ;; code offset: 0x479 - 0x47b
        (local.get $3)
        ;; code offset: 0x47d - 0x480
        (i32.load offset=36
         ;; code offset: 0x47b - 0x47d
         (local.get $2)
        )
       )
      )
      ;; code offset: 0x485 - 0x487
      (local.get $3)
     )
    )
    ;; code offset: 0x48f - 0x491
    (local.set $0
     ;; code offset: 0x48e - 0x48f
     (i32.add
      ;; code offset: 0x48a - 0x48c
      (local.get $0)
      ;; code offset: 0x48c - 0x48e
      (local.get $3)
     )
    )
    ;; code offset: 0x496 - 0x498
    (local.set $1
     ;; code offset: 0x495 - 0x496
     (i32.sub
      ;; code offset: 0x491 - 0x493
      (local.get $1)
      ;; code offset: 0x493 - 0x495
      (local.get $3)
     )
    )
    ;; code offset: 0x49d - 0x49f
    (local.set $5
     ;; code offset: 0x49a - 0x49d
     (i32.load offset=20
      ;; code offset: 0x498 - 0x49a
      (local.get $2)
     )
    )
    ;; code offset: 0x4a1 - 0x4a3
    (local.set $6
     ;; code offset: 0x49f - 0x4a1
     (local.get $3)
    )
   )
   ;; code offset: 0x4ac - 0x4ad
   (drop
    ;; code offset: 0x4aa - 0x4ac
    (call $9
     ;; code offset: 0x4a4 - 0x4a6
     (local.get $5)
     ;; code offset: 0x4a6 - 0x4a8
     (local.get $0)
     ;; code offset: 0x4a8 - 0x4aa
     (local.get $1)
    )
   )
   ;; code offset: 0x4b7 - 0x4ba
   (i32.store offset=20
    ;; code offset: 0x4ad - 0x4af
    (local.get $2)
    ;; code offset: 0x4b6 - 0x4b7
    (i32.add
     ;; code offset: 0x4b1 - 0x4b4
     (i32.load offset=20
      ;; code offset: 0x4af - 0x4b1
      (local.get $2)
     )
     ;; code offset: 0x4b4 - 0x4b6
     (local.get $1)
    )
   )
   ;; code offset: 0x4bf - 0x4c1
   (local.set $4
    ;; code offset: 0x4be - 0x4bf
    (i32.add
     ;; code offset: 0x4ba - 0x4bc
     (local.get $1)
     ;; code offset: 0x4bc - 0x4be
     (local.get $6)
    )
   )
  )
  ;; code offset: 0x4c2 - 0x4c4
  (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: 0x4d0 - 0x4d2
  (local.set $4
   ;; code offset: 0x4cf - 0x4d0
   (i32.mul
    ;; code offset: 0x4cb - 0x4cd
    (local.get $1)
    ;; code offset: 0x4cd - 0x4cf
    (local.get $2)
   )
  )
  ;; code offset: 0x4d2 - 0x505
  (block $block
   ;; code offset: 0x4dc - 0x4eb
   (if
    ;; code offset: 0x4db - 0x4dc
    (i32.le_s
     ;; code offset: 0x4d6 - 0x4d9
     (i32.load offset=76
      ;; code offset: 0x4d4 - 0x4d6
      (local.get $3)
     )
     ;; code offset: 0x4d9 - 0x4db
     (i32.const -1)
    )
    (then
     ;; code offset: 0x4e6 - 0x4e8
     (local.set $0
      ;; code offset: 0x4e4 - 0x4e6
      (call $10
       ;; code offset: 0x4de - 0x4e0
       (local.get $0)
       ;; code offset: 0x4e0 - 0x4e2
       (local.get $4)
       ;; code offset: 0x4e2 - 0x4e4
       (local.get $3)
      )
     )
     ;; code offset: 0x4e8 - 0x4ea
     (br $block)
    )
   )
   ;; code offset: 0x4ef - 0x4f1
   (local.set $5
    ;; code offset: 0x4ed - 0x4ef
    (call $15
     ;; code offset: 0x4eb - 0x4ed
     (local.get $3)
    )
   )
   ;; code offset: 0x4f9 - 0x4fb
   (local.set $0
    ;; code offset: 0x4f7 - 0x4f9
    (call $10
     ;; code offset: 0x4f1 - 0x4f3
     (local.get $0)
     ;; code offset: 0x4f3 - 0x4f5
     (local.get $4)
     ;; code offset: 0x4f5 - 0x4f7
     (local.get $3)
    )
   )
   ;; code offset: 0x4fe - 0x500
   (br_if $block
    ;; code offset: 0x4fd - 0x4fe
    (i32.eqz
     ;; code offset: 0x4fb - 0x4fd
     (local.get $5)
    )
   )
   ;; code offset: 0x502 - 0x504
   (call $16
    ;; code offset: 0x500 - 0x502
    (local.get $3)
   )
  )
  ;; code offset: 0x50a - 0x515
  (if
   ;; code offset: 0x509 - 0x50a
   (i32.eq
    ;; code offset: 0x505 - 0x507
    (local.get $0)
    ;; code offset: 0x507 - 0x509
    (local.get $4)
   )
   (then
    ;; code offset: 0x513 - 0x514
    (return
     ;; code offset: 0x512 - 0x513
     (select
      ;; code offset: 0x50c - 0x50e
      (local.get $2)
      ;; code offset: 0x50e - 0x510
      (i32.const 0)
      ;; code offset: 0x510 - 0x512
      (local.get $1)
     )
    )
   )
  )
  ;; code offset: 0x519 - 0x51a
  (i32.div_u
   ;; code offset: 0x515 - 0x517
   (local.get $0)
   ;; code offset: 0x517 - 0x519
   (local.get $1)
  )
 )
 (func $12 (param $0 i32) (param $1 i32) (result i32)
  (local $2 i32)
  ;; code offset: 0x534 - 0x535
  (select
   ;; code offset: 0x51f - 0x521
   (i32.const -1)
   ;; code offset: 0x521 - 0x523
   (i32.const 0)
   ;; code offset: 0x533 - 0x534
   (i32.ne
    ;; code offset: 0x52f - 0x531
    (call $11
     ;; code offset: 0x523 - 0x525
     (local.get $0)
     ;; code offset: 0x525 - 0x527
     (i32.const 1)
     ;; code offset: 0x52b - 0x52d
     (local.tee $2
      ;; code offset: 0x529 - 0x52b
      (call $17
       ;; code offset: 0x527 - 0x529
       (local.get $0)
      )
     )
     ;; code offset: 0x52d - 0x52f
     (local.get $1)
    )
    ;; code offset: 0x531 - 0x533
    (local.get $2)
   )
  )
 )
 (func $13 (param $0 i32) (param $1 i32) (result i32)
  (local $2 i32)
  (local $3 i32)
  (local $4 i32)
  ;; code offset: 0x546 - 0x548
  (global.set $global$0
   ;; code offset: 0x544 - 0x546
   (local.tee $3
    ;; code offset: 0x543 - 0x544
    (i32.sub
     ;; code offset: 0x53f - 0x541
     (global.get $global$0)
     ;; code offset: 0x541 - 0x543
     (i32.const 16)
    )
   )
  )
  ;; code offset: 0x54c - 0x54f
  (i32.store8 offset=15
   ;; code offset: 0x548 - 0x54a
   (local.get $3)
   ;; code offset: 0x54a - 0x54c
   (local.get $1)
  )
  ;; code offset: 0x54f - 0x5c1
  (block $block
   ;; code offset: 0x559 - 0x56d
   (if
    ;; code offset: 0x558 - 0x559
    (i32.eqz
     ;; code offset: 0x556 - 0x558
     (local.tee $2
      ;; code offset: 0x553 - 0x556
      (i32.load offset=16
       ;; code offset: 0x551 - 0x553
       (local.get $0)
      )
     )
    )
    (then
     ;; code offset: 0x55d - 0x55f
     (local.set $2
      ;; code offset: 0x55b - 0x55d
      (i32.const -1)
     )
     ;; code offset: 0x563 - 0x565
     (br_if $block
      ;; code offset: 0x561 - 0x563
      (call $8
       ;; code offset: 0x55f - 0x561
       (local.get $0)
      )
     )
     ;; code offset: 0x56a - 0x56c
     (local.set $2
      ;; code offset: 0x567 - 0x56a
      (i32.load offset=16
       ;; code offset: 0x565 - 0x567
       (local.get $0)
      )
     )
    )
   )
   ;; code offset: 0x56d - 0x59f
   (block $block1
    ;; code offset: 0x579 - 0x57b
    (br_if $block1
     ;; code offset: 0x578 - 0x579
     (i32.ge_u
      ;; code offset: 0x574 - 0x576
      (local.tee $4
       ;; code offset: 0x571 - 0x574
       (i32.load offset=20
        ;; code offset: 0x56f - 0x571
        (local.get $0)
       )
      )
      ;; code offset: 0x576 - 0x578
      (local.get $2)
     )
    )
    ;; code offset: 0x589 - 0x58b
    (br_if $block1
     ;; code offset: 0x588 - 0x589
     (i32.eq
      ;; code offset: 0x581 - 0x583
      (local.tee $2
       ;; code offset: 0x580 - 0x581
       (i32.and
        ;; code offset: 0x57b - 0x57d
        (local.get $1)
        ;; code offset: 0x57d - 0x580
        (i32.const 255)
       )
      )
      ;; code offset: 0x585 - 0x588
      (i32.load8_s offset=75
       ;; code offset: 0x583 - 0x585
       (local.get $0)
      )
     )
    )
    ;; code offset: 0x592 - 0x595
    (i32.store offset=20
     ;; code offset: 0x58b - 0x58d
     (local.get $0)
     ;; code offset: 0x591 - 0x592
     (i32.add
      ;; code offset: 0x58d - 0x58f
      (local.get $4)
      ;; code offset: 0x58f - 0x591
      (i32.const 1)
     )
    )
    ;; code offset: 0x599 - 0x59c
    (i32.store8
     ;; code offset: 0x595 - 0x597
     (local.get $4)
     ;; code offset: 0x597 - 0x599
     (local.get $1)
    )
    ;; code offset: 0x59c - 0x59e
    (br $block)
   )
   ;; code offset: 0x5a1 - 0x5a3
   (local.set $2
    ;; code offset: 0x59f - 0x5a1
    (i32.const -1)
   )
   ;; code offset: 0x5b7 - 0x5b9
   (br_if $block
    ;; code offset: 0x5b6 - 0x5b7
    (i32.ne
     ;; code offset: 0x5b1 - 0x5b4
     (call_indirect (type $1)
      ;; code offset: 0x5a3 - 0x5a5
      (local.get $0)
      ;; code offset: 0x5a9 - 0x5aa
      (i32.add
       ;; code offset: 0x5a5 - 0x5a7
       (local.get $3)
       ;; code offset: 0x5a7 - 0x5a9
       (i32.const 15)
      )
      ;; code offset: 0x5aa - 0x5ac
      (i32.const 1)
      ;; code offset: 0x5ae - 0x5b1
      (i32.load offset=36
       ;; code offset: 0x5ac - 0x5ae
       (local.get $0)
      )
     )
     ;; code offset: 0x5b4 - 0x5b6
     (i32.const 1)
    )
   )
   ;; code offset: 0x5be - 0x5c0
   (local.set $2
    ;; code offset: 0x5bb - 0x5be
    (i32.load8_u offset=15
     ;; code offset: 0x5b9 - 0x5bb
     (local.get $3)
    )
   )
  )
  ;; code offset: 0x5c6 - 0x5c8
  (global.set $global$0
   ;; code offset: 0x5c5 - 0x5c6
   (i32.add
    ;; code offset: 0x5c1 - 0x5c3
    (local.get $3)
    ;; code offset: 0x5c3 - 0x5c5
    (i32.const 16)
   )
  )
  ;; code offset: 0x5c8 - 0x5ca
  (local.get $2)
 )
 (func $14 (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  ;; code offset: 0x5df - 0x5e8
  (if
   ;; code offset: 0x5de - 0x5df
   (i32.ge_s
    ;; code offset: 0x5d9 - 0x5dc
    (i32.load offset=76
     ;; code offset: 0x5d7 - 0x5d9
     (local.tee $1
      ;; code offset: 0x5d4 - 0x5d7
      (i32.load
       ;; code offset: 0x5d1 - 0x5d4
       (i32.const 1040)
      )
     )
    )
    ;; code offset: 0x5dc - 0x5de
    (i32.const 0)
   )
   (then
    ;; code offset: 0x5e5 - 0x5e7
    (local.set $2
     ;; code offset: 0x5e3 - 0x5e5
     (call $15
      ;; code offset: 0x5e1 - 0x5e3
      (local.get $1)
     )
    )
   )
  )
  ;; code offset: 0x633 - 0x635
  (local.set $0
   ;; code offset: 0x5e8 - 0x633
   (block $block (result i32)
    ;; code offset: 0x5f7 - 0x5f8
    (drop
     ;; code offset: 0x5f5 - 0x5f7
     (br_if $block
      ;; code offset: 0x5ea - 0x5ec
      (i32.const -1)
      ;; code offset: 0x5f4 - 0x5f5
      (i32.lt_s
       ;; code offset: 0x5f0 - 0x5f2
       (call $12
        ;; code offset: 0x5ec - 0x5ee
        (local.get $0)
        ;; code offset: 0x5ee - 0x5f0
        (local.get $1)
       )
       ;; code offset: 0x5f2 - 0x5f4
       (i32.const 0)
      )
     )
    )
    ;; code offset: 0x5f8 - 0x629
    (block $block1
     ;; code offset: 0x602 - 0x604
     (br_if $block1
      ;; code offset: 0x601 - 0x602
      (i32.eq
       ;; code offset: 0x5fc - 0x5ff
       (i32.load8_u offset=75
        ;; code offset: 0x5fa - 0x5fc
        (local.get $1)
       )
       ;; code offset: 0x5ff - 0x601
       (i32.const 10)
      )
     )
     ;; code offset: 0x611 - 0x613
     (br_if $block1
      ;; code offset: 0x610 - 0x611
      (i32.ge_u
       ;; code offset: 0x609 - 0x60b
       (local.tee $0
        ;; code offset: 0x606 - 0x609
        (i32.load offset=20
         ;; code offset: 0x604 - 0x606
         (local.get $1)
        )
       )
       ;; code offset: 0x60d - 0x610
       (i32.load offset=16
        ;; code offset: 0x60b - 0x60d
        (local.get $1)
       )
      )
     )
     ;; code offset: 0x61a - 0x61d
     (i32.store offset=20
      ;; code offset: 0x613 - 0x615
      (local.get $1)
      ;; code offset: 0x619 - 0x61a
      (i32.add
       ;; code offset: 0x615 - 0x617
       (local.get $0)
       ;; code offset: 0x617 - 0x619
       (i32.const 1)
      )
     )
     ;; code offset: 0x621 - 0x624
     (i32.store8
      ;; code offset: 0x61d - 0x61f
      (local.get $0)
      ;; code offset: 0x61f - 0x621
      (i32.const 10)
     )
     ;; code offset: 0x626 - 0x628
     (br $block
      ;; code offset: 0x624 - 0x626
      (i32.const 0)
     )
    )
    ;; code offset: 0x631 - 0x632
    (i32.shr_s
     ;; code offset: 0x62d - 0x62f
     (call $13
      ;; code offset: 0x629 - 0x62b
      (local.get $1)
      ;; code offset: 0x62b - 0x62d
      (i32.const 10)
     )
     ;; code offset: 0x62f - 0x631
     (i32.const 31)
    )
   )
  )
  ;; code offset: 0x637 - 0x63e
  (if
   ;; code offset: 0x635 - 0x637
   (local.get $2)
   (then
    ;; code offset: 0x63b - 0x63d
    (call $16
     ;; code offset: 0x639 - 0x63b
     (local.get $1)
    )
   )
  )
  ;; code offset: 0x63e - 0x640
  (local.get $0)
 )
 (func $15 (param $0 i32) (result i32)
  ;; code offset: 0x643 - 0x645
  (i32.const 1)
 )
 (func $16 (param $0 i32)
  ;; code offset: 0x648 - 0x649
  (nop)
 )
 (func $17 (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  (local $3 i32)
  ;; code offset: 0x655 - 0x657
  (local.set $1
   ;; code offset: 0x653 - 0x655
   (local.get $0)
  )
  ;; code offset: 0x657 - 0x6da
  (block $block1
   ;; code offset: 0x659 - 0x689
   (block $block
    ;; code offset: 0x661 - 0x663
    (br_if $block
     ;; code offset: 0x660 - 0x661
     (i32.eqz
      ;; code offset: 0x65f - 0x660
      (i32.and
       ;; code offset: 0x65b - 0x65d
       (local.get $0)
       ;; code offset: 0x65d - 0x65f
       (i32.const 3)
      )
     )
    )
    ;; code offset: 0x669 - 0x66f
    (if
     ;; code offset: 0x668 - 0x669
     (i32.eqz
      ;; code offset: 0x665 - 0x668
      (i32.load8_u
       ;; code offset: 0x663 - 0x665
       (local.get $0)
      )
     )
     (then
      ;; code offset: 0x66d - 0x66e
      (return
       ;; code offset: 0x66b - 0x66d
       (i32.const 0)
      )
     )
    )
    ;; code offset: 0x66f - 0x686
    (loop $label
     ;; code offset: 0x67c - 0x67e
     (br_if $block
      ;; code offset: 0x67b - 0x67c
      (i32.eqz
       ;; code offset: 0x67a - 0x67b
       (i32.and
        ;; code offset: 0x676 - 0x678
        (local.tee $1
         ;; code offset: 0x675 - 0x676
         (i32.add
          ;; code offset: 0x671 - 0x673
          (local.get $1)
          ;; code offset: 0x673 - 0x675
          (i32.const 1)
         )
        )
        ;; code offset: 0x678 - 0x67a
        (i32.const 3)
       )
      )
     )
     ;; code offset: 0x683 - 0x685
     (br_if $label
      ;; code offset: 0x680 - 0x683
      (i32.load8_u
       ;; code offset: 0x67e - 0x680
       (local.get $1)
      )
     )
    )
    ;; code offset: 0x686 - 0x688
    (br $block1)
   )
   ;; code offset: 0x689 - 0x6b2
   (loop $label1
    ;; code offset: 0x692 - 0x694
    (local.set $1
     ;; code offset: 0x691 - 0x692
     (i32.add
      ;; code offset: 0x68d - 0x68f
      (local.tee $2
       ;; code offset: 0x68b - 0x68d
       (local.get $1)
      )
      ;; code offset: 0x68f - 0x691
      (i32.const 4)
     )
    )
    ;; code offset: 0x6af - 0x6b1
    (br_if $label1
     ;; code offset: 0x6ae - 0x6af
     (i32.eqz
      ;; code offset: 0x6ad - 0x6ae
      (i32.and
       ;; code offset: 0x6a6 - 0x6a7
       (i32.and
        ;; code offset: 0x69d - 0x69e
        (i32.xor
         ;; code offset: 0x699 - 0x69b
         (local.tee $3
          ;; code offset: 0x696 - 0x699
          (i32.load
           ;; code offset: 0x694 - 0x696
           (local.get $2)
          )
         )
         ;; code offset: 0x69b - 0x69d
         (i32.const -1)
        )
        ;; code offset: 0x6a5 - 0x6a6
        (i32.add
         ;; code offset: 0x69e - 0x6a0
         (local.get $3)
         ;; code offset: 0x6a0 - 0x6a5
         (i32.const -16843009)
        )
       )
       ;; code offset: 0x6a7 - 0x6ad
       (i32.const -2139062144)
      )
     )
    )
   )
   ;; code offset: 0x6b9 - 0x6c2
   (if
    ;; code offset: 0x6b8 - 0x6b9
    (i32.eqz
     ;; code offset: 0x6b7 - 0x6b8
     (i32.and
      ;; code offset: 0x6b2 - 0x6b4
      (local.get $3)
      ;; code offset: 0x6b4 - 0x6b7
      (i32.const 255)
     )
    )
    (then
     ;; code offset: 0x6c0 - 0x6c1
     (return
      ;; code offset: 0x6bf - 0x6c0
      (i32.sub
       ;; code offset: 0x6bb - 0x6bd
       (local.get $2)
       ;; code offset: 0x6bd - 0x6bf
       (local.get $0)
      )
     )
    )
   )
   ;; code offset: 0x6c2 - 0x6d9
   (loop $label2
    ;; code offset: 0x6c9 - 0x6cb
    (local.set $3
     ;; code offset: 0x6c6 - 0x6c9
     (i32.load8_u offset=1
      ;; code offset: 0x6c4 - 0x6c6
      (local.get $2)
     )
    )
    ;; code offset: 0x6d2 - 0x6d4
    (local.set $2
     ;; code offset: 0x6d0 - 0x6d2
     (local.tee $1
      ;; code offset: 0x6cf - 0x6d0
      (i32.add
       ;; code offset: 0x6cb - 0x6cd
       (local.get $2)
       ;; code offset: 0x6cd - 0x6cf
       (i32.const 1)
      )
     )
    )
    ;; code offset: 0x6d6 - 0x6d8
    (br_if $label2
     ;; code offset: 0x6d4 - 0x6d6
     (local.get $3)
    )
   )
  )
  ;; code offset: 0x6de - 0x6df
  (i32.sub
   ;; code offset: 0x6da - 0x6dc
   (local.get $1)
   ;; code offset: 0x6dc - 0x6de
   (local.get $0)
  )
 )
 (func $18 (result i32)
  ;; code offset: 0x6e2 - 0x6e4
  (global.get $global$0)
 )
 (func $19 (param $0 i32)
  ;; code offset: 0x6e9 - 0x6eb
  (global.set $global$0
   ;; code offset: 0x6e7 - 0x6e9
   (local.get $0)
  )
 )
 (func $20 (param $0 i32) (result i32)
  (local $1 i32)
  ;; code offset: 0x6fa - 0x6fc
  (global.set $global$0
   ;; code offset: 0x6f8 - 0x6fa
   (local.tee $1
    ;; code offset: 0x6f7 - 0x6f8
    (i32.and
     ;; code offset: 0x6f4 - 0x6f5
     (i32.sub
      ;; code offset: 0x6f0 - 0x6f2
      (global.get $global$0)
      ;; code offset: 0x6f2 - 0x6f4
      (local.get $0)
     )
     ;; code offset: 0x6f5 - 0x6f7
     (i32.const -16)
    )
   )
  )
  ;; code offset: 0x6fc - 0x6fe
  (local.get $1)
 )
 (func $21 (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) (result i64)
  ;; code offset: 0x709 - 0x70c
  (call_indirect (type $6)
   ;; code offset: 0x701 - 0x703
   (local.get $1)
   ;; code offset: 0x703 - 0x705
   (local.get $2)
   ;; code offset: 0x705 - 0x707
   (local.get $3)
   ;; code offset: 0x707 - 0x709
   (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: 0x729 - 0x72b
  (call $fimport$2
   ;; code offset: 0x728 - 0x729
   (i32.wrap_i64
    ;; code offset: 0x727 - 0x728
    (i64.shr_u
     ;; code offset: 0x723 - 0x725
     (local.tee $5
      ;; code offset: 0x721 - 0x723
      (call $21
       ;; code offset: 0x711 - 0x713
       (local.get $0)
       ;; code offset: 0x713 - 0x715
       (local.get $1)
       ;; code offset: 0x71e - 0x71f
       (i64.or
        ;; code offset: 0x717 - 0x718
        (i64.extend_i32_u
         ;; code offset: 0x715 - 0x717
         (local.get $2)
        )
        ;; code offset: 0x71d - 0x71e
        (i64.shl
         ;; code offset: 0x71a - 0x71b
         (i64.extend_i32_u
          ;; code offset: 0x718 - 0x71a
          (local.get $3)
         )
         ;; code offset: 0x71b - 0x71d
         (i64.const 32)
        )
       )
       ;; code offset: 0x71f - 0x721
       (local.get $4)
      )
     )
     ;; code offset: 0x725 - 0x727
     (i64.const 32)
    )
   )
  )
  ;; code offset: 0x72d - 0x72e
  (i32.wrap_i64
   ;; code offset: 0x72b - 0x72d
   (local.get $5)
  )
 )
 (func $23 (param $0 i32) (result i32)
  ;; code offset: 0x733 - 0x735
  (memory.grow
   ;; code offset: 0x731 - 0x733
   (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
)
