5ca6d8:	84 c0                	test   %al,%al
5ca6da:	75 0c                	jne    0x5ca6e8
5ca6dc:	f3 90                	pause
5ca6de:	52                   	push   %edx
5ca6df:	8b ce                	mov    %esi,%ecx
5ca6e1:	e8 ca d1 ff ff       	call   0x5c78b0
5ca6e6:	eb 07                	jmp    0x5ca6ef
5ca6e8:	f0 ff 05 a4 00 6e 00 	lock incl 0x6e00a4
5ca6ef:	53                   	push   %ebx
5ca6f0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
5ca6f7:	8b 5d 08             	mov    0x8(%ebp),%ebx
5ca6fa:	3b 5f 20             	cmp    0x20(%edi),%ebx
5ca6fd:	75 08                	jne    0x5ca707
5ca6ff:	8b 47 24             	mov    0x24(%edi),%eax
5ca702:	e9 b8 00 00 00       	jmp    0x5ca7bf
5ca707:	8b c3                	mov    %ebx,%eax
5ca709:	89 5f 20             	mov    %ebx,0x20(%edi)
5ca70c:	c1 e8 08             	shr    $0x8,%eax
5ca70f:	0f b6 c8             	movzbl %al,%ecx
5ca712:	0f b6 c3             	movzbl %bl,%eax
5ca715:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5ca71a:	89 5d 08             	mov    %ebx,0x8(%ebp)
5ca71d:	69 c0 93 01 00 01    	imul   $0x1000193,%eax,%eax
5ca723:	33 c8                	xor    %eax,%ecx
5ca725:	8b c3                	mov    %ebx,%eax
5ca727:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5ca72d:	c1 e8 10             	shr    $0x10,%eax
5ca730:	0f b6 c0             	movzbl %al,%eax
5ca733:	33 c8                	xor    %eax,%ecx
5ca735:	8b c3                	mov    %ebx,%eax
5ca737:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5ca73d:	c1 e8 18             	shr    $0x18,%eax
5ca740:	33 c8                	xor    %eax,%ecx
5ca742:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
5ca748:	8b cf                	mov    %edi,%ecx
5ca74a:	50                   	push   %eax
5ca74b:	8d 45 08             	lea    0x8(%ebp),%eax
5ca74e:	50                   	push   %eax
5ca74f:	8d 45 e8             	lea    -0x18(%ebp),%eax
5ca752:	50                   	push   %eax
5ca753:	e8 c8 63 ff ff       	call   0x5c0b20
5ca758:	8b 40 04             	mov    0x4(%eax),%eax
5ca75b:	85 c0                	test   %eax,%eax
5ca75d:	74 12                	je     0x5ca771
5ca75f:	8d 4f 24             	lea    0x24(%edi),%ecx
5ca762:	89 4d 08             	mov    %ecx,0x8(%ebp)
5ca765:	3b 47 04             	cmp    0x4(%edi),%eax
5ca768:	74 0d                	je     0x5ca777
5ca76a:	8b 40 0c             	mov    0xc(%eax),%eax
5ca76d:	89 01                	mov    %eax,(%ecx)
5ca76f:	eb 4e                	jmp    0x5ca7bf
5ca771:	8d 47 24             	lea    0x24(%edi),%eax
5ca774:	89 45 08             	mov    %eax,0x8(%ebp)
5ca777:	8b f3                	mov    %ebx,%esi
5ca779:	8d 4e 01             	lea    0x1(%esi),%ecx
5ca77c:	8d 64 24 00          	lea    0x0(%esp),%esp
5ca780:	8a 06                	mov    (%esi),%al
5ca782:	46                   	inc    %esi
5ca783:	84 c0                	test   %al,%al
5ca785:	75 f9                	jne    0x5ca780
5ca787:	2b f1                	sub    %ecx,%esi
5ca789:	46                   	inc    %esi
5ca78a:	56                   	push   %esi
5ca78b:	e8 5f a1 01 00       	call   0x5e48ef
5ca790:	56                   	push   %esi
5ca791:	53                   	push   %ebx
5ca792:	50                   	push   %eax
5ca793:	89 47 24             	mov    %eax,0x24(%edi)
5ca796:	e8 35 86 00 00       	call   0x5d2dd0
5ca79b:	8b 75 08             	mov    0x8(%ebp),%esi
5ca79e:	83 c4 10             	add    $0x10,%esp
5ca7a1:	8b cf                	mov    %edi,%ecx
5ca7a3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5ca7a6:	8b 06                	mov    (%esi),%eax
5ca7a8:	89 45 ec             	mov    %eax,-0x14(%ebp)
5ca7ab:	8d 45 e8             	lea    -0x18(%ebp),%eax
5ca7ae:	50                   	push   %eax
5ca7af:	8d 45 e0             	lea    -0x20(%ebp),%eax
5ca7b2:	50                   	push   %eax
5ca7b3:	e8 d8 fa ff ff       	call   0x5ca290
5ca7b8:	8b 06                	mov    (%esi),%eax
5ca7ba:	be a0 00 6e 00       	mov    $0x6e00a0,%esi
5ca7bf:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5ca7c6:	f0 ff 0d a4 00 6e 00 	lock decl 0x6e00a4
5ca7cd:	83 3d a4 00 6e 00 00 	cmpl   $0x0,0x6e00a4
5ca7d4:	5b                   	pop    %ebx
5ca7d5:	75 04                	jne    0x5ca7db
5ca7d7:	33 c9                	xor    %ecx,%ecx
5ca7d9:	87 0e                	xchg   %ecx,(%esi)
5ca7db:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ca7de:	5f                   	pop    %edi
5ca7df:	5e                   	pop    %esi
5ca7e0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ca7e7:	8b e5                	mov    %ebp,%esp
5ca7e9:	5d                   	pop    %ebp
5ca7ea:	c2 04 00             	ret    $0x4
5ca7ed:	68 c0 00 6e 00       	push   $0x6e00c0
5ca7f2:	e8 50 6f 00 00       	call   0x5d1747
5ca7f7:	83 c4 04             	add    $0x4,%esp
5ca7fa:	83 3d c0 00 6e 00 ff 	cmpl   $0xffffffff,0x6e00c0
5ca801:	0f 85 a8 fe ff ff    	jne    0x5ca6af
5ca807:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5ca80e:	b9 a8 00 6e 00       	mov    $0x6e00a8,%ecx
5ca813:	c7 05 a0 00 6e 00 00 	movl   $0x0,0x6e00a0
5ca81a:	00 00 00
5ca81d:	c7 05 a4 00 6e 00 00 	movl   $0x0,0x6e00a4
5ca824:	00 00 00
5ca827:	e8 f4 cb ff ff       	call   0x5c7420
5ca82c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5ca830:	68 b0 15 60 00       	push   $0x6015b0
5ca835:	e8 ce 6c 00 00       	call   0x5d1508
5ca83a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5ca841:	68 c0 00 6e 00       	push   $0x6e00c0
5ca846:	e8 ab 6e 00 00       	call   0x5d16f6
5ca84b:	83 c4 08             	add    $0x8,%esp
5ca84e:	e9 5c fe ff ff       	jmp    0x5ca6af
5ca853:	cc                   	int3
5ca854:	cc                   	int3
5ca855:	cc                   	int3
5ca856:	cc                   	int3
5ca857:	cc                   	int3
5ca858:	cc                   	int3
5ca859:	cc                   	int3
5ca85a:	cc                   	int3
5ca85b:	cc                   	int3
5ca85c:	cc                   	int3
5ca85d:	cc                   	int3
5ca85e:	cc                   	int3
5ca85f:	cc                   	int3
5ca860:	55                   	push   %ebp
5ca861:	8b ec                	mov    %esp,%ebp
5ca863:	6a ff                	push   $0xffffffff
5ca865:	68 ed 0a 60 00       	push   $0x600aed
5ca86a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5ca870:	50                   	push   %eax
5ca871:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5ca878:	83 ec 10             	sub    $0x10,%esp
5ca87b:	53                   	push   %ebx
5ca87c:	8b d9                	mov    %ecx,%ebx
5ca87e:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
5ca883:	0f bd c8             	bsr    %eax,%ecx
5ca886:	56                   	push   %esi
5ca887:	57                   	push   %edi
5ca888:	bf 01 00 00 00       	mov    $0x1,%edi
5ca88d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5ca890:	8b c7                	mov    %edi,%eax
5ca892:	d3 e0                	shl    %cl,%eax
5ca894:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ca897:	3b c8                	cmp    %eax,%ecx
5ca899:	0f 87 52 01 00 00    	ja     0x5ca9f1
5ca89f:	8d 41 ff             	lea    -0x1(%ecx),%eax
5ca8a2:	8b 73 04             	mov    0x4(%ebx),%esi
5ca8a5:	0b c7                	or     %edi,%eax
5ca8a7:	89 75 08             	mov    %esi,0x8(%ebp)
5ca8aa:	0f bd c8             	bsr    %eax,%ecx
5ca8ad:	56                   	push   %esi
5ca8ae:	8d 49 01             	lea    0x1(%ecx),%ecx
5ca8b1:	d3 e7                	shl    %cl,%edi
5ca8b3:	8d 4b 0c             	lea    0xc(%ebx),%ecx
5ca8b6:	8d 04 3f             	lea    (%edi,%edi,1),%eax
5ca8b9:	50                   	push   %eax
5ca8ba:	e8 11 ba ff ff       	call   0x5c62d0
5ca8bf:	8d 47 ff             	lea    -0x1(%edi),%eax
5ca8c2:	89 7b 1c             	mov    %edi,0x1c(%ebx)
5ca8c5:	89 43 18             	mov    %eax,0x18(%ebx)
5ca8c8:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5ca8cb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5ca8d2:	8b 43 04             	mov    0x4(%ebx),%eax
5ca8d5:	8b 00                	mov    (%eax),%eax
5ca8d7:	8b c8                	mov    %eax,%ecx
5ca8d9:	3b c6                	cmp    %esi,%eax
5ca8db:	0f 84 cb 00 00 00    	je     0x5ca9ac
5ca8e1:	0f b6 50 08          	movzbl 0x8(%eax),%edx
5ca8e5:	81 f2 c5 9d 1c 81    	xor    $0x811c9dc5,%edx
5ca8eb:	8b 09                	mov    (%ecx),%ecx
5ca8ed:	69 fa 93 01 00 01    	imul   $0x1000193,%edx,%edi
5ca8f3:	0f b6 50 09          	movzbl 0x9(%eax),%edx
5ca8f7:	33 fa                	xor    %edx,%edi
5ca8f9:	0f b6 50 0a          	movzbl 0xa(%eax),%edx
5ca8fd:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
5ca903:	33 fa                	xor    %edx,%edi
5ca905:	0f b6 50 0b          	movzbl 0xb(%eax),%edx
5ca909:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
5ca90f:	33 fa                	xor    %edx,%edi
5ca911:	69 d7 93 01 00 01    	imul   $0x1000193,%edi,%edx
5ca917:	8b 7b 18             	mov    0x18(%ebx),%edi
5ca91a:	23 fa                	and    %edx,%edi
5ca91c:	8b 53 0c             	mov    0xc(%ebx),%edx
5ca91f:	8d 14 fa             	lea    (%edx,%edi,8),%edx
5ca922:	8b 3a                	mov    (%edx),%edi
5ca924:	89 55 ec             	mov    %edx,-0x14(%ebp)
5ca927:	3b fe                	cmp    %esi,%edi
5ca929:	75 07                	jne    0x5ca932
5ca92b:	89 02                	mov    %eax,(%edx)
5ca92d:	89 42 04             	mov    %eax,0x4(%edx)
5ca930:	eb 70                	jmp    0x5ca9a2
5ca932:	8b 52 04             	mov    0x4(%edx),%edx
5ca935:	8b 58 08             	mov    0x8(%eax),%ebx
5ca938:	3b 5a 08             	cmp    0x8(%edx),%ebx
5ca93b:	75 2f                	jne    0x5ca96c
5ca93d:	8b 12                	mov    (%edx),%edx
5ca93f:	89 55 e8             	mov    %edx,-0x18(%ebp)
5ca942:	3b d0                	cmp    %eax,%edx
5ca944:	74 1e                	je     0x5ca964
5ca946:	8b 58 04             	mov    0x4(%eax),%ebx
5ca949:	8b 75 e8             	mov    -0x18(%ebp),%esi
5ca94c:	89 0b                	mov    %ecx,(%ebx)
5ca94e:	8b 79 04             	mov    0x4(%ecx),%edi
5ca951:	89 17                	mov    %edx,(%edi)
5ca953:	8b 52 04             	mov    0x4(%edx),%edx
5ca956:	89 02                	mov    %eax,(%edx)
5ca958:	89 7e 04             	mov    %edi,0x4(%esi)
5ca95b:	8b 75 08             	mov    0x8(%ebp),%esi
5ca95e:	89 59 04             	mov    %ebx,0x4(%ecx)
5ca961:	89 50 04             	mov    %edx,0x4(%eax)
5ca964:	8b 55 ec             	mov    -0x14(%ebp),%edx
5ca967:	89 42 04             	mov    %eax,0x4(%edx)
5ca96a:	eb 33                	jmp    0x5ca99f
5ca96c:	3b fa                	cmp    %edx,%edi
5ca96e:	74 0c                	je     0x5ca97c
5ca970:	8b 52 04             	mov    0x4(%edx),%edx
5ca973:	3b 5a 08             	cmp    0x8(%edx),%ebx
5ca976:	74 55                	je     0x5ca9cd
5ca978:	3b fa                	cmp    %edx,%edi
5ca97a:	75 f4                	jne    0x5ca970
5ca97c:	8b 58 04             	mov    0x4(%eax),%ebx
5ca97f:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5ca982:	89 0b                	mov    %ecx,(%ebx)
5ca984:	8b 59 04             	mov    0x4(%ecx),%ebx
5ca987:	89 13                	mov    %edx,(%ebx)
5ca989:	8b 7a 04             	mov    0x4(%edx),%edi
5ca98c:	89 07                	mov    %eax,(%edi)
5ca98e:	89 5a 04             	mov    %ebx,0x4(%edx)
5ca991:	8b 55 e8             	mov    -0x18(%ebp),%edx
5ca994:	89 51 04             	mov    %edx,0x4(%ecx)
5ca997:	8b 55 ec             	mov    -0x14(%ebp),%edx
5ca99a:	89 78 04             	mov    %edi,0x4(%eax)
5ca99d:	89 02                	mov    %eax,(%edx)
5ca99f:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5ca9a2:	8b c1                	mov    %ecx,%eax
5ca9a4:	3b ce                	cmp    %esi,%ecx
5ca9a6:	0f 85 35 ff ff ff    	jne    0x5ca8e1
5ca9ac:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5ca9b3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5ca9ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ca9bd:	5f                   	pop    %edi
5ca9be:	5e                   	pop    %esi
5ca9bf:	5b                   	pop    %ebx
5ca9c0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ca9c7:	8b e5                	mov    %ebp,%esp
5ca9c9:	5d                   	pop    %ebp
5ca9ca:	c2 04 00             	ret    $0x4
5ca9cd:	8b 58 04             	mov    0x4(%eax),%ebx
5ca9d0:	8b 12                	mov    (%edx),%edx
5ca9d2:	89 55 e8             	mov    %edx,-0x18(%ebp)
5ca9d5:	8b f2                	mov    %edx,%esi
5ca9d7:	89 0b                	mov    %ecx,(%ebx)
5ca9d9:	8b 79 04             	mov    0x4(%ecx),%edi
5ca9dc:	89 17                	mov    %edx,(%edi)
5ca9de:	8b 52 04             	mov    0x4(%edx),%edx
5ca9e1:	89 02                	mov    %eax,(%edx)
5ca9e3:	89 7e 04             	mov    %edi,0x4(%esi)
5ca9e6:	8b 75 08             	mov    0x8(%ebp),%esi
5ca9e9:	89 59 04             	mov    %ebx,0x4(%ecx)
5ca9ec:	89 50 04             	mov    %edx,0x4(%eax)
5ca9ef:	eb ae                	jmp    0x5ca99f
5ca9f1:	68 3c 64 60 00       	push   $0x60643c
5ca9f6:	e8 db 61 00 00       	call   0x5d0bd6
5ca9fb:	cc                   	int3
5ca9fc:	cc                   	int3
5ca9fd:	cc                   	int3
5ca9fe:	cc                   	int3
5ca9ff:	cc                   	int3
5caa00:	55                   	push   %ebp
5caa01:	8b ec                	mov    %esp,%ebp
5caa03:	6a ff                	push   $0xffffffff
5caa05:	68 bd 07 60 00       	push   $0x6007bd
5caa0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5caa10:	50                   	push   %eax
5caa11:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5caa18:	83 ec 28             	sub    $0x28,%esp
5caa1b:	8b 55 08             	mov    0x8(%ebp),%edx
5caa1e:	53                   	push   %ebx
5caa1f:	56                   	push   %esi
5caa20:	8b 75 0c             	mov    0xc(%ebp),%esi
5caa23:	8b d9                	mov    %ecx,%ebx
5caa25:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5caa28:	3b d6                	cmp    %esi,%edx
5caa2a:	0f 84 7d 01 00 00    	je     0x5cabad
5caa30:	8b 4b 04             	mov    0x4(%ebx),%ecx
5caa33:	8d 43 04             	lea    0x4(%ebx),%eax
5caa36:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5caa39:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5caa3c:	89 45 cc             	mov    %eax,-0x34(%ebp)
5caa3f:	8b 42 04             	mov    0x4(%edx),%eax
5caa42:	57                   	push   %edi
5caa43:	8b fa                	mov    %edx,%edi
5caa45:	89 45 d0             	mov    %eax,-0x30(%ebp)
5caa48:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5caa4b:	89 45 d8             	mov    %eax,-0x28(%ebp)
5caa4e:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5caa51:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5caa58:	8b 42 04             	mov    0x4(%edx),%eax
5caa5b:	89 45 dc             	mov    %eax,-0x24(%ebp)
5caa5e:	0f b6 42 08          	movzbl 0x8(%edx),%eax
5caa62:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5caa67:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5caa6d:	0f b6 42 09          	movzbl 0x9(%edx),%eax
5caa71:	33 c8                	xor    %eax,%ecx
5caa73:	0f b6 42 0a          	movzbl 0xa(%edx),%eax
5caa77:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5caa7d:	33 c8                	xor    %eax,%ecx
5caa7f:	0f b6 42 0b          	movzbl 0xb(%edx),%eax
5caa83:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5caa89:	33 c8                	xor    %eax,%ecx
5caa8b:	8b 43 18             	mov    0x18(%ebx),%eax
5caa8e:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5caa94:	23 c1                	and    %ecx,%eax
5caa96:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5caa99:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
5caa9c:	8b 08                	mov    (%eax),%ecx
5caa9e:	89 45 0c             	mov    %eax,0xc(%ebp)
5caaa1:	8b 40 04             	mov    0x4(%eax),%eax
5caaa4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5caaa7:	89 45 e0             	mov    %eax,-0x20(%ebp)
5caaaa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5caab0:	3b f8                	cmp    %eax,%edi
5caab2:	8b c7                	mov    %edi,%eax
5caab4:	8b 3f                	mov    (%edi),%edi
5caab6:	6a 10                	push   $0x10
5caab8:	50                   	push   %eax
5caab9:	0f 94 c3             	sete   %bl
5caabc:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5caabf:	e8 91 67 00 00       	call   0x5d1255
5caac4:	8b 55 f0             	mov    -0x10(%ebp),%edx
5caac7:	83 c4 08             	add    $0x8,%esp
5caaca:	ff 4a 08             	decl   0x8(%edx)
5caacd:	84 db                	test   %bl,%bl
5caacf:	75 1d                	jne    0x5caaee
5caad1:	8b 45 e0             	mov    -0x20(%ebp),%eax
5caad4:	3b fe                	cmp    %esi,%edi
5caad6:	75 d8                	jne    0x5caab0
5caad8:	8b 45 ec             	mov    -0x14(%ebp),%eax
5caadb:	3b 45 08             	cmp    0x8(%ebp),%eax
5caade:	0f 85 b9 00 00 00    	jne    0x5cab9d
5caae4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5caae7:	89 39                	mov    %edi,(%ecx)
5caae9:	e9 af 00 00 00       	jmp    0x5cab9d
5caaee:	8b 45 ec             	mov    -0x14(%ebp),%eax
5caaf1:	8b 4d 0c             	mov    0xc(%ebp),%ecx