501470:	74 2c                	je     0x50149e
501472:	8b 45 f8             	mov    -0x8(%ebp),%eax
501475:	46                   	inc    %esi
501476:	83 c7 14             	add    $0x14,%edi
501479:	3b 30                	cmp    (%eax),%esi
50147b:	7c b3                	jl     0x501430
50147d:	8b 4d 08             	mov    0x8(%ebp),%ecx
501480:	8b 45 0c             	mov    0xc(%ebp),%eax
501483:	f7 40 04 00 08 00 00 	testl  $0x800,0x4(%eax)
50148a:	74 1e                	je     0x5014aa
50148c:	5f                   	pop    %edi
50148d:	33 c0                	xor    %eax,%eax
50148f:	5e                   	pop    %esi
501490:	66 89 41 14          	mov    %ax,0x14(%ecx)
501494:	b8 02 00 00 00       	mov    $0x2,%eax
501499:	5b                   	pop    %ebx
50149a:	8b e5                	mov    %ebp,%esp
50149c:	5d                   	pop    %ebp
50149d:	c3                   	ret
50149e:	5f                   	pop    %edi
50149f:	5e                   	pop    %esi
5014a0:	b8 01 00 00 00       	mov    $0x1,%eax
5014a5:	5b                   	pop    %ebx
5014a6:	8b e5                	mov    %ebp,%esp
5014a8:	5d                   	pop    %ebp
5014a9:	c3                   	ret
5014aa:	50                   	push   %eax
5014ab:	51                   	push   %ecx
5014ac:	e8 0f fe ff ff       	call   0x5012c0
5014b1:	83 c4 08             	add    $0x8,%esp
5014b4:	5f                   	pop    %edi
5014b5:	5e                   	pop    %esi
5014b6:	5b                   	pop    %ebx
5014b7:	8b e5                	mov    %ebp,%esp
5014b9:	5d                   	pop    %ebp
5014ba:	c3                   	ret
5014bb:	cc                   	int3
5014bc:	cc                   	int3
5014bd:	cc                   	int3
5014be:	cc                   	int3
5014bf:	cc                   	int3
5014c0:	55                   	push   %ebp
5014c1:	8b ec                	mov    %esp,%ebp
5014c3:	8b 45 0c             	mov    0xc(%ebp),%eax
5014c6:	80 38 a9             	cmpb   $0xa9,(%eax)
5014c9:	75 19                	jne    0x5014e4
5014cb:	f7 40 04 00 00 08 00 	testl  $0x80000,0x4(%eax)
5014d2:	75 10                	jne    0x5014e4
5014d4:	8b 45 08             	mov    0x8(%ebp),%eax
5014d7:	33 c9                	xor    %ecx,%ecx
5014d9:	66 89 48 14          	mov    %cx,0x14(%eax)
5014dd:	b8 02 00 00 00       	mov    $0x2,%eax
5014e2:	5d                   	pop    %ebp
5014e3:	c3                   	ret
5014e4:	33 c0                	xor    %eax,%eax
5014e6:	5d                   	pop    %ebp
5014e7:	c3                   	ret
5014e8:	cc                   	int3
5014e9:	cc                   	int3
5014ea:	cc                   	int3
5014eb:	cc                   	int3
5014ec:	cc                   	int3
5014ed:	cc                   	int3
5014ee:	cc                   	int3
5014ef:	cc                   	int3
5014f0:	55                   	push   %ebp
5014f1:	8b ec                	mov    %esp,%ebp
5014f3:	83 ec 08             	sub    $0x8,%esp
5014f6:	8b 45 08             	mov    0x8(%ebp),%eax
5014f9:	f2 0f 10 05 38 c6 6b 	movsd  0x6bc638,%xmm0
501500:	00
501501:	f2 0f 11 45 f8       	movsd  %xmm0,-0x8(%ebp)
501506:	80 38 96             	cmpb   $0x96,(%eax)
501509:	74 07                	je     0x501512
50150b:	83 c8 ff             	or     $0xffffffff,%eax
50150e:	8b e5                	mov    %ebp,%esp
501510:	5d                   	pop    %ebp
501511:	c3                   	ret
501512:	8b 50 08             	mov    0x8(%eax),%edx
501515:	85 d2                	test   %edx,%edx
501517:	75 04                	jne    0x50151d
501519:	33 c9                	xor    %ecx,%ecx
50151b:	eb 16                	jmp    0x501533
50151d:	8b ca                	mov    %edx,%ecx
50151f:	56                   	push   %esi
501520:	8d 71 01             	lea    0x1(%ecx),%esi
501523:	8a 01                	mov    (%ecx),%al
501525:	41                   	inc    %ecx
501526:	84 c0                	test   %al,%al
501528:	75 f9                	jne    0x501523
50152a:	2b ce                	sub    %esi,%ecx
50152c:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
501532:	5e                   	pop    %esi
501533:	6a 01                	push   $0x1
501535:	51                   	push   %ecx
501536:	8d 45 f8             	lea    -0x8(%ebp),%eax
501539:	50                   	push   %eax
50153a:	52                   	push   %edx
50153b:	e8 20 7b 01 00       	call   0x519060
501540:	f2 0f 10 45 f8       	movsd  -0x8(%ebp),%xmm0
501545:	83 c4 10             	add    $0x10,%esp
501548:	66 0f 2f 05 00 9c 6a 	comisd 0x6a9c00,%xmm0
50154f:	00
501550:	77 b9                	ja     0x50150b
501552:	f2 0f 59 05 d0 c5 6b 	mulsd  0x6bc5d0,%xmm0
501559:	00
50155a:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
50155e:	8b e5                	mov    %ebp,%esp
501560:	5d                   	pop    %ebp
501561:	c3                   	ret
501562:	cc                   	int3
501563:	cc                   	int3
501564:	cc                   	int3
501565:	cc                   	int3
501566:	cc                   	int3
501567:	cc                   	int3
501568:	cc                   	int3
501569:	cc                   	int3
50156a:	cc                   	int3
50156b:	cc                   	int3
50156c:	cc                   	int3
50156d:	cc                   	int3
50156e:	cc                   	int3
50156f:	cc                   	int3
501570:	55                   	push   %ebp
501571:	8b ec                	mov    %esp,%ebp
501573:	83 ec 18             	sub    $0x18,%esp
501576:	8b 4d 0c             	mov    0xc(%ebp),%ecx
501579:	0f 57 c0             	xorps  %xmm0,%xmm0
50157c:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
501581:	85 c9                	test   %ecx,%ecx
501583:	0f 84 2a 01 00 00    	je     0x5016b3
501589:	53                   	push   %ebx
50158a:	8b 5d 08             	mov    0x8(%ebp),%ebx
50158d:	56                   	push   %esi
50158e:	8b 75 f0             	mov    -0x10(%ebp),%esi
501591:	57                   	push   %edi
501592:	8b 7d f4             	mov    -0xc(%ebp),%edi
501595:	ff 71 1c             	push   0x1c(%ecx)
501598:	8b 41 20             	mov    0x20(%ecx),%eax
50159b:	53                   	push   %ebx
50159c:	89 45 f4             	mov    %eax,-0xc(%ebp)
50159f:	e8 6c 25 05 00       	call   0x553b10
5015a4:	0b f0                	or     %eax,%esi
5015a6:	0b fa                	or     %edx,%edi
5015a8:	8b 45 0c             	mov    0xc(%ebp),%eax
5015ab:	ff 70 28             	push   0x28(%eax)
5015ae:	53                   	push   %ebx
5015af:	e8 5c 25 05 00       	call   0x553b10
5015b4:	0b f0                	or     %eax,%esi
5015b6:	0b fa                	or     %edx,%edi
5015b8:	8b 45 0c             	mov    0xc(%ebp),%eax
5015bb:	ff 70 30             	push   0x30(%eax)
5015be:	53                   	push   %ebx
5015bf:	e8 4c 25 05 00       	call   0x553b10
5015c4:	0b f0                	or     %eax,%esi
5015c6:	83 c4 18             	add    $0x18,%esp
5015c9:	8b 45 0c             	mov    0xc(%ebp),%eax
5015cc:	0b fa                	or     %edx,%edi
5015ce:	8b 48 24             	mov    0x24(%eax),%ecx
5015d1:	85 c9                	test   %ecx,%ecx
5015d3:	74 11                	je     0x5015e6
5015d5:	51                   	push   %ecx
5015d6:	53                   	push   %ebx
5015d7:	e8 c4 25 05 00       	call   0x553ba0
5015dc:	8b c8                	mov    %eax,%ecx
5015de:	83 c4 08             	add    $0x8,%esp
5015e1:	8b 45 0c             	mov    0xc(%ebp),%eax
5015e4:	eb 0e                	jmp    0x5015f4
5015e6:	0f 57 c0             	xorps  %xmm0,%xmm0
5015e9:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
5015ee:	8b 55 fc             	mov    -0x4(%ebp),%edx
5015f1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5015f4:	8b 40 2c             	mov    0x2c(%eax),%eax
5015f7:	0b f1                	or     %ecx,%esi
5015f9:	0b fa                	or     %edx,%edi
5015fb:	85 c0                	test   %eax,%eax
5015fd:	74 0c                	je     0x50160b
5015ff:	50                   	push   %eax
501600:	53                   	push   %ebx
501601:	e8 9a 25 05 00       	call   0x553ba0
501606:	83 c4 08             	add    $0x8,%esp
501609:	eb 0e                	jmp    0x501619
50160b:	0f 57 c0             	xorps  %xmm0,%xmm0
50160e:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
501613:	8b 55 fc             	mov    -0x4(%ebp),%edx
501616:	8b 45 f8             	mov    -0x8(%ebp),%eax
501619:	0b f0                	or     %eax,%esi
50161b:	0b fa                	or     %edx,%edi
50161d:	8b 45 f4             	mov    -0xc(%ebp),%eax
501620:	85 c0                	test   %eax,%eax
501622:	74 73                	je     0x501697
501624:	83 38 00             	cmpl   $0x0,(%eax)
501627:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
50162e:	7e 67                	jle    0x501697
501630:	8d 58 38             	lea    0x38(%eax),%ebx
501633:	ff 73 e4             	push   -0x1c(%ebx)
501636:	ff 75 08             	push   0x8(%ebp)
501639:	e8 32 ff ff ff       	call   0x501570
50163e:	0b f0                	or     %eax,%esi
501640:	83 c4 08             	add    $0x8,%esp
501643:	8b 03                	mov    (%ebx),%eax
501645:	0b fa                	or     %edx,%edi
501647:	85 c0                	test   %eax,%eax
501649:	74 0e                	je     0x501659
50164b:	50                   	push   %eax
50164c:	ff 75 08             	push   0x8(%ebp)
50164f:	e8 4c 25 05 00       	call   0x553ba0
501654:	83 c4 08             	add    $0x8,%esp
501657:	eb 0e                	jmp    0x501667
501659:	0f 57 c0             	xorps  %xmm0,%xmm0
50165c:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
501661:	8b 55 ec             	mov    -0x14(%ebp),%edx
501664:	8b 45 e8             	mov    -0x18(%ebp),%eax
501667:	0b f0                	or     %eax,%esi
501669:	0b fa                	or     %edx,%edi
50166b:	f6 43 f8 04          	testb  $0x4,-0x8(%ebx)
50166f:	74 12                	je     0x501683
501671:	ff 73 10             	push   0x10(%ebx)
501674:	ff 75 08             	push   0x8(%ebp)
501677:	e8 94 24 05 00       	call   0x553b10
50167c:	83 c4 08             	add    $0x8,%esp
50167f:	0b f0                	or     %eax,%esi
501681:	0b fa                	or     %edx,%edi
501683:	8b 45 fc             	mov    -0x4(%ebp),%eax
501686:	83 c3 48             	add    $0x48,%ebx
501689:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50168c:	40                   	inc    %eax
50168d:	89 45 fc             	mov    %eax,-0x4(%ebp)
501690:	3b 01                	cmp    (%ecx),%eax
501692:	7c 9f                	jl     0x501633
501694:	8b 5d 08             	mov    0x8(%ebp),%ebx
501697:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50169a:	8b 49 34             	mov    0x34(%ecx),%ecx
50169d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5016a0:	85 c9                	test   %ecx,%ecx
5016a2:	0f 85 ed fe ff ff    	jne    0x501595
5016a8:	8b d7                	mov    %edi,%edx
5016aa:	8b c6                	mov    %esi,%eax
5016ac:	5f                   	pop    %edi
5016ad:	5e                   	pop    %esi
5016ae:	5b                   	pop    %ebx
5016af:	8b e5                	mov    %ebp,%esp
5016b1:	5d                   	pop    %ebp
5016b2:	c3                   	ret
5016b3:	8b 45 f0             	mov    -0x10(%ebp),%eax
5016b6:	8b 55 f4             	mov    -0xc(%ebp),%edx
5016b9:	8b e5                	mov    %ebp,%esp
5016bb:	5d                   	pop    %ebp
5016bc:	c3                   	ret
5016bd:	cc                   	int3
5016be:	cc                   	int3
5016bf:	cc                   	int3
5016c0:	55                   	push   %ebp
5016c1:	8b ec                	mov    %esp,%ebp
5016c3:	51                   	push   %ecx
5016c4:	56                   	push   %esi
5016c5:	8b 75 08             	mov    0x8(%ebp),%esi
5016c8:	33 c9                	xor    %ecx,%ecx
5016ca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5016cd:	8b 46 0c             	mov    0xc(%esi),%eax
5016d0:	85 c0                	test   %eax,%eax
5016d2:	74 0b                	je     0x5016df
5016d4:	8b 40 18             	mov    0x18(%eax),%eax
5016d7:	85 c0                	test   %eax,%eax
5016d9:	0f 4f c8             	cmovg  %eax,%ecx
5016dc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5016df:	8b 46 10             	mov    0x10(%esi),%eax
5016e2:	85 c0                	test   %eax,%eax
5016e4:	74 0b                	je     0x5016f1
5016e6:	8b 40 18             	mov    0x18(%eax),%eax
5016e9:	3b c1                	cmp    %ecx,%eax
5016eb:	0f 4f c8             	cmovg  %eax,%ecx
5016ee:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5016f1:	f7 46 04 00 08 00 00 	testl  $0x800,0x4(%esi)
5016f8:	74 1b                	je     0x501715
5016fa:	8d 45 fc             	lea    -0x4(%ebp),%eax
5016fd:	50                   	push   %eax
5016fe:	ff 76 14             	push   0x14(%esi)
501701:	e8 5a 53 00 00       	call   0x506a60
501706:	8b 45 fc             	mov    -0x4(%ebp),%eax
501709:	83 c4 08             	add    $0x8,%esp
50170c:	40                   	inc    %eax
50170d:	89 46 18             	mov    %eax,0x18(%esi)
501710:	5e                   	pop    %esi
501711:	8b e5                	mov    %ebp,%esp
501713:	5d                   	pop    %ebp
501714:	c3                   	ret
501715:	53                   	push   %ebx
501716:	8b 5e 14             	mov    0x14(%esi),%ebx
501719:	85 db                	test   %ebx,%ebx
50171b:	74 3d                	je     0x50175a
50171d:	57                   	push   %edi
50171e:	8d 45 fc             	lea    -0x4(%ebp),%eax
501721:	50                   	push   %eax
501722:	53                   	push   %ebx
501723:	e8 f8 52 00 00       	call   0x506a20
501728:	8b 3b                	mov    (%ebx),%edi
50172a:	83 c4 08             	add    $0x8,%esp
50172d:	33 c9                	xor    %ecx,%ecx
50172f:	85 ff                	test   %edi,%edi
501731:	7e 10                	jle    0x501743
501733:	8d 53 04             	lea    0x4(%ebx),%edx
501736:	8b 02                	mov    (%edx),%eax
501738:	8d 52 14             	lea    0x14(%edx),%edx
50173b:	0b 48 04             	or     0x4(%eax),%ecx
50173e:	83 ef 01             	sub    $0x1,%edi
501741:	75 f3                	jne    0x501736
501743:	8b 45 fc             	mov    -0x4(%ebp),%eax
501746:	81 e1 04 01 20 00    	and    $0x200104,%ecx
50174c:	09 4e 04             	or     %ecx,0x4(%esi)
50174f:	40                   	inc    %eax
501750:	5f                   	pop    %edi
501751:	5b                   	pop    %ebx
501752:	89 46 18             	mov    %eax,0x18(%esi)
501755:	5e                   	pop    %esi
501756:	8b e5                	mov    %ebp,%esp
501758:	5d                   	pop    %ebp
501759:	c3                   	ret
50175a:	8d 41 01             	lea    0x1(%ecx),%eax
50175d:	5b                   	pop    %ebx
50175e:	89 46 18             	mov    %eax,0x18(%esi)
501761:	5e                   	pop    %esi
501762:	8b e5                	mov    %ebp,%esp
501764:	5d                   	pop    %ebp
501765:	c3                   	ret
501766:	cc                   	int3
501767:	cc                   	int3
501768:	cc                   	int3
501769:	cc                   	int3
50176a:	cc                   	int3
50176b:	cc                   	int3
50176c:	cc                   	int3
50176d:	cc                   	int3
50176e:	cc                   	int3
50176f:	cc                   	int3
501770:	55                   	push   %ebp
501771:	8b ec                	mov    %esp,%ebp
501773:	51                   	push   %ecx
501774:	53                   	push   %ebx
501775:	8b 5d 0c             	mov    0xc(%ebp),%ebx
501778:	8a 03                	mov    (%ebx),%al
50177a:	3c a4                	cmp    $0xa4,%al
50177c:	74 04                	je     0x501782
50177e:	3c a6                	cmp    $0xa6,%al
501780:	75 46                	jne    0x5017c8
501782:	8b 45 08             	mov    0x8(%ebp),%eax
501785:	56                   	push   %esi
501786:	57                   	push   %edi
501787:	8b 70 18             	mov    0x18(%eax),%esi