4fb653:	c3                   	ret
4fb654:	cc                   	int3
4fb655:	cc                   	int3
4fb656:	cc                   	int3
4fb657:	cc                   	int3
4fb658:	cc                   	int3
4fb659:	cc                   	int3
4fb65a:	cc                   	int3
4fb65b:	cc                   	int3
4fb65c:	cc                   	int3
4fb65d:	cc                   	int3
4fb65e:	cc                   	int3
4fb65f:	cc                   	int3
4fb660:	55                   	push   %ebp
4fb661:	8b ec                	mov    %esp,%ebp
4fb663:	51                   	push   %ecx
4fb664:	57                   	push   %edi
4fb665:	8b 7d 10             	mov    0x10(%ebp),%edi
4fb668:	f6 47 04 08          	testb  $0x8,0x4(%edi)
4fb66c:	75 11                	jne    0x4fb67f
4fb66e:	57                   	push   %edi
4fb66f:	e8 3c 7f 02 00       	call   0x5235b0
4fb674:	83 c4 04             	add    $0x4,%esp
4fb677:	84 c0                	test   %al,%al
4fb679:	0f 85 cd 00 00 00    	jne    0x4fb74c
4fb67f:	56                   	push   %esi
4fb680:	8b 75 08             	mov    0x8(%ebp),%esi
4fb683:	ff 75 14             	push   0x14(%ebp)
4fb686:	ff 36                	push   (%esi)
4fb688:	e8 b3 b0 02 00       	call   0x526740
4fb68d:	83 c4 08             	add    $0x8,%esp
4fb690:	85 c0                	test   %eax,%eax
4fb692:	74 0d                	je     0x4fb6a1
4fb694:	81 78 0c 30 5e 4f 00 	cmpl   $0x4f5e30,0xc(%eax)
4fb69b:	0f 85 aa 00 00 00    	jne    0x4fb74b
4fb6a1:	53                   	push   %ebx
4fb6a2:	8b 5e 04             	mov    0x4(%esi),%ebx
4fb6a5:	33 c9                	xor    %ecx,%ecx
4fb6a7:	85 db                	test   %ebx,%ebx
4fb6a9:	7e 31                	jle    0x4fb6dc
4fb6ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4fb6ae:	8b 56 0c             	mov    0xc(%esi),%edx
4fb6b1:	8b 40 1c             	mov    0x1c(%eax),%eax
4fb6b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fb6b7:	8b 02                	mov    (%edx),%eax
4fb6b9:	8b 7d fc             	mov    -0x4(%ebp),%edi
4fb6bc:	39 78 1c             	cmp    %edi,0x1c(%eax)
4fb6bf:	8b 7d 10             	mov    0x10(%ebp),%edi
4fb6c2:	75 10                	jne    0x4fb6d4
4fb6c4:	8b 7d 0c             	mov    0xc(%ebp),%edi
4fb6c7:	66 8b 40 20          	mov    0x20(%eax),%ax
4fb6cb:	66 3b 47 20          	cmp    0x20(%edi),%ax
4fb6cf:	8b 7d 10             	mov    0x10(%ebp),%edi
4fb6d2:	74 76                	je     0x4fb74a
4fb6d4:	41                   	inc    %ecx
4fb6d5:	83 c2 08             	add    $0x8,%edx
4fb6d8:	3b cb                	cmp    %ebx,%ecx
4fb6da:	7c db                	jl     0x4fb6b7
4fb6dc:	8b 56 0c             	mov    0xc(%esi),%edx
4fb6df:	8d 43 01             	lea    0x1(%ebx),%eax
4fb6e2:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
4fb6e9:	89 46 04             	mov    %eax,0x4(%esi)
4fb6ec:	8b 06                	mov    (%esi),%eax
4fb6ee:	6a 00                	push   $0x0
4fb6f0:	51                   	push   %ecx
4fb6f1:	52                   	push   %edx
4fb6f2:	8b 00                	mov    (%eax),%eax
4fb6f4:	50                   	push   %eax
4fb6f5:	89 55 10             	mov    %edx,0x10(%ebp)
4fb6f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fb6fb:	e8 60 5e 02 00       	call   0x521560
4fb700:	8b d8                	mov    %eax,%ebx
4fb702:	83 c4 10             	add    $0x10,%esp
4fb705:	85 db                	test   %ebx,%ebx
4fb707:	75 13                	jne    0x4fb71c
4fb709:	8b 45 10             	mov    0x10(%ebp),%eax
4fb70c:	85 c0                	test   %eax,%eax
4fb70e:	74 0c                	je     0x4fb71c
4fb710:	50                   	push   %eax
4fb711:	ff 75 fc             	push   -0x4(%ebp)
4fb714:	e8 57 5c 02 00       	call   0x521370
4fb719:	83 c4 08             	add    $0x8,%esp
4fb71c:	89 5e 0c             	mov    %ebx,0xc(%esi)
4fb71f:	85 db                	test   %ebx,%ebx
4fb721:	75 0a                	jne    0x4fb72d
4fb723:	89 5e 04             	mov    %ebx,0x4(%esi)
4fb726:	5b                   	pop    %ebx
4fb727:	5e                   	pop    %esi
4fb728:	5f                   	pop    %edi
4fb729:	8b e5                	mov    %ebp,%esp
4fb72b:	5d                   	pop    %ebp
4fb72c:	c3                   	ret
4fb72d:	f6 47 04 08          	testb  $0x8,0x4(%edi)
4fb731:	74 03                	je     0x4fb736
4fb733:	8b 7f 0c             	mov    0xc(%edi),%edi
4fb736:	8b 46 04             	mov    0x4(%esi),%eax
4fb739:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4fb73c:	89 4c c3 f8          	mov    %ecx,-0x8(%ebx,%eax,8)
4fb740:	8b 4e 04             	mov    0x4(%esi),%ecx
4fb743:	8b 46 0c             	mov    0xc(%esi),%eax
4fb746:	89 7c c8 fc          	mov    %edi,-0x4(%eax,%ecx,8)
4fb74a:	5b                   	pop    %ebx
4fb74b:	5e                   	pop    %esi
4fb74c:	5f                   	pop    %edi
4fb74d:	8b e5                	mov    %ebp,%esp
4fb74f:	5d                   	pop    %ebp
4fb750:	c3                   	ret
4fb751:	cc                   	int3
4fb752:	cc                   	int3
4fb753:	cc                   	int3
4fb754:	cc                   	int3
4fb755:	cc                   	int3
4fb756:	cc                   	int3
4fb757:	cc                   	int3
4fb758:	cc                   	int3
4fb759:	cc                   	int3
4fb75a:	cc                   	int3
4fb75b:	cc                   	int3
4fb75c:	cc                   	int3
4fb75d:	cc                   	int3
4fb75e:	cc                   	int3
4fb75f:	cc                   	int3
4fb760:	55                   	push   %ebp
4fb761:	8b ec                	mov    %esp,%ebp
4fb763:	83 ec 7c             	sub    $0x7c,%esp
4fb766:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4fb76b:	33 c5                	xor    %ebp,%eax
4fb76d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fb770:	8b 45 08             	mov    0x8(%ebp),%eax
4fb773:	33 c9                	xor    %ecx,%ecx
4fb775:	8b 55 10             	mov    0x10(%ebp),%edx
4fb778:	53                   	push   %ebx
4fb779:	56                   	push   %esi
4fb77a:	8b 58 08             	mov    0x8(%eax),%ebx
4fb77d:	8b 75 0c             	mov    0xc(%ebp),%esi
4fb780:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
4fb783:	57                   	push   %edi
4fb784:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
4fb787:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4fb78a:	89 45 cc             	mov    %eax,-0x34(%ebp)
4fb78d:	89 75 b8             	mov    %esi,-0x48(%ebp)
4fb790:	89 55 d0             	mov    %edx,-0x30(%ebp)
4fb793:	89 7d b0             	mov    %edi,-0x50(%ebp)
4fb796:	c6 45 df 00          	movb   $0x0,-0x21(%ebp)
4fb79a:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
4fb7a1:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
4fb7a8:	89 5d c0             	mov    %ebx,-0x40(%ebp)
4fb7ab:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
4fb7ae:	39 4b 70             	cmp    %ecx,0x70(%ebx)
4fb7b1:	7f 19                	jg     0x4fb7cc
4fb7b3:	6a 00                	push   $0x0
4fb7b5:	6a 00                	push   $0x0
4fb7b7:	6a 00                	push   $0x0
4fb7b9:	6a 11                	push   $0x11
4fb7bb:	53                   	push   %ebx
4fb7bc:	e8 3f ad 00 00       	call   0x506500
4fb7c1:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb7c4:	83 c4 14             	add    $0x14,%esp
4fb7c7:	89 45 84             	mov    %eax,-0x7c(%ebp)
4fb7ca:	eb 33                	jmp    0x4fb7ff
4fb7cc:	8d 41 01             	lea    0x1(%ecx),%eax
4fb7cf:	89 43 6c             	mov    %eax,0x6c(%ebx)
4fb7d2:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fb7d5:	8b 43 68             	mov    0x68(%ebx),%eax
4fb7d8:	c7 04 88 11 00 00 00 	movl   $0x11,(%eax,%ecx,4)
4fb7df:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
4fb7e6:	00
4fb7e7:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
4fb7ee:	00
4fb7ef:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
4fb7f6:	00
4fb7f7:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
4fb7fe:	00
4fb7ff:	8b 42 10             	mov    0x10(%edx),%eax
4fb802:	33 c9                	xor    %ecx,%ecx
4fb804:	8b 76 14             	mov    0x14(%esi),%esi
4fb807:	0f 57 c0             	xorps  %xmm0,%xmm0
4fb80a:	8b 7f 48             	mov    0x48(%edi),%edi
4fb80d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4fb810:	8b 45 b8             	mov    -0x48(%ebp),%eax
4fb813:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4fb816:	89 7d ac             	mov    %edi,-0x54(%ebp)
4fb819:	66 0f 13 45 9c       	movlpd %xmm0,-0x64(%ebp)
4fb81e:	8b 40 0c             	mov    0xc(%eax),%eax
4fb821:	8d 04 40             	lea    (%eax,%eax,2),%eax
4fb824:	c1 e0 04             	shl    $0x4,%eax
4fb827:	03 c6                	add    %esi,%eax
4fb829:	89 45 94             	mov    %eax,-0x6c(%ebp)
4fb82c:	3b f0                	cmp    %eax,%esi
4fb82e:	0f 83 ba 01 00 00    	jae    0x4fb9ee
4fb834:	8b 45 a0             	mov    -0x60(%ebp),%eax
4fb837:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4fb83a:	8b 45 9c             	mov    -0x64(%ebp),%eax
4fb83d:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4fb840:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4fb843:	8b 3e                	mov    (%esi),%edi
4fb845:	8b 01                	mov    (%ecx),%eax
4fb847:	0b 41 04             	or     0x4(%ecx),%eax
4fb84a:	75 5f                	jne    0x4fb8ab
4fb84c:	f6 46 0a 02          	testb  $0x2,0xa(%esi)
4fb850:	75 59                	jne    0x4fb8ab
4fb852:	f6 47 04 01          	testb  $0x1,0x4(%edi)
4fb856:	75 53                	jne    0x4fb8ab
4fb858:	b8 03 00 00 00       	mov    $0x3,%eax
4fb85d:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
4fb864:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
4fb868:	8b 42 2c             	mov    0x2c(%edx),%eax
4fb86b:	89 45 f8             	mov    %eax,-0x8(%ebp)
4fb86e:	8d 45 e0             	lea    -0x20(%ebp),%eax
4fb871:	57                   	push   %edi
4fb872:	50                   	push   %eax
4fb873:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
4fb87a:	e8 31 47 06 00       	call   0x55ffb0
4fb87f:	83 c4 08             	add    $0x8,%esp
4fb882:	66 83 7d f4 00       	cmpw   $0x0,-0xc(%ebp)
4fb887:	74 1f                	je     0x4fb8a8
4fb889:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4fb88c:	6a 00                	push   $0x0
4fb88e:	6a 00                	push   $0x0
4fb890:	57                   	push   %edi
4fb891:	ff 33                	push   (%ebx)
4fb893:	e8 c8 4f 00 00       	call   0x500860
4fb898:	50                   	push   %eax
4fb899:	ff 75 98             	push   -0x68(%ebp)
4fb89c:	53                   	push   %ebx
4fb89d:	e8 5e 7f 02 00       	call   0x523800
4fb8a2:	83 c4 1c             	add    $0x1c,%esp
4fb8a5:	89 45 98             	mov    %eax,-0x68(%ebp)
4fb8a8:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb8ab:	8b 4e 14             	mov    0x14(%esi),%ecx
4fb8ae:	3b 4a 2c             	cmp    0x2c(%edx),%ecx
4fb8b1:	0f 85 1d 01 00 00    	jne    0x4fb9d4
4fb8b7:	0f b7 4e 0c          	movzwl 0xc(%esi),%ecx
4fb8bb:	f6 c1 82             	test   $0x82,%cl
4fb8be:	0f 84 10 01 00 00    	je     0x4fb9d4
4fb8c4:	f6 42 24 08          	testb  $0x8,0x24(%edx)
4fb8c8:	74 10                	je     0x4fb8da
4fb8ca:	8b 06                	mov    (%esi),%eax
4fb8cc:	f6 40 04 01          	testb  $0x1,0x4(%eax)
4fb8d0:	75 08                	jne    0x4fb8da
4fb8d2:	84 c9                	test   %cl,%cl
4fb8d4:	0f 88 fa 00 00 00    	js     0x4fb9d4
4fb8da:	8b 4e 20             	mov    0x20(%esi),%ecx
4fb8dd:	8b 46 24             	mov    0x24(%esi),%eax
4fb8e0:	23 4d 14             	and    0x14(%ebp),%ecx
4fb8e3:	23 45 18             	and    0x18(%ebp),%eax
4fb8e6:	0b c8                	or     %eax,%ecx
4fb8e8:	0f 85 e6 00 00 00    	jne    0x4fb9d4
4fb8ee:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4fb8f1:	85 c9                	test   %ecx,%ecx
4fb8f3:	0f 88 db 00 00 00    	js     0x4fb9d4
4fb8f9:	8b 42 10             	mov    0x10(%edx),%eax
4fb8fc:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fb8ff:	ff 36                	push   (%esi)
4fb901:	8b 40 04             	mov    0x4(%eax),%eax
4fb904:	8a 5c 88 0d          	mov    0xd(%eax,%ecx,4),%bl
4fb908:	e8 f3 f6 ff ff       	call   0x4fb000
4fb90d:	83 c4 04             	add    $0x4,%esp
4fb910:	3c 42                	cmp    $0x42,%al
4fb912:	7c 1c                	jl     0x4fb930
4fb914:	75 0a                	jne    0x4fb920
4fb916:	33 c0                	xor    %eax,%eax
4fb918:	80 fb 42             	cmp    $0x42,%bl
4fb91b:	0f 94 c0             	sete   %al
4fb91e:	eb 08                	jmp    0x4fb928
4fb920:	33 c0                	xor    %eax,%eax
4fb922:	80 fb 43             	cmp    $0x43,%bl
4fb925:	0f 9d c0             	setge  %al
4fb928:	85 c0                	test   %eax,%eax
4fb92a:	0f 84 a1 00 00 00    	je     0x4fb9d1
4fb930:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4fb933:	33 ff                	xor    %edi,%edi
4fb935:	83 f9 40             	cmp    $0x40,%ecx
4fb938:	7c 07                	jl     0x4fb941
4fb93a:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4fb93f:	eb 15                	jmp    0x4fb956
4fb941:	8b c1                	mov    %ecx,%eax
4fb943:	33 db                	xor    %ebx,%ebx
4fb945:	0f ab c7             	bts    %eax,%edi
4fb948:	83 f8 20             	cmp    $0x20,%eax
4fb94b:	0f 43 df             	cmovae %edi,%ebx
4fb94e:	33 fb                	xor    %ebx,%edi
4fb950:	83 f8 40             	cmp    $0x40,%eax
4fb953:	0f 43 df             	cmovae %edi,%ebx
4fb956:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
4fb95a:	75 24                	jne    0x4fb980
4fb95c:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4fb95f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fb962:	8b 42 04             	mov    0x4(%edx),%eax
4fb965:	ff 34 88             	push   (%eax,%ecx,4)
4fb968:	ff 32                	push   (%edx)
4fb96a:	68 40 bb 6b 00       	push   $0x6bbb40
4fb96f:	68 1c 01 00 00       	push   $0x11c
4fb974:	e8 67 46 fe ff       	call   0x4dffe0
4fb979:	83 c4 10             	add    $0x10,%esp
4fb97c:	c6 45 df 01          	movb   $0x1,-0x21(%ebp)
4fb980:	8b cf                	mov    %edi,%ecx
4fb982:	8b c3                	mov    %ebx,%eax
4fb984:	23 4d b4             	and    -0x4c(%ebp),%ecx
4fb987:	23 45 d4             	and    -0x2c(%ebp),%eax
4fb98a:	0b c8                	or     %eax,%ecx
4fb98c:	75 43                	jne    0x4fb9d1
4fb98e:	8b 45 d8             	mov    -0x28(%ebp),%eax
4fb991:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4fb994:	40                   	inc    %eax
4fb995:	50                   	push   %eax
4fb996:	89 45 bc             	mov    %eax,-0x44(%ebp)
4fb999:	8b 45 cc             	mov    -0x34(%ebp),%eax
4fb99c:	51                   	push   %ecx
4fb99d:	ff 30                	push   (%eax)
4fb99f:	e8 ac 77 06 00       	call   0x563150
4fb9a4:	83 c4 0c             	add    $0xc,%esp
4fb9a7:	85 c0                	test   %eax,%eax
4fb9a9:	0f 85 c2 07 00 00    	jne    0x4fc171
4fb9af:	8b 45 ac             	mov    -0x54(%ebp),%eax
4fb9b2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4fb9b5:	09 7d b4             	or     %edi,-0x4c(%ebp)
4fb9b8:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4fb9bb:	8b 40 30             	mov    0x30(%eax),%eax
4fb9be:	0b fb                	or     %ebx,%edi
4fb9c0:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb9c3:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4fb9c6:	89 34 88             	mov    %esi,(%eax,%ecx,4)
4fb9c9:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4fb9cc:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4fb9cf:	eb 09                	jmp    0x4fb9da
4fb9d1:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb9d4:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4fb9d7:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4fb9da:	83 c6 30             	add    $0x30,%esi
4fb9dd:	3b 75 94             	cmp    -0x6c(%ebp),%esi
4fb9e0:	0f 82 5a fe ff ff    	jb     0x4fb840
4fb9e6:	8b 5d c0             	mov    -0x40(%ebp),%ebx
4fb9e9:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4fb9ec:	eb 06                	jmp    0x4fb9f4
4fb9ee:	8b 7d a0             	mov    -0x60(%ebp),%edi
4fb9f1:	8b 75 9c             	mov    -0x64(%ebp),%esi
4fb9f4:	8b 45 ac             	mov    -0x54(%ebp),%eax
4fb9f7:	f7 d7                	not    %edi
4fb9f9:	81 cf 00 00 00 80    	or     $0x80000000,%edi
4fb9ff:	f7 d6                	not    %esi
4fba01:	66 89 48 28          	mov    %cx,0x28(%eax)
4fba05:	66 89 48 18          	mov    %cx,0x18(%eax)
4fba09:	c7 40 24 41 42 00 00 	movl   $0x4241,0x24(%eax)
4fba10:	8b 4a 38             	mov    0x38(%edx),%ecx
4fba13:	23 f1                	and    %ecx,%esi
4fba15:	8b 42 3c             	mov    0x3c(%edx),%eax
4fba18:	23 f8                	and    %eax,%edi
4fba1a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4fba1d:	89 7d d4             	mov    %edi,-0x2c(%ebp)