47a3b5:	8b cb                	mov    %ebx,%ecx
47a3b7:	83 c4 10             	add    $0x10,%esp
47a3ba:	2b c8                	sub    %eax,%ecx
47a3bc:	75 04                	jne    0x47a3c2
47a3be:	85 db                	test   %ebx,%ebx
47a3c0:	75 cd                	jne    0x47a38f
47a3c2:	5b                   	pop    %ebx
47a3c3:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
47a3c7:	74 0a                	je     0x47a3d3
47a3c9:	8b 45 f0             	mov    -0x10(%ebp),%eax
47a3cc:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
47a3d3:	8b c1                	mov    %ecx,%eax
47a3d5:	5f                   	pop    %edi
47a3d6:	5e                   	pop    %esi
47a3d7:	c9                   	leave
47a3d8:	c3                   	ret
47a3d9:	8b ff                	mov    %edi,%edi
47a3db:	55                   	push   %ebp
47a3dc:	8b ec                	mov    %esp,%ebp
47a3de:	8b 4d 10             	mov    0x10(%ebp),%ecx
47a3e1:	85 c9                	test   %ecx,%ecx
47a3e3:	75 04                	jne    0x47a3e9
47a3e5:	33 c0                	xor    %eax,%eax
47a3e7:	5d                   	pop    %ebp
47a3e8:	c3                   	ret
47a3e9:	53                   	push   %ebx
47a3ea:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47a3ed:	56                   	push   %esi
47a3ee:	57                   	push   %edi
47a3ef:	8b 7d 08             	mov    0x8(%ebp),%edi
47a3f2:	0f b7 17             	movzwl (%edi),%edx
47a3f5:	8d 7f 02             	lea    0x2(%edi),%edi
47a3f8:	8d 42 bf             	lea    -0x41(%edx),%eax
47a3fb:	83 f8 19             	cmp    $0x19,%eax
47a3fe:	77 03                	ja     0x47a403
47a400:	83 c2 20             	add    $0x20,%edx
47a403:	0f b7 33             	movzwl (%ebx),%esi
47a406:	83 c3 02             	add    $0x2,%ebx
47a409:	8d 46 bf             	lea    -0x41(%esi),%eax
47a40c:	83 f8 19             	cmp    $0x19,%eax
47a40f:	77 03                	ja     0x47a414
47a411:	83 c6 20             	add    $0x20,%esi
47a414:	8b c2                	mov    %edx,%eax
47a416:	2b c6                	sub    %esi,%eax
47a418:	75 09                	jne    0x47a423
47a41a:	85 d2                	test   %edx,%edx
47a41c:	74 05                	je     0x47a423
47a41e:	83 e9 01             	sub    $0x1,%ecx
47a421:	75 cf                	jne    0x47a3f2
47a423:	5f                   	pop    %edi
47a424:	5e                   	pop    %esi
47a425:	5b                   	pop    %ebx
47a426:	5d                   	pop    %ebp
47a427:	c3                   	ret
47a428:	8b ff                	mov    %edi,%edi
47a42a:	55                   	push   %ebp
47a42b:	8b ec                	mov    %esp,%ebp
47a42d:	83 3d c0 87 4c 00 00 	cmpl   $0x0,0x4c87c0
47a434:	75 29                	jne    0x47a45f
47a436:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
47a43a:	75 17                	jne    0x47a453
47a43c:	e8 f4 fa ff ff       	call   0x479f35
47a441:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a447:	e8 d5 f1 ff ff       	call   0x479621
47a44c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47a451:	5d                   	pop    %ebp
47a452:	c3                   	ret
47a453:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
47a457:	74 e3                	je     0x47a43c
47a459:	5d                   	pop    %ebp
47a45a:	e9 7a ff ff ff       	jmp    0x47a3d9
47a45f:	6a 00                	push   $0x0
47a461:	ff 75 10             	push   0x10(%ebp)
47a464:	ff 75 0c             	push   0xc(%ebp)
47a467:	ff 75 08             	push   0x8(%ebp)
47a46a:	e8 05 00 00 00       	call   0x47a474
47a46f:	83 c4 10             	add    $0x10,%esp
47a472:	5d                   	pop    %ebp
47a473:	c3                   	ret
47a474:	8b ff                	mov    %edi,%edi
47a476:	55                   	push   %ebp
47a477:	8b ec                	mov    %esp,%ebp
47a479:	83 ec 14             	sub    $0x14,%esp
47a47c:	57                   	push   %edi
47a47d:	8b 7d 08             	mov    0x8(%ebp),%edi
47a480:	85 ff                	test   %edi,%edi
47a482:	75 1a                	jne    0x47a49e
47a484:	e8 ac fa ff ff       	call   0x479f35
47a489:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a48f:	e8 8d f1 ff ff       	call   0x479621
47a494:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47a499:	e9 a6 00 00 00       	jmp    0x47a544
47a49e:	53                   	push   %ebx
47a49f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47a4a2:	85 db                	test   %ebx,%ebx
47a4a4:	75 1a                	jne    0x47a4c0
47a4a6:	e8 8a fa ff ff       	call   0x479f35
47a4ab:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a4b1:	e8 6b f1 ff ff       	call   0x479621
47a4b6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47a4bb:	e9 83 00 00 00       	jmp    0x47a543
47a4c0:	56                   	push   %esi
47a4c1:	8b 75 10             	mov    0x10(%ebp),%esi
47a4c4:	85 f6                	test   %esi,%esi
47a4c6:	75 04                	jne    0x47a4cc
47a4c8:	33 c0                	xor    %eax,%eax
47a4ca:	eb 76                	jmp    0x47a542
47a4cc:	ff 75 14             	push   0x14(%ebp)
47a4cf:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47a4d2:	e8 3a f6 ff ff       	call   0x479b11
47a4d7:	8b 45 f0             	mov    -0x10(%ebp),%eax
47a4da:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
47a4e1:	75 0f                	jne    0x47a4f2
47a4e3:	56                   	push   %esi
47a4e4:	53                   	push   %ebx
47a4e5:	57                   	push   %edi
47a4e6:	e8 ee fe ff ff       	call   0x47a3d9
47a4eb:	83 c4 0c             	add    $0xc,%esp
47a4ee:	8b c8                	mov    %eax,%ecx
47a4f0:	eb 3e                	jmp    0x47a530
47a4f2:	0f b7 07             	movzwl (%edi),%eax
47a4f5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a4f8:	51                   	push   %ecx
47a4f9:	50                   	push   %eax
47a4fa:	8d 7f 02             	lea    0x2(%edi),%edi
47a4fd:	e8 97 fd ff ff       	call   0x47a299
47a502:	0f b7 c0             	movzwl %ax,%eax
47a505:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a508:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a50b:	0f b7 03             	movzwl (%ebx),%eax
47a50e:	8d 5b 02             	lea    0x2(%ebx),%ebx
47a511:	51                   	push   %ecx
47a512:	50                   	push   %eax
47a513:	e8 81 fd ff ff       	call   0x47a299
47a518:	8b 55 fc             	mov    -0x4(%ebp),%edx
47a51b:	83 c4 10             	add    $0x10,%esp
47a51e:	0f b7 c0             	movzwl %ax,%eax
47a521:	8b ca                	mov    %edx,%ecx
47a523:	2b c8                	sub    %eax,%ecx
47a525:	75 09                	jne    0x47a530
47a527:	85 d2                	test   %edx,%edx
47a529:	74 05                	je     0x47a530
47a52b:	83 ee 01             	sub    $0x1,%esi
47a52e:	75 c2                	jne    0x47a4f2
47a530:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
47a534:	74 0a                	je     0x47a540
47a536:	8b 45 ec             	mov    -0x14(%ebp),%eax
47a539:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
47a540:	8b c1                	mov    %ecx,%eax
47a542:	5e                   	pop    %esi
47a543:	5b                   	pop    %ebx
47a544:	5f                   	pop    %edi
47a545:	c9                   	leave
47a546:	c3                   	ret
47a547:	8b ff                	mov    %edi,%edi
47a549:	55                   	push   %ebp
47a54a:	8b ec                	mov    %esp,%ebp
47a54c:	8b 45 10             	mov    0x10(%ebp),%eax
47a54f:	85 c0                	test   %eax,%eax
47a551:	75 02                	jne    0x47a555
47a553:	5d                   	pop    %ebp
47a554:	c3                   	ret
47a555:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a558:	8b 55 08             	mov    0x8(%ebp),%edx
47a55b:	56                   	push   %esi
47a55c:	83 e8 01             	sub    $0x1,%eax
47a55f:	74 15                	je     0x47a576
47a561:	0f b7 32             	movzwl (%edx),%esi
47a564:	66 85 f6             	test   %si,%si
47a567:	74 0d                	je     0x47a576
47a569:	66 3b 31             	cmp    (%ecx),%si
47a56c:	75 08                	jne    0x47a576
47a56e:	83 c2 02             	add    $0x2,%edx
47a571:	83 c1 02             	add    $0x2,%ecx
47a574:	eb e6                	jmp    0x47a55c
47a576:	0f b7 02             	movzwl (%edx),%eax
47a579:	0f b7 09             	movzwl (%ecx),%ecx
47a57c:	2b c1                	sub    %ecx,%eax
47a57e:	5e                   	pop    %esi
47a57f:	5d                   	pop    %ebp
47a580:	c3                   	ret
47a581:	8b ff                	mov    %edi,%edi
47a583:	55                   	push   %ebp
47a584:	8b ec                	mov    %esp,%ebp
47a586:	5d                   	pop    %ebp
47a587:	e9 b1 dd 00 00       	jmp    0x48833d
47a58c:	8b ff                	mov    %edi,%edi
47a58e:	55                   	push   %ebp
47a58f:	8b ec                	mov    %esp,%ebp
47a591:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
47a595:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a598:	99                   	cltd
47a599:	33 d2                	xor    %edx,%edx
47a59b:	c1 e0 1f             	shl    $0x1f,%eax
47a59e:	83 ca 01             	or     $0x1,%edx
47a5a1:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
47a5a6:	89 11                	mov    %edx,(%ecx)
47a5a8:	89 41 04             	mov    %eax,0x4(%ecx)
47a5ab:	5d                   	pop    %ebp
47a5ac:	c3                   	ret
47a5ad:	8b ff                	mov    %edi,%edi
47a5af:	55                   	push   %ebp
47a5b0:	8b ec                	mov    %esp,%ebp
47a5b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a5b5:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
47a5b9:	c1 e0 1f             	shl    $0x1f,%eax
47a5bc:	8d 49 7f             	lea    0x7f(%ecx),%ecx
47a5bf:	c1 e1 17             	shl    $0x17,%ecx
47a5c2:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
47a5c8:	0b c8                	or     %eax,%ecx
47a5ca:	8b 45 10             	mov    0x10(%ebp),%eax
47a5cd:	25 ff ff 7f 00       	and    $0x7fffff,%eax
47a5d2:	0b c8                	or     %eax,%ecx
47a5d4:	8b 45 18             	mov    0x18(%ebp),%eax
47a5d7:	89 08                	mov    %ecx,(%eax)
47a5d9:	33 c0                	xor    %eax,%eax
47a5db:	5d                   	pop    %ebp
47a5dc:	c3                   	ret
47a5dd:	8b ff                	mov    %edi,%edi
47a5df:	55                   	push   %ebp
47a5e0:	8b ec                	mov    %esp,%ebp
47a5e2:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
47a5e6:	33 c9                	xor    %ecx,%ecx
47a5e8:	0b 4d 10             	or     0x10(%ebp),%ecx
47a5eb:	56                   	push   %esi
47a5ec:	8b 75 0c             	mov    0xc(%ebp),%esi
47a5ef:	99                   	cltd
47a5f0:	81 c6 ff 03 00 00    	add    $0x3ff,%esi
47a5f6:	0f a4 c2 0b          	shld   $0xb,%eax,%edx
47a5fa:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
47a600:	c1 e0 0b             	shl    $0xb,%eax
47a603:	0b f0                	or     %eax,%esi
47a605:	8b 45 14             	mov    0x14(%ebp),%eax
47a608:	c1 e6 14             	shl    $0x14,%esi
47a60b:	25 ff ff 0f 00       	and    $0xfffff,%eax
47a610:	0b f0                	or     %eax,%esi
47a612:	8b 45 18             	mov    0x18(%ebp),%eax
47a615:	89 70 04             	mov    %esi,0x4(%eax)
47a618:	89 08                	mov    %ecx,(%eax)
47a61a:	33 c0                	xor    %eax,%eax
47a61c:	5e                   	pop    %esi
47a61d:	5d                   	pop    %ebp
47a61e:	c3                   	ret
47a61f:	8b ff                	mov    %edi,%edi
47a621:	55                   	push   %ebp
47a622:	8b ec                	mov    %esp,%ebp
47a624:	83 ec 18             	sub    $0x18,%esp
47a627:	56                   	push   %esi
47a628:	8b 75 08             	mov    0x8(%ebp),%esi
47a62b:	57                   	push   %edi
47a62c:	8b 7d 0c             	mov    0xc(%ebp),%edi
47a62f:	85 ff                	test   %edi,%edi
47a631:	74 02                	je     0x47a635
47a633:	89 37                	mov    %esi,(%edi)
47a635:	85 f6                	test   %esi,%esi
47a637:	75 14                	jne    0x47a64d
47a639:	e8 f7 f8 ff ff       	call   0x479f35
47a63e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a644:	e8 d8 ef ff ff       	call   0x479621
47a649:	d9 ee                	fldz
47a64b:	eb 5d                	jmp    0x47a6aa
47a64d:	ff 75 10             	push   0x10(%ebp)
47a650:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47a653:	e8 b9 f4 ff ff       	call   0x479b11
47a658:	d9 ee                	fldz
47a65a:	8d 45 fc             	lea    -0x4(%ebp),%eax
47a65d:	50                   	push   %eax
47a65e:	51                   	push   %ecx
47a65f:	51                   	push   %ecx
47a660:	8b c4                	mov    %esp,%eax
47a662:	57                   	push   %edi
47a663:	56                   	push   %esi
47a664:	50                   	push   %eax
47a665:	d9 5d fc             	fstps  -0x4(%ebp)
47a668:	e8 a4 b3 ff ff       	call   0x475a11
47a66d:	83 c4 0c             	add    $0xc,%esp
47a670:	8d 45 ec             	lea    -0x14(%ebp),%eax
47a673:	50                   	push   %eax
47a674:	e8 cb 01 00 00       	call   0x47a844
47a679:	83 c4 10             	add    $0x10,%esp
47a67c:	83 f8 03             	cmp    $0x3,%eax
47a67f:	74 05                	je     0x47a686
47a681:	83 f8 02             	cmp    $0x2,%eax
47a684:	75 0b                	jne    0x47a691
47a686:	e8 aa f8 ff ff       	call   0x479f35
47a68b:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
47a691:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
47a695:	d9 45 fc             	flds   -0x4(%ebp)
47a698:	d9 5d f8             	fstps  -0x8(%ebp)
47a69b:	74 0a                	je     0x47a6a7
47a69d:	8b 45 e8             	mov    -0x18(%ebp),%eax
47a6a0:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
47a6a7:	d9 45 f8             	flds   -0x8(%ebp)
47a6aa:	5f                   	pop    %edi
47a6ab:	5e                   	pop    %esi
47a6ac:	c9                   	leave
47a6ad:	c3                   	ret
47a6ae:	8b ff                	mov    %edi,%edi
47a6b0:	55                   	push   %ebp
47a6b1:	8b ec                	mov    %esp,%ebp
47a6b3:	83 ec 1c             	sub    $0x1c,%esp
47a6b6:	56                   	push   %esi
47a6b7:	8b 75 08             	mov    0x8(%ebp),%esi
47a6ba:	57                   	push   %edi
47a6bb:	8b 7d 0c             	mov    0xc(%ebp),%edi
47a6be:	85 ff                	test   %edi,%edi
47a6c0:	74 02                	je     0x47a6c4
47a6c2:	89 37                	mov    %esi,(%edi)
47a6c4:	85 f6                	test   %esi,%esi
47a6c6:	75 14                	jne    0x47a6dc
47a6c8:	e8 68 f8 ff ff       	call   0x479f35
47a6cd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a6d3:	e8 49 ef ff ff       	call   0x479621
47a6d8:	d9 ee                	fldz
47a6da:	eb 57                	jmp    0x47a733
47a6dc:	ff 75 10             	push   0x10(%ebp)
47a6df:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47a6e2:	e8 2a f4 ff ff       	call   0x479b11
47a6e7:	d9 ee                	fldz
47a6e9:	8d 45 f4             	lea    -0xc(%ebp),%eax
47a6ec:	50                   	push   %eax
47a6ed:	51                   	push   %ecx
47a6ee:	51                   	push   %ecx
47a6ef:	8b c4                	mov    %esp,%eax
47a6f1:	57                   	push   %edi
47a6f2:	56                   	push   %esi
47a6f3:	50                   	push   %eax
47a6f4:	dd 5d f4             	fstpl  -0xc(%ebp)
47a6f7:	e8 15 b3 ff ff       	call   0x475a11
47a6fc:	83 c4 0c             	add    $0xc,%esp
47a6ff:	8d 45 e8             	lea    -0x18(%ebp),%eax
47a702:	50                   	push   %eax
47a703:	e8 bc 01 00 00       	call   0x47a8c4
47a708:	83 c4 10             	add    $0x10,%esp
47a70b:	83 f8 03             	cmp    $0x3,%eax
47a70e:	74 05                	je     0x47a715
47a710:	83 f8 02             	cmp    $0x2,%eax
47a713:	75 0b                	jne    0x47a720
47a715:	e8 1b f8 ff ff       	call   0x479f35
47a71a:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
47a720:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
47a724:	dd 45 f4             	fldl   -0xc(%ebp)
47a727:	74 0a                	je     0x47a733
47a729:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47a72c:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
47a733:	5f                   	pop    %edi
47a734:	5e                   	pop    %esi
47a735:	c9                   	leave
47a736:	c3                   	ret
47a737:	8b ff                	mov    %edi,%edi