4fc5ff:	0f b6 42 32          	movzbl 0x32(%edx),%eax
4fc603:	50                   	push   %eax
4fc604:	51                   	push   %ecx
4fc605:	6a 00                	push   $0x0
4fc607:	6a 00                	push   $0x0
4fc609:	6a 00                	push   $0x0
4fc60b:	56                   	push   %esi
4fc60c:	e8 4f 3f 02 00       	call   0x520560
4fc611:	8b 45 08             	mov    0x8(%ebp),%eax
4fc614:	83 c4 2c             	add    $0x2c,%esp
4fc617:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
4fc61b:	0f 85 f9 02 00 00    	jne    0x4fc91a
4fc621:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
4fc625:	0f 85 ef 02 00 00    	jne    0x4fc91a
4fc62b:	8b 75 0c             	mov    0xc(%ebp),%esi
4fc62e:	8b 7e 08             	mov    0x8(%esi),%edi
4fc631:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc634:	85 ff                	test   %edi,%edi
4fc636:	0f 84 af 00 00 00    	je     0x4fc6eb
4fc63c:	0f 1f 40 00          	nopl   0x0(%eax)
4fc640:	8b 47 38             	mov    0x38(%edi),%eax
4fc643:	24 03                	and    $0x3,%al
4fc645:	3c 02                	cmp    $0x2,%al
4fc647:	74 07                	je     0x4fc650
4fc649:	8b 7f 14             	mov    0x14(%edi),%edi
4fc64c:	85 ff                	test   %edi,%edi
4fc64e:	75 f0                	jne    0x4fc640
4fc650:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc653:	e9 93 00 00 00       	jmp    0x4fc6eb
4fc658:	85 db                	test   %ebx,%ebx
4fc65a:	0f 84 ba 02 00 00    	je     0x4fc91a
4fc660:	53                   	push   %ebx
4fc661:	ff 75 f0             	push   -0x10(%ebp)
4fc664:	e8 47 a1 02 00       	call   0x5267b0
4fc669:	83 c4 08             	add    $0x8,%esp
4fc66c:	5f                   	pop    %edi
4fc66d:	5e                   	pop    %esi
4fc66e:	5b                   	pop    %ebx
4fc66f:	8b e5                	mov    %ebp,%esp
4fc671:	5d                   	pop    %ebp
4fc672:	c3                   	ret
4fc673:	8b 7b 08             	mov    0x8(%ebx),%edi
4fc676:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc679:	85 ff                	test   %edi,%edi
4fc67b:	74 16                	je     0x4fc693
4fc67d:	0f 1f 00             	nopl   (%eax)
4fc680:	8b 47 38             	mov    0x38(%edi),%eax
4fc683:	24 03                	and    $0x3,%al
4fc685:	3c 02                	cmp    $0x2,%al
4fc687:	74 07                	je     0x4fc690
4fc689:	8b 7f 14             	mov    0x14(%edi),%edi
4fc68c:	85 ff                	test   %edi,%edi
4fc68e:	75 f0                	jne    0x4fc680
4fc690:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc693:	bb 01 00 00 00       	mov    $0x1,%ebx
4fc698:	8b c3                	mov    %ebx,%eax
4fc69a:	8b f3                	mov    %ebx,%esi
4fc69c:	66 3b 47 32          	cmp    0x32(%edi),%ax
4fc6a0:	73 42                	jae    0x4fc6e4
4fc6a2:	56                   	push   %esi
4fc6a3:	57                   	push   %edi
4fc6a4:	53                   	push   %ebx
4fc6a5:	57                   	push   %edi
4fc6a6:	e8 f5 b5 00 00       	call   0x507ca0
4fc6ab:	83 c4 10             	add    $0x10,%esp
4fc6ae:	85 c0                	test   %eax,%eax
4fc6b0:	74 0b                	je     0x4fc6bd
4fc6b2:	b8 ff ff 00 00       	mov    $0xffff,%eax
4fc6b7:	66 01 47 34          	add    %ax,0x34(%edi)
4fc6bb:	eb 1e                	jmp    0x4fc6db
4fc6bd:	8b 4f 20             	mov    0x20(%edi),%ecx
4fc6c0:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
4fc6c3:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
4fc6c6:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4fc6c9:	8a 04 31             	mov    (%ecx,%esi,1),%al
4fc6cc:	88 04 19             	mov    %al,(%ecx,%ebx,1)
4fc6cf:	8b 4f 04             	mov    0x4(%edi),%ecx
4fc6d2:	66 8b 04 71          	mov    (%ecx,%esi,2),%ax
4fc6d6:	66 89 04 59          	mov    %ax,(%ecx,%ebx,2)
4fc6da:	43                   	inc    %ebx
4fc6db:	0f b7 47 32          	movzwl 0x32(%edi),%eax
4fc6df:	46                   	inc    %esi
4fc6e0:	3b f0                	cmp    %eax,%esi
4fc6e2:	7c be                	jl     0x4fc6a2
4fc6e4:	8b 75 0c             	mov    0xc(%ebp),%esi
4fc6e7:	66 89 5f 32          	mov    %bx,0x32(%edi)
4fc6eb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4fc6ee:	83 4f 38 20          	orl    $0x20,0x38(%edi)
4fc6f2:	f6 81 a8 00 00 00 02 	testb  $0x2,0xa8(%ecx)
4fc6f9:	75 04                	jne    0x4fc6ff
4fc6fb:	83 4f 38 08          	orl    $0x8,0x38(%edi)
4fc6ff:	0f b7 47 32          	movzwl 0x32(%edi),%eax
4fc703:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc706:	8b d8                	mov    %eax,%ebx
4fc708:	66 89 47 34          	mov    %ax,0x34(%edi)
4fc70c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4fc70f:	85 d2                	test   %edx,%edx
4fc711:	74 28                	je     0x4fc73b
4fc713:	8b 4f 2c             	mov    0x2c(%edi),%ecx
4fc716:	85 c9                	test   %ecx,%ecx
4fc718:	7e 21                	jle    0x4fc73b
4fc71a:	79 04                	jns    0x4fc720
4fc71c:	8b 4a 6c             	mov    0x6c(%edx),%ecx
4fc71f:	49                   	dec    %ecx
4fc720:	8b 02                	mov    (%edx),%eax
4fc722:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
4fc726:	74 07                	je     0x4fc72f
4fc728:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
4fc72d:	eb 09                	jmp    0x4fc738
4fc72f:	8b 42 68             	mov    0x68(%edx),%eax
4fc732:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fc735:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4fc738:	c6 00 0b             	movb   $0xb,(%eax)
4fc73b:	8b 46 1c             	mov    0x1c(%esi),%eax
4fc73e:	89 47 2c             	mov    %eax,0x2c(%edi)
4fc741:	8b 76 08             	mov    0x8(%esi),%esi
4fc744:	85 f6                	test   %esi,%esi
4fc746:	0f 84 f1 00 00 00    	je     0x4fc83d
4fc74c:	0f 1f 40 00          	nopl   0x0(%eax)
4fc750:	8b 46 38             	mov    0x38(%esi),%eax
4fc753:	24 03                	and    $0x3,%al
4fc755:	3c 02                	cmp    $0x2,%al
4fc757:	0f 84 d2 00 00 00    	je     0x4fc82f
4fc75d:	33 db                	xor    %ebx,%ebx
4fc75f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4fc766:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
4fc769:	0f 8e b8 00 00 00    	jle    0x4fc827
4fc76f:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
4fc773:	53                   	push   %ebx
4fc774:	57                   	push   %edi
4fc775:	51                   	push   %ecx
4fc776:	56                   	push   %esi
4fc777:	e8 24 b5 00 00       	call   0x507ca0
4fc77c:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc77f:	83 c4 10             	add    $0x10,%esp
4fc782:	43                   	inc    %ebx
4fc783:	85 c0                	test   %eax,%eax
4fc785:	8d 4a 01             	lea    0x1(%edx),%ecx
4fc788:	0f 45 ca             	cmovne %edx,%ecx
4fc78b:	8b c1                	mov    %ecx,%eax
4fc78d:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
4fc791:	89 45 f4             	mov    %eax,-0xc(%ebp)
4fc794:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
4fc797:	7c da                	jl     0x4fc773
4fc799:	85 c0                	test   %eax,%eax
4fc79b:	0f 84 86 00 00 00    	je     0x4fc827
4fc7a1:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
4fc7a5:	03 c1                	add    %ecx,%eax
4fc7a7:	50                   	push   %eax
4fc7a8:	56                   	push   %esi
4fc7a9:	ff 75 08             	push   0x8(%ebp)
4fc7ac:	e8 3f 6f 01 00       	call   0x5136f0
4fc7b1:	83 c4 0c             	add    $0xc,%esp
4fc7b4:	85 c0                	test   %eax,%eax
4fc7b6:	0f 85 5e 01 00 00    	jne    0x4fc91a
4fc7bc:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4fc7c0:	33 db                	xor    %ebx,%ebx
4fc7c2:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
4fc7c9:	03 c0                	add    %eax,%eax
4fc7cb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4fc7ce:	89 45 f4             	mov    %eax,-0xc(%ebp)
4fc7d1:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4fc7d5:	53                   	push   %ebx
4fc7d6:	57                   	push   %edi
4fc7d7:	50                   	push   %eax
4fc7d8:	56                   	push   %esi
4fc7d9:	e8 c2 b4 00 00       	call   0x507ca0
4fc7de:	83 c4 10             	add    $0x10,%esp
4fc7e1:	85 c0                	test   %eax,%eax
4fc7e3:	75 3a                	jne    0x4fc81f
4fc7e5:	8b 47 04             	mov    0x4(%edi),%eax
4fc7e8:	8b 4e 04             	mov    0x4(%esi),%ecx
4fc7eb:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc7ee:	66 8b 04 58          	mov    (%eax,%ebx,2),%ax
4fc7f2:	66 89 04 0a          	mov    %ax,(%edx,%ecx,1)
4fc7f6:	8b 47 20             	mov    0x20(%edi),%eax
4fc7f9:	8b 4e 20             	mov    0x20(%esi),%ecx
4fc7fc:	8b 55 f0             	mov    -0x10(%ebp),%edx
4fc7ff:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4fc802:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
4fc805:	8b 47 1c             	mov    0x1c(%edi),%eax
4fc808:	80 3c 03 00          	cmpb   $0x0,(%ebx,%eax,1)
4fc80c:	74 07                	je     0x4fc815
4fc80e:	81 4e 38 00 02 00 00 	orl    $0x200,0x38(%esi)
4fc815:	83 45 f4 02          	addl   $0x2,-0xc(%ebp)
4fc819:	83 c2 04             	add    $0x4,%edx
4fc81c:	89 55 f0             	mov    %edx,-0x10(%ebp)
4fc81f:	43                   	inc    %ebx
4fc820:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
4fc823:	7c ac                	jl     0x4fc7d1
4fc825:	eb 08                	jmp    0x4fc82f
4fc827:	66 8b 46 32          	mov    0x32(%esi),%ax
4fc82b:	66 89 46 34          	mov    %ax,0x34(%esi)
4fc82f:	8b 76 14             	mov    0x14(%esi),%esi
4fc832:	85 f6                	test   %esi,%esi
4fc834:	0f 85 16 ff ff ff    	jne    0x4fc750
4fc83a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4fc83d:	8b 55 0c             	mov    0xc(%ebp),%edx
4fc840:	33 c0                	xor    %eax,%eax
4fc842:	33 f6                	xor    %esi,%esi
4fc844:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fc847:	0f bf 4a 2a          	movswl 0x2a(%edx),%ecx
4fc84b:	85 c9                	test   %ecx,%ecx
4fc84d:	7e 51                	jle    0x4fc8a0
4fc84f:	8b 57 04             	mov    0x4(%edi),%edx
4fc852:	8b f9                	mov    %ecx,%edi
4fc854:	89 55 ec             	mov    %edx,-0x14(%ebp)
4fc857:	89 45 f4             	mov    %eax,-0xc(%ebp)
4fc85a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4fc860:	8b cb                	mov    %ebx,%ecx
4fc862:	85 db                	test   %ebx,%ebx
4fc864:	74 0f                	je     0x4fc875
4fc866:	0f bf 02             	movswl (%edx),%eax
4fc869:	8d 52 02             	lea    0x2(%edx),%edx
4fc86c:	49                   	dec    %ecx
4fc86d:	3b f0                	cmp    %eax,%esi
4fc86f:	74 1d                	je     0x4fc88e
4fc871:	85 c9                	test   %ecx,%ecx
4fc873:	7f f1                	jg     0x4fc866
4fc875:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc878:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4fc87b:	8b 40 04             	mov    0x4(%eax),%eax
4fc87e:	f6 44 01 10 20       	testb  $0x20,0x10(%ecx,%eax,1)
4fc883:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc886:	75 09                	jne    0x4fc891
4fc888:	40                   	inc    %eax
4fc889:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fc88c:	eb 03                	jmp    0x4fc891
4fc88e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc891:	83 45 f4 14          	addl   $0x14,-0xc(%ebp)
4fc895:	46                   	inc    %esi
4fc896:	8b 55 ec             	mov    -0x14(%ebp),%edx
4fc899:	3b f7                	cmp    %edi,%esi
4fc89b:	7c c3                	jl     0x4fc860
4fc89d:	8b 7d f8             	mov    -0x8(%ebp),%edi
4fc8a0:	03 c3                	add    %ebx,%eax
4fc8a2:	50                   	push   %eax
4fc8a3:	57                   	push   %edi
4fc8a4:	ff 75 08             	push   0x8(%ebp)
4fc8a7:	e8 44 6e 01 00       	call   0x5136f0
4fc8ac:	83 c4 0c             	add    $0xc,%esp
4fc8af:	85 c0                	test   %eax,%eax
4fc8b1:	75 67                	jne    0x4fc91a
4fc8b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc8b6:	33 c9                	xor    %ecx,%ecx
4fc8b8:	33 f6                	xor    %esi,%esi
4fc8ba:	66 3b 48 2a          	cmp    0x2a(%eax),%cx
4fc8be:	7d 51                	jge    0x4fc911
4fc8c0:	89 4d 08             	mov    %ecx,0x8(%ebp)
4fc8c3:	8b 57 04             	mov    0x4(%edi),%edx
4fc8c6:	8b cb                	mov    %ebx,%ecx
4fc8c8:	85 db                	test   %ebx,%ebx
4fc8ca:	7e 13                	jle    0x4fc8df
4fc8cc:	0f 1f 40 00          	nopl   0x0(%eax)
4fc8d0:	0f bf 02             	movswl (%edx),%eax
4fc8d3:	8d 52 02             	lea    0x2(%edx),%edx
4fc8d6:	49                   	dec    %ecx
4fc8d7:	3b f0                	cmp    %eax,%esi
4fc8d9:	74 26                	je     0x4fc901
4fc8db:	85 c9                	test   %ecx,%ecx
4fc8dd:	7f f1                	jg     0x4fc8d0
4fc8df:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc8e2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4fc8e5:	8b 40 04             	mov    0x4(%eax),%eax
4fc8e8:	f6 44 08 10 20       	testb  $0x20,0x10(%eax,%ecx,1)
4fc8ed:	75 12                	jne    0x4fc901
4fc8ef:	8b 47 04             	mov    0x4(%edi),%eax
4fc8f2:	66 89 34 58          	mov    %si,(%eax,%ebx,2)
4fc8f6:	8b 47 20             	mov    0x20(%edi),%eax
4fc8f9:	c7 04 98 40 1c 6b 00 	movl   $0x6b1c40,(%eax,%ebx,4)
4fc900:	43                   	inc    %ebx
4fc901:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc904:	46                   	inc    %esi
4fc905:	83 45 08 14          	addl   $0x14,0x8(%ebp)
4fc909:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
4fc90d:	3b f0                	cmp    %eax,%esi
4fc90f:	7c b2                	jl     0x4fc8c3
4fc911:	57                   	push   %edi
4fc912:	e8 49 52 01 00       	call   0x511b60
4fc917:	83 c4 04             	add    $0x4,%esp
4fc91a:	5f                   	pop    %edi
4fc91b:	5e                   	pop    %esi
4fc91c:	5b                   	pop    %ebx
4fc91d:	8b e5                	mov    %ebp,%esp
4fc91f:	5d                   	pop    %ebp
4fc920:	c3                   	ret
4fc921:	cc                   	int3
4fc922:	cc                   	int3
4fc923:	cc                   	int3
4fc924:	cc                   	int3
4fc925:	cc                   	int3
4fc926:	cc                   	int3
4fc927:	cc                   	int3
4fc928:	cc                   	int3
4fc929:	cc                   	int3
4fc92a:	cc                   	int3
4fc92b:	cc                   	int3
4fc92c:	cc                   	int3
4fc92d:	cc                   	int3
4fc92e:	cc                   	int3
4fc92f:	cc                   	int3
4fc930:	55                   	push   %ebp
4fc931:	8b ec                	mov    %esp,%ebp
4fc933:	8b 45 10             	mov    0x10(%ebp),%eax
4fc936:	83 ec 08             	sub    $0x8,%esp
4fc939:	83 38 00             	cmpl   $0x0,(%eax)
4fc93c:	0f 85 b4 00 00 00    	jne    0x4fc9f6
4fc942:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4fc945:	53                   	push   %ebx
4fc946:	8b 5d 08             	mov    0x8(%ebp),%ebx
4fc949:	56                   	push   %esi
4fc94a:	57                   	push   %edi
4fc94b:	33 ff                	xor    %edi,%edi
4fc94d:	be 64 00 00 00       	mov    $0x64,%esi
4fc952:	8b 43 34             	mov    0x34(%ebx),%eax
4fc955:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4fc959:	8b 53 38             	mov    0x38(%ebx),%edx
4fc95c:	89 45 f8             	mov    %eax,-0x8(%ebp)
4fc95f:	0f 44 fe             	cmove  %esi,%edi
4fc962:	8b 41 38             	mov    0x38(%ecx),%eax
4fc965:	89 45 fc             	mov    %eax,-0x4(%ebp)
4fc968:	0f b6 43 09          	movzbl 0x9(%ebx),%eax
4fc96c:	0f b6 4c 10 05       	movzbl 0x5(%eax,%edx,1),%ecx
4fc971:	8d 34 10             	lea    (%eax,%edx,1),%esi
4fc974:	0f b6 46 06          	movzbl 0x6(%esi),%eax
4fc978:	c1 e1 08             	shl    $0x8,%ecx
4fc97b:	0b c8                	or     %eax,%ecx
4fc97d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4fc980:	8b 40 24             	mov    0x24(%eax),%eax
4fc983:	2b c1                	sub    %ecx,%eax
4fc985:	50                   	push   %eax
4fc986:	8d 04 11             	lea    (%ecx,%edx,1),%eax
4fc989:	50                   	push   %eax
4fc98a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc98d:	03 c1                	add    %ecx,%eax
4fc98f:	50                   	push   %eax
4fc990:	e8 6b 65 0e 00       	call   0x5e2f00
4fc995:	0f b7 4b 18          	movzwl 0x18(%ebx),%ecx
4fc999:	0f b7 43 12          	movzwl 0x12(%ebx),%eax
4fc99d:	8d 04 48             	lea    (%eax,%ecx,2),%eax
4fc9a0:	50                   	push   %eax
4fc9a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4fc9a4:	03 c7                	add    %edi,%eax
4fc9a6:	56                   	push   %esi
4fc9a7:	50                   	push   %eax
4fc9a8:	e8 53 65 0e 00       	call   0x5e2f00
4fc9ad:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4fc9b0:	53                   	push   %ebx
4fc9b1:	c6 03 00             	movb   $0x0,(%ebx)
4fc9b4:	e8 57 a4 ff ff       	call   0x4f6e10