46284f:	ff 74 24 10          	push   0x10(%esp)
462853:	e8 06 cd fb ff       	call   0x41f55e
462858:	59                   	pop    %ecx
462859:	eb 1f                	jmp    0x46287a
46285b:	6a 00                	push   $0x0
46285d:	ff 74 24 34          	push   0x34(%esp)
462861:	0f b6 c3             	movzbl %bl,%eax
462864:	50                   	push   %eax
462865:	6a 00                	push   $0x0
462867:	6a 00                	push   $0x0
462869:	ff 74 24 38          	push   0x38(%esp)
46286d:	6a 00                	push   $0x0
46286f:	ff 15 fc d2 48 00    	call   *0x48d2fc
462875:	85 c0                	test   %eax,%eax
462877:	0f 95 c7             	setne  %bh
46287a:	ff 74 24 18          	push   0x18(%esp)
46287e:	e8 db cc fb ff       	call   0x41f55e
462883:	59                   	pop    %ecx
462884:	56                   	push   %esi
462885:	e8 d4 cc fb ff       	call   0x41f55e
46288a:	59                   	pop    %ecx
46288b:	84 ff                	test   %bh,%bh
46288d:	75 3d                	jne    0x4628cc
46288f:	8b 07                	mov    (%edi),%eax
462891:	33 db                	xor    %ebx,%ebx
462893:	8b 48 04             	mov    0x4(%eax),%ecx
462896:	53                   	push   %ebx
462897:	6a 01                	push   $0x1
462899:	03 cf                	add    %edi,%ecx
46289b:	e8 ac a6 fe ff       	call   0x44cf4c
4628a0:	53                   	push   %ebx
4628a1:	ff 15 10 d3 48 00    	call   *0x48d310
4628a7:	50                   	push   %eax
4628a8:	8b 07                	mov    (%edi),%eax
4628aa:	8b 48 04             	mov    0x4(%eax),%ecx
4628ad:	03 cf                	add    %edi,%ecx
4628af:	e8 6d 0a fa ff       	call   0x403321
4628b4:	8b 75 14             	mov    0x14(%ebp),%esi
4628b7:	8b ce                	mov    %esi,%ecx
4628b9:	e8 62 03 fb ff       	call   0x412c20
4628be:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4628c5:	89 1e                	mov    %ebx,(%esi)
4628c7:	e9 81 00 00 00       	jmp    0x46294d
4628cc:	ff 74 24 3c          	push   0x3c(%esp)
4628d0:	ff 15 0c d3 48 00    	call   *0x48d30c
4628d6:	84 db                	test   %bl,%bl
4628d8:	74 2a                	je     0x462904
4628da:	8d 4c 24 48          	lea    0x48(%esp),%ecx
4628de:	e8 29 6b fe ff       	call   0x44940c
4628e3:	8b 44 24 40          	mov    0x40(%esp),%eax
4628e7:	8d 4c 24 48          	lea    0x48(%esp),%ecx
4628eb:	89 44 24 4c          	mov    %eax,0x4c(%esp)
4628ef:	e8 8e 71 fe ff       	call   0x449a82
4628f4:	8d 44 24 48          	lea    0x48(%esp),%eax
4628f8:	50                   	push   %eax
4628f9:	8d 8f 88 04 00 00    	lea    0x488(%edi),%ecx
4628ff:	e8 8c 00 00 00       	call   0x462990
462904:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
462908:	74 0c                	je     0x462916
46290a:	8b 44 24 38          	mov    0x38(%esp),%eax
46290e:	89 87 70 04 00 00    	mov    %eax,0x470(%edi)
462914:	eb 37                	jmp    0x46294d
462916:	8b 44 24 40          	mov    0x40(%esp),%eax
46291a:	db 44 24 40          	fildl  0x40(%esp)
46291e:	85 c0                	test   %eax,%eax
462920:	79 06                	jns    0x462928
462922:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
462928:	8b 75 14             	mov    0x14(%ebp),%esi
46292b:	dd 5c 24 28          	fstpl  0x28(%esp)
46292f:	8b ce                	mov    %esi,%ecx
462931:	e8 ea 02 fb ff       	call   0x412c20
462936:	dd 44 24 28          	fldl   0x28(%esp)
46293a:	ff 74 24 38          	push   0x38(%esp)
46293e:	dd 1e                	fstpl  (%esi)
462940:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
462947:	ff 15 0c d3 48 00    	call   *0x48d30c
46294d:	8d 4c 24 48          	lea    0x48(%esp),%ecx
462951:	e8 d6 68 fe ff       	call   0x44922c
462956:	5f                   	pop    %edi
462957:	5e                   	pop    %esi
462958:	33 c0                	xor    %eax,%eax
46295a:	5b                   	pop    %ebx
46295b:	8b e5                	mov    %ebp,%esp
46295d:	5d                   	pop    %ebp
46295e:	c2 10 00             	ret    $0x10
462961:	56                   	push   %esi
462962:	57                   	push   %edi
462963:	8b f1                	mov    %ecx,%esi
462965:	33 ff                	xor    %edi,%edi
462967:	39 7e 08             	cmp    %edi,0x8(%esi)
46296a:	76 1d                	jbe    0x462989
46296c:	8b 46 04             	mov    0x4(%esi),%eax
46296f:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
462972:	85 c9                	test   %ecx,%ecx
462974:	74 06                	je     0x46297c
462976:	51                   	push   %ecx
462977:	e8 84 20 fe ff       	call   0x444a00
46297c:	8b 46 04             	mov    0x4(%esi),%eax
46297f:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
462983:	47                   	inc    %edi
462984:	3b 7e 08             	cmp    0x8(%esi),%edi
462987:	72 e3                	jb     0x46296c
462989:	83 66 08 00          	andl   $0x0,0x8(%esi)
46298d:	5f                   	pop    %edi
46298e:	5e                   	pop    %esi
46298f:	c3                   	ret
462990:	55                   	push   %ebp
462991:	8b ec                	mov    %esp,%ebp
462993:	56                   	push   %esi
462994:	57                   	push   %edi
462995:	8b f1                	mov    %ecx,%esi
462997:	33 ff                	xor    %edi,%edi
462999:	6a 0c                	push   $0xc
46299b:	39 7e 04             	cmp    %edi,0x4(%esi)
46299e:	75 1a                	jne    0x4629ba
4629a0:	e8 45 cb fb ff       	call   0x41f4ea
4629a5:	59                   	pop    %ecx
4629a6:	85 c0                	test   %eax,%eax
4629a8:	74 0c                	je     0x4629b6
4629aa:	ff 75 08             	push   0x8(%ebp)
4629ad:	8b c8                	mov    %eax,%ecx
4629af:	e8 d9 cd ff ff       	call   0x45f78d
4629b4:	8b f8                	mov    %eax,%edi
4629b6:	89 3e                	mov    %edi,(%esi)
4629b8:	eb 22                	jmp    0x4629dc
4629ba:	e8 2b cb fb ff       	call   0x41f4ea
4629bf:	59                   	pop    %ecx
4629c0:	85 c0                	test   %eax,%eax
4629c2:	74 0c                	je     0x4629d0
4629c4:	ff 75 08             	push   0x8(%ebp)
4629c7:	8b c8                	mov    %eax,%ecx
4629c9:	e8 bf cd ff ff       	call   0x45f78d
4629ce:	8b f8                	mov    %eax,%edi
4629d0:	8b 46 04             	mov    0x4(%esi),%eax
4629d3:	89 47 08             	mov    %eax,0x8(%edi)
4629d6:	8b 46 04             	mov    0x4(%esi),%eax
4629d9:	89 78 04             	mov    %edi,0x4(%eax)
4629dc:	ff 46 08             	incl   0x8(%esi)
4629df:	89 7e 04             	mov    %edi,0x4(%esi)
4629e2:	5f                   	pop    %edi
4629e3:	5e                   	pop    %esi
4629e4:	5d                   	pop    %ebp
4629e5:	c2 04 00             	ret    $0x4
4629e8:	55                   	push   %ebp
4629e9:	8b ec                	mov    %esp,%ebp
4629eb:	53                   	push   %ebx
4629ec:	56                   	push   %esi
4629ed:	8b f1                	mov    %ecx,%esi
4629ef:	6a 04                	push   $0x4
4629f1:	8b 46 0c             	mov    0xc(%esi),%eax
4629f4:	5b                   	pop    %ebx
4629f5:	39 46 08             	cmp    %eax,0x8(%esi)
4629f8:	75 4d                	jne    0x462a47
4629fa:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
4629fd:	6a 08                	push   $0x8
4629ff:	58                   	pop    %eax
462a00:	3b c8                	cmp    %eax,%ecx
462a02:	72 02                	jb     0x462a06
462a04:	8b c1                	mov    %ecx,%eax
462a06:	33 c9                	xor    %ecx,%ecx
462a08:	89 46 0c             	mov    %eax,0xc(%esi)
462a0b:	f7 e3                	mul    %ebx
462a0d:	0f 90 c1             	seto   %cl
462a10:	57                   	push   %edi
462a11:	f7 d9                	neg    %ecx
462a13:	0b c8                	or     %eax,%ecx
462a15:	51                   	push   %ecx
462a16:	e8 cf ca fb ff       	call   0x41f4ea
462a1b:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
462a1f:	59                   	pop    %ecx
462a20:	8b f8                	mov    %eax,%edi
462a22:	74 1f                	je     0x462a43
462a24:	8b 46 08             	mov    0x8(%esi),%eax
462a27:	85 c0                	test   %eax,%eax
462a29:	74 18                	je     0x462a43
462a2b:	c1 e0 02             	shl    $0x2,%eax
462a2e:	50                   	push   %eax
462a2f:	ff 76 04             	push   0x4(%esi)
462a32:	57                   	push   %edi
462a33:	e8 48 c4 fb ff       	call   0x41ee80
462a38:	ff 76 04             	push   0x4(%esi)
462a3b:	e8 1e cb fb ff       	call   0x41f55e
462a40:	83 c4 10             	add    $0x10,%esp
462a43:	89 7e 04             	mov    %edi,0x4(%esi)
462a46:	5f                   	pop    %edi
462a47:	53                   	push   %ebx
462a48:	e8 9d ca fb ff       	call   0x41f4ea
462a4d:	8b d0                	mov    %eax,%edx
462a4f:	59                   	pop    %ecx
462a50:	85 d2                	test   %edx,%edx
462a52:	74 09                	je     0x462a5d
462a54:	8b 4d 08             	mov    0x8(%ebp),%ecx
462a57:	8b 09                	mov    (%ecx),%ecx
462a59:	89 0a                	mov    %ecx,(%edx)
462a5b:	eb 02                	jmp    0x462a5f
462a5d:	33 d2                	xor    %edx,%edx
462a5f:	8b 4e 08             	mov    0x8(%esi),%ecx
462a62:	8b 46 04             	mov    0x4(%esi),%eax
462a65:	89 14 88             	mov    %edx,(%eax,%ecx,4)
462a68:	ff 46 08             	incl   0x8(%esi)
462a6b:	5e                   	pop    %esi
462a6c:	5b                   	pop    %ebx
462a6d:	5d                   	pop    %ebp
462a6e:	c2 04 00             	ret    $0x4
462a71:	55                   	push   %ebp
462a72:	8b ec                	mov    %esp,%ebp
462a74:	56                   	push   %esi
462a75:	8b f1                	mov    %ecx,%esi
462a77:	8b 46 0c             	mov    0xc(%esi),%eax
462a7a:	39 46 08             	cmp    %eax,0x8(%esi)
462a7d:	75 50                	jne    0x462acf
462a7f:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
462a82:	6a 08                	push   $0x8
462a84:	58                   	pop    %eax
462a85:	3b c8                	cmp    %eax,%ecx
462a87:	72 02                	jb     0x462a8b
462a89:	8b c1                	mov    %ecx,%eax
462a8b:	57                   	push   %edi
462a8c:	33 c9                	xor    %ecx,%ecx
462a8e:	6a 04                	push   $0x4
462a90:	5a                   	pop    %edx
462a91:	89 46 0c             	mov    %eax,0xc(%esi)
462a94:	f7 e2                	mul    %edx
462a96:	0f 90 c1             	seto   %cl
462a99:	f7 d9                	neg    %ecx
462a9b:	0b c8                	or     %eax,%ecx
462a9d:	51                   	push   %ecx
462a9e:	e8 47 ca fb ff       	call   0x41f4ea
462aa3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
462aa7:	59                   	pop    %ecx
462aa8:	8b f8                	mov    %eax,%edi
462aaa:	74 1f                	je     0x462acb
462aac:	8b 46 08             	mov    0x8(%esi),%eax
462aaf:	85 c0                	test   %eax,%eax
462ab1:	74 18                	je     0x462acb
462ab3:	c1 e0 02             	shl    $0x2,%eax
462ab6:	50                   	push   %eax
462ab7:	ff 76 04             	push   0x4(%esi)
462aba:	57                   	push   %edi
462abb:	e8 c0 c3 fb ff       	call   0x41ee80
462ac0:	ff 76 04             	push   0x4(%esi)
462ac3:	e8 96 ca fb ff       	call   0x41f55e
462ac8:	83 c4 10             	add    $0x10,%esp
462acb:	89 7e 04             	mov    %edi,0x4(%esi)
462ace:	5f                   	pop    %edi
462acf:	6a 14                	push   $0x14
462ad1:	e8 14 ca fb ff       	call   0x41f4ea
462ad6:	59                   	pop    %ecx
462ad7:	85 c0                	test   %eax,%eax
462ad9:	74 0e                	je     0x462ae9
462adb:	ff 75 08             	push   0x8(%ebp)
462ade:	8b c8                	mov    %eax,%ecx
462ae0:	e8 d9 cc ff ff       	call   0x45f7be
462ae5:	8b d0                	mov    %eax,%edx
462ae7:	eb 02                	jmp    0x462aeb
462ae9:	33 d2                	xor    %edx,%edx
462aeb:	8b 4e 08             	mov    0x8(%esi),%ecx
462aee:	8b 46 04             	mov    0x4(%esi),%eax
462af1:	89 14 88             	mov    %edx,(%eax,%ecx,4)
462af4:	ff 46 08             	incl   0x8(%esi)
462af7:	5e                   	pop    %esi
462af8:	5d                   	pop    %ebp
462af9:	c2 04 00             	ret    $0x4
462afc:	56                   	push   %esi
462afd:	8b f1                	mov    %ecx,%esi
462aff:	e8 c5 10 00 00       	call   0x463bc9
462b04:	84 c0                	test   %al,%al
462b06:	74 05                	je     0x462b0d
462b08:	8b 46 08             	mov    0x8(%esi),%eax
462b0b:	5e                   	pop    %esi
462b0c:	c3                   	ret
462b0d:	b8 14 2b 46 00       	mov    $0x462b14,%eax
462b12:	5e                   	pop    %esi
462b13:	c3                   	ret
462b14:	33 c0                	xor    %eax,%eax
462b16:	c2 10 00             	ret    $0x10
462b19:	55                   	push   %ebp
462b1a:	8b ec                	mov    %esp,%ebp
462b1c:	83 e4 f8             	and    $0xfffffff8,%esp
462b1f:	83 ec 5c             	sub    $0x5c,%esp
462b22:	83 24 24 00          	andl   $0x0,(%esp)
462b26:	53                   	push   %ebx
462b27:	56                   	push   %esi
462b28:	8b 75 08             	mov    0x8(%ebp),%esi
462b2b:	57                   	push   %edi
462b2c:	8b 5e 08             	mov    0x8(%esi),%ebx
462b2f:	8b f9                	mov    %ecx,%edi
462b31:	8d 4c 24 48          	lea    0x48(%esp),%ecx
462b35:	e8 bd ac fa ff       	call   0x40d7f7
462b3a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
462b3e:	e8 b4 ac fa ff       	call   0x40d7f7
462b43:	8d 4c 24 38          	lea    0x38(%esp),%ecx
462b47:	e8 ab ac fa ff       	call   0x40d7f7
462b4c:	8d 4c 24 58          	lea    0x58(%esp),%ecx
462b50:	e8 a2 ac fa ff       	call   0x40d7f7
462b55:	8b 46 04             	mov    0x4(%esi),%eax
462b58:	8b 30                	mov    (%eax),%esi
462b5a:	8b ce                	mov    %esi,%ecx
462b5c:	e8 0b 68 fa ff       	call   0x40936c
462b61:	8b 46 08             	mov    0x8(%esi),%eax
462b64:	83 ec 10             	sub    $0x10,%esp
462b67:	8b cc                	mov    %esp,%ecx
462b69:	ff 30                	push   (%eax)
462b6b:	e8 a9 a2 fa ff       	call   0x40ce19
462b70:	8d 44 24 48          	lea    0x48(%esp),%eax
462b74:	50                   	push   %eax
462b75:	8d 44 24 3c          	lea    0x3c(%esp),%eax
462b79:	50                   	push   %eax
462b7a:	8d 44 24 60          	lea    0x60(%esp),%eax
462b7e:	50                   	push   %eax
462b7f:	e8 06 13 00 00       	call   0x463e8a
462b84:	8b 44 24 28          	mov    0x28(%esp),%eax
462b88:	83 ec 10             	sub    $0x10,%esp
462b8b:	8b cc                	mov    %esp,%ecx
462b8d:	89 01                	mov    %eax,(%ecx)
462b8f:	8b 44 24 3c          	mov    0x3c(%esp),%eax
462b93:	89 41 04             	mov    %eax,0x4(%ecx)
462b96:	8b 44 24 40          	mov    0x40(%esp),%eax
462b9a:	89 41 08             	mov    %eax,0x8(%ecx)
462b9d:	8b 44 24 44          	mov    0x44(%esp),%eax
462ba1:	89 41 0c             	mov    %eax,0xc(%ecx)
462ba4:	ff 00                	incl   (%eax)
462ba6:	8d 44 24 24          	lea    0x24(%esp),%eax
462baa:	50                   	push   %eax
462bab:	8d 44 24 2c          	lea    0x2c(%esp),%eax
462baf:	50                   	push   %eax
462bb0:	e8 51 10 00 00       	call   0x463c06
462bb5:	84 c0                	test   %al,%al
462bb7:	75 29                	jne    0x462be2
462bb9:	8b 07                	mov    (%edi),%eax
462bbb:	6a 00                	push   $0x0
462bbd:	8b 48 04             	mov    0x4(%eax),%ecx
462bc0:	6a 02                	push   $0x2
462bc2:	03 cf                	add    %edi,%ecx
462bc4:	e8 83 a3 fe ff       	call   0x44cf4c
462bc9:	8b 75 0c             	mov    0xc(%ebp),%esi
462bcc:	8b ce                	mov    %esi,%ecx
462bce:	e8 4d 00 fb ff       	call   0x412c20
462bd3:	83 26 00             	andl   $0x0,(%esi)
462bd6:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
462bdd:	e9 18 02 00 00       	jmp    0x462dfa
462be2:	83 7c 24 4c 00       	cmpl   $0x0,0x4c(%esp)
462be7:	74 54                	je     0x462c3d
462be9:	8d 44 24 0c          	lea    0xc(%esp),%eax
462bed:	50                   	push   %eax
462bee:	ff 74 24 1c          	push   0x1c(%esp)
462bf2:	ff 74 24 50          	push   0x50(%esp)
462bf6:	ff 15 2c d0 48 00    	call   *0x48d02c
462bfc:	85 c0                	test   %eax,%eax
462bfe:	74 37                	je     0x462c37