50b65d:	83 c4 0c             	add    $0xc,%esp
50b660:	85 f6                	test   %esi,%esi
50b662:	74 1d                	je     0x50b681
50b664:	8b 7d 08             	mov    0x8(%ebp),%edi
50b667:	85 f6                	test   %esi,%esi
50b669:	75 06                	jne    0x50b671
50b66b:	8b 45 f4             	mov    -0xc(%ebp),%eax
50b66e:	8b 70 08             	mov    0x8(%eax),%esi
50b671:	8b 06                	mov    (%esi),%eax
50b673:	89 45 e4             	mov    %eax,-0x1c(%ebp)
50b676:	85 c0                	test   %eax,%eax
50b678:	75 28                	jne    0x50b6a2
50b67a:	89 45 e8             	mov    %eax,-0x18(%ebp)
50b67d:	eb 5b                	jmp    0x50b6da
50b67f:	33 f6                	xor    %esi,%esi
50b681:	8b 45 0c             	mov    0xc(%ebp),%eax
50b684:	8b 48 1c             	mov    0x1c(%eax),%ecx
50b687:	3b 39                	cmp    (%ecx),%edi
50b689:	7d d9                	jge    0x50b664
50b68b:	8d 04 bf             	lea    (%edi,%edi,4),%eax
50b68e:	8b 7d 08             	mov    0x8(%ebp),%edi
50b691:	ff 74 81 04          	push   0x4(%ecx,%eax,4)
50b695:	57                   	push   %edi
50b696:	e8 45 ac 01 00       	call   0x5262e0
50b69b:	83 c4 08             	add    $0x8,%esp
50b69e:	8b f0                	mov    %eax,%esi
50b6a0:	eb c5                	jmp    0x50b667
50b6a2:	8d 50 01             	lea    0x1(%eax),%edx
50b6a5:	8a 08                	mov    (%eax),%cl
50b6a7:	40                   	inc    %eax
50b6a8:	84 c9                	test   %cl,%cl
50b6aa:	75 f9                	jne    0x50b6a5
50b6ac:	2b c2                	sub    %edx,%eax
50b6ae:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
50b6b3:	89 45 e8             	mov    %eax,-0x18(%ebp)
50b6b6:	76 22                	jbe    0x50b6da
50b6b8:	6a 00                	push   $0x0
50b6ba:	8d 45 e4             	lea    -0x1c(%ebp),%eax
50b6bd:	50                   	push   %eax
50b6be:	6a 6f                	push   $0x6f
50b6c0:	ff 37                	push   (%edi)
50b6c2:	e8 a9 7f 01 00       	call   0x523670
50b6c7:	83 c4 10             	add    $0x10,%esp
50b6ca:	85 c0                	test   %eax,%eax
50b6cc:	74 0c                	je     0x50b6da
50b6ce:	81 48 04 00 11 00 00 	orl    $0x1100,0x4(%eax)
50b6d5:	89 58 0c             	mov    %ebx,0xc(%eax)
50b6d8:	8b d8                	mov    %eax,%ebx
50b6da:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b6dd:	8b 7d f8             	mov    -0x8(%ebp),%edi
50b6e0:	89 1a                	mov    %ebx,(%edx)
50b6e2:	8b 45 10             	mov    0x10(%ebp),%eax
50b6e5:	8b 5d f0             	mov    -0x10(%ebp),%ebx
50b6e8:	83 45 10 04          	addl   $0x4,0x10(%ebp)
50b6ec:	89 30                	mov    %esi,(%eax)
50b6ee:	8b 4b 10             	mov    0x10(%ebx),%ecx
50b6f1:	8a 42 08             	mov    0x8(%edx),%al
50b6f4:	83 c2 14             	add    $0x14,%edx
50b6f7:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b6fa:	88 04 0f             	mov    %al,(%edi,%ecx,1)
50b6fd:	47                   	inc    %edi
50b6fe:	89 7d f8             	mov    %edi,-0x8(%ebp)
50b701:	3b 7d ec             	cmp    -0x14(%ebp),%edi
50b704:	0f 8c 17 ff ff ff    	jl     0x50b621
50b70a:	8b c3                	mov    %ebx,%eax
50b70c:	5f                   	pop    %edi
50b70d:	5e                   	pop    %esi
50b70e:	5b                   	pop    %ebx
50b70f:	8b e5                	mov    %ebp,%esp
50b711:	5d                   	pop    %ebp
50b712:	c3                   	ret
50b713:	cc                   	int3
50b714:	cc                   	int3
50b715:	cc                   	int3
50b716:	cc                   	int3
50b717:	cc                   	int3
50b718:	cc                   	int3
50b719:	cc                   	int3
50b71a:	cc                   	int3
50b71b:	cc                   	int3
50b71c:	cc                   	int3
50b71d:	cc                   	int3
50b71e:	cc                   	int3
50b71f:	cc                   	int3
50b720:	55                   	push   %ebp
50b721:	8b ec                	mov    %esp,%ebp
50b723:	56                   	push   %esi
50b724:	8b 75 0c             	mov    0xc(%ebp),%esi
50b727:	33 c9                	xor    %ecx,%ecx
50b729:	57                   	push   %edi
50b72a:	bf 01 00 00 00       	mov    $0x1,%edi
50b72f:	8b 46 3c             	mov    0x3c(%esi),%eax
50b732:	85 c0                	test   %eax,%eax
50b734:	89 45 0c             	mov    %eax,0xc(%ebp)
50b737:	0f 94 c1             	sete   %cl
50b73a:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
50b73e:	75 11                	jne    0x50b751
50b740:	8b 46 34             	mov    0x34(%esi),%eax
50b743:	85 c0                	test   %eax,%eax
50b745:	74 11                	je     0x50b758
50b747:	8b f0                	mov    %eax,%esi
50b749:	03 f9                	add    %ecx,%edi
50b74b:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
50b74f:	74 ef                	je     0x50b740
50b751:	5f                   	pop    %edi
50b752:	83 c8 ff             	or     $0xffffffff,%eax
50b755:	5e                   	pop    %esi
50b756:	5d                   	pop    %ebp
50b757:	c3                   	ret
50b758:	53                   	push   %ebx
50b759:	8b 5d 08             	mov    0x8(%ebp),%ebx
50b75c:	b9 b4 af 6b 00       	mov    $0x6bafb4,%ecx
50b761:	83 ff 01             	cmp    $0x1,%edi
50b764:	b8 ad 57 6e 00       	mov    $0x6e57ad,%eax
50b769:	0f 45 c1             	cmovne %ecx,%eax
50b76c:	50                   	push   %eax
50b76d:	57                   	push   %edi
50b76e:	68 b8 af 6b 00       	push   $0x6bafb8
50b773:	6a 00                	push   $0x0
50b775:	53                   	push   %ebx
50b776:	e8 65 e4 03 00       	call   0x549be0
50b77b:	83 c4 14             	add    $0x14,%esp
50b77e:	66 90                	xchg   %ax,%ax
50b780:	6a 01                	push   $0x1
50b782:	6a 01                	push   $0x1
50b784:	ff 75 10             	push   0x10(%ebp)
50b787:	6a 00                	push   $0x0
50b789:	6a 00                	push   $0x0
50b78b:	6a ff                	push   $0xffffffff
50b78d:	56                   	push   %esi
50b78e:	53                   	push   %ebx
50b78f:	e8 ac a7 00 00       	call   0x515f40
50b794:	83 c4 20             	add    $0x20,%esp
50b797:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
50b79b:	75 0b                	jne    0x50b7a8
50b79d:	66 89 7e 02          	mov    %di,0x2(%esi)
50b7a1:	8b 76 38             	mov    0x38(%esi),%esi
50b7a4:	85 f6                	test   %esi,%esi
50b7a6:	75 d8                	jne    0x50b780
50b7a8:	5b                   	pop    %ebx
50b7a9:	5f                   	pop    %edi
50b7aa:	33 c0                	xor    %eax,%eax
50b7ac:	5e                   	pop    %esi
50b7ad:	5d                   	pop    %ebp
50b7ae:	c3                   	ret
50b7af:	cc                   	int3
50b7b0:	55                   	push   %ebp
50b7b1:	8b ec                	mov    %esp,%ebp
50b7b3:	51                   	push   %ecx
50b7b4:	8b 45 08             	mov    0x8(%ebp),%eax
50b7b7:	53                   	push   %ebx
50b7b8:	56                   	push   %esi
50b7b9:	57                   	push   %edi
50b7ba:	85 c0                	test   %eax,%eax
50b7bc:	74 50                	je     0x50b80e
50b7be:	8b 48 04             	mov    0x4(%eax),%ecx
50b7c1:	33 ff                	xor    %edi,%edi
50b7c3:	89 4d 08             	mov    %ecx,0x8(%ebp)
50b7c6:	85 c9                	test   %ecx,%ecx
50b7c8:	7e 44                	jle    0x50b80e
50b7ca:	8b 18                	mov    (%eax),%ebx
50b7cc:	0f 1f 40 00          	nopl   0x0(%eax)
50b7d0:	8b 75 0c             	mov    0xc(%ebp),%esi
50b7d3:	8b 03                	mov    (%ebx),%eax
50b7d5:	2b f0                	sub    %eax,%esi
50b7d7:	0f b6 10             	movzbl (%eax),%edx
50b7da:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
50b7de:	3b d1                	cmp    %ecx,%edx
50b7e0:	75 0e                	jne    0x50b7f0
50b7e2:	85 d2                	test   %edx,%edx
50b7e4:	75 1c                	jne    0x50b802
50b7e6:	5f                   	pop    %edi
50b7e7:	5e                   	pop    %esi
50b7e8:	8d 42 01             	lea    0x1(%edx),%eax
50b7eb:	5b                   	pop    %ebx
50b7ec:	8b e5                	mov    %ebp,%esp
50b7ee:	5d                   	pop    %ebp
50b7ef:	c3                   	ret
50b7f0:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
50b7f7:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
50b7fe:	2b d1                	sub    %ecx,%edx
50b800:	75 03                	jne    0x50b805
50b802:	40                   	inc    %eax
50b803:	eb d2                	jmp    0x50b7d7
50b805:	47                   	inc    %edi
50b806:	83 c3 08             	add    $0x8,%ebx
50b809:	3b 7d 08             	cmp    0x8(%ebp),%edi
50b80c:	7c c2                	jl     0x50b7d0
50b80e:	5f                   	pop    %edi
50b80f:	5e                   	pop    %esi
50b810:	33 c0                	xor    %eax,%eax
50b812:	5b                   	pop    %ebx
50b813:	8b e5                	mov    %ebp,%esp
50b815:	5d                   	pop    %ebp
50b816:	c3                   	ret
50b817:	cc                   	int3
50b818:	cc                   	int3
50b819:	cc                   	int3
50b81a:	cc                   	int3
50b81b:	cc                   	int3
50b81c:	cc                   	int3
50b81d:	cc                   	int3
50b81e:	cc                   	int3
50b81f:	cc                   	int3
50b820:	55                   	push   %ebp
50b821:	8b ec                	mov    %esp,%ebp
50b823:	56                   	push   %esi
50b824:	8b 75 08             	mov    0x8(%ebp),%esi
50b827:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
50b82b:	76 05                	jbe    0x50b832
50b82d:	33 c0                	xor    %eax,%eax
50b82f:	5e                   	pop    %esi
50b830:	5d                   	pop    %ebp
50b831:	c3                   	ret
50b832:	53                   	push   %ebx
50b833:	8b 5e 0c             	mov    0xc(%esi),%ebx
50b836:	57                   	push   %edi
50b837:	ff 73 48             	push   0x48(%ebx)
50b83a:	8b 7b 38             	mov    0x38(%ebx),%edi
50b83d:	e8 fe 80 02 00       	call   0x533940
50b842:	83 c4 04             	add    $0x4,%esp
50b845:	85 c0                	test   %eax,%eax
50b847:	75 6e                	jne    0x50b8b7
50b849:	0f 10 05 64 1e 6b 00 	movups 0x6b1e64,%xmm0
50b850:	6a 4c                	push   $0x4c
50b852:	6a 00                	push   $0x0
50b854:	0f 11 07             	movups %xmm0,(%edi)
50b857:	0f b6 46 21          	movzbl 0x21(%esi),%eax
50b85b:	88 47 10             	mov    %al,0x10(%edi)
50b85e:	0f b6 46 22          	movzbl 0x22(%esi),%eax
50b862:	88 47 11             	mov    %al,0x11(%edi)
50b865:	66 c7 47 12 01 01    	movw   $0x101,0x12(%edi)
50b86b:	0f b6 46 20          	movzbl 0x20(%esi),%eax
50b86f:	2a 46 24             	sub    0x24(%esi),%al
50b872:	88 47 14             	mov    %al,0x14(%edi)
50b875:	8d 47 18             	lea    0x18(%edi),%eax
50b878:	50                   	push   %eax
50b879:	66 c7 47 15 40 20    	movw   $0x2040,0x15(%edi)
50b87f:	c6 47 17 20          	movb   $0x20,0x17(%edi)
50b883:	e8 78 81 0d 00       	call   0x5e3a00
50b888:	6a 0d                	push   $0xd
50b88a:	53                   	push   %ebx
50b88b:	e8 60 06 06 00       	call   0x56bef0
50b890:	0f b6 46 11          	movzbl 0x11(%esi),%eax
50b894:	83 c4 14             	add    $0x14,%esp
50b897:	66 83 4e 16 02       	orw    $0x2,0x16(%esi)
50b89c:	0f c8                	bswap  %eax
50b89e:	89 47 34             	mov    %eax,0x34(%edi)
50b8a1:	0f b6 46 12          	movzbl 0x12(%esi),%eax
50b8a5:	0f c8                	bswap  %eax
50b8a7:	89 47 40             	mov    %eax,0x40(%edi)
50b8aa:	33 c0                	xor    %eax,%eax
50b8ac:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
50b8b3:	c6 47 1f 01          	movb   $0x1,0x1f(%edi)
50b8b7:	5f                   	pop    %edi
50b8b8:	5b                   	pop    %ebx
50b8b9:	5e                   	pop    %esi
50b8ba:	5d                   	pop    %ebp
50b8bb:	c3                   	ret
50b8bc:	cc                   	int3
50b8bd:	cc                   	int3
50b8be:	cc                   	int3
50b8bf:	cc                   	int3
50b8c0:	55                   	push   %ebp
50b8c1:	8b ec                	mov    %esp,%ebp
50b8c3:	56                   	push   %esi
50b8c4:	8b 75 0c             	mov    0xc(%ebp),%esi
50b8c7:	57                   	push   %edi
50b8c8:	8b 7d 14             	mov    0x14(%ebp),%edi
50b8cb:	3b f7                	cmp    %edi,%esi
50b8cd:	8b c7                	mov    %edi,%eax
50b8cf:	0f 4c c6             	cmovl  %esi,%eax
50b8d2:	50                   	push   %eax
50b8d3:	ff 75 18             	push   0x18(%ebp)
50b8d6:	ff 75 10             	push   0x10(%ebp)
50b8d9:	e8 82 42 fd ff       	call   0x4dfb60
50b8de:	83 c4 0c             	add    $0xc,%esp
50b8e1:	85 c0                	test   %eax,%eax
50b8e3:	75 04                	jne    0x50b8e9
50b8e5:	2b f7                	sub    %edi,%esi
50b8e7:	8b c6                	mov    %esi,%eax
50b8e9:	5f                   	pop    %edi
50b8ea:	5e                   	pop    %esi
50b8eb:	5d                   	pop    %ebp
50b8ec:	c3                   	ret
50b8ed:	cc                   	int3
50b8ee:	cc                   	int3
50b8ef:	cc                   	int3
50b8f0:	55                   	push   %ebp
50b8f1:	8b ec                	mov    %esp,%ebp
50b8f3:	8b 45 0c             	mov    0xc(%ebp),%eax
50b8f6:	b9 fc 8c 6b 00       	mov    $0x6b8cfc,%ecx
50b8fb:	8b 40 18             	mov    0x18(%eax),%eax
50b8fe:	a8 20                	test   $0x20,%al
50b900:	74 07                	je     0x50b909
50b902:	b8 18 8d 6b 00       	mov    $0x6b8d18,%eax
50b907:	eb 15                	jmp    0x50b91e
50b909:	a8 04                	test   $0x4,%al
50b90b:	74 07                	je     0x50b914
50b90d:	b8 2c 8d 6b 00       	mov    $0x6b8d2c,%eax
50b912:	eb 0a                	jmp    0x50b91e
50b914:	a8 08                	test   $0x8,%al
50b916:	b8 40 8d 6b 00       	mov    $0x6b8d40,%eax
50b91b:	0f 44 c1             	cmove  %ecx,%eax
50b91e:	50                   	push   %eax
50b91f:	ff 75 10             	push   0x10(%ebp)
50b922:	68 54 8d 6b 00       	push   $0x6b8d54
50b927:	ff 75 08             	push   0x8(%ebp)
50b92a:	e8 31 79 01 00       	call   0x523260
50b92f:	8b 45 14             	mov    0x14(%ebp),%eax
50b932:	83 c4 10             	add    $0x10,%esp
50b935:	85 c0                	test   %eax,%eax
50b937:	74 03                	je     0x50b93c
50b939:	c6 00 77             	movb   $0x77,(%eax)
50b93c:	5d                   	pop    %ebp
50b93d:	c3                   	ret
50b93e:	cc                   	int3
50b93f:	cc                   	int3
50b940:	55                   	push   %ebp
50b941:	8b ec                	mov    %esp,%ebp
50b943:	8b 55 08             	mov    0x8(%ebp),%edx
50b946:	0f b7 4a 08          	movzwl 0x8(%edx),%ecx
50b94a:	8b c1                	mov    %ecx,%eax
50b94c:	83 e0 2c             	and    $0x2c,%eax
50b94f:	75 10                	jne    0x50b961
50b951:	f6 c1 12             	test   $0x12,%cl
50b954:	74 09                	je     0x50b95f
50b956:	89 55 08             	mov    %edx,0x8(%ebp)
50b959:	5d                   	pop    %ebp
50b95a:	e9 d1 fa fe ff       	jmp    0x4fb430
50b95f:	33 c0                	xor    %eax,%eax
50b961:	5d                   	pop    %ebp
50b962:	c3                   	ret
50b963:	cc                   	int3
50b964:	cc                   	int3
50b965:	cc                   	int3
50b966:	cc                   	int3
50b967:	cc                   	int3
50b968:	cc                   	int3
50b969:	cc                   	int3
50b96a:	cc                   	int3
50b96b:	cc                   	int3
50b96c:	cc                   	int3
50b96d:	cc                   	int3
50b96e:	cc                   	int3
50b96f:	cc                   	int3
50b970:	55                   	push   %ebp
50b971:	8b ec                	mov    %esp,%ebp
50b973:	83 ec 18             	sub    $0x18,%esp
50b976:	8b 45 08             	mov    0x8(%ebp),%eax