439a57:	f6 c1 02             	test   $0x2,%cl
439a5a:	74 05                	je     0x439a61
439a5c:	0d 00 08 00 00       	or     $0x800,%eax
439a61:	f6 c1 01             	test   $0x1,%cl
439a64:	74 05                	je     0x439a6b
439a66:	0d 00 10 00 00       	or     $0x1000,%eax
439a6b:	be 00 01 00 00       	mov    $0x100,%esi
439a70:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
439a76:	74 02                	je     0x439a7a
439a78:	0b c6                	or     %esi,%eax
439a7a:	8b d1                	mov    %ecx,%edx
439a7c:	bb 00 03 00 00       	mov    $0x300,%ebx
439a81:	23 d3                	and    %ebx,%edx
439a83:	74 1f                	je     0x439aa4
439a85:	3b d6                	cmp    %esi,%edx
439a87:	74 16                	je     0x439a9f
439a89:	3b d7                	cmp    %edi,%edx
439a8b:	74 0b                	je     0x439a98
439a8d:	3b d3                	cmp    %ebx,%edx
439a8f:	75 13                	jne    0x439aa4
439a91:	0d 00 60 00 00       	or     $0x6000,%eax
439a96:	eb 0c                	jmp    0x439aa4
439a98:	0d 00 40 00 00       	or     $0x4000,%eax
439a9d:	eb 05                	jmp    0x439aa4
439a9f:	0d 00 20 00 00       	or     $0x2000,%eax
439aa4:	ba 00 00 00 03       	mov    $0x3000000,%edx
439aa9:	5f                   	pop    %edi
439aaa:	23 ca                	and    %edx,%ecx
439aac:	5e                   	pop    %esi
439aad:	5b                   	pop    %ebx
439aae:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
439ab4:	74 18                	je     0x439ace
439ab6:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
439abc:	74 0b                	je     0x439ac9
439abe:	3b ca                	cmp    %edx,%ecx
439ac0:	75 11                	jne    0x439ad3
439ac2:	0d 00 80 00 00       	or     $0x8000,%eax
439ac7:	5d                   	pop    %ebp
439ac8:	c3                   	ret
439ac9:	83 c8 40             	or     $0x40,%eax
439acc:	5d                   	pop    %ebp
439acd:	c3                   	ret
439ace:	0d 40 80 00 00       	or     $0x8040,%eax
439ad3:	5d                   	pop    %ebp
439ad4:	c3                   	ret
439ad5:	8b ff                	mov    %edi,%edi
439ad7:	55                   	push   %ebp
439ad8:	8b ec                	mov    %esp,%ebp
439ada:	83 ec 0c             	sub    $0xc,%esp
439add:	dd 7d fc             	fnstsw -0x4(%ebp)
439ae0:	db e2                	fnclex
439ae2:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
439ae9:	0f 8c 83 00 00 00    	jl     0x439b72
439aef:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
439af3:	33 c9                	xor    %ecx,%ecx
439af5:	8b d1                	mov    %ecx,%edx
439af7:	57                   	push   %edi
439af8:	bf 00 00 08 00       	mov    $0x80000,%edi
439afd:	a8 3f                	test   $0x3f,%al
439aff:	74 29                	je     0x439b2a
439b01:	a8 01                	test   $0x1,%al
439b03:	74 03                	je     0x439b08
439b05:	6a 10                	push   $0x10
439b07:	5a                   	pop    %edx
439b08:	a8 04                	test   $0x4,%al
439b0a:	74 03                	je     0x439b0f
439b0c:	83 ca 08             	or     $0x8,%edx
439b0f:	a8 08                	test   $0x8,%al
439b11:	74 03                	je     0x439b16
439b13:	83 ca 04             	or     $0x4,%edx
439b16:	a8 10                	test   $0x10,%al
439b18:	74 03                	je     0x439b1d
439b1a:	83 ca 02             	or     $0x2,%edx
439b1d:	a8 20                	test   $0x20,%al
439b1f:	74 03                	je     0x439b24
439b21:	83 ca 01             	or     $0x1,%edx
439b24:	a8 02                	test   $0x2,%al
439b26:	74 02                	je     0x439b2a
439b28:	0b d7                	or     %edi,%edx
439b2a:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
439b2e:	8b 45 f8             	mov    -0x8(%ebp),%eax
439b31:	83 e0 c0             	and    $0xffffffc0,%eax
439b34:	89 45 f4             	mov    %eax,-0xc(%ebp)
439b37:	0f ae 55 f4          	ldmxcsr -0xc(%ebp)
439b3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
439b3e:	a8 3f                	test   $0x3f,%al
439b40:	74 29                	je     0x439b6b
439b42:	a8 01                	test   $0x1,%al
439b44:	74 03                	je     0x439b49
439b46:	6a 10                	push   $0x10
439b48:	59                   	pop    %ecx
439b49:	a8 04                	test   $0x4,%al
439b4b:	74 03                	je     0x439b50
439b4d:	83 c9 08             	or     $0x8,%ecx
439b50:	a8 08                	test   $0x8,%al
439b52:	74 03                	je     0x439b57
439b54:	83 c9 04             	or     $0x4,%ecx
439b57:	a8 10                	test   $0x10,%al
439b59:	74 03                	je     0x439b5e
439b5b:	83 c9 02             	or     $0x2,%ecx
439b5e:	a8 20                	test   $0x20,%al
439b60:	74 03                	je     0x439b65
439b62:	83 c9 01             	or     $0x1,%ecx
439b65:	a8 02                	test   $0x2,%al
439b67:	74 02                	je     0x439b6b
439b69:	0b cf                	or     %edi,%ecx
439b6b:	0b ca                	or     %edx,%ecx
439b6d:	8b c1                	mov    %ecx,%eax
439b6f:	5f                   	pop    %edi
439b70:	eb 3d                	jmp    0x439baf
439b72:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
439b76:	33 c0                	xor    %eax,%eax
439b78:	f6 c1 3f             	test   $0x3f,%cl
439b7b:	74 32                	je     0x439baf
439b7d:	f6 c1 01             	test   $0x1,%cl
439b80:	74 03                	je     0x439b85
439b82:	6a 10                	push   $0x10
439b84:	58                   	pop    %eax
439b85:	f6 c1 04             	test   $0x4,%cl
439b88:	74 03                	je     0x439b8d
439b8a:	83 c8 08             	or     $0x8,%eax
439b8d:	f6 c1 08             	test   $0x8,%cl
439b90:	74 03                	je     0x439b95
439b92:	83 c8 04             	or     $0x4,%eax
439b95:	f6 c1 10             	test   $0x10,%cl
439b98:	74 03                	je     0x439b9d
439b9a:	83 c8 02             	or     $0x2,%eax
439b9d:	f6 c1 20             	test   $0x20,%cl
439ba0:	74 03                	je     0x439ba5
439ba2:	83 c8 01             	or     $0x1,%eax
439ba5:	f6 c1 02             	test   $0x2,%cl
439ba8:	74 05                	je     0x439baf
439baa:	0d 00 00 08 00       	or     $0x80000,%eax
439baf:	8b e5                	mov    %ebp,%esp
439bb1:	5d                   	pop    %ebp
439bb2:	c3                   	ret
439bb3:	8b ff                	mov    %edi,%edi
439bb5:	55                   	push   %ebp
439bb6:	8b ec                	mov    %esp,%ebp
439bb8:	83 ec 10             	sub    $0x10,%esp
439bbb:	9b d9 7d f8          	fstcw  -0x8(%ebp)
439bbf:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
439bc3:	33 c9                	xor    %ecx,%ecx
439bc5:	a8 01                	test   $0x1,%al
439bc7:	74 03                	je     0x439bcc
439bc9:	6a 10                	push   $0x10
439bcb:	59                   	pop    %ecx
439bcc:	a8 04                	test   $0x4,%al
439bce:	74 03                	je     0x439bd3
439bd0:	83 c9 08             	or     $0x8,%ecx
439bd3:	a8 08                	test   $0x8,%al
439bd5:	74 03                	je     0x439bda
439bd7:	83 c9 04             	or     $0x4,%ecx
439bda:	a8 10                	test   $0x10,%al
439bdc:	74 03                	je     0x439be1
439bde:	83 c9 02             	or     $0x2,%ecx
439be1:	a8 20                	test   $0x20,%al
439be3:	74 03                	je     0x439be8
439be5:	83 c9 01             	or     $0x1,%ecx
439be8:	a8 02                	test   $0x2,%al
439bea:	74 06                	je     0x439bf2
439bec:	81 c9 00 00 08 00    	or     $0x80000,%ecx
439bf2:	53                   	push   %ebx
439bf3:	56                   	push   %esi
439bf4:	0f b7 f0             	movzwl %ax,%esi
439bf7:	bb 00 0c 00 00       	mov    $0xc00,%ebx
439bfc:	8b d6                	mov    %esi,%edx
439bfe:	57                   	push   %edi
439bff:	bf 00 02 00 00       	mov    $0x200,%edi
439c04:	23 d3                	and    %ebx,%edx
439c06:	74 26                	je     0x439c2e
439c08:	81 fa 00 04 00 00    	cmp    $0x400,%edx
439c0e:	74 18                	je     0x439c28
439c10:	81 fa 00 08 00 00    	cmp    $0x800,%edx
439c16:	74 0c                	je     0x439c24
439c18:	3b d3                	cmp    %ebx,%edx
439c1a:	75 12                	jne    0x439c2e
439c1c:	81 c9 00 03 00 00    	or     $0x300,%ecx
439c22:	eb 0a                	jmp    0x439c2e
439c24:	0b cf                	or     %edi,%ecx
439c26:	eb 06                	jmp    0x439c2e
439c28:	81 c9 00 01 00 00    	or     $0x100,%ecx
439c2e:	81 e6 00 03 00 00    	and    $0x300,%esi
439c34:	74 0c                	je     0x439c42
439c36:	3b f7                	cmp    %edi,%esi
439c38:	75 0e                	jne    0x439c48
439c3a:	81 c9 00 00 01 00    	or     $0x10000,%ecx
439c40:	eb 06                	jmp    0x439c48
439c42:	81 c9 00 00 02 00    	or     $0x20000,%ecx
439c48:	ba 00 10 00 00       	mov    $0x1000,%edx
439c4d:	66 85 c2             	test   %ax,%dx
439c50:	74 06                	je     0x439c58
439c52:	81 c9 00 00 04 00    	or     $0x40000,%ecx
439c58:	8b 7d 0c             	mov    0xc(%ebp),%edi
439c5b:	8b f7                	mov    %edi,%esi
439c5d:	8b 45 08             	mov    0x8(%ebp),%eax
439c60:	f7 d6                	not    %esi
439c62:	23 f1                	and    %ecx,%esi
439c64:	23 c7                	and    %edi,%eax
439c66:	0b f0                	or     %eax,%esi
439c68:	3b f1                	cmp    %ecx,%esi
439c6a:	0f 84 a6 00 00 00    	je     0x439d16
439c70:	56                   	push   %esi
439c71:	e8 3f 02 00 00       	call   0x439eb5
439c76:	59                   	pop    %ecx
439c77:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
439c7b:	d9 6d fc             	fldcw  -0x4(%ebp)
439c7e:	9b d9 7d fc          	fstcw  -0x4(%ebp)
439c82:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
439c86:	33 f6                	xor    %esi,%esi
439c88:	a8 01                	test   $0x1,%al
439c8a:	74 03                	je     0x439c8f
439c8c:	6a 10                	push   $0x10
439c8e:	5e                   	pop    %esi
439c8f:	a8 04                	test   $0x4,%al
439c91:	74 03                	je     0x439c96
439c93:	83 ce 08             	or     $0x8,%esi
439c96:	a8 08                	test   $0x8,%al
439c98:	74 03                	je     0x439c9d
439c9a:	83 ce 04             	or     $0x4,%esi
439c9d:	a8 10                	test   $0x10,%al
439c9f:	74 03                	je     0x439ca4
439ca1:	83 ce 02             	or     $0x2,%esi
439ca4:	a8 20                	test   $0x20,%al
439ca6:	74 03                	je     0x439cab
439ca8:	83 ce 01             	or     $0x1,%esi
439cab:	a8 02                	test   $0x2,%al
439cad:	74 06                	je     0x439cb5
439caf:	81 ce 00 00 08 00    	or     $0x80000,%esi
439cb5:	0f b7 d0             	movzwl %ax,%edx
439cb8:	8b ca                	mov    %edx,%ecx
439cba:	23 cb                	and    %ebx,%ecx
439cbc:	74 2a                	je     0x439ce8
439cbe:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
439cc4:	74 1c                	je     0x439ce2
439cc6:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
439ccc:	74 0c                	je     0x439cda
439cce:	3b cb                	cmp    %ebx,%ecx
439cd0:	75 16                	jne    0x439ce8
439cd2:	81 ce 00 03 00 00    	or     $0x300,%esi
439cd8:	eb 0e                	jmp    0x439ce8
439cda:	81 ce 00 02 00 00    	or     $0x200,%esi
439ce0:	eb 06                	jmp    0x439ce8
439ce2:	81 ce 00 01 00 00    	or     $0x100,%esi
439ce8:	81 e2 00 03 00 00    	and    $0x300,%edx
439cee:	74 10                	je     0x439d00
439cf0:	81 fa 00 02 00 00    	cmp    $0x200,%edx
439cf6:	75 0e                	jne    0x439d06
439cf8:	81 ce 00 00 01 00    	or     $0x10000,%esi
439cfe:	eb 06                	jmp    0x439d06
439d00:	81 ce 00 00 02 00    	or     $0x20000,%esi
439d06:	ba 00 10 00 00       	mov    $0x1000,%edx
439d0b:	66 85 c2             	test   %ax,%dx
439d0e:	74 06                	je     0x439d16
439d10:	81 ce 00 00 04 00    	or     $0x40000,%esi
439d16:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
439d1d:	0f 8c 89 01 00 00    	jl     0x439eac
439d23:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
439d29:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
439d2d:	8b 45 f0             	mov    -0x10(%ebp),%eax
439d30:	33 c9                	xor    %ecx,%ecx
439d32:	84 c0                	test   %al,%al
439d34:	79 03                	jns    0x439d39
439d36:	6a 10                	push   $0x10
439d38:	59                   	pop    %ecx
439d39:	a9 00 02 00 00       	test   $0x200,%eax
439d3e:	74 03                	je     0x439d43
439d40:	83 c9 08             	or     $0x8,%ecx
439d43:	a9 00 04 00 00       	test   $0x400,%eax
439d48:	74 03                	je     0x439d4d
439d4a:	83 c9 04             	or     $0x4,%ecx
439d4d:	a9 00 08 00 00       	test   $0x800,%eax
439d52:	74 03                	je     0x439d57
439d54:	83 c9 02             	or     $0x2,%ecx
439d57:	85 c2                	test   %eax,%edx
439d59:	74 03                	je     0x439d5e
439d5b:	83 c9 01             	or     $0x1,%ecx
439d5e:	a9 00 01 00 00       	test   $0x100,%eax
439d63:	74 06                	je     0x439d6b
439d65:	81 c9 00 00 08 00    	or     $0x80000,%ecx
439d6b:	8b d0                	mov    %eax,%edx
439d6d:	bb 00 60 00 00       	mov    $0x6000,%ebx
439d72:	23 d3                	and    %ebx,%edx
439d74:	74 2a                	je     0x439da0
439d76:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
439d7c:	74 1c                	je     0x439d9a
439d7e:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
439d84:	74 0c                	je     0x439d92
439d86:	3b d3                	cmp    %ebx,%edx
439d88:	75 16                	jne    0x439da0
439d8a:	81 c9 00 03 00 00    	or     $0x300,%ecx
439d90:	eb 0e                	jmp    0x439da0
439d92:	81 c9 00 02 00 00    	or     $0x200,%ecx
439d98:	eb 06                	jmp    0x439da0
439d9a:	81 c9 00 01 00 00    	or     $0x100,%ecx
439da0:	6a 40                	push   $0x40
439da2:	25 40 80 00 00       	and    $0x8040,%eax
439da7:	5b                   	pop    %ebx
439da8:	2b c3                	sub    %ebx,%eax
439daa:	74 1b                	je     0x439dc7
439dac:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
439db1:	74 0c                	je     0x439dbf
439db3:	2b c3                	sub    %ebx,%eax
439db5:	75 16                	jne    0x439dcd
439db7:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
439dbd:	eb 0e                	jmp    0x439dcd
439dbf:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
439dc5:	eb 06                	jmp    0x439dcd
439dc7:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
439dcd:	8b c7                	mov    %edi,%eax
439dcf:	23 7d 08             	and    0x8(%ebp),%edi
439dd2:	f7 d0                	not    %eax
439dd4:	23 c1                	and    %ecx,%eax
439dd6:	0b c7                	or     %edi,%eax
439dd8:	3b c1                	cmp    %ecx,%eax
439dda:	0f 84 b5 00 00 00    	je     0x439e95
439de0:	50                   	push   %eax
439de1:	e8 44 fc ff ff       	call   0x439a2a
439de6:	50                   	push   %eax
439de7:	89 45 f4             	mov    %eax,-0xc(%ebp)
439dea:	e8 64 27 00 00       	call   0x43c553
439def:	59                   	pop    %ecx
439df0:	59                   	pop    %ecx
439df1:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
439df5:	8b 45 f4             	mov    -0xc(%ebp),%eax
439df8:	33 c9                	xor    %ecx,%ecx
439dfa:	84 c0                	test   %al,%al
439dfc:	79 03                	jns    0x439e01
439dfe:	6a 10                	push   $0x10
439e00:	59                   	pop    %ecx
439e01:	a9 00 02 00 00       	test   $0x200,%eax
439e06:	74 03                	je     0x439e0b
439e08:	83 c9 08             	or     $0x8,%ecx
439e0b:	a9 00 04 00 00       	test   $0x400,%eax
439e10:	74 03                	je     0x439e15
439e12:	83 c9 04             	or     $0x4,%ecx
439e15:	a9 00 08 00 00       	test   $0x800,%eax
439e1a:	74 03                	je     0x439e1f
439e1c:	83 c9 02             	or     $0x2,%ecx
439e1f:	a9 00 10 00 00       	test   $0x1000,%eax
439e24:	74 03                	je     0x439e29
439e26:	83 c9 01             	or     $0x1,%ecx
439e29:	a9 00 01 00 00       	test   $0x100,%eax
439e2e:	74 06                	je     0x439e36
439e30:	81 c9 00 00 08 00    	or     $0x80000,%ecx
439e36:	8b d0                	mov    %eax,%edx
439e38:	bf 00 60 00 00       	mov    $0x6000,%edi
439e3d:	23 d7                	and    %edi,%edx
439e3f:	74 2a                	je     0x439e6b
439e41:	81 fa 00 20 00 00    	cmp    $0x2000,%edx