diff --git a/scripts/test/generate_lld_tests.py b/scripts/test/generate_lld_tests.py index 996758550da..237b9b9cb72 100755 --- a/scripts/test/generate_lld_tests.py +++ b/scripts/test/generate_lld_tests.py @@ -69,6 +69,10 @@ def generate_wat_files(llvm_bin, emscripten_sysroot): # were included. if 'longjmp' in src_file: link_cmd.append('--strip-debug') + if 'pthread' in src_file: + compile_cmd.append('-pthread') + link_cmd.append('--import-memory') + link_cmd.append('--shared-memory') if is_shared: compile_cmd.append('-fPIC') compile_cmd.append('-fvisibility=default') diff --git a/test/lld/em_asm_pthread.cpp b/test/lld/em_asm_pthread.cpp index d327bedf286..734057ac5e8 100644 --- a/test/lld/em_asm_pthread.cpp +++ b/test/lld/em_asm_pthread.cpp @@ -1,6 +1,6 @@ // Build with // -// emcc a.cpp -pthread -s WASM_BIGINT +// emcc a.cpp -pthread // #include diff --git a/test/lld/em_asm_pthread.wasm b/test/lld/em_asm_pthread.wasm deleted file mode 100644 index e2a5d9a712d..00000000000 Binary files a/test/lld/em_asm_pthread.wasm and /dev/null differ diff --git a/test/lld/em_asm_pthread.wasm.out b/test/lld/em_asm_pthread.wasm.out deleted file mode 100644 index aae8441f654..00000000000 --- a/test/lld/em_asm_pthread.wasm.out +++ /dev/null @@ -1,12835 +0,0 @@ -(module - (type $0 (func (param i32) (result i32))) - (type $1 (func (param i32))) - (type $2 (func)) - (type $3 (func (param i32 i32) (result i32))) - (type $4 (func (result i32))) - (type $5 (func (param i32 i32 i32) (result i32))) - (type $6 (func (param i32 i32))) - (type $7 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $8 (func (param i32 i32 i32 i32) (result i32))) - (type $9 (func (param i32 i64 i32) (result i64))) - (type $10 (func (param i32 i32 i32 i32))) - (type $11 (func (param i32 i32 i32))) - (type $12 (func (param i32 i32 i32 i32 i32 i32) (result i32))) - (type $13 (func (result f64))) - (type $14 (func (param i32 i32 f64) (result i32))) - (type $15 (func (param i32 i32 i32) (result f64))) - (type $16 (func (param i32 i32 f32))) - (type $17 (func (param i32 i32 f32 i32))) - (type $18 (func (param i32 i32 i32 i32 i32 i32))) - (type $19 (func (param i32 i32 i32 i32 i32 i32 i32 i32))) - (type $20 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32))) - (type $21 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) - (type $22 (func (param f32))) - (type $23 (func (param i32 f32))) - (type $24 (func (param f32 f32))) - (type $25 (func (param i32 f32 f32))) - (type $26 (func (param f32 f32 f32))) - (type $27 (func (param i32 f32 f32 f32))) - (type $28 (func (param f32 f32 f32 f32))) - (type $29 (func (param i32 i32 i32 i32 i32))) - (type $30 (func (param i32 f32 f32 f32 f32))) - (type $31 (func (param i32 i32 i32 i32 i32 i32 i32))) - (type $32 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32))) - (type $33 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32))) - (type $34 (func (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (type $35 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) - (type $36 (func (param i32 f64) (result i32))) - (type $37 (func (param i32 i32 i32 i32) (result f64))) - (type $38 (func (param i32 i32 i64 i32) (result i64))) - (import "env" "memory" (memory $mimport$0 256 256 shared)) - (import "env" "emscripten_asm_const_int" (func $fimport$0 (param i32 i32 i32) (result i32))) - (import "env" "world" (func $fimport$1)) - (import "env" "__cxa_thread_atexit" (func $fimport$2 (param i32 i32 i32) (result i32))) - (import "env" "__clock_gettime" (func $fimport$3 (param i32 i32) (result i32))) - (import "env" "emscripten_get_now" (func $fimport$4 (result f64))) - (import "env" "emscripten_conditional_set_current_thread_status" (func $fimport$5 (param i32 i32))) - (import "env" "emscripten_futex_wait" (func $fimport$6 (param i32 i32 f64) (result i32))) - (import "env" "emscripten_futex_wake" (func $fimport$7 (param i32 i32) (result i32))) - (import "env" "__assert_fail" (func $fimport$8 (param i32 i32 i32 i32))) - (import "env" "emscripten_set_current_thread_status" (func $fimport$9 (param i32))) - (import "env" "_emscripten_notify_thread_queue" (func $fimport$10 (param i32 i32) (result i32))) - (import "env" "emscripten_webgl_create_context" (func $fimport$11 (param i32 i32) (result i32))) - (import "env" "emscripten_set_canvas_element_size" (func $fimport$12 (param i32 i32 i32) (result i32))) - (import "env" "pthread_create" (func $fimport$13 (param i32 i32 i32 i32) (result i32))) - (import "env" "emscripten_receive_on_main_thread_js" (func $fimport$14 (param i32 i32 i32) (result f64))) - (import "env" "emscripten_resize_heap" (func $fimport$15 (param i32) (result i32))) - (import "wasi_snapshot_preview1" "fd_write" (func $fimport$16 (param i32 i32 i32 i32) (result i32))) - (import "env" "initPthreadsJS" (func $fimport$17)) - (import "env" "setTempRet0" (func $setTempRet0 (param i32))) - (global $global$0 (mut i32) (i32.const 5246928)) - (global $global$1 i32 (i32.const 0)) - (global $global$2 i32 (i32.const 0)) - (global $global$3 (mut i32) (i32.const 0)) - (global $global$4 (mut i32) (i32.const 0)) - (global $global$5 (mut i32) (i32.const 0)) - (global $global$6 (mut i32) (i32.const 0)) - (global $global$7 (mut i32) (i32.const 0)) - (global $global$8 i32 (i32.const 1588)) - (global $global$9 i32 (i32.const 1621)) - (global $global$10 i32 (i32.const 1432)) - (global $global$11 i32 (i32.const 1836)) - (global $global$12 i32 (i32.const 1658)) - (global $global$13 i32 (i32.const 1782)) - (data $0 "\00/home/azakai/Dev/emscripten/system/lib/pthread/library_pthread.c\00call\00_emscripten_do_dispatch_to_thread\00target_thread\00num_args+1 <= EM_QUEUED_JS_CALL_MAX_ARGS\00emscripten_run_in_main_runtime_thread_js\00q\00_emscripten_call_on_thread\00EM_FUNC_SIG_NUM_FUNC_ARGUMENTS(q->functionEnum) <= EM_QUEUED_CALL_MAX_ARGS\00_do_call\000 && \"Invalid Emscripten pthread _do_call opcode!\"\00target\00GetQueue\00em_queued_call_malloc\00") - (data $1 "\01\00\00\00\d0\0fP\00\05\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00x\t\00\00\00\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\a0\05\00\00") - (data $2 "()<::>{ console.log(\"World.\"); }\00(void)<::>{ PThread.initRuntime(); }\00") - (data $3 "{ console.log(\"Hello.\"); }\00throw \'Canceled!\'\00{ setTimeout(function() { __emscripten_do_dispatch_to_thread($0, $1); }, 0); }\00") - (data $4 "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (table $0 5 5 funcref) - (elem $0 (i32.const 1) $6 $73 $72 $74) - (export "__wasm_call_ctors" (func $0)) - (export "main" (func $4)) - (export "__em_js__world" (global $global$8)) - (export "__indirect_function_table" (table $0)) - (export "emscripten_tls_init" (func $5)) - (export "emscripten_get_global_libc" (func $82)) - (export "__errno_location" (func $25)) - (export "fflush" (func $80)) - (export "__emscripten_pthread_data_constructor" (func $83)) - (export "__em_js__initPthreadsJS" (global $global$9)) - (export "pthread_self" (func $14)) - (export "__pthread_tsd_run_dtors" (func $84)) - (export "emscripten_current_thread_process_queued_calls" (func $31)) - (export "emscripten_register_main_browser_thread_id" (func $36)) - (export "emscripten_main_browser_thread_id" (func $37)) - (export "_emscripten_do_dispatch_to_thread" (func $38)) - (export "emscripten_sync_run_in_main_thread_2" (func $42)) - (export "emscripten_sync_run_in_main_thread_4" (func $43)) - (export "emscripten_main_thread_process_queued_calls" (func $44)) - (export "_emscripten_allow_main_runtime_queued_calls" (global $global$10)) - (export "emscripten_run_in_main_runtime_thread_js" (func $45)) - (export "_emscripten_call_on_thread" (func $47)) - (export "_emscripten_main_thread_futex" (global $global$11)) - (export "_emscripten_thread_init" (func $8)) - (export "stackSave" (func $77)) - (export "stackRestore" (func $78)) - (export "stackAlloc" (func $79)) - (export "emscripten_stack_init" (func $26)) - (export "emscripten_stack_set_limits" (func $27)) - (export "emscripten_stack_get_free" (func $28)) - (export "emscripten_stack_get_end" (func $29)) - (export "malloc" (func $60)) - (export "free" (func $62)) - (export "memalign" (func $63)) - (export "__start_em_asm" (global $global$12)) - (export "__stop_em_asm" (global $global$13)) - (export "dynCall_vi" (func $dynCall_vi)) - (export "dynCall_ii" (func $dynCall_ii)) - (export "dynCall_iiii" (func $dynCall_iiii)) - (export "dynCall_jiji" (func $legalstub$dynCall_jiji)) - (start $2) - (func $0 - (call $26) - (call $83) - (call $5) - ) - (func $1 (param $0 i32) - ) - (func $2 - (if - (i32.atomic.rmw.cmpxchg - (i32.const 4032) - (i32.const 0) - (i32.const 1) - ) - (then - (drop - (memory.atomic.wait32 - (i32.const 4032) - (i32.const 1) - (i64.const -1) - ) - ) - ) - (else - (memory.init $0 - (i32.const 1024) - (i32.const 0) - (i32.const 403) - ) - (memory.init $1 - (i32.const 1432) - (i32.const 0) - (i32.const 156) - ) - (memory.init $2 - (i32.const 1588) - (i32.const 0) - (i32.const 70) - ) - (memory.init $3 - (i32.const 1658) - (i32.const 0) - (i32.const 124) - ) - (memory.init $4 - (i32.const 1792) - (i32.const 0) - (i32.const 2240) - ) - (i32.atomic.store - (i32.const 4032) - (i32.const 2) - ) - (drop - (memory.atomic.notify - (i32.const 4032) - (i32.const -1) - ) - ) - ) - ) - (data.drop $0) - (data.drop $1) - (data.drop $2) - (data.drop $3) - (data.drop $4) - ) - (func $3 (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local.set $0 - (global.get $global$0) - ) - (local.set $1 - (i32.const 16) - ) - (local.set $2 - (i32.sub - (local.get $0) - (local.get $1) - ) - ) - (global.set $global$0 - (local.get $2) - ) - (local.set $3 - (i32.const 1658) - ) - (i32.store offset=12 - (local.get $2) - (local.get $3) - ) - (local.set $4 - (i32.load offset=12 - (local.get $2) - ) - ) - (local.set $5 - (i32.const 1024) - ) - (local.set $6 - (i32.const 0) - ) - (drop - (call $fimport$0 - (local.get $4) - (local.get $5) - (local.get $6) - ) - ) - (call $fimport$1) - (local.set $7 - (i32.const 0) - ) - (local.set $8 - (i32.const 16) - ) - (local.set $9 - (i32.add - (local.get $2) - (local.get $8) - ) - ) - (global.set $global$0 - (local.get $9) - ) - (return - (local.get $7) - ) - ) - (func $4 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (call $3) - ) - (return - (local.get $2) - ) - ) - (func $5 - (local $0 i32) - (block $block - (br_if $block - (i32.eqz - (local.tee $0 - (global.get $global$1) - ) - ) - ) - (call $1 - (local.tee $0 - (call $63 - (global.get $global$2) - (local.get $0) - ) - ) - ) - (drop - (call $fimport$2 - (i32.const 1) - (local.get $0) - (i32.const 1024) - ) - ) - ) - ) - (func $6 (param $0 i32) - (call $62 - (local.get $0) - ) - ) - (func $7 (result i32) - (global.get $global$3) - ) - (func $8 (param $0 i32) (param $1 i32) (param $2 i32) - (global.set $global$3 - (local.get $0) - ) - (global.set $global$4 - (local.get $1) - ) - (global.set $global$5 - (local.get $2) - ) - ) - (func $9 (result i32) - (global.get $global$5) - ) - (func $10 (result i32) - (global.get $global$4) - ) - (func $11 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local.set $1 - (i32.load - (local.get $0) - ) - ) - (local.set $3 - (i32.load offset=40 - (local.tee $2 - (call $7) - ) - ) - ) - (local.set $5 - (i32.and - (local.tee $4 - (i32.load offset=4 - (local.get $0) - ) - ) - (i32.const 2147483647) - ) - ) - (block $block1 - (block $block - (br_if $block - (i32.ne - (i32.and - (local.get $1) - (i32.const 3) - ) - (i32.const 1) - ) - ) - (br_if $block - (i32.ne - (local.get $5) - (local.get $3) - ) - ) - (local.set $6 - (i32.const 6) - ) - (br_if $block1 - (i32.gt_u - (local.tee $5 - (i32.load offset=20 - (local.get $0) - ) - ) - (i32.const 2147483646) - ) - ) - (i32.store offset=20 - (local.get $0) - (i32.add - (local.get $5) - (i32.const 1) - ) - ) - (return - (i32.const 0) - ) - ) - (local.set $6 - (i32.const 56) - ) - (br_if $block1 - (i32.eq - (local.get $5) - (i32.const 2147483647) - ) - ) - (block $block2 - (br_if $block2 - (i32.eqz - (i32.and - (i32.load8_u - (local.get $0) - ) - (i32.const 128) - ) - ) - ) - (block $block3 - (br_if $block3 - (i32.load - (i32.add - (local.get $2) - (i32.const 156) - ) - ) - ) - (i32.store offset=156 - (local.get $2) - (i32.const -12) - ) - ) - (local.set $6 - (i32.load offset=8 - (local.get $0) - ) - ) - (i32.store - (i32.add - (local.get $2) - (i32.const 160) - ) - (i32.add - (local.get $0) - (i32.const 16) - ) - ) - (local.set $3 - (select - (i32.or - (local.get $3) - (i32.const -2147483648) - ) - (local.get $3) - (local.get $6) - ) - ) - ) - (block $block6 - (block $block5 - (block $block4 - (br_if $block4 - (i32.eqz - (local.get $5) - ) - ) - (br_if $block5 - (i32.eqz - (i32.and - (local.get $1) - (i32.const 4) - ) - ) - ) - (br_if $block5 - (i32.eqz - (i32.and - (local.get $4) - (i32.const 1073741824) - ) - ) - ) - ) - (br_if $block6 - (i32.eq - (call $12 - (i32.add - (local.get $0) - (i32.const 4) - ) - (local.get $4) - (local.get $3) - ) - (local.get $4) - ) - ) - ) - (i32.store - (i32.add - (local.get $2) - (i32.const 160) - ) - (i32.const 0) - ) - (return - (i32.const 10) - ) - ) - (local.set $3 - (i32.load offset=152 - (local.get $2) - ) - ) - (i32.store offset=12 - (local.get $0) - (local.tee $6 - (i32.add - (local.get $2) - (i32.const 152) - ) - ) - ) - (i32.store offset=16 - (local.get $0) - (local.get $3) - ) - (local.set $1 - (i32.add - (local.get $0) - (i32.const 16) - ) - ) - (block $block7 - (br_if $block7 - (i32.eq - (local.get $3) - (local.get $6) - ) - ) - (i32.store - (i32.add - (local.get $3) - (i32.const -4) - ) - (local.get $1) - ) - ) - (i32.store offset=152 - (local.get $2) - (local.get $1) - ) - (local.set $6 - (i32.const 0) - ) - (i32.store - (i32.add - (local.get $2) - (i32.const 160) - ) - (i32.const 0) - ) - (br_if $block1 - (i32.eqz - (local.get $5) - ) - ) - (i32.store offset=20 - (local.get $0) - (i32.const 0) - ) - (i32.store - (local.get $0) - (i32.or - (i32.load - (local.get $0) - ) - (i32.const 8) - ) - ) - (local.set $6 - (i32.const 62) - ) - ) - (local.get $6) - ) - (func $12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.atomic.rmw.cmpxchg - (local.get $0) - (local.get $1) - (local.get $2) - ) - ) - (func $13 (param $0 i32) (result i32) - (block $block - (br_if $block - (i32.and - (i32.load8_u - (local.get $0) - ) - (i32.const 15) - ) - ) - (return - (i32.and - (call $12 - (i32.add - (local.get $0) - (i32.const 4) - ) - (i32.const 0) - (i32.const 10) - ) - (i32.const 10) - ) - ) - ) - (call $11 - (local.get $0) - ) - ) - (func $14 (result i32) - (call $7) - ) - (func $15 - (call $16) - ) - (func $16 - (drop - (i32.atomic.rmw.add offset=1792 - (i32.const 0) - (i32.const 1) - ) - ) - ) - (func $17 - (block $block - (br_if $block - (i32.ne - (call $18) - (i32.const 1) - ) - ) - (br_if $block - (i32.eqz - (i32.load offset=1796 - (i32.const 0) - ) - ) - ) - (call $19) - ) - ) - (func $18 (result i32) - (i32.atomic.rmw.add offset=1792 - (i32.const 0) - (i32.const -1) - ) - ) - (func $19 - (drop - (call $fimport$7 - (i32.const 1792) - (i32.const 2147483647) - ) - ) - ) - (func $20 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local.set $2 - (i32.and - (i32.xor - (local.tee $1 - (i32.load - (local.get $0) - ) - ) - (i32.const -1) - ) - (i32.const 128) - ) - ) - (local.set $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (block $block2 - (block $block1 - (block $block - (br_if $block - (local.tee $4 - (i32.and - (local.get $1) - (i32.const 15) - ) - ) - ) - (br $block1) - ) - (local.set $5 - (call $7) - ) - (local.set $6 - (i32.const 63) - ) - (br_if $block2 - (i32.ne - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const 2147483647) - ) - (i32.load offset=40 - (local.get $5) - ) - ) - ) - (block $block3 - (br_if $block3 - (i32.ne - (i32.and - (local.get $1) - (i32.const 3) - ) - (i32.const 1) - ) - ) - (br_if $block3 - (i32.eqz - (local.tee $6 - (i32.load offset=20 - (local.get $0) - ) - ) - ) - ) - (i32.store offset=20 - (local.get $0) - (i32.add - (local.get $6) - (i32.const -1) - ) - ) - (return - (i32.const 0) - ) - ) - (block $block4 - (br_if $block4 - (local.get $2) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 160) - ) - (i32.add - (local.get $0) - (i32.const 16) - ) - ) - (call $15) - ) - (i32.store - (local.tee $7 - (i32.load offset=12 - (local.get $0) - ) - ) - (local.tee $6 - (i32.load offset=16 - (local.get $0) - ) - ) - ) - (br_if $block1 - (i32.eq - (local.get $6) - (i32.add - (local.get $5) - (i32.const 152) - ) - ) - ) - (i32.store - (i32.add - (local.get $6) - (i32.const -4) - ) - (local.get $7) - ) - ) - (local.set $0 - (call $21 - (local.tee $7 - (i32.add - (local.get $0) - (i32.const 4) - ) - ) - (i32.and - (i32.shr_s - (i32.shl - (local.get $1) - (i32.const 28) - ) - (i32.const 31) - ) - (i32.const 2147483647) - ) - ) - ) - (block $block5 - (br_if $block5 - (i32.eqz - (local.get $4) - ) - ) - (br_if $block5 - (local.get $2) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 160) - ) - (i32.const 0) - ) - (call $17) - ) - (local.set $6 - (i32.const 0) - ) - (block $block6 - (br_if $block6 - (local.get $3) - ) - (br_if $block2 - (i32.gt_s - (local.get $0) - (i32.const -1) - ) - ) - ) - (call $22 - (local.get $7) - (local.get $2) - ) - ) - (local.get $6) - ) - (func $21 (param $0 i32) (param $1 i32) (result i32) - (i32.atomic.rmw.xchg - (local.get $0) - (local.get $1) - ) - ) - (func $22 (param $0 i32) (param $1 i32) - (drop - (call $fimport$7 - (local.get $0) - (i32.const 1) - ) - ) - ) - (func $23 (param $0 i32) (result i32) - (i32.atomic.load - (local.get $0) - ) - ) - (func $24 (param $0 i32) (param $1 i32) (result i32) - (i32.atomic.store - (local.get $0) - (local.get $1) - ) - (local.get $1) - ) - (func $25 (result i32) - (i32.add - (call $7) - (i32.const 48) - ) - ) - (func $26 - (global.set $global$7 - (i32.const 5246928) - ) - (global.set $global$6 - (i32.and - (i32.add - (i32.const 4036) - (i32.const 15) - ) - (i32.const -16) - ) - ) - ) - (func $27 (param $0 i32) (param $1 i32) - (global.set $global$7 - (local.get $0) - ) - (global.set $global$6 - (local.get $1) - ) - ) - (func $28 (result i32) - (i32.sub - (global.get $global$0) - (global.get $global$6) - ) - ) - (func $29 (result i32) - (global.get $global$6) - ) - (func $30 (param $0 i32) (result i32) - (i32.eq - (i32.load - (local.get $0) - ) - (i32.const 2) - ) - ) - (func $31 - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (block $block1 - (block $block - (br_if $block - (i32.eqz - (call $10) - ) - ) - (br_if $block1 - (i32.load8_u offset=1832 - (i32.const 0) - ) - ) - (i32.store8 offset=1832 - (i32.const 0) - (i32.const 1) - ) - ) - (drop - (call $55 - (i32.const 1804) - ) - ) - (block $block2 - (br_if $block2 - (local.tee $0 - (call $32 - (call $14) - ) - ) - ) - (drop - (call $20 - (i32.const 1804) - ) - ) - (br_if $block1 - (i32.eqz - (call $10) - ) - ) - (i32.store8 offset=1832 - (i32.const 0) - (i32.const 0) - ) - (return) - ) - (block $block3 - (br_if $block3 - (i32.eq - (local.tee $2 - (call $23 - (local.tee $1 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - ) - ) - (call $23 - (local.tee $3 - (i32.add - (local.get $0) - (i32.const 12) - ) - ) - ) - ) - ) - (loop $label - (drop - (call $20 - (i32.const 1804) - ) - ) - (call $33 - (i32.load - (i32.add - (i32.load offset=4 - (local.get $0) - ) - (i32.shl - (local.get $2) - (i32.const 2) - ) - ) - ) - ) - (drop - (call $55 - (i32.const 1804) - ) - ) - (drop - (call $24 - (local.get $1) - (local.tee $2 - (i32.rem_s - (i32.add - (local.get $2) - (i32.const 1) - ) - (i32.const 128) - ) - ) - ) - ) - (br_if $label - (i32.ne - (local.get $2) - (call $23 - (local.get $3) - ) - ) - ) - ) - ) - (drop - (call $20 - (i32.const 1804) - ) - ) - (drop - (call $fimport$7 - (local.get $1) - (i32.const 2147483647) - ) - ) - (br_if $block1 - (i32.eqz - (call $10) - ) - ) - (i32.store8 offset=1832 - (i32.const 0) - (i32.const 0) - ) - ) - ) - (func $32 (param $0 i32) (result i32) - (local $1 i32) - (block $block - (br_if $block - (i32.eqz - (local.get $0) - ) - ) - (block $block1 - (br_if $block1 - (i32.eqz - (local.tee $1 - (i32.load offset=1840 - (i32.const 0) - ) - ) - ) - ) - (loop $label - (block $block2 - (br_if $block2 - (i32.ne - (i32.load - (local.get $1) - ) - (local.get $0) - ) - ) - (return - (local.get $1) - ) - ) - (br_if $label - (local.tee $1 - (i32.load offset=16 - (local.get $1) - ) - ) - ) - ) - ) - (return - (i32.const 0) - ) - ) - (call $fimport$8 - (i32.const 1389) - (i32.const 1025) - (i32.const 385) - (i32.const 1396) - ) - (unreachable) - ) - (func $33 (param $0 i32) - (local $1 i32) - (block $block9 - (block $block42 - (block $block - (br_if $block - (i32.eq - (i32.and - (local.tee $1 - (i32.load - (local.get $0) - ) - ) - (i32.const 402653184) - ) - (i32.const 402653184) - ) - ) - (block $block8 - (block $block5 - (block $block13 - (block $block41 - (block $block40 - (block $block39 - (block $block37 - (block $block36 - (block $block33 - (block $block32 - (block $block31 - (block $block29 - (block $block28 - (block $block24 - (block $block23 - (block $block22 - (block $block21 - (block $block19 - (block $block17 - (block $block16 - (block $block14 - (block $block12 - (block $block11 - (block $block6 - (block $block4 - (block $block1 - (br_if $block1 - (i32.gt_s - (local.get $1) - (i32.const 234881023) - ) - ) - (block $block2 - (br_if $block2 - (i32.gt_s - (local.get $1) - (i32.const 100663335) - ) - ) - (block $block3 - (br_if $block3 - (i32.gt_s - (local.get $1) - (i32.const 67108863) - ) - ) - (block $block7 - (br_table $block4 $block5 $block6 $block7 - (i32.add - (local.get $1) - (i32.const -33554432) - ) - ) - ) - (br_if $block8 - (i32.eq - (local.get $1) - (i32.const -2126512128) - ) - ) - (br_if $block5 - (local.get $1) - ) - (call_indirect (type $2) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (block $block10 - (br_if $block10 - (i32.gt_s - (local.get $1) - (i32.const 100663295) - ) - ) - (br_table $block11 $block5 $block12 $block13 - (i32.add - (local.get $1) - (i32.const -67108872) - ) - ) - ) - (br_if $block14 - (i32.eq - (local.get $1) - (i32.const 100663296) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 100663328) - ) - ) - (call_indirect (type $16) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (block $block15 - (br_if $block15 - (i32.gt_s - (local.get $1) - (i32.const 134217895) - ) - ) - (block $block18 - (br_table $block16 $block5 $block17 $block18 - (i32.add - (local.get $1) - (i32.const -100663336) - ) - ) - ) - (br_if $block19 - (i32.eq - (local.get $1) - (i32.const 134217728) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 134217760) - ) - ) - (call_indirect (type $17) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (block $block20 - (br_if $block20 - (i32.gt_s - (local.get $1) - (i32.const 167772839) - ) - ) - (br_table $block21 $block5 $block22 $block23 - (i32.add - (local.get $1) - (i32.const -134217896) - ) - ) - ) - (br_if $block24 - (i32.eq - (local.get $1) - (i32.const 167772840) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 201326592) - ) - ) - (call_indirect (type $18) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (block $block25 - (br_if $block25 - (i32.gt_s - (local.get $1) - (i32.const 637534207) - ) - ) - (block $block26 - (br_if $block26 - (i32.gt_s - (local.get $1) - (i32.const 369098751) - ) - ) - (block $block27 - (br_if $block27 - (i32.gt_s - (local.get $1) - (i32.const 301989887) - ) - ) - (br_if $block28 - (i32.eq - (local.get $1) - (i32.const 234881024) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 268435456) - ) - ) - (call_indirect (type $19) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 72) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (br_if $block29 - (i32.eq - (local.get $1) - (i32.const 301989888) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 335544320) - ) - ) - (call_indirect (type $20) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 72) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 80) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 88) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (block $block30 - (br_if $block30 - (i32.gt_s - (local.get $1) - (i32.const 570425343) - ) - ) - (br_if $block31 - (i32.eq - (local.get $1) - (i32.const 369098752) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 536870912) - ) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $4) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (br_if $block32 - (i32.eq - (local.get $1) - (i32.const 570425344) - ) - ) - (br_if $block33 - (i32.eq - (local.get $1) - (i32.const 603979776) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 622854144) - ) - ) - (i32.store offset=176 - (local.get $0) - (call $fimport$11 - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - ) - ) - (br $block9) - ) - (block $block34 - (br_if $block34 - (i32.gt_s - (local.get $1) - (i32.const 704643071) - ) - ) - (block $block35 - (br_if $block35 - (i32.gt_s - (local.get $1) - (i32.const 671088639) - ) - ) - (br_if $block36 - (i32.eq - (local.get $1) - (i32.const 637534208) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 657457152) - ) - ) - (i32.store offset=176 - (local.get $0) - (call $fimport$12 - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - ) - ) - (br $block9) - ) - (br_if $block37 - (i32.eq - (local.get $1) - (i32.const 671088640) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 687865856) - ) - ) - (i32.store offset=176 - (local.get $0) - (call $fimport$13 - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - ) - ) - (br $block9) - ) - (block $block38 - (br_if $block38 - (i32.gt_s - (local.get $1) - (i32.const 771751935) - ) - ) - (br_if $block39 - (i32.eq - (local.get $1) - (i32.const 704643072) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 738197504) - ) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $12) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (br_if $block40 - (i32.eq - (local.get $1) - (i32.const 771751936) - ) - ) - (br_if $block41 - (i32.eq - (local.get $1) - (i32.const 805306368) - ) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 838860800) - ) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $21) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 72) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 80) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (call_indirect (type $1) - (i32.load offset=16 - (local.get $0) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $22) - (f32.load offset=16 - (local.get $0) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $23) - (i32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $24) - (f32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $11) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $25) - (i32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $26) - (f32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $10) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $27) - (i32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $28) - (f32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (br_if $block5 - (i32.ne - (local.get $1) - (i32.const 167772160) - ) - ) - (call_indirect (type $29) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $30) - (i32.load offset=16 - (local.get $0) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (f32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $31) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $32) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 72) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 80) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (call_indirect (type $33) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 72) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 80) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 88) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 96) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $0) - (i32.load offset=16 - (local.get $0) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $3) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $5) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $8) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $7) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $34) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (i32.store offset=176 - (local.get $0) - (call_indirect (type $35) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 32) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 40) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 48) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 56) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 64) - ) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 72) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (br $block9) - ) - (br_if $block42 - (i32.eq - (local.get $1) - (i32.const 67108864) - ) - ) - ) - (call $fimport$8 - (i32.const 1338) - (i32.const 1025) - (i32.const 351) - (i32.const 1329) - ) - (unreachable) - ) - (f64.store offset=176 - (local.get $0) - (call $fimport$14 - (i32.load offset=4 - (local.get $0) - ) - (i32.load offset=16 - (local.get $0) - ) - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - ) - (br $block9) - ) - (call $fimport$8 - (i32.const 1254) - (i32.const 1025) - (i32.const 207) - (i32.const 1329) - ) - (unreachable) - ) - (call_indirect (type $6) - (i32.load offset=16 - (local.get $0) - ) - (i32.load - (i32.add - (local.get $0) - (i32.const 24) - ) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (block $block43 - (br_if $block43 - (i32.eqz - (i32.load offset=188 - (local.get $0) - ) - ) - ) - (call $34 - (local.get $0) - ) - (return) - ) - (i32.store offset=8 - (local.get $0) - (i32.const 1) - ) - (drop - (call $fimport$7 - (i32.add - (local.get $0) - (i32.const 8) - ) - (i32.const 2147483647) - ) - ) - ) - (func $34 (param $0 i32) - (block $block - (br_if $block - (i32.eqz - (local.get $0) - ) - ) - (call $62 - (i32.load offset=184 - (local.get $0) - ) - ) - ) - (call $62 - (local.get $0) - ) - ) - (func $35 (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 f64) - (block $block - (br_if $block - (local.tee $0 - (call $23 - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - ) - ) - ) - (local.set $3 - (call $fimport$4) - ) - (call $fimport$9 - (i32.const 5) - ) - (local.set $0 - (i32.const 0) - ) - (block $block1 - (br_if $block1 - (i32.xor - (f64.lt - (local.get $3) - (local.tee $1 - (f64.add - (local.get $3) - (local.get $1) - ) - ) - ) - (i32.const 1) - ) - ) - (loop $label - (drop - (call $fimport$6 - (local.get $2) - (i32.const 0) - (f64.sub - (local.get $1) - (local.get $3) - ) - ) - ) - (local.set $0 - (call $23 - (local.get $2) - ) - ) - (local.set $3 - (call $fimport$4) - ) - (br_if $block1 - (local.get $0) - ) - (br_if $label - (f64.lt - (local.get $3) - (local.get $1) - ) - ) - ) - ) - (call $fimport$9 - (i32.const 1) - ) - ) - (select - (i32.const 0) - (i32.const -8) - (local.get $0) - ) - ) - (func $36 (param $0 i32) - (i32.store offset=1800 - (i32.const 0) - (local.get $0) - ) - ) - (func $37 (result i32) - (i32.load offset=1800 - (i32.const 0) - ) - ) - (func $38 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (block $block10 - (block $block8 - (block $block - (br_if $block - (i32.eqz - (local.get $1) - ) - ) - (block $block3 - (block $block2 - (block $block1 - (br_table $block1 $block2 $block3 - (local.get $0) - ) - ) - (call $fimport$8 - (i32.const 1129) - (i32.const 1025) - (i32.const 468) - (i32.const 1095) - ) - (unreachable) - ) - (local.set $0 - (call $37) - ) - ) - (block $block5 - (block $block4 - (br_if $block4 - (i32.eq - (local.get $0) - (i32.const 2) - ) - ) - (br_if $block5 - (i32.ne - (local.get $0) - (call $14) - ) - ) - ) - (call $33 - (local.get $1) - ) - (return - (i32.const 1) - ) - ) - (drop - (call $55 - (i32.const 1804) - ) - ) - (block $block6 - (br_if $block6 - (i32.load offset=4 - (local.tee $2 - (call $39 - (local.get $0) - ) - ) - ) - ) - (i32.store offset=4 - (local.get $2) - (call $60 - (i32.const 512) - ) - ) - ) - (block $block7 - (br_if $block7 - (i32.ne - (local.tee $4 - (call $23 - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 8) - ) - ) - ) - ) - (local.tee $7 - (i32.rem_s - (i32.add - (local.tee $6 - (call $23 - (local.tee $5 - (i32.add - (local.get $2) - (i32.const 12) - ) - ) - ) - ) - (i32.const 1) - ) - (i32.const 128) - ) - ) - ) - ) - (loop $label - (drop - (call $20 - (i32.const 1804) - ) - ) - (br_if $block8 - (i32.ne - (local.get $0) - (call $37) - ) - ) - (drop - (call $fimport$6 - (local.get $3) - (local.get $4) - (f64.const inf) - ) - ) - (drop - (call $55 - (i32.const 1804) - ) - ) - (br_if $label - (i32.eq - (local.tee $4 - (call $23 - (local.get $3) - ) - ) - (local.tee $7 - (i32.rem_s - (i32.add - (local.tee $6 - (call $23 - (local.get $5) - ) - ) - (i32.const 1) - ) - (i32.const 128) - ) - ) - ) - ) - ) - ) - (i32.store - (i32.add - (i32.load offset=4 - (local.get $2) - ) - (i32.shl - (local.get $6) - (i32.const 2) - ) - ) - (local.get $1) - ) - (block $block9 - (br_if $block9 - (i32.ne - (local.get $4) - (local.get $6) - ) - ) - (br_if $block9 - (call $fimport$10 - (local.get $0) - (call $37) - ) - ) - (call $34 - (local.get $1) - ) - (drop - (call $20 - (i32.const 1804) - ) - ) - (br $block10) - ) - (drop - (call $24 - (local.get $5) - (local.get $7) - ) - ) - (drop - (call $20 - (i32.const 1804) - ) - ) - (br $block10) - ) - (call $fimport$8 - (i32.const 1090) - (i32.const 1025) - (i32.const 458) - (i32.const 1095) - ) - (unreachable) - ) - (call $34 - (local.get $1) - ) - ) - (i32.const 0) - ) - (func $39 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (block $block - (br_if $block - (local.tee $1 - (call $32 - (local.get $0) - ) - ) - ) - (i64.store offset=12 align=4 - (local.tee $1 - (call $60 - (i32.const 20) - ) - ) - (i64.const 0) - ) - (i64.store offset=4 align=4 - (local.get $1) - (i64.const 0) - ) - (i32.store - (local.get $1) - (local.get $0) - ) - (block $block2 - (block $block1 - (br_if $block1 - (local.tee $0 - (i32.load offset=1840 - (i32.const 0) - ) - ) - ) - (local.set $0 - (i32.const 1840) - ) - (br $block2) - ) - (loop $label - (br_if $label - (local.tee $0 - (i32.load offset=16 - (local.tee $2 - (local.get $0) - ) - ) - ) - ) - ) - (local.set $0 - (i32.add - (local.get $2) - (i32.const 16) - ) - ) - ) - (i32.store - (local.get $0) - (local.get $1) - ) - ) - (local.get $1) - ) - (func $40 (param $0 i32) - (drop - (call $38 - (call $37) - (local.get $0) - ) - ) - ) - (func $41 (param $0 i32) - (call $40 - (local.get $0) - ) - (drop - (call $35 - (local.get $0) - (f64.const inf) - ) - ) - ) - (func $42 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (global.set $global$0 - (local.tee $3 - (i32.sub - (global.get $global$0) - (i32.const 192) - ) - ) - ) - (memory.fill - (local.get $3) - (i32.const 0) - (i32.const 192) - ) - (i32.store - (i32.add - (local.get $3) - (i32.const 24) - ) - (local.get $2) - ) - (i32.store offset=176 - (local.get $3) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $3) - (local.get $1) - ) - (i32.store - (local.get $3) - (local.get $0) - ) - (call $41 - (local.get $3) - ) - (local.set $0 - (i32.load offset=176 - (local.get $3) - ) - ) - (global.set $global$0 - (i32.add - (local.get $3) - (i32.const 192) - ) - ) - (local.get $0) - ) - (func $43 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) - (local $5 i32) - (global.set $global$0 - (local.tee $5 - (i32.sub - (global.get $global$0) - (i32.const 192) - ) - ) - ) - (memory.fill - (local.get $5) - (i32.const 0) - (i32.const 192) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 40) - ) - (local.get $4) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 32) - ) - (local.get $3) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 24) - ) - (local.get $2) - ) - (i32.store offset=176 - (local.get $5) - (i32.const 0) - ) - (i32.store offset=16 - (local.get $5) - (local.get $1) - ) - (i32.store - (local.get $5) - (local.get $0) - ) - (call $41 - (local.get $5) - ) - (local.set $0 - (i32.load offset=176 - (local.get $5) - ) - ) - (global.set $global$0 - (i32.add - (local.get $5) - (i32.const 192) - ) - ) - (local.get $0) - ) - (func $44 - (block $block - (br_if $block - (i32.eqz - (call $9) - ) - ) - (br_if $block - (i32.eqz - (i32.load offset=1432 - (i32.const 0) - ) - ) - ) - (call $31) - ) - ) - (func $45 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 f64) - (global.set $global$0 - (local.tee $4 - (i32.sub - (global.get $global$0) - (i32.const 192) - ) - ) - ) - (block $block1 - (block $block - (br_if $block - (i32.eqz - (local.get $3) - ) - ) - (i32.store offset=184 - (local.get $4) - (i32.const 0) - ) - (i32.store offset=8 - (local.get $4) - (i32.const 0) - ) - (local.set $5 - (local.get $4) - ) - (br $block1) - ) - (local.set $5 - (call $46) - ) - ) - (i32.store offset=4 - (local.get $5) - (local.get $0) - ) - (i32.store - (local.get $5) - (i32.const -2126512128) - ) - (i32.store offset=188 - (local.get $5) - (i32.sub - (i32.const 1) - (local.get $3) - ) - ) - (block $block2 - (br_if $block2 - (i32.ge_s - (local.get $1) - (i32.const 20) - ) - ) - (i32.store offset=16 - (local.get $5) - (local.get $1) - ) - (local.set $0 - (i32.const 0) - ) - (block $block3 - (br_if $block3 - (i32.le_s - (local.get $1) - (i32.const 0) - ) - ) - (loop $label - (i64.store - (i32.add - (i32.add - (local.get $5) - (i32.shl - (local.tee $6 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - (i32.const 3) - ) - ) - (i32.const 16) - ) - (i64.load - (i32.add - (local.get $2) - (i32.shl - (local.get $0) - (i32.const 3) - ) - ) - ) - ) - (local.set $0 - (local.get $6) - ) - (br_if $label - (i32.ne - (local.get $6) - (local.get $1) - ) - ) - ) - ) - (block $block5 - (block $block4 - (br_if $block4 - (i32.eqz - (local.get $3) - ) - ) - (call $41 - (local.get $4) - ) - (local.set $7 - (f64.load offset=176 - (local.get $4) - ) - ) - (br $block5) - ) - (call $40 - (local.get $5) - ) - (local.set $7 - (f64.const 0) - ) - ) - (global.set $global$0 - (i32.add - (local.get $4) - (i32.const 192) - ) - ) - (return - (local.get $7) - ) - ) - (call $fimport$8 - (i32.const 1143) - (i32.const 1025) - (i32.const 766) - (i32.const 1184) - ) - (unreachable) - ) - (func $46 (result i32) - (local $0 i32) - (block $block - (br_if $block - (local.tee $0 - (call $60 - (i32.const 192) - ) - ) - ) - (call $fimport$8 - (i32.const 1090) - (i32.const 1025) - (i32.const 173) - (i32.const 1405) - ) - (unreachable) - ) - (i32.store offset=184 - (local.get $0) - (i32.const 0) - ) - (i64.store offset=4 align=4 - (local.get $0) - (i64.const 0) - ) - (local.get $0) - ) - (func $47 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32) - (local $6 i32) - (local $7 i32) - (global.set $global$0 - (local.tee $6 - (i32.sub - (global.get $global$0) - (i32.const 16) - ) - ) - ) - (block $block - (br_if $block - (i32.eqz - (local.tee $7 - (call $46) - ) - ) - ) - (i32.store offset=184 - (local.get $7) - (local.get $4) - ) - (i32.store offset=4 - (local.get $7) - (local.get $3) - ) - (i32.store - (local.get $7) - (local.get $2) - ) - (i32.store offset=12 - (local.get $6) - (local.get $5) - ) - (block $block1 - (br_if $block1 - (i32.eqz - (local.tee $4 - (i32.and - (i32.shr_u - (local.get $2) - (i32.const 25) - ) - (i32.const 15) - ) - ) - ) - ) - (local.set $2 - (i32.and - (local.get $2) - (i32.const 33554431) - ) - ) - (local.set $3 - (i32.const 0) - ) - (loop $label - (block $block6 - (block $block5 - (block $block4 - (block $block3 - (block $block2 - (br_table $block2 $block3 $block4 $block5 $block2 - (i32.and - (local.get $2) - (i32.const 3) - ) - ) - ) - (i32.store offset=12 - (local.get $6) - (i32.add - (local.tee $5 - (i32.load offset=12 - (local.get $6) - ) - ) - (i32.const 4) - ) - ) - (i32.store - (i32.add - (i32.add - (local.get $7) - (i32.shl - (local.get $3) - (i32.const 3) - ) - ) - (i32.const 16) - ) - (i32.load - (local.get $5) - ) - ) - (br $block6) - ) - (i32.store offset=12 - (local.get $6) - (i32.add - (local.tee $5 - (i32.and - (i32.add - (i32.load offset=12 - (local.get $6) - ) - (i32.const 7) - ) - (i32.const -8) - ) - ) - (i32.const 8) - ) - ) - (i64.store - (i32.add - (i32.add - (local.get $7) - (i32.shl - (local.get $3) - (i32.const 3) - ) - ) - (i32.const 16) - ) - (i64.load - (local.get $5) - ) - ) - (br $block6) - ) - (i32.store offset=12 - (local.get $6) - (i32.add - (local.tee $5 - (i32.and - (i32.add - (i32.load offset=12 - (local.get $6) - ) - (i32.const 7) - ) - (i32.const -8) - ) - ) - (i32.const 8) - ) - ) - (f32.store - (i32.add - (i32.add - (local.get $7) - (i32.shl - (local.get $3) - (i32.const 3) - ) - ) - (i32.const 16) - ) - (f32.demote_f64 - (f64.load - (local.get $5) - ) - ) - ) - (br $block6) - ) - (i32.store offset=12 - (local.get $6) - (i32.add - (local.tee $5 - (i32.and - (i32.add - (i32.load offset=12 - (local.get $6) - ) - (i32.const 7) - ) - (i32.const -8) - ) - ) - (i32.const 8) - ) - ) - (f64.store - (i32.add - (i32.add - (local.get $7) - (i32.shl - (local.get $3) - (i32.const 3) - ) - ) - (i32.const 16) - ) - (f64.load - (local.get $5) - ) - ) - ) - (local.set $2 - (i32.shr_u - (local.get $2) - (i32.const 2) - ) - ) - (br_if $label - (i32.ne - (local.tee $3 - (i32.add - (local.get $3) - (i32.const 1) - ) - ) - (local.get $4) - ) - ) - ) - ) - (i32.store offset=188 - (local.get $7) - (i32.const 1) - ) - (block $block8 - (block $block7 - (br_if $block7 - (i32.eqz - (local.get $0) - ) - ) - (local.set $2 - (i32.const 0) - ) - (i32.store8 offset=11 - (local.get $6) - (i32.const 0) - ) - (i32.store16 offset=9 align=1 - (local.get $6) - (i32.const 26985) - ) - (i32.store - (local.get $6) - (local.get $1) - ) - (i32.store offset=4 - (local.get $6) - (local.get $7) - ) - (drop - (call $fimport$0 - (i32.const 1703) - (i32.add - (local.get $6) - (i32.const 9) - ) - (local.get $6) - ) - ) - (br $block8) - ) - (local.set $2 - (call $38 - (local.get $1) - (local.get $7) - ) - ) - ) - (global.set $global$0 - (i32.add - (local.get $6) - (i32.const 16) - ) - ) - (return - (local.get $2) - ) - ) - (call $fimport$8 - (i32.const 1225) - (i32.const 1025) - (i32.const 868) - (i32.const 1227) - ) - (unreachable) - ) - (func $48 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.const 28) - ) - (block $block - (br_if $block - (i32.gt_u - (local.get $0) - (i32.const 2) - ) - ) - (local.set $2 - (call $7) - ) - (block $block1 - (br_if $block1 - (i32.eqz - (local.get $1) - ) - ) - (i32.store - (local.get $1) - (i32.load offset=56 - (local.get $2) - ) - ) - ) - (i32.store offset=56 - (local.get $2) - (local.get $0) - ) - (local.set $2 - (i32.const 0) - ) - ) - (local.get $2) - ) - (func $49 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) - (local $5 i32) - (local $6 f64) - (local $7 i32) - (local $8 f64) - (global.set $global$0 - (local.tee $5 - (i32.sub - (global.get $global$0) - (i32.const 16) - ) - ) - ) - (block $block2 - (block $block4 - (block $block1 - (block $block - (br_if $block - (local.get $3) - ) - (local.set $6 - (f64.const inf) - ) - (br $block1) - ) - (local.set $7 - (i32.const 28) - ) - (br_if $block2 - (i32.gt_u - (i32.load offset=4 - (local.get $3) - ) - (i32.const 999999999) - ) - ) - (br_if $block2 - (call $fimport$3 - (local.get $2) - (i32.add - (local.get $5) - (i32.const 8) - ) - ) - ) - (i32.store offset=8 - (local.get $5) - (local.tee $7 - (i32.sub - (i32.load - (local.get $3) - ) - (i32.load offset=8 - (local.get $5) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $5) - (local.tee $3 - (i32.sub - (i32.load offset=4 - (local.get $3) - ) - (i32.load offset=12 - (local.get $5) - ) - ) - ) - ) - (block $block3 - (br_if $block3 - (i32.gt_s - (local.get $3) - (i32.const -1) - ) - ) - (i32.store offset=12 - (local.get $5) - (local.tee $3 - (i32.add - (local.get $3) - (i32.const 1000000000) - ) - ) - ) - (i32.store offset=8 - (local.get $5) - (local.tee $7 - (i32.add - (local.get $7) - (i32.const -1) - ) - ) - ) - ) - (br_if $block4 - (i32.lt_s - (local.get $7) - (i32.const 0) - ) - ) - (local.set $6 - (f64.add - (f64.div - (f64.convert_i32_s - (local.get $3) - ) - (f64.const 1e6) - ) - (f64.convert_i32_s - (i32.mul - (local.get $7) - (i32.const 1000) - ) - ) - ) - ) - ) - (block $block9 - (block $block6 - (block $block5 - (br_if $block5 - (local.tee $3 - (call $10) - ) - ) - (br_if $block5 - (i32.ne - (i32.load offset=56 - (call $14) - ) - (i32.const 1) - ) - ) - (br_if $block6 - (i32.ne - (i32.load offset=60 - (call $14) - ) - (i32.const 1) - ) - ) - ) - (local.set $8 - (f64.add - (local.get $6) - (call $fimport$4) - ) - ) - (loop $label - (block $block7 - (br_if $block7 - (i32.eqz - (call $30 - (call $14) - ) - ) - ) - (local.set $7 - (i32.const 11) - ) - (br $block2) - ) - (block $block8 - (br_if $block8 - (i32.eqz - (local.get $3) - ) - ) - (call $44) - ) - (br_if $block4 - (f64.le - (local.tee $6 - (f64.sub - (local.get $8) - (call $fimport$4) - ) - ) - (f64.const 0) - ) - ) - (br_if $label - (i32.eq - (local.tee $7 - (i32.sub - (i32.const 0) - (call $fimport$6 - (local.get $0) - (local.get $1) - (select - (select - (f64.const 1) - (local.tee $6 - (f64.min - (local.get $6) - (f64.const 100) - ) - ) - (f64.gt - (local.get $6) - (f64.const 1) - ) - ) - (local.get $6) - (local.get $3) - ) - ) - ) - ) - (i32.const 73) - ) - ) - (br $block9) - ) - ) - (local.set $7 - (i32.sub - (i32.const 0) - (call $fimport$6 - (local.get $0) - (local.get $1) - (local.get $6) - ) - ) - ) - ) - (br_if $block2 - (i32.eq - (local.get $7) - (i32.const 11) - ) - ) - (br_if $block2 - (i32.eq - (local.get $7) - (i32.const 27) - ) - ) - (br_if $block2 - (i32.eq - (local.get $7) - (i32.const 73) - ) - ) - (local.set $7 - (i32.const 0) - ) - (br $block2) - ) - (local.set $7 - (i32.const 73) - ) - ) - (global.set $global$0 - (i32.add - (local.get $5) - (i32.const 16) - ) - ) - (local.get $7) - ) - (func $50 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) - (local $5 i32) - (global.set $global$0 - (local.tee $5 - (i32.sub - (global.get $global$0) - (i32.const 16) - ) - ) - ) - (drop - (call $48 - (i32.const 1) - (i32.add - (local.get $5) - (i32.const 12) - ) - ) - ) - (call $fimport$5 - (i32.const 1) - (i32.const 4) - ) - (local.set $0 - (call $49 - (local.get $0) - (local.get $1) - (local.get $2) - (local.get $3) - (local.get $4) - ) - ) - (call $fimport$5 - (i32.const 4) - (i32.const 1) - ) - (drop - (call $48 - (i32.load offset=12 - (local.get $5) - ) - (i32.const 0) - ) - ) - (global.set $global$0 - (i32.add - (local.get $5) - (i32.const 16) - ) - ) - (local.get $0) - ) - (func $51 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (block $block1 - (block $block - (br_if $block - (i32.and - (local.tee $2 - (i32.load - (local.get $0) - ) - ) - (i32.const 15) - ) - ) - (local.set $3 - (i32.const 0) - ) - (br_if $block1 - (i32.eqz - (call $52 - (i32.add - (local.get $0) - (i32.const 4) - ) - (i32.const 0) - (i32.const 10) - ) - ) - ) - (local.set $2 - (i32.load - (local.get $0) - ) - ) - ) - (br_if $block1 - (i32.ne - (local.tee $3 - (call $13 - (local.get $0) - ) - ) - (i32.const 10) - ) - ) - (local.set $4 - (i32.and - (i32.xor - (local.get $2) - (i32.const -1) - ) - (i32.const 128) - ) - ) - (local.set $5 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - (local.set $2 - (i32.add - (local.get $0) - (i32.const 4) - ) - ) - (local.set $3 - (i32.const 100) - ) - (block $block2 - (loop $label - (br_if $block2 - (i32.eqz - (local.get $3) - ) - ) - (br_if $block2 - (i32.eqz - (i32.load - (local.get $2) - ) - ) - ) - (local.set $3 - (i32.add - (local.get $3) - (i32.const -1) - ) - ) - (br_if $label - (i32.eqz - (i32.load - (local.get $5) - ) - ) - ) - ) - ) - (br_if $block1 - (i32.ne - (local.tee $3 - (call $13 - (local.get $0) - ) - ) - (i32.const 10) - ) - ) - (loop $label1 - (block $block3 - (br_if $block3 - (i32.eqz - (local.tee $3 - (i32.load - (local.get $2) - ) - ) - ) - ) - (local.set $6 - (i32.load - (local.get $0) - ) - ) - (block $block4 - (br_if $block4 - (i32.eqz - (i32.and - (local.get $3) - (i32.const 1073741824) - ) - ) - ) - (br_if $block3 - (i32.and - (local.get $6) - (i32.const 4) - ) - ) - ) - (block $block5 - (br_if $block5 - (i32.ne - (i32.and - (local.get $6) - (i32.const 3) - ) - (i32.const 2) - ) - ) - (br_if $block5 - (i32.ne - (i32.and - (local.get $3) - (i32.const 2147483647) - ) - (i32.load offset=40 - (call $7) - ) - ) - ) - (return - (i32.const 16) - ) - ) - (call $53 - (local.get $5) - ) - (drop - (call $52 - (local.get $2) - (local.get $3) - (local.tee $6 - (i32.or - (local.get $3) - (i32.const -2147483648) - ) - ) - ) - ) - (local.set $3 - (call $50 - (local.get $2) - (local.get $6) - (i32.const 0) - (local.get $1) - (local.get $4) - ) - ) - (call $54 - (local.get $5) - ) - (br_if $block3 - (i32.eqz - (local.get $3) - ) - ) - (br_if $block1 - (i32.ne - (local.get $3) - (i32.const 27) - ) - ) - ) - (br_if $label1 - (i32.eq - (local.tee $3 - (call $13 - (local.get $0) - ) - ) - (i32.const 10) - ) - ) - ) - ) - (local.get $3) - ) - (func $52 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (i32.atomic.rmw.cmpxchg - (local.get $0) - (local.get $1) - (local.get $2) - ) - ) - (func $53 (param $0 i32) - (drop - (i32.atomic.rmw.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (func $54 (param $0 i32) - (drop - (i32.atomic.rmw.sub - (local.get $0) - (i32.const 1) - ) - ) - ) - (func $55 (param $0 i32) (result i32) - (block $block - (br_if $block - (i32.and - (i32.load8_u - (local.get $0) - ) - (i32.const 15) - ) - ) - (br_if $block - (call $56 - (i32.add - (local.get $0) - (i32.const 4) - ) - ) - ) - (return - (i32.const 0) - ) - ) - (call $51 - (local.get $0) - (i32.const 0) - ) - ) - (func $56 (param $0 i32) (result i32) - (i32.atomic.rmw.cmpxchg - (local.get $0) - (i32.const 0) - (i32.const 10) - ) - ) - (func $57 (param $0 i32) (result i32) - (i32.store - (local.get $0) - (i32.const 0) - ) - (i32.const 0) - ) - (func $58 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (i32.store - (local.tee $3 - (i32.add - (local.tee $2 - (i32.sub - (global.get $global$0) - (i32.const 32) - ) - ) - (i32.const 24) - ) - ) - (i32.const 0) - ) - (i64.store - (local.tee $4 - (i32.add - (local.get $2) - (i32.const 16) - ) - ) - (i64.const 0) - ) - (i64.store - (local.tee $5 - (i32.add - (local.get $2) - (i32.const 8) - ) - ) - (i64.const 0) - ) - (i64.store - (local.get $2) - (i64.const 0) - ) - (i64.store align=4 - (local.get $0) - (i64.load - (local.get $2) - ) - ) - (i32.store - (i32.add - (local.get $0) - (i32.const 24) - ) - (i32.load - (local.get $3) - ) - ) - (i64.store align=4 - (i32.add - (local.get $0) - (i32.const 16) - ) - (i64.load - (local.get $4) - ) - ) - (i64.store align=4 - (i32.add - (local.get $0) - (i32.const 8) - ) - (i64.load - (local.get $5) - ) - ) - (block $block - (br_if $block - (i32.eqz - (local.get $1) - ) - ) - (i32.store - (local.get $0) - (i32.load - (local.get $1) - ) - ) - ) - (i32.const 0) - ) - (func $59 (param $0 i32) (result i32) - (i32.const 0) - ) - (func $60 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (block $block - (br_if $block - (i32.load offset=1844 - (i32.const 0) - ) - ) - (call $61) - ) - (block $block2 - (block $block1 - (br_if $block1 - (i32.eqz - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 2) - ) - ) - ) - (local.set $1 - (i32.const 0) - ) - (br_if $block2 - (call $55 - (i32.const 2316) - ) - ) - ) - (block $block7 - (block $block19 - (block $block31 - (block $block40 - (block $block50 - (block $block44 - (block $block51 - (block $block33 - (block $block21 - (block $block17 - (block $block8 - (block $block3 - (br_if $block3 - (i32.gt_u - (local.get $0) - (i32.const 244) - ) - ) - (block $block4 - (br_if $block4 - (i32.eqz - (i32.and - (local.tee $0 - (i32.shr_u - (local.tee $2 - (i32.load offset=1868 - (i32.const 0) - ) - ) - (local.tee $1 - (i32.shr_u - (local.tee $3 - (select - (i32.const 16) - (i32.and - (i32.add - (local.get $0) - (i32.const 11) - ) - (i32.const -8) - ) - (i32.lt_u - (local.get $0) - (i32.const 11) - ) - ) - ) - (i32.const 3) - ) - ) - ) - ) - (i32.const 3) - ) - ) - ) - (local.set $1 - (i32.add - (local.tee $0 - (i32.load - (i32.add - (local.tee $5 - (i32.shl - (local.tee $4 - (i32.add - (i32.and - (i32.xor - (local.get $0) - (i32.const -1) - ) - (i32.const 1) - ) - (local.get $1) - ) - ) - (i32.const 3) - ) - ) - (i32.const 1916) - ) - ) - ) - (i32.const 8) - ) - ) - (block $block6 - (block $block5 - (br_if $block5 - (i32.ne - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $5 - (i32.add - (local.get $5) - (i32.const 1908) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.and - (local.get $2) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - (br $block6) - ) - (i32.store offset=12 - (local.get $3) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $3) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.tee $4 - (i32.shl - (local.get $4) - (i32.const 3) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $0) - (local.get $4) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) - ) - (br $block7) - ) - (br_if $block8 - (i32.le_u - (local.get $3) - (local.tee $6 - (i32.load offset=1876 - (i32.const 0) - ) - ) - ) - ) - (block $block9 - (br_if $block9 - (i32.eqz - (local.get $0) - ) - ) - (block $block11 - (block $block10 - (br_if $block10 - (i32.ne - (local.tee $1 - (i32.load offset=8 - (local.tee $0 - (i32.load - (i32.add - (local.tee $5 - (i32.shl - (local.tee $4 - (i32.add - (i32.or - (i32.or - (i32.or - (i32.or - (local.tee $4 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.tee $0 - (i32.add - (i32.and - (local.tee $0 - (i32.and - (i32.shl - (local.get $0) - (local.get $1) - ) - (i32.or - (local.tee $0 - (i32.shl - (i32.const 2) - (local.get $1) - ) - ) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - (i32.const -1) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.get $0) - (i32.const 12) - ) - (i32.const 16) - ) - ) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (local.get $0) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $1) - (local.get $4) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $0) - (local.get $1) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $0) - (local.get $1) - ) - ) - (i32.const 1) - ) - (i32.const 1) - ) - ) - ) - (i32.shr_u - (local.get $0) - (local.get $1) - ) - ) - ) - (i32.const 3) - ) - ) - (i32.const 1916) - ) - ) - ) - ) - ) - (local.tee $5 - (i32.add - (local.get $5) - (i32.const 1908) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (local.tee $2 - (i32.and - (local.get $2) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - ) - (br $block11) - ) - (i32.store offset=12 - (local.get $1) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $1) - ) - ) - (local.set $1 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $5 - (i32.add - (local.get $0) - (local.get $3) - ) - ) - (i32.or - (local.tee $4 - (i32.sub - (local.tee $7 - (i32.shl - (local.get $4) - (i32.const 3) - ) - ) - (local.get $3) - ) - ) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $7) - ) - (local.get $4) - ) - (block $block12 - (br_if $block12 - (i32.eqz - (local.get $6) - ) - ) - (local.set $3 - (i32.add - (i32.shl - (local.tee $7 - (i32.shr_u - (local.get $6) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (local.set $0 - (i32.load offset=1888 - (i32.const 0) - ) - ) - (block $block14 - (block $block13 - (br_if $block13 - (i32.and - (local.get $2) - (local.tee $7 - (i32.shl - (i32.const 1) - (local.get $7) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $2) - (local.get $7) - ) - ) - (local.set $7 - (local.get $3) - ) - (br $block14) - ) - (local.set $7 - (i32.load offset=8 - (local.get $3) - ) - ) - ) - (i32.store offset=8 - (local.get $3) - (local.get $0) - ) - (i32.store offset=12 - (local.get $7) - (local.get $0) - ) - (i32.store offset=12 - (local.get $0) - (local.get $3) - ) - (i32.store offset=8 - (local.get $0) - (local.get $7) - ) - ) - (i32.store offset=1888 - (i32.const 0) - (local.get $5) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $4) - ) - (br $block7) - ) - (br_if $block8 - (i32.eqz - (local.tee $8 - (i32.load offset=1872 - (i32.const 0) - ) - ) - ) - ) - (local.set $1 - (i32.sub - (i32.and - (i32.load offset=4 - (local.tee $5 - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or - (i32.or - (i32.or - (i32.or - (local.tee $4 - (i32.and - (i32.shr_u - (local.tee $1 - (i32.shr_u - (local.tee $0 - (i32.add - (i32.and - (local.get $8) - (i32.sub - (i32.const 0) - (local.get $8) - ) - ) - (i32.const -1) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.get $0) - (i32.const 12) - ) - (i32.const 16) - ) - ) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (local.get $0) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $1) - (local.get $4) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $0) - (local.get $1) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $0) - (local.get $1) - ) - ) - (i32.const 1) - ) - (i32.const 1) - ) - ) - ) - (i32.shr_u - (local.get $0) - (local.get $1) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - ) - (i32.const -8) - ) - (local.get $3) - ) - ) - (local.set $4 - (local.get $5) - ) - (block $block16 - (loop $label - (block $block15 - (br_if $block15 - (local.tee $0 - (i32.load offset=16 - (local.get $4) - ) - ) - ) - (br_if $block16 - (i32.eqz - (local.tee $0 - (i32.load - (i32.add - (local.get $4) - (i32.const 20) - ) - ) - ) - ) - ) - ) - (local.set $1 - (select - (local.tee $4 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) - ) - (local.get $3) - ) - ) - (local.get $1) - (local.tee $4 - (i32.lt_u - (local.get $4) - (local.get $1) - ) - ) - ) - ) - (local.set $5 - (select - (local.get $0) - (local.get $5) - (local.get $4) - ) - ) - (local.set $4 - (local.get $0) - ) - (br $label) - ) - ) - (br_if $block17 - (i32.le_u - (local.tee $9 - (i32.add - (local.get $5) - (local.get $3) - ) - ) - (local.get $5) - ) - ) - (local.set $10 - (i32.load offset=24 - (local.get $5) - ) - ) - (block $block18 - (br_if $block18 - (i32.eq - (local.tee $7 - (i32.load offset=12 - (local.get $5) - ) - ) - (local.get $5) - ) - ) - (drop - (i32.gt_u - (i32.load offset=1884 - (i32.const 0) - ) - (local.tee $0 - (i32.load offset=8 - (local.get $5) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $0) - (local.get $7) - ) - (i32.store offset=8 - (local.get $7) - (local.get $0) - ) - (br $block19) - ) - (block $block20 - (br_if $block20 - (local.tee $0 - (i32.load - (local.tee $4 - (i32.add - (local.get $5) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block21 - (i32.eqz - (local.tee $0 - (i32.load offset=16 - (local.get $5) - ) - ) - ) - ) - (local.set $4 - (i32.add - (local.get $5) - (i32.const 16) - ) - ) - ) - (loop $label1 - (local.set $11 - (local.get $4) - ) - (br_if $label1 - (local.tee $0 - (i32.load - (local.tee $4 - (i32.add - (local.tee $7 - (local.get $0) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $4 - (i32.add - (local.get $7) - (i32.const 16) - ) - ) - (br_if $label1 - (local.tee $0 - (i32.load offset=16 - (local.get $7) - ) - ) - ) - ) - (i32.store - (local.get $11) - (i32.const 0) - ) - (br $block19) - ) - (local.set $3 - (i32.const -1) - ) - (br_if $block8 - (i32.gt_u - (local.get $0) - (i32.const -65) - ) - ) - (local.set $3 - (i32.and - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 11) - ) - ) - (i32.const -8) - ) - ) - (br_if $block8 - (i32.eqz - (local.tee $6 - (i32.load offset=1872 - (i32.const 0) - ) - ) - ) - ) - (local.set $11 - (i32.const 31) - ) - (block $block22 - (br_if $block22 - (i32.gt_u - (local.get $3) - (i32.const 16777215) - ) - ) - (local.set $11 - (i32.add - (i32.or - (i32.shl - (local.tee $0 - (i32.sub - (i32.shr_u - (i32.shl - (local.tee $4 - (i32.shl - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.shr_u - (local.get $0) - (i32.const 8) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $1) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) - ) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (i32.add - (local.get $4) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) - ) - ) - ) - (i32.const 15) - ) - (i32.or - (i32.or - (local.get $0) - (local.get $1) - ) - (local.get $4) - ) - ) - ) - (i32.const 1) - ) - (i32.and - (i32.shr_u - (local.get $3) - (i32.add - (local.get $0) - (i32.const 21) - ) - ) - (i32.const 1) - ) - ) - (i32.const 28) - ) - ) - ) - (local.set $1 - (i32.sub - (i32.const 0) - (local.get $3) - ) - ) - (block $block28 - (block $block26 - (block $block24 - (block $block23 - (br_if $block23 - (local.tee $4 - (i32.load - (i32.add - (i32.shl - (local.get $11) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - ) - (local.set $0 - (i32.const 0) - ) - (local.set $7 - (i32.const 0) - ) - (br $block24) - ) - (local.set $0 - (i32.const 0) - ) - (local.set $5 - (i32.shl - (local.get $3) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $11) - (i32.const 1) - ) - ) - (i32.eq - (local.get $11) - (i32.const 31) - ) - ) - ) - ) - (local.set $7 - (i32.const 0) - ) - (loop $label2 - (block $block25 - (br_if $block25 - (i32.ge_u - (local.tee $2 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $4) - ) - (i32.const -8) - ) - (local.get $3) - ) - ) - (local.get $1) - ) - ) - (local.set $1 - (local.get $2) - ) - (local.set $7 - (local.get $4) - ) - (br_if $block25 - (local.get $2) - ) - (local.set $1 - (i32.const 0) - ) - (local.set $7 - (local.get $4) - ) - (local.set $0 - (local.get $4) - ) - (br $block26) - ) - (local.set $0 - (select - (select - (local.get $0) - (local.tee $2 - (i32.load - (i32.add - (local.get $4) - (i32.const 20) - ) - ) - ) - (i32.eq - (local.get $2) - (local.tee $4 - (i32.load - (i32.add - (i32.add - (local.get $4) - (i32.and - (i32.shr_u - (local.get $5) - (i32.const 29) - ) - (i32.const 4) - ) - ) - (i32.const 16) - ) - ) - ) - ) - ) - (local.get $0) - (local.get $2) - ) - ) - (local.set $5 - (i32.shl - (local.get $5) - (i32.const 1) - ) - ) - (br_if $label2 - (local.get $4) - ) - ) - ) - (block $block27 - (br_if $block27 - (i32.or - (local.get $0) - (local.get $7) - ) - ) - (br_if $block8 - (i32.eqz - (local.tee $0 - (i32.and - (i32.or - (local.tee $0 - (i32.shl - (i32.const 2) - (local.get $11) - ) - ) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - (local.get $6) - ) - ) - ) - ) - (local.set $0 - (i32.load - (i32.add - (i32.shl - (i32.add - (i32.or - (i32.or - (i32.or - (i32.or - (local.tee $5 - (i32.and - (i32.shr_u - (local.tee $4 - (i32.shr_u - (local.tee $0 - (i32.add - (i32.and - (local.get $0) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - (i32.const -1) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (local.get $0) - (i32.const 12) - ) - (i32.const 16) - ) - ) - ) - ) - (i32.const 5) - ) - (i32.const 8) - ) - ) - (local.get $0) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $4) - (local.get $5) - ) - ) - (i32.const 2) - ) - (i32.const 4) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $0) - (local.get $4) - ) - ) - (i32.const 1) - ) - (i32.const 2) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (local.tee $0 - (i32.shr_u - (local.get $0) - (local.get $4) - ) - ) - (i32.const 1) - ) - (i32.const 1) - ) - ) - ) - (i32.shr_u - (local.get $0) - (local.get $4) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - ) - (br_if $block28 - (i32.eqz - (local.get $0) - ) - ) - ) - (loop $label3 - (local.set $5 - (i32.lt_u - (local.tee $2 - (i32.sub - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const -8) - ) - (local.get $3) - ) - ) - (local.get $1) - ) - ) - (block $block29 - (br_if $block29 - (local.tee $4 - (i32.load offset=16 - (local.get $0) - ) - ) - ) - (local.set $4 - (i32.load - (i32.add - (local.get $0) - (i32.const 20) - ) - ) - ) - ) - (local.set $1 - (select - (local.get $2) - (local.get $1) - (local.get $5) - ) - ) - (local.set $7 - (select - (local.get $0) - (local.get $7) - (local.get $5) - ) - ) - (local.set $0 - (local.get $4) - ) - (br_if $label3 - (local.get $4) - ) - ) - ) - (br_if $block8 - (i32.eqz - (local.get $7) - ) - ) - (br_if $block8 - (i32.ge_u - (local.get $1) - (i32.sub - (i32.load offset=1876 - (i32.const 0) - ) - (local.get $3) - ) - ) - ) - (br_if $block17 - (i32.le_u - (local.tee $11 - (i32.add - (local.get $7) - (local.get $3) - ) - ) - (local.get $7) - ) - ) - (local.set $8 - (i32.load offset=24 - (local.get $7) - ) - ) - (block $block30 - (br_if $block30 - (i32.eq - (local.tee $5 - (i32.load offset=12 - (local.get $7) - ) - ) - (local.get $7) - ) - ) - (drop - (i32.gt_u - (i32.load offset=1884 - (i32.const 0) - ) - (local.tee $0 - (i32.load offset=8 - (local.get $7) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $0) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $0) - ) - (br $block31) - ) - (block $block32 - (br_if $block32 - (local.tee $0 - (i32.load - (local.tee $4 - (i32.add - (local.get $7) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block33 - (i32.eqz - (local.tee $0 - (i32.load offset=16 - (local.get $7) - ) - ) - ) - ) - (local.set $4 - (i32.add - (local.get $7) - (i32.const 16) - ) - ) - ) - (loop $label4 - (local.set $2 - (local.get $4) - ) - (br_if $label4 - (local.tee $0 - (i32.load - (local.tee $4 - (i32.add - (local.tee $5 - (local.get $0) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $4 - (i32.add - (local.get $5) - (i32.const 16) - ) - ) - (br_if $label4 - (local.tee $0 - (i32.load offset=16 - (local.get $5) - ) - ) - ) - ) - (i32.store - (local.get $2) - (i32.const 0) - ) - (br $block31) - ) - (block $block34 - (br_if $block34 - (i32.lt_u - (local.tee $0 - (i32.load offset=1876 - (i32.const 0) - ) - ) - (local.get $3) - ) - ) - (local.set $1 - (i32.load offset=1888 - (i32.const 0) - ) - ) - (block $block36 - (block $block35 - (br_if $block35 - (i32.lt_u - (local.tee $4 - (i32.sub - (local.get $0) - (local.get $3) - ) - ) - (i32.const 16) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $4) - ) - (i32.store offset=1888 - (i32.const 0) - (local.tee $5 - (i32.add - (local.get $1) - (local.get $3) - ) - ) - ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $4) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $1) - (local.get $0) - ) - (local.get $4) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (br $block36) - ) - (i32.store offset=1888 - (i32.const 0) - (i32.const 0) - ) - (i32.store offset=1876 - (i32.const 0) - (i32.const 0) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $0) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $1) - (local.get $0) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) - ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 8) - ) - ) - (br $block7) - ) - (block $block37 - (br_if $block37 - (i32.le_u - (local.tee $0 - (i32.load offset=1880 - (i32.const 0) - ) - ) - (local.get $3) - ) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $1 - (i32.sub - (local.get $0) - (local.get $3) - ) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.tee $4 - (i32.add - (local.tee $0 - (i32.load offset=1892 - (i32.const 0) - ) - ) - (local.get $3) - ) - ) - ) - (i32.store offset=4 - (local.get $4) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (local.set $1 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - (br $block7) - ) - (local.set $1 - (i32.const 0) - ) - (block $block38 - (br_if $block38 - (i32.load offset=1844 - (i32.const 0) - ) - ) - (call $61) - ) - (br_if $block7 - (i32.le_u - (local.tee $7 - (i32.and - (i32.add - (local.tee $0 - (i32.load offset=1852 - (i32.const 0) - ) - ) - (local.tee $11 - (i32.add - (local.get $3) - (i32.const 47) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - ) - (local.get $3) - ) - ) - (local.set $1 - (i32.const 0) - ) - (block $block39 - (br_if $block39 - (i32.eqz - (local.tee $0 - (i32.load offset=2308 - (i32.const 0) - ) - ) - ) - ) - (br_if $block7 - (i32.le_u - (local.tee $5 - (i32.add - (local.tee $4 - (i32.load offset=2300 - (i32.const 0) - ) - ) - (local.get $7) - ) - ) - (local.get $4) - ) - ) - (br_if $block7 - (i32.gt_u - (local.get $5) - (local.get $0) - ) - ) - ) - (local.set $2 - (i32.const 0) - ) - (local.set $5 - (i32.const -1) - ) - (br_if $block40 - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 4) - ) - ) - (local.set $6 - (i32.const 0) - ) - (block $block49 - (block $block43 - (block $block41 - (br_if $block41 - (i32.eqz - (local.tee $1 - (i32.load offset=1892 - (i32.const 0) - ) - ) - ) - ) - (local.set $0 - (i32.const 2344) - ) - (loop $label5 - (block $block42 - (br_if $block42 - (i32.gt_u - (local.tee $4 - (i32.load - (local.get $0) - ) - ) - (local.get $1) - ) - ) - (br_if $block43 - (i32.gt_u - (i32.add - (local.get $4) - (i32.load offset=4 - (local.get $0) - ) - ) - (local.get $1) - ) - ) - ) - (br_if $label5 - (local.tee $0 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - ) - ) - (drop - (call $55 - (i32.const 2368) - ) - ) - (br_if $block44 - (i32.eq - (local.tee $5 - (call $66 - (i32.const 0) - ) - ) - (i32.const -1) - ) - ) - (local.set $2 - (local.get $7) - ) - (block $block45 - (br_if $block45 - (i32.eqz - (i32.and - (local.tee $1 - (i32.add - (local.tee $0 - (i32.load offset=1848 - (i32.const 0) - ) - ) - (i32.const -1) - ) - ) - (local.get $5) - ) - ) - ) - (local.set $2 - (i32.add - (i32.sub - (local.get $7) - (local.get $5) - ) - (i32.and - (i32.add - (local.get $1) - (local.get $5) - ) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - ) - ) - ) - (block $block46 - (br_if $block46 - (i32.gt_u - (local.get $2) - (local.get $3) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block44) - ) - (block $block47 - (br_if $block47 - (i32.le_u - (local.get $2) - (i32.const 2147483646) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block44) - ) - (local.set $6 - (i32.const 0) - ) - (block $block48 - (br_if $block48 - (i32.eqz - (local.tee $0 - (i32.load offset=2308 - (i32.const 0) - ) - ) - ) - ) - (br_if $block44 - (i32.le_u - (local.tee $4 - (i32.add - (local.tee $1 - (i32.load offset=2300 - (i32.const 0) - ) - ) - (local.get $2) - ) - ) - (local.get $1) - ) - ) - (br_if $block44 - (i32.gt_u - (local.get $4) - (local.get $0) - ) - ) - ) - (br_if $block49 - (i32.ne - (local.tee $0 - (call $66 - (local.get $2) - ) - ) - (local.get $5) - ) - ) - (br $block50) - ) - (drop - (call $55 - (i32.const 2368) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br_if $block44 - (i32.gt_u - (local.tee $2 - (i32.and - (i32.add - (i32.sub - (local.get $11) - (i32.load offset=1880 - (i32.const 0) - ) - ) - (local.tee $1 - (i32.load offset=1852 - (i32.const 0) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $1) - ) - ) - ) - (i32.const 2147483646) - ) - ) - (br_if $block51 - (i32.eq - (local.tee $5 - (call $66 - (local.get $2) - ) - ) - (i32.add - (i32.load - (local.get $0) - ) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - ) - (local.set $0 - (local.get $5) - ) - ) - (local.set $6 - (i32.const 0) - ) - (block $block52 - (br_if $block52 - (i32.le_u - (i32.add - (local.get $3) - (i32.const 48) - ) - (local.get $2) - ) - ) - (br_if $block52 - (i32.eq - (local.get $0) - (i32.const -1) - ) - ) - (block $block53 - (br_if $block53 - (i32.le_u - (local.tee $1 - (i32.and - (i32.add - (i32.sub - (local.get $11) - (local.get $2) - ) - (local.tee $1 - (i32.load offset=1852 - (i32.const 0) - ) - ) - ) - (i32.sub - (i32.const 0) - (local.get $1) - ) - ) - ) - (i32.const 2147483646) - ) - ) - (local.set $5 - (local.get $0) - ) - (br $block50) - ) - (block $block54 - (br_if $block54 - (i32.eq - (call $66 - (local.get $1) - ) - (i32.const -1) - ) - ) - (local.set $2 - (i32.add - (local.get $1) - (local.get $2) - ) - ) - (local.set $5 - (local.get $0) - ) - (br $block50) - ) - (drop - (call $66 - (i32.sub - (i32.const 0) - (local.get $2) - ) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block44) - ) - (local.set $5 - (local.get $0) - ) - (br_if $block50 - (i32.ne - (local.get $0) - (i32.const -1) - ) - ) - (br $block44) - ) - (unreachable) - (unreachable) - ) - (local.set $7 - (i32.const 0) - ) - (br $block19) - ) - (local.set $5 - (i32.const 0) - ) - (br $block31) - ) - (local.set $6 - (local.get $2) - ) - (br_if $block50 - (i32.ne - (local.get $5) - (i32.const -1) - ) - ) - ) - (i32.store offset=2312 - (i32.const 0) - (i32.or - (i32.load offset=2312 - (i32.const 0) - ) - (i32.const 4) - ) - ) - (local.set $5 - (i32.const -1) - ) - (local.set $2 - (local.get $6) - ) - ) - (drop - (call $20 - (i32.const 2368) - ) - ) - ) - (block $block56 - (block $block57 - (block $block55 - (br_if $block55 - (i32.gt_u - (local.get $7) - (i32.const 2147483646) - ) - ) - (br_if $block55 - (i32.ne - (local.get $5) - (i32.const -1) - ) - ) - (drop - (call $55 - (i32.const 2368) - ) - ) - (local.set $5 - (call $66 - (local.get $7) - ) - ) - (local.set $0 - (call $66 - (i32.const 0) - ) - ) - (drop - (call $20 - (i32.const 2368) - ) - ) - (br_if $block56 - (i32.ge_u - (local.get $5) - (local.get $0) - ) - ) - (br_if $block56 - (i32.eq - (local.get $5) - (i32.const -1) - ) - ) - (br_if $block56 - (i32.eq - (local.get $0) - (i32.const -1) - ) - ) - (br_if $block57 - (i32.gt_u - (local.tee $2 - (i32.sub - (local.get $0) - (local.get $5) - ) - ) - (i32.add - (local.get $3) - (i32.const 40) - ) - ) - ) - (br $block56) - ) - (br_if $block56 - (i32.eq - (local.get $5) - (i32.const -1) - ) - ) - ) - (i32.store offset=2300 - (i32.const 0) - (local.tee $0 - (i32.add - (i32.load offset=2300 - (i32.const 0) - ) - (local.get $2) - ) - ) - ) - (block $block58 - (br_if $block58 - (i32.le_u - (local.get $0) - (i32.load offset=2304 - (i32.const 0) - ) - ) - ) - (i32.store offset=2304 - (i32.const 0) - (local.get $0) - ) - ) - (block $block64 - (block $block61 - (block $block60 - (block $block59 - (br_if $block59 - (i32.eqz - (local.tee $1 - (i32.load offset=1892 - (i32.const 0) - ) - ) - ) - ) - (local.set $0 - (i32.const 2344) - ) - (loop $label6 - (br_if $block60 - (i32.eq - (local.get $5) - (i32.add - (local.tee $4 - (i32.load - (local.get $0) - ) - ) - (local.tee $7 - (i32.load offset=4 - (local.get $0) - ) - ) - ) - ) - ) - (br_if $label6 - (local.tee $0 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - (br $block61) - ) - ) - (block $block63 - (block $block62 - (br_if $block62 - (i32.eqz - (local.tee $0 - (i32.load offset=1884 - (i32.const 0) - ) - ) - ) - ) - (br_if $block63 - (i32.ge_u - (local.get $5) - (local.get $0) - ) - ) - ) - (i32.store offset=1884 - (i32.const 0) - (local.get $5) - ) - ) - (local.set $0 - (i32.const 0) - ) - (i32.store offset=2348 - (i32.const 0) - (local.get $2) - ) - (i32.store offset=2344 - (i32.const 0) - (local.get $5) - ) - (i32.store offset=1900 - (i32.const 0) - (i32.const -1) - ) - (i32.store offset=1904 - (i32.const 0) - (i32.load offset=1844 - (i32.const 0) - ) - ) - (i32.store offset=2356 - (i32.const 0) - (i32.const 0) - ) - (loop $label7 - (i32.store - (i32.add - (local.tee $1 - (i32.shl - (local.get $0) - (i32.const 3) - ) - ) - (i32.const 1916) - ) - (local.tee $4 - (i32.add - (local.get $1) - (i32.const 1908) - ) - ) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 1920) - ) - (local.get $4) - ) - (br_if $label7 - (i32.ne - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - (i32.const 32) - ) - ) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $4 - (i32.sub - (local.tee $0 - (i32.add - (local.get $2) - (i32.const -40) - ) - ) - (local.tee $1 - (select - (i32.and - (i32.sub - (i32.const -8) - (local.get $5) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (i32.add - (local.get $5) - (i32.const 8) - ) - (i32.const 7) - ) - ) - ) - ) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.tee $1 - (i32.add - (local.get $5) - (local.get $1) - ) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $4) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $5) - (local.get $0) - ) - (i32.const 40) - ) - (i32.store offset=1896 - (i32.const 0) - (i32.load offset=1860 - (i32.const 0) - ) - ) - (br $block64) - ) - (br_if $block61 - (i32.le_u - (local.get $5) - (local.get $1) - ) - ) - (br_if $block61 - (i32.gt_u - (local.get $4) - (local.get $1) - ) - ) - (br_if $block61 - (i32.and - (i32.load offset=12 - (local.get $0) - ) - (i32.const 8) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.add - (local.get $7) - (local.get $2) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.tee $4 - (i32.add - (local.get $1) - (local.tee $0 - (select - (i32.and - (i32.sub - (i32.const -8) - (local.get $1) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (i32.add - (local.get $1) - (i32.const 8) - ) - (i32.const 7) - ) - ) - ) - ) - ) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $0 - (i32.sub - (local.tee $5 - (i32.add - (i32.load offset=1880 - (i32.const 0) - ) - (local.get $2) - ) - ) - (local.get $0) - ) - ) - ) - (i32.store offset=4 - (local.get $4) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $1) - (local.get $5) - ) - (i32.const 40) - ) - (i32.store offset=1896 - (i32.const 0) - (i32.load offset=1860 - (i32.const 0) - ) - ) - (br $block64) - ) - (block $block65 - (br_if $block65 - (i32.ge_u - (local.get $5) - (local.tee $7 - (i32.load offset=1884 - (i32.const 0) - ) - ) - ) - ) - (i32.store offset=1884 - (i32.const 0) - (local.get $5) - ) - (local.set $7 - (local.get $5) - ) - ) - (local.set $4 - (i32.add - (local.get $5) - (local.get $2) - ) - ) - (local.set $0 - (i32.const 2344) - ) - (block $block97 - (block $block72 - (block $block90 - (block $block70 - (block $block68 - (block $block67 - (block $block66 - (loop $label8 - (br_if $block66 - (i32.eq - (i32.load - (local.get $0) - ) - (local.get $4) - ) - ) - (br_if $label8 - (local.tee $0 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - (br $block67) - ) - ) - (br_if $block68 - (i32.eqz - (i32.and - (i32.load8_u offset=12 - (local.get $0) - ) - (i32.const 8) - ) - ) - ) - ) - (local.set $0 - (i32.const 2344) - ) - (loop $label9 - (block $block69 - (br_if $block69 - (i32.gt_u - (local.tee $4 - (i32.load - (local.get $0) - ) - ) - (local.get $1) - ) - ) - (br_if $block70 - (i32.gt_u - (local.tee $4 - (i32.add - (local.get $4) - (i32.load offset=4 - (local.get $0) - ) - ) - ) - (local.get $1) - ) - ) - ) - (local.set $0 - (i32.load offset=8 - (local.get $0) - ) - ) - (br $label9) - ) - ) - (i32.store - (local.get $0) - (local.get $5) - ) - (i32.store offset=4 - (local.get $0) - (i32.add - (i32.load offset=4 - (local.get $0) - ) - (local.get $2) - ) - ) - (i32.store offset=4 - (local.tee $11 - (i32.add - (local.get $5) - (select - (i32.and - (i32.sub - (i32.const -8) - (local.get $5) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (i32.add - (local.get $5) - (i32.const 8) - ) - (i32.const 7) - ) - ) - ) - ) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (local.set $4 - (i32.sub - (i32.sub - (local.tee $2 - (i32.add - (local.get $4) - (select - (i32.and - (i32.sub - (i32.const -8) - (local.get $4) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (i32.add - (local.get $4) - (i32.const 8) - ) - (i32.const 7) - ) - ) - ) - ) - (local.get $11) - ) - (local.get $3) - ) - ) - (local.set $3 - (i32.add - (local.get $11) - (local.get $3) - ) - ) - (block $block71 - (br_if $block71 - (i32.ne - (local.get $1) - (local.get $2) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.get $3) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $0 - (i32.add - (i32.load offset=1880 - (i32.const 0) - ) - (local.get $4) - ) - ) - ) - (i32.store offset=4 - (local.get $3) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (br $block72) - ) - (block $block73 - (br_if $block73 - (i32.ne - (i32.load offset=1888 - (i32.const 0) - ) - (local.get $2) - ) - ) - (i32.store offset=1888 - (i32.const 0) - (local.get $3) - ) - (i32.store offset=1876 - (i32.const 0) - (local.tee $0 - (i32.add - (i32.load offset=1876 - (i32.const 0) - ) - (local.get $4) - ) - ) - ) - (i32.store offset=4 - (local.get $3) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $3) - (local.get $0) - ) - (local.get $0) - ) - (br $block72) - ) - (block $block74 - (br_if $block74 - (i32.ne - (i32.and - (local.tee $0 - (i32.load offset=4 - (local.get $2) - ) - ) - (i32.const 3) - ) - (i32.const 1) - ) - ) - (local.set $6 - (i32.and - (local.get $0) - (i32.const -8) - ) - ) - (block $block77 - (block $block75 - (br_if $block75 - (i32.gt_u - (local.get $0) - (i32.const 255) - ) - ) - (drop - (i32.eq - (local.tee $1 - (i32.load offset=8 - (local.get $2) - ) - ) - (local.tee $5 - (i32.add - (i32.shl - (local.tee $7 - (i32.shr_u - (local.get $0) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - ) - ) - (block $block76 - (br_if $block76 - (i32.ne - (local.tee $0 - (i32.load offset=12 - (local.get $2) - ) - ) - (local.get $1) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.and - (i32.load offset=1868 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $7) - ) - ) - ) - (br $block77) - ) - (drop - (i32.eq - (local.get $0) - (local.get $5) - ) - ) - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (br $block77) - ) - (local.set $8 - (i32.load offset=24 - (local.get $2) - ) - ) - (block $block79 - (block $block78 - (br_if $block78 - (i32.eq - (local.tee $5 - (i32.load offset=12 - (local.get $2) - ) - ) - (local.get $2) - ) - ) - (drop - (i32.gt_u - (local.get $7) - (local.tee $0 - (i32.load offset=8 - (local.get $2) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $0) - (local.get $5) - ) - (i32.store offset=8 - (local.get $5) - (local.get $0) - ) - (br $block79) - ) - (block $block80 - (br_if $block80 - (local.tee $1 - (i32.load - (local.tee $0 - (i32.add - (local.get $2) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block80 - (local.tee $1 - (i32.load - (local.tee $0 - (i32.add - (local.get $2) - (i32.const 16) - ) - ) - ) - ) - ) - (local.set $5 - (i32.const 0) - ) - (br $block79) - ) - (loop $label10 - (local.set $7 - (local.get $0) - ) - (br_if $label10 - (local.tee $1 - (i32.load - (local.tee $0 - (i32.add - (local.tee $5 - (local.get $1) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $0 - (i32.add - (local.get $5) - (i32.const 16) - ) - ) - (br_if $label10 - (local.tee $1 - (i32.load offset=16 - (local.get $5) - ) - ) - ) - ) - (i32.store - (local.get $7) - (i32.const 0) - ) - ) - (br_if $block77 - (i32.eqz - (local.get $8) - ) - ) - (block $block82 - (block $block81 - (br_if $block81 - (i32.ne - (i32.load - (local.tee $0 - (i32.add - (i32.shl - (local.tee $1 - (i32.load offset=28 - (local.get $2) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - (local.get $2) - ) - ) - (i32.store - (local.get $0) - (local.get $5) - ) - (br_if $block82 - (local.get $5) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.and - (i32.load offset=1872 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $1) - ) - ) - ) - (br $block77) - ) - (i32.store - (i32.add - (local.get $8) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $8) - ) - (local.get $2) - ) - ) - ) - (local.get $5) - ) - (br_if $block77 - (i32.eqz - (local.get $5) - ) - ) - ) - (i32.store offset=24 - (local.get $5) - (local.get $8) - ) - (block $block83 - (br_if $block83 - (i32.eqz - (local.tee $0 - (i32.load offset=16 - (local.get $2) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $5) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $5) - ) - ) - (br_if $block77 - (i32.eqz - (local.tee $0 - (i32.load offset=20 - (local.get $2) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 20) - ) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $5) - ) - ) - (local.set $4 - (i32.add - (local.get $6) - (local.get $4) - ) - ) - (local.set $2 - (i32.add - (local.get $2) - (local.get $6) - ) - ) - ) - (i32.store offset=4 - (local.get $2) - (i32.and - (i32.load offset=4 - (local.get $2) - ) - (i32.const -2) - ) - ) - (i32.store offset=4 - (local.get $3) - (i32.or - (local.get $4) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $3) - (local.get $4) - ) - (local.get $4) - ) - (block $block84 - (br_if $block84 - (i32.gt_u - (local.get $4) - (i32.const 255) - ) - ) - (local.set $0 - (i32.add - (i32.shl - (local.tee $1 - (i32.shr_u - (local.get $4) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (block $block86 - (block $block85 - (br_if $block85 - (i32.and - (local.tee $4 - (i32.load offset=1868 - (i32.const 0) - ) - ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $1) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $4) - (local.get $1) - ) - ) - (local.set $1 - (local.get $0) - ) - (br $block86) - ) - (local.set $1 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - (i32.store offset=8 - (local.get $0) - (local.get $3) - ) - (i32.store offset=12 - (local.get $1) - (local.get $3) - ) - (i32.store offset=12 - (local.get $3) - (local.get $0) - ) - (i32.store offset=8 - (local.get $3) - (local.get $1) - ) - (br $block72) - ) - (local.set $0 - (i32.const 31) - ) - (block $block87 - (br_if $block87 - (i32.gt_u - (local.get $4) - (i32.const 16777215) - ) - ) - (local.set $0 - (i32.add - (i32.or - (i32.shl - (local.tee $0 - (i32.sub - (i32.shr_u - (i32.shl - (local.tee $5 - (i32.shl - (local.tee $1 - (i32.shl - (local.tee $0 - (i32.shr_u - (local.get $4) - (i32.const 8) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (local.tee $1 - (i32.and - (i32.shr_u - (i32.add - (local.get $1) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) - ) - ) - ) - ) - (local.tee $5 - (i32.and - (i32.shr_u - (i32.add - (local.get $5) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) - ) - ) - ) - (i32.const 15) - ) - (i32.or - (i32.or - (local.get $0) - (local.get $1) - ) - (local.get $5) - ) - ) - ) - (i32.const 1) - ) - (i32.and - (i32.shr_u - (local.get $4) - (i32.add - (local.get $0) - (i32.const 21) - ) - ) - (i32.const 1) - ) - ) - (i32.const 28) - ) - ) - ) - (i32.store offset=28 - (local.get $3) - (local.get $0) - ) - (i64.store offset=16 align=4 - (local.get $3) - (i64.const 0) - ) - (local.set $1 - (i32.add - (i32.shl - (local.get $0) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - (block $block89 - (block $block88 - (br_if $block88 - (i32.and - (local.tee $5 - (i32.load offset=1872 - (i32.const 0) - ) - ) - (local.tee $7 - (i32.shl - (i32.const 1) - (local.get $0) - ) - ) - ) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.or - (local.get $5) - (local.get $7) - ) - ) - (i32.store - (local.get $1) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (local.get $1) - ) - (br $block89) - ) - (local.set $0 - (i32.shl - (local.get $4) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $0) - (i32.const 1) - ) - ) - (i32.eq - (local.get $0) - (i32.const 31) - ) - ) - ) - ) - (local.set $5 - (i32.load - (local.get $1) - ) - ) - (loop $label11 - (br_if $block90 - (i32.eq - (i32.and - (i32.load offset=4 - (local.tee $1 - (local.get $5) - ) - ) - (i32.const -8) - ) - (local.get $4) - ) - ) - (local.set $5 - (i32.shr_u - (local.get $0) - (i32.const 29) - ) - ) - (local.set $0 - (i32.shl - (local.get $0) - (i32.const 1) - ) - ) - (br_if $label11 - (local.tee $5 - (i32.load - (local.tee $7 - (i32.add - (i32.add - (local.get $1) - (i32.and - (local.get $5) - (i32.const 4) - ) - ) - (i32.const 16) - ) - ) - ) - ) - ) - ) - (i32.store - (local.get $7) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (local.get $1) - ) - ) - (i32.store offset=12 - (local.get $3) - (local.get $3) - ) - (i32.store offset=8 - (local.get $3) - (local.get $3) - ) - (br $block72) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $11 - (i32.sub - (local.tee $0 - (i32.add - (local.get $2) - (i32.const -40) - ) - ) - (local.tee $7 - (select - (i32.and - (i32.sub - (i32.const -8) - (local.get $5) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (i32.add - (local.get $5) - (i32.const 8) - ) - (i32.const 7) - ) - ) - ) - ) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.tee $7 - (i32.add - (local.get $5) - (local.get $7) - ) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.or - (local.get $11) - (i32.const 1) - ) - ) - (i32.store offset=4 - (i32.add - (local.get $5) - (local.get $0) - ) - (i32.const 40) - ) - (i32.store offset=1896 - (i32.const 0) - (i32.load offset=1860 - (i32.const 0) - ) - ) - (i32.store offset=4 - (local.tee $7 - (select - (local.get $1) - (local.tee $0 - (i32.add - (i32.add - (local.get $4) - (select - (i32.and - (i32.sub - (i32.const 39) - (local.get $4) - ) - (i32.const 7) - ) - (i32.const 0) - (i32.and - (i32.add - (local.get $4) - (i32.const -39) - ) - (i32.const 7) - ) - ) - ) - (i32.const -47) - ) - ) - (i32.lt_u - (local.get $0) - (i32.add - (local.get $1) - (i32.const 16) - ) - ) - ) - ) - (i32.const 27) - ) - (i64.store align=4 - (i32.add - (local.get $7) - (i32.const 16) - ) - (i64.load offset=2352 align=4 - (i32.const 0) - ) - ) - (i64.store offset=8 align=4 - (local.get $7) - (i64.load offset=2344 align=4 - (i32.const 0) - ) - ) - (i32.store offset=2352 - (i32.const 0) - (i32.add - (local.get $7) - (i32.const 8) - ) - ) - (i32.store offset=2348 - (i32.const 0) - (local.get $2) - ) - (i32.store offset=2344 - (i32.const 0) - (local.get $5) - ) - (i32.store offset=2356 - (i32.const 0) - (i32.const 0) - ) - (local.set $0 - (i32.add - (local.get $7) - (i32.const 24) - ) - ) - (loop $label12 - (i32.store offset=4 - (local.get $0) - (i32.const 7) - ) - (local.set $5 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - (local.set $0 - (i32.add - (local.get $0) - (i32.const 4) - ) - ) - (br_if $label12 - (i32.gt_u - (local.get $4) - (local.get $5) - ) - ) - ) - (br_if $block64 - (i32.eq - (local.get $7) - (local.get $1) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.and - (i32.load offset=4 - (local.get $7) - ) - (i32.const -2) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.tee $2 - (i32.sub - (local.get $7) - (local.get $1) - ) - ) - (i32.const 1) - ) - ) - (i32.store - (local.get $7) - (local.get $2) - ) - (block $block91 - (br_if $block91 - (i32.gt_u - (local.get $2) - (i32.const 255) - ) - ) - (local.set $0 - (i32.add - (i32.shl - (local.tee $4 - (i32.shr_u - (local.get $2) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (block $block93 - (block $block92 - (br_if $block92 - (i32.and - (local.tee $5 - (i32.load offset=1868 - (i32.const 0) - ) - ) - (local.tee $4 - (i32.shl - (i32.const 1) - (local.get $4) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $5) - (local.get $4) - ) - ) - (local.set $4 - (local.get $0) - ) - (br $block93) - ) - (local.set $4 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (i32.store offset=12 - (local.get $4) - (local.get $1) - ) - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $1) - (local.get $4) - ) - (br $block64) - ) - (local.set $0 - (i32.const 31) - ) - (block $block94 - (br_if $block94 - (i32.gt_u - (local.get $2) - (i32.const 16777215) - ) - ) - (local.set $0 - (i32.add - (i32.or - (i32.shl - (local.tee $0 - (i32.sub - (i32.shr_u - (i32.shl - (local.tee $5 - (i32.shl - (local.tee $4 - (i32.shl - (local.tee $0 - (i32.shr_u - (local.get $2) - (i32.const 8) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (i32.add - (local.get $4) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) - ) - ) - ) - ) - (local.tee $5 - (i32.and - (i32.shr_u - (i32.add - (local.get $5) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) - ) - ) - ) - (i32.const 15) - ) - (i32.or - (i32.or - (local.get $0) - (local.get $4) - ) - (local.get $5) - ) - ) - ) - (i32.const 1) - ) - (i32.and - (i32.shr_u - (local.get $2) - (i32.add - (local.get $0) - (i32.const 21) - ) - ) - (i32.const 1) - ) - ) - (i32.const 28) - ) - ) - ) - (i64.store offset=16 align=4 - (local.get $1) - (i64.const 0) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 28) - ) - (local.get $0) - ) - (local.set $4 - (i32.add - (i32.shl - (local.get $0) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - (block $block96 - (block $block95 - (br_if $block95 - (i32.and - (local.tee $5 - (i32.load offset=1872 - (i32.const 0) - ) - ) - (local.tee $7 - (i32.shl - (i32.const 1) - (local.get $0) - ) - ) - ) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.or - (local.get $5) - (local.get $7) - ) - ) - (i32.store - (local.get $4) - (local.get $1) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 24) - ) - (local.get $4) - ) - (br $block96) - ) - (local.set $0 - (i32.shl - (local.get $2) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $0) - (i32.const 1) - ) - ) - (i32.eq - (local.get $0) - (i32.const 31) - ) - ) - ) - ) - (local.set $5 - (i32.load - (local.get $4) - ) - ) - (loop $label13 - (br_if $block97 - (i32.eq - (i32.and - (i32.load offset=4 - (local.tee $4 - (local.get $5) - ) - ) - (i32.const -8) - ) - (local.get $2) - ) - ) - (local.set $5 - (i32.shr_u - (local.get $0) - (i32.const 29) - ) - ) - (local.set $0 - (i32.shl - (local.get $0) - (i32.const 1) - ) - ) - (br_if $label13 - (local.tee $5 - (i32.load - (local.tee $7 - (i32.add - (i32.add - (local.get $4) - (i32.and - (local.get $5) - (i32.const 4) - ) - ) - (i32.const 16) - ) - ) - ) - ) - ) - ) - (i32.store - (local.get $7) - (local.get $1) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 24) - ) - (local.get $4) - ) - ) - (i32.store offset=12 - (local.get $1) - (local.get $1) - ) - (i32.store offset=8 - (local.get $1) - (local.get $1) - ) - (br $block64) - ) - (i32.store offset=12 - (local.tee $0 - (i32.load offset=8 - (local.get $1) - ) - ) - (local.get $3) - ) - (i32.store offset=8 - (local.get $1) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (i32.const 0) - ) - (i32.store offset=12 - (local.get $3) - (local.get $1) - ) - (i32.store offset=8 - (local.get $3) - (local.get $0) - ) - ) - (local.set $1 - (i32.add - (local.get $11) - (i32.const 8) - ) - ) - (br $block7) - ) - (i32.store offset=12 - (local.tee $0 - (i32.load offset=8 - (local.get $4) - ) - ) - (local.get $1) - ) - (i32.store offset=8 - (local.get $4) - (local.get $1) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 24) - ) - (i32.const 0) - ) - (i32.store offset=12 - (local.get $1) - (local.get $4) - ) - (i32.store offset=8 - (local.get $1) - (local.get $0) - ) - ) - (br_if $block56 - (i32.le_u - (local.tee $0 - (i32.load offset=1880 - (i32.const 0) - ) - ) - (local.get $3) - ) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $1 - (i32.sub - (local.get $0) - (local.get $3) - ) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.tee $4 - (i32.add - (local.tee $0 - (i32.load offset=1892 - (i32.const 0) - ) - ) - (local.get $3) - ) - ) - ) - (i32.store offset=4 - (local.get $4) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (local.set $1 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - (br $block7) - ) - (i32.store - (call $25) - (i32.const 48) - ) - (local.set $1 - (i32.const 0) - ) - (br $block7) - ) - (block $block98 - (br_if $block98 - (i32.eqz - (local.get $8) - ) - ) - (block $block100 - (block $block99 - (br_if $block99 - (i32.ne - (local.get $7) - (i32.load - (local.tee $0 - (i32.add - (i32.shl - (local.tee $4 - (i32.load offset=28 - (local.get $7) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - ) - ) - (i32.store - (local.get $0) - (local.get $5) - ) - (br_if $block100 - (local.get $5) - ) - (i32.store offset=1872 - (i32.const 0) - (local.tee $6 - (i32.and - (local.get $6) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - ) - (br $block98) - ) - (i32.store - (i32.add - (local.get $8) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $8) - ) - (local.get $7) - ) - ) - ) - (local.get $5) - ) - (br_if $block98 - (i32.eqz - (local.get $5) - ) - ) - ) - (i32.store offset=24 - (local.get $5) - (local.get $8) - ) - (block $block101 - (br_if $block101 - (i32.eqz - (local.tee $0 - (i32.load offset=16 - (local.get $7) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $5) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $5) - ) - ) - (br_if $block98 - (i32.eqz - (local.tee $0 - (i32.load - (i32.add - (local.get $7) - (i32.const 20) - ) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $5) - (i32.const 20) - ) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $5) - ) - ) - (block $block103 - (block $block102 - (br_if $block102 - (i32.gt_u - (local.get $1) - (i32.const 15) - ) - ) - (i32.store offset=4 - (local.get $7) - (i32.or - (local.tee $0 - (i32.add - (local.get $1) - (local.get $3) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $7) - (local.get $0) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) - ) - (br $block103) - ) - (i32.store offset=4 - (local.get $7) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.get $11) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $11) - (local.get $1) - ) - (local.get $1) - ) - (block $block104 - (br_if $block104 - (i32.gt_u - (local.get $1) - (i32.const 255) - ) - ) - (local.set $0 - (i32.add - (i32.shl - (local.tee $1 - (i32.shr_u - (local.get $1) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (block $block106 - (block $block105 - (br_if $block105 - (i32.and - (local.tee $4 - (i32.load offset=1868 - (i32.const 0) - ) - ) - (local.tee $1 - (i32.shl - (i32.const 1) - (local.get $1) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $4) - (local.get $1) - ) - ) - (local.set $1 - (local.get $0) - ) - (br $block106) - ) - (local.set $1 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - (i32.store offset=8 - (local.get $0) - (local.get $11) - ) - (i32.store offset=12 - (local.get $1) - (local.get $11) - ) - (i32.store offset=12 - (local.get $11) - (local.get $0) - ) - (i32.store offset=8 - (local.get $11) - (local.get $1) - ) - (br $block103) - ) - (local.set $0 - (i32.const 31) - ) - (block $block107 - (br_if $block107 - (i32.gt_u - (local.get $1) - (i32.const 16777215) - ) - ) - (local.set $0 - (i32.add - (i32.or - (i32.shl - (local.tee $0 - (i32.sub - (i32.shr_u - (i32.shl - (local.tee $3 - (i32.shl - (local.tee $4 - (i32.shl - (local.tee $0 - (i32.shr_u - (local.get $1) - (i32.const 8) - ) - ) - (local.tee $0 - (i32.and - (i32.shr_u - (i32.add - (local.get $0) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (i32.add - (local.get $4) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) - ) - ) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (i32.add - (local.get $3) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) - ) - ) - ) - (i32.const 15) - ) - (i32.or - (i32.or - (local.get $0) - (local.get $4) - ) - (local.get $3) - ) - ) - ) - (i32.const 1) - ) - (i32.and - (i32.shr_u - (local.get $1) - (i32.add - (local.get $0) - (i32.const 21) - ) - ) - (i32.const 1) - ) - ) - (i32.const 28) - ) - ) - ) - (i32.store offset=28 - (local.get $11) - (local.get $0) - ) - (i64.store offset=16 align=4 - (local.get $11) - (i64.const 0) - ) - (local.set $4 - (i32.add - (i32.shl - (local.get $0) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - (block $block110 - (block $block109 - (block $block108 - (br_if $block108 - (i32.and - (local.get $6) - (local.tee $3 - (i32.shl - (i32.const 1) - (local.get $0) - ) - ) - ) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.or - (local.get $6) - (local.get $3) - ) - ) - (i32.store - (local.get $4) - (local.get $11) - ) - (i32.store offset=24 - (local.get $11) - (local.get $4) - ) - (br $block109) - ) - (local.set $0 - (i32.shl - (local.get $1) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $0) - (i32.const 1) - ) - ) - (i32.eq - (local.get $0) - (i32.const 31) - ) - ) - ) - ) - (local.set $3 - (i32.load - (local.get $4) - ) - ) - (loop $label14 - (br_if $block110 - (i32.eq - (i32.and - (i32.load offset=4 - (local.tee $4 - (local.get $3) - ) - ) - (i32.const -8) - ) - (local.get $1) - ) - ) - (local.set $3 - (i32.shr_u - (local.get $0) - (i32.const 29) - ) - ) - (local.set $0 - (i32.shl - (local.get $0) - (i32.const 1) - ) - ) - (br_if $label14 - (local.tee $3 - (i32.load - (local.tee $5 - (i32.add - (i32.add - (local.get $4) - (i32.and - (local.get $3) - (i32.const 4) - ) - ) - (i32.const 16) - ) - ) - ) - ) - ) - ) - (i32.store - (local.get $5) - (local.get $11) - ) - (i32.store offset=24 - (local.get $11) - (local.get $4) - ) - ) - (i32.store offset=12 - (local.get $11) - (local.get $11) - ) - (i32.store offset=8 - (local.get $11) - (local.get $11) - ) - (br $block103) - ) - (i32.store offset=12 - (local.tee $0 - (i32.load offset=8 - (local.get $4) - ) - ) - (local.get $11) - ) - (i32.store offset=8 - (local.get $4) - (local.get $11) - ) - (i32.store offset=24 - (local.get $11) - (i32.const 0) - ) - (i32.store offset=12 - (local.get $11) - (local.get $4) - ) - (i32.store offset=8 - (local.get $11) - (local.get $0) - ) - ) - (local.set $1 - (i32.add - (local.get $7) - (i32.const 8) - ) - ) - (br $block7) - ) - (block $block111 - (br_if $block111 - (i32.eqz - (local.get $10) - ) - ) - (block $block113 - (block $block112 - (br_if $block112 - (i32.ne - (local.get $5) - (i32.load - (local.tee $0 - (i32.add - (i32.shl - (local.tee $4 - (i32.load offset=28 - (local.get $5) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - ) - ) - (i32.store - (local.get $0) - (local.get $7) - ) - (br_if $block113 - (local.get $7) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.and - (local.get $8) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - (br $block111) - ) - (i32.store - (i32.add - (local.get $10) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $10) - ) - (local.get $5) - ) - ) - ) - (local.get $7) - ) - (br_if $block111 - (i32.eqz - (local.get $7) - ) - ) - ) - (i32.store offset=24 - (local.get $7) - (local.get $10) - ) - (block $block114 - (br_if $block114 - (i32.eqz - (local.tee $0 - (i32.load offset=16 - (local.get $5) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $7) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $7) - ) - ) - (br_if $block111 - (i32.eqz - (local.tee $0 - (i32.load - (i32.add - (local.get $5) - (i32.const 20) - ) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $7) - (i32.const 20) - ) - (local.get $0) - ) - (i32.store offset=24 - (local.get $0) - (local.get $7) - ) - ) - (block $block116 - (block $block115 - (br_if $block115 - (i32.gt_u - (local.get $1) - (i32.const 15) - ) - ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.tee $0 - (i32.add - (local.get $1) - (local.get $3) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $5) - (local.get $0) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) - ) - (br $block116) - ) - (i32.store offset=4 - (local.get $5) - (i32.or - (local.get $3) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.get $9) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $9) - (local.get $1) - ) - (local.get $1) - ) - (block $block117 - (br_if $block117 - (i32.eqz - (local.get $6) - ) - ) - (local.set $4 - (i32.add - (i32.shl - (local.tee $3 - (i32.shr_u - (local.get $6) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (local.set $0 - (i32.load offset=1888 - (i32.const 0) - ) - ) - (block $block119 - (block $block118 - (br_if $block118 - (i32.and - (local.tee $3 - (i32.shl - (i32.const 1) - (local.get $3) - ) - ) - (local.get $2) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $3) - (local.get $2) - ) - ) - (local.set $3 - (local.get $4) - ) - (br $block119) - ) - (local.set $3 - (i32.load offset=8 - (local.get $4) - ) - ) - ) - (i32.store offset=8 - (local.get $4) - (local.get $0) - ) - (i32.store offset=12 - (local.get $3) - (local.get $0) - ) - (i32.store offset=12 - (local.get $0) - (local.get $4) - ) - (i32.store offset=8 - (local.get $0) - (local.get $3) - ) - ) - (i32.store offset=1888 - (i32.const 0) - (local.get $9) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $1) - ) - ) - (local.set $1 - (i32.add - (local.get $5) - (i32.const 8) - ) - ) - ) - (br_if $block2 - (i32.eqz - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 2) - ) - ) - ) - (drop - (call $20 - (i32.const 2316) - ) - ) - ) - (local.get $1) - ) - (func $61 - (local $0 i32) - (global.set $global$0 - (local.tee $0 - (i32.sub - (global.get $global$0) - (i32.const 16) - ) - ) - ) - (drop - (call $55 - (i32.const 2368) - ) - ) - (block $block - (br_if $block - (i32.load offset=1844 - (i32.const 0) - ) - ) - (i32.store offset=1864 - (i32.const 0) - (i32.const 2) - ) - (i64.store offset=1856 align=4 - (i32.const 0) - (i64.const -1) - ) - (i64.store offset=1848 align=4 - (i32.const 0) - (i64.const 17592186048512) - ) - (i32.store offset=2312 - (i32.const 0) - (i32.const 2) - ) - (block $block1 - (br_if $block1 - (call $57 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - ) - (br_if $block1 - (call $58 - (i32.const 2316) - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - ) - (drop - (call $59 - (i32.add - (local.get $0) - (i32.const 8) - ) - ) - ) - ) - (i32.store offset=1844 - (i32.const 0) - (i32.xor - (i32.and - (i32.add - (local.get $0) - (i32.const 4) - ) - (i32.const -16) - ) - (i32.const 1431655768) - ) - ) - ) - (drop - (call $20 - (i32.const 2368) - ) - ) - (global.set $global$0 - (i32.add - (local.get $0) - (i32.const 16) - ) - ) - ) - (func $62 (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (block $block - (br_if $block - (i32.eqz - (local.get $0) - ) - ) - (block $block1 - (br_if $block1 - (i32.eqz - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 2) - ) - ) - ) - (br_if $block - (call $55 - (i32.const 2316) - ) - ) - ) - (local.set $3 - (i32.add - (local.tee $1 - (i32.add - (local.get $0) - (i32.const -8) - ) - ) - (local.tee $0 - (i32.and - (local.tee $2 - (i32.load - (i32.add - (local.get $0) - (i32.const -4) - ) - ) - ) - (i32.const -8) - ) - ) - ) - ) - (block $block3 - (block $block2 - (br_if $block2 - (i32.and - (local.get $2) - (i32.const 1) - ) - ) - (br_if $block3 - (i32.eqz - (i32.and - (local.get $2) - (i32.const 3) - ) - ) - ) - (br_if $block3 - (i32.lt_u - (local.tee $1 - (i32.sub - (local.get $1) - (local.tee $2 - (i32.load - (local.get $1) - ) - ) - ) - ) - (local.tee $4 - (i32.load offset=1884 - (i32.const 0) - ) - ) - ) - ) - (local.set $0 - (i32.add - (local.get $2) - (local.get $0) - ) - ) - (block $block4 - (br_if $block4 - (i32.eq - (i32.load offset=1888 - (i32.const 0) - ) - (local.get $1) - ) - ) - (block $block5 - (br_if $block5 - (i32.gt_u - (local.get $2) - (i32.const 255) - ) - ) - (drop - (i32.eq - (local.tee $4 - (i32.load offset=8 - (local.get $1) - ) - ) - (local.tee $6 - (i32.add - (i32.shl - (local.tee $5 - (i32.shr_u - (local.get $2) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - ) - ) - (block $block6 - (br_if $block6 - (i32.ne - (local.tee $2 - (i32.load offset=12 - (local.get $1) - ) - ) - (local.get $4) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.and - (i32.load offset=1868 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $5) - ) - ) - ) - (br $block2) - ) - (drop - (i32.eq - (local.get $2) - (local.get $6) - ) - ) - (i32.store offset=12 - (local.get $4) - (local.get $2) - ) - (i32.store offset=8 - (local.get $2) - (local.get $4) - ) - (br $block2) - ) - (local.set $7 - (i32.load offset=24 - (local.get $1) - ) - ) - (block $block8 - (block $block7 - (br_if $block7 - (i32.eq - (local.tee $6 - (i32.load offset=12 - (local.get $1) - ) - ) - (local.get $1) - ) - ) - (drop - (i32.gt_u - (local.get $4) - (local.tee $2 - (i32.load offset=8 - (local.get $1) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $2) - (local.get $6) - ) - (i32.store offset=8 - (local.get $6) - (local.get $2) - ) - (br $block8) - ) - (block $block9 - (br_if $block9 - (local.tee $4 - (i32.load - (local.tee $2 - (i32.add - (local.get $1) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block9 - (local.tee $4 - (i32.load - (local.tee $2 - (i32.add - (local.get $1) - (i32.const 16) - ) - ) - ) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block8) - ) - (loop $label - (local.set $5 - (local.get $2) - ) - (br_if $label - (local.tee $4 - (i32.load - (local.tee $2 - (i32.add - (local.tee $6 - (local.get $4) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $2 - (i32.add - (local.get $6) - (i32.const 16) - ) - ) - (br_if $label - (local.tee $4 - (i32.load offset=16 - (local.get $6) - ) - ) - ) - ) - (i32.store - (local.get $5) - (i32.const 0) - ) - ) - (br_if $block2 - (i32.eqz - (local.get $7) - ) - ) - (block $block11 - (block $block10 - (br_if $block10 - (i32.ne - (i32.load - (local.tee $2 - (i32.add - (i32.shl - (local.tee $4 - (i32.load offset=28 - (local.get $1) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - (local.get $1) - ) - ) - (i32.store - (local.get $2) - (local.get $6) - ) - (br_if $block11 - (local.get $6) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.and - (i32.load offset=1872 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - (br $block2) - ) - (i32.store - (i32.add - (local.get $7) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $7) - ) - (local.get $1) - ) - ) - ) - (local.get $6) - ) - (br_if $block2 - (i32.eqz - (local.get $6) - ) - ) - ) - (i32.store offset=24 - (local.get $6) - (local.get $7) - ) - (block $block12 - (br_if $block12 - (i32.eqz - (local.tee $2 - (i32.load offset=16 - (local.get $1) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $6) - (local.get $2) - ) - (i32.store offset=24 - (local.get $2) - (local.get $6) - ) - ) - (br_if $block2 - (i32.eqz - (local.tee $2 - (i32.load offset=20 - (local.get $1) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $6) - (i32.const 20) - ) - (local.get $2) - ) - (i32.store offset=24 - (local.get $2) - (local.get $6) - ) - (br $block2) - ) - (br_if $block2 - (i32.ne - (i32.and - (local.tee $2 - (i32.load offset=4 - (local.get $3) - ) - ) - (i32.const 3) - ) - (i32.const 3) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $0) - ) - (i32.store offset=4 - (local.get $3) - (i32.and - (local.get $2) - (i32.const -2) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $1) - (local.get $0) - ) - (local.get $0) - ) - (br $block3) - ) - (br_if $block3 - (i32.le_u - (local.get $3) - (local.get $1) - ) - ) - (br_if $block3 - (i32.eqz - (i32.and - (local.tee $2 - (i32.load offset=4 - (local.get $3) - ) - ) - (i32.const 1) - ) - ) - ) - (block $block25 - (block $block13 - (br_if $block13 - (i32.and - (local.get $2) - (i32.const 2) - ) - ) - (block $block14 - (br_if $block14 - (i32.ne - (i32.load offset=1892 - (i32.const 0) - ) - (local.get $3) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.get $1) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $0 - (i32.add - (i32.load offset=1880 - (i32.const 0) - ) - (local.get $0) - ) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (br_if $block3 - (i32.ne - (local.get $1) - (i32.load offset=1888 - (i32.const 0) - ) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (i32.const 0) - ) - (i32.store offset=1888 - (i32.const 0) - (i32.const 0) - ) - (br $block3) - ) - (block $block15 - (br_if $block15 - (i32.ne - (i32.load offset=1888 - (i32.const 0) - ) - (local.get $3) - ) - ) - (i32.store offset=1888 - (i32.const 0) - (local.get $1) - ) - (i32.store offset=1876 - (i32.const 0) - (local.tee $0 - (i32.add - (i32.load offset=1876 - (i32.const 0) - ) - (local.get $0) - ) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $1) - (local.get $0) - ) - (local.get $0) - ) - (br $block3) - ) - (local.set $0 - (i32.add - (i32.and - (local.get $2) - (i32.const -8) - ) - (local.get $0) - ) - ) - (block $block18 - (block $block16 - (br_if $block16 - (i32.gt_u - (local.get $2) - (i32.const 255) - ) - ) - (drop - (i32.eq - (local.tee $4 - (i32.load offset=8 - (local.get $3) - ) - ) - (local.tee $6 - (i32.add - (i32.shl - (local.tee $5 - (i32.shr_u - (local.get $2) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - ) - ) - (block $block17 - (br_if $block17 - (i32.ne - (local.tee $2 - (i32.load offset=12 - (local.get $3) - ) - ) - (local.get $4) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.and - (i32.load offset=1868 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $5) - ) - ) - ) - (br $block18) - ) - (drop - (i32.eq - (local.get $2) - (local.get $6) - ) - ) - (i32.store offset=12 - (local.get $4) - (local.get $2) - ) - (i32.store offset=8 - (local.get $2) - (local.get $4) - ) - (br $block18) - ) - (local.set $7 - (i32.load offset=24 - (local.get $3) - ) - ) - (block $block20 - (block $block19 - (br_if $block19 - (i32.eq - (local.tee $6 - (i32.load offset=12 - (local.get $3) - ) - ) - (local.get $3) - ) - ) - (drop - (i32.gt_u - (i32.load offset=1884 - (i32.const 0) - ) - (local.tee $2 - (i32.load offset=8 - (local.get $3) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $2) - (local.get $6) - ) - (i32.store offset=8 - (local.get $6) - (local.get $2) - ) - (br $block20) - ) - (block $block21 - (br_if $block21 - (local.tee $2 - (i32.load - (local.tee $4 - (i32.add - (local.get $3) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block21 - (local.tee $2 - (i32.load - (local.tee $4 - (i32.add - (local.get $3) - (i32.const 16) - ) - ) - ) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block20) - ) - (loop $label1 - (local.set $5 - (local.get $4) - ) - (br_if $label1 - (local.tee $2 - (i32.load - (local.tee $4 - (i32.add - (local.tee $6 - (local.get $2) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $4 - (i32.add - (local.get $6) - (i32.const 16) - ) - ) - (br_if $label1 - (local.tee $2 - (i32.load offset=16 - (local.get $6) - ) - ) - ) - ) - (i32.store - (local.get $5) - (i32.const 0) - ) - ) - (br_if $block18 - (i32.eqz - (local.get $7) - ) - ) - (block $block23 - (block $block22 - (br_if $block22 - (i32.ne - (i32.load - (local.tee $2 - (i32.add - (i32.shl - (local.tee $4 - (i32.load offset=28 - (local.get $3) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - (local.get $3) - ) - ) - (i32.store - (local.get $2) - (local.get $6) - ) - (br_if $block23 - (local.get $6) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.and - (i32.load offset=1872 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - (br $block18) - ) - (i32.store - (i32.add - (local.get $7) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $7) - ) - (local.get $3) - ) - ) - ) - (local.get $6) - ) - (br_if $block18 - (i32.eqz - (local.get $6) - ) - ) - ) - (i32.store offset=24 - (local.get $6) - (local.get $7) - ) - (block $block24 - (br_if $block24 - (i32.eqz - (local.tee $2 - (i32.load offset=16 - (local.get $3) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $6) - (local.get $2) - ) - (i32.store offset=24 - (local.get $2) - (local.get $6) - ) - ) - (br_if $block18 - (i32.eqz - (local.tee $2 - (i32.load offset=20 - (local.get $3) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $6) - (i32.const 20) - ) - (local.get $2) - ) - (i32.store offset=24 - (local.get $2) - (local.get $6) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $1) - (local.get $0) - ) - (local.get $0) - ) - (br_if $block25 - (i32.ne - (local.get $1) - (i32.load offset=1888 - (i32.const 0) - ) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $0) - ) - (br $block3) - ) - (i32.store offset=4 - (local.get $3) - (i32.and - (local.get $2) - (i32.const -2) - ) - ) - (i32.store offset=4 - (local.get $1) - (i32.or - (local.get $0) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $1) - (local.get $0) - ) - (local.get $0) - ) - ) - (block $block26 - (br_if $block26 - (i32.gt_u - (local.get $0) - (i32.const 255) - ) - ) - (local.set $0 - (i32.add - (i32.shl - (local.tee $2 - (i32.shr_u - (local.get $0) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (block $block28 - (block $block27 - (br_if $block27 - (i32.and - (local.tee $4 - (i32.load offset=1868 - (i32.const 0) - ) - ) - (local.tee $2 - (i32.shl - (i32.const 1) - (local.get $2) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $4) - (local.get $2) - ) - ) - (local.set $2 - (local.get $0) - ) - (br $block28) - ) - (local.set $2 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - (i32.store offset=12 - (local.get $2) - (local.get $1) - ) - (i32.store offset=12 - (local.get $1) - (local.get $0) - ) - (i32.store offset=8 - (local.get $1) - (local.get $2) - ) - (br $block3) - ) - (local.set $2 - (i32.const 31) - ) - (block $block29 - (br_if $block29 - (i32.gt_u - (local.get $0) - (i32.const 16777215) - ) - ) - (local.set $2 - (i32.add - (i32.or - (i32.shl - (local.tee $2 - (i32.sub - (i32.shr_u - (i32.shl - (local.tee $6 - (i32.shl - (local.tee $4 - (i32.shl - (local.tee $2 - (i32.shr_u - (local.get $0) - (i32.const 8) - ) - ) - (local.tee $2 - (i32.and - (i32.shr_u - (i32.add - (local.get $2) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (i32.add - (local.get $4) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) - ) - ) - ) - ) - (local.tee $6 - (i32.and - (i32.shr_u - (i32.add - (local.get $6) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) - ) - ) - ) - (i32.const 15) - ) - (i32.or - (i32.or - (local.get $2) - (local.get $4) - ) - (local.get $6) - ) - ) - ) - (i32.const 1) - ) - (i32.and - (i32.shr_u - (local.get $0) - (i32.add - (local.get $2) - (i32.const 21) - ) - ) - (i32.const 1) - ) - ) - (i32.const 28) - ) - ) - ) - (i64.store offset=16 align=4 - (local.get $1) - (i64.const 0) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 28) - ) - (local.get $2) - ) - (local.set $4 - (i32.add - (i32.shl - (local.get $2) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - (block $block33 - (block $block32 - (block $block31 - (block $block30 - (br_if $block30 - (i32.and - (local.tee $6 - (i32.load offset=1872 - (i32.const 0) - ) - ) - (local.tee $3 - (i32.shl - (i32.const 1) - (local.get $2) - ) - ) - ) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.or - (local.get $6) - (local.get $3) - ) - ) - (i32.store - (local.get $4) - (local.get $1) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 24) - ) - (local.get $4) - ) - (br $block31) - ) - (local.set $2 - (i32.shl - (local.get $0) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $2) - (i32.const 1) - ) - ) - (i32.eq - (local.get $2) - (i32.const 31) - ) - ) - ) - ) - (local.set $6 - (i32.load - (local.get $4) - ) - ) - (loop $label2 - (br_if $block32 - (i32.eq - (i32.and - (i32.load offset=4 - (local.tee $4 - (local.get $6) - ) - ) - (i32.const -8) - ) - (local.get $0) - ) - ) - (local.set $6 - (i32.shr_u - (local.get $2) - (i32.const 29) - ) - ) - (local.set $2 - (i32.shl - (local.get $2) - (i32.const 1) - ) - ) - (br_if $label2 - (local.tee $6 - (i32.load - (local.tee $3 - (i32.add - (i32.add - (local.get $4) - (i32.and - (local.get $6) - (i32.const 4) - ) - ) - (i32.const 16) - ) - ) - ) - ) - ) - ) - (i32.store - (local.get $3) - (local.get $1) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 24) - ) - (local.get $4) - ) - ) - (i32.store offset=12 - (local.get $1) - (local.get $1) - ) - (i32.store offset=8 - (local.get $1) - (local.get $1) - ) - (br $block33) - ) - (i32.store offset=12 - (local.tee $0 - (i32.load offset=8 - (local.get $4) - ) - ) - (local.get $1) - ) - (i32.store offset=8 - (local.get $4) - (local.get $1) - ) - (i32.store - (i32.add - (local.get $1) - (i32.const 24) - ) - (i32.const 0) - ) - (i32.store offset=12 - (local.get $1) - (local.get $4) - ) - (i32.store offset=8 - (local.get $1) - (local.get $0) - ) - ) - (i32.store offset=1900 - (i32.const 0) - (select - (local.tee $1 - (i32.add - (i32.load offset=1900 - (i32.const 0) - ) - (i32.const -1) - ) - ) - (i32.const -1) - (local.get $1) - ) - ) - ) - (br_if $block - (i32.eqz - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 2) - ) - ) - ) - (drop - (call $20 - (i32.const 2316) - ) - ) - ) - ) - (func $63 (param $0 i32) (param $1 i32) (result i32) - (block $block - (br_if $block - (i32.gt_u - (local.get $0) - (i32.const 8) - ) - ) - (return - (call $60 - (local.get $1) - ) - ) - ) - (call $64 - (local.get $0) - (local.get $1) - ) - ) - (func $64 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local.set $2 - (i32.const 16) - ) - (block $block1 - (block $block - (br_if $block - (i32.and - (local.tee $3 - (select - (local.get $0) - (i32.const 16) - (i32.gt_u - (local.get $0) - (i32.const 16) - ) - ) - ) - (i32.add - (local.get $3) - (i32.const -1) - ) - ) - ) - (local.set $0 - (local.get $3) - ) - (br $block1) - ) - (loop $label - (local.set $2 - (i32.shl - (local.tee $0 - (local.get $2) - ) - (i32.const 1) - ) - ) - (br_if $label - (i32.lt_u - (local.get $0) - (local.get $3) - ) - ) - ) - ) - (block $block2 - (br_if $block2 - (i32.gt_u - (i32.sub - (i32.const -64) - (local.get $0) - ) - (local.get $1) - ) - ) - (i32.store - (call $25) - (i32.const 48) - ) - (return - (i32.const 0) - ) - ) - (block $block3 - (br_if $block3 - (local.tee $3 - (call $60 - (i32.add - (i32.add - (local.tee $1 - (select - (i32.const 16) - (i32.and - (i32.add - (local.get $1) - (i32.const 11) - ) - (i32.const -8) - ) - (i32.lt_u - (local.get $1) - (i32.const 11) - ) - ) - ) - (local.get $0) - ) - (i32.const 12) - ) - ) - ) - ) - (return - (i32.const 0) - ) - ) - (local.set $2 - (i32.const 0) - ) - (block $block5 - (block $block4 - (br_if $block4 - (i32.eqz - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 2) - ) - ) - ) - (br_if $block5 - (call $55 - (i32.const 2316) - ) - ) - ) - (local.set $2 - (i32.add - (local.get $3) - (i32.const -8) - ) - ) - (block $block6 - (br_if $block6 - (i32.eqz - (i32.and - (i32.add - (local.get $0) - (i32.const -1) - ) - (local.get $3) - ) - ) - ) - (local.set $6 - (i32.sub - (i32.and - (local.tee $5 - (i32.load - (local.tee $4 - (i32.add - (local.get $3) - (i32.const -4) - ) - ) - ) - ) - (i32.const -8) - ) - (local.tee $3 - (i32.sub - (local.tee $0 - (select - (local.tee $3 - (i32.add - (i32.and - (i32.add - (i32.add - (local.get $3) - (local.get $0) - ) - (i32.const -1) - ) - (i32.sub - (i32.const 0) - (local.get $0) - ) - ) - (i32.const -8) - ) - ) - (i32.add - (local.get $3) - (local.get $0) - ) - (i32.gt_u - (i32.sub - (local.get $3) - (local.get $2) - ) - (i32.const 15) - ) - ) - ) - (local.get $2) - ) - ) - ) - ) - (block $block8 - (block $block7 - (br_if $block7 - (i32.and - (local.get $5) - (i32.const 3) - ) - ) - (local.set $2 - (i32.load - (local.get $2) - ) - ) - (i32.store offset=4 - (local.get $0) - (local.get $6) - ) - (i32.store - (local.get $0) - (i32.add - (local.get $2) - (local.get $3) - ) - ) - (br $block8) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (i32.or - (local.get $6) - (i32.and - (i32.load offset=4 - (local.get $0) - ) - (i32.const 1) - ) - ) - (i32.const 2) - ) - ) - (i32.store offset=4 - (local.tee $6 - (i32.add - (local.get $0) - (local.get $6) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $6) - ) - (i32.const 1) - ) - ) - (i32.store - (local.get $4) - (i32.or - (i32.or - (local.get $3) - (i32.and - (i32.load - (local.get $4) - ) - (i32.const 1) - ) - ) - (i32.const 2) - ) - ) - (i32.store offset=4 - (local.tee $6 - (i32.add - (local.get $2) - (local.get $3) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $6) - ) - (i32.const 1) - ) - ) - (call $65 - (local.get $2) - (local.get $3) - ) - ) - (local.set $2 - (local.get $0) - ) - ) - (block $block9 - (br_if $block9 - (i32.eqz - (i32.and - (local.tee $0 - (i32.load offset=4 - (local.get $2) - ) - ) - (i32.const 3) - ) - ) - ) - (br_if $block9 - (i32.le_u - (local.tee $3 - (i32.and - (local.get $0) - (i32.const -8) - ) - ) - (i32.add - (local.get $1) - (i32.const 16) - ) - ) - ) - (i32.store offset=4 - (local.get $2) - (i32.or - (i32.or - (local.get $1) - (i32.and - (local.get $0) - (i32.const 1) - ) - ) - (i32.const 2) - ) - ) - (i32.store offset=4 - (local.tee $0 - (i32.add - (local.get $2) - (local.get $1) - ) - ) - (i32.or - (local.tee $1 - (i32.sub - (local.get $3) - (local.get $1) - ) - ) - (i32.const 3) - ) - ) - (i32.store offset=4 - (local.tee $3 - (i32.add - (local.get $2) - (local.get $3) - ) - ) - (i32.or - (i32.load offset=4 - (local.get $3) - ) - (i32.const 1) - ) - ) - (call $65 - (local.get $0) - (local.get $1) - ) - ) - (local.set $2 - (i32.add - (local.get $2) - (i32.const 8) - ) - ) - (br_if $block5 - (i32.eqz - (i32.and - (i32.load8_u offset=2312 - (i32.const 0) - ) - (i32.const 2) - ) - ) - ) - (drop - (call $20 - (i32.const 2316) - ) - ) - ) - (local.get $2) - ) - (func $65 (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (block $block1 - (block $block - (br_if $block - (i32.and - (local.tee $3 - (i32.load offset=4 - (local.get $0) - ) - ) - (i32.const 1) - ) - ) - (br_if $block1 - (i32.eqz - (i32.and - (local.get $3) - (i32.const 3) - ) - ) - ) - (local.set $1 - (i32.add - (local.tee $3 - (i32.load - (local.get $0) - ) - ) - (local.get $1) - ) - ) - (block $block4 - (block $block2 - (br_if $block2 - (i32.eq - (i32.load offset=1888 - (i32.const 0) - ) - (local.tee $0 - (i32.sub - (local.get $0) - (local.get $3) - ) - ) - ) - ) - (block $block3 - (br_if $block3 - (i32.gt_u - (local.get $3) - (i32.const 255) - ) - ) - (drop - (i32.eq - (local.tee $4 - (i32.load offset=8 - (local.get $0) - ) - ) - (local.tee $6 - (i32.add - (i32.shl - (local.tee $5 - (i32.shr_u - (local.get $3) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - ) - ) - (br_if $block4 - (i32.ne - (local.tee $3 - (i32.load offset=12 - (local.get $0) - ) - ) - (local.get $4) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.and - (i32.load offset=1868 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $5) - ) - ) - ) - (br $block) - ) - (local.set $7 - (i32.load offset=24 - (local.get $0) - ) - ) - (block $block6 - (block $block5 - (br_if $block5 - (i32.eq - (local.tee $6 - (i32.load offset=12 - (local.get $0) - ) - ) - (local.get $0) - ) - ) - (drop - (i32.gt_u - (i32.load offset=1884 - (i32.const 0) - ) - (local.tee $3 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $3) - (local.get $6) - ) - (i32.store offset=8 - (local.get $6) - (local.get $3) - ) - (br $block6) - ) - (block $block7 - (br_if $block7 - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $0) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block7 - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $0) - (i32.const 16) - ) - ) - ) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block6) - ) - (loop $label - (local.set $5 - (local.get $3) - ) - (br_if $label - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.tee $6 - (local.get $4) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $3 - (i32.add - (local.get $6) - (i32.const 16) - ) - ) - (br_if $label - (local.tee $4 - (i32.load offset=16 - (local.get $6) - ) - ) - ) - ) - (i32.store - (local.get $5) - (i32.const 0) - ) - ) - (br_if $block - (i32.eqz - (local.get $7) - ) - ) - (block $block9 - (block $block8 - (br_if $block8 - (i32.ne - (i32.load - (local.tee $3 - (i32.add - (i32.shl - (local.tee $4 - (i32.load offset=28 - (local.get $0) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - (local.get $0) - ) - ) - (i32.store - (local.get $3) - (local.get $6) - ) - (br_if $block9 - (local.get $6) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.and - (i32.load offset=1872 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - (br $block) - ) - (i32.store - (i32.add - (local.get $7) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $7) - ) - (local.get $0) - ) - ) - ) - (local.get $6) - ) - (br_if $block - (i32.eqz - (local.get $6) - ) - ) - ) - (i32.store offset=24 - (local.get $6) - (local.get $7) - ) - (block $block10 - (br_if $block10 - (i32.eqz - (local.tee $3 - (i32.load offset=16 - (local.get $0) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $6) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (local.get $6) - ) - ) - (br_if $block - (i32.eqz - (local.tee $3 - (i32.load offset=20 - (local.get $0) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $6) - (i32.const 20) - ) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (local.get $6) - ) - (br $block) - ) - (br_if $block - (i32.ne - (i32.and - (local.tee $3 - (i32.load offset=4 - (local.get $2) - ) - ) - (i32.const 3) - ) - (i32.const 3) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $1) - ) - (i32.store offset=4 - (local.get $2) - (i32.and - (local.get $3) - (i32.const -2) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store - (local.get $2) - (local.get $1) - ) - (return) - ) - (drop - (i32.eq - (local.get $3) - (local.get $6) - ) - ) - (i32.store offset=12 - (local.get $4) - (local.get $3) - ) - (i32.store offset=8 - (local.get $3) - (local.get $4) - ) - ) - (block $block23 - (block $block11 - (br_if $block11 - (i32.and - (local.tee $3 - (i32.load offset=4 - (local.get $2) - ) - ) - (i32.const 2) - ) - ) - (block $block12 - (br_if $block12 - (i32.ne - (i32.load offset=1892 - (i32.const 0) - ) - (local.get $2) - ) - ) - (i32.store offset=1892 - (i32.const 0) - (local.get $0) - ) - (i32.store offset=1880 - (i32.const 0) - (local.tee $1 - (i32.add - (i32.load offset=1880 - (i32.const 0) - ) - (local.get $1) - ) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (br_if $block1 - (i32.ne - (local.get $0) - (i32.load offset=1888 - (i32.const 0) - ) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (i32.const 0) - ) - (i32.store offset=1888 - (i32.const 0) - (i32.const 0) - ) - (return) - ) - (block $block13 - (br_if $block13 - (i32.ne - (i32.load offset=1888 - (i32.const 0) - ) - (local.get $2) - ) - ) - (i32.store offset=1888 - (i32.const 0) - (local.get $0) - ) - (i32.store offset=1876 - (i32.const 0) - (local.tee $1 - (i32.add - (i32.load offset=1876 - (i32.const 0) - ) - (local.get $1) - ) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $1) - ) - (local.get $1) - ) - (return) - ) - (local.set $1 - (i32.add - (i32.and - (local.get $3) - (i32.const -8) - ) - (local.get $1) - ) - ) - (block $block16 - (block $block14 - (br_if $block14 - (i32.gt_u - (local.get $3) - (i32.const 255) - ) - ) - (drop - (i32.eq - (local.tee $4 - (i32.load offset=8 - (local.get $2) - ) - ) - (local.tee $6 - (i32.add - (i32.shl - (local.tee $5 - (i32.shr_u - (local.get $3) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - ) - ) - (block $block15 - (br_if $block15 - (i32.ne - (local.tee $3 - (i32.load offset=12 - (local.get $2) - ) - ) - (local.get $4) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.and - (i32.load offset=1868 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $5) - ) - ) - ) - (br $block16) - ) - (drop - (i32.eq - (local.get $3) - (local.get $6) - ) - ) - (i32.store offset=12 - (local.get $4) - (local.get $3) - ) - (i32.store offset=8 - (local.get $3) - (local.get $4) - ) - (br $block16) - ) - (local.set $7 - (i32.load offset=24 - (local.get $2) - ) - ) - (block $block18 - (block $block17 - (br_if $block17 - (i32.eq - (local.tee $6 - (i32.load offset=12 - (local.get $2) - ) - ) - (local.get $2) - ) - ) - (drop - (i32.gt_u - (i32.load offset=1884 - (i32.const 0) - ) - (local.tee $3 - (i32.load offset=8 - (local.get $2) - ) - ) - ) - ) - (i32.store offset=12 - (local.get $3) - (local.get $6) - ) - (i32.store offset=8 - (local.get $6) - (local.get $3) - ) - (br $block18) - ) - (block $block19 - (br_if $block19 - (local.tee $3 - (i32.load - (local.tee $4 - (i32.add - (local.get $2) - (i32.const 20) - ) - ) - ) - ) - ) - (br_if $block19 - (local.tee $3 - (i32.load - (local.tee $4 - (i32.add - (local.get $2) - (i32.const 16) - ) - ) - ) - ) - ) - (local.set $6 - (i32.const 0) - ) - (br $block18) - ) - (loop $label1 - (local.set $5 - (local.get $4) - ) - (br_if $label1 - (local.tee $3 - (i32.load - (local.tee $4 - (i32.add - (local.tee $6 - (local.get $3) - ) - (i32.const 20) - ) - ) - ) - ) - ) - (local.set $4 - (i32.add - (local.get $6) - (i32.const 16) - ) - ) - (br_if $label1 - (local.tee $3 - (i32.load offset=16 - (local.get $6) - ) - ) - ) - ) - (i32.store - (local.get $5) - (i32.const 0) - ) - ) - (br_if $block16 - (i32.eqz - (local.get $7) - ) - ) - (block $block21 - (block $block20 - (br_if $block20 - (i32.ne - (i32.load - (local.tee $3 - (i32.add - (i32.shl - (local.tee $4 - (i32.load offset=28 - (local.get $2) - ) - ) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - ) - (local.get $2) - ) - ) - (i32.store - (local.get $3) - (local.get $6) - ) - (br_if $block21 - (local.get $6) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.and - (i32.load offset=1872 - (i32.const 0) - ) - (i32.rotl - (i32.const -2) - (local.get $4) - ) - ) - ) - (br $block16) - ) - (i32.store - (i32.add - (local.get $7) - (select - (i32.const 16) - (i32.const 20) - (i32.eq - (i32.load offset=16 - (local.get $7) - ) - (local.get $2) - ) - ) - ) - (local.get $6) - ) - (br_if $block16 - (i32.eqz - (local.get $6) - ) - ) - ) - (i32.store offset=24 - (local.get $6) - (local.get $7) - ) - (block $block22 - (br_if $block22 - (i32.eqz - (local.tee $3 - (i32.load offset=16 - (local.get $2) - ) - ) - ) - ) - (i32.store offset=16 - (local.get $6) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (local.get $6) - ) - ) - (br_if $block16 - (i32.eqz - (local.tee $3 - (i32.load offset=20 - (local.get $2) - ) - ) - ) - ) - (i32.store - (i32.add - (local.get $6) - (i32.const 20) - ) - (local.get $3) - ) - (i32.store offset=24 - (local.get $3) - (local.get $6) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $1) - ) - (local.get $1) - ) - (br_if $block23 - (i32.ne - (local.get $0) - (i32.load offset=1888 - (i32.const 0) - ) - ) - ) - (i32.store offset=1876 - (i32.const 0) - (local.get $1) - ) - (return) - ) - (i32.store offset=4 - (local.get $2) - (i32.and - (local.get $3) - (i32.const -2) - ) - ) - (i32.store offset=4 - (local.get $0) - (i32.or - (local.get $1) - (i32.const 1) - ) - ) - (i32.store - (i32.add - (local.get $0) - (local.get $1) - ) - (local.get $1) - ) - ) - (block $block24 - (br_if $block24 - (i32.gt_u - (local.get $1) - (i32.const 255) - ) - ) - (local.set $1 - (i32.add - (i32.shl - (local.tee $3 - (i32.shr_u - (local.get $1) - (i32.const 3) - ) - ) - (i32.const 3) - ) - (i32.const 1908) - ) - ) - (block $block26 - (block $block25 - (br_if $block25 - (i32.and - (local.tee $4 - (i32.load offset=1868 - (i32.const 0) - ) - ) - (local.tee $3 - (i32.shl - (i32.const 1) - (local.get $3) - ) - ) - ) - ) - (i32.store offset=1868 - (i32.const 0) - (i32.or - (local.get $4) - (local.get $3) - ) - ) - (local.set $3 - (local.get $1) - ) - (br $block26) - ) - (local.set $3 - (i32.load offset=8 - (local.get $1) - ) - ) - ) - (i32.store offset=8 - (local.get $1) - (local.get $0) - ) - (i32.store offset=12 - (local.get $3) - (local.get $0) - ) - (i32.store offset=12 - (local.get $0) - (local.get $1) - ) - (i32.store offset=8 - (local.get $0) - (local.get $3) - ) - (return) - ) - (local.set $3 - (i32.const 31) - ) - (block $block27 - (br_if $block27 - (i32.gt_u - (local.get $1) - (i32.const 16777215) - ) - ) - (local.set $3 - (i32.add - (i32.or - (i32.shl - (local.tee $3 - (i32.sub - (i32.shr_u - (i32.shl - (local.tee $6 - (i32.shl - (local.tee $4 - (i32.shl - (local.tee $3 - (i32.shr_u - (local.get $1) - (i32.const 8) - ) - ) - (local.tee $3 - (i32.and - (i32.shr_u - (i32.add - (local.get $3) - (i32.const 1048320) - ) - (i32.const 16) - ) - (i32.const 8) - ) - ) - ) - ) - (local.tee $4 - (i32.and - (i32.shr_u - (i32.add - (local.get $4) - (i32.const 520192) - ) - (i32.const 16) - ) - (i32.const 4) - ) - ) - ) - ) - (local.tee $6 - (i32.and - (i32.shr_u - (i32.add - (local.get $6) - (i32.const 245760) - ) - (i32.const 16) - ) - (i32.const 2) - ) - ) - ) - (i32.const 15) - ) - (i32.or - (i32.or - (local.get $3) - (local.get $4) - ) - (local.get $6) - ) - ) - ) - (i32.const 1) - ) - (i32.and - (i32.shr_u - (local.get $1) - (i32.add - (local.get $3) - (i32.const 21) - ) - ) - (i32.const 1) - ) - ) - (i32.const 28) - ) - ) - ) - (i64.store offset=16 align=4 - (local.get $0) - (i64.const 0) - ) - (i32.store - (i32.add - (local.get $0) - (i32.const 28) - ) - (local.get $3) - ) - (local.set $4 - (i32.add - (i32.shl - (local.get $3) - (i32.const 2) - ) - (i32.const 2172) - ) - ) - (block $block30 - (block $block29 - (block $block28 - (br_if $block28 - (i32.and - (local.tee $6 - (i32.load offset=1872 - (i32.const 0) - ) - ) - (local.tee $2 - (i32.shl - (i32.const 1) - (local.get $3) - ) - ) - ) - ) - (i32.store offset=1872 - (i32.const 0) - (i32.or - (local.get $6) - (local.get $2) - ) - ) - (i32.store - (local.get $4) - (local.get $0) - ) - (i32.store - (i32.add - (local.get $0) - (i32.const 24) - ) - (local.get $4) - ) - (br $block29) - ) - (local.set $3 - (i32.shl - (local.get $1) - (select - (i32.const 0) - (i32.sub - (i32.const 25) - (i32.shr_u - (local.get $3) - (i32.const 1) - ) - ) - (i32.eq - (local.get $3) - (i32.const 31) - ) - ) - ) - ) - (local.set $6 - (i32.load - (local.get $4) - ) - ) - (loop $label2 - (br_if $block30 - (i32.eq - (i32.and - (i32.load offset=4 - (local.tee $4 - (local.get $6) - ) - ) - (i32.const -8) - ) - (local.get $1) - ) - ) - (local.set $6 - (i32.shr_u - (local.get $3) - (i32.const 29) - ) - ) - (local.set $3 - (i32.shl - (local.get $3) - (i32.const 1) - ) - ) - (br_if $label2 - (local.tee $6 - (i32.load - (local.tee $2 - (i32.add - (i32.add - (local.get $4) - (i32.and - (local.get $6) - (i32.const 4) - ) - ) - (i32.const 16) - ) - ) - ) - ) - ) - ) - (i32.store - (local.get $2) - (local.get $0) - ) - (i32.store - (i32.add - (local.get $0) - (i32.const 24) - ) - (local.get $4) - ) - ) - (i32.store offset=12 - (local.get $0) - (local.get $0) - ) - (i32.store offset=8 - (local.get $0) - (local.get $0) - ) - (return) - ) - (i32.store offset=12 - (local.tee $1 - (i32.load offset=8 - (local.get $4) - ) - ) - (local.get $0) - ) - (i32.store offset=8 - (local.get $4) - (local.get $0) - ) - (i32.store - (i32.add - (local.get $0) - (i32.const 24) - ) - (i32.const 0) - ) - (i32.store offset=12 - (local.get $0) - (local.get $4) - ) - (i32.store offset=8 - (local.get $0) - (local.get $1) - ) - ) - ) - (func $66 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local.set $2 - (i32.lt_s - (local.tee $1 - (i32.and - (i32.add - (local.get $0) - (i32.const 3) - ) - (i32.const -4) - ) - ) - (i32.const 1) - ) - ) - (block $block1 - (loop $label - (local.set $0 - (i32.add - (local.tee $3 - (i32.atomic.load offset=1436 - (i32.const 0) - ) - ) - (local.get $1) - ) - ) - (block $block - (br_if $block - (local.get $2) - ) - (br_if $block1 - (i32.le_u - (local.get $0) - (local.get $3) - ) - ) - ) - (block $block2 - (br_if $block2 - (i32.le_u - (local.get $0) - (i32.shl - (memory.size) - (i32.const 16) - ) - ) - ) - (br_if $block1 - (i32.eqz - (call $fimport$15 - (local.get $0) - ) - ) - ) - ) - (br_if $label - (i32.ne - (i32.atomic.rmw.cmpxchg offset=1436 - (i32.const 0) - (local.get $3) - (local.get $0) - ) - (local.get $3) - ) - ) - ) - (return - (local.get $3) - ) - ) - (i32.store - (call $25) - (i32.const 48) - ) - (i32.const -1) - ) - (func $67 (param $0 i32) - ) - (func $68 (param $0 i32) - ) - (func $69 (result i32) - (call $67 - (i32.const 2396) - ) - (i32.const 2404) - ) - (func $70 - (call $68 - (i32.const 2396) - ) - ) - (func $71 (param $0 i32) (result i32) - (block $block - (br_if $block - (local.get $0) - ) - (return - (i32.const 0) - ) - ) - (i32.store - (call $25) - (local.get $0) - ) - (i32.const -1) - ) - (func $72 (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) - (global.set $global$0 - (local.tee $3 - (i32.sub - (global.get $global$0) - (i32.const 32) - ) - ) - ) - (i32.store offset=16 - (local.get $3) - (local.tee $4 - (i32.load offset=28 - (local.get $0) - ) - ) - ) - (local.set $5 - (i32.load offset=20 - (local.get $0) - ) - ) - (i32.store offset=28 - (local.get $3) - (local.get $2) - ) - (i32.store offset=24 - (local.get $3) - (local.get $1) - ) - (i32.store offset=20 - (local.get $3) - (local.tee $1 - (i32.sub - (local.get $5) - (local.get $4) - ) - ) - ) - (local.set $6 - (i32.add - (local.get $1) - (local.get $2) - ) - ) - (local.set $7 - (i32.const 2) - ) - (local.set $1 - (i32.add - (local.get $3) - (i32.const 16) - ) - ) - (block $block3 - (block $block2 - (block $block1 - (block $block - (br_if $block - (call $71 - (call $fimport$16 - (i32.load offset=60 - (local.get $0) - ) - (i32.add - (local.get $3) - (i32.const 16) - ) - (i32.const 2) - (i32.add - (local.get $3) - (i32.const 12) - ) - ) - ) - ) - (loop $label - (br_if $block1 - (i32.eq - (local.get $6) - (local.tee $4 - (i32.load offset=12 - (local.get $3) - ) - ) - ) - ) - (br_if $block2 - (i32.le_s - (local.get $4) - (i32.const -1) - ) - ) - (i32.store - (local.tee $9 - (i32.add - (local.get $1) - (i32.shl - (local.tee $5 - (i32.gt_u - (local.get $4) - (local.tee $8 - (i32.load offset=4 - (local.get $1) - ) - ) - ) - ) - (i32.const 3) - ) - ) - ) - (i32.add - (i32.load - (local.get $9) - ) - (local.tee $8 - (i32.sub - (local.get $4) - (select - (local.get $8) - (i32.const 0) - (local.get $5) - ) - ) - ) - ) - ) - (i32.store - (local.tee $9 - (i32.add - (local.get $1) - (select - (i32.const 12) - (i32.const 4) - (local.get $5) - ) - ) - ) - (i32.sub - (i32.load - (local.get $9) - ) - (local.get $8) - ) - ) - (local.set $6 - (i32.sub - (local.get $6) - (local.get $4) - ) - ) - (br_if $label - (i32.eqz - (call $71 - (call $fimport$16 - (i32.load offset=60 - (local.get $0) - ) - (local.tee $1 - (select - (i32.add - (local.get $1) - (i32.const 8) - ) - (local.get $1) - (local.get $5) - ) - ) - (local.tee $7 - (i32.sub - (local.get $7) - (local.get $5) - ) - ) - (i32.add - (local.get $3) - (i32.const 12) - ) - ) - ) - ) - ) - ) - ) - (br_if $block2 - (i32.ne - (local.get $6) - (i32.const -1) - ) - ) - ) - (i32.store offset=28 - (local.get $0) - (local.tee $1 - (i32.load offset=44 - (local.get $0) - ) - ) - ) - (i32.store offset=20 - (local.get $0) - (local.get $1) - ) - (i32.store offset=16 - (local.get $0) - (i32.add - (local.get $1) - (i32.load offset=48 - (local.get $0) - ) - ) - ) - (local.set $4 - (local.get $2) - ) - (br $block3) - ) - (local.set $4 - (i32.const 0) - ) - (i32.store offset=28 - (local.get $0) - (i32.const 0) - ) - (i64.store offset=16 - (local.get $0) - (i64.const 0) - ) - (i32.store - (local.get $0) - (i32.or - (i32.load - (local.get $0) - ) - (i32.const 32) - ) - ) - (br_if $block3 - (i32.eq - (local.get $7) - (i32.const 2) - ) - ) - (local.set $4 - (i32.sub - (local.get $2) - (i32.load offset=4 - (local.get $1) - ) - ) - ) - ) - (global.set $global$0 - (i32.add - (local.get $3) - (i32.const 32) - ) - ) - (local.get $4) - ) - (func $73 (param $0 i32) (result i32) - (i32.const 0) - ) - (func $74 (param $0 i32) (param $1 i64) (param $2 i32) (result i64) - (i64.const 0) - ) - (func $75 (param $0 i32) (result i32) - (i32.const 1) - ) - (func $76 (param $0 i32) - ) - (func $77 (result i32) - (global.get $global$0) - ) - (func $78 (param $0 i32) - (global.set $global$0 - (local.get $0) - ) - ) - (func $79 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (global.set $global$0 - (local.tee $1 - (i32.and - (i32.sub - (global.get $global$0) - (local.get $0) - ) - (i32.const -16) - ) - ) - ) - (local.get $1) - ) - (func $80 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (block $block2 - (block $block - (br_if $block - (i32.eqz - (local.get $0) - ) - ) - (block $block1 - (br_if $block1 - (i32.gt_s - (i32.load offset=76 - (local.get $0) - ) - (i32.const -1) - ) - ) - (return - (call $81 - (local.get $0) - ) - ) - ) - (local.set $1 - (call $75 - (local.get $0) - ) - ) - (local.set $2 - (call $81 - (local.get $0) - ) - ) - (br_if $block2 - (i32.eqz - (local.get $1) - ) - ) - (call $76 - (local.get $0) - ) - (return - (local.get $2) - ) - ) - (local.set $2 - (i32.const 0) - ) - (block $block3 - (br_if $block3 - (i32.eqz - (i32.load offset=1584 - (i32.const 0) - ) - ) - ) - (local.set $2 - (call $80 - (i32.load offset=1584 - (i32.const 0) - ) - ) - ) - ) - (block $block4 - (br_if $block4 - (i32.eqz - (local.tee $0 - (i32.load - (call $69) - ) - ) - ) - ) - (loop $label - (local.set $1 - (i32.const 0) - ) - (block $block5 - (br_if $block5 - (i32.lt_s - (i32.load offset=76 - (local.get $0) - ) - (i32.const 0) - ) - ) - (local.set $1 - (call $75 - (local.get $0) - ) - ) - ) - (block $block6 - (br_if $block6 - (i32.le_u - (i32.load offset=20 - (local.get $0) - ) - (i32.load offset=28 - (local.get $0) - ) - ) - ) - (local.set $2 - (i32.or - (call $81 - (local.get $0) - ) - (local.get $2) - ) - ) - ) - (block $block7 - (br_if $block7 - (i32.eqz - (local.get $1) - ) - ) - (call $76 - (local.get $0) - ) - ) - (br_if $label - (local.tee $0 - (i32.load offset=56 - (local.get $0) - ) - ) - ) - ) - ) - (call $70) - ) - (local.get $2) - ) - (func $81 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (block $block - (br_if $block - (i32.le_u - (i32.load offset=20 - (local.get $0) - ) - (i32.load offset=28 - (local.get $0) - ) - ) - ) - (drop - (call_indirect (type $5) - (local.get $0) - (i32.const 0) - (i32.const 0) - (i32.load offset=36 - (local.get $0) - ) - ) - ) - (br_if $block - (i32.load offset=20 - (local.get $0) - ) - ) - (return - (i32.const -1) - ) - ) - (block $block1 - (br_if $block1 - (i32.ge_u - (local.tee $1 - (i32.load offset=4 - (local.get $0) - ) - ) - (local.tee $2 - (i32.load offset=8 - (local.get $0) - ) - ) - ) - ) - (drop - (call_indirect (type $9) - (local.get $0) - (i64.extend_i32_s - (i32.sub - (local.get $1) - (local.get $2) - ) - ) - (i32.const 1) - (i32.load offset=40 - (local.get $0) - ) - ) - ) - ) - (i32.store offset=28 - (local.get $0) - (i32.const 0) - ) - (i64.store offset=16 - (local.get $0) - (i64.const 0) - ) - (i64.store offset=4 align=4 - (local.get $0) - (i64.const 0) - ) - (i32.const 0) - ) - (func $82 (result i32) - (i32.const 3448) - ) - (func $83 - (call $fimport$17) - (i32.store offset=172 - (call $14) - (i32.add - (i32.const 3448) - (i32.const 40) - ) - ) - ) - (func $84 - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (block $block - (br_if $block - (i32.eqz - (i32.load offset=44 - (local.tee $0 - (call $7) - ) - ) - ) - ) - (local.set $1 - (i32.const 0) - ) - (loop $label1 - (local.set $2 - (i32.const 0) - ) - (local.set $3 - (i32.const 0) - ) - (loop $label - (block $block1 - (br_if $block1 - (i32.eqz - (local.tee $6 - (i32.load - (local.tee $5 - (i32.add - (i32.load offset=100 - (local.get $0) - ) - (local.tee $4 - (i32.shl - (local.get $2) - (i32.const 2) - ) - ) - ) - ) - ) - ) - ) - ) - (br_if $block1 - (i32.eqz - (i32.load - (local.tee $4 - (i32.add - (local.get $4) - (i32.const 3520) - ) - ) - ) - ) - ) - (i32.store - (local.get $5) - (i32.const 0) - ) - (call_indirect (type $1) - (local.get $6) - (i32.load - (local.get $4) - ) - ) - (local.set $3 - (i32.const 1) - ) - ) - (br_if $label - (i32.ne - (local.tee $2 - (i32.add - (local.get $2) - (i32.const 1) - ) - ) - (i32.const 128) - ) - ) - ) - (br_if $block - (i32.gt_u - (local.get $1) - (i32.const 2) - ) - ) - (local.set $1 - (i32.add - (local.get $1) - (i32.const 1) - ) - ) - (br_if $label1 - (local.get $3) - ) - ) - ) - ) - (func $dynCall_vi (param $fptr i32) (param $0 i32) - (call_indirect (type $1) - (local.get $0) - (local.get $fptr) - ) - ) - (func $dynCall_ii (param $fptr i32) (param $0 i32) (result i32) - (call_indirect (type $0) - (local.get $0) - (local.get $fptr) - ) - ) - (func $dynCall_iiii (param $fptr i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (call_indirect (type $5) - (local.get $0) - (local.get $1) - (local.get $2) - (local.get $fptr) - ) - ) - (func $dynCall_jiji (param $fptr i32) (param $0 i32) (param $1 i64) (param $2 i32) (result i64) - (call_indirect (type $9) - (local.get $0) - (local.get $1) - (local.get $2) - (local.get $fptr) - ) - ) - (func $legalstub$dynCall_jiji (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) - (local $5 i64) - (local.set $5 - (call $dynCall_jiji - (local.get $0) - (local.get $1) - (i64.or - (i64.extend_i32_u - (local.get $2) - ) - (i64.shl - (i64.extend_i32_u - (local.get $3) - ) - (i64.const 32) - ) - ) - (local.get $4) - ) - ) - (call $setTempRet0 - (i32.wrap_i64 - (i64.shr_u - (local.get $5) - (i64.const 32) - ) - ) - ) - (i32.wrap_i64 - (local.get $5) - ) - ) - ;; custom section "producers", size 172 - ;; features section: threads, mutable-globals, bulk-memory, sign-ext, bulk-memory-opt -) diff --git a/test/lld/em_asm_pthread.wat b/test/lld/em_asm_pthread.wat new file mode 100644 index 00000000000..56408cedf30 --- /dev/null +++ b/test/lld/em_asm_pthread.wat @@ -0,0 +1,94 @@ +(module $em_asm_pthread.wasm + (type $0 (func)) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (result i32))) + (type $3 (func (param i32 i32) (result i32))) + (import "env" "memory" (memory $mimport$0 2 2 shared)) + (import "env" "emscripten_asm_const_int" (func $emscripten_asm_const_int (param i32 i32 i32) (result i32))) + (import "env" "world" (func $world)) + (global $__stack_pointer (mut i32) (i32.const 66176)) + (global $__tls_base (mut i32) (i32.const 0)) + (global $global$2 i32 (i32.const 569)) + (global $global$3 i32 (i32.const 602)) + (global $global$4 i32 (i32.const 629)) + (data $.rodata "\00") + (data $em_js "()<::>{ console.log(\"World.\"); }\00") + (data $em_asm "{ console.log(\"Hello.\"); }\00") + (table $0 1 1 funcref) + (export "__wasm_call_ctors" (func $__wasm_call_ctors)) + (export "main" (func $main)) + (export "__em_js__world" (global $global$2)) + (export "__start_em_asm" (global $global$3)) + (export "__stop_em_asm" (global $global$4)) + (start $__wasm_init_memory) + (func $__wasm_call_ctors + ) + (func $__wasm_init_memory + (block $block2 + (block $block1 + (block $block + (br_table $block $block1 $block2 + (i32.atomic.rmw.cmpxchg + (i32.const 632) + (i32.const 0) + (i32.const 1) + ) + ) + ) + (memory.init $.rodata + (i32.const 568) + (i32.const 0) + (i32.const 1) + ) + (memory.init $em_js + (i32.const 569) + (i32.const 0) + (i32.const 33) + ) + (memory.init $em_asm + (i32.const 602) + (i32.const 0) + (i32.const 27) + ) + (i32.atomic.store + (i32.const 632) + (i32.const 2) + ) + (drop + (memory.atomic.notify + (i32.const 632) + (i32.const -1) + ) + ) + (br $block2) + ) + (drop + (memory.atomic.wait32 + (i32.const 632) + (i32.const 1) + (i64.const -1) + ) + ) + ) + (data.drop $.rodata) + (data.drop $em_js) + (data.drop $em_asm) + ) + (func $__original_main (result i32) + (drop + (call $emscripten_asm_const_int + (i32.const 602) + (i32.const 568) + (i32.const 0) + ) + ) + (call $world) + (i32.const 0) + ) + (func $main (param $0 i32) (param $1 i32) (result i32) + (call $__original_main) + ) + ;; custom section "producers", size 115 + ;; features section: threads, mutable-globals, nontrapping-float-to-int, bulk-memory, sign-ext, reference-types, multivalue, bulk-memory-opt, call-indirect-overlong +) + diff --git a/test/lld/em_asm_pthread.wat.out b/test/lld/em_asm_pthread.wat.out new file mode 100644 index 00000000000..35e76932700 --- /dev/null +++ b/test/lld/em_asm_pthread.wat.out @@ -0,0 +1,91 @@ +(module $em_asm_pthread.wasm + (type $0 (func)) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (result i32))) + (type $3 (func (param i32 i32) (result i32))) + (import "env" "memory" (memory $mimport$0 2 2 shared)) + (import "env" "emscripten_asm_const_int" (func $emscripten_asm_const_int (param i32 i32 i32) (result i32))) + (import "env" "world" (func $world)) + (global $__stack_pointer (mut i32) (i32.const 66176)) + (global $__tls_base (mut i32) (i32.const 0)) + (global $global$2 i32 (i32.const 569)) + (global $global$3 i32 (i32.const 602)) + (global $global$4 i32 (i32.const 629)) + (data $.rodata "\00") + (data $em_js "()<::>{ console.log(\"World.\"); }\00") + (data $em_asm "{ console.log(\"Hello.\"); }\00") + (table $0 1 1 funcref) + (export "__wasm_call_ctors" (func $__wasm_call_ctors)) + (export "main" (func $main)) + (export "__em_js__world" (global $global$2)) + (export "__start_em_asm" (global $global$3)) + (export "__stop_em_asm" (global $global$4)) + (start $__wasm_init_memory) + (func $__wasm_call_ctors + ) + (func $__wasm_init_memory + (block $block2 + (block $block1 + (block $block + (br_table $block $block1 $block2 + (i32.atomic.rmw.cmpxchg + (i32.const 632) + (i32.const 0) + (i32.const 1) + ) + ) + ) + (memory.init $.rodata + (i32.const 568) + (i32.const 0) + (i32.const 1) + ) + (memory.init $em_js + (i32.const 569) + (i32.const 0) + (i32.const 33) + ) + (memory.init $em_asm + (i32.const 602) + (i32.const 0) + (i32.const 27) + ) + (i32.atomic.store + (i32.const 632) + (i32.const 2) + ) + (drop + (memory.atomic.notify + (i32.const 632) + (i32.const -1) + ) + ) + (br $block2) + ) + (drop + (memory.atomic.wait32 + (i32.const 632) + (i32.const 1) + (i64.const -1) + ) + ) + ) + (data.drop $.rodata) + (data.drop $em_js) + (data.drop $em_asm) + ) + (func $__original_main (result i32) + (drop + (call $emscripten_asm_const_int + (i32.const 602) + (i32.const 568) + (i32.const 0) + ) + ) + (call $world) + (i32.const 0) + ) + (func $main (param $0 i32) (param $1 i32) (result i32) + (call $__original_main) + ) +)