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)
40fa3b:	1d 12 3c 04 06       	sbb    $0x6043c12,%eax
40fa40:	1d 12 48 03 06       	sbb    $0x6034812,%eax
40fa45:	12 3c 04             	adc    (%esp,%eax,1),%bh
40fa48:	06                   	push   %es
40fa49:	1d 12 58 08 06       	sbb    $0x6085812,%eax
40fa4e:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa53:	12 60 07             	adc    0x7(%eax),%ah
40fa56:	06                   	push   %es
40fa57:	15 12 81 01 01       	adc    $0x1018112,%eax
40fa5c:	0d 03 06 1d 0d       	or     $0xd1d0603,%eax
40fa61:	04 06                	add    $0x6,%al
40fa63:	12 81 31 04 06 12    	adc    0x12060431(%ecx),%al
40fa69:	81 35 03 06 12 70 04 	xorl   $0x80120604,0x70120603
40fa70:	06 12 80
40fa73:	bd 03 06 12 78       	mov    $0x78120603,%ebp
40fa78:	03 06                	add    (%esi),%eax
40fa7a:	12 7c 04 06          	adc    0x6(%esp,%eax,1),%bh
40fa7e:	12 80 88 04 06 11    	adc    0x11060488(%eax),%al
40fa84:	80 f1 04             	xor    $0x4,%cl
40fa87:	06                   	push   %es
40fa88:	12 80 8c 03 20 00    	adc    0x20038c(%eax),%al
40fa8e:	0d 04 20 01 01       	or     $0x1012004,%eax
40fa93:	0d 05 20 00 12       	or     $0x12002005,%eax
40fa98:	80 80 05 20 00 12 80 	addb   $0x80,0x12002005(%eax)
40fa9f:	84 07                	test   %al,(%edi)
40faa1:	20 02                	and    %al,(%edx)
40faa3:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40faa6:	80 91 08 00 01 12 80 	adcb   $0x80,0x12010008(%ecx)
40faad:	95                   	xchg   %eax,%ebp
40faae:	12 80 99 07 20 02    	adc    0x2200799(%eax),%al
40fab4:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40fab7:	80 ed 07             	sub    $0x7,%ch
40faba:	20 02                	and    %al,(%edx)
40fabc:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40fabf:	81 21 06 20 01 1d    	andl   $0x1d012006,(%ecx)
40fac5:	1d 0d 0d 05 20       	sbb    $0x20050d0d,%eax
40faca:	00 1d 1d 0d 08 20    	add    %bl,0x20080d1d
40fad0:	03 1d 1d 0d 0d 0d    	add    0xd0d0d1d,%ebx
40fad6:	0d 07 20 04 01       	or     $0x1042007,%eax
40fadb:	08 08                	or     %cl,(%eax)
40fadd:	08 08                	or     %cl,(%eax)
40fadf:	04 20                	add    $0x20,%al
40fae1:	01 0d 0d 08 20 03    	add    %ecx,0x320080d
40fae7:	01 12                	add    %edx,(%edx)
40fae9:	58                   	pop    %eax
40faea:	12 58 08             	adc    0x8(%eax),%bl
40faed:	0a 20                	or     (%eax),%ah
40faef:	00 14 12             	add    %dl,(%edx,%edx,1)
40faf2:	58                   	pop    %eax
40faf3:	02 00                	add    (%eax),%al
40faf5:	02 00                	add    (%eax),%al
40faf7:	00 0b                	add    %cl,(%ebx)
40faf9:	20 01                	and    %al,(%ecx)
40fafb:	01 14 12             	add    %edx,(%edx,%edx,1)
40fafe:	58                   	pop    %eax
40faff:	02 00                	add    (%eax),%al
40fb01:	02 00                	add    (%eax),%al
40fb03:	00 08                	add    %cl,(%eax)
40fb05:	20 04 12             	and    %al,(%edx,%edx,1)
40fb08:	58                   	pop    %eax
40fb09:	0d 0d 08 08 07       	or     $0x708080d,%eax
40fb0e:	00 01                	add    %al,(%ecx)
40fb10:	1d 05 12 81 25       	sbb    $0x25811205,%eax
40fb15:	09 20                	or     %esp,(%eax)
40fb17:	03 01                	add    (%ecx),%eax
40fb19:	12 3c 12             	adc    (%edx,%edx,1),%bh
40fb1c:	3c 12                	cmp    $0x12,%al
40fb1e:	3c 07                	cmp    $0x7,%al
40fb20:	20 02                	and    %al,(%edx)
40fb22:	01 12                	add    %edx,(%edx)
40fb24:	3c 12                	cmp    $0x12,%al
40fb26:	3c 05                	cmp    $0x5,%al
40fb28:	20 01                	and    %al,(%ecx)
40fb2a:	01 12                	add    %edx,(%edx)
40fb2c:	58                   	pop    %eax
40fb2d:	07                   	pop    %es
40fb2e:	20 02                	and    %al,(%edx)
40fb30:	1c 12                	sbb    $0x12,%al
40fb32:	30 12                	xor    %dl,(%edx)
40fb34:	74 08                	je     0x40fb3e
40fb36:	00 02                	add    %al,(%edx)
40fb38:	12 58 12             	adc    0x12(%eax),%bl
40fb3b:	58                   	pop    %eax
40fb3c:	12 58 08             	adc    0x8(%eax),%bl
40fb3f:	00 04 0d 12 58 0d 0d 	add    %al,0xd0d5812(,%ecx,1)
40fb46:	0d 07 00 02 0d       	or     $0xd020007,%eax
40fb4b:	12 58 12             	adc    0x12(%eax),%bl
40fb4e:	58                   	pop    %eax
40fb4f:	0b 00                	or     (%eax),%eax
40fb51:	02 1d 1d 0d 1d 1d    	add    0x1d1d0d1d,%bl
40fb57:	0d 1d 1d 0d 17       	or     $0x170d1d1d,%eax
40fb5c:	00 02                	add    %al,(%edx)
40fb5e:	14 0d                	adc    $0xd,%al
40fb60:	02 00                	add    (%eax),%al
40fb62:	02 00                	add    (%eax),%al
40fb64:	00 14 0d 02 00 02 00 	add    %dl,0x20002(,%ecx,1)
40fb6b:	00 14 0d 02 00 02 00 	add    %dl,0x20002(,%ecx,1)
40fb72:	00 08                	add    %cl,(%eax)
40fb74:	00 01                	add    %al,(%ecx)
40fb76:	1d 1d 0d 1d 1d       	sbb    $0x1d1d0d1d,%eax
40fb7b:	0d 0a 00 03 12       	or     $0x1203000a,%eax
40fb80:	58                   	pop    %eax
40fb81:	12 58 12             	adc    0x12(%eax),%bl
40fb84:	58                   	pop    %eax
40fb85:	12 58 09             	adc    0x9(%eax),%bl
40fb88:	00 03                	add    %al,(%ebx)
40fb8a:	12 58 12             	adc    0x12(%eax),%bl
40fb8d:	58                   	pop    %eax
40fb8e:	12 58 0d             	adc    0xd(%eax),%bl
40fb91:	05 00 02 0d 0d       	add    $0xd0d0200,%eax
40fb96:	08 0b                	or     %cl,(%ebx)
40fb98:	00 04 12             	add    %al,(%edx,%edx,1)
40fb9b:	58                   	pop    %eax
40fb9c:	12 58 12             	adc    0x12(%eax),%bl
40fb9f:	58                   	pop    %eax
40fba0:	12 58 0d             	adc    0xd(%eax),%bl
40fba3:	06                   	push   %es
40fba4:	20 03                	and    %al,(%ebx)
40fba6:	01 0d 0d 0d 07 20    	add    %ecx,0x20070d0d
40fbac:	04 01                	add    $0x1,%al
40fbae:	0d 0d 0d 0d 06       	or     $0x60d0d0d,%eax
40fbb3:	20 01                	and    %al,(%ecx)
40fbb5:	01 1d 1d 0d 09 20    	add    %ebx,0x20090d1d
40fbbb:	03 01                	add    (%ecx),%eax
40fbbd:	10 0d 10 0d 10 0d    	adc    %cl,0xd100d10
40fbc3:	08 20                	or     %ah,(%eax)
40fbc5:	03 01                	add    (%ecx),%eax
40fbc7:	12 58 12             	adc    0x12(%eax),%bl
40fbca:	58                   	pop    %eax
40fbcb:	0d 05 20 01 12       	or     $0x12012005,%eax
40fbd0:	58                   	pop    %eax
40fbd1:	0d 04 20 00 12       	or     $0x12002004,%eax
40fbd6:	58                   	pop    %eax
40fbd7:	0a 20                	or     (%eax),%ah
40fbd9:	01 15 12 81 01 01    	add    %edx,0x1018112
40fbdf:	12 58 08             	adc    0x8(%eax),%bl
40fbe2:	04 20                	add    $0x20,%al
40fbe4:	01 0d 08 05 20 02    	add    %ecx,0x2200508
40fbea:	01 08                	add    %ecx,(%eax)
40fbec:	0d 06 20 03 01       	or     $0x1032006,%eax
40fbf1:	08 08                	or     %cl,(%eax)
40fbf3:	08 05 00 00 12 81    	or     %al,0x81120000
40fbf9:	31 05 00 00 12 81    	xor    %eax,0x81120000
40fbff:	35 06 00 01 01       	xor    $0x1010006,%eax
40fc04:	12 81 35 05 00 00    	adc    0x535(%ecx),%al
40fc0a:	12 81 25 03 00 00    	adc    0x325(%ecx),%al
40fc10:	0e                   	push   %cs
40fc11:	04 00                	add    $0x0,%al
40fc13:	00 12                	add    %dl,(%edx)
40fc15:	70 04                	jo     0x40fc1b
40fc17:	20 00                	and    %al,(%eax)
40fc19:	12 74 07 20          	adc    0x20(%edi,%eax,1),%dh
40fc1d:	02 01                	add    (%ecx),%al
40fc1f:	1c 12                	sbb    $0x12,%al
40fc21:	80 90 0d 20 04 12 80 	adcb   $0x80,0x1204200d(%eax)
40fc28:	ad                   	lods   %ds:(%esi),%eax
40fc29:	1c 12                	sbb    $0x12,%al
40fc2b:	80 90 12 80 b1 1c 06 	adcb   $0x6,0x1cb18012(%eax)
40fc32:	20 01                	and    %al,(%ecx)
40fc34:	01 12                	add    %edx,(%edx)
40fc36:	80 ad 07 20 02 01 1c 	subb   $0x1c,0x1022007(%ebp)
40fc3d:	12 80 94 0d 20 04    	adc    0x4200d94(%eax),%al
40fc43:	12 80 ad 1c 12 80    	adc    -0x7fede353(%eax),%al
40fc49:	94                   	xchg   %eax,%esp
40fc4a:	12 80 b1 1c 05 20    	adc    0x20051cb1(%eax),%al
40fc50:	00 12                	add    %dl,(%edx)
40fc52:	80 bd 06 20 01 12 80 	cmpb   $0x80,0x12012006(%ebp)
40fc59:	88 08                	mov    %cl,(%eax)
40fc5b:	05 20 01 01 12       	add    $0x12010120,%eax
40fc60:	78 06                	js     0x40fc68
40fc62:	20 01                	and    %al,(%ecx)
40fc64:	01 12                	add    %edx,(%edx)
40fc66:	80 88 0e 20 09 12 80 	orb    $0x80,0x1209200e(%eax)
40fc6d:	88 0e                	mov    %cl,(%esi)
40fc6f:	0e                   	push   %cs