40e83e:	81 c1 03
40e841:	00 00                	add    %al,(%eax)
40e843:	01 04 00             	add    %eax,(%eax,%eax,1)
40e846:	01 01                	add    %eax,(%ecx)
40e848:	02 05 00 01 01 12    	add    0x12010100,%al
40e84e:	51                   	push   %ecx
40e84f:	04 07                	add    $0x7,%al
40e851:	01 12                	add    %edx,(%edx)
40e853:	30 04 20             	xor    %al,(%eax,%eiz,1)
40e856:	00 11                	add    %dl,(%ecx)
40e858:	45                   	inc    %ebp
40e859:	05 07 01 12 80       	add    $0x80120107,%eax
40e85e:	99                   	cltd
40e85f:	08 00                	or     %al,(%eax)
40e861:	03 11                	add    (%ecx),%edx
40e863:	81 49 08 08 08 06 20 	orl    $0x20060808,0x8(%ecx)
40e86a:	01 01                	add    %eax,(%ecx)
40e86c:	11 81 c9 05 00 00    	adc    %eax,0x5c9(%ecx)
40e872:	12 81 d1 06 20 01    	adc    0x12006d1(%ecx),%al
40e878:	01 12                	add    %edx,(%edx)
40e87a:	81 d1 05 20 00 12    	adc    $0x12002005,%ecx
40e880:	81 d9 06 20 01 01    	sbb    $0x1012006,%ecx
40e886:	11 81 dd 06 20 01    	adc    %eax,0x12006dd(%ecx)
40e88c:	01 11                	add    %edx,(%ecx)
40e88e:	81 e1 0f 07 0a 12    	and    $0x120a070f,%ecx
40e894:	34 02                	xor    $0x2,%al
40e896:	02 08                	add    (%eax),%cl
40e898:	08 08                	or     %cl,(%eax)
40e89a:	11 2c 11             	adc    %ebp,(%ecx,%edx,1)
40e89d:	2c 02                	sub    $0x2,%al
40e89f:	02 08                	add    (%eax),%cl
40e8a1:	14 11                	adc    $0x11,%al
40e8a3:	2c 02                	sub    $0x2,%al
40e8a5:	00 02                	add    %al,(%edx)
40e8a7:	00 00                	add    %al,(%eax)
40e8a9:	06                   	push   %es
40e8aa:	20 02                	and    %al,(%edx)
40e8ac:	11 2c 08             	adc    %ebp,(%eax,%ecx,1)
40e8af:	08 07                	or     %al,(%edi)
40e8b1:	20 03                	and    %al,(%ebx)
40e8b3:	01 08                	add    %ecx,(%eax)
40e8b5:	08 11                	or     %dl,(%ecx)
40e8b7:	2c 08                	sub    $0x8,%al
40e8b9:	07                   	pop    %es
40e8ba:	06                   	push   %es
40e8bb:	08 08                	or     %cl,(%eax)
40e8bd:	02 02                	add    (%edx),%al
40e8bf:	02 02                	add    (%edx),%al
40e8c1:	0b 07                	or     (%edi),%eax
40e8c3:	07                   	pop    %es
40e8c4:	11 28                	adc    %ebp,(%eax)
40e8c6:	02 02                	add    (%edx),%al
40e8c8:	02 11                	add    (%ecx),%dl
40e8ca:	28 02                	sub    %al,(%edx)
40e8cc:	02 05 07 03 02 02    	add    0x2020307,%al
40e8d2:	02 04 07             	add    (%edi,%eax,1),%al
40e8d5:	02 02                	add    (%edx),%al
40e8d7:	08 04 00             	or     %al,(%eax,%eax,1)
40e8da:	00 12                	add    %dl,(%edx)
40e8dc:	51                   	push   %ecx
40e8dd:	05 07 01 12 80       	add    $0x80120107,%eax
40e8e2:	8d 06                	lea    (%esi),%eax
40e8e4:	07                   	pop    %es
40e8e5:	04 02                	add    $0x2,%al
40e8e7:	02 02                	add    (%edx),%al
40e8e9:	02 08                	add    (%eax),%cl
40e8eb:	07                   	pop    %es
40e8ec:	02 11                	add    (%ecx),%dl
40e8ee:	80 b9 11 80 b9 06 20 	cmpb   $0x20,0x6b98011(%ecx)
40e8f5:	01 01                	add    %eax,(%ecx)
40e8f7:	11 81 e5 1e 07 0d    	adc    %eax,0xd071ee5(%ecx)
40e8fd:	14 11                	adc    $0x11,%al
40e8ff:	2c 02                	sub    $0x2,%al
40e901:	00 02                	add    %al,(%edx)
40e903:	00 00                	add    %al,(%eax)
40e905:	1d 0e 08 08 08       	sbb    $0x808080e,%eax
40e90a:	08 02                	or     %al,(%edx)
40e90c:	08 08                	or     %cl,(%eax)
40e90e:	02 02                	add    (%edx),%al
40e910:	02 14 11             	add    (%ecx,%edx,1),%dl
40e913:	2c 02                	sub    $0x2,%al
40e915:	00 02                	add    %al,(%edx)
40e917:	00 00                	add    %al,(%eax)
40e919:	06                   	push   %es
40e91a:	07                   	pop    %es
40e91b:	03 03                	add    (%ebx),%eax
40e91d:	03 11                	add    (%ecx),%edx
40e91f:	2c 07                	sub    $0x7,%al
40e921:	07                   	pop    %es
40e922:	03 11                	add    (%ecx),%edx
40e924:	2c 11                	sub    $0x11,%al
40e926:	2c 03                	sub    $0x3,%al
40e928:	08 07                	or     %al,(%edi)
40e92a:	05 1d 03 0e 08       	add    $0x80e031d,%eax
40e92f:	02 0e                	add    (%esi),%cl
40e931:	04 20                	add    $0x20,%al
40e933:	00 1d 03 05 20 02    	add    %bl,0x2200503
40e939:	0e                   	push   %cs
40e93a:	0e                   	push   %cs
40e93b:	0e                   	push   %cs
40e93c:	04 07                	add    $0x7,%al
40e93e:	01 1d 05 0a 07 05    	add    %ebx,0x5070a05
40e944:	1d 05 12 80 bd       	sbb    $0xbd801205,%eax
40e949:	1c 1c                	sbb    $0x1c,%al
40e94b:	0e                   	push   %cs
40e94c:	07                   	pop    %es
40e94d:	20 01                	and    %al,(%ecx)
40e94f:	12 80 bd 1d 05 0e    	adc    0xe051dbd(%eax),%al
40e955:	00 06                	add    %al,(%esi)
40e957:	1c 1c                	sbb    $0x1c,%al
40e959:	12 81 69 0e 1d 1c    	adc    0x1c1d0e69(%ecx),%al
40e95f:	1d 0e 1d 02 05       	sbb    $0x5021d0e,%eax
40e964:	07                   	pop    %es
40e965:	01 12                	add    %edx,(%edx)
40e967:	80 c1 05             	add    $0x5,%cl
40e96a:	00 00                	add    %al,(%eax)
40e96c:	12 80 c1 03 07 01    	adc    0x10703c1(%eax),%al
40e972:	0d 06 15 12 80       	or     $0x80121506,%eax
40e977:	c5 01                	lds    (%ecx),%eax
40e979:	0d 0a 07 03 15       	or     $0x1503070a,%eax
40e97e:	11 80 c9 01 0d 02    	adc    %eax,0x20d01c9(%eax)
40e984:	02 05 20 01 01 13    	add    0x13010120,%al
40e98a:	00 06                	add    %al,(%esi)
40e98c:	15 11 80 c9 01       	adc    $0x1c98011,%eax
40e991:	0d 04 20 00 13       	or     $0x13002004,%eax
40e996:	00 05 07 02 12 51    	add    %al,0x51120207
40e99c:	08 05 20 01 01 12    	or     %al,0x12010120
40e9a2:	51                   	push   %ecx
40e9a3:	07                   	pop    %es
40e9a4:	07                   	pop    %es
40e9a5:	03 12                	add    (%edx),%edx
40e9a7:	80 dd 02             	sbb    $0x2,%ch
40e9aa:	0e                   	push   %cs
40e9ab:	06                   	push   %es
40e9ac:	00 01                	add    %al,(%ecx)
40e9ae:	0e                   	push   %cs
40e9af:	11 81 f1 07 20 01    	adc    %eax,0x12007f1(%ecx)
40e9b5:	11 45 12             	adc    %eax,0x12(%ebp)
40e9b8:	81 fd 07 07 03 12    	cmp    $0x12030707,%ebp
40e9be:	80 e1 02             	and    $0x2,%cl
40e9c1:	0e                   	push   %cs
40e9c2:	03 20                	add    (%eax),%esp
40e9c4:	00 02                	add    %al,(%edx)
40e9c6:	06                   	push   %es
40e9c7:	20 01                	and    %al,(%ecx)
40e9c9:	01 11                	add    %edx,(%ecx)
40e9cb:	82 01 08             	addb   $0x8,(%ecx)
40e9ce:	07                   	pop    %es
40e9cf:	03 1d 12 51 08 12    	add    0x12085112,%ebx
40e9d5:	51                   	push   %ecx
40e9d6:	05 20 00 1d 12       	add    $0x121d0020,%eax
40e9db:	51                   	push   %ecx
40e9dc:	05 20 01 01 12       	add    $0x12010120,%eax
40e9e1:	59                   	pop    %ecx
40e9e2:	05 20 01 01 12       	add    $0x12010120,%eax
40e9e7:	6d                   	insl   (%dx),%es:(%edi)
40e9e8:	06                   	push   %es
40e9e9:	20 01                	and    %al,(%ecx)
40e9eb:	01 11                	add    %edx,(%ecx)
40e9ed:	80 b9 06 20 01 01 11 	cmpb   $0x11,0x1012006(%ecx)
40e9f4:	82 09 06             	orb    $0x6,(%ecx)
40e9f7:	20 01                	and    %al,(%ecx)
40e9f9:	01 12                	add    %edx,(%edx)
40e9fb:	80 cd 04             	or     $0x4,%ch
40e9fe:	07                   	pop    %es
40e9ff:	02 02                	add    (%edx),%al
40ea01:	0d 07 07 05 0d       	or     $0xd050707,%eax
40ea06:	02 02                	add    (%edx),%al
40ea08:	02 02                	add    (%edx),%al
40ea0a:	04 07                	add    $0x7,%al
40ea0c:	02 0d 02 05 15 12    	add    0x12150502,%cl
40ea12:	58                   	pop    %eax
40ea13:	01 0d 07 15 12 80    	add    %ecx,0x80121507
40ea19:	e5 02                	in     $0x2,%eax
40ea1b:	0d 08 03 07 01       	or     $0x1070308,%eax
40ea20:	08 03                	or     %al,(%ebx)
40ea22:	20 00                	and    %al,(%eax)
40ea24:	0d 05 07 03 02       	or     $0x2030705,%eax
40ea29:	0d 08 04 20 01       	or     $0x1200408,%eax
40ea2e:	02 0d 06 20 01 13    	add    0x13012006,%cl
40ea34:	01 13                	add    %edx,(%ebx)
40ea36:	00 07                	add    %al,(%edi)
40ea38:	20 02                	and    %al,(%edx)
40ea3a:	01 13                	add    %edx,(%ebx)
40ea3c:	00 13                	add    %dl,(%ebx)
40ea3e:	01 04 20             	add    %eax,(%eax,%eiz,1)
40ea41:	01 01                	add    %eax,(%ecx)
40ea43:	0d 07 07 05 02       	or     $0x2050707,%eax
40ea48:	02 0d 08 02 05 20    	add    0x20050208,%cl
40ea4e:	01 02                	add    %eax,(%edx)
40ea50:	13 00                	adc    (%eax),%eax
40ea52:	0d 07 05 0d 12       	or     $0x120d0507,%eax
40ea57:	64 12 64 1d 12       	adc    %fs:0x12(%ebp,%ebx,1),%ah
40ea5c:	64 1d 12 64 06 15    	fs sbb $0x15066412,%eax
40ea62:	12 58 01             	adc    0x1(%eax),%bl
40ea65:	13 00                	adc    (%eax),%eax
40ea67:	02 06                	add    (%esi),%al
40ea69:	0d 03 07 01 0e       	or     $0xe010703,%eax
40ea6e:	08 07                	or     %al,(%edi)
40ea70:	01 15 12 80 f5 01    	add    %edx,0x1f58012
40ea76:	0d 09 00 02 01       	or     $0x1020009,%eax
40ea7b:	12 81 2d 11 82 19    	adc    0x1982112d(%ecx),%al
40ea81:	06                   	push   %es
40ea82:	15 12 80 f5 01       	adc    $0x1f58012,%eax
40ea87:	0d 09 07 03 12       	or     $0x12030709,%eax
40ea8c:	80 f9 11             	cmp    $0x11,%cl
40ea8f:	80 fd 0d             	cmp    $0xd,%ch
40ea92:	05 00 00 11 80       	add    $0x80110000,%eax
40ea97:	fd                   	std
40ea98:	05 20 02 08 08       	add    $0x8080220,%eax
40ea9d:	08 04 07             	or     %al,(%edi,%eax,1)
40eaa0:	02 0d 0d 17 07 0a    	add    0xa07170d,%cl
40eaa6:	08 15 12 80 f5 01    	or     %dl,0x1f58012
40eaac:	0a 12                	or     (%edx),%dl
40eaae:	81 01 1d 12 64 12    	addl   $0x1264121d,(%ecx)
40eab4:	64 12 64 0a 02       	adc    %fs:0x2(%edx,%ecx,1),%ah
40eab9:	02 02                	add    (%edx),%al
40eabb:	06                   	push   %es
40eabc:	15 12 80 f5 01       	adc    $0x1f58012,%eax
40eac1:	0a 03                	or     (%ebx),%al
40eac3:	20 00                	and    %al,(%eax)
40eac5:	0a 05 20 00 1d 13    	or     0x131d0020,%al
40eacb:	00 05 00 02 0e 0e    	add    %al,0xe0e0200
40ead1:	1c 04                	sbb    $0x4,%al
40ead3:	00 01                	add    %al,(%ecx)
40ead5:	01 0e                	add    %ecx,(%esi)
40ead7:	06                   	push   %es
40ead8:	00 02                	add    %al,(%edx)
40eada:	0e                   	push   %cs
40eadb:	0e                   	push   %cs
40eadc:	1d 1c 09 07 07       	sbb    $0x707091c,%eax
40eae1:	08 08                	or     %cl,(%eax)
40eae3:	08 0d 0d 0d 02 09    	or     %cl,0x9020d0d
40eae9:	07                   	pop    %es
40eaea:	03 02                	add    (%edx),%eax
40eaec:	12 81 0d 12 81 0d    	adc    0xd81120d(%ecx),%al
40eaf2:	05 20 00 12 80       	add    $0x80120020,%eax
40eaf7:	bd 07 20 02 01       	mov    $0x1022007,%ebp
40eafc:	0e                   	push   %cs
40eafd:	12 80 bd 05 07 01    	adc    0x10705bd(%eax),%al
40eb03:	12 81 11 05 07 02    	adc    0x2070511(%ecx),%al
40eb09:	1c 1d                	sbb    $0x1d,%al
40eb0b:	05 07 20 02 1c       	add    $0x1c022007,%eax
40eb10:	0e                   	push   %cs
40eb11:	12 81 11 02 1d 05    	adc    0x51d0211(%ecx),%al
40eb17:	06                   	push   %es
40eb18:	07                   	pop    %es
40eb19:	02 1c 12             	add    (%edx,%edx,1),%bl
40eb1c:	81 15 08 b7 7a 5c 56 	adcl   $0xe0341956,0x5c7ab708
40eb23:	19 34 e0
40eb26:	89 08                	mov    %ecx,(%eax)
40eb28:	b0 3f                	mov    $0x3f,%al
40eb2a:	5f                   	pop    %edi
40eb2b:	7f 11                	jg     0x40eb3e
40eb2d:	d5 0a                	aad    $0xa
40eb2f:	3a 04 00             	cmp    (%eax,%eax,1),%al
40eb32:	00 00                	add    %al,(%eax)
40eb34:	00 04 01             	add    %al,(%ecx,%eax,1)
40eb37:	00 00                	add    %al,(%eax)
40eb39:	00 04 02             	add    %al,(%edx,%eax,1)
40eb3c:	00 00                	add    %al,(%eax)
40eb3e:	00 04 03             	add    %al,(%ebx,%eax,1)
40eb41:	00 00                	add    %al,(%eax)
40eb43:	00 04 04             	add    %al,(%esp,%eax,1)
40eb46:	00 00                	add    %al,(%eax)
40eb48:	00 04 05 00 00 00 09 	add    %al,0x9000000(,%eax,1)
40eb4f:	06                   	push   %es
40eb50:	14 11                	adc    $0x11,%al
40eb52:	0c 02                	or     $0x2,%al
40eb54:	00 02                	add    %al,(%edx)
40eb56:	00 00                	add    %al,(%eax)
40eb58:	02 06                	add    (%esi),%al
40eb5a:	08 03                	or     %al,(%ebx)
40eb5c:	06                   	push   %es
40eb5d:	11 0c 09             	adc    %ecx,(%ecx,%ecx,1)
40eb60:	06                   	push   %es
40eb61:	14 12                	adc    $0x12,%al
40eb63:	55                   	push   %ebp
40eb64:	02 00                	add    (%eax),%al
40eb66:	02 00                	add    (%eax),%al
40eb68:	00 03                	add    %al,(%ebx)
40eb6a:	06                   	push   %es
40eb6b:	12 08                	adc    (%eax),%cl
40eb6d:	03 06                	add    (%esi),%eax
40eb6f:	12 59 03             	adc    0x3(%ecx),%bl
40eb72:	06                   	push   %es
40eb73:	12 5d 03             	adc    0x3(%ebp),%bl
40eb76:	06                   	push   %es
40eb77:	12 61 03             	adc    0x3(%ecx),%ah
40eb7a:	06                   	push   %es
40eb7b:	12 65 03             	adc    0x3(%ebp),%ah
40eb7e:	06                   	push   %es
40eb7f:	12 69 03             	adc    0x3(%ecx),%ch
40eb82:	06                   	push   %es
40eb83:	12 6d 03             	adc    0x3(%ebp),%ch
40eb86:	06                   	push   %es
40eb87:	12 71 03             	adc    0x3(%ecx),%dh
40eb8a:	06                   	push   %es
40eb8b:	12 75 03             	adc    0x3(%ebp),%dh
40eb8e:	06                   	push   %es
40eb8f:	12 79 04             	adc    0x4(%ecx),%bh
40eb92:	06                   	push   %es
40eb93:	12 80 a1 04 06 12    	adc    0x120604a1(%eax),%al
40eb99:	80 a5 09 06 14 11 2c 	andb   $0x2c,0x11140609(%ebp)
40eba0:	02 00                	add    (%eax),%al
40eba2:	02 00                	add    (%eax),%al
40eba4:	00 03                	add    %al,(%ebx)
40eba6:	06                   	push   %es
40eba7:	12 20                	adc    (%eax),%ah
40eba9:	03 06                	add    (%esi),%eax
40ebab:	12 24 03             	adc    (%ebx,%eax,1),%ah
40ebae:	06                   	push   %es
40ebaf:	11 28                	adc    %ebp,(%eax)
40ebb1:	03 06                	add    (%esi),%eax
40ebb3:	11 2c 03             	adc    %ebp,(%ebx,%eax,1)
40ebb6:	06                   	push   %es
40ebb7:	12 1c 07             	adc    (%edi,%eax,1),%bl
40ebba:	06                   	push   %es
40ebbb:	15 12 80 c5 01       	adc    $0x1c58012,%eax
40ebc0:	0d 03 06 12 60       	or     $0x60120603,%eax
40ebc5:	03 06                	add    (%esi),%eax
40ebc7:	12 4c 04 06          	adc    0x6(%esp,%eax,1),%cl
40ebcb:	12 80 cd 04 06 12    	adc    0x120604cd(%eax),%al
40ebd1:	80 d1 04             	adc    $0x4,%cl
40ebd4:	06                   	push   %es
40ebd5:	12 80 d5 04 06 12    	adc    0x120604d5(%eax),%al
40ebdb:	80 d9 03             	sbb    $0x3,%cl
40ebde:	06                   	push   %es
40ebdf:	12 50 06             	adc    0x6(%eax),%dl
40ebe2:	06                   	push   %es
40ebe3:	15 12 58 01 0d       	adc    $0xd015812,%eax
40ebe8:	08 06                	or     %al,(%esi)
40ebea:	15 12 80 e5 02       	adc    $0x2e58012,%eax
40ebef:	0d 08 03 06 12       	or     $0x12060308,%eax
40ebf4:	44                   	inc    %esp
40ebf5:	03 06                	add    (%esi),%eax
40ebf7:	12 40 02             	adc    0x2(%eax),%al
40ebfa:	06                   	push   %es
40ebfb:	02 03                	add    (%ebx),%al
40ebfd:	06                   	push   %es
40ebfe:	1d 0d 07 06 15       	sbb    $0x1506070d,%eax
40ec03:	12 80 f5 01 0d 03    	adc    0x30d01f5(%eax),%al
40ec09:	06                   	push   %es
40ec0a:	12 6c 03 06          	adc    0x6(%ebx,%eax,1),%ch
40ec0e:	12 5c 04 06          	adc    0x6(%esp,%eax,1),%bl
40ec12:	12 81 0d 04 06 12    	adc    0x1206040d(%ecx),%al
40ec18:	81 11 04 06 11 80    	adcl   $0x80110604,(%ecx)
40ec1e:	80 0c 20 01          	orb    $0x1,(%eax,%eiz,1)
40ec22:	14 11                	adc    $0x11,%al
40ec24:	0c 02                	or     $0x2,%al