406dee:	06                   	push   %es
406def:	26 de 00             	fiadds %es:(%eax)
406df2:	06                   	push   %es
406df3:	23 a3 05 de 1b b1    	and    -0x4ee421fb(%ebx),%esp
406df9:	75 40                	jne    0x406e3b
406dfb:	38 2e                	cmp    %ch,(%esi)
406dfd:	c2 2a 00             	ret    $0x2a
406e00:	01 10                	add    %edx,(%eax)
406e02:	00 00                	add    %al,(%eax)
406e04:	00 00                	add    %al,(%eax)
406e06:	20 00                	and    %al,(%eax)
406e08:	0f 2f 00             	comiss (%eax),%xmm0
406e0b:	0f 2b 00             	movntps %xmm0,(%eax)
406e0e:	00 01                	add    %al,(%ecx)
406e10:	13 30                	adc    (%eax),%esi
406e12:	01 00                	add    %eax,(%eax)
406e14:	2b 00                	sub    (%eax),%eax
406e16:	00 00                	add    %al,(%eax)
406e18:	11 00                	adc    %eax,(%eax)
406e1a:	00 11                	add    %dl,(%ecx)
406e1c:	23 20                	and    (%eax),%esp
406e1e:	98                   	cwtl
406e1f:	fb                   	sti
406e20:	96                   	xchg   %eax,%esi
406e21:	4c                   	dec    %esp
406e22:	4c                   	dec    %esp
406e23:	36 39 0a             	cmp    %ecx,%ss:(%edx)
406e26:	23 9a 99 99 99 99    	and    -0x66666667(%edx),%ebx
406e2c:	99                   	cltd
406e2d:	b9 3f 28 e7 00       	mov    $0xe7283f,%ecx
406e32:	00 06                	add    %al,(%esi)
406e34:	28 e8                	sub    %ch,%al
406e36:	00 00                	add    %al,(%eax)
406e38:	06                   	push   %es
406e39:	0a 12                	or     (%edx),%dl
406e3b:	00 28                	add    %ch,(%eax)
406e3d:	6a 00                	push   $0x0
406e3f:	00 0a                	add    %cl,(%edx)
406e41:	28 e9                	sub    %ch,%cl
406e43:	00 00                	add    %al,(%eax)
406e45:	06                   	push   %es
406e46:	2a 00                	sub    (%eax),%al
406e48:	1b 30                	sbb    (%eax),%esi
406e4a:	02 00                	add    (%eax),%al
406e4c:	4b                   	dec    %ebx
406e4d:	00 00                	add    %al,(%eax)
406e4f:	00 12                	add    %dl,(%edx)
406e51:	00 00                	add    %al,(%eax)
406e53:	11 23                	adc    %esp,(%ebx)
406e55:	95                   	xchg   %eax,%ebp
406e56:	77 68                	ja     0x406ec0
406e58:	4b                   	dec    %ebx
406e59:	6d                   	insl   (%dx),%es:(%edi)
406e5a:	e5 a7                	in     $0xa7,%eax
406e5c:	38 0a                	cmp    %cl,(%edx)
406e5e:	2b 32                	sub    (%edx),%esi
406e60:	23 00                	and    (%eax),%eax
406e62:	00 00                	add    %al,(%eax)
406e64:	00 00                	add    %al,(%eax)
406e66:	00 f0                	add    %dh,%al
406e68:	3f                   	aas
406e69:	28 ee                	sub    %ch,%dh
406e6b:	00 00                	add    %al,(%eax)
406e6d:	06                   	push   %es
406e6e:	28 ef                	sub    %ch,%bh
406e70:	00 00                	add    %al,(%eax)
406e72:	06                   	push   %es
406e73:	0a 12                	or     (%edx),%dl
406e75:	00 28                	add    %ch,(%eax)
406e77:	6a 00                	push   $0x0
406e79:	00 0a                	add    %cl,(%edx)
406e7b:	28 f0                	sub    %dh,%al
406e7d:	00 00                	add    %al,(%eax)
406e7f:	06                   	push   %es
406e80:	26 de 0f             	fimuls %es:(%edi)
406e83:	0b 07                	or     (%edi),%eax
406e85:	28 f1                	sub    %dh,%cl
406e87:	00 00                	add    %al,(%eax)
406e89:	06                   	push   %es
406e8a:	28 f0                	sub    %dh,%al
406e8c:	00 00                	add    %al,(%eax)
406e8e:	06                   	push   %es
406e8f:	26 de 00             	fiadds %es:(%eax)
406e92:	06                   	push   %es
406e93:	23 a3 05 de 1b b1    	and    -0x4ee421fb(%ebx),%esp
406e99:	75 40                	jne    0x406edb
406e9b:	38 2e                	cmp    %ch,(%esi)
406e9d:	c2 2a 00             	ret    $0x2a
406ea0:	01 10                	add    %edx,(%eax)
406ea2:	00 00                	add    %al,(%eax)
406ea4:	00 00                	add    %al,(%eax)
406ea6:	20 00                	and    %al,(%eax)
406ea8:	0f 2f 00             	comiss (%eax),%xmm0
406eab:	0f 2b 00             	movntps %xmm0,(%eax)
406eae:	00 01                	add    %al,(%ecx)
406eb0:	13 30                	adc    (%eax),%esi
406eb2:	01 00                	add    %eax,(%eax)
406eb4:	2b 00                	sub    (%eax),%eax
406eb6:	00 00                	add    %al,(%eax)
406eb8:	11 00                	adc    %eax,(%eax)
406eba:	00 11                	add    %dl,(%ecx)
406ebc:	23 20                	and    (%eax),%esp
406ebe:	98                   	cwtl
406ebf:	fb                   	sti
406ec0:	96                   	xchg   %eax,%esi
406ec1:	4c                   	dec    %esp
406ec2:	4c                   	dec    %esp
406ec3:	36 39 0a             	cmp    %ecx,%ss:(%edx)
406ec6:	23 9a 99 99 99 99    	and    -0x66666667(%edx),%ebx
406ecc:	99                   	cltd
406ecd:	b9 3f 28 02 01       	mov    $0x102283f,%ecx
406ed2:	00 06                	add    %al,(%esi)
406ed4:	28 03                	sub    %al,(%ebx)
406ed6:	01 00                	add    %eax,(%eax)
406ed8:	06                   	push   %es
406ed9:	0a 12                	or     (%edx),%dl
406edb:	00 28                	add    %ch,(%eax)
406edd:	6a 00                	push   $0x0
406edf:	00 0a                	add    %cl,(%edx)
406ee1:	28 04 01             	sub    %al,(%ecx,%eax,1)
406ee4:	00 06                	add    %al,(%esi)
406ee6:	2a 00                	sub    (%eax),%al
406ee8:	1b 30                	sbb    (%eax),%esi
406eea:	02 00                	add    (%eax),%al
406eec:	4b                   	dec    %ebx
406eed:	00 00                	add    %al,(%eax)
406eef:	00 12                	add    %dl,(%edx)
406ef1:	00 00                	add    %al,(%eax)
406ef3:	11 23                	adc    %esp,(%ebx)
406ef5:	95                   	xchg   %eax,%ebp
406ef6:	77 68                	ja     0x406f60
406ef8:	4b                   	dec    %ebx
406ef9:	6d                   	insl   (%dx),%es:(%edi)
406efa:	e5 a7                	in     $0xa7,%eax
406efc:	38 0a                	cmp    %cl,(%edx)
406efe:	2b 32                	sub    (%edx),%esi
406f00:	23 00                	and    (%eax),%eax
406f02:	00 00                	add    %al,(%eax)
406f04:	00 00                	add    %al,(%eax)
406f06:	00 f0                	add    %dh,%al
406f08:	3f                   	aas
406f09:	28 09                	sub    %cl,(%ecx)
406f0b:	01 00                	add    %eax,(%eax)
406f0d:	06                   	push   %es
406f0e:	28 0a                	sub    %cl,(%edx)
406f10:	01 00                	add    %eax,(%eax)
406f12:	06                   	push   %es
406f13:	0a 12                	or     (%edx),%dl
406f15:	00 28                	add    %ch,(%eax)
406f17:	6a 00                	push   $0x0
406f19:	00 0a                	add    %cl,(%edx)
406f1b:	28 0b                	sub    %cl,(%ebx)
406f1d:	01 00                	add    %eax,(%eax)
406f1f:	06                   	push   %es
406f20:	26 de 0f             	fimuls %es:(%edi)
406f23:	0b 07                	or     (%edi),%eax
406f25:	28 0c 01             	sub    %cl,(%ecx,%eax,1)
406f28:	00 06                	add    %al,(%esi)
406f2a:	28 0b                	sub    %cl,(%ebx)
406f2c:	01 00                	add    %eax,(%eax)
406f2e:	06                   	push   %es
406f2f:	26 de 00             	fiadds %es:(%eax)
406f32:	06                   	push   %es
406f33:	23 a3 05 de 1b b1    	and    -0x4ee421fb(%ebx),%esp
406f39:	75 40                	jne    0x406f7b
406f3b:	38 2e                	cmp    %ch,(%esi)
406f3d:	c2 2a 00             	ret    $0x2a
406f40:	01 10                	add    %edx,(%eax)
406f42:	00 00                	add    %al,(%eax)
406f44:	00 00                	add    %al,(%eax)
406f46:	20 00                	and    %al,(%eax)
406f48:	0f 2f 00             	comiss (%eax),%xmm0
406f4b:	0f 2b 00             	movntps %xmm0,(%eax)
406f4e:	00 01                	add    %al,(%ecx)
406f50:	13 30                	adc    (%eax),%esi
406f52:	01 00                	add    %eax,(%eax)
406f54:	2b 00                	sub    (%eax),%eax
406f56:	00 00                	add    %al,(%eax)
406f58:	11 00                	adc    %eax,(%eax)
406f5a:	00 11                	add    %dl,(%ecx)
406f5c:	23 20                	and    (%eax),%esp
406f5e:	98                   	cwtl
406f5f:	fb                   	sti
406f60:	96                   	xchg   %eax,%esi
406f61:	4c                   	dec    %esp
406f62:	4c                   	dec    %esp
406f63:	36 39 0a             	cmp    %ecx,%ss:(%edx)
406f66:	23 9a 99 99 99 99    	and    -0x66666667(%edx),%ebx
406f6c:	99                   	cltd
406f6d:	b9 3f 28 1d 01       	mov    $0x11d283f,%ecx
406f72:	00 06                	add    %al,(%esi)
406f74:	28 1e                	sub    %bl,(%esi)
406f76:	01 00                	add    %eax,(%eax)
406f78:	06                   	push   %es
406f79:	0a 12                	or     (%edx),%dl
406f7b:	00 28                	add    %ch,(%eax)
406f7d:	6a 00                	push   $0x0
406f7f:	00 0a                	add    %cl,(%edx)
406f81:	28 1f                	sub    %bl,(%edi)
406f83:	01 00                	add    %eax,(%eax)
406f85:	06                   	push   %es
406f86:	2a 00                	sub    (%eax),%al
406f88:	1b 30                	sbb    (%eax),%esi
406f8a:	02 00                	add    (%eax),%al
406f8c:	4b                   	dec    %ebx
406f8d:	00 00                	add    %al,(%eax)
406f8f:	00 12                	add    %dl,(%edx)
406f91:	00 00                	add    %al,(%eax)
406f93:	11 23                	adc    %esp,(%ebx)
406f95:	95                   	xchg   %eax,%ebp
406f96:	77 68                	ja     0x407000
406f98:	4b                   	dec    %ebx
406f99:	6d                   	insl   (%dx),%es:(%edi)
406f9a:	e5 a7                	in     $0xa7,%eax
406f9c:	38 0a                	cmp    %cl,(%edx)
406f9e:	2b 32                	sub    (%edx),%esi
406fa0:	23 00                	and    (%eax),%eax
406fa2:	00 00                	add    %al,(%eax)
406fa4:	00 00                	add    %al,(%eax)
406fa6:	00 f0                	add    %dh,%al
406fa8:	3f                   	aas
406fa9:	28 24 01             	sub    %ah,(%ecx,%eax,1)
406fac:	00 06                	add    %al,(%esi)
406fae:	28 25 01 00 06 0a    	sub    %ah,0xa060001
406fb4:	12 00                	adc    (%eax),%al
406fb6:	28 6a 00             	sub    %ch,0x0(%edx)
406fb9:	00 0a                	add    %cl,(%edx)
406fbb:	28 26                	sub    %ah,(%esi)
406fbd:	01 00                	add    %eax,(%eax)
406fbf:	06                   	push   %es
406fc0:	26 de 0f             	fimuls %es:(%edi)
406fc3:	0b 07                	or     (%edi),%eax
406fc5:	28 27                	sub    %ah,(%edi)
406fc7:	01 00                	add    %eax,(%eax)
406fc9:	06                   	push   %es
406fca:	28 26                	sub    %ah,(%esi)
406fcc:	01 00                	add    %eax,(%eax)
406fce:	06                   	push   %es
406fcf:	26 de 00             	fiadds %es:(%eax)
406fd2:	06                   	push   %es
406fd3:	23 a3 05 de 1b b1    	and    -0x4ee421fb(%ebx),%esp
406fd9:	75 40                	jne    0x40701b
406fdb:	38 2e                	cmp    %ch,(%esi)
406fdd:	c2 2a 00             	ret    $0x2a
406fe0:	01 10                	add    %edx,(%eax)
406fe2:	00 00                	add    %al,(%eax)
406fe4:	00 00                	add    %al,(%eax)
406fe6:	20 00                	and    %al,(%eax)
406fe8:	0f 2f 00             	comiss (%eax),%xmm0
406feb:	0f 2b 00             	movntps %xmm0,(%eax)
406fee:	00 01                	add    %al,(%ecx)
406ff0:	13 30                	adc    (%eax),%esi
406ff2:	01 00                	add    %eax,(%eax)
406ff4:	2b 00                	sub    (%eax),%eax
406ff6:	00 00                	add    %al,(%eax)
406ff8:	11 00                	adc    %eax,(%eax)
406ffa:	00 11                	add    %dl,(%ecx)
406ffc:	23 20                	and    (%eax),%esp
406ffe:	98                   	cwtl
406fff:	fb                   	sti
407000:	96                   	xchg   %eax,%esi
407001:	4c                   	dec    %esp
407002:	4c                   	dec    %esp
407003:	36 39 0a             	cmp    %ecx,%ss:(%edx)
407006:	23 9a 99 99 99 99    	and    -0x66666667(%edx),%ebx
40700c:	99                   	cltd
40700d:	b9 3f 28 38 01       	mov    $0x138283f,%ecx
407012:	00 06                	add    %al,(%esi)
407014:	28 39                	sub    %bh,(%ecx)
407016:	01 00                	add    %eax,(%eax)
407018:	06                   	push   %es
407019:	0a 12                	or     (%edx),%dl
40701b:	00 28                	add    %ch,(%eax)
40701d:	6a 00                	push   $0x0
40701f:	00 0a                	add    %cl,(%edx)
407021:	28 3a                	sub    %bh,(%edx)
407023:	01 00                	add    %eax,(%eax)
407025:	06                   	push   %es
407026:	2a 00                	sub    (%eax),%al
407028:	1b 30                	sbb    (%eax),%esi
40702a:	02 00                	add    (%eax),%al
40702c:	4b                   	dec    %ebx
40702d:	00 00                	add    %al,(%eax)
40702f:	00 12                	add    %dl,(%edx)
407031:	00 00                	add    %al,(%eax)
407033:	11 23                	adc    %esp,(%ebx)
407035:	95                   	xchg   %eax,%ebp
407036:	77 68                	ja     0x4070a0
407038:	4b                   	dec    %ebx
407039:	6d                   	insl   (%dx),%es:(%edi)
40703a:	e5 a7                	in     $0xa7,%eax
40703c:	38 0a                	cmp    %cl,(%edx)
40703e:	2b 32                	sub    (%edx),%esi
407040:	23 00                	and    (%eax),%eax
407042:	00 00                	add    %al,(%eax)
407044:	00 00                	add    %al,(%eax)
407046:	00 f0                	add    %dh,%al
407048:	3f                   	aas
407049:	28 3f                	sub    %bh,(%edi)
40704b:	01 00                	add    %eax,(%eax)
40704d:	06                   	push   %es
40704e:	28 40 01             	sub    %al,0x1(%eax)
407051:	00 06                	add    %al,(%esi)
407053:	0a 12                	or     (%edx),%dl
407055:	00 28                	add    %ch,(%eax)
407057:	6a 00                	push   $0x0
407059:	00 0a                	add    %cl,(%edx)
40705b:	28 41 01             	sub    %al,0x1(%ecx)
40705e:	00 06                	add    %al,(%esi)
407060:	26 de 0f             	fimuls %es:(%edi)
407063:	0b 07                	or     (%edi),%eax
407065:	28 42 01             	sub    %al,0x1(%edx)
407068:	00 06                	add    %al,(%esi)
40706a:	28 41 01             	sub    %al,0x1(%ecx)
40706d:	00 06                	add    %al,(%esi)
40706f:	26 de 00             	fiadds %es:(%eax)
407072:	06                   	push   %es
407073:	23 a3 05 de 1b b1    	and    -0x4ee421fb(%ebx),%esp
407079:	75 40                	jne    0x4070bb
40707b:	38 2e                	cmp    %ch,(%esi)
40707d:	c2 2a 00             	ret    $0x2a
407080:	01 10                	add    %edx,(%eax)
407082:	00 00                	add    %al,(%eax)
407084:	00 00                	add    %al,(%eax)
407086:	20 00                	and    %al,(%eax)
407088:	0f 2f 00             	comiss (%eax),%xmm0
40708b:	0f 2b 00             	movntps %xmm0,(%eax)
40708e:	00 01                	add    %al,(%ecx)
407090:	13 30                	adc    (%eax),%esi
407092:	01 00                	add    %eax,(%eax)
407094:	2b 00                	sub    (%eax),%eax
407096:	00 00                	add    %al,(%eax)
407098:	11 00                	adc    %eax,(%eax)
40709a:	00 11                	add    %dl,(%ecx)
40709c:	23 20                	and    (%eax),%esp
40709e:	98                   	cwtl
40709f:	fb                   	sti
4070a0:	96                   	xchg   %eax,%esi
4070a1:	4c                   	dec    %esp
4070a2:	4c                   	dec    %esp
4070a3:	36 39 0a             	cmp    %ecx,%ss:(%edx)
4070a6:	23 9a 99 99 99 99    	and    -0x66666667(%edx),%ebx
4070ac:	99                   	cltd
4070ad:	b9 3f 28 53 01       	mov    $0x153283f,%ecx
4070b2:	00 06                	add    %al,(%esi)
4070b4:	28 54 01 00          	sub    %dl,0x0(%ecx,%eax,1)
4070b8:	06                   	push   %es
4070b9:	0a 12                	or     (%edx),%dl
4070bb:	00 28                	add    %ch,(%eax)
4070bd:	6a 00                	push   $0x0