50c74b:	8b 7d 20             	mov    0x20(%ebp),%edi
50c74e:	39 71 18             	cmp    %esi,0x18(%ecx)
50c751:	0f 8f 69 ff ff ff    	jg     0x50c6c0
50c757:	83 c1 04             	add    $0x4,%ecx
50c75a:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
50c75d:	8b 09                	mov    (%ecx),%ecx
50c75f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50c762:	e9 59 ff ff ff       	jmp    0x50c6c0
50c767:	68 fc c4 6b 00       	push   $0x6bc4fc
50c76c:	68 eb 15 01 00       	push   $0x115eb
50c771:	68 94 c4 6b 00       	push   $0x6bc494
50c776:	68 78 c4 6b 00       	push   $0x6bc478
50c77b:	6a 0b                	push   $0xb
50c77d:	e8 5e 38 fd ff       	call   0x4dffe0
50c782:	83 c4 14             	add    $0x14,%esp
50c785:	5f                   	pop    %edi
50c786:	5e                   	pop    %esi
50c787:	b8 01 00 00 00       	mov    $0x1,%eax
50c78c:	5b                   	pop    %ebx
50c78d:	8b e5                	mov    %ebp,%esp
50c78f:	5d                   	pop    %ebp
50c790:	c3                   	ret
50c791:	8b 4d 10             	mov    0x10(%ebp),%ecx
50c794:	8b 45 18             	mov    0x18(%ebp),%eax
50c797:	5f                   	pop    %edi
50c798:	5e                   	pop    %esi
50c799:	89 01                	mov    %eax,(%ecx)
50c79b:	33 c0                	xor    %eax,%eax
50c79d:	5b                   	pop    %ebx
50c79e:	8b e5                	mov    %ebp,%esp
50c7a0:	5d                   	pop    %ebp
50c7a1:	c3                   	ret
50c7a2:	cc                   	int3
50c7a3:	cc                   	int3
50c7a4:	cc                   	int3
50c7a5:	cc                   	int3
50c7a6:	cc                   	int3
50c7a7:	cc                   	int3
50c7a8:	cc                   	int3
50c7a9:	cc                   	int3
50c7aa:	cc                   	int3
50c7ab:	cc                   	int3
50c7ac:	cc                   	int3
50c7ad:	cc                   	int3
50c7ae:	cc                   	int3
50c7af:	cc                   	int3
50c7b0:	55                   	push   %ebp
50c7b1:	8b ec                	mov    %esp,%ebp
50c7b3:	8b 4d 08             	mov    0x8(%ebp),%ecx
50c7b6:	8b 41 08             	mov    0x8(%ecx),%eax
50c7b9:	80 38 00             	cmpb   $0x0,(%eax)
50c7bc:	74 13                	je     0x50c7d1
50c7be:	c6 00 00             	movb   $0x0,(%eax)
50c7c1:	66 83 79 1e 01       	cmpw   $0x1,0x1e(%ecx)
50c7c6:	7e 09                	jle    0x50c7d1
50c7c8:	89 45 08             	mov    %eax,0x8(%ebp)
50c7cb:	5d                   	pop    %ebp
50c7cc:	e9 3f a6 fe ff       	jmp    0x4f6e10
50c7d1:	5d                   	pop    %ebp
50c7d2:	c3                   	ret
50c7d3:	cc                   	int3
50c7d4:	cc                   	int3
50c7d5:	cc                   	int3
50c7d6:	cc                   	int3
50c7d7:	cc                   	int3
50c7d8:	cc                   	int3
50c7d9:	cc                   	int3
50c7da:	cc                   	int3
50c7db:	cc                   	int3
50c7dc:	cc                   	int3
50c7dd:	cc                   	int3
50c7de:	cc                   	int3
50c7df:	cc                   	int3
50c7e0:	55                   	push   %ebp
50c7e1:	8b ec                	mov    %esp,%ebp
50c7e3:	53                   	push   %ebx
50c7e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
50c7e7:	56                   	push   %esi
50c7e8:	57                   	push   %edi
50c7e9:	8b b3 88 00 00 00    	mov    0x88(%ebx),%esi
50c7ef:	85 f6                	test   %esi,%esi
50c7f1:	74 21                	je     0x50c814
50c7f3:	8b 45 14             	mov    0x14(%ebp),%eax
50c7f6:	0f 57 c0             	xorps  %xmm0,%xmm0
50c7f9:	89 30                	mov    %esi,(%eax)
50c7fb:	8b 46 10             	mov    0x10(%esi),%eax
50c7fe:	89 83 88 00 00 00    	mov    %eax,0x88(%ebx)
50c804:	8b 46 08             	mov    0x8(%esi),%eax
50c807:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
50c80e:	66 0f d6 00          	movq   %xmm0,(%eax)
50c812:	eb 77                	jmp    0x50c88b
50c814:	0f b7 83 8c 00 00 00 	movzwl 0x8c(%ebx),%eax
50c81b:	99                   	cltd
50c81c:	8b f8                	mov    %eax,%edi
50c81e:	83 c7 28             	add    $0x28,%edi
50c821:	83 d2 00             	adc    $0x0,%edx
50c824:	52                   	push   %edx
50c825:	57                   	push   %edi
50c826:	e8 35 47 02 00       	call   0x530f60
50c82b:	8b f0                	mov    %eax,%esi
50c82d:	83 c4 08             	add    $0x8,%esp
50c830:	85 f6                	test   %esi,%esi
50c832:	74 0c                	je     0x50c840
50c834:	57                   	push   %edi
50c835:	6a 00                	push   $0x0
50c837:	56                   	push   %esi
50c838:	e8 c3 71 0d 00       	call   0x5e3a00
50c83d:	83 c4 0c             	add    $0xc,%esp
50c840:	8b 4d 14             	mov    0x14(%ebp),%ecx
50c843:	89 31                	mov    %esi,(%ecx)
50c845:	85 f6                	test   %esi,%esi
50c847:	75 32                	jne    0x50c87b
50c849:	ff 75 10             	push   0x10(%ebp)
50c84c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50c84f:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
50c855:	49                   	dec    %ecx
50c856:	8b 73 3c             	mov    0x3c(%ebx),%esi
50c859:	6a 00                	push   $0x0
50c85b:	99                   	cltd
50c85c:	51                   	push   %ecx
50c85d:	8b 3e                	mov    (%esi),%edi
50c85f:	52                   	push   %edx
50c860:	50                   	push   %eax
50c861:	e8 9a 52 0d 00       	call   0x5e1b00
50c866:	52                   	push   %edx
50c867:	50                   	push   %eax
50c868:	8b 47 48             	mov    0x48(%edi),%eax
50c86b:	56                   	push   %esi
50c86c:	ff d0                	call   *%eax
50c86e:	83 c4 10             	add    $0x10,%esp
50c871:	b8 07 00 00 00       	mov    $0x7,%eax
50c876:	5f                   	pop    %edi
50c877:	5e                   	pop    %esi
50c878:	5b                   	pop    %ebx
50c879:	5d                   	pop    %ebp
50c87a:	c3                   	ret
50c87b:	8d 46 28             	lea    0x28(%esi),%eax
50c87e:	c7 46 1c 20 00 01 00 	movl   $0x10020,0x1c(%esi)
50c885:	89 46 08             	mov    %eax,0x8(%esi)
50c888:	89 5e 14             	mov    %ebx,0x14(%esi)
50c88b:	8b 45 0c             	mov    0xc(%ebp),%eax
50c88e:	89 46 18             	mov    %eax,0x18(%esi)
50c891:	8b 45 10             	mov    0x10(%ebp),%eax
50c894:	89 46 04             	mov    %eax,0x4(%esi)
50c897:	ff 43 78             	incl   0x78(%ebx)
50c89a:	33 c0                	xor    %eax,%eax
50c89c:	5f                   	pop    %edi
50c89d:	5e                   	pop    %esi
50c89e:	5b                   	pop    %ebx
50c89f:	5d                   	pop    %ebp
50c8a0:	c3                   	ret
50c8a1:	cc                   	int3
50c8a2:	cc                   	int3
50c8a3:	cc                   	int3
50c8a4:	cc                   	int3
50c8a5:	cc                   	int3
50c8a6:	cc                   	int3
50c8a7:	cc                   	int3
50c8a8:	cc                   	int3
50c8a9:	cc                   	int3
50c8aa:	cc                   	int3
50c8ab:	cc                   	int3
50c8ac:	cc                   	int3
50c8ad:	cc                   	int3
50c8ae:	cc                   	int3
50c8af:	cc                   	int3
50c8b0:	55                   	push   %ebp
50c8b1:	8b ec                	mov    %esp,%ebp
50c8b3:	83 ec 18             	sub    $0x18,%esp
50c8b6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50c8bb:	33 c5                	xor    %ebp,%eax
50c8bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
50c8c0:	53                   	push   %ebx
50c8c1:	8b 5d 08             	mov    0x8(%ebp),%ebx
50c8c4:	56                   	push   %esi
50c8c5:	57                   	push   %edi
50c8c6:	8b 7b 14             	mov    0x14(%ebx),%edi
50c8c9:	8b 47 4c             	mov    0x4c(%edi),%eax
50c8cc:	8b 77 48             	mov    0x48(%edi),%esi
50c8cf:	89 45 f0             	mov    %eax,-0x10(%ebp)
50c8d2:	8b 43 04             	mov    0x4(%ebx),%eax
50c8d5:	50                   	push   %eax
50c8d6:	57                   	push   %edi
50c8d7:	89 75 ec             	mov    %esi,-0x14(%ebp)
50c8da:	89 45 e8             	mov    %eax,-0x18(%ebp)
50c8dd:	e8 de 0e 00 00       	call   0x50d7c0
50c8e2:	66 83 4b 1c 08       	orw    $0x8,0x1c(%ebx)
50c8e7:	8b 57 40             	mov    0x40(%edi),%edx
50c8ea:	ff 75 f0             	push   -0x10(%ebp)
50c8ed:	8b 4b 18             	mov    0x18(%ebx),%ecx
50c8f0:	0f c9                	bswap  %ecx
50c8f2:	89 45 f8             	mov    %eax,-0x8(%ebp)
50c8f5:	8b 02                	mov    (%edx),%eax
50c8f7:	56                   	push   %esi
50c8f8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50c8fb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
50c8fe:	6a 04                	push   $0x4
50c900:	8b 40 0c             	mov    0xc(%eax),%eax
50c903:	51                   	push   %ecx
50c904:	52                   	push   %edx
50c905:	ff d0                	call   *%eax
50c907:	83 c4 1c             	add    $0x1c,%esp
50c90a:	85 c0                	test   %eax,%eax
50c90c:	0f 85 8e 00 00 00    	jne    0x50c9a0
50c912:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50c915:	8b 45 f0             	mov    -0x10(%ebp),%eax
50c918:	83 c1 04             	add    $0x4,%ecx
50c91b:	8b 57 40             	mov    0x40(%edi),%edx
50c91e:	83 d0 00             	adc    $0x0,%eax
50c921:	50                   	push   %eax
50c922:	51                   	push   %ecx
50c923:	ff b7 98 00 00 00    	push   0x98(%edi)
50c929:	8b 32                	mov    (%edx),%esi
50c92b:	ff 75 e8             	push   -0x18(%ebp)
50c92e:	52                   	push   %edx
50c92f:	8b 46 0c             	mov    0xc(%esi),%eax
50c932:	ff d0                	call   *%eax
50c934:	83 c4 14             	add    $0x14,%esp
50c937:	85 c0                	test   %eax,%eax
50c939:	75 65                	jne    0x50c9a0
50c93b:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
50c941:	8b 4f 40             	mov    0x40(%edi),%ecx
50c944:	99                   	cltd
50c945:	8b f0                	mov    %eax,%esi
50c947:	8b 45 f8             	mov    -0x8(%ebp),%eax
50c94a:	03 75 ec             	add    -0x14(%ebp),%esi
50c94d:	0f c8                	bswap  %eax
50c94f:	13 55 f0             	adc    -0x10(%ebp),%edx
50c952:	83 c6 04             	add    $0x4,%esi
50c955:	89 45 f8             	mov    %eax,-0x8(%ebp)
50c958:	8b 01                	mov    (%ecx),%eax
50c95a:	83 d2 00             	adc    $0x0,%edx
50c95d:	52                   	push   %edx
50c95e:	56                   	push   %esi
50c95f:	6a 04                	push   $0x4
50c961:	8b 40 0c             	mov    0xc(%eax),%eax
50c964:	8d 55 f8             	lea    -0x8(%ebp),%edx
50c967:	52                   	push   %edx
50c968:	51                   	push   %ecx
50c969:	ff d0                	call   *%eax
50c96b:	83 c4 14             	add    $0x14,%esp
50c96e:	85 c0                	test   %eax,%eax
50c970:	75 2e                	jne    0x50c9a0
50c972:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
50c978:	83 c0 08             	add    $0x8,%eax
50c97b:	99                   	cltd
50c97c:	01 47 48             	add    %eax,0x48(%edi)
50c97f:	11 57 4c             	adc    %edx,0x4c(%edi)
50c982:	ff 47 2c             	incl   0x2c(%edi)
50c985:	ff 73 18             	push   0x18(%ebx)
50c988:	ff 77 38             	push   0x38(%edi)
50c98b:	e8 b0 dd 00 00       	call   0x51a740
50c990:	ff 73 18             	push   0x18(%ebx)
50c993:	8b f0                	mov    %eax,%esi
50c995:	57                   	push   %edi
50c996:	e8 55 56 fe ff       	call   0x4f1ff0
50c99b:	83 c4 10             	add    $0x10,%esp
50c99e:	0b c6                	or     %esi,%eax
50c9a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50c9a3:	5f                   	pop    %edi
50c9a4:	5e                   	pop    %esi
50c9a5:	33 cd                	xor    %ebp,%ecx
50c9a7:	5b                   	pop    %ebx
50c9a8:	e8 2d 4b 0d 00       	call   0x5e14da
50c9ad:	8b e5                	mov    %ebp,%esp
50c9af:	5d                   	pop    %ebp
50c9b0:	c3                   	ret
50c9b1:	cc                   	int3
50c9b2:	cc                   	int3
50c9b3:	cc                   	int3
50c9b4:	cc                   	int3
50c9b5:	cc                   	int3
50c9b6:	cc                   	int3
50c9b7:	cc                   	int3
50c9b8:	cc                   	int3
50c9b9:	cc                   	int3
50c9ba:	cc                   	int3
50c9bb:	cc                   	int3
50c9bc:	cc                   	int3
50c9bd:	cc                   	int3
50c9be:	cc                   	int3
50c9bf:	cc                   	int3
50c9c0:	55                   	push   %ebp
50c9c1:	8b ec                	mov    %esp,%ebp
50c9c3:	51                   	push   %ecx
50c9c4:	56                   	push   %esi
50c9c5:	8b 75 08             	mov    0x8(%ebp),%esi
50c9c8:	57                   	push   %edi
50c9c9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
50c9d0:	ff b6 d8 00 00 00    	push   0xd8(%esi)
50c9d6:	e8 d5 29 04 00       	call   0x54f3b0
50c9db:	8d 45 fc             	lea    -0x4(%ebp),%eax
50c9de:	50                   	push   %eax
50c9df:	ff b6 d8 00 00 00    	push   0xd8(%esi)
50c9e5:	e8 b6 22 04 00       	call   0x54eca0
50c9ea:	8b f8                	mov    %eax,%edi
50c9ec:	83 c4 0c             	add    $0xc,%esp
50c9ef:	85 ff                	test   %edi,%edi
50c9f1:	75 05                	jne    0x50c9f8
50c9f3:	39 45 fc             	cmp    %eax,-0x4(%ebp)
50c9f6:	74 44                	je     0x50ca3c
50c9f8:	ff 46 64             	incl   0x64(%esi)
50c9fb:	8b 46 58             	mov    0x58(%esi),%eax
50c9fe:	85 c0                	test   %eax,%eax
50ca00:	74 0e                	je     0x50ca10
50ca02:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
50ca09:	8b 40 2c             	mov    0x2c(%eax),%eax
50ca0c:	85 c0                	test   %eax,%eax
50ca0e:	75 f2                	jne    0x50ca02
50ca10:	6a 00                	push   $0x0
50ca12:	ff b6 d4 00 00 00    	push   0xd4(%esi)
50ca18:	e8 83 7d 02 00       	call   0x5347a0
50ca1d:	83 c4 08             	add    $0x8,%esp
50ca20:	80 7e 16 00          	cmpb   $0x0,0x16(%esi)
50ca24:	74 14                	je     0x50ca3a
50ca26:	8b 46 3c             	mov    0x3c(%esi),%eax
50ca29:	6a 00                	push   $0x0
50ca2b:	6a 00                	push   $0x0
50ca2d:	6a 00                	push   $0x0
50ca2f:	8b 08                	mov    (%eax),%ecx
50ca31:	50                   	push   %eax
50ca32:	8b 41 48             	mov    0x48(%ecx),%eax
50ca35:	ff d0                	call   *%eax
50ca37:	83 c4 10             	add    $0x10,%esp
50ca3a:	8b c7                	mov    %edi,%eax
50ca3c:	5f                   	pop    %edi
50ca3d:	5e                   	pop    %esi
50ca3e:	8b e5                	mov    %ebp,%esp
50ca40:	5d                   	pop    %ebp
50ca41:	c3                   	ret
50ca42:	cc                   	int3
50ca43:	cc                   	int3
50ca44:	cc                   	int3
50ca45:	cc                   	int3
50ca46:	cc                   	int3
50ca47:	cc                   	int3
50ca48:	cc                   	int3
50ca49:	cc                   	int3
50ca4a:	cc                   	int3
50ca4b:	cc                   	int3
50ca4c:	cc                   	int3
50ca4d:	cc                   	int3
50ca4e:	cc                   	int3
50ca4f:	cc                   	int3
50ca50:	55                   	push   %ebp
50ca51:	8b ec                	mov    %esp,%ebp
50ca53:	56                   	push   %esi
50ca54:	8b 75 08             	mov    0x8(%ebp),%esi
50ca57:	8a 4e 11             	mov    0x11(%esi),%cl
50ca5a:	80 f9 04             	cmp    $0x4,%cl