40a310:	59                   	pop    %ecx
40a311:	00 00                	add    %al,(%eax)
40a313:	0a 08                	or     (%eax),%cl
40a315:	73 2d                	jae    0x40a344
40a317:	00 00                	add    %al,(%eax)
40a319:	0a 04 6f             	or     (%edi,%ebp,2),%al
40a31c:	22 02                	and    (%edx),%al
40a31e:	00 0a                	add    %cl,(%edx)
40a320:	28 57 01             	sub    %dl,0x1(%edi)
40a323:	00 0a                	add    %cl,(%edx)
40a325:	28 a0 02 00 06 6f    	sub    %ah,0x6f060002(%eax)
40a32b:	39 00                	cmp    %eax,(%eax)
40a32d:	00 0a                	add    %cl,(%edx)
40a32f:	04 6f                	add    $0x6f,%al
40a331:	20 02                	and    %al,(%edx)
40a333:	00 0a                	add    %cl,(%edx)
40a335:	6f                   	outsl  %ds:(%esi),(%dx)
40a336:	c2 01 00             	ret    $0x1
40a339:	0a 2a                	or     (%edx),%ch
40a33b:	00 03                	add    %al,(%ebx)
40a33d:	30 03                	xor    %al,(%ebx)
40a33f:	00 54 00 00          	add    %dl,0x0(%eax,%eax,1)
40a343:	00 00                	add    %al,(%eax)
40a345:	00 00                	add    %al,(%eax)
40a347:	00 02                	add    %al,(%edx)
40a349:	16                   	push   %ss
40a34a:	7d 9b                	jge    0x40a2e7
40a34c:	00 00                	add    %al,(%eax)
40a34e:	04 02                	add    $0x2,%al
40a350:	16                   	push   %ss
40a351:	7d 9c                	jge    0x40a2ef
40a353:	00 00                	add    %al,(%eax)
40a355:	04 02                	add    $0x2,%al
40a357:	17                   	pop    %ss
40a358:	7d 9d                	jge    0x40a2f7
40a35a:	00 00                	add    %al,(%eax)
40a35c:	04 02                	add    $0x2,%al
40a35e:	28 1d 00 00 0a 7d    	sub    %bl,0x7d0a0000
40a364:	9e                   	sahf
40a365:	00 00                	add    %al,(%eax)
40a367:	04 02                	add    $0x2,%al
40a369:	28 1f                	sub    %bl,(%edi)
40a36b:	00 00                	add    %al,(%eax)
40a36d:	0a 02                	or     (%edx),%al
40a36f:	20 12                	and    %dl,(%edx)
40a371:	28 02                	sub    %al,(%edx)
40a373:	00 17                	add    %dl,(%edi)
40a375:	28 1b                	sub    %bl,(%ebx)
40a377:	00 00                	add    %al,(%eax)
40a379:	0a 02                	or     (%edx),%al
40a37b:	17                   	pop    %ss
40a37c:	6f                   	outsl  %ds:(%esi),(%dx)
40a37d:	1c 00                	sbb    $0x0,%al
40a37f:	00 0a                	add    %cl,(%edx)
40a381:	02 20                	add    (%eax),%ah
40a383:	cc                   	int3
40a384:	e2 41                	loop   0x40a3c7
40a386:	79 28                	jns    0x40a3b0
40a388:	7b 01                	jnp    0x40a38b
40a38a:	00 06                	add    %al,(%esi)
40a38c:	22 00                	and    (%eax),%al
40a38e:	00 40 41             	add    %al,0x41(%eax)
40a391:	73 38                	jae    0x40a3cb
40a393:	00 00                	add    %al,(%eax)
40a395:	0a 6f 21             	or     0x21(%edi),%ch
40a398:	00 00                	add    %al,(%eax)
40a39a:	0a 2a                	or     (%edx),%ch
40a39c:	13 30                	adc    (%eax),%esi
40a39e:	01 00                	add    %eax,(%eax)
40a3a0:	09 00                	or     %eax,(%eax)
40a3a2:	00 00                	add    %al,(%eax)
40a3a4:	0b 00                	or     (%eax),%eax
40a3a6:	00 11                	add    %dl,(%ecx)
40a3a8:	02 7b 9d             	add    -0x63(%ebx),%bh
40a3ab:	00 00                	add    %al,(%eax)
40a3ad:	04 0a                	add    $0xa,%al
40a3af:	06                   	push   %es
40a3b0:	2a 00                	sub    (%eax),%al
40a3b2:	00 00                	add    %al,(%eax)
40a3b4:	3a 02                	cmp    (%edx),%al
40a3b6:	03 7d 9d             	add    -0x63(%ebp),%edi
40a3b9:	00 00                	add    %al,(%eax)
40a3bb:	04 02                	add    $0x2,%al
40a3bd:	28 22                	sub    %ah,(%edx)
40a3bf:	00 00                	add    %al,(%eax)
40a3c1:	0a 2a                	or     (%edx),%ch
40a3c3:	00 13                	add    %dl,(%ebx)
40a3c5:	30 01                	xor    %al,(%ecx)
40a3c7:	00 09                	add    %cl,(%ecx)
40a3c9:	00 00                	add    %al,(%eax)
40a3cb:	00 0c 00             	add    %cl,(%eax,%eax,1)
40a3ce:	00 11                	add    %dl,(%ecx)
40a3d0:	02 7b 9e             	add    -0x62(%ebx),%bh
40a3d3:	00 00                	add    %al,(%eax)
40a3d5:	04 0a                	add    $0xa,%al
40a3d7:	06                   	push   %es
40a3d8:	2a 00                	sub    (%eax),%al
40a3da:	00 00                	add    %al,(%eax)
40a3dc:	3a 02                	cmp    (%edx),%al
40a3de:	03 7d 9e             	add    -0x62(%ebp),%edi
40a3e1:	00 00                	add    %al,(%eax)
40a3e3:	04 02                	add    $0x2,%al
40a3e5:	28 22                	sub    %ah,(%edx)
40a3e7:	00 00                	add    %al,(%eax)
40a3e9:	0a 2a                	or     (%edx),%ch
40a3eb:	00 56 02             	add    %dl,0x2(%esi)
40a3ee:	03 28                	add    (%eax),%ebp
40a3f0:	04 01                	add    $0x1,%al
40a3f2:	00 0a                	add    %cl,(%edx)
40a3f4:	02 17                	add    (%edi),%dl
40a3f6:	7d 9b                	jge    0x40a393
40a3f8:	00 00                	add    %al,(%eax)
40a3fa:	04 02                	add    $0x2,%al
40a3fc:	28 22                	sub    %ah,(%edx)
40a3fe:	00 00                	add    %al,(%eax)
40a400:	0a 2a                	or     (%edx),%ch
40a402:	00 00                	add    %al,(%eax)
40a404:	56                   	push   %esi
40a405:	02 03                	add    (%ebx),%al
40a407:	28 05 01 00 0a 02    	sub    %al,0x20a0001
40a40d:	16                   	push   %ss
40a40e:	7d 9b                	jge    0x40a3ab
40a410:	00 00                	add    %al,(%eax)
40a412:	04 02                	add    $0x2,%al
40a414:	28 22                	sub    %ah,(%edx)
40a416:	00 00                	add    %al,(%eax)
40a418:	0a 2a                	or     (%edx),%ch
40a41a:	00 00                	add    %al,(%eax)
40a41c:	56                   	push   %esi
40a41d:	02 03                	add    (%ebx),%al
40a41f:	28 06                	sub    %al,(%esi)
40a421:	01 00                	add    %eax,(%eax)
40a423:	0a 02                	or     (%edx),%al
40a425:	17                   	pop    %ss
40a426:	7d 9c                	jge    0x40a3c4
40a428:	00 00                	add    %al,(%eax)
40a42a:	04 02                	add    $0x2,%al
40a42c:	28 22                	sub    %ah,(%edx)
40a42e:	00 00                	add    %al,(%eax)
40a430:	0a 2a                	or     (%edx),%ch
40a432:	00 00                	add    %al,(%eax)
40a434:	56                   	push   %esi
40a435:	02 03                	add    (%ebx),%al
40a437:	28 07                	sub    %al,(%edi)
40a439:	01 00                	add    %eax,(%eax)
40a43b:	0a 02                	or     (%edx),%al
40a43d:	16                   	push   %ss
40a43e:	7d 9c                	jge    0x40a3dc
40a440:	00 00                	add    %al,(%eax)
40a442:	04 02                	add    $0x2,%al
40a444:	28 22                	sub    %ah,(%edx)
40a446:	00 00                	add    %al,(%eax)
40a448:	0a 2a                	or     (%edx),%ch
40a44a:	00 00                	add    %al,(%eax)
40a44c:	13 30                	adc    (%eax),%esi
40a44e:	08 00                	or     %al,(%eax)
40a450:	35 02 00 00 4e       	xor    $0x4e000002,%eax
40a455:	00 00                	add    %al,(%eax)
40a457:	11 03                	adc    %eax,(%ebx)
40a459:	6f                   	outsl  %ds:(%esi),(%dx)
40a45a:	26 00 00             	add    %al,%es:(%eax)
40a45d:	0a 0a                	or     (%edx),%cl
40a45f:	06                   	push   %es
40a460:	18 6f 27             	sbb    %ch,0x27(%edi)
40a463:	00 00                	add    %al,(%eax)
40a465:	0a 06                	or     (%esi),%al
40a467:	18 6f 28             	sbb    %ch,0x28(%edi)
40a46a:	00 00                	add    %al,(%eax)
40a46c:	0a 06                	or     (%esi),%al
40a46e:	1b 6f 29             	sbb    0x29(%edi),%ebp
40a471:	00 00                	add    %al,(%eax)
40a473:	0a 06                	or     (%esi),%al
40a475:	02 28                	add    (%eax),%ch
40a477:	2a 00                	sub    (%eax),%al
40a479:	00 0a                	add    %cl,(%edx)
40a47b:	6f                   	outsl  %ds:(%esi),(%dx)
40a47c:	2b 00                	sub    (%eax),%eax
40a47e:	00 0a                	add    %cl,(%edx)
40a480:	6f                   	outsl  %ds:(%esi),(%dx)
40a481:	2c 00                	sub    $0x0,%al
40a483:	00 0a                	add    %cl,(%edx)
40a485:	73 0f                	jae    0x40a496
40a487:	01 00                	add    %eax,(%eax)
40a489:	0a 0b                	or     (%ebx),%cl
40a48b:	07                   	pop    %es
40a48c:	22 00                	and    (%eax),%al
40a48e:	00 00                	add    %al,(%eax)
40a490:	3f                   	aas
40a491:	22 00                	and    (%eax),%al
40a493:	00 00                	add    %al,(%eax)
40a495:	3f                   	aas
40a496:	02 28                	add    (%eax),%ch
40a498:	24 00                	and    $0x0,%al
40a49a:	00 0a                	add    %cl,(%edx)
40a49c:	17                   	pop    %ss
40a49d:	59                   	pop    %ecx
40a49e:	6b 02 28             	imul   $0x28,(%edx),%eax
40a4a1:	24 00                	and    $0x0,%al
40a4a3:	00 0a                	add    %cl,(%edx)
40a4a5:	17                   	pop    %ss
40a4a6:	59                   	pop    %ecx
40a4a7:	6b 73 32 00          	imul   $0x0,0x32(%ebx),%esi
40a4ab:	00 0a                	add    %cl,(%edx)
40a4ad:	22 00                	and    (%eax),%al
40a4af:	00 b4 42 22 00 00 34 	add    %dh,0x34000022(%edx,%eax,2)
40a4b6:	43                   	inc    %ebx
40a4b7:	6f                   	outsl  %ds:(%esi),(%dx)
40a4b8:	85 01                	test   %eax,(%ecx)
40a4ba:	00 0a                	add    %cl,(%edx)
40a4bc:	07                   	pop    %es
40a4bd:	02 28                	add    (%eax),%ch
40a4bf:	2e 00 00             	add    %al,%cs:(%eax)
40a4c2:	0a 02                	or     (%edx),%al
40a4c4:	28 24 00             	sub    %ah,(%eax,%eax,1)
40a4c7:	00 0a                	add    %cl,(%edx)
40a4c9:	59                   	pop    %ecx
40a4ca:	6b 22 00             	imul   $0x0,(%edx),%esp
40a4cd:	00 00                	add    %al,(%eax)
40a4cf:	3f                   	aas
40a4d0:	58                   	pop    %eax
40a4d1:	22 00                	and    (%eax),%al
40a4d3:	00 00                	add    %al,(%eax)
40a4d5:	3f                   	aas
40a4d6:	02 28                	add    (%eax),%ch
40a4d8:	24 00                	and    $0x0,%al
40a4da:	00 0a                	add    %cl,(%edx)
40a4dc:	17                   	pop    %ss
40a4dd:	59                   	pop    %ecx
40a4de:	6b 02 28             	imul   $0x28,(%edx),%eax
40a4e1:	24 00                	and    $0x0,%al
40a4e3:	00 0a                	add    %cl,(%edx)
40a4e5:	17                   	pop    %ss
40a4e6:	59                   	pop    %ecx
40a4e7:	6b 73 32 00          	imul   $0x0,0x32(%ebx),%esi
40a4eb:	00 0a                	add    %cl,(%edx)
40a4ed:	22 00                	and    (%eax),%al
40a4ef:	00 87 43 22 00 00    	add    %al,0x2243(%edi)
40a4f5:	34 43                	xor    $0x43,%al
40a4f7:	6f                   	outsl  %ds:(%esi),(%dx)
40a4f8:	85 01                	test   %eax,(%ecx)
40a4fa:	00 0a                	add    %cl,(%edx)
40a4fc:	07                   	pop    %es
40a4fd:	6f                   	outsl  %ds:(%esi),(%dx)
40a4fe:	11 01                	adc    %eax,(%ecx)
40a500:	00 0a                	add    %cl,(%edx)
40a502:	02 7b 9d             	add    -0x63(%ebx),%bh
40a505:	00 00                	add    %al,(%eax)
40a507:	04 16                	add    $0x16,%al
40a509:	fe 01                	incb   (%ecx)
40a50b:	0c 08                	or     $0x8,%al
40a50d:	39 a9 00 00 00 06    	cmp    %ebp,0x6000000(%ecx)
40a513:	02 7b 9c             	add    -0x64(%ebx),%bh
40a516:	00 00                	add    %al,(%eax)
40a518:	04 2d                	add    $0x2d,%al
40a51a:	07                   	pop    %es
40a51b:	7e 1a                	jle    0x40a537
40a51d:	00 00                	add    %al,(%eax)
40a51f:	04 2b                	add    $0x2b,%al
40a521:	05 7e 0f 00 00       	add    $0xf7e,%eax
40a526:	04 22                	add    $0x22,%al
40a528:	00 00                	add    %al,(%eax)
40a52a:	80 3f 73             	cmpb   $0x73,(%edi)
40a52d:	34 00                	xor    $0x0,%al
40a52f:	00 0a                	add    %cl,(%edx)
40a531:	07                   	pop    %es
40a532:	6f                   	outsl  %ds:(%esi),(%dx)
40a533:	5f                   	pop    %edi
40a534:	00 00                	add    %al,(%eax)
40a536:	0a 06                	or     (%esi),%al
40a538:	02 7b 9b             	add    -0x65(%ebx),%bh
40a53b:	00 00                	add    %al,(%eax)
40a53d:	04 2d                	add    $0x2d,%al
40a53f:	07                   	pop    %es
40a540:	28 1d 00 00 0a 2b    	sub    %bl,0x2b0a0000
40a546:	0c 1f                	or     $0x1f,%al
40a548:	19 7e 0f             	sbb    %edi,0xf(%esi)
40a54b:	00 00                	add    %al,(%eax)
40a54d:	04 28                	add    $0x28,%al
40a54f:	08 01                	or     %al,(%ecx)
40a551:	00 0a                	add    %cl,(%edx)
40a553:	73 2d                	jae    0x40a582
40a555:	00 00                	add    %al,(%eax)
40a557:	0a 07                	or     (%edi),%al
40a559:	6f                   	outsl  %ds:(%esi),(%dx)
40a55a:	5d                   	pop    %ebp
40a55b:	00 00                	add    %al,(%eax)
40a55d:	0a 06                	or     (%esi),%al
40a55f:	02 6f 47             	add    0x47(%edi),%ch
40a562:	00 00                	add    %al,(%eax)
40a564:	0a 02                	or     (%edx),%al
40a566:	6f                   	outsl  %ds:(%esi),(%dx)
40a567:	59                   	pop    %ecx
40a568:	00 00                	add    %al,(%eax)
40a56a:	0a 02                	or     (%edx),%al
40a56c:	7b 9b                	jnp    0x40a509
40a56e:	00 00                	add    %al,(%eax)
40a570:	04 2d                	add    $0x2d,%al
40a572:	07                   	pop    %es
40a573:	7e 16                	jle    0x40a58b
40a575:	00 00                	add    %al,(%eax)
40a577:	04 2b                	add    $0x2b,%al
40a579:	05 7e 0f 00 00       	add    $0xf7e,%eax
40a57e:	04 73                	add    $0x73,%al
40a580:	2d 00 00 0a 02       	sub    $0x20a0000,%eax
40a585:	28 24 00             	sub    %ah,(%eax,%eax,1)
40a588:	00 0a                	add    %cl,(%edx)
40a58a:	18 5b 6b             	sbb    %bl,0x6b(%ebx)
40a58d:	22 00                	and    (%eax),%al
40a58f:	00 00                	add    %al,(%eax)
40a591:	00 02                	add    %al,(%edx)
40a593:	28 2e                	sub    %ch,(%esi)
40a595:	00 00                	add    %al,(%eax)
40a597:	0a 02                	or     (%edx),%al
40a599:	28 24 00             	sub    %ah,(%eax,%eax,1)
40a59c:	00 0a                	add    %cl,(%edx)
40a59e:	59                   	pop    %ecx
40a59f:	6b 02 28             	imul   $0x28,(%edx),%eax
40a5a2:	24 00                	and    $0x0,%al
40a5a4:	00 0a                	add    %cl,(%edx)
40a5a6:	6b 73 32 00          	imul   $0x0,0x32(%ebx),%esi
40a5aa:	00 0a                	add    %cl,(%edx)
40a5ac:	28 9e 02 00 06 6f    	sub    %bl,0x6f060002(%esi)
40a5b2:	39 00                	cmp    %eax,(%eax)
40a5b4:	00 0a                	add    %cl,(%edx)
40a5b6:	38 d1                	cmp    %dl,%cl
40a5b8:	00 00                	add    %al,(%eax)
40a5ba:	00 7e 0f             	add    %bh,0xf(%esi)
40a5bd:	00 00                	add    %al,(%eax)
40a5bf:	04 0d                	add    $0xd,%al
40a5c1:	02 7b 9d             	add    -0x63(%ebx),%bh
40a5c4:	00 00                	add    %al,(%eax)
40a5c6:	04 13                	add    $0x13,%al
40a5c8:	06                   	push   %es
40a5c9:	11 06                	adc    %eax,(%esi)
40a5cb:	13 05 11 05 17 59    	adc    0x59170511,%eax
40a5d1:	45                   	inc    %ebp
40a5d2:	05 00 00 00 02       	add    $0x2000000,%eax
40a5d7:	00 00                	add    %al,(%eax)
40a5d9:	00 0a                	add    %cl,(%edx)
40a5db:	00 00                	add    %al,(%eax)
40a5dd:	00 12                	add    %dl,(%edx)
40a5df:	00 00                	add    %al,(%eax)
40a5e1:	00 1a                	add    %bl,(%edx)
40a5e3:	00 00                	add    %al,(%eax)
40a5e5:	00 22                	add    %ah,(%edx)
40a5e7:	00 00                	add    %al,(%eax)
40a5e9:	00 2b                	add    %ch,(%ebx)
40a5eb:	26 7e 0f             	es jle 0x40a5fd
40a5ee:	00 00                	add    %al,(%eax)
40a5f0:	04 0d                	add    $0xd,%al