40f624:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40f629:	02 02                	add    (%edx),%al
40f62b:	03 07                	add    (%edi),%eax
40f62d:	01 08                	add    %ecx,(%eax)
40f62f:	0b 07                	or     (%edi),%eax
40f631:	09 02                	or     %eax,(%edx)
40f633:	08 08                	or     %cl,(%eax)
40f635:	02 02                	add    (%edx),%al
40f637:	08 08                	or     %cl,(%eax)
40f639:	02 02                	add    (%edx),%al
40f63b:	0a 07                	or     (%edi),%al
40f63d:	08 08                	or     %cl,(%eax)
40f63f:	08 02                	or     %al,(%edx)
40f641:	02 08                	add    (%eax),%cl
40f643:	08 02                	or     %al,(%edx)
40f645:	02 14 07             	add    (%edi,%eax,1),%dl
40f648:	0a 15 12 81 01 01    	or     0x1018112,%dl
40f64e:	05 08 08 08 08       	add    $0x8080808,%eax
40f653:	11 81 29 02 02 02    	adc    %eax,0x2020229(%ecx)
40f659:	1d 05 06 15 12       	sbb    $0x12150605,%eax
40f65e:	81 01 01 05 07 20    	addl   $0x20070501,(%ecx)
40f664:	02 11                	add    (%ecx),%dl
40f666:	81 29 08 08 09 00    	subl   $0x90808,(%ecx)
40f66c:	04 11                	add    $0x11,%al
40f66e:	81 29 08 08 08 08    	subl   $0x8080808,(%ecx)
40f674:	09 00                	or     %eax,(%eax)
40f676:	02 02                	add    (%edx),%al
40f678:	11 81 29 11 81 29    	adc    %eax,0x29811129(%ecx)
40f67e:	03 20                	add    (%eax),%esp
40f680:	00 05 05 20 00 1d    	add    %al,0x1d002005
40f686:	13 00                	adc    (%eax),%eax
40f688:	29 07                	sub    %eax,(%edi)
40f68a:	1e                   	push   %ds
40f68b:	14 12                	adc    $0x12,%al
40f68d:	58                   	pop    %eax
40f68e:	02 00                	add    (%eax),%al
40f690:	02 00                	add    (%eax),%al
40f692:	00 1d 12 58 08 08    	add    %bl,0x8085812
40f698:	02 02                	add    (%edx),%al
40f69a:	08 02                	or     %al,(%edx)
40f69c:	08 0d 0d 08 02 08    	or     %cl,0x802080d
40f6a2:	08 02                	or     %al,(%edx)
40f6a4:	02 02                	add    (%edx),%al
40f6a6:	02 08                	add    (%eax),%cl
40f6a8:	0d 0d 08 02 08       	or     $0x802080d,%eax
40f6ad:	08 02                	or     %al,(%edx)
40f6af:	02 02                	add    (%edx),%al
40f6b1:	02 1c 07             	add    (%edi,%eax,1),%bl
40f6b4:	18 1d 12 58 02 08    	sbb    %bl,0x8025812
40f6ba:	02 08                	add    (%eax),%cl
40f6bc:	0d 0d 08 08 02       	or     $0x208080d,%eax
40f6c1:	02 02                	add    (%edx),%al
40f6c3:	02 02                	add    (%edx),%al
40f6c5:	08 0d 0d 08 08 02    	or     %cl,0x208080d
40f6cb:	02 02                	add    (%edx),%al
40f6cd:	02 02                	add    (%edx),%al
40f6cf:	24 07                	and    $0x7,%al
40f6d1:	12 12                	adc    (%edx),%dl
40f6d3:	58                   	pop    %eax
40f6d4:	12 58 12             	adc    0x12(%eax),%bl
40f6d7:	58                   	pop    %eax
40f6d8:	12 58 1d             	adc    0x1d(%eax),%bl
40f6db:	12 48 08             	adc    0x8(%eax),%cl
40f6de:	12 48 1d             	adc    0x1d(%eax),%cl
40f6e1:	12 48 08             	adc    0x8(%eax),%cl
40f6e4:	12 48 08             	adc    0x8(%eax),%cl
40f6e7:	12 58 12             	adc    0x12(%eax),%bl
40f6ea:	58                   	pop    %eax
40f6eb:	12 58 12             	adc    0x12(%eax),%bl
40f6ee:	58                   	pop    %eax
40f6ef:	12 58 12             	adc    0x12(%eax),%bl
40f6f2:	58                   	pop    %eax
40f6f3:	02 08                	add    (%eax),%cl
40f6f5:	07                   	pop    %es
40f6f6:	06                   	push   %es
40f6f7:	08 02                	or     %al,(%edx)
40f6f9:	08 08                	or     %cl,(%eax)
40f6fb:	02 02                	add    (%edx),%al
40f6fd:	0b 07                	or     (%edi),%eax
40f6ff:	09 02                	or     %eax,(%edx)
40f701:	08 02                	or     %al,(%edx)
40f703:	08 02                	or     %al,(%edx)
40f705:	08 02                	or     %al,(%edx)
40f707:	08 02                	or     %al,(%edx)
40f709:	11 07                	adc    %eax,(%edi)
40f70b:	09 0d 0d 15 12 81    	or     %ecx,0x8112150d
40f711:	01 01                	add    %eax,(%ecx)
40f713:	12 58 08             	adc    0x8(%eax),%bl
40f716:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40f71b:	0c 07                	or     $0x7,%al
40f71d:	09 08                	or     %ecx,(%eax)
40f71f:	08 02                	or     %al,(%edx)
40f721:	02 02                	add    (%edx),%al
40f723:	02 02                	add    (%edx),%al
40f725:	02 12                	add    (%edx),%dl
40f727:	58                   	pop    %eax
40f728:	05 07 03 08 02       	add    $0x2080307,%eax
40f72d:	02 06                	add    (%esi),%al
40f72f:	15 12 81 01 01       	adc    $0x1018112,%eax
40f734:	0d 05 20 01 13       	or     $0x13012005,%eax
40f739:	00 08                	add    %cl,(%eax)
40f73b:	06                   	push   %es
40f73c:	20 02                	and    %al,(%edx)
40f73e:	01 08                	add    %ecx,(%eax)
40f740:	13 00                	adc    (%eax),%eax
40f742:	17                   	pop    %ss
40f743:	07                   	pop    %es
40f744:	10 08                	adc    %cl,(%eax)
40f746:	02 12                	add    (%edx),%dl
40f748:	30 12                	xor    %dl,(%edx)
40f74a:	74 12                	je     0x40f75e
40f74c:	74 12                	je     0x40f760
40f74e:	74 12                	je     0x40f762
40f750:	50                   	push   %eax
40f751:	1c 1c                	sbb    $0x1c,%al
40f753:	1c 08                	sbb    $0x8,%al
40f755:	02 02                	add    (%edx),%al
40f757:	02 08                	add    (%eax),%cl
40f759:	02 07                	add    (%edi),%al
40f75b:	15 12 81 01 01       	adc    $0x1018112,%eax
40f760:	12 60 04             	adc    0x4(%eax),%ah
40f763:	07                   	pop    %es
40f764:	01 12                	add    %edx,(%edx)
40f766:	58                   	pop    %eax
40f767:	05 00 02 0d 0d       	add    $0xd0d0200,%eax
40f76c:	0d 14 07 0e 08       	or     $0x80e0714,%eax
40f771:	08 08                	or     %cl,(%eax)
40f773:	08 1d 1d 0d 08 02    	or     %bl,0x2080d1d
40f779:	08 08                	or     %cl,(%eax)
40f77b:	08 02                	or     %al,(%edx)
40f77d:	02 02                	add    (%edx),%al
40f77f:	1d 1d 0d 1a 07       	sbb    $0x71a0d1d,%eax
40f784:	0c 08                	or     $0x8,%al
40f786:	08 08                	or     %cl,(%eax)
40f788:	08 14 0d 02 00 02 00 	or     %dl,0x20002(,%ecx,1)
40f78f:	00 08                	add    %cl,(%eax)
40f791:	08 08                	or     %cl,(%eax)
40f793:	02 02                	add    (%edx),%al
40f795:	02 14 0d 02 00 02 00 	add    0x20002(,%ecx,1),%dl
40f79c:	00 04 20             	add    %al,(%eax,%eiz,1)
40f79f:	01 08                	add    %ecx,(%eax)
40f7a1:	08 07                	or     %al,(%edi)
40f7a3:	14 0d                	adc    $0xd,%al
40f7a5:	02 00                	add    (%eax),%al
40f7a7:	02 00                	add    (%eax),%al
40f7a9:	00 06                	add    %al,(%esi)
40f7ab:	20 03                	and    %al,(%ebx)
40f7ad:	01 08                	add    %ecx,(%eax)
40f7af:	08 0d 06 20 02 10    	or     %cl,0x10022006
40f7b5:	0d 08 08 05 20       	or     $0x20050808,%eax
40f7ba:	02 0d 08 08 0e 07    	add    0x70e0808,%cl
40f7c0:	08 1d 1d 0d 08 02    	or     %bl,0x2080d1d
40f7c6:	08 08                	or     %cl,(%eax)
40f7c8:	02 02                	add    (%edx),%al
40f7ca:	1d 1d 0d 0f 07       	sbb    $0x70f0d1d,%eax
40f7cf:	09 1d 1d 0d 08 02    	or     %ebx,0x2080d1d
40f7d5:	08 08                	or     %cl,(%eax)
40f7d7:	02 02                	add    (%edx),%al
40f7d9:	02 1d 1d 0d 06 07    	add    0x7060d1d,%bl
40f7df:	02 12                	add    (%edx),%dl
40f7e1:	58                   	pop    %eax
40f7e2:	12 58 05             	adc    0x5(%eax),%bl
40f7e5:	07                   	pop    %es
40f7e6:	03 08                	add    (%eax),%ecx
40f7e8:	08 0d 07 07 04 0d    	or     %cl,0xd040707
40f7ee:	0d 0d 12 58 07       	or     $0x758120d,%eax
40f7f3:	07                   	pop    %es
40f7f4:	03 08                	add    (%eax),%ecx
40f7f6:	02 1d 1d 0d 05 07    	add    0x7050d1d,%bl
40f7fc:	02 0d 12 58 0d 07    	add    0x70d5812,%cl
40f802:	05 08 08 02 02       	add    $0x2020808,%eax
40f807:	15 12 81 01 01       	adc    $0x1018112,%eax
40f80c:	12 58 03             	adc    0x3(%eax),%bl
40f80f:	00 00                	add    %al,(%eax)
40f811:	01 04 00             	add    %eax,(%eax,%eax,1)
40f814:	01 01                	add    %eax,(%ecx)
40f816:	02 06                	add    (%esi),%al
40f818:	00 01                	add    %al,(%ecx)
40f81a:	01 12                	add    %edx,(%edx)
40f81c:	80 fd 09             	cmp    $0x9,%ch
40f81f:	07                   	pop    %es
40f820:	03 02                	add    (%edx),%eax
40f822:	12 81 31 12 81 31    	adc    0x31811231(%ecx),%al
40f828:	04 20                	add    $0x20,%al
40f82a:	00 12                	add    %dl,(%edx)
40f82c:	49                   	dec    %ecx
40f82d:	06                   	push   %es
40f82e:	20 02                	and    %al,(%edx)
40f830:	01 0e                	add    %ecx,(%esi)
40f832:	12 49 05             	adc    0x5(%ecx),%cl
40f835:	07                   	pop    %es
40f836:	01 12                	add    %edx,(%edx)
40f838:	81 35 06 07 02 1c 12 	xorl   $0x7258112,0x1c020706
40f83f:	81 25 07
40f842:	20 02                	and    %al,(%edx)
40f844:	1c 0e                	sbb    $0xe,%al
40f846:	12 81 35 03 07 01    	adc    0x1070335(%ecx),%al
40f84c:	0e                   	push   %cs
40f84d:	07                   	pop    %es
40f84e:	20 02                	and    %al,(%edx)
40f850:	0e                   	push   %cs
40f851:	0e                   	push   %cs
40f852:	12 81 35 04 07 01    	adc    0x1070435(%ecx),%al
40f858:	12 70 08             	adc    0x8(%eax),%dh
40f85b:	00 01                	add    %al,(%ecx)
40f85d:	12 81 fd 12 81 fd    	adc    -0x27eed03(%ecx),%al
40f863:	05 07 03 02 02       	add    $0x2020307,%eax
40f868:	02 05 07 01 12 80    	add    0x80120107,%al
40f86e:	bd 05 20 00 12       	mov    $0x12002005,%ebp
40f873:	82 01 05             	addb   $0x5,(%ecx)
40f876:	07                   	pop    %es
40f877:	01 12                	add    %edx,(%edx)
40f879:	80 88 06 20 01 12 80 	orb    $0x80,0x12012006(%eax)
40f880:	d1 08                	rorl   $1,(%eax)
40f882:	08 07                	or     %al,(%edi)
40f884:	03 12                	add    (%edx),%edx
40f886:	78 12                	js     0x40f89a
40f888:	78 12                	js     0x40f89c
40f88a:	78 0b                	js     0x40f897
40f88c:	00 02                	add    %al,(%edx)
40f88e:	12 82 09 12 82 09    	adc    0x9821209(%edx),%al
40f894:	12 82 09 0c 10 01    	adc    0x1100c09(%edx),%al
40f89a:	03 1e                	add    (%esi),%ebx
40f89c:	00 10                	add    %dl,(%eax)
40f89e:	1e                   	push   %ds
40f89f:	00 1e                	add    %bl,(%esi)
40f8a1:	00 1e                	add    %bl,(%esi)
40f8a3:	00 04 0a             	add    %al,(%edx,%ecx,1)
40f8a6:	01 12                	add    %edx,(%edx)
40f8a8:	78 06                	js     0x40f8b0
40f8aa:	20 01                	and    %al,(%ecx)
40f8ac:	01 12                	add    %edx,(%edx)
40f8ae:	80 d1 0a             	adc    $0xa,%cl
40f8b1:	07                   	pop    %es
40f8b2:	03 12                	add    (%edx),%edx
40f8b4:	80 88 1d 1c 12 80 88 	orb    $0x88,-0x7fede3e3(%eax)
40f8bb:	05 20 00 12 80       	add    $0x80120020,%eax
40f8c0:	d1 05 20 01 01 1d    	roll   $1,0x1d010120
40f8c6:	1c 08                	sbb    $0x8,%al
40f8c8:	07                   	pop    %es
40f8c9:	02 12                	add    (%edx),%dl
40f8cb:	80 80 12 80 cd 05 20 	addb   $0x20,0x5cd8012(%eax)
40f8d2:	00 12                	add    %dl,(%edx)
40f8d4:	80 cd 05             	or     $0x5,%ch
40f8d7:	07                   	pop    %es
40f8d8:	01 12                	add    %edx,(%edx)
40f8da:	80 cd 05             	or     $0x5,%ch
40f8dd:	20 00                	and    %al,(%eax)
40f8df:	12 82 11 06 20 01    	adc    0x1200611(%edx),%al
40f8e5:	12 80 bd 0e 0b 20    	adc    0x200b0ebd(%eax),%al
40f8eb:	04 01                	add    $0x1,%al
40f8ed:	0e                   	push   %cs
40f8ee:	12 80 d9 0e 11 82    	adc    -0x7deef127(%eax),%al
40f8f4:	15 06 20 01 01       	adc    $0x1012006,%eax
40f8f9:	12 80 bd 05 07 01    	adc    0x10705bd(%eax),%al
40f8ff:	12 80 d1 05 07 01    	adc    0x10705d1(%eax),%al
40f905:	12 80 d9 06 20 01    	adc    0x12006d9(%eax),%al
40f90b:	01 12                	add    %edx,(%edx)
40f90d:	80 dd 05             	sbb    $0x5,%ch
40f910:	20 00                	and    %al,(%eax)
40f912:	11 80 f1 2f 07 14    	adc    %eax,0x14072ff1(%eax)
40f918:	12 80 95 12 80 9d    	adc    -0x627fed6b(%eax),%al
40f91e:	12 18                	adc    (%eax),%bl
40f920:	12 80 a1 12 80 a1    	adc    -0x5e7fed5f(%eax),%al
40f926:	12 80 e1 12 80 e1    	adc    -0x1e7fed1f(%eax),%al
40f92c:	12 80 89 02 12 80    	adc    -0x7fedfd77(%eax),%al
40f932:	8d 12                	lea    (%edx),%edx
40f934:	80 8d 12 80 89 12 80 	orb    $0x80,0x12898012(%ebp)
40f93b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f93c:	02 02                	add    (%edx),%al
40f93e:	02 12                	add    (%edx),%dl
40f940:	80 95 02 02 02 06 20 	adcb   $0x20,0x6020202(%ebp)
40f947:	01 01                	add    %eax,(%ecx)
40f949:	11 82 19 08 20 05    	adc    %eax,0x5200819(%edx)
40f94f:	01 08                	add    %ecx,(%eax)
40f951:	08 08                	or     %cl,(%eax)
40f953:	02 05 06 20 01 01    	add    0x1012006,%al
40f959:	11 82 1d 05 07 01    	adc    %eax,0x107051d(%edx)
40f95f:	12 80 8c 08 07 03    	adc    0x307088c(%eax),%al
40f965:	12 7c 12 7c          	adc    0x7c(%edx,%edx,1),%bh
40f969:	12 7c 04 0a          	adc    0xa(%esp,%eax,1),%bh
40f96d:	01 12                	add    %edx,(%edx)
40f96f:	7c 0a                	jl     0x40f97b
40f971:	07                   	pop    %es
40f972:	03 12                	add    (%edx),%edx
40f974:	80 8c 1d 1c 12 80 8c 	orb    $0x8,-0x737fede4(%ebp,%ebx,1)
40f97b:	08
40f97c:	07                   	pop    %es
40f97d:	02 12                	add    (%edx),%dl
40f97f:	80 84 12 80 cd 06 20 	addb   $0x1,0x2006cd80(%edx,%edx,1)
40f986:	01
40f987:	01 12                	add    %edx,(%edx)
40f989:	80 d5 06             	adc    $0x6,%ch
40f98c:	07                   	pop    %es
40f98d:	02 0e                	add    (%esi),%cl
40f98f:	12 80 e9 06 20 01    	adc    0x12006e9(%eax),%al
40f995:	1c 12                	sbb    $0x12,%al
40f997:	80 bd 07 20 02 01 0e 	cmpb   $0xe,0x1022007(%ebp)
40f99e:	12 82 25 07 20 02    	adc    0x2200725(%edx),%al
40f9a4:	01 12                	add    %edx,(%edx)
40f9a6:	80 bd 1c 06 20 01 02 	cmpb   $0x2,0x120061c(%ebp)
40f9ad:	12 80 bd 02 06 1c    	adc    0x1c0602bd(%eax),%al
40f9b3:	05 07 01 11 80       	add    $0x80110107,%eax
40f9b8:	f1                   	int1
40f9b9:	08 b7 7a 5c 56 19    	or     %dh,0x19565c7a(%edi)
40f9bf:	34 e0                	xor    $0xe0,%al
40f9c1:	89 08                	mov    %ecx,(%eax)
40f9c3:	b0 3f                	mov    $0x3f,%al
40f9c5:	5f                   	pop    %edi
40f9c6:	7f 11                	jg     0x40f9d9
40f9c8:	d5 0a                	aad    $0xa
40f9ca:	3a 04 03             	cmp    (%ebx,%eax,1),%al
40f9cd:	00 00                	add    %al,(%eax)
40f9cf:	00 02                	add    %al,(%edx)
40f9d1:	06                   	push   %es
40f9d2:	0d 02 06 0e 04       	or     $0x40e0602,%eax
40f9d7:	06                   	push   %es
40f9d8:	12 80 80 04 06 12    	adc    0x12060480(%eax),%al
40f9de:	80 84 03 06 11 65 08 	addb   $0x6,0x8651106(%ebx,%eax,1)
40f9e5:	06
40f9e6:	15 12 81 01 01       	adc    $0x1018112,%eax
40f9eb:	12 0c 02             	adc    (%edx,%eax,1),%cl
40f9ee:	06                   	push   %es
40f9ef:	08 04 06             	or     %al,(%esi,%eax,1)
40f9f2:	12 81 05 04 06 12    	adc    0x12060405(%ecx),%al
40f9f8:	81 09 04 06 12 81    	orl    $0x81120604,(%ecx)
40f9fe:	0d 04 06 12 81       	or     $0x81120604,%eax
40fa03:	11 03                	adc    %eax,(%ebx)
40fa05:	06                   	push   %es
40fa06:	12 0c 03             	adc    (%ebx,%eax,1),%cl
40fa09:	06                   	push   %es
40fa0a:	12 45 04             	adc    0x4(%ebp),%al
40fa0d:	06                   	push   %es
40fa0e:	1d 1d 0d 0d 06       	sbb    $0x60d0d1d,%eax
40fa13:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa18:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa1d:	12 58 02             	adc    0x2(%eax),%bl
40fa20:	06                   	push   %es
40fa21:	02 03                	add    (%ebx),%al
40fa23:	06                   	push   %es
40fa24:	12 34 08             	adc    (%eax,%ecx,1),%dh
40fa27:	06                   	push   %es
40fa28:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa2d:	12 58 09             	adc    0x9(%eax),%bl
40fa30:	06                   	push   %es
40fa31:	14 12                	adc    $0x12,%al
40fa33:	58                   	pop    %eax
40fa34:	02 00                	add    (%eax),%al
40fa36:	02 00                	add    (%eax),%al
40fa38:	00 04 06             	add    %al,(%esi,%eax,1)