40e647:	03 11                	add    (%ecx),%edx
40e649:	0c 11                	or     $0x11,%al
40e64b:	0c 03                	or     $0x3,%al
40e64d:	07                   	pop    %es
40e64e:	07                   	pop    %es
40e64f:	03 1d 0e 1d 0e 08    	add    0x80e1d0e,%ebx
40e655:	04 00                	add    $0x0,%al
40e657:	01 08                	add    %ecx,(%eax)
40e659:	0e                   	push   %cs
40e65a:	0c 07                	or     $0x7,%al
40e65c:	07                   	pop    %es
40e65d:	08 08                	or     %cl,(%eax)
40e65f:	11 0c 11             	adc    %ecx,(%ecx,%edx,1)
40e662:	80 89 02 02 02 03 20 	orb    $0x20,0x3020202(%ecx)
40e669:	00 1c 03             	add    %bl,(%ebx,%eax,1)
40e66c:	20 00                	and    %al,(%eax)
40e66e:	08 05 20 00 11 81    	or     %al,0x81110020
40e674:	3d 0a 07 08 08       	cmp    $0x808070a,%eax
40e679:	08 08                	or     %cl,(%eax)
40e67b:	08 08                	or     %cl,(%eax)
40e67d:	08 02                	or     %al,(%edx)
40e67f:	02 05 00 02 08 08    	add    0x8080200,%al
40e685:	08 08                	or     %cl,(%eax)
40e687:	07                   	pop    %es
40e688:	06                   	push   %es
40e689:	02 08                	add    (%eax),%cl
40e68b:	08 02                	or     %al,(%edx)
40e68d:	02 02                	add    (%edx),%al
40e68f:	08 14 12             	or     %dl,(%edx,%edx,1)
40e692:	55                   	push   %ebp
40e693:	02 00                	add    (%eax),%al
40e695:	02 00                	add    (%eax),%al
40e697:	00 06                	add    %al,(%esi)
40e699:	20 02                	and    %al,(%edx)
40e69b:	12 55 08             	adc    0x8(%ebp),%dl
40e69e:	08 06                	or     %al,(%esi)
40e6a0:	20 01                	and    %al,(%ecx)
40e6a2:	01 12                	add    %edx,(%edx)
40e6a4:	80 8d 0b 07 08 08 08 	orb    $0x8,0x808070b(%ebp)
40e6ab:	02 08                	add    (%eax),%cl
40e6ad:	08 12                	or     %dl,(%edx)
40e6af:	55                   	push   %ebp
40e6b0:	02 02                	add    (%edx),%al
40e6b2:	05 00 00 11 81       	add    $0x81110000,%eax
40e6b7:	49                   	dec    %ecx
40e6b8:	06                   	push   %es
40e6b9:	20 01                	and    %al,(%ecx)
40e6bb:	01 11                	add    %edx,(%ecx)
40e6bd:	81 49 06 20 01 01 11 	orl    $0x11010120,0x6(%ecx)
40e6c4:	81 4d 06 20 01 01 11 	orl    $0x11010120,0x6(%ebp)
40e6cb:	80 89 06 20 01 01 11 	orb    $0x11,0x1012006(%ecx)
40e6d2:	81 51 06 20 01 01 11 	adcl   $0x11010120,0x6(%ecx)
40e6d9:	81 55 05 20 02 01 1c 	adcl   $0x1c010220,0x5(%ebp)
40e6e0:	18 06                	sbb    %al,(%esi)
40e6e2:	20 01                	and    %al,(%ecx)
40e6e4:	01 12                	add    %edx,(%edx)
40e6e6:	81 59 04 20 01 01 1c 	sbbl   $0x1c010120,0x4(%ecx)
40e6ed:	05 20 00 12 81       	add    $0x81120020,%eax
40e6f2:	5d                   	pop    %ebp
40e6f3:	06                   	push   %es
40e6f4:	20 01                	and    %al,(%ecx)
40e6f6:	01 12                	add    %edx,(%edx)
40e6f8:	81 39 07 20 03 01    	cmpl   $0x1032007,(%ecx)
40e6fe:	08 08                	or     %cl,(%eax)
40e700:	12 55 06             	adc    0x6(%ebp),%dl
40e703:	07                   	pop    %es
40e704:	04 08                	add    $0x8,%al
40e706:	08 02                	or     %al,(%edx)
40e708:	02 12                	add    (%edx),%dl
40e70a:	07                   	pop    %es
40e70b:	09 14 11             	or     %edx,(%ecx,%edx,1)
40e70e:	0c 02                	or     $0x2,%al
40e710:	00 02                	add    %al,(%edx)
40e712:	00 00                	add    %al,(%eax)
40e714:	02 02                	add    (%edx),%al
40e716:	02 02                	add    (%edx),%al
40e718:	08 08                	or     %cl,(%eax)
40e71a:	02 02                	add    (%edx),%al
40e71c:	06                   	push   %es
40e71d:	00 03                	add    %al,(%ebx)
40e71f:	0e                   	push   %cs
40e720:	0e                   	push   %cs
40e721:	0e                   	push   %cs
40e722:	0e                   	push   %cs
40e723:	09 07                	or     %eax,(%edi)
40e725:	07                   	pop    %es
40e726:	08 08                	or     %cl,(%eax)
40e728:	02 08                	add    (%eax),%cl
40e72a:	08 02                	or     %al,(%edx)
40e72c:	02 09                	add    (%ecx),%cl
40e72e:	07                   	pop    %es
40e72f:	03 11                	add    (%ecx),%edx
40e731:	0c 11                	or     $0x11,%al
40e733:	0c 12                	or     $0x12,%al
40e735:	80 8d 0a 07 08 08 08 	orb    $0x8,0x808070a(%ebp)
40e73c:	08 02                	or     %al,(%edx)
40e73e:	0e                   	push   %cs
40e73f:	02 02                	add    (%edx),%al
40e741:	02 04 07             	add    (%edi,%eax,1),%al
40e744:	02 0e                	add    (%esi),%cl
40e746:	02 05 00 02 02 0e    	add    0xe020200,%al
40e74c:	0e                   	push   %cs
40e74d:	06                   	push   %es
40e74e:	00 02                	add    %al,(%edx)
40e750:	11 45 0e             	adc    %eax,0xe(%ebp)
40e753:	0e                   	push   %cs
40e754:	04 07                	add    $0x7,%al
40e756:	02 02                	add    (%edx),%al
40e758:	02 04 07             	add    (%edi,%eax,1),%al
40e75b:	01 12                	add    %edx,(%edx)
40e75d:	75 07                	jne    0x40e766
40e75f:	07                   	pop    %es
40e760:	04 03                	add    $0x3,%al
40e762:	1d 0e 08 08 03       	sbb    $0x308080e,%eax
40e767:	07                   	pop    %es
40e768:	01 02                	add    %eax,(%edx)
40e76a:	05 20 00 11 80       	add    $0x80110020,%eax
40e76f:	b9 05 07 01 11       	mov    $0x11010705,%ecx
40e774:	80 89 09 07 07 08 08 	orb    $0x8,0x8070709(%ecx)
40e77b:	08 02                	or     %al,(%edx)
40e77d:	02 02                	add    (%edx),%al
40e77f:	08 0a                	or     %cl,(%edx)
40e781:	07                   	pop    %es
40e782:	08 08                	or     %cl,(%eax)
40e784:	08 08                	or     %cl,(%eax)
40e786:	08 02                	or     %al,(%edx)
40e788:	02 02                	add    (%edx),%al
40e78a:	02 07                	add    (%edi),%al
40e78c:	07                   	pop    %es
40e78d:	02 12                	add    (%edx),%dl
40e78f:	80 99 12 3c 08 00 01 	sbbb   $0x1,0x83c12(%ecx)
40e796:	12 81 69 11 81 6d    	adc    0x6d811169(%ecx),%al
40e79c:	06                   	push   %es
40e79d:	20 01                	and    %al,(%ecx)
40e79f:	01 12                	add    %edx,(%edx)
40e7a1:	81 69 05 20 02 01 0e 	subl   $0xe010220,0x5(%ecx)
40e7a8:	0c 06                	or     $0x6,%al
40e7aa:	20 01                	and    %al,(%ecx)
40e7ac:	01 12                	add    %edx,(%edx)
40e7ae:	81 71 05 20 00 12 81 	xorl   $0x81120020,0x5(%ecx)
40e7b5:	75 07                	jne    0x40e7be
40e7b7:	20 01                	and    %al,(%ecx)
40e7b9:	01 1d 12 81 61 06    	add    %ebx,0x6618112
40e7bf:	20 01                	and    %al,(%ecx)
40e7c1:	01 12                	add    %edx,(%edx)
40e7c3:	81 79 06 20 01 01 11 	cmpl   $0x11010120,0x6(%ecx)
40e7ca:	81 7d 06 20 01 01 11 	cmpl   $0x11010120,0x6(%ebp)
40e7d1:	81 81 06 20 01 01 11 	addl   $0x6858111,0x1012006(%ecx)
40e7d8:	81 85 06
40e7db:	20 01                	and    %al,(%ecx)
40e7dd:	01 12                	add    %edx,(%edx)
40e7df:	81 89 06 20 01 01 11 	orl    $0x68d8111,0x1012006(%ecx)
40e7e6:	81 8d 06
40e7e9:	20 01                	and    %al,(%ecx)
40e7eb:	01 12                	add    %edx,(%edx)
40e7ed:	81 91 06 20 01 01 11 	adcl   $0xc9d8111,0x1012006(%ecx)
40e7f4:	81 9d 0c
40e7f7:	20 05 01 0e 0c 11    	and    %al,0x110c0e01
40e7fd:	81 a1 11 81 a5 05 06 	andl   $0x1012006,0x5a58111(%ecx)
40e804:	20 01 01
40e807:	11 81 a9 07 20 04    	adc    %eax,0x42007a9(%ecx)
40e80d:	01 08                	add    %ecx,(%eax)
40e80f:	08 08                	or     %cl,(%eax)
40e811:	08 06                	or     %al,(%esi)
40e813:	20 01                	and    %al,(%ecx)
40e815:	01 11                	add    %edx,(%ecx)
40e817:	81 ad 05 20 02 01 0c 	subl   $0x20060c0c,0x1022005(%ebp)
40e81e:	0c 06 20
40e821:	01 01                	add    %eax,(%ecx)
40e823:	11 81 b1 06 20 01    	adc    %eax,0x12006b1(%ecx)
40e829:	01 11                	add    %edx,(%ecx)
40e82b:	81 b9 04 20 01 1c 0e 	cmpl   $0x120060e,0x1c012004(%ecx)
40e832:	06 20 01
40e835:	01 12                	add    %edx,(%edx)
40e837:	81 bd 06 20 01 01 11 	cmpl   $0x3c18111,0x1012006(%ebp)
40e83e:	81 c1 03
40e841:	00 00                	add    %al,(%eax)
40e843:	01 04 00             	add    %eax,(%eax,%eax,1)
40e846:	01 01                	add    %eax,(%ecx)
40e848:	02 05 00 01 01 12    	add    0x12010100,%al
40e84e:	51                   	push   %ecx
40e84f:	04 07                	add    $0x7,%al
40e851:	01 12                	add    %edx,(%edx)
40e853:	30 04 20             	xor    %al,(%eax,%eiz,1)
40e856:	00 11                	add    %dl,(%ecx)
40e858:	45                   	inc    %ebp
40e859:	05 07 01 12 80       	add    $0x80120107,%eax
40e85e:	99                   	cltd
40e85f:	08 00                	or     %al,(%eax)
40e861:	03 11                	add    (%ecx),%edx
40e863:	81 49 08 08 08 06 20 	orl    $0x20060808,0x8(%ecx)
40e86a:	01 01                	add    %eax,(%ecx)
40e86c:	11 81 c9 05 00 00    	adc    %eax,0x5c9(%ecx)
40e872:	12 81 d1 06 20 01    	adc    0x12006d1(%ecx),%al
40e878:	01 12                	add    %edx,(%edx)
40e87a:	81 d1 05 20 00 12    	adc    $0x12002005,%ecx
40e880:	81 d9 06 20 01 01    	sbb    $0x1012006,%ecx
40e886:	11 81 dd 06 20 01    	adc    %eax,0x12006dd(%ecx)
40e88c:	01 11                	add    %edx,(%ecx)
40e88e:	81 e1 0f 07 0a 12    	and    $0x120a070f,%ecx
40e894:	34 02                	xor    $0x2,%al
40e896:	02 08                	add    (%eax),%cl
40e898:	08 08                	or     %cl,(%eax)
40e89a:	11 2c 11             	adc    %ebp,(%ecx,%edx,1)
40e89d:	2c 02                	sub    $0x2,%al
40e89f:	02 08                	add    (%eax),%cl
40e8a1:	14 11                	adc    $0x11,%al
40e8a3:	2c 02                	sub    $0x2,%al
40e8a5:	00 02                	add    %al,(%edx)
40e8a7:	00 00                	add    %al,(%eax)
40e8a9:	06                   	push   %es
40e8aa:	20 02                	and    %al,(%edx)
40e8ac:	11 2c 08             	adc    %ebp,(%eax,%ecx,1)
40e8af:	08 07                	or     %al,(%edi)
40e8b1:	20 03                	and    %al,(%ebx)
40e8b3:	01 08                	add    %ecx,(%eax)
40e8b5:	08 11                	or     %dl,(%ecx)
40e8b7:	2c 08                	sub    $0x8,%al
40e8b9:	07                   	pop    %es
40e8ba:	06                   	push   %es
40e8bb:	08 08                	or     %cl,(%eax)
40e8bd:	02 02                	add    (%edx),%al
40e8bf:	02 02                	add    (%edx),%al
40e8c1:	0b 07                	or     (%edi),%eax
40e8c3:	07                   	pop    %es
40e8c4:	11 28                	adc    %ebp,(%eax)
40e8c6:	02 02                	add    (%edx),%al
40e8c8:	02 11                	add    (%ecx),%dl
40e8ca:	28 02                	sub    %al,(%edx)
40e8cc:	02 05 07 03 02 02    	add    0x2020307,%al
40e8d2:	02 04 07             	add    (%edi,%eax,1),%al
40e8d5:	02 02                	add    (%edx),%al
40e8d7:	08 04 00             	or     %al,(%eax,%eax,1)
40e8da:	00 12                	add    %dl,(%edx)
40e8dc:	51                   	push   %ecx
40e8dd:	05 07 01 12 80       	add    $0x80120107,%eax
40e8e2:	8d 06                	lea    (%esi),%eax
40e8e4:	07                   	pop    %es
40e8e5:	04 02                	add    $0x2,%al
40e8e7:	02 02                	add    (%edx),%al
40e8e9:	02 08                	add    (%eax),%cl
40e8eb:	07                   	pop    %es
40e8ec:	02 11                	add    (%ecx),%dl
40e8ee:	80 b9 11 80 b9 06 20 	cmpb   $0x20,0x6b98011(%ecx)
40e8f5:	01 01                	add    %eax,(%ecx)
40e8f7:	11 81 e5 1e 07 0d    	adc    %eax,0xd071ee5(%ecx)
40e8fd:	14 11                	adc    $0x11,%al
40e8ff:	2c 02                	sub    $0x2,%al
40e901:	00 02                	add    %al,(%edx)
40e903:	00 00                	add    %al,(%eax)
40e905:	1d 0e 08 08 08       	sbb    $0x808080e,%eax
40e90a:	08 02                	or     %al,(%edx)
40e90c:	08 08                	or     %cl,(%eax)
40e90e:	02 02                	add    (%edx),%al
40e910:	02 14 11             	add    (%ecx,%edx,1),%dl
40e913:	2c 02                	sub    $0x2,%al
40e915:	00 02                	add    %al,(%edx)
40e917:	00 00                	add    %al,(%eax)
40e919:	06                   	push   %es
40e91a:	07                   	pop    %es
40e91b:	03 03                	add    (%ebx),%eax
40e91d:	03 11                	add    (%ecx),%edx
40e91f:	2c 07                	sub    $0x7,%al
40e921:	07                   	pop    %es
40e922:	03 11                	add    (%ecx),%edx
40e924:	2c 11                	sub    $0x11,%al
40e926:	2c 03                	sub    $0x3,%al
40e928:	08 07                	or     %al,(%edi)
40e92a:	05 1d 03 0e 08       	add    $0x80e031d,%eax
40e92f:	02 0e                	add    (%esi),%cl
40e931:	04 20                	add    $0x20,%al
40e933:	00 1d 03 05 20 02    	add    %bl,0x2200503
40e939:	0e                   	push   %cs
40e93a:	0e                   	push   %cs
40e93b:	0e                   	push   %cs
40e93c:	04 07                	add    $0x7,%al
40e93e:	01 1d 05 0a 07 05    	add    %ebx,0x5070a05
40e944:	1d 05 12 80 bd       	sbb    $0xbd801205,%eax
40e949:	1c 1c                	sbb    $0x1c,%al
40e94b:	0e                   	push   %cs
40e94c:	07                   	pop    %es
40e94d:	20 01                	and    %al,(%ecx)
40e94f:	12 80 bd 1d 05 0e    	adc    0xe051dbd(%eax),%al
40e955:	00 06                	add    %al,(%esi)
40e957:	1c 1c                	sbb    $0x1c,%al
40e959:	12 81 69 0e 1d 1c    	adc    0x1c1d0e69(%ecx),%al
40e95f:	1d 0e 1d 02 05       	sbb    $0x5021d0e,%eax
40e964:	07                   	pop    %es
40e965:	01 12                	add    %edx,(%edx)
40e967:	80 c1 05             	add    $0x5,%cl
40e96a:	00 00                	add    %al,(%eax)
40e96c:	12 80 c1 03 07 01    	adc    0x10703c1(%eax),%al
40e972:	0d 06 15 12 80       	or     $0x80121506,%eax
40e977:	c5 01                	lds    (%ecx),%eax
40e979:	0d 0a 07 03 15       	or     $0x1503070a,%eax
40e97e:	11 80 c9 01 0d 02    	adc    %eax,0x20d01c9(%eax)
40e984:	02 05 20 01 01 13    	add    0x13010120,%al
40e98a:	00 06                	add    %al,(%esi)
40e98c:	15 11 80 c9 01       	adc    $0x1c98011,%eax
40e991:	0d 04 20 00 13       	or     $0x13002004,%eax
40e996:	00 05 07 02 12 51    	add    %al,0x51120207
40e99c:	08 05 20 01 01 12    	or     %al,0x12010120
40e9a2:	51                   	push   %ecx
40e9a3:	07                   	pop    %es
40e9a4:	07                   	pop    %es
40e9a5:	03 12                	add    (%edx),%edx
40e9a7:	80 dd 02             	sbb    $0x2,%ch
40e9aa:	0e                   	push   %cs
40e9ab:	06                   	push   %es
40e9ac:	00 01                	add    %al,(%ecx)
40e9ae:	0e                   	push   %cs
40e9af:	11 81 f1 07 20 01    	adc    %eax,0x12007f1(%ecx)
40e9b5:	11 45 12             	adc    %eax,0x12(%ebp)
40e9b8:	81 fd 07 07 03 12    	cmp    $0x12030707,%ebp
40e9be:	80 e1 02             	and    $0x2,%cl
40e9c1:	0e                   	push   %cs
40e9c2:	03 20                	add    (%eax),%esp
40e9c4:	00 02                	add    %al,(%edx)
40e9c6:	06                   	push   %es
40e9c7:	20 01                	and    %al,(%ecx)
40e9c9:	01 11                	add    %edx,(%ecx)
40e9cb:	82 01 08             	addb   $0x8,(%ecx)
40e9ce:	07                   	pop    %es
40e9cf:	03 1d 12 51 08 12    	add    0x12085112,%ebx
40e9d5:	51                   	push   %ecx
40e9d6:	05 20 00 1d 12       	add    $0x121d0020,%eax
40e9db:	51                   	push   %ecx
40e9dc:	05 20 01 01 12       	add    $0x12010120,%eax
40e9e1:	59                   	pop    %ecx
40e9e2:	05 20 01 01 12       	add    $0x12010120,%eax
40e9e7:	6d                   	insl   (%dx),%es:(%edi)
40e9e8:	06                   	push   %es
40e9e9:	20 01                	and    %al,(%ecx)
40e9eb:	01 11                	add    %edx,(%ecx)
40e9ed:	80 b9 06 20 01 01 11 	cmpb   $0x11,0x1012006(%ecx)
40e9f4:	82 09 06             	orb    $0x6,(%ecx)
40e9f7:	20 01                	and    %al,(%ecx)
40e9f9:	01 12                	add    %edx,(%edx)
40e9fb:	80 cd 04             	or     $0x4,%ch
40e9fe:	07                   	pop    %es
40e9ff:	02 02                	add    (%edx),%al
40ea01:	0d 07 07 05 0d       	or     $0xd050707,%eax
40ea06:	02 02                	add    (%edx),%al
40ea08:	02 02                	add    (%edx),%al
40ea0a:	04 07                	add    $0x7,%al
40ea0c:	02 0d 02 05 15 12    	add    0x12150502,%cl
40ea12:	58                   	pop    %eax
40ea13:	01 0d 07 15 12 80    	add    %ecx,0x80121507
40ea19:	e5 02                	in     $0x2,%eax
40ea1b:	0d 08 03 07 01       	or     $0x1070308,%eax