52f54f:	83 c4 0c             	add    $0xc,%esp
52f552:	eb 09                	jmp    0x52f55d
52f554:	8b 49 40             	mov    0x40(%ecx),%ecx
52f557:	8b 43 6c             	mov    0x6c(%ebx),%eax
52f55a:	89 04 91             	mov    %eax,(%ecx,%edx,4)
52f55d:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
52f561:	74 5d                	je     0x52f5c0
52f563:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
52f569:	8b 7d a8             	mov    -0x58(%ebp),%edi
52f56c:	57                   	push   %edi
52f56d:	6a 05                	push   $0x5
52f56f:	53                   	push   %ebx
52f570:	e8 6b 25 01 00       	call   0x541ae0
52f575:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
52f57b:	83 c4 10             	add    $0x10,%esp
52f57e:	8b 53 6c             	mov    0x6c(%ebx),%edx
52f581:	85 c9                	test   %ecx,%ecx
52f583:	79 03                	jns    0x52f588
52f585:	8d 4a ff             	lea    -0x1(%edx),%ecx
52f588:	8b 03                	mov    (%ebx),%eax
52f58a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52f58e:	74 16                	je     0x52f5a6
52f590:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52f595:	57                   	push   %edi
52f596:	6a 74                	push   $0x74
52f598:	53                   	push   %ebx
52f599:	89 50 08             	mov    %edx,0x8(%eax)
52f59c:	e8 df 24 01 00       	call   0x541a80
52f5a1:	83 c4 0c             	add    $0xc,%esp
52f5a4:	eb 5a                	jmp    0x52f600
52f5a6:	8b 43 68             	mov    0x68(%ebx),%eax
52f5a9:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52f5ac:	57                   	push   %edi
52f5ad:	6a 74                	push   $0x74
52f5af:	53                   	push   %ebx
52f5b0:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52f5b3:	89 50 08             	mov    %edx,0x8(%eax)
52f5b6:	e8 c5 24 01 00       	call   0x541a80
52f5bb:	83 c4 0c             	add    $0xc,%esp
52f5be:	eb 40                	jmp    0x52f600
52f5c0:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
52f5c4:	74 3a                	je     0x52f600
52f5c6:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
52f5cc:	53                   	push   %ebx
52f5cd:	e8 ce aa 01 00       	call   0x54a0a0
52f5d2:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
52f5d8:	83 c4 08             	add    $0x8,%esp
52f5db:	8b 53 6c             	mov    0x6c(%ebx),%edx
52f5de:	85 c9                	test   %ecx,%ecx
52f5e0:	79 03                	jns    0x52f5e5
52f5e2:	8d 4a ff             	lea    -0x1(%edx),%ecx
52f5e5:	8b 03                	mov    (%ebx),%eax
52f5e7:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52f5eb:	74 07                	je     0x52f5f4
52f5ed:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52f5f2:	eb 09                	jmp    0x52f5fd
52f5f4:	8b 43 68             	mov    0x68(%ebx),%eax
52f5f7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52f5fa:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52f5fd:	89 50 08             	mov    %edx,0x8(%eax)
52f600:	80 7e 12 00          	cmpb   $0x0,0x12(%esi)
52f604:	75 15                	jne    0x52f61b
52f606:	83 7e 78 00          	cmpl   $0x0,0x78(%esi)
52f60a:	75 0f                	jne    0x52f61b
52f60c:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
52f610:	74 09                	je     0x52f61b
52f612:	56                   	push   %esi
52f613:	e8 f8 46 fc ff       	call   0x4f3d10
52f618:	83 c4 04             	add    $0x4,%esp
52f61b:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
52f621:	85 c0                	test   %eax,%eax
52f623:	74 5d                	je     0x52f682
52f625:	6a 01                	push   $0x1
52f627:	50                   	push   %eax
52f628:	6a 50                	push   $0x50
52f62a:	53                   	push   %ebx
52f62b:	e8 b0 24 01 00       	call   0x541ae0
52f630:	6a 01                	push   $0x1
52f632:	53                   	push   %ebx
52f633:	e8 88 d9 01 00       	call   0x54cfc0
52f638:	8b 03                	mov    (%ebx),%eax
52f63a:	83 c4 18             	add    $0x18,%esp
52f63d:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52f641:	75 3f                	jne    0x52f682
52f643:	8b 73 74             	mov    0x74(%ebx),%esi
52f646:	b8 00 24 00 00       	mov    $0x2400,%eax
52f64b:	66 85 46 08          	test   %ax,0x8(%esi)
52f64f:	75 06                	jne    0x52f657
52f651:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
52f655:	74 09                	je     0x52f660
52f657:	56                   	push   %esi
52f658:	e8 b3 b7 02 00       	call   0x55ae10
52f65d:	83 c4 04             	add    $0x4,%esp
52f660:	b8 02 0a 00 00       	mov    $0xa02,%eax
52f665:	c7 46 10 80 a9 6b 00 	movl   $0x6ba980,0x10(%esi)
52f66c:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
52f673:	c7 46 0c 0d 00 00 00 	movl   $0xd,0xc(%esi)
52f67a:	66 89 46 08          	mov    %ax,0x8(%esi)
52f67e:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
52f682:	8b 7d d4             	mov    -0x2c(%ebp),%edi
52f685:	ff 75 84             	push   -0x7c(%ebp)
52f688:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
52f68e:	56                   	push   %esi
52f68f:	e8 dc d6 00 00       	call   0x53cd70
52f694:	8b 45 90             	mov    -0x70(%ebp),%eax
52f697:	83 c4 08             	add    $0x8,%esp
52f69a:	85 c0                	test   %eax,%eax
52f69c:	74 0a                	je     0x52f6a8
52f69e:	50                   	push   %eax
52f69f:	56                   	push   %esi
52f6a0:	e8 5b 19 fd ff       	call   0x501000
52f6a5:	83 c4 08             	add    $0x8,%esp
52f6a8:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
52f6ae:	85 db                	test   %ebx,%ebx
52f6b0:	74 4d                	je     0x52f6ff
52f6b2:	8b 03                	mov    (%ebx),%eax
52f6b4:	85 c0                	test   %eax,%eax
52f6b6:	74 0a                	je     0x52f6c2
52f6b8:	50                   	push   %eax
52f6b9:	56                   	push   %esi
52f6ba:	e8 41 19 fd ff       	call   0x501000
52f6bf:	83 c4 08             	add    $0x8,%esp
52f6c2:	8b 43 04             	mov    0x4(%ebx),%eax
52f6c5:	85 c0                	test   %eax,%eax
52f6c7:	74 0a                	je     0x52f6d3
52f6c9:	50                   	push   %eax
52f6ca:	56                   	push   %esi
52f6cb:	e8 e0 70 ff ff       	call   0x5267b0
52f6d0:	83 c4 08             	add    $0x8,%esp
52f6d3:	8b 43 08             	mov    0x8(%ebx),%eax
52f6d6:	85 c0                	test   %eax,%eax
52f6d8:	74 0a                	je     0x52f6e4
52f6da:	50                   	push   %eax
52f6db:	56                   	push   %esi
52f6dc:	e8 1f 19 fd ff       	call   0x501000
52f6e1:	83 c4 08             	add    $0x8,%esp
52f6e4:	8b 43 0c             	mov    0xc(%ebx),%eax
52f6e7:	85 c0                	test   %eax,%eax
52f6e9:	74 0a                	je     0x52f6f5
52f6eb:	50                   	push   %eax
52f6ec:	56                   	push   %esi
52f6ed:	e8 be 70 ff ff       	call   0x5267b0
52f6f2:	83 c4 08             	add    $0x8,%esp
52f6f5:	53                   	push   %ebx
52f6f6:	56                   	push   %esi
52f6f7:	e8 74 1c ff ff       	call   0x521370
52f6fc:	83 c4 08             	add    $0x8,%esp
52f6ff:	8b 45 b8             	mov    -0x48(%ebp),%eax
52f702:	85 c0                	test   %eax,%eax
52f704:	74 0c                	je     0x52f712
52f706:	6a 01                	push   $0x1
52f708:	50                   	push   %eax
52f709:	56                   	push   %esi
52f70a:	e8 e1 96 fc ff       	call   0x4f8df0
52f70f:	83 c4 0c             	add    $0xc,%esp
52f712:	57                   	push   %edi
52f713:	56                   	push   %esi
52f714:	e8 47 e6 ff ff       	call   0x52dd60
52f719:	8b 45 8c             	mov    -0x74(%ebp),%eax
52f71c:	83 c4 08             	add    $0x8,%esp
52f71f:	85 c0                	test   %eax,%eax
52f721:	74 0a                	je     0x52f72d
52f723:	50                   	push   %eax
52f724:	56                   	push   %esi
52f725:	e8 46 1c ff ff       	call   0x521370
52f72a:	83 c4 08             	add    $0x8,%esp
52f72d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
52f730:	5f                   	pop    %edi
52f731:	5e                   	pop    %esi
52f732:	33 cd                	xor    %ebp,%ecx
52f734:	5b                   	pop    %ebx
52f735:	e8 a0 1d 0b 00       	call   0x5e14da
52f73a:	8b e5                	mov    %ebp,%esp
52f73c:	5d                   	pop    %ebp
52f73d:	c3                   	ret
52f73e:	cc                   	int3
52f73f:	cc                   	int3
52f740:	55                   	push   %ebp
52f741:	8b ec                	mov    %esp,%ebp
52f743:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
52f747:	7e 7c                	jle    0x52f7c5
52f749:	53                   	push   %ebx
52f74a:	56                   	push   %esi
52f74b:	8b 75 08             	mov    0x8(%ebp),%esi
52f74e:	bb 17 00 00 00       	mov    $0x17,%ebx
52f753:	57                   	push   %edi
52f754:	83 c6 0c             	add    $0xc,%esi
52f757:	8b 7e 14             	mov    0x14(%esi),%edi
52f75a:	85 ff                	test   %edi,%edi
52f75c:	75 04                	jne    0x52f762
52f75e:	33 c0                	xor    %eax,%eax
52f760:	eb 13                	jmp    0x52f775
52f762:	8b c7                	mov    %edi,%eax
52f764:	8d 50 01             	lea    0x1(%eax),%edx
52f767:	8a 08                	mov    (%eax),%cl
52f769:	40                   	inc    %eax
52f76a:	84 c9                	test   %cl,%cl
52f76c:	75 f9                	jne    0x52f767
52f76e:	2b c2                	sub    %edx,%eax
52f770:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
52f775:	0f be 0f             	movsbl (%edi),%ecx
52f778:	03 c1                	add    %ecx,%eax
52f77a:	99                   	cltd
52f77b:	f7 fb                	idiv   %ebx
52f77d:	57                   	push   %edi
52f77e:	8b da                	mov    %edx,%ebx
52f780:	53                   	push   %ebx
52f781:	e8 4a ac ff ff       	call   0x52a3d0
52f786:	83 c4 08             	add    $0x8,%esp
52f789:	85 c0                	test   %eax,%eax
52f78b:	74 0d                	je     0x52f79a
52f78d:	8b 48 0c             	mov    0xc(%eax),%ecx
52f790:	89 0e                	mov    %ecx,(%esi)
52f792:	8d 4e f4             	lea    -0xc(%esi),%ecx
52f795:	89 48 0c             	mov    %ecx,0xc(%eax)
52f798:	eb 1a                	jmp    0x52f7b4
52f79a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
52f7a0:	8b 04 9d c0 ff 72 00 	mov    0x72ffc0(,%ebx,4),%eax
52f7a7:	89 46 18             	mov    %eax,0x18(%esi)
52f7aa:	8d 46 f4             	lea    -0xc(%esi),%eax
52f7ad:	89 04 9d c0 ff 72 00 	mov    %eax,0x72ffc0(,%ebx,4)
52f7b4:	83 c6 28             	add    $0x28,%esi
52f7b7:	bb 17 00 00 00       	mov    $0x17,%ebx
52f7bc:	83 6d 0c 01          	subl   $0x1,0xc(%ebp)
52f7c0:	75 95                	jne    0x52f757
52f7c2:	5f                   	pop    %edi
52f7c3:	5e                   	pop    %esi
52f7c4:	5b                   	pop    %ebx
52f7c5:	5d                   	pop    %ebp
52f7c6:	c3                   	ret
52f7c7:	cc                   	int3
52f7c8:	cc                   	int3
52f7c9:	cc                   	int3
52f7ca:	cc                   	int3
52f7cb:	cc                   	int3
52f7cc:	cc                   	int3
52f7cd:	cc                   	int3
52f7ce:	cc                   	int3
52f7cf:	cc                   	int3
52f7d0:	55                   	push   %ebp
52f7d1:	8b ec                	mov    %esp,%ebp
52f7d3:	f2 0f 10 05 50 c6 6b 	movsd  0x6bc650,%xmm0
52f7da:	00
52f7db:	f2 0f 10 4d 10       	movsd  0x10(%ebp),%xmm1
52f7e0:	66 0f 2f c1          	comisd %xmm1,%xmm0
52f7e4:	76 07                	jbe    0x52f7ed
52f7e6:	b8 01 00 00 00       	mov    $0x1,%eax
52f7eb:	5d                   	pop    %ebp
52f7ec:	c3                   	ret
52f7ed:	66 0f 2f 0d 00 c6 6b 	comisd 0x6bc600,%xmm1
52f7f4:	00
52f7f5:	72 05                	jb     0x52f7fc
52f7f7:	83 c8 ff             	or     $0xffffffff,%eax
52f7fa:	5d                   	pop    %ebp
52f7fb:	c3                   	ret
52f7fc:	56                   	push   %esi
52f7fd:	0f 28 c1             	movaps %xmm1,%xmm0
52f800:	e8 86 1f 0b 00       	call   0x5e178b
52f805:	8b 4d 08             	mov    0x8(%ebp),%ecx
52f808:	8b f2                	mov    %edx,%esi
52f80a:	8b 55 0c             	mov    0xc(%ebp),%edx
52f80d:	3b d6                	cmp    %esi,%edx
52f80f:	7f 10                	jg     0x52f821
52f811:	7c 26                	jl     0x52f839
52f813:	3b c8                	cmp    %eax,%ecx
52f815:	72 22                	jb     0x52f839
52f817:	3b d6                	cmp    %esi,%edx
52f819:	7c 0e                	jl     0x52f829
52f81b:	7f 04                	jg     0x52f821
52f81d:	3b c8                	cmp    %eax,%ecx
52f81f:	76 08                	jbe    0x52f829
52f821:	b8 01 00 00 00       	mov    $0x1,%eax
52f826:	5e                   	pop    %esi
52f827:	5d                   	pop    %ebp
52f828:	c3                   	ret
52f829:	e8 72 20 0b 00       	call   0x5e18a0
52f82e:	f2 0f 10 4d 10       	movsd  0x10(%ebp),%xmm1
52f833:	66 0f 2f c8          	comisd %xmm0,%xmm1
52f837:	76 06                	jbe    0x52f83f
52f839:	83 c8 ff             	or     $0xffffffff,%eax
52f83c:	5e                   	pop    %esi
52f83d:	5d                   	pop    %ebp
52f83e:	c3                   	ret
52f83f:	33 c0                	xor    %eax,%eax
52f841:	66 0f 2f c1          	comisd %xmm1,%xmm0
52f845:	5e                   	pop    %esi
52f846:	0f 97 c0             	seta   %al
52f849:	5d                   	pop    %ebp
52f84a:	c3                   	ret
52f84b:	cc                   	int3
52f84c:	cc                   	int3
52f84d:	cc                   	int3
52f84e:	cc                   	int3
52f84f:	cc                   	int3
52f850:	55                   	push   %ebp
52f851:	8b ec                	mov    %esp,%ebp
52f853:	56                   	push   %esi
52f854:	57                   	push   %edi
52f855:	8b 7d 08             	mov    0x8(%ebp),%edi
52f858:	8b 47 04             	mov    0x4(%edi),%eax
52f85b:	ff 70 08             	push   0x8(%eax)
52f85e:	68 74 c3 6b 00       	push   $0x6bc374
52f863:	e8 e8 ac fb ff       	call   0x4ea550
52f868:	6a ff                	push   $0xffffffff
52f86a:	6a 01                	push   $0x1
52f86c:	8b f0                	mov    %eax,%esi
52f86e:	c7 47 14 01 00 00 00 	movl   $0x1,0x14(%edi)
52f875:	6a ff                	push   $0xffffffff
52f877:	56                   	push   %esi
52f878:	ff 37                	push   (%edi)
52f87a:	e8 61 c2 01 00       	call   0x54bae0
52f87f:	56                   	push   %esi
52f880:	e8 0b b5 fb ff       	call   0x4ead90
52f885:	83 c4 20             	add    $0x20,%esp
52f888:	5f                   	pop    %edi
52f889:	5e                   	pop    %esi
52f88a:	5d                   	pop    %ebp
52f88b:	c3                   	ret
52f88c:	cc                   	int3
52f88d:	cc                   	int3
52f88e:	cc                   	int3
52f88f:	cc                   	int3
52f890:	55                   	push   %ebp
52f891:	8b ec                	mov    %esp,%ebp
52f893:	56                   	push   %esi
52f894:	8b 75 0c             	mov    0xc(%ebp),%esi
52f897:	80 3e a9             	cmpb   $0xa9,(%esi)
52f89a:	0f 85 8c 00 00 00    	jne    0x52f92c
52f8a0:	8b 46 14             	mov    0x14(%esi),%eax
52f8a3:	85 c0                	test   %eax,%eax
52f8a5:	0f 84 81 00 00 00    	je     0x52f92c
52f8ab:	53                   	push   %ebx
52f8ac:	8b 18                	mov    (%eax),%ebx
52f8ae:	57                   	push   %edi
52f8af:	6a 00                	push   $0x0
52f8b1:	6a 01                	push   $0x1
52f8b3:	53                   	push   %ebx
52f8b4:	ff 76 08             	push   0x8(%esi)
52f8b7:	ff 75 08             	push   0x8(%ebp)
52f8ba:	e8 61 86 ff ff       	call   0x527f20
52f8bf:	8b f8                	mov    %eax,%edi
52f8c1:	83 c4 14             	add    $0x14,%esp
52f8c4:	85 ff                	test   %edi,%edi
52f8c6:	74 5d                	je     0x52f925
52f8c8:	f6 47 04 04          	testb  $0x4,0x4(%edi)
52f8cc:	74 57                	je     0x52f925
52f8ce:	83 fb 03             	cmp    $0x3,%ebx
52f8d1:	7d 09                	jge    0x52f8dc
52f8d3:	8b 55 14             	mov    0x14(%ebp),%edx
52f8d6:	c6 42 03 00          	movb   $0x0,0x3(%edx)