4598f5:	5e                   	pop    %esi
4598f6:	8b c3                	mov    %ebx,%eax
4598f8:	5b                   	pop    %ebx
4598f9:	8b e5                	mov    %ebp,%esp
4598fb:	5d                   	pop    %ebp
4598fc:	c2 10 00             	ret    $0x10
4598ff:	8b ff                	mov    %edi,%edi
459901:	55                   	push   %ebp
459902:	8b ec                	mov    %esp,%ebp
459904:	83 ec 10             	sub    $0x10,%esp
459907:	53                   	push   %ebx
459908:	56                   	push   %esi
459909:	8b f1                	mov    %ecx,%esi
45990b:	33 db                	xor    %ebx,%ebx
45990d:	57                   	push   %edi
45990e:	39 5e 08             	cmp    %ebx,0x8(%esi)
459911:	75 3a                	jne    0x45994d
459913:	8b 55 0c             	mov    0xc(%ebp),%edx
459916:	8b 42 14             	mov    0x14(%edx),%eax
459919:	2b 42 34             	sub    0x34(%edx),%eax
45991c:	2b 42 2c             	sub    0x2c(%edx),%eax
45991f:	89 45 f0             	mov    %eax,-0x10(%ebp)
459922:	8b 42 18             	mov    0x18(%edx),%eax
459925:	2b 42 38             	sub    0x38(%edx),%eax
459928:	2b 42 30             	sub    0x30(%edx),%eax
45992b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45992e:	8d 45 f8             	lea    -0x8(%ebp),%eax
459931:	50                   	push   %eax
459932:	8d 45 fc             	lea    -0x4(%ebp),%eax
459935:	50                   	push   %eax
459936:	53                   	push   %ebx
459937:	53                   	push   %ebx
459938:	8d 45 f0             	lea    -0x10(%ebp),%eax
45993b:	50                   	push   %eax
45993c:	e8 fe fa ff ff       	call   0x45943f
459941:	8b 45 fc             	mov    -0x4(%ebp),%eax
459944:	89 46 10             	mov    %eax,0x10(%esi)
459947:	8b 45 f8             	mov    -0x8(%ebp),%eax
45994a:	89 46 14             	mov    %eax,0x14(%esi)
45994d:	ff 36                	push   (%esi)
45994f:	8b 7d 08             	mov    0x8(%ebp),%edi
459952:	68 bb 04 00 00       	push   $0x4bb
459957:	57                   	push   %edi
459958:	ff 15 2c 7e 4a 00    	call   *0x4a7e2c
45995e:	ff 76 04             	push   0x4(%esi)
459961:	68 bc 04 00 00       	push   $0x4bc
459966:	57                   	push   %edi
459967:	ff 15 2c 7e 4a 00    	call   *0x4a7e2c
45996d:	33 c0                	xor    %eax,%eax
45996f:	39 5e 08             	cmp    %ebx,0x8(%esi)
459972:	0f 94 c0             	sete   %al
459975:	50                   	push   %eax
459976:	68 be 04 00 00       	push   $0x4be
45997b:	57                   	push   %edi
45997c:	ff 15 2c 7e 4a 00    	call   *0x4a7e2c
459982:	39 5d 10             	cmp    %ebx,0x10(%ebp)
459985:	74 10                	je     0x459997
459987:	53                   	push   %ebx
459988:	ff 76 0c             	push   0xc(%esi)
45998b:	68 c0 04 00 00       	push   $0x4c0
459990:	57                   	push   %edi
459991:	ff 15 9c 7d 4a 00    	call   *0x4a7d9c
459997:	33 c0                	xor    %eax,%eax
459999:	39 5e 08             	cmp    %ebx,0x8(%esi)
45999c:	0f 94 c0             	sete   %al
45999f:	50                   	push   %eax
4599a0:	68 c0 04 00 00       	push   $0x4c0
4599a5:	57                   	push   %edi
4599a6:	ff 15 30 7e 4a 00    	call   *0x4a7e30
4599ac:	50                   	push   %eax
4599ad:	ff 15 40 7d 4a 00    	call   *0x4a7d40
4599b3:	33 c0                	xor    %eax,%eax
4599b5:	39 5e 08             	cmp    %ebx,0x8(%esi)
4599b8:	0f 94 c0             	sete   %al
4599bb:	50                   	push   %eax
4599bc:	68 c1 04 00 00       	push   $0x4c1
4599c1:	57                   	push   %edi
4599c2:	ff 15 30 7e 4a 00    	call   *0x4a7e30
4599c8:	50                   	push   %eax
4599c9:	ff 15 40 7d 4a 00    	call   *0x4a7d40
4599cf:	ff 76 08             	push   0x8(%esi)
4599d2:	68 bf 04 00 00       	push   $0x4bf
4599d7:	57                   	push   %edi
4599d8:	ff 15 2c 7e 4a 00    	call   *0x4a7e2c
4599de:	53                   	push   %ebx
4599df:	ff 76 10             	push   0x10(%esi)
4599e2:	bb c2 04 00 00       	mov    $0x4c2,%ebx
4599e7:	53                   	push   %ebx
4599e8:	57                   	push   %edi
4599e9:	ff 15 9c 7d 4a 00    	call   *0x4a7d9c
4599ef:	ff 76 08             	push   0x8(%esi)
4599f2:	53                   	push   %ebx
4599f3:	57                   	push   %edi
4599f4:	ff 15 30 7e 4a 00    	call   *0x4a7e30
4599fa:	50                   	push   %eax
4599fb:	ff 15 40 7d 4a 00    	call   *0x4a7d40
459a01:	ff 76 08             	push   0x8(%esi)
459a04:	68 c3 04 00 00       	push   $0x4c3
459a09:	57                   	push   %edi
459a0a:	ff 15 30 7e 4a 00    	call   *0x4a7e30
459a10:	50                   	push   %eax
459a11:	ff 15 40 7d 4a 00    	call   *0x4a7d40
459a17:	6a 00                	push   $0x0
459a19:	ff 76 14             	push   0x14(%esi)
459a1c:	83 c3 02             	add    $0x2,%ebx
459a1f:	53                   	push   %ebx
459a20:	57                   	push   %edi
459a21:	ff 15 9c 7d 4a 00    	call   *0x4a7d9c
459a27:	ff 76 08             	push   0x8(%esi)
459a2a:	53                   	push   %ebx
459a2b:	57                   	push   %edi
459a2c:	ff 15 30 7e 4a 00    	call   *0x4a7e30
459a32:	50                   	push   %eax
459a33:	ff 15 40 7d 4a 00    	call   *0x4a7d40
459a39:	ff 76 08             	push   0x8(%esi)
459a3c:	68 c5 04 00 00       	push   $0x4c5
459a41:	57                   	push   %edi
459a42:	ff 15 30 7e 4a 00    	call   *0x4a7e30
459a48:	50                   	push   %eax
459a49:	ff 15 40 7d 4a 00    	call   *0x4a7d40
459a4f:	6a 01                	push   $0x1
459a51:	6a 00                	push   $0x0
459a53:	68 38 04 00 00       	push   $0x438
459a58:	57                   	push   %edi
459a59:	ff 15 30 7e 4a 00    	call   *0x4a7e30
459a5f:	50                   	push   %eax
459a60:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
459a66:	5f                   	pop    %edi
459a67:	5e                   	pop    %esi
459a68:	5b                   	pop    %ebx
459a69:	c9                   	leave
459a6a:	c2 0c 00             	ret    $0xc
459a6d:	8b ff                	mov    %edi,%edi
459a6f:	55                   	push   %ebp
459a70:	8b ec                	mov    %esp,%ebp
459a72:	8b 45 08             	mov    0x8(%ebp),%eax
459a75:	85 c0                	test   %eax,%eax
459a77:	74 19                	je     0x459a92
459a79:	6a 01                	push   $0x1
459a7b:	6a 00                	push   $0x0
459a7d:	68 38 04 00 00       	push   $0x438
459a82:	51                   	push   %ecx
459a83:	89 02                	mov    %eax,(%edx)
459a85:	ff 15 30 7e 4a 00    	call   *0x4a7e30
459a8b:	50                   	push   %eax
459a8c:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
459a92:	5d                   	pop    %ebp
459a93:	c2 04 00             	ret    $0x4
459a96:	cc                   	int3
459a97:	cc                   	int3
459a98:	cc                   	int3
459a99:	cc                   	int3
459a9a:	cc                   	int3
459a9b:	cc                   	int3
459a9c:	cc                   	int3
459a9d:	cc                   	int3
459a9e:	cc                   	int3
459a9f:	cc                   	int3
459aa0:	b8 00 45 40 00       	mov    $0x404500,%eax
459aa5:	c3                   	ret
459aa6:	6a 04                	push   $0x4
459aa8:	b8 47 42 49 00       	mov    $0x494247,%eax
459aad:	e8 21 6a 03 00       	call   0x4904d3
459ab2:	8b f9                	mov    %ecx,%edi
459ab4:	89 7d f0             	mov    %edi,-0x10(%ebp)
459ab7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
459aba:	33 d2                	xor    %edx,%edx
459abc:	89 55 fc             	mov    %edx,-0x4(%ebp)
459abf:	c7 07 ec 44 40 00    	movl   $0x4044ec,(%edi)
459ac5:	89 57 04             	mov    %edx,0x4(%edi)
459ac8:	89 57 08             	mov    %edx,0x8(%edi)
459acb:	89 57 18             	mov    %edx,0x18(%edi)
459ace:	85 db                	test   %ebx,%ebx
459ad0:	0f 84 e7 00 00 00    	je     0x459bbd
459ad6:	8b 4d 08             	mov    0x8(%ebp),%ecx
459ad9:	85 c9                	test   %ecx,%ecx
459adb:	0f 84 dc 00 00 00    	je     0x459bbd
459ae1:	8b 41 48             	mov    0x48(%ecx),%eax
459ae4:	85 c0                	test   %eax,%eax
459ae6:	0f 84 d1 00 00 00    	je     0x459bbd
459aec:	8b 40 48             	mov    0x48(%eax),%eax
459aef:	85 c0                	test   %eax,%eax
459af1:	0f 84 c6 00 00 00    	je     0x459bbd
459af7:	39 50 04             	cmp    %edx,0x4(%eax)
459afa:	0f 84 bd 00 00 00    	je     0x459bbd
459b00:	89 4f 04             	mov    %ecx,0x4(%edi)
459b03:	8b 41 48             	mov    0x48(%ecx),%eax
459b06:	8b 40 48             	mov    0x48(%eax),%eax
459b09:	8b 40 04             	mov    0x4(%eax),%eax
459b0c:	8b 40 08             	mov    0x8(%eax),%eax
459b0f:	89 47 24             	mov    %eax,0x24(%edi)
459b12:	8b 41 48             	mov    0x48(%ecx),%eax
459b15:	8b 40 48             	mov    0x48(%eax),%eax
459b18:	8b 40 04             	mov    0x4(%eax),%eax
459b1b:	8b 40 0c             	mov    0xc(%eax),%eax
459b1e:	89 47 28             	mov    %eax,0x28(%edi)
459b21:	8b 41 48             	mov    0x48(%ecx),%eax
459b24:	33 c9                	xor    %ecx,%ecx
459b26:	41                   	inc    %ecx
459b27:	51                   	push   %ecx
459b28:	8b 40 48             	mov    0x48(%eax),%eax
459b2b:	8b 40 04             	mov    0x4(%eax),%eax
459b2e:	8b 70 2c             	mov    0x2c(%eax),%esi
459b31:	89 48 2c             	mov    %ecx,0x2c(%eax)
459b34:	8b 47 04             	mov    0x4(%edi),%eax
459b37:	8b 40 48             	mov    0x48(%eax),%eax
459b3a:	8b 48 48             	mov    0x48(%eax),%ecx
459b3d:	8b 49 04             	mov    0x4(%ecx),%ecx
459b40:	e8 2f 5f fc ff       	call   0x41fa74
459b45:	8b 47 04             	mov    0x4(%edi),%eax
459b48:	8b 40 48             	mov    0x48(%eax),%eax
459b4b:	8b 40 48             	mov    0x48(%eax),%eax
459b4e:	8b 40 04             	mov    0x4(%eax),%eax
459b51:	89 70 2c             	mov    %esi,0x2c(%eax)
459b54:	8b 47 04             	mov    0x4(%edi),%eax
459b57:	8b 40 48             	mov    0x48(%eax),%eax
459b5a:	8b 40 48             	mov    0x48(%eax),%eax
459b5d:	8b 40 04             	mov    0x4(%eax),%eax
459b60:	ff 70 30             	push   0x30(%eax)
459b63:	ff 15 54 72 4a 00    	call   *0x4a7254
459b69:	89 47 08             	mov    %eax,0x8(%edi)
459b6c:	85 c0                	test   %eax,%eax
459b6e:	74 4d                	je     0x459bbd
459b70:	8b c8                	mov    %eax,%ecx
459b72:	e8 ed 41 fd ff       	call   0x42dd64
459b77:	8b 77 08             	mov    0x8(%edi),%esi
459b7a:	8b ce                	mov    %esi,%ecx
459b7c:	89 47 18             	mov    %eax,0x18(%edi)
459b7f:	e8 ee 3d fd ff       	call   0x42d972
459b84:	8b 57 04             	mov    0x4(%edi),%edx
459b87:	0f b7 c0             	movzwl %ax,%eax
459b8a:	03 06                	add    (%esi),%eax
459b8c:	03 c6                	add    %esi,%eax
459b8e:	89 47 0c             	mov    %eax,0xc(%edi)
459b91:	8b 42 48             	mov    0x48(%edx),%eax
459b94:	8b 48 60             	mov    0x60(%eax),%ecx
459b97:	8b 40 64             	mov    0x64(%eax),%eax
459b9a:	89 47 20             	mov    %eax,0x20(%edi)
459b9d:	89 4f 1c             	mov    %ecx,0x1c(%edi)
459ba0:	8b 42 48             	mov    0x48(%edx),%eax
459ba3:	dd 40 58             	fldl   0x58(%eax)
459ba6:	8d 47 2c             	lea    0x2c(%edi),%eax
459ba9:	50                   	push   %eax
459baa:	dd 5f 10             	fstpl  0x10(%edi)
459bad:	ff 15 00 7d 4a 00    	call   *0x4a7d00
459bb3:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%ebx)
459bba:	89 7b 20             	mov    %edi,0x20(%ebx)
459bbd:	8b c7                	mov    %edi,%eax
459bbf:	e8 dd 68 03 00       	call   0x4904a1
459bc4:	c2 08 00             	ret    $0x8
459bc7:	cc                   	int3
459bc8:	cc                   	int3
459bc9:	cc                   	int3
459bca:	cc                   	int3
459bcb:	cc                   	int3
459bcc:	cc                   	int3
459bcd:	cc                   	int3
459bce:	cc                   	int3
459bcf:	cc                   	int3
459bd0:	8b ff                	mov    %edi,%edi
459bd2:	55                   	push   %ebp
459bd3:	8b ec                	mov    %esp,%ebp
459bd5:	56                   	push   %esi
459bd6:	8b f1                	mov    %ecx,%esi
459bd8:	8b 46 04             	mov    0x4(%esi),%eax
459bdb:	c7 06 ec 44 40 00    	movl   $0x4044ec,(%esi)
459be1:	8b 40 48             	mov    0x48(%eax),%eax
459be4:	8b 40 48             	mov    0x48(%eax),%eax
459be7:	8b 40 04             	mov    0x4(%eax),%eax
459bea:	ff 70 30             	push   0x30(%eax)
459bed:	ff 15 50 72 4a 00    	call   *0x4a7250
459bf3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
459bf7:	c7 06 4c 14 40 00    	movl   $0x40144c,(%esi)
459bfd:	74 08                	je     0x459c07
459bff:	56                   	push   %esi
459c00:	ff 15 10 74 4a 00    	call   *0x4a7410
459c06:	59                   	pop    %ecx
459c07:	8b c6                	mov    %esi,%eax
459c09:	5e                   	pop    %esi
459c0a:	5d                   	pop    %ebp
459c0b:	c2 04 00             	ret    $0x4
459c0e:	8b ff                	mov    %edi,%edi
459c10:	55                   	push   %ebp
459c11:	8b ec                	mov    %esp,%ebp
459c13:	83 e4 f8             	and    $0xfffffff8,%esp
459c16:	83 ec 5c             	sub    $0x5c,%esp
459c19:	53                   	push   %ebx
459c1a:	56                   	push   %esi
459c1b:	8b 75 08             	mov    0x8(%ebp),%esi
459c1e:	8b d9                	mov    %ecx,%ebx
459c20:	57                   	push   %edi
459c21:	85 f6                	test   %esi,%esi
459c23:	0f 84 bb 02 00 00    	je     0x459ee4
459c29:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
459c2d:	0f 84 b1 02 00 00    	je     0x459ee4
459c33:	8b 4b 04             	mov    0x4(%ebx),%ecx
459c36:	6a 00                	push   $0x0
459c38:	6a 00                	push   $0x0
459c3a:	8b 49 48             	mov    0x48(%ecx),%ecx
459c3d:	e8 f9 9a fd ff       	call   0x43373b
459c42:	d9 e8                	fld1
459c44:	6a 01                	push   $0x1
459c46:	51                   	push   %ecx
459c47:	51                   	push   %ecx
459c48:	8b 4b 04             	mov    0x4(%ebx),%ecx
459c4b:	dd 1c 24             	fstpl  (%esp)
459c4e:	8b 49 48             	mov    0x48(%ecx),%ecx
459c51:	e8 c7 99 fd ff       	call   0x43361d
459c56:	6a 08                	push   $0x8
459c58:	ff 76 08             	push   0x8(%esi)
459c5b:	ff 15 64 71 4a 00    	call   *0x4a7164
459c61:	6a 0a                	push   $0xa
459c63:	ff 76 08             	push   0x8(%esi)
459c66:	89 44 24 1c          	mov    %eax,0x1c(%esp)
459c6a:	ff 15 64 71 4a 00    	call   *0x4a7164
459c70:	6a 04                	push   $0x4
459c72:	ff 76 08             	push   0x8(%esi)
459c75:	89 44 24 20          	mov    %eax,0x20(%esp)
459c79:	ff 15 64 71 4a 00    	call   *0x4a7164
459c7f:	6a 06                	push   $0x6
459c81:	ff 76 08             	push   0x8(%esi)
459c84:	89 44 24 24          	mov    %eax,0x24(%esp)
459c88:	ff 15 64 71 4a 00    	call   *0x4a7164
459c8e:	6a 6e                	push   $0x6e
459c90:	ff 76 08             	push   0x8(%esi)
459c93:	89 44 24 28          	mov    %eax,0x28(%esp)
459c97:	ff 15 64 71 4a 00    	call   *0x4a7164
459c9d:	6a 6f                	push   $0x6f
459c9f:	ff 76 08             	push   0x8(%esi)
459ca2:	8b f8                	mov    %eax,%edi
459ca4:	ff 15 64 71 4a 00    	call   *0x4a7164
459caa:	8b f0                	mov    %eax,%esi
459cac:	8b 45 08             	mov    0x8(%ebp),%eax
459caf:	6a 70                	push   $0x70
459cb1:	ff 70 08             	push   0x8(%eax)
459cb4:	ff 15 64 71 4a 00    	call   *0x4a7164
459cba:	89 44 24 0c          	mov    %eax,0xc(%esp)
459cbe:	8b 45 08             	mov    0x8(%ebp),%eax
459cc1:	6a 71                	push   $0x71
459cc3:	ff 70 08             	push   0x8(%eax)
459cc6:	ff 15 64 71 4a 00    	call   *0x4a7164
459ccc:	db 44 24 14          	fildl  0x14(%esp)
459cd0:	2b 7c 24 0c          	sub    0xc(%esp),%edi
459cd4:	2b f0                	sub    %eax,%esi
459cd6:	2b 7c 24 14          	sub    0x14(%esp),%edi
459cda:	2b 74 24 18          	sub    0x18(%esp),%esi
459cde:	89 44 24 10          	mov    %eax,0x10(%esp)
459ce2:	dd 5c 24 28          	fstpl  0x28(%esp)
459ce6:	dd 44 24 28          	fldl   0x28(%esp)
459cea:	dd 05 d8 42 41 00    	fldl   0x4142d8