Files
failnix/targets/wasm-tacle/kernel/md5/generated/default/md5.wat

2344 lines
41 KiB
Plaintext

(module $md5.wasm
(type (;0;) (func (param i32 i32)))
(type (;1;) (func))
(type (;2;) (func (param i32 i32 i32)))
(type (;3;) (func (param i32 i32 i32) (result i32)))
(type (;4;) (func (result i32)))
(import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
(func $__wasm_apply_data_relocs (type 1))
(func $md5_update (type 2) (param i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32)
local.get 0
local.get 0
i32.load offset=64
local.tee 3
local.get 2
i32.const 3
i32.shl
i32.add
local.tee 4
i32.store offset=64
local.get 0
local.get 0
i32.load offset=68
local.get 4
local.get 3
i32.lt_u
i32.add
local.get 2
i32.const 29
i32.shr_u
i32.add
i32.store offset=68
block ;; label = @1
block ;; label = @2
i32.const 64
local.get 3
i32.const 3
i32.shr_u
i32.const 63
i32.and
local.tee 5
i32.sub
local.tee 3
local.get 2
i32.le_u
br_if 0 (;@2;)
i32.const 0
local.set 3
br 1 (;@1;)
end
i32.const 0
local.set 4
i32.const 0
i32.const 55
call $__pragma_loopbound
local.get 3
i32.const 3
i32.and
local.set 6
block ;; label = @2
local.get 5
i32.const 63
i32.xor
i32.const 3
i32.lt_u
br_if 0 (;@2;)
local.get 0
local.get 5
i32.add
local.set 7
local.get 3
i32.const 124
i32.and
local.set 8
i32.const 0
local.set 4
loop ;; label = @3
local.get 7
local.get 4
i32.add
local.tee 9
i32.const 72
i32.add
local.get 1
local.get 4
i32.add
local.tee 10
i32.load8_u
i32.store8
local.get 9
i32.const 73
i32.add
local.get 10
i32.const 1
i32.add
i32.load8_u
i32.store8
local.get 9
i32.const 74
i32.add
local.get 10
i32.const 2
i32.add
i32.load8_u
i32.store8
local.get 9
i32.const 75
i32.add
local.get 10
i32.const 3
i32.add
i32.load8_u
i32.store8
local.get 8
local.get 4
i32.const 4
i32.add
local.tee 4
i32.ne
br_if 0 (;@3;)
end
end
local.get 0
i32.const 72
i32.add
local.set 10
block ;; label = @2
local.get 6
i32.eqz
br_if 0 (;@2;)
local.get 1
local.get 4
i32.add
local.set 9
local.get 4
local.get 5
i32.add
local.get 0
i32.add
i32.const 72
i32.add
local.set 4
loop ;; label = @3
local.get 4
local.get 9
i32.load8_u
i32.store8
local.get 9
i32.const 1
i32.add
local.set 9
local.get 4
i32.const 1
i32.add
local.set 4
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@3;)
end
end
local.get 0
local.get 10
call $md5_transform
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @2
local.get 5
i32.const 127
i32.xor
local.get 2
i32.lt_u
br_if 0 (;@2;)
i32.const 0
local.set 5
br 1 (;@1;)
end
loop ;; label = @2
local.get 0
local.get 1
local.get 3
i32.add
call $md5_transform
local.get 3
i32.const 127
i32.add
local.set 4
local.get 3
i32.const 64
i32.add
local.tee 9
local.set 3
local.get 4
local.get 2
i32.lt_u
br_if 0 (;@2;)
end
i32.const 0
local.set 5
local.get 9
local.set 3
end
i32.const 0
i32.const 55
call $__pragma_loopbound
block ;; label = @1
local.get 2
local.get 3
i32.eq
br_if 0 (;@1;)
local.get 2
local.get 3
i32.sub
local.tee 9
i32.const 3
i32.and
local.set 6
i32.const 0
local.set 4
block ;; label = @2
local.get 3
local.get 2
i32.sub
i32.const -4
i32.gt_u
br_if 0 (;@2;)
local.get 1
local.get 3
i32.add
local.set 2
local.get 0
local.get 5
i32.add
local.set 7
local.get 9
i32.const -4
i32.and
local.set 8
i32.const 0
local.set 4
loop ;; label = @3
local.get 7
local.get 4
i32.add
local.tee 9
i32.const 72
i32.add
local.get 2
local.get 4
i32.add
local.tee 10
i32.load8_u
i32.store8
local.get 9
i32.const 73
i32.add
local.get 10
i32.const 1
i32.add
i32.load8_u
i32.store8
local.get 9
i32.const 74
i32.add
local.get 10
i32.const 2
i32.add
i32.load8_u
i32.store8
local.get 9
i32.const 75
i32.add
local.get 10
i32.const 3
i32.add
i32.load8_u
i32.store8
local.get 8
local.get 4
i32.const 4
i32.add
local.tee 4
i32.ne
br_if 0 (;@3;)
end
end
local.get 6
i32.eqz
br_if 0 (;@1;)
local.get 1
local.get 3
local.get 4
i32.add
i32.add
local.set 3
local.get 5
local.get 4
i32.add
local.get 0
i32.add
i32.const 72
i32.add
local.set 4
loop ;; label = @2
local.get 4
local.get 3
i32.load8_u
i32.store8
local.get 3
i32.const 1
i32.add
local.set 3
local.get 4
i32.const 1
i32.add
local.set 4
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@2;)
end
end)
(func $md5_transform (type 0) (param i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
global.get $__stack_pointer
i32.const 64
i32.sub
local.tee 2
global.set $__stack_pointer
local.get 0
i32.load offset=12
local.set 3
local.get 0
i32.load offset=8
local.set 4
local.get 0
i32.load offset=4
local.set 5
local.get 0
i32.load
local.set 6
i32.const 16
i32.const 16
call $__pragma_loopbound
i32.const 0
local.set 7
loop ;; label = @1
local.get 2
local.get 7
i32.add
local.get 1
local.get 7
i32.add
i32.load align=1
i32.store
local.get 7
i32.const 4
i32.add
local.tee 7
i32.const 64
i32.ne
br_if 0 (;@1;)
end
local.get 0
local.get 2
i32.load offset=16
local.tee 8
local.get 2
i32.load offset=32
local.tee 9
local.get 2
i32.load offset=48
local.tee 10
local.get 2
i32.load
local.tee 11
local.get 2
i32.load offset=36
local.tee 12
local.get 2
i32.load offset=52
local.tee 13
local.get 2
i32.load offset=4
local.tee 14
local.get 2
i32.load offset=20
local.tee 15
local.get 13
local.get 12
local.get 15
local.get 14
local.get 10
local.get 9
local.get 8
local.get 11
local.get 6
local.get 3
local.get 5
i32.const -1
i32.xor
i32.and
local.get 4
local.get 5
i32.and
i32.or
i32.add
i32.add
i32.const -680876936
i32.add
i32.const 7
i32.rotl
local.get 5
i32.add
local.tee 7
i32.add
local.get 5
local.get 2
i32.load offset=12
local.tee 6
i32.add
local.get 4
local.get 2
i32.load offset=8
local.tee 16
i32.add
local.get 3
local.get 14
i32.add
local.get 7
local.get 5
i32.and
local.get 4
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -389564586
i32.add
i32.const 12
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 7
i32.and
local.get 5
local.get 1
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 606105819
i32.add
i32.const 17
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 1
i32.and
local.get 7
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1044525330
i32.add
i32.const 22
i32.rotl
local.get 5
i32.add
local.tee 7
local.get 5
i32.and
local.get 1
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -176418897
i32.add
i32.const 7
i32.rotl
local.get 7
i32.add
local.tee 4
i32.add
local.get 2
i32.load offset=28
local.tee 3
local.get 7
i32.add
local.get 2
i32.load offset=24
local.tee 17
local.get 5
i32.add
local.get 15
local.get 1
i32.add
local.get 4
local.get 7
i32.and
local.get 5
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 1200080426
i32.add
i32.const 12
i32.rotl
local.get 4
i32.add
local.tee 1
local.get 4
i32.and
local.get 7
local.get 1
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1473231341
i32.add
i32.const 17
i32.rotl
local.get 1
i32.add
local.tee 7
local.get 1
i32.and
local.get 4
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -45705983
i32.add
i32.const 22
i32.rotl
local.get 7
i32.add
local.tee 5
local.get 7
i32.and
local.get 1
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 1770035416
i32.add
i32.const 7
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 2
i32.load offset=44
local.tee 18
local.get 5
i32.add
local.get 2
i32.load offset=40
local.tee 19
local.get 7
i32.add
local.get 12
local.get 1
i32.add
local.get 4
local.get 5
i32.and
local.get 7
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1958414417
i32.add
i32.const 12
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 4
i32.and
local.get 5
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -42063
i32.add
i32.const 17
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 7
i32.and
local.get 4
local.get 1
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1990404162
i32.add
i32.const 22
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 1
i32.and
local.get 7
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 1804603682
i32.add
i32.const 7
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 2
i32.load offset=60
local.tee 20
local.get 5
i32.add
local.get 2
i32.load offset=56
local.tee 21
local.get 1
i32.add
local.get 13
local.get 7
i32.add
local.get 4
local.get 5
i32.and
local.get 1
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -40341101
i32.add
i32.const 12
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 4
i32.and
local.get 5
local.get 7
i32.const -1
i32.xor
local.tee 22
i32.and
i32.or
i32.add
i32.const -1502002290
i32.add
i32.const 17
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 7
i32.and
local.get 4
local.get 1
i32.const -1
i32.xor
local.tee 23
i32.and
i32.or
i32.add
i32.const 1236535329
i32.add
i32.const 22
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.and
local.get 1
local.get 22
i32.and
i32.or
i32.add
i32.const -165796510
i32.add
i32.const 5
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 11
local.get 5
i32.add
local.get 18
local.get 1
i32.add
local.get 17
local.get 7
i32.add
local.get 4
local.get 1
i32.and
local.get 5
local.get 23
i32.and
i32.or
i32.add
i32.const -1069501632
i32.add
i32.const 9
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.and
local.get 4
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 643717713
i32.add
i32.const 14
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 4
i32.and
local.get 7
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -373897302
i32.add
i32.const 20
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.and
local.get 1
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -701558691
i32.add
i32.const 5
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 8
local.get 5
i32.add
local.get 20
local.get 1
i32.add
local.get 19
local.get 7
i32.add
local.get 4
local.get 1
i32.and
local.get 5
local.get 1
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 38016083
i32.add
i32.const 9
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.and
local.get 4
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -660478335
i32.add
i32.const 14
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 4
i32.and
local.get 7
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -405537848
i32.add
i32.const 20
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.and
local.get 1
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 568446438
i32.add
i32.const 5
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 9
local.get 5
i32.add
local.get 6
local.get 1
i32.add
local.get 21
local.get 7
i32.add
local.get 4
local.get 1
i32.and
local.get 5
local.get 1
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1019803690
i32.add
i32.const 9
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.and
local.get 4
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -187363961
i32.add
i32.const 14
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 4
i32.and
local.get 7
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 1163531501
i32.add
i32.const 20
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.and
local.get 1
local.get 7
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1444681467
i32.add
i32.const 5
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 10
local.get 5
i32.add
local.get 3
local.get 1
i32.add
local.get 16
local.get 7
i32.add
local.get 4
local.get 1
i32.and
local.get 5
local.get 1
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -51403784
i32.add
i32.const 9
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.and
local.get 4
local.get 5
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const 1735328473
i32.add
i32.const 14
i32.rotl
local.get 7
i32.add
local.tee 5
local.get 4
i32.and
local.get 7
local.get 4
i32.const -1
i32.xor
i32.and
i32.or
i32.add
i32.const -1926607734
i32.add
i32.const 20
i32.rotl
local.get 5
i32.add
local.tee 4
local.get 5
i32.xor
local.tee 22
local.get 7
i32.xor
i32.add
i32.const -378558
i32.add
i32.const 4
i32.rotl
local.get 4
i32.add
local.tee 1
i32.add
local.get 18
local.get 5
i32.add
local.get 1
local.get 4
i32.xor
local.get 9
local.get 7
i32.add
local.get 22
local.get 1
i32.xor
i32.add
i32.const -2022574463
i32.add
i32.const 11
i32.rotl
local.get 1
i32.add
local.tee 7
i32.xor
i32.add
i32.const 1839030562
i32.add
i32.const 16
i32.rotl
local.get 7
i32.add
local.tee 5
local.get 7
i32.xor
local.get 21
local.get 4
i32.add
local.get 7
local.get 1
i32.xor
local.get 5
i32.xor
i32.add
i32.const -35309556
i32.add
i32.const 23
i32.rotl
local.get 5
i32.add
local.tee 1
i32.xor
i32.add
i32.const -1530992060
i32.add
i32.const 4
i32.rotl
local.get 1
i32.add
local.tee 4
i32.add
local.get 3
local.get 5
i32.add
local.get 4
local.get 1
i32.xor
local.get 8
local.get 7
i32.add
local.get 1
local.get 5
i32.xor
local.get 4
i32.xor
i32.add
i32.const 1272893353
i32.add
i32.const 11
i32.rotl
local.get 4
i32.add
local.tee 7
i32.xor
i32.add
i32.const -155497632
i32.add
i32.const 16
i32.rotl
local.get 7
i32.add
local.tee 5
local.get 7
i32.xor
local.get 19
local.get 1
i32.add
local.get 7
local.get 4
i32.xor
local.get 5
i32.xor
i32.add
i32.const -1094730640
i32.add
i32.const 23
i32.rotl
local.get 5
i32.add
local.tee 1
i32.xor
i32.add
i32.const 681279174
i32.add
i32.const 4
i32.rotl
local.get 1
i32.add
local.tee 4
i32.add
local.get 6
local.get 5
i32.add
local.get 4
local.get 1
i32.xor
local.get 11
local.get 7
i32.add
local.get 1
local.get 5
i32.xor
local.get 4
i32.xor
i32.add
i32.const -358537222
i32.add
i32.const 11
i32.rotl
local.get 4
i32.add
local.tee 7
i32.xor
i32.add
i32.const -722521979
i32.add
i32.const 16
i32.rotl
local.get 7
i32.add
local.tee 5
local.get 7
i32.xor
local.get 17
local.get 1
i32.add
local.get 7
local.get 4
i32.xor
local.get 5
i32.xor
i32.add
i32.const 76029189
i32.add
i32.const 23
i32.rotl
local.get 5
i32.add
local.tee 1
i32.xor
i32.add
i32.const -640364487
i32.add
i32.const 4
i32.rotl
local.get 1
i32.add
local.tee 4
i32.add
local.get 16
local.get 1
i32.add
local.get 10
local.get 7
i32.add
local.get 1
local.get 5
i32.xor
local.get 4
i32.xor
i32.add
i32.const -421815835
i32.add
i32.const 11
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 4
i32.xor
local.get 20
local.get 5
i32.add
local.get 4
local.get 1
i32.xor
local.get 7
i32.xor
i32.add
i32.const 530742520
i32.add
i32.const 16
i32.rotl
local.get 7
i32.add
local.tee 1
i32.xor
i32.add
i32.const -995338651
i32.add
i32.const 23
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.const -1
i32.xor
i32.or
local.get 1
i32.xor
i32.add
i32.const -198630844
i32.add
i32.const 6
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 15
local.get 5
i32.add
local.get 21
local.get 1
i32.add
local.get 3
local.get 7
i32.add
local.get 4
local.get 1
i32.const -1
i32.xor
i32.or
local.get 5
i32.xor
i32.add
i32.const 1126891415
i32.add
i32.const 10
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.const -1
i32.xor
i32.or
local.get 4
i32.xor
i32.add
i32.const -1416354905
i32.add
i32.const 15
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 4
i32.const -1
i32.xor
i32.or
local.get 7
i32.xor
i32.add
i32.const -57434055
i32.add
i32.const 21
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.const -1
i32.xor
i32.or
local.get 1
i32.xor
i32.add
i32.const 1700485571
i32.add
i32.const 6
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 14
local.get 5
i32.add
local.get 19
local.get 1
i32.add
local.get 6
local.get 7
i32.add
local.get 4
local.get 1
i32.const -1
i32.xor
i32.or
local.get 5
i32.xor
i32.add
i32.const -1894986606
i32.add
i32.const 10
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.const -1
i32.xor
i32.or
local.get 4
i32.xor
i32.add
i32.const -1051523
i32.add
i32.const 15
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 4
i32.const -1
i32.xor
i32.or
local.get 7
i32.xor
i32.add
i32.const -2054922799
i32.add
i32.const 21
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.const -1
i32.xor
i32.or
local.get 1
i32.xor
i32.add
i32.const 1873313359
i32.add
i32.const 6
i32.rotl
local.get 5
i32.add
local.tee 4
i32.add
local.get 13
local.get 5
i32.add
local.get 17
local.get 1
i32.add
local.get 20
local.get 7
i32.add
local.get 4
local.get 1
i32.const -1
i32.xor
i32.or
local.get 5
i32.xor
i32.add
i32.const -30611744
i32.add
i32.const 10
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 5
i32.const -1
i32.xor
i32.or
local.get 4
i32.xor
i32.add
i32.const -1560198380
i32.add
i32.const 15
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 4
i32.const -1
i32.xor
i32.or
local.get 7
i32.xor
i32.add
i32.const 1309151649
i32.add
i32.const 21
i32.rotl
local.get 1
i32.add
local.tee 5
local.get 7
i32.const -1
i32.xor
i32.or
local.get 1
i32.xor
i32.add
i32.const -145523070
i32.add
i32.const 6
i32.rotl
local.get 5
i32.add
local.tee 4
local.get 0
i32.load
i32.add
i32.store
local.get 0
local.get 18
local.get 7
i32.add
local.get 4
local.get 1
i32.const -1
i32.xor
i32.or
local.get 5
i32.xor
i32.add
i32.const -1120210379
i32.add
i32.const 10
i32.rotl
local.get 4
i32.add
local.tee 7
local.get 0
i32.load offset=12
i32.add
i32.store offset=12
local.get 0
local.get 16
local.get 1
i32.add
local.get 7
local.get 5
i32.const -1
i32.xor
i32.or
local.get 4
i32.xor
i32.add
i32.const 718787259
i32.add
i32.const 15
i32.rotl
local.get 7
i32.add
local.tee 1
local.get 0
i32.load offset=8
i32.add
i32.store offset=8
local.get 0
local.get 1
local.get 0
i32.load offset=4
i32.add
local.get 12
local.get 5
i32.add
local.get 1
local.get 4
i32.const -1
i32.xor
i32.or
local.get 7
i32.xor
i32.add
i32.const -343485551
i32.add
i32.const 21
i32.rotl
i32.add
i32.store offset=4
i32.const 128
i32.const 208
call $__pragma_loopbound
local.get 2
i32.const 64
i32.add
global.set $__stack_pointer)
(func $md5_final (type 0) (param i32 i32)
(local i32 i32 i32 i32)
global.get $__stack_pointer
i32.const 16
i32.sub
local.tee 2
global.set $__stack_pointer
i32.const 2
i32.const 16
call $__pragma_loopbound
local.get 2
local.get 1
i32.load offset=64
local.tee 3
i32.store offset=8 align=1
local.get 2
local.get 1
i32.load offset=68
i32.store offset=12 align=1
local.get 1
i32.const 1024
i32.const 56
i32.const 120
local.get 3
i32.const 3
i32.shr_u
i32.const 63
i32.and
local.tee 3
i32.const 56
i32.lt_u
select
local.get 3
i32.sub
call $md5_update
local.get 1
local.get 2
i32.const 8
i32.add
i32.const 8
call $md5_update
i32.const 2
i32.const 16
call $__pragma_loopbound
i32.const 0
local.set 3
loop ;; label = @1
local.get 0
local.get 3
i32.add
local.tee 4
local.get 1
local.get 3
i32.add
local.tee 5
i32.load
i32.store8
local.get 4
i32.const 1
i32.add
local.get 5
i32.load
i32.const 8
i32.shr_u
i32.store8
local.get 4
i32.const 2
i32.add
local.get 5
i32.load16_u offset=2
i32.store8
local.get 4
i32.const 3
i32.add
local.get 5
i32.load8_u offset=3
i32.store8
local.get 3
i32.const 4
i32.add
local.tee 3
i32.const 64
i32.ne
br_if 0 (;@1;)
end
i32.const 128
i32.const 208
call $__pragma_loopbound
i32.const -136
local.set 3
loop ;; label = @1
local.get 1
local.get 3
i32.add
i32.const 136
i32.add
i64.const 0
i64.store align=1
local.get 3
i32.const 8
i32.add
local.tee 3
br_if 0 (;@1;)
end
local.get 2
i32.const 16
i32.add
global.set $__stack_pointer)
(func $md5_R_RandomUpdate (type 3) (param i32 i32 i32) (result i32)
(local i32)
global.get $__stack_pointer
i32.const 208
i32.sub
local.tee 3
global.set $__stack_pointer
local.get 3
i64.const 0
i64.store offset=136 align=4
local.get 3
i64.const 0
i64.store offset=128 align=4
local.get 3
i64.const 0
i64.store offset=120 align=4
local.get 3
i64.const 0
i64.store offset=112 align=4
local.get 3
i64.const 0
i64.store offset=104 align=4
local.get 3
i64.const 0
i64.store offset=96 align=4
local.get 3
i64.const 0
i64.store offset=88 align=4
local.get 3
i64.const 1167088121787636990
i64.store offset=80 align=4
local.get 3
i64.const -1167088121787636991
i64.store offset=72 align=4
local.get 3
i32.const 72
i32.add
local.get 1
local.get 2
call $md5_update
local.get 3
local.get 3
i32.const 72
i32.add
call $md5_final
i32.const 16
i32.const 16
call $__pragma_loopbound
local.get 0
local.get 0
i32.load8_u offset=19
local.get 3
i32.load8_u offset=15
i32.add
local.tee 1
i32.store8 offset=19
local.get 0
local.get 1
i32.const 255
i32.and
local.get 1
i32.ne
local.get 0
i32.load8_u offset=18
i32.add
local.get 3
i32.load8_u offset=14
i32.add
local.tee 1
i32.store8 offset=18
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=17
i32.add
local.get 3
i32.load8_u offset=13
i32.add
local.tee 1
i32.store8 offset=17
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=16
i32.add
local.get 3
i32.load8_u offset=12
i32.add
local.tee 1
i32.store8 offset=16
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=15
i32.add
local.get 3
i32.load8_u offset=11
i32.add
local.tee 1
i32.store8 offset=15
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=14
i32.add
local.get 3
i32.load8_u offset=10
i32.add
local.tee 1
i32.store8 offset=14
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=13
i32.add
local.get 3
i32.load8_u offset=9
i32.add
local.tee 1
i32.store8 offset=13
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=12
i32.add
local.get 3
i32.load8_u offset=8
i32.add
local.tee 1
i32.store8 offset=12
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=11
i32.add
local.get 3
i32.load8_u offset=7
i32.add
local.tee 1
i32.store8 offset=11
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=10
i32.add
local.get 3
i32.load8_u offset=6
i32.add
local.tee 1
i32.store8 offset=10
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=9
i32.add
local.get 3
i32.load8_u offset=5
i32.add
local.tee 1
i32.store8 offset=9
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=8
i32.add
local.get 3
i32.load8_u offset=4
i32.add
local.tee 1
i32.store8 offset=8
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=7
i32.add
local.get 3
i32.load8_u offset=3
i32.add
local.tee 1
i32.store8 offset=7
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=6
i32.add
local.get 3
i32.load8_u offset=2
i32.add
local.tee 1
i32.store8 offset=6
local.get 0
local.get 1
i32.const 8
i32.shr_u
local.get 0
i32.load8_u offset=5
i32.add
local.get 3
i32.load8_u offset=1
i32.add
local.tee 1
i32.store8 offset=5
local.get 0
local.get 0
i32.load8_u offset=4
local.get 1
i32.const 8
i32.shr_u
i32.add
local.get 3
i32.load8_u
i32.add
i32.store8 offset=4
local.get 0
i32.const 0
local.get 0
i32.load
local.tee 1
local.get 2
i32.sub
local.tee 2
local.get 2
local.get 1
i32.gt_u
select
i32.store
i32.const 16
i32.const 64
call $__pragma_loopbound
local.get 3
i32.const 208
i32.add
global.set $__stack_pointer
i32.const 0)
(func $md5_main (type 1)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
global.get $__stack_pointer
i32.const 192
i32.sub
local.tee 0
global.set $__stack_pointer
local.get 0
i32.const 256
i32.store offset=8
i32.const 16
i32.const 64
call $__pragma_loopbound
local.get 0
i32.const 0
i32.store offset=28
local.get 0
i64.const 0
i64.store offset=20 align=4
local.get 0
i64.const 0
i64.store offset=12 align=4
i32.const 256
i32.const 256
call $__pragma_loopbound
loop ;; label = @1
local.get 0
i32.const 8
i32.add
i32.const 1088
i32.const 1
call $md5_R_RandomUpdate
drop
local.get 0
i32.load offset=8
br_if 0 (;@1;)
end
i32.const 10
i32.const 10
call $__pragma_loopbound
local.get 0
i32.const 48
i32.add
i32.const 72
i32.add
local.set 1
i32.const 0
local.set 2
loop ;; label = @1
i32.const 16
i32.const 64
call $__pragma_loopbound
i32.const 256
local.set 3
i32.const 256
i32.const 256
call $__pragma_loopbound
loop ;; label = @2
local.get 0
i64.const 0
i64.store offset=104 align=4
local.get 0
i64.const 0
i64.store offset=96 align=4
local.get 0
i64.const 0
i64.store offset=88 align=4
local.get 0
i64.const 0
i64.store offset=80 align=4
local.get 0
i64.const 0
i64.store offset=72 align=4
local.get 0
i64.const 0
i64.store offset=64 align=4
local.get 0
i64.const 1167088121787636990
i64.store offset=56 align=4
local.get 0
i64.const -1167088121787636991
i64.store offset=48 align=4
i32.const 0
local.set 4
i32.const 0
i32.const 55
call $__pragma_loopbound
local.get 0
i32.const 0
i32.load8_u offset=1088
i32.store8 offset=120
i32.const 2
i32.const 16
call $__pragma_loopbound
local.get 0
i64.const 448
i64.store offset=112 align=4
local.get 0
i64.const 8
i64.store offset=184 align=1
i32.const 0
i32.const 55
call $__pragma_loopbound
local.get 0
i32.const 0
i32.load8_u offset=1024
i32.store8 offset=121
local.get 0
i32.const 0
i32.load offset=1025 align=1
i32.store offset=122 align=2
local.get 0
i32.const 0
i64.load offset=1029 align=1
i64.store offset=126 align=2
local.get 0
i32.const 0
i64.load offset=1037 align=1
i64.store offset=134 align=2
local.get 0
i32.const 0
i64.load offset=1045 align=1
i64.store offset=142 align=2
local.get 0
i32.const 0
i64.load offset=1053 align=1
i64.store offset=150 align=2
local.get 0
i32.const 0
i32.load offset=1061 align=1
i32.store offset=158 align=2
local.get 0
i32.const 0
i32.load16_u offset=1065 align=1
i32.store16 offset=162
local.get 0
i32.const 0
i32.load8_u offset=1067
i32.store8 offset=164
local.get 0
i32.const 0
i32.load8_u offset=1068
i32.store8 offset=165
local.get 0
i32.const 0
i64.load offset=1069 align=1
i64.store offset=166 align=2
local.get 0
i32.const 0
i32.load16_u offset=1077 align=1
i32.store16 offset=174
local.get 0
local.get 0
i32.load offset=112
local.tee 5
i32.const 64
i32.add
i32.store offset=112
local.get 0
local.get 0
i32.load offset=116
local.get 5
i32.const -65
i32.gt_u
i32.add
i32.store offset=116
block ;; label = @3
local.get 5
i32.const 3
i32.shr_u
i32.const 63
i32.and
local.tee 6
i32.const 56
i32.lt_u
br_if 0 (;@3;)
i32.const 0
i32.const 55
call $__pragma_loopbound
local.get 1
local.get 6
i32.add
local.tee 5
local.get 0
i32.load8_u offset=184
i32.store8
block ;; label = @4
local.get 6
i32.const 63
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=185
i32.store8 offset=1
local.get 6
i32.const 62
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=186
i32.store8 offset=2
local.get 6
i32.const 61
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=187
i32.store8 offset=3
local.get 6
i32.const 60
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=188
i32.store8 offset=4
local.get 6
i32.const 59
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=189
i32.store8 offset=5
local.get 6
i32.const 58
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=190
i32.store8 offset=6
local.get 6
i32.const 57
i32.eq
br_if 0 (;@4;)
local.get 5
local.get 0
i32.load8_u offset=191
i32.store8 offset=7
end
i32.const 64
local.get 6
i32.sub
local.set 4
local.get 0
i32.const 48
i32.add
local.get 1
call $md5_transform
i32.const 0
local.set 6
i32.const 0
i32.const 0
call $__pragma_loopbound
end
i32.const 0
i32.const 55
call $__pragma_loopbound
block ;; label = @3
local.get 4
i32.const 8
i32.eq
br_if 0 (;@3;)
i32.const 8
local.get 4
i32.sub
local.tee 7
i32.const 3
i32.and
local.set 8
i32.const 0
local.set 5
block ;; label = @4
local.get 4
i32.const -5
i32.add
i32.const 3
i32.lt_u
br_if 0 (;@4;)
local.get 0
i32.const 184
i32.add
local.get 4
i32.add
local.set 9
local.get 7
i32.const -4
i32.and
local.set 7
local.get 0
i32.const 48
i32.add
local.get 6
i32.add
local.set 10
i32.const 0
local.set 5
loop ;; label = @5
local.get 10
local.get 5
i32.add
i32.const 72
i32.add
local.get 9
local.get 5
i32.add
i32.load align=1
i32.store align=1
local.get 7
local.get 5
i32.const 4
i32.add
local.tee 5
i32.ne
br_if 0 (;@5;)
end
end
local.get 8
i32.eqz
br_if 0 (;@3;)
local.get 1
local.get 6
local.get 5
i32.add
i32.add
local.set 9
local.get 0
i32.const 184
i32.add
local.get 5
local.get 4
i32.add
i32.add
local.set 5
loop ;; label = @4
local.get 9
local.get 5
i32.load8_u
i32.store8
local.get 5
i32.const 1
i32.add
local.set 5
local.get 9
i32.const 1
i32.add
local.set 9
local.get 8
i32.const -1
i32.add
local.tee 8
br_if 0 (;@4;)
end
end
i32.const 2
i32.const 16
call $__pragma_loopbound
i32.const 128
i32.const 208
call $__pragma_loopbound
i32.const 0
local.set 5
loop ;; label = @3
local.get 0
i32.const 48
i32.add
local.get 5
i32.add
i64.const 0
i64.store align=4
local.get 5
i32.const 8
i32.add
local.tee 5
i32.const 136
i32.ne
br_if 0 (;@3;)
end
i32.const 16
i32.const 16
call $__pragma_loopbound
i32.const 16
i32.const 64
call $__pragma_loopbound
local.get 3
i32.const 2
i32.lt_u
local.set 5
local.get 3
i32.const -1
i32.add
local.set 3
local.get 5
i32.eqz
br_if 0 (;@2;)
end
local.get 2
i32.const 1
i32.add
local.tee 2
i32.const 10
i32.ne
br_if 0 (;@1;)
end
i32.const 0
local.get 0
i32.load offset=8
i32.store offset=1092
local.get 0
i32.const 192
i32.add
global.set $__stack_pointer)
(func $__original_main (type 4) (result i32)
call $md5_main
i32.const 0
i32.load offset=1092)
(table (;0;) 1 1 funcref)
(memory (;0;) 1)
(global $__stack_pointer (mut i32) (i32.const 5200))
(global (;1;) i32 (i32.const 1096))
(global (;2;) i32 (i32.const 5200))
(export "memory" (memory 0))
(export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
(export "entrypoint" (func $md5_main))
(export "main" (func $__original_main))
(export "__data_end" (global 1))
(export "__heap_base" (global 2))
(data $.data (i32.const 1024) "\80\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"))