61e6f6:	75 15                	jne    0x61e70d
61e6f8:	8b 07                	mov    (%edi),%eax
61e6fa:	8b cf                	mov    %edi,%ecx
61e6fc:	ff 10                	call   *(%eax)
61e6fe:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
61e703:	4b                   	dec    %ebx
61e704:	75 07                	jne    0x61e70d
61e706:	8b 07                	mov    (%edi),%eax
61e708:	8b cf                	mov    %edi,%ecx
61e70a:	ff 50 04             	call   *0x4(%eax)
61e70d:	8b 44 24 14          	mov    0x14(%esp),%eax
61e711:	5b                   	pop    %ebx
61e712:	89 46 04             	mov    %eax,0x4(%esi)
61e715:	8b 44 24 0c          	mov    0xc(%esp),%eax
61e719:	5f                   	pop    %edi
61e71a:	89 06                	mov    %eax,(%esi)
61e71c:	5e                   	pop    %esi
61e71d:	c2 08 00             	ret    $0x8
61e720:	8b 44 24 10          	mov    0x10(%esp),%eax
61e724:	89 46 04             	mov    %eax,0x4(%esi)
61e727:	8b 44 24 0c          	mov    0xc(%esp),%eax
61e72b:	5f                   	pop    %edi
61e72c:	89 06                	mov    %eax,(%esi)
61e72e:	5e                   	pop    %esi
61e72f:	c2 08 00             	ret    $0x8
61e732:	cc                   	int3
61e733:	cc                   	int3
61e734:	cc                   	int3
61e735:	cc                   	int3
61e736:	cc                   	int3
61e737:	cc                   	int3
61e738:	cc                   	int3
61e739:	cc                   	int3
61e73a:	cc                   	int3
61e73b:	cc                   	int3
61e73c:	cc                   	int3
61e73d:	cc                   	int3
61e73e:	cc                   	int3
61e73f:	cc                   	int3
61e740:	cc                   	int3
61e741:	cc                   	int3
61e742:	cc                   	int3
61e743:	cc                   	int3
61e744:	cc                   	int3
61e745:	cc                   	int3
61e746:	cc                   	int3
61e747:	cc                   	int3
61e748:	cc                   	int3
61e749:	cc                   	int3
61e74a:	cc                   	int3
61e74b:	cc                   	int3
61e74c:	cc                   	int3
61e74d:	cc                   	int3
61e74e:	cc                   	int3
61e74f:	cc                   	int3
61e750:	56                   	push   %esi
61e751:	8b f1                	mov    %ecx,%esi
61e753:	57                   	push   %edi
61e754:	8b 7e 04             	mov    0x4(%esi),%edi
61e757:	85 ff                	test   %edi,%edi
61e759:	74 35                	je     0x61e790
61e75b:	53                   	push   %ebx
61e75c:	83 cb ff             	or     $0xffffffff,%ebx
61e75f:	8b c3                	mov    %ebx,%eax
61e761:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
61e766:	75 15                	jne    0x61e77d
61e768:	8b 07                	mov    (%edi),%eax
61e76a:	8b cf                	mov    %edi,%ecx
61e76c:	ff 10                	call   *(%eax)
61e76e:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
61e773:	4b                   	dec    %ebx
61e774:	75 07                	jne    0x61e77d
61e776:	8b 07                	mov    (%edi),%eax
61e778:	8b cf                	mov    %edi,%ecx
61e77a:	ff 50 04             	call   *0x4(%eax)
61e77d:	8b 44 24 14          	mov    0x14(%esp),%eax
61e781:	5b                   	pop    %ebx
61e782:	89 46 04             	mov    %eax,0x4(%esi)
61e785:	8b 44 24 0c          	mov    0xc(%esp),%eax
61e789:	5f                   	pop    %edi
61e78a:	89 06                	mov    %eax,(%esi)
61e78c:	5e                   	pop    %esi
61e78d:	c2 08 00             	ret    $0x8
61e790:	8b 44 24 10          	mov    0x10(%esp),%eax
61e794:	89 46 04             	mov    %eax,0x4(%esi)
61e797:	8b 44 24 0c          	mov    0xc(%esp),%eax
61e79b:	5f                   	pop    %edi
61e79c:	89 06                	mov    %eax,(%esi)
61e79e:	5e                   	pop    %esi
61e79f:	c2 08 00             	ret    $0x8
61e7a2:	cc                   	int3
61e7a3:	cc                   	int3
61e7a4:	cc                   	int3
61e7a5:	cc                   	int3
61e7a6:	cc                   	int3
61e7a7:	cc                   	int3
61e7a8:	cc                   	int3
61e7a9:	cc                   	int3
61e7aa:	cc                   	int3
61e7ab:	cc                   	int3
61e7ac:	cc                   	int3
61e7ad:	cc                   	int3
61e7ae:	cc                   	int3
61e7af:	cc                   	int3
61e7b0:	cc                   	int3
61e7b1:	cc                   	int3
61e7b2:	cc                   	int3
61e7b3:	cc                   	int3
61e7b4:	cc                   	int3
61e7b5:	cc                   	int3
61e7b6:	cc                   	int3
61e7b7:	cc                   	int3
61e7b8:	cc                   	int3
61e7b9:	cc                   	int3
61e7ba:	cc                   	int3
61e7bb:	cc                   	int3
61e7bc:	cc                   	int3
61e7bd:	cc                   	int3
61e7be:	cc                   	int3
61e7bf:	cc                   	int3
61e7c0:	53                   	push   %ebx
61e7c1:	56                   	push   %esi
61e7c2:	57                   	push   %edi
61e7c3:	8b 7c 24 14          	mov    0x14(%esp),%edi
61e7c7:	8b f1                	mov    %ecx,%esi
61e7c9:	85 ff                	test   %edi,%edi
61e7cb:	74 04                	je     0x61e7d1
61e7cd:	f0 ff 47 04          	lock incl 0x4(%edi)
61e7d1:	8b 5e 04             	mov    0x4(%esi),%ebx
61e7d4:	85 db                	test   %ebx,%ebx
61e7d6:	74 32                	je     0x61e80a
61e7d8:	55                   	push   %ebp
61e7d9:	83 cd ff             	or     $0xffffffff,%ebp
61e7dc:	8b c5                	mov    %ebp,%eax
61e7de:	f0 0f c1 43 04       	lock xadd %eax,0x4(%ebx)
61e7e3:	75 15                	jne    0x61e7fa
61e7e5:	8b 03                	mov    (%ebx),%eax
61e7e7:	8b cb                	mov    %ebx,%ecx
61e7e9:	ff 10                	call   *(%eax)
61e7eb:	f0 0f c1 6b 08       	lock xadd %ebp,0x8(%ebx)
61e7f0:	4d                   	dec    %ebp
61e7f1:	75 07                	jne    0x61e7fa
61e7f3:	8b 03                	mov    (%ebx),%eax
61e7f5:	8b cb                	mov    %ebx,%ecx
61e7f7:	ff 50 04             	call   *0x4(%eax)
61e7fa:	8b 44 24 14          	mov    0x14(%esp),%eax
61e7fe:	5d                   	pop    %ebp
61e7ff:	89 7e 04             	mov    %edi,0x4(%esi)
61e802:	5f                   	pop    %edi
61e803:	89 06                	mov    %eax,(%esi)
61e805:	5e                   	pop    %esi
61e806:	5b                   	pop    %ebx
61e807:	c2 08 00             	ret    $0x8
61e80a:	8b 44 24 10          	mov    0x10(%esp),%eax
61e80e:	89 7e 04             	mov    %edi,0x4(%esi)
61e811:	5f                   	pop    %edi
61e812:	89 06                	mov    %eax,(%esi)
61e814:	5e                   	pop    %esi
61e815:	5b                   	pop    %ebx
61e816:	c2 08 00             	ret    $0x8
61e819:	cc                   	int3
61e81a:	cc                   	int3
61e81b:	cc                   	int3
61e81c:	cc                   	int3
61e81d:	cc                   	int3
61e81e:	cc                   	int3
61e81f:	cc                   	int3
61e820:	cc                   	int3
61e821:	cc                   	int3
61e822:	cc                   	int3
61e823:	cc                   	int3
61e824:	cc                   	int3
61e825:	cc                   	int3
61e826:	cc                   	int3
61e827:	cc                   	int3
61e828:	cc                   	int3
61e829:	cc                   	int3
61e82a:	cc                   	int3
61e82b:	cc                   	int3
61e82c:	cc                   	int3
61e82d:	cc                   	int3
61e82e:	cc                   	int3
61e82f:	cc                   	int3
61e830:	53                   	push   %ebx
61e831:	56                   	push   %esi
61e832:	57                   	push   %edi
61e833:	8b 7c 24 14          	mov    0x14(%esp),%edi
61e837:	8b f1                	mov    %ecx,%esi
61e839:	85 ff                	test   %edi,%edi
61e83b:	74 04                	je     0x61e841
61e83d:	f0 ff 47 04          	lock incl 0x4(%edi)
61e841:	8b 5e 04             	mov    0x4(%esi),%ebx
61e844:	85 db                	test   %ebx,%ebx
61e846:	74 32                	je     0x61e87a
61e848:	55                   	push   %ebp
61e849:	83 cd ff             	or     $0xffffffff,%ebp
61e84c:	8b c5                	mov    %ebp,%eax
61e84e:	f0 0f c1 43 04       	lock xadd %eax,0x4(%ebx)
61e853:	75 15                	jne    0x61e86a
61e855:	8b 03                	mov    (%ebx),%eax
61e857:	8b cb                	mov    %ebx,%ecx
61e859:	ff 10                	call   *(%eax)
61e85b:	f0 0f c1 6b 08       	lock xadd %ebp,0x8(%ebx)
61e860:	4d                   	dec    %ebp
61e861:	75 07                	jne    0x61e86a
61e863:	8b 03                	mov    (%ebx),%eax
61e865:	8b cb                	mov    %ebx,%ecx
61e867:	ff 50 04             	call   *0x4(%eax)
61e86a:	8b 44 24 14          	mov    0x14(%esp),%eax
61e86e:	5d                   	pop    %ebp
61e86f:	89 7e 04             	mov    %edi,0x4(%esi)
61e872:	5f                   	pop    %edi
61e873:	89 06                	mov    %eax,(%esi)
61e875:	5e                   	pop    %esi
61e876:	5b                   	pop    %ebx
61e877:	c2 08 00             	ret    $0x8
61e87a:	8b 44 24 10          	mov    0x10(%esp),%eax
61e87e:	89 7e 04             	mov    %edi,0x4(%esi)
61e881:	5f                   	pop    %edi
61e882:	89 06                	mov    %eax,(%esi)
61e884:	5e                   	pop    %esi
61e885:	5b                   	pop    %ebx
61e886:	c2 08 00             	ret    $0x8
61e889:	cc                   	int3
61e88a:	cc                   	int3
61e88b:	cc                   	int3
61e88c:	cc                   	int3
61e88d:	cc                   	int3
61e88e:	cc                   	int3
61e88f:	cc                   	int3
61e890:	cc                   	int3
61e891:	cc                   	int3
61e892:	cc                   	int3
61e893:	cc                   	int3
61e894:	cc                   	int3
61e895:	cc                   	int3
61e896:	cc                   	int3
61e897:	cc                   	int3
61e898:	cc                   	int3
61e899:	cc                   	int3
61e89a:	cc                   	int3
61e89b:	cc                   	int3
61e89c:	cc                   	int3
61e89d:	cc                   	int3
61e89e:	cc                   	int3
61e89f:	cc                   	int3
61e8a0:	53                   	push   %ebx
61e8a1:	56                   	push   %esi
61e8a2:	57                   	push   %edi
61e8a3:	8b 7c 24 14          	mov    0x14(%esp),%edi
61e8a7:	8b f1                	mov    %ecx,%esi
61e8a9:	85 ff                	test   %edi,%edi
61e8ab:	74 04                	je     0x61e8b1
61e8ad:	f0 ff 47 04          	lock incl 0x4(%edi)
61e8b1:	8b 5e 04             	mov    0x4(%esi),%ebx
61e8b4:	85 db                	test   %ebx,%ebx
61e8b6:	74 32                	je     0x61e8ea
61e8b8:	55                   	push   %ebp
61e8b9:	83 cd ff             	or     $0xffffffff,%ebp
61e8bc:	8b c5                	mov    %ebp,%eax
61e8be:	f0 0f c1 43 04       	lock xadd %eax,0x4(%ebx)
61e8c3:	75 15                	jne    0x61e8da
61e8c5:	8b 03                	mov    (%ebx),%eax
61e8c7:	8b cb                	mov    %ebx,%ecx
61e8c9:	ff 10                	call   *(%eax)
61e8cb:	f0 0f c1 6b 08       	lock xadd %ebp,0x8(%ebx)
61e8d0:	4d                   	dec    %ebp
61e8d1:	75 07                	jne    0x61e8da
61e8d3:	8b 03                	mov    (%ebx),%eax
61e8d5:	8b cb                	mov    %ebx,%ecx
61e8d7:	ff 50 04             	call   *0x4(%eax)
61e8da:	8b 44 24 14          	mov    0x14(%esp),%eax
61e8de:	5d                   	pop    %ebp
61e8df:	89 7e 04             	mov    %edi,0x4(%esi)
61e8e2:	5f                   	pop    %edi
61e8e3:	89 06                	mov    %eax,(%esi)
61e8e5:	5e                   	pop    %esi
61e8e6:	5b                   	pop    %ebx
61e8e7:	c2 08 00             	ret    $0x8
61e8ea:	8b 44 24 10          	mov    0x10(%esp),%eax
61e8ee:	89 7e 04             	mov    %edi,0x4(%esi)
61e8f1:	5f                   	pop    %edi
61e8f2:	89 06                	mov    %eax,(%esi)
61e8f4:	5e                   	pop    %esi
61e8f5:	5b                   	pop    %ebx
61e8f6:	c2 08 00             	ret    $0x8
61e8f9:	cc                   	int3
61e8fa:	cc                   	int3
61e8fb:	cc                   	int3
61e8fc:	cc                   	int3
61e8fd:	cc                   	int3
61e8fe:	cc                   	int3
61e8ff:	cc                   	int3
61e900:	cc                   	int3
61e901:	cc                   	int3
61e902:	cc                   	int3
61e903:	cc                   	int3
61e904:	cc                   	int3
61e905:	cc                   	int3
61e906:	cc                   	int3
61e907:	cc                   	int3
61e908:	cc                   	int3
61e909:	cc                   	int3
61e90a:	cc                   	int3
61e90b:	cc                   	int3
61e90c:	cc                   	int3
61e90d:	cc                   	int3
61e90e:	cc                   	int3
61e90f:	cc                   	int3
61e910:	83 ec 0c             	sub    $0xc,%esp
61e913:	53                   	push   %ebx
61e914:	56                   	push   %esi
61e915:	57                   	push   %edi
61e916:	8b 7c 24 20          	mov    0x20(%esp),%edi
61e91a:	8b d9                	mov    %ecx,%ebx
61e91c:	85 ff                	test   %edi,%edi
61e91e:	74 23                	je     0x61e943
61e920:	8b 57 04             	mov    0x4(%edi),%edx
61e923:	8d 77 04             	lea    0x4(%edi),%esi
61e926:	85 d2                	test   %edx,%edx
61e928:	74 19                	je     0x61e943
61e92a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
61e930:	8d 4a 01             	lea    0x1(%edx),%ecx
61e933:	8b c2                	mov    %edx,%eax
61e935:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
61e939:	3b c2                	cmp    %edx,%eax
61e93b:	74 0f                	je     0x61e94c
61e93d:	8b 16                	mov    (%esi),%edx
61e93f:	85 d2                	test   %edx,%edx
61e941:	75 ed                	jne    0x61e930
61e943:	80 7c 24 24 00       	cmpb   $0x0,0x24(%esp)
61e948:	74 0e                	je     0x61e958
61e94a:	eb 15                	jmp    0x61e961
61e94c:	57                   	push   %edi
61e94d:	ff 74 24 20          	push   0x20(%esp)
61e951:	8b cb                	mov    %ebx,%ecx
61e953:	e8 1e 69 df ff       	call   0x415276
61e958:	5f                   	pop    %edi
61e959:	5e                   	pop    %esi
61e95a:	5b                   	pop    %ebx
61e95b:	83 c4 0c             	add    $0xc,%esp
61e95e:	c2 0c 00             	ret    $0xc
61e961:	68 28 06 cd 00       	push   $0xcd0628
61e966:	8d 44 24 10          	lea    0x10(%esp),%eax
61e96a:	c7 44 24 10 00 5f bd 	movl   $0xbd5f00,0x10(%esp)
61e971:	00
61e972:	0f 57 c0             	xorps  %xmm0,%xmm0
61e975:	50                   	push   %eax
61e976:	66 0f d6 44 24 18    	movq   %xmm0,0x18(%esp)
61e97c:	e8 0e f0 df ff       	call   0x41d98f