ae6af7:	f7 c2 00 01 00 00    	test   $0x100,%edx
ae6afd:	74 06                	je     0xae6b05
ae6aff:	81 c9 00 08 00 00    	or     $0x800,%ecx
ae6b05:	8b c1                	mov    %ecx,%eax
ae6b07:	5d                   	pop    %ebp
ae6b08:	c3                   	ret
ae6b09:	cc                   	int3
ae6b0a:	cc                   	int3
ae6b0b:	cc                   	int3
ae6b0c:	cc                   	int3
ae6b0d:	cc                   	int3
ae6b0e:	cc                   	int3
ae6b0f:	cc                   	int3
ae6b10:	cc                   	int3
ae6b11:	cc                   	int3
ae6b12:	cc                   	int3
ae6b13:	cc                   	int3
ae6b14:	cc                   	int3
ae6b15:	cc                   	int3
ae6b16:	cc                   	int3
ae6b17:	cc                   	int3
ae6b18:	cc                   	int3
ae6b19:	cc                   	int3
ae6b1a:	cc                   	int3
ae6b1b:	cc                   	int3
ae6b1c:	cc                   	int3
ae6b1d:	cc                   	int3
ae6b1e:	cc                   	int3
ae6b1f:	cc                   	int3
ae6b20:	cc                   	int3
ae6b21:	cc                   	int3
ae6b22:	cc                   	int3
ae6b23:	cc                   	int3
ae6b24:	cc                   	int3
ae6b25:	8b ff                	mov    %edi,%edi
ae6b27:	55                   	push   %ebp
ae6b28:	8b ec                	mov    %esp,%ebp
ae6b2a:	8b 55 08             	mov    0x8(%ebp),%edx
ae6b2d:	33 c9                	xor    %ecx,%ecx
ae6b2f:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
ae6b35:	74 6a                	je     0xae6ba1
ae6b37:	f6 c2 10             	test   $0x10,%dl
ae6b3a:	74 05                	je     0xae6b41
ae6b3c:	b9 80 00 00 00       	mov    $0x80,%ecx
ae6b41:	57                   	push   %edi
ae6b42:	bf 00 02 00 00       	mov    $0x200,%edi
ae6b47:	f6 c2 08             	test   $0x8,%dl
ae6b4a:	74 02                	je     0xae6b4e
ae6b4c:	0b cf                	or     %edi,%ecx
ae6b4e:	f6 c2 04             	test   $0x4,%dl
ae6b51:	74 06                	je     0xae6b59
ae6b53:	81 c9 00 04 00 00    	or     $0x400,%ecx
ae6b59:	f6 c2 02             	test   $0x2,%dl
ae6b5c:	74 06                	je     0xae6b64
ae6b5e:	81 c9 00 08 00 00    	or     $0x800,%ecx
ae6b64:	f6 c2 01             	test   $0x1,%dl
ae6b67:	74 06                	je     0xae6b6f
ae6b69:	81 c9 00 10 00 00    	or     $0x1000,%ecx
ae6b6f:	56                   	push   %esi
ae6b70:	be 00 03 00 00       	mov    $0x300,%esi
ae6b75:	8b c2                	mov    %edx,%eax
ae6b77:	23 c6                	and    %esi,%eax
ae6b79:	3b c6                	cmp    %esi,%eax
ae6b7b:	5e                   	pop    %esi
ae6b7c:	75 08                	jne    0xae6b86
ae6b7e:	81 c9 00 60 00 00    	or     $0x6000,%ecx
ae6b84:	eb 1a                	jmp    0xae6ba0
ae6b86:	85 d7                	test   %edx,%edi
ae6b88:	74 08                	je     0xae6b92
ae6b8a:	81 c9 00 20 00 00    	or     $0x2000,%ecx
ae6b90:	eb 0e                	jmp    0xae6ba0
ae6b92:	f7 c2 00 01 00 00    	test   $0x100,%edx
ae6b98:	74 06                	je     0xae6ba0
ae6b9a:	81 c9 00 40 00 00    	or     $0x4000,%ecx
ae6ba0:	5f                   	pop    %edi
ae6ba1:	8b c1                	mov    %ecx,%eax
ae6ba3:	5d                   	pop    %ebp
ae6ba4:	c3                   	ret
ae6ba5:	cc                   	int3
ae6ba6:	cc                   	int3
ae6ba7:	cc                   	int3
ae6ba8:	cc                   	int3
ae6ba9:	cc                   	int3
ae6baa:	cc                   	int3
ae6bab:	cc                   	int3
ae6bac:	cc                   	int3
ae6bad:	cc                   	int3
ae6bae:	cc                   	int3
ae6baf:	cc                   	int3
ae6bb0:	cc                   	int3
ae6bb1:	cc                   	int3
ae6bb2:	cc                   	int3
ae6bb3:	cc                   	int3
ae6bb4:	cc                   	int3
ae6bb5:	cc                   	int3
ae6bb6:	cc                   	int3
ae6bb7:	cc                   	int3
ae6bb8:	cc                   	int3
ae6bb9:	cc                   	int3
ae6bba:	cc                   	int3
ae6bbb:	cc                   	int3
ae6bbc:	cc                   	int3
ae6bbd:	cc                   	int3
ae6bbe:	cc                   	int3
ae6bbf:	cc                   	int3
ae6bc0:	cc                   	int3
ae6bc1:	cc                   	int3
ae6bc2:	cc                   	int3
ae6bc3:	cc                   	int3
ae6bc4:	cc                   	int3
ae6bc5:	8b ff                	mov    %edi,%edi
ae6bc7:	55                   	push   %ebp
ae6bc8:	8b ec                	mov    %esp,%ebp
ae6bca:	8b 55 08             	mov    0x8(%ebp),%edx
ae6bcd:	33 c9                	xor    %ecx,%ecx
ae6bcf:	f6 c2 1f             	test   $0x1f,%dl
ae6bd2:	74 4e                	je     0xae6c22
ae6bd4:	56                   	push   %esi
ae6bd5:	be 10 00 00 10       	mov    $0x10000010,%esi
ae6bda:	8b c2                	mov    %edx,%eax
ae6bdc:	23 c6                	and    %esi,%eax
ae6bde:	3b c6                	cmp    %esi,%eax
ae6be0:	75 01                	jne    0xae6be3
ae6be2:	41                   	inc    %ecx
ae6be3:	be 08 00 00 08       	mov    $0x8000008,%esi
ae6be8:	8b c2                	mov    %edx,%eax
ae6bea:	23 c6                	and    %esi,%eax
ae6bec:	3b c6                	cmp    %esi,%eax
ae6bee:	75 03                	jne    0xae6bf3
ae6bf0:	83 c9 04             	or     $0x4,%ecx
ae6bf3:	be 04 00 00 04       	mov    $0x4000004,%esi
ae6bf8:	8b c2                	mov    %edx,%eax
ae6bfa:	23 c6                	and    %esi,%eax
ae6bfc:	3b c6                	cmp    %esi,%eax
ae6bfe:	75 03                	jne    0xae6c03
ae6c00:	83 c9 08             	or     $0x8,%ecx
ae6c03:	be 02 00 00 02       	mov    $0x2000002,%esi
ae6c08:	8b c2                	mov    %edx,%eax
ae6c0a:	23 c6                	and    %esi,%eax
ae6c0c:	3b c6                	cmp    %esi,%eax
ae6c0e:	5e                   	pop    %esi
ae6c0f:	75 03                	jne    0xae6c14
ae6c11:	83 c9 10             	or     $0x10,%ecx
ae6c14:	b8 01 00 00 01       	mov    $0x1000001,%eax
ae6c19:	23 d0                	and    %eax,%edx
ae6c1b:	3b d0                	cmp    %eax,%edx
ae6c1d:	75 03                	jne    0xae6c22
ae6c1f:	83 c9 20             	or     $0x20,%ecx
ae6c22:	8b c1                	mov    %ecx,%eax
ae6c24:	5d                   	pop    %ebp
ae6c25:	c3                   	ret
ae6c26:	cc                   	int3
ae6c27:	cc                   	int3
ae6c28:	cc                   	int3
ae6c29:	cc                   	int3
ae6c2a:	cc                   	int3
ae6c2b:	cc                   	int3
ae6c2c:	cc                   	int3
ae6c2d:	cc                   	int3
ae6c2e:	cc                   	int3
ae6c2f:	cc                   	int3
ae6c30:	cc                   	int3
ae6c31:	cc                   	int3
ae6c32:	cc                   	int3
ae6c33:	cc                   	int3
ae6c34:	cc                   	int3
ae6c35:	cc                   	int3
ae6c36:	cc                   	int3
ae6c37:	cc                   	int3
ae6c38:	cc                   	int3
ae6c39:	cc                   	int3
ae6c3a:	cc                   	int3
ae6c3b:	cc                   	int3
ae6c3c:	cc                   	int3
ae6c3d:	cc                   	int3
ae6c3e:	8b ff                	mov    %edi,%edi
ae6c40:	55                   	push   %ebp
ae6c41:	8b ec                	mov    %esp,%ebp
ae6c43:	8b 55 08             	mov    0x8(%ebp),%edx
ae6c46:	33 c9                	xor    %ecx,%ecx
ae6c48:	f6 c2 1f             	test   $0x1f,%dl
ae6c4b:	74 4e                	je     0xae6c9b
ae6c4d:	56                   	push   %esi
ae6c4e:	be 10 00 10 00       	mov    $0x100010,%esi
ae6c53:	8b c2                	mov    %edx,%eax
ae6c55:	23 c6                	and    %esi,%eax
ae6c57:	3b c6                	cmp    %esi,%eax
ae6c59:	75 01                	jne    0xae6c5c
ae6c5b:	41                   	inc    %ecx
ae6c5c:	be 08 00 08 00       	mov    $0x80008,%esi
ae6c61:	8b c2                	mov    %edx,%eax
ae6c63:	23 c6                	and    %esi,%eax
ae6c65:	3b c6                	cmp    %esi,%eax
ae6c67:	75 03                	jne    0xae6c6c
ae6c69:	83 c9 04             	or     $0x4,%ecx
ae6c6c:	be 04 00 04 00       	mov    $0x40004,%esi
ae6c71:	8b c2                	mov    %edx,%eax
ae6c73:	23 c6                	and    %esi,%eax
ae6c75:	3b c6                	cmp    %esi,%eax
ae6c77:	75 03                	jne    0xae6c7c
ae6c79:	83 c9 08             	or     $0x8,%ecx
ae6c7c:	be 02 00 02 00       	mov    $0x20002,%esi
ae6c81:	8b c2                	mov    %edx,%eax
ae6c83:	23 c6                	and    %esi,%eax
ae6c85:	3b c6                	cmp    %esi,%eax
ae6c87:	5e                   	pop    %esi
ae6c88:	75 03                	jne    0xae6c8d
ae6c8a:	83 c9 10             	or     $0x10,%ecx
ae6c8d:	b8 01 00 01 00       	mov    $0x10001,%eax
ae6c92:	23 d0                	and    %eax,%edx
ae6c94:	3b d0                	cmp    %eax,%edx
ae6c96:	75 03                	jne    0xae6c9b
ae6c98:	83 c9 20             	or     $0x20,%ecx
ae6c9b:	8b c1                	mov    %ecx,%eax
ae6c9d:	5d                   	pop    %ebp
ae6c9e:	c3                   	ret
ae6c9f:	cc                   	int3
ae6ca0:	cc                   	int3
ae6ca1:	cc                   	int3
ae6ca2:	cc                   	int3
ae6ca3:	cc                   	int3
ae6ca4:	cc                   	int3
ae6ca5:	cc                   	int3
ae6ca6:	cc                   	int3
ae6ca7:	cc                   	int3
ae6ca8:	cc                   	int3
ae6ca9:	cc                   	int3
ae6caa:	cc                   	int3
ae6cab:	cc                   	int3
ae6cac:	cc                   	int3
ae6cad:	cc                   	int3
ae6cae:	cc                   	int3
ae6caf:	cc                   	int3
ae6cb0:	cc                   	int3
ae6cb1:	cc                   	int3
ae6cb2:	cc                   	int3
ae6cb3:	cc                   	int3
ae6cb4:	cc                   	int3
ae6cb5:	cc                   	int3
ae6cb6:	cc                   	int3
ae6cb7:	8b ff                	mov    %edi,%edi
ae6cb9:	55                   	push   %ebp
ae6cba:	8b ec                	mov    %esp,%ebp
ae6cbc:	51                   	push   %ecx
ae6cbd:	51                   	push   %ecx
ae6cbe:	33 c0                	xor    %eax,%eax
ae6cc0:	21 45 f8             	and    %eax,-0x8(%ebp)
ae6cc3:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
ae6cc7:	d9 7d fc             	fnstcw -0x4(%ebp)
ae6cca:	83 3d a8 10 d8 00 01 	cmpl   $0x1,0xd810a8
ae6cd1:	7c 04                	jl     0xae6cd7
ae6cd3:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
ae6cd7:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
ae6cdb:	56                   	push   %esi
ae6cdc:	50                   	push   %eax
ae6cdd:	e8 81 fc ff ff       	call   0xae6963
ae6ce2:	ff 75 f8             	push   -0x8(%ebp)
ae6ce5:	8b f0                	mov    %eax,%esi
ae6ce7:	e8 db fb ff ff       	call   0xae68c7
ae6cec:	59                   	pop    %ecx
ae6ced:	0b c6                	or     %esi,%eax
ae6cef:	59                   	pop    %ecx
ae6cf0:	25 1f 03 00 00       	and    $0x31f,%eax
ae6cf5:	5e                   	pop    %esi
ae6cf6:	8b e5                	mov    %ebp,%esp
ae6cf8:	5d                   	pop    %ebp
ae6cf9:	c3                   	ret
ae6cfa:	cc                   	int3
ae6cfb:	cc                   	int3
ae6cfc:	cc                   	int3
ae6cfd:	cc                   	int3
ae6cfe:	cc                   	int3
ae6cff:	cc                   	int3
ae6d00:	cc                   	int3
ae6d01:	cc                   	int3
ae6d02:	cc                   	int3
ae6d03:	cc                   	int3
ae6d04:	cc                   	int3
ae6d05:	cc                   	int3
ae6d06:	cc                   	int3
ae6d07:	cc                   	int3
ae6d08:	cc                   	int3
ae6d09:	cc                   	int3
ae6d0a:	8b ff                	mov    %edi,%edi
ae6d0c:	55                   	push   %ebp
ae6d0d:	8b ec                	mov    %esp,%ebp
ae6d0f:	51                   	push   %ecx
ae6d10:	51                   	push   %ecx
ae6d11:	33 c0                	xor    %eax,%eax
ae6d13:	33 c9                	xor    %ecx,%ecx
ae6d15:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
ae6d19:	89 4d f8             	mov    %ecx,-0x8(%ebp)
ae6d1c:	dd 7d fc             	fnstsw -0x4(%ebp)
ae6d1f:	83 3d a8 10 d8 00 01 	cmpl   $0x1,0xd810a8
ae6d26:	7c 04                	jl     0xae6d2c
ae6d28:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
ae6d2c:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
ae6d30:	8b c1                	mov    %ecx,%eax
ae6d32:	f6 c2 3d             	test   $0x3d,%dl
ae6d35:	74 32                	je     0xae6d69
ae6d37:	f6 c2 01             	test   $0x1,%dl
ae6d3a:	74 05                	je     0xae6d41
ae6d3c:	b8 10 00 10 00       	mov    $0x100010,%eax
ae6d41:	f6 c2 04             	test   $0x4,%dl
ae6d44:	74 05                	je     0xae6d4b
ae6d46:	0d 08 00 08 00       	or     $0x80008,%eax
ae6d4b:	f6 c2 08             	test   $0x8,%dl
ae6d4e:	74 05                	je     0xae6d55
ae6d50:	0d 04 00 04 00       	or     $0x40004,%eax
ae6d55:	f6 c2 10             	test   $0x10,%dl
ae6d58:	74 05                	je     0xae6d5f
ae6d5a:	0d 02 00 02 00       	or     $0x20002,%eax
ae6d5f:	f6 c2 20             	test   $0x20,%dl
ae6d62:	74 05                	je     0xae6d69
ae6d64:	0d 01 00 01 00       	or     $0x10001,%eax
ae6d69:	8b 55 f8             	mov    -0x8(%ebp),%edx
ae6d6c:	f6 c2 3d             	test   $0x3d,%dl
ae6d6f:	74 36                	je     0xae6da7
ae6d71:	f6 c2 01             	test   $0x1,%dl
ae6d74:	74 05                	je     0xae6d7b
ae6d76:	b9 10 00 00 10       	mov    $0x10000010,%ecx
ae6d7b:	f6 c2 04             	test   $0x4,%dl
ae6d7e:	74 06                	je     0xae6d86
ae6d80:	81 c9 08 00 00 08    	or     $0x8000008,%ecx
ae6d86:	f6 c2 08             	test   $0x8,%dl
ae6d89:	74 06                	je     0xae6d91
ae6d8b:	81 c9 04 00 00 04    	or     $0x4000004,%ecx
ae6d91:	f6 c2 10             	test   $0x10,%dl
ae6d94:	74 06                	je     0xae6d9c
ae6d96:	81 c9 02 00 00 02    	or     $0x2000002,%ecx
ae6d9c:	f6 c2 20             	test   $0x20,%dl
ae6d9f:	74 06                	je     0xae6da7
ae6da1:	81 c9 01 00 00 01    	or     $0x1000001,%ecx
ae6da7:	0b c1                	or     %ecx,%eax
ae6da9:	25 1f 00 1f 1f       	and    $0x1f1f001f,%eax
ae6dae:	8b e5                	mov    %ebp,%esp
ae6db0:	5d                   	pop    %ebp
ae6db1:	c3                   	ret
ae6db2:	cc                   	int3
ae6db3:	cc                   	int3
ae6db4:	cc                   	int3
ae6db5:	cc                   	int3
ae6db6:	cc                   	int3
ae6db7:	cc                   	int3
ae6db8:	cc                   	int3
ae6db9:	cc                   	int3
ae6dba:	cc                   	int3
ae6dbb:	cc                   	int3
ae6dbc:	cc                   	int3
ae6dbd:	cc                   	int3