1 | include ksamd64.inc |
---|
2 | EXTERNDEF ?Te@rdtable@CryptoPP@@3PA_KA:FAR |
---|
3 | EXTERNDEF ?g_cacheLineSize@CryptoPP@@3IA:FAR |
---|
4 | EXTERNDEF ?SHA256_K@CryptoPP@@3QBIB:FAR |
---|
5 | .CODE |
---|
6 | |
---|
7 | ALIGN 8 |
---|
8 | Baseline_Add PROC |
---|
9 | lea rdx, [rdx+8*rcx] |
---|
10 | lea r8, [r8+8*rcx] |
---|
11 | lea r9, [r9+8*rcx] |
---|
12 | neg rcx ; rcx is negative index |
---|
13 | jz $1@Baseline_Add |
---|
14 | mov rax,[r8+8*rcx] |
---|
15 | add rax,[r9+8*rcx] |
---|
16 | mov [rdx+8*rcx],rax |
---|
17 | $0@Baseline_Add: |
---|
18 | mov rax,[r8+8*rcx+8] |
---|
19 | adc rax,[r9+8*rcx+8] |
---|
20 | mov [rdx+8*rcx+8],rax |
---|
21 | lea rcx,[rcx+2] ; advance index, avoid inc which causes slowdown on Intel Core 2 |
---|
22 | jrcxz $1@Baseline_Add ; loop until rcx overflows and becomes zero |
---|
23 | mov rax,[r8+8*rcx] |
---|
24 | adc rax,[r9+8*rcx] |
---|
25 | mov [rdx+8*rcx],rax |
---|
26 | jmp $0@Baseline_Add |
---|
27 | $1@Baseline_Add: |
---|
28 | mov rax, 0 |
---|
29 | adc rax, rax ; store carry into rax (return result register) |
---|
30 | ret |
---|
31 | Baseline_Add ENDP |
---|
32 | |
---|
33 | ALIGN 8 |
---|
34 | Baseline_Sub PROC |
---|
35 | lea rdx, [rdx+8*rcx] |
---|
36 | lea r8, [r8+8*rcx] |
---|
37 | lea r9, [r9+8*rcx] |
---|
38 | neg rcx ; rcx is negative index |
---|
39 | jz $1@Baseline_Sub |
---|
40 | mov rax,[r8+8*rcx] |
---|
41 | sub rax,[r9+8*rcx] |
---|
42 | mov [rdx+8*rcx],rax |
---|
43 | $0@Baseline_Sub: |
---|
44 | mov rax,[r8+8*rcx+8] |
---|
45 | sbb rax,[r9+8*rcx+8] |
---|
46 | mov [rdx+8*rcx+8],rax |
---|
47 | lea rcx,[rcx+2] ; advance index, avoid inc which causes slowdown on Intel Core 2 |
---|
48 | jrcxz $1@Baseline_Sub ; loop until rcx overflows and becomes zero |
---|
49 | mov rax,[r8+8*rcx] |
---|
50 | sbb rax,[r9+8*rcx] |
---|
51 | mov [rdx+8*rcx],rax |
---|
52 | jmp $0@Baseline_Sub |
---|
53 | $1@Baseline_Sub: |
---|
54 | mov rax, 0 |
---|
55 | adc rax, rax ; store carry into rax (return result register) |
---|
56 | |
---|
57 | ret |
---|
58 | Baseline_Sub ENDP |
---|
59 | |
---|
60 | ALIGN 8 |
---|
61 | Rijndael_Enc_AdvancedProcessBlocks PROC FRAME |
---|
62 | rex_push_reg rsi |
---|
63 | push_reg rdi |
---|
64 | push_reg rbx |
---|
65 | push_reg r12 |
---|
66 | .endprolog |
---|
67 | mov r8, rcx |
---|
68 | mov r11, ?Te@rdtable@CryptoPP@@3PA_KA |
---|
69 | mov edi, DWORD PTR [?g_cacheLineSize@CryptoPP@@3IA] |
---|
70 | mov rsi, [(r8+16*19)] |
---|
71 | mov rax, 16 |
---|
72 | and rax, rsi |
---|
73 | movdqa xmm3, XMMWORD PTR [rdx+16+rax] |
---|
74 | movdqa [(r8+16*12)], xmm3 |
---|
75 | lea rax, [rdx+rax+2*16] |
---|
76 | sub rax, rsi |
---|
77 | label0: |
---|
78 | movdqa xmm0, [rax+rsi] |
---|
79 | movdqa XMMWORD PTR [(r8+0)+rsi], xmm0 |
---|
80 | add rsi, 16 |
---|
81 | cmp rsi, 16*12 |
---|
82 | jl label0 |
---|
83 | movdqa xmm4, [rax+rsi] |
---|
84 | movdqa xmm1, [rdx] |
---|
85 | mov r12d, [rdx+4*4] |
---|
86 | mov ebx, [rdx+5*4] |
---|
87 | mov ecx, [rdx+6*4] |
---|
88 | mov edx, [rdx+7*4] |
---|
89 | xor rax, rax |
---|
90 | label9: |
---|
91 | mov esi, [r11+rax] |
---|
92 | add rax, rdi |
---|
93 | mov esi, [r11+rax] |
---|
94 | add rax, rdi |
---|
95 | mov esi, [r11+rax] |
---|
96 | add rax, rdi |
---|
97 | mov esi, [r11+rax] |
---|
98 | add rax, rdi |
---|
99 | cmp rax, 2048 |
---|
100 | jl label9 |
---|
101 | lfence |
---|
102 | test DWORD PTR [(r8+16*18+8)], 1 |
---|
103 | jz label8 |
---|
104 | mov rsi, [(r8+16*14)] |
---|
105 | movdqu xmm2, [rsi] |
---|
106 | pxor xmm2, xmm1 |
---|
107 | psrldq xmm1, 14 |
---|
108 | movd eax, xmm1 |
---|
109 | mov al, BYTE PTR [rsi+15] |
---|
110 | mov r10d, eax |
---|
111 | movd eax, xmm2 |
---|
112 | psrldq xmm2, 4 |
---|
113 | movd edi, xmm2 |
---|
114 | psrldq xmm2, 4 |
---|
115 | movzx esi, al |
---|
116 | xor r12d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
117 | movzx esi, ah |
---|
118 | xor edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
119 | shr eax, 16 |
---|
120 | movzx esi, al |
---|
121 | xor ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
122 | movzx esi, ah |
---|
123 | xor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
124 | mov eax, edi |
---|
125 | movd edi, xmm2 |
---|
126 | psrldq xmm2, 4 |
---|
127 | movzx esi, al |
---|
128 | xor ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
129 | movzx esi, ah |
---|
130 | xor r12d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
131 | shr eax, 16 |
---|
132 | movzx esi, al |
---|
133 | xor edx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
134 | movzx esi, ah |
---|
135 | xor ecx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
136 | mov eax, edi |
---|
137 | movd edi, xmm2 |
---|
138 | movzx esi, al |
---|
139 | xor ecx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
140 | movzx esi, ah |
---|
141 | xor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
142 | shr eax, 16 |
---|
143 | movzx esi, al |
---|
144 | xor r12d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
145 | movzx esi, ah |
---|
146 | xor edx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
147 | mov eax, edi |
---|
148 | movzx esi, al |
---|
149 | xor edx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
150 | movzx esi, ah |
---|
151 | xor ecx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
152 | shr eax, 16 |
---|
153 | movzx esi, al |
---|
154 | xor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
155 | psrldq xmm2, 3 |
---|
156 | mov eax, [(r8+16*12)+0*4] |
---|
157 | mov edi, [(r8+16*12)+2*4] |
---|
158 | mov r9d, [(r8+16*12)+3*4] |
---|
159 | movzx esi, cl |
---|
160 | xor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
161 | movzx esi, bl |
---|
162 | xor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
163 | movzx esi, bh |
---|
164 | xor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
165 | shr ebx, 16 |
---|
166 | movzx esi, bl |
---|
167 | xor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
168 | movzx esi, bh |
---|
169 | mov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
170 | xor ebx, [(r8+16*12)+1*4] |
---|
171 | movzx esi, ch |
---|
172 | xor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
173 | shr ecx, 16 |
---|
174 | movzx esi, dl |
---|
175 | xor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
176 | movzx esi, dh |
---|
177 | xor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
178 | shr edx, 16 |
---|
179 | movzx esi, ch |
---|
180 | xor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
181 | movzx esi, cl |
---|
182 | xor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
183 | movzx esi, dl |
---|
184 | xor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
185 | movzx esi, dh |
---|
186 | xor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
187 | movd ecx, xmm2 |
---|
188 | mov edx, r12d |
---|
189 | mov [(r8+0)+3*4], r9d |
---|
190 | mov [(r8+0)+0*4], eax |
---|
191 | mov [(r8+0)+1*4], ebx |
---|
192 | mov [(r8+0)+2*4], edi |
---|
193 | jmp label5 |
---|
194 | label3: |
---|
195 | mov r12d, [(r8+16*12)+0*4] |
---|
196 | mov ebx, [(r8+16*12)+1*4] |
---|
197 | mov ecx, [(r8+16*12)+2*4] |
---|
198 | mov edx, [(r8+16*12)+3*4] |
---|
199 | label8: |
---|
200 | mov rax, [(r8+16*14)] |
---|
201 | movdqu xmm2, [rax] |
---|
202 | mov rsi, [(r8+16*14)+8] |
---|
203 | movdqu xmm5, [rsi] |
---|
204 | pxor xmm2, xmm1 |
---|
205 | pxor xmm2, xmm5 |
---|
206 | movd eax, xmm2 |
---|
207 | psrldq xmm2, 4 |
---|
208 | movd edi, xmm2 |
---|
209 | psrldq xmm2, 4 |
---|
210 | movzx esi, al |
---|
211 | xor r12d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
212 | movzx esi, ah |
---|
213 | xor edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
214 | shr eax, 16 |
---|
215 | movzx esi, al |
---|
216 | xor ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
217 | movzx esi, ah |
---|
218 | xor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
219 | mov eax, edi |
---|
220 | movd edi, xmm2 |
---|
221 | psrldq xmm2, 4 |
---|
222 | movzx esi, al |
---|
223 | xor ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
224 | movzx esi, ah |
---|
225 | xor r12d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
226 | shr eax, 16 |
---|
227 | movzx esi, al |
---|
228 | xor edx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
229 | movzx esi, ah |
---|
230 | xor ecx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
231 | mov eax, edi |
---|
232 | movd edi, xmm2 |
---|
233 | movzx esi, al |
---|
234 | xor ecx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
235 | movzx esi, ah |
---|
236 | xor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
237 | shr eax, 16 |
---|
238 | movzx esi, al |
---|
239 | xor r12d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
240 | movzx esi, ah |
---|
241 | xor edx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
242 | mov eax, edi |
---|
243 | movzx esi, al |
---|
244 | xor edx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
245 | movzx esi, ah |
---|
246 | xor ecx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
247 | shr eax, 16 |
---|
248 | movzx esi, al |
---|
249 | xor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
250 | movzx esi, ah |
---|
251 | xor r12d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
252 | mov eax, r12d |
---|
253 | add r8, [(r8+16*19)] |
---|
254 | add r8, 4*16 |
---|
255 | jmp label2 |
---|
256 | label1: |
---|
257 | mov ecx, r10d |
---|
258 | mov edx, r12d |
---|
259 | mov eax, [(r8+0)+0*4] |
---|
260 | mov ebx, [(r8+0)+1*4] |
---|
261 | xor cl, ch |
---|
262 | and rcx, 255 |
---|
263 | label5: |
---|
264 | add r10d, 1 |
---|
265 | xor edx, DWORD PTR [r11+rcx*8+3] |
---|
266 | movzx esi, dl |
---|
267 | xor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
268 | movzx esi, dh |
---|
269 | mov ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
270 | shr edx, 16 |
---|
271 | xor ecx, [(r8+0)+2*4] |
---|
272 | movzx esi, dh |
---|
273 | xor eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
274 | movzx esi, dl |
---|
275 | mov edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
276 | xor edx, [(r8+0)+3*4] |
---|
277 | add r8, [(r8+16*19)] |
---|
278 | add r8, 3*16 |
---|
279 | jmp label4 |
---|
280 | label2: |
---|
281 | mov r9d, [(r8+0)-4*16+3*4] |
---|
282 | mov edi, [(r8+0)-4*16+2*4] |
---|
283 | movzx esi, cl |
---|
284 | xor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
285 | mov cl, al |
---|
286 | movzx esi, ah |
---|
287 | xor edi, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
288 | shr eax, 16 |
---|
289 | movzx esi, bl |
---|
290 | xor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
291 | movzx esi, bh |
---|
292 | xor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
293 | shr ebx, 16 |
---|
294 | movzx esi, al |
---|
295 | xor r9d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
296 | movzx esi, ah |
---|
297 | mov eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
298 | movzx esi, bl |
---|
299 | xor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
300 | movzx esi, bh |
---|
301 | mov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
302 | movzx esi, ch |
---|
303 | xor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
304 | movzx esi, cl |
---|
305 | xor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
306 | shr ecx, 16 |
---|
307 | movzx esi, dl |
---|
308 | xor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
309 | movzx esi, dh |
---|
310 | xor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
311 | shr edx, 16 |
---|
312 | movzx esi, ch |
---|
313 | xor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
314 | movzx esi, cl |
---|
315 | xor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
316 | movzx esi, dl |
---|
317 | xor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
318 | movzx esi, dh |
---|
319 | xor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
320 | mov ecx, edi |
---|
321 | xor eax, [(r8+0)-4*16+0*4] |
---|
322 | xor ebx, [(r8+0)-4*16+1*4] |
---|
323 | mov edx, r9d |
---|
324 | label4: |
---|
325 | mov r9d, [(r8+0)-4*16+7*4] |
---|
326 | mov edi, [(r8+0)-4*16+6*4] |
---|
327 | movzx esi, cl |
---|
328 | xor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
329 | mov cl, al |
---|
330 | movzx esi, ah |
---|
331 | xor edi, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
332 | shr eax, 16 |
---|
333 | movzx esi, bl |
---|
334 | xor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
335 | movzx esi, bh |
---|
336 | xor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
337 | shr ebx, 16 |
---|
338 | movzx esi, al |
---|
339 | xor r9d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
340 | movzx esi, ah |
---|
341 | mov eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
342 | movzx esi, bl |
---|
343 | xor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
344 | movzx esi, bh |
---|
345 | mov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
346 | movzx esi, ch |
---|
347 | xor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
348 | movzx esi, cl |
---|
349 | xor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
350 | shr ecx, 16 |
---|
351 | movzx esi, dl |
---|
352 | xor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)] |
---|
353 | movzx esi, dh |
---|
354 | xor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)] |
---|
355 | shr edx, 16 |
---|
356 | movzx esi, ch |
---|
357 | xor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
358 | movzx esi, cl |
---|
359 | xor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
360 | movzx esi, dl |
---|
361 | xor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)] |
---|
362 | movzx esi, dh |
---|
363 | xor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)] |
---|
364 | mov ecx, edi |
---|
365 | xor eax, [(r8+0)-4*16+4*4] |
---|
366 | xor ebx, [(r8+0)-4*16+5*4] |
---|
367 | mov edx, r9d |
---|
368 | add r8, 32 |
---|
369 | test r8, 255 |
---|
370 | jnz label2 |
---|
371 | sub r8, 16*16 |
---|
372 | movzx esi, ch |
---|
373 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
374 | movzx esi, dl |
---|
375 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
376 | mov WORD PTR [(r8+16*13)+2], di |
---|
377 | movzx esi, dh |
---|
378 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
379 | movzx esi, al |
---|
380 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
381 | mov WORD PTR [(r8+16*13)+6], di |
---|
382 | shr edx, 16 |
---|
383 | movzx esi, ah |
---|
384 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
385 | movzx esi, bl |
---|
386 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
387 | mov WORD PTR [(r8+16*13)+10], di |
---|
388 | shr eax, 16 |
---|
389 | movzx esi, bh |
---|
390 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
391 | movzx esi, cl |
---|
392 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
393 | mov WORD PTR [(r8+16*13)+14], di |
---|
394 | shr ebx, 16 |
---|
395 | movzx esi, dh |
---|
396 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
397 | movzx esi, al |
---|
398 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
399 | mov WORD PTR [(r8+16*13)+12], di |
---|
400 | shr ecx, 16 |
---|
401 | movzx esi, ah |
---|
402 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
403 | movzx esi, bl |
---|
404 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
405 | mov WORD PTR [(r8+16*13)+0], di |
---|
406 | movzx esi, bh |
---|
407 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
408 | movzx esi, cl |
---|
409 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
410 | mov WORD PTR [(r8+16*13)+4], di |
---|
411 | movzx esi, ch |
---|
412 | movzx edi, BYTE PTR [r11+rsi*8+1] |
---|
413 | movzx esi, dl |
---|
414 | xor edi, DWORD PTR [r11+rsi*8+0] |
---|
415 | mov WORD PTR [(r8+16*13)+8], di |
---|
416 | mov rax, [(r8+16*14)+16] |
---|
417 | mov rbx, [(r8+16*14)+24] |
---|
418 | mov rcx, [(r8+16*18+8)] |
---|
419 | sub rcx, 16 |
---|
420 | movdqu xmm2, [rax] |
---|
421 | pxor xmm2, xmm4 |
---|
422 | movdqa xmm0, [(r8+16*16)+16] |
---|
423 | paddq xmm0, [(r8+16*14)+16] |
---|
424 | movdqa [(r8+16*14)+16], xmm0 |
---|
425 | pxor xmm2, [(r8+16*13)] |
---|
426 | movdqu [rbx], xmm2 |
---|
427 | jle label7 |
---|
428 | mov [(r8+16*18+8)], rcx |
---|
429 | test rcx, 1 |
---|
430 | jnz label1 |
---|
431 | movdqa xmm0, [(r8+16*16)] |
---|
432 | paddq xmm0, [(r8+16*14)] |
---|
433 | movdqa [(r8+16*14)], xmm0 |
---|
434 | jmp label3 |
---|
435 | label7: |
---|
436 | xorps xmm0, xmm0 |
---|
437 | lea rax, [(r8+0)+7*16] |
---|
438 | movaps [rax-7*16], xmm0 |
---|
439 | movaps [rax-6*16], xmm0 |
---|
440 | movaps [rax-5*16], xmm0 |
---|
441 | movaps [rax-4*16], xmm0 |
---|
442 | movaps [rax-3*16], xmm0 |
---|
443 | movaps [rax-2*16], xmm0 |
---|
444 | movaps [rax-1*16], xmm0 |
---|
445 | movaps [rax+0*16], xmm0 |
---|
446 | movaps [rax+1*16], xmm0 |
---|
447 | movaps [rax+2*16], xmm0 |
---|
448 | movaps [rax+3*16], xmm0 |
---|
449 | movaps [rax+4*16], xmm0 |
---|
450 | movaps [rax+5*16], xmm0 |
---|
451 | movaps [rax+6*16], xmm0 |
---|
452 | pop r12 |
---|
453 | pop rbx |
---|
454 | pop rdi |
---|
455 | pop rsi |
---|
456 | ret |
---|
457 | Rijndael_Enc_AdvancedProcessBlocks ENDP |
---|
458 | |
---|
459 | ALIGN 8 |
---|
460 | GCM_AuthenticateBlocks_2K PROC FRAME |
---|
461 | rex_push_reg rsi |
---|
462 | push_reg rdi |
---|
463 | push_reg rbx |
---|
464 | .endprolog |
---|
465 | mov rsi, r8 |
---|
466 | mov r11, r9 |
---|
467 | movdqa xmm0, [rsi] |
---|
468 | label0: |
---|
469 | movdqu xmm4, [rcx] |
---|
470 | pxor xmm0, xmm4 |
---|
471 | movd ebx, xmm0 |
---|
472 | mov eax, 0f0f0f0f0h |
---|
473 | and eax, ebx |
---|
474 | shl ebx, 4 |
---|
475 | and ebx, 0f0f0f0f0h |
---|
476 | movzx edi, ah |
---|
477 | movdqa xmm5, XMMWORD PTR [rsi + 32 + 1024 + rdi] |
---|
478 | movzx edi, al |
---|
479 | movdqa xmm4, XMMWORD PTR [rsi + 32 + 1024 + rdi] |
---|
480 | shr eax, 16 |
---|
481 | movzx edi, ah |
---|
482 | movdqa xmm3, XMMWORD PTR [rsi + 32 + 1024 + rdi] |
---|
483 | movzx edi, al |
---|
484 | movdqa xmm2, XMMWORD PTR [rsi + 32 + 1024 + rdi] |
---|
485 | psrldq xmm0, 4 |
---|
486 | movd eax, xmm0 |
---|
487 | and eax, 0f0f0f0f0h |
---|
488 | movzx edi, bh |
---|
489 | pxor xmm5, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi] |
---|
490 | movzx edi, bl |
---|
491 | pxor xmm4, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi] |
---|
492 | shr ebx, 16 |
---|
493 | movzx edi, bh |
---|
494 | pxor xmm3, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi] |
---|
495 | movzx edi, bl |
---|
496 | pxor xmm2, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi] |
---|
497 | movd ebx, xmm0 |
---|
498 | shl ebx, 4 |
---|
499 | and ebx, 0f0f0f0f0h |
---|
500 | movzx edi, ah |
---|
501 | pxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi] |
---|
502 | movzx edi, al |
---|
503 | pxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi] |
---|
504 | shr eax, 16 |
---|
505 | movzx edi, ah |
---|
506 | pxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi] |
---|
507 | movzx edi, al |
---|
508 | pxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi] |
---|
509 | psrldq xmm0, 4 |
---|
510 | movd eax, xmm0 |
---|
511 | and eax, 0f0f0f0f0h |
---|
512 | movzx edi, bh |
---|
513 | pxor xmm5, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi] |
---|
514 | movzx edi, bl |
---|
515 | pxor xmm4, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi] |
---|
516 | shr ebx, 16 |
---|
517 | movzx edi, bh |
---|
518 | pxor xmm3, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi] |
---|
519 | movzx edi, bl |
---|
520 | pxor xmm2, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi] |
---|
521 | movd ebx, xmm0 |
---|
522 | shl ebx, 4 |
---|
523 | and ebx, 0f0f0f0f0h |
---|
524 | movzx edi, ah |
---|
525 | pxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi] |
---|
526 | movzx edi, al |
---|
527 | pxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi] |
---|
528 | shr eax, 16 |
---|
529 | movzx edi, ah |
---|
530 | pxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi] |
---|
531 | movzx edi, al |
---|
532 | pxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi] |
---|
533 | psrldq xmm0, 4 |
---|
534 | movd eax, xmm0 |
---|
535 | and eax, 0f0f0f0f0h |
---|
536 | movzx edi, bh |
---|
537 | pxor xmm5, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi] |
---|
538 | movzx edi, bl |
---|
539 | pxor xmm4, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi] |
---|
540 | shr ebx, 16 |
---|
541 | movzx edi, bh |
---|
542 | pxor xmm3, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi] |
---|
543 | movzx edi, bl |
---|
544 | pxor xmm2, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi] |
---|
545 | movd ebx, xmm0 |
---|
546 | shl ebx, 4 |
---|
547 | and ebx, 0f0f0f0f0h |
---|
548 | movzx edi, ah |
---|
549 | pxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi] |
---|
550 | movzx edi, al |
---|
551 | pxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi] |
---|
552 | shr eax, 16 |
---|
553 | movzx edi, ah |
---|
554 | pxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi] |
---|
555 | movzx edi, al |
---|
556 | pxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi] |
---|
557 | movzx edi, bh |
---|
558 | pxor xmm5, XMMWORD PTR [rsi + 32 + 3*256 + rdi] |
---|
559 | movzx edi, bl |
---|
560 | pxor xmm4, XMMWORD PTR [rsi + 32 + 3*256 + rdi] |
---|
561 | shr ebx, 16 |
---|
562 | movzx edi, bh |
---|
563 | pxor xmm3, XMMWORD PTR [rsi + 32 + 3*256 + rdi] |
---|
564 | movzx edi, bl |
---|
565 | pxor xmm2, XMMWORD PTR [rsi + 32 + 3*256 + rdi] |
---|
566 | movdqa xmm0, xmm3 |
---|
567 | pslldq xmm3, 1 |
---|
568 | pxor xmm2, xmm3 |
---|
569 | movdqa xmm1, xmm2 |
---|
570 | pslldq xmm2, 1 |
---|
571 | pxor xmm5, xmm2 |
---|
572 | psrldq xmm0, 15 |
---|
573 | movd rdi, xmm0 |
---|
574 | movzx eax, WORD PTR [r11 + rdi*2] |
---|
575 | shl eax, 8 |
---|
576 | movdqa xmm0, xmm5 |
---|
577 | pslldq xmm5, 1 |
---|
578 | pxor xmm4, xmm5 |
---|
579 | psrldq xmm1, 15 |
---|
580 | movd rdi, xmm1 |
---|
581 | xor ax, WORD PTR [r11 + rdi*2] |
---|
582 | shl eax, 8 |
---|
583 | psrldq xmm0, 15 |
---|
584 | movd rdi, xmm0 |
---|
585 | xor ax, WORD PTR [r11 + rdi*2] |
---|
586 | movd xmm0, eax |
---|
587 | pxor xmm0, xmm4 |
---|
588 | add rcx, 16 |
---|
589 | sub rdx, 1 |
---|
590 | jnz label0 |
---|
591 | movdqa [rsi], xmm0 |
---|
592 | pop rbx |
---|
593 | pop rdi |
---|
594 | pop rsi |
---|
595 | ret |
---|
596 | GCM_AuthenticateBlocks_2K ENDP |
---|
597 | |
---|
598 | ALIGN 8 |
---|
599 | GCM_AuthenticateBlocks_64K PROC FRAME |
---|
600 | rex_push_reg rsi |
---|
601 | push_reg rdi |
---|
602 | .endprolog |
---|
603 | mov rsi, r8 |
---|
604 | movdqa xmm0, [rsi] |
---|
605 | label1: |
---|
606 | movdqu xmm1, [rcx] |
---|
607 | pxor xmm1, xmm0 |
---|
608 | pxor xmm0, xmm0 |
---|
609 | movd eax, xmm1 |
---|
610 | psrldq xmm1, 4 |
---|
611 | movzx edi, al |
---|
612 | add rdi, rdi |
---|
613 | pxor xmm0, [rsi + 32 + (0*4+0)*256*16 + rdi*8] |
---|
614 | movzx edi, ah |
---|
615 | add rdi, rdi |
---|
616 | pxor xmm0, [rsi + 32 + (0*4+1)*256*16 + rdi*8] |
---|
617 | shr eax, 16 |
---|
618 | movzx edi, al |
---|
619 | add rdi, rdi |
---|
620 | pxor xmm0, [rsi + 32 + (0*4+2)*256*16 + rdi*8] |
---|
621 | movzx edi, ah |
---|
622 | add rdi, rdi |
---|
623 | pxor xmm0, [rsi + 32 + (0*4+3)*256*16 + rdi*8] |
---|
624 | movd eax, xmm1 |
---|
625 | psrldq xmm1, 4 |
---|
626 | movzx edi, al |
---|
627 | add rdi, rdi |
---|
628 | pxor xmm0, [rsi + 32 + (1*4+0)*256*16 + rdi*8] |
---|
629 | movzx edi, ah |
---|
630 | add rdi, rdi |
---|
631 | pxor xmm0, [rsi + 32 + (1*4+1)*256*16 + rdi*8] |
---|
632 | shr eax, 16 |
---|
633 | movzx edi, al |
---|
634 | add rdi, rdi |
---|
635 | pxor xmm0, [rsi + 32 + (1*4+2)*256*16 + rdi*8] |
---|
636 | movzx edi, ah |
---|
637 | add rdi, rdi |
---|
638 | pxor xmm0, [rsi + 32 + (1*4+3)*256*16 + rdi*8] |
---|
639 | movd eax, xmm1 |
---|
640 | psrldq xmm1, 4 |
---|
641 | movzx edi, al |
---|
642 | add rdi, rdi |
---|
643 | pxor xmm0, [rsi + 32 + (2*4+0)*256*16 + rdi*8] |
---|
644 | movzx edi, ah |
---|
645 | add rdi, rdi |
---|
646 | pxor xmm0, [rsi + 32 + (2*4+1)*256*16 + rdi*8] |
---|
647 | shr eax, 16 |
---|
648 | movzx edi, al |
---|
649 | add rdi, rdi |
---|
650 | pxor xmm0, [rsi + 32 + (2*4+2)*256*16 + rdi*8] |
---|
651 | movzx edi, ah |
---|
652 | add rdi, rdi |
---|
653 | pxor xmm0, [rsi + 32 + (2*4+3)*256*16 + rdi*8] |
---|
654 | movd eax, xmm1 |
---|
655 | psrldq xmm1, 4 |
---|
656 | movzx edi, al |
---|
657 | add rdi, rdi |
---|
658 | pxor xmm0, [rsi + 32 + (3*4+0)*256*16 + rdi*8] |
---|
659 | movzx edi, ah |
---|
660 | add rdi, rdi |
---|
661 | pxor xmm0, [rsi + 32 + (3*4+1)*256*16 + rdi*8] |
---|
662 | shr eax, 16 |
---|
663 | movzx edi, al |
---|
664 | add rdi, rdi |
---|
665 | pxor xmm0, [rsi + 32 + (3*4+2)*256*16 + rdi*8] |
---|
666 | movzx edi, ah |
---|
667 | add rdi, rdi |
---|
668 | pxor xmm0, [rsi + 32 + (3*4+3)*256*16 + rdi*8] |
---|
669 | add rcx, 16 |
---|
670 | sub rdx, 1 |
---|
671 | jnz label1 |
---|
672 | movdqa [rsi], xmm0 |
---|
673 | pop rdi |
---|
674 | pop rsi |
---|
675 | ret |
---|
676 | GCM_AuthenticateBlocks_64K ENDP |
---|
677 | |
---|
678 | ALIGN 8 |
---|
679 | X86_SHA256_HashBlocks PROC FRAME |
---|
680 | rex_push_reg rsi |
---|
681 | push_reg rdi |
---|
682 | push_reg rbx |
---|
683 | push_reg rbp |
---|
684 | alloc_stack(8*4 + 16*4 + 4*8 + 8) |
---|
685 | .endprolog |
---|
686 | mov rdi, r8 |
---|
687 | lea rsi, [?SHA256_K@CryptoPP@@3QBIB + 48*4] |
---|
688 | mov [rsp+8*4+16*4+1*8], rcx |
---|
689 | mov [rsp+8*4+16*4+2*8], rdx |
---|
690 | add rdi, rdx |
---|
691 | mov [rsp+8*4+16*4+3*8], rdi |
---|
692 | movdqa xmm0, XMMWORD PTR [rcx+0*16] |
---|
693 | movdqa xmm1, XMMWORD PTR [rcx+1*16] |
---|
694 | mov [rsp+8*4+16*4+0*8], rsi |
---|
695 | label0: |
---|
696 | sub rsi, 48*4 |
---|
697 | movdqa [rsp+((1024+7-(0+3)) MOD (8))*4], xmm1 |
---|
698 | movdqa [rsp+((1024+7-(0+7)) MOD (8))*4], xmm0 |
---|
699 | mov rbx, [rdx+0*8] |
---|
700 | bswap rbx |
---|
701 | mov [rsp+8*4+((1024+15-(0*(1+1)+1)) MOD (16))*4], rbx |
---|
702 | mov rbx, [rdx+1*8] |
---|
703 | bswap rbx |
---|
704 | mov [rsp+8*4+((1024+15-(1*(1+1)+1)) MOD (16))*4], rbx |
---|
705 | mov rbx, [rdx+2*8] |
---|
706 | bswap rbx |
---|
707 | mov [rsp+8*4+((1024+15-(2*(1+1)+1)) MOD (16))*4], rbx |
---|
708 | mov rbx, [rdx+3*8] |
---|
709 | bswap rbx |
---|
710 | mov [rsp+8*4+((1024+15-(3*(1+1)+1)) MOD (16))*4], rbx |
---|
711 | mov rbx, [rdx+4*8] |
---|
712 | bswap rbx |
---|
713 | mov [rsp+8*4+((1024+15-(4*(1+1)+1)) MOD (16))*4], rbx |
---|
714 | mov rbx, [rdx+5*8] |
---|
715 | bswap rbx |
---|
716 | mov [rsp+8*4+((1024+15-(5*(1+1)+1)) MOD (16))*4], rbx |
---|
717 | mov rbx, [rdx+6*8] |
---|
718 | bswap rbx |
---|
719 | mov [rsp+8*4+((1024+15-(6*(1+1)+1)) MOD (16))*4], rbx |
---|
720 | mov rbx, [rdx+7*8] |
---|
721 | bswap rbx |
---|
722 | mov [rsp+8*4+((1024+15-(7*(1+1)+1)) MOD (16))*4], rbx |
---|
723 | mov edi, [rsp+((1024+7-(0+3)) MOD (8))*4] |
---|
724 | mov eax, [rsp+((1024+7-(0+6)) MOD (8))*4] |
---|
725 | xor eax, [rsp+((1024+7-(0+5)) MOD (8))*4] |
---|
726 | mov ecx, [rsp+((1024+7-(0+7)) MOD (8))*4] |
---|
727 | mov edx, [rsp+((1024+7-(0+2)) MOD (8))*4] |
---|
728 | xor edx, [rsp+((1024+7-(0+1)) MOD (8))*4] |
---|
729 | and edx, edi |
---|
730 | xor edx, [rsp+((1024+7-(0+1)) MOD (8))*4] |
---|
731 | mov ebp, edi |
---|
732 | ror edi, 6 |
---|
733 | ror ebp, 25 |
---|
734 | add edx, [rsi+(0)*4] |
---|
735 | add edx, [rsp+8*4+((1024+15-(0)) MOD (16))*4] |
---|
736 | add edx, [rsp+((1024+7-(0)) MOD (8))*4] |
---|
737 | xor ebp, edi |
---|
738 | ror edi, 5 |
---|
739 | xor ebp, edi |
---|
740 | add edx, ebp |
---|
741 | mov ebx, ecx |
---|
742 | xor ecx, [rsp+((1024+7-(0+6)) MOD (8))*4] |
---|
743 | and eax, ecx |
---|
744 | xor eax, [rsp+((1024+7-(0+6)) MOD (8))*4] |
---|
745 | mov ebp, ebx |
---|
746 | ror ebx, 2 |
---|
747 | add eax, edx |
---|
748 | add edx, [rsp+((1024+7-(0+4)) MOD (8))*4] |
---|
749 | mov [rsp+((1024+7-(0+4)) MOD (8))*4], edx |
---|
750 | ror ebp, 22 |
---|
751 | xor ebp, ebx |
---|
752 | ror ebx, 11 |
---|
753 | xor ebp, ebx |
---|
754 | add eax, ebp |
---|
755 | mov [rsp+((1024+7-(0)) MOD (8))*4], eax |
---|
756 | mov edi, [rsp+((1024+7-(1+2)) MOD (8))*4] |
---|
757 | xor edi, [rsp+((1024+7-(1+1)) MOD (8))*4] |
---|
758 | and edi, edx |
---|
759 | xor edi, [rsp+((1024+7-(1+1)) MOD (8))*4] |
---|
760 | mov ebp, edx |
---|
761 | ror edx, 6 |
---|
762 | ror ebp, 25 |
---|
763 | add edi, [rsi+(1)*4] |
---|
764 | add edi, [rsp+8*4+((1024+15-(1)) MOD (16))*4] |
---|
765 | add edi, [rsp+((1024+7-(1)) MOD (8))*4] |
---|
766 | xor ebp, edx |
---|
767 | ror edx, 5 |
---|
768 | xor ebp, edx |
---|
769 | add edi, ebp |
---|
770 | mov ebx, eax |
---|
771 | xor eax, [rsp+((1024+7-(1+6)) MOD (8))*4] |
---|
772 | and ecx, eax |
---|
773 | xor ecx, [rsp+((1024+7-(1+6)) MOD (8))*4] |
---|
774 | mov ebp, ebx |
---|
775 | ror ebx, 2 |
---|
776 | add ecx, edi |
---|
777 | add edi, [rsp+((1024+7-(1+4)) MOD (8))*4] |
---|
778 | mov [rsp+((1024+7-(1+4)) MOD (8))*4], edi |
---|
779 | ror ebp, 22 |
---|
780 | xor ebp, ebx |
---|
781 | ror ebx, 11 |
---|
782 | xor ebp, ebx |
---|
783 | add ecx, ebp |
---|
784 | mov [rsp+((1024+7-(1)) MOD (8))*4], ecx |
---|
785 | mov edx, [rsp+((1024+7-(2+2)) MOD (8))*4] |
---|
786 | xor edx, [rsp+((1024+7-(2+1)) MOD (8))*4] |
---|
787 | and edx, edi |
---|
788 | xor edx, [rsp+((1024+7-(2+1)) MOD (8))*4] |
---|
789 | mov ebp, edi |
---|
790 | ror edi, 6 |
---|
791 | ror ebp, 25 |
---|
792 | add edx, [rsi+(2)*4] |
---|
793 | add edx, [rsp+8*4+((1024+15-(2)) MOD (16))*4] |
---|
794 | add edx, [rsp+((1024+7-(2)) MOD (8))*4] |
---|
795 | xor ebp, edi |
---|
796 | ror edi, 5 |
---|
797 | xor ebp, edi |
---|
798 | add edx, ebp |
---|
799 | mov ebx, ecx |
---|
800 | xor ecx, [rsp+((1024+7-(2+6)) MOD (8))*4] |
---|
801 | and eax, ecx |
---|
802 | xor eax, [rsp+((1024+7-(2+6)) MOD (8))*4] |
---|
803 | mov ebp, ebx |
---|
804 | ror ebx, 2 |
---|
805 | add eax, edx |
---|
806 | add edx, [rsp+((1024+7-(2+4)) MOD (8))*4] |
---|
807 | mov [rsp+((1024+7-(2+4)) MOD (8))*4], edx |
---|
808 | ror ebp, 22 |
---|
809 | xor ebp, ebx |
---|
810 | ror ebx, 11 |
---|
811 | xor ebp, ebx |
---|
812 | add eax, ebp |
---|
813 | mov [rsp+((1024+7-(2)) MOD (8))*4], eax |
---|
814 | mov edi, [rsp+((1024+7-(3+2)) MOD (8))*4] |
---|
815 | xor edi, [rsp+((1024+7-(3+1)) MOD (8))*4] |
---|
816 | and edi, edx |
---|
817 | xor edi, [rsp+((1024+7-(3+1)) MOD (8))*4] |
---|
818 | mov ebp, edx |
---|
819 | ror edx, 6 |
---|
820 | ror ebp, 25 |
---|
821 | add edi, [rsi+(3)*4] |
---|
822 | add edi, [rsp+8*4+((1024+15-(3)) MOD (16))*4] |
---|
823 | add edi, [rsp+((1024+7-(3)) MOD (8))*4] |
---|
824 | xor ebp, edx |
---|
825 | ror edx, 5 |
---|
826 | xor ebp, edx |
---|
827 | add edi, ebp |
---|
828 | mov ebx, eax |
---|
829 | xor eax, [rsp+((1024+7-(3+6)) MOD (8))*4] |
---|
830 | and ecx, eax |
---|
831 | xor ecx, [rsp+((1024+7-(3+6)) MOD (8))*4] |
---|
832 | mov ebp, ebx |
---|
833 | ror ebx, 2 |
---|
834 | add ecx, edi |
---|
835 | add edi, [rsp+((1024+7-(3+4)) MOD (8))*4] |
---|
836 | mov [rsp+((1024+7-(3+4)) MOD (8))*4], edi |
---|
837 | ror ebp, 22 |
---|
838 | xor ebp, ebx |
---|
839 | ror ebx, 11 |
---|
840 | xor ebp, ebx |
---|
841 | add ecx, ebp |
---|
842 | mov [rsp+((1024+7-(3)) MOD (8))*4], ecx |
---|
843 | mov edx, [rsp+((1024+7-(4+2)) MOD (8))*4] |
---|
844 | xor edx, [rsp+((1024+7-(4+1)) MOD (8))*4] |
---|
845 | and edx, edi |
---|
846 | xor edx, [rsp+((1024+7-(4+1)) MOD (8))*4] |
---|
847 | mov ebp, edi |
---|
848 | ror edi, 6 |
---|
849 | ror ebp, 25 |
---|
850 | add edx, [rsi+(4)*4] |
---|
851 | add edx, [rsp+8*4+((1024+15-(4)) MOD (16))*4] |
---|
852 | add edx, [rsp+((1024+7-(4)) MOD (8))*4] |
---|
853 | xor ebp, edi |
---|
854 | ror edi, 5 |
---|
855 | xor ebp, edi |
---|
856 | add edx, ebp |
---|
857 | mov ebx, ecx |
---|
858 | xor ecx, [rsp+((1024+7-(4+6)) MOD (8))*4] |
---|
859 | and eax, ecx |
---|
860 | xor eax, [rsp+((1024+7-(4+6)) MOD (8))*4] |
---|
861 | mov ebp, ebx |
---|
862 | ror ebx, 2 |
---|
863 | add eax, edx |
---|
864 | add edx, [rsp+((1024+7-(4+4)) MOD (8))*4] |
---|
865 | mov [rsp+((1024+7-(4+4)) MOD (8))*4], edx |
---|
866 | ror ebp, 22 |
---|
867 | xor ebp, ebx |
---|
868 | ror ebx, 11 |
---|
869 | xor ebp, ebx |
---|
870 | add eax, ebp |
---|
871 | mov [rsp+((1024+7-(4)) MOD (8))*4], eax |
---|
872 | mov edi, [rsp+((1024+7-(5+2)) MOD (8))*4] |
---|
873 | xor edi, [rsp+((1024+7-(5+1)) MOD (8))*4] |
---|
874 | and edi, edx |
---|
875 | xor edi, [rsp+((1024+7-(5+1)) MOD (8))*4] |
---|
876 | mov ebp, edx |
---|
877 | ror edx, 6 |
---|
878 | ror ebp, 25 |
---|
879 | add edi, [rsi+(5)*4] |
---|
880 | add edi, [rsp+8*4+((1024+15-(5)) MOD (16))*4] |
---|
881 | add edi, [rsp+((1024+7-(5)) MOD (8))*4] |
---|
882 | xor ebp, edx |
---|
883 | ror edx, 5 |
---|
884 | xor ebp, edx |
---|
885 | add edi, ebp |
---|
886 | mov ebx, eax |
---|
887 | xor eax, [rsp+((1024+7-(5+6)) MOD (8))*4] |
---|
888 | and ecx, eax |
---|
889 | xor ecx, [rsp+((1024+7-(5+6)) MOD (8))*4] |
---|
890 | mov ebp, ebx |
---|
891 | ror ebx, 2 |
---|
892 | add ecx, edi |
---|
893 | add edi, [rsp+((1024+7-(5+4)) MOD (8))*4] |
---|
894 | mov [rsp+((1024+7-(5+4)) MOD (8))*4], edi |
---|
895 | ror ebp, 22 |
---|
896 | xor ebp, ebx |
---|
897 | ror ebx, 11 |
---|
898 | xor ebp, ebx |
---|
899 | add ecx, ebp |
---|
900 | mov [rsp+((1024+7-(5)) MOD (8))*4], ecx |
---|
901 | mov edx, [rsp+((1024+7-(6+2)) MOD (8))*4] |
---|
902 | xor edx, [rsp+((1024+7-(6+1)) MOD (8))*4] |
---|
903 | and edx, edi |
---|
904 | xor edx, [rsp+((1024+7-(6+1)) MOD (8))*4] |
---|
905 | mov ebp, edi |
---|
906 | ror edi, 6 |
---|
907 | ror ebp, 25 |
---|
908 | add edx, [rsi+(6)*4] |
---|
909 | add edx, [rsp+8*4+((1024+15-(6)) MOD (16))*4] |
---|
910 | add edx, [rsp+((1024+7-(6)) MOD (8))*4] |
---|
911 | xor ebp, edi |
---|
912 | ror edi, 5 |
---|
913 | xor ebp, edi |
---|
914 | add edx, ebp |
---|
915 | mov ebx, ecx |
---|
916 | xor ecx, [rsp+((1024+7-(6+6)) MOD (8))*4] |
---|
917 | and eax, ecx |
---|
918 | xor eax, [rsp+((1024+7-(6+6)) MOD (8))*4] |
---|
919 | mov ebp, ebx |
---|
920 | ror ebx, 2 |
---|
921 | add eax, edx |
---|
922 | add edx, [rsp+((1024+7-(6+4)) MOD (8))*4] |
---|
923 | mov [rsp+((1024+7-(6+4)) MOD (8))*4], edx |
---|
924 | ror ebp, 22 |
---|
925 | xor ebp, ebx |
---|
926 | ror ebx, 11 |
---|
927 | xor ebp, ebx |
---|
928 | add eax, ebp |
---|
929 | mov [rsp+((1024+7-(6)) MOD (8))*4], eax |
---|
930 | mov edi, [rsp+((1024+7-(7+2)) MOD (8))*4] |
---|
931 | xor edi, [rsp+((1024+7-(7+1)) MOD (8))*4] |
---|
932 | and edi, edx |
---|
933 | xor edi, [rsp+((1024+7-(7+1)) MOD (8))*4] |
---|
934 | mov ebp, edx |
---|
935 | ror edx, 6 |
---|
936 | ror ebp, 25 |
---|
937 | add edi, [rsi+(7)*4] |
---|
938 | add edi, [rsp+8*4+((1024+15-(7)) MOD (16))*4] |
---|
939 | add edi, [rsp+((1024+7-(7)) MOD (8))*4] |
---|
940 | xor ebp, edx |
---|
941 | ror edx, 5 |
---|
942 | xor ebp, edx |
---|
943 | add edi, ebp |
---|
944 | mov ebx, eax |
---|
945 | xor eax, [rsp+((1024+7-(7+6)) MOD (8))*4] |
---|
946 | and ecx, eax |
---|
947 | xor ecx, [rsp+((1024+7-(7+6)) MOD (8))*4] |
---|
948 | mov ebp, ebx |
---|
949 | ror ebx, 2 |
---|
950 | add ecx, edi |
---|
951 | add edi, [rsp+((1024+7-(7+4)) MOD (8))*4] |
---|
952 | mov [rsp+((1024+7-(7+4)) MOD (8))*4], edi |
---|
953 | ror ebp, 22 |
---|
954 | xor ebp, ebx |
---|
955 | ror ebx, 11 |
---|
956 | xor ebp, ebx |
---|
957 | add ecx, ebp |
---|
958 | mov [rsp+((1024+7-(7)) MOD (8))*4], ecx |
---|
959 | mov edx, [rsp+((1024+7-(8+2)) MOD (8))*4] |
---|
960 | xor edx, [rsp+((1024+7-(8+1)) MOD (8))*4] |
---|
961 | and edx, edi |
---|
962 | xor edx, [rsp+((1024+7-(8+1)) MOD (8))*4] |
---|
963 | mov ebp, edi |
---|
964 | ror edi, 6 |
---|
965 | ror ebp, 25 |
---|
966 | add edx, [rsi+(8)*4] |
---|
967 | add edx, [rsp+8*4+((1024+15-(8)) MOD (16))*4] |
---|
968 | add edx, [rsp+((1024+7-(8)) MOD (8))*4] |
---|
969 | xor ebp, edi |
---|
970 | ror edi, 5 |
---|
971 | xor ebp, edi |
---|
972 | add edx, ebp |
---|
973 | mov ebx, ecx |
---|
974 | xor ecx, [rsp+((1024+7-(8+6)) MOD (8))*4] |
---|
975 | and eax, ecx |
---|
976 | xor eax, [rsp+((1024+7-(8+6)) MOD (8))*4] |
---|
977 | mov ebp, ebx |
---|
978 | ror ebx, 2 |
---|
979 | add eax, edx |
---|
980 | add edx, [rsp+((1024+7-(8+4)) MOD (8))*4] |
---|
981 | mov [rsp+((1024+7-(8+4)) MOD (8))*4], edx |
---|
982 | ror ebp, 22 |
---|
983 | xor ebp, ebx |
---|
984 | ror ebx, 11 |
---|
985 | xor ebp, ebx |
---|
986 | add eax, ebp |
---|
987 | mov [rsp+((1024+7-(8)) MOD (8))*4], eax |
---|
988 | mov edi, [rsp+((1024+7-(9+2)) MOD (8))*4] |
---|
989 | xor edi, [rsp+((1024+7-(9+1)) MOD (8))*4] |
---|
990 | and edi, edx |
---|
991 | xor edi, [rsp+((1024+7-(9+1)) MOD (8))*4] |
---|
992 | mov ebp, edx |
---|
993 | ror edx, 6 |
---|
994 | ror ebp, 25 |
---|
995 | add edi, [rsi+(9)*4] |
---|
996 | add edi, [rsp+8*4+((1024+15-(9)) MOD (16))*4] |
---|
997 | add edi, [rsp+((1024+7-(9)) MOD (8))*4] |
---|
998 | xor ebp, edx |
---|
999 | ror edx, 5 |
---|
1000 | xor ebp, edx |
---|
1001 | add edi, ebp |
---|
1002 | mov ebx, eax |
---|
1003 | xor eax, [rsp+((1024+7-(9+6)) MOD (8))*4] |
---|
1004 | and ecx, eax |
---|
1005 | xor ecx, [rsp+((1024+7-(9+6)) MOD (8))*4] |
---|
1006 | mov ebp, ebx |
---|
1007 | ror ebx, 2 |
---|
1008 | add ecx, edi |
---|
1009 | add edi, [rsp+((1024+7-(9+4)) MOD (8))*4] |
---|
1010 | mov [rsp+((1024+7-(9+4)) MOD (8))*4], edi |
---|
1011 | ror ebp, 22 |
---|
1012 | xor ebp, ebx |
---|
1013 | ror ebx, 11 |
---|
1014 | xor ebp, ebx |
---|
1015 | add ecx, ebp |
---|
1016 | mov [rsp+((1024+7-(9)) MOD (8))*4], ecx |
---|
1017 | mov edx, [rsp+((1024+7-(10+2)) MOD (8))*4] |
---|
1018 | xor edx, [rsp+((1024+7-(10+1)) MOD (8))*4] |
---|
1019 | and edx, edi |
---|
1020 | xor edx, [rsp+((1024+7-(10+1)) MOD (8))*4] |
---|
1021 | mov ebp, edi |
---|
1022 | ror edi, 6 |
---|
1023 | ror ebp, 25 |
---|
1024 | add edx, [rsi+(10)*4] |
---|
1025 | add edx, [rsp+8*4+((1024+15-(10)) MOD (16))*4] |
---|
1026 | add edx, [rsp+((1024+7-(10)) MOD (8))*4] |
---|
1027 | xor ebp, edi |
---|
1028 | ror edi, 5 |
---|
1029 | xor ebp, edi |
---|
1030 | add edx, ebp |
---|
1031 | mov ebx, ecx |
---|
1032 | xor ecx, [rsp+((1024+7-(10+6)) MOD (8))*4] |
---|
1033 | and eax, ecx |
---|
1034 | xor eax, [rsp+((1024+7-(10+6)) MOD (8))*4] |
---|
1035 | mov ebp, ebx |
---|
1036 | ror ebx, 2 |
---|
1037 | add eax, edx |
---|
1038 | add edx, [rsp+((1024+7-(10+4)) MOD (8))*4] |
---|
1039 | mov [rsp+((1024+7-(10+4)) MOD (8))*4], edx |
---|
1040 | ror ebp, 22 |
---|
1041 | xor ebp, ebx |
---|
1042 | ror ebx, 11 |
---|
1043 | xor ebp, ebx |
---|
1044 | add eax, ebp |
---|
1045 | mov [rsp+((1024+7-(10)) MOD (8))*4], eax |
---|
1046 | mov edi, [rsp+((1024+7-(11+2)) MOD (8))*4] |
---|
1047 | xor edi, [rsp+((1024+7-(11+1)) MOD (8))*4] |
---|
1048 | and edi, edx |
---|
1049 | xor edi, [rsp+((1024+7-(11+1)) MOD (8))*4] |
---|
1050 | mov ebp, edx |
---|
1051 | ror edx, 6 |
---|
1052 | ror ebp, 25 |
---|
1053 | add edi, [rsi+(11)*4] |
---|
1054 | add edi, [rsp+8*4+((1024+15-(11)) MOD (16))*4] |
---|
1055 | add edi, [rsp+((1024+7-(11)) MOD (8))*4] |
---|
1056 | xor ebp, edx |
---|
1057 | ror edx, 5 |
---|
1058 | xor ebp, edx |
---|
1059 | add edi, ebp |
---|
1060 | mov ebx, eax |
---|
1061 | xor eax, [rsp+((1024+7-(11+6)) MOD (8))*4] |
---|
1062 | and ecx, eax |
---|
1063 | xor ecx, [rsp+((1024+7-(11+6)) MOD (8))*4] |
---|
1064 | mov ebp, ebx |
---|
1065 | ror ebx, 2 |
---|
1066 | add ecx, edi |
---|
1067 | add edi, [rsp+((1024+7-(11+4)) MOD (8))*4] |
---|
1068 | mov [rsp+((1024+7-(11+4)) MOD (8))*4], edi |
---|
1069 | ror ebp, 22 |
---|
1070 | xor ebp, ebx |
---|
1071 | ror ebx, 11 |
---|
1072 | xor ebp, ebx |
---|
1073 | add ecx, ebp |
---|
1074 | mov [rsp+((1024+7-(11)) MOD (8))*4], ecx |
---|
1075 | mov edx, [rsp+((1024+7-(12+2)) MOD (8))*4] |
---|
1076 | xor edx, [rsp+((1024+7-(12+1)) MOD (8))*4] |
---|
1077 | and edx, edi |
---|
1078 | xor edx, [rsp+((1024+7-(12+1)) MOD (8))*4] |
---|
1079 | mov ebp, edi |
---|
1080 | ror edi, 6 |
---|
1081 | ror ebp, 25 |
---|
1082 | add edx, [rsi+(12)*4] |
---|
1083 | add edx, [rsp+8*4+((1024+15-(12)) MOD (16))*4] |
---|
1084 | add edx, [rsp+((1024+7-(12)) MOD (8))*4] |
---|
1085 | xor ebp, edi |
---|
1086 | ror edi, 5 |
---|
1087 | xor ebp, edi |
---|
1088 | add edx, ebp |
---|
1089 | mov ebx, ecx |
---|
1090 | xor ecx, [rsp+((1024+7-(12+6)) MOD (8))*4] |
---|
1091 | and eax, ecx |
---|
1092 | xor eax, [rsp+((1024+7-(12+6)) MOD (8))*4] |
---|
1093 | mov ebp, ebx |
---|
1094 | ror ebx, 2 |
---|
1095 | add eax, edx |
---|
1096 | add edx, [rsp+((1024+7-(12+4)) MOD (8))*4] |
---|
1097 | mov [rsp+((1024+7-(12+4)) MOD (8))*4], edx |
---|
1098 | ror ebp, 22 |
---|
1099 | xor ebp, ebx |
---|
1100 | ror ebx, 11 |
---|
1101 | xor ebp, ebx |
---|
1102 | add eax, ebp |
---|
1103 | mov [rsp+((1024+7-(12)) MOD (8))*4], eax |
---|
1104 | mov edi, [rsp+((1024+7-(13+2)) MOD (8))*4] |
---|
1105 | xor edi, [rsp+((1024+7-(13+1)) MOD (8))*4] |
---|
1106 | and edi, edx |
---|
1107 | xor edi, [rsp+((1024+7-(13+1)) MOD (8))*4] |
---|
1108 | mov ebp, edx |
---|
1109 | ror edx, 6 |
---|
1110 | ror ebp, 25 |
---|
1111 | add edi, [rsi+(13)*4] |
---|
1112 | add edi, [rsp+8*4+((1024+15-(13)) MOD (16))*4] |
---|
1113 | add edi, [rsp+((1024+7-(13)) MOD (8))*4] |
---|
1114 | xor ebp, edx |
---|
1115 | ror edx, 5 |
---|
1116 | xor ebp, edx |
---|
1117 | add edi, ebp |
---|
1118 | mov ebx, eax |
---|
1119 | xor eax, [rsp+((1024+7-(13+6)) MOD (8))*4] |
---|
1120 | and ecx, eax |
---|
1121 | xor ecx, [rsp+((1024+7-(13+6)) MOD (8))*4] |
---|
1122 | mov ebp, ebx |
---|
1123 | ror ebx, 2 |
---|
1124 | add ecx, edi |
---|
1125 | add edi, [rsp+((1024+7-(13+4)) MOD (8))*4] |
---|
1126 | mov [rsp+((1024+7-(13+4)) MOD (8))*4], edi |
---|
1127 | ror ebp, 22 |
---|
1128 | xor ebp, ebx |
---|
1129 | ror ebx, 11 |
---|
1130 | xor ebp, ebx |
---|
1131 | add ecx, ebp |
---|
1132 | mov [rsp+((1024+7-(13)) MOD (8))*4], ecx |
---|
1133 | mov edx, [rsp+((1024+7-(14+2)) MOD (8))*4] |
---|
1134 | xor edx, [rsp+((1024+7-(14+1)) MOD (8))*4] |
---|
1135 | and edx, edi |
---|
1136 | xor edx, [rsp+((1024+7-(14+1)) MOD (8))*4] |
---|
1137 | mov ebp, edi |
---|
1138 | ror edi, 6 |
---|
1139 | ror ebp, 25 |
---|
1140 | add edx, [rsi+(14)*4] |
---|
1141 | add edx, [rsp+8*4+((1024+15-(14)) MOD (16))*4] |
---|
1142 | add edx, [rsp+((1024+7-(14)) MOD (8))*4] |
---|
1143 | xor ebp, edi |
---|
1144 | ror edi, 5 |
---|
1145 | xor ebp, edi |
---|
1146 | add edx, ebp |
---|
1147 | mov ebx, ecx |
---|
1148 | xor ecx, [rsp+((1024+7-(14+6)) MOD (8))*4] |
---|
1149 | and eax, ecx |
---|
1150 | xor eax, [rsp+((1024+7-(14+6)) MOD (8))*4] |
---|
1151 | mov ebp, ebx |
---|
1152 | ror ebx, 2 |
---|
1153 | add eax, edx |
---|
1154 | add edx, [rsp+((1024+7-(14+4)) MOD (8))*4] |
---|
1155 | mov [rsp+((1024+7-(14+4)) MOD (8))*4], edx |
---|
1156 | ror ebp, 22 |
---|
1157 | xor ebp, ebx |
---|
1158 | ror ebx, 11 |
---|
1159 | xor ebp, ebx |
---|
1160 | add eax, ebp |
---|
1161 | mov [rsp+((1024+7-(14)) MOD (8))*4], eax |
---|
1162 | mov edi, [rsp+((1024+7-(15+2)) MOD (8))*4] |
---|
1163 | xor edi, [rsp+((1024+7-(15+1)) MOD (8))*4] |
---|
1164 | and edi, edx |
---|
1165 | xor edi, [rsp+((1024+7-(15+1)) MOD (8))*4] |
---|
1166 | mov ebp, edx |
---|
1167 | ror edx, 6 |
---|
1168 | ror ebp, 25 |
---|
1169 | add edi, [rsi+(15)*4] |
---|
1170 | add edi, [rsp+8*4+((1024+15-(15)) MOD (16))*4] |
---|
1171 | add edi, [rsp+((1024+7-(15)) MOD (8))*4] |
---|
1172 | xor ebp, edx |
---|
1173 | ror edx, 5 |
---|
1174 | xor ebp, edx |
---|
1175 | add edi, ebp |
---|
1176 | mov ebx, eax |
---|
1177 | xor eax, [rsp+((1024+7-(15+6)) MOD (8))*4] |
---|
1178 | and ecx, eax |
---|
1179 | xor ecx, [rsp+((1024+7-(15+6)) MOD (8))*4] |
---|
1180 | mov ebp, ebx |
---|
1181 | ror ebx, 2 |
---|
1182 | add ecx, edi |
---|
1183 | add edi, [rsp+((1024+7-(15+4)) MOD (8))*4] |
---|
1184 | mov [rsp+((1024+7-(15+4)) MOD (8))*4], edi |
---|
1185 | ror ebp, 22 |
---|
1186 | xor ebp, ebx |
---|
1187 | ror ebx, 11 |
---|
1188 | xor ebp, ebx |
---|
1189 | add ecx, ebp |
---|
1190 | mov [rsp+((1024+7-(15)) MOD (8))*4], ecx |
---|
1191 | label1: |
---|
1192 | add rsi, 4*16 |
---|
1193 | mov edx, [rsp+((1024+7-(0+2)) MOD (8))*4] |
---|
1194 | xor edx, [rsp+((1024+7-(0+1)) MOD (8))*4] |
---|
1195 | and edx, edi |
---|
1196 | xor edx, [rsp+((1024+7-(0+1)) MOD (8))*4] |
---|
1197 | mov ebp, edi |
---|
1198 | ror edi, 6 |
---|
1199 | ror ebp, 25 |
---|
1200 | xor ebp, edi |
---|
1201 | ror edi, 5 |
---|
1202 | xor ebp, edi |
---|
1203 | add edx, ebp |
---|
1204 | mov ebp, [rsp+8*4+((1024+15-((0)-2)) MOD (16))*4] |
---|
1205 | mov edi, [rsp+8*4+((1024+15-((0)-15)) MOD (16))*4] |
---|
1206 | mov ebx, ebp |
---|
1207 | shr ebp, 10 |
---|
1208 | ror ebx, 17 |
---|
1209 | xor ebp, ebx |
---|
1210 | ror ebx, 2 |
---|
1211 | xor ebx, ebp |
---|
1212 | add ebx, [rsp+8*4+((1024+15-((0)-7)) MOD (16))*4] |
---|
1213 | mov ebp, edi |
---|
1214 | shr ebp, 3 |
---|
1215 | ror edi, 7 |
---|
1216 | add ebx, [rsp+8*4+((1024+15-(0)) MOD (16))*4] |
---|
1217 | xor ebp, edi |
---|
1218 | add edx, [rsi+(0)*4] |
---|
1219 | ror edi, 11 |
---|
1220 | add edx, [rsp+((1024+7-(0)) MOD (8))*4] |
---|
1221 | xor ebp, edi |
---|
1222 | add ebp, ebx |
---|
1223 | mov [rsp+8*4+((1024+15-(0)) MOD (16))*4], ebp |
---|
1224 | add edx, ebp |
---|
1225 | mov ebx, ecx |
---|
1226 | xor ecx, [rsp+((1024+7-(0+6)) MOD (8))*4] |
---|
1227 | and eax, ecx |
---|
1228 | xor eax, [rsp+((1024+7-(0+6)) MOD (8))*4] |
---|
1229 | mov ebp, ebx |
---|
1230 | ror ebx, 2 |
---|
1231 | add eax, edx |
---|
1232 | add edx, [rsp+((1024+7-(0+4)) MOD (8))*4] |
---|
1233 | mov [rsp+((1024+7-(0+4)) MOD (8))*4], edx |
---|
1234 | ror ebp, 22 |
---|
1235 | xor ebp, ebx |
---|
1236 | ror ebx, 11 |
---|
1237 | xor ebp, ebx |
---|
1238 | add eax, ebp |
---|
1239 | mov [rsp+((1024+7-(0)) MOD (8))*4], eax |
---|
1240 | mov edi, [rsp+((1024+7-(1+2)) MOD (8))*4] |
---|
1241 | xor edi, [rsp+((1024+7-(1+1)) MOD (8))*4] |
---|
1242 | and edi, edx |
---|
1243 | xor edi, [rsp+((1024+7-(1+1)) MOD (8))*4] |
---|
1244 | mov ebp, edx |
---|
1245 | ror edx, 6 |
---|
1246 | ror ebp, 25 |
---|
1247 | xor ebp, edx |
---|
1248 | ror edx, 5 |
---|
1249 | xor ebp, edx |
---|
1250 | add edi, ebp |
---|
1251 | mov ebp, [rsp+8*4+((1024+15-((1)-2)) MOD (16))*4] |
---|
1252 | mov edx, [rsp+8*4+((1024+15-((1)-15)) MOD (16))*4] |
---|
1253 | mov ebx, ebp |
---|
1254 | shr ebp, 10 |
---|
1255 | ror ebx, 17 |
---|
1256 | xor ebp, ebx |
---|
1257 | ror ebx, 2 |
---|
1258 | xor ebx, ebp |
---|
1259 | add ebx, [rsp+8*4+((1024+15-((1)-7)) MOD (16))*4] |
---|
1260 | mov ebp, edx |
---|
1261 | shr ebp, 3 |
---|
1262 | ror edx, 7 |
---|
1263 | add ebx, [rsp+8*4+((1024+15-(1)) MOD (16))*4] |
---|
1264 | xor ebp, edx |
---|
1265 | add edi, [rsi+(1)*4] |
---|
1266 | ror edx, 11 |
---|
1267 | add edi, [rsp+((1024+7-(1)) MOD (8))*4] |
---|
1268 | xor ebp, edx |
---|
1269 | add ebp, ebx |
---|
1270 | mov [rsp+8*4+((1024+15-(1)) MOD (16))*4], ebp |
---|
1271 | add edi, ebp |
---|
1272 | mov ebx, eax |
---|
1273 | xor eax, [rsp+((1024+7-(1+6)) MOD (8))*4] |
---|
1274 | and ecx, eax |
---|
1275 | xor ecx, [rsp+((1024+7-(1+6)) MOD (8))*4] |
---|
1276 | mov ebp, ebx |
---|
1277 | ror ebx, 2 |
---|
1278 | add ecx, edi |
---|
1279 | add edi, [rsp+((1024+7-(1+4)) MOD (8))*4] |
---|
1280 | mov [rsp+((1024+7-(1+4)) MOD (8))*4], edi |
---|
1281 | ror ebp, 22 |
---|
1282 | xor ebp, ebx |
---|
1283 | ror ebx, 11 |
---|
1284 | xor ebp, ebx |
---|
1285 | add ecx, ebp |
---|
1286 | mov [rsp+((1024+7-(1)) MOD (8))*4], ecx |
---|
1287 | mov edx, [rsp+((1024+7-(2+2)) MOD (8))*4] |
---|
1288 | xor edx, [rsp+((1024+7-(2+1)) MOD (8))*4] |
---|
1289 | and edx, edi |
---|
1290 | xor edx, [rsp+((1024+7-(2+1)) MOD (8))*4] |
---|
1291 | mov ebp, edi |
---|
1292 | ror edi, 6 |
---|
1293 | ror ebp, 25 |
---|
1294 | xor ebp, edi |
---|
1295 | ror edi, 5 |
---|
1296 | xor ebp, edi |
---|
1297 | add edx, ebp |
---|
1298 | mov ebp, [rsp+8*4+((1024+15-((2)-2)) MOD (16))*4] |
---|
1299 | mov edi, [rsp+8*4+((1024+15-((2)-15)) MOD (16))*4] |
---|
1300 | mov ebx, ebp |
---|
1301 | shr ebp, 10 |
---|
1302 | ror ebx, 17 |
---|
1303 | xor ebp, ebx |
---|
1304 | ror ebx, 2 |
---|
1305 | xor ebx, ebp |
---|
1306 | add ebx, [rsp+8*4+((1024+15-((2)-7)) MOD (16))*4] |
---|
1307 | mov ebp, edi |
---|
1308 | shr ebp, 3 |
---|
1309 | ror edi, 7 |
---|
1310 | add ebx, [rsp+8*4+((1024+15-(2)) MOD (16))*4] |
---|
1311 | xor ebp, edi |
---|
1312 | add edx, [rsi+(2)*4] |
---|
1313 | ror edi, 11 |
---|
1314 | add edx, [rsp+((1024+7-(2)) MOD (8))*4] |
---|
1315 | xor ebp, edi |
---|
1316 | add ebp, ebx |
---|
1317 | mov [rsp+8*4+((1024+15-(2)) MOD (16))*4], ebp |
---|
1318 | add edx, ebp |
---|
1319 | mov ebx, ecx |
---|
1320 | xor ecx, [rsp+((1024+7-(2+6)) MOD (8))*4] |
---|
1321 | and eax, ecx |
---|
1322 | xor eax, [rsp+((1024+7-(2+6)) MOD (8))*4] |
---|
1323 | mov ebp, ebx |
---|
1324 | ror ebx, 2 |
---|
1325 | add eax, edx |
---|
1326 | add edx, [rsp+((1024+7-(2+4)) MOD (8))*4] |
---|
1327 | mov [rsp+((1024+7-(2+4)) MOD (8))*4], edx |
---|
1328 | ror ebp, 22 |
---|
1329 | xor ebp, ebx |
---|
1330 | ror ebx, 11 |
---|
1331 | xor ebp, ebx |
---|
1332 | add eax, ebp |
---|
1333 | mov [rsp+((1024+7-(2)) MOD (8))*4], eax |
---|
1334 | mov edi, [rsp+((1024+7-(3+2)) MOD (8))*4] |
---|
1335 | xor edi, [rsp+((1024+7-(3+1)) MOD (8))*4] |
---|
1336 | and edi, edx |
---|
1337 | xor edi, [rsp+((1024+7-(3+1)) MOD (8))*4] |
---|
1338 | mov ebp, edx |
---|
1339 | ror edx, 6 |
---|
1340 | ror ebp, 25 |
---|
1341 | xor ebp, edx |
---|
1342 | ror edx, 5 |
---|
1343 | xor ebp, edx |
---|
1344 | add edi, ebp |
---|
1345 | mov ebp, [rsp+8*4+((1024+15-((3)-2)) MOD (16))*4] |
---|
1346 | mov edx, [rsp+8*4+((1024+15-((3)-15)) MOD (16))*4] |
---|
1347 | mov ebx, ebp |
---|
1348 | shr ebp, 10 |
---|
1349 | ror ebx, 17 |
---|
1350 | xor ebp, ebx |
---|
1351 | ror ebx, 2 |
---|
1352 | xor ebx, ebp |
---|
1353 | add ebx, [rsp+8*4+((1024+15-((3)-7)) MOD (16))*4] |
---|
1354 | mov ebp, edx |
---|
1355 | shr ebp, 3 |
---|
1356 | ror edx, 7 |
---|
1357 | add ebx, [rsp+8*4+((1024+15-(3)) MOD (16))*4] |
---|
1358 | xor ebp, edx |
---|
1359 | add edi, [rsi+(3)*4] |
---|
1360 | ror edx, 11 |
---|
1361 | add edi, [rsp+((1024+7-(3)) MOD (8))*4] |
---|
1362 | xor ebp, edx |
---|
1363 | add ebp, ebx |
---|
1364 | mov [rsp+8*4+((1024+15-(3)) MOD (16))*4], ebp |
---|
1365 | add edi, ebp |
---|
1366 | mov ebx, eax |
---|
1367 | xor eax, [rsp+((1024+7-(3+6)) MOD (8))*4] |
---|
1368 | and ecx, eax |
---|
1369 | xor ecx, [rsp+((1024+7-(3+6)) MOD (8))*4] |
---|
1370 | mov ebp, ebx |
---|
1371 | ror ebx, 2 |
---|
1372 | add ecx, edi |
---|
1373 | add edi, [rsp+((1024+7-(3+4)) MOD (8))*4] |
---|
1374 | mov [rsp+((1024+7-(3+4)) MOD (8))*4], edi |
---|
1375 | ror ebp, 22 |
---|
1376 | xor ebp, ebx |
---|
1377 | ror ebx, 11 |
---|
1378 | xor ebp, ebx |
---|
1379 | add ecx, ebp |
---|
1380 | mov [rsp+((1024+7-(3)) MOD (8))*4], ecx |
---|
1381 | mov edx, [rsp+((1024+7-(4+2)) MOD (8))*4] |
---|
1382 | xor edx, [rsp+((1024+7-(4+1)) MOD (8))*4] |
---|
1383 | and edx, edi |
---|
1384 | xor edx, [rsp+((1024+7-(4+1)) MOD (8))*4] |
---|
1385 | mov ebp, edi |
---|
1386 | ror edi, 6 |
---|
1387 | ror ebp, 25 |
---|
1388 | xor ebp, edi |
---|
1389 | ror edi, 5 |
---|
1390 | xor ebp, edi |
---|
1391 | add edx, ebp |
---|
1392 | mov ebp, [rsp+8*4+((1024+15-((4)-2)) MOD (16))*4] |
---|
1393 | mov edi, [rsp+8*4+((1024+15-((4)-15)) MOD (16))*4] |
---|
1394 | mov ebx, ebp |
---|
1395 | shr ebp, 10 |
---|
1396 | ror ebx, 17 |
---|
1397 | xor ebp, ebx |
---|
1398 | ror ebx, 2 |
---|
1399 | xor ebx, ebp |
---|
1400 | add ebx, [rsp+8*4+((1024+15-((4)-7)) MOD (16))*4] |
---|
1401 | mov ebp, edi |
---|
1402 | shr ebp, 3 |
---|
1403 | ror edi, 7 |
---|
1404 | add ebx, [rsp+8*4+((1024+15-(4)) MOD (16))*4] |
---|
1405 | xor ebp, edi |
---|
1406 | add edx, [rsi+(4)*4] |
---|
1407 | ror edi, 11 |
---|
1408 | add edx, [rsp+((1024+7-(4)) MOD (8))*4] |
---|
1409 | xor ebp, edi |
---|
1410 | add ebp, ebx |
---|
1411 | mov [rsp+8*4+((1024+15-(4)) MOD (16))*4], ebp |
---|
1412 | add edx, ebp |
---|
1413 | mov ebx, ecx |
---|
1414 | xor ecx, [rsp+((1024+7-(4+6)) MOD (8))*4] |
---|
1415 | and eax, ecx |
---|
1416 | xor eax, [rsp+((1024+7-(4+6)) MOD (8))*4] |
---|
1417 | mov ebp, ebx |
---|
1418 | ror ebx, 2 |
---|
1419 | add eax, edx |
---|
1420 | add edx, [rsp+((1024+7-(4+4)) MOD (8))*4] |
---|
1421 | mov [rsp+((1024+7-(4+4)) MOD (8))*4], edx |
---|
1422 | ror ebp, 22 |
---|
1423 | xor ebp, ebx |
---|
1424 | ror ebx, 11 |
---|
1425 | xor ebp, ebx |
---|
1426 | add eax, ebp |
---|
1427 | mov [rsp+((1024+7-(4)) MOD (8))*4], eax |
---|
1428 | mov edi, [rsp+((1024+7-(5+2)) MOD (8))*4] |
---|
1429 | xor edi, [rsp+((1024+7-(5+1)) MOD (8))*4] |
---|
1430 | and edi, edx |
---|
1431 | xor edi, [rsp+((1024+7-(5+1)) MOD (8))*4] |
---|
1432 | mov ebp, edx |
---|
1433 | ror edx, 6 |
---|
1434 | ror ebp, 25 |
---|
1435 | xor ebp, edx |
---|
1436 | ror edx, 5 |
---|
1437 | xor ebp, edx |
---|
1438 | add edi, ebp |
---|
1439 | mov ebp, [rsp+8*4+((1024+15-((5)-2)) MOD (16))*4] |
---|
1440 | mov edx, [rsp+8*4+((1024+15-((5)-15)) MOD (16))*4] |
---|
1441 | mov ebx, ebp |
---|
1442 | shr ebp, 10 |
---|
1443 | ror ebx, 17 |
---|
1444 | xor ebp, ebx |
---|
1445 | ror ebx, 2 |
---|
1446 | xor ebx, ebp |
---|
1447 | add ebx, [rsp+8*4+((1024+15-((5)-7)) MOD (16))*4] |
---|
1448 | mov ebp, edx |
---|
1449 | shr ebp, 3 |
---|
1450 | ror edx, 7 |
---|
1451 | add ebx, [rsp+8*4+((1024+15-(5)) MOD (16))*4] |
---|
1452 | xor ebp, edx |
---|
1453 | add edi, [rsi+(5)*4] |
---|
1454 | ror edx, 11 |
---|
1455 | add edi, [rsp+((1024+7-(5)) MOD (8))*4] |
---|
1456 | xor ebp, edx |
---|
1457 | add ebp, ebx |
---|
1458 | mov [rsp+8*4+((1024+15-(5)) MOD (16))*4], ebp |
---|
1459 | add edi, ebp |
---|
1460 | mov ebx, eax |
---|
1461 | xor eax, [rsp+((1024+7-(5+6)) MOD (8))*4] |
---|
1462 | and ecx, eax |
---|
1463 | xor ecx, [rsp+((1024+7-(5+6)) MOD (8))*4] |
---|
1464 | mov ebp, ebx |
---|
1465 | ror ebx, 2 |
---|
1466 | add ecx, edi |
---|
1467 | add edi, [rsp+((1024+7-(5+4)) MOD (8))*4] |
---|
1468 | mov [rsp+((1024+7-(5+4)) MOD (8))*4], edi |
---|
1469 | ror ebp, 22 |
---|
1470 | xor ebp, ebx |
---|
1471 | ror ebx, 11 |
---|
1472 | xor ebp, ebx |
---|
1473 | add ecx, ebp |
---|
1474 | mov [rsp+((1024+7-(5)) MOD (8))*4], ecx |
---|
1475 | mov edx, [rsp+((1024+7-(6+2)) MOD (8))*4] |
---|
1476 | xor edx, [rsp+((1024+7-(6+1)) MOD (8))*4] |
---|
1477 | and edx, edi |
---|
1478 | xor edx, [rsp+((1024+7-(6+1)) MOD (8))*4] |
---|
1479 | mov ebp, edi |
---|
1480 | ror edi, 6 |
---|
1481 | ror ebp, 25 |
---|
1482 | xor ebp, edi |
---|
1483 | ror edi, 5 |
---|
1484 | xor ebp, edi |
---|
1485 | add edx, ebp |
---|
1486 | mov ebp, [rsp+8*4+((1024+15-((6)-2)) MOD (16))*4] |
---|
1487 | mov edi, [rsp+8*4+((1024+15-((6)-15)) MOD (16))*4] |
---|
1488 | mov ebx, ebp |
---|
1489 | shr ebp, 10 |
---|
1490 | ror ebx, 17 |
---|
1491 | xor ebp, ebx |
---|
1492 | ror ebx, 2 |
---|
1493 | xor ebx, ebp |
---|
1494 | add ebx, [rsp+8*4+((1024+15-((6)-7)) MOD (16))*4] |
---|
1495 | mov ebp, edi |
---|
1496 | shr ebp, 3 |
---|
1497 | ror edi, 7 |
---|
1498 | add ebx, [rsp+8*4+((1024+15-(6)) MOD (16))*4] |
---|
1499 | xor ebp, edi |
---|
1500 | add edx, [rsi+(6)*4] |
---|
1501 | ror edi, 11 |
---|
1502 | add edx, [rsp+((1024+7-(6)) MOD (8))*4] |
---|
1503 | xor ebp, edi |
---|
1504 | add ebp, ebx |
---|
1505 | mov [rsp+8*4+((1024+15-(6)) MOD (16))*4], ebp |
---|
1506 | add edx, ebp |
---|
1507 | mov ebx, ecx |
---|
1508 | xor ecx, [rsp+((1024+7-(6+6)) MOD (8))*4] |
---|
1509 | and eax, ecx |
---|
1510 | xor eax, [rsp+((1024+7-(6+6)) MOD (8))*4] |
---|
1511 | mov ebp, ebx |
---|
1512 | ror ebx, 2 |
---|
1513 | add eax, edx |
---|
1514 | add edx, [rsp+((1024+7-(6+4)) MOD (8))*4] |
---|
1515 | mov [rsp+((1024+7-(6+4)) MOD (8))*4], edx |
---|
1516 | ror ebp, 22 |
---|
1517 | xor ebp, ebx |
---|
1518 | ror ebx, 11 |
---|
1519 | xor ebp, ebx |
---|
1520 | add eax, ebp |
---|
1521 | mov [rsp+((1024+7-(6)) MOD (8))*4], eax |
---|
1522 | mov edi, [rsp+((1024+7-(7+2)) MOD (8))*4] |
---|
1523 | xor edi, [rsp+((1024+7-(7+1)) MOD (8))*4] |
---|
1524 | and edi, edx |
---|
1525 | xor edi, [rsp+((1024+7-(7+1)) MOD (8))*4] |
---|
1526 | mov ebp, edx |
---|
1527 | ror edx, 6 |
---|
1528 | ror ebp, 25 |
---|
1529 | xor ebp, edx |
---|
1530 | ror edx, 5 |
---|
1531 | xor ebp, edx |
---|
1532 | add edi, ebp |
---|
1533 | mov ebp, [rsp+8*4+((1024+15-((7)-2)) MOD (16))*4] |
---|
1534 | mov edx, [rsp+8*4+((1024+15-((7)-15)) MOD (16))*4] |
---|
1535 | mov ebx, ebp |
---|
1536 | shr ebp, 10 |
---|
1537 | ror ebx, 17 |
---|
1538 | xor ebp, ebx |
---|
1539 | ror ebx, 2 |
---|
1540 | xor ebx, ebp |
---|
1541 | add ebx, [rsp+8*4+((1024+15-((7)-7)) MOD (16))*4] |
---|
1542 | mov ebp, edx |
---|
1543 | shr ebp, 3 |
---|
1544 | ror edx, 7 |
---|
1545 | add ebx, [rsp+8*4+((1024+15-(7)) MOD (16))*4] |
---|
1546 | xor ebp, edx |
---|
1547 | add edi, [rsi+(7)*4] |
---|
1548 | ror edx, 11 |
---|
1549 | add edi, [rsp+((1024+7-(7)) MOD (8))*4] |
---|
1550 | xor ebp, edx |
---|
1551 | add ebp, ebx |
---|
1552 | mov [rsp+8*4+((1024+15-(7)) MOD (16))*4], ebp |
---|
1553 | add edi, ebp |
---|
1554 | mov ebx, eax |
---|
1555 | xor eax, [rsp+((1024+7-(7+6)) MOD (8))*4] |
---|
1556 | and ecx, eax |
---|
1557 | xor ecx, [rsp+((1024+7-(7+6)) MOD (8))*4] |
---|
1558 | mov ebp, ebx |
---|
1559 | ror ebx, 2 |
---|
1560 | add ecx, edi |
---|
1561 | add edi, [rsp+((1024+7-(7+4)) MOD (8))*4] |
---|
1562 | mov [rsp+((1024+7-(7+4)) MOD (8))*4], edi |
---|
1563 | ror ebp, 22 |
---|
1564 | xor ebp, ebx |
---|
1565 | ror ebx, 11 |
---|
1566 | xor ebp, ebx |
---|
1567 | add ecx, ebp |
---|
1568 | mov [rsp+((1024+7-(7)) MOD (8))*4], ecx |
---|
1569 | mov edx, [rsp+((1024+7-(8+2)) MOD (8))*4] |
---|
1570 | xor edx, [rsp+((1024+7-(8+1)) MOD (8))*4] |
---|
1571 | and edx, edi |
---|
1572 | xor edx, [rsp+((1024+7-(8+1)) MOD (8))*4] |
---|
1573 | mov ebp, edi |
---|
1574 | ror edi, 6 |
---|
1575 | ror ebp, 25 |
---|
1576 | xor ebp, edi |
---|
1577 | ror edi, 5 |
---|
1578 | xor ebp, edi |
---|
1579 | add edx, ebp |
---|
1580 | mov ebp, [rsp+8*4+((1024+15-((8)-2)) MOD (16))*4] |
---|
1581 | mov edi, [rsp+8*4+((1024+15-((8)-15)) MOD (16))*4] |
---|
1582 | mov ebx, ebp |
---|
1583 | shr ebp, 10 |
---|
1584 | ror ebx, 17 |
---|
1585 | xor ebp, ebx |
---|
1586 | ror ebx, 2 |
---|
1587 | xor ebx, ebp |
---|
1588 | add ebx, [rsp+8*4+((1024+15-((8)-7)) MOD (16))*4] |
---|
1589 | mov ebp, edi |
---|
1590 | shr ebp, 3 |
---|
1591 | ror edi, 7 |
---|
1592 | add ebx, [rsp+8*4+((1024+15-(8)) MOD (16))*4] |
---|
1593 | xor ebp, edi |
---|
1594 | add edx, [rsi+(8)*4] |
---|
1595 | ror edi, 11 |
---|
1596 | add edx, [rsp+((1024+7-(8)) MOD (8))*4] |
---|
1597 | xor ebp, edi |
---|
1598 | add ebp, ebx |
---|
1599 | mov [rsp+8*4+((1024+15-(8)) MOD (16))*4], ebp |
---|
1600 | add edx, ebp |
---|
1601 | mov ebx, ecx |
---|
1602 | xor ecx, [rsp+((1024+7-(8+6)) MOD (8))*4] |
---|
1603 | and eax, ecx |
---|
1604 | xor eax, [rsp+((1024+7-(8+6)) MOD (8))*4] |
---|
1605 | mov ebp, ebx |
---|
1606 | ror ebx, 2 |
---|
1607 | add eax, edx |
---|
1608 | add edx, [rsp+((1024+7-(8+4)) MOD (8))*4] |
---|
1609 | mov [rsp+((1024+7-(8+4)) MOD (8))*4], edx |
---|
1610 | ror ebp, 22 |
---|
1611 | xor ebp, ebx |
---|
1612 | ror ebx, 11 |
---|
1613 | xor ebp, ebx |
---|
1614 | add eax, ebp |
---|
1615 | mov [rsp+((1024+7-(8)) MOD (8))*4], eax |
---|
1616 | mov edi, [rsp+((1024+7-(9+2)) MOD (8))*4] |
---|
1617 | xor edi, [rsp+((1024+7-(9+1)) MOD (8))*4] |
---|
1618 | and edi, edx |
---|
1619 | xor edi, [rsp+((1024+7-(9+1)) MOD (8))*4] |
---|
1620 | mov ebp, edx |
---|
1621 | ror edx, 6 |
---|
1622 | ror ebp, 25 |
---|
1623 | xor ebp, edx |
---|
1624 | ror edx, 5 |
---|
1625 | xor ebp, edx |
---|
1626 | add edi, ebp |
---|
1627 | mov ebp, [rsp+8*4+((1024+15-((9)-2)) MOD (16))*4] |
---|
1628 | mov edx, [rsp+8*4+((1024+15-((9)-15)) MOD (16))*4] |
---|
1629 | mov ebx, ebp |
---|
1630 | shr ebp, 10 |
---|
1631 | ror ebx, 17 |
---|
1632 | xor ebp, ebx |
---|
1633 | ror ebx, 2 |
---|
1634 | xor ebx, ebp |
---|
1635 | add ebx, [rsp+8*4+((1024+15-((9)-7)) MOD (16))*4] |
---|
1636 | mov ebp, edx |
---|
1637 | shr ebp, 3 |
---|
1638 | ror edx, 7 |
---|
1639 | add ebx, [rsp+8*4+((1024+15-(9)) MOD (16))*4] |
---|
1640 | xor ebp, edx |
---|
1641 | add edi, [rsi+(9)*4] |
---|
1642 | ror edx, 11 |
---|
1643 | add edi, [rsp+((1024+7-(9)) MOD (8))*4] |
---|
1644 | xor ebp, edx |
---|
1645 | add ebp, ebx |
---|
1646 | mov [rsp+8*4+((1024+15-(9)) MOD (16))*4], ebp |
---|
1647 | add edi, ebp |
---|
1648 | mov ebx, eax |
---|
1649 | xor eax, [rsp+((1024+7-(9+6)) MOD (8))*4] |
---|
1650 | and ecx, eax |
---|
1651 | xor ecx, [rsp+((1024+7-(9+6)) MOD (8))*4] |
---|
1652 | mov ebp, ebx |
---|
1653 | ror ebx, 2 |
---|
1654 | add ecx, edi |
---|
1655 | add edi, [rsp+((1024+7-(9+4)) MOD (8))*4] |
---|
1656 | mov [rsp+((1024+7-(9+4)) MOD (8))*4], edi |
---|
1657 | ror ebp, 22 |
---|
1658 | xor ebp, ebx |
---|
1659 | ror ebx, 11 |
---|
1660 | xor ebp, ebx |
---|
1661 | add ecx, ebp |
---|
1662 | mov [rsp+((1024+7-(9)) MOD (8))*4], ecx |
---|
1663 | mov edx, [rsp+((1024+7-(10+2)) MOD (8))*4] |
---|
1664 | xor edx, [rsp+((1024+7-(10+1)) MOD (8))*4] |
---|
1665 | and edx, edi |
---|
1666 | xor edx, [rsp+((1024+7-(10+1)) MOD (8))*4] |
---|
1667 | mov ebp, edi |
---|
1668 | ror edi, 6 |
---|
1669 | ror ebp, 25 |
---|
1670 | xor ebp, edi |
---|
1671 | ror edi, 5 |
---|
1672 | xor ebp, edi |
---|
1673 | add edx, ebp |
---|
1674 | mov ebp, [rsp+8*4+((1024+15-((10)-2)) MOD (16))*4] |
---|
1675 | mov edi, [rsp+8*4+((1024+15-((10)-15)) MOD (16))*4] |
---|
1676 | mov ebx, ebp |
---|
1677 | shr ebp, 10 |
---|
1678 | ror ebx, 17 |
---|
1679 | xor ebp, ebx |
---|
1680 | ror ebx, 2 |
---|
1681 | xor ebx, ebp |
---|
1682 | add ebx, [rsp+8*4+((1024+15-((10)-7)) MOD (16))*4] |
---|
1683 | mov ebp, edi |
---|
1684 | shr ebp, 3 |
---|
1685 | ror edi, 7 |
---|
1686 | add ebx, [rsp+8*4+((1024+15-(10)) MOD (16))*4] |
---|
1687 | xor ebp, edi |
---|
1688 | add edx, [rsi+(10)*4] |
---|
1689 | ror edi, 11 |
---|
1690 | add edx, [rsp+((1024+7-(10)) MOD (8))*4] |
---|
1691 | xor ebp, edi |
---|
1692 | add ebp, ebx |
---|
1693 | mov [rsp+8*4+((1024+15-(10)) MOD (16))*4], ebp |
---|
1694 | add edx, ebp |
---|
1695 | mov ebx, ecx |
---|
1696 | xor ecx, [rsp+((1024+7-(10+6)) MOD (8))*4] |
---|
1697 | and eax, ecx |
---|
1698 | xor eax, [rsp+((1024+7-(10+6)) MOD (8))*4] |
---|
1699 | mov ebp, ebx |
---|
1700 | ror ebx, 2 |
---|
1701 | add eax, edx |
---|
1702 | add edx, [rsp+((1024+7-(10+4)) MOD (8))*4] |
---|
1703 | mov [rsp+((1024+7-(10+4)) MOD (8))*4], edx |
---|
1704 | ror ebp, 22 |
---|
1705 | xor ebp, ebx |
---|
1706 | ror ebx, 11 |
---|
1707 | xor ebp, ebx |
---|
1708 | add eax, ebp |
---|
1709 | mov [rsp+((1024+7-(10)) MOD (8))*4], eax |
---|
1710 | mov edi, [rsp+((1024+7-(11+2)) MOD (8))*4] |
---|
1711 | xor edi, [rsp+((1024+7-(11+1)) MOD (8))*4] |
---|
1712 | and edi, edx |
---|
1713 | xor edi, [rsp+((1024+7-(11+1)) MOD (8))*4] |
---|
1714 | mov ebp, edx |
---|
1715 | ror edx, 6 |
---|
1716 | ror ebp, 25 |
---|
1717 | xor ebp, edx |
---|
1718 | ror edx, 5 |
---|
1719 | xor ebp, edx |
---|
1720 | add edi, ebp |
---|
1721 | mov ebp, [rsp+8*4+((1024+15-((11)-2)) MOD (16))*4] |
---|
1722 | mov edx, [rsp+8*4+((1024+15-((11)-15)) MOD (16))*4] |
---|
1723 | mov ebx, ebp |
---|
1724 | shr ebp, 10 |
---|
1725 | ror ebx, 17 |
---|
1726 | xor ebp, ebx |
---|
1727 | ror ebx, 2 |
---|
1728 | xor ebx, ebp |
---|
1729 | add ebx, [rsp+8*4+((1024+15-((11)-7)) MOD (16))*4] |
---|
1730 | mov ebp, edx |
---|
1731 | shr ebp, 3 |
---|
1732 | ror edx, 7 |
---|
1733 | add ebx, [rsp+8*4+((1024+15-(11)) MOD (16))*4] |
---|
1734 | xor ebp, edx |
---|
1735 | add edi, [rsi+(11)*4] |
---|
1736 | ror edx, 11 |
---|
1737 | add edi, [rsp+((1024+7-(11)) MOD (8))*4] |
---|
1738 | xor ebp, edx |
---|
1739 | add ebp, ebx |
---|
1740 | mov [rsp+8*4+((1024+15-(11)) MOD (16))*4], ebp |
---|
1741 | add edi, ebp |
---|
1742 | mov ebx, eax |
---|
1743 | xor eax, [rsp+((1024+7-(11+6)) MOD (8))*4] |
---|
1744 | and ecx, eax |
---|
1745 | xor ecx, [rsp+((1024+7-(11+6)) MOD (8))*4] |
---|
1746 | mov ebp, ebx |
---|
1747 | ror ebx, 2 |
---|
1748 | add ecx, edi |
---|
1749 | add edi, [rsp+((1024+7-(11+4)) MOD (8))*4] |
---|
1750 | mov [rsp+((1024+7-(11+4)) MOD (8))*4], edi |
---|
1751 | ror ebp, 22 |
---|
1752 | xor ebp, ebx |
---|
1753 | ror ebx, 11 |
---|
1754 | xor ebp, ebx |
---|
1755 | add ecx, ebp |
---|
1756 | mov [rsp+((1024+7-(11)) MOD (8))*4], ecx |
---|
1757 | mov edx, [rsp+((1024+7-(12+2)) MOD (8))*4] |
---|
1758 | xor edx, [rsp+((1024+7-(12+1)) MOD (8))*4] |
---|
1759 | and edx, edi |
---|
1760 | xor edx, [rsp+((1024+7-(12+1)) MOD (8))*4] |
---|
1761 | mov ebp, edi |
---|
1762 | ror edi, 6 |
---|
1763 | ror ebp, 25 |
---|
1764 | xor ebp, edi |
---|
1765 | ror edi, 5 |
---|
1766 | xor ebp, edi |
---|
1767 | add edx, ebp |
---|
1768 | mov ebp, [rsp+8*4+((1024+15-((12)-2)) MOD (16))*4] |
---|
1769 | mov edi, [rsp+8*4+((1024+15-((12)-15)) MOD (16))*4] |
---|
1770 | mov ebx, ebp |
---|
1771 | shr ebp, 10 |
---|
1772 | ror ebx, 17 |
---|
1773 | xor ebp, ebx |
---|
1774 | ror ebx, 2 |
---|
1775 | xor ebx, ebp |
---|
1776 | add ebx, [rsp+8*4+((1024+15-((12)-7)) MOD (16))*4] |
---|
1777 | mov ebp, edi |
---|
1778 | shr ebp, 3 |
---|
1779 | ror edi, 7 |
---|
1780 | add ebx, [rsp+8*4+((1024+15-(12)) MOD (16))*4] |
---|
1781 | xor ebp, edi |
---|
1782 | add edx, [rsi+(12)*4] |
---|
1783 | ror edi, 11 |
---|
1784 | add edx, [rsp+((1024+7-(12)) MOD (8))*4] |
---|
1785 | xor ebp, edi |
---|
1786 | add ebp, ebx |
---|
1787 | mov [rsp+8*4+((1024+15-(12)) MOD (16))*4], ebp |
---|
1788 | add edx, ebp |
---|
1789 | mov ebx, ecx |
---|
1790 | xor ecx, [rsp+((1024+7-(12+6)) MOD (8))*4] |
---|
1791 | and eax, ecx |
---|
1792 | xor eax, [rsp+((1024+7-(12+6)) MOD (8))*4] |
---|
1793 | mov ebp, ebx |
---|
1794 | ror ebx, 2 |
---|
1795 | add eax, edx |
---|
1796 | add edx, [rsp+((1024+7-(12+4)) MOD (8))*4] |
---|
1797 | mov [rsp+((1024+7-(12+4)) MOD (8))*4], edx |
---|
1798 | ror ebp, 22 |
---|
1799 | xor ebp, ebx |
---|
1800 | ror ebx, 11 |
---|
1801 | xor ebp, ebx |
---|
1802 | add eax, ebp |
---|
1803 | mov [rsp+((1024+7-(12)) MOD (8))*4], eax |
---|
1804 | mov edi, [rsp+((1024+7-(13+2)) MOD (8))*4] |
---|
1805 | xor edi, [rsp+((1024+7-(13+1)) MOD (8))*4] |
---|
1806 | and edi, edx |
---|
1807 | xor edi, [rsp+((1024+7-(13+1)) MOD (8))*4] |
---|
1808 | mov ebp, edx |
---|
1809 | ror edx, 6 |
---|
1810 | ror ebp, 25 |
---|
1811 | xor ebp, edx |
---|
1812 | ror edx, 5 |
---|
1813 | xor ebp, edx |
---|
1814 | add edi, ebp |
---|
1815 | mov ebp, [rsp+8*4+((1024+15-((13)-2)) MOD (16))*4] |
---|
1816 | mov edx, [rsp+8*4+((1024+15-((13)-15)) MOD (16))*4] |
---|
1817 | mov ebx, ebp |
---|
1818 | shr ebp, 10 |
---|
1819 | ror ebx, 17 |
---|
1820 | xor ebp, ebx |
---|
1821 | ror ebx, 2 |
---|
1822 | xor ebx, ebp |
---|
1823 | add ebx, [rsp+8*4+((1024+15-((13)-7)) MOD (16))*4] |
---|
1824 | mov ebp, edx |
---|
1825 | shr ebp, 3 |
---|
1826 | ror edx, 7 |
---|
1827 | add ebx, [rsp+8*4+((1024+15-(13)) MOD (16))*4] |
---|
1828 | xor ebp, edx |
---|
1829 | add edi, [rsi+(13)*4] |
---|
1830 | ror edx, 11 |
---|
1831 | add edi, [rsp+((1024+7-(13)) MOD (8))*4] |
---|
1832 | xor ebp, edx |
---|
1833 | add ebp, ebx |
---|
1834 | mov [rsp+8*4+((1024+15-(13)) MOD (16))*4], ebp |
---|
1835 | add edi, ebp |
---|
1836 | mov ebx, eax |
---|
1837 | xor eax, [rsp+((1024+7-(13+6)) MOD (8))*4] |
---|
1838 | and ecx, eax |
---|
1839 | xor ecx, [rsp+((1024+7-(13+6)) MOD (8))*4] |
---|
1840 | mov ebp, ebx |
---|
1841 | ror ebx, 2 |
---|
1842 | add ecx, edi |
---|
1843 | add edi, [rsp+((1024+7-(13+4)) MOD (8))*4] |
---|
1844 | mov [rsp+((1024+7-(13+4)) MOD (8))*4], edi |
---|
1845 | ror ebp, 22 |
---|
1846 | xor ebp, ebx |
---|
1847 | ror ebx, 11 |
---|
1848 | xor ebp, ebx |
---|
1849 | add ecx, ebp |
---|
1850 | mov [rsp+((1024+7-(13)) MOD (8))*4], ecx |
---|
1851 | mov edx, [rsp+((1024+7-(14+2)) MOD (8))*4] |
---|
1852 | xor edx, [rsp+((1024+7-(14+1)) MOD (8))*4] |
---|
1853 | and edx, edi |
---|
1854 | xor edx, [rsp+((1024+7-(14+1)) MOD (8))*4] |
---|
1855 | mov ebp, edi |
---|
1856 | ror edi, 6 |
---|
1857 | ror ebp, 25 |
---|
1858 | xor ebp, edi |
---|
1859 | ror edi, 5 |
---|
1860 | xor ebp, edi |
---|
1861 | add edx, ebp |
---|
1862 | mov ebp, [rsp+8*4+((1024+15-((14)-2)) MOD (16))*4] |
---|
1863 | mov edi, [rsp+8*4+((1024+15-((14)-15)) MOD (16))*4] |
---|
1864 | mov ebx, ebp |
---|
1865 | shr ebp, 10 |
---|
1866 | ror ebx, 17 |
---|
1867 | xor ebp, ebx |
---|
1868 | ror ebx, 2 |
---|
1869 | xor ebx, ebp |
---|
1870 | add ebx, [rsp+8*4+((1024+15-((14)-7)) MOD (16))*4] |
---|
1871 | mov ebp, edi |
---|
1872 | shr ebp, 3 |
---|
1873 | ror edi, 7 |
---|
1874 | add ebx, [rsp+8*4+((1024+15-(14)) MOD (16))*4] |
---|
1875 | xor ebp, edi |
---|
1876 | add edx, [rsi+(14)*4] |
---|
1877 | ror edi, 11 |
---|
1878 | add edx, [rsp+((1024+7-(14)) MOD (8))*4] |
---|
1879 | xor ebp, edi |
---|
1880 | add ebp, ebx |
---|
1881 | mov [rsp+8*4+((1024+15-(14)) MOD (16))*4], ebp |
---|
1882 | add edx, ebp |
---|
1883 | mov ebx, ecx |
---|
1884 | xor ecx, [rsp+((1024+7-(14+6)) MOD (8))*4] |
---|
1885 | and eax, ecx |
---|
1886 | xor eax, [rsp+((1024+7-(14+6)) MOD (8))*4] |
---|
1887 | mov ebp, ebx |
---|
1888 | ror ebx, 2 |
---|
1889 | add eax, edx |
---|
1890 | add edx, [rsp+((1024+7-(14+4)) MOD (8))*4] |
---|
1891 | mov [rsp+((1024+7-(14+4)) MOD (8))*4], edx |
---|
1892 | ror ebp, 22 |
---|
1893 | xor ebp, ebx |
---|
1894 | ror ebx, 11 |
---|
1895 | xor ebp, ebx |
---|
1896 | add eax, ebp |
---|
1897 | mov [rsp+((1024+7-(14)) MOD (8))*4], eax |
---|
1898 | mov edi, [rsp+((1024+7-(15+2)) MOD (8))*4] |
---|
1899 | xor edi, [rsp+((1024+7-(15+1)) MOD (8))*4] |
---|
1900 | and edi, edx |
---|
1901 | xor edi, [rsp+((1024+7-(15+1)) MOD (8))*4] |
---|
1902 | mov ebp, edx |
---|
1903 | ror edx, 6 |
---|
1904 | ror ebp, 25 |
---|
1905 | xor ebp, edx |
---|
1906 | ror edx, 5 |
---|
1907 | xor ebp, edx |
---|
1908 | add edi, ebp |
---|
1909 | mov ebp, [rsp+8*4+((1024+15-((15)-2)) MOD (16))*4] |
---|
1910 | mov edx, [rsp+8*4+((1024+15-((15)-15)) MOD (16))*4] |
---|
1911 | mov ebx, ebp |
---|
1912 | shr ebp, 10 |
---|
1913 | ror ebx, 17 |
---|
1914 | xor ebp, ebx |
---|
1915 | ror ebx, 2 |
---|
1916 | xor ebx, ebp |
---|
1917 | add ebx, [rsp+8*4+((1024+15-((15)-7)) MOD (16))*4] |
---|
1918 | mov ebp, edx |
---|
1919 | shr ebp, 3 |
---|
1920 | ror edx, 7 |
---|
1921 | add ebx, [rsp+8*4+((1024+15-(15)) MOD (16))*4] |
---|
1922 | xor ebp, edx |
---|
1923 | add edi, [rsi+(15)*4] |
---|
1924 | ror edx, 11 |
---|
1925 | add edi, [rsp+((1024+7-(15)) MOD (8))*4] |
---|
1926 | xor ebp, edx |
---|
1927 | add ebp, ebx |
---|
1928 | mov [rsp+8*4+((1024+15-(15)) MOD (16))*4], ebp |
---|
1929 | add edi, ebp |
---|
1930 | mov ebx, eax |
---|
1931 | xor eax, [rsp+((1024+7-(15+6)) MOD (8))*4] |
---|
1932 | and ecx, eax |
---|
1933 | xor ecx, [rsp+((1024+7-(15+6)) MOD (8))*4] |
---|
1934 | mov ebp, ebx |
---|
1935 | ror ebx, 2 |
---|
1936 | add ecx, edi |
---|
1937 | add edi, [rsp+((1024+7-(15+4)) MOD (8))*4] |
---|
1938 | mov [rsp+((1024+7-(15+4)) MOD (8))*4], edi |
---|
1939 | ror ebp, 22 |
---|
1940 | xor ebp, ebx |
---|
1941 | ror ebx, 11 |
---|
1942 | xor ebp, ebx |
---|
1943 | add ecx, ebp |
---|
1944 | mov [rsp+((1024+7-(15)) MOD (8))*4], ecx |
---|
1945 | cmp rsi, [rsp+8*4+16*4+0*8] |
---|
1946 | jne label1 |
---|
1947 | mov rcx, [rsp+8*4+16*4+1*8] |
---|
1948 | movdqa xmm1, XMMWORD PTR [rcx+1*16] |
---|
1949 | movdqa xmm0, XMMWORD PTR [rcx+0*16] |
---|
1950 | paddd xmm1, [rsp+((1024+7-(0+3)) MOD (8))*4] |
---|
1951 | paddd xmm0, [rsp+((1024+7-(0+7)) MOD (8))*4] |
---|
1952 | movdqa [rcx+1*16], xmm1 |
---|
1953 | movdqa [rcx+0*16], xmm0 |
---|
1954 | mov rdx, [rsp+8*4+16*4+2*8] |
---|
1955 | add rdx, 64 |
---|
1956 | mov [rsp+8*4+16*4+2*8], rdx |
---|
1957 | cmp rdx, [rsp+8*4+16*4+3*8] |
---|
1958 | jne label0 |
---|
1959 | add rsp, 8*4 + 16*4 + 4*8 + 8 |
---|
1960 | pop rbp |
---|
1961 | pop rbx |
---|
1962 | pop rdi |
---|
1963 | pop rsi |
---|
1964 | ret |
---|
1965 | X86_SHA256_HashBlocks ENDP |
---|
1966 | |
---|
1967 | _TEXT ENDS |
---|
1968 | END |
---|