~ubuntu-branches/ubuntu/maverick/openssl/maverick

« back to all changes in this revision

Viewing changes to fips/des/asm/fips-dx86-elf.s

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Martin
  • Date: 2004-12-16 18:41:29 UTC
  • mto: (11.1.1 lenny)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20041216184129-z7xjkul57mh1jiha
Tags: upstream-0.9.7e
ImportĀ upstreamĀ versionĀ 0.9.7e

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
 
 
3
 
 
4
 
 
5
 
 
6
 
 
7
        .file   "des-586.s"
 
8
        .version        "01.01"
 
9
gcc2_compiled.:
 
10
.text
 
11
        .align 16
 
12
.globl DES_encrypt1
 
13
        .type   DES_encrypt1,@function
 
14
DES_encrypt1:
 
15
        pushl   %esi
 
16
        pushl   %edi
 
17
 
 
18
 
 
19
        movl    12(%esp),       %esi
 
20
        xorl    %ecx,           %ecx
 
21
        pushl   %ebx
 
22
        pushl   %ebp
 
23
        movl    (%esi),         %eax
 
24
        movl    28(%esp),       %ebx
 
25
        movl    4(%esi),        %edi
 
26
 
 
27
 
 
28
        roll    $4,             %eax
 
29
        movl    %eax,           %esi
 
30
        xorl    %edi,           %eax
 
31
        andl    $0xf0f0f0f0,    %eax
 
32
        xorl    %eax,           %esi
 
33
        xorl    %eax,           %edi
 
34
 
 
35
        roll    $20,            %edi
 
36
        movl    %edi,           %eax
 
37
        xorl    %esi,           %edi
 
38
        andl    $0xfff0000f,    %edi
 
39
        xorl    %edi,           %eax
 
40
        xorl    %edi,           %esi
 
41
 
 
42
        roll    $14,            %eax
 
43
        movl    %eax,           %edi
 
44
        xorl    %esi,           %eax
 
45
        andl    $0x33333333,    %eax
 
46
        xorl    %eax,           %edi
 
47
        xorl    %eax,           %esi
 
48
 
 
49
        roll    $22,            %esi
 
50
        movl    %esi,           %eax
 
51
        xorl    %edi,           %esi
 
52
        andl    $0x03fc03fc,    %esi
 
53
        xorl    %esi,           %eax
 
54
        xorl    %esi,           %edi
 
55
 
 
56
        roll    $9,             %eax
 
57
        movl    %eax,           %esi
 
58
        xorl    %edi,           %eax
 
59
        andl    $0xaaaaaaaa,    %eax
 
60
        xorl    %eax,           %esi
 
61
        xorl    %eax,           %edi
 
62
 
 
63
.byte 209
 
64
.byte 199       
 
65
        leal    DES_SPtrans,    %ebp
 
66
        movl    24(%esp),       %ecx
 
67
        cmpl    $0,             %ebx
 
68
        je      .L000start_decrypt
 
69
 
 
70
 
 
71
        movl    (%ecx),         %eax
 
72
        xorl    %ebx,           %ebx
 
73
        movl    4(%ecx),        %edx
 
74
        xorl    %esi,           %eax
 
75
        xorl    %ecx,           %ecx
 
76
        xorl    %esi,           %edx
 
77
        andl    $0xfcfcfcfc,    %eax
 
78
        andl    $0xcfcfcfcf,    %edx
 
79
        movb    %al,            %bl
 
80
        movb    %ah,            %cl
 
81
        rorl    $4,             %edx
 
82
        xorl         (%ebp,%ebx),%edi
 
83
        movb    %dl,            %bl
 
84
        xorl    0x200(%ebp,%ecx),%edi
 
85
        movb    %dh,            %cl
 
86
        shrl    $16,            %eax
 
87
        xorl    0x100(%ebp,%ebx),%edi
 
88
        movb    %ah,            %bl
 
89
        shrl    $16,            %edx
 
90
        xorl    0x300(%ebp,%ecx),%edi
 
91
        movb    %dh,            %cl
 
92
        andl    $0xff,          %eax
 
93
        andl    $0xff,          %edx
 
94
        xorl    0x600(%ebp,%ebx),%edi
 
95
        xorl    0x700(%ebp,%ecx),%edi
 
96
        movl    24(%esp),       %ecx
 
97
        xorl    0x400(%ebp,%eax),%edi
 
98
        xorl    0x500(%ebp,%edx),%edi
 
99
 
 
100
 
 
101
        movl    8(%ecx),        %eax
 
102
        xorl    %ebx,           %ebx
 
103
        movl    12(%ecx),       %edx
 
104
        xorl    %edi,           %eax
 
105
        xorl    %ecx,           %ecx
 
106
        xorl    %edi,           %edx
 
107
        andl    $0xfcfcfcfc,    %eax
 
108
        andl    $0xcfcfcfcf,    %edx
 
109
        movb    %al,            %bl
 
110
        movb    %ah,            %cl
 
111
        rorl    $4,             %edx
 
112
        xorl         (%ebp,%ebx),%esi
 
113
        movb    %dl,            %bl
 
114
        xorl    0x200(%ebp,%ecx),%esi
 
115
        movb    %dh,            %cl
 
116
        shrl    $16,            %eax
 
117
        xorl    0x100(%ebp,%ebx),%esi
 
118
        movb    %ah,            %bl
 
119
        shrl    $16,            %edx
 
120
        xorl    0x300(%ebp,%ecx),%esi
 
121
        movb    %dh,            %cl
 
122
        andl    $0xff,          %eax
 
123
        andl    $0xff,          %edx
 
124
        xorl    0x600(%ebp,%ebx),%esi
 
125
        xorl    0x700(%ebp,%ecx),%esi
 
126
        movl    24(%esp),       %ecx
 
127
        xorl    0x400(%ebp,%eax),%esi
 
128
        xorl    0x500(%ebp,%edx),%esi
 
129
 
 
130
 
 
131
        movl    16(%ecx),       %eax
 
132
        xorl    %ebx,           %ebx
 
133
        movl    20(%ecx),       %edx
 
134
        xorl    %esi,           %eax
 
135
        xorl    %ecx,           %ecx
 
136
        xorl    %esi,           %edx
 
137
        andl    $0xfcfcfcfc,    %eax
 
138
        andl    $0xcfcfcfcf,    %edx
 
139
        movb    %al,            %bl
 
140
        movb    %ah,            %cl
 
141
        rorl    $4,             %edx
 
142
        xorl         (%ebp,%ebx),%edi
 
143
        movb    %dl,            %bl
 
144
        xorl    0x200(%ebp,%ecx),%edi
 
145
        movb    %dh,            %cl
 
146
        shrl    $16,            %eax
 
147
        xorl    0x100(%ebp,%ebx),%edi
 
148
        movb    %ah,            %bl
 
149
        shrl    $16,            %edx
 
150
        xorl    0x300(%ebp,%ecx),%edi
 
151
        movb    %dh,            %cl
 
152
        andl    $0xff,          %eax
 
153
        andl    $0xff,          %edx
 
154
        xorl    0x600(%ebp,%ebx),%edi
 
155
        xorl    0x700(%ebp,%ecx),%edi
 
156
        movl    24(%esp),       %ecx
 
157
        xorl    0x400(%ebp,%eax),%edi
 
158
        xorl    0x500(%ebp,%edx),%edi
 
159
 
 
160
 
 
161
        movl    24(%ecx),       %eax
 
162
        xorl    %ebx,           %ebx
 
163
        movl    28(%ecx),       %edx
 
164
        xorl    %edi,           %eax
 
165
        xorl    %ecx,           %ecx
 
166
        xorl    %edi,           %edx
 
167
        andl    $0xfcfcfcfc,    %eax
 
168
        andl    $0xcfcfcfcf,    %edx
 
169
        movb    %al,            %bl
 
170
        movb    %ah,            %cl
 
171
        rorl    $4,             %edx
 
172
        xorl         (%ebp,%ebx),%esi
 
173
        movb    %dl,            %bl
 
174
        xorl    0x200(%ebp,%ecx),%esi
 
175
        movb    %dh,            %cl
 
176
        shrl    $16,            %eax
 
177
        xorl    0x100(%ebp,%ebx),%esi
 
178
        movb    %ah,            %bl
 
179
        shrl    $16,            %edx
 
180
        xorl    0x300(%ebp,%ecx),%esi
 
181
        movb    %dh,            %cl
 
182
        andl    $0xff,          %eax
 
183
        andl    $0xff,          %edx
 
184
        xorl    0x600(%ebp,%ebx),%esi
 
185
        xorl    0x700(%ebp,%ecx),%esi
 
186
        movl    24(%esp),       %ecx
 
187
        xorl    0x400(%ebp,%eax),%esi
 
188
        xorl    0x500(%ebp,%edx),%esi
 
189
 
 
190
 
 
191
        movl    32(%ecx),       %eax
 
192
        xorl    %ebx,           %ebx
 
193
        movl    36(%ecx),       %edx
 
194
        xorl    %esi,           %eax
 
195
        xorl    %ecx,           %ecx
 
196
        xorl    %esi,           %edx
 
197
        andl    $0xfcfcfcfc,    %eax
 
198
        andl    $0xcfcfcfcf,    %edx
 
199
        movb    %al,            %bl
 
200
        movb    %ah,            %cl
 
201
        rorl    $4,             %edx
 
202
        xorl         (%ebp,%ebx),%edi
 
203
        movb    %dl,            %bl
 
204
        xorl    0x200(%ebp,%ecx),%edi
 
205
        movb    %dh,            %cl
 
206
        shrl    $16,            %eax
 
207
        xorl    0x100(%ebp,%ebx),%edi
 
208
        movb    %ah,            %bl
 
209
        shrl    $16,            %edx
 
210
        xorl    0x300(%ebp,%ecx),%edi
 
211
        movb    %dh,            %cl
 
212
        andl    $0xff,          %eax
 
213
        andl    $0xff,          %edx
 
214
        xorl    0x600(%ebp,%ebx),%edi
 
215
        xorl    0x700(%ebp,%ecx),%edi
 
216
        movl    24(%esp),       %ecx
 
217
        xorl    0x400(%ebp,%eax),%edi
 
218
        xorl    0x500(%ebp,%edx),%edi
 
219
 
 
220
 
 
221
        movl    40(%ecx),       %eax
 
222
        xorl    %ebx,           %ebx
 
223
        movl    44(%ecx),       %edx
 
224
        xorl    %edi,           %eax
 
225
        xorl    %ecx,           %ecx
 
226
        xorl    %edi,           %edx
 
227
        andl    $0xfcfcfcfc,    %eax
 
228
        andl    $0xcfcfcfcf,    %edx
 
229
        movb    %al,            %bl
 
230
        movb    %ah,            %cl
 
231
        rorl    $4,             %edx
 
232
        xorl         (%ebp,%ebx),%esi
 
233
        movb    %dl,            %bl
 
234
        xorl    0x200(%ebp,%ecx),%esi
 
235
        movb    %dh,            %cl
 
236
        shrl    $16,            %eax
 
237
        xorl    0x100(%ebp,%ebx),%esi
 
238
        movb    %ah,            %bl
 
239
        shrl    $16,            %edx
 
240
        xorl    0x300(%ebp,%ecx),%esi
 
241
        movb    %dh,            %cl
 
242
        andl    $0xff,          %eax
 
243
        andl    $0xff,          %edx
 
244
        xorl    0x600(%ebp,%ebx),%esi
 
245
        xorl    0x700(%ebp,%ecx),%esi
 
246
        movl    24(%esp),       %ecx
 
247
        xorl    0x400(%ebp,%eax),%esi
 
248
        xorl    0x500(%ebp,%edx),%esi
 
249
 
 
250
 
 
251
        movl    48(%ecx),       %eax
 
252
        xorl    %ebx,           %ebx
 
253
        movl    52(%ecx),       %edx
 
254
        xorl    %esi,           %eax
 
255
        xorl    %ecx,           %ecx
 
256
        xorl    %esi,           %edx
 
257
        andl    $0xfcfcfcfc,    %eax
 
258
        andl    $0xcfcfcfcf,    %edx
 
259
        movb    %al,            %bl
 
260
        movb    %ah,            %cl
 
261
        rorl    $4,             %edx
 
262
        xorl         (%ebp,%ebx),%edi
 
263
        movb    %dl,            %bl
 
264
        xorl    0x200(%ebp,%ecx),%edi
 
265
        movb    %dh,            %cl
 
266
        shrl    $16,            %eax
 
267
        xorl    0x100(%ebp,%ebx),%edi
 
268
        movb    %ah,            %bl
 
269
        shrl    $16,            %edx
 
270
        xorl    0x300(%ebp,%ecx),%edi
 
271
        movb    %dh,            %cl
 
272
        andl    $0xff,          %eax
 
273
        andl    $0xff,          %edx
 
274
        xorl    0x600(%ebp,%ebx),%edi
 
275
        xorl    0x700(%ebp,%ecx),%edi
 
276
        movl    24(%esp),       %ecx
 
277
        xorl    0x400(%ebp,%eax),%edi
 
278
        xorl    0x500(%ebp,%edx),%edi
 
279
 
 
280
 
 
281
        movl    56(%ecx),       %eax
 
282
        xorl    %ebx,           %ebx
 
283
        movl    60(%ecx),       %edx
 
284
        xorl    %edi,           %eax
 
285
        xorl    %ecx,           %ecx
 
286
        xorl    %edi,           %edx
 
287
        andl    $0xfcfcfcfc,    %eax
 
288
        andl    $0xcfcfcfcf,    %edx
 
289
        movb    %al,            %bl
 
290
        movb    %ah,            %cl
 
291
        rorl    $4,             %edx
 
292
        xorl         (%ebp,%ebx),%esi
 
293
        movb    %dl,            %bl
 
294
        xorl    0x200(%ebp,%ecx),%esi
 
295
        movb    %dh,            %cl
 
296
        shrl    $16,            %eax
 
297
        xorl    0x100(%ebp,%ebx),%esi
 
298
        movb    %ah,            %bl
 
299
        shrl    $16,            %edx
 
300
        xorl    0x300(%ebp,%ecx),%esi
 
301
        movb    %dh,            %cl
 
302
        andl    $0xff,          %eax
 
303
        andl    $0xff,          %edx
 
304
        xorl    0x600(%ebp,%ebx),%esi
 
305
        xorl    0x700(%ebp,%ecx),%esi
 
306
        movl    24(%esp),       %ecx
 
307
        xorl    0x400(%ebp,%eax),%esi
 
308
        xorl    0x500(%ebp,%edx),%esi
 
309
 
 
310
 
 
311
        movl    64(%ecx),       %eax
 
312
        xorl    %ebx,           %ebx
 
313
        movl    68(%ecx),       %edx
 
314
        xorl    %esi,           %eax
 
315
        xorl    %ecx,           %ecx
 
316
        xorl    %esi,           %edx
 
317
        andl    $0xfcfcfcfc,    %eax
 
318
        andl    $0xcfcfcfcf,    %edx
 
319
        movb    %al,            %bl
 
320
        movb    %ah,            %cl
 
321
        rorl    $4,             %edx
 
322
        xorl         (%ebp,%ebx),%edi
 
323
        movb    %dl,            %bl
 
324
        xorl    0x200(%ebp,%ecx),%edi
 
325
        movb    %dh,            %cl
 
326
        shrl    $16,            %eax
 
327
        xorl    0x100(%ebp,%ebx),%edi
 
328
        movb    %ah,            %bl
 
329
        shrl    $16,            %edx
 
330
        xorl    0x300(%ebp,%ecx),%edi
 
331
        movb    %dh,            %cl
 
332
        andl    $0xff,          %eax
 
333
        andl    $0xff,          %edx
 
334
        xorl    0x600(%ebp,%ebx),%edi
 
335
        xorl    0x700(%ebp,%ecx),%edi
 
336
        movl    24(%esp),       %ecx
 
337
        xorl    0x400(%ebp,%eax),%edi
 
338
        xorl    0x500(%ebp,%edx),%edi
 
339
 
 
340
 
 
341
        movl    72(%ecx),       %eax
 
342
        xorl    %ebx,           %ebx
 
343
        movl    76(%ecx),       %edx
 
344
        xorl    %edi,           %eax
 
345
        xorl    %ecx,           %ecx
 
346
        xorl    %edi,           %edx
 
347
        andl    $0xfcfcfcfc,    %eax
 
348
        andl    $0xcfcfcfcf,    %edx
 
349
        movb    %al,            %bl
 
350
        movb    %ah,            %cl
 
351
        rorl    $4,             %edx
 
352
        xorl         (%ebp,%ebx),%esi
 
353
        movb    %dl,            %bl
 
354
        xorl    0x200(%ebp,%ecx),%esi
 
355
        movb    %dh,            %cl
 
356
        shrl    $16,            %eax
 
357
        xorl    0x100(%ebp,%ebx),%esi
 
358
        movb    %ah,            %bl
 
359
        shrl    $16,            %edx
 
360
        xorl    0x300(%ebp,%ecx),%esi
 
361
        movb    %dh,            %cl
 
362
        andl    $0xff,          %eax
 
363
        andl    $0xff,          %edx
 
364
        xorl    0x600(%ebp,%ebx),%esi
 
365
        xorl    0x700(%ebp,%ecx),%esi
 
366
        movl    24(%esp),       %ecx
 
367
        xorl    0x400(%ebp,%eax),%esi
 
368
        xorl    0x500(%ebp,%edx),%esi
 
369
 
 
370
 
 
371
        movl    80(%ecx),       %eax
 
372
        xorl    %ebx,           %ebx
 
373
        movl    84(%ecx),       %edx
 
374
        xorl    %esi,           %eax
 
375
        xorl    %ecx,           %ecx
 
376
        xorl    %esi,           %edx
 
377
        andl    $0xfcfcfcfc,    %eax
 
378
        andl    $0xcfcfcfcf,    %edx
 
379
        movb    %al,            %bl
 
380
        movb    %ah,            %cl
 
381
        rorl    $4,             %edx
 
382
        xorl         (%ebp,%ebx),%edi
 
383
        movb    %dl,            %bl
 
384
        xorl    0x200(%ebp,%ecx),%edi
 
385
        movb    %dh,            %cl
 
386
        shrl    $16,            %eax
 
387
        xorl    0x100(%ebp,%ebx),%edi
 
388
        movb    %ah,            %bl
 
389
        shrl    $16,            %edx
 
390
        xorl    0x300(%ebp,%ecx),%edi
 
391
        movb    %dh,            %cl
 
392
        andl    $0xff,          %eax
 
393
        andl    $0xff,          %edx
 
394
        xorl    0x600(%ebp,%ebx),%edi
 
395
        xorl    0x700(%ebp,%ecx),%edi
 
396
        movl    24(%esp),       %ecx
 
397
        xorl    0x400(%ebp,%eax),%edi
 
398
        xorl    0x500(%ebp,%edx),%edi
 
399
 
 
400
 
 
401
        movl    88(%ecx),       %eax
 
402
        xorl    %ebx,           %ebx
 
403
        movl    92(%ecx),       %edx
 
404
        xorl    %edi,           %eax
 
405
        xorl    %ecx,           %ecx
 
406
        xorl    %edi,           %edx
 
407
        andl    $0xfcfcfcfc,    %eax
 
408
        andl    $0xcfcfcfcf,    %edx
 
409
        movb    %al,            %bl
 
410
        movb    %ah,            %cl
 
411
        rorl    $4,             %edx
 
412
        xorl         (%ebp,%ebx),%esi
 
413
        movb    %dl,            %bl
 
414
        xorl    0x200(%ebp,%ecx),%esi
 
415
        movb    %dh,            %cl
 
416
        shrl    $16,            %eax
 
417
        xorl    0x100(%ebp,%ebx),%esi
 
418
        movb    %ah,            %bl
 
419
        shrl    $16,            %edx
 
420
        xorl    0x300(%ebp,%ecx),%esi
 
421
        movb    %dh,            %cl
 
422
        andl    $0xff,          %eax
 
423
        andl    $0xff,          %edx
 
424
        xorl    0x600(%ebp,%ebx),%esi
 
425
        xorl    0x700(%ebp,%ecx),%esi
 
426
        movl    24(%esp),       %ecx
 
427
        xorl    0x400(%ebp,%eax),%esi
 
428
        xorl    0x500(%ebp,%edx),%esi
 
429
 
 
430
 
 
431
        movl    96(%ecx),       %eax
 
432
        xorl    %ebx,           %ebx
 
433
        movl    100(%ecx),      %edx
 
434
        xorl    %esi,           %eax
 
435
        xorl    %ecx,           %ecx
 
436
        xorl    %esi,           %edx
 
437
        andl    $0xfcfcfcfc,    %eax
 
438
        andl    $0xcfcfcfcf,    %edx
 
439
        movb    %al,            %bl
 
440
        movb    %ah,            %cl
 
441
        rorl    $4,             %edx
 
442
        xorl         (%ebp,%ebx),%edi
 
443
        movb    %dl,            %bl
 
444
        xorl    0x200(%ebp,%ecx),%edi
 
445
        movb    %dh,            %cl
 
446
        shrl    $16,            %eax
 
447
        xorl    0x100(%ebp,%ebx),%edi
 
448
        movb    %ah,            %bl
 
449
        shrl    $16,            %edx
 
450
        xorl    0x300(%ebp,%ecx),%edi
 
451
        movb    %dh,            %cl
 
452
        andl    $0xff,          %eax
 
453
        andl    $0xff,          %edx
 
454
        xorl    0x600(%ebp,%ebx),%edi
 
455
        xorl    0x700(%ebp,%ecx),%edi
 
456
        movl    24(%esp),       %ecx
 
457
        xorl    0x400(%ebp,%eax),%edi
 
458
        xorl    0x500(%ebp,%edx),%edi
 
459
 
 
460
 
 
461
        movl    104(%ecx),      %eax
 
462
        xorl    %ebx,           %ebx
 
463
        movl    108(%ecx),      %edx
 
464
        xorl    %edi,           %eax
 
465
        xorl    %ecx,           %ecx
 
466
        xorl    %edi,           %edx
 
467
        andl    $0xfcfcfcfc,    %eax
 
468
        andl    $0xcfcfcfcf,    %edx
 
469
        movb    %al,            %bl
 
470
        movb    %ah,            %cl
 
471
        rorl    $4,             %edx
 
472
        xorl         (%ebp,%ebx),%esi
 
473
        movb    %dl,            %bl
 
474
        xorl    0x200(%ebp,%ecx),%esi
 
475
        movb    %dh,            %cl
 
476
        shrl    $16,            %eax
 
477
        xorl    0x100(%ebp,%ebx),%esi
 
478
        movb    %ah,            %bl
 
479
        shrl    $16,            %edx
 
480
        xorl    0x300(%ebp,%ecx),%esi
 
481
        movb    %dh,            %cl
 
482
        andl    $0xff,          %eax
 
483
        andl    $0xff,          %edx
 
484
        xorl    0x600(%ebp,%ebx),%esi
 
485
        xorl    0x700(%ebp,%ecx),%esi
 
486
        movl    24(%esp),       %ecx
 
487
        xorl    0x400(%ebp,%eax),%esi
 
488
        xorl    0x500(%ebp,%edx),%esi
 
489
 
 
490
 
 
491
        movl    112(%ecx),      %eax
 
492
        xorl    %ebx,           %ebx
 
493
        movl    116(%ecx),      %edx
 
494
        xorl    %esi,           %eax
 
495
        xorl    %ecx,           %ecx
 
496
        xorl    %esi,           %edx
 
497
        andl    $0xfcfcfcfc,    %eax
 
498
        andl    $0xcfcfcfcf,    %edx
 
499
        movb    %al,            %bl
 
500
        movb    %ah,            %cl
 
501
        rorl    $4,             %edx
 
502
        xorl         (%ebp,%ebx),%edi
 
503
        movb    %dl,            %bl
 
504
        xorl    0x200(%ebp,%ecx),%edi
 
505
        movb    %dh,            %cl
 
506
        shrl    $16,            %eax
 
507
        xorl    0x100(%ebp,%ebx),%edi
 
508
        movb    %ah,            %bl
 
509
        shrl    $16,            %edx
 
510
        xorl    0x300(%ebp,%ecx),%edi
 
511
        movb    %dh,            %cl
 
512
        andl    $0xff,          %eax
 
513
        andl    $0xff,          %edx
 
514
        xorl    0x600(%ebp,%ebx),%edi
 
515
        xorl    0x700(%ebp,%ecx),%edi
 
516
        movl    24(%esp),       %ecx
 
517
        xorl    0x400(%ebp,%eax),%edi
 
518
        xorl    0x500(%ebp,%edx),%edi
 
519
 
 
520
 
 
521
        movl    120(%ecx),      %eax
 
522
        xorl    %ebx,           %ebx
 
523
        movl    124(%ecx),      %edx
 
524
        xorl    %edi,           %eax
 
525
        xorl    %ecx,           %ecx
 
526
        xorl    %edi,           %edx
 
527
        andl    $0xfcfcfcfc,    %eax
 
528
        andl    $0xcfcfcfcf,    %edx
 
529
        movb    %al,            %bl
 
530
        movb    %ah,            %cl
 
531
        rorl    $4,             %edx
 
532
        xorl         (%ebp,%ebx),%esi
 
533
        movb    %dl,            %bl
 
534
        xorl    0x200(%ebp,%ecx),%esi
 
535
        movb    %dh,            %cl
 
536
        shrl    $16,            %eax
 
537
        xorl    0x100(%ebp,%ebx),%esi
 
538
        movb    %ah,            %bl
 
539
        shrl    $16,            %edx
 
540
        xorl    0x300(%ebp,%ecx),%esi
 
541
        movb    %dh,            %cl
 
542
        andl    $0xff,          %eax
 
543
        andl    $0xff,          %edx
 
544
        xorl    0x600(%ebp,%ebx),%esi
 
545
        xorl    0x700(%ebp,%ecx),%esi
 
546
        movl    24(%esp),       %ecx
 
547
        xorl    0x400(%ebp,%eax),%esi
 
548
        xorl    0x500(%ebp,%edx),%esi
 
549
        jmp     .L001end
 
550
.L000start_decrypt:
 
551
 
 
552
 
 
553
        movl    120(%ecx),      %eax
 
554
        xorl    %ebx,           %ebx
 
555
        movl    124(%ecx),      %edx
 
556
        xorl    %esi,           %eax
 
557
        xorl    %ecx,           %ecx
 
558
        xorl    %esi,           %edx
 
559
        andl    $0xfcfcfcfc,    %eax
 
560
        andl    $0xcfcfcfcf,    %edx
 
561
        movb    %al,            %bl
 
562
        movb    %ah,            %cl
 
563
        rorl    $4,             %edx
 
564
        xorl         (%ebp,%ebx),%edi
 
565
        movb    %dl,            %bl
 
566
        xorl    0x200(%ebp,%ecx),%edi
 
567
        movb    %dh,            %cl
 
568
        shrl    $16,            %eax
 
569
        xorl    0x100(%ebp,%ebx),%edi
 
570
        movb    %ah,            %bl
 
571
        shrl    $16,            %edx
 
572
        xorl    0x300(%ebp,%ecx),%edi
 
573
        movb    %dh,            %cl
 
574
        andl    $0xff,          %eax
 
575
        andl    $0xff,          %edx
 
576
        xorl    0x600(%ebp,%ebx),%edi
 
577
        xorl    0x700(%ebp,%ecx),%edi
 
578
        movl    24(%esp),       %ecx
 
579
        xorl    0x400(%ebp,%eax),%edi
 
580
        xorl    0x500(%ebp,%edx),%edi
 
581
 
 
582
 
 
583
        movl    112(%ecx),      %eax
 
584
        xorl    %ebx,           %ebx
 
585
        movl    116(%ecx),      %edx
 
586
        xorl    %edi,           %eax
 
587
        xorl    %ecx,           %ecx
 
588
        xorl    %edi,           %edx
 
589
        andl    $0xfcfcfcfc,    %eax
 
590
        andl    $0xcfcfcfcf,    %edx
 
591
        movb    %al,            %bl
 
592
        movb    %ah,            %cl
 
593
        rorl    $4,             %edx
 
594
        xorl         (%ebp,%ebx),%esi
 
595
        movb    %dl,            %bl
 
596
        xorl    0x200(%ebp,%ecx),%esi
 
597
        movb    %dh,            %cl
 
598
        shrl    $16,            %eax
 
599
        xorl    0x100(%ebp,%ebx),%esi
 
600
        movb    %ah,            %bl
 
601
        shrl    $16,            %edx
 
602
        xorl    0x300(%ebp,%ecx),%esi
 
603
        movb    %dh,            %cl
 
604
        andl    $0xff,          %eax
 
605
        andl    $0xff,          %edx
 
606
        xorl    0x600(%ebp,%ebx),%esi
 
607
        xorl    0x700(%ebp,%ecx),%esi
 
608
        movl    24(%esp),       %ecx
 
609
        xorl    0x400(%ebp,%eax),%esi
 
610
        xorl    0x500(%ebp,%edx),%esi
 
611
 
 
612
 
 
613
        movl    104(%ecx),      %eax
 
614
        xorl    %ebx,           %ebx
 
615
        movl    108(%ecx),      %edx
 
616
        xorl    %esi,           %eax
 
617
        xorl    %ecx,           %ecx
 
618
        xorl    %esi,           %edx
 
619
        andl    $0xfcfcfcfc,    %eax
 
620
        andl    $0xcfcfcfcf,    %edx
 
621
        movb    %al,            %bl
 
622
        movb    %ah,            %cl
 
623
        rorl    $4,             %edx
 
624
        xorl         (%ebp,%ebx),%edi
 
625
        movb    %dl,            %bl
 
626
        xorl    0x200(%ebp,%ecx),%edi
 
627
        movb    %dh,            %cl
 
628
        shrl    $16,            %eax
 
629
        xorl    0x100(%ebp,%ebx),%edi
 
630
        movb    %ah,            %bl
 
631
        shrl    $16,            %edx
 
632
        xorl    0x300(%ebp,%ecx),%edi
 
633
        movb    %dh,            %cl
 
634
        andl    $0xff,          %eax
 
635
        andl    $0xff,          %edx
 
636
        xorl    0x600(%ebp,%ebx),%edi
 
637
        xorl    0x700(%ebp,%ecx),%edi
 
638
        movl    24(%esp),       %ecx
 
639
        xorl    0x400(%ebp,%eax),%edi
 
640
        xorl    0x500(%ebp,%edx),%edi
 
641
 
 
642
 
 
643
        movl    96(%ecx),       %eax
 
644
        xorl    %ebx,           %ebx
 
645
        movl    100(%ecx),      %edx
 
646
        xorl    %edi,           %eax
 
647
        xorl    %ecx,           %ecx
 
648
        xorl    %edi,           %edx
 
649
        andl    $0xfcfcfcfc,    %eax
 
650
        andl    $0xcfcfcfcf,    %edx
 
651
        movb    %al,            %bl
 
652
        movb    %ah,            %cl
 
653
        rorl    $4,             %edx
 
654
        xorl         (%ebp,%ebx),%esi
 
655
        movb    %dl,            %bl
 
656
        xorl    0x200(%ebp,%ecx),%esi
 
657
        movb    %dh,            %cl
 
658
        shrl    $16,            %eax
 
659
        xorl    0x100(%ebp,%ebx),%esi
 
660
        movb    %ah,            %bl
 
661
        shrl    $16,            %edx
 
662
        xorl    0x300(%ebp,%ecx),%esi
 
663
        movb    %dh,            %cl
 
664
        andl    $0xff,          %eax
 
665
        andl    $0xff,          %edx
 
666
        xorl    0x600(%ebp,%ebx),%esi
 
667
        xorl    0x700(%ebp,%ecx),%esi
 
668
        movl    24(%esp),       %ecx
 
669
        xorl    0x400(%ebp,%eax),%esi
 
670
        xorl    0x500(%ebp,%edx),%esi
 
671
 
 
672
 
 
673
        movl    88(%ecx),       %eax
 
674
        xorl    %ebx,           %ebx
 
675
        movl    92(%ecx),       %edx
 
676
        xorl    %esi,           %eax
 
677
        xorl    %ecx,           %ecx
 
678
        xorl    %esi,           %edx
 
679
        andl    $0xfcfcfcfc,    %eax
 
680
        andl    $0xcfcfcfcf,    %edx
 
681
        movb    %al,            %bl
 
682
        movb    %ah,            %cl
 
683
        rorl    $4,             %edx
 
684
        xorl         (%ebp,%ebx),%edi
 
685
        movb    %dl,            %bl
 
686
        xorl    0x200(%ebp,%ecx),%edi
 
687
        movb    %dh,            %cl
 
688
        shrl    $16,            %eax
 
689
        xorl    0x100(%ebp,%ebx),%edi
 
690
        movb    %ah,            %bl
 
691
        shrl    $16,            %edx
 
692
        xorl    0x300(%ebp,%ecx),%edi
 
693
        movb    %dh,            %cl
 
694
        andl    $0xff,          %eax
 
695
        andl    $0xff,          %edx
 
696
        xorl    0x600(%ebp,%ebx),%edi
 
697
        xorl    0x700(%ebp,%ecx),%edi
 
698
        movl    24(%esp),       %ecx
 
699
        xorl    0x400(%ebp,%eax),%edi
 
700
        xorl    0x500(%ebp,%edx),%edi
 
701
 
 
702
 
 
703
        movl    80(%ecx),       %eax
 
704
        xorl    %ebx,           %ebx
 
705
        movl    84(%ecx),       %edx
 
706
        xorl    %edi,           %eax
 
707
        xorl    %ecx,           %ecx
 
708
        xorl    %edi,           %edx
 
709
        andl    $0xfcfcfcfc,    %eax
 
710
        andl    $0xcfcfcfcf,    %edx
 
711
        movb    %al,            %bl
 
712
        movb    %ah,            %cl
 
713
        rorl    $4,             %edx
 
714
        xorl         (%ebp,%ebx),%esi
 
715
        movb    %dl,            %bl
 
716
        xorl    0x200(%ebp,%ecx),%esi
 
717
        movb    %dh,            %cl
 
718
        shrl    $16,            %eax
 
719
        xorl    0x100(%ebp,%ebx),%esi
 
720
        movb    %ah,            %bl
 
721
        shrl    $16,            %edx
 
722
        xorl    0x300(%ebp,%ecx),%esi
 
723
        movb    %dh,            %cl
 
724
        andl    $0xff,          %eax
 
725
        andl    $0xff,          %edx
 
726
        xorl    0x600(%ebp,%ebx),%esi
 
727
        xorl    0x700(%ebp,%ecx),%esi
 
728
        movl    24(%esp),       %ecx
 
729
        xorl    0x400(%ebp,%eax),%esi
 
730
        xorl    0x500(%ebp,%edx),%esi
 
731
 
 
732
 
 
733
        movl    72(%ecx),       %eax
 
734
        xorl    %ebx,           %ebx
 
735
        movl    76(%ecx),       %edx
 
736
        xorl    %esi,           %eax
 
737
        xorl    %ecx,           %ecx
 
738
        xorl    %esi,           %edx
 
739
        andl    $0xfcfcfcfc,    %eax
 
740
        andl    $0xcfcfcfcf,    %edx
 
741
        movb    %al,            %bl
 
742
        movb    %ah,            %cl
 
743
        rorl    $4,             %edx
 
744
        xorl         (%ebp,%ebx),%edi
 
745
        movb    %dl,            %bl
 
746
        xorl    0x200(%ebp,%ecx),%edi
 
747
        movb    %dh,            %cl
 
748
        shrl    $16,            %eax
 
749
        xorl    0x100(%ebp,%ebx),%edi
 
750
        movb    %ah,            %bl
 
751
        shrl    $16,            %edx
 
752
        xorl    0x300(%ebp,%ecx),%edi
 
753
        movb    %dh,            %cl
 
754
        andl    $0xff,          %eax
 
755
        andl    $0xff,          %edx
 
756
        xorl    0x600(%ebp,%ebx),%edi
 
757
        xorl    0x700(%ebp,%ecx),%edi
 
758
        movl    24(%esp),       %ecx
 
759
        xorl    0x400(%ebp,%eax),%edi
 
760
        xorl    0x500(%ebp,%edx),%edi
 
761
 
 
762
 
 
763
        movl    64(%ecx),       %eax
 
764
        xorl    %ebx,           %ebx
 
765
        movl    68(%ecx),       %edx
 
766
        xorl    %edi,           %eax
 
767
        xorl    %ecx,           %ecx
 
768
        xorl    %edi,           %edx
 
769
        andl    $0xfcfcfcfc,    %eax
 
770
        andl    $0xcfcfcfcf,    %edx
 
771
        movb    %al,            %bl
 
772
        movb    %ah,            %cl
 
773
        rorl    $4,             %edx
 
774
        xorl         (%ebp,%ebx),%esi
 
775
        movb    %dl,            %bl
 
776
        xorl    0x200(%ebp,%ecx),%esi
 
777
        movb    %dh,            %cl
 
778
        shrl    $16,            %eax
 
779
        xorl    0x100(%ebp,%ebx),%esi
 
780
        movb    %ah,            %bl
 
781
        shrl    $16,            %edx
 
782
        xorl    0x300(%ebp,%ecx),%esi
 
783
        movb    %dh,            %cl
 
784
        andl    $0xff,          %eax
 
785
        andl    $0xff,          %edx
 
786
        xorl    0x600(%ebp,%ebx),%esi
 
787
        xorl    0x700(%ebp,%ecx),%esi
 
788
        movl    24(%esp),       %ecx
 
789
        xorl    0x400(%ebp,%eax),%esi
 
790
        xorl    0x500(%ebp,%edx),%esi
 
791
 
 
792
 
 
793
        movl    56(%ecx),       %eax
 
794
        xorl    %ebx,           %ebx
 
795
        movl    60(%ecx),       %edx
 
796
        xorl    %esi,           %eax
 
797
        xorl    %ecx,           %ecx
 
798
        xorl    %esi,           %edx
 
799
        andl    $0xfcfcfcfc,    %eax
 
800
        andl    $0xcfcfcfcf,    %edx
 
801
        movb    %al,            %bl
 
802
        movb    %ah,            %cl
 
803
        rorl    $4,             %edx
 
804
        xorl         (%ebp,%ebx),%edi
 
805
        movb    %dl,            %bl
 
806
        xorl    0x200(%ebp,%ecx),%edi
 
807
        movb    %dh,            %cl
 
808
        shrl    $16,            %eax
 
809
        xorl    0x100(%ebp,%ebx),%edi
 
810
        movb    %ah,            %bl
 
811
        shrl    $16,            %edx
 
812
        xorl    0x300(%ebp,%ecx),%edi
 
813
        movb    %dh,            %cl
 
814
        andl    $0xff,          %eax
 
815
        andl    $0xff,          %edx
 
816
        xorl    0x600(%ebp,%ebx),%edi
 
817
        xorl    0x700(%ebp,%ecx),%edi
 
818
        movl    24(%esp),       %ecx
 
819
        xorl    0x400(%ebp,%eax),%edi
 
820
        xorl    0x500(%ebp,%edx),%edi
 
821
 
 
822
 
 
823
        movl    48(%ecx),       %eax
 
824
        xorl    %ebx,           %ebx
 
825
        movl    52(%ecx),       %edx
 
826
        xorl    %edi,           %eax
 
827
        xorl    %ecx,           %ecx
 
828
        xorl    %edi,           %edx
 
829
        andl    $0xfcfcfcfc,    %eax
 
830
        andl    $0xcfcfcfcf,    %edx
 
831
        movb    %al,            %bl
 
832
        movb    %ah,            %cl
 
833
        rorl    $4,             %edx
 
834
        xorl         (%ebp,%ebx),%esi
 
835
        movb    %dl,            %bl
 
836
        xorl    0x200(%ebp,%ecx),%esi
 
837
        movb    %dh,            %cl
 
838
        shrl    $16,            %eax
 
839
        xorl    0x100(%ebp,%ebx),%esi
 
840
        movb    %ah,            %bl
 
841
        shrl    $16,            %edx
 
842
        xorl    0x300(%ebp,%ecx),%esi
 
843
        movb    %dh,            %cl
 
844
        andl    $0xff,          %eax
 
845
        andl    $0xff,          %edx
 
846
        xorl    0x600(%ebp,%ebx),%esi
 
847
        xorl    0x700(%ebp,%ecx),%esi
 
848
        movl    24(%esp),       %ecx
 
849
        xorl    0x400(%ebp,%eax),%esi
 
850
        xorl    0x500(%ebp,%edx),%esi
 
851
 
 
852
 
 
853
        movl    40(%ecx),       %eax
 
854
        xorl    %ebx,           %ebx
 
855
        movl    44(%ecx),       %edx
 
856
        xorl    %esi,           %eax
 
857
        xorl    %ecx,           %ecx
 
858
        xorl    %esi,           %edx
 
859
        andl    $0xfcfcfcfc,    %eax
 
860
        andl    $0xcfcfcfcf,    %edx
 
861
        movb    %al,            %bl
 
862
        movb    %ah,            %cl
 
863
        rorl    $4,             %edx
 
864
        xorl         (%ebp,%ebx),%edi
 
865
        movb    %dl,            %bl
 
866
        xorl    0x200(%ebp,%ecx),%edi
 
867
        movb    %dh,            %cl
 
868
        shrl    $16,            %eax
 
869
        xorl    0x100(%ebp,%ebx),%edi
 
870
        movb    %ah,            %bl
 
871
        shrl    $16,            %edx
 
872
        xorl    0x300(%ebp,%ecx),%edi
 
873
        movb    %dh,            %cl
 
874
        andl    $0xff,          %eax
 
875
        andl    $0xff,          %edx
 
876
        xorl    0x600(%ebp,%ebx),%edi
 
877
        xorl    0x700(%ebp,%ecx),%edi
 
878
        movl    24(%esp),       %ecx
 
879
        xorl    0x400(%ebp,%eax),%edi
 
880
        xorl    0x500(%ebp,%edx),%edi
 
881
 
 
882
 
 
883
        movl    32(%ecx),       %eax
 
884
        xorl    %ebx,           %ebx
 
885
        movl    36(%ecx),       %edx
 
886
        xorl    %edi,           %eax
 
887
        xorl    %ecx,           %ecx
 
888
        xorl    %edi,           %edx
 
889
        andl    $0xfcfcfcfc,    %eax
 
890
        andl    $0xcfcfcfcf,    %edx
 
891
        movb    %al,            %bl
 
892
        movb    %ah,            %cl
 
893
        rorl    $4,             %edx
 
894
        xorl         (%ebp,%ebx),%esi
 
895
        movb    %dl,            %bl
 
896
        xorl    0x200(%ebp,%ecx),%esi
 
897
        movb    %dh,            %cl
 
898
        shrl    $16,            %eax
 
899
        xorl    0x100(%ebp,%ebx),%esi
 
900
        movb    %ah,            %bl
 
901
        shrl    $16,            %edx
 
902
        xorl    0x300(%ebp,%ecx),%esi
 
903
        movb    %dh,            %cl
 
904
        andl    $0xff,          %eax
 
905
        andl    $0xff,          %edx
 
906
        xorl    0x600(%ebp,%ebx),%esi
 
907
        xorl    0x700(%ebp,%ecx),%esi
 
908
        movl    24(%esp),       %ecx
 
909
        xorl    0x400(%ebp,%eax),%esi
 
910
        xorl    0x500(%ebp,%edx),%esi
 
911
 
 
912
 
 
913
        movl    24(%ecx),       %eax
 
914
        xorl    %ebx,           %ebx
 
915
        movl    28(%ecx),       %edx
 
916
        xorl    %esi,           %eax
 
917
        xorl    %ecx,           %ecx
 
918
        xorl    %esi,           %edx
 
919
        andl    $0xfcfcfcfc,    %eax
 
920
        andl    $0xcfcfcfcf,    %edx
 
921
        movb    %al,            %bl
 
922
        movb    %ah,            %cl
 
923
        rorl    $4,             %edx
 
924
        xorl         (%ebp,%ebx),%edi
 
925
        movb    %dl,            %bl
 
926
        xorl    0x200(%ebp,%ecx),%edi
 
927
        movb    %dh,            %cl
 
928
        shrl    $16,            %eax
 
929
        xorl    0x100(%ebp,%ebx),%edi
 
930
        movb    %ah,            %bl
 
931
        shrl    $16,            %edx
 
932
        xorl    0x300(%ebp,%ecx),%edi
 
933
        movb    %dh,            %cl
 
934
        andl    $0xff,          %eax
 
935
        andl    $0xff,          %edx
 
936
        xorl    0x600(%ebp,%ebx),%edi
 
937
        xorl    0x700(%ebp,%ecx),%edi
 
938
        movl    24(%esp),       %ecx
 
939
        xorl    0x400(%ebp,%eax),%edi
 
940
        xorl    0x500(%ebp,%edx),%edi
 
941
 
 
942
 
 
943
        movl    16(%ecx),       %eax
 
944
        xorl    %ebx,           %ebx
 
945
        movl    20(%ecx),       %edx
 
946
        xorl    %edi,           %eax
 
947
        xorl    %ecx,           %ecx
 
948
        xorl    %edi,           %edx
 
949
        andl    $0xfcfcfcfc,    %eax
 
950
        andl    $0xcfcfcfcf,    %edx
 
951
        movb    %al,            %bl
 
952
        movb    %ah,            %cl
 
953
        rorl    $4,             %edx
 
954
        xorl         (%ebp,%ebx),%esi
 
955
        movb    %dl,            %bl
 
956
        xorl    0x200(%ebp,%ecx),%esi
 
957
        movb    %dh,            %cl
 
958
        shrl    $16,            %eax
 
959
        xorl    0x100(%ebp,%ebx),%esi
 
960
        movb    %ah,            %bl
 
961
        shrl    $16,            %edx
 
962
        xorl    0x300(%ebp,%ecx),%esi
 
963
        movb    %dh,            %cl
 
964
        andl    $0xff,          %eax
 
965
        andl    $0xff,          %edx
 
966
        xorl    0x600(%ebp,%ebx),%esi
 
967
        xorl    0x700(%ebp,%ecx),%esi
 
968
        movl    24(%esp),       %ecx
 
969
        xorl    0x400(%ebp,%eax),%esi
 
970
        xorl    0x500(%ebp,%edx),%esi
 
971
 
 
972
 
 
973
        movl    8(%ecx),        %eax
 
974
        xorl    %ebx,           %ebx
 
975
        movl    12(%ecx),       %edx
 
976
        xorl    %esi,           %eax
 
977
        xorl    %ecx,           %ecx
 
978
        xorl    %esi,           %edx
 
979
        andl    $0xfcfcfcfc,    %eax
 
980
        andl    $0xcfcfcfcf,    %edx
 
981
        movb    %al,            %bl
 
982
        movb    %ah,            %cl
 
983
        rorl    $4,             %edx
 
984
        xorl         (%ebp,%ebx),%edi
 
985
        movb    %dl,            %bl
 
986
        xorl    0x200(%ebp,%ecx),%edi
 
987
        movb    %dh,            %cl
 
988
        shrl    $16,            %eax
 
989
        xorl    0x100(%ebp,%ebx),%edi
 
990
        movb    %ah,            %bl
 
991
        shrl    $16,            %edx
 
992
        xorl    0x300(%ebp,%ecx),%edi
 
993
        movb    %dh,            %cl
 
994
        andl    $0xff,          %eax
 
995
        andl    $0xff,          %edx
 
996
        xorl    0x600(%ebp,%ebx),%edi
 
997
        xorl    0x700(%ebp,%ecx),%edi
 
998
        movl    24(%esp),       %ecx
 
999
        xorl    0x400(%ebp,%eax),%edi
 
1000
        xorl    0x500(%ebp,%edx),%edi
 
1001
 
 
1002
 
 
1003
        movl    (%ecx),         %eax
 
1004
        xorl    %ebx,           %ebx
 
1005
        movl    4(%ecx),        %edx
 
1006
        xorl    %edi,           %eax
 
1007
        xorl    %ecx,           %ecx
 
1008
        xorl    %edi,           %edx
 
1009
        andl    $0xfcfcfcfc,    %eax
 
1010
        andl    $0xcfcfcfcf,    %edx
 
1011
        movb    %al,            %bl
 
1012
        movb    %ah,            %cl
 
1013
        rorl    $4,             %edx
 
1014
        xorl         (%ebp,%ebx),%esi
 
1015
        movb    %dl,            %bl
 
1016
        xorl    0x200(%ebp,%ecx),%esi
 
1017
        movb    %dh,            %cl
 
1018
        shrl    $16,            %eax
 
1019
        xorl    0x100(%ebp,%ebx),%esi
 
1020
        movb    %ah,            %bl
 
1021
        shrl    $16,            %edx
 
1022
        xorl    0x300(%ebp,%ecx),%esi
 
1023
        movb    %dh,            %cl
 
1024
        andl    $0xff,          %eax
 
1025
        andl    $0xff,          %edx
 
1026
        xorl    0x600(%ebp,%ebx),%esi
 
1027
        xorl    0x700(%ebp,%ecx),%esi
 
1028
        movl    24(%esp),       %ecx
 
1029
        xorl    0x400(%ebp,%eax),%esi
 
1030
        xorl    0x500(%ebp,%edx),%esi
 
1031
.L001end:
 
1032
 
 
1033
 
 
1034
        movl    20(%esp),       %edx
 
1035
.byte 209
 
1036
.byte 206       
 
1037
        movl    %edi,           %eax
 
1038
        xorl    %esi,           %edi
 
1039
        andl    $0xaaaaaaaa,    %edi
 
1040
        xorl    %edi,           %eax
 
1041
        xorl    %edi,           %esi
 
1042
 
 
1043
        roll    $23,            %eax
 
1044
        movl    %eax,           %edi
 
1045
        xorl    %esi,           %eax
 
1046
        andl    $0x03fc03fc,    %eax
 
1047
        xorl    %eax,           %edi
 
1048
        xorl    %eax,           %esi
 
1049
 
 
1050
        roll    $10,            %edi
 
1051
        movl    %edi,           %eax
 
1052
        xorl    %esi,           %edi
 
1053
        andl    $0x33333333,    %edi
 
1054
        xorl    %edi,           %eax
 
1055
        xorl    %edi,           %esi
 
1056
 
 
1057
        roll    $18,            %esi
 
1058
        movl    %esi,           %edi
 
1059
        xorl    %eax,           %esi
 
1060
        andl    $0xfff0000f,    %esi
 
1061
        xorl    %esi,           %edi
 
1062
        xorl    %esi,           %eax
 
1063
 
 
1064
        roll    $12,            %edi
 
1065
        movl    %edi,           %esi
 
1066
        xorl    %eax,           %edi
 
1067
        andl    $0xf0f0f0f0,    %edi
 
1068
        xorl    %edi,           %esi
 
1069
        xorl    %edi,           %eax
 
1070
 
 
1071
        rorl    $4,             %eax
 
1072
        movl    %eax,           (%edx)
 
1073
        movl    %esi,           4(%edx)
 
1074
        popl    %ebp
 
1075
        popl    %ebx
 
1076
        popl    %edi
 
1077
        popl    %esi
 
1078
        ret
 
1079
.L_DES_encrypt1_end:
 
1080
        .size   DES_encrypt1,.L_DES_encrypt1_end-DES_encrypt1
 
1081
.ident  "desasm.pl"
 
1082
.text
 
1083
        .align 16
 
1084
.globl DES_encrypt2
 
1085
        .type   DES_encrypt2,@function
 
1086
DES_encrypt2:
 
1087
        pushl   %esi
 
1088
        pushl   %edi
 
1089
 
 
1090
 
 
1091
        movl    12(%esp),       %eax
 
1092
        xorl    %ecx,           %ecx
 
1093
        pushl   %ebx
 
1094
        pushl   %ebp
 
1095
        movl    (%eax),         %esi
 
1096
        movl    28(%esp),       %ebx
 
1097
        roll    $3,             %esi
 
1098
        movl    4(%eax),        %edi
 
1099
        roll    $3,             %edi
 
1100
        leal    DES_SPtrans,    %ebp
 
1101
        movl    24(%esp),       %ecx
 
1102
        cmpl    $0,             %ebx
 
1103
        je      .L002start_decrypt
 
1104
 
 
1105
 
 
1106
        movl    (%ecx),         %eax
 
1107
        xorl    %ebx,           %ebx
 
1108
        movl    4(%ecx),        %edx
 
1109
        xorl    %esi,           %eax
 
1110
        xorl    %ecx,           %ecx
 
1111
        xorl    %esi,           %edx
 
1112
        andl    $0xfcfcfcfc,    %eax
 
1113
        andl    $0xcfcfcfcf,    %edx
 
1114
        movb    %al,            %bl
 
1115
        movb    %ah,            %cl
 
1116
        rorl    $4,             %edx
 
1117
        xorl         (%ebp,%ebx),%edi
 
1118
        movb    %dl,            %bl
 
1119
        xorl    0x200(%ebp,%ecx),%edi
 
1120
        movb    %dh,            %cl
 
1121
        shrl    $16,            %eax
 
1122
        xorl    0x100(%ebp,%ebx),%edi
 
1123
        movb    %ah,            %bl
 
1124
        shrl    $16,            %edx
 
1125
        xorl    0x300(%ebp,%ecx),%edi
 
1126
        movb    %dh,            %cl
 
1127
        andl    $0xff,          %eax
 
1128
        andl    $0xff,          %edx
 
1129
        xorl    0x600(%ebp,%ebx),%edi
 
1130
        xorl    0x700(%ebp,%ecx),%edi
 
1131
        movl    24(%esp),       %ecx
 
1132
        xorl    0x400(%ebp,%eax),%edi
 
1133
        xorl    0x500(%ebp,%edx),%edi
 
1134
 
 
1135
 
 
1136
        movl    8(%ecx),        %eax
 
1137
        xorl    %ebx,           %ebx
 
1138
        movl    12(%ecx),       %edx
 
1139
        xorl    %edi,           %eax
 
1140
        xorl    %ecx,           %ecx
 
1141
        xorl    %edi,           %edx
 
1142
        andl    $0xfcfcfcfc,    %eax
 
1143
        andl    $0xcfcfcfcf,    %edx
 
1144
        movb    %al,            %bl
 
1145
        movb    %ah,            %cl
 
1146
        rorl    $4,             %edx
 
1147
        xorl         (%ebp,%ebx),%esi
 
1148
        movb    %dl,            %bl
 
1149
        xorl    0x200(%ebp,%ecx),%esi
 
1150
        movb    %dh,            %cl
 
1151
        shrl    $16,            %eax
 
1152
        xorl    0x100(%ebp,%ebx),%esi
 
1153
        movb    %ah,            %bl
 
1154
        shrl    $16,            %edx
 
1155
        xorl    0x300(%ebp,%ecx),%esi
 
1156
        movb    %dh,            %cl
 
1157
        andl    $0xff,          %eax
 
1158
        andl    $0xff,          %edx
 
1159
        xorl    0x600(%ebp,%ebx),%esi
 
1160
        xorl    0x700(%ebp,%ecx),%esi
 
1161
        movl    24(%esp),       %ecx
 
1162
        xorl    0x400(%ebp,%eax),%esi
 
1163
        xorl    0x500(%ebp,%edx),%esi
 
1164
 
 
1165
 
 
1166
        movl    16(%ecx),       %eax
 
1167
        xorl    %ebx,           %ebx
 
1168
        movl    20(%ecx),       %edx
 
1169
        xorl    %esi,           %eax
 
1170
        xorl    %ecx,           %ecx
 
1171
        xorl    %esi,           %edx
 
1172
        andl    $0xfcfcfcfc,    %eax
 
1173
        andl    $0xcfcfcfcf,    %edx
 
1174
        movb    %al,            %bl
 
1175
        movb    %ah,            %cl
 
1176
        rorl    $4,             %edx
 
1177
        xorl         (%ebp,%ebx),%edi
 
1178
        movb    %dl,            %bl
 
1179
        xorl    0x200(%ebp,%ecx),%edi
 
1180
        movb    %dh,            %cl
 
1181
        shrl    $16,            %eax
 
1182
        xorl    0x100(%ebp,%ebx),%edi
 
1183
        movb    %ah,            %bl
 
1184
        shrl    $16,            %edx
 
1185
        xorl    0x300(%ebp,%ecx),%edi
 
1186
        movb    %dh,            %cl
 
1187
        andl    $0xff,          %eax
 
1188
        andl    $0xff,          %edx
 
1189
        xorl    0x600(%ebp,%ebx),%edi
 
1190
        xorl    0x700(%ebp,%ecx),%edi
 
1191
        movl    24(%esp),       %ecx
 
1192
        xorl    0x400(%ebp,%eax),%edi
 
1193
        xorl    0x500(%ebp,%edx),%edi
 
1194
 
 
1195
 
 
1196
        movl    24(%ecx),       %eax
 
1197
        xorl    %ebx,           %ebx
 
1198
        movl    28(%ecx),       %edx
 
1199
        xorl    %edi,           %eax
 
1200
        xorl    %ecx,           %ecx
 
1201
        xorl    %edi,           %edx
 
1202
        andl    $0xfcfcfcfc,    %eax
 
1203
        andl    $0xcfcfcfcf,    %edx
 
1204
        movb    %al,            %bl
 
1205
        movb    %ah,            %cl
 
1206
        rorl    $4,             %edx
 
1207
        xorl         (%ebp,%ebx),%esi
 
1208
        movb    %dl,            %bl
 
1209
        xorl    0x200(%ebp,%ecx),%esi
 
1210
        movb    %dh,            %cl
 
1211
        shrl    $16,            %eax
 
1212
        xorl    0x100(%ebp,%ebx),%esi
 
1213
        movb    %ah,            %bl
 
1214
        shrl    $16,            %edx
 
1215
        xorl    0x300(%ebp,%ecx),%esi
 
1216
        movb    %dh,            %cl
 
1217
        andl    $0xff,          %eax
 
1218
        andl    $0xff,          %edx
 
1219
        xorl    0x600(%ebp,%ebx),%esi
 
1220
        xorl    0x700(%ebp,%ecx),%esi
 
1221
        movl    24(%esp),       %ecx
 
1222
        xorl    0x400(%ebp,%eax),%esi
 
1223
        xorl    0x500(%ebp,%edx),%esi
 
1224
 
 
1225
 
 
1226
        movl    32(%ecx),       %eax
 
1227
        xorl    %ebx,           %ebx
 
1228
        movl    36(%ecx),       %edx
 
1229
        xorl    %esi,           %eax
 
1230
        xorl    %ecx,           %ecx
 
1231
        xorl    %esi,           %edx
 
1232
        andl    $0xfcfcfcfc,    %eax
 
1233
        andl    $0xcfcfcfcf,    %edx
 
1234
        movb    %al,            %bl
 
1235
        movb    %ah,            %cl
 
1236
        rorl    $4,             %edx
 
1237
        xorl         (%ebp,%ebx),%edi
 
1238
        movb    %dl,            %bl
 
1239
        xorl    0x200(%ebp,%ecx),%edi
 
1240
        movb    %dh,            %cl
 
1241
        shrl    $16,            %eax
 
1242
        xorl    0x100(%ebp,%ebx),%edi
 
1243
        movb    %ah,            %bl
 
1244
        shrl    $16,            %edx
 
1245
        xorl    0x300(%ebp,%ecx),%edi
 
1246
        movb    %dh,            %cl
 
1247
        andl    $0xff,          %eax
 
1248
        andl    $0xff,          %edx
 
1249
        xorl    0x600(%ebp,%ebx),%edi
 
1250
        xorl    0x700(%ebp,%ecx),%edi
 
1251
        movl    24(%esp),       %ecx
 
1252
        xorl    0x400(%ebp,%eax),%edi
 
1253
        xorl    0x500(%ebp,%edx),%edi
 
1254
 
 
1255
 
 
1256
        movl    40(%ecx),       %eax
 
1257
        xorl    %ebx,           %ebx
 
1258
        movl    44(%ecx),       %edx
 
1259
        xorl    %edi,           %eax
 
1260
        xorl    %ecx,           %ecx
 
1261
        xorl    %edi,           %edx
 
1262
        andl    $0xfcfcfcfc,    %eax
 
1263
        andl    $0xcfcfcfcf,    %edx
 
1264
        movb    %al,            %bl
 
1265
        movb    %ah,            %cl
 
1266
        rorl    $4,             %edx
 
1267
        xorl         (%ebp,%ebx),%esi
 
1268
        movb    %dl,            %bl
 
1269
        xorl    0x200(%ebp,%ecx),%esi
 
1270
        movb    %dh,            %cl
 
1271
        shrl    $16,            %eax
 
1272
        xorl    0x100(%ebp,%ebx),%esi
 
1273
        movb    %ah,            %bl
 
1274
        shrl    $16,            %edx
 
1275
        xorl    0x300(%ebp,%ecx),%esi
 
1276
        movb    %dh,            %cl
 
1277
        andl    $0xff,          %eax
 
1278
        andl    $0xff,          %edx
 
1279
        xorl    0x600(%ebp,%ebx),%esi
 
1280
        xorl    0x700(%ebp,%ecx),%esi
 
1281
        movl    24(%esp),       %ecx
 
1282
        xorl    0x400(%ebp,%eax),%esi
 
1283
        xorl    0x500(%ebp,%edx),%esi
 
1284
 
 
1285
 
 
1286
        movl    48(%ecx),       %eax
 
1287
        xorl    %ebx,           %ebx
 
1288
        movl    52(%ecx),       %edx
 
1289
        xorl    %esi,           %eax
 
1290
        xorl    %ecx,           %ecx
 
1291
        xorl    %esi,           %edx
 
1292
        andl    $0xfcfcfcfc,    %eax
 
1293
        andl    $0xcfcfcfcf,    %edx
 
1294
        movb    %al,            %bl
 
1295
        movb    %ah,            %cl
 
1296
        rorl    $4,             %edx
 
1297
        xorl         (%ebp,%ebx),%edi
 
1298
        movb    %dl,            %bl
 
1299
        xorl    0x200(%ebp,%ecx),%edi
 
1300
        movb    %dh,            %cl
 
1301
        shrl    $16,            %eax
 
1302
        xorl    0x100(%ebp,%ebx),%edi
 
1303
        movb    %ah,            %bl
 
1304
        shrl    $16,            %edx
 
1305
        xorl    0x300(%ebp,%ecx),%edi
 
1306
        movb    %dh,            %cl
 
1307
        andl    $0xff,          %eax
 
1308
        andl    $0xff,          %edx
 
1309
        xorl    0x600(%ebp,%ebx),%edi
 
1310
        xorl    0x700(%ebp,%ecx),%edi
 
1311
        movl    24(%esp),       %ecx
 
1312
        xorl    0x400(%ebp,%eax),%edi
 
1313
        xorl    0x500(%ebp,%edx),%edi
 
1314
 
 
1315
 
 
1316
        movl    56(%ecx),       %eax
 
1317
        xorl    %ebx,           %ebx
 
1318
        movl    60(%ecx),       %edx
 
1319
        xorl    %edi,           %eax
 
1320
        xorl    %ecx,           %ecx
 
1321
        xorl    %edi,           %edx
 
1322
        andl    $0xfcfcfcfc,    %eax
 
1323
        andl    $0xcfcfcfcf,    %edx
 
1324
        movb    %al,            %bl
 
1325
        movb    %ah,            %cl
 
1326
        rorl    $4,             %edx
 
1327
        xorl         (%ebp,%ebx),%esi
 
1328
        movb    %dl,            %bl
 
1329
        xorl    0x200(%ebp,%ecx),%esi
 
1330
        movb    %dh,            %cl
 
1331
        shrl    $16,            %eax
 
1332
        xorl    0x100(%ebp,%ebx),%esi
 
1333
        movb    %ah,            %bl
 
1334
        shrl    $16,            %edx
 
1335
        xorl    0x300(%ebp,%ecx),%esi
 
1336
        movb    %dh,            %cl
 
1337
        andl    $0xff,          %eax
 
1338
        andl    $0xff,          %edx
 
1339
        xorl    0x600(%ebp,%ebx),%esi
 
1340
        xorl    0x700(%ebp,%ecx),%esi
 
1341
        movl    24(%esp),       %ecx
 
1342
        xorl    0x400(%ebp,%eax),%esi
 
1343
        xorl    0x500(%ebp,%edx),%esi
 
1344
 
 
1345
 
 
1346
        movl    64(%ecx),       %eax
 
1347
        xorl    %ebx,           %ebx
 
1348
        movl    68(%ecx),       %edx
 
1349
        xorl    %esi,           %eax
 
1350
        xorl    %ecx,           %ecx
 
1351
        xorl    %esi,           %edx
 
1352
        andl    $0xfcfcfcfc,    %eax
 
1353
        andl    $0xcfcfcfcf,    %edx
 
1354
        movb    %al,            %bl
 
1355
        movb    %ah,            %cl
 
1356
        rorl    $4,             %edx
 
1357
        xorl         (%ebp,%ebx),%edi
 
1358
        movb    %dl,            %bl
 
1359
        xorl    0x200(%ebp,%ecx),%edi
 
1360
        movb    %dh,            %cl
 
1361
        shrl    $16,            %eax
 
1362
        xorl    0x100(%ebp,%ebx),%edi
 
1363
        movb    %ah,            %bl
 
1364
        shrl    $16,            %edx
 
1365
        xorl    0x300(%ebp,%ecx),%edi
 
1366
        movb    %dh,            %cl
 
1367
        andl    $0xff,          %eax
 
1368
        andl    $0xff,          %edx
 
1369
        xorl    0x600(%ebp,%ebx),%edi
 
1370
        xorl    0x700(%ebp,%ecx),%edi
 
1371
        movl    24(%esp),       %ecx
 
1372
        xorl    0x400(%ebp,%eax),%edi
 
1373
        xorl    0x500(%ebp,%edx),%edi
 
1374
 
 
1375
 
 
1376
        movl    72(%ecx),       %eax
 
1377
        xorl    %ebx,           %ebx
 
1378
        movl    76(%ecx),       %edx
 
1379
        xorl    %edi,           %eax
 
1380
        xorl    %ecx,           %ecx
 
1381
        xorl    %edi,           %edx
 
1382
        andl    $0xfcfcfcfc,    %eax
 
1383
        andl    $0xcfcfcfcf,    %edx
 
1384
        movb    %al,            %bl
 
1385
        movb    %ah,            %cl
 
1386
        rorl    $4,             %edx
 
1387
        xorl         (%ebp,%ebx),%esi
 
1388
        movb    %dl,            %bl
 
1389
        xorl    0x200(%ebp,%ecx),%esi
 
1390
        movb    %dh,            %cl
 
1391
        shrl    $16,            %eax
 
1392
        xorl    0x100(%ebp,%ebx),%esi
 
1393
        movb    %ah,            %bl
 
1394
        shrl    $16,            %edx
 
1395
        xorl    0x300(%ebp,%ecx),%esi
 
1396
        movb    %dh,            %cl
 
1397
        andl    $0xff,          %eax
 
1398
        andl    $0xff,          %edx
 
1399
        xorl    0x600(%ebp,%ebx),%esi
 
1400
        xorl    0x700(%ebp,%ecx),%esi
 
1401
        movl    24(%esp),       %ecx
 
1402
        xorl    0x400(%ebp,%eax),%esi
 
1403
        xorl    0x500(%ebp,%edx),%esi
 
1404
 
 
1405
 
 
1406
        movl    80(%ecx),       %eax
 
1407
        xorl    %ebx,           %ebx
 
1408
        movl    84(%ecx),       %edx
 
1409
        xorl    %esi,           %eax
 
1410
        xorl    %ecx,           %ecx
 
1411
        xorl    %esi,           %edx
 
1412
        andl    $0xfcfcfcfc,    %eax
 
1413
        andl    $0xcfcfcfcf,    %edx
 
1414
        movb    %al,            %bl
 
1415
        movb    %ah,            %cl
 
1416
        rorl    $4,             %edx
 
1417
        xorl         (%ebp,%ebx),%edi
 
1418
        movb    %dl,            %bl
 
1419
        xorl    0x200(%ebp,%ecx),%edi
 
1420
        movb    %dh,            %cl
 
1421
        shrl    $16,            %eax
 
1422
        xorl    0x100(%ebp,%ebx),%edi
 
1423
        movb    %ah,            %bl
 
1424
        shrl    $16,            %edx
 
1425
        xorl    0x300(%ebp,%ecx),%edi
 
1426
        movb    %dh,            %cl
 
1427
        andl    $0xff,          %eax
 
1428
        andl    $0xff,          %edx
 
1429
        xorl    0x600(%ebp,%ebx),%edi
 
1430
        xorl    0x700(%ebp,%ecx),%edi
 
1431
        movl    24(%esp),       %ecx
 
1432
        xorl    0x400(%ebp,%eax),%edi
 
1433
        xorl    0x500(%ebp,%edx),%edi
 
1434
 
 
1435
 
 
1436
        movl    88(%ecx),       %eax
 
1437
        xorl    %ebx,           %ebx
 
1438
        movl    92(%ecx),       %edx
 
1439
        xorl    %edi,           %eax
 
1440
        xorl    %ecx,           %ecx
 
1441
        xorl    %edi,           %edx
 
1442
        andl    $0xfcfcfcfc,    %eax
 
1443
        andl    $0xcfcfcfcf,    %edx
 
1444
        movb    %al,            %bl
 
1445
        movb    %ah,            %cl
 
1446
        rorl    $4,             %edx
 
1447
        xorl         (%ebp,%ebx),%esi
 
1448
        movb    %dl,            %bl
 
1449
        xorl    0x200(%ebp,%ecx),%esi
 
1450
        movb    %dh,            %cl
 
1451
        shrl    $16,            %eax
 
1452
        xorl    0x100(%ebp,%ebx),%esi
 
1453
        movb    %ah,            %bl
 
1454
        shrl    $16,            %edx
 
1455
        xorl    0x300(%ebp,%ecx),%esi
 
1456
        movb    %dh,            %cl
 
1457
        andl    $0xff,          %eax
 
1458
        andl    $0xff,          %edx
 
1459
        xorl    0x600(%ebp,%ebx),%esi
 
1460
        xorl    0x700(%ebp,%ecx),%esi
 
1461
        movl    24(%esp),       %ecx
 
1462
        xorl    0x400(%ebp,%eax),%esi
 
1463
        xorl    0x500(%ebp,%edx),%esi
 
1464
 
 
1465
 
 
1466
        movl    96(%ecx),       %eax
 
1467
        xorl    %ebx,           %ebx
 
1468
        movl    100(%ecx),      %edx
 
1469
        xorl    %esi,           %eax
 
1470
        xorl    %ecx,           %ecx
 
1471
        xorl    %esi,           %edx
 
1472
        andl    $0xfcfcfcfc,    %eax
 
1473
        andl    $0xcfcfcfcf,    %edx
 
1474
        movb    %al,            %bl
 
1475
        movb    %ah,            %cl
 
1476
        rorl    $4,             %edx
 
1477
        xorl         (%ebp,%ebx),%edi
 
1478
        movb    %dl,            %bl
 
1479
        xorl    0x200(%ebp,%ecx),%edi
 
1480
        movb    %dh,            %cl
 
1481
        shrl    $16,            %eax
 
1482
        xorl    0x100(%ebp,%ebx),%edi
 
1483
        movb    %ah,            %bl
 
1484
        shrl    $16,            %edx
 
1485
        xorl    0x300(%ebp,%ecx),%edi
 
1486
        movb    %dh,            %cl
 
1487
        andl    $0xff,          %eax
 
1488
        andl    $0xff,          %edx
 
1489
        xorl    0x600(%ebp,%ebx),%edi
 
1490
        xorl    0x700(%ebp,%ecx),%edi
 
1491
        movl    24(%esp),       %ecx
 
1492
        xorl    0x400(%ebp,%eax),%edi
 
1493
        xorl    0x500(%ebp,%edx),%edi
 
1494
 
 
1495
 
 
1496
        movl    104(%ecx),      %eax
 
1497
        xorl    %ebx,           %ebx
 
1498
        movl    108(%ecx),      %edx
 
1499
        xorl    %edi,           %eax
 
1500
        xorl    %ecx,           %ecx
 
1501
        xorl    %edi,           %edx
 
1502
        andl    $0xfcfcfcfc,    %eax
 
1503
        andl    $0xcfcfcfcf,    %edx
 
1504
        movb    %al,            %bl
 
1505
        movb    %ah,            %cl
 
1506
        rorl    $4,             %edx
 
1507
        xorl         (%ebp,%ebx),%esi
 
1508
        movb    %dl,            %bl
 
1509
        xorl    0x200(%ebp,%ecx),%esi
 
1510
        movb    %dh,            %cl
 
1511
        shrl    $16,            %eax
 
1512
        xorl    0x100(%ebp,%ebx),%esi
 
1513
        movb    %ah,            %bl
 
1514
        shrl    $16,            %edx
 
1515
        xorl    0x300(%ebp,%ecx),%esi
 
1516
        movb    %dh,            %cl
 
1517
        andl    $0xff,          %eax
 
1518
        andl    $0xff,          %edx
 
1519
        xorl    0x600(%ebp,%ebx),%esi
 
1520
        xorl    0x700(%ebp,%ecx),%esi
 
1521
        movl    24(%esp),       %ecx
 
1522
        xorl    0x400(%ebp,%eax),%esi
 
1523
        xorl    0x500(%ebp,%edx),%esi
 
1524
 
 
1525
 
 
1526
        movl    112(%ecx),      %eax
 
1527
        xorl    %ebx,           %ebx
 
1528
        movl    116(%ecx),      %edx
 
1529
        xorl    %esi,           %eax
 
1530
        xorl    %ecx,           %ecx
 
1531
        xorl    %esi,           %edx
 
1532
        andl    $0xfcfcfcfc,    %eax
 
1533
        andl    $0xcfcfcfcf,    %edx
 
1534
        movb    %al,            %bl
 
1535
        movb    %ah,            %cl
 
1536
        rorl    $4,             %edx
 
1537
        xorl         (%ebp,%ebx),%edi
 
1538
        movb    %dl,            %bl
 
1539
        xorl    0x200(%ebp,%ecx),%edi
 
1540
        movb    %dh,            %cl
 
1541
        shrl    $16,            %eax
 
1542
        xorl    0x100(%ebp,%ebx),%edi
 
1543
        movb    %ah,            %bl
 
1544
        shrl    $16,            %edx
 
1545
        xorl    0x300(%ebp,%ecx),%edi
 
1546
        movb    %dh,            %cl
 
1547
        andl    $0xff,          %eax
 
1548
        andl    $0xff,          %edx
 
1549
        xorl    0x600(%ebp,%ebx),%edi
 
1550
        xorl    0x700(%ebp,%ecx),%edi
 
1551
        movl    24(%esp),       %ecx
 
1552
        xorl    0x400(%ebp,%eax),%edi
 
1553
        xorl    0x500(%ebp,%edx),%edi
 
1554
 
 
1555
 
 
1556
        movl    120(%ecx),      %eax
 
1557
        xorl    %ebx,           %ebx
 
1558
        movl    124(%ecx),      %edx
 
1559
        xorl    %edi,           %eax
 
1560
        xorl    %ecx,           %ecx
 
1561
        xorl    %edi,           %edx
 
1562
        andl    $0xfcfcfcfc,    %eax
 
1563
        andl    $0xcfcfcfcf,    %edx
 
1564
        movb    %al,            %bl
 
1565
        movb    %ah,            %cl
 
1566
        rorl    $4,             %edx
 
1567
        xorl         (%ebp,%ebx),%esi
 
1568
        movb    %dl,            %bl
 
1569
        xorl    0x200(%ebp,%ecx),%esi
 
1570
        movb    %dh,            %cl
 
1571
        shrl    $16,            %eax
 
1572
        xorl    0x100(%ebp,%ebx),%esi
 
1573
        movb    %ah,            %bl
 
1574
        shrl    $16,            %edx
 
1575
        xorl    0x300(%ebp,%ecx),%esi
 
1576
        movb    %dh,            %cl
 
1577
        andl    $0xff,          %eax
 
1578
        andl    $0xff,          %edx
 
1579
        xorl    0x600(%ebp,%ebx),%esi
 
1580
        xorl    0x700(%ebp,%ecx),%esi
 
1581
        movl    24(%esp),       %ecx
 
1582
        xorl    0x400(%ebp,%eax),%esi
 
1583
        xorl    0x500(%ebp,%edx),%esi
 
1584
        jmp     .L003end
 
1585
.L002start_decrypt:
 
1586
 
 
1587
 
 
1588
        movl    120(%ecx),      %eax
 
1589
        xorl    %ebx,           %ebx
 
1590
        movl    124(%ecx),      %edx
 
1591
        xorl    %esi,           %eax
 
1592
        xorl    %ecx,           %ecx
 
1593
        xorl    %esi,           %edx
 
1594
        andl    $0xfcfcfcfc,    %eax
 
1595
        andl    $0xcfcfcfcf,    %edx
 
1596
        movb    %al,            %bl
 
1597
        movb    %ah,            %cl
 
1598
        rorl    $4,             %edx
 
1599
        xorl         (%ebp,%ebx),%edi
 
1600
        movb    %dl,            %bl
 
1601
        xorl    0x200(%ebp,%ecx),%edi
 
1602
        movb    %dh,            %cl
 
1603
        shrl    $16,            %eax
 
1604
        xorl    0x100(%ebp,%ebx),%edi
 
1605
        movb    %ah,            %bl
 
1606
        shrl    $16,            %edx
 
1607
        xorl    0x300(%ebp,%ecx),%edi
 
1608
        movb    %dh,            %cl
 
1609
        andl    $0xff,          %eax
 
1610
        andl    $0xff,          %edx
 
1611
        xorl    0x600(%ebp,%ebx),%edi
 
1612
        xorl    0x700(%ebp,%ecx),%edi
 
1613
        movl    24(%esp),       %ecx
 
1614
        xorl    0x400(%ebp,%eax),%edi
 
1615
        xorl    0x500(%ebp,%edx),%edi
 
1616
 
 
1617
 
 
1618
        movl    112(%ecx),      %eax
 
1619
        xorl    %ebx,           %ebx
 
1620
        movl    116(%ecx),      %edx
 
1621
        xorl    %edi,           %eax
 
1622
        xorl    %ecx,           %ecx
 
1623
        xorl    %edi,           %edx
 
1624
        andl    $0xfcfcfcfc,    %eax
 
1625
        andl    $0xcfcfcfcf,    %edx
 
1626
        movb    %al,            %bl
 
1627
        movb    %ah,            %cl
 
1628
        rorl    $4,             %edx
 
1629
        xorl         (%ebp,%ebx),%esi
 
1630
        movb    %dl,            %bl
 
1631
        xorl    0x200(%ebp,%ecx),%esi
 
1632
        movb    %dh,            %cl
 
1633
        shrl    $16,            %eax
 
1634
        xorl    0x100(%ebp,%ebx),%esi
 
1635
        movb    %ah,            %bl
 
1636
        shrl    $16,            %edx
 
1637
        xorl    0x300(%ebp,%ecx),%esi
 
1638
        movb    %dh,            %cl
 
1639
        andl    $0xff,          %eax
 
1640
        andl    $0xff,          %edx
 
1641
        xorl    0x600(%ebp,%ebx),%esi
 
1642
        xorl    0x700(%ebp,%ecx),%esi
 
1643
        movl    24(%esp),       %ecx
 
1644
        xorl    0x400(%ebp,%eax),%esi
 
1645
        xorl    0x500(%ebp,%edx),%esi
 
1646
 
 
1647
 
 
1648
        movl    104(%ecx),      %eax
 
1649
        xorl    %ebx,           %ebx
 
1650
        movl    108(%ecx),      %edx
 
1651
        xorl    %esi,           %eax
 
1652
        xorl    %ecx,           %ecx
 
1653
        xorl    %esi,           %edx
 
1654
        andl    $0xfcfcfcfc,    %eax
 
1655
        andl    $0xcfcfcfcf,    %edx
 
1656
        movb    %al,            %bl
 
1657
        movb    %ah,            %cl
 
1658
        rorl    $4,             %edx
 
1659
        xorl         (%ebp,%ebx),%edi
 
1660
        movb    %dl,            %bl
 
1661
        xorl    0x200(%ebp,%ecx),%edi
 
1662
        movb    %dh,            %cl
 
1663
        shrl    $16,            %eax
 
1664
        xorl    0x100(%ebp,%ebx),%edi
 
1665
        movb    %ah,            %bl
 
1666
        shrl    $16,            %edx
 
1667
        xorl    0x300(%ebp,%ecx),%edi
 
1668
        movb    %dh,            %cl
 
1669
        andl    $0xff,          %eax
 
1670
        andl    $0xff,          %edx
 
1671
        xorl    0x600(%ebp,%ebx),%edi
 
1672
        xorl    0x700(%ebp,%ecx),%edi
 
1673
        movl    24(%esp),       %ecx
 
1674
        xorl    0x400(%ebp,%eax),%edi
 
1675
        xorl    0x500(%ebp,%edx),%edi
 
1676
 
 
1677
 
 
1678
        movl    96(%ecx),       %eax
 
1679
        xorl    %ebx,           %ebx
 
1680
        movl    100(%ecx),      %edx
 
1681
        xorl    %edi,           %eax
 
1682
        xorl    %ecx,           %ecx
 
1683
        xorl    %edi,           %edx
 
1684
        andl    $0xfcfcfcfc,    %eax
 
1685
        andl    $0xcfcfcfcf,    %edx
 
1686
        movb    %al,            %bl
 
1687
        movb    %ah,            %cl
 
1688
        rorl    $4,             %edx
 
1689
        xorl         (%ebp,%ebx),%esi
 
1690
        movb    %dl,            %bl
 
1691
        xorl    0x200(%ebp,%ecx),%esi
 
1692
        movb    %dh,            %cl
 
1693
        shrl    $16,            %eax
 
1694
        xorl    0x100(%ebp,%ebx),%esi
 
1695
        movb    %ah,            %bl
 
1696
        shrl    $16,            %edx
 
1697
        xorl    0x300(%ebp,%ecx),%esi
 
1698
        movb    %dh,            %cl
 
1699
        andl    $0xff,          %eax
 
1700
        andl    $0xff,          %edx
 
1701
        xorl    0x600(%ebp,%ebx),%esi
 
1702
        xorl    0x700(%ebp,%ecx),%esi
 
1703
        movl    24(%esp),       %ecx
 
1704
        xorl    0x400(%ebp,%eax),%esi
 
1705
        xorl    0x500(%ebp,%edx),%esi
 
1706
 
 
1707
 
 
1708
        movl    88(%ecx),       %eax
 
1709
        xorl    %ebx,           %ebx
 
1710
        movl    92(%ecx),       %edx
 
1711
        xorl    %esi,           %eax
 
1712
        xorl    %ecx,           %ecx
 
1713
        xorl    %esi,           %edx
 
1714
        andl    $0xfcfcfcfc,    %eax
 
1715
        andl    $0xcfcfcfcf,    %edx
 
1716
        movb    %al,            %bl
 
1717
        movb    %ah,            %cl
 
1718
        rorl    $4,             %edx
 
1719
        xorl         (%ebp,%ebx),%edi
 
1720
        movb    %dl,            %bl
 
1721
        xorl    0x200(%ebp,%ecx),%edi
 
1722
        movb    %dh,            %cl
 
1723
        shrl    $16,            %eax
 
1724
        xorl    0x100(%ebp,%ebx),%edi
 
1725
        movb    %ah,            %bl
 
1726
        shrl    $16,            %edx
 
1727
        xorl    0x300(%ebp,%ecx),%edi
 
1728
        movb    %dh,            %cl
 
1729
        andl    $0xff,          %eax
 
1730
        andl    $0xff,          %edx
 
1731
        xorl    0x600(%ebp,%ebx),%edi
 
1732
        xorl    0x700(%ebp,%ecx),%edi
 
1733
        movl    24(%esp),       %ecx
 
1734
        xorl    0x400(%ebp,%eax),%edi
 
1735
        xorl    0x500(%ebp,%edx),%edi
 
1736
 
 
1737
 
 
1738
        movl    80(%ecx),       %eax
 
1739
        xorl    %ebx,           %ebx
 
1740
        movl    84(%ecx),       %edx
 
1741
        xorl    %edi,           %eax
 
1742
        xorl    %ecx,           %ecx
 
1743
        xorl    %edi,           %edx
 
1744
        andl    $0xfcfcfcfc,    %eax
 
1745
        andl    $0xcfcfcfcf,    %edx
 
1746
        movb    %al,            %bl
 
1747
        movb    %ah,            %cl
 
1748
        rorl    $4,             %edx
 
1749
        xorl         (%ebp,%ebx),%esi
 
1750
        movb    %dl,            %bl
 
1751
        xorl    0x200(%ebp,%ecx),%esi
 
1752
        movb    %dh,            %cl
 
1753
        shrl    $16,            %eax
 
1754
        xorl    0x100(%ebp,%ebx),%esi
 
1755
        movb    %ah,            %bl
 
1756
        shrl    $16,            %edx
 
1757
        xorl    0x300(%ebp,%ecx),%esi
 
1758
        movb    %dh,            %cl
 
1759
        andl    $0xff,          %eax
 
1760
        andl    $0xff,          %edx
 
1761
        xorl    0x600(%ebp,%ebx),%esi
 
1762
        xorl    0x700(%ebp,%ecx),%esi
 
1763
        movl    24(%esp),       %ecx
 
1764
        xorl    0x400(%ebp,%eax),%esi
 
1765
        xorl    0x500(%ebp,%edx),%esi
 
1766
 
 
1767
 
 
1768
        movl    72(%ecx),       %eax
 
1769
        xorl    %ebx,           %ebx
 
1770
        movl    76(%ecx),       %edx
 
1771
        xorl    %esi,           %eax
 
1772
        xorl    %ecx,           %ecx
 
1773
        xorl    %esi,           %edx
 
1774
        andl    $0xfcfcfcfc,    %eax
 
1775
        andl    $0xcfcfcfcf,    %edx
 
1776
        movb    %al,            %bl
 
1777
        movb    %ah,            %cl
 
1778
        rorl    $4,             %edx
 
1779
        xorl         (%ebp,%ebx),%edi
 
1780
        movb    %dl,            %bl
 
1781
        xorl    0x200(%ebp,%ecx),%edi
 
1782
        movb    %dh,            %cl
 
1783
        shrl    $16,            %eax
 
1784
        xorl    0x100(%ebp,%ebx),%edi
 
1785
        movb    %ah,            %bl
 
1786
        shrl    $16,            %edx
 
1787
        xorl    0x300(%ebp,%ecx),%edi
 
1788
        movb    %dh,            %cl
 
1789
        andl    $0xff,          %eax
 
1790
        andl    $0xff,          %edx
 
1791
        xorl    0x600(%ebp,%ebx),%edi
 
1792
        xorl    0x700(%ebp,%ecx),%edi
 
1793
        movl    24(%esp),       %ecx
 
1794
        xorl    0x400(%ebp,%eax),%edi
 
1795
        xorl    0x500(%ebp,%edx),%edi
 
1796
 
 
1797
 
 
1798
        movl    64(%ecx),       %eax
 
1799
        xorl    %ebx,           %ebx
 
1800
        movl    68(%ecx),       %edx
 
1801
        xorl    %edi,           %eax
 
1802
        xorl    %ecx,           %ecx
 
1803
        xorl    %edi,           %edx
 
1804
        andl    $0xfcfcfcfc,    %eax
 
1805
        andl    $0xcfcfcfcf,    %edx
 
1806
        movb    %al,            %bl
 
1807
        movb    %ah,            %cl
 
1808
        rorl    $4,             %edx
 
1809
        xorl         (%ebp,%ebx),%esi
 
1810
        movb    %dl,            %bl
 
1811
        xorl    0x200(%ebp,%ecx),%esi
 
1812
        movb    %dh,            %cl
 
1813
        shrl    $16,            %eax
 
1814
        xorl    0x100(%ebp,%ebx),%esi
 
1815
        movb    %ah,            %bl
 
1816
        shrl    $16,            %edx
 
1817
        xorl    0x300(%ebp,%ecx),%esi
 
1818
        movb    %dh,            %cl
 
1819
        andl    $0xff,          %eax
 
1820
        andl    $0xff,          %edx
 
1821
        xorl    0x600(%ebp,%ebx),%esi
 
1822
        xorl    0x700(%ebp,%ecx),%esi
 
1823
        movl    24(%esp),       %ecx
 
1824
        xorl    0x400(%ebp,%eax),%esi
 
1825
        xorl    0x500(%ebp,%edx),%esi
 
1826
 
 
1827
 
 
1828
        movl    56(%ecx),       %eax
 
1829
        xorl    %ebx,           %ebx
 
1830
        movl    60(%ecx),       %edx
 
1831
        xorl    %esi,           %eax
 
1832
        xorl    %ecx,           %ecx
 
1833
        xorl    %esi,           %edx
 
1834
        andl    $0xfcfcfcfc,    %eax
 
1835
        andl    $0xcfcfcfcf,    %edx
 
1836
        movb    %al,            %bl
 
1837
        movb    %ah,            %cl
 
1838
        rorl    $4,             %edx
 
1839
        xorl         (%ebp,%ebx),%edi
 
1840
        movb    %dl,            %bl
 
1841
        xorl    0x200(%ebp,%ecx),%edi
 
1842
        movb    %dh,            %cl
 
1843
        shrl    $16,            %eax
 
1844
        xorl    0x100(%ebp,%ebx),%edi
 
1845
        movb    %ah,            %bl
 
1846
        shrl    $16,            %edx
 
1847
        xorl    0x300(%ebp,%ecx),%edi
 
1848
        movb    %dh,            %cl
 
1849
        andl    $0xff,          %eax
 
1850
        andl    $0xff,          %edx
 
1851
        xorl    0x600(%ebp,%ebx),%edi
 
1852
        xorl    0x700(%ebp,%ecx),%edi
 
1853
        movl    24(%esp),       %ecx
 
1854
        xorl    0x400(%ebp,%eax),%edi
 
1855
        xorl    0x500(%ebp,%edx),%edi
 
1856
 
 
1857
 
 
1858
        movl    48(%ecx),       %eax
 
1859
        xorl    %ebx,           %ebx
 
1860
        movl    52(%ecx),       %edx
 
1861
        xorl    %edi,           %eax
 
1862
        xorl    %ecx,           %ecx
 
1863
        xorl    %edi,           %edx
 
1864
        andl    $0xfcfcfcfc,    %eax
 
1865
        andl    $0xcfcfcfcf,    %edx
 
1866
        movb    %al,            %bl
 
1867
        movb    %ah,            %cl
 
1868
        rorl    $4,             %edx
 
1869
        xorl         (%ebp,%ebx),%esi
 
1870
        movb    %dl,            %bl
 
1871
        xorl    0x200(%ebp,%ecx),%esi
 
1872
        movb    %dh,            %cl
 
1873
        shrl    $16,            %eax
 
1874
        xorl    0x100(%ebp,%ebx),%esi
 
1875
        movb    %ah,            %bl
 
1876
        shrl    $16,            %edx
 
1877
        xorl    0x300(%ebp,%ecx),%esi
 
1878
        movb    %dh,            %cl
 
1879
        andl    $0xff,          %eax
 
1880
        andl    $0xff,          %edx
 
1881
        xorl    0x600(%ebp,%ebx),%esi
 
1882
        xorl    0x700(%ebp,%ecx),%esi
 
1883
        movl    24(%esp),       %ecx
 
1884
        xorl    0x400(%ebp,%eax),%esi
 
1885
        xorl    0x500(%ebp,%edx),%esi
 
1886
 
 
1887
 
 
1888
        movl    40(%ecx),       %eax
 
1889
        xorl    %ebx,           %ebx
 
1890
        movl    44(%ecx),       %edx
 
1891
        xorl    %esi,           %eax
 
1892
        xorl    %ecx,           %ecx
 
1893
        xorl    %esi,           %edx
 
1894
        andl    $0xfcfcfcfc,    %eax
 
1895
        andl    $0xcfcfcfcf,    %edx
 
1896
        movb    %al,            %bl
 
1897
        movb    %ah,            %cl
 
1898
        rorl    $4,             %edx
 
1899
        xorl         (%ebp,%ebx),%edi
 
1900
        movb    %dl,            %bl
 
1901
        xorl    0x200(%ebp,%ecx),%edi
 
1902
        movb    %dh,            %cl
 
1903
        shrl    $16,            %eax
 
1904
        xorl    0x100(%ebp,%ebx),%edi
 
1905
        movb    %ah,            %bl
 
1906
        shrl    $16,            %edx
 
1907
        xorl    0x300(%ebp,%ecx),%edi
 
1908
        movb    %dh,            %cl
 
1909
        andl    $0xff,          %eax
 
1910
        andl    $0xff,          %edx
 
1911
        xorl    0x600(%ebp,%ebx),%edi
 
1912
        xorl    0x700(%ebp,%ecx),%edi
 
1913
        movl    24(%esp),       %ecx
 
1914
        xorl    0x400(%ebp,%eax),%edi
 
1915
        xorl    0x500(%ebp,%edx),%edi
 
1916
 
 
1917
 
 
1918
        movl    32(%ecx),       %eax
 
1919
        xorl    %ebx,           %ebx
 
1920
        movl    36(%ecx),       %edx
 
1921
        xorl    %edi,           %eax
 
1922
        xorl    %ecx,           %ecx
 
1923
        xorl    %edi,           %edx
 
1924
        andl    $0xfcfcfcfc,    %eax
 
1925
        andl    $0xcfcfcfcf,    %edx
 
1926
        movb    %al,            %bl
 
1927
        movb    %ah,            %cl
 
1928
        rorl    $4,             %edx
 
1929
        xorl         (%ebp,%ebx),%esi
 
1930
        movb    %dl,            %bl
 
1931
        xorl    0x200(%ebp,%ecx),%esi
 
1932
        movb    %dh,            %cl
 
1933
        shrl    $16,            %eax
 
1934
        xorl    0x100(%ebp,%ebx),%esi
 
1935
        movb    %ah,            %bl
 
1936
        shrl    $16,            %edx
 
1937
        xorl    0x300(%ebp,%ecx),%esi
 
1938
        movb    %dh,            %cl
 
1939
        andl    $0xff,          %eax
 
1940
        andl    $0xff,          %edx
 
1941
        xorl    0x600(%ebp,%ebx),%esi
 
1942
        xorl    0x700(%ebp,%ecx),%esi
 
1943
        movl    24(%esp),       %ecx
 
1944
        xorl    0x400(%ebp,%eax),%esi
 
1945
        xorl    0x500(%ebp,%edx),%esi
 
1946
 
 
1947
 
 
1948
        movl    24(%ecx),       %eax
 
1949
        xorl    %ebx,           %ebx
 
1950
        movl    28(%ecx),       %edx
 
1951
        xorl    %esi,           %eax
 
1952
        xorl    %ecx,           %ecx
 
1953
        xorl    %esi,           %edx
 
1954
        andl    $0xfcfcfcfc,    %eax
 
1955
        andl    $0xcfcfcfcf,    %edx
 
1956
        movb    %al,            %bl
 
1957
        movb    %ah,            %cl
 
1958
        rorl    $4,             %edx
 
1959
        xorl         (%ebp,%ebx),%edi
 
1960
        movb    %dl,            %bl
 
1961
        xorl    0x200(%ebp,%ecx),%edi
 
1962
        movb    %dh,            %cl
 
1963
        shrl    $16,            %eax
 
1964
        xorl    0x100(%ebp,%ebx),%edi
 
1965
        movb    %ah,            %bl
 
1966
        shrl    $16,            %edx
 
1967
        xorl    0x300(%ebp,%ecx),%edi
 
1968
        movb    %dh,            %cl
 
1969
        andl    $0xff,          %eax
 
1970
        andl    $0xff,          %edx
 
1971
        xorl    0x600(%ebp,%ebx),%edi
 
1972
        xorl    0x700(%ebp,%ecx),%edi
 
1973
        movl    24(%esp),       %ecx
 
1974
        xorl    0x400(%ebp,%eax),%edi
 
1975
        xorl    0x500(%ebp,%edx),%edi
 
1976
 
 
1977
 
 
1978
        movl    16(%ecx),       %eax
 
1979
        xorl    %ebx,           %ebx
 
1980
        movl    20(%ecx),       %edx
 
1981
        xorl    %edi,           %eax
 
1982
        xorl    %ecx,           %ecx
 
1983
        xorl    %edi,           %edx
 
1984
        andl    $0xfcfcfcfc,    %eax
 
1985
        andl    $0xcfcfcfcf,    %edx
 
1986
        movb    %al,            %bl
 
1987
        movb    %ah,            %cl
 
1988
        rorl    $4,             %edx
 
1989
        xorl         (%ebp,%ebx),%esi
 
1990
        movb    %dl,            %bl
 
1991
        xorl    0x200(%ebp,%ecx),%esi
 
1992
        movb    %dh,            %cl
 
1993
        shrl    $16,            %eax
 
1994
        xorl    0x100(%ebp,%ebx),%esi
 
1995
        movb    %ah,            %bl
 
1996
        shrl    $16,            %edx
 
1997
        xorl    0x300(%ebp,%ecx),%esi
 
1998
        movb    %dh,            %cl
 
1999
        andl    $0xff,          %eax
 
2000
        andl    $0xff,          %edx
 
2001
        xorl    0x600(%ebp,%ebx),%esi
 
2002
        xorl    0x700(%ebp,%ecx),%esi
 
2003
        movl    24(%esp),       %ecx
 
2004
        xorl    0x400(%ebp,%eax),%esi
 
2005
        xorl    0x500(%ebp,%edx),%esi
 
2006
 
 
2007
 
 
2008
        movl    8(%ecx),        %eax
 
2009
        xorl    %ebx,           %ebx
 
2010
        movl    12(%ecx),       %edx
 
2011
        xorl    %esi,           %eax
 
2012
        xorl    %ecx,           %ecx
 
2013
        xorl    %esi,           %edx
 
2014
        andl    $0xfcfcfcfc,    %eax
 
2015
        andl    $0xcfcfcfcf,    %edx
 
2016
        movb    %al,            %bl
 
2017
        movb    %ah,            %cl
 
2018
        rorl    $4,             %edx
 
2019
        xorl         (%ebp,%ebx),%edi
 
2020
        movb    %dl,            %bl
 
2021
        xorl    0x200(%ebp,%ecx),%edi
 
2022
        movb    %dh,            %cl
 
2023
        shrl    $16,            %eax
 
2024
        xorl    0x100(%ebp,%ebx),%edi
 
2025
        movb    %ah,            %bl
 
2026
        shrl    $16,            %edx
 
2027
        xorl    0x300(%ebp,%ecx),%edi
 
2028
        movb    %dh,            %cl
 
2029
        andl    $0xff,          %eax
 
2030
        andl    $0xff,          %edx
 
2031
        xorl    0x600(%ebp,%ebx),%edi
 
2032
        xorl    0x700(%ebp,%ecx),%edi
 
2033
        movl    24(%esp),       %ecx
 
2034
        xorl    0x400(%ebp,%eax),%edi
 
2035
        xorl    0x500(%ebp,%edx),%edi
 
2036
 
 
2037
 
 
2038
        movl    (%ecx),         %eax
 
2039
        xorl    %ebx,           %ebx
 
2040
        movl    4(%ecx),        %edx
 
2041
        xorl    %edi,           %eax
 
2042
        xorl    %ecx,           %ecx
 
2043
        xorl    %edi,           %edx
 
2044
        andl    $0xfcfcfcfc,    %eax
 
2045
        andl    $0xcfcfcfcf,    %edx
 
2046
        movb    %al,            %bl
 
2047
        movb    %ah,            %cl
 
2048
        rorl    $4,             %edx
 
2049
        xorl         (%ebp,%ebx),%esi
 
2050
        movb    %dl,            %bl
 
2051
        xorl    0x200(%ebp,%ecx),%esi
 
2052
        movb    %dh,            %cl
 
2053
        shrl    $16,            %eax
 
2054
        xorl    0x100(%ebp,%ebx),%esi
 
2055
        movb    %ah,            %bl
 
2056
        shrl    $16,            %edx
 
2057
        xorl    0x300(%ebp,%ecx),%esi
 
2058
        movb    %dh,            %cl
 
2059
        andl    $0xff,          %eax
 
2060
        andl    $0xff,          %edx
 
2061
        xorl    0x600(%ebp,%ebx),%esi
 
2062
        xorl    0x700(%ebp,%ecx),%esi
 
2063
        movl    24(%esp),       %ecx
 
2064
        xorl    0x400(%ebp,%eax),%esi
 
2065
        xorl    0x500(%ebp,%edx),%esi
 
2066
.L003end:
 
2067
 
 
2068
 
 
2069
        rorl    $3,             %edi
 
2070
        movl    20(%esp),       %eax
 
2071
        rorl    $3,             %esi
 
2072
        movl    %edi,           (%eax)
 
2073
        movl    %esi,           4(%eax)
 
2074
        popl    %ebp
 
2075
        popl    %ebx
 
2076
        popl    %edi
 
2077
        popl    %esi
 
2078
        ret
 
2079
.L_DES_encrypt2_end:
 
2080
        .size   DES_encrypt2,.L_DES_encrypt2_end-DES_encrypt2
 
2081
.ident  "desasm.pl"
 
2082
.text
 
2083
        .align 16
 
2084
.globl DES_encrypt3
 
2085
        .type   DES_encrypt3,@function
 
2086
DES_encrypt3:
 
2087
        pushl   %ebx
 
2088
        movl    8(%esp),        %ebx
 
2089
        pushl   %ebp
 
2090
        pushl   %esi
 
2091
        pushl   %edi
 
2092
 
 
2093
 
 
2094
        movl    (%ebx),         %edi
 
2095
        movl    4(%ebx),        %esi
 
2096
        subl    $12,            %esp
 
2097
 
 
2098
 
 
2099
        roll    $4,             %edi
 
2100
        movl    %edi,           %edx
 
2101
        xorl    %esi,           %edi
 
2102
        andl    $0xf0f0f0f0,    %edi
 
2103
        xorl    %edi,           %edx
 
2104
        xorl    %edi,           %esi
 
2105
 
 
2106
        roll    $20,            %esi
 
2107
        movl    %esi,           %edi
 
2108
        xorl    %edx,           %esi
 
2109
        andl    $0xfff0000f,    %esi
 
2110
        xorl    %esi,           %edi
 
2111
        xorl    %esi,           %edx
 
2112
 
 
2113
        roll    $14,            %edi
 
2114
        movl    %edi,           %esi
 
2115
        xorl    %edx,           %edi
 
2116
        andl    $0x33333333,    %edi
 
2117
        xorl    %edi,           %esi
 
2118
        xorl    %edi,           %edx
 
2119
 
 
2120
        roll    $22,            %edx
 
2121
        movl    %edx,           %edi
 
2122
        xorl    %esi,           %edx
 
2123
        andl    $0x03fc03fc,    %edx
 
2124
        xorl    %edx,           %edi
 
2125
        xorl    %edx,           %esi
 
2126
 
 
2127
        roll    $9,             %edi
 
2128
        movl    %edi,           %edx
 
2129
        xorl    %esi,           %edi
 
2130
        andl    $0xaaaaaaaa,    %edi
 
2131
        xorl    %edi,           %edx
 
2132
        xorl    %edi,           %esi
 
2133
 
 
2134
        rorl    $3,             %edx
 
2135
        rorl    $2,             %esi
 
2136
        movl    %esi,           4(%ebx)
 
2137
        movl    36(%esp),       %eax
 
2138
        movl    %edx,           (%ebx)
 
2139
        movl    40(%esp),       %edi
 
2140
        movl    44(%esp),       %esi
 
2141
        movl    $1,             8(%esp)
 
2142
        movl    %eax,           4(%esp)
 
2143
        movl    %ebx,           (%esp)
 
2144
        call    DES_encrypt2
 
2145
        movl    $0,             8(%esp)
 
2146
        movl    %edi,           4(%esp)
 
2147
        movl    %ebx,           (%esp)
 
2148
        call    DES_encrypt2
 
2149
        movl    $1,             8(%esp)
 
2150
        movl    %esi,           4(%esp)
 
2151
        movl    %ebx,           (%esp)
 
2152
        call    DES_encrypt2
 
2153
        addl    $12,            %esp
 
2154
        movl    (%ebx),         %edi
 
2155
        movl    4(%ebx),        %esi
 
2156
 
 
2157
 
 
2158
        roll    $2,             %esi
 
2159
        roll    $3,             %edi
 
2160
        movl    %edi,           %eax
 
2161
        xorl    %esi,           %edi
 
2162
        andl    $0xaaaaaaaa,    %edi
 
2163
        xorl    %edi,           %eax
 
2164
        xorl    %edi,           %esi
 
2165
 
 
2166
        roll    $23,            %eax
 
2167
        movl    %eax,           %edi
 
2168
        xorl    %esi,           %eax
 
2169
        andl    $0x03fc03fc,    %eax
 
2170
        xorl    %eax,           %edi
 
2171
        xorl    %eax,           %esi
 
2172
 
 
2173
        roll    $10,            %edi
 
2174
        movl    %edi,           %eax
 
2175
        xorl    %esi,           %edi
 
2176
        andl    $0x33333333,    %edi
 
2177
        xorl    %edi,           %eax
 
2178
        xorl    %edi,           %esi
 
2179
 
 
2180
        roll    $18,            %esi
 
2181
        movl    %esi,           %edi
 
2182
        xorl    %eax,           %esi
 
2183
        andl    $0xfff0000f,    %esi
 
2184
        xorl    %esi,           %edi
 
2185
        xorl    %esi,           %eax
 
2186
 
 
2187
        roll    $12,            %edi
 
2188
        movl    %edi,           %esi
 
2189
        xorl    %eax,           %edi
 
2190
        andl    $0xf0f0f0f0,    %edi
 
2191
        xorl    %edi,           %esi
 
2192
        xorl    %edi,           %eax
 
2193
 
 
2194
        rorl    $4,             %eax
 
2195
        movl    %eax,           (%ebx)
 
2196
        movl    %esi,           4(%ebx)
 
2197
        popl    %edi
 
2198
        popl    %esi
 
2199
        popl    %ebp
 
2200
        popl    %ebx
 
2201
        ret
 
2202
.L_DES_encrypt3_end:
 
2203
        .size   DES_encrypt3,.L_DES_encrypt3_end-DES_encrypt3
 
2204
.ident  "desasm.pl"
 
2205
.text
 
2206
        .align 16
 
2207
.globl DES_decrypt3
 
2208
        .type   DES_decrypt3,@function
 
2209
DES_decrypt3:
 
2210
        pushl   %ebx
 
2211
        movl    8(%esp),        %ebx
 
2212
        pushl   %ebp
 
2213
        pushl   %esi
 
2214
        pushl   %edi
 
2215
 
 
2216
 
 
2217
        movl    (%ebx),         %edi
 
2218
        movl    4(%ebx),        %esi
 
2219
        subl    $12,            %esp
 
2220
 
 
2221
 
 
2222
        roll    $4,             %edi
 
2223
        movl    %edi,           %edx
 
2224
        xorl    %esi,           %edi
 
2225
        andl    $0xf0f0f0f0,    %edi
 
2226
        xorl    %edi,           %edx
 
2227
        xorl    %edi,           %esi
 
2228
 
 
2229
        roll    $20,            %esi
 
2230
        movl    %esi,           %edi
 
2231
        xorl    %edx,           %esi
 
2232
        andl    $0xfff0000f,    %esi
 
2233
        xorl    %esi,           %edi
 
2234
        xorl    %esi,           %edx
 
2235
 
 
2236
        roll    $14,            %edi
 
2237
        movl    %edi,           %esi
 
2238
        xorl    %edx,           %edi
 
2239
        andl    $0x33333333,    %edi
 
2240
        xorl    %edi,           %esi
 
2241
        xorl    %edi,           %edx
 
2242
 
 
2243
        roll    $22,            %edx
 
2244
        movl    %edx,           %edi
 
2245
        xorl    %esi,           %edx
 
2246
        andl    $0x03fc03fc,    %edx
 
2247
        xorl    %edx,           %edi
 
2248
        xorl    %edx,           %esi
 
2249
 
 
2250
        roll    $9,             %edi
 
2251
        movl    %edi,           %edx
 
2252
        xorl    %esi,           %edi
 
2253
        andl    $0xaaaaaaaa,    %edi
 
2254
        xorl    %edi,           %edx
 
2255
        xorl    %edi,           %esi
 
2256
 
 
2257
        rorl    $3,             %edx
 
2258
        rorl    $2,             %esi
 
2259
        movl    %esi,           4(%ebx)
 
2260
        movl    36(%esp),       %esi
 
2261
        movl    %edx,           (%ebx)
 
2262
        movl    40(%esp),       %edi
 
2263
        movl    44(%esp),       %eax
 
2264
        movl    $0,             8(%esp)
 
2265
        movl    %eax,           4(%esp)
 
2266
        movl    %ebx,           (%esp)
 
2267
        call    DES_encrypt2
 
2268
        movl    $1,             8(%esp)
 
2269
        movl    %edi,           4(%esp)
 
2270
        movl    %ebx,           (%esp)
 
2271
        call    DES_encrypt2
 
2272
        movl    $0,             8(%esp)
 
2273
        movl    %esi,           4(%esp)
 
2274
        movl    %ebx,           (%esp)
 
2275
        call    DES_encrypt2
 
2276
        addl    $12,            %esp
 
2277
        movl    (%ebx),         %edi
 
2278
        movl    4(%ebx),        %esi
 
2279
 
 
2280
 
 
2281
        roll    $2,             %esi
 
2282
        roll    $3,             %edi
 
2283
        movl    %edi,           %eax
 
2284
        xorl    %esi,           %edi
 
2285
        andl    $0xaaaaaaaa,    %edi
 
2286
        xorl    %edi,           %eax
 
2287
        xorl    %edi,           %esi
 
2288
 
 
2289
        roll    $23,            %eax
 
2290
        movl    %eax,           %edi
 
2291
        xorl    %esi,           %eax
 
2292
        andl    $0x03fc03fc,    %eax
 
2293
        xorl    %eax,           %edi
 
2294
        xorl    %eax,           %esi
 
2295
 
 
2296
        roll    $10,            %edi
 
2297
        movl    %edi,           %eax
 
2298
        xorl    %esi,           %edi
 
2299
        andl    $0x33333333,    %edi
 
2300
        xorl    %edi,           %eax
 
2301
        xorl    %edi,           %esi
 
2302
 
 
2303
        roll    $18,            %esi
 
2304
        movl    %esi,           %edi
 
2305
        xorl    %eax,           %esi
 
2306
        andl    $0xfff0000f,    %esi
 
2307
        xorl    %esi,           %edi
 
2308
        xorl    %esi,           %eax
 
2309
 
 
2310
        roll    $12,            %edi
 
2311
        movl    %edi,           %esi
 
2312
        xorl    %eax,           %edi
 
2313
        andl    $0xf0f0f0f0,    %edi
 
2314
        xorl    %edi,           %esi
 
2315
        xorl    %edi,           %eax
 
2316
 
 
2317
        rorl    $4,             %eax
 
2318
        movl    %eax,           (%ebx)
 
2319
        movl    %esi,           4(%ebx)
 
2320
        popl    %edi
 
2321
        popl    %esi
 
2322
        popl    %ebp
 
2323
        popl    %ebx
 
2324
        ret
 
2325
.L_DES_decrypt3_end:
 
2326
        .size   DES_decrypt3,.L_DES_decrypt3_end-DES_decrypt3
 
2327
.ident  "desasm.pl"
 
2328
.text
 
2329
        .align 16
 
2330
.globl DES_ncbc_encrypt
 
2331
        .type   DES_ncbc_encrypt,@function
 
2332
DES_ncbc_encrypt:
 
2333
 
 
2334
        pushl   %ebp
 
2335
        pushl   %ebx
 
2336
        pushl   %esi
 
2337
        pushl   %edi
 
2338
        movl    28(%esp),       %ebp
 
2339
 
 
2340
        movl    36(%esp),       %ebx
 
2341
        movl    (%ebx),         %esi
 
2342
        movl    4(%ebx),        %edi
 
2343
        pushl   %edi
 
2344
        pushl   %esi
 
2345
        pushl   %edi
 
2346
        pushl   %esi
 
2347
        movl    %esp,           %ebx
 
2348
        movl    36(%esp),       %esi
 
2349
        movl    40(%esp),       %edi
 
2350
 
 
2351
        movl    56(%esp),       %ecx
 
2352
 
 
2353
        pushl   %ecx
 
2354
 
 
2355
        movl    52(%esp),       %eax
 
2356
        pushl   %eax
 
2357
        pushl   %ebx
 
2358
        cmpl    $0,             %ecx
 
2359
        jz      .L004decrypt
 
2360
        andl    $4294967288,    %ebp
 
2361
        movl    12(%esp),       %eax
 
2362
        movl    16(%esp),       %ebx
 
2363
        jz      .L005encrypt_finish
 
2364
.L006encrypt_loop:
 
2365
        movl    (%esi),         %ecx
 
2366
        movl    4(%esi),        %edx
 
2367
        xorl    %ecx,           %eax
 
2368
        xorl    %edx,           %ebx
 
2369
        movl    %eax,           12(%esp)
 
2370
        movl    %ebx,           16(%esp)
 
2371
        call    DES_encrypt1
 
2372
        movl    12(%esp),       %eax
 
2373
        movl    16(%esp),       %ebx
 
2374
        movl    %eax,           (%edi)
 
2375
        movl    %ebx,           4(%edi)
 
2376
        addl    $8,             %esi
 
2377
        addl    $8,             %edi
 
2378
        subl    $8,             %ebp
 
2379
        jnz     .L006encrypt_loop
 
2380
.L005encrypt_finish:
 
2381
        movl    56(%esp),       %ebp
 
2382
        andl    $7,             %ebp
 
2383
        jz      .L007finish
 
2384
        call    .L008PIC_point
 
2385
.L008PIC_point:
 
2386
        popl    %edx
 
2387
        leal    .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx
 
2388
        movl    (%ecx,%ebp,4),  %ebp
 
2389
        addl    %edx,           %ebp
 
2390
        xorl    %ecx,           %ecx
 
2391
        xorl    %edx,           %edx
 
2392
        jmp     *%ebp
 
2393
.L010ej7:
 
2394
        movb    6(%esi),        %dh
 
2395
        sall    $8,             %edx
 
2396
.L011ej6:
 
2397
        movb    5(%esi),        %dh
 
2398
.L012ej5:
 
2399
        movb    4(%esi),        %dl
 
2400
.L013ej4:
 
2401
        movl    (%esi),         %ecx
 
2402
        jmp     .L014ejend
 
2403
.L015ej3:
 
2404
        movb    2(%esi),        %ch
 
2405
        sall    $8,             %ecx
 
2406
.L016ej2:
 
2407
        movb    1(%esi),        %ch
 
2408
.L017ej1:
 
2409
        movb    (%esi),         %cl
 
2410
.L014ejend:
 
2411
        xorl    %ecx,           %eax
 
2412
        xorl    %edx,           %ebx
 
2413
        movl    %eax,           12(%esp)
 
2414
        movl    %ebx,           16(%esp)
 
2415
        call    DES_encrypt1
 
2416
        movl    12(%esp),       %eax
 
2417
        movl    16(%esp),       %ebx
 
2418
        movl    %eax,           (%edi)
 
2419
        movl    %ebx,           4(%edi)
 
2420
        jmp     .L007finish
 
2421
.align 16
 
2422
.L004decrypt:
 
2423
        andl    $4294967288,    %ebp
 
2424
        movl    20(%esp),       %eax
 
2425
        movl    24(%esp),       %ebx
 
2426
        jz      .L018decrypt_finish
 
2427
.L019decrypt_loop:
 
2428
        movl    (%esi),         %eax
 
2429
        movl    4(%esi),        %ebx
 
2430
        movl    %eax,           12(%esp)
 
2431
        movl    %ebx,           16(%esp)
 
2432
        call    DES_encrypt1
 
2433
        movl    12(%esp),       %eax
 
2434
        movl    16(%esp),       %ebx
 
2435
        movl    20(%esp),       %ecx
 
2436
        movl    24(%esp),       %edx
 
2437
        xorl    %eax,           %ecx
 
2438
        xorl    %ebx,           %edx
 
2439
        movl    (%esi),         %eax
 
2440
        movl    4(%esi),        %ebx
 
2441
        movl    %ecx,           (%edi)
 
2442
        movl    %edx,           4(%edi)
 
2443
        movl    %eax,           20(%esp)
 
2444
        movl    %ebx,           24(%esp)
 
2445
        addl    $8,             %esi
 
2446
        addl    $8,             %edi
 
2447
        subl    $8,             %ebp
 
2448
        jnz     .L019decrypt_loop
 
2449
.L018decrypt_finish:
 
2450
        movl    56(%esp),       %ebp
 
2451
        andl    $7,             %ebp
 
2452
        jz      .L007finish
 
2453
        movl    (%esi),         %eax
 
2454
        movl    4(%esi),        %ebx
 
2455
        movl    %eax,           12(%esp)
 
2456
        movl    %ebx,           16(%esp)
 
2457
        call    DES_encrypt1
 
2458
        movl    12(%esp),       %eax
 
2459
        movl    16(%esp),       %ebx
 
2460
        movl    20(%esp),       %ecx
 
2461
        movl    24(%esp),       %edx
 
2462
        xorl    %eax,           %ecx
 
2463
        xorl    %ebx,           %edx
 
2464
        movl    (%esi),         %eax
 
2465
        movl    4(%esi),        %ebx
 
2466
.L020dj7:
 
2467
        rorl    $16,            %edx
 
2468
        movb    %dl,            6(%edi)
 
2469
        shrl    $16,            %edx
 
2470
.L021dj6:
 
2471
        movb    %dh,            5(%edi)
 
2472
.L022dj5:
 
2473
        movb    %dl,            4(%edi)
 
2474
.L023dj4:
 
2475
        movl    %ecx,           (%edi)
 
2476
        jmp     .L024djend
 
2477
.L025dj3:
 
2478
        rorl    $16,            %ecx
 
2479
        movb    %cl,            2(%edi)
 
2480
        sall    $16,            %ecx
 
2481
.L026dj2:
 
2482
        movb    %ch,            1(%esi)
 
2483
.L027dj1:
 
2484
        movb    %cl,            (%esi)
 
2485
.L024djend:
 
2486
        jmp     .L007finish
 
2487
.align 16
 
2488
.L007finish:
 
2489
        movl    64(%esp),       %ecx
 
2490
        addl    $28,            %esp
 
2491
        movl    %eax,           (%ecx)
 
2492
        movl    %ebx,           4(%ecx)
 
2493
        popl    %edi
 
2494
        popl    %esi
 
2495
        popl    %ebx
 
2496
        popl    %ebp
 
2497
        ret
 
2498
.align 16
 
2499
.L009cbc_enc_jmp_table:
 
2500
        .long 0
 
2501
        .long .L017ej1-.L008PIC_point
 
2502
        .long .L016ej2-.L008PIC_point
 
2503
        .long .L015ej3-.L008PIC_point
 
2504
        .long .L013ej4-.L008PIC_point
 
2505
        .long .L012ej5-.L008PIC_point
 
2506
        .long .L011ej6-.L008PIC_point
 
2507
        .long .L010ej7-.L008PIC_point
 
2508
.L_DES_ncbc_encrypt_end:
 
2509
        .size   DES_ncbc_encrypt,.L_DES_ncbc_encrypt_end-DES_ncbc_encrypt
 
2510
.ident  "desasm.pl"
 
2511
.text
 
2512
        .align 16
 
2513
.globl DES_ede3_cbc_encrypt
 
2514
        .type   DES_ede3_cbc_encrypt,@function
 
2515
DES_ede3_cbc_encrypt:
 
2516
 
 
2517
        pushl   %ebp
 
2518
        pushl   %ebx
 
2519
        pushl   %esi
 
2520
        pushl   %edi
 
2521
        movl    28(%esp),       %ebp
 
2522
 
 
2523
        movl    44(%esp),       %ebx
 
2524
        movl    (%ebx),         %esi
 
2525
        movl    4(%ebx),        %edi
 
2526
        pushl   %edi
 
2527
        pushl   %esi
 
2528
        pushl   %edi
 
2529
        pushl   %esi
 
2530
        movl    %esp,           %ebx
 
2531
        movl    36(%esp),       %esi
 
2532
        movl    40(%esp),       %edi
 
2533
 
 
2534
        movl    64(%esp),       %ecx
 
2535
 
 
2536
        movl    56(%esp),       %eax
 
2537
        pushl   %eax
 
2538
 
 
2539
        movl    56(%esp),       %eax
 
2540
        pushl   %eax
 
2541
 
 
2542
        movl    56(%esp),       %eax
 
2543
        pushl   %eax
 
2544
        pushl   %ebx
 
2545
        cmpl    $0,             %ecx
 
2546
        jz      .L028decrypt
 
2547
        andl    $4294967288,    %ebp
 
2548
        movl    16(%esp),       %eax
 
2549
        movl    20(%esp),       %ebx
 
2550
        jz      .L029encrypt_finish
 
2551
.L030encrypt_loop:
 
2552
        movl    (%esi),         %ecx
 
2553
        movl    4(%esi),        %edx
 
2554
        xorl    %ecx,           %eax
 
2555
        xorl    %edx,           %ebx
 
2556
        movl    %eax,           16(%esp)
 
2557
        movl    %ebx,           20(%esp)
 
2558
        call    DES_encrypt3
 
2559
        movl    16(%esp),       %eax
 
2560
        movl    20(%esp),       %ebx
 
2561
        movl    %eax,           (%edi)
 
2562
        movl    %ebx,           4(%edi)
 
2563
        addl    $8,             %esi
 
2564
        addl    $8,             %edi
 
2565
        subl    $8,             %ebp
 
2566
        jnz     .L030encrypt_loop
 
2567
.L029encrypt_finish:
 
2568
        movl    60(%esp),       %ebp
 
2569
        andl    $7,             %ebp
 
2570
        jz      .L031finish
 
2571
        call    .L032PIC_point
 
2572
.L032PIC_point:
 
2573
        popl    %edx
 
2574
        leal    .L033cbc_enc_jmp_table-.L032PIC_point(%edx),%ecx
 
2575
        movl    (%ecx,%ebp,4),  %ebp
 
2576
        addl    %edx,           %ebp
 
2577
        xorl    %ecx,           %ecx
 
2578
        xorl    %edx,           %edx
 
2579
        jmp     *%ebp
 
2580
.L034ej7:
 
2581
        movb    6(%esi),        %dh
 
2582
        sall    $8,             %edx
 
2583
.L035ej6:
 
2584
        movb    5(%esi),        %dh
 
2585
.L036ej5:
 
2586
        movb    4(%esi),        %dl
 
2587
.L037ej4:
 
2588
        movl    (%esi),         %ecx
 
2589
        jmp     .L038ejend
 
2590
.L039ej3:
 
2591
        movb    2(%esi),        %ch
 
2592
        sall    $8,             %ecx
 
2593
.L040ej2:
 
2594
        movb    1(%esi),        %ch
 
2595
.L041ej1:
 
2596
        movb    (%esi),         %cl
 
2597
.L038ejend:
 
2598
        xorl    %ecx,           %eax
 
2599
        xorl    %edx,           %ebx
 
2600
        movl    %eax,           16(%esp)
 
2601
        movl    %ebx,           20(%esp)
 
2602
        call    DES_encrypt3
 
2603
        movl    16(%esp),       %eax
 
2604
        movl    20(%esp),       %ebx
 
2605
        movl    %eax,           (%edi)
 
2606
        movl    %ebx,           4(%edi)
 
2607
        jmp     .L031finish
 
2608
.align 16
 
2609
.L028decrypt:
 
2610
        andl    $4294967288,    %ebp
 
2611
        movl    24(%esp),       %eax
 
2612
        movl    28(%esp),       %ebx
 
2613
        jz      .L042decrypt_finish
 
2614
.L043decrypt_loop:
 
2615
        movl    (%esi),         %eax
 
2616
        movl    4(%esi),        %ebx
 
2617
        movl    %eax,           16(%esp)
 
2618
        movl    %ebx,           20(%esp)
 
2619
        call    DES_decrypt3
 
2620
        movl    16(%esp),       %eax
 
2621
        movl    20(%esp),       %ebx
 
2622
        movl    24(%esp),       %ecx
 
2623
        movl    28(%esp),       %edx
 
2624
        xorl    %eax,           %ecx
 
2625
        xorl    %ebx,           %edx
 
2626
        movl    (%esi),         %eax
 
2627
        movl    4(%esi),        %ebx
 
2628
        movl    %ecx,           (%edi)
 
2629
        movl    %edx,           4(%edi)
 
2630
        movl    %eax,           24(%esp)
 
2631
        movl    %ebx,           28(%esp)
 
2632
        addl    $8,             %esi
 
2633
        addl    $8,             %edi
 
2634
        subl    $8,             %ebp
 
2635
        jnz     .L043decrypt_loop
 
2636
.L042decrypt_finish:
 
2637
        movl    60(%esp),       %ebp
 
2638
        andl    $7,             %ebp
 
2639
        jz      .L031finish
 
2640
        movl    (%esi),         %eax
 
2641
        movl    4(%esi),        %ebx
 
2642
        movl    %eax,           16(%esp)
 
2643
        movl    %ebx,           20(%esp)
 
2644
        call    DES_decrypt3
 
2645
        movl    16(%esp),       %eax
 
2646
        movl    20(%esp),       %ebx
 
2647
        movl    24(%esp),       %ecx
 
2648
        movl    28(%esp),       %edx
 
2649
        xorl    %eax,           %ecx
 
2650
        xorl    %ebx,           %edx
 
2651
        movl    (%esi),         %eax
 
2652
        movl    4(%esi),        %ebx
 
2653
.L044dj7:
 
2654
        rorl    $16,            %edx
 
2655
        movb    %dl,            6(%edi)
 
2656
        shrl    $16,            %edx
 
2657
.L045dj6:
 
2658
        movb    %dh,            5(%edi)
 
2659
.L046dj5:
 
2660
        movb    %dl,            4(%edi)
 
2661
.L047dj4:
 
2662
        movl    %ecx,           (%edi)
 
2663
        jmp     .L048djend
 
2664
.L049dj3:
 
2665
        rorl    $16,            %ecx
 
2666
        movb    %cl,            2(%edi)
 
2667
        sall    $16,            %ecx
 
2668
.L050dj2:
 
2669
        movb    %ch,            1(%esi)
 
2670
.L051dj1:
 
2671
        movb    %cl,            (%esi)
 
2672
.L048djend:
 
2673
        jmp     .L031finish
 
2674
.align 16
 
2675
.L031finish:
 
2676
        movl    76(%esp),       %ecx
 
2677
        addl    $32,            %esp
 
2678
        movl    %eax,           (%ecx)
 
2679
        movl    %ebx,           4(%ecx)
 
2680
        popl    %edi
 
2681
        popl    %esi
 
2682
        popl    %ebx
 
2683
        popl    %ebp
 
2684
        ret
 
2685
.align 16
 
2686
.L033cbc_enc_jmp_table:
 
2687
        .long 0
 
2688
        .long .L041ej1-.L032PIC_point
 
2689
        .long .L040ej2-.L032PIC_point
 
2690
        .long .L039ej3-.L032PIC_point
 
2691
        .long .L037ej4-.L032PIC_point
 
2692
        .long .L036ej5-.L032PIC_point
 
2693
        .long .L035ej6-.L032PIC_point
 
2694
        .long .L034ej7-.L032PIC_point
 
2695
.L_DES_ede3_cbc_encrypt_end:
 
2696
        .size   DES_ede3_cbc_encrypt,.L_DES_ede3_cbc_encrypt_end-DES_ede3_cbc_encrypt
 
2697
.ident  "desasm.pl"