blob: fdcef222150f641a7fed2a0cc8574fad53b5a85c [file] [log] [blame] [edit]
// Code generated by command: go run sha512block_amd64_asm.go -out ../sha512block_amd64.s -pkg sha512. DO NOT EDIT.
//go:build !purego
#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
MOVQ dig+0(FP), SI
MOVQ p_base+8(FP), DI
MOVQ p_len+16(FP), DX
SHRQ $0x07, DX
SHLQ $0x07, DX
JZ done_hash
ADDQ DI, DX
MOVQ DX, 48(SP)
MOVQ (SI), AX
MOVQ 8(SI), BX
MOVQ 16(SI), CX
MOVQ 24(SI), R8
MOVQ 32(SI), DX
MOVQ 40(SI), R9
MOVQ 48(SI), R10
MOVQ 56(SI), R11
VMOVDQU PSHUFFLE_BYTE_FLIP_MASK<>+0(SB), Y9
loop0:
MOVQ ·_K+0(SB), BP
VMOVDQU (DI), Y4
VPSHUFB Y9, Y4, Y4
VMOVDQU 32(DI), Y5
VPSHUFB Y9, Y5, Y5
VMOVDQU 64(DI), Y6
VPSHUFB Y9, Y6, Y6
VMOVDQU 96(DI), Y7
VPSHUFB Y9, Y7, Y7
MOVQ DI, 40(SP)
MOVQ $0x00000004, 32(SP)
loop1:
VPADDQ (BP), Y4, Y0
VMOVDQU Y0, (SP)
VPERM2F128 $0x03, Y6, Y7, Y0
VPALIGNR $0x08, Y6, Y0, Y0
VPADDQ Y4, Y0, Y0
VPERM2F128 $0x03, Y4, Y5, Y1
VPALIGNR $0x08, Y4, Y1, Y1
VPSRLQ $0x01, Y1, Y2
VPSLLQ $0x3f, Y1, Y3
VPOR Y2, Y3, Y3
VPSRLQ $0x07, Y1, Y8
MOVQ AX, DI
RORXQ $0x29, DX, R13
RORXQ $0x12, DX, R14
ADDQ (SP), R11
ORQ CX, DI
MOVQ R9, R15
RORXQ $0x22, AX, R12
XORQ R14, R13
XORQ R10, R15
RORXQ $0x0e, DX, R14
ANDQ DX, R15
XORQ R14, R13
RORXQ $0x27, AX, R14
ADDQ R11, R8
ANDQ BX, DI
XORQ R12, R14
RORXQ $0x1c, AX, R12
XORQ R10, R15
XORQ R12, R14
MOVQ AX, R12
ANDQ CX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R11
ADDQ R15, R8
ADDQ R15, R11
ADDQ DI, R11
VPSRLQ $0x08, Y1, Y2
VPSLLQ $0x38, Y1, Y1
VPOR Y2, Y1, Y1
VPXOR Y8, Y3, Y3
VPXOR Y1, Y3, Y1
VPADDQ Y1, Y0, Y0
VPERM2F128 $0x00, Y0, Y0, Y4
VPAND MASK_YMM_LO<>+0(SB), Y0, Y0
VPERM2F128 $0x11, Y7, Y7, Y2
VPSRLQ $0x06, Y2, Y8
MOVQ R11, DI
RORXQ $0x29, R8, R13
RORXQ $0x12, R8, R14
ADDQ 8(SP), R10
ORQ BX, DI
MOVQ DX, R15
RORXQ $0x22, R11, R12
XORQ R14, R13
XORQ R9, R15
RORXQ $0x0e, R8, R14
XORQ R14, R13
RORXQ $0x27, R11, R14
ANDQ R8, R15
ADDQ R10, CX
ANDQ AX, DI
XORQ R12, R14
RORXQ $0x1c, R11, R12
XORQ R9, R15
XORQ R12, R14
MOVQ R11, R12
ANDQ BX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R10
ADDQ R15, CX
ADDQ R15, R10
ADDQ DI, R10
VPSRLQ $0x13, Y2, Y3
VPSLLQ $0x2d, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y2, Y3
VPSLLQ $0x03, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y4, Y4
VPSRLQ $0x06, Y4, Y8
MOVQ R10, DI
RORXQ $0x29, CX, R13
ADDQ 16(SP), R9
RORXQ $0x12, CX, R14
ORQ AX, DI
MOVQ R8, R15
XORQ DX, R15
RORXQ $0x22, R10, R12
XORQ R14, R13
ANDQ CX, R15
RORXQ $0x0e, CX, R14
ADDQ R9, BX
ANDQ R11, DI
XORQ R14, R13
RORXQ $0x27, R10, R14
XORQ DX, R15
XORQ R12, R14
RORXQ $0x1c, R10, R12
XORQ R12, R14
MOVQ R10, R12
ANDQ AX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R9
ADDQ R15, BX
ADDQ R15, R9
ADDQ DI, R9
VPSRLQ $0x13, Y4, Y3
VPSLLQ $0x2d, Y4, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y4, Y3
VPSLLQ $0x03, Y4, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y0, Y2
VPBLENDD $0xf0, Y2, Y4, Y4
MOVQ R9, DI
RORXQ $0x29, BX, R13
RORXQ $0x12, BX, R14
ADDQ 24(SP), DX
ORQ R11, DI
MOVQ CX, R15
RORXQ $0x22, R9, R12
XORQ R14, R13
XORQ R8, R15
RORXQ $0x0e, BX, R14
ANDQ BX, R15
ADDQ DX, AX
ANDQ R10, DI
XORQ R14, R13
XORQ R8, R15
RORXQ $0x27, R9, R14
ADDQ R13, R15
XORQ R12, R14
ADDQ R15, AX
RORXQ $0x1c, R9, R12
XORQ R12, R14
MOVQ R9, R12
ANDQ R11, R12
ORQ R12, DI
ADDQ R14, DX
ADDQ R15, DX
ADDQ DI, DX
VPADDQ 32(BP), Y5, Y0
VMOVDQU Y0, (SP)
VPERM2F128 $0x03, Y7, Y4, Y0
VPALIGNR $0x08, Y7, Y0, Y0
VPADDQ Y5, Y0, Y0
VPERM2F128 $0x03, Y5, Y6, Y1
VPALIGNR $0x08, Y5, Y1, Y1
VPSRLQ $0x01, Y1, Y2
VPSLLQ $0x3f, Y1, Y3
VPOR Y2, Y3, Y3
VPSRLQ $0x07, Y1, Y8
MOVQ DX, DI
RORXQ $0x29, AX, R13
RORXQ $0x12, AX, R14
ADDQ (SP), R8
ORQ R10, DI
MOVQ BX, R15
RORXQ $0x22, DX, R12
XORQ R14, R13
XORQ CX, R15
RORXQ $0x0e, AX, R14
ANDQ AX, R15
XORQ R14, R13
RORXQ $0x27, DX, R14
ADDQ R8, R11
ANDQ R9, DI
XORQ R12, R14
RORXQ $0x1c, DX, R12
XORQ CX, R15
XORQ R12, R14
MOVQ DX, R12
ANDQ R10, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R8
ADDQ R15, R11
ADDQ R15, R8
ADDQ DI, R8
VPSRLQ $0x08, Y1, Y2
VPSLLQ $0x38, Y1, Y1
VPOR Y2, Y1, Y1
VPXOR Y8, Y3, Y3
VPXOR Y1, Y3, Y1
VPADDQ Y1, Y0, Y0
VPERM2F128 $0x00, Y0, Y0, Y5
VPAND MASK_YMM_LO<>+0(SB), Y0, Y0
VPERM2F128 $0x11, Y4, Y4, Y2
VPSRLQ $0x06, Y2, Y8
MOVQ R8, DI
RORXQ $0x29, R11, R13
RORXQ $0x12, R11, R14
ADDQ 8(SP), CX
ORQ R9, DI
MOVQ AX, R15
RORXQ $0x22, R8, R12
XORQ R14, R13
XORQ BX, R15
RORXQ $0x0e, R11, R14
XORQ R14, R13
RORXQ $0x27, R8, R14
ANDQ R11, R15
ADDQ CX, R10
ANDQ DX, DI
XORQ R12, R14
RORXQ $0x1c, R8, R12
XORQ BX, R15
XORQ R12, R14
MOVQ R8, R12
ANDQ R9, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, CX
ADDQ R15, R10
ADDQ R15, CX
ADDQ DI, CX
VPSRLQ $0x13, Y2, Y3
VPSLLQ $0x2d, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y2, Y3
VPSLLQ $0x03, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y5, Y5
VPSRLQ $0x06, Y5, Y8
MOVQ CX, DI
RORXQ $0x29, R10, R13
ADDQ 16(SP), BX
RORXQ $0x12, R10, R14
ORQ DX, DI
MOVQ R11, R15
XORQ AX, R15
RORXQ $0x22, CX, R12
XORQ R14, R13
ANDQ R10, R15
RORXQ $0x0e, R10, R14
ADDQ BX, R9
ANDQ R8, DI
XORQ R14, R13
RORXQ $0x27, CX, R14
XORQ AX, R15
XORQ R12, R14
RORXQ $0x1c, CX, R12
XORQ R12, R14
MOVQ CX, R12
ANDQ DX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, BX
ADDQ R15, R9
ADDQ R15, BX
ADDQ DI, BX
VPSRLQ $0x13, Y5, Y3
VPSLLQ $0x2d, Y5, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y5, Y3
VPSLLQ $0x03, Y5, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y0, Y2
VPBLENDD $0xf0, Y2, Y5, Y5
MOVQ BX, DI
RORXQ $0x29, R9, R13
RORXQ $0x12, R9, R14
ADDQ 24(SP), AX
ORQ R8, DI
MOVQ R10, R15
RORXQ $0x22, BX, R12
XORQ R14, R13
XORQ R11, R15
RORXQ $0x0e, R9, R14
ANDQ R9, R15
ADDQ AX, DX
ANDQ CX, DI
XORQ R14, R13
XORQ R11, R15
RORXQ $0x27, BX, R14
ADDQ R13, R15
XORQ R12, R14
ADDQ R15, DX
RORXQ $0x1c, BX, R12
XORQ R12, R14
MOVQ BX, R12
ANDQ R8, R12
ORQ R12, DI
ADDQ R14, AX
ADDQ R15, AX
ADDQ DI, AX
VPADDQ 64(BP), Y6, Y0
VMOVDQU Y0, (SP)
VPERM2F128 $0x03, Y4, Y5, Y0
VPALIGNR $0x08, Y4, Y0, Y0
VPADDQ Y6, Y0, Y0
VPERM2F128 $0x03, Y6, Y7, Y1
VPALIGNR $0x08, Y6, Y1, Y1
VPSRLQ $0x01, Y1, Y2
VPSLLQ $0x3f, Y1, Y3
VPOR Y2, Y3, Y3
VPSRLQ $0x07, Y1, Y8
MOVQ AX, DI
RORXQ $0x29, DX, R13
RORXQ $0x12, DX, R14
ADDQ (SP), R11
ORQ CX, DI
MOVQ R9, R15
RORXQ $0x22, AX, R12
XORQ R14, R13
XORQ R10, R15
RORXQ $0x0e, DX, R14
ANDQ DX, R15
XORQ R14, R13
RORXQ $0x27, AX, R14
ADDQ R11, R8
ANDQ BX, DI
XORQ R12, R14
RORXQ $0x1c, AX, R12
XORQ R10, R15
XORQ R12, R14
MOVQ AX, R12
ANDQ CX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R11
ADDQ R15, R8
ADDQ R15, R11
ADDQ DI, R11
VPSRLQ $0x08, Y1, Y2
VPSLLQ $0x38, Y1, Y1
VPOR Y2, Y1, Y1
VPXOR Y8, Y3, Y3
VPXOR Y1, Y3, Y1
VPADDQ Y1, Y0, Y0
VPERM2F128 $0x00, Y0, Y0, Y6
VPAND MASK_YMM_LO<>+0(SB), Y0, Y0
VPERM2F128 $0x11, Y5, Y5, Y2
VPSRLQ $0x06, Y2, Y8
MOVQ R11, DI
RORXQ $0x29, R8, R13
RORXQ $0x12, R8, R14
ADDQ 8(SP), R10
ORQ BX, DI
MOVQ DX, R15
RORXQ $0x22, R11, R12
XORQ R14, R13
XORQ R9, R15
RORXQ $0x0e, R8, R14
XORQ R14, R13
RORXQ $0x27, R11, R14
ANDQ R8, R15
ADDQ R10, CX
ANDQ AX, DI
XORQ R12, R14
RORXQ $0x1c, R11, R12
XORQ R9, R15
XORQ R12, R14
MOVQ R11, R12
ANDQ BX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R10
ADDQ R15, CX
ADDQ R15, R10
ADDQ DI, R10
VPSRLQ $0x13, Y2, Y3
VPSLLQ $0x2d, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y2, Y3
VPSLLQ $0x03, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y6, Y6
VPSRLQ $0x06, Y6, Y8
MOVQ R10, DI
RORXQ $0x29, CX, R13
ADDQ 16(SP), R9
RORXQ $0x12, CX, R14
ORQ AX, DI
MOVQ R8, R15
XORQ DX, R15
RORXQ $0x22, R10, R12
XORQ R14, R13
ANDQ CX, R15
RORXQ $0x0e, CX, R14
ADDQ R9, BX
ANDQ R11, DI
XORQ R14, R13
RORXQ $0x27, R10, R14
XORQ DX, R15
XORQ R12, R14
RORXQ $0x1c, R10, R12
XORQ R12, R14
MOVQ R10, R12
ANDQ AX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R9
ADDQ R15, BX
ADDQ R15, R9
ADDQ DI, R9
VPSRLQ $0x13, Y6, Y3
VPSLLQ $0x2d, Y6, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y6, Y3
VPSLLQ $0x03, Y6, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y0, Y2
VPBLENDD $0xf0, Y2, Y6, Y6
MOVQ R9, DI
RORXQ $0x29, BX, R13
RORXQ $0x12, BX, R14
ADDQ 24(SP), DX
ORQ R11, DI
MOVQ CX, R15
RORXQ $0x22, R9, R12
XORQ R14, R13
XORQ R8, R15
RORXQ $0x0e, BX, R14
ANDQ BX, R15
ADDQ DX, AX
ANDQ R10, DI
XORQ R14, R13
XORQ R8, R15
RORXQ $0x27, R9, R14
ADDQ R13, R15
XORQ R12, R14
ADDQ R15, AX
RORXQ $0x1c, R9, R12
XORQ R12, R14
MOVQ R9, R12
ANDQ R11, R12
ORQ R12, DI
ADDQ R14, DX
ADDQ R15, DX
ADDQ DI, DX
VPADDQ 96(BP), Y7, Y0
VMOVDQU Y0, (SP)
ADDQ $0x80, BP
VPERM2F128 $0x03, Y5, Y6, Y0
VPALIGNR $0x08, Y5, Y0, Y0
VPADDQ Y7, Y0, Y0
VPERM2F128 $0x03, Y7, Y4, Y1
VPALIGNR $0x08, Y7, Y1, Y1
VPSRLQ $0x01, Y1, Y2
VPSLLQ $0x3f, Y1, Y3
VPOR Y2, Y3, Y3
VPSRLQ $0x07, Y1, Y8
MOVQ DX, DI
RORXQ $0x29, AX, R13
RORXQ $0x12, AX, R14
ADDQ (SP), R8
ORQ R10, DI
MOVQ BX, R15
RORXQ $0x22, DX, R12
XORQ R14, R13
XORQ CX, R15
RORXQ $0x0e, AX, R14
ANDQ AX, R15
XORQ R14, R13
RORXQ $0x27, DX, R14
ADDQ R8, R11
ANDQ R9, DI
XORQ R12, R14
RORXQ $0x1c, DX, R12
XORQ CX, R15
XORQ R12, R14
MOVQ DX, R12
ANDQ R10, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, R8
ADDQ R15, R11
ADDQ R15, R8
ADDQ DI, R8
VPSRLQ $0x08, Y1, Y2
VPSLLQ $0x38, Y1, Y1
VPOR Y2, Y1, Y1
VPXOR Y8, Y3, Y3
VPXOR Y1, Y3, Y1
VPADDQ Y1, Y0, Y0
VPERM2F128 $0x00, Y0, Y0, Y7
VPAND MASK_YMM_LO<>+0(SB), Y0, Y0
VPERM2F128 $0x11, Y6, Y6, Y2
VPSRLQ $0x06, Y2, Y8
MOVQ R8, DI
RORXQ $0x29, R11, R13
RORXQ $0x12, R11, R14
ADDQ 8(SP), CX
ORQ R9, DI
MOVQ AX, R15
RORXQ $0x22, R8, R12
XORQ R14, R13
XORQ BX, R15
RORXQ $0x0e, R11, R14
XORQ R14, R13
RORXQ $0x27, R8, R14
ANDQ R11, R15
ADDQ CX, R10
ANDQ DX, DI
XORQ R12, R14
RORXQ $0x1c, R8, R12
XORQ BX, R15
XORQ R12, R14
MOVQ R8, R12
ANDQ R9, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, CX
ADDQ R15, R10
ADDQ R15, CX
ADDQ DI, CX
VPSRLQ $0x13, Y2, Y3
VPSLLQ $0x2d, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y2, Y3
VPSLLQ $0x03, Y2, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y7, Y7
VPSRLQ $0x06, Y7, Y8
MOVQ CX, DI
RORXQ $0x29, R10, R13
ADDQ 16(SP), BX
RORXQ $0x12, R10, R14
ORQ DX, DI
MOVQ R11, R15
XORQ AX, R15
RORXQ $0x22, CX, R12
XORQ R14, R13
ANDQ R10, R15
RORXQ $0x0e, R10, R14
ADDQ BX, R9
ANDQ R8, DI
XORQ R14, R13
RORXQ $0x27, CX, R14
XORQ AX, R15
XORQ R12, R14
RORXQ $0x1c, CX, R12
XORQ R12, R14
MOVQ CX, R12
ANDQ DX, R12
ADDQ R13, R15
ORQ R12, DI
ADDQ R14, BX
ADDQ R15, R9
ADDQ R15, BX
ADDQ DI, BX
VPSRLQ $0x13, Y7, Y3
VPSLLQ $0x2d, Y7, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPSRLQ $0x3d, Y7, Y3
VPSLLQ $0x03, Y7, Y1
VPOR Y1, Y3, Y3
VPXOR Y3, Y8, Y8
VPADDQ Y8, Y0, Y2
VPBLENDD $0xf0, Y2, Y7, Y7
MOVQ BX, DI
RORXQ $0x29, R9, R13
RORXQ $0x12, R9, R14
ADDQ 24(SP), AX
ORQ R8, DI
MOVQ R10, R15
RORXQ $0x22, BX, R12
XORQ R14, R13
XORQ R11, R15
RORXQ $0x0e, R9, R14
ANDQ R9, R15
ADDQ AX, DX
ANDQ CX, DI
XORQ R14, R13
XORQ R11, R15
RORXQ $0x27, BX, R14
ADDQ R13, R15
XORQ R12, R14
ADDQ R15, DX
RORXQ $0x1c, BX, R12
XORQ R12, R14
MOVQ BX, R12
ANDQ R8, R12
ORQ R12, DI
ADDQ R14, AX
ADDQ R15, AX
ADDQ DI, AX
SUBQ $0x01, 32(SP)
JNE loop1
MOVQ $0x00000002, 32(SP)
loop2:
VPADDQ (BP), Y4, Y0
VMOVDQU Y0, (SP)
MOVQ R9, R15
RORXQ $0x29, DX, R13
RORXQ $0x12, DX, R14
XORQ R10, R15
XORQ R14, R13
RORXQ $0x0e, DX, R14
ANDQ DX, R15
XORQ R14, R13
RORXQ $0x22, AX, R12
XORQ R10, R15
RORXQ $0x27, AX, R14
MOVQ AX, DI
XORQ R12, R14
RORXQ $0x1c, AX, R12
ADDQ (SP), R11
ORQ CX, DI
XORQ R12, R14
MOVQ AX, R12
ANDQ BX, DI
ANDQ CX, R12
ADDQ R13, R15
ADDQ R11, R8
ORQ R12, DI
ADDQ R14, R11
ADDQ R15, R8
ADDQ R15, R11
MOVQ DX, R15
RORXQ $0x29, R8, R13
RORXQ $0x12, R8, R14
XORQ R9, R15
XORQ R14, R13
RORXQ $0x0e, R8, R14
ANDQ R8, R15
ADDQ DI, R11
XORQ R14, R13
RORXQ $0x22, R11, R12
XORQ R9, R15
RORXQ $0x27, R11, R14
MOVQ R11, DI
XORQ R12, R14
RORXQ $0x1c, R11, R12
ADDQ 8(SP), R10
ORQ BX, DI
XORQ R12, R14
MOVQ R11, R12
ANDQ AX, DI
ANDQ BX, R12
ADDQ R13, R15
ADDQ R10, CX
ORQ R12, DI
ADDQ R14, R10
ADDQ R15, CX
ADDQ R15, R10
MOVQ R8, R15
RORXQ $0x29, CX, R13
RORXQ $0x12, CX, R14
XORQ DX, R15
XORQ R14, R13
RORXQ $0x0e, CX, R14
ANDQ CX, R15
ADDQ DI, R10
XORQ R14, R13
RORXQ $0x22, R10, R12
XORQ DX, R15
RORXQ $0x27, R10, R14
MOVQ R10, DI
XORQ R12, R14
RORXQ $0x1c, R10, R12
ADDQ 16(SP), R9
ORQ AX, DI
XORQ R12, R14
MOVQ R10, R12
ANDQ R11, DI
ANDQ AX, R12
ADDQ R13, R15
ADDQ R9, BX
ORQ R12, DI
ADDQ R14, R9
ADDQ R15, BX
ADDQ R15, R9
MOVQ CX, R15
RORXQ $0x29, BX, R13
RORXQ $0x12, BX, R14
XORQ R8, R15
XORQ R14, R13
RORXQ $0x0e, BX, R14
ANDQ BX, R15
ADDQ DI, R9
XORQ R14, R13
RORXQ $0x22, R9, R12
XORQ R8, R15
RORXQ $0x27, R9, R14
MOVQ R9, DI
XORQ R12, R14
RORXQ $0x1c, R9, R12
ADDQ 24(SP), DX
ORQ R11, DI
XORQ R12, R14
MOVQ R9, R12
ANDQ R10, DI
ANDQ R11, R12
ADDQ R13, R15
ADDQ DX, AX
ORQ R12, DI
ADDQ R14, DX
ADDQ R15, AX
ADDQ R15, DX
ADDQ DI, DX
VPADDQ 32(BP), Y5, Y0
VMOVDQU Y0, (SP)
ADDQ $0x40, BP
MOVQ BX, R15
RORXQ $0x29, AX, R13
RORXQ $0x12, AX, R14
XORQ CX, R15
XORQ R14, R13
RORXQ $0x0e, AX, R14
ANDQ AX, R15
XORQ R14, R13
RORXQ $0x22, DX, R12
XORQ CX, R15
RORXQ $0x27, DX, R14
MOVQ DX, DI
XORQ R12, R14
RORXQ $0x1c, DX, R12
ADDQ (SP), R8
ORQ R10, DI
XORQ R12, R14
MOVQ DX, R12
ANDQ R9, DI
ANDQ R10, R12
ADDQ R13, R15
ADDQ R8, R11
ORQ R12, DI
ADDQ R14, R8
ADDQ R15, R11
ADDQ R15, R8
MOVQ AX, R15
RORXQ $0x29, R11, R13
RORXQ $0x12, R11, R14
XORQ BX, R15
XORQ R14, R13
RORXQ $0x0e, R11, R14
ANDQ R11, R15
ADDQ DI, R8
XORQ R14, R13
RORXQ $0x22, R8, R12
XORQ BX, R15
RORXQ $0x27, R8, R14
MOVQ R8, DI
XORQ R12, R14
RORXQ $0x1c, R8, R12
ADDQ 8(SP), CX
ORQ R9, DI
XORQ R12, R14
MOVQ R8, R12
ANDQ DX, DI
ANDQ R9, R12
ADDQ R13, R15
ADDQ CX, R10
ORQ R12, DI
ADDQ R14, CX
ADDQ R15, R10
ADDQ R15, CX
MOVQ R11, R15
RORXQ $0x29, R10, R13
RORXQ $0x12, R10, R14
XORQ AX, R15
XORQ R14, R13
RORXQ $0x0e, R10, R14
ANDQ R10, R15
ADDQ DI, CX
XORQ R14, R13
RORXQ $0x22, CX, R12
XORQ AX, R15
RORXQ $0x27, CX, R14
MOVQ CX, DI
XORQ R12, R14
RORXQ $0x1c, CX, R12
ADDQ 16(SP), BX
ORQ DX, DI
XORQ R12, R14
MOVQ CX, R12
ANDQ R8, DI
ANDQ DX, R12
ADDQ R13, R15
ADDQ BX, R9
ORQ R12, DI
ADDQ R14, BX
ADDQ R15, R9
ADDQ R15, BX
MOVQ R10, R15
RORXQ $0x29, R9, R13
RORXQ $0x12, R9, R14
XORQ R11, R15
XORQ R14, R13
RORXQ $0x0e, R9, R14
ANDQ R9, R15
ADDQ DI, BX
XORQ R14, R13
RORXQ $0x22, BX, R12
XORQ R11, R15
RORXQ $0x27, BX, R14
MOVQ BX, DI
XORQ R12, R14
RORXQ $0x1c, BX, R12
ADDQ 24(SP), AX
ORQ R8, DI
XORQ R12, R14
MOVQ BX, R12
ANDQ CX, DI
ANDQ R8, R12
ADDQ R13, R15
ADDQ AX, DX
ORQ R12, DI
ADDQ R14, AX
ADDQ R15, DX
ADDQ R15, AX
ADDQ DI, AX
VMOVDQU Y6, Y4
VMOVDQU Y7, Y5
SUBQ $0x01, 32(SP)
JNE loop2
ADDQ (SI), AX
MOVQ AX, (SI)
ADDQ 8(SI), BX
MOVQ BX, 8(SI)
ADDQ 16(SI), CX
MOVQ CX, 16(SI)
ADDQ 24(SI), R8
MOVQ R8, 24(SI)
ADDQ 32(SI), DX
MOVQ DX, 32(SI)
ADDQ 40(SI), R9
MOVQ R9, 40(SI)
ADDQ 48(SI), R10
MOVQ R10, 48(SI)
ADDQ 56(SI), R11
MOVQ R11, 56(SI)
MOVQ 40(SP), DI
ADDQ $0x80, DI
CMPQ DI, 48(SP)
JNE loop0
done_hash:
VZEROUPPER
RET
DATA MASK_YMM_LO<>+0(SB)/8, $0x0000000000000000
DATA MASK_YMM_LO<>+8(SB)/8, $0x0000000000000000
DATA MASK_YMM_LO<>+16(SB)/8, $0xffffffffffffffff
DATA MASK_YMM_LO<>+24(SB)/8, $0xffffffffffffffff
GLOBL MASK_YMM_LO<>(SB), RODATA|NOPTR, $32