48867e:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
488681:	8b 55 c0             	mov    -0x40(%ebp),%edx
488684:	89 55 e8             	mov    %edx,-0x18(%ebp)
488687:	89 5d f0             	mov    %ebx,-0x10(%ebp)
48868a:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
48868d:	89 45 c8             	mov    %eax,-0x38(%ebp)
488690:	40                   	inc    %eax
488691:	89 45 d0             	mov    %eax,-0x30(%ebp)
488694:	8d 41 01             	lea    0x1(%ecx),%eax
488697:	03 c2                	add    %edx,%eax
488699:	89 45 d8             	mov    %eax,-0x28(%ebp)
48869c:	8d 42 01             	lea    0x1(%edx),%eax
48869f:	89 45 e0             	mov    %eax,-0x20(%ebp)
4886a2:	e9 e9 fd ff ff       	jmp    0x488490
4886a7:	8b 55 10             	mov    0x10(%ebp),%edx
4886aa:	8d 41 01             	lea    0x1(%ecx),%eax
4886ad:	89 45 d0             	mov    %eax,-0x30(%ebp)
4886b0:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4886b3:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4886b6:	8d 42 01             	lea    0x1(%edx),%eax
4886b9:	03 c1                	add    %ecx,%eax
4886bb:	8d 0c 13             	lea    (%ebx,%edx,1),%ecx
4886be:	89 45 d8             	mov    %eax,-0x28(%ebp)
4886c1:	8d 41 01             	lea    0x1(%ecx),%eax
4886c4:	89 45 e0             	mov    %eax,-0x20(%ebp)
4886c7:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4886ca:	e9 6f fe ff ff       	jmp    0x48853e
4886cf:	8b 55 10             	mov    0x10(%ebp),%edx
4886d2:	8d 41 01             	lea    0x1(%ecx),%eax
4886d5:	89 45 d0             	mov    %eax,-0x30(%ebp)
4886d8:	8d 43 01             	lea    0x1(%ebx),%eax
4886db:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4886de:	89 45 d8             	mov    %eax,-0x28(%ebp)
4886e1:	8d 0c 13             	lea    (%ebx,%edx,1),%ecx
4886e4:	8d 41 01             	lea    0x1(%ecx),%eax
4886e7:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4886ea:	89 45 e0             	mov    %eax,-0x20(%ebp)
4886ed:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4886f0:	03 c2                	add    %edx,%eax
4886f2:	e9 0e fe ff ff       	jmp    0x488505
4886f7:	8b 45 10             	mov    0x10(%ebp),%eax
4886fa:	8b 55 b8             	mov    -0x48(%ebp),%edx
4886fd:	51                   	push   %ecx
4886fe:	51                   	push   %ecx
4886ff:	8b 4d bc             	mov    -0x44(%ebp),%ecx
488702:	8b f4                	mov    %esp,%esi
488704:	89 06                	mov    %eax,(%esi)
488706:	89 46 04             	mov    %eax,0x4(%esi)
488709:	8d 45 9c             	lea    -0x64(%ebp),%eax
48870c:	50                   	push   %eax
48870d:	8d 45 ac             	lea    -0x54(%ebp),%eax
488710:	50                   	push   %eax
488711:	e8 19 fb ff ff       	call   0x48822f
488716:	e9 e7 00 00 00       	jmp    0x488802
48871b:	3b da                	cmp    %edx,%ebx
48871d:	75 08                	jne    0x488727
48871f:	3b f7                	cmp    %edi,%esi
488721:	0f 84 ca 00 00 00    	je     0x4887f1
488727:	33 d2                	xor    %edx,%edx
488729:	8d 45 d8             	lea    -0x28(%ebp),%eax
48872c:	6a 04                	push   $0x4
48872e:	89 55 b0             	mov    %edx,-0x50(%ebp)
488731:	89 55 ac             	mov    %edx,-0x54(%ebp)
488734:	89 55 a8             	mov    %edx,-0x58(%ebp)
488737:	89 55 a4             	mov    %edx,-0x5c(%ebp)
48873a:	59                   	pop    %ecx
48873b:	89 50 04             	mov    %edx,0x4(%eax)
48873e:	89 10                	mov    %edx,(%eax)
488740:	8d 40 08             	lea    0x8(%eax),%eax
488743:	83 e9 01             	sub    $0x1,%ecx
488746:	75 f3                	jne    0x48873b
488748:	51                   	push   %ecx
488749:	51                   	push   %ecx
48874a:	8b d4                	mov    %esp,%edx
48874c:	8b ce                	mov    %esi,%ecx
48874e:	2b cf                	sub    %edi,%ecx
488750:	8b c3                	mov    %ebx,%eax
488752:	2b 45 c4             	sub    -0x3c(%ebp),%eax
488755:	51                   	push   %ecx
488756:	51                   	push   %ecx
488757:	89 02                	mov    %eax,(%edx)
488759:	8b c4                	mov    %esp,%eax
48875b:	89 4a 04             	mov    %ecx,0x4(%edx)
48875e:	8b 4d 10             	mov    0x10(%ebp),%ecx
488761:	89 08                	mov    %ecx,(%eax)
488763:	89 48 04             	mov    %ecx,0x4(%eax)
488766:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
488769:	e8 30 f8 ff ff       	call   0x487f9e
48876e:	85 c0                	test   %eax,%eax
488770:	0f 84 8c 00 00 00    	je     0x488802
488776:	8b 55 a4             	mov    -0x5c(%ebp),%edx
488779:	8b 45 c4             	mov    -0x3c(%ebp),%eax
48877c:	8b 4d ac             	mov    -0x54(%ebp),%ecx
48877f:	03 c2                	add    %edx,%eax
488781:	89 45 d8             	mov    %eax,-0x28(%ebp)
488784:	03 ca                	add    %edx,%ecx
488786:	8b 45 c4             	mov    -0x3c(%ebp),%eax
488789:	03 c1                	add    %ecx,%eax
48878b:	89 45 e0             	mov    %eax,-0x20(%ebp)
48878e:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
488791:	8b 4d b0             	mov    -0x50(%ebp),%ecx
488794:	89 45 e8             	mov    %eax,-0x18(%ebp)
488797:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
48879a:	8b 55 a8             	mov    -0x58(%ebp),%edx
48879d:	03 ca                	add    %edx,%ecx
48879f:	89 45 f0             	mov    %eax,-0x10(%ebp)
4887a2:	6a 00                	push   $0x0
4887a4:	6a 04                	push   $0x4
4887a6:	8d 04 3a             	lea    (%edx,%edi,1),%eax
4887a9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4887ac:	8d 04 39             	lea    (%ecx,%edi,1),%eax
4887af:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4887b2:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4887b5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4887b8:	8d 04 32             	lea    (%edx,%esi,1),%eax
4887bb:	89 45 f4             	mov    %eax,-0xc(%ebp)
4887be:	8d 45 d8             	lea    -0x28(%ebp),%eax
4887c1:	50                   	push   %eax
4887c2:	8b 45 b8             	mov    -0x48(%ebp),%eax
4887c5:	ff 70 04             	push   0x4(%eax)
4887c8:	8b 45 bc             	mov    -0x44(%ebp),%eax
4887cb:	ff 30                	push   (%eax)
4887cd:	ff 15 70 c1 4a 00    	call   *0x4ac170
4887d3:	8b c8                	mov    %eax,%ecx
4887d5:	8b 45 bc             	mov    -0x44(%ebp),%eax
4887d8:	85 c9                	test   %ecx,%ecx
4887da:	74 03                	je     0x4887df
4887dc:	89 48 04             	mov    %ecx,0x4(%eax)
4887df:	8b 55 b8             	mov    -0x48(%ebp),%edx
4887e2:	51                   	push   %ecx
4887e3:	ff 75 10             	push   0x10(%ebp)
4887e6:	8b c8                	mov    %eax,%ecx
4887e8:	57                   	push   %edi
4887e9:	ff 75 c4             	push   -0x3c(%ebp)
4887ec:	e8 d7 f6 ff ff       	call   0x487ec8
4887f1:	8b 55 b8             	mov    -0x48(%ebp),%edx
4887f4:	51                   	push   %ecx
4887f5:	ff 75 10             	push   0x10(%ebp)
4887f8:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4887fb:	56                   	push   %esi
4887fc:	53                   	push   %ebx
4887fd:	e8 c6 f6 ff ff       	call   0x487ec8
488802:	8b 4d f8             	mov    -0x8(%ebp),%ecx
488805:	5f                   	pop    %edi
488806:	5e                   	pop    %esi
488807:	33 cd                	xor    %ebp,%ecx
488809:	5b                   	pop    %ebx
48880a:	e8 f1 76 00 00       	call   0x48ff00
48880f:	c9                   	leave
488810:	c2 14 00             	ret    $0x14
488813:	8b ff                	mov    %edi,%edi
488815:	55                   	push   %ebp
488816:	8b ec                	mov    %esp,%ebp
488818:	83 ec 18             	sub    $0x18,%esp
48881b:	53                   	push   %ebx
48881c:	33 db                	xor    %ebx,%ebx
48881e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
488821:	8b c2                	mov    %edx,%eax
488823:	56                   	push   %esi
488824:	89 45 f8             	mov    %eax,-0x8(%ebp)
488827:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
48882a:	75 6d                	jne    0x488899
48882c:	db 45 08             	fildl  0x8(%ebp)
48882f:	8d 71 14             	lea    0x14(%ecx),%esi
488832:	89 5d e8             	mov    %ebx,-0x18(%ebp)
488835:	8d 4d e8             	lea    -0x18(%ebp),%ecx
488838:	51                   	push   %ecx
488839:	53                   	push   %ebx
48883a:	d9 5d f8             	fstps  -0x8(%ebp)
48883d:	d9 45 f8             	flds   -0x8(%ebp)
488840:	51                   	push   %ecx
488841:	d9 1c 24             	fstps  (%esp)
488844:	ff 70 04             	push   0x4(%eax)
488847:	ff 15 6c c1 4a 00    	call   *0x4ac16c
48884d:	6a 02                	push   $0x2
48884f:	ff 75 e8             	push   -0x18(%ebp)
488852:	89 45 ec             	mov    %eax,-0x14(%ebp)
488855:	ff 15 74 c1 4a 00    	call   *0x4ac174
48885b:	85 c0                	test   %eax,%eax
48885d:	74 03                	je     0x488862
48885f:	89 45 ec             	mov    %eax,-0x14(%ebp)
488862:	6a 02                	push   $0x2
488864:	ff 75 e8             	push   -0x18(%ebp)
488867:	ff 15 78 c1 4a 00    	call   *0x4ac178
48886d:	85 c0                	test   %eax,%eax
48886f:	74 03                	je     0x488874
488871:	89 45 ec             	mov    %eax,-0x14(%ebp)
488874:	6a 02                	push   $0x2
488876:	ff 75 e8             	push   -0x18(%ebp)
488879:	ff 15 7c c1 4a 00    	call   *0x4ac17c
48887f:	85 c0                	test   %eax,%eax
488881:	74 03                	je     0x488886
488883:	89 45 ec             	mov    %eax,-0x14(%ebp)
488886:	ff 75 10             	push   0x10(%ebp)
488889:	8d 45 e8             	lea    -0x18(%ebp),%eax
48888c:	8b ce                	mov    %esi,%ecx
48888e:	50                   	push   %eax
48888f:	e8 04 05 00 00       	call   0x488d98
488894:	ff 75 e8             	push   -0x18(%ebp)
488897:	eb 70                	jmp    0x488909
488899:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
48889d:	75 7d                	jne    0x48891c
48889f:	db 45 08             	fildl  0x8(%ebp)
4888a2:	8d 71 14             	lea    0x14(%ecx),%esi
4888a5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4888a8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4888ab:	51                   	push   %ecx
4888ac:	53                   	push   %ebx
4888ad:	d9 5d f8             	fstps  -0x8(%ebp)
4888b0:	d9 45 f8             	flds   -0x8(%ebp)
4888b3:	51                   	push   %ecx
4888b4:	d9 1c 24             	fstps  (%esp)
4888b7:	ff 70 04             	push   0x4(%eax)
4888ba:	ff 15 6c c1 4a 00    	call   *0x4ac16c
4888c0:	6a 01                	push   $0x1
4888c2:	ff 75 f0             	push   -0x10(%ebp)
4888c5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4888c8:	ff 15 74 c1 4a 00    	call   *0x4ac174
4888ce:	85 c0                	test   %eax,%eax
4888d0:	74 03                	je     0x4888d5
4888d2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4888d5:	6a 01                	push   $0x1
4888d7:	ff 75 f0             	push   -0x10(%ebp)
4888da:	ff 15 78 c1 4a 00    	call   *0x4ac178
4888e0:	85 c0                	test   %eax,%eax
4888e2:	74 03                	je     0x4888e7
4888e4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4888e7:	53                   	push   %ebx
4888e8:	ff 75 f0             	push   -0x10(%ebp)
4888eb:	ff 15 7c c1 4a 00    	call   *0x4ac17c
4888f1:	85 c0                	test   %eax,%eax
4888f3:	74 03                	je     0x4888f8
4888f5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4888f8:	ff 75 10             	push   0x10(%ebp)
4888fb:	8d 45 f0             	lea    -0x10(%ebp),%eax
4888fe:	8b ce                	mov    %esi,%ecx
488900:	50                   	push   %eax
488901:	e8 92 04 00 00       	call   0x488d98
488906:	ff 75 f0             	push   -0x10(%ebp)
488909:	f7 d8                	neg    %eax
48890b:	1a c0                	sbb    %al,%al
48890d:	fe c0                	inc    %al
48890f:	8a d8                	mov    %al,%bl
488911:	ff 15 b4 c0 4a 00    	call   *0x4ac0b4
488917:	e9 cf 00 00 00       	jmp    0x4889eb
48891c:	8b 4d 10             	mov    0x10(%ebp),%ecx
48891f:	e8 3b 9c ff ff       	call   0x48255f
488924:	d9 05 00 41 41 00    	flds   0x414100
48892a:	8b f0                	mov    %eax,%esi
48892c:	51                   	push   %ecx
48892d:	d9 1c 24             	fstps  (%esp)
488930:	53                   	push   %ebx
488931:	ff 36                	push   (%esi)
488933:	ff 15 2c c1 4a 00    	call   *0x4ac12c
488939:	85 c0                	test   %eax,%eax
48893b:	74 05                	je     0x488942
48893d:	89 46 04             	mov    %eax,0x4(%esi)
488940:	eb 02                	jmp    0x488944
488942:	8b c3                	mov    %ebx,%eax
488944:	85 c0                	test   %eax,%eax
488946:	0f 85 90 00 00 00    	jne    0x4889dc
48894c:	8d 45 fc             	lea    -0x4(%ebp),%eax
48894f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
488952:	50                   	push   %eax
488953:	ff 36                	push   (%esi)
488955:	ff 15 30 c1 4a 00    	call   *0x4ac130
48895b:	85 c0                	test   %eax,%eax
48895d:	74 03                	je     0x488962
48895f:	89 46 04             	mov    %eax,0x4(%esi)
488962:	8b 45 fc             	mov    -0x4(%ebp),%eax
488965:	33 c9                	xor    %ecx,%ecx
488967:	57                   	push   %edi
488968:	6a 08                	push   $0x8
48896a:	5a                   	pop    %edx
48896b:	f7 e2                	mul    %edx
48896d:	0f 90 c1             	seto   %cl
488970:	f7 d9                	neg    %ecx
488972:	0b c8                	or     %eax,%ecx
488974:	51                   	push   %ecx
488975:	e8 94 50 00 00       	call   0x48da0e
48897a:	8b f8                	mov    %eax,%edi
48897c:	89 7d ec             	mov    %edi,-0x14(%ebp)
48897f:	59                   	pop    %ecx
488980:	85 ff                	test   %edi,%edi
488982:	74 18                	je     0x48899c
488984:	8b 45 fc             	mov    -0x4(%ebp),%eax
488987:	8b cf                	mov    %edi,%ecx
488989:	85 c0                	test   %eax,%eax
48898b:	74 11                	je     0x48899e
48898d:	89 59 04             	mov    %ebx,0x4(%ecx)
488990:	89 19                	mov    %ebx,(%ecx)
488992:	83 c1 08             	add    $0x8,%ecx
488995:	83 e8 01             	sub    $0x1,%eax
488998:	75 f3                	jne    0x48898d
48899a:	eb 02                	jmp    0x48899e
48899c:	8b fb                	mov    %ebx,%edi
48899e:	ff 75 fc             	push   -0x4(%ebp)
4889a1:	57                   	push   %edi
4889a2:	ff 36                	push   (%esi)
4889a4:	ff 15 34 c1 4a 00    	call   *0x4ac134
4889aa:	85 c0                	test   %eax,%eax
4889ac:	74 05                	je     0x4889b3
4889ae:	89 46 04             	mov    %eax,0x4(%esi)
4889b1:	eb 02                	jmp    0x4889b5
4889b3:	8b c3                	mov    %ebx,%eax
4889b5:	85 c0                	test   %eax,%eax
4889b7:	75 1b                	jne    0x4889d4
4889b9:	ff 75 14             	push   0x14(%ebp)
4889bc:	8b 55 f8             	mov    -0x8(%ebp),%edx
4889bf:	ff 75 fc             	push   -0x4(%ebp)
4889c2:	51                   	push   %ecx
4889c3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4889c6:	57                   	push   %edi
4889c7:	ff 75 0c             	push   0xc(%ebp)
4889ca:	ff 75 08             	push   0x8(%ebp)
4889cd:	e8 21 00 00 00       	call   0x4889f3
4889d2:	8a d8                	mov    %al,%bl
4889d4:	57                   	push   %edi
4889d5:	e8 72 50 00 00       	call   0x48da4c
4889da:	59                   	pop    %ecx
4889db:	5f                   	pop    %edi
4889dc:	ff 36                	push   (%esi)
4889de:	ff 15 cc c0 4a 00    	call   *0x4ac0cc
4889e4:	56                   	push   %esi
4889e5:	ff 15 04 c0 4a 00    	call   *0x4ac004
4889eb:	5e                   	pop    %esi
4889ec:	8a c3                	mov    %bl,%al
4889ee:	5b                   	pop    %ebx
4889ef:	c9                   	leave
4889f0:	c2 10 00             	ret    $0x10
4889f3:	8b ff                	mov    %edi,%edi
4889f5:	55                   	push   %ebp
4889f6:	8b ec                	mov    %esp,%ebp
4889f8:	83 e4 f8             	and    $0xfffffff8,%esp
4889fb:	83 ec 54             	sub    $0x54,%esp
4889fe:	53                   	push   %ebx
4889ff:	33 db                	xor    %ebx,%ebx
488a01:	8b c2                	mov    %edx,%eax
488a03:	56                   	push   %esi
488a04:	43                   	inc    %ebx
488a05:	89 44 24 10          	mov    %eax,0x10(%esp)
488a09:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
488a0d:	8d 71 14             	lea    0x14(%ecx),%esi
488a10:	57                   	push   %edi
488a11:	0f 85 42 01 00 00    	jne    0x488b59
488a17:	39 5d 18             	cmp    %ebx,0x18(%ebp)
488a1a:	0f 85 a5 00 00 00    	jne    0x488ac5
488a20:	8b 7d 08             	mov    0x8(%ebp),%edi
488a23:	8d 4c 24 40          	lea    0x40(%esp),%ecx
488a27:	8b c7                	mov    %edi,%eax