40a470:	01 0e                	add    %ecx,(%esi)
40a472:	0c 11                	or     $0x11,%al
40a474:	81 3d 11 81 41 05 02 	cmpl   $0x1200602,0x5418111
40a47b:	06 20 01
40a47e:	01 12                	add    %edx,(%edx)
40a480:	81 39 05 20 02 01    	cmpl   $0x1022005,(%ecx)
40a486:	08 08                	or     %cl,(%eax)
40a488:	06                   	push   %es
40a489:	20 01                	and    %al,(%ecx)
40a48b:	01 11                	add    %edx,(%ecx)
40a48d:	81 45 06 20 01 01 11 	addl   $0x11010120,0x6(%ebp)
40a494:	80 d9 05             	sbb    $0x5,%cl
40a497:	20 00                	and    %al,(%eax)
40a499:	12 81 4d 07 20 01    	adc    0x120074d(%ecx),%al
40a49f:	01 1d 12 81 51 06    	add    %ebx,0x6518112
40a4a5:	20 01                	and    %al,(%ecx)
40a4a7:	01 11                	add    %edx,(%ecx)
40a4a9:	81 59 0c 20 05 01 0e 	sbbl   $0xe010520,0xc(%ecx)
40a4b0:	0c 11                	or     $0x11,%al
40a4b2:	81 3d 11 81 41 05 05 	cmpl   $0x1022005,0x5418111
40a4b9:	20 02 01
40a4bc:	0c 0c                	or     $0xc,%al
40a4be:	06                   	push   %es
40a4bf:	20 01                	and    %al,(%ecx)
40a4c1:	01 11                	add    %edx,(%ecx)
40a4c3:	81 61 06 20 01 01 11 	andl   $0x11010120,0x6(%ecx)
40a4ca:	81 69 06 20 01 01 11 	subl   $0x11010120,0x6(%ecx)
40a4d1:	81 6d 05 20 00 12 81 	subl   $0x81120020,0x5(%ebp)
40a4d8:	71 06                	jno    0x40a4e0
40a4da:	20 01                	and    %al,(%ecx)
40a4dc:	01 12                	add    %edx,(%edx)
40a4de:	81 11 05 20 01 01    	adcl   $0x1012005,(%ecx)
40a4e4:	12 59 06             	adc    0x6(%ecx),%bl
40a4e7:	20 01                	and    %al,(%ecx)
40a4e9:	01 11                	add    %edx,(%ecx)
40a4eb:	81 75 05 07 01 11 80 	xorl   $0x80110107,0x5(%ebp)
40a4f2:	8d 03                	lea    (%ebx),%eax
40a4f4:	07                   	pop    %es
40a4f5:	01 0e                	add    %ecx,(%esi)
40a4f7:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
40a4fc:	0e                   	push   %cs
40a4fd:	07                   	pop    %es
40a4fe:	07                   	pop    %es
40a4ff:	03 02                	add    (%edx),%eax
40a501:	12 80 95 02 07 20    	adc    0x20070295(%eax),%al
40a507:	02 01                	add    (%ecx),%al
40a509:	0e                   	push   %cs
40a50a:	12 81 79 09 07 03    	adc    0x3070979(%ecx),%al
40a510:	02 12                	add    (%edx),%dl
40a512:	80 95 12 80 99 05 20 	adcb   $0x20,0x5998012(%ebp)
40a519:	00 12                	add    %dl,(%edx)
40a51b:	80 99 05 07 03 0d 02 	sbbb   $0x2,0xd030705(%ecx)
40a522:	02 05 00 02 0d 0d    	add    0xd0d0200,%al
40a528:	0d 04 00 01 0d       	or     $0xd010004,%eax
40a52d:	0d 0c 07 06 12       	or     $0x1206070c,%eax
40a532:	14 0e                	adc    $0xe,%al
40a534:	12 80 9d 12 20 02    	adc    0x220129d(%eax),%al
40a53a:	02 04 20             	add    (%eax,%eiz,1),%al
40a53d:	01 1c 0e             	add    %ebx,(%esi,%ecx,1)
40a540:	03 20                	add    (%eax),%esp
40a542:	00 02                	add    %al,(%edx)
40a544:	05 07 01 11 80       	add    $0x80110107,%eax
40a549:	a1 03 07 01 0a       	mov    0xa010703,%eax
40a54e:	0a 15 12 80 a5 02    	or     0x2a58012,%dl
40a554:	12 80 a9 12 30 04    	adc    0x43012a9(%eax),%al
40a55a:	07                   	pop    %es
40a55b:	02 08                	add    (%eax),%cl
40a55d:	02 05 10 01 00 1e    	add    0x1e000110,%al
40a563:	00 04 0a             	add    %al,(%edx,%ecx,1)
40a566:	01 1e                	add    %ebx,(%esi)
40a568:	00 02                	add    %al,(%edx)
40a56a:	1e                   	push   %ds
40a56b:	00 05 20 00 12 80    	add    %al,0x80120020
40a571:	a9 07 20 02 01       	test   $0x1022007,%eax
40a576:	13 00                	adc    (%eax),%eax
40a578:	13 01                	adc    (%ecx),%eax
40a57a:	04 07                	add    $0x7,%al
40a57c:	02 02                	add    (%edx),%al
40a57e:	02 08                	add    (%eax),%cl
40a580:	07                   	pop    %es
40a581:	02 1d 12 30 1d 12    	add    0x121d3012,%bl
40a587:	30 0b                	xor    %cl,(%ebx)
40a589:	20 00                	and    %al,(%eax)
40a58b:	15 12 81 91 02       	adc    $0x2918112,%eax
40a590:	13 00                	adc    (%eax),%eax
40a592:	13 01                	adc    (%ecx),%eax
40a594:	0a 15 12 81 91 02    	or     0x2918112,%dl
40a59a:	12 80 a9 12 30 07    	adc    0x73012a9(%eax),%al
40a5a0:	20 02                	and    %al,(%edx)
40a5a2:	01 1d 13 01 08 05    	add    %ebx,0x5080113
40a5a8:	07                   	pop    %es
40a5a9:	01 1d 1e 00 05 07    	add    %ebx,0x705001e
40a5af:	01 1d 12 30 04 07    	add    %ebx,0x7043012
40a5b5:	01 1e                	add    %ebx,(%esi)
40a5b7:	00 08                	add    %cl,(%eax)
40a5b9:	00 01                	add    %al,(%ecx)
40a5bb:	12 80 a9 11 81 95    	adc    -0x6a7eee57(%eax),%al
40a5c1:	08 07                	or     %al,(%edi)
40a5c3:	04 12                	add    $0x12,%al
40a5c5:	30 02                	xor    %al,(%edx)
40a5c7:	12 30                	adc    (%eax),%dh
40a5c9:	02 08                	add    (%eax),%cl
40a5cb:	20 02                	and    %al,(%edx)
40a5cd:	02 13                	add    (%ebx),%dl
40a5cf:	00 10                	add    %dl,(%eax)
40a5d1:	13 01                	adc    (%ecx),%eax
40a5d3:	05 20 01 02 13       	add    $0x13020120,%eax
40a5d8:	00 06                	add    %al,(%esi)
40a5da:	07                   	pop    %es
40a5db:	04 08                	add    $0x8,%al
40a5dd:	02 02                	add    (%edx),%al
40a5df:	02 05 07 03 02 02    	add    0x2020307,%al
40a5e5:	02 17                	add    (%edi),%dl
40a5e7:	07                   	pop    %es
40a5e8:	03 15 11 80 b1 02    	add    0x2b18011,%edx
40a5ee:	12 80 a9 12 30 15    	adc    0x153012a9(%eax),%al
40a5f4:	11 80 b5 02 12 80    	adc    %eax,-0x7fedfd4b(%eax)
40a5fa:	a9 12 30 02 0b       	test   $0xb023012,%eax
40a5ff:	20 00                	and    %al,(%eax)
40a601:	15 11 80 b1 02       	adc    $0x2b18011,%eax
40a606:	13 00                	adc    (%eax),%eax
40a608:	13 01                	adc    (%ecx),%eax
40a60a:	0a 15 11 80 b1 02    	or     0x2b18011,%dl
40a610:	12 80 a9 12 30 0b    	adc    0xb3012a9(%eax),%al
40a616:	20 00                	and    %al,(%eax)
40a618:	15 11 80 b5 02       	adc    $0x2b58011,%eax
40a61d:	13 00                	adc    (%eax),%eax
40a61f:	13 01                	adc    (%ecx),%eax
40a621:	1f                   	pop    %ds
40a622:	07                   	pop    %es
40a623:	04 15                	add    $0x15,%al
40a625:	12 41 01             	adc    0x1(%ecx),%al
40a628:	1e                   	push   %ds
40a629:	00 15 11 80 b1 02    	add    %dl,0x2b18011
40a62f:	12 80 a9 12 30 15    	adc    0x153012a9(%eax),%al
40a635:	11 80 b5 02 12 80    	adc    %eax,-0x7fedfd4b(%eax)
40a63b:	a9 12 30 1d 1e       	test   $0x1e1d3012,%eax
40a640:	00 06                	add    %al,(%esi)
40a642:	15 12 41 01 1e       	adc    $0x1e014112,%eax
40a647:	00 05 20 00 1d 13    	add    %al,0x131d0020
40a64d:	00 1f                	add    %bl,(%edi)
40a64f:	07                   	pop    %es
40a650:	04 15                	add    $0x15,%al
40a652:	12 41 01             	adc    0x1(%ecx),%al
40a655:	12 30                	adc    (%eax),%dh
40a657:	15 11 80 b1 02       	adc    $0x2b18011,%eax
40a65c:	12 80 a9 12 30 15    	adc    0x153012a9(%eax),%al
40a662:	11 80 b5 02 12 80    	adc    %eax,-0x7fedfd4b(%eax)
40a668:	a9 12 30 1d 12       	test   $0x121d3012,%eax
40a66d:	30 06                	xor    %al,(%esi)
40a66f:	15 12 41 01 12       	adc    $0x12014112,%eax
40a674:	30 04 00             	xor    %al,(%eax,%eax,1)
40a677:	01 01                	add    %eax,(%ecx)
40a679:	0e                   	push   %cs
40a67a:	03 07                	add    (%edi),%eax
40a67c:	01 0d 04 07 01 11    	add    %ecx,0x11010704
40a682:	44                   	inc    %esp
40a683:	05 07 03 02 08       	add    $0x8020307,%eax
40a688:	02 05 07 03 08 08    	add    0x8080307,%al
40a68e:	08 06                	or     %al,(%esi)
40a690:	00 03                	add    %al,(%ebx)
40a692:	0e                   	push   %cs
40a693:	0e                   	push   %cs
40a694:	1c 1c                	sbb    $0x1c,%al
40a696:	05 07 02 11 44       	add    $0x44110207,%eax
40a69b:	0d 03 07 01 05       	or     $0x5010703,%eax
40a6a0:	03 07                	add    (%edi),%eax
40a6a2:	01 06                	add    %eax,(%esi)
40a6a4:	03 07                	add    (%edi),%eax
40a6a6:	01 07                	add    %eax,(%edi)
40a6a8:	03 07                	add    (%edi),%eax
40a6aa:	01 09                	add    %ecx,(%ecx)
40a6ac:	03 07                	add    (%edi),%eax
40a6ae:	01 0b                	add    %ecx,(%ebx)
40a6b0:	03 07                	add    (%edi),%eax
40a6b2:	01 0c 05 07 01 11 80 	add    %ecx,-0x7feefef9(,%eax,1)
40a6b9:	d1 06                	roll   $1,(%esi)
40a6bb:	00 01                	add    %al,(%ecx)
40a6bd:	11 80 d1 0d 09 20    	adc    %eax,0x20090dd1(%eax)
40a6c3:	02 12                	add    (%edx),%dl
40a6c5:	81 a1 0e 11 81 a5 04 	andl   $0x1c012004,-0x5a7eeef2(%ecx)
40a6cc:	20 01 1c
40a6cf:	1c 03                	sbb    $0x3,%al
40a6d1:	1d 1e 00 06 20       	sbb    $0x2006001e,%eax
40a6d6:	01 02                	add    %eax,(%edx)
40a6d8:	12 80 a9 04 07 01    	adc    0x10704a9(%eax),%al
40a6de:	1d 05 0a 07 05       	sbb    $0x5070a05,%eax
40a6e3:	1d 05 12 80 d5       	sbb    $0xd5801205,%eax
40a6e8:	1c 1c                	sbb    $0x1c,%al
40a6ea:	0e                   	push   %cs
40a6eb:	05 00 00 12 81       	add    $0x81120000,%eax
40a6f0:	ad                   	lods   %ds:(%esi),%eax
40a6f1:	07                   	pop    %es
40a6f2:	20 01                	and    %al,(%ecx)
40a6f4:	12 80 d5 1d 05 0e    	adc    0xe051dd5(%eax),%al
40a6fa:	00 06                	add    %al,(%esi)
40a6fc:	1c 1c                	sbb    $0x1c,%al
40a6fe:	12 80 a9 0e 1d 1c    	adc    0x1c1d0ea9(%eax),%al
40a704:	1d 0e 1d 02 04       	sbb    $0x4021d0e,%eax
40a709:	00 01                	add    %al,(%ecx)
40a70b:	01 08                	add    %ecx,(%eax)
40a70d:	04 07                	add    $0x7,%al
40a70f:	02 0d 0d 09 07 03    	add    0x307090d,%cl
40a715:	02 12                	add    (%edx),%dl
40a717:	80 e9 12             	sub    $0x12,%cl
40a71a:	80 e9 05             	sub    $0x5,%cl
40a71d:	20 00                	and    %al,(%eax)
40a71f:	12 80 d5 07 20 02    	adc    0x22007d5(%eax),%al
40a725:	01 0e                	add    %ecx,(%esi)
40a727:	12 80 d5 05 07 01    	adc    0x10705d5(%eax),%al
40a72d:	12 80 ed 05 07 02    	adc    0x20705ed(%eax),%al
40a733:	1c 1d                	sbb    $0x1d,%al
40a735:	05 07 20 02 1c       	add    $0x1c022007,%eax
40a73a:	0e                   	push   %cs
40a73b:	12 80 ed 02 1d 05    	adc    0x51d02ed(%eax),%al
40a741:	06                   	push   %es
40a742:	07                   	pop    %es
40a743:	02 1c 12             	add    (%edx,%edx,1),%bl
40a746:	80 f1 14             	xor    $0x14,%cl
40a749:	07                   	pop    %es
40a74a:	10 0d 0d 0d 0d 0d    	adc    %cl,0xd0d0d0d
40a750:	0d 0d 0c 0c 0c       	or     $0xc0c0c0d,%eax
40a755:	0c 0c                	or     $0xc,%al
40a757:	0c 0c                	or     $0xc,%al
40a759:	0c 11                	or     $0x11,%al
40a75b:	80 88 05 07 01 11 80 	orb    $0x80,0x11010705(%eax)
40a762:	88 07                	mov    %al,(%edi)
40a764:	07                   	pop    %es
40a765:	03 0d 0d 11 80 94    	add    0x9480110d,%ecx
40a76b:	04 07                	add    $0x7,%al
40a76d:	01 12                	add    %edx,(%edx)
40a76f:	54                   	push   %esp
40a770:	04 00                	add    $0x0,%al
40a772:	01 01                	add    %eax,(%ecx)
40a774:	02 08                	add    (%eax),%cl
40a776:	15 12 80 fd 02       	adc    $0x2fd8012,%eax
40a77b:	0e                   	push   %cs
40a77c:	12 5c 06 20          	adc    0x20(%esi,%eax,1),%bl
40a780:	01 13                	add    %edx,(%ebx)
40a782:	01 13                	add    %edx,(%ebx)
40a784:	00 08                	add    %cl,(%eax)
40a786:	15 12 80 a5 02       	adc    $0x2a58012,%eax
40a78b:	0e                   	push   %cs
40a78c:	12 5c 09 15          	adc    0x15(%ecx,%ecx,1),%bl
40a790:	12 80 fd 02 0e 11    	adc    0x110e02fd(%eax),%al
40a796:	80 88 0a 07 04 12 80 	orb    $0x80,0x1204070a(%eax)
40a79d:	f1                   	int1
40a79e:	08 08                	or     %cl,(%eax)
40a7a0:	12 81 09 04 00 01    	adc    0x1000409(%ecx),%al
40a7a6:	02 0e                	add    (%esi),%cl
40a7a8:	06                   	push   %es
40a7a9:	20 01                	and    %al,(%ecx)
40a7ab:	01 11                	add    %edx,(%ecx)
40a7ad:	81 c1 07 20 04 01    	add    $0x1042007,%ecx
40a7b3:	08 08                	or     %cl,(%eax)
40a7b5:	08 08                	or     %cl,(%eax)
40a7b7:	0e                   	push   %cs
40a7b8:	20 03                	and    %al,(%ebx)
40a7ba:	12 81 09 11 81 c5    	adc    -0x3a7eeef7(%ecx),%al
40a7c0:	11 81 c9 11 81 05    	adc    %eax,0x58111c9(%ecx)
40a7c6:	06                   	push   %es
40a7c7:	20 01                	and    %al,(%ecx)
40a7c9:	01 12                	add    %edx,(%edx)
40a7cb:	81 09 09 15 12 80    	orl    $0x80121509,(%ecx)
40a7d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a7d2:	02 0e                	add    (%esi),%cl
40a7d4:	11 80 88 08 b7 7a    	adc    %eax,0x7ab70888(%eax)
40a7da:	5c                   	pop    %esp
40a7db:	56                   	push   %esi
40a7dc:	19 34 e0             	sbb    %esi,(%eax,%eiz,8)
40a7df:	89 08                	mov    %ecx,(%eax)
40a7e1:	b0 3f                	mov    $0x3f,%al
40a7e3:	5f                   	pop    %edi
40a7e4:	7f 11                	jg     0x40a7f7
40a7e6:	d5 0a                	aad    $0xa
40a7e8:	3a 04 06             	cmp    (%esi,%eax,1),%al
40a7eb:	00 00                	add    %al,(%eax)
40a7ed:	00 03                	add    %al,(%ebx)
40a7ef:	06                   	push   %es
40a7f0:	12 1c 07             	adc    (%edi,%eax,1),%bl
40a7f3:	06                   	push   %es
40a7f4:	15 12 41 01 12       	adc    $0x12014112,%eax
40a7f9:	10 03                	adc    %al,(%ebx)
40a7fb:	06                   	push   %es
40a7fc:	12 18                	adc    (%eax),%bl
40a7fe:	02 06                	add    (%esi),%al
40a800:	08 03                	or     %al,(%ebx)
40a802:	06                   	push   %es
40a803:	12 45 02             	adc    0x2(%ebp),%al
40a806:	06                   	push   %es
40a807:	02 03                	add    (%ebx),%al
40a809:	06                   	push   %es
40a80a:	12 49 03             	adc    0x3(%ecx),%cl
40a80d:	06                   	push   %es
40a80e:	12 4d 03             	adc    0x3(%ebp),%cl
40a811:	06                   	push   %es
40a812:	12 51 03             	adc    0x3(%ecx),%dl
40a815:	06                   	push   %es
40a816:	12 55 03             	adc    0x3(%ebp),%dl
40a819:	06                   	push   %es
40a81a:	12 59 03             	adc    0x3(%ecx),%bl
40a81d:	06                   	push   %es
40a81e:	12 5d 03             	adc    0x3(%ebp),%bl
40a821:	06                   	push   %es
40a822:	12 61 02             	adc    0x2(%ecx),%ah
40a825:	06                   	push   %es
40a826:	0e                   	push   %cs
40a827:	04 06                	add    $0x6,%al
40a829:	12 80 89 04 06 11    	adc    0x11060489(%eax),%al
40a82f:	80 8d 04 06 12 80 91 	orb    $0x91,-0x7fedf9fc(%ebp)
40a836:	07                   	pop    %es
40a837:	06                   	push   %es
40a838:	15 12 41 01 12       	adc    $0x12014112,%eax
40a83d:	20 04 06             	and    %al,(%esi,%eax,1)
40a840:	11 80 a1 02 06 0a    	adc    %eax,0xa0602a1(%eax)
40a846:	0b 06                	or     (%esi),%eax
40a848:	15 12 80 a5 02       	adc    $0x2a58012,%eax
40a84d:	12 80 a9 12 30 03    	adc    0x33012a9(%eax),%al
40a853:	06                   	push   %es
40a854:	11 44 04 06          	adc    %eax,0x6(%esp,%eax,1)
40a858:	11 80 d9 02 06 1c    	adc    %eax,0x1c0602d9(%eax)
40a85e:	04 06                	add    $0x6,%al
40a860:	12 80 8c 04 06 12    	adc    0x1206048c(%eax),%al
40a866:	80 80 03 06 12 58 04 	addb   $0x4,0x58120603(%eax)
40a86d:	06                   	push   %es
40a86e:	12 80 e9 04 06 12    	adc    0x120604e9(%eax),%al
40a874:	80 ed 02             	sub    $0x2,%ch
40a877:	06                   	push   %es
40a878:	0c 02                	or     $0x2,%al
40a87a:	06                   	push   %es
40a87b:	0d 04 06 11 80       	or     $0x80110604,%eax
40a880:	88 05 06 1d 11 80    	mov    %al,0x80111d06
40a886:	94                   	xchg   %eax,%esp
40a887:	04 06                	add    $0x6,%al
40a889:	1d 11 68 04 06       	sbb    $0x6046811,%eax
40a88e:	1d 11 70 09 06       	sbb    $0x6097011,%eax
40a893:	15 12 80 fd 02       	adc    $0x2fd8012,%eax
40a898:	0e                   	push   %cs
40a899:	12 5c 03 06          	adc    0x6(%ebx,%eax,1),%bl
40a89d:	12 5c 03 06          	adc    0x6(%ebx,%eax,1),%bl
40a8a1:	12 74 03 06          	adc    0x6(%ebx,%eax,1),%dh
40a8a5:	12 7c 0a 06          	adc    0x6(%edx,%ecx,1),%bh
40a8a9:	15 12 80 fd 02       	adc    $0x2fd8012,%eax
40a8ae:	0e                   	push   %cs
40a8af:	11 80 88 06 20 02    	adc    %eax,0x2200688(%eax)
40a8b5:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40a8b8:	71 05                	jno    0x40a8bf
40a8ba:	20 01                	and    %al,(%ecx)
40a8bc:	01 12                	add    %edx,(%edx)
40a8be:	79 05                	jns    0x40a8c5