1e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydefault	rel
2e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%define XMMWORD
3e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%define YMMWORD
4e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%define ZMMWORD
5e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection	.text code align=64
6e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley
7d9e397b599b13d642138480a28c14db7a136bf0Adam LangleyALIGN	16
8d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
9e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal	md5_block_asm_data_order
10d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
11e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleymd5_block_asm_data_order:
12e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[8+rsp],rdi	;WIN64 prologue
13e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[16+rsp],rsi
14d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rax,rsp
15e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$SEH_begin_md5_block_asm_data_order:
16d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rdi,rcx
17d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rsi,rdx
18d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rdx,r8
19d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
20d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
21d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	rbp
22d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	rbx
23d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r12
24d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r14
25d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r15
26e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$prologue:
27d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
28d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
29d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
30d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
31d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rbp,rdi
32d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	shl	rdx,6
33e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	rdi,[rdx*1+rsi]
34e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	eax,DWORD[rbp]
35e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ebx,DWORD[4+rbp]
36e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	ecx,DWORD[8+rbp]
37e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	edx,DWORD[12+rbp]
38d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
39d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
40d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
41d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
42d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
43d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
44d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
45d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	cmp	rsi,rdi
46e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	je	NEAR $L$end
47d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
48d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
49e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$loop:
50d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r8d,eax
51d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r9d,ebx
52d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r14d,ecx
53d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r15d,edx
54e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
55d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
56d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
57e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-680876936))+r10*1+rax]
58d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
59d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
60e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[4+rsi]
61d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
62d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,7
63d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
64d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
65d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
66e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-389564586))+r10*1+rdx]
67d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
68d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
69e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[8+rsi]
70d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
71d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,12
72d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
73d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
74d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
75e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[606105819+r10*1+rcx]
76d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
77d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
78e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[12+rsi]
79d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
80d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,17
81d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
82d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
83d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
84e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-1044525330))+r10*1+rbx]
85d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
86d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
87e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[16+rsi]
88d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
89d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,22
90d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
91d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
92d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
93e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-176418897))+r10*1+rax]
94d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
95d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
96e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[20+rsi]
97d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
98d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,7
99d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
100d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
101d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1200080426+r10*1+rdx]
103d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
104d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[24+rsi]
106d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
107d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,12
108d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
109d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
110d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-1473231341))+r10*1+rcx]
112d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
113d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[28+rsi]
115d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
116d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,17
117d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
118d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
119d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-45705983))+r10*1+rbx]
121d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
122d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[32+rsi]
124d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
125d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,22
126d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
127d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
128d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[1770035416+r10*1+rax]
130d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
131d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[36+rsi]
133d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
134d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,7
135d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
136d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
137d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-1958414417))+r10*1+rdx]
139d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
140d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[40+rsi]
142d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
143d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,12
144d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
145d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
146d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-42063))+r10*1+rcx]
148d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
149d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[44+rsi]
151d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
152d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,17
153d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
154d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
155d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-1990404162))+r10*1+rbx]
157d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
158d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[48+rsi]
160d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
161d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,22
162d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
163d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
164d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[1804603682+r10*1+rax]
166d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
167d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[52+rsi]
169d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
170d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,7
171d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
172d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
173d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-40341101))+r10*1+rdx]
175d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
176d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[56+rsi]
178d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
179d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,12
180d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
181d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
182d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-1502002290))+r10*1+rcx]
184d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
185d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[60+rsi]
187d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
188d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,17
189d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
190d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
191d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[1236535329+r10*1+rbx]
193d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
194d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
196d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
197d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,22
198d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
199d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[4+rsi]
201d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
202d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,edx
203d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-165796510))+r10*1+rax]
205d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ebx
206d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[24+rsi]
208d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
209d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
210d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r12d
211d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ecx
212d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,5
213d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
214d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-1069501632))+r10*1+rdx]
216d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,eax
217d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[44+rsi]
219d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
220d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
221d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r12d
222d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ebx
223d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,9
224d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
225d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[643717713+r10*1+rcx]
227d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,edx
228d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
230d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
231d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
232d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r12d
233d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,eax
234d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,14
235d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
236d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-373897302))+r10*1+rbx]
238d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ecx
239d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[20+rsi]
241d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
242d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
243d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r12d
244d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,edx
245d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,20
246d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
247d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-701558691))+r10*1+rax]
249d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ebx
250d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[40+rsi]
252d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
253d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
254d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r12d
255d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ecx
256d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,5
257d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
258d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[38016083+r10*1+rdx]
260d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,eax
261d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[60+rsi]
263d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
264d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
265d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r12d
266d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ebx
267d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,9
268d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
269d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-660478335))+r10*1+rcx]
271d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,edx
272d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[16+rsi]
274d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
275d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
276d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r12d
277d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,eax
278d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,14
279d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
280d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-405537848))+r10*1+rbx]
282d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ecx
283d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[36+rsi]
285d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
286d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
287d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r12d
288d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,edx
289d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,20
290d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
291d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[568446438+r10*1+rax]
293d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ebx
294d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[56+rsi]
296d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
297d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
298d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r12d
299d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ecx
300d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,5
301d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
302d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-1019803690))+r10*1+rdx]
304d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,eax
305d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[12+rsi]
307d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
308d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
309d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r12d
310d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ebx
311d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,9
312d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
313d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-187363961))+r10*1+rcx]
315d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,edx
316d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[32+rsi]
318d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
319d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
320d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r12d
321d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,eax
322d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,14
323d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
324d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[1163531501+r10*1+rbx]
326d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ecx
327d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[52+rsi]
329d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
330d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
331d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r12d
332d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,edx
333d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,20
334d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
335d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-1444681467))+r10*1+rax]
337d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ebx
338d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ecx
339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[8+rsi]
340d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
341d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
342d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r12d
343d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ecx
344d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,5
345d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
346d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-51403784))+r10*1+rdx]
348d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,eax
349d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,ebx
350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[28+rsi]
351d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
352d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
353d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r12d
354d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,ebx
355d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,9
356d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
357d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[1735328473+r10*1+rcx]
359d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,edx
360d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,eax
361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[48+rsi]
362d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
363d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
364d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r12d
365d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,eax
366d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,14
367d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
368d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	not	r11d
369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-1926607734))+r10*1+rbx]
370d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r12d,ecx
371d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	and	r11d,edx
372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
373d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r12d,r11d
374d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
375d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r12d
376d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r12d,edx
377d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,20
378d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[20+rsi]
380d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-378558))+r10*1+rax]
382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[32+rsi]
383d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
384d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
385d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
386d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,4
387d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
388d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-2022574463))+r10*1+rdx]
390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[44+rsi]
391d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
392d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
393d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
394d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,11
395d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
396d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[1839030562+r10*1+rcx]
398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[56+rsi]
399d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
400d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
401d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
402d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,16
403d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
404d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-35309556))+r10*1+rbx]
406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[4+rsi]
407d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
408d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
409d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
410d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,23
411d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
412d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-1530992060))+r10*1+rax]
414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[16+rsi]
415d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
416d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
417d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
418d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,4
419d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
420d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1272893353+r10*1+rdx]
422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[28+rsi]
423d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
424d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
425d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
426d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,11
427d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
428d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-155497632))+r10*1+rcx]
430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[40+rsi]
431d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
432d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
433d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
434d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,16
435d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
436d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-1094730640))+r10*1+rbx]
438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[52+rsi]
439d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
440d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
441d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
442d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,23
443d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
444d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[681279174+r10*1+rax]
446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
447d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
448d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
449d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
450d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,4
451d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
452d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-358537222))+r10*1+rdx]
454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[12+rsi]
455d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
456d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
457d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
458d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,11
459d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
460d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-722521979))+r10*1+rcx]
462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[24+rsi]
463d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
464d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
465d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
466d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,16
467d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
468d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[76029189+r10*1+rbx]
470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[36+rsi]
471d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
472d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
473d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
474d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,23
475d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
476d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-640364487))+r10*1+rax]
478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[48+rsi]
479d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
480d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
481d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
482d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,4
483d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ebx
484d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-421815835))+r10*1+rdx]
486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[60+rsi]
487d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
488d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
489d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
490d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,11
491d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,eax
492d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[530742520+r10*1+rcx]
494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[8+rsi]
495d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
496d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
497d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
498d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,16
499d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,edx
500d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-995338651))+r10*1+rbx]
502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
503d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
504d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
505d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
506d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,23
507d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	r11d,ecx
508d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
511d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-198630844))+r10*1+rax]
513d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ebx
514d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
515d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[28+rsi]
517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
518d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,6
519d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
520d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[1126891415+r10*1+rdx]
522d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,eax
523d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
524d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[56+rsi]
526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
527d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,10
528d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
529d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-1416354905))+r10*1+rcx]
531d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,edx
532d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
533d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[20+rsi]
535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
536d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,15
537d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
538d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-57434055))+r10*1+rbx]
540d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ecx
541d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
542d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[48+rsi]
544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
545d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,21
546d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
547d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[1700485571+r10*1+rax]
549d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ebx
550d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
551d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[12+rsi]
553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
554d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,6
555d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
556d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-1894986606))+r10*1+rdx]
558d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,eax
559d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
560d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[40+rsi]
562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
563d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,10
564d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
565d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-1051523))+r10*1+rcx]
567d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,edx
568d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
569d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[4+rsi]
571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
572d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,15
573d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
574d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-2054922799))+r10*1+rbx]
576d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ecx
577d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
578d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[32+rsi]
580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
581d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,21
582d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
583d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[1873313359+r10*1+rax]
585d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ebx
586d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
587d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[60+rsi]
589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
590d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,6
591d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
592d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
593e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-30611744))+r10*1+rdx]
594d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,eax
595d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
596d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
597e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[24+rsi]
598e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
599d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,10
600d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
601d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
602e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[((-1560198380))+r10*1+rcx]
603d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,edx
604d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
605d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
606e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[52+rsi]
607e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
608d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,15
609d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
610d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
611e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[1309151649+r10*1+rbx]
612d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ecx
613d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
614d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
615e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[16+rsi]
616e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
617d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,21
618d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
619d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
620e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	eax,[((-145523070))+r10*1+rax]
621d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ebx
622d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
623d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r11d
624e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[44+rsi]
625e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
626d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	eax,6
627d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ecx
628d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,ebx
629e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	edx,[((-1120210379))+r10*1+rdx]
630d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,eax
631d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
632d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r11d
633e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[8+rsi]
634e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
635d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	edx,10
636d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,ebx
637d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,eax
638e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ecx,[718787259+r10*1+rcx]
639d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,edx
640d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
641d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r11d
642e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[36+rsi]
643e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
644d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ecx,15
645d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,eax
646d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,edx
647e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	ebx,[((-343485551))+r10*1+rbx]
648d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	or	r11d,ecx
649d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
650d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r11d
651e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10d,DWORD[rsi]
652e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r11d,0xffffffff
653d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	rol	ebx,21
654d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	r11d,edx
655d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,ecx
656d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
657d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	eax,r8d
658d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ebx,r9d
659d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	ecx,r14d
660d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	edx,r15d
661d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
662d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
663d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	rsi,64
664d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	cmp	rsi,rdi
665e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jb	NEAR $L$loop
666d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
667d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
668e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$end:
669e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD[rbp],eax
670e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD[4+rbp],ebx
671e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD[8+rbp],ecx
672e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	DWORD[12+rbp],edx
673d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
674e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r15,QWORD[rsp]
675e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r14,QWORD[8+rsp]
676e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r12,QWORD[16+rsp]
677e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rbx,QWORD[24+rsp]
678e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rbp,QWORD[32+rsp]
679d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	rsp,40
680e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$epilogue:
681e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
682e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rsi,QWORD[16+rsp]
683d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	DB	0F3h,0C3h		;repret
684e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$SEH_end_md5_block_asm_data_order:
685e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyEXTERN	__imp_RtlVirtualUnwind
686d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
687d9e397b599b13d642138480a28c14db7a136bf0Adam LangleyALIGN	16
688e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyse_handler:
689d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	rsi
690d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	rdi
691d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	rbx
692d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	rbp
693d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r12
694d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r13
695d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r14
696d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	push	r15
697d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pushfq
698d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	sub	rsp,64
699d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
700e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rax,QWORD[120+r8]
701e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rbx,QWORD[248+r8]
702d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
703e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	r10,[$L$prologue]
704d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	cmp	rbx,r10
705e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jb	NEAR $L$in_prologue
706d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
707e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rax,QWORD[152+r8]
708d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
709e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	r10,[$L$epilogue]
710d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	cmp	rbx,r10
711e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	jae	NEAR $L$in_prologue
712e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley
713e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	rax,[40+rax]
714e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley
715e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rbp,QWORD[((-8))+rax]
716e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rbx,QWORD[((-16))+rax]
717e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r12,QWORD[((-24))+rax]
718e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r14,QWORD[((-32))+rax]
719e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r15,QWORD[((-40))+rax]
720e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[144+r8],rbx
721e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[160+r8],rbp
722e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[216+r8],r12
723e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[232+r8],r14
724e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[240+r8],r15
725e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley
726e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$in_prologue:
727e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rdi,QWORD[8+rax]
728e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rsi,QWORD[16+rax]
729e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[152+r8],rax
730e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[168+r8],rsi
731e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[176+r8],rdi
732e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley
733e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rdi,QWORD[40+r9]
734d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rsi,r8
735d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	ecx,154
736e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	DD	0xa548f3fc
737d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
738d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	rsi,r9
739d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	xor	rcx,rcx
740e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	rdx,QWORD[8+rsi]
741e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r8,QWORD[rsi]
742e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r9,QWORD[16+rsi]
743e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	r10,QWORD[40+rsi]
744e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	r11,[56+rsi]
745e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	lea	r12,[24+rsi]
746e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[32+rsp],r10
747e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[40+rsp],r11
748e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[48+rsp],r12
749e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	mov	QWORD[56+rsp],rcx
750e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	call	QWORD[__imp_RtlVirtualUnwind]
751d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
752d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	mov	eax,1
753d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	add	rsp,64
754d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	popfq
755d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	r15
756d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	r14
757d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	r13
758d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	r12
759d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	rbp
760d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	rbx
761d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	rdi
762d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	pop	rsi
763d9e397b599b13d642138480a28c14db7a136bf0Adam Langley	DB	0F3h,0C3h		;repret
764d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
765e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley
766e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection	.pdata rdata align=4
767d9e397b599b13d642138480a28c14db7a136bf0Adam LangleyALIGN	4
768e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	DD	$L$SEH_begin_md5_block_asm_data_order wrt ..imagebase
769e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	DD	$L$SEH_end_md5_block_asm_data_order wrt ..imagebase
770e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	DD	$L$SEH_info_md5_block_asm_data_order wrt ..imagebase
771d9e397b599b13d642138480a28c14db7a136bf0Adam Langley
772e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection	.xdata rdata align=8
773d9e397b599b13d642138480a28c14db7a136bf0Adam LangleyALIGN	8
774e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$L$SEH_info_md5_block_asm_data_order:
775d9e397b599b13d642138480a28c14db7a136bf0Adam LangleyDB	9,0,0,0
776e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley	DD	se_handler wrt ..imagebase
777