40b6ca:	02 0f                	add    (%edi),%cl
40b6cc:	07                   	pop    %es
40b6cd:	08 09                	or     %cl,(%ecx)
40b6cf:	0d 08 07 0e 02       	or     $0x20e0708,%eax
40b6d4:	15 11 80 a9 01       	adc    $0x1a98011,%eax
40b6d9:	02 02                	add    (%edx),%al
40b6db:	06                   	push   %es
40b6dc:	15 11 80 a9 01       	adc    $0x1a98011,%eax
40b6e1:	02 09                	add    (%ecx),%cl
40b6e3:	07                   	pop    %es
40b6e4:	07                   	pop    %es
40b6e5:	05 08 08 04 0c       	add    $0xc040808,%eax
40b6ea:	02 02                	add    (%edx),%al
40b6ec:	09 07                	or     %eax,(%edi)
40b6ee:	07                   	pop    %es
40b6ef:	0d 0b 0c 07 0c       	or     $0xc070c0b,%eax
40b6f4:	0d 02 0c 07 07       	or     $0x7070c02,%eax
40b6f9:	0d 1d 08 12 80       	or     $0x8012081d,%eax
40b6fe:	ad                   	lods   %ds:(%esi),%eax
40b6ff:	04 0a                	add    $0xa,%al
40b701:	09 0c 05 20 02 08 08 	or     %ecx,0x8080220(,%eax,1)
40b708:	08 04 00             	or     %al,(%eax,%eax,1)
40b70b:	01 01                	add    %eax,(%ecx)
40b70d:	08 07                	or     %al,(%edi)
40b70f:	07                   	pop    %es
40b710:	05 0b 04 0b 06       	add    $0x60b040b,%eax
40b715:	04 08                	add    $0x8,%al
40b717:	07                   	pop    %es
40b718:	06                   	push   %es
40b719:	0d 0c 07 0e 0c       	or     $0xc0e070c,%eax
40b71e:	02 06                	add    (%esi),%al
40b720:	00 01                	add    %al,(%ecx)
40b722:	11 81 71 0e 07 07    	adc    %eax,0x7070e71(%ecx)
40b728:	05 0e 0a 0e 0a       	add    $0xa0e0a0e,%eax
40b72d:	04 09                	add    $0x9,%al
40b72f:	07                   	pop    %es
40b730:	07                   	pop    %es
40b731:	0b 0c 0c             	or     (%esp,%ecx,1),%ecx
40b734:	0d 06 02 0d 08       	or     $0x80d0206,%eax
40b739:	07                   	pop    %es
40b73a:	06                   	push   %es
40b73b:	04 0a                	add    $0xa,%al
40b73d:	08 05 05 02 08 07    	or     %al,0x7080205
40b743:	06                   	push   %es
40b744:	05 08 09 05 0a       	add    $0xa050908,%eax
40b749:	02 08                	add    (%eax),%cl
40b74b:	07                   	pop    %es
40b74c:	06                   	push   %es
40b74d:	09 08                	or     %ecx,(%eax)
40b74f:	04 07                	add    $0x7,%al
40b751:	0e                   	push   %cs
40b752:	02 09                	add    (%ecx),%cl
40b754:	07                   	pop    %es
40b755:	07                   	pop    %es
40b756:	0c 09                	or     $0x9,%al
40b758:	08 0e                	or     %cl,(%esi)
40b75a:	08 02                	or     %al,(%edx)
40b75c:	02 1c 07             	add    (%edi,%eax,1),%bl
40b75f:	0b 06                	or     (%esi),%eax
40b761:	0c 08                	or     $0x8,%al
40b763:	0d 04 02 0d 15       	or     $0x150d0204,%eax
40b768:	11 80 a9 01 08 15    	adc    %eax,0x150801a9(%eax)
40b76e:	11 80 a9 01 08 15    	adc    %eax,0x150801a9(%eax)
40b774:	11 80 a9 01 08 02    	adc    %eax,0x20801a9(%eax)
40b77a:	06                   	push   %es
40b77b:	15 11 80 a9 01       	adc    $0x1a98011,%eax
40b780:	08 04 20             	or     %al,(%eax,%eiz,1)
40b783:	00 13                	add    %dl,(%ebx)
40b785:	00 07                	add    %al,(%edi)
40b787:	07                   	pop    %es
40b788:	05 06 05 04 05       	add    $0x5040506,%eax
40b78d:	07                   	pop    %es
40b78e:	08 07                	or     %al,(%edi)
40b790:	06                   	push   %es
40b791:	0c 0d                	or     $0xd,%al
40b793:	09 0b                	or     %ecx,(%ebx)
40b795:	06                   	push   %es
40b796:	02 07                	add    (%edi),%al
40b798:	07                   	pop    %es
40b799:	05 06 0e 0e 07       	add    $0x70e0e06,%eax
40b79e:	05 0c 07 08 05       	add    $0x508070c,%eax
40b7a3:	06                   	push   %es
40b7a4:	04 0d                	add    $0xd,%al
40b7a6:	09 02                	or     %eax,(%edx)
40b7a8:	0d 12 80 b1 0c       	or     $0xcb18012,%eax
40b7ad:	07                   	pop    %es
40b7ae:	0a 08                	or     (%eax),%cl
40b7b0:	0d 0d 1c 04 0d       	or     $0xd041c0d,%eax
40b7b5:	08 02                	or     %al,(%edx)
40b7b7:	02 02                	add    (%edx),%al
40b7b9:	08 00                	or     %al,(%eax)
40b7bb:	03 0d 0d 08 11 81    	add    0x8111080d,%ecx
40b7c1:	75 04                	jne    0x40b7c7
40b7c3:	00 01                	add    %al,(%ecx)
40b7c5:	01 0d 08 07 06 04    	add    %ecx,0x4060708
40b7cb:	08 09                	or     %cl,(%ecx)
40b7cd:	06                   	push   %es
40b7ce:	0b 02                	or     (%edx),%eax
40b7d0:	07                   	pop    %es
40b7d1:	07                   	pop    %es
40b7d2:	05 09 05 0e 0b       	add    $0xb0e0509,%eax
40b7d7:	09 08                	or     %ecx,(%eax)
40b7d9:	07                   	pop    %es
40b7da:	06                   	push   %es
40b7db:	0c 08                	or     $0x8,%al
40b7dd:	06                   	push   %es
40b7de:	0a 0c 02             	or     (%edx,%eax,1),%cl
40b7e1:	08 07                	or     %al,(%edi)
40b7e3:	06                   	push   %es
40b7e4:	05 0b 0c 08 09       	add    $0x9080c0b,%eax
40b7e9:	02 07                	add    (%edi),%al
40b7eb:	07                   	pop    %es
40b7ec:	05 04 06 0b 04       	add    $0x40b0604,%eax
40b7f1:	0a 07                	or     (%edi),%al
40b7f3:	07                   	pop    %es
40b7f4:	05 05 06 0b 06       	add    $0x60b0605,%eax
40b7f9:	05 09 07 07 0c       	add    $0xc070709,%eax
40b7fe:	05 08 0e 08 02       	add    $0x2080e08,%eax
40b803:	02 07                	add    (%edi),%al
40b805:	07                   	pop    %es
40b806:	05 0c 0a 0d 0b       	add    $0xb0d0a0c,%eax
40b80b:	04 07                	add    $0x7,%al
40b80d:	07                   	pop    %es
40b80e:	05 04 06 0b 0b       	add    $0xb0b0604,%eax
40b813:	0a 0b                	or     (%ebx),%cl
40b815:	07                   	pop    %es
40b816:	09 0d 04 08 0c 0d    	or     %ecx,0xd0c0804
40b81c:	0d 02 02 02 05       	or     $0x5020202,%eax
40b821:	00 00                	add    %al,(%eax)
40b823:	11 81 79 09 07 07    	adc    %eax,0x7070979(%ecx)
40b829:	0b 0e                	or     (%esi),%ecx
40b82b:	08 08                	or     %cl,(%eax)
40b82d:	04 02                	add    $0x2,%al
40b82f:	02 0e                	add    (%esi),%cl
40b831:	07                   	pop    %es
40b832:	09 0e                	or     %ecx,(%esi)
40b834:	08 09                	or     %cl,(%ecx)
40b836:	0d 0d 0d 1d 08       	or     $0x81d0d0d,%eax
40b83b:	12 80 ad 02 07 07    	adc    0x70702ad(%eax),%al
40b841:	05 05 0a 05 06       	add    $0x6050a05,%eax
40b846:	04 09                	add    $0x9,%al
40b848:	07                   	pop    %es
40b849:	07                   	pop    %es
40b84a:	06                   	push   %es
40b84b:	08 08                	or     %cl,(%eax)
40b84d:	0c 0a                	or     $0xa,%al
40b84f:	02 02                	add    (%edx),%al
40b851:	07                   	pop    %es
40b852:	07                   	pop    %es
40b853:	05 07 0c 0c 07       	add    $0x70c0c07,%eax
40b858:	06                   	push   %es
40b859:	07                   	pop    %es
40b85a:	07                   	pop    %es
40b85b:	05 0c 09 05 0a       	add    $0xa05090c,%eax
40b860:	0a 07                	or     (%edi),%al
40b862:	07                   	pop    %es
40b863:	05 04 07 07 0e       	add    $0xe070704,%eax
40b868:	0c 07                	or     $0x7,%al
40b86a:	07                   	pop    %es
40b86b:	05 05 07 0a 05       	add    $0x50a0705,%eax
40b870:	04 09                	add    $0x9,%al
40b872:	07                   	pop    %es
40b873:	07                   	pop    %es
40b874:	0d 1c 0c 09 08       	or     $0x8090c1c,%eax
40b879:	09 02                	or     %eax,(%edx)
40b87b:	0a 07                	or     (%edi),%al
40b87d:	08 08                	or     %cl,(%eax)
40b87f:	06                   	push   %es
40b880:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40b885:	02 08                	add    (%eax),%cl
40b887:	07                   	pop    %es
40b888:	06                   	push   %es
40b889:	0a 06                	or     (%esi),%al
40b88b:	04 0b                	add    $0xb,%al
40b88d:	0d 02 03 00 00       	or     $0x302,%eax
40b892:	0e                   	push   %cs
40b893:	09 07                	or     %eax,(%edi)
40b895:	07                   	pop    %es
40b896:	06                   	push   %es
40b897:	04 08                	add    $0x8,%al
40b899:	04 08                	add    $0x8,%al
40b89b:	02 02                	add    (%edx),%al
40b89d:	08 07                	or     %al,(%edi)
40b89f:	06                   	push   %es
40b8a0:	0b 0d 04 0b 0c 02    	or     0x20c0b04,%ecx
40b8a6:	07                   	pop    %es
40b8a7:	07                   	pop    %es
40b8a8:	05 06 0e 0b 0b       	add    $0xb0b0e06,%eax
40b8ad:	0e                   	push   %cs
40b8ae:	07                   	pop    %es
40b8af:	07                   	pop    %es
40b8b0:	05 06 0e 05 0e       	add    $0xe050e06,%eax
40b8b5:	07                   	pop    %es
40b8b6:	08 07                	or     %al,(%edi)
40b8b8:	06                   	push   %es
40b8b9:	0a 0a                	or     (%edx),%cl
40b8bb:	07                   	pop    %es
40b8bc:	0d 0d 04 07 07       	or     $0x707040d,%eax
40b8c1:	05 0c 0a 06 0b       	add    $0xb060a0c,%eax
40b8c6:	0c 08                	or     $0x8,%al
40b8c8:	07                   	pop    %es
40b8c9:	06                   	push   %es
40b8ca:	08 0c 0c             	or     %cl,(%esp,%ecx,1)
40b8cd:	0a 06                	or     (%esi),%al
40b8cf:	02 0e                	add    (%esi),%cl
40b8d1:	07                   	pop    %es
40b8d2:	05 12 80 b5 12       	add    $0x12b58012,%eax
40b8d7:	80 b9 1d 05 1d 05 1d 	cmpb   $0x1d,0x51d051d(%ecx)
40b8de:	05 05 00 00 12       	add    $0x12000005,%eax
40b8e3:	81 7d 05 20 01 1d 05 	cmpl   $0x51d0120,0x5(%ebp)
40b8ea:	0e                   	push   %cs
40b8eb:	06                   	push   %es
40b8ec:	20 01                	and    %al,(%ecx)
40b8ee:	1d 05 1d 05 05       	sbb    $0x5051d05,%eax
40b8f3:	20 01                	and    %al,(%ecx)
40b8f5:	01 1d 05 06 20 01    	add    %ebx,0x1200605
40b8fb:	01 11                	add    %edx,(%ecx)
40b8fd:	81 89 05 20 00 12 81 	orl    $0x20088d81,0x12002005(%ecx)
40b904:	8d 08 20
40b907:	03 1d 05 1d 05 08    	add    0x8051d05,%ebx
40b90d:	08 04 07             	or     %al,(%edi,%eax,1)
40b910:	01 1d 05 0a 07 05    	add    %ebx,0x5070a05
40b916:	1d 05 12 80 bd       	sbb    $0xbd801205,%eax
40b91b:	1c 1c                	sbb    $0x1c,%al
40b91d:	0e                   	push   %cs
40b91e:	07                   	pop    %es
40b91f:	00 01                	add    %al,(%ecx)
40b921:	12 80 bd 1d 05 0d    	adc    0xd051dbd(%eax),%al
40b927:	00 06                	add    %al,(%esi)
40b929:	1c 1c                	sbb    $0x1c,%al
40b92b:	12 7d 0e             	adc    0xe(%ebp),%bh
40b92e:	1d 1c 1d 0e 1d       	sbb    $0x1d0e1d1c,%eax
40b933:	02 05 00 02 0e 0e    	add    0xe0e0200,%al
40b939:	1c 09                	sbb    $0x9,%al
40b93b:	07                   	pop    %es
40b93c:	05 1d 1c 02 12       	add    $0x12021c1d,%eax
40b941:	15 02 0e 05 00       	adc    $0x50e02,%eax
40b946:	00 12                	add    %dl,(%edx)
40b948:	80 bd 07 20 02 1d 1c 	cmpb   $0x1c,0x1d022007(%ebp)
40b94f:	12 7d 02             	adc    0x2(%ebp),%bh
40b952:	05 00 02 02 0e       	add    $0xe020200,%eax
40b957:	0e                   	push   %cs
40b958:	04 00                	add    $0x0,%al
40b95a:	01 0e                	add    %ecx,(%esi)
40b95c:	0e                   	push   %cs
40b95d:	05 20 00 12 81       	add    $0x81120020,%eax
40b962:	9d                   	popf
40b963:	05 20 00 12 81       	add    $0x81120020,%eax
40b968:	a1 06 07 03 1d       	mov    0x1d030706,%eax
40b96d:	1c 02                	sbb    $0x2,%al
40b96f:	0e                   	push   %cs
40b970:	05 07 01 12 80       	add    $0x80120107,%eax
40b975:	c9                   	leave
40b976:	05 20 01 01 12       	add    $0x12010120,%eax
40b97b:	7d 05                	jge    0x40b982
40b97d:	20 00                	and    %al,(%eax)
40b97f:	12 81 a9 07 20 02    	adc    0x22007a9(%ecx),%al
40b985:	01 11                	add    %edx,(%ecx)
40b987:	81 b1 0c 06 20 01 08 	xorl   $0xad811208,0x120060c(%ecx)
40b98e:	12 81 ad
40b991:	05 20 00 12 81       	add    $0x81120020,%eax
40b996:	b5 08                	mov    $0x8,%ch
40b998:	20 03                	and    %al,(%ebx)
40b99a:	01 12                	add    %edx,(%edx)
40b99c:	81 01 08 08 06 20    	addl   $0x20060808,(%ecx)
40b9a2:	01 01                	add    %eax,(%ecx)
40b9a4:	11 81 b9 07 20 04    	adc    %eax,0x42007b9(%ecx)
40b9aa:	01 08                	add    %ecx,(%eax)
40b9ac:	08 08                	or     %cl,(%eax)
40b9ae:	08 06                	or     %al,(%esi)
40b9b0:	20 01                	and    %al,(%ecx)
40b9b2:	01 11                	add    %edx,(%ecx)
40b9b4:	81 bd 05 20 00 12 81 	cmpl   $0x2006c181,0x12002005(%ebp)
40b9bb:	c1 06 20
40b9be:	01 08                	add    %ecx,(%eax)
40b9c0:	12 81 c5 06 20 01    	adc    0x12006c5(%ecx),%al
40b9c6:	01 12                	add    %edx,(%edx)
40b9c8:	81 c9 07 20 02 01    	or     $0x1022007,%ecx
40b9ce:	12 81 01 08 06 20    	adc    0x20060801(%ecx),%al
40b9d4:	01 01                	add    %eax,(%ecx)
40b9d6:	11 81 cd 06 20 01    	adc    %eax,0x12006cd(%ecx)
40b9dc:	01 11                	add    %edx,(%ecx)
40b9de:	81 d1 06 20 01 01    	adc    $0x1012006,%ecx
40b9e4:	11 81 d9 06 20 01    	adc    %eax,0x12006d9(%ecx)
40b9ea:	01 11                	add    %edx,(%ecx)
40b9ec:	81 dd 06 20 01 01    	sbb    $0x1012006,%ebp
40b9f2:	11 81 71 06 20 01    	adc    %eax,0x1200671(%ecx)
40b9f8:	01 12                	add    %edx,(%edx)
40b9fa:	81 e1 06 20 01 01    	and    $0x1012006,%ecx
40ba00:	11 81 e5 04 07 02    	adc    %eax,0x20704e5(%ecx)
40ba06:	0d 0d 09 07 03       	or     $0x307090d,%eax
40ba0b:	02 12                	add    (%edx),%dl
40ba0d:	80 dd 12             	sbb    $0x12,%ch
40ba10:	80 dd 05             	sbb    $0x5,%ch
40ba13:	20 00                	and    %al,(%eax)
40ba15:	12 80 bd 07 20 02    	adc    0x22007bd(%eax),%al
40ba1b:	01 0e                	add    %ecx,(%esi)
40ba1d:	12 80 bd 05 07 01    	adc    0x10705bd(%eax),%al
40ba23:	12 80 e1 05 07 02    	adc    0x20705e1(%eax),%al
40ba29:	1c 1d                	sbb    $0x1d,%al
40ba2b:	05 07 20 02 1c       	add    $0x1c022007,%eax
40ba30:	0e                   	push   %cs
40ba31:	12 80 e1 02 1d 05    	adc    0x51d02e1(%eax),%al
40ba37:	06                   	push   %es
40ba38:	07                   	pop    %es
40ba39:	02 1c 12             	add    (%edx,%edx,1),%bl
40ba3c:	80 e5 14             	and    $0x14,%ch
40ba3f:	07                   	pop    %es
40ba40:	10 0d 0d 0d 0d 0d    	adc    %cl,0xd0d0d0d
40ba46:	0d 0d 0c 0c 0c       	or     $0xc0c0c0d,%eax
40ba4b:	0c 0c                	or     $0xc,%al
40ba4d:	0c 0c                	or     $0xc,%al
40ba4f:	0c 11                	or     $0x11,%al
40ba51:	80 d4 05             	adc    $0x5,%ah
40ba54:	07                   	pop    %es
40ba55:	01 11                	add    %edx,(%ecx)
40ba57:	80 d4 07             	adc    $0x7,%ah
40ba5a:	07                   	pop    %es
40ba5b:	03 0d 0d 11 80 e0    	add    0xe080110d,%ecx
40ba61:	05 07 01 12 80       	add    $0x80120107,%eax
40ba66:	9c                   	pushf
40ba67:	04 00                	add    $0x0,%al
40ba69:	01 01                	add    %eax,(%ecx)
40ba6b:	02 09                	add    (%ecx),%cl
40ba6d:	15 12 80 f1 02       	adc    $0x2f18012,%eax
40ba72:	0e                   	push   %cs
40ba73:	12 80 a8 06 20 01    	adc    0x12006a8(%eax),%al
40ba79:	13 01                	adc    (%ecx),%eax
40ba7b:	13 00                	adc    (%eax),%eax
40ba7d:	08 15 12 79 02 0e    	or     %dl,0xe027912
40ba83:	12 80 a8 09 15 12    	adc    0x121509a8(%eax),%al
40ba89:	80 f1 02             	xor    $0x2,%cl
40ba8c:	0e                   	push   %cs
40ba8d:	11 80 d4 0a 07 04    	adc    %eax,0x4070ad4(%eax)
40ba93:	12 80 e5 08 08 12    	adc    0x120808e5(%eax),%al
40ba99:	80 fd 04             	cmp    $0x4,%ch
40ba9c:	00 01                	add    %al,(%ecx)
40ba9e:	02 0e                	add    (%esi),%cl
40baa0:	06                   	push   %es
40baa1:	20 01                	and    %al,(%ecx)
40baa3:	01 11                	add    %edx,(%ecx)
40baa5:	81 f1 0e 20 03 12    	xor    $0x1203200e,%ecx
40baab:	80 fd 11             	cmp    $0x11,%ch
40baae:	81 f5 11 81 f9 11    	xor    $0x11f98111,%ebp
40bab4:	80 f9 06             	cmp    $0x6,%cl
40bab7:	20 01                	and    %al,(%ecx)
40bab9:	01 12                	add    %edx,(%edx)
40babb:	80 fd 08             	cmp    $0x8,%ch
40babe:	15 12 79 02 0e       	adc    $0xe027912,%eax
40bac3:	11 80 d4 08 b7 7a    	adc    %eax,0x7ab708d4(%eax)