438bf2:	8d 45 e0             	lea    -0x20(%ebp),%eax
438bf5:	dd 5d f0             	fstpl  -0x10(%ebp)
438bf8:	dd 06                	fldl   (%esi)
438bfa:	50                   	push   %eax
438bfb:	dd 5d f8             	fstpl  -0x8(%ebp)
438bfe:	ff 15 5c e2 43 00    	call   *0x43e25c
438c04:	ff d7                	call   *%edi
438c06:	59                   	pop    %ecx
438c07:	85 c0                	test   %eax,%eax
438c09:	75 51                	jne    0x438c5c
438c0b:	e8 20 ae fe ff       	call   0x423a30
438c10:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
438c16:	eb 44                	jmp    0x438c5c
438c18:	c7 45 e0 02 00 00 00 	movl   $0x2,-0x20(%ebp)
438c1f:	c7 45 e4 9c 27 44 00 	movl   $0x44279c,-0x1c(%ebp)
438c26:	8b 45 08             	mov    0x8(%ebp),%eax
438c29:	8b cf                	mov    %edi,%ecx
438c2b:	8b 75 10             	mov    0x10(%ebp),%esi
438c2e:	dd 00                	fldl   (%eax)
438c30:	8b 45 0c             	mov    0xc(%ebp),%eax
438c33:	dd 5d e8             	fstpl  -0x18(%ebp)
438c36:	dd 00                	fldl   (%eax)
438c38:	8d 45 e0             	lea    -0x20(%ebp),%eax
438c3b:	dd 5d f0             	fstpl  -0x10(%ebp)
438c3e:	dd 06                	fldl   (%esi)
438c40:	50                   	push   %eax
438c41:	dd 5d f8             	fstpl  -0x8(%ebp)
438c44:	ff 15 5c e2 43 00    	call   *0x43e25c
438c4a:	ff d7                	call   *%edi
438c4c:	59                   	pop    %ecx
438c4d:	85 c0                	test   %eax,%eax
438c4f:	75 0b                	jne    0x438c5c
438c51:	e8 da ad fe ff       	call   0x423a30
438c56:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
438c5c:	dd 45 f8             	fldl   -0x8(%ebp)
438c5f:	dd 1e                	fstpl  (%esi)
438c61:	5f                   	pop    %edi
438c62:	5e                   	pop    %esi
438c63:	c9                   	leave
438c64:	c3                   	ret
438c65:	8b ff                	mov    %edi,%edi
438c67:	53                   	push   %ebx
438c68:	8b dc                	mov    %esp,%ebx
438c6a:	51                   	push   %ecx
438c6b:	51                   	push   %ecx
438c6c:	83 e4 f0             	and    $0xfffffff0,%esp
438c6f:	83 c4 04             	add    $0x4,%esp
438c72:	55                   	push   %ebp
438c73:	8b 6b 04             	mov    0x4(%ebx),%ebp
438c76:	89 6c 24 04          	mov    %ebp,0x4(%esp)
438c7a:	8b ec                	mov    %esp,%ebp
438c7c:	81 ec 88 00 00 00    	sub    $0x88,%esp
438c82:	a1 14 50 45 00       	mov    0x455014,%eax
438c87:	33 c5                	xor    %ebp,%eax
438c89:	89 45 fc             	mov    %eax,-0x4(%ebp)
438c8c:	8b 43 10             	mov    0x10(%ebx),%eax
438c8f:	56                   	push   %esi
438c90:	8b 73 0c             	mov    0xc(%ebx),%esi
438c93:	57                   	push   %edi
438c94:	0f b7 08             	movzwl (%eax),%ecx
438c97:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
438c9d:	8b 06                	mov    (%esi),%eax
438c9f:	83 e8 01             	sub    $0x1,%eax
438ca2:	74 2f                	je     0x438cd3
438ca4:	83 e8 01             	sub    $0x1,%eax
438ca7:	74 26                	je     0x438ccf
438ca9:	83 e8 01             	sub    $0x1,%eax
438cac:	74 1d                	je     0x438ccb
438cae:	83 e8 01             	sub    $0x1,%eax
438cb1:	74 14                	je     0x438cc7
438cb3:	83 e8 01             	sub    $0x1,%eax
438cb6:	74 1b                	je     0x438cd3
438cb8:	48                   	dec    %eax
438cb9:	83 e8 01             	sub    $0x1,%eax
438cbc:	74 71                	je     0x438d2f
438cbe:	83 e8 01             	sub    $0x1,%eax
438cc1:	75 6c                	jne    0x438d2f
438cc3:	6a 10                	push   $0x10
438cc5:	eb 0e                	jmp    0x438cd5
438cc7:	6a 12                	push   $0x12
438cc9:	eb 0a                	jmp    0x438cd5
438ccb:	6a 11                	push   $0x11
438ccd:	eb 06                	jmp    0x438cd5
438ccf:	6a 04                	push   $0x4
438cd1:	eb 02                	jmp    0x438cd5
438cd3:	6a 08                	push   $0x8
438cd5:	5f                   	pop    %edi
438cd6:	51                   	push   %ecx
438cd7:	8d 46 18             	lea    0x18(%esi),%eax
438cda:	50                   	push   %eax
438cdb:	57                   	push   %edi
438cdc:	e8 a2 5b ff ff       	call   0x42e883
438ce1:	83 c4 0c             	add    $0xc,%esp
438ce4:	85 c0                	test   %eax,%eax
438ce6:	75 47                	jne    0x438d2f
438ce8:	8b 4b 08             	mov    0x8(%ebx),%ecx
438ceb:	83 f9 10             	cmp    $0x10,%ecx
438cee:	74 10                	je     0x438d00
438cf0:	83 f9 16             	cmp    $0x16,%ecx
438cf3:	74 0b                	je     0x438d00
438cf5:	83 f9 1d             	cmp    $0x1d,%ecx
438cf8:	74 06                	je     0x438d00
438cfa:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
438cfe:	eb 12                	jmp    0x438d12
438d00:	8b 45 c0             	mov    -0x40(%ebp),%eax
438d03:	dd 46 10             	fldl   0x10(%esi)
438d06:	83 e0 e3             	and    $0xffffffe3,%eax
438d09:	83 c8 03             	or     $0x3,%eax
438d0c:	dd 5d b0             	fstpl  -0x50(%ebp)
438d0f:	89 45 c0             	mov    %eax,-0x40(%ebp)
438d12:	8d 46 18             	lea    0x18(%esi),%eax
438d15:	50                   	push   %eax
438d16:	8d 46 08             	lea    0x8(%esi),%eax
438d19:	50                   	push   %eax
438d1a:	51                   	push   %ecx
438d1b:	57                   	push   %edi
438d1c:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
438d22:	50                   	push   %eax
438d23:	8d 45 80             	lea    -0x80(%ebp),%eax
438d26:	50                   	push   %eax
438d27:	e8 d7 5d ff ff       	call   0x42eb03
438d2c:	83 c4 18             	add    $0x18,%esp
438d2f:	68 ff ff 00 00       	push   $0xffff
438d34:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
438d3a:	e8 3a 62 ff ff       	call   0x42ef79
438d3f:	83 3e 08             	cmpl   $0x8,(%esi)
438d42:	59                   	pop    %ecx
438d43:	59                   	pop    %ecx
438d44:	74 14                	je     0x438d5a
438d46:	e8 ba ea fe ff       	call   0x427805
438d4b:	84 c0                	test   %al,%al
438d4d:	74 0b                	je     0x438d5a
438d4f:	56                   	push   %esi
438d50:	e8 eb ea fe ff       	call   0x427840
438d55:	59                   	pop    %ecx
438d56:	85 c0                	test   %eax,%eax
438d58:	75 08                	jne    0x438d62
438d5a:	ff 36                	push   (%esi)
438d5c:	e8 b6 60 ff ff       	call   0x42ee17
438d61:	59                   	pop    %ecx
438d62:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438d65:	5f                   	pop    %edi
438d66:	33 cd                	xor    %ebp,%ecx
438d68:	5e                   	pop    %esi
438d69:	e8 3c 0e fe ff       	call   0x419baa
438d6e:	8b e5                	mov    %ebp,%esp
438d70:	5d                   	pop    %ebp
438d71:	8b e3                	mov    %ebx,%esp
438d73:	5b                   	pop    %ebx
438d74:	c3                   	ret
438d75:	8b ff                	mov    %edi,%edi
438d77:	55                   	push   %ebp
438d78:	8b ec                	mov    %esp,%ebp
438d7a:	51                   	push   %ecx
438d7b:	51                   	push   %ecx
438d7c:	dd 45 08             	fldl   0x8(%ebp)
438d7f:	d9 fc                	frndint
438d81:	dd 5d f8             	fstpl  -0x8(%ebp)
438d84:	dd 45 f8             	fldl   -0x8(%ebp)
438d87:	c9                   	leave
438d88:	c3                   	ret
438d89:	cc                   	int3
438d8a:	cc                   	int3
438d8b:	cc                   	int3
438d8c:	cc                   	int3
438d8d:	cc                   	int3
438d8e:	cc                   	int3
438d8f:	cc                   	int3
438d90:	8b ff                	mov    %edi,%edi
438d92:	55                   	push   %ebp
438d93:	8b ec                	mov    %esp,%ebp
438d95:	81 ec 18 01 00 00    	sub    $0x118,%esp
438d9b:	a1 14 50 45 00       	mov    0x455014,%eax
438da0:	33 c5                	xor    %ebp,%eax
438da2:	89 45 fc             	mov    %eax,-0x4(%ebp)
438da5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
438da8:	53                   	push   %ebx
438da9:	8b 5d 14             	mov    0x14(%ebp),%ebx
438dac:	56                   	push   %esi
438dad:	8b 75 08             	mov    0x8(%ebp),%esi
438db0:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
438db6:	89 9d f8 fe ff ff    	mov    %ebx,-0x108(%ebp)
438dbc:	57                   	push   %edi
438dbd:	8b 7d 10             	mov    0x10(%ebp),%edi
438dc0:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
438dc6:	85 f6                	test   %esi,%esi
438dc8:	75 25                	jne    0x438def
438dca:	85 c9                	test   %ecx,%ecx
438dcc:	74 21                	je     0x438def
438dce:	e8 5d ac fe ff       	call   0x423a30
438dd3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
438dd9:	e8 a5 6b fe ff       	call   0x41f983
438dde:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438de1:	5f                   	pop    %edi
438de2:	5e                   	pop    %esi
438de3:	33 cd                	xor    %ebp,%ecx
438de5:	5b                   	pop    %ebx
438de6:	e8 bf 0d fe ff       	call   0x419baa
438deb:	8b e5                	mov    %ebp,%esp
438ded:	5d                   	pop    %ebp
438dee:	c3                   	ret
438def:	85 ff                	test   %edi,%edi
438df1:	74 db                	je     0x438dce
438df3:	85 db                	test   %ebx,%ebx
438df5:	74 d7                	je     0x438dce
438df7:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
438dfe:	00 00 00
438e01:	83 f9 02             	cmp    $0x2,%ecx
438e04:	72 d8                	jb     0x438dde
438e06:	49                   	dec    %ecx
438e07:	0f af cf             	imul   %edi,%ecx
438e0a:	03 ce                	add    %esi,%ecx
438e0c:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
438e12:	8b c1                	mov    %ecx,%eax
438e14:	33 d2                	xor    %edx,%edx
438e16:	2b c6                	sub    %esi,%eax
438e18:	f7 f7                	div    %edi
438e1a:	40                   	inc    %eax
438e1b:	83 f8 08             	cmp    $0x8,%eax
438e1e:	0f 87 b6 00 00 00    	ja     0x438eda
438e24:	3b ce                	cmp    %esi,%ecx
438e26:	0f 86 27 04 00 00    	jbe    0x439253
438e2c:	8d 14 37             	lea    (%edi,%esi,1),%edx
438e2f:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
438e35:	8b c6                	mov    %esi,%eax
438e37:	8b f2                	mov    %edx,%esi
438e39:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
438e3f:	3b f1                	cmp    %ecx,%esi
438e41:	77 2f                	ja     0x438e72
438e43:	50                   	push   %eax
438e44:	56                   	push   %esi
438e45:	8b cb                	mov    %ebx,%ecx
438e47:	ff 15 5c e2 43 00    	call   *0x43e25c
438e4d:	ff d3                	call   *%ebx
438e4f:	83 c4 08             	add    $0x8,%esp
438e52:	85 c0                	test   %eax,%eax
438e54:	7e 0a                	jle    0x438e60
438e56:	8b c6                	mov    %esi,%eax
438e58:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
438e5e:	eb 06                	jmp    0x438e66
438e60:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
438e66:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
438e6c:	03 f7                	add    %edi,%esi
438e6e:	3b f1                	cmp    %ecx,%esi
438e70:	76 d1                	jbe    0x438e43
438e72:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
438e78:	8b d1                	mov    %ecx,%edx
438e7a:	3b c1                	cmp    %ecx,%eax
438e7c:	74 3b                	je     0x438eb9
438e7e:	2b c1                	sub    %ecx,%eax
438e80:	8b df                	mov    %edi,%ebx
438e82:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
438e88:	eb 06                	jmp    0x438e90
438e8a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
438e90:	8a 0c 10             	mov    (%eax,%edx,1),%cl
438e93:	8d 52 01             	lea    0x1(%edx),%edx
438e96:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
438e9c:	8a 42 ff             	mov    -0x1(%edx),%al
438e9f:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
438ea3:	8b c6                	mov    %esi,%eax
438ea5:	88 4a ff             	mov    %cl,-0x1(%edx)
438ea8:	83 eb 01             	sub    $0x1,%ebx
438eab:	75 e3                	jne    0x438e90
438ead:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
438eb3:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
438eb9:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
438ebf:	2b cf                	sub    %edi,%ecx
438ec1:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
438ec7:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
438ecd:	3b ce                	cmp    %esi,%ecx
438ecf:	0f 87 60 ff ff ff    	ja     0x438e35
438ed5:	e9 79 03 00 00       	jmp    0x439253
438eda:	d1 e8                	shr    $1,%eax
438edc:	8b cb                	mov    %ebx,%ecx
438ede:	0f af c7             	imul   %edi,%eax
438ee1:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
438ee7:	8d 3c 30             	lea    (%eax,%esi,1),%edi
438eea:	57                   	push   %edi
438eeb:	56                   	push   %esi
438eec:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
438ef2:	ff 15 5c e2 43 00    	call   *0x43e25c
438ef8:	ff d3                	call   *%ebx
438efa:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
438f00:	83 c4 08             	add    $0x8,%esp
438f03:	85 c0                	test   %eax,%eax
438f05:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
438f0b:	7e 4d                	jle    0x438f5a
438f0d:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
438f13:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
438f19:	3b c7                	cmp    %edi,%eax
438f1b:	74 3d                	je     0x438f5a
438f1d:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
438f23:	8b f7                	mov    %edi,%esi
438f25:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
438f2b:	eb 03                	jmp    0x438f30
438f2d:	8d 49 00             	lea    0x0(%ecx),%ecx
438f30:	8a 06                	mov    (%esi),%al
438f32:	8b d6                	mov    %esi,%edx
438f34:	2b d7                	sub    %edi,%edx
438f36:	8a 0a                	mov    (%edx),%cl
438f38:	88 02                	mov    %al,(%edx)
438f3a:	88 0e                	mov    %cl,(%esi)
438f3c:	46                   	inc    %esi
438f3d:	83 eb 01             	sub    $0x1,%ebx
438f40:	75 ee                	jne    0x438f30
438f42:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
438f48:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
438f4e:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
438f54:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
438f5a:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
438f60:	8b cb                	mov    %ebx,%ecx
438f62:	50                   	push   %eax
438f63:	ff 15 5c e2 43 00    	call   *0x43e25c
438f69:	ff d3                	call   *%ebx
438f6b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
438f71:	83 c4 08             	add    $0x8,%esp
438f74:	85 c0                	test   %eax,%eax
438f76:	7e 49                	jle    0x438fc1
438f78:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
438f7e:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
438f84:	8b f2                	mov    %edx,%esi
438f86:	3b c2                	cmp    %edx,%eax
438f88:	74 37                	je     0x438fc1
438f8a:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
438f90:	2b c2                	sub    %edx,%eax
438f92:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
438f98:	8b d0                	mov    %eax,%edx
438f9a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
438fa0:	8a 06                	mov    (%esi),%al
438fa2:	8d 76 01             	lea    0x1(%esi),%esi
438fa5:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
438fa9:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
438fad:	88 4e ff             	mov    %cl,-0x1(%esi)
438fb0:	83 eb 01             	sub    $0x1,%ebx
438fb3:	75 eb                	jne    0x438fa0
438fb5:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
438fbb:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
438fc1:	52                   	push   %edx
438fc2:	57                   	push   %edi
438fc3:	8b cb                	mov    %ebx,%ecx
438fc5:	ff 15 5c e2 43 00    	call   *0x43e25c
438fcb:	ff d3                	call   *%ebx
438fcd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
438fd3:	83 c4 08             	add    $0x8,%esp
438fd6:	85 c0                	test   %eax,%eax
438fd8:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
438fde:	7e 35                	jle    0x439015
438fe0:	8b d8                	mov    %eax,%ebx
438fe2:	8b f2                	mov    %edx,%esi
438fe4:	3b fa                	cmp    %edx,%edi