509535:	dd 45 f8             	fldl   -0x8(%ebp)
509538:	83 c4 10             	add    $0x10,%esp
50953b:	8b e5                	mov    %ebp,%esp
50953d:	5d                   	pop    %ebp
50953e:	c3                   	ret
50953f:	cc                   	int3
509540:	55                   	push   %ebp
509541:	8b ec                	mov    %esp,%ebp
509543:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
509549:	53                   	push   %ebx
50954a:	8b 5d 08             	mov    0x8(%ebp),%ebx
50954d:	56                   	push   %esi
50954e:	57                   	push   %edi
50954f:	6a 48                	push   $0x48
509551:	0f 10 03             	movups (%ebx),%xmm0
509554:	6a 00                	push   $0x0
509556:	53                   	push   %ebx
509557:	0f 11 45 dc          	movups %xmm0,-0x24(%ebp)
50955b:	0f 11 85 74 ff ff ff 	movups %xmm0,-0x8c(%ebp)
509562:	0f 10 43 10          	movups 0x10(%ebx),%xmm0
509566:	0f 11 45 cc          	movups %xmm0,-0x34(%ebp)
50956a:	0f 11 45 84          	movups %xmm0,-0x7c(%ebp)
50956e:	0f 10 43 20          	movups 0x20(%ebx),%xmm0
509572:	0f 11 85 64 ff ff ff 	movups %xmm0,-0x9c(%ebp)
509579:	0f 11 45 94          	movups %xmm0,-0x6c(%ebp)
50957d:	0f 10 43 30          	movups 0x30(%ebx),%xmm0
509581:	0f 11 45 bc          	movups %xmm0,-0x44(%ebp)
509585:	0f 11 45 a4          	movups %xmm0,-0x5c(%ebp)
509589:	f3 0f 7e 43 40       	movq   0x40(%ebx),%xmm0
50958e:	66 0f d6 45 ec       	movq   %xmm0,-0x14(%ebp)
509593:	66 0f d6 45 b4       	movq   %xmm0,-0x4c(%ebp)
509598:	e8 63 a4 0d 00       	call   0x5e3a00
50959d:	0f 10 45 bc          	movups -0x44(%ebp),%xmm0
5095a1:	6a 00                	push   $0x0
5095a3:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
5095a8:	66 0f 7e c0          	movd   %xmm0,%eax
5095ac:	0f 10 45 bc          	movups -0x44(%ebp),%xmm0
5095b0:	25 7f 7f 08 01       	and    $0x1087f7f,%eax
5095b5:	50                   	push   %eax
5095b6:	66 0f 73 d8 0c       	psrldq $0xc,%xmm0
5095bb:	66 0f 7e c0          	movd   %xmm0,%eax
5095bf:	53                   	push   %ebx
5095c0:	ff 75 b4             	push   -0x4c(%ebp)
5095c3:	50                   	push   %eax
5095c4:	8b 40 18             	mov    0x18(%eax),%eax
5095c7:	ff d0                	call   *%eax
5095c9:	8b f8                	mov    %eax,%edi
5095cb:	83 c4 20             	add    $0x20,%esp
5095ce:	85 ff                	test   %edi,%edi
5095d0:	0f 85 98 00 00 00    	jne    0x50966e
5095d6:	0f 10 45 dc          	movups -0x24(%ebp),%xmm0
5095da:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
5095df:	66 0f 7e c6          	movd   %xmm0,%esi
5095e3:	0f 57 c0             	xorps  %xmm0,%xmm0
5095e6:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
5095eb:	0f 10 45 cc          	movups -0x34(%ebp),%xmm0
5095ef:	66 0f 7e c0          	movd   %xmm0,%eax
5095f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
5095f6:	85 c0                	test   %eax,%eax
5095f8:	74 59                	je     0x509653
5095fa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5095fd:	8b 7d f4             	mov    -0xc(%ebp),%edi
509600:	89 4d 08             	mov    %ecx,0x8(%ebp)
509603:	8b c6                	mov    %esi,%eax
509605:	99                   	cltd
509606:	03 c7                	add    %edi,%eax
509608:	13 d1                	adc    %ecx,%edx
50960a:	3b 55 90             	cmp    -0x70(%ebp),%edx
50960d:	7c 0c                	jl     0x50961b
50960f:	7f 05                	jg     0x509616
509611:	3b 45 8c             	cmp    -0x74(%ebp),%eax
509614:	76 05                	jbe    0x50961b
509616:	8b 75 8c             	mov    -0x74(%ebp),%esi
509619:	2b f7                	sub    %edi,%esi
50961b:	ff 75 08             	push   0x8(%ebp)
50961e:	8b 0b                	mov    (%ebx),%ecx
509620:	8b 45 fc             	mov    -0x4(%ebp),%eax
509623:	57                   	push   %edi
509624:	83 c0 04             	add    $0x4,%eax
509627:	56                   	push   %esi
509628:	50                   	push   %eax
509629:	8b 41 0c             	mov    0xc(%ecx),%eax
50962c:	53                   	push   %ebx
50962d:	ff d0                	call   *%eax
50962f:	83 c4 14             	add    $0x14,%esp
509632:	89 45 f8             	mov    %eax,-0x8(%ebp)
509635:	85 c0                	test   %eax,%eax
509637:	75 32                	jne    0x50966b
509639:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50963c:	8b c6                	mov    %esi,%eax
50963e:	99                   	cltd
50963f:	03 f8                	add    %eax,%edi
509641:	8b 09                	mov    (%ecx),%ecx
509643:	11 55 08             	adc    %edx,0x8(%ebp)
509646:	85 c9                	test   %ecx,%ecx
509648:	89 4d fc             	mov    %ecx,-0x4(%ebp)
50964b:	8b 4d 08             	mov    0x8(%ebp),%ecx
50964e:	75 b3                	jne    0x509603
509650:	8b 7d f8             	mov    -0x8(%ebp),%edi
509653:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
509659:	50                   	push   %eax
50965a:	e8 61 00 00 00       	call   0x5096c0
50965f:	83 c4 04             	add    $0x4,%esp
509662:	8b c7                	mov    %edi,%eax
509664:	5f                   	pop    %edi
509665:	5e                   	pop    %esi
509666:	5b                   	pop    %ebx
509667:	8b e5                	mov    %ebp,%esp
509669:	5d                   	pop    %ebp
50966a:	c3                   	ret
50966b:	8b 7d f8             	mov    -0x8(%ebp),%edi
50966e:	8b 03                	mov    (%ebx),%eax
509670:	85 c0                	test   %eax,%eax
509672:	74 0f                	je     0x509683
509674:	8b 40 04             	mov    0x4(%eax),%eax
509677:	53                   	push   %ebx
509678:	ff d0                	call   *%eax
50967a:	83 c4 04             	add    $0x4,%esp
50967d:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
509683:	0f 10 45 dc          	movups -0x24(%ebp),%xmm0
509687:	8b c7                	mov    %edi,%eax
509689:	5f                   	pop    %edi
50968a:	0f 11 03             	movups %xmm0,(%ebx)
50968d:	5e                   	pop    %esi
50968e:	0f 10 45 cc          	movups -0x34(%ebp),%xmm0
509692:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
509696:	0f 10 85 64 ff ff ff 	movups -0x9c(%ebp),%xmm0
50969d:	0f 11 43 20          	movups %xmm0,0x20(%ebx)
5096a1:	0f 10 45 bc          	movups -0x44(%ebp),%xmm0
5096a5:	0f 11 43 30          	movups %xmm0,0x30(%ebx)
5096a9:	f3 0f 7e 45 ec       	movq   -0x14(%ebp),%xmm0
5096ae:	66 0f d6 43 40       	movq   %xmm0,0x40(%ebx)
5096b3:	5b                   	pop    %ebx
5096b4:	8b e5                	mov    %ebp,%esp
5096b6:	5d                   	pop    %ebp
5096b7:	c3                   	ret
5096b8:	cc                   	int3
5096b9:	cc                   	int3
5096ba:	cc                   	int3
5096bb:	cc                   	int3
5096bc:	cc                   	int3
5096bd:	cc                   	int3
5096be:	cc                   	int3
5096bf:	cc                   	int3
5096c0:	55                   	push   %ebp
5096c1:	8b ec                	mov    %esp,%ebp
5096c3:	53                   	push   %ebx
5096c4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5096c7:	56                   	push   %esi
5096c8:	8b 73 10             	mov    0x10(%ebx),%esi
5096cb:	85 f6                	test   %esi,%esi
5096cd:	74 64                	je     0x509733
5096cf:	a1 90 ff 72 00       	mov    0x72ff90,%eax
5096d4:	57                   	push   %edi
5096d5:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
5096dc:	8b 3e                	mov    (%esi),%edi
5096de:	74 3d                	je     0x50971d
5096e0:	85 c0                	test   %eax,%eax
5096e2:	74 0a                	je     0x5096ee
5096e4:	50                   	push   %eax
5096e5:	ff 15 60 18 72 00    	call   *0x721860
5096eb:	83 c4 04             	add    $0x4,%esp
5096ee:	56                   	push   %esi
5096ef:	ff 15 3c 18 72 00    	call   *0x72183c
5096f5:	29 05 20 00 73 00    	sub    %eax,0x730020
5096fb:	ff 0d 44 00 73 00    	decl   0x730044
509701:	56                   	push   %esi
509702:	ff 15 34 18 72 00    	call   *0x721834
509708:	a1 90 ff 72 00       	mov    0x72ff90,%eax
50970d:	83 c4 08             	add    $0x8,%esp
509710:	85 c0                	test   %eax,%eax
509712:	74 18                	je     0x50972c
509714:	50                   	push   %eax
509715:	ff 15 68 18 72 00    	call   *0x721868
50971b:	eb 07                	jmp    0x509724
50971d:	56                   	push   %esi
50971e:	ff 15 34 18 72 00    	call   *0x721834
509724:	a1 90 ff 72 00       	mov    0x72ff90,%eax
509729:	83 c4 04             	add    $0x4,%esp
50972c:	8b f7                	mov    %edi,%esi
50972e:	85 ff                	test   %edi,%edi
509730:	75 a3                	jne    0x5096d5
509732:	5f                   	pop    %edi
509733:	5e                   	pop    %esi
509734:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
50973b:	5b                   	pop    %ebx
50973c:	5d                   	pop    %ebp
50973d:	c3                   	ret
50973e:	cc                   	int3
50973f:	cc                   	int3
509740:	55                   	push   %ebp
509741:	8b ec                	mov    %esp,%ebp
509743:	8b 45 0c             	mov    0xc(%ebp),%eax
509746:	56                   	push   %esi
509747:	8b 70 14             	mov    0x14(%eax),%esi
50974a:	85 f6                	test   %esi,%esi
50974c:	74 74                	je     0x5097c2
50974e:	83 3e 01             	cmpl   $0x1,(%esi)
509751:	75 6f                	jne    0x5097c2
509753:	f7 40 04 00 00 00 01 	testl  $0x1000000,0x4(%eax)
50975a:	75 66                	jne    0x5097c2
50975c:	53                   	push   %ebx
50975d:	57                   	push   %edi
50975e:	8b 78 08             	mov    0x8(%eax),%edi
509761:	68 a8 73 6b 00       	push   $0x6b73a8
509766:	57                   	push   %edi
509767:	e8 c4 44 03 00       	call   0x53dc30
50976c:	83 c4 08             	add    $0x8,%esp
50976f:	85 c0                	test   %eax,%eax
509771:	75 09                	jne    0x50977c
509773:	8d 58 01             	lea    0x1(%eax),%ebx
509776:	c6 45 0f 02          	movb   $0x2,0xf(%ebp)
50977a:	eb 19                	jmp    0x509795
50977c:	68 b8 73 6b 00       	push   $0x6b73b8
509781:	57                   	push   %edi
509782:	e8 a9 44 03 00       	call   0x53dc30
509787:	83 c4 08             	add    $0x8,%esp
50978a:	85 c0                	test   %eax,%eax
50978c:	75 2d                	jne    0x5097bb
50978e:	8d 58 02             	lea    0x2(%eax),%ebx
509791:	c6 45 0f 01          	movb   $0x1,0xf(%ebp)
509795:	6a 00                	push   $0x0
509797:	56                   	push   %esi
509798:	ff 75 08             	push   0x8(%ebp)
50979b:	e8 20 e1 01 00       	call   0x5278c0
5097a0:	8b 4d 10             	mov    0x10(%ebp),%ecx
5097a3:	8b d0                	mov    %eax,%edx
5097a5:	83 c4 0c             	add    $0xc,%esp
5097a8:	89 11                	mov    %edx,(%ecx)
5097aa:	85 d2                	test   %edx,%edx
5097ac:	74 06                	je     0x5097b4
5097ae:	8a 45 0f             	mov    0xf(%ebp),%al
5097b1:	88 42 0c             	mov    %al,0xc(%edx)
5097b4:	5f                   	pop    %edi
5097b5:	8a c3                	mov    %bl,%al
5097b7:	5b                   	pop    %ebx
5097b8:	5e                   	pop    %esi
5097b9:	5d                   	pop    %ebp
5097ba:	c3                   	ret
5097bb:	5f                   	pop    %edi
5097bc:	5b                   	pop    %ebx
5097bd:	32 c0                	xor    %al,%al
5097bf:	5e                   	pop    %esi
5097c0:	5d                   	pop    %ebp
5097c1:	c3                   	ret
5097c2:	32 c0                	xor    %al,%al
5097c4:	5e                   	pop    %esi
5097c5:	5d                   	pop    %ebp
5097c6:	c3                   	ret
5097c7:	cc                   	int3
5097c8:	cc                   	int3
5097c9:	cc                   	int3
5097ca:	cc                   	int3
5097cb:	cc                   	int3
5097cc:	cc                   	int3
5097cd:	cc                   	int3
5097ce:	cc                   	int3
5097cf:	cc                   	int3
5097d0:	55                   	push   %ebp
5097d1:	8b ec                	mov    %esp,%ebp
5097d3:	83 ec 20             	sub    $0x20,%esp
5097d6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5097db:	33 c5                	xor    %ebp,%eax
5097dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5097e0:	80 7d 14 04          	cmpb   $0x4,0x14(%ebp)
5097e4:	53                   	push   %ebx
5097e5:	56                   	push   %esi
5097e6:	8b 75 08             	mov    0x8(%ebp),%esi
5097e9:	57                   	push   %edi
5097ea:	75 5a                	jne    0x509846
5097ec:	8b 4e 38             	mov    0x38(%esi),%ecx
5097ef:	8b 01                	mov    (%ecx),%eax
5097f1:	0f c8                	bswap  %eax
5097f3:	3b 45 0c             	cmp    0xc(%ebp),%eax
5097f6:	74 34                	je     0x50982c
5097f8:	68 fc c4 6b 00       	push   $0x6bc4fc
5097fd:	68 67 08 01 00       	push   $0x10867
509802:	68 94 c4 6b 00       	push   $0x6bc494
509807:	68 78 c4 6b 00       	push   $0x6bc478
50980c:	6a 0b                	push   $0xb
50980e:	e8 cd 67 fd ff       	call   0x4dffe0
509813:	83 c4 14             	add    $0x14,%esp
509816:	b8 0b 00 00 00       	mov    $0xb,%eax
50981b:	5f                   	pop    %edi
50981c:	5e                   	pop    %esi
50981d:	5b                   	pop    %ebx
50981e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
509821:	33 cd                	xor    %ebp,%ecx
509823:	e8 b2 7c 0d 00       	call   0x5e14da
509828:	8b e5                	mov    %ebp,%esp
50982a:	5d                   	pop    %ebp
50982b:	c3                   	ret
50982c:	8b 45 10             	mov    0x10(%ebp),%eax
50982f:	0f c8                	bswap  %eax
509831:	89 01                	mov    %eax,(%ecx)
509833:	33 c0                	xor    %eax,%eax
509835:	5f                   	pop    %edi
509836:	5e                   	pop    %esi
509837:	5b                   	pop    %ebx
509838:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50983b:	33 cd                	xor    %ebp,%ecx
50983d:	e8 98 7c 0d 00       	call   0x5e14da
509842:	8b e5                	mov    %ebp,%esp
509844:	5d                   	pop    %ebp
509845:	c3                   	ret
509846:	80 3e 00             	cmpb   $0x0,(%esi)
509849:	75 0d                	jne    0x509858
50984b:	56                   	push   %esi
50984c:	e8 bf d5 fe ff       	call   0x4f6e10
509851:	83 c4 04             	add    $0x4,%esp
509854:	85 c0                	test   %eax,%eax
509856:	75 dd                	jne    0x509835
509858:	0f b7 56 18          	movzwl 0x18(%esi),%edx
50985c:	33 db                	xor    %ebx,%ebx
50985e:	8b 7d 10             	mov    0x10(%ebp),%edi
509861:	85 d2                	test   %edx,%edx
509863:	89 55 e0             	mov    %edx,-0x20(%ebp)
509866:	8b 55 0c             	mov    0xc(%ebp),%edx
509869:	74 79                	je     0x5098e4
50986b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
509870:	8b 46 40             	mov    0x40(%esi),%eax
509873:	66 8b 04 58          	mov    (%eax,%ebx,2),%ax
509877:	8a e8                	mov    %al,%ch
509879:	8a cc                	mov    %ah,%cl
50987b:	0f b7 46 1a          	movzwl 0x1a(%esi),%eax
50987f:	0f b7 f9             	movzwl %cx,%edi
509882:	23 f8                	and    %eax,%edi
509884:	03 7e 38             	add    0x38(%esi),%edi
509887:	80 7d 14 03          	cmpb   $0x3,0x14(%ebp)
50988b:	75 45                	jne    0x5098d2
50988d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
509890:	50                   	push   %eax
509891:	8b 46 50             	mov    0x50(%esi),%eax
509894:	57                   	push   %edi
509895:	56                   	push   %esi
509896:	ff d0                	call   *%eax
509898:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
50989c:	83 c4 0c             	add    $0xc,%esp
50989f:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5098a2:	73 79                	jae    0x50991d
5098a4:	8b 46 34             	mov    0x34(%esi),%eax
5098a7:	0f b7 4d f6          	movzwl -0xa(%ebp),%ecx
5098ab:	03 cf                	add    %edi,%ecx
5098ad:	8b 40 24             	mov    0x24(%eax),%eax
5098b0:	03 46 38             	add    0x38(%esi),%eax
5098b3:	3b c8                	cmp    %eax,%ecx
5098b5:	77 7a                	ja     0x509931
5098b7:	8b 41 fc             	mov    -0x4(%ecx),%eax
5098ba:	8b 55 0c             	mov    0xc(%ebp),%edx
5098bd:	0f c8                	bswap  %eax