5e9aee:	59                   	pop    %ecx
5e9aef:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e9af2:	5f                   	pop    %edi
5e9af3:	33 cd                	xor    %ebp,%ecx
5e9af5:	5e                   	pop    %esi
5e9af6:	e8 2b 7f fe ff       	call   0x5d1a26
5e9afb:	8b e5                	mov    %ebp,%esp
5e9afd:	5d                   	pop    %ebp
5e9afe:	8b e3                	mov    %ebx,%esp
5e9b00:	5b                   	pop    %ebx
5e9b01:	c3                   	ret
5e9b02:	8b ff                	mov    %edi,%edi
5e9b04:	55                   	push   %ebp
5e9b05:	8b ec                	mov    %esp,%ebp
5e9b07:	83 ec 20             	sub    $0x20,%esp
5e9b0a:	33 c9                	xor    %ecx,%ecx
5e9b0c:	41                   	inc    %ecx
5e9b0d:	53                   	push   %ebx
5e9b0e:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e9b11:	56                   	push   %esi
5e9b12:	8b f3                	mov    %ebx,%esi
5e9b14:	83 e6 1f             	and    $0x1f,%esi
5e9b17:	f6 c3 08             	test   $0x8,%bl
5e9b1a:	74 14                	je     0x5e9b30
5e9b1c:	84 4d 10             	test   %cl,0x10(%ebp)
5e9b1f:	74 0f                	je     0x5e9b30
5e9b21:	51                   	push   %ecx
5e9b22:	e8 5d 45 00 00       	call   0x5ee084
5e9b27:	59                   	pop    %ecx
5e9b28:	83 e6 f7             	and    $0xfffffff7,%esi
5e9b2b:	e9 31 02 00 00       	jmp    0x5e9d61
5e9b30:	8b c3                	mov    %ebx,%eax
5e9b32:	23 45 10             	and    0x10(%ebp),%eax
5e9b35:	a8 04                	test   $0x4,%al
5e9b37:	74 10                	je     0x5e9b49
5e9b39:	6a 04                	push   $0x4
5e9b3b:	e8 44 45 00 00       	call   0x5ee084
5e9b40:	59                   	pop    %ecx
5e9b41:	83 e6 fb             	and    $0xfffffffb,%esi
5e9b44:	e9 18 02 00 00       	jmp    0x5e9d61
5e9b49:	84 d9                	test   %bl,%cl
5e9b4b:	0f 84 9a 00 00 00    	je     0x5e9beb
5e9b51:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
5e9b55:	0f 84 90 00 00 00    	je     0x5e9beb
5e9b5b:	6a 08                	push   $0x8
5e9b5d:	e8 22 45 00 00       	call   0x5ee084
5e9b62:	8b 45 10             	mov    0x10(%ebp),%eax
5e9b65:	59                   	pop    %ecx
5e9b66:	b9 00 0c 00 00       	mov    $0xc00,%ecx
5e9b6b:	23 c1                	and    %ecx,%eax
5e9b6d:	74 54                	je     0x5e9bc3
5e9b6f:	3d 00 04 00 00       	cmp    $0x400,%eax
5e9b74:	74 37                	je     0x5e9bad
5e9b76:	3d 00 08 00 00       	cmp    $0x800,%eax
5e9b7b:	74 1a                	je     0x5e9b97
5e9b7d:	3b c1                	cmp    %ecx,%eax
5e9b7f:	75 62                	jne    0x5e9be3
5e9b81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e9b84:	d9 ee                	fldz
5e9b86:	dc 19                	fcompl (%ecx)
5e9b88:	df e0                	fnstsw %ax
5e9b8a:	dd 05 60 52 67 00    	fldl   0x675260
5e9b90:	f6 c4 05             	test   $0x5,%ah
5e9b93:	7b 4c                	jnp    0x5e9be1
5e9b95:	eb 48                	jmp    0x5e9bdf
5e9b97:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e9b9a:	d9 ee                	fldz
5e9b9c:	dc 19                	fcompl (%ecx)
5e9b9e:	df e0                	fnstsw %ax
5e9ba0:	f6 c4 05             	test   $0x5,%ah
5e9ba3:	7b 2c                	jnp    0x5e9bd1
5e9ba5:	dd 05 60 52 67 00    	fldl   0x675260
5e9bab:	eb 32                	jmp    0x5e9bdf
5e9bad:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e9bb0:	d9 ee                	fldz
5e9bb2:	dc 19                	fcompl (%ecx)
5e9bb4:	df e0                	fnstsw %ax
5e9bb6:	f6 c4 05             	test   $0x5,%ah
5e9bb9:	7a 1e                	jp     0x5e9bd9
5e9bbb:	dd 05 60 52 67 00    	fldl   0x675260
5e9bc1:	eb 1e                	jmp    0x5e9be1
5e9bc3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e9bc6:	d9 ee                	fldz
5e9bc8:	dc 19                	fcompl (%ecx)
5e9bca:	df e0                	fnstsw %ax
5e9bcc:	f6 c4 05             	test   $0x5,%ah
5e9bcf:	7a 08                	jp     0x5e9bd9
5e9bd1:	dd 05 58 52 67 00    	fldl   0x675258
5e9bd7:	eb 08                	jmp    0x5e9be1
5e9bd9:	dd 05 58 52 67 00    	fldl   0x675258
5e9bdf:	d9 e0                	fchs
5e9be1:	dd 19                	fstpl  (%ecx)
5e9be3:	83 e6 fe             	and    $0xfffffffe,%esi
5e9be6:	e9 76 01 00 00       	jmp    0x5e9d61
5e9beb:	f6 c3 02             	test   $0x2,%bl
5e9bee:	0f 84 6d 01 00 00    	je     0x5e9d61
5e9bf4:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
5e9bf8:	0f 84 63 01 00 00    	je     0x5e9d61
5e9bfe:	8b 45 0c             	mov    0xc(%ebp),%eax
5e9c01:	57                   	push   %edi
5e9c02:	8b fb                	mov    %ebx,%edi
5e9c04:	c1 ef 04             	shr    $0x4,%edi
5e9c07:	dd 00                	fldl   (%eax)
5e9c09:	23 f9                	and    %ecx,%edi
5e9c0b:	d9 ee                	fldz
5e9c0d:	dd e9                	fucomp %st(1)
5e9c0f:	89 7d f8             	mov    %edi,-0x8(%ebp)
5e9c12:	df e0                	fnstsw %ax
5e9c14:	f6 c4 44             	test   $0x44,%ah
5e9c17:	0f 8b 36 01 00 00    	jnp    0x5e9d53
5e9c1d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5e9c20:	50                   	push   %eax
5e9c21:	51                   	push   %ecx
5e9c22:	51                   	push   %ecx
5e9c23:	dd 1c 24             	fstpl  (%esp)
5e9c26:	e8 3c 42 00 00       	call   0x5ede67
5e9c2b:	8b 55 ec             	mov    -0x14(%ebp),%edx
5e9c2e:	83 c4 0c             	add    $0xc,%esp
5e9c31:	81 c2 00 fa ff ff    	add    $0xfffffa00,%edx
5e9c37:	dd 55 e0             	fstl   -0x20(%ebp)
5e9c3a:	d9 ee                	fldz
5e9c3c:	81 fa ce fb ff ff    	cmp    $0xfffffbce,%edx
5e9c42:	7d 0a                	jge    0x5e9c4e
5e9c44:	33 c0                	xor    %eax,%eax
5e9c46:	de c9                	fmulp  %st,%st(1)
5e9c48:	40                   	inc    %eax
5e9c49:	e9 fa 00 00 00       	jmp    0x5e9d48
5e9c4e:	de d9                	fcompp
5e9c50:	df e0                	fnstsw %ax
5e9c52:	f6 c4 41             	test   $0x41,%ah
5e9c55:	75 0d                	jne    0x5e9c64
5e9c57:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
5e9c5e:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
5e9c62:	eb 09                	jmp    0x5e9c6d
5e9c64:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
5e9c68:	32 c0                	xor    %al,%al
5e9c6a:	88 45 ff             	mov    %al,-0x1(%ebp)
5e9c6d:	8b 45 e6             	mov    -0x1a(%ebp),%eax
5e9c70:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
5e9c75:	83 e0 0f             	and    $0xf,%eax
5e9c78:	83 c8 10             	or     $0x10,%eax
5e9c7b:	66 89 45 e6          	mov    %ax,-0x1a(%ebp)
5e9c7f:	32 e4                	xor    %ah,%ah
5e9c81:	32 c0                	xor    %al,%al
5e9c83:	88 65 fd             	mov    %ah,-0x3(%ebp)
5e9c86:	88 45 fe             	mov    %al,-0x2(%ebp)
5e9c89:	3b d1                	cmp    %ecx,%edx
5e9c8b:	7d 49                	jge    0x5e9cd6
5e9c8d:	89 7d f8             	mov    %edi,-0x8(%ebp)
5e9c90:	2b ca                	sub    %edx,%ecx
5e9c92:	8b 7d e0             	mov    -0x20(%ebp),%edi
5e9c95:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5e9c98:	8b d7                	mov    %edi,%edx
5e9c9a:	83 e2 01             	and    $0x1,%edx
5e9c9d:	74 05                	je     0x5e9ca4
5e9c9f:	85 db                	test   %ebx,%ebx
5e9ca1:	75 01                	jne    0x5e9ca4
5e9ca3:	43                   	inc    %ebx
5e9ca4:	84 c0                	test   %al,%al
5e9ca6:	74 02                	je     0x5e9caa
5e9ca8:	b4 01                	mov    $0x1,%ah
5e9caa:	d1 ef                	shr    $1,%edi
5e9cac:	8a c2                	mov    %dl,%al
5e9cae:	f6 45 e4 01          	testb  $0x1,-0x1c(%ebp)
5e9cb2:	89 7d e0             	mov    %edi,-0x20(%ebp)
5e9cb5:	74 09                	je     0x5e9cc0
5e9cb7:	81 cf 00 00 00 80    	or     $0x80000000,%edi
5e9cbd:	89 7d e0             	mov    %edi,-0x20(%ebp)
5e9cc0:	d1 6d e4             	shrl   $1,-0x1c(%ebp)
5e9cc3:	83 e9 01             	sub    $0x1,%ecx
5e9cc6:	75 d0                	jne    0x5e9c98
5e9cc8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5e9ccb:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e9cce:	88 65 fd             	mov    %ah,-0x3(%ebp)
5e9cd1:	88 45 fe             	mov    %al,-0x2(%ebp)
5e9cd4:	eb 03                	jmp    0x5e9cd9
5e9cd6:	8b 7d e0             	mov    -0x20(%ebp),%edi
5e9cd9:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
5e9cdd:	dd 45 e0             	fldl   -0x20(%ebp)
5e9ce0:	74 0d                	je     0x5e9cef
5e9ce2:	d9 e0                	fchs
5e9ce4:	dd 55 f0             	fstl   -0x10(%ebp)
5e9ce7:	dd 55 e0             	fstl   -0x20(%ebp)
5e9cea:	8b 7d e0             	mov    -0x20(%ebp),%edi
5e9ced:	eb 03                	jmp    0x5e9cf2
5e9cef:	dd 55 f0             	fstl   -0x10(%ebp)
5e9cf2:	84 c0                	test   %al,%al
5e9cf4:	75 04                	jne    0x5e9cfa
5e9cf6:	84 e4                	test   %ah,%ah
5e9cf8:	74 4b                	je     0x5e9d45
5e9cfa:	dd d8                	fstp   %st(0)
5e9cfc:	e8 e6 28 00 00       	call   0x5ec5e7
5e9d01:	85 c0                	test   %eax,%eax
5e9d03:	74 1c                	je     0x5e9d21
5e9d05:	3d 00 01 00 00       	cmp    $0x100,%eax
5e9d0a:	74 0e                	je     0x5e9d1a
5e9d0c:	3d 00 02 00 00       	cmp    $0x200,%eax
5e9d11:	75 2f                	jne    0x5e9d42
5e9d13:	8a 45 ff             	mov    -0x1(%ebp),%al
5e9d16:	34 01                	xor    $0x1,%al
5e9d18:	eb 03                	jmp    0x5e9d1d
5e9d1a:	8a 45 ff             	mov    -0x1(%ebp),%al
5e9d1d:	84 c0                	test   %al,%al
5e9d1f:	eb 10                	jmp    0x5e9d31
5e9d21:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
5e9d25:	74 1b                	je     0x5e9d42
5e9d27:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
5e9d2b:	75 06                	jne    0x5e9d33
5e9d2d:	f6 45 e0 01          	testb  $0x1,-0x20(%ebp)
5e9d31:	74 0f                	je     0x5e9d42
5e9d33:	83 c7 01             	add    $0x1,%edi
5e9d36:	89 7d e0             	mov    %edi,-0x20(%ebp)
5e9d39:	83 55 e4 00          	adcl   $0x0,-0x1c(%ebp)
5e9d3d:	dd 45 e0             	fldl   -0x20(%ebp)
5e9d40:	eb 03                	jmp    0x5e9d45
5e9d42:	dd 45 f0             	fldl   -0x10(%ebp)
5e9d45:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e9d48:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e9d4b:	dd 19                	fstpl  (%ecx)
5e9d4d:	85 c0                	test   %eax,%eax
5e9d4f:	74 0c                	je     0x5e9d5d
5e9d51:	eb 02                	jmp    0x5e9d55
5e9d53:	dd d8                	fstp   %st(0)
5e9d55:	6a 10                	push   $0x10
5e9d57:	e8 28 43 00 00       	call   0x5ee084
5e9d5c:	59                   	pop    %ecx
5e9d5d:	83 e6 fd             	and    $0xfffffffd,%esi
5e9d60:	5f                   	pop    %edi
5e9d61:	f6 c3 10             	test   $0x10,%bl
5e9d64:	74 11                	je     0x5e9d77
5e9d66:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
5e9d6a:	74 0b                	je     0x5e9d77
5e9d6c:	6a 20                	push   $0x20
5e9d6e:	e8 11 43 00 00       	call   0x5ee084
5e9d73:	59                   	pop    %ecx
5e9d74:	83 e6 ef             	and    $0xffffffef,%esi
5e9d77:	33 c0                	xor    %eax,%eax
5e9d79:	85 f6                	test   %esi,%esi
5e9d7b:	5e                   	pop    %esi
5e9d7c:	0f 94 c0             	sete   %al
5e9d7f:	5b                   	pop    %ebx
5e9d80:	c9                   	leave
5e9d81:	c3                   	ret
5e9d82:	8b ff                	mov    %edi,%edi
5e9d84:	55                   	push   %ebp
5e9d85:	8b ec                	mov    %esp,%ebp
5e9d87:	6a 00                	push   $0x0
5e9d89:	ff 75 1c             	push   0x1c(%ebp)
5e9d8c:	ff 75 18             	push   0x18(%ebp)
5e9d8f:	ff 75 14             	push   0x14(%ebp)
5e9d92:	ff 75 10             	push   0x10(%ebp)
5e9d95:	ff 75 0c             	push   0xc(%ebp)
5e9d98:	ff 75 08             	push   0x8(%ebp)
5e9d9b:	e8 05 00 00 00       	call   0x5e9da5
5e9da0:	83 c4 1c             	add    $0x1c,%esp
5e9da3:	5d                   	pop    %ebp
5e9da4:	c3                   	ret
5e9da5:	8b ff                	mov    %edi,%edi
5e9da7:	55                   	push   %ebp
5e9da8:	8b ec                	mov    %esp,%ebp
5e9daa:	8b 45 08             	mov    0x8(%ebp),%eax
5e9dad:	33 c9                	xor    %ecx,%ecx
5e9daf:	53                   	push   %ebx
5e9db0:	33 db                	xor    %ebx,%ebx
5e9db2:	43                   	inc    %ebx
5e9db3:	89 48 04             	mov    %ecx,0x4(%eax)
5e9db6:	8b 45 08             	mov    0x8(%ebp),%eax
5e9db9:	57                   	push   %edi
5e9dba:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
5e9dbf:	89 48 08             	mov    %ecx,0x8(%eax)
5e9dc2:	8b 45 08             	mov    0x8(%ebp),%eax
5e9dc5:	89 48 0c             	mov    %ecx,0xc(%eax)
5e9dc8:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e9dcb:	f6 c1 10             	test   $0x10,%cl
5e9dce:	74 0b                	je     0x5e9ddb
5e9dd0:	8b 45 08             	mov    0x8(%ebp),%eax
5e9dd3:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
5e9dd8:	09 58 04             	or     %ebx,0x4(%eax)
5e9ddb:	f6 c1 02             	test   $0x2,%cl
5e9dde:	74 0c                	je     0x5e9dec
5e9de0:	8b 45 08             	mov    0x8(%ebp),%eax
5e9de3:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
5e9de8:	83 48 04 02          	orl    $0x2,0x4(%eax)
5e9dec:	f6 c1 01             	test   $0x1,%cl
5e9def:	74 0c                	je     0x5e9dfd
5e9df1:	8b 45 08             	mov    0x8(%ebp),%eax
5e9df4:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
5e9df9:	83 48 04 04          	orl    $0x4,0x4(%eax)
5e9dfd:	f6 c1 04             	test   $0x4,%cl
5e9e00:	74 0c                	je     0x5e9e0e
5e9e02:	8b 45 08             	mov    0x8(%ebp),%eax
5e9e05:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
5e9e0a:	83 48 04 08          	orl    $0x8,0x4(%eax)
5e9e0e:	f6 c1 08             	test   $0x8,%cl
5e9e11:	74 0c                	je     0x5e9e1f
5e9e13:	8b 45 08             	mov    0x8(%ebp),%eax
5e9e16:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
5e9e1b:	83 48 04 10          	orl    $0x10,0x4(%eax)
5e9e1f:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e9e22:	56                   	push   %esi
5e9e23:	8b 75 0c             	mov    0xc(%ebp),%esi
5e9e26:	8b 06                	mov    (%esi),%eax
5e9e28:	c1 e0 04             	shl    $0x4,%eax
5e9e2b:	f7 d0                	not    %eax
5e9e2d:	33 41 08             	xor    0x8(%ecx),%eax
5e9e30:	83 e0 10             	and    $0x10,%eax
5e9e33:	31 41 08             	xor    %eax,0x8(%ecx)
5e9e36:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e9e39:	8b 06                	mov    (%esi),%eax
5e9e3b:	03 c0                	add    %eax,%eax
5e9e3d:	f7 d0                	not    %eax
5e9e3f:	33 41 08             	xor    0x8(%ecx),%eax
5e9e42:	83 e0 08             	and    $0x8,%eax
5e9e45:	31 41 08             	xor    %eax,0x8(%ecx)
5e9e48:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e9e4b:	8b 06                	mov    (%esi),%eax
5e9e4d:	d1 e8                	shr    $1,%eax
5e9e4f:	f7 d0                	not    %eax
5e9e51:	33 41 08             	xor    0x8(%ecx),%eax
5e9e54:	83 e0 04             	and    $0x4,%eax
5e9e57:	31 41 08             	xor    %eax,0x8(%ecx)
5e9e5a:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e9e5d:	8b 06                	mov    (%esi),%eax
5e9e5f:	c1 e8 03             	shr    $0x3,%eax
5e9e62:	f7 d0                	not    %eax
5e9e64:	33 41 08             	xor    0x8(%ecx),%eax
5e9e67:	83 e0 02             	and    $0x2,%eax
5e9e6a:	31 41 08             	xor    %eax,0x8(%ecx)
5e9e6d:	8b 06                	mov    (%esi),%eax
5e9e6f:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e9e72:	c1 e8 05             	shr    $0x5,%eax
5e9e75:	f7 d0                	not    %eax
5e9e77:	33 41 08             	xor    0x8(%ecx),%eax
5e9e7a:	23 c3                	and    %ebx,%eax
5e9e7c:	31 41 08             	xor    %eax,0x8(%ecx)
5e9e7f:	e8 59 42 00 00       	call   0x5ee0dd
5e9e84:	8b d0                	mov    %eax,%edx
5e9e86:	f6 c2 01             	test   $0x1,%dl
5e9e89:	74 07                	je     0x5e9e92
5e9e8b:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e9e8e:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
5e9e92:	f6 c2 04             	test   $0x4,%dl
5e9e95:	74 07                	je     0x5e9e9e
5e9e97:	8b 45 08             	mov    0x8(%ebp),%eax
5e9e9a:	83 48 0c 08          	orl    $0x8,0xc(%eax)
5e9e9e:	f6 c2 08             	test   $0x8,%dl
5e9ea1:	74 07                	je     0x5e9eaa
5e9ea3:	8b 45 08             	mov    0x8(%ebp),%eax
5e9ea6:	83 48 0c 04          	orl    $0x4,0xc(%eax)
5e9eaa:	f6 c2 10             	test   $0x10,%dl