40ab41:	0d 15 11 80 a5       	or     $0xa5801115,%eax
40ab46:	01 02                	add    %eax,(%edx)
40ab48:	0e                   	push   %cs
40ab49:	0b 06                	or     (%esi),%eax
40ab4b:	08 02                	or     %al,(%edx)
40ab4d:	06                   	push   %es
40ab4e:	15 11 80 a5 01       	adc    $0x1a58011,%eax
40ab53:	02 0c 07             	add    (%edi,%eax,1),%cl
40ab56:	08 05 08 0c 0d 0c    	or     %al,0xc0d0c08
40ab5c:	02 02                	add    (%edx),%al
40ab5e:	12 80 a9 0c 07 08    	adc    0x8070ca9(%eax),%al
40ab64:	0d 05 0b 0b 06       	or     $0x60b0b05,%eax
40ab69:	08 02                	or     %al,(%edx)
40ab6b:	12 80 a9 06 00 01    	adc    0x10006a9(%eax),%al
40ab71:	11 81 6d 0e 08 07    	adc    %eax,0x7080e6d(%ecx)
40ab77:	06                   	push   %es
40ab78:	06                   	push   %es
40ab79:	0b 08                	or     (%eax),%ecx
40ab7b:	05 0b 02 0a 07       	add    $0x70a020b,%eax
40ab80:	08 09                	or     %cl,(%ecx)
40ab82:	0b 0d 05 06 02 0d    	or     0xd020605,%ecx
40ab88:	1c 09                	sbb    $0x9,%al
40ab8a:	07                   	pop    %es
40ab8b:	07                   	pop    %es
40ab8c:	0c 06                	or     $0x6,%al
40ab8e:	0d 0d 08 02 02       	or     $0x202080d,%eax
40ab93:	04 00                	add    $0x0,%al
40ab95:	01 01                	add    %eax,(%ecx)
40ab97:	0d 08 07 06 0e       	or     $0xe060708,%eax
40ab9c:	04 08                	add    $0x8,%al
40ab9e:	0e                   	push   %cs
40ab9f:	0a 02                	or     (%edx),%al
40aba1:	09 07                	or     %eax,(%edi)
40aba3:	07                   	pop    %es
40aba4:	0a 08                	or     (%eax),%cl
40aba6:	08 0c 0b             	or     %cl,(%ebx,%ecx,1)
40aba9:	02 02                	add    (%edx),%al
40abab:	08 07                	or     %al,(%edi)
40abad:	06                   	push   %es
40abae:	0e                   	push   %cs
40abaf:	04 0b                	add    $0xb,%al
40abb1:	08 0e                	or     %cl,(%esi)
40abb3:	02 1a                	add    (%edx),%bl
40abb5:	07                   	pop    %es
40abb6:	09 0d 0b 09 0a 05    	or     %ecx,0x50a090b
40abbc:	02 15 11 80 a5 01    	add    0x1a58011,%dl
40abc2:	08 15 11 80 a5 01    	or     %dl,0x1a58011
40abc8:	08 15 11 80 a5 01    	or     %dl,0x1a58011
40abce:	08 06                	or     %al,(%esi)
40abd0:	15 11 80 a5 01       	adc    $0x1a58011,%eax
40abd5:	08 04 20             	or     %al,(%eax,%eiz,1)
40abd8:	00 13                	add    %dl,(%ebx)
40abda:	00 08                	add    %cl,(%eax)
40abdc:	07                   	pop    %es
40abdd:	06                   	push   %es
40abde:	0e                   	push   %cs
40abdf:	08 0c 09             	or     %cl,(%ecx,%ecx,1)
40abe2:	0b 02                	or     (%edx),%eax
40abe4:	07                   	pop    %es
40abe5:	07                   	pop    %es
40abe6:	05 07 07 06 04       	add    $0x4060707,%eax
40abeb:	06                   	push   %es
40abec:	08 07                	or     %al,(%edi)
40abee:	06                   	push   %es
40abef:	05 08 05 0a 06       	add    $0x60a0508,%eax
40abf4:	02 08                	add    (%eax),%cl
40abf6:	07                   	pop    %es
40abf7:	06                   	push   %es
40abf8:	09 0b                	or     %ecx,(%ebx)
40abfa:	08 0e                	or     %cl,(%esi)
40abfc:	07                   	pop    %es
40abfd:	02 07                	add    (%edi),%al
40abff:	07                   	pop    %es
40ac00:	05 0c 09 0a 0b       	add    $0xb0a090c,%eax
40ac05:	0b 07                	or     (%edi),%eax
40ac07:	07                   	pop    %es
40ac08:	05 09 0c 06 06       	add    $0x6060c09,%eax
40ac0d:	0b 0a                	or     (%edx),%ecx
40ac0f:	07                   	pop    %es
40ac10:	08 0a                	or     %cl,(%edx)
40ac12:	0e                   	push   %cs
40ac13:	08 0d 07 02 0d 02    	or     %cl,0x20d0207
40ac19:	09 07                	or     %eax,(%edi)
40ac1b:	07                   	pop    %es
40ac1c:	04 0e                	add    $0xe,%al
40ac1e:	08 08                	or     %cl,(%eax)
40ac20:	05 02 02 07 07       	add    $0x7070202,%eax
40ac25:	05 0e 0e 07 0a       	add    $0xa070e0e,%eax
40ac2a:	0e                   	push   %cs
40ac2b:	08 07                	or     %al,(%edi)
40ac2d:	06                   	push   %es
40ac2e:	0b 07                	or     (%edi),%eax
40ac30:	04 08                	add    $0x8,%al
40ac32:	06                   	push   %es
40ac33:	02 07                	add    (%edi),%al
40ac35:	07                   	pop    %es
40ac36:	05 04 09 05 0b       	add    $0xb050904,%eax
40ac3b:	09 07                	or     %eax,(%edi)
40ac3d:	07                   	pop    %es
40ac3e:	05 0c 0a 0c 05       	add    $0x50c0a0c,%eax
40ac43:	0a 07                	or     (%edi),%al
40ac45:	07                   	pop    %es
40ac46:	05 04 04 07 07       	add    $0x7070404,%eax
40ac4b:	06                   	push   %es
40ac4c:	09 07                	or     %eax,(%edi)
40ac4e:	07                   	pop    %es
40ac4f:	07                   	pop    %es
40ac50:	08 08                	or     %cl,(%eax)
40ac52:	07                   	pop    %es
40ac53:	0c 02                	or     $0x2,%al
40ac55:	02 07                	add    (%edi),%al
40ac57:	07                   	pop    %es
40ac58:	05 04 07 09 0c       	add    $0xc090704,%eax
40ac5d:	07                   	pop    %es
40ac5e:	0e                   	push   %cs
40ac5f:	07                   	pop    %es
40ac60:	07                   	pop    %es
40ac61:	0e                   	push   %cs
40ac62:	05 05 0e 0d 0d       	add    $0xd0d0e05,%eax
40ac67:	15 11 80 a5 01       	adc    $0x1a58011,%eax
40ac6c:	02 07                	add    (%edi),%al
40ac6e:	07                   	pop    %es
40ac6f:	05 04 05 05 09       	add    $0x9050504,%eax
40ac74:	07                   	pop    %es
40ac75:	07                   	pop    %es
40ac76:	07                   	pop    %es
40ac77:	05 09 04 07 09       	add    $0x9070409,%eax
40ac7c:	0c 07                	or     $0x7,%al
40ac7e:	07                   	pop    %es
40ac7f:	05 07 04 0a 09       	add    $0x90a0407,%eax
40ac84:	05 07 07 05 06       	add    $0x6050707,%eax
40ac89:	07                   	pop    %es
40ac8a:	05 04 07 0a 07       	add    $0x70a0704,%eax
40ac8f:	08 08                	or     %cl,(%eax)
40ac91:	08 08                	or     %cl,(%eax)
40ac93:	04 07                	add    $0x7,%al
40ac95:	02 02                	add    (%edx),%al
40ac97:	02 0e                	add    (%esi),%cl
40ac99:	07                   	pop    %es
40ac9a:	05 12 80 ad 12       	add    $0x12ad8012,%eax
40ac9f:	80 b1 1d 05 1d 05 1d 	xorb   $0x1d,0x51d051d(%ecx)
40aca6:	05 05 00 00 12       	add    $0x12000005,%eax
40acab:	81 71 05 20 01 1d 05 	xorl   $0x51d0120,0x5(%ecx)
40acb2:	0e                   	push   %cs
40acb3:	06                   	push   %es
40acb4:	20 01                	and    %al,(%ecx)
40acb6:	1d 05 1d 05 05       	sbb    $0x5051d05,%eax
40acbb:	20 01                	and    %al,(%ecx)
40acbd:	01 1d 05 06 20 01    	add    %ebx,0x1200605
40acc3:	01 11                	add    %edx,(%ecx)
40acc5:	81 7d 05 20 00 12 81 	cmpl   $0x81120020,0x5(%ebp)
40accc:	81 08 20 03 1d 05    	orl    $0x51d0320,(%eax)
40acd2:	1d 05 08 08 04       	sbb    $0x4080805,%eax
40acd7:	07                   	pop    %es
40acd8:	01 1d 05 0a 07 05    	add    %ebx,0x5070a05
40acde:	1d 05 12 80 b5       	sbb    $0xb5801205,%eax
40ace3:	1c 1c                	sbb    $0x1c,%al
40ace5:	0e                   	push   %cs
40ace6:	07                   	pop    %es
40ace7:	00 01                	add    %al,(%ecx)
40ace9:	12 80 b5 1d 05 0d    	adc    0xd051db5(%eax),%al
40acef:	00 06                	add    %al,(%esi)
40acf1:	1c 1c                	sbb    $0x1c,%al
40acf3:	12 79 0e             	adc    0xe(%ecx),%bh
40acf6:	1d 1c 1d 0e 1d       	sbb    $0x1d0e1d1c,%eax
40acfb:	02 04 00             	add    (%eax,%eax,1),%al
40acfe:	01 01                	add    %eax,(%ecx)
40ad00:	08 05 00 02 0e 0e    	or     %al,0xe0e0200
40ad06:	1c 09                	sbb    $0x9,%al
40ad08:	07                   	pop    %es
40ad09:	05 1d 1c 02 12       	add    $0x12021c1d,%eax
40ad0e:	15 02 0e 05 00       	adc    $0x50e02,%eax
40ad13:	00 12                	add    %dl,(%edx)
40ad15:	80 b5 07 20 02 1d 1c 	xorb   $0x1c,0x1d022007(%ebp)
40ad1c:	12 79 02             	adc    0x2(%ecx),%bh
40ad1f:	05 00 02 02 0e       	add    $0xe020200,%eax
40ad24:	0e                   	push   %cs
40ad25:	04 00                	add    $0x0,%al
40ad27:	01 0e                	add    %ecx,(%esi)
40ad29:	0e                   	push   %cs
40ad2a:	05 20 00 12 81       	add    $0x81120020,%eax
40ad2f:	91                   	xchg   %eax,%ecx
40ad30:	05 20 00 12 81       	add    $0x81120020,%eax
40ad35:	95                   	xchg   %eax,%ebp
40ad36:	06                   	push   %es
40ad37:	07                   	pop    %es
40ad38:	03 1d 1c 02 0e 05    	add    0x50e021c,%ebx
40ad3e:	07                   	pop    %es
40ad3f:	01 12                	add    %edx,(%edx)
40ad41:	80 c1 05             	add    $0x5,%cl
40ad44:	20 01                	and    %al,(%ecx)
40ad46:	01 12                	add    %edx,(%edx)
40ad48:	79 05                	jns    0x40ad4f
40ad4a:	20 00                	and    %al,(%eax)
40ad4c:	12 81 9d 07 20 02    	adc    0x220079d(%ecx),%al
40ad52:	01 11                	add    %edx,(%ecx)
40ad54:	81 a5 0c 06 20 01 08 	andl   $0xa1811208,0x120060c(%ebp)
40ad5b:	12 81 a1
40ad5e:	05 20 00 12 81       	add    $0x81120020,%eax
40ad63:	a9 08 20 03 01       	test   $0x1032008,%eax
40ad68:	12 80 f9 08 08 06    	adc    0x60808f9(%eax),%al
40ad6e:	20 01                	and    %al,(%ecx)
40ad70:	01 11                	add    %edx,(%ecx)
40ad72:	81 ad 07 20 04 01 08 	subl   $0x8080808,0x1042007(%ebp)
40ad79:	08 08 08
40ad7c:	06                   	push   %es
40ad7d:	20 01                	and    %al,(%ecx)
40ad7f:	01 11                	add    %edx,(%ecx)
40ad81:	81 b1 05 20 00 12 81 	xorl   $0x2006b581,0x12002005(%ecx)
40ad88:	b5 06 20
40ad8b:	01 08                	add    %ecx,(%eax)
40ad8d:	12 81 b9 06 20 01    	adc    0x12006b9(%ecx),%al
40ad93:	01 12                	add    %edx,(%edx)
40ad95:	81 bd 07 20 02 01 12 	cmpl   $0x8f98012,0x1022007(%ebp)
40ad9c:	80 f9 08
40ad9f:	06                   	push   %es
40ada0:	20 01                	and    %al,(%ecx)
40ada2:	01 11                	add    %edx,(%ecx)
40ada4:	81 c1 06 20 01 01    	add    $0x1012006,%ecx
40adaa:	11 81 c5 06 20 01    	adc    %eax,0x12006c5(%ecx)
40adb0:	01 11                	add    %edx,(%ecx)
40adb2:	81 cd 06 20 01 01    	or     $0x1012006,%ebp
40adb8:	11 81 d1 06 20 01    	adc    %eax,0x12006d1(%ecx)
40adbe:	01 11                	add    %edx,(%ecx)
40adc0:	81 6d 06 20 01 01 12 	subl   $0x12010120,0x6(%ebp)
40adc7:	81 d5 06 20 01 01    	adc    $0x1012006,%ebp
40adcd:	11 81 d9 04 07 02    	adc    %eax,0x20704d9(%ecx)
40add3:	0d 0d 09 07 03       	or     $0x307090d,%eax
40add8:	02 12                	add    (%edx),%dl
40adda:	80 d5 12             	adc    $0x12,%ch
40addd:	80 d5 05             	adc    $0x5,%ch
40ade0:	20 00                	and    %al,(%eax)
40ade2:	12 80 b5 07 20 02    	adc    0x22007b5(%eax),%al
40ade8:	01 0e                	add    %ecx,(%esi)
40adea:	12 80 b5 05 07 01    	adc    0x10705b5(%eax),%al
40adf0:	12 80 d9 05 07 02    	adc    0x20705d9(%eax),%al
40adf6:	1c 1d                	sbb    $0x1d,%al
40adf8:	05 07 20 02 1c       	add    $0x1c022007,%eax
40adfd:	0e                   	push   %cs
40adfe:	12 80 d9 02 1d 05    	adc    0x51d02d9(%eax),%al
40ae04:	06                   	push   %es
40ae05:	07                   	pop    %es
40ae06:	02 1c 12             	add    (%edx,%edx,1),%bl
40ae09:	80 dd 14             	sbb    $0x14,%ch
40ae0c:	07                   	pop    %es
40ae0d:	10 0d 0d 0d 0d 0d    	adc    %cl,0xd0d0d0d
40ae13:	0d 0d 0c 0c 0c       	or     $0xc0c0c0d,%eax
40ae18:	0c 0c                	or     $0xc,%al
40ae1a:	0c 0c                	or     $0xc,%al
40ae1c:	0c 11                	or     $0x11,%al
40ae1e:	80 b8 05 07 01 11 80 	cmpb   $0x80,0x11010705(%eax)
40ae25:	b8 07 07 03 0d       	mov    $0xd030707,%eax
40ae2a:	0d 11 80 c4 05       	or     $0x5c48011,%eax
40ae2f:	07                   	pop    %es
40ae30:	01 12                	add    %edx,(%edx)
40ae32:	80 80 04 00 01 01 02 	addb   $0x2,0x1010004(%eax)
40ae39:	09 15 12 80 e9 02    	or     %edx,0x2e98012
40ae3f:	0e                   	push   %cs
40ae40:	12 80 8c 06 20 01    	adc    0x120068c(%eax),%al
40ae46:	13 01                	adc    (%ecx),%eax
40ae48:	13 00                	adc    (%eax),%eax
40ae4a:	08 15 12 75 02 0e    	or     %dl,0xe027512
40ae50:	12 80 8c 09 15 12    	adc    0x1215098c(%eax),%al
40ae56:	80 e9 02             	sub    $0x2,%cl
40ae59:	0e                   	push   %cs
40ae5a:	11 80 b8 0a 07 04    	adc    %eax,0x4070ab8(%eax)
40ae60:	12 80 dd 08 08 12    	adc    0x120808dd(%eax),%al
40ae66:	80 f5 04             	xor    $0x4,%ch
40ae69:	00 01                	add    %al,(%ecx)
40ae6b:	02 0e                	add    (%esi),%cl
40ae6d:	06                   	push   %es
40ae6e:	20 01                	and    %al,(%ecx)
40ae70:	01 11                	add    %edx,(%ecx)
40ae72:	81 e5 0e 20 03 12    	and    $0x1203200e,%ebp
40ae78:	80 f5 11             	xor    $0x11,%ch
40ae7b:	81 e9 11 81 ed 11    	sub    $0x11ed8111,%ecx
40ae81:	80 f1 06             	xor    $0x6,%cl
40ae84:	20 01                	and    %al,(%ecx)
40ae86:	01 12                	add    %edx,(%edx)
40ae88:	80 f5 08             	xor    $0x8,%ch
40ae8b:	15 12 75 02 0e       	adc    $0xe027512,%eax
40ae90:	11 80 b8 08 b7 7a    	adc    %eax,0x7ab708b8(%eax)
40ae96:	5c                   	pop    %esp
40ae97:	56                   	push   %esi
40ae98:	19 34 e0             	sbb    %esi,(%eax,%eiz,8)
40ae9b:	89 08                	mov    %ecx,(%eax)
40ae9d:	b0 3f                	mov    $0x3f,%al
40ae9f:	5f                   	pop    %edi
40aea0:	7f 11                	jg     0x40aeb3
40aea2:	d5 0a                	aad    $0xa
40aea4:	3a 04 06             	cmp    (%esi,%eax,1),%al
40aea7:	00 00                	add    %al,(%eax)
40aea9:	00 02                	add    %al,(%edx)
40aeab:	06                   	push   %es
40aeac:	0e                   	push   %cs
40aead:	03 06                	add    (%esi),%eax
40aeaf:	12 41 03             	adc    0x3(%ecx),%al
40aeb2:	06                   	push   %es
40aeb3:	12 45 03             	adc    0x3(%ebp),%al
40aeb6:	06                   	push   %es
40aeb7:	12 49 03             	adc    0x3(%ecx),%cl
40aeba:	06                   	push   %es
40aebb:	12 4d 02             	adc    0x2(%ebp),%cl
40aebe:	06                   	push   %es
40aebf:	08 03                	or     %al,(%ebx)
40aec1:	06                   	push   %es
40aec2:	11 59 03             	adc    %ebx,0x3(%ecx)
40aec5:	06                   	push   %es
40aec6:	12 5d 07             	adc    0x7(%ebp),%bl
40aec9:	06                   	push   %es
40aeca:	15 12 69 01 12       	adc    $0x12016912,%eax
40aecf:	1c 03                	sbb    $0x3,%al
40aed1:	06                   	push   %es
40aed2:	11 71 02             	adc    %esi,0x2(%ecx)
40aed5:	06                   	push   %es
40aed6:	0a 09                	or     (%ecx),%cl
40aed8:	06                   	push   %es
40aed9:	15 12 75 02 12       	adc    $0x12027512,%eax
40aede:	79 12                	jns    0x40aef2
40aee0:	2c 03                	sub    $0x3,%al
40aee2:	06                   	push   %es
40aee3:	11 40 04             	adc    %eax,0x4(%eax)
40aee6:	06                   	push   %es
40aee7:	12 80 b9 04 06 12    	adc    0x120604b9(%eax),%al
40aeed:	80 bd 04 06 11 80 c5 	cmpb   $0xc5,-0x7feef9fc(%ebp)
40aef4:	02 06                	add    (%esi),%al
40aef6:	1c 04                	sbb    $0x4,%al
40aef8:	06                   	push   %es
40aef9:	12 80 bc 04 06 12    	adc    0x120604bc(%eax),%al
40aeff:	80 b0 04 06 12 80 88 	xorb   $0x88,-0x7fedf9fc(%eax)
40af06:	04 06                	add    $0x6,%al
40af08:	12 80 d5 04 06 12    	adc    0x120604d5(%eax),%al
40af0e:	80 d9 02             	sbb    $0x2,%cl
40af11:	06                   	push   %es
40af12:	0c 02                	or     $0x2,%al
40af14:	06                   	push   %es
40af15:	0d 04 06 11 80       	or     $0x80110604,%eax
40af1a:	b8 05 06 1d 11       	mov    $0x111d0605,%eax
40af1f:	80 c4 05             	add    $0x5,%ah
40af22:	06                   	push   %es
40af23:	1d 11 80 98 05       	sbb    $0x5988011,%eax
40af28:	06                   	push   %es
40af29:	1d 11 80 a0 0a       	sbb    $0xaa08011,%eax
40af2e:	06                   	push   %es
40af2f:	15 12 80 e9 02       	adc    $0x2e98012,%eax
40af34:	0e                   	push   %cs
40af35:	12 80 8c 04 06 12    	adc    0x1206048c(%eax),%al
40af3b:	80 8c 04 06 12 80 a4 	orb    $0x4,-0x5b7fedfa(%esp,%eax,1)
40af42:	04
40af43:	06                   	push   %es