Created
October 21, 2017 01:35
-
-
Save wanderer/b6a25bdddedaa510edbd243b9aed28c6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(module | |
(type $FUNCSIG$ii (func (param i32) (result i32))) | |
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) | |
(import "env" "printf" (func $printf (param i32 i32) (result i32))) | |
(table 0 anyfunc) | |
(memory $0 1) | |
(data (i32.const 32) "fail\00") | |
(data (i32.const 48) "\88j?$\d3\08\a3\85\e6!(Ew\13\d08") | |
(data (i32.const 64) "\ce\fa\ed\fe\ef\be\ad\de\be\ba\ed\fe\ef\be\fe\ca") | |
(export "memory" (memory $0)) | |
(export "shift_left" (func $shift_left)) | |
(export "shift_right" (func $shift_right)) | |
(export "rotate_left" (func $rotate_left)) | |
(export "rotate_right" (func $rotate_right)) | |
(export "encrypt" (func $encrypt)) | |
(export "decrypt" (func $decrypt)) | |
(export "expand" (func $expand)) | |
(export "test" (func $test)) | |
(export "main" (func $main)) | |
(func $shift_left (param $0 i32) (param $1 i32) (result i32) | |
(i32.shl | |
(get_local $0) | |
(get_local $1) | |
) | |
) | |
(func $shift_right (param $0 i32) (param $1 i32) (result i32) | |
(i32.shr_u | |
(get_local $0) | |
(get_local $1) | |
) | |
) | |
(func $rotate_left (param $0 i32) (param $1 i32) (result i32) | |
(i32.rotl | |
(get_local $0) | |
(get_local $1) | |
) | |
) | |
(func $rotate_right (param $0 i32) (param $1 i32) (result i32) | |
(i32.rotr | |
(get_local $0) | |
(get_local $1) | |
) | |
) | |
(func $encrypt (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 $8 i32) | |
(set_local $8 | |
(i32.const 0) | |
) | |
(set_local $7 | |
(get_local $0) | |
) | |
(loop $label$0 | |
(i32.store | |
(get_local $1) | |
(tee_local $3 | |
(i32.add | |
(tee_local $3 | |
(i32.load | |
(get_local $7) | |
) | |
) | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $3 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $6 | |
(i32.add | |
(i32.rotl | |
(i32.xor | |
(tee_local $4 | |
(i32.add | |
(get_local $3) | |
(i32.rotl | |
(i32.xor | |
(tee_local $5 | |
(i32.add | |
(i32.load | |
(i32.add | |
(get_local $0) | |
(i32.const 4) | |
) | |
) | |
(i32.load | |
(tee_local $2 | |
(i32.add | |
(get_local $1) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
) | |
(i32.add | |
(i32.load | |
(get_local $0) | |
) | |
(i32.load | |
(get_local $1) | |
) | |
) | |
) | |
(get_local $5) | |
) | |
) | |
) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(tee_local $5 | |
(i32.load | |
(i32.add | |
(get_local $7) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $6) | |
) | |
) | |
) | |
(get_local $6) | |
) | |
(get_local $3) | |
) | |
(get_local $5) | |
) | |
) | |
(get_local $3) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
) | |
(i32.store | |
(get_local $2) | |
(i32.add | |
(get_local $5) | |
(i32.rotl | |
(i32.xor | |
(get_local $3) | |
(get_local $4) | |
) | |
(get_local $3) | |
) | |
) | |
) | |
(set_local $7 | |
(i32.add | |
(get_local $7) | |
(i32.const 16) | |
) | |
) | |
(set_local $1 | |
(i32.add | |
(get_local $1) | |
(i32.const 8) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(tee_local $8 | |
(i32.add | |
(get_local $8) | |
(i32.const 2) | |
) | |
) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
(func $decrypt (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 $8 i32) | |
(set_local $8 | |
(i32.const 0) | |
) | |
(set_local $7 | |
(get_local $0) | |
) | |
(loop $label$0 | |
(set_local $6 | |
(i32.load | |
(get_local $0) | |
) | |
) | |
(i32.store | |
(tee_local $2 | |
(i32.add | |
(get_local $1) | |
(i32.const 4) | |
) | |
) | |
(i32.sub | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(tee_local $4 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(i32.load | |
(get_local $2) | |
) | |
(tee_local $2 | |
(i32.load | |
(i32.add | |
(get_local $7) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
(tee_local $3 | |
(i32.load | |
(get_local $1) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(tee_local $5 | |
(i32.load | |
(get_local $7) | |
) | |
) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $3 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $3) | |
) | |
) | |
(get_local $2) | |
) | |
(tee_local $2 | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $3) | |
(get_local $5) | |
) | |
(get_local $4) | |
) | |
(get_local $4) | |
) | |
) | |
) | |
(get_local $2) | |
) | |
) | |
(i32.load | |
(i32.add | |
(get_local $0) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
(i32.store | |
(get_local $1) | |
(i32.sub | |
(i32.xor | |
(i32.rotr | |
(i32.sub | |
(get_local $2) | |
(get_local $5) | |
) | |
(get_local $3) | |
) | |
(get_local $3) | |
) | |
(get_local $6) | |
) | |
) | |
(set_local $7 | |
(i32.add | |
(get_local $7) | |
(i32.const 16) | |
) | |
) | |
(set_local $1 | |
(i32.add | |
(get_local $1) | |
(i32.const 8) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_u | |
(tee_local $8 | |
(i32.add | |
(get_local $8) | |
(i32.const 2) | |
) | |
) | |
(i32.const 4) | |
) | |
) | |
) | |
) | |
(func $expand (param $0 i32) (param $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(i64.store align=4 | |
(get_local $1) | |
(i64.const 6203931810907378019) | |
) | |
(i64.store offset=8 align=4 | |
(get_local $1) | |
(i64.const -7888126701122599723) | |
) | |
(i64.store offset=16 align=4 | |
(get_local $1) | |
(i64.const -3533441143737993145) | |
) | |
(i64.store offset=24 align=4 | |
(get_local $1) | |
(i64.const 821244417941580729) | |
) | |
(i64.store offset=32 align=4 | |
(get_local $1) | |
(i64.const 5175929979621154603) | |
) | |
(i32.store offset=40 | |
(get_local $1) | |
(i32.const -435416419) | |
) | |
(i32.store offset=44 | |
(get_local $1) | |
(i32.const -2075947946) | |
) | |
(i32.store offset=48 | |
(get_local $1) | |
(i32.const 578487823) | |
) | |
(i32.store offset=52 | |
(get_local $1) | |
(i32.const -1062043704) | |
) | |
(i32.store offset=56 | |
(get_local $1) | |
(i32.const 1592392065) | |
) | |
(i32.store offset=60 | |
(get_local $1) | |
(i32.const -48139462) | |
) | |
(i32.store offset=64 | |
(get_local $1) | |
(i32.const -1688670989) | |
) | |
(i32.store offset=68 | |
(get_local $1) | |
(i32.const 965764780) | |
) | |
(i32.store offset=72 | |
(get_local $1) | |
(i32.const -674766747) | |
) | |
(i32.store offset=76 | |
(get_local $1) | |
(i32.const 1979669022) | |
) | |
(i32.store offset=80 | |
(get_local $1) | |
(i32.const 339137495) | |
) | |
(i32.store offset=84 | |
(get_local $1) | |
(i32.const -1301394032) | |
) | |
(i32.store offset=88 | |
(get_local $1) | |
(i32.const 1353041737) | |
) | |
(i32.store offset=92 | |
(get_local $1) | |
(i32.const -287489790) | |
) | |
(i32.store offset=96 | |
(get_local $1) | |
(i32.const -1928021317) | |
) | |
(i32.store offset=100 | |
(get_local $1) | |
(i32.const 726414452) | |
) | |
(set_local $4 | |
(i32.const 0) | |
) | |
(set_local $3 | |
(i32.const 78) | |
) | |
(set_local $2 | |
(i32.const -1209970333) | |
) | |
(set_local $5 | |
(i32.const 0) | |
) | |
(set_local $6 | |
(i32.const 0) | |
) | |
(set_local $7 | |
(i32.const 0) | |
) | |
(block $label$0 | |
(loop $label$1 | |
(i32.store | |
(i32.add | |
(get_local $1) | |
(i32.shl | |
(get_local $5) | |
(i32.const 2) | |
) | |
) | |
(tee_local $7 | |
(i32.rotl | |
(i32.add | |
(i32.add | |
(get_local $6) | |
(get_local $7) | |
) | |
(get_local $2) | |
) | |
(i32.const 3) | |
) | |
) | |
) | |
(i32.store | |
(tee_local $2 | |
(i32.add | |
(get_local $0) | |
(i32.shl | |
(get_local $4) | |
(i32.const 2) | |
) | |
) | |
) | |
(tee_local $6 | |
(i32.rotl | |
(i32.add | |
(i32.add | |
(i32.load | |
(get_local $2) | |
) | |
(get_local $6) | |
) | |
(get_local $7) | |
) | |
(i32.add | |
(get_local $7) | |
(get_local $6) | |
) | |
) | |
) | |
) | |
(set_local $5 | |
(i32.rem_u | |
(i32.add | |
(get_local $5) | |
(i32.const 1) | |
) | |
(i32.const 26) | |
) | |
) | |
(br_if $label$0 | |
(i32.lt_s | |
(get_local $3) | |
(i32.const 2) | |
) | |
) | |
(set_local $3 | |
(i32.add | |
(get_local $3) | |
(i32.const -1) | |
) | |
) | |
(set_local $4 | |
(i32.and | |
(i32.add | |
(get_local $4) | |
(i32.const 1) | |
) | |
(i32.const 3) | |
) | |
) | |
(set_local $2 | |
(i32.load | |
(i32.add | |
(get_local $1) | |
(i32.shl | |
(get_local $5) | |
(i32.const 2) | |
) | |
) | |
) | |
) | |
(br $label$1) | |
) | |
) | |
) | |
(func $test (param $0 i32) (param $1 i32) (result i32) | |
(i64.store offset=16 | |
(i32.const 0) | |
(i64.load align=4 | |
(get_local $1) | |
) | |
) | |
(i64.store offset=24 | |
(i32.const 0) | |
(i64.load align=4 | |
(i32.add | |
(get_local $1) | |
(i32.const 8) | |
) | |
) | |
) | |
(call $encrypt | |
(get_local $0) | |
(get_local $1) | |
) | |
(call $decrypt | |
(get_local $0) | |
(get_local $1) | |
) | |
(block $label$0 | |
(block $label$1 | |
(br_if $label$1 | |
(i32.ne | |
(i32.load | |
(get_local $1) | |
) | |
(i32.load offset=16 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$1 | |
(i32.ne | |
(i32.load offset=4 | |
(get_local $1) | |
) | |
(i32.load offset=20 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$1 | |
(i32.ne | |
(i32.load offset=8 | |
(get_local $1) | |
) | |
(i32.load offset=24 | |
(i32.const 0) | |
) | |
) | |
) | |
(set_local $0 | |
(i32.const 1) | |
) | |
(br_if $label$0 | |
(i32.eq | |
(i32.load offset=12 | |
(get_local $1) | |
) | |
(i32.load offset=28 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(drop | |
(call $printf | |
(i32.const 32) | |
(i32.const 0) | |
) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
) | |
(get_local $0) | |
) | |
(func $main (result i32) | |
(local $0 i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(set_local $2 | |
(i32.const 0) | |
) | |
(i64.store offset=80 | |
(i32.const 0) | |
(i64.const 6203931810907378019) | |
) | |
(i64.store offset=88 | |
(i32.const 0) | |
(i64.const -7888126701122599723) | |
) | |
(i64.store offset=96 | |
(i32.const 0) | |
(i64.const -3533441143737993145) | |
) | |
(i64.store offset=104 | |
(i32.const 0) | |
(i64.const 821244417941580729) | |
) | |
(i64.store offset=112 | |
(i32.const 0) | |
(i64.const 5175929979621154603) | |
) | |
(i32.store offset=120 | |
(i32.const 0) | |
(i32.const -435416419) | |
) | |
(i32.store offset=124 | |
(i32.const 0) | |
(i32.const -2075947946) | |
) | |
(i32.store offset=128 | |
(i32.const 0) | |
(i32.const 578487823) | |
) | |
(i32.store offset=132 | |
(i32.const 0) | |
(i32.const -1062043704) | |
) | |
(i32.store offset=136 | |
(i32.const 0) | |
(i32.const 1592392065) | |
) | |
(i32.store offset=140 | |
(i32.const 0) | |
(i32.const -48139462) | |
) | |
(i32.store offset=144 | |
(i32.const 0) | |
(i32.const -1688670989) | |
) | |
(i32.store offset=148 | |
(i32.const 0) | |
(i32.const 965764780) | |
) | |
(i32.store offset=152 | |
(i32.const 0) | |
(i32.const -674766747) | |
) | |
(i32.store offset=156 | |
(i32.const 0) | |
(i32.const 1979669022) | |
) | |
(i32.store offset=160 | |
(i32.const 0) | |
(i32.const 339137495) | |
) | |
(i32.store offset=164 | |
(i32.const 0) | |
(i32.const -1301394032) | |
) | |
(i32.store offset=168 | |
(i32.const 0) | |
(i32.const 1353041737) | |
) | |
(i32.store offset=172 | |
(i32.const 0) | |
(i32.const -287489790) | |
) | |
(i32.store offset=176 | |
(i32.const 0) | |
(i32.const -1928021317) | |
) | |
(i32.store offset=180 | |
(i32.const 0) | |
(i32.const 726414452) | |
) | |
(set_local $1 | |
(i32.const 78) | |
) | |
(set_local $0 | |
(i32.const -1209970333) | |
) | |
(set_local $3 | |
(i32.const 0) | |
) | |
(set_local $4 | |
(i32.const 0) | |
) | |
(set_local $5 | |
(i32.const 0) | |
) | |
(block $label$0 | |
(loop $label$1 | |
(i32.store | |
(i32.add | |
(i32.shl | |
(get_local $3) | |
(i32.const 2) | |
) | |
(i32.const 80) | |
) | |
(tee_local $5 | |
(i32.rotl | |
(i32.add | |
(i32.add | |
(get_local $4) | |
(get_local $0) | |
) | |
(get_local $5) | |
) | |
(i32.const 3) | |
) | |
) | |
) | |
(i32.store | |
(tee_local $0 | |
(i32.add | |
(i32.shl | |
(get_local $2) | |
(i32.const 2) | |
) | |
(i32.const 48) | |
) | |
) | |
(tee_local $4 | |
(i32.rotl | |
(i32.add | |
(i32.add | |
(i32.load | |
(get_local $0) | |
) | |
(get_local $4) | |
) | |
(get_local $5) | |
) | |
(i32.add | |
(get_local $5) | |
(get_local $4) | |
) | |
) | |
) | |
) | |
(set_local $3 | |
(i32.rem_u | |
(i32.add | |
(get_local $3) | |
(i32.const 1) | |
) | |
(i32.const 26) | |
) | |
) | |
(br_if $label$0 | |
(i32.le_s | |
(get_local $1) | |
(i32.const 1) | |
) | |
) | |
(set_local $1 | |
(i32.add | |
(get_local $1) | |
(i32.const -1) | |
) | |
) | |
(set_local $2 | |
(i32.and | |
(i32.add | |
(get_local $2) | |
(i32.const 1) | |
) | |
(i32.const 3) | |
) | |
) | |
(set_local $0 | |
(i32.load | |
(i32.add | |
(i32.shl | |
(get_local $3) | |
(i32.const 2) | |
) | |
(i32.const 80) | |
) | |
) | |
) | |
(br $label$1) | |
) | |
) | |
(set_local $4 | |
(i32.const 43690) | |
) | |
(loop $label$2 | |
(i64.store offset=24 | |
(i32.const 0) | |
(i64.load offset=72 | |
(i32.const 0) | |
) | |
) | |
(i64.store offset=16 | |
(i32.const 0) | |
(i64.load offset=64 | |
(i32.const 0) | |
) | |
) | |
(call $encrypt | |
(i32.const 80) | |
(i32.const 64) | |
) | |
(call $decrypt | |
(i32.const 80) | |
(i32.const 64) | |
) | |
(block $label$3 | |
(block $label$4 | |
(br_if $label$4 | |
(i32.ne | |
(i32.load offset=64 | |
(i32.const 0) | |
) | |
(i32.load offset=16 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$4 | |
(i32.ne | |
(i32.load offset=68 | |
(i32.const 0) | |
) | |
(i32.load offset=20 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$4 | |
(i32.ne | |
(i32.load offset=72 | |
(i32.const 0) | |
) | |
(i32.load offset=24 | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$3 | |
(i32.eq | |
(i32.load offset=76 | |
(i32.const 0) | |
) | |
(i32.load offset=28 | |
(i32.const 0) | |
) | |
) | |
) | |
) | |
(drop | |
(call $printf | |
(i32.const 32) | |
(i32.const 0) | |
) | |
) | |
) | |
(br_if $label$2 | |
(tee_local $4 | |
(i32.add | |
(get_local $4) | |
(i32.const -1) | |
) | |
) | |
) | |
) | |
(i32.load offset=64 | |
(i32.const 0) | |
) | |
) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment