436b36:	a8 20                	test   $0x20,%al
436b38:	74 02                	je     0x436b3c
436b3a:	0b d6                	or     %esi,%edx
436b3c:	a8 02                	test   $0x2,%al
436b3e:	74 02                	je     0x436b42
436b40:	0b d7                	or     %edi,%edx
436b42:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
436b46:	8b 45 f8             	mov    -0x8(%ebp),%eax
436b49:	83 e0 c0             	and    $0xffffffc0,%eax
436b4c:	89 45 f4             	mov    %eax,-0xc(%ebp)
436b4f:	0f ae 55 f4          	ldmxcsr -0xc(%ebp)
436b53:	8b 45 f8             	mov    -0x8(%ebp),%eax
436b56:	a8 3f                	test   $0x3f,%al
436b58:	74 28                	je     0x436b82
436b5a:	8b c8                	mov    %eax,%ecx
436b5c:	23 ce                	and    %esi,%ecx
436b5e:	c1 e1 04             	shl    $0x4,%ecx
436b61:	a8 04                	test   $0x4,%al
436b63:	74 03                	je     0x436b68
436b65:	83 c9 08             	or     $0x8,%ecx
436b68:	a8 08                	test   $0x8,%al
436b6a:	74 03                	je     0x436b6f
436b6c:	83 c9 04             	or     $0x4,%ecx
436b6f:	a8 10                	test   $0x10,%al
436b71:	74 03                	je     0x436b76
436b73:	83 c9 02             	or     $0x2,%ecx
436b76:	a8 20                	test   $0x20,%al
436b78:	74 02                	je     0x436b7c
436b7a:	0b ce                	or     %esi,%ecx
436b7c:	a8 02                	test   $0x2,%al
436b7e:	74 02                	je     0x436b82
436b80:	0b cf                	or     %edi,%ecx
436b82:	0b ca                	or     %edx,%ecx
436b84:	8b c1                	mov    %ecx,%eax
436b86:	5f                   	pop    %edi
436b87:	eb 3c                	jmp    0x436bc5
436b89:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
436b8d:	33 c0                	xor    %eax,%eax
436b8f:	f6 c1 3f             	test   $0x3f,%cl
436b92:	74 31                	je     0x436bc5
436b94:	0f b7 c1             	movzwl %cx,%eax
436b97:	23 c6                	and    %esi,%eax
436b99:	c1 e0 04             	shl    $0x4,%eax
436b9c:	f6 c1 04             	test   $0x4,%cl
436b9f:	74 03                	je     0x436ba4
436ba1:	83 c8 08             	or     $0x8,%eax
436ba4:	f6 c1 08             	test   $0x8,%cl
436ba7:	74 03                	je     0x436bac
436ba9:	83 c8 04             	or     $0x4,%eax
436bac:	f6 c1 10             	test   $0x10,%cl
436baf:	74 03                	je     0x436bb4
436bb1:	83 c8 02             	or     $0x2,%eax
436bb4:	f6 c1 20             	test   $0x20,%cl
436bb7:	74 02                	je     0x436bbb
436bb9:	0b c6                	or     %esi,%eax
436bbb:	f6 c1 02             	test   $0x2,%cl
436bbe:	74 05                	je     0x436bc5
436bc0:	0d 00 00 08 00       	or     $0x80000,%eax
436bc5:	5e                   	pop    %esi
436bc6:	c9                   	leave
436bc7:	c3                   	ret
436bc8:	8b ff                	mov    %edi,%edi
436bca:	55                   	push   %ebp
436bcb:	8b ec                	mov    %esp,%ebp
436bcd:	83 ec 10             	sub    $0x10,%esp
436bd0:	9b d9 7d f8          	fstcw  -0x8(%ebp)
436bd4:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
436bd8:	0f b7 c8             	movzwl %ax,%ecx
436bdb:	83 e1 01             	and    $0x1,%ecx
436bde:	c1 e1 04             	shl    $0x4,%ecx
436be1:	a8 04                	test   $0x4,%al
436be3:	74 03                	je     0x436be8
436be5:	83 c9 08             	or     $0x8,%ecx
436be8:	a8 08                	test   $0x8,%al
436bea:	74 03                	je     0x436bef
436bec:	83 c9 04             	or     $0x4,%ecx
436bef:	a8 10                	test   $0x10,%al
436bf1:	74 03                	je     0x436bf6
436bf3:	83 c9 02             	or     $0x2,%ecx
436bf6:	a8 20                	test   $0x20,%al
436bf8:	74 03                	je     0x436bfd
436bfa:	83 c9 01             	or     $0x1,%ecx
436bfd:	a8 02                	test   $0x2,%al
436bff:	74 06                	je     0x436c07
436c01:	81 c9 00 00 08 00    	or     $0x80000,%ecx
436c07:	53                   	push   %ebx
436c08:	56                   	push   %esi
436c09:	0f b7 f0             	movzwl %ax,%esi
436c0c:	bb 00 0c 00 00       	mov    $0xc00,%ebx
436c11:	8b d6                	mov    %esi,%edx
436c13:	57                   	push   %edi
436c14:	bf 00 02 00 00       	mov    $0x200,%edi
436c19:	23 d3                	and    %ebx,%edx
436c1b:	74 26                	je     0x436c43
436c1d:	81 fa 00 04 00 00    	cmp    $0x400,%edx
436c23:	74 18                	je     0x436c3d
436c25:	81 fa 00 08 00 00    	cmp    $0x800,%edx
436c2b:	74 0c                	je     0x436c39
436c2d:	3b d3                	cmp    %ebx,%edx
436c2f:	75 12                	jne    0x436c43
436c31:	81 c9 00 03 00 00    	or     $0x300,%ecx
436c37:	eb 0a                	jmp    0x436c43
436c39:	0b cf                	or     %edi,%ecx
436c3b:	eb 06                	jmp    0x436c43
436c3d:	81 c9 00 01 00 00    	or     $0x100,%ecx
436c43:	81 e6 00 03 00 00    	and    $0x300,%esi
436c49:	74 0c                	je     0x436c57
436c4b:	3b f7                	cmp    %edi,%esi
436c4d:	75 0e                	jne    0x436c5d
436c4f:	81 c9 00 00 01 00    	or     $0x10000,%ecx
436c55:	eb 06                	jmp    0x436c5d
436c57:	81 c9 00 00 02 00    	or     $0x20000,%ecx
436c5d:	0f b7 c0             	movzwl %ax,%eax
436c60:	ba 00 10 00 00       	mov    $0x1000,%edx
436c65:	85 c2                	test   %eax,%edx
436c67:	74 06                	je     0x436c6f
436c69:	81 c9 00 00 04 00    	or     $0x40000,%ecx
436c6f:	8b 7d 0c             	mov    0xc(%ebp),%edi
436c72:	8b f7                	mov    %edi,%esi
436c74:	8b 45 08             	mov    0x8(%ebp),%eax
436c77:	f7 d6                	not    %esi
436c79:	23 f1                	and    %ecx,%esi
436c7b:	23 c7                	and    %edi,%eax
436c7d:	0b f0                	or     %eax,%esi
436c7f:	3b f1                	cmp    %ecx,%esi
436c81:	0f 84 a8 00 00 00    	je     0x436d2f
436c87:	56                   	push   %esi
436c88:	e8 3c 02 00 00       	call   0x436ec9
436c8d:	59                   	pop    %ecx
436c8e:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
436c92:	d9 6d fc             	fldcw  -0x4(%ebp)
436c95:	9b d9 7d fc          	fstcw  -0x4(%ebp)
436c99:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
436c9d:	0f b7 f0             	movzwl %ax,%esi
436ca0:	83 e6 01             	and    $0x1,%esi
436ca3:	c1 e6 04             	shl    $0x4,%esi
436ca6:	a8 04                	test   $0x4,%al
436ca8:	74 03                	je     0x436cad
436caa:	83 ce 08             	or     $0x8,%esi
436cad:	a8 08                	test   $0x8,%al
436caf:	74 03                	je     0x436cb4
436cb1:	83 ce 04             	or     $0x4,%esi
436cb4:	a8 10                	test   $0x10,%al
436cb6:	74 03                	je     0x436cbb
436cb8:	83 ce 02             	or     $0x2,%esi
436cbb:	a8 20                	test   $0x20,%al
436cbd:	74 03                	je     0x436cc2
436cbf:	83 ce 01             	or     $0x1,%esi
436cc2:	a8 02                	test   $0x2,%al
436cc4:	74 06                	je     0x436ccc
436cc6:	81 ce 00 00 08 00    	or     $0x80000,%esi
436ccc:	0f b7 d0             	movzwl %ax,%edx
436ccf:	8b ca                	mov    %edx,%ecx
436cd1:	23 cb                	and    %ebx,%ecx
436cd3:	74 2a                	je     0x436cff
436cd5:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
436cdb:	74 1c                	je     0x436cf9
436cdd:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
436ce3:	74 0c                	je     0x436cf1
436ce5:	3b cb                	cmp    %ebx,%ecx
436ce7:	75 16                	jne    0x436cff
436ce9:	81 ce 00 03 00 00    	or     $0x300,%esi
436cef:	eb 0e                	jmp    0x436cff
436cf1:	81 ce 00 02 00 00    	or     $0x200,%esi
436cf7:	eb 06                	jmp    0x436cff
436cf9:	81 ce 00 01 00 00    	or     $0x100,%esi
436cff:	81 e2 00 03 00 00    	and    $0x300,%edx
436d05:	74 10                	je     0x436d17
436d07:	81 fa 00 02 00 00    	cmp    $0x200,%edx
436d0d:	75 0e                	jne    0x436d1d
436d0f:	81 ce 00 00 01 00    	or     $0x10000,%esi
436d15:	eb 06                	jmp    0x436d1d
436d17:	81 ce 00 00 02 00    	or     $0x20000,%esi
436d1d:	0f b7 c0             	movzwl %ax,%eax
436d20:	ba 00 10 00 00       	mov    $0x1000,%edx
436d25:	85 c2                	test   %eax,%edx
436d27:	74 06                	je     0x436d2f
436d29:	81 ce 00 00 04 00    	or     $0x40000,%esi
436d2f:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
436d36:	0f 8c 86 01 00 00    	jl     0x436ec2
436d3c:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
436d42:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
436d46:	8b 4d f0             	mov    -0x10(%ebp),%ecx
436d49:	8b c1                	mov    %ecx,%eax
436d4b:	c1 e8 03             	shr    $0x3,%eax
436d4e:	83 e0 10             	and    $0x10,%eax
436d51:	f7 c1 00 02 00 00    	test   $0x200,%ecx
436d57:	74 03                	je     0x436d5c
436d59:	83 c8 08             	or     $0x8,%eax
436d5c:	f7 c1 00 04 00 00    	test   $0x400,%ecx
436d62:	74 03                	je     0x436d67
436d64:	83 c8 04             	or     $0x4,%eax
436d67:	f7 c1 00 08 00 00    	test   $0x800,%ecx
436d6d:	74 03                	je     0x436d72
436d6f:	83 c8 02             	or     $0x2,%eax
436d72:	85 ca                	test   %ecx,%edx
436d74:	74 03                	je     0x436d79
436d76:	83 c8 01             	or     $0x1,%eax
436d79:	f7 c1 00 01 00 00    	test   $0x100,%ecx
436d7f:	74 05                	je     0x436d86
436d81:	0d 00 00 08 00       	or     $0x80000,%eax
436d86:	8b d1                	mov    %ecx,%edx
436d88:	bb 00 60 00 00       	mov    $0x6000,%ebx
436d8d:	23 d3                	and    %ebx,%edx
436d8f:	74 27                	je     0x436db8
436d91:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
436d97:	74 1a                	je     0x436db3
436d99:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
436d9f:	74 0b                	je     0x436dac
436da1:	3b d3                	cmp    %ebx,%edx
436da3:	75 13                	jne    0x436db8
436da5:	0d 00 03 00 00       	or     $0x300,%eax
436daa:	eb 0c                	jmp    0x436db8
436dac:	0d 00 02 00 00       	or     $0x200,%eax
436db1:	eb 05                	jmp    0x436db8
436db3:	0d 00 01 00 00       	or     $0x100,%eax
436db8:	6a 40                	push   $0x40
436dba:	81 e1 40 80 00 00    	and    $0x8040,%ecx
436dc0:	5b                   	pop    %ebx
436dc1:	2b cb                	sub    %ebx,%ecx
436dc3:	74 1a                	je     0x436ddf
436dc5:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
436dcb:	74 0b                	je     0x436dd8
436dcd:	2b cb                	sub    %ebx,%ecx
436dcf:	75 13                	jne    0x436de4
436dd1:	0d 00 00 00 01       	or     $0x1000000,%eax
436dd6:	eb 0c                	jmp    0x436de4
436dd8:	0d 00 00 00 03       	or     $0x3000000,%eax
436ddd:	eb 05                	jmp    0x436de4
436ddf:	0d 00 00 00 02       	or     $0x2000000,%eax
436de4:	8b cf                	mov    %edi,%ecx
436de6:	23 7d 08             	and    0x8(%ebp),%edi
436de9:	f7 d1                	not    %ecx
436deb:	23 c8                	and    %eax,%ecx
436ded:	0b cf                	or     %edi,%ecx
436def:	3b c8                	cmp    %eax,%ecx
436df1:	0f 84 b4 00 00 00    	je     0x436eab
436df7:	51                   	push   %ecx
436df8:	e8 46 fc ff ff       	call   0x436a43
436dfd:	50                   	push   %eax
436dfe:	89 45 f4             	mov    %eax,-0xc(%ebp)
436e01:	e8 39 8e ff ff       	call   0x42fc3f
436e06:	59                   	pop    %ecx
436e07:	59                   	pop    %ecx
436e08:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
436e0c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
436e0f:	8b c1                	mov    %ecx,%eax
436e11:	c1 e8 03             	shr    $0x3,%eax
436e14:	83 e0 10             	and    $0x10,%eax
436e17:	f7 c1 00 02 00 00    	test   $0x200,%ecx
436e1d:	74 03                	je     0x436e22
436e1f:	83 c8 08             	or     $0x8,%eax
436e22:	f7 c1 00 04 00 00    	test   $0x400,%ecx
436e28:	74 03                	je     0x436e2d
436e2a:	83 c8 04             	or     $0x4,%eax
436e2d:	f7 c1 00 08 00 00    	test   $0x800,%ecx
436e33:	74 03                	je     0x436e38
436e35:	83 c8 02             	or     $0x2,%eax
436e38:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
436e3e:	74 03                	je     0x436e43
436e40:	83 c8 01             	or     $0x1,%eax
436e43:	f7 c1 00 01 00 00    	test   $0x100,%ecx
436e49:	74 05                	je     0x436e50
436e4b:	0d 00 00 08 00       	or     $0x80000,%eax
436e50:	8b d1                	mov    %ecx,%edx
436e52:	bf 00 60 00 00       	mov    $0x6000,%edi
436e57:	23 d7                	and    %edi,%edx
436e59:	74 27                	je     0x436e82
436e5b:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
436e61:	74 1a                	je     0x436e7d
436e63:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
436e69:	74 0b                	je     0x436e76
436e6b:	3b d7                	cmp    %edi,%edx
436e6d:	75 13                	jne    0x436e82
436e6f:	0d 00 03 00 00       	or     $0x300,%eax
436e74:	eb 0c                	jmp    0x436e82
436e76:	0d 00 02 00 00       	or     $0x200,%eax
436e7b:	eb 05                	jmp    0x436e82
436e7d:	0d 00 01 00 00       	or     $0x100,%eax
436e82:	81 e1 40 80 00 00    	and    $0x8040,%ecx
436e88:	2b cb                	sub    %ebx,%ecx
436e8a:	74 1a                	je     0x436ea6
436e8c:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
436e92:	74 0b                	je     0x436e9f
436e94:	2b cb                	sub    %ebx,%ecx
436e96:	75 13                	jne    0x436eab
436e98:	0d 00 00 00 01       	or     $0x1000000,%eax
436e9d:	eb 0c                	jmp    0x436eab
436e9f:	0d 00 00 00 03       	or     $0x3000000,%eax
436ea4:	eb 05                	jmp    0x436eab
436ea6:	0d 00 00 00 02       	or     $0x2000000,%eax
436eab:	8b c8                	mov    %eax,%ecx
436ead:	33 c6                	xor    %esi,%eax
436eaf:	0b ce                	or     %esi,%ecx
436eb1:	a9 1f 03 08 00       	test   $0x8031f,%eax
436eb6:	74 06                	je     0x436ebe
436eb8:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
436ebe:	8b c1                	mov    %ecx,%eax
436ec0:	eb 02                	jmp    0x436ec4
436ec2:	8b c6                	mov    %esi,%eax
436ec4:	5f                   	pop    %edi
436ec5:	5e                   	pop    %esi
436ec6:	5b                   	pop    %ebx
436ec7:	c9                   	leave
436ec8:	c3                   	ret
436ec9:	8b ff                	mov    %edi,%edi
436ecb:	55                   	push   %ebp
436ecc:	8b ec                	mov    %esp,%ebp
436ece:	8b 4d 08             	mov    0x8(%ebp),%ecx
436ed1:	8b d1                	mov    %ecx,%edx
436ed3:	c1 ea 04             	shr    $0x4,%edx
436ed6:	83 e2 01             	and    $0x1,%edx
436ed9:	8b c2                	mov    %edx,%eax
436edb:	f6 c1 08             	test   $0x8,%cl
436ede:	74 06                	je     0x436ee6
436ee0:	83 ca 04             	or     $0x4,%edx
436ee3:	0f b7 c2             	movzwl %dx,%eax
436ee6:	f6 c1 04             	test   $0x4,%cl
436ee9:	74 03                	je     0x436eee
436eeb:	83 c8 08             	or     $0x8,%eax
436eee:	f6 c1 02             	test   $0x2,%cl
436ef1:	74 03                	je     0x436ef6
436ef3:	83 c8 10             	or     $0x10,%eax
436ef6:	f6 c1 01             	test   $0x1,%cl
436ef9:	74 03                	je     0x436efe
436efb:	83 c8 20             	or     $0x20,%eax
436efe:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
436f04:	74 03                	je     0x436f09
436f06:	83 c8 02             	or     $0x2,%eax
436f09:	56                   	push   %esi
436f0a:	8b d1                	mov    %ecx,%edx
436f0c:	be 00 03 00 00       	mov    $0x300,%esi
436f11:	57                   	push   %edi
436f12:	bf 00 02 00 00       	mov    $0x200,%edi
436f17:	23 d6                	and    %esi,%edx
436f19:	74 23                	je     0x436f3e
436f1b:	81 fa 00 01 00 00    	cmp    $0x100,%edx
436f21:	74 16                	je     0x436f39
436f23:	3b d7                	cmp    %edi,%edx
436f25:	74 0b                	je     0x436f32
436f27:	3b d6                	cmp    %esi,%edx
436f29:	75 13                	jne    0x436f3e
436f2b:	0d 00 0c 00 00       	or     $0xc00,%eax
436f30:	eb 0c                	jmp    0x436f3e
436f32:	0d 00 08 00 00       	or     $0x800,%eax
436f37:	eb 05                	jmp    0x436f3e
436f39:	0d 00 04 00 00       	or     $0x400,%eax
436f3e:	8b d1                	mov    %ecx,%edx
436f40:	81 e2 00 00 03 00    	and    $0x30000,%edx
436f46:	74 0c                	je     0x436f54