40f5f6:	08 08                	or     %cl,(%eax)
40f5f8:	02 02                	add    (%edx),%al
40f5fa:	02 08                	add    (%eax),%cl
40f5fc:	08 02                	or     %al,(%edx)
40f5fe:	02 08                	add    (%eax),%cl
40f600:	08 02                	or     %al,(%edx)
40f602:	02 07                	add    (%edi),%al
40f604:	20 03                	and    %al,(%ebx)
40f606:	01 08                	add    %ecx,(%eax)
40f608:	08 12                	or     %dl,(%edx)
40f60a:	58                   	pop    %eax
40f60b:	06                   	push   %es
40f60c:	20 02                	and    %al,(%edx)
40f60e:	12 58 08             	adc    0x8(%eax),%bl
40f611:	08 08                	or     %cl,(%eax)
40f613:	07                   	pop    %es
40f614:	05 08 08 02 02       	add    $0x2020808,%eax
40f619:	12 58 17             	adc    0x17(%eax),%bl
40f61c:	07                   	pop    %es
40f61d:	0f 08                	invd
40f61f:	08 0d 0d 15 12 81    	or     %cl,0x8112150d
40f625:	01 01                	add    %eax,(%ecx)
40f627:	12 58 08             	adc    0x8(%eax),%bl
40f62a:	08 08                	or     %cl,(%eax)
40f62c:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40f631:	02 02                	add    (%edx),%al
40f633:	03 07                	add    (%edi),%eax
40f635:	01 08                	add    %ecx,(%eax)
40f637:	0b 07                	or     (%edi),%eax
40f639:	09 02                	or     %eax,(%edx)
40f63b:	08 08                	or     %cl,(%eax)
40f63d:	02 02                	add    (%edx),%al
40f63f:	08 08                	or     %cl,(%eax)
40f641:	02 02                	add    (%edx),%al
40f643:	0a 07                	or     (%edi),%al
40f645:	08 08                	or     %cl,(%eax)
40f647:	08 02                	or     %al,(%edx)
40f649:	02 08                	add    (%eax),%cl
40f64b:	08 02                	or     %al,(%edx)
40f64d:	02 14 07             	add    (%edi,%eax,1),%dl
40f650:	0a 15 12 81 01 01    	or     0x1018112,%dl
40f656:	05 08 08 08 08       	add    $0x8080808,%eax
40f65b:	11 81 29 02 02 02    	adc    %eax,0x2020229(%ecx)
40f661:	1d 05 06 15 12       	sbb    $0x12150605,%eax
40f666:	81 01 01 05 07 20    	addl   $0x20070501,(%ecx)
40f66c:	02 11                	add    (%ecx),%dl
40f66e:	81 29 08 08 09 00    	subl   $0x90808,(%ecx)
40f674:	04 11                	add    $0x11,%al
40f676:	81 29 08 08 08 08    	subl   $0x8080808,(%ecx)
40f67c:	09 00                	or     %eax,(%eax)
40f67e:	02 02                	add    (%edx),%al
40f680:	11 81 29 11 81 29    	adc    %eax,0x29811129(%ecx)
40f686:	03 20                	add    (%eax),%esp
40f688:	00 05 05 20 00 1d    	add    %al,0x1d002005
40f68e:	13 00                	adc    (%eax),%eax
40f690:	29 07                	sub    %eax,(%edi)
40f692:	1e                   	push   %ds
40f693:	14 12                	adc    $0x12,%al
40f695:	58                   	pop    %eax
40f696:	02 00                	add    (%eax),%al
40f698:	02 00                	add    (%eax),%al
40f69a:	00 1d 12 58 08 08    	add    %bl,0x8085812
40f6a0:	02 02                	add    (%edx),%al
40f6a2:	08 02                	or     %al,(%edx)
40f6a4:	08 0d 0d 08 02 08    	or     %cl,0x802080d
40f6aa:	08 02                	or     %al,(%edx)
40f6ac:	02 02                	add    (%edx),%al
40f6ae:	02 08                	add    (%eax),%cl
40f6b0:	0d 0d 08 02 08       	or     $0x802080d,%eax
40f6b5:	08 02                	or     %al,(%edx)
40f6b7:	02 02                	add    (%edx),%al
40f6b9:	02 1c 07             	add    (%edi,%eax,1),%bl
40f6bc:	18 1d 12 58 02 08    	sbb    %bl,0x8025812
40f6c2:	02 08                	add    (%eax),%cl
40f6c4:	0d 0d 08 08 02       	or     $0x208080d,%eax
40f6c9:	02 02                	add    (%edx),%al
40f6cb:	02 02                	add    (%edx),%al
40f6cd:	08 0d 0d 08 08 02    	or     %cl,0x208080d
40f6d3:	02 02                	add    (%edx),%al
40f6d5:	02 02                	add    (%edx),%al
40f6d7:	24 07                	and    $0x7,%al
40f6d9:	12 12                	adc    (%edx),%dl
40f6db:	58                   	pop    %eax
40f6dc:	12 58 12             	adc    0x12(%eax),%bl
40f6df:	58                   	pop    %eax
40f6e0:	12 58 1d             	adc    0x1d(%eax),%bl
40f6e3:	12 48 08             	adc    0x8(%eax),%cl
40f6e6:	12 48 1d             	adc    0x1d(%eax),%cl
40f6e9:	12 48 08             	adc    0x8(%eax),%cl
40f6ec:	12 48 08             	adc    0x8(%eax),%cl
40f6ef:	12 58 12             	adc    0x12(%eax),%bl
40f6f2:	58                   	pop    %eax
40f6f3:	12 58 12             	adc    0x12(%eax),%bl
40f6f6:	58                   	pop    %eax
40f6f7:	12 58 12             	adc    0x12(%eax),%bl
40f6fa:	58                   	pop    %eax
40f6fb:	02 08                	add    (%eax),%cl
40f6fd:	07                   	pop    %es
40f6fe:	06                   	push   %es
40f6ff:	08 02                	or     %al,(%edx)
40f701:	08 08                	or     %cl,(%eax)
40f703:	02 02                	add    (%edx),%al
40f705:	0b 07                	or     (%edi),%eax
40f707:	09 02                	or     %eax,(%edx)
40f709:	08 02                	or     %al,(%edx)
40f70b:	08 02                	or     %al,(%edx)
40f70d:	08 02                	or     %al,(%edx)
40f70f:	08 02                	or     %al,(%edx)
40f711:	11 07                	adc    %eax,(%edi)
40f713:	09 0d 0d 15 12 81    	or     %ecx,0x8112150d
40f719:	01 01                	add    %eax,(%ecx)
40f71b:	12 58 08             	adc    0x8(%eax),%bl
40f71e:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40f723:	0c 07                	or     $0x7,%al
40f725:	09 08                	or     %ecx,(%eax)
40f727:	08 02                	or     %al,(%edx)
40f729:	02 02                	add    (%edx),%al
40f72b:	02 02                	add    (%edx),%al
40f72d:	02 12                	add    (%edx),%dl
40f72f:	58                   	pop    %eax
40f730:	05 07 03 08 02       	add    $0x2080307,%eax
40f735:	02 06                	add    (%esi),%al
40f737:	15 12 81 01 01       	adc    $0x1018112,%eax
40f73c:	0d 05 20 01 13       	or     $0x13012005,%eax
40f741:	00 08                	add    %cl,(%eax)
40f743:	06                   	push   %es
40f744:	20 02                	and    %al,(%edx)
40f746:	01 08                	add    %ecx,(%eax)
40f748:	13 00                	adc    (%eax),%eax
40f74a:	17                   	pop    %ss
40f74b:	07                   	pop    %es
40f74c:	10 08                	adc    %cl,(%eax)
40f74e:	02 12                	add    (%edx),%dl
40f750:	30 12                	xor    %dl,(%edx)
40f752:	74 12                	je     0x40f766
40f754:	74 12                	je     0x40f768
40f756:	74 12                	je     0x40f76a
40f758:	50                   	push   %eax
40f759:	1c 1c                	sbb    $0x1c,%al
40f75b:	1c 08                	sbb    $0x8,%al
40f75d:	02 02                	add    (%edx),%al
40f75f:	02 08                	add    (%eax),%cl
40f761:	02 07                	add    (%edi),%al
40f763:	15 12 81 01 01       	adc    $0x1018112,%eax
40f768:	12 60 04             	adc    0x4(%eax),%ah
40f76b:	07                   	pop    %es
40f76c:	01 12                	add    %edx,(%edx)
40f76e:	58                   	pop    %eax
40f76f:	05 00 02 0d 0d       	add    $0xd0d0200,%eax
40f774:	0d 14 07 0e 08       	or     $0x80e0714,%eax
40f779:	08 08                	or     %cl,(%eax)
40f77b:	08 1d 1d 0d 08 02    	or     %bl,0x2080d1d
40f781:	08 08                	or     %cl,(%eax)
40f783:	08 02                	or     %al,(%edx)
40f785:	02 02                	add    (%edx),%al
40f787:	1d 1d 0d 1a 07       	sbb    $0x71a0d1d,%eax
40f78c:	0c 08                	or     $0x8,%al
40f78e:	08 08                	or     %cl,(%eax)
40f790:	08 14 0d 02 00 02 00 	or     %dl,0x20002(,%ecx,1)
40f797:	00 08                	add    %cl,(%eax)
40f799:	08 08                	or     %cl,(%eax)
40f79b:	02 02                	add    (%edx),%al
40f79d:	02 14 0d 02 00 02 00 	add    0x20002(,%ecx,1),%dl
40f7a4:	00 04 20             	add    %al,(%eax,%eiz,1)
40f7a7:	01 08                	add    %ecx,(%eax)
40f7a9:	08 07                	or     %al,(%edi)
40f7ab:	14 0d                	adc    $0xd,%al
40f7ad:	02 00                	add    (%eax),%al
40f7af:	02 00                	add    (%eax),%al
40f7b1:	00 06                	add    %al,(%esi)
40f7b3:	20 03                	and    %al,(%ebx)
40f7b5:	01 08                	add    %ecx,(%eax)
40f7b7:	08 0d 06 20 02 10    	or     %cl,0x10022006
40f7bd:	0d 08 08 05 20       	or     $0x20050808,%eax
40f7c2:	02 0d 08 08 0e 07    	add    0x70e0808,%cl
40f7c8:	08 1d 1d 0d 08 02    	or     %bl,0x2080d1d
40f7ce:	08 08                	or     %cl,(%eax)
40f7d0:	02 02                	add    (%edx),%al
40f7d2:	1d 1d 0d 0f 07       	sbb    $0x70f0d1d,%eax
40f7d7:	09 1d 1d 0d 08 02    	or     %ebx,0x2080d1d
40f7dd:	08 08                	or     %cl,(%eax)
40f7df:	02 02                	add    (%edx),%al
40f7e1:	02 1d 1d 0d 06 07    	add    0x7060d1d,%bl
40f7e7:	02 12                	add    (%edx),%dl
40f7e9:	58                   	pop    %eax
40f7ea:	12 58 05             	adc    0x5(%eax),%bl
40f7ed:	07                   	pop    %es
40f7ee:	03 08                	add    (%eax),%ecx
40f7f0:	08 0d 07 07 04 0d    	or     %cl,0xd040707
40f7f6:	0d 0d 12 58 07       	or     $0x758120d,%eax
40f7fb:	07                   	pop    %es
40f7fc:	03 08                	add    (%eax),%ecx
40f7fe:	02 1d 1d 0d 05 07    	add    0x7050d1d,%bl
40f804:	02 0d 12 58 0d 07    	add    0x70d5812,%cl
40f80a:	05 08 08 02 02       	add    $0x2020808,%eax
40f80f:	15 12 81 01 01       	adc    $0x1018112,%eax
40f814:	12 58 03             	adc    0x3(%eax),%bl
40f817:	00 00                	add    %al,(%eax)
40f819:	01 04 00             	add    %eax,(%eax,%eax,1)
40f81c:	01 01                	add    %eax,(%ecx)
40f81e:	02 06                	add    (%esi),%al
40f820:	00 01                	add    %al,(%ecx)
40f822:	01 12                	add    %edx,(%edx)
40f824:	80 fd 09             	cmp    $0x9,%ch
40f827:	07                   	pop    %es
40f828:	03 02                	add    (%edx),%eax
40f82a:	12 81 31 12 81 31    	adc    0x31811231(%ecx),%al
40f830:	04 20                	add    $0x20,%al
40f832:	00 12                	add    %dl,(%edx)
40f834:	49                   	dec    %ecx
40f835:	06                   	push   %es
40f836:	20 02                	and    %al,(%edx)
40f838:	01 0e                	add    %ecx,(%esi)
40f83a:	12 49 05             	adc    0x5(%ecx),%cl
40f83d:	07                   	pop    %es
40f83e:	01 12                	add    %edx,(%edx)
40f840:	81 35 06 07 02 1c 12 	xorl   $0x7258112,0x1c020706
40f847:	81 25 07
40f84a:	20 02                	and    %al,(%edx)
40f84c:	1c 0e                	sbb    $0xe,%al
40f84e:	12 81 35 03 07 01    	adc    0x1070335(%ecx),%al
40f854:	0e                   	push   %cs
40f855:	07                   	pop    %es
40f856:	20 02                	and    %al,(%edx)
40f858:	0e                   	push   %cs
40f859:	0e                   	push   %cs
40f85a:	12 81 35 04 07 01    	adc    0x1070435(%ecx),%al
40f860:	12 70 08             	adc    0x8(%eax),%dh
40f863:	00 01                	add    %al,(%ecx)
40f865:	12 81 fd 12 81 fd    	adc    -0x27eed03(%ecx),%al
40f86b:	05 07 03 02 02       	add    $0x2020307,%eax
40f870:	02 05 07 01 12 80    	add    0x80120107,%al
40f876:	bd 05 20 00 12       	mov    $0x12002005,%ebp
40f87b:	82 01 05             	addb   $0x5,(%ecx)
40f87e:	07                   	pop    %es
40f87f:	01 12                	add    %edx,(%edx)
40f881:	80 88 06 20 01 12 80 	orb    $0x80,0x12012006(%eax)
40f888:	d1 08                	rorl   $1,(%eax)
40f88a:	08 07                	or     %al,(%edi)
40f88c:	03 12                	add    (%edx),%edx
40f88e:	78 12                	js     0x40f8a2
40f890:	78 12                	js     0x40f8a4
40f892:	78 0b                	js     0x40f89f
40f894:	00 02                	add    %al,(%edx)
40f896:	12 82 09 12 82 09    	adc    0x9821209(%edx),%al
40f89c:	12 82 09 0c 10 01    	adc    0x1100c09(%edx),%al
40f8a2:	03 1e                	add    (%esi),%ebx
40f8a4:	00 10                	add    %dl,(%eax)
40f8a6:	1e                   	push   %ds
40f8a7:	00 1e                	add    %bl,(%esi)
40f8a9:	00 1e                	add    %bl,(%esi)
40f8ab:	00 04 0a             	add    %al,(%edx,%ecx,1)
40f8ae:	01 12                	add    %edx,(%edx)
40f8b0:	78 06                	js     0x40f8b8
40f8b2:	20 01                	and    %al,(%ecx)
40f8b4:	01 12                	add    %edx,(%edx)
40f8b6:	80 d1 0a             	adc    $0xa,%cl
40f8b9:	07                   	pop    %es
40f8ba:	03 12                	add    (%edx),%edx
40f8bc:	80 88 1d 1c 12 80 88 	orb    $0x88,-0x7fede3e3(%eax)
40f8c3:	05 20 00 12 80       	add    $0x80120020,%eax
40f8c8:	d1 05 20 01 01 1d    	roll   $1,0x1d010120
40f8ce:	1c 08                	sbb    $0x8,%al
40f8d0:	07                   	pop    %es
40f8d1:	02 12                	add    (%edx),%dl
40f8d3:	80 80 12 80 cd 05 20 	addb   $0x20,0x5cd8012(%eax)
40f8da:	00 12                	add    %dl,(%edx)
40f8dc:	80 cd 05             	or     $0x5,%ch
40f8df:	07                   	pop    %es
40f8e0:	01 12                	add    %edx,(%edx)
40f8e2:	80 cd 05             	or     $0x5,%ch
40f8e5:	20 00                	and    %al,(%eax)
40f8e7:	12 82 11 06 20 01    	adc    0x1200611(%edx),%al
40f8ed:	12 80 bd 0e 0b 20    	adc    0x200b0ebd(%eax),%al
40f8f3:	04 01                	add    $0x1,%al
40f8f5:	0e                   	push   %cs
40f8f6:	12 80 d9 0e 11 82    	adc    -0x7deef127(%eax),%al
40f8fc:	15 06 20 01 01       	adc    $0x1012006,%eax
40f901:	12 80 bd 05 07 01    	adc    0x10705bd(%eax),%al
40f907:	12 80 d1 05 07 01    	adc    0x10705d1(%eax),%al
40f90d:	12 80 d9 06 20 01    	adc    0x12006d9(%eax),%al
40f913:	01 12                	add    %edx,(%edx)
40f915:	80 dd 05             	sbb    $0x5,%ch
40f918:	20 00                	and    %al,(%eax)
40f91a:	11 80 f1 2f 07 14    	adc    %eax,0x14072ff1(%eax)
40f920:	12 80 95 12 80 9d    	adc    -0x627fed6b(%eax),%al
40f926:	12 18                	adc    (%eax),%bl
40f928:	12 80 a1 12 80 a1    	adc    -0x5e7fed5f(%eax),%al
40f92e:	12 80 e1 12 80 e1    	adc    -0x1e7fed1f(%eax),%al
40f934:	12 80 89 02 12 80    	adc    -0x7fedfd77(%eax),%al
40f93a:	8d 12                	lea    (%edx),%edx
40f93c:	80 8d 12 80 89 12 80 	orb    $0x80,0x12898012(%ebp)
40f943:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f944:	02 02                	add    (%edx),%al
40f946:	02 12                	add    (%edx),%dl
40f948:	80 95 02 02 02 06 20 	adcb   $0x20,0x6020202(%ebp)
40f94f:	01 01                	add    %eax,(%ecx)
40f951:	11 82 19 08 20 05    	adc    %eax,0x5200819(%edx)
40f957:	01 08                	add    %ecx,(%eax)
40f959:	08 08                	or     %cl,(%eax)
40f95b:	02 05 06 20 01 01    	add    0x1012006,%al
40f961:	11 82 1d 05 07 01    	adc    %eax,0x107051d(%edx)
40f967:	12 80 8c 08 07 03    	adc    0x307088c(%eax),%al
40f96d:	12 7c 12 7c          	adc    0x7c(%edx,%edx,1),%bh
40f971:	12 7c 04 0a          	adc    0xa(%esp,%eax,1),%bh
40f975:	01 12                	add    %edx,(%edx)
40f977:	7c 0a                	jl     0x40f983
40f979:	07                   	pop    %es
40f97a:	03 12                	add    (%edx),%edx
40f97c:	80 8c 1d 1c 12 80 8c 	orb    $0x8,-0x737fede4(%ebp,%ebx,1)
40f983:	08
40f984:	07                   	pop    %es
40f985:	02 12                	add    (%edx),%dl
40f987:	80 84 12 80 cd 06 20 	addb   $0x1,0x2006cd80(%edx,%edx,1)
40f98e:	01
40f98f:	01 12                	add    %edx,(%edx)
40f991:	80 d5 06             	adc    $0x6,%ch
40f994:	07                   	pop    %es
40f995:	02 0e                	add    (%esi),%cl
40f997:	12 80 e9 06 20 01    	adc    0x12006e9(%eax),%al
40f99d:	1c 12                	sbb    $0x12,%al
40f99f:	80 bd 07 20 02 01 0e 	cmpb   $0xe,0x1022007(%ebp)
40f9a6:	12 82 25 07 20 02    	adc    0x2200725(%edx),%al
40f9ac:	01 12                	add    %edx,(%edx)
40f9ae:	80 bd 1c 06 20 01 02 	cmpb   $0x2,0x120061c(%ebp)
40f9b5:	12 80 bd 02 06 1c    	adc    0x1c0602bd(%eax),%al
40f9bb:	05 07 01 11 80       	add    $0x80110107,%eax
40f9c0:	f1                   	int1
40f9c1:	08 b7 7a 5c 56 19    	or     %dh,0x19565c7a(%edi)
40f9c7:	34 e0                	xor    $0xe0,%al
40f9c9:	89 08                	mov    %ecx,(%eax)
40f9cb:	b0 3f                	mov    $0x3f,%al
40f9cd:	5f                   	pop    %edi
40f9ce:	7f 11                	jg     0x40f9e1
40f9d0:	d5 0a                	aad    $0xa
40f9d2:	3a 04 03             	cmp    (%ebx,%eax,1),%al
40f9d5:	00 00                	add    %al,(%eax)
40f9d7:	00 02                	add    %al,(%edx)
40f9d9:	06                   	push   %es
40f9da:	0d 02 06 0e 04       	or     $0x40e0602,%eax
40f9df:	06                   	push   %es
40f9e0:	12 80 80 04 06 12    	adc    0x12060480(%eax),%al
40f9e6:	80 84 03 06 11 65 08 	addb   $0x6,0x8651106(%ebx,%eax,1)
40f9ed:	06
40f9ee:	15 12 81 01 01       	adc    $0x1018112,%eax
40f9f3:	12 0c 02             	adc    (%edx,%eax,1),%cl
40f9f6:	06                   	push   %es
40f9f7:	08 04 06             	or     %al,(%esi,%eax,1)
40f9fa:	12 81 05 04 06 12    	adc    0x12060405(%ecx),%al
40fa00:	81 09 04 06 12 81    	orl    $0x81120604,(%ecx)