From 272262750fe70b4c0694fbc0459caf4810b0336b Mon Sep 17 00:00:00 2001 From: Roland Shoemaker Date: Thu, 13 Mar 2025 17:04:30 -0700 Subject: [PATCH] crypto: drop pre-AVX2 SHA assembly implementations Drop the entire pre-AVX2 assembly implementation of SHA-1, SHA-256, and SHA-512. This also technically impacts the SHA-1 AVX2 implementation, since it previously called the pre-AVX2 implementation for the last block if the number of blocks wasn't a multiple of 2. Instead of keeping the entire implementation just for that case, we just call the generic implementation for the last block. This will be a little slower, but still seems like a win. Updates #69587 Change-Id: Id5234c42910d8c6ec6b8df700a721c0953dff02b Reviewed-on: https://go-review.googlesource.com/c/go/+/657716 Reviewed-by: Daniel McCarney Reviewed-by: David Chase Auto-Submit: Roland Shoemaker LUCI-TryBot-Result: Go LUCI Reviewed-by: Filippo Valsorda --- .../sha256/_asm/sha256block_amd64_asm.go | 194 - .../fips140/sha256/sha256block_amd64.go | 5 +- .../fips140/sha256/sha256block_amd64.s | 3486 ------------- .../sha512/_asm/sha512block_amd64_asm.go | 207 - .../fips140/sha512/sha512block_amd64.go | 5 +- .../fips140/sha512/sha512block_amd64.s | 4506 +---------------- src/crypto/sha1/_asm/sha1block_amd64_asm.go | 221 - src/crypto/sha1/sha1block_amd64.go | 18 +- src/crypto/sha1/sha1block_amd64.s | 1272 ----- 9 files changed, 15 insertions(+), 9899 deletions(-) diff --git a/src/crypto/internal/fips140/sha256/_asm/sha256block_amd64_asm.go b/src/crypto/internal/fips140/sha256/_asm/sha256block_amd64_asm.go index b26c2418e5..a3324673fd 100644 --- a/src/crypto/internal/fips140/sha256/_asm/sha256block_amd64_asm.go +++ b/src/crypto/internal/fips140/sha256/_asm/sha256block_amd64_asm.go @@ -8,8 +8,6 @@ import ( "os" . "github.com/mmcloughlin/avo/build" - . "github.com/mmcloughlin/avo/operand" - . "github.com/mmcloughlin/avo/reg" ) //go:generate go run . -out ../sha256block_amd64.s @@ -61,203 +59,11 @@ func main() { Package("crypto/internal/fips140/sha256") ConstraintExpr("!purego") - blockAMD64() blockAVX2() blockSHANI() Generate() } -// Wt = Mt; for 0 <= t <= 15 -func msgSchedule0(index int) { - MOVL(Mem{Base: SI}.Offset(index*4), EAX) - BSWAPL(EAX) - MOVL(EAX, Mem{Base: BP}.Offset(index*4)) -} - -// Wt = SIGMA1(Wt-2) + Wt-7 + SIGMA0(Wt-15) + Wt-16; for 16 <= t <= 63 -// -// SIGMA0(x) = ROTR(7,x) XOR ROTR(18,x) XOR SHR(3,x) -// SIGMA1(x) = ROTR(17,x) XOR ROTR(19,x) XOR SHR(10,x) -func msgSchedule1(index int) { - MOVL(Mem{Base: BP}.Offset((index-2)*4), EAX) - MOVL(EAX, ECX) - RORL(Imm(17), EAX) - MOVL(ECX, EDX) - RORL(Imm(19), ECX) - SHRL(Imm(10), EDX) - MOVL(Mem{Base: BP}.Offset((index-15)*4), EBX) - XORL(ECX, EAX) - MOVL(EBX, ECX) - XORL(EDX, EAX) - RORL(Imm(7), EBX) - MOVL(ECX, EDX) - SHRL(Imm(3), EDX) - RORL(Imm(18), ECX) - ADDL(Mem{Base: BP}.Offset((index-7)*4), EAX) - XORL(ECX, EBX) - XORL(EDX, EBX) - ADDL(Mem{Base: BP}.Offset((index-16)*4), EBX) - ADDL(EBX, EAX) - MOVL(EAX, Mem{Base: BP}.Offset((index)*4)) -} - -// Calculate T1 in AX - uses AX, CX and DX registers. -// h is also used as an accumulator. Wt is passed in AX. -// -// T1 = h + BIGSIGMA1(e) + Ch(e, f, g) + Kt + Wt -// BIGSIGMA1(x) = ROTR(6,x) XOR ROTR(11,x) XOR ROTR(25,x) -// Ch(x, y, z) = (x AND y) XOR (NOT x AND z) -func sha256T1(konst uint32, e, f, g, h GPPhysical) { - ADDL(EAX, h) - MOVL(e, EAX) - ADDL(U32(konst), h) - MOVL(e, ECX) - RORL(U8(6), EAX) - MOVL(e, EDX) - RORL(U8(11), ECX) - XORL(ECX, EAX) - MOVL(e, ECX) - RORL(U8(25), EDX) - ANDL(f, ECX) - XORL(EAX, EDX) - MOVL(e, EAX) - NOTL(EAX) - ADDL(EDX, h) - ANDL(g, EAX) - XORL(ECX, EAX) - ADDL(h, EAX) -} - -// Calculate T2 in BX - uses BX, CX, DX and DI registers. -// -// T2 = BIGSIGMA0(a) + Maj(a, b, c) -// BIGSIGMA0(x) = ROTR(2,x) XOR ROTR(13,x) XOR ROTR(22,x) -// Maj(x, y, z) = (x AND y) XOR (x AND z) XOR (y AND z) -func sha256T2(a, b, c GPPhysical) { - MOVL(a, EDI) - MOVL(c, EBX) - RORL(U8(2), EDI) - MOVL(a, EDX) - ANDL(b, EBX) - RORL(U8(13), EDX) - MOVL(a, ECX) - ANDL(c, ECX) - XORL(EDX, EDI) - XORL(ECX, EBX) - MOVL(a, EDX) - MOVL(b, ECX) - RORL(U8(22), EDX) - ANDL(a, ECX) - XORL(ECX, EBX) - XORL(EDX, EDI) - ADDL(EDI, EBX) -} - -// Calculate T1 and T2, then e = d + T1 and a = T1 + T2. -// The values for e and a are stored in d and h, ready for rotation. -func sha256Round(index int, konst uint32, a, b, c, d, e, f, g, h GPPhysical) { - sha256T1(konst, e, f, g, h) - sha256T2(a, b, c) - MOVL(EBX, h) - ADDL(EAX, d) - ADDL(EAX, h) -} - -func sha256Round0(index int, konst uint32, a, b, c, d, e, f, g, h GPPhysical) { - msgSchedule0(index) - sha256Round(index, konst, a, b, c, d, e, f, g, h) -} - -func sha256Round1(index int, konst uint32, a, b, c, d, e, f, g, h GPPhysical) { - msgSchedule1(index) - sha256Round(index, konst, a, b, c, d, e, f, g, h) -} - -func blockAMD64() { - Implement("blockAMD64") - AllocLocal(256 + 8) - - Load(Param("p").Base(), RSI) - Load(Param("p").Len(), RDX) - SHRQ(Imm(6), RDX) - SHLQ(Imm(6), RDX) - - // Return if p is empty - LEAQ(Mem{Base: RSI, Index: RDX, Scale: 1}, RDI) - MOVQ(RDI, Mem{Base: SP}.Offset(256)) - CMPQ(RSI, RDI) - JEQ(LabelRef("end")) - - BP := Mem{Base: BP} - Load(Param("dig"), RBP) - MOVL(BP.Offset(0*4), R8L) // a = H0 - MOVL(BP.Offset(1*4), R9L) // b = H1 - MOVL(BP.Offset(2*4), R10L) // c = H2 - MOVL(BP.Offset(3*4), R11L) // d = H3 - MOVL(BP.Offset(4*4), R12L) // e = H4 - MOVL(BP.Offset(5*4), R13L) // f = H5 - MOVL(BP.Offset(6*4), R14L) // g = H6 - MOVL(BP.Offset(7*4), R15L) // h = H7 - - loop() - end() -} - -func rotateRight(slice *[]GPPhysical) []GPPhysical { - n := len(*slice) - new := make([]GPPhysical, n) - for i, reg := range *slice { - new[(i+1)%n] = reg - } - return new -} - -func loop() { - Label("loop") - MOVQ(RSP, RBP) - - regs := []GPPhysical{R8L, R9L, R10L, R11L, R12L, R13L, R14L, R15L} - n := len(_K) - - for i := 0; i < 16; i++ { - sha256Round0(i, _K[i], regs[0], regs[1], regs[2], regs[3], regs[4], regs[5], regs[6], regs[7]) - regs = rotateRight(®s) - } - - for i := 16; i < n; i++ { - sha256Round1(i, _K[i], regs[0], regs[1], regs[2], regs[3], regs[4], regs[5], regs[6], regs[7]) - regs = rotateRight(®s) - } - - Load(Param("dig"), RBP) - BP := Mem{Base: BP} - ADDL(BP.Offset(0*4), R8L) // H0 = a + H0 - MOVL(R8L, BP.Offset(0*4)) - ADDL(BP.Offset(1*4), R9L) // H1 = b + H1 - MOVL(R9L, BP.Offset(1*4)) - ADDL(BP.Offset(2*4), R10L) // H2 = c + H2 - MOVL(R10L, BP.Offset(2*4)) - ADDL(BP.Offset(3*4), R11L) // H3 = d + H3 - MOVL(R11L, BP.Offset(3*4)) - ADDL(BP.Offset(4*4), R12L) // H4 = e + H4 - MOVL(R12L, BP.Offset(4*4)) - ADDL(BP.Offset(5*4), R13L) // H5 = f + H5 - MOVL(R13L, BP.Offset(5*4)) - ADDL(BP.Offset(6*4), R14L) // H6 = g + H6 - MOVL(R14L, BP.Offset(6*4)) - ADDL(BP.Offset(7*4), R15L) // H7 = h + H7 - MOVL(R15L, BP.Offset(7*4)) - - ADDQ(Imm(64), RSI) - CMPQ(RSI, Mem{Base: SP}.Offset(256)) - JB(LabelRef("loop")) -} - -func end() { - Label("end") - RET() -} - var _K = []uint32{ 0x428a2f98, 0x71374491, diff --git a/src/crypto/internal/fips140/sha256/sha256block_amd64.go b/src/crypto/internal/fips140/sha256/sha256block_amd64.go index 291a565b1c..0aabcd0792 100644 --- a/src/crypto/internal/fips140/sha256/sha256block_amd64.go +++ b/src/crypto/internal/fips140/sha256/sha256block_amd64.go @@ -19,9 +19,6 @@ func init() { impl.Register("sha256", "SHA-NI", &useSHANI) } -//go:noescape -func blockAMD64(dig *Digest, p []byte) - //go:noescape func blockAVX2(dig *Digest, p []byte) @@ -34,6 +31,6 @@ func block(dig *Digest, p []byte) { } else if useAVX2 { blockAVX2(dig, p) } else { - blockAMD64(dig, p) + blockGeneric(dig, p) } } diff --git a/src/crypto/internal/fips140/sha256/sha256block_amd64.s b/src/crypto/internal/fips140/sha256/sha256block_amd64.s index ce0ad4f887..d5ab42c819 100644 --- a/src/crypto/internal/fips140/sha256/sha256block_amd64.s +++ b/src/crypto/internal/fips140/sha256/sha256block_amd64.s @@ -4,3492 +4,6 @@ #include "textflag.h" -// func blockAMD64(dig *Digest, p []byte) -TEXT ·blockAMD64(SB), $264-32 - MOVQ p_base+8(FP), SI - MOVQ p_len+16(FP), DX - SHRQ $0x06, DX - SHLQ $0x06, DX - LEAQ (SI)(DX*1), DI - MOVQ DI, 256(SP) - CMPQ SI, DI - JEQ end - MOVQ dig+0(FP), BP - MOVL (BP), R8 - MOVL 4(BP), R9 - MOVL 8(BP), R10 - MOVL 12(BP), R11 - MOVL 16(BP), R12 - MOVL 20(BP), R13 - MOVL 24(BP), R14 - MOVL 28(BP), R15 - -loop: - MOVQ SP, BP - MOVL (SI), AX - BSWAPL AX - MOVL AX, (BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0x428a2f98, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 4(SI), AX - BSWAPL AX - MOVL AX, 4(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0x71374491, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 8(SI), AX - BSWAPL AX - MOVL AX, 8(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0xb5c0fbcf, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 12(SI), AX - BSWAPL AX - MOVL AX, 12(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0xe9b5dba5, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 16(SI), AX - BSWAPL AX - MOVL AX, 16(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0x3956c25b, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 20(SI), AX - BSWAPL AX - MOVL AX, 20(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0x59f111f1, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 24(SI), AX - BSWAPL AX - MOVL AX, 24(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0x923f82a4, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 28(SI), AX - BSWAPL AX - MOVL AX, 28(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0xab1c5ed5, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 32(SI), AX - BSWAPL AX - MOVL AX, 32(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0xd807aa98, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 36(SI), AX - BSWAPL AX - MOVL AX, 36(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0x12835b01, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 40(SI), AX - BSWAPL AX - MOVL AX, 40(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0x243185be, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 44(SI), AX - BSWAPL AX - MOVL AX, 44(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0x550c7dc3, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 48(SI), AX - BSWAPL AX - MOVL AX, 48(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0x72be5d74, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 52(SI), AX - BSWAPL AX - MOVL AX, 52(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0x80deb1fe, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 56(SI), AX - BSWAPL AX - MOVL AX, 56(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0x9bdc06a7, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 60(SI), AX - BSWAPL AX - MOVL AX, 60(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0xc19bf174, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 56(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 4(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 36(BP), AX - XORL CX, BX - XORL DX, BX - ADDL (BP), BX - ADDL BX, AX - MOVL AX, 64(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0xe49b69c1, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 60(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 8(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 40(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 4(BP), BX - ADDL BX, AX - MOVL AX, 68(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0xefbe4786, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 64(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 12(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 44(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 8(BP), BX - ADDL BX, AX - MOVL AX, 72(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0x0fc19dc6, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 68(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 16(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 48(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 12(BP), BX - ADDL BX, AX - MOVL AX, 76(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0x240ca1cc, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 72(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 20(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 52(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 16(BP), BX - ADDL BX, AX - MOVL AX, 80(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0x2de92c6f, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 76(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 24(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 56(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 20(BP), BX - ADDL BX, AX - MOVL AX, 84(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0x4a7484aa, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 80(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 28(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 60(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 24(BP), BX - ADDL BX, AX - MOVL AX, 88(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0x5cb0a9dc, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 84(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 32(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 64(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 28(BP), BX - ADDL BX, AX - MOVL AX, 92(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0x76f988da, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 88(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 36(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 68(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 32(BP), BX - ADDL BX, AX - MOVL AX, 96(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0x983e5152, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 92(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 40(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 72(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 36(BP), BX - ADDL BX, AX - MOVL AX, 100(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0xa831c66d, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 96(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 44(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 76(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 40(BP), BX - ADDL BX, AX - MOVL AX, 104(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0xb00327c8, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 100(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 48(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 80(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 44(BP), BX - ADDL BX, AX - MOVL AX, 108(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0xbf597fc7, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 104(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 52(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 84(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 48(BP), BX - ADDL BX, AX - MOVL AX, 112(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0xc6e00bf3, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 108(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 56(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 88(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 52(BP), BX - ADDL BX, AX - MOVL AX, 116(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0xd5a79147, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 112(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 60(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 92(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 56(BP), BX - ADDL BX, AX - MOVL AX, 120(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0x06ca6351, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 116(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 64(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 96(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 60(BP), BX - ADDL BX, AX - MOVL AX, 124(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0x14292967, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 120(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 68(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 100(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 64(BP), BX - ADDL BX, AX - MOVL AX, 128(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0x27b70a85, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 124(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 72(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 104(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 68(BP), BX - ADDL BX, AX - MOVL AX, 132(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0x2e1b2138, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 128(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 76(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 108(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 72(BP), BX - ADDL BX, AX - MOVL AX, 136(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0x4d2c6dfc, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 132(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 80(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 112(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 76(BP), BX - ADDL BX, AX - MOVL AX, 140(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0x53380d13, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 136(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 84(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 116(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 80(BP), BX - ADDL BX, AX - MOVL AX, 144(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0x650a7354, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 140(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 88(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 120(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 84(BP), BX - ADDL BX, AX - MOVL AX, 148(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0x766a0abb, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 144(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 92(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 124(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 88(BP), BX - ADDL BX, AX - MOVL AX, 152(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0x81c2c92e, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 148(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 96(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 128(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 92(BP), BX - ADDL BX, AX - MOVL AX, 156(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0x92722c85, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 152(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 100(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 132(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 96(BP), BX - ADDL BX, AX - MOVL AX, 160(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0xa2bfe8a1, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 156(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 104(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 136(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 100(BP), BX - ADDL BX, AX - MOVL AX, 164(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0xa81a664b, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 160(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 108(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 140(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 104(BP), BX - ADDL BX, AX - MOVL AX, 168(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0xc24b8b70, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 164(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 112(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 144(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 108(BP), BX - ADDL BX, AX - MOVL AX, 172(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0xc76c51a3, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 168(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 116(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 148(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 112(BP), BX - ADDL BX, AX - MOVL AX, 176(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0xd192e819, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 172(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 120(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 152(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 116(BP), BX - ADDL BX, AX - MOVL AX, 180(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0xd6990624, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 176(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 124(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 156(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 120(BP), BX - ADDL BX, AX - MOVL AX, 184(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0xf40e3585, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 180(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 128(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 160(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 124(BP), BX - ADDL BX, AX - MOVL AX, 188(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0x106aa070, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 184(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 132(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 164(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 128(BP), BX - ADDL BX, AX - MOVL AX, 192(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0x19a4c116, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 188(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 136(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 168(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 132(BP), BX - ADDL BX, AX - MOVL AX, 196(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0x1e376c08, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 192(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 140(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 172(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 136(BP), BX - ADDL BX, AX - MOVL AX, 200(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0x2748774c, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 196(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 144(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 176(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 140(BP), BX - ADDL BX, AX - MOVL AX, 204(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0x34b0bcb5, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 200(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 148(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 180(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 144(BP), BX - ADDL BX, AX - MOVL AX, 208(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0x391c0cb3, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 204(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 152(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 184(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 148(BP), BX - ADDL BX, AX - MOVL AX, 212(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0x4ed8aa4a, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 208(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 156(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 188(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 152(BP), BX - ADDL BX, AX - MOVL AX, 216(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0x5b9cca4f, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 212(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 160(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 192(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 156(BP), BX - ADDL BX, AX - MOVL AX, 220(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0x682e6ff3, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVL 216(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 164(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 196(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 160(BP), BX - ADDL BX, AX - MOVL AX, 224(BP) - ADDL AX, R15 - MOVL R12, AX - ADDL $0x748f82ee, R15 - MOVL R12, CX - RORL $0x06, AX - MOVL R12, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R12, CX - RORL $0x19, DX - ANDL R13, CX - XORL AX, DX - MOVL R12, AX - NOTL AX - ADDL DX, R15 - ANDL R14, AX - XORL CX, AX - ADDL R15, AX - MOVL R8, DI - MOVL R10, BX - RORL $0x02, DI - MOVL R8, DX - ANDL R9, BX - RORL $0x0d, DX - MOVL R8, CX - ANDL R10, CX - XORL DX, DI - XORL CX, BX - MOVL R8, DX - MOVL R9, CX - RORL $0x16, DX - ANDL R8, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R15 - ADDL AX, R11 - ADDL AX, R15 - MOVL 220(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 168(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 200(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 164(BP), BX - ADDL BX, AX - MOVL AX, 228(BP) - ADDL AX, R14 - MOVL R11, AX - ADDL $0x78a5636f, R14 - MOVL R11, CX - RORL $0x06, AX - MOVL R11, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R11, CX - RORL $0x19, DX - ANDL R12, CX - XORL AX, DX - MOVL R11, AX - NOTL AX - ADDL DX, R14 - ANDL R13, AX - XORL CX, AX - ADDL R14, AX - MOVL R15, DI - MOVL R9, BX - RORL $0x02, DI - MOVL R15, DX - ANDL R8, BX - RORL $0x0d, DX - MOVL R15, CX - ANDL R9, CX - XORL DX, DI - XORL CX, BX - MOVL R15, DX - MOVL R8, CX - RORL $0x16, DX - ANDL R15, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R14 - ADDL AX, R10 - ADDL AX, R14 - MOVL 224(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 172(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 204(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 168(BP), BX - ADDL BX, AX - MOVL AX, 232(BP) - ADDL AX, R13 - MOVL R10, AX - ADDL $0x84c87814, R13 - MOVL R10, CX - RORL $0x06, AX - MOVL R10, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R10, CX - RORL $0x19, DX - ANDL R11, CX - XORL AX, DX - MOVL R10, AX - NOTL AX - ADDL DX, R13 - ANDL R12, AX - XORL CX, AX - ADDL R13, AX - MOVL R14, DI - MOVL R8, BX - RORL $0x02, DI - MOVL R14, DX - ANDL R15, BX - RORL $0x0d, DX - MOVL R14, CX - ANDL R8, CX - XORL DX, DI - XORL CX, BX - MOVL R14, DX - MOVL R15, CX - RORL $0x16, DX - ANDL R14, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R13 - ADDL AX, R9 - ADDL AX, R13 - MOVL 228(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 176(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 208(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 172(BP), BX - ADDL BX, AX - MOVL AX, 236(BP) - ADDL AX, R12 - MOVL R9, AX - ADDL $0x8cc70208, R12 - MOVL R9, CX - RORL $0x06, AX - MOVL R9, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R9, CX - RORL $0x19, DX - ANDL R10, CX - XORL AX, DX - MOVL R9, AX - NOTL AX - ADDL DX, R12 - ANDL R11, AX - XORL CX, AX - ADDL R12, AX - MOVL R13, DI - MOVL R15, BX - RORL $0x02, DI - MOVL R13, DX - ANDL R14, BX - RORL $0x0d, DX - MOVL R13, CX - ANDL R15, CX - XORL DX, DI - XORL CX, BX - MOVL R13, DX - MOVL R14, CX - RORL $0x16, DX - ANDL R13, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R12 - ADDL AX, R8 - ADDL AX, R12 - MOVL 232(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 180(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 212(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 176(BP), BX - ADDL BX, AX - MOVL AX, 240(BP) - ADDL AX, R11 - MOVL R8, AX - ADDL $0x90befffa, R11 - MOVL R8, CX - RORL $0x06, AX - MOVL R8, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R8, CX - RORL $0x19, DX - ANDL R9, CX - XORL AX, DX - MOVL R8, AX - NOTL AX - ADDL DX, R11 - ANDL R10, AX - XORL CX, AX - ADDL R11, AX - MOVL R12, DI - MOVL R14, BX - RORL $0x02, DI - MOVL R12, DX - ANDL R13, BX - RORL $0x0d, DX - MOVL R12, CX - ANDL R14, CX - XORL DX, DI - XORL CX, BX - MOVL R12, DX - MOVL R13, CX - RORL $0x16, DX - ANDL R12, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R11 - ADDL AX, R15 - ADDL AX, R11 - MOVL 236(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 184(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 216(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 180(BP), BX - ADDL BX, AX - MOVL AX, 244(BP) - ADDL AX, R10 - MOVL R15, AX - ADDL $0xa4506ceb, R10 - MOVL R15, CX - RORL $0x06, AX - MOVL R15, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R15, CX - RORL $0x19, DX - ANDL R8, CX - XORL AX, DX - MOVL R15, AX - NOTL AX - ADDL DX, R10 - ANDL R9, AX - XORL CX, AX - ADDL R10, AX - MOVL R11, DI - MOVL R13, BX - RORL $0x02, DI - MOVL R11, DX - ANDL R12, BX - RORL $0x0d, DX - MOVL R11, CX - ANDL R13, CX - XORL DX, DI - XORL CX, BX - MOVL R11, DX - MOVL R12, CX - RORL $0x16, DX - ANDL R11, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R10 - ADDL AX, R14 - ADDL AX, R10 - MOVL 240(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 188(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 220(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 184(BP), BX - ADDL BX, AX - MOVL AX, 248(BP) - ADDL AX, R9 - MOVL R14, AX - ADDL $0xbef9a3f7, R9 - MOVL R14, CX - RORL $0x06, AX - MOVL R14, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R14, CX - RORL $0x19, DX - ANDL R15, CX - XORL AX, DX - MOVL R14, AX - NOTL AX - ADDL DX, R9 - ANDL R8, AX - XORL CX, AX - ADDL R9, AX - MOVL R10, DI - MOVL R12, BX - RORL $0x02, DI - MOVL R10, DX - ANDL R11, BX - RORL $0x0d, DX - MOVL R10, CX - ANDL R12, CX - XORL DX, DI - XORL CX, BX - MOVL R10, DX - MOVL R11, CX - RORL $0x16, DX - ANDL R10, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R9 - ADDL AX, R13 - ADDL AX, R9 - MOVL 244(BP), AX - MOVL AX, CX - RORL $0x11, AX - MOVL CX, DX - RORL $0x13, CX - SHRL $0x0a, DX - MOVL 192(BP), BX - XORL CX, AX - MOVL BX, CX - XORL DX, AX - RORL $0x07, BX - MOVL CX, DX - SHRL $0x03, DX - RORL $0x12, CX - ADDL 224(BP), AX - XORL CX, BX - XORL DX, BX - ADDL 188(BP), BX - ADDL BX, AX - MOVL AX, 252(BP) - ADDL AX, R8 - MOVL R13, AX - ADDL $0xc67178f2, R8 - MOVL R13, CX - RORL $0x06, AX - MOVL R13, DX - RORL $0x0b, CX - XORL CX, AX - MOVL R13, CX - RORL $0x19, DX - ANDL R14, CX - XORL AX, DX - MOVL R13, AX - NOTL AX - ADDL DX, R8 - ANDL R15, AX - XORL CX, AX - ADDL R8, AX - MOVL R9, DI - MOVL R11, BX - RORL $0x02, DI - MOVL R9, DX - ANDL R10, BX - RORL $0x0d, DX - MOVL R9, CX - ANDL R11, CX - XORL DX, DI - XORL CX, BX - MOVL R9, DX - MOVL R10, CX - RORL $0x16, DX - ANDL R9, CX - XORL CX, BX - XORL DX, DI - ADDL DI, BX - MOVL BX, R8 - ADDL AX, R12 - ADDL AX, R8 - MOVQ dig+0(FP), BP - ADDL (BP), R8 - MOVL R8, (BP) - ADDL 4(BP), R9 - MOVL R9, 4(BP) - ADDL 8(BP), R10 - MOVL R10, 8(BP) - ADDL 12(BP), R11 - MOVL R11, 12(BP) - ADDL 16(BP), R12 - MOVL R12, 16(BP) - ADDL 20(BP), R13 - MOVL R13, 20(BP) - ADDL 24(BP), R14 - MOVL R14, 24(BP) - ADDL 28(BP), R15 - MOVL R15, 28(BP) - ADDQ $0x40, SI - CMPQ SI, 256(SP) - JB loop - -end: - RET - // func blockAVX2(dig *Digest, p []byte) // Requires: AVX, AVX2, BMI2 TEXT ·blockAVX2(SB), $536-32 diff --git a/src/crypto/internal/fips140/sha512/_asm/sha512block_amd64_asm.go b/src/crypto/internal/fips140/sha512/_asm/sha512block_amd64_asm.go index ed7b1766bf..7e7572cb1e 100644 --- a/src/crypto/internal/fips140/sha512/_asm/sha512block_amd64_asm.go +++ b/src/crypto/internal/fips140/sha512/_asm/sha512block_amd64_asm.go @@ -146,217 +146,10 @@ func main() { Package("crypto/internal/fips140/sha512") ConstraintExpr("!purego") - blockAMD64() blockAVX2() Generate() } -// Wt = Mt; for 0 <= t <= 15 -// -// Line 50 -func MSGSCHEDULE0(index int) { - MOVQ(Mem{Base: SI}.Offset(index*8), RAX) - BSWAPQ(RAX) - MOVQ(RAX, Mem{Base: BP}.Offset(index*8)) -} - -// Wt = SIGMA1(Wt-2) + Wt-7 + SIGMA0(Wt-15) + Wt-16; for 16 <= t <= 79 -// -// SIGMA0(x) = ROTR(1,x) XOR ROTR(8,x) XOR SHR(7,x) -// SIGMA1(x) = ROTR(19,x) XOR ROTR(61,x) XOR SHR(6,x) -// -// Line 58 -func MSGSCHEDULE1(index int) { - MOVQ(Mem{Base: BP}.Offset((index-2)*8), RAX) - MOVQ(RAX, RCX) - RORQ(Imm(19), RAX) - MOVQ(RCX, RDX) - RORQ(Imm(61), RCX) - SHRQ(Imm(6), RDX) - MOVQ(Mem{Base: BP}.Offset((index-15)*8), RBX) - XORQ(RCX, RAX) - MOVQ(RBX, RCX) - XORQ(RDX, RAX) - RORQ(Imm(1), RBX) - MOVQ(RCX, RDX) - SHRQ(Imm(7), RDX) - RORQ(Imm(8), RCX) - ADDQ(Mem{Base: BP}.Offset((index-7)*8), RAX) - XORQ(RCX, RBX) - XORQ(RDX, RBX) - ADDQ(Mem{Base: BP}.Offset((index-16)*8), RBX) - ADDQ(RBX, RAX) - MOVQ(RAX, Mem{Base: BP}.Offset((index)*8)) -} - -// Calculate T1 in AX - uses AX, CX and DX registers. -// h is also used as an accumulator. Wt is passed in AX. -// -// T1 = h + BIGSIGMA1(e) + Ch(e, f, g) + Kt + Wt -// BIGSIGMA1(x) = ROTR(14,x) XOR ROTR(18,x) XOR ROTR(41,x) -// Ch(x, y, z) = (x AND y) XOR (NOT x AND z) -// -// Line 85 -func SHA512T1(konst uint64, e, f, g, h GPPhysical) { - MOVQ(U64(konst), RDX) - ADDQ(RAX, h) - MOVQ(e, RAX) - ADDQ(RDX, h) - MOVQ(e, RCX) - RORQ(U8(14), RAX) - MOVQ(e, RDX) - RORQ(U8(18), RCX) - XORQ(RCX, RAX) - MOVQ(e, RCX) - RORQ(U8(41), RDX) - ANDQ(f, RCX) - XORQ(RAX, RDX) - MOVQ(e, RAX) - NOTQ(RAX) - ADDQ(RDX, h) - ANDQ(g, RAX) - XORQ(RCX, RAX) - ADDQ(h, RAX) -} - -// Calculate T2 in BX - uses BX, CX, DX and DI registers. -// -// T2 = BIGSIGMA0(a) + Maj(a, b, c) -// BIGSIGMA0(x) = ROTR(28,x) XOR ROTR(34,x) XOR ROTR(39,x) -// Maj(x, y, z) = (x AND y) XOR (x AND z) XOR (y AND z) -// -// Line 110 -func SHA512T2(a, b, c GPPhysical) { - MOVQ(a, RDI) - MOVQ(c, RBX) - RORQ(Imm(28), RDI) - MOVQ(a, RDX) - ANDQ(b, RBX) - RORQ(Imm(34), RDX) - MOVQ(a, RCX) - ANDQ(c, RCX) - XORQ(RDX, RDI) - XORQ(RCX, RBX) - MOVQ(a, RDX) - MOVQ(b, RCX) - RORQ(Imm(39), RDX) - ANDQ(a, RCX) - XORQ(RCX, RBX) - XORQ(RDX, RDI) - ADDQ(RDI, RBX) -} - -// Calculate T1 and T2, then e = d + T1 and a = T1 + T2. -// The values for e and a are stored in d and h, ready for rotation. -// -// Line 131 -func SHA512ROUND(index int, konst uint64, a, b, c, d, e, f, g, h GPPhysical) { - SHA512T1(konst, e, f, g, h) - SHA512T2(a, b, c) - MOVQ(RBX, h) - ADDQ(RAX, d) - ADDQ(RAX, h) -} - -// Line 169 -func SHA512ROUND0(index int, konst uint64, a, b, c, d, e, f, g, h GPPhysical) { - MSGSCHEDULE0(index) - SHA512ROUND(index, konst, a, b, c, d, e, f, g, h) -} - -// Line 142 -func SHA512ROUND1(index int, konst uint64, a, b, c, d, e, f, g, h GPPhysical) { - MSGSCHEDULE1(index) - SHA512ROUND(index, konst, a, b, c, d, e, f, g, h) -} - -// Line 146 -func blockAMD64() { - Implement("blockAMD64") - AllocLocal(648) - - Load(Param("p").Base(), RSI) - Load(Param("p").Len(), RDX) - SHRQ(Imm(7), RDX) - SHLQ(Imm(7), RDX) - - LEAQ(Mem{Base: SI, Index: DX, Scale: 1}, RDI) - MOVQ(RDI, Mem{Base: SP}.Offset(640)) - CMPQ(RSI, RDI) - JEQ(LabelRef("end")) - - Load(Param("dig"), RBP) - MOVQ(Mem{Base: BP}.Offset(0*8), R8) // a = H0 - MOVQ(Mem{Base: BP}.Offset(1*8), R9) // b = H1 - MOVQ(Mem{Base: BP}.Offset(2*8), R10) // c = H2 - MOVQ(Mem{Base: BP}.Offset(3*8), R11) // d = H3 - MOVQ(Mem{Base: BP}.Offset(4*8), R12) // e = H4 - MOVQ(Mem{Base: BP}.Offset(5*8), R13) // f = H5 - MOVQ(Mem{Base: BP}.Offset(6*8), R14) // g = H6 - MOVQ(Mem{Base: BP}.Offset(7*8), R15) // h = H7 - PSHUFFLE_BYTE_FLIP_MASK_DATA() - loop() - end() -} - -func rotateRight(slice *[]GPPhysical) []GPPhysical { - n := len(*slice) - new := make([]GPPhysical, n) - for i, reg := range *slice { - new[(i+1)%n] = reg - } - return new -} - -// Line 167 -func loop() { - Label("loop") - MOVQ(RSP, RBP) // message schedule - - n := len(_K) - regs := []GPPhysical{R8, R9, R10, R11, R12, R13, R14, R15} - - for i := 0; i < 16; i++ { - SHA512ROUND0(i, _K[i], regs[0], regs[1], regs[2], regs[3], regs[4], regs[5], regs[6], regs[7]) - regs = rotateRight(®s) - } - - for i := 16; i < n; i++ { - SHA512ROUND1(i, _K[i], regs[0], regs[1], regs[2], regs[3], regs[4], regs[5], regs[6], regs[7]) - regs = rotateRight(®s) - } - - Load(Param("dig"), RBP) - - BP_Mem := Mem{Base: BP} - ADDQ(BP_Mem.Offset(0*8), R8) // H0 = a + H0 - MOVQ(R8, BP_Mem.Offset(0*8)) - ADDQ(BP_Mem.Offset(1*8), R9) // H1 = b + H1 - MOVQ(R9, BP_Mem.Offset(1*8)) - ADDQ(BP_Mem.Offset(2*8), R10) // H2 = c + H2 - MOVQ(R10, BP_Mem.Offset(2*8)) - ADDQ(BP_Mem.Offset(3*8), R11) // H3 = d + H3 - MOVQ(R11, BP_Mem.Offset(3*8)) - ADDQ(BP_Mem.Offset(4*8), R12) // H4 = e + H4 - MOVQ(R12, BP_Mem.Offset(4*8)) - ADDQ(BP_Mem.Offset(5*8), R13) // H5 = f + H5 - MOVQ(R13, BP_Mem.Offset(5*8)) - ADDQ(BP_Mem.Offset(6*8), R14) // H6 = g + H6 - MOVQ(R14, BP_Mem.Offset(6*8)) - ADDQ(BP_Mem.Offset(7*8), R15) // H7 = h + H7 - MOVQ(R15, BP_Mem.Offset(7*8)) - - ADDQ(Imm(128), RSI) - CMPQ(RSI, Mem{Base: SP}.Offset(640)) - JB(LabelRef("loop")) -} - -// Line 274 -func end() { - Label("end") - RET() -} - // Version below is based on "Fast SHA512 Implementations on Intel // Architecture Processors" White-paper // https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-sha512-implementations-ia-processors-paper.pdf diff --git a/src/crypto/internal/fips140/sha512/sha512block_amd64.go b/src/crypto/internal/fips140/sha512/sha512block_amd64.go index 185909ec5d..7059b88716 100644 --- a/src/crypto/internal/fips140/sha512/sha512block_amd64.go +++ b/src/crypto/internal/fips140/sha512/sha512block_amd64.go @@ -20,13 +20,10 @@ func init() { //go:noescape func blockAVX2(dig *Digest, p []byte) -//go:noescape -func blockAMD64(dig *Digest, p []byte) - func block(dig *Digest, p []byte) { if useAVX2 { blockAVX2(dig, p) } else { - blockAMD64(dig, p) + blockGeneric(dig, p) } } diff --git a/src/crypto/internal/fips140/sha512/sha512block_amd64.s b/src/crypto/internal/fips140/sha512/sha512block_amd64.s index ce77d20c04..e11d509ab4 100644 --- a/src/crypto/internal/fips140/sha512/sha512block_amd64.s +++ b/src/crypto/internal/fips140/sha512/sha512block_amd64.s @@ -4,4506 +4,6 @@ #include "textflag.h" -// func blockAMD64(dig *Digest, p []byte) -TEXT ·blockAMD64(SB), $648-32 - MOVQ p_base+8(FP), SI - MOVQ p_len+16(FP), DX - SHRQ $0x07, DX - SHLQ $0x07, DX - LEAQ (SI)(DX*1), DI - MOVQ DI, 640(SP) - CMPQ SI, DI - JEQ end - MOVQ dig+0(FP), BP - MOVQ (BP), R8 - MOVQ 8(BP), R9 - MOVQ 16(BP), R10 - MOVQ 24(BP), R11 - MOVQ 32(BP), R12 - MOVQ 40(BP), R13 - MOVQ 48(BP), R14 - MOVQ 56(BP), R15 - -loop: - MOVQ SP, BP - MOVQ (SI), AX - BSWAPQ AX - MOVQ AX, (BP) - MOVQ $0x428a2f98d728ae22, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 8(SI), AX - BSWAPQ AX - MOVQ AX, 8(BP) - MOVQ $0x7137449123ef65cd, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 16(SI), AX - BSWAPQ AX - MOVQ AX, 16(BP) - MOVQ $0xb5c0fbcfec4d3b2f, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 24(SI), AX - BSWAPQ AX - MOVQ AX, 24(BP) - MOVQ $0xe9b5dba58189dbbc, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 32(SI), AX - BSWAPQ AX - MOVQ AX, 32(BP) - MOVQ $0x3956c25bf348b538, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 40(SI), AX - BSWAPQ AX - MOVQ AX, 40(BP) - MOVQ $0x59f111f1b605d019, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 48(SI), AX - BSWAPQ AX - MOVQ AX, 48(BP) - MOVQ $0x923f82a4af194f9b, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 56(SI), AX - BSWAPQ AX - MOVQ AX, 56(BP) - MOVQ $0xab1c5ed5da6d8118, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 64(SI), AX - BSWAPQ AX - MOVQ AX, 64(BP) - MOVQ $0xd807aa98a3030242, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 72(SI), AX - BSWAPQ AX - MOVQ AX, 72(BP) - MOVQ $0x12835b0145706fbe, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 80(SI), AX - BSWAPQ AX - MOVQ AX, 80(BP) - MOVQ $0x243185be4ee4b28c, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 88(SI), AX - BSWAPQ AX - MOVQ AX, 88(BP) - MOVQ $0x550c7dc3d5ffb4e2, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 96(SI), AX - BSWAPQ AX - MOVQ AX, 96(BP) - MOVQ $0x72be5d74f27b896f, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 104(SI), AX - BSWAPQ AX - MOVQ AX, 104(BP) - MOVQ $0x80deb1fe3b1696b1, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 112(SI), AX - BSWAPQ AX - MOVQ AX, 112(BP) - MOVQ $0x9bdc06a725c71235, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 120(SI), AX - BSWAPQ AX - MOVQ AX, 120(BP) - MOVQ $0xc19bf174cf692694, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 112(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 8(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 72(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ (BP), BX - ADDQ BX, AX - MOVQ AX, 128(BP) - MOVQ $0xe49b69c19ef14ad2, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 120(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 16(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 80(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 8(BP), BX - ADDQ BX, AX - MOVQ AX, 136(BP) - MOVQ $0xefbe4786384f25e3, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 128(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 24(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 88(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 16(BP), BX - ADDQ BX, AX - MOVQ AX, 144(BP) - MOVQ $0x0fc19dc68b8cd5b5, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 136(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 32(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 96(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 24(BP), BX - ADDQ BX, AX - MOVQ AX, 152(BP) - MOVQ $0x240ca1cc77ac9c65, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 144(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 40(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 104(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 32(BP), BX - ADDQ BX, AX - MOVQ AX, 160(BP) - MOVQ $0x2de92c6f592b0275, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 152(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 48(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 112(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 40(BP), BX - ADDQ BX, AX - MOVQ AX, 168(BP) - MOVQ $0x4a7484aa6ea6e483, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 160(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 56(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 120(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 48(BP), BX - ADDQ BX, AX - MOVQ AX, 176(BP) - MOVQ $0x5cb0a9dcbd41fbd4, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 168(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 64(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 128(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 56(BP), BX - ADDQ BX, AX - MOVQ AX, 184(BP) - MOVQ $0x76f988da831153b5, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 176(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 72(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 136(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 64(BP), BX - ADDQ BX, AX - MOVQ AX, 192(BP) - MOVQ $0x983e5152ee66dfab, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 184(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 80(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 144(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 72(BP), BX - ADDQ BX, AX - MOVQ AX, 200(BP) - MOVQ $0xa831c66d2db43210, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 192(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 88(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 152(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 80(BP), BX - ADDQ BX, AX - MOVQ AX, 208(BP) - MOVQ $0xb00327c898fb213f, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 200(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 96(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 160(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 88(BP), BX - ADDQ BX, AX - MOVQ AX, 216(BP) - MOVQ $0xbf597fc7beef0ee4, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 208(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 104(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 168(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 96(BP), BX - ADDQ BX, AX - MOVQ AX, 224(BP) - MOVQ $0xc6e00bf33da88fc2, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 216(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 112(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 176(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 104(BP), BX - ADDQ BX, AX - MOVQ AX, 232(BP) - MOVQ $0xd5a79147930aa725, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 224(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 120(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 184(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 112(BP), BX - ADDQ BX, AX - MOVQ AX, 240(BP) - MOVQ $0x06ca6351e003826f, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 232(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 128(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 192(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 120(BP), BX - ADDQ BX, AX - MOVQ AX, 248(BP) - MOVQ $0x142929670a0e6e70, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 240(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 136(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 200(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 128(BP), BX - ADDQ BX, AX - MOVQ AX, 256(BP) - MOVQ $0x27b70a8546d22ffc, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 248(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 144(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 208(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 136(BP), BX - ADDQ BX, AX - MOVQ AX, 264(BP) - MOVQ $0x2e1b21385c26c926, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 256(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 152(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 216(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 144(BP), BX - ADDQ BX, AX - MOVQ AX, 272(BP) - MOVQ $0x4d2c6dfc5ac42aed, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 264(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 160(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 224(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 152(BP), BX - ADDQ BX, AX - MOVQ AX, 280(BP) - MOVQ $0x53380d139d95b3df, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 272(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 168(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 232(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 160(BP), BX - ADDQ BX, AX - MOVQ AX, 288(BP) - MOVQ $0x650a73548baf63de, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 280(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 176(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 240(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 168(BP), BX - ADDQ BX, AX - MOVQ AX, 296(BP) - MOVQ $0x766a0abb3c77b2a8, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 288(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 184(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 248(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 176(BP), BX - ADDQ BX, AX - MOVQ AX, 304(BP) - MOVQ $0x81c2c92e47edaee6, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 296(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 192(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 256(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 184(BP), BX - ADDQ BX, AX - MOVQ AX, 312(BP) - MOVQ $0x92722c851482353b, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 304(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 200(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 264(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 192(BP), BX - ADDQ BX, AX - MOVQ AX, 320(BP) - MOVQ $0xa2bfe8a14cf10364, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 312(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 208(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 272(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 200(BP), BX - ADDQ BX, AX - MOVQ AX, 328(BP) - MOVQ $0xa81a664bbc423001, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 320(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 216(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 280(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 208(BP), BX - ADDQ BX, AX - MOVQ AX, 336(BP) - MOVQ $0xc24b8b70d0f89791, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 328(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 224(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 288(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 216(BP), BX - ADDQ BX, AX - MOVQ AX, 344(BP) - MOVQ $0xc76c51a30654be30, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 336(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 232(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 296(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 224(BP), BX - ADDQ BX, AX - MOVQ AX, 352(BP) - MOVQ $0xd192e819d6ef5218, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 344(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 240(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 304(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 232(BP), BX - ADDQ BX, AX - MOVQ AX, 360(BP) - MOVQ $0xd69906245565a910, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 352(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 248(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 312(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 240(BP), BX - ADDQ BX, AX - MOVQ AX, 368(BP) - MOVQ $0xf40e35855771202a, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 360(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 256(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 320(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 248(BP), BX - ADDQ BX, AX - MOVQ AX, 376(BP) - MOVQ $0x106aa07032bbd1b8, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 368(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 264(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 328(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 256(BP), BX - ADDQ BX, AX - MOVQ AX, 384(BP) - MOVQ $0x19a4c116b8d2d0c8, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 376(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 272(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 336(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 264(BP), BX - ADDQ BX, AX - MOVQ AX, 392(BP) - MOVQ $0x1e376c085141ab53, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 384(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 280(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 344(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 272(BP), BX - ADDQ BX, AX - MOVQ AX, 400(BP) - MOVQ $0x2748774cdf8eeb99, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 392(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 288(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 352(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 280(BP), BX - ADDQ BX, AX - MOVQ AX, 408(BP) - MOVQ $0x34b0bcb5e19b48a8, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 400(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 296(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 360(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 288(BP), BX - ADDQ BX, AX - MOVQ AX, 416(BP) - MOVQ $0x391c0cb3c5c95a63, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 408(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 304(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 368(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 296(BP), BX - ADDQ BX, AX - MOVQ AX, 424(BP) - MOVQ $0x4ed8aa4ae3418acb, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 416(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 312(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 376(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 304(BP), BX - ADDQ BX, AX - MOVQ AX, 432(BP) - MOVQ $0x5b9cca4f7763e373, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 424(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 320(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 384(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 312(BP), BX - ADDQ BX, AX - MOVQ AX, 440(BP) - MOVQ $0x682e6ff3d6b2b8a3, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 432(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 328(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 392(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 320(BP), BX - ADDQ BX, AX - MOVQ AX, 448(BP) - MOVQ $0x748f82ee5defb2fc, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 440(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 336(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 400(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 328(BP), BX - ADDQ BX, AX - MOVQ AX, 456(BP) - MOVQ $0x78a5636f43172f60, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 448(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 344(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 408(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 336(BP), BX - ADDQ BX, AX - MOVQ AX, 464(BP) - MOVQ $0x84c87814a1f0ab72, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 456(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 352(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 416(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 344(BP), BX - ADDQ BX, AX - MOVQ AX, 472(BP) - MOVQ $0x8cc702081a6439ec, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 464(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 360(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 424(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 352(BP), BX - ADDQ BX, AX - MOVQ AX, 480(BP) - MOVQ $0x90befffa23631e28, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 472(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 368(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 432(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 360(BP), BX - ADDQ BX, AX - MOVQ AX, 488(BP) - MOVQ $0xa4506cebde82bde9, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 480(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 376(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 440(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 368(BP), BX - ADDQ BX, AX - MOVQ AX, 496(BP) - MOVQ $0xbef9a3f7b2c67915, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 488(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 384(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 448(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 376(BP), BX - ADDQ BX, AX - MOVQ AX, 504(BP) - MOVQ $0xc67178f2e372532b, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 496(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 392(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 456(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 384(BP), BX - ADDQ BX, AX - MOVQ AX, 512(BP) - MOVQ $0xca273eceea26619c, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 504(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 400(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 464(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 392(BP), BX - ADDQ BX, AX - MOVQ AX, 520(BP) - MOVQ $0xd186b8c721c0c207, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 512(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 408(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 472(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 400(BP), BX - ADDQ BX, AX - MOVQ AX, 528(BP) - MOVQ $0xeada7dd6cde0eb1e, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 520(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 416(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 480(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 408(BP), BX - ADDQ BX, AX - MOVQ AX, 536(BP) - MOVQ $0xf57d4f7fee6ed178, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 528(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 424(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 488(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 416(BP), BX - ADDQ BX, AX - MOVQ AX, 544(BP) - MOVQ $0x06f067aa72176fba, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 536(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 432(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 496(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 424(BP), BX - ADDQ BX, AX - MOVQ AX, 552(BP) - MOVQ $0x0a637dc5a2c898a6, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 544(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 440(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 504(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 432(BP), BX - ADDQ BX, AX - MOVQ AX, 560(BP) - MOVQ $0x113f9804bef90dae, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 552(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 448(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 512(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 440(BP), BX - ADDQ BX, AX - MOVQ AX, 568(BP) - MOVQ $0x1b710b35131c471b, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ 560(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 456(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 520(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 448(BP), BX - ADDQ BX, AX - MOVQ AX, 576(BP) - MOVQ $0x28db77f523047d84, DX - ADDQ AX, R15 - MOVQ R12, AX - ADDQ DX, R15 - MOVQ R12, CX - RORQ $0x0e, AX - MOVQ R12, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R12, CX - RORQ $0x29, DX - ANDQ R13, CX - XORQ AX, DX - MOVQ R12, AX - NOTQ AX - ADDQ DX, R15 - ANDQ R14, AX - XORQ CX, AX - ADDQ R15, AX - MOVQ R8, DI - MOVQ R10, BX - RORQ $0x1c, DI - MOVQ R8, DX - ANDQ R9, BX - RORQ $0x22, DX - MOVQ R8, CX - ANDQ R10, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R8, DX - MOVQ R9, CX - RORQ $0x27, DX - ANDQ R8, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R15 - ADDQ AX, R11 - ADDQ AX, R15 - MOVQ 568(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 464(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 528(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 456(BP), BX - ADDQ BX, AX - MOVQ AX, 584(BP) - MOVQ $0x32caab7b40c72493, DX - ADDQ AX, R14 - MOVQ R11, AX - ADDQ DX, R14 - MOVQ R11, CX - RORQ $0x0e, AX - MOVQ R11, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R11, CX - RORQ $0x29, DX - ANDQ R12, CX - XORQ AX, DX - MOVQ R11, AX - NOTQ AX - ADDQ DX, R14 - ANDQ R13, AX - XORQ CX, AX - ADDQ R14, AX - MOVQ R15, DI - MOVQ R9, BX - RORQ $0x1c, DI - MOVQ R15, DX - ANDQ R8, BX - RORQ $0x22, DX - MOVQ R15, CX - ANDQ R9, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R15, DX - MOVQ R8, CX - RORQ $0x27, DX - ANDQ R15, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R14 - ADDQ AX, R10 - ADDQ AX, R14 - MOVQ 576(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 472(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 536(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 464(BP), BX - ADDQ BX, AX - MOVQ AX, 592(BP) - MOVQ $0x3c9ebe0a15c9bebc, DX - ADDQ AX, R13 - MOVQ R10, AX - ADDQ DX, R13 - MOVQ R10, CX - RORQ $0x0e, AX - MOVQ R10, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R10, CX - RORQ $0x29, DX - ANDQ R11, CX - XORQ AX, DX - MOVQ R10, AX - NOTQ AX - ADDQ DX, R13 - ANDQ R12, AX - XORQ CX, AX - ADDQ R13, AX - MOVQ R14, DI - MOVQ R8, BX - RORQ $0x1c, DI - MOVQ R14, DX - ANDQ R15, BX - RORQ $0x22, DX - MOVQ R14, CX - ANDQ R8, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R14, DX - MOVQ R15, CX - RORQ $0x27, DX - ANDQ R14, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R13 - ADDQ AX, R9 - ADDQ AX, R13 - MOVQ 584(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 480(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 544(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 472(BP), BX - ADDQ BX, AX - MOVQ AX, 600(BP) - MOVQ $0x431d67c49c100d4c, DX - ADDQ AX, R12 - MOVQ R9, AX - ADDQ DX, R12 - MOVQ R9, CX - RORQ $0x0e, AX - MOVQ R9, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R9, CX - RORQ $0x29, DX - ANDQ R10, CX - XORQ AX, DX - MOVQ R9, AX - NOTQ AX - ADDQ DX, R12 - ANDQ R11, AX - XORQ CX, AX - ADDQ R12, AX - MOVQ R13, DI - MOVQ R15, BX - RORQ $0x1c, DI - MOVQ R13, DX - ANDQ R14, BX - RORQ $0x22, DX - MOVQ R13, CX - ANDQ R15, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R13, DX - MOVQ R14, CX - RORQ $0x27, DX - ANDQ R13, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R12 - ADDQ AX, R8 - ADDQ AX, R12 - MOVQ 592(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 488(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 552(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 480(BP), BX - ADDQ BX, AX - MOVQ AX, 608(BP) - MOVQ $0x4cc5d4becb3e42b6, DX - ADDQ AX, R11 - MOVQ R8, AX - ADDQ DX, R11 - MOVQ R8, CX - RORQ $0x0e, AX - MOVQ R8, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R8, CX - RORQ $0x29, DX - ANDQ R9, CX - XORQ AX, DX - MOVQ R8, AX - NOTQ AX - ADDQ DX, R11 - ANDQ R10, AX - XORQ CX, AX - ADDQ R11, AX - MOVQ R12, DI - MOVQ R14, BX - RORQ $0x1c, DI - MOVQ R12, DX - ANDQ R13, BX - RORQ $0x22, DX - MOVQ R12, CX - ANDQ R14, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R12, DX - MOVQ R13, CX - RORQ $0x27, DX - ANDQ R12, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R11 - ADDQ AX, R15 - ADDQ AX, R11 - MOVQ 600(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 496(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 560(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 488(BP), BX - ADDQ BX, AX - MOVQ AX, 616(BP) - MOVQ $0x597f299cfc657e2a, DX - ADDQ AX, R10 - MOVQ R15, AX - ADDQ DX, R10 - MOVQ R15, CX - RORQ $0x0e, AX - MOVQ R15, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R15, CX - RORQ $0x29, DX - ANDQ R8, CX - XORQ AX, DX - MOVQ R15, AX - NOTQ AX - ADDQ DX, R10 - ANDQ R9, AX - XORQ CX, AX - ADDQ R10, AX - MOVQ R11, DI - MOVQ R13, BX - RORQ $0x1c, DI - MOVQ R11, DX - ANDQ R12, BX - RORQ $0x22, DX - MOVQ R11, CX - ANDQ R13, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R11, DX - MOVQ R12, CX - RORQ $0x27, DX - ANDQ R11, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R10 - ADDQ AX, R14 - ADDQ AX, R10 - MOVQ 608(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 504(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 568(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 496(BP), BX - ADDQ BX, AX - MOVQ AX, 624(BP) - MOVQ $0x5fcb6fab3ad6faec, DX - ADDQ AX, R9 - MOVQ R14, AX - ADDQ DX, R9 - MOVQ R14, CX - RORQ $0x0e, AX - MOVQ R14, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R14, CX - RORQ $0x29, DX - ANDQ R15, CX - XORQ AX, DX - MOVQ R14, AX - NOTQ AX - ADDQ DX, R9 - ANDQ R8, AX - XORQ CX, AX - ADDQ R9, AX - MOVQ R10, DI - MOVQ R12, BX - RORQ $0x1c, DI - MOVQ R10, DX - ANDQ R11, BX - RORQ $0x22, DX - MOVQ R10, CX - ANDQ R12, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R10, DX - MOVQ R11, CX - RORQ $0x27, DX - ANDQ R10, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R9 - ADDQ AX, R13 - ADDQ AX, R9 - MOVQ 616(BP), AX - MOVQ AX, CX - RORQ $0x13, AX - MOVQ CX, DX - RORQ $0x3d, CX - SHRQ $0x06, DX - MOVQ 512(BP), BX - XORQ CX, AX - MOVQ BX, CX - XORQ DX, AX - RORQ $0x01, BX - MOVQ CX, DX - SHRQ $0x07, DX - RORQ $0x08, CX - ADDQ 576(BP), AX - XORQ CX, BX - XORQ DX, BX - ADDQ 504(BP), BX - ADDQ BX, AX - MOVQ AX, 632(BP) - MOVQ $0x6c44198c4a475817, DX - ADDQ AX, R8 - MOVQ R13, AX - ADDQ DX, R8 - MOVQ R13, CX - RORQ $0x0e, AX - MOVQ R13, DX - RORQ $0x12, CX - XORQ CX, AX - MOVQ R13, CX - RORQ $0x29, DX - ANDQ R14, CX - XORQ AX, DX - MOVQ R13, AX - NOTQ AX - ADDQ DX, R8 - ANDQ R15, AX - XORQ CX, AX - ADDQ R8, AX - MOVQ R9, DI - MOVQ R11, BX - RORQ $0x1c, DI - MOVQ R9, DX - ANDQ R10, BX - RORQ $0x22, DX - MOVQ R9, CX - ANDQ R11, CX - XORQ DX, DI - XORQ CX, BX - MOVQ R9, DX - MOVQ R10, CX - RORQ $0x27, DX - ANDQ R9, CX - XORQ CX, BX - XORQ DX, DI - ADDQ DI, BX - MOVQ BX, R8 - ADDQ AX, R12 - ADDQ AX, R8 - MOVQ dig+0(FP), BP - ADDQ (BP), R8 - MOVQ R8, (BP) - ADDQ 8(BP), R9 - MOVQ R9, 8(BP) - ADDQ 16(BP), R10 - MOVQ R10, 16(BP) - ADDQ 24(BP), R11 - MOVQ R11, 24(BP) - ADDQ 32(BP), R12 - MOVQ R12, 32(BP) - ADDQ 40(BP), R13 - MOVQ R13, 40(BP) - ADDQ 48(BP), R14 - MOVQ R14, 48(BP) - ADDQ 56(BP), R15 - MOVQ R15, 56(BP) - ADDQ $0x80, SI - CMPQ SI, 640(SP) - JB loop - -end: - RET - -DATA PSHUFFLE_BYTE_FLIP_MASK<>+0(SB)/8, $0x0001020304050607 -DATA PSHUFFLE_BYTE_FLIP_MASK<>+8(SB)/8, $0x08090a0b0c0d0e0f -DATA PSHUFFLE_BYTE_FLIP_MASK<>+16(SB)/8, $0x1011121314151617 -DATA PSHUFFLE_BYTE_FLIP_MASK<>+24(SB)/8, $0x18191a1b1c1d1e1f -GLOBL PSHUFFLE_BYTE_FLIP_MASK<>(SB), RODATA|NOPTR, $32 - // func blockAVX2(dig *Digest, p []byte) // Requires: AVX, AVX2, BMI2 TEXT ·blockAVX2(SB), NOSPLIT, $56-32 @@ -5391,6 +891,12 @@ done_hash: VZEROUPPER RET +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0(SB)/8, $0x0001020304050607 +DATA PSHUFFLE_BYTE_FLIP_MASK<>+8(SB)/8, $0x08090a0b0c0d0e0f +DATA PSHUFFLE_BYTE_FLIP_MASK<>+16(SB)/8, $0x1011121314151617 +DATA PSHUFFLE_BYTE_FLIP_MASK<>+24(SB)/8, $0x18191a1b1c1d1e1f +GLOBL PSHUFFLE_BYTE_FLIP_MASK<>(SB), RODATA|NOPTR, $32 + DATA MASK_YMM_LO<>+0(SB)/8, $0x0000000000000000 DATA MASK_YMM_LO<>+8(SB)/8, $0x0000000000000000 DATA MASK_YMM_LO<>+16(SB)/8, $0xffffffffffffffff diff --git a/src/crypto/sha1/_asm/sha1block_amd64_asm.go b/src/crypto/sha1/_asm/sha1block_amd64_asm.go index 575c5de747..dbd171c08b 100644 --- a/src/crypto/sha1/_asm/sha1block_amd64_asm.go +++ b/src/crypto/sha1/_asm/sha1block_amd64_asm.go @@ -23,232 +23,11 @@ import ( func main() { Package("crypto/sha1") ConstraintExpr("!purego") - blockAMD64() blockAVX2() blockSHANI() Generate() } -func LOAD(index int) { - MOVL(Mem{Base: SI}.Offset(index*4), R10L) - BSWAPL(R10L) - MOVL(R10L, Mem{Base: SP}.Offset(index*4)) -} - -func SHUFFLE(index int) { - MOVL(Mem{Base: SP}.Offset(((index)&0xf)*4), R10L) - XORL(Mem{Base: SP}.Offset(((index-3)&0xf)*4), R10L) - XORL(Mem{Base: SP}.Offset(((index-8)&0xf)*4), R10L) - XORL(Mem{Base: SP}.Offset(((index-14)&0xf)*4), R10L) - ROLL(Imm(1), R10L) - MOVL(R10L, Mem{Base: SP}.Offset(((index)&0xf)*4)) -} - -func FUNC1(a, b, c, d, e GPPhysical) { - MOVL(d, R9L) - XORL(c, R9L) - ANDL(b, R9L) - XORL(d, R9L) -} - -func FUNC2(a, b, c, d, e GPPhysical) { - MOVL(b, R9L) - XORL(c, R9L) - XORL(d, R9L) -} - -func FUNC3(a, b, c, d, e GPPhysical) { - MOVL(b, R8L) - ORL(c, R8L) - ANDL(d, R8L) - MOVL(b, R9L) - ANDL(c, R9L) - ORL(R8L, R9L) -} - -func FUNC4(a, b, c, d, e GPPhysical) { - FUNC2(a, b, c, d, e) -} - -func MIX(a, b, c, d, e GPPhysical, konst int) { - ROLL(Imm(30), b) - ADDL(R9L, e) - MOVL(a, R8L) - ROLL(Imm(5), R8L) - LEAL(Mem{Base: e, Index: R10L, Scale: 1}.Offset(konst), e) - ADDL(R8L, e) -} - -func ROUND1(a, b, c, d, e GPPhysical, index int) { - LOAD(index) - FUNC1(a, b, c, d, e) - MIX(a, b, c, d, e, 0x5A827999) -} - -func ROUND1x(a, b, c, d, e GPPhysical, index int) { - SHUFFLE(index) - FUNC1(a, b, c, d, e) - MIX(a, b, c, d, e, 0x5A827999) -} - -func ROUND2(a, b, c, d, e GPPhysical, index int) { - SHUFFLE(index) - FUNC2(a, b, c, d, e) - MIX(a, b, c, d, e, 0x6ED9EBA1) -} - -func ROUND3(a, b, c, d, e GPPhysical, index int) { - SHUFFLE(index) - FUNC3(a, b, c, d, e) - MIX(a, b, c, d, e, 0x8F1BBCDC) -} - -func ROUND4(a, b, c, d, e GPPhysical, index int) { - SHUFFLE(index) - FUNC4(a, b, c, d, e) - MIX(a, b, c, d, e, 0xCA62C1D6) -} - -func blockAMD64() { - Implement("blockAMD64") - Attributes(NOSPLIT) - AllocLocal(64) - - Load(Param("dig"), RBP) - Load(Param("p").Base(), RSI) - Load(Param("p").Len(), RDX) - SHRQ(Imm(6), RDX) - SHLQ(Imm(6), RDX) - - LEAQ(Mem{Base: SI, Index: DX, Scale: 1}, RDI) - MOVL(Mem{Base: BP}.Offset(0*4), EAX) - MOVL(Mem{Base: BP}.Offset(1*4), EBX) - MOVL(Mem{Base: BP}.Offset(2*4), ECX) - MOVL(Mem{Base: BP}.Offset(3*4), EDX) - MOVL(Mem{Base: BP}.Offset(4*4), EBP) - - CMPQ(RSI, RDI) - JEQ(LabelRef("end")) - - loop_amd64() - end() -} - -func loop_amd64() { - Label("loop") - MOVL(EAX, R11L) - MOVL(EBX, R12L) - MOVL(ECX, R13L) - MOVL(EDX, R14L) - MOVL(EBP, R15L) - - ROUND1(EAX, EBX, ECX, EDX, EBP, 0) - ROUND1(EBP, EAX, EBX, ECX, EDX, 1) - ROUND1(EDX, EBP, EAX, EBX, ECX, 2) - ROUND1(ECX, EDX, EBP, EAX, EBX, 3) - ROUND1(EBX, ECX, EDX, EBP, EAX, 4) - ROUND1(EAX, EBX, ECX, EDX, EBP, 5) - ROUND1(EBP, EAX, EBX, ECX, EDX, 6) - ROUND1(EDX, EBP, EAX, EBX, ECX, 7) - ROUND1(ECX, EDX, EBP, EAX, EBX, 8) - ROUND1(EBX, ECX, EDX, EBP, EAX, 9) - ROUND1(EAX, EBX, ECX, EDX, EBP, 10) - ROUND1(EBP, EAX, EBX, ECX, EDX, 11) - ROUND1(EDX, EBP, EAX, EBX, ECX, 12) - ROUND1(ECX, EDX, EBP, EAX, EBX, 13) - ROUND1(EBX, ECX, EDX, EBP, EAX, 14) - ROUND1(EAX, EBX, ECX, EDX, EBP, 15) - - ROUND1x(EBP, EAX, EBX, ECX, EDX, 16) - ROUND1x(EDX, EBP, EAX, EBX, ECX, 17) - ROUND1x(ECX, EDX, EBP, EAX, EBX, 18) - ROUND1x(EBX, ECX, EDX, EBP, EAX, 19) - - ROUND2(EAX, EBX, ECX, EDX, EBP, 20) - ROUND2(EBP, EAX, EBX, ECX, EDX, 21) - ROUND2(EDX, EBP, EAX, EBX, ECX, 22) - ROUND2(ECX, EDX, EBP, EAX, EBX, 23) - ROUND2(EBX, ECX, EDX, EBP, EAX, 24) - ROUND2(EAX, EBX, ECX, EDX, EBP, 25) - ROUND2(EBP, EAX, EBX, ECX, EDX, 26) - ROUND2(EDX, EBP, EAX, EBX, ECX, 27) - ROUND2(ECX, EDX, EBP, EAX, EBX, 28) - ROUND2(EBX, ECX, EDX, EBP, EAX, 29) - ROUND2(EAX, EBX, ECX, EDX, EBP, 30) - ROUND2(EBP, EAX, EBX, ECX, EDX, 31) - ROUND2(EDX, EBP, EAX, EBX, ECX, 32) - ROUND2(ECX, EDX, EBP, EAX, EBX, 33) - ROUND2(EBX, ECX, EDX, EBP, EAX, 34) - ROUND2(EAX, EBX, ECX, EDX, EBP, 35) - ROUND2(EBP, EAX, EBX, ECX, EDX, 36) - ROUND2(EDX, EBP, EAX, EBX, ECX, 37) - ROUND2(ECX, EDX, EBP, EAX, EBX, 38) - ROUND2(EBX, ECX, EDX, EBP, EAX, 39) - - ROUND3(EAX, EBX, ECX, EDX, EBP, 40) - ROUND3(EBP, EAX, EBX, ECX, EDX, 41) - ROUND3(EDX, EBP, EAX, EBX, ECX, 42) - ROUND3(ECX, EDX, EBP, EAX, EBX, 43) - ROUND3(EBX, ECX, EDX, EBP, EAX, 44) - ROUND3(EAX, EBX, ECX, EDX, EBP, 45) - ROUND3(EBP, EAX, EBX, ECX, EDX, 46) - ROUND3(EDX, EBP, EAX, EBX, ECX, 47) - ROUND3(ECX, EDX, EBP, EAX, EBX, 48) - ROUND3(EBX, ECX, EDX, EBP, EAX, 49) - ROUND3(EAX, EBX, ECX, EDX, EBP, 50) - ROUND3(EBP, EAX, EBX, ECX, EDX, 51) - ROUND3(EDX, EBP, EAX, EBX, ECX, 52) - ROUND3(ECX, EDX, EBP, EAX, EBX, 53) - ROUND3(EBX, ECX, EDX, EBP, EAX, 54) - ROUND3(EAX, EBX, ECX, EDX, EBP, 55) - ROUND3(EBP, EAX, EBX, ECX, EDX, 56) - ROUND3(EDX, EBP, EAX, EBX, ECX, 57) - ROUND3(ECX, EDX, EBP, EAX, EBX, 58) - ROUND3(EBX, ECX, EDX, EBP, EAX, 59) - - ROUND4(EAX, EBX, ECX, EDX, EBP, 60) - ROUND4(EBP, EAX, EBX, ECX, EDX, 61) - ROUND4(EDX, EBP, EAX, EBX, ECX, 62) - ROUND4(ECX, EDX, EBP, EAX, EBX, 63) - ROUND4(EBX, ECX, EDX, EBP, EAX, 64) - ROUND4(EAX, EBX, ECX, EDX, EBP, 65) - ROUND4(EBP, EAX, EBX, ECX, EDX, 66) - ROUND4(EDX, EBP, EAX, EBX, ECX, 67) - ROUND4(ECX, EDX, EBP, EAX, EBX, 68) - ROUND4(EBX, ECX, EDX, EBP, EAX, 69) - ROUND4(EAX, EBX, ECX, EDX, EBP, 70) - ROUND4(EBP, EAX, EBX, ECX, EDX, 71) - ROUND4(EDX, EBP, EAX, EBX, ECX, 72) - ROUND4(ECX, EDX, EBP, EAX, EBX, 73) - ROUND4(EBX, ECX, EDX, EBP, EAX, 74) - ROUND4(EAX, EBX, ECX, EDX, EBP, 75) - ROUND4(EBP, EAX, EBX, ECX, EDX, 76) - ROUND4(EDX, EBP, EAX, EBX, ECX, 77) - ROUND4(ECX, EDX, EBP, EAX, EBX, 78) - ROUND4(EBX, ECX, EDX, EBP, EAX, 79) - - ADDL(R11L, EAX) - ADDL(R12L, EBX) - ADDL(R13L, ECX) - ADDL(R14L, EDX) - ADDL(R15L, EBP) - - ADDQ(Imm(64), RSI) - CMPQ(RSI, RDI) - JB(LabelRef("loop")) -} - -func end() { - Label("end") - Load(Param("dig"), RDI) - MOVL(EAX, Mem{Base: DI}.Offset(0*4)) - MOVL(EBX, Mem{Base: DI}.Offset(1*4)) - MOVL(ECX, Mem{Base: DI}.Offset(2*4)) - MOVL(EDX, Mem{Base: DI}.Offset(3*4)) - MOVL(EBP, Mem{Base: DI}.Offset(4*4)) - RET() -} - // This is the implementation using AVX2, BMI1 and BMI2. It is based on: // "SHA-1 implementation with Intel(R) AVX2 instruction set extensions" // From http://software.intel.com/en-us/articles diff --git a/src/crypto/sha1/sha1block_amd64.go b/src/crypto/sha1/sha1block_amd64.go index a497d41144..0f92f4b5f5 100644 --- a/src/crypto/sha1/sha1block_amd64.go +++ b/src/crypto/sha1/sha1block_amd64.go @@ -11,9 +11,6 @@ import "internal/cpu" //go:noescape func blockAVX2(dig *digest, p []byte) -//go:noescape -func blockAMD64(dig *digest, p []byte) - //go:noescape func blockSHANI(dig *digest, p []byte) @@ -24,19 +21,18 @@ func block(dig *digest, p []byte) { if useSHANI { blockSHANI(dig, p) } else if useAVX2 && len(p) >= 256 { - // blockAVX2 calculates sha1 for 2 block per iteration - // it also interleaves precalculation for next block. - // So it may read up-to 192 bytes past end of p - // We may add checks inside blockAVX2, but this will - // just turn it into a copy of blockAMD64, - // so call it directly, instead. + // blockAVX2 calculates sha1 for 2 block per iteration and also + // interleaves precalculation for next block. So it may read up-to 192 + // bytes past end of p. We could add checks inside blockAVX2, but this + // would just turn it into a copy of the old pre-AVX2 amd64 SHA1 + // assembly implementation, so just call blockGeneric instead. safeLen := len(p) - 128 if safeLen%128 != 0 { safeLen -= 64 } blockAVX2(dig, p[:safeLen]) - blockAMD64(dig, p[safeLen:]) + blockGeneric(dig, p[safeLen:]) } else { - blockAMD64(dig, p) + blockGeneric(dig, p) } } diff --git a/src/crypto/sha1/sha1block_amd64.s b/src/crypto/sha1/sha1block_amd64.s index 2a5fd2e8e5..4e0c43ee4e 100644 --- a/src/crypto/sha1/sha1block_amd64.s +++ b/src/crypto/sha1/sha1block_amd64.s @@ -4,1278 +4,6 @@ #include "textflag.h" -// func blockAMD64(dig *digest, p []byte) -TEXT ·blockAMD64(SB), NOSPLIT, $64-32 - MOVQ dig+0(FP), BP - MOVQ p_base+8(FP), SI - MOVQ p_len+16(FP), DX - SHRQ $0x06, DX - SHLQ $0x06, DX - LEAQ (SI)(DX*1), DI - MOVL (BP), AX - MOVL 4(BP), BX - MOVL 8(BP), CX - MOVL 12(BP), DX - MOVL 16(BP), BP - CMPQ SI, DI - JEQ end - -loop: - MOVL AX, R11 - MOVL BX, R12 - MOVL CX, R13 - MOVL DX, R14 - MOVL BP, R15 - MOVL (SI), R10 - BSWAPL R10 - MOVL R10, (SP) - MOVL DX, R9 - XORL CX, R9 - ANDL BX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BP)(R10*1), BP - ADDL R8, BP - MOVL 4(SI), R10 - BSWAPL R10 - MOVL R10, 4(SP) - MOVL CX, R9 - XORL BX, R9 - ANDL AX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1518500249(DX)(R10*1), DX - ADDL R8, DX - MOVL 8(SI), R10 - BSWAPL R10 - MOVL R10, 8(SP) - MOVL BX, R9 - XORL AX, R9 - ANDL BP, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1518500249(CX)(R10*1), CX - ADDL R8, CX - MOVL 12(SI), R10 - BSWAPL R10 - MOVL R10, 12(SP) - MOVL AX, R9 - XORL BP, R9 - ANDL DX, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BX)(R10*1), BX - ADDL R8, BX - MOVL 16(SI), R10 - BSWAPL R10 - MOVL R10, 16(SP) - MOVL BP, R9 - XORL DX, R9 - ANDL CX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1518500249(AX)(R10*1), AX - ADDL R8, AX - MOVL 20(SI), R10 - BSWAPL R10 - MOVL R10, 20(SP) - MOVL DX, R9 - XORL CX, R9 - ANDL BX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BP)(R10*1), BP - ADDL R8, BP - MOVL 24(SI), R10 - BSWAPL R10 - MOVL R10, 24(SP) - MOVL CX, R9 - XORL BX, R9 - ANDL AX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1518500249(DX)(R10*1), DX - ADDL R8, DX - MOVL 28(SI), R10 - BSWAPL R10 - MOVL R10, 28(SP) - MOVL BX, R9 - XORL AX, R9 - ANDL BP, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1518500249(CX)(R10*1), CX - ADDL R8, CX - MOVL 32(SI), R10 - BSWAPL R10 - MOVL R10, 32(SP) - MOVL AX, R9 - XORL BP, R9 - ANDL DX, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BX)(R10*1), BX - ADDL R8, BX - MOVL 36(SI), R10 - BSWAPL R10 - MOVL R10, 36(SP) - MOVL BP, R9 - XORL DX, R9 - ANDL CX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1518500249(AX)(R10*1), AX - ADDL R8, AX - MOVL 40(SI), R10 - BSWAPL R10 - MOVL R10, 40(SP) - MOVL DX, R9 - XORL CX, R9 - ANDL BX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BP)(R10*1), BP - ADDL R8, BP - MOVL 44(SI), R10 - BSWAPL R10 - MOVL R10, 44(SP) - MOVL CX, R9 - XORL BX, R9 - ANDL AX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1518500249(DX)(R10*1), DX - ADDL R8, DX - MOVL 48(SI), R10 - BSWAPL R10 - MOVL R10, 48(SP) - MOVL BX, R9 - XORL AX, R9 - ANDL BP, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1518500249(CX)(R10*1), CX - ADDL R8, CX - MOVL 52(SI), R10 - BSWAPL R10 - MOVL R10, 52(SP) - MOVL AX, R9 - XORL BP, R9 - ANDL DX, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BX)(R10*1), BX - ADDL R8, BX - MOVL 56(SI), R10 - BSWAPL R10 - MOVL R10, 56(SP) - MOVL BP, R9 - XORL DX, R9 - ANDL CX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1518500249(AX)(R10*1), AX - ADDL R8, AX - MOVL 60(SI), R10 - BSWAPL R10 - MOVL R10, 60(SP) - MOVL DX, R9 - XORL CX, R9 - ANDL BX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BP)(R10*1), BP - ADDL R8, BP - MOVL (SP), R10 - XORL 52(SP), R10 - XORL 32(SP), R10 - XORL 8(SP), R10 - ROLL $0x01, R10 - MOVL R10, (SP) - MOVL CX, R9 - XORL BX, R9 - ANDL AX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1518500249(DX)(R10*1), DX - ADDL R8, DX - MOVL 4(SP), R10 - XORL 56(SP), R10 - XORL 36(SP), R10 - XORL 12(SP), R10 - ROLL $0x01, R10 - MOVL R10, 4(SP) - MOVL BX, R9 - XORL AX, R9 - ANDL BP, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1518500249(CX)(R10*1), CX - ADDL R8, CX - MOVL 8(SP), R10 - XORL 60(SP), R10 - XORL 40(SP), R10 - XORL 16(SP), R10 - ROLL $0x01, R10 - MOVL R10, 8(SP) - MOVL AX, R9 - XORL BP, R9 - ANDL DX, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1518500249(BX)(R10*1), BX - ADDL R8, BX - MOVL 12(SP), R10 - XORL (SP), R10 - XORL 44(SP), R10 - XORL 20(SP), R10 - ROLL $0x01, R10 - MOVL R10, 12(SP) - MOVL BP, R9 - XORL DX, R9 - ANDL CX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1518500249(AX)(R10*1), AX - ADDL R8, AX - MOVL 16(SP), R10 - XORL 4(SP), R10 - XORL 48(SP), R10 - XORL 24(SP), R10 - ROLL $0x01, R10 - MOVL R10, 16(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BP)(R10*1), BP - ADDL R8, BP - MOVL 20(SP), R10 - XORL 8(SP), R10 - XORL 52(SP), R10 - XORL 28(SP), R10 - ROLL $0x01, R10 - MOVL R10, 20(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1859775393(DX)(R10*1), DX - ADDL R8, DX - MOVL 24(SP), R10 - XORL 12(SP), R10 - XORL 56(SP), R10 - XORL 32(SP), R10 - ROLL $0x01, R10 - MOVL R10, 24(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1859775393(CX)(R10*1), CX - ADDL R8, CX - MOVL 28(SP), R10 - XORL 16(SP), R10 - XORL 60(SP), R10 - XORL 36(SP), R10 - ROLL $0x01, R10 - MOVL R10, 28(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BX)(R10*1), BX - ADDL R8, BX - MOVL 32(SP), R10 - XORL 20(SP), R10 - XORL (SP), R10 - XORL 40(SP), R10 - ROLL $0x01, R10 - MOVL R10, 32(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1859775393(AX)(R10*1), AX - ADDL R8, AX - MOVL 36(SP), R10 - XORL 24(SP), R10 - XORL 4(SP), R10 - XORL 44(SP), R10 - ROLL $0x01, R10 - MOVL R10, 36(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BP)(R10*1), BP - ADDL R8, BP - MOVL 40(SP), R10 - XORL 28(SP), R10 - XORL 8(SP), R10 - XORL 48(SP), R10 - ROLL $0x01, R10 - MOVL R10, 40(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1859775393(DX)(R10*1), DX - ADDL R8, DX - MOVL 44(SP), R10 - XORL 32(SP), R10 - XORL 12(SP), R10 - XORL 52(SP), R10 - ROLL $0x01, R10 - MOVL R10, 44(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1859775393(CX)(R10*1), CX - ADDL R8, CX - MOVL 48(SP), R10 - XORL 36(SP), R10 - XORL 16(SP), R10 - XORL 56(SP), R10 - ROLL $0x01, R10 - MOVL R10, 48(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BX)(R10*1), BX - ADDL R8, BX - MOVL 52(SP), R10 - XORL 40(SP), R10 - XORL 20(SP), R10 - XORL 60(SP), R10 - ROLL $0x01, R10 - MOVL R10, 52(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1859775393(AX)(R10*1), AX - ADDL R8, AX - MOVL 56(SP), R10 - XORL 44(SP), R10 - XORL 24(SP), R10 - XORL (SP), R10 - ROLL $0x01, R10 - MOVL R10, 56(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BP)(R10*1), BP - ADDL R8, BP - MOVL 60(SP), R10 - XORL 48(SP), R10 - XORL 28(SP), R10 - XORL 4(SP), R10 - ROLL $0x01, R10 - MOVL R10, 60(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1859775393(DX)(R10*1), DX - ADDL R8, DX - MOVL (SP), R10 - XORL 52(SP), R10 - XORL 32(SP), R10 - XORL 8(SP), R10 - ROLL $0x01, R10 - MOVL R10, (SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1859775393(CX)(R10*1), CX - ADDL R8, CX - MOVL 4(SP), R10 - XORL 56(SP), R10 - XORL 36(SP), R10 - XORL 12(SP), R10 - ROLL $0x01, R10 - MOVL R10, 4(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BX)(R10*1), BX - ADDL R8, BX - MOVL 8(SP), R10 - XORL 60(SP), R10 - XORL 40(SP), R10 - XORL 16(SP), R10 - ROLL $0x01, R10 - MOVL R10, 8(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1859775393(AX)(R10*1), AX - ADDL R8, AX - MOVL 12(SP), R10 - XORL (SP), R10 - XORL 44(SP), R10 - XORL 20(SP), R10 - ROLL $0x01, R10 - MOVL R10, 12(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BP)(R10*1), BP - ADDL R8, BP - MOVL 16(SP), R10 - XORL 4(SP), R10 - XORL 48(SP), R10 - XORL 24(SP), R10 - ROLL $0x01, R10 - MOVL R10, 16(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 1859775393(DX)(R10*1), DX - ADDL R8, DX - MOVL 20(SP), R10 - XORL 8(SP), R10 - XORL 52(SP), R10 - XORL 28(SP), R10 - ROLL $0x01, R10 - MOVL R10, 20(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 1859775393(CX)(R10*1), CX - ADDL R8, CX - MOVL 24(SP), R10 - XORL 12(SP), R10 - XORL 56(SP), R10 - XORL 32(SP), R10 - ROLL $0x01, R10 - MOVL R10, 24(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 1859775393(BX)(R10*1), BX - ADDL R8, BX - MOVL 28(SP), R10 - XORL 16(SP), R10 - XORL 60(SP), R10 - XORL 36(SP), R10 - ROLL $0x01, R10 - MOVL R10, 28(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 1859775393(AX)(R10*1), AX - ADDL R8, AX - MOVL 32(SP), R10 - XORL 20(SP), R10 - XORL (SP), R10 - XORL 40(SP), R10 - ROLL $0x01, R10 - MOVL R10, 32(SP) - MOVL BX, R8 - ORL CX, R8 - ANDL DX, R8 - MOVL BX, R9 - ANDL CX, R9 - ORL R8, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BP)(R10*1), BP - ADDL R8, BP - MOVL 36(SP), R10 - XORL 24(SP), R10 - XORL 4(SP), R10 - XORL 44(SP), R10 - ROLL $0x01, R10 - MOVL R10, 36(SP) - MOVL AX, R8 - ORL BX, R8 - ANDL CX, R8 - MOVL AX, R9 - ANDL BX, R9 - ORL R8, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 2400959708(DX)(R10*1), DX - ADDL R8, DX - MOVL 40(SP), R10 - XORL 28(SP), R10 - XORL 8(SP), R10 - XORL 48(SP), R10 - ROLL $0x01, R10 - MOVL R10, 40(SP) - MOVL BP, R8 - ORL AX, R8 - ANDL BX, R8 - MOVL BP, R9 - ANDL AX, R9 - ORL R8, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 2400959708(CX)(R10*1), CX - ADDL R8, CX - MOVL 44(SP), R10 - XORL 32(SP), R10 - XORL 12(SP), R10 - XORL 52(SP), R10 - ROLL $0x01, R10 - MOVL R10, 44(SP) - MOVL DX, R8 - ORL BP, R8 - ANDL AX, R8 - MOVL DX, R9 - ANDL BP, R9 - ORL R8, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BX)(R10*1), BX - ADDL R8, BX - MOVL 48(SP), R10 - XORL 36(SP), R10 - XORL 16(SP), R10 - XORL 56(SP), R10 - ROLL $0x01, R10 - MOVL R10, 48(SP) - MOVL CX, R8 - ORL DX, R8 - ANDL BP, R8 - MOVL CX, R9 - ANDL DX, R9 - ORL R8, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 2400959708(AX)(R10*1), AX - ADDL R8, AX - MOVL 52(SP), R10 - XORL 40(SP), R10 - XORL 20(SP), R10 - XORL 60(SP), R10 - ROLL $0x01, R10 - MOVL R10, 52(SP) - MOVL BX, R8 - ORL CX, R8 - ANDL DX, R8 - MOVL BX, R9 - ANDL CX, R9 - ORL R8, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BP)(R10*1), BP - ADDL R8, BP - MOVL 56(SP), R10 - XORL 44(SP), R10 - XORL 24(SP), R10 - XORL (SP), R10 - ROLL $0x01, R10 - MOVL R10, 56(SP) - MOVL AX, R8 - ORL BX, R8 - ANDL CX, R8 - MOVL AX, R9 - ANDL BX, R9 - ORL R8, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 2400959708(DX)(R10*1), DX - ADDL R8, DX - MOVL 60(SP), R10 - XORL 48(SP), R10 - XORL 28(SP), R10 - XORL 4(SP), R10 - ROLL $0x01, R10 - MOVL R10, 60(SP) - MOVL BP, R8 - ORL AX, R8 - ANDL BX, R8 - MOVL BP, R9 - ANDL AX, R9 - ORL R8, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 2400959708(CX)(R10*1), CX - ADDL R8, CX - MOVL (SP), R10 - XORL 52(SP), R10 - XORL 32(SP), R10 - XORL 8(SP), R10 - ROLL $0x01, R10 - MOVL R10, (SP) - MOVL DX, R8 - ORL BP, R8 - ANDL AX, R8 - MOVL DX, R9 - ANDL BP, R9 - ORL R8, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BX)(R10*1), BX - ADDL R8, BX - MOVL 4(SP), R10 - XORL 56(SP), R10 - XORL 36(SP), R10 - XORL 12(SP), R10 - ROLL $0x01, R10 - MOVL R10, 4(SP) - MOVL CX, R8 - ORL DX, R8 - ANDL BP, R8 - MOVL CX, R9 - ANDL DX, R9 - ORL R8, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 2400959708(AX)(R10*1), AX - ADDL R8, AX - MOVL 8(SP), R10 - XORL 60(SP), R10 - XORL 40(SP), R10 - XORL 16(SP), R10 - ROLL $0x01, R10 - MOVL R10, 8(SP) - MOVL BX, R8 - ORL CX, R8 - ANDL DX, R8 - MOVL BX, R9 - ANDL CX, R9 - ORL R8, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BP)(R10*1), BP - ADDL R8, BP - MOVL 12(SP), R10 - XORL (SP), R10 - XORL 44(SP), R10 - XORL 20(SP), R10 - ROLL $0x01, R10 - MOVL R10, 12(SP) - MOVL AX, R8 - ORL BX, R8 - ANDL CX, R8 - MOVL AX, R9 - ANDL BX, R9 - ORL R8, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 2400959708(DX)(R10*1), DX - ADDL R8, DX - MOVL 16(SP), R10 - XORL 4(SP), R10 - XORL 48(SP), R10 - XORL 24(SP), R10 - ROLL $0x01, R10 - MOVL R10, 16(SP) - MOVL BP, R8 - ORL AX, R8 - ANDL BX, R8 - MOVL BP, R9 - ANDL AX, R9 - ORL R8, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 2400959708(CX)(R10*1), CX - ADDL R8, CX - MOVL 20(SP), R10 - XORL 8(SP), R10 - XORL 52(SP), R10 - XORL 28(SP), R10 - ROLL $0x01, R10 - MOVL R10, 20(SP) - MOVL DX, R8 - ORL BP, R8 - ANDL AX, R8 - MOVL DX, R9 - ANDL BP, R9 - ORL R8, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BX)(R10*1), BX - ADDL R8, BX - MOVL 24(SP), R10 - XORL 12(SP), R10 - XORL 56(SP), R10 - XORL 32(SP), R10 - ROLL $0x01, R10 - MOVL R10, 24(SP) - MOVL CX, R8 - ORL DX, R8 - ANDL BP, R8 - MOVL CX, R9 - ANDL DX, R9 - ORL R8, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 2400959708(AX)(R10*1), AX - ADDL R8, AX - MOVL 28(SP), R10 - XORL 16(SP), R10 - XORL 60(SP), R10 - XORL 36(SP), R10 - ROLL $0x01, R10 - MOVL R10, 28(SP) - MOVL BX, R8 - ORL CX, R8 - ANDL DX, R8 - MOVL BX, R9 - ANDL CX, R9 - ORL R8, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BP)(R10*1), BP - ADDL R8, BP - MOVL 32(SP), R10 - XORL 20(SP), R10 - XORL (SP), R10 - XORL 40(SP), R10 - ROLL $0x01, R10 - MOVL R10, 32(SP) - MOVL AX, R8 - ORL BX, R8 - ANDL CX, R8 - MOVL AX, R9 - ANDL BX, R9 - ORL R8, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 2400959708(DX)(R10*1), DX - ADDL R8, DX - MOVL 36(SP), R10 - XORL 24(SP), R10 - XORL 4(SP), R10 - XORL 44(SP), R10 - ROLL $0x01, R10 - MOVL R10, 36(SP) - MOVL BP, R8 - ORL AX, R8 - ANDL BX, R8 - MOVL BP, R9 - ANDL AX, R9 - ORL R8, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 2400959708(CX)(R10*1), CX - ADDL R8, CX - MOVL 40(SP), R10 - XORL 28(SP), R10 - XORL 8(SP), R10 - XORL 48(SP), R10 - ROLL $0x01, R10 - MOVL R10, 40(SP) - MOVL DX, R8 - ORL BP, R8 - ANDL AX, R8 - MOVL DX, R9 - ANDL BP, R9 - ORL R8, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 2400959708(BX)(R10*1), BX - ADDL R8, BX - MOVL 44(SP), R10 - XORL 32(SP), R10 - XORL 12(SP), R10 - XORL 52(SP), R10 - ROLL $0x01, R10 - MOVL R10, 44(SP) - MOVL CX, R8 - ORL DX, R8 - ANDL BP, R8 - MOVL CX, R9 - ANDL DX, R9 - ORL R8, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 2400959708(AX)(R10*1), AX - ADDL R8, AX - MOVL 48(SP), R10 - XORL 36(SP), R10 - XORL 16(SP), R10 - XORL 56(SP), R10 - ROLL $0x01, R10 - MOVL R10, 48(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BP)(R10*1), BP - ADDL R8, BP - MOVL 52(SP), R10 - XORL 40(SP), R10 - XORL 20(SP), R10 - XORL 60(SP), R10 - ROLL $0x01, R10 - MOVL R10, 52(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 3395469782(DX)(R10*1), DX - ADDL R8, DX - MOVL 56(SP), R10 - XORL 44(SP), R10 - XORL 24(SP), R10 - XORL (SP), R10 - ROLL $0x01, R10 - MOVL R10, 56(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 3395469782(CX)(R10*1), CX - ADDL R8, CX - MOVL 60(SP), R10 - XORL 48(SP), R10 - XORL 28(SP), R10 - XORL 4(SP), R10 - ROLL $0x01, R10 - MOVL R10, 60(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BX)(R10*1), BX - ADDL R8, BX - MOVL (SP), R10 - XORL 52(SP), R10 - XORL 32(SP), R10 - XORL 8(SP), R10 - ROLL $0x01, R10 - MOVL R10, (SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 3395469782(AX)(R10*1), AX - ADDL R8, AX - MOVL 4(SP), R10 - XORL 56(SP), R10 - XORL 36(SP), R10 - XORL 12(SP), R10 - ROLL $0x01, R10 - MOVL R10, 4(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BP)(R10*1), BP - ADDL R8, BP - MOVL 8(SP), R10 - XORL 60(SP), R10 - XORL 40(SP), R10 - XORL 16(SP), R10 - ROLL $0x01, R10 - MOVL R10, 8(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 3395469782(DX)(R10*1), DX - ADDL R8, DX - MOVL 12(SP), R10 - XORL (SP), R10 - XORL 44(SP), R10 - XORL 20(SP), R10 - ROLL $0x01, R10 - MOVL R10, 12(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 3395469782(CX)(R10*1), CX - ADDL R8, CX - MOVL 16(SP), R10 - XORL 4(SP), R10 - XORL 48(SP), R10 - XORL 24(SP), R10 - ROLL $0x01, R10 - MOVL R10, 16(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BX)(R10*1), BX - ADDL R8, BX - MOVL 20(SP), R10 - XORL 8(SP), R10 - XORL 52(SP), R10 - XORL 28(SP), R10 - ROLL $0x01, R10 - MOVL R10, 20(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 3395469782(AX)(R10*1), AX - ADDL R8, AX - MOVL 24(SP), R10 - XORL 12(SP), R10 - XORL 56(SP), R10 - XORL 32(SP), R10 - ROLL $0x01, R10 - MOVL R10, 24(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BP)(R10*1), BP - ADDL R8, BP - MOVL 28(SP), R10 - XORL 16(SP), R10 - XORL 60(SP), R10 - XORL 36(SP), R10 - ROLL $0x01, R10 - MOVL R10, 28(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 3395469782(DX)(R10*1), DX - ADDL R8, DX - MOVL 32(SP), R10 - XORL 20(SP), R10 - XORL (SP), R10 - XORL 40(SP), R10 - ROLL $0x01, R10 - MOVL R10, 32(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 3395469782(CX)(R10*1), CX - ADDL R8, CX - MOVL 36(SP), R10 - XORL 24(SP), R10 - XORL 4(SP), R10 - XORL 44(SP), R10 - ROLL $0x01, R10 - MOVL R10, 36(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BX)(R10*1), BX - ADDL R8, BX - MOVL 40(SP), R10 - XORL 28(SP), R10 - XORL 8(SP), R10 - XORL 48(SP), R10 - ROLL $0x01, R10 - MOVL R10, 40(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 3395469782(AX)(R10*1), AX - ADDL R8, AX - MOVL 44(SP), R10 - XORL 32(SP), R10 - XORL 12(SP), R10 - XORL 52(SP), R10 - ROLL $0x01, R10 - MOVL R10, 44(SP) - MOVL BX, R9 - XORL CX, R9 - XORL DX, R9 - ROLL $0x1e, BX - ADDL R9, BP - MOVL AX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BP)(R10*1), BP - ADDL R8, BP - MOVL 48(SP), R10 - XORL 36(SP), R10 - XORL 16(SP), R10 - XORL 56(SP), R10 - ROLL $0x01, R10 - MOVL R10, 48(SP) - MOVL AX, R9 - XORL BX, R9 - XORL CX, R9 - ROLL $0x1e, AX - ADDL R9, DX - MOVL BP, R8 - ROLL $0x05, R8 - LEAL 3395469782(DX)(R10*1), DX - ADDL R8, DX - MOVL 52(SP), R10 - XORL 40(SP), R10 - XORL 20(SP), R10 - XORL 60(SP), R10 - ROLL $0x01, R10 - MOVL R10, 52(SP) - MOVL BP, R9 - XORL AX, R9 - XORL BX, R9 - ROLL $0x1e, BP - ADDL R9, CX - MOVL DX, R8 - ROLL $0x05, R8 - LEAL 3395469782(CX)(R10*1), CX - ADDL R8, CX - MOVL 56(SP), R10 - XORL 44(SP), R10 - XORL 24(SP), R10 - XORL (SP), R10 - ROLL $0x01, R10 - MOVL R10, 56(SP) - MOVL DX, R9 - XORL BP, R9 - XORL AX, R9 - ROLL $0x1e, DX - ADDL R9, BX - MOVL CX, R8 - ROLL $0x05, R8 - LEAL 3395469782(BX)(R10*1), BX - ADDL R8, BX - MOVL 60(SP), R10 - XORL 48(SP), R10 - XORL 28(SP), R10 - XORL 4(SP), R10 - ROLL $0x01, R10 - MOVL R10, 60(SP) - MOVL CX, R9 - XORL DX, R9 - XORL BP, R9 - ROLL $0x1e, CX - ADDL R9, AX - MOVL BX, R8 - ROLL $0x05, R8 - LEAL 3395469782(AX)(R10*1), AX - ADDL R8, AX - ADDL R11, AX - ADDL R12, BX - ADDL R13, CX - ADDL R14, DX - ADDL R15, BP - ADDQ $0x40, SI - CMPQ SI, DI - JB loop - -end: - MOVQ dig+0(FP), DI - MOVL AX, (DI) - MOVL BX, 4(DI) - MOVL CX, 8(DI) - MOVL DX, 12(DI) - MOVL BP, 16(DI) - RET - // func blockAVX2(dig *digest, p []byte) // Requires: AVX, AVX2, BMI, BMI2, CMOV TEXT ·blockAVX2(SB), $1408-32 -- 2.50.0