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)
40fa06:	0d 04 06 12 81       	or     $0x81120604,%eax
40fa0b:	11 03                	adc    %eax,(%ebx)
40fa0d:	06                   	push   %es
40fa0e:	12 0c 03             	adc    (%ebx,%eax,1),%cl
40fa11:	06                   	push   %es
40fa12:	12 45 04             	adc    0x4(%ebp),%al
40fa15:	06                   	push   %es
40fa16:	1d 1d 0d 0d 06       	sbb    $0x60d0d1d,%eax
40fa1b:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa20:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa25:	12 58 02             	adc    0x2(%eax),%bl
40fa28:	06                   	push   %es
40fa29:	02 03                	add    (%ebx),%al
40fa2b:	06                   	push   %es
40fa2c:	12 34 08             	adc    (%eax,%ecx,1),%dh
40fa2f:	06                   	push   %es
40fa30:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa35:	12 58 09             	adc    0x9(%eax),%bl
40fa38:	06                   	push   %es
40fa39:	14 12                	adc    $0x12,%al
40fa3b:	58                   	pop    %eax
40fa3c:	02 00                	add    (%eax),%al
40fa3e:	02 00                	add    (%eax),%al
40fa40:	00 04 06             	add    %al,(%esi,%eax,1)
40fa43:	1d 12 3c 04 06       	sbb    $0x6043c12,%eax
40fa48:	1d 12 48 03 06       	sbb    $0x6034812,%eax
40fa4d:	12 3c 04             	adc    (%esp,%eax,1),%bh
40fa50:	06                   	push   %es
40fa51:	1d 12 58 08 06       	sbb    $0x6085812,%eax
40fa56:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa5b:	12 60 07             	adc    0x7(%eax),%ah
40fa5e:	06                   	push   %es
40fa5f:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa64:	0d 03 06 1d 0d       	or     $0xd1d0603,%eax
40fa69:	04 06                	add    $0x6,%al
40fa6b:	12 81 31 04 06 12    	adc    0x12060431(%ecx),%al
40fa71:	81 35 03 06 12 70 04 	xorl   $0x80120604,0x70120603
40fa78:	06 12 80
40fa7b:	bd 03 06 12 78       	mov    $0x78120603,%ebp
40fa80:	03 06                	add    (%esi),%eax
40fa82:	12 7c 04 06          	adc    0x6(%esp,%eax,1),%bh
40fa86:	12 80 88 04 06 11    	adc    0x11060488(%eax),%al
40fa8c:	80 f1 04             	xor    $0x4,%cl
40fa8f:	06                   	push   %es
40fa90:	12 80 8c 03 20 00    	adc    0x20038c(%eax),%al
40fa96:	0d 04 20 01 01       	or     $0x1012004,%eax
40fa9b:	0d 05 20 00 12       	or     $0x12002005,%eax
40faa0:	80 80 05 20 00 12 80 	addb   $0x80,0x12002005(%eax)
40faa7:	84 07                	test   %al,(%edi)
40faa9:	20 02                	and    %al,(%edx)
40faab:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40faae:	80 91 08 00 01 12 80 	adcb   $0x80,0x12010008(%ecx)
40fab5:	95                   	xchg   %eax,%ebp
40fab6:	12 80 99 07 20 02    	adc    0x2200799(%eax),%al
40fabc:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40fabf:	80 ed 07             	sub    $0x7,%ch
40fac2:	20 02                	and    %al,(%edx)
40fac4:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40fac7:	81 21 06 20 01 1d    	andl   $0x1d012006,(%ecx)
40facd:	1d 0d 0d 05 20       	sbb    $0x20050d0d,%eax
40fad2:	00 1d 1d 0d 08 20    	add    %bl,0x20080d1d
40fad8:	03 1d 1d 0d 0d 0d    	add    0xd0d0d1d,%ebx
40fade:	0d 07 20 04 01       	or     $0x1042007,%eax
40fae3:	08 08                	or     %cl,(%eax)
40fae5:	08 08                	or     %cl,(%eax)
40fae7:	04 20                	add    $0x20,%al
40fae9:	01 0d 0d 08 20 03    	add    %ecx,0x320080d
40faef:	01 12                	add    %edx,(%edx)
40faf1:	58                   	pop    %eax
40faf2:	12 58 08             	adc    0x8(%eax),%bl
40faf5:	0a 20                	or     (%eax),%ah
40faf7:	00 14 12             	add    %dl,(%edx,%edx,1)
40fafa:	58                   	pop    %eax
40fafb:	02 00                	add    (%eax),%al
40fafd:	02 00                	add    (%eax),%al
40faff:	00 0b                	add    %cl,(%ebx)
40fb01:	20 01                	and    %al,(%ecx)
40fb03:	01 14 12             	add    %edx,(%edx,%edx,1)
40fb06:	58                   	pop    %eax
40fb07:	02 00                	add    (%eax),%al
40fb09:	02 00                	add    (%eax),%al
40fb0b:	00 08                	add    %cl,(%eax)
40fb0d:	20 04 12             	and    %al,(%edx,%edx,1)
40fb10:	58                   	pop    %eax
40fb11:	0d 0d 08 08 07       	or     $0x708080d,%eax
40fb16:	00 01                	add    %al,(%ecx)
40fb18:	1d 05 12 81 25       	sbb    $0x25811205,%eax
40fb1d:	09 20                	or     %esp,(%eax)
40fb1f:	03 01                	add    (%ecx),%eax
40fb21:	12 3c 12             	adc    (%edx,%edx,1),%bh
40fb24:	3c 12                	cmp    $0x12,%al
40fb26:	3c 07                	cmp    $0x7,%al
40fb28:	20 02                	and    %al,(%edx)
40fb2a:	01 12                	add    %edx,(%edx)
40fb2c:	3c 12                	cmp    $0x12,%al
40fb2e:	3c 05                	cmp    $0x5,%al
40fb30:	20 01                	and    %al,(%ecx)
40fb32:	01 12                	add    %edx,(%edx)
40fb34:	58                   	pop    %eax
40fb35:	07                   	pop    %es
40fb36:	20 02                	and    %al,(%edx)
40fb38:	1c 12                	sbb    $0x12,%al
40fb3a:	30 12                	xor    %dl,(%edx)
40fb3c:	74 08                	je     0x40fb46
40fb3e:	00 02                	add    %al,(%edx)
40fb40:	12 58 12             	adc    0x12(%eax),%bl
40fb43:	58                   	pop    %eax
40fb44:	12 58 08             	adc    0x8(%eax),%bl
40fb47:	00 04 0d 12 58 0d 0d 	add    %al,0xd0d5812(,%ecx,1)
40fb4e:	0d 07 00 02 0d       	or     $0xd020007,%eax
40fb53:	12 58 12             	adc    0x12(%eax),%bl
40fb56:	58                   	pop    %eax
40fb57:	0b 00                	or     (%eax),%eax
40fb59:	02 1d 1d 0d 1d 1d    	add    0x1d1d0d1d,%bl
40fb5f:	0d 1d 1d 0d 17       	or     $0x170d1d1d,%eax
40fb64:	00 02                	add    %al,(%edx)
40fb66:	14 0d                	adc    $0xd,%al
40fb68:	02 00                	add    (%eax),%al
40fb6a:	02 00                	add    (%eax),%al
40fb6c:	00 14 0d 02 00 02 00 	add    %dl,0x20002(,%ecx,1)
40fb73:	00 14 0d 02 00 02 00 	add    %dl,0x20002(,%ecx,1)
40fb7a:	00 08                	add    %cl,(%eax)
40fb7c:	00 01                	add    %al,(%ecx)
40fb7e:	1d 1d 0d 1d 1d       	sbb    $0x1d1d0d1d,%eax
40fb83:	0d 0a 00 03 12       	or     $0x1203000a,%eax
40fb88:	58                   	pop    %eax
40fb89:	12 58 12             	adc    0x12(%eax),%bl
40fb8c:	58                   	pop    %eax
40fb8d:	12 58 09             	adc    0x9(%eax),%bl
40fb90:	00 03                	add    %al,(%ebx)
40fb92:	12 58 12             	adc    0x12(%eax),%bl
40fb95:	58                   	pop    %eax
40fb96:	12 58 0d             	adc    0xd(%eax),%bl
40fb99:	05 00 02 0d 0d       	add    $0xd0d0200,%eax
40fb9e:	08 0b                	or     %cl,(%ebx)
40fba0:	00 04 12             	add    %al,(%edx,%edx,1)
40fba3:	58                   	pop    %eax
40fba4:	12 58 12             	adc    0x12(%eax),%bl
40fba7:	58                   	pop    %eax
40fba8:	12 58 0d             	adc    0xd(%eax),%bl
40fbab:	06                   	push   %es
40fbac:	20 03                	and    %al,(%ebx)
40fbae:	01 0d 0d 0d 07 20    	add    %ecx,0x20070d0d
40fbb4:	04 01                	add    $0x1,%al
40fbb6:	0d 0d 0d 0d 06       	or     $0x60d0d0d,%eax
40fbbb:	20 01                	and    %al,(%ecx)
40fbbd:	01 1d 1d 0d 09 20    	add    %ebx,0x20090d1d
40fbc3:	03 01                	add    (%ecx),%eax
40fbc5:	10 0d 10 0d 10 0d    	adc    %cl,0xd100d10
40fbcb:	08 20                	or     %ah,(%eax)
40fbcd:	03 01                	add    (%ecx),%eax
40fbcf:	12 58 12             	adc    0x12(%eax),%bl
40fbd2:	58                   	pop    %eax
40fbd3:	0d 05 20 01 12       	or     $0x12012005,%eax
40fbd8:	58                   	pop    %eax
40fbd9:	0d 04 20 00 12       	or     $0x12002004,%eax
40fbde:	58                   	pop    %eax
40fbdf:	0a 20                	or     (%eax),%ah
40fbe1:	01 15 12 81 01 01    	add    %edx,0x1018112
40fbe7:	12 58 08             	adc    0x8(%eax),%bl
40fbea:	04 20                	add    $0x20,%al
40fbec:	01 0d 08 05 20 02    	add    %ecx,0x2200508
40fbf2:	01 08                	add    %ecx,(%eax)
40fbf4:	0d 06 20 03 01       	or     $0x1032006,%eax
40fbf9:	08 08                	or     %cl,(%eax)
40fbfb:	08 05 00 00 12 81    	or     %al,0x81120000
40fc01:	31 05 00 00 12 81    	xor    %eax,0x81120000
40fc07:	35 06 00 01 01       	xor    $0x1010006,%eax
40fc0c:	12 81 35 05 00 00    	adc    0x535(%ecx),%al
40fc12:	12 81 25 03 00 00    	adc    0x325(%ecx),%al
40fc18:	0e                   	push   %cs
40fc19:	04 00                	add    $0x0,%al
40fc1b:	00 12                	add    %dl,(%edx)
40fc1d:	70 04                	jo     0x40fc23
40fc1f:	20 00                	and    %al,(%eax)