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
40af44:	12 80 ac 0a 06 15    	adc    0x15060aac(%eax),%al
40af4a:	12 80 e9 02 0e 11    	adc    0x110e02e9(%eax),%al
40af50:	80 b8 06 20 02 01 1c 	cmpb   $0x1c,0x1022006(%eax)
40af57:	12 55 04             	adc    0x4(%ebp),%dl
40af5a:	20 00                	and    %al,(%eax)
40af5c:	11 59 05             	adc    %ebx,0x5(%ecx)
40af5f:	20 01                	and    %al,(%ecx)
40af61:	01 11                	add    %edx,(%ecx)
40af63:	59                   	pop    %ecx
40af64:	04 20                	add    $0x20,%al
40af66:	01 02                	add    %eax,(%edx)
40af68:	0e                   	push   %cs
40af69:	05 20 01 12 65       	add    $0x65120120,%eax
40af6e:	0e                   	push   %cs
40af6f:	06                   	push   %es
40af70:	20 03                	and    %al,(%ebx)
40af72:	02 08                	add    (%eax),%cl
40af74:	08 08                	or     %cl,(%eax)
40af76:	04 20                	add    $0x20,%al
40af78:	00 11                	add    %dl,(%ecx)
40af7a:	71 05                	jno    0x40af81
40af7c:	20 01                	and    %al,(%ecx)
40af7e:	01 11                	add    %edx,(%ecx)
40af80:	71 03                	jno    0x40af85
40af82:	20 00                	and    %al,(%eax)
40af84:	0a 04 20             	or     (%eax,%eiz,1),%al
40af87:	01 01                	add    %eax,(%ecx)
40af89:	0a 06                	or     (%esi),%al
40af8b:	20 01                	and    %al,(%ecx)
40af8d:	01 1d 12 2c 04 30    	add    %ebx,0x30042c12
40af93:	01 00                	add    %eax,(%eax)
40af95:	01 05 20 01 01 12    	add    %eax,0x12010120
40af9b:	2c 07                	sub    $0x7,%al
40af9d:	30 01                	xor    %al,(%ecx)
40af9f:	01 02                	add    %eax,(%edx)
40afa1:	10 1e                	adc    %bl,(%esi)
40afa3:	00 08                	add    %cl,(%eax)
40afa5:	20 02                	and    %al,(%edx)
40afa7:	02 12                	add    (%edx),%dl
40afa9:	79 10                	jns    0x40afbb
40afab:	12 2c 05 20 00 1d 12 	adc    0x121d0020(,%eax,1),%ch
40afb2:	2c 06                	sub    $0x6,%al
40afb4:	30 01                	xor    %al,(%ecx)
40afb6:	00 1d 1e 00 07 20    	add    %bl,0x2007001e
40afbc:	01 1d 12 2c 12 79    	add    %ebx,0x79122c12
40afc2:	05 30 01 00 1e       	add    $0x1e000130,%eax
40afc7:	00 06                	add    %al,(%esi)
40afc9:	20 01                	and    %al,(%ecx)
40afcb:	12 2c 12             	adc    (%edx,%edx,1),%ch
40afce:	79 06                	jns    0x40afd6
40afd0:	20 01                	and    %al,(%ecx)
40afd2:	02 1d 12 79 04 30    	add    0x30047912,%bl
40afd8:	01 00                	add    %eax,(%eax)
40afda:	02 04 20             	add    (%eax,%eiz,1),%al
40afdd:	00 11                	add    %dl,(%ecx)
40afdf:	40                   	inc    %eax
40afe0:	05 20 01 01 11       	add    $0x11010120,%eax
40afe5:	40                   	inc    %eax
40afe6:	03 20                	add    (%eax),%esp
40afe8:	00 0d 05 20 01 08    	add    %cl,0x8012005
40afee:	11 40 05             	adc    %eax,0x5(%eax)
40aff1:	20 01                	and    %al,(%ecx)
40aff3:	02 11                	add    (%ecx),%dl
40aff5:	40                   	inc    %eax
40aff6:	04 20                	add    $0x20,%al
40aff8:	01 02                	add    %eax,(%edx)
40affa:	08 04 20             	or     %al,(%eax,%eiz,1)
40affd:	01 02                	add    %eax,(%edx)
40afff:	1c 05                	sbb    $0x5,%al
40b001:	00 01                	add    %al,(%ecx)
40b003:	0d 11 40 06 00       	or     $0x64011,%eax
40b008:	01 11                	add    %edx,(%ecx)
40b00a:	40                   	inc    %eax
40b00b:	11 40 07             	adc    %eax,0x7(%eax)
40b00e:	00 02                	add    %al,(%edx)
40b010:	0d 11 40 11 40       	or     $0x40114011,%eax
40b015:	05 00 01 02 11       	add    $0x11020100,%eax
40b01a:	40                   	inc    %eax
40b01b:	08 00                	or     %al,(%eax)
40b01d:	02 11                	add    (%ecx),%dl
40b01f:	40                   	inc    %eax
40b020:	11 40 11             	adc    %eax,0x11(%eax)
40b023:	40                   	inc    %eax
40b024:	07                   	pop    %es
40b025:	00 02                	add    %al,(%edx)
40b027:	11 40 11             	adc    %eax,0x11(%eax)
40b02a:	40                   	inc    %eax
40b02b:	08 07                	or     %al,(%edi)
40b02d:	00 02                	add    %al,(%edx)
40b02f:	02 11                	add    (%ecx),%dl
40b031:	40                   	inc    %eax
40b032:	11 40 06             	adc    %eax,0x6(%eax)
40b035:	00 02                	add    %al,(%edx)
40b037:	02 11                	add    (%ecx),%dl
40b039:	40                   	inc    %eax
40b03a:	08 05 00 01 05 11    	or     %al,0x11050100
40b040:	40                   	inc    %eax
40b041:	05 00 01 06 11       	add    $0x11060100,%eax
40b046:	40                   	inc    %eax
40b047:	05 00 01 07 11       	add    $0x11070100,%eax
40b04c:	40                   	inc    %eax
40b04d:	05 00 01 08 11       	add    $0x11080100,%eax
40b052:	40                   	inc    %eax
40b053:	05 00 01 09 11       	add    $0x11090100,%eax
40b058:	40                   	inc    %eax
40b059:	05 00 01 0a 11       	add    $0x110a0100,%eax
40b05e:	40                   	inc    %eax
40b05f:	05 00 01 0b 11       	add    $0x110b0100,%eax
40b064:	40                   	inc    %eax
40b065:	05 00 01 0c 11       	add    $0x110c0100,%eax
40b06a:	40                   	inc    %eax
40b06b:	07                   	pop    %es
40b06c:	00 01                	add    %al,(%ecx)
40b06e:	11 80 a1 11 40 05    	adc    %eax,0x54011a1(%eax)
40b074:	00 01                	add    %al,(%ecx)
40b076:	0e                   	push   %cs
40b077:	11 40 03             	adc    %eax,0x3(%eax)
40b07a:	00 00                	add    %al,(%eax)
40b07c:	01 0c 10             	add    %ecx,(%eax,%edx,1)
40b07f:	01 01                	add    %eax,(%ecx)
40b081:	1d 1e 00 15 12       	sbb    $0x1215001e,%eax
40b086:	69 01 1e 00 07 00    	imul   $0x7001e,(%ecx),%eax
40b08c:	02 02                	add    (%edx),%al
40b08e:	12 79 12             	adc    0x12(%ecx),%bh
40b091:	79 07                	jns    0x40b09a
40b093:	20 02                	and    %al,(%edx)
40b095:	1d 05 1d 05 0e       	sbb    $0xe051d05,%eax
40b09a:	04 00                	add    $0x0,%al
40b09c:	00 1d 05 05 20 00    	add    %bl,0x200505
40b0a2:	11 80 c5 03 20 00    	adc    %eax,0x2003c5(%eax)
40b0a8:	1c 04                	sbb    $0x4,%al
40b0aa:	20 01                	and    %al,(%ecx)
40b0ac:	01 1c 04             	add    %ebx,(%esp,%eax,1)
40b0af:	20 01                	and    %al,(%ecx)
40b0b1:	01 0d 05 00 01 01    	add    %ecx,0x1010005
40b0b7:	1d 0e 05 00 02       	sbb    $0x200050e,%eax
40b0bc:	01 0d 0d 05 00 00    	add    %ecx,0x50d
40b0c2:	12 80 d5 05 00 00    	adc    0x5d5(%eax),%al
40b0c8:	12 80 d9 06 00 01    	adc    0x10006d9(%eax),%al
40b0ce:	01 12                	add    %edx,(%edx)
40b0d0:	80 d9 05             	sbb    $0x5,%cl
40b0d3:	00 00                	add    %al,(%eax)
40b0d5:	12 80 dd 03 20 00    	adc    0x2003dd(%eax),%al
40b0db:	0c 04                	or     $0x4,%al
40b0dd:	20 01                	and    %al,(%ecx)
40b0df:	01 0c 07             	add    %ecx,(%edi,%eax,1)
40b0e2:	20 04 01             	and    %al,(%ecx,%eax,1)
40b0e5:	0c 0c                	or     $0xc,%al
40b0e7:	0c 0c                	or     $0xc,%al
40b0e9:	06                   	push   %es
40b0ea:	20 01                	and    %al,(%ecx)
40b0ec:	01 12                	add    %edx,(%edx)
40b0ee:	80 bc 0c 20 03 01 11 	cmpb   $0x80,0x11010320(%esp,%ecx,1)
40b0f5:	80
40b0f6:	c4 11                	les    (%ecx),%edx
40b0f8:	80 98 11 80 a0 06 20 	sbbb   $0x20,0x6a08011(%eax)
40b0ff:	01 01                	add    %eax,(%ecx)
40b101:	12 80 ac 06 20 01    	adc    0x12006ac(%eax),%al
40b107:	01 12                	add    %edx,(%edx)
40b109:	80 b0 05 20 00 11 80 	xorb   $0x80,0x11002005(%eax)
40b110:	b8 06 20 01 01       	mov    $0x1012006,%eax
40b115:	11 80 b8 06 20 00    	adc    %eax,0x2006b8(%eax)
40b11b:	1d 11 80 c4 07       	sbb    $0x7c48011,%eax
40b120:	20 01                	and    %al,(%ecx)
40b122:	01 1d 11 80 c4 06    	add    %ebx,0x6c48011
40b128:	20 00                	and    %al,(%eax)
40b12a:	1d 11 80 98 07       	sbb    $0x7988011,%eax
40b12f:	20 01                	and    %al,(%ecx)
40b131:	01 1d 11 80 98 06    	add    %ebx,0x6988011
40b137:	20 00                	and    %al,(%eax)
40b139:	1d 11 80 a0 07       	sbb    $0x7a08011,%eax
40b13e:	20 01                	and    %al,(%ecx)
40b140:	01 1d 11 80 a0 05    	add    %ebx,0x5a08011
40b146:	20 00                	and    %al,(%eax)
40b148:	11 80 c4 08 20 03    	adc    %eax,0x32008c4(%eax)