47961f:	e8 dc 68 01 00       	call   0x48ff00
479624:	c9                   	leave
479625:	c2 18 00             	ret    $0x18
479628:	cc                   	int3
479629:	cc                   	int3
47962a:	cc                   	int3
47962b:	cc                   	int3
47962c:	cc                   	int3
47962d:	cc                   	int3
47962e:	cc                   	int3
47962f:	cc                   	int3
479630:	8b ff                	mov    %edi,%edi
479632:	55                   	push   %ebp
479633:	8b ec                	mov    %esp,%ebp
479635:	83 ec 20             	sub    $0x20,%esp
479638:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47963d:	33 c5                	xor    %ebp,%eax
47963f:	89 45 fc             	mov    %eax,-0x4(%ebp)
479642:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
479649:	8b 45 18             	mov    0x18(%ebp),%eax
47964c:	53                   	push   %ebx
47964d:	8b 5d 10             	mov    0x10(%ebp),%ebx
479650:	56                   	push   %esi
479651:	8b 75 0c             	mov    0xc(%ebp),%esi
479654:	57                   	push   %edi
479655:	8b 7d 08             	mov    0x8(%ebp),%edi
479658:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47965b:	74 14                	je     0x479671
47965d:	8d 45 ec             	lea    -0x14(%ebp),%eax
479660:	ba 18 f5 40 00       	mov    $0x40f518,%edx
479665:	50                   	push   %eax
479666:	6a 01                	push   $0x1
479668:	51                   	push   %ecx
479669:	e8 35 be fa ff       	call   0x4254a3
47966e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
479671:	33 c9                	xor    %ecx,%ecx
479673:	39 4f 30             	cmp    %ecx,0x30(%edi)
479676:	74 4d                	je     0x4796c5
479678:	d9 ee                	fldz
47967a:	51                   	push   %ecx
47967b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
47967e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
479681:	89 4d e8             	mov    %ecx,-0x18(%ebp)
479684:	89 4d ec             	mov    %ecx,-0x14(%ebp)
479687:	89 4d f0             	mov    %ecx,-0x10(%ebp)
47968a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47968d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
479690:	51                   	push   %ecx
479691:	8d 4d e0             	lea    -0x20(%ebp),%ecx
479694:	51                   	push   %ecx
479695:	50                   	push   %eax
479696:	ff 75 14             	push   0x14(%ebp)
479699:	8b cf                	mov    %edi,%ecx
47969b:	53                   	push   %ebx
47969c:	56                   	push   %esi
47969d:	d9 5d f8             	fstps  -0x8(%ebp)
4796a0:	e8 33 00 00 00       	call   0x4796d8
4796a5:	84 c0                	test   %al,%al
4796a7:	74 1c                	je     0x4796c5
4796a9:	8b 7f 30             	mov    0x30(%edi),%edi
4796ac:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4796af:	51                   	push   %ecx
4796b0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4796b3:	51                   	push   %ecx
4796b4:	8b 07                	mov    (%edi),%eax
4796b6:	8b 70 04             	mov    0x4(%eax),%esi
4796b9:	8b ce                	mov    %esi,%ecx
4796bb:	ff 15 2c 81 4a 00    	call   *0x4a812c
4796c1:	8b cf                	mov    %edi,%ecx
4796c3:	ff d6                	call   *%esi
4796c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4796c8:	33 c0                	xor    %eax,%eax
4796ca:	5f                   	pop    %edi
4796cb:	5e                   	pop    %esi
4796cc:	33 cd                	xor    %ebp,%ecx
4796ce:	5b                   	pop    %ebx
4796cf:	e8 2c 68 01 00       	call   0x48ff00
4796d4:	c9                   	leave
4796d5:	c2 18 00             	ret    $0x18
4796d8:	8b ff                	mov    %edi,%edi
4796da:	55                   	push   %ebp
4796db:	8b ec                	mov    %esp,%ebp
4796dd:	83 ec 18             	sub    $0x18,%esp
4796e0:	53                   	push   %ebx
4796e1:	56                   	push   %esi
4796e2:	57                   	push   %edi
4796e3:	8b 7d 08             	mov    0x8(%ebp),%edi
4796e6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4796e9:	50                   	push   %eax
4796ea:	8d 45 f0             	lea    -0x10(%ebp),%eax
4796ed:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4796f0:	50                   	push   %eax
4796f1:	8b 37                	mov    (%edi),%esi
4796f3:	8d 45 ec             	lea    -0x14(%ebp),%eax
4796f6:	50                   	push   %eax
4796f7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4796fa:	33 db                	xor    %ebx,%ebx
4796fc:	50                   	push   %eax
4796fd:	8b 45 0c             	mov    0xc(%ebp),%eax
479700:	8b b6 84 00 00 00    	mov    0x84(%esi),%esi
479706:	8b ce                	mov    %esi,%ecx
479708:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47970b:	ff 30                	push   (%eax)
47970d:	57                   	push   %edi
47970e:	ff 15 2c 81 4a 00    	call   *0x4a812c
479714:	ff d6                	call   *%esi
479716:	8b 45 10             	mov    0x10(%ebp),%eax
479719:	83 f8 02             	cmp    $0x2,%eax
47971c:	0f 82 24 01 00 00    	jb     0x479846
479722:	3b 45 f0             	cmp    -0x10(%ebp),%eax
479725:	0f 85 1b 01 00 00    	jne    0x479846
47972b:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
47972e:	85 db                	test   %ebx,%ebx
479730:	74 08                	je     0x47973a
479732:	8b 45 0c             	mov    0xc(%ebp),%eax
479735:	89 3b                	mov    %edi,(%ebx)
479737:	89 43 04             	mov    %eax,0x4(%ebx)
47973a:	8b 45 14             	mov    0x14(%ebp),%eax
47973d:	8b 7d 18             	mov    0x18(%ebp),%edi
479740:	c7 45 f4 ec 09 00 00 	movl   $0x9ec,-0xc(%ebp)
479747:	6a 02                	push   $0x2
479749:	8b 08                	mov    (%eax),%ecx
47974b:	89 0f                	mov    %ecx,(%edi)
47974d:	8b 70 04             	mov    0x4(%eax),%esi
479750:	8b 45 f8             	mov    -0x8(%ebp),%eax
479753:	89 77 04             	mov    %esi,0x4(%edi)
479756:	8b 40 44             	mov    0x44(%eax),%eax
479759:	0f af c1             	imul   %ecx,%eax
47975c:	b9 f6 04 00 00       	mov    $0x4f6,%ecx
479761:	03 c1                	add    %ecx,%eax
479763:	99                   	cltd
479764:	f7 7d f4             	idivl  -0xc(%ebp)
479767:	89 07                	mov    %eax,(%edi)
479769:	8b 45 f8             	mov    -0x8(%ebp),%eax
47976c:	8b 40 48             	mov    0x48(%eax),%eax
47976f:	0f af c6             	imul   %esi,%eax
479772:	03 c1                	add    %ecx,%eax
479774:	99                   	cltd
479775:	f7 7d f4             	idivl  -0xc(%ebp)
479778:	59                   	pop    %ecx
479779:	89 47 04             	mov    %eax,0x4(%edi)
47977c:	39 4d 10             	cmp    %ecx,0x10(%ebp)
47977f:	0f 86 bf 00 00 00    	jbe    0x479844
479785:	8b 55 fc             	mov    -0x4(%ebp),%edx
479788:	83 c2 40             	add    $0x40,%edx
47978b:	33 f6                	xor    %esi,%esi
47978d:	8b fe                	mov    %esi,%edi
47978f:	8b 04 ba             	mov    (%edx,%edi,4),%eax
479792:	bb ec 37 41 00       	mov    $0x4137ec,%ebx
479797:	3b 04 bb             	cmp    (%ebx,%edi,4),%eax
47979a:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
47979d:	75 4d                	jne    0x4797ec
47979f:	47                   	inc    %edi
4797a0:	83 ff 04             	cmp    $0x4,%edi
4797a3:	75 ea                	jne    0x47978f
4797a5:	85 db                	test   %ebx,%ebx
4797a7:	0f 84 8a 00 00 00    	je     0x479837
4797ad:	8b 7a 14             	mov    0x14(%edx),%edi
4797b0:	8b 42 10             	mov    0x10(%edx),%eax
4797b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4797b6:	85 ff                	test   %edi,%edi
4797b8:	75 05                	jne    0x4797bf
4797ba:	bf ff 00 00 00       	mov    $0xff,%edi
4797bf:	8b 45 14             	mov    0x14(%ebp),%eax
4797c2:	2b 7d f4             	sub    -0xc(%ebp),%edi
4797c5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4797c8:	2b 45 f4             	sub    -0xc(%ebp),%eax
4797cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4797ce:	db 45 f8             	fildl  -0x8(%ebp)
4797d1:	89 7d f4             	mov    %edi,-0xc(%ebp)
4797d4:	d9 5d f8             	fstps  -0x8(%ebp)
4797d7:	d9 45 f8             	flds   -0x8(%ebp)
4797da:	db 45 f4             	fildl  -0xc(%ebp)
4797dd:	d9 5d f4             	fstps  -0xc(%ebp)
4797e0:	d8 75 f4             	fdivs  -0xc(%ebp)
4797e3:	83 4b 0c 01          	orl    $0x1,0xc(%ebx)
4797e7:	d9 5b 10             	fstps  0x10(%ebx)
4797ea:	eb 4b                	jmp    0x479837
4797ec:	8b fe                	mov    %esi,%edi
4797ee:	8b 04 ba             	mov    (%edx,%edi,4),%eax
4797f1:	bb dc 37 41 00       	mov    $0x4137dc,%ebx
4797f6:	3b 04 bb             	cmp    (%ebx,%edi,4),%eax
4797f9:	75 17                	jne    0x479812
4797fb:	47                   	inc    %edi
4797fc:	83 ff 04             	cmp    $0x4,%edi
4797ff:	75 ed                	jne    0x4797ee
479801:	8b 7d 20             	mov    0x20(%ebp),%edi
479804:	85 ff                	test   %edi,%edi
479806:	74 2f                	je     0x479837
479808:	8b 45 14             	mov    0x14(%ebp),%eax
47980b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47980e:	89 07                	mov    %eax,(%edi)
479810:	eb 25                	jmp    0x479837
479812:	8b fe                	mov    %esi,%edi
479814:	8b 04 ba             	mov    (%edx,%edi,4),%eax
479817:	bb cc 37 41 00       	mov    $0x4137cc,%ebx
47981c:	3b 04 bb             	cmp    (%ebx,%edi,4),%eax
47981f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
479822:	75 13                	jne    0x479837
479824:	47                   	inc    %edi
479825:	83 ff 04             	cmp    $0x4,%edi
479828:	75 ea                	jne    0x479814
47982a:	85 db                	test   %ebx,%ebx
47982c:	74 09                	je     0x479837
47982e:	8b 45 14             	mov    0x14(%ebp),%eax
479831:	8b 04 88             	mov    (%eax,%ecx,4),%eax
479834:	89 43 08             	mov    %eax,0x8(%ebx)
479837:	41                   	inc    %ecx
479838:	83 c2 20             	add    $0x20,%edx
47983b:	3b 4d 10             	cmp    0x10(%ebp),%ecx
47983e:	0f 82 49 ff ff ff    	jb     0x47978d
479844:	b3 01                	mov    $0x1,%bl
479846:	ff 75 fc             	push   -0x4(%ebp)
479849:	ff 15 88 7e 4a 00    	call   *0x4a7e88
47984f:	5f                   	pop    %edi
479850:	5e                   	pop    %esi
479851:	8a c3                	mov    %bl,%al
479853:	5b                   	pop    %ebx
479854:	c9                   	leave
479855:	c2 1c 00             	ret    $0x1c
479858:	cc                   	int3
479859:	cc                   	int3
47985a:	cc                   	int3
47985b:	cc                   	int3
47985c:	cc                   	int3
47985d:	cc                   	int3
47985e:	cc                   	int3
47985f:	cc                   	int3
479860:	8b ff                	mov    %edi,%edi
479862:	55                   	push   %ebp
479863:	8b ec                	mov    %esp,%ebp
479865:	83 ec 24             	sub    $0x24,%esp
479868:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47986d:	33 c5                	xor    %ebp,%eax
47986f:	89 45 fc             	mov    %eax,-0x4(%ebp)
479872:	8b 45 08             	mov    0x8(%ebp),%eax
479875:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479878:	57                   	push   %edi
479879:	8b 78 30             	mov    0x30(%eax),%edi
47987c:	85 ff                	test   %edi,%edi
47987e:	74 39                	je     0x4798b9
479880:	8b 45 14             	mov    0x14(%ebp),%eax
479883:	d9 ee                	fldz
479885:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
479889:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
47988d:	89 45 f4             	mov    %eax,-0xc(%ebp)
479890:	8b 45 10             	mov    0x10(%ebp),%eax
479893:	89 45 f0             	mov    %eax,-0x10(%ebp)
479896:	8d 45 f0             	lea    -0x10(%ebp),%eax
479899:	89 4d dc             	mov    %ecx,-0x24(%ebp)
47989c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
47989f:	89 45 e0             	mov    %eax,-0x20(%ebp)
4798a2:	d9 5d ec             	fstps  -0x14(%ebp)
4798a5:	8b 07                	mov    (%edi),%eax
4798a7:	56                   	push   %esi
4798a8:	51                   	push   %ecx
4798a9:	8b 70 0c             	mov    0xc(%eax),%esi
4798ac:	8b ce                	mov    %esi,%ecx
4798ae:	ff 15 2c 81 4a 00    	call   *0x4a812c
4798b4:	8b cf                	mov    %edi,%ecx
4798b6:	ff d6                	call   *%esi
4798b8:	5e                   	pop    %esi
4798b9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4798bc:	33 c0                	xor    %eax,%eax
4798be:	33 cd                	xor    %ebp,%ecx
4798c0:	5f                   	pop    %edi
4798c1:	e8 3a 66 01 00       	call   0x48ff00
4798c6:	c9                   	leave
4798c7:	c2 10 00             	ret    $0x10
4798ca:	cc                   	int3
4798cb:	cc                   	int3
4798cc:	cc                   	int3
4798cd:	cc                   	int3
4798ce:	cc                   	int3
4798cf:	cc                   	int3
4798d0:	8b ff                	mov    %edi,%edi
4798d2:	55                   	push   %ebp
4798d3:	8b ec                	mov    %esp,%ebp
4798d5:	83 ec 24             	sub    $0x24,%esp
4798d8:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
4798dd:	33 c5                	xor    %ebp,%eax
4798df:	89 45 fc             	mov    %eax,-0x4(%ebp)
4798e2:	8b 45 08             	mov    0x8(%ebp),%eax
4798e5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4798e8:	57                   	push   %edi
4798e9:	8b 78 30             	mov    0x30(%eax),%edi
4798ec:	85 ff                	test   %edi,%edi
4798ee:	74 39                	je     0x479929
4798f0:	8b 45 14             	mov    0x14(%ebp),%eax
4798f3:	d9 ee                	fldz
4798f5:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4798f9:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4798fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
479900:	8b 45 10             	mov    0x10(%ebp),%eax
479903:	89 45 f0             	mov    %eax,-0x10(%ebp)
479906:	8d 45 f0             	lea    -0x10(%ebp),%eax
479909:	89 4d dc             	mov    %ecx,-0x24(%ebp)
47990c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
47990f:	89 45 e0             	mov    %eax,-0x20(%ebp)
479912:	d9 5d ec             	fstps  -0x14(%ebp)
479915:	8b 07                	mov    (%edi),%eax
479917:	56                   	push   %esi
479918:	51                   	push   %ecx
479919:	8b 70 10             	mov    0x10(%eax),%esi
47991c:	8b ce                	mov    %esi,%ecx
47991e:	ff 15 2c 81 4a 00    	call   *0x4a812c
479924:	8b cf                	mov    %edi,%ecx
479926:	ff d6                	call   *%esi
479928:	5e                   	pop    %esi
479929:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47992c:	33 c0                	xor    %eax,%eax
47992e:	33 cd                	xor    %ebp,%ecx
479930:	5f                   	pop    %edi
479931:	e8 ca 65 01 00       	call   0x48ff00
479936:	c9                   	leave
479937:	c2 10 00             	ret    $0x10
47993a:	cc                   	int3
47993b:	cc                   	int3
47993c:	cc                   	int3
47993d:	cc                   	int3
47993e:	cc                   	int3
47993f:	cc                   	int3
479940:	8b ff                	mov    %edi,%edi
479942:	55                   	push   %ebp
479943:	8b ec                	mov    %esp,%ebp
479945:	83 ec 40             	sub    $0x40,%esp
479948:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47994d:	33 c5                	xor    %ebp,%eax
47994f:	89 45 fc             	mov    %eax,-0x4(%ebp)
479952:	8b 55 0c             	mov    0xc(%ebp),%edx
479955:	53                   	push   %ebx
479956:	8b 5d 08             	mov    0x8(%ebp),%ebx
479959:	56                   	push   %esi
47995a:	57                   	push   %edi
47995b:	6a 05                	push   $0x5
47995d:	59                   	pop    %ecx
47995e:	8d 75 1c             	lea    0x1c(%ebp),%esi
479961:	8d 7d dc             	lea    -0x24(%ebp),%edi
479964:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
479966:	8b 73 30             	mov    0x30(%ebx),%esi
479969:	85 f6                	test   %esi,%esi
47996b:	0f 84 8b 00 00 00    	je     0x4799fc
479971:	8b 45 14             	mov    0x14(%ebp),%eax
479974:	b9 f6 04 00 00       	mov    $0x4f6,%ecx
479979:	89 45 f4             	mov    %eax,-0xc(%ebp)
47997c:	bf ec 09 00 00       	mov    $0x9ec,%edi
479981:	8b 45 10             	mov    0x10(%ebp),%eax
479984:	89 45 f0             	mov    %eax,-0x10(%ebp)
479987:	8d 45 f0             	lea    -0x10(%ebp),%eax
47998a:	89 45 c4             	mov    %eax,-0x3c(%ebp)