1e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%ifidn __OUTPUT_FORMAT__,obj
2e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection	code	use32 class=code align=64
3e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%elifidn __OUTPUT_FORMAT__,win32
4e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%ifdef __YASM_VERSION_ID__
5e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%if __YASM_VERSION_ID__ < 01010000h
6e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%error yasm version 1.1.0 or later needed.
7e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%endif
8e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley; Yasm automatically includes .00 and complains about redefining it.
9e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
10e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%else
11e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$@feat.00 equ 1
12e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%endif
13e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection	.text	code align=64
14e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%else
15e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection	.text	code
16e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%endif
17e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley;extern	_OPENSSL_ia32cap_P
18e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal	_sha256_block_data_order
19e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
20e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley_sha256_block_data_order:
21e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_sha256_block_data_order_begin:
22e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ebp
23e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ebx
24e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	esi
25e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	edi
26e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
27e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
28e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [28+esp]
29e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esp
30e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	call	L$000pic_point
31e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$000pic_point:
32e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebp
33e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebp,[(L$001K256-L$000pic_point)+ebp]
34e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	sub	esp,16
35e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esp,-64
36e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shl	eax,6
37e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edi
38e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],esi
39e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],edi
40e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
41e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebx
42e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[_OPENSSL_ia32cap_P]
43e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [edx]
44e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [4+edx]
45e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	test	ecx,1048576
46e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jnz	NEAR L$002loop
47e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [8+edx]
48e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	test	ecx,16777216
49e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jz	NEAR L$003no_xmm
50e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,1073741824
51e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,268435968
52e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	test	edx,536870912
53e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jnz	NEAR L$004shaext
54e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	or	ecx,ebx
55e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,1342177280
56e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	ecx,1342177280
57e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	test	ebx,512
58e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jnz	NEAR L$005SSSE3
59e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$003no_xmm:
60e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	sub	eax,edi
61e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	eax,256
62e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jae	NEAR L$006unrolled
63e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jmp	NEAR L$002loop
64e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
65e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$002loop:
66e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [edi]
67e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [4+edi]
68e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+edi]
69e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	eax
70e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [12+edi]
71e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
72e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	eax
73e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
74e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ebx
75e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	edx
76e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ecx
77e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	edx
78e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [16+edi]
79e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [20+edi]
80e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+edi]
81e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	eax
82e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [28+edi]
83e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
84e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	eax
85e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
86e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ebx
87e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	edx
88e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ecx
89e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	edx
90e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [32+edi]
91e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [36+edi]
92e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [40+edi]
93e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	eax
94e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [44+edi]
95e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
96e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	eax
97e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
98e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ebx
99e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	edx
100e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ecx
101e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	edx
102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [48+edi]
103e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [52+edi]
104e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [56+edi]
105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	eax
106e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [60+edi]
107e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
108e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	eax
109e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
110e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ebx
111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	edx
112e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	ecx
113e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	push	edx
114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,64
115e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	esp,[esp-36]
116e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [104+esp],edi
117e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [esi]
118e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [4+esi]
119e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esi]
120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esi]
121e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ebx
122e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
124e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],edi
125e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ebx
126e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [16+esi]
127e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [20+esi]
128e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esi]
129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esi]
130e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ebx
131e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ecx
132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [32+esp],edi
133e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
134e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$00700_15:
135e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
136e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [24+esp]
137e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,14
138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
139e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edx
140e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [96+esp]
142e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,5
143e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,edx
144e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],edx
145e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
146e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
148e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
149e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,esi
151e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
152e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
153e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
154e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
155e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],eax
156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	esp,[esp-4]
157e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
158e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [ebp]
159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
160e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [20+esp]
161e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
162e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
163e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,esi
164e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,ebx
166e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,DWORD [4+esp]
167e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
169e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,4
170e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ebx
171e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	esi,3248222580
172e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jne	NEAR L$00700_15
173e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [156+esp]
174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jmp	NEAR L$00816_63
175e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
176e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$00816_63:
177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
178e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [104+esp]
179e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
180e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
181e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
182e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
184e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
185e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
187e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
188e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [160+esp]
189e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
190e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [124+esp]
191e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
193e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [24+esp]
194e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,14
195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
196e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
197e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edx
198e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
199e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [96+esp],ebx
200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,5
201e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,edx
202e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],edx
203e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
205e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
206e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
208e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,esi
209e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
210e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
211e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
212e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
213e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],eax
214e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	esp,[esp-4]
215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
216e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [ebp]
217e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [20+esp]
219e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
220e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
221e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,esi
222e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
223e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,ebx
224e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,DWORD [4+esp]
225e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
227e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [156+esp]
228e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,4
229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ebx
230e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	esi,3329325298
231e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jne	NEAR L$00816_63
232e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [356+esp]
233e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [8+esp]
234e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
235e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,DWORD [esi]
236e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esi]
237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,DWORD [8+esi]
238e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ecx,DWORD [12+esi]
239e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esi],eax
240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esi],ebx
241e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esi],edi
242e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esi],ecx
243e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [24+esp]
244e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [28+esp]
245e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [32+esp]
246e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [360+esp]
247e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esi]
248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,DWORD [20+esi]
249e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esi]
250e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ecx,DWORD [28+esi]
251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esi],edx
252e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esi],eax
253e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esi],ebx
254e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esi],ecx
255e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	esp,[356+esp]
256e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	sub	ebp,256
257e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	edi,DWORD [8+esp]
258e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jb	NEAR L$002loop
259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esp,DWORD [12+esp]
260e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	edi
261e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	esi
262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebx
263e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebp
264e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ret
265e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	64
266e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$001K256:
267e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd	1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
268e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd	66051,67438087,134810123,202182159
269e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
271e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
272e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	62,0
274e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
275e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$006unrolled:
276e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	esp,[esp-96]
277e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [esi]
278e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebp,DWORD [4+esi]
279e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esi]
280e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [12+esi]
281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
282e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,ecx
283e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebx
285e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [16+esi]
286e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [20+esi]
287e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esi]
288e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esi]
289e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebx
290e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
291e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jmp	NEAR L$009grand_loop
293e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
294e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$009grand_loop:
295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [edi]
296e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [4+edi]
297e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
298e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [8+edi]
299e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
300e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [32+esp],ebx
301e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	esi
302e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [36+esp],ecx
303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [40+esp],esi
304e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [12+edi]
305e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+edi]
306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
307e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+edi]
308e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
309e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [44+esp],ebx
310e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	esi
311e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [48+esp],ecx
312e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [52+esp],esi
313e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [24+edi]
314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [28+edi]
315e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
316e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+edi]
317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
318e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [56+esp],ebx
319e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	esi
320e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [60+esp],ecx
321e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [64+esp],esi
322e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [36+edi]
323e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [40+edi]
324e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [44+edi]
326e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
327e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [68+esp],ebx
328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	esi
329e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [72+esp],ecx
330e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [76+esp],esi
331e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [48+edi]
332e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+edi]
333e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
334e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+edi]
335e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ecx
336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [80+esp],ebx
337e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	esi
338e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [84+esp],ecx
339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [88+esp],esi
340e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [60+edi]
341e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,64
342e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	bswap	ebx
343e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [100+esp],edi
344e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [92+esp],ebx
345e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
346e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
348e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
349e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [32+esp]
351e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
352e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
353e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
354e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
355e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
356e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
357e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
359e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
360e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
362e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
363e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
364e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
365e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
366e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
367e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
368e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1116352408+edx*1+ebx]
370e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
371e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
373e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
374e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
375e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
376e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
377e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
378e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
380e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [36+esp]
382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
383e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
384e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
385e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
386e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
387e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
388e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
391e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
392e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
393e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
394e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
395e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
396e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
399e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
400e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1899447441+edx*1+ebx]
401e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
402e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
403e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
404e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
407e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
408e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
409e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
410e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
411e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
412e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [40+esp]
413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
415e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
416e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
417e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
418e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
419e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
420e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
423e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
424e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
425e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
426e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
427e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
428e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
431e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3049323471+edx*1+ebx]
432e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
433e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
434e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
435e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
436e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
439e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
440e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
441e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
442e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
443e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [44+esp]
444e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
447e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
448e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
449e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
450e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
451e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
452e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
455e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
456e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
457e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
458e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
459e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
460e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3921009573+edx*1+ebx]
463e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
464e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
465e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
466e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
467e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
468e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
471e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
472e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
473e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
474e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [48+esp]
475e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
476e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
479e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
480e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
481e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
482e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
483e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
484e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
487e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
488e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
489e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
490e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
491e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
492e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[961987163+edx*1+ebx]
494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
495e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
496e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
497e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
498e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
499e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
500e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
503e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
504e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
505e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [52+esp]
506e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
507e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
508e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
511e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
513e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
514e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
515e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
518e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
519e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
520e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
522e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
523e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
524e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1508970993+edx*1+ebx]
525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
527e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
528e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
529e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
531e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
532e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
533e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
536e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [56+esp]
537e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
538e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
540e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
541e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
542e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
545e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
546e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
547e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
549e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
550e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
551e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
554e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
555e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2453635748+edx*1+ebx]
556e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
558e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
559e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
560e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
563e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
564e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
565e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
567e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [60+esp]
568e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
569e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
572e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
573e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
574e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
576e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
577e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
578e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
581e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
582e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
583e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
585e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
586e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2870763221+edx*1+ebx]
587e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
590e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
591e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
592e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
593e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
594e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
595e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
596e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
597e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
598e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [64+esp]
599e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
600e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
601e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
602e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
603e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
604e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
605e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
606e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
607e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
608e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
609e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
610e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
611e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
612e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
613e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
614e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
615e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
616e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
617e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3624381080+edx*1+ebx]
618e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
619e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
620e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
621e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
622e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
623e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
624e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
625e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
626e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
627e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
628e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
629e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [68+esp]
630e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
631e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
632e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
633e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
634e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
635e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
636e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
637e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
638e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
639e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
640e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
641e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
642e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
643e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
644e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
645e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
646e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
647e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
648e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[310598401+edx*1+ebx]
649e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
650e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
651e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
652e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
653e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
654e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
655e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
656e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
657e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
658e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
659e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
660e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [72+esp]
661e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
662e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
663e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
664e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
665e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
666e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
667e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
668e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
669e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
670e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
671e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
672e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
673e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
674e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
675e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
676e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
677e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
678e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
679e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[607225278+edx*1+ebx]
680e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
681e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
682e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
683e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
684e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
685e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
686e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
687e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
688e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
689e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
690e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
691e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [76+esp]
692e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
693e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
694e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
695e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
696e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
697e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
698e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
699e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
700e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
701e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
702e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
703e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
704e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
705e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
706e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
707e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
708e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
709e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
710e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1426881987+edx*1+ebx]
711e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
712e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
713e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
714e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
715e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
716e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
717e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
718e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
719e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
720e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
721e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
722e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [80+esp]
723e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
724e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
725e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
726e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
727e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
728e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
729e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
730e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
731e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
732e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
733e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
734e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
735e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
736e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
737e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
738e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
739e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
740e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
741e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1925078388+edx*1+ebx]
742e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
743e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
744e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
745e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
746e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
747e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
748e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
749e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
750e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
751e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
752e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
753e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [84+esp]
754e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
755e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
756e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
757e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
758e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
759e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
760e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
761e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
762e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
763e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
764e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
765e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
766e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
767e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
768e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
769e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
770e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
771e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
772e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2162078206+edx*1+ebx]
773e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
774e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
775e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
776e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
777e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
778e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
779e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
780e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
781e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
782e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
783e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
784e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [88+esp]
785e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
786e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
787e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
788e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
789e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
790e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
791e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
792e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
793e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
794e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
795e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
796e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
797e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
798e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
799e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
800e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
801e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
802e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
803e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2614888103+edx*1+ebx]
804e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
805e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
806e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
807e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
808e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
809e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
810e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
811e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
812e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
813e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
814e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
815e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [92+esp]
816e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
817e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
818e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
819e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
820e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
821e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
822e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
823e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
824e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
825e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
826e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
827e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
828e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
829e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
830e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
831e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
832e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
833e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
834e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3248222580+edx*1+ebx]
835e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
836e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
837e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [36+esp]
838e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
839e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
840e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
841e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
842e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [88+esp]
843e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
844e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
845e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
846e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
847e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
848e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
849e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
850e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
851e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
852e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
853e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
854e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
855e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [68+esp]
856e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
857e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
858e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
859e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
860e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
861e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
862e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
863e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [32+esp],ebx
864e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
865e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
866e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
867e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
868e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
869e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
870e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
871e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
872e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
873e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
874e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
875e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
876e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
877e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
878e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
879e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
880e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
881e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
882e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3835390401+edx*1+ebx]
883e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
884e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
885e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [40+esp]
886e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
887e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
888e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
889e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
890e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [92+esp]
891e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
892e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
893e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
894e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
895e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
896e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
897e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
898e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
899e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
900e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
901e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [36+esp]
902e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
903e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [72+esp]
904e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
905e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
906e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
907e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
908e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
909e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
910e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
911e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [36+esp],ebx
912e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
913e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
914e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
915e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
916e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
917e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
918e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
919e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
920e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
921e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
922e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
923e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
924e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
925e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
926e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
927e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
928e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
929e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
930e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[4022224774+edx*1+ebx]
931e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
932e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
933e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [44+esp]
934e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
935e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
936e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
937e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
938e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+esp]
939e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
940e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
941e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
942e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
943e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
944e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
945e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
946e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
947e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
948e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
949e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [40+esp]
950e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
951e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [76+esp]
952e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
953e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
954e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
955e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
956e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
957e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
958e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
959e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [40+esp],ebx
960e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
961e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
962e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
963e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
964e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
965e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
966e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
967e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
968e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
969e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
970e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
971e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
972e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
973e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
974e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
975e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
976e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
977e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
978e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[264347078+edx*1+ebx]
979e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
980e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
981e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [48+esp]
982e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
983e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
984e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
985e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
986e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [36+esp]
987e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
988e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
989e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
990e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
991e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
992e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
993e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
994e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
995e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
996e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
997e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [44+esp]
998e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
999e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [80+esp]
1000e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1001e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1002e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
1003e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1004e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1005e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
1006e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1007e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [44+esp],ebx
1008e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1009e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1010e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1011e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
1012e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1013e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
1014e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1015e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1016e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1017e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1018e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1019e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1020e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
1021e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1022e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
1023e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1024e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1025e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1026e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[604807628+edx*1+ebx]
1027e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1028e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1029e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+esp]
1030e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1031e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1032e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
1033e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1034e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [40+esp]
1035e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1036e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1037e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1038e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1039e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1040e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1041e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1042e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1043e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1044e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1045e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [48+esp]
1046e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1047e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [84+esp]
1048e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1049e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1050e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
1051e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1052e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1053e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
1054e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1055e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [48+esp],ebx
1056e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1057e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1058e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1059e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
1060e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1061e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
1062e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1063e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1064e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1065e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1066e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1067e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1068e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
1069e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1070e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
1071e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1072e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1073e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1074e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[770255983+edx*1+ebx]
1075e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1076e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1077e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+esp]
1078e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1079e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1080e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
1081e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1082e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [44+esp]
1083e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1084e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1085e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1086e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1087e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1088e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1089e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1090e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1091e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1092e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1093e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [52+esp]
1094e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1095e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [88+esp]
1096e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1097e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1098e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
1099e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1100e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1101e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
1102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1103e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [52+esp],ebx
1104e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1106e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1107e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
1108e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1109e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
1110e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1112e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1113e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1115e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1116e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
1117e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1118e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
1119e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1121e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1122e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1249150122+edx*1+ebx]
1123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1124e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1125e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [60+esp]
1126e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1127e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1128e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
1129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1130e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [48+esp]
1131e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1133e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1134e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1135e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1136e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1137e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1139e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1140e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [56+esp]
1142e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1143e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [92+esp]
1144e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1145e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1146e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
1147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1148e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1149e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
1150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1151e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [56+esp],ebx
1152e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1153e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1154e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1155e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
1156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1157e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
1158e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1160e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1161e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1162e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1163e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1164e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
1165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1166e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
1167e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1169e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1170e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1555081692+edx*1+ebx]
1171e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1172e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1173e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [64+esp]
1174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1175e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1176e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
1177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1178e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+esp]
1179e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1180e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1181e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1182e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1184e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1185e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1187e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1188e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1189e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [60+esp]
1190e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1191e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
1192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1193e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1194e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
1195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1196e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1197e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
1198e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1199e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [60+esp],ebx
1200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1201e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1202e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1203e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
1204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1205e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
1206e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1208e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1209e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1210e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1211e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1212e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
1213e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1214e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
1215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1216e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1217e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1996064986+edx*1+ebx]
1219e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1220e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1221e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [68+esp]
1222e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1223e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1224e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
1225e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+esp]
1227e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1228e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1230e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1231e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1232e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1233e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1234e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1235e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1236e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [64+esp]
1238e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1239e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [36+esp]
1240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1241e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1242e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
1243e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1244e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1245e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
1246e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1247e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [64+esp],ebx
1248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1249e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1250e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
1252e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1253e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
1254e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1255e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1256e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1257e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1258e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1260e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
1261e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
1263e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1264e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1265e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1266e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2554220882+edx*1+ebx]
1267e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1268e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1269e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [72+esp]
1270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1271e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1272e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
1273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1274e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [60+esp]
1275e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1276e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1277e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1278e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1279e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1280e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1282e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1283e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1285e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [68+esp]
1286e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1287e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [40+esp]
1288e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1289e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1290e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
1291e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1293e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
1294e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [68+esp],ebx
1296e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1297e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1298e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1299e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
1300e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1301e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
1302e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1304e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1305e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1307e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1308e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
1309e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1310e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
1311e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1312e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1313e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2821834349+edx*1+ebx]
1315e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1316e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [76+esp]
1318e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1319e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1320e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
1321e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1322e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [64+esp]
1323e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1324e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1326e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1327e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1329e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1330e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1331e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1332e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1333e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [72+esp]
1334e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1335e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [44+esp]
1336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1337e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1338e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
1339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1340e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1341e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
1342e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1343e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [72+esp],ebx
1344e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1345e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1346e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
1348e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1349e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
1350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1351e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1352e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1353e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1354e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1355e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1356e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
1357e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
1359e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1360e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1362e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2952996808+edx*1+ebx]
1363e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1364e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1365e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [80+esp]
1366e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1367e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1368e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
1369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1370e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [68+esp]
1371e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1373e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1374e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1375e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1376e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1377e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1378e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1380e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [76+esp]
1382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1383e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [48+esp]
1384e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1385e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1386e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
1387e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1388e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
1390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1391e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [76+esp],ebx
1392e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1393e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1394e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1395e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
1396e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
1398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1399e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1400e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1401e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1402e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1403e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1404e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
1405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
1407e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1408e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1409e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1410e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3210313671+edx*1+ebx]
1411e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1412e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [84+esp]
1414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1415e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1416e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
1417e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1418e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [72+esp]
1419e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1420e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1423e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1424e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1425e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1426e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1427e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1428e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [80+esp]
1430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1431e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [52+esp]
1432e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1433e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1434e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
1435e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1436e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
1438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1439e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [80+esp],ebx
1440e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1441e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1442e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1443e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
1444e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
1446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1447e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1448e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1449e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1450e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1451e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1452e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
1453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
1455e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1456e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1457e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1458e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3336571891+edx*1+ebx]
1459e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1460e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [88+esp]
1462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1463e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1464e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
1465e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1466e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [76+esp]
1467e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1468e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1471e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1472e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1473e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1474e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1475e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1476e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [84+esp]
1478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1479e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [56+esp]
1480e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1481e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1482e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
1483e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1484e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
1486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1487e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [84+esp],ebx
1488e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1489e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1490e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1491e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
1492e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
1494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1495e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1496e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1497e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1498e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1499e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1500e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
1501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
1503e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1504e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1505e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1506e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3584528711+edx*1+ebx]
1507e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1508e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [92+esp]
1510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1511e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
1513e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1514e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [80+esp]
1515e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1518e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1519e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1520e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1522e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1523e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1524e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [88+esp]
1526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1527e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [60+esp]
1528e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1529e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
1531e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1532e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1533e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
1534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [88+esp],ebx
1536e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1537e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1538e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
1540e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1541e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
1542e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1545e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1546e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1547e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
1549e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1550e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
1551e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1554e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[113926993+edx*1+ebx]
1555e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1556e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+esp]
1558e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1559e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1560e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
1561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [84+esp]
1563e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1564e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1565e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1567e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1568e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1569e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1572e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1573e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [92+esp]
1574e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [64+esp]
1576e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1577e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1578e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
1579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1581e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
1582e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1583e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [92+esp],ebx
1584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1585e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1586e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1587e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
1588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
1590e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1591e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1592e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1593e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1594e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1595e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1596e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
1597e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1598e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
1599e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1600e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1601e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1602e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[338241895+edx*1+ebx]
1603e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1604e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1605e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [36+esp]
1606e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1607e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1608e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
1609e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1610e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [88+esp]
1611e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1612e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1613e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1614e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1615e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1616e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1617e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1618e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1619e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1620e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1621e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
1622e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1623e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [68+esp]
1624e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1625e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1626e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
1627e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1628e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1629e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
1630e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1631e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [32+esp],ebx
1632e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1633e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1634e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1635e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
1636e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1637e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
1638e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1639e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1640e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1641e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1642e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1643e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1644e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
1645e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1646e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
1647e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1648e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1649e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1650e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[666307205+edx*1+ebx]
1651e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1652e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1653e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [40+esp]
1654e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1655e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1656e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
1657e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1658e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [92+esp]
1659e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1660e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1661e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1662e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1663e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1664e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1665e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1666e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1667e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1668e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1669e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [36+esp]
1670e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1671e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [72+esp]
1672e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1673e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1674e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
1675e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1676e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1677e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
1678e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1679e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [36+esp],ebx
1680e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1681e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1682e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1683e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
1684e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1685e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
1686e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1687e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1688e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1689e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1690e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1691e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1692e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
1693e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1694e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
1695e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1696e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1697e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1698e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[773529912+edx*1+ebx]
1699e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1700e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1701e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [44+esp]
1702e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1703e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1704e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
1705e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1706e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+esp]
1707e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1708e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1709e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1710e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1711e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1712e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1713e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1714e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1715e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1716e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1717e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [40+esp]
1718e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1719e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [76+esp]
1720e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1721e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1722e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
1723e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1724e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1725e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
1726e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1727e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [40+esp],ebx
1728e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1729e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1730e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1731e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
1732e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1733e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
1734e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1735e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1736e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1737e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1738e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1739e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1740e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
1741e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1742e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
1743e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1744e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1745e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1746e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1294757372+edx*1+ebx]
1747e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1748e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1749e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [48+esp]
1750e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1751e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1752e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
1753e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1754e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [36+esp]
1755e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1756e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1757e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1758e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1759e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1760e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1761e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1762e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1763e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1764e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1765e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [44+esp]
1766e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1767e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [80+esp]
1768e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1769e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1770e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
1771e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1772e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1773e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
1774e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1775e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [44+esp],ebx
1776e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1777e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1778e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1779e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
1780e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1781e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
1782e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1783e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1784e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1785e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1786e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1787e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1788e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
1789e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1790e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
1791e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1792e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1793e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1794e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1396182291+edx*1+ebx]
1795e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1796e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1797e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+esp]
1798e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1799e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1800e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
1801e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1802e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [40+esp]
1803e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1804e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1805e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1806e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1807e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1808e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1809e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1810e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1811e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1812e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1813e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [48+esp]
1814e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1815e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [84+esp]
1816e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1817e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1818e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
1819e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1820e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1821e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
1822e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1823e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [48+esp],ebx
1824e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1825e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1826e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1827e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
1828e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1829e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
1830e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1831e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1832e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1833e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1834e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1835e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1836e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
1837e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1838e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
1839e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1840e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1841e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1842e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1695183700+edx*1+ebx]
1843e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1844e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1845e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+esp]
1846e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1847e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1848e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
1849e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1850e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [44+esp]
1851e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1852e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1853e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1854e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1855e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1856e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1857e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1858e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1859e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1860e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1861e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [52+esp]
1862e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1863e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [88+esp]
1864e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1865e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1866e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
1867e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1868e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1869e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
1870e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1871e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [52+esp],ebx
1872e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1873e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1874e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1875e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
1876e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1877e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
1878e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1879e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1880e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1881e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1882e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1883e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1884e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
1885e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1886e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
1887e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1888e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1889e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1890e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1986661051+edx*1+ebx]
1891e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1892e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1893e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [60+esp]
1894e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1895e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1896e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
1897e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1898e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [48+esp]
1899e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1900e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1901e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1902e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1903e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
1904e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1905e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
1906e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1907e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
1908e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
1909e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [56+esp]
1910e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1911e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [92+esp]
1912e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
1913e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1914e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
1915e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1916e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1917e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
1918e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1919e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [56+esp],ebx
1920e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
1921e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1922e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
1923e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
1924e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
1925e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
1926e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
1927e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1928e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
1929e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1930e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
1931e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
1932e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
1933e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
1934e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
1935e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1936e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1937e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
1938e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2177026350+edx*1+ebx]
1939e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
1940e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1941e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [64+esp]
1942e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1943e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
1944e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
1945e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
1946e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+esp]
1947e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
1948e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1949e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
1950e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
1951e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
1952e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
1953e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
1954e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1955e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
1956e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
1957e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [60+esp]
1958e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
1959e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
1960e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
1961e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1962e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
1963e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
1964e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1965e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
1966e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1967e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [60+esp],ebx
1968e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
1969e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
1970e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
1971e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
1972e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
1973e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
1974e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
1975e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
1976e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
1977e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
1978e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
1979e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
1980e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
1981e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
1982e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
1983e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
1984e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
1985e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
1986e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2456956037+edx*1+ebx]
1987e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
1988e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
1989e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [68+esp]
1990e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1991e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
1992e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
1993e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
1994e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+esp]
1995e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
1996e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
1997e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
1998e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
1999e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2000e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2001e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2002e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2003e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2004e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2005e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [64+esp]
2006e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2007e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [36+esp]
2008e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2009e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2010e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
2011e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2012e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2013e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
2014e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2015e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [64+esp],ebx
2016e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2017e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2018e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2019e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
2020e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2021e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
2022e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2023e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2024e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2025e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2026e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2027e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2028e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
2029e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2030e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
2031e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2032e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2033e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2034e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2730485921+edx*1+ebx]
2035e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2036e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2037e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [72+esp]
2038e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2039e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2040e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
2041e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2042e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [60+esp]
2043e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2044e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2045e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2046e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2047e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2048e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2049e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2050e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2051e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2052e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2053e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [68+esp]
2054e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2055e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [40+esp]
2056e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2057e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2058e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
2059e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2060e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2061e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
2062e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2063e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [68+esp],ebx
2064e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2065e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2066e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2067e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
2068e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2069e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
2070e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2071e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2072e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2073e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2074e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2075e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2076e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
2077e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2078e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
2079e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2080e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2081e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2082e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2820302411+edx*1+ebx]
2083e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2084e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2085e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [76+esp]
2086e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2087e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2088e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
2089e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2090e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [64+esp]
2091e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2092e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2093e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2094e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2095e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2096e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2097e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2098e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2099e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2100e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2101e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [72+esp]
2102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2103e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [44+esp]
2104e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2106e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
2107e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2108e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2109e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
2110e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [72+esp],ebx
2112e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2113e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2115e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
2116e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2117e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
2118e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2119e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2121e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2122e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2124e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
2125e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2126e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
2127e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2128e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2130e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3259730800+edx*1+ebx]
2131e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2133e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [80+esp]
2134e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2135e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2136e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
2137e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [68+esp]
2139e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2140e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2142e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2143e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2144e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2145e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2146e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2148e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2149e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [76+esp]
2150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2151e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [48+esp]
2152e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2153e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2154e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
2155e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2157e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
2158e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [76+esp],ebx
2160e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2161e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2162e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2163e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
2164e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
2166e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2167e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2169e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2170e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2171e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2172e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
2173e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
2175e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2176e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2178e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3345764771+edx*1+ebx]
2179e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2180e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2181e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [84+esp]
2182e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2184e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
2185e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [72+esp]
2187e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2188e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2189e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2190e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2191e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2193e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2194e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2196e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2197e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [80+esp]
2198e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2199e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [52+esp]
2200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2201e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2202e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
2203e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2205e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
2206e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [80+esp],ebx
2208e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2209e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2210e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2211e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
2212e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2213e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
2214e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2216e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2217e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2219e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2220e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
2221e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2222e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
2223e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2224e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2225e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3516065817+edx*1+ebx]
2227e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2228e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [88+esp]
2230e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2231e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2232e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
2233e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2234e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [76+esp]
2235e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2236e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2238e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2239e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2241e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2242e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2243e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2244e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2245e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [84+esp]
2246e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2247e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [56+esp]
2248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2249e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2250e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
2251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2252e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2253e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
2254e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2255e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [84+esp],ebx
2256e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2257e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2258e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
2260e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2261e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
2262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2263e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2264e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2265e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2266e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2267e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2268e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
2269e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
2271e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2272e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2274e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3600352804+edx*1+ebx]
2275e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2276e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2277e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [92+esp]
2278e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2279e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2280e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
2281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2282e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [80+esp]
2283e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2285e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2286e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2287e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2288e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2289e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2290e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2291e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2293e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [88+esp]
2294e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [60+esp]
2296e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2297e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2298e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
2299e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2300e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2301e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
2302e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [88+esp],ebx
2304e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2305e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2307e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
2308e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2309e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
2310e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2311e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2312e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2313e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2315e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2316e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
2317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2318e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
2319e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2320e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2321e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2322e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[4094571909+edx*1+ebx]
2323e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2324e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+esp]
2326e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2327e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
2329e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2330e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [84+esp]
2331e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2332e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2333e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2334e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2335e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2337e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2338e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2340e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2341e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [92+esp]
2342e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2343e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [64+esp]
2344e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2345e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2346e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
2347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2348e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2349e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
2350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2351e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [92+esp],ebx
2352e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2353e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2354e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2355e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
2356e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2357e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
2358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2359e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2360e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2362e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2363e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2364e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
2365e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2366e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
2367e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2368e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2370e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[275423344+edx*1+ebx]
2371e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2373e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [36+esp]
2374e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2375e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2376e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
2377e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2378e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [88+esp]
2379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2380e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2383e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2384e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2385e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2386e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2387e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2388e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
2390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2391e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [68+esp]
2392e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2393e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2394e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
2395e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2396e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
2398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2399e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [32+esp],ebx
2400e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2401e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2402e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2403e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
2404e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
2406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2407e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2408e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2409e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2410e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2411e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2412e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
2413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
2415e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2416e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2417e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2418e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[430227734+edx*1+ebx]
2419e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2420e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [40+esp]
2422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2423e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2424e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
2425e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2426e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [92+esp]
2427e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2428e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2431e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2432e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2433e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2434e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2435e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2436e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [36+esp]
2438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2439e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [72+esp]
2440e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2441e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2442e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
2443e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2444e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
2446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2447e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [36+esp],ebx
2448e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2449e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2450e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2451e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
2452e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
2454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2455e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2456e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2457e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2458e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2459e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2460e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
2461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
2463e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2464e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2465e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2466e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[506948616+edx*1+ebx]
2467e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2468e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [44+esp]
2470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2471e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2472e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
2473e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2474e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+esp]
2475e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2476e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2479e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2480e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2481e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2482e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2483e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2484e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [40+esp]
2486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2487e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [76+esp]
2488e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2489e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2490e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
2491e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2492e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
2494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2495e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [40+esp],ebx
2496e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2497e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2498e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2499e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
2500e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
2502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2503e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2504e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2505e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2506e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2507e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2508e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
2509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
2511e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2513e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2514e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[659060556+edx*1+ebx]
2515e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [48+esp]
2518e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2519e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2520e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
2521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2522e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [36+esp]
2523e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2524e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2527e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2528e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2529e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2531e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2532e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2533e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [44+esp]
2534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [80+esp]
2536e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2537e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2538e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
2539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2540e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2541e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
2542e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [44+esp],ebx
2544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2545e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2546e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2547e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
2548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2549e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
2550e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2551e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2554e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2555e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2556e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
2557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2558e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
2559e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2560e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[883997877+edx*1+ebx]
2563e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2564e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2565e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+esp]
2566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2567e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2568e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
2569e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [40+esp]
2571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2572e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2573e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2574e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2576e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2577e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2578e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2581e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [48+esp]
2582e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2583e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [84+esp]
2584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2585e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2586e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
2587e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
2590e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2591e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [48+esp],ebx
2592e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2593e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2594e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2595e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
2596e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2597e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
2598e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2599e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2600e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2601e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2602e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2603e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2604e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
2605e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2606e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
2607e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2608e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2609e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2610e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[958139571+edx*1+ebx]
2611e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2612e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2613e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+esp]
2614e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2615e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2616e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
2617e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2618e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [44+esp]
2619e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2620e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2621e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2622e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2623e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2624e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2625e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2626e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2627e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2628e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2629e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [52+esp]
2630e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2631e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [88+esp]
2632e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2633e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2634e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
2635e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2636e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2637e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
2638e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2639e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [52+esp],ebx
2640e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2641e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2642e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2643e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
2644e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2645e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
2646e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2647e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2648e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2649e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2650e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2651e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2652e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
2653e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2654e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
2655e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2656e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2657e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2658e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1322822218+edx*1+ebx]
2659e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2660e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2661e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [60+esp]
2662e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2663e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2664e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
2665e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2666e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [48+esp]
2667e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2668e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2669e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2670e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2671e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2672e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2673e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2674e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2675e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2676e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2677e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [56+esp]
2678e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2679e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [92+esp]
2680e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2681e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2682e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
2683e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2684e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2685e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
2686e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2687e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [56+esp],ebx
2688e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2689e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2690e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2691e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
2692e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2693e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
2694e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2695e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2696e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2697e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2698e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2699e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2700e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
2701e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2702e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
2703e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2704e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2705e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2706e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1537002063+edx*1+ebx]
2707e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2708e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2709e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [64+esp]
2710e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2711e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2712e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
2713e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2714e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [52+esp]
2715e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2716e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2717e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2718e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2719e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2720e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2721e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2722e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2723e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2724e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2725e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [60+esp]
2726e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2727e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [32+esp]
2728e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2729e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2730e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
2731e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2732e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2733e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
2734e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2735e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [60+esp],ebx
2736e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2737e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2738e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2739e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
2740e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2741e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
2742e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2743e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2744e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2745e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2746e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2747e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2748e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
2749e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2750e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
2751e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2752e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2753e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2754e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1747873779+edx*1+ebx]
2755e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2756e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2757e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [68+esp]
2758e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2759e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2760e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
2761e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2762e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [56+esp]
2763e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2764e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2765e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2766e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2767e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2768e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2769e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2770e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2771e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2772e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2773e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [64+esp]
2774e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2775e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [36+esp]
2776e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2777e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2778e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
2779e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2780e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2781e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
2782e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2783e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [64+esp],ebx
2784e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2785e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2786e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2787e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
2788e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2789e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [28+esp]
2790e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2791e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2792e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2793e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2794e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2795e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2796e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
2797e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2798e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
2799e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2800e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2801e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2802e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1955562222+edx*1+ebx]
2803e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2804e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2805e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [72+esp]
2806e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2807e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2808e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
2809e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2810e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [60+esp]
2811e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2812e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2813e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2814e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2815e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2816e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2817e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2818e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2819e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2820e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2821e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [68+esp]
2822e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2823e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [40+esp]
2824e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2825e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2826e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [16+esp]
2827e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2828e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2829e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
2830e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2831e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [68+esp],ebx
2832e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2833e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2834e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2835e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],esi
2836e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2837e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esp]
2838e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2839e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2840e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2841e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2842e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2843e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2844e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
2845e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2846e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebp
2847e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2848e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2849e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2850e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2024104815+edx*1+ebx]
2851e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2852e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2853e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [76+esp]
2854e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2855e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2856e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
2857e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2858e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [64+esp]
2859e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2860e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2861e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2862e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2863e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2864e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2865e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2866e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2867e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2868e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2869e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [72+esp]
2870e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2871e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [44+esp]
2872e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2873e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2874e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
2875e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2876e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2877e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
2878e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2879e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [72+esp],ebx
2880e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2881e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2882e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2883e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
2884e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2885e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [20+esp]
2886e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2887e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2888e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2889e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2890e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2891e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2892e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
2893e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2894e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
2895e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2896e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2897e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2898e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2227730452+edx*1+ebx]
2899e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2900e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2901e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [80+esp]
2902e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2903e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
2904e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
2905e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
2906e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [68+esp]
2907e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
2908e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2909e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
2910e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2911e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
2912e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2913e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
2914e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2915e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
2916e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
2917e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [76+esp]
2918e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2919e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [48+esp]
2920e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
2921e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2922e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esp]
2923e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2924e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2925e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
2926e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2927e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [76+esp],ebx
2928e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
2929e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2930e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
2931e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],esi
2932e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
2933e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [16+esp]
2934e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
2935e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2936e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
2937e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2938e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
2939e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
2940e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
2941e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
2942e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebp
2943e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2944e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
2945e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
2946e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2361852424+edx*1+ebx]
2947e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
2948e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2949e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [84+esp]
2950e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2951e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
2952e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
2953e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
2954e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [72+esp]
2955e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
2956e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2957e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
2958e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
2959e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
2960e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
2961e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
2962e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2963e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
2964e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
2965e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [80+esp]
2966e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
2967e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [52+esp]
2968e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
2969e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2970e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
2971e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
2972e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2973e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
2974e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2975e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [80+esp],ebx
2976e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
2977e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
2978e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
2979e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
2980e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
2981e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [12+esp]
2982e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
2983e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
2984e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
2985e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
2986e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
2987e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
2988e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
2989e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
2990e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
2991e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
2992e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
2993e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
2994e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2428436474+edx*1+ebx]
2995e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
2996e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
2997e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [88+esp]
2998e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
2999e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
3000e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
3001e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
3002e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [76+esp]
3003e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
3004e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
3005e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
3006e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3007e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
3008e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
3009e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
3010e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
3011e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
3012e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
3013e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [84+esp]
3014e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
3015e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [56+esp]
3016e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
3017e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
3018e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [esp]
3019e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3020e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
3021e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
3022e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
3023e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [84+esp],ebx
3024e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
3025e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3026e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
3027e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
3028e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
3029e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [8+esp]
3030e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
3031e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3032e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
3033e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
3034e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
3035e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
3036e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
3037e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
3038e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebp
3039e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
3040e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
3041e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
3042e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[2756734187+edx*1+ebx]
3043e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
3044e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3045e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [92+esp]
3046e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
3047e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3048e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
3049e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
3050e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [80+esp]
3051e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,ecx
3052e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3053e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,esi
3054e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
3055e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3056e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
3057e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,7
3058e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3059e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
3060e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,17
3061e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [88+esp]
3062e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
3063e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [60+esp]
3064e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3065e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3066e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
3067e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3068e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
3069e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
3070e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3071e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3072e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3073e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3074e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
3075e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3076e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esp]
3077e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3078e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3079e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3080e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
3081e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3082e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3083e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
3084e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3085e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
3086e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3087e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3088e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebp,eax
3089e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3204031479+edx*1+ebx]
3090e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3091e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
3092e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [32+esp]
3093e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3094e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,edx
3095e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
3096e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,ecx
3097e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [84+esp]
3098e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,esi
3099e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
3100e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,ecx
3101e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebx
3103e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	ebx,3
3104e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,7
3105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
3106e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,esi
3107e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,17
3108e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [92+esp]
3109e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	shr	edi,10
3110e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [64+esp]
3111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,edx
3112e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
3113e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
3114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3115e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
3116e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
3117e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
3118e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,edi
3119e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ecx,esi
3121e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],esi
3122e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,esi
3123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [esp]
3124e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,ecx
3125e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3126e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebp
3127e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edi
3128e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,9
3129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebp
3130e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
3131e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ebp
3132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
3133e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
3134e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,11
3135e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebp
3136e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[3329325298+edx*1+ebx]
3137e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,ecx
3138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3139e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	esi,2
3140e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
3142e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,esi
3143e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [96+esp]
3144e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
3145e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [12+esp]
3146e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,DWORD [esi]
3147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,DWORD [4+esi]
3148e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,DWORD [8+esi]
3149e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ecx,DWORD [12+esi]
3150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esi],eax
3151e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esi],ebp
3152e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esi],edi
3153e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esi],ecx
3154e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebp
3155e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebp,edi
3156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],edi
3157e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
3158e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
3159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [24+esp]
3160e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [28+esp]
3161e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esi]
3162e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,DWORD [20+esi]
3163e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [24+esi]
3164e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ecx,DWORD [28+esi]
3165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esi],edx
3166e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esi],edi
3167e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esi],ebx
3168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esi],ecx
3169e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],edi
3170e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [100+esp]
3171e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ebx
3172e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ecx
3173e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	edi,DWORD [104+esp]
3174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jb	NEAR L$009grand_loop
3175e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esp,DWORD [108+esp]
3176e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	edi
3177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	esi
3178e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebx
3179e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebp
3180e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ret
3181e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	32
3182e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$004shaext:
3183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	sub	esp,32
3184e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm1,[esi]
3185e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebp,[128+ebp]
3186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm2,[16+esi]
3187e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,[128+ebp]
3188e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm1,27
3189e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm1,xmm1,177
3190e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm2,xmm2,27
3191e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,202,8
3192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	punpcklqdq	xmm2,xmm0
3193e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jmp	NEAR L$010loop_shaext
3194e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
3195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$010loop_shaext:
3196e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm3,[edi]
3197e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm4,[16+edi]
3198e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm5,[32+edi]
3199e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,223
3200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm6,[48+edi]
3201e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[16+esp],xmm2
3202e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-128]
3203e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm3
3204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,231
3205e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3206e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3208e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[esp],xmm1
3209e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3210e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-112]
3211e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm4
3212e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,239
3213e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3214e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edi,[64+edi]
3216e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,220
3217e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-96]
3219e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm5
3220e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,247
3221e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3222e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3223e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm6
3224e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,253,4
3225e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm7
3227e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,229
3228e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-80]
3230e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm6
3231e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,222
3232e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3233e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3234e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm3
3235e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,254,4
3236e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm4,xmm7
3238e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,238
3239e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-64]
3241e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm3
3242e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,227
3243e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3244e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3245e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm4
3246e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,251,4
3247e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm5,xmm7
3249e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,243
3250e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-48]
3252e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm4
3253e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,236
3254e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3255e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3256e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm5
3257e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,252,4
3258e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm7
3260e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,220
3261e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-32]
3263e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm5
3264e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,245
3265e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3266e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3267e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm6
3268e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,253,4
3269e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm7
3271e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,229
3272e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp-16]
3274e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm6
3275e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,222
3276e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3277e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3278e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm3
3279e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,254,4
3280e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm4,xmm7
3282e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,238
3283e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[ebp]
3285e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm3
3286e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,227
3287e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3288e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3289e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm4
3290e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,251,4
3291e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm5,xmm7
3293e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,243
3294e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[16+ebp]
3296e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm4
3297e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,236
3298e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3299e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3300e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm5
3301e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,252,4
3302e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm7
3304e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,220
3305e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[32+ebp]
3307e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm5
3308e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,245
3309e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3310e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3311e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm6
3312e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,253,4
3313e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm7
3315e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,229
3316e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[48+ebp]
3318e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm6
3319e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,222
3320e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3321e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3322e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm3
3323e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,254,4
3324e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm4,xmm7
3326e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,238
3327e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[64+ebp]
3329e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm3
3330e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,227
3331e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3332e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3333e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm4
3334e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,251,4
3335e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm5,xmm7
3337e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,204,243
3338e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[80+ebp]
3340e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm4
3341e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,236
3342e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3343e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3344e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm5
3345e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,252,4
3346e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm7
3348e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[96+ebp]
3349e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm5
3350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3351e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3352e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,205,245
3353e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,[128+ebp]
3354e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3355e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm0,[112+ebp]
3356e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm6
3357e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,209
3359e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm0,xmm0,14
3360e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	eax,edi
3361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	nop
3362e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	15,56,203,202
3363e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm2,[16+esp]
3364e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm1,[esp]
3365e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jnz	NEAR L$010loop_shaext
3366e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm2,xmm2,177
3367e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm1,27
3368e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm1,xmm1,177
3369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	punpckhqdq	xmm1,xmm2
3370e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,215,8
3371e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esp,DWORD [44+esp]
3372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	[esi],xmm1
3373e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	[16+esi],xmm2
3374e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	edi
3375e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	esi
3376e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebx
3377e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebp
3378e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ret
3379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	32
3380e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$005SSSE3:
3381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	esp,[esp-96]
3382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD [esi]
3383e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD [4+esi]
3384e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [8+esi]
3385e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esi]
3386e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebx
3387e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,ecx
3388e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
3389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],edi
3390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD [16+esi]
3391e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esi]
3392e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esi]
3393e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esi]
3394e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],edi
3395e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [100+esp]
3396e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
3397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],esi
3398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,[256+ebp]
3399e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jmp	NEAR L$011grand_ssse3
3400e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
3401e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$011grand_ssse3:
3402e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm0,[edi]
3403e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm1,[16+edi]
3404e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm2,[32+edi]
3405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqu	xmm3,[48+edi]
3406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,64
3407e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,199
3408e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [100+esp],edi
3409e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,207
3410e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm4,[ebp]
3411e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,215
3412e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm5,[16+ebp]
3413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm4,xmm0
3414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,56,0,223
3415e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,[32+ebp]
3416e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm5,xmm1
3417e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,[48+ebp]
3418e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[32+esp],xmm4
3419e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm2
3420e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[48+esp],xmm5
3421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm7,xmm3
3422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[64+esp],xmm6
3423e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[80+esp],xmm7
3424e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jmp	NEAR L$012ssse3_00_47
3425e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign	16
3426e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$012ssse3_00_47:
3427e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebp,64
3428e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm4,xmm1
3430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3431e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
3432e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm3
3433e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3434e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
3435e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,224,4
3436e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3439e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,250,4
3440e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
3441e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3442e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3443e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm5,xmm4
3444e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm4
3447e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3448e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
3449e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm4,3
3450e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3451e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3452e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm7
3453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
3454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3455e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,7
3456e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3457e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
3458e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3459e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3460e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm3,250
3461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [32+esp]
3463e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,14
3464e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3465e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3466e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3467e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3468e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
3469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,11
3470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3471e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3472e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3473e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3474e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [16+esp]
3475e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3476e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,11
3477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
3478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3479e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3480e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3481e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3482e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
3483e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3484e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3487e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3488e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3489e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3490e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3491e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
3492e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm4
3495e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebx
3496e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3497e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3498e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3499e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
3500e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3503e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3504e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3505e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [36+esp]
3506e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3507e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3508e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
3511e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,128
3512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3513e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3514e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3515e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
3516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
3518e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3519e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3520e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrldq	xmm7,8
3522e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
3523e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3524e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm7
3526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3527e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3528e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3529e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
3530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3531e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3532e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
3533e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm0,80
3534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3536e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
3537e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3538e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3540e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3541e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3542e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [40+esp]
3544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3545e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3546e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3547e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
3549e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3550e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3551e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3554e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [8+esp]
3555e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3556e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
3557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,8
3558e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3559e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3560e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,[ebp]
3561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ecx
3563e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslldq	xmm7,8
3564e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3565e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3567e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3568e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3569e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
3570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3572e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm0,xmm7
3573e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebx
3574e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3576e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
3577e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm0
3578e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3581e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [44+esp]
3582e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3583e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3585e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
3586e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3587e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[32+esp],xmm6
3588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm4,xmm2
3590e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3591e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
3592e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm0
3593e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3594e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
3595e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,225,4
3596e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3597e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3598e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3599e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,251,4
3600e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
3601e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3602e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3603e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm5,xmm4
3604e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3605e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3606e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm4
3607e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3608e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
3609e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm4,3
3610e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3611e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3612e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm1,xmm7
3613e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
3614e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3615e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,7
3616e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3617e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
3618e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3619e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3620e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm0,250
3621e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3622e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [48+esp]
3623e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,14
3624e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3625e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3626e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3627e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3628e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
3629e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,11
3630e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3631e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3632e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3633e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3634e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [esp]
3635e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3636e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,11
3637e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
3638e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3639e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3640e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3641e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3642e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ecx
3643e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3644e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3645e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3646e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3647e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3648e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3649e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3650e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3651e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
3652e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3653e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3654e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm1,xmm4
3655e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebx
3656e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3657e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3658e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3659e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
3660e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3661e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3662e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3663e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3664e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3665e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [52+esp]
3666e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3667e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3668e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3669e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3670e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
3671e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,128
3672e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3673e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3674e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3675e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
3676e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3677e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
3678e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3679e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3680e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3681e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrldq	xmm7,8
3682e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
3683e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3684e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3685e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm1,xmm7
3686e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3687e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3688e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3689e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
3690e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3691e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3692e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
3693e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm1,80
3694e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3695e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3696e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
3697e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3698e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3699e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3700e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3701e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3702e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3703e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [56+esp]
3704e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3705e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3706e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3707e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3708e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
3709e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3710e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3711e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3712e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3713e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3714e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [24+esp]
3715e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3716e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
3717e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,8
3718e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3719e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3720e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,[16+ebp]
3721e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3722e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ecx
3723e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslldq	xmm7,8
3724e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3725e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3726e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3727e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3728e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3729e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
3730e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3731e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3732e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm1,xmm7
3733e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebx
3734e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3735e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3736e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
3737e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm1
3738e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3739e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3740e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3741e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [60+esp]
3742e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3743e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3744e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3745e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
3746e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3747e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[48+esp],xmm6
3748e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3749e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm4,xmm3
3750e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3751e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
3752e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm1
3753e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3754e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
3755e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,226,4
3756e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3757e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3758e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3759e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,248,4
3760e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
3761e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3762e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3763e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm5,xmm4
3764e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3765e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3766e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm4
3767e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3768e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
3769e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm4,3
3770e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3771e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3772e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm2,xmm7
3773e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
3774e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3775e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,7
3776e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3777e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
3778e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3779e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3780e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm1,250
3781e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3782e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [64+esp]
3783e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,14
3784e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3785e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3786e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3787e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3788e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
3789e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,11
3790e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3791e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3792e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3793e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3794e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [16+esp]
3795e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3796e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,11
3797e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
3798e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3799e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3800e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3801e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3802e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
3803e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3804e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3805e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3806e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3807e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3808e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3809e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3810e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3811e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
3812e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3813e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3814e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm2,xmm4
3815e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebx
3816e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3817e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3818e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3819e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
3820e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3821e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3822e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3823e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3824e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3825e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [68+esp]
3826e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3827e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3828e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3829e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3830e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
3831e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,128
3832e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3833e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3834e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3835e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
3836e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3837e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
3838e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3839e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3840e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3841e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrldq	xmm7,8
3842e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
3843e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3844e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3845e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm2,xmm7
3846e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3847e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3848e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3849e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
3850e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3851e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3852e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
3853e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm2,80
3854e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3855e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3856e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
3857e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3858e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3859e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3860e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3861e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3862e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3863e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [72+esp]
3864e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3865e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3866e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3867e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3868e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
3869e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3870e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3871e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3872e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3873e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3874e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [8+esp]
3875e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3876e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
3877e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,8
3878e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3879e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3880e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,[32+ebp]
3881e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3882e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ecx
3883e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslldq	xmm7,8
3884e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3885e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3886e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3887e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3888e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3889e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
3890e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3891e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3892e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm2,xmm7
3893e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebx
3894e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3895e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3896e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
3897e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm2
3898e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3899e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3900e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3901e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [76+esp]
3902e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3903e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3904e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3905e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
3906e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3907e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[64+esp],xmm6
3908e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3909e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm4,xmm0
3910e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3911e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
3912e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,xmm2
3913e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3914e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
3915e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,227,4
3916e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3917e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3918e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3919e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb	102,15,58,15,249,4
3920e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
3921e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3922e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3923e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm5,xmm4
3924e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3925e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
3926e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm4
3927e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3928e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
3929e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm4,3
3930e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
3931e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3932e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm7
3933e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
3934e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
3935e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,7
3936e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3937e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
3938e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3939e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
3940e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm2,250
3941e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3942e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [80+esp]
3943e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,14
3944e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3945e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3946e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3947e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
3948e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
3949e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm6,11
3950e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
3951e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3952e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3953e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3954e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [esp]
3955e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3956e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslld	xmm5,11
3957e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
3958e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3959e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
3960e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm6
3961e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
3962e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ecx
3963e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
3964e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3965e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
3966e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
3967e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm4,xmm5
3968e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
3969e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
3970e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
3971e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
3972e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
3973e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
3974e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm4
3975e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebx
3976e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
3977e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
3978e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
3979e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
3980e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
3981e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3982e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
3983e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
3984e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
3985e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [84+esp]
3986e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
3987e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
3988e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
3989e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
3990e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
3991e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,128
3992e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
3993e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
3994e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
3995e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
3996e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
3997e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
3998e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
3999e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4000e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4001e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrldq	xmm7,8
4002e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
4003e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4004e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4005e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm7
4006e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4007e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4008e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4009e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
4010e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4011e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4012e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
4013e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm3,80
4014e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4015e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4016e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
4017e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,xmm7
4018e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4019e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrld	xmm7,10
4020e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4021e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,17
4022e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4023e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [88+esp]
4024e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4025e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4026e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
4027e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4028e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
4029e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	psrlq	xmm6,2
4030e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4031e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4032e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4033e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pxor	xmm7,xmm6
4034e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [24+esp]
4035e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4036e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
4037e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pshufd	xmm7,xmm7,8
4038e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4039e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4040e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm6,[48+ebp]
4041e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4042e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ecx
4043e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pslldq	xmm7,8
4044e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4045e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4046e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4047e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4048e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4049e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
4050e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4051e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4052e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm3,xmm7
4053e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebx
4054e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4055e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4056e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
4057e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	paddd	xmm6,xmm3
4058e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4059e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4060e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4061e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [92+esp]
4062e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4063e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4064e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4065e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
4066e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4067e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	[80+esp],xmm6
4068e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	DWORD [64+ebp],66051
4069e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jne	NEAR L$012ssse3_00_47
4070e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4071e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4072e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
4073e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4074e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
4075e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4076e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4077e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4078e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
4079e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4080e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4081e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4082e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4083e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4084e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
4085e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4086e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4087e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
4088e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4089e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4090e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
4091e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4092e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4093e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4094e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [32+esp]
4095e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4096e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4097e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4098e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
4099e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4100e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4101e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [16+esp]
4103e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4104e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
4105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4106e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4107e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4108e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
4109e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4110e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4112e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4113e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
4115e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4116e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4117e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebx
4118e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4119e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
4121e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4122e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4124e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [36+esp]
4125e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4126e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4127e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4128e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
4129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4130e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4131e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
4133e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4134e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
4135e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4136e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4137e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
4139e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4140e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4142e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4143e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4144e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
4145e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4146e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
4148e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4149e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
4151e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4152e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4153e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4154e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [40+esp]
4155e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4157e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4158e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
4159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4160e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4161e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4162e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [8+esp]
4163e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4164e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
4165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4166e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4167e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ecx
4169e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4170e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4171e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4172e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4173e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
4175e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4176e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebx
4178e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4179e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4180e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
4181e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4182e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4184e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [44+esp]
4185e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4187e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4188e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
4189e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4190e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4191e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
4193e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4194e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
4195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4196e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4197e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4198e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
4199e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4201e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4202e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4203e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
4205e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4206e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
4208e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4209e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4210e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
4211e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4212e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4213e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4214e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [48+esp]
4215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4216e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4217e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
4219e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4220e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4221e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4222e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [esp]
4223e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4224e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
4225e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4227e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4228e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ecx
4229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4230e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4231e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4232e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4233e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4234e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
4235e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4236e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebx
4238e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4239e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
4241e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4242e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4243e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4244e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [52+esp]
4245e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4246e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4247e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
4249e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4250e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4252e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
4253e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4254e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
4255e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4256e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4257e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4258e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
4259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4260e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4261e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4263e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4264e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
4265e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4266e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4267e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
4268e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4269e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
4271e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4272e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4274e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [56+esp]
4275e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4276e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4277e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4278e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
4279e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4280e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4282e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [24+esp]
4283e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
4285e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4286e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4287e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4288e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ecx
4289e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4290e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4291e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4293e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4294e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
4295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4296e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4297e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebx
4298e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4299e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4300e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
4301e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4302e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4304e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [60+esp]
4305e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4307e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4308e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
4309e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4310e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4311e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4312e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [20+esp]
4313e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
4315e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4316e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4318e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],ecx
4319e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4320e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4321e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4322e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4323e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4324e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
4325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4326e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4327e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],eax
4328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4329e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4330e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
4331e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4332e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4333e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4334e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [64+esp]
4335e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4337e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4338e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
4339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4340e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4341e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4342e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [16+esp]
4343e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4344e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
4345e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4346e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4348e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
4349e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4351e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4352e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4353e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4354e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
4355e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4356e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4357e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ebx
4358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4359e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4360e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
4361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4362e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4363e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4364e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [68+esp]
4365e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4366e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4367e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4368e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
4369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4370e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4371e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [12+esp]
4373e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4374e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
4375e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4376e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4377e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4378e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],ecx
4379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4380e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4383e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4384e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
4385e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4386e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4387e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],eax
4388e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
4391e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4392e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4393e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4394e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [72+esp]
4395e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4396e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
4399e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4400e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4401e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4402e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [8+esp]
4403e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4404e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
4405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4407e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4408e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ecx
4409e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4410e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4411e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4412e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [24+esp]
4415e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4416e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4417e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ebx
4418e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4419e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4420e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
4421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4423e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4424e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [76+esp]
4425e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4426e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4427e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4428e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
4429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4431e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4432e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [4+esp]
4433e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4434e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
4435e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4436e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esp],ecx
4439e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4440e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4441e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4442e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4443e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4444e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
4445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4447e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esp],eax
4448e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4449e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4450e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [12+esp]
4451e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4452e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [80+esp]
4455e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4456e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4457e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4458e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [28+esp]
4459e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4460e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [esp]
4463e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4464e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [4+esp]
4465e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4466e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4467e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4468e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],ecx
4469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4471e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4472e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4473e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4474e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [16+esp]
4475e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4476e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ebx
4478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4479e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4480e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [8+esp]
4481e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4482e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4483e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4484e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [84+esp]
4485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4487e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4488e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [24+esp]
4489e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4490e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4491e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4492e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [28+esp]
4493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [esp]
4495e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4496e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4497e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4498e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
4499e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4500e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,eax
4503e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4504e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [12+esp]
4505e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,eax
4506e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4507e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],eax
4508e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,eax
4509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [4+esp]
4511e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	ebx,eax
4513e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4514e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [88+esp]
4515e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,edx
4518e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [20+esp]
4519e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,ecx
4520e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,edx
4521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,14
4522e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [24+esp]
4523e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4524e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
4525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	esi,edi
4526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,5
4527e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	esi,ecx
4528e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],ecx
4529e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edx,ecx
4530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	edi,esi
4531e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	edx,6
4532e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,ebx
4533e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,edi
4534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [8+esp]
4535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,ebx
4536e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,9
4537e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebx
4538e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,ebx
4539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4540e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [esp]
4541e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,11
4542e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	and	eax,ebx
4543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ecx,esi
4544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [92+esp]
4545e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	eax,edi
4546e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ror	ecx,2
4547e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,edx
4548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esp]
4549e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,ecx
4550e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esi,DWORD [96+esp]
4551e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [12+esp]
4553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	eax,DWORD [esi]
4554e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ebx,DWORD [4+esi]
4555e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,DWORD [8+esi]
4556e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ecx,DWORD [12+esi]
4557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [esi],eax
4558e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esi],ebx
4559e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esi],edi
4560e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esi],ecx
4561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [4+esp],ebx
4562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	xor	ebx,edi
4563e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [8+esp],edi
4564e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [12+esp],ecx
4565e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [20+esp]
4566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD [24+esp]
4567e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edx,DWORD [16+esi]
4568e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,DWORD [20+esi]
4569e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	ecx,DWORD [24+esi]
4570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [16+esi],edx
4571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esi],edi
4572e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [20+esp],edi
4573e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [28+esp]
4574e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esi],ecx
4575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	add	edi,DWORD [28+esi]
4576e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [24+esp],ecx
4577e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esi],edi
4578e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD [28+esp],edi
4579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edi,DWORD [100+esp]
4580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	movdqa	xmm7,[64+ebp]
4581e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	sub	ebp,192
4582e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	cmp	edi,DWORD [104+esp]
4583e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jb	NEAR L$011grand_ssse3
4584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	esp,DWORD [108+esp]
4585e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	edi
4586e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	esi
4587e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebx
4588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	pop	ebp
4589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	ret
4590e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysegment	.bss
4591e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleycommon	_OPENSSL_ia32cap_P 16
4592