462650:	76 2c                	jbe    0x46267e
462652:	8b 4b 04             	mov    0x4(%ebx),%ecx
462655:	8b 71 14             	mov    0x14(%ecx),%esi
462658:	8b ce                	mov    %esi,%ecx
46265a:	e8 0d 6d fa ff       	call   0x40936c
46265f:	8b 4e 08             	mov    0x8(%esi),%ecx
462662:	8b 09                	mov    (%ecx),%ecx
462664:	e8 8b a0 fb ff       	call   0x41c6f4
462669:	8b f0                	mov    %eax,%esi
46266b:	85 f6                	test   %esi,%esi
46266d:	74 0f                	je     0x46267e
46266f:	56                   	push   %esi
462670:	e8 66 e6 fb ff       	call   0x420cdb
462675:	59                   	pop    %ecx
462676:	85 c0                	test   %eax,%eax
462678:	0f 85 9a 00 00 00    	jne    0x462718
46267e:	8b 3d e8 d2 48 00    	mov    0x48d2e8,%edi
462684:	6a 00                	push   $0x0
462686:	6a 00                	push   $0x0
462688:	ff d7                	call   *%edi
46268a:	8b f0                	mov    %eax,%esi
46268c:	33 c9                	xor    %ecx,%ecx
46268e:	6a 02                	push   $0x2
462690:	5a                   	pop    %edx
462691:	8d 46 01             	lea    0x1(%esi),%eax
462694:	f7 e2                	mul    %edx
462696:	0f 90 c1             	seto   %cl
462699:	f7 d9                	neg    %ecx
46269b:	0b c8                	or     %eax,%ecx
46269d:	51                   	push   %ecx
46269e:	e8 47 ce fb ff       	call   0x41f4ea
4626a3:	59                   	pop    %ecx
4626a4:	56                   	push   %esi
4626a5:	8b f0                	mov    %eax,%esi
4626a7:	56                   	push   %esi
4626a8:	89 44 24 28          	mov    %eax,0x28(%esp)
4626ac:	ff d7                	call   *%edi
4626ae:	eb 64                	jmp    0x462714
4626b0:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
4626b4:	89 44 24 18          	mov    %eax,0x18(%esp)
4626b8:	76 28                	jbe    0x4626e2
4626ba:	8b 43 04             	mov    0x4(%ebx),%eax
4626bd:	8b 70 04             	mov    0x4(%eax),%esi
4626c0:	8b ce                	mov    %esi,%ecx
4626c2:	e8 a5 6c fa ff       	call   0x40936c
4626c7:	8b 46 08             	mov    0x8(%esi),%eax
4626ca:	8b 08                	mov    (%eax),%ecx
4626cc:	e8 23 a0 fb ff       	call   0x41c6f4
4626d1:	8b f0                	mov    %eax,%esi
4626d3:	85 f6                	test   %esi,%esi
4626d5:	74 0b                	je     0x4626e2
4626d7:	56                   	push   %esi
4626d8:	e8 fe e5 fb ff       	call   0x420cdb
4626dd:	59                   	pop    %ecx
4626de:	85 c0                	test   %eax,%eax
4626e0:	75 6b                	jne    0x46274d
4626e2:	8b 3d 20 d3 48 00    	mov    0x48d320,%edi
4626e8:	6a 00                	push   $0x0
4626ea:	6a 00                	push   $0x0
4626ec:	ff d7                	call   *%edi
4626ee:	8b f0                	mov    %eax,%esi
4626f0:	33 c9                	xor    %ecx,%ecx
4626f2:	6a 02                	push   $0x2
4626f4:	5a                   	pop    %edx
4626f5:	8d 46 01             	lea    0x1(%esi),%eax
4626f8:	f7 e2                	mul    %edx
4626fa:	0f 90 c1             	seto   %cl
4626fd:	f7 d9                	neg    %ecx
4626ff:	0b c8                	or     %eax,%ecx
462701:	51                   	push   %ecx
462702:	e8 e3 cd fb ff       	call   0x41f4ea
462707:	59                   	pop    %ecx
462708:	50                   	push   %eax
462709:	56                   	push   %esi
46270a:	89 44 24 28          	mov    %eax,0x28(%esp)
46270e:	ff d7                	call   *%edi
462710:	8b 74 24 20          	mov    0x20(%esp),%esi
462714:	8b 7c 24 34          	mov    0x34(%esp),%edi
462718:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
46271c:	74 2f                	je     0x46274d
46271e:	8b 4b 04             	mov    0x4(%ebx),%ecx
462721:	68 00 dc 49 00       	push   $0x49dc00
462726:	8b 09                	mov    (%ecx),%ecx
462728:	e8 8c a6 fa ff       	call   0x40cdb9
46272d:	8b 4b 04             	mov    0x4(%ebx),%ecx
462730:	68 00 dc 49 00       	push   $0x49dc00
462735:	8b 49 04             	mov    0x4(%ecx),%ecx
462738:	e8 7c a6 fa ff       	call   0x40cdb9
46273d:	8b 4b 04             	mov    0x4(%ebx),%ecx
462740:	68 00 dc 49 00       	push   $0x49dc00
462745:	8b 49 08             	mov    0x8(%ecx),%ecx
462748:	e8 6c a6 fa ff       	call   0x40cdb9
46274d:	8b 54 24 1c          	mov    0x1c(%esp),%edx
462751:	52                   	push   %edx
462752:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
462756:	e8 37 6a fe ff       	call   0x449192
46275b:	85 d2                	test   %edx,%edx
46275d:	74 5a                	je     0x4627b9
46275f:	e8 19 71 fe ff       	call   0x44987d
462764:	83 f8 ff             	cmp    $0xffffffff,%eax
462767:	0f 94 c3             	sete   %bl
46276a:	fe cb                	dec    %bl
46276c:	8d 4c 24 48          	lea    0x48(%esp),%ecx
462770:	89 84 24 ac 00 00 00 	mov    %eax,0xac(%esp)
462777:	80 e3 01             	and    $0x1,%bl
46277a:	e8 f7 6f fe ff       	call   0x449776
46277f:	83 f8 ff             	cmp    $0xffffffff,%eax
462782:	0f 94 c7             	sete   %bh
462785:	fe cf                	dec    %bh
462787:	8d 4c 24 48          	lea    0x48(%esp),%ecx
46278b:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
462792:	22 fb                	and    %bl,%bh
462794:	e8 6c 70 fe ff       	call   0x449805
462799:	83 f8 ff             	cmp    $0xffffffff,%eax
46279c:	0f 94 c3             	sete   %bl
46279f:	fe cb                	dec    %bl
4627a1:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
4627a8:	22 df                	and    %bh,%bl
4627aa:	74 0f                	je     0x4627bb
4627ac:	81 8c 24 9c 00 00 00 	orl    $0x100,0x9c(%esp)
4627b3:	00 01 00 00
4627b7:	eb 02                	jmp    0x4627bb
4627b9:	32 db                	xor    %bl,%bl
4627bb:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4627bf:	8d 44 24 38          	lea    0x38(%esp),%eax
4627c3:	50                   	push   %eax
4627c4:	8d 44 24 74          	lea    0x74(%esp),%eax
4627c8:	50                   	push   %eax
4627c9:	56                   	push   %esi
4627ca:	0f 84 8b 00 00 00    	je     0x46285b
4627d0:	ff 74 24 30          	push   0x30(%esp)
4627d4:	ff 74 24 28          	push   0x28(%esp)
4627d8:	51                   	push   %ecx
4627d9:	ff 74 24 40          	push   0x40(%esp)
4627dd:	ff 74 24 2c          	push   0x2c(%esp)
4627e1:	ff 74 24 2c          	push   0x2c(%esp)
4627e5:	ff 74 24 38          	push   0x38(%esp)
4627e9:	e8 76 87 fd ff       	call   0x43af64
4627ee:	ff 74 24 14          	push   0x14(%esp)
4627f2:	8a f8                	mov    %al,%bh
4627f4:	e8 e2 e4 fb ff       	call   0x420cdb
4627f9:	59                   	pop    %ecx
4627fa:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4627fe:	85 c0                	test   %eax,%eax
462800:	74 07                	je     0x462809
462802:	c6 01 00             	movb   $0x0,(%ecx)
462805:	41                   	inc    %ecx
462806:	48                   	dec    %eax
462807:	75 f9                	jne    0x462802
462809:	ff 74 24 0c          	push   0xc(%esp)
46280d:	e8 c9 e4 fb ff       	call   0x420cdb
462812:	59                   	pop    %ecx
462813:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
462817:	85 c0                	test   %eax,%eax
462819:	74 07                	je     0x462822
46281b:	c6 01 00             	movb   $0x0,(%ecx)
46281e:	41                   	inc    %ecx
46281f:	48                   	dec    %eax
462820:	75 f9                	jne    0x46281b
462822:	ff 74 24 10          	push   0x10(%esp)
462826:	e8 b0 e4 fb ff       	call   0x420cdb
46282b:	59                   	pop    %ecx
46282c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
462830:	85 c0                	test   %eax,%eax
462832:	74 07                	je     0x46283b
462834:	c6 01 00             	movb   $0x0,(%ecx)
462837:	41                   	inc    %ecx
462838:	48                   	dec    %eax
462839:	75 f9                	jne    0x462834
46283b:	ff 74 24 14          	push   0x14(%esp)
46283f:	e8 1a cd fb ff       	call   0x41f55e
462844:	59                   	pop    %ecx
462845:	ff 74 24 0c          	push   0xc(%esp)
462849:	e8 10 cd fb ff       	call   0x41f55e
46284e:	59                   	pop    %ecx
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