46d612:	8d 47 04             	lea    0x4(%edi),%eax
46d615:	50                   	push   %eax
46d616:	e8 df 1c fd ff       	call   0x43f2fa
46d61b:	8b 0b                	mov    (%ebx),%ecx
46d61d:	56                   	push   %esi
46d61e:	8b 09                	mov    (%ecx),%ecx
46d620:	89 41 04             	mov    %eax,0x4(%ecx)
46d623:	e8 d2 1c fd ff       	call   0x43f2fa
46d628:	8b 0b                	mov    (%ebx),%ecx
46d62a:	83 c4 10             	add    $0x10,%esp
46d62d:	8b 09                	mov    (%ecx),%ecx
46d62f:	89 41 08             	mov    %eax,0x8(%ecx)
46d632:	33 c0                	xor    %eax,%eax
46d634:	5f                   	pop    %edi
46d635:	5b                   	pop    %ebx
46d636:	5e                   	pop    %esi
46d637:	8b e5                	mov    %ebp,%esp
46d639:	5d                   	pop    %ebp
46d63a:	c3                   	ret
46d63b:	ff 31                	push   (%ecx)
46d63d:	e8 ca a8 ff ff       	call   0x467f0c
46d642:	59                   	pop    %ecx
46d643:	c3                   	ret
46d644:	ff 31                	push   (%ecx)
46d646:	e8 c1 a8 ff ff       	call   0x467f0c
46d64b:	59                   	pop    %ecx
46d64c:	c3                   	ret
46d64d:	8b ff                	mov    %edi,%edi
46d64f:	55                   	push   %ebp
46d650:	8b ec                	mov    %esp,%ebp
46d652:	83 ec 1c             	sub    $0x1c,%esp
46d655:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46d65a:	33 c5                	xor    %ebp,%eax
46d65c:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d65f:	8b 01                	mov    (%ecx),%eax
46d661:	53                   	push   %ebx
46d662:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46d665:	8b 18                	mov    (%eax),%ebx
46d667:	85 db                	test   %ebx,%ebx
46d669:	75 08                	jne    0x46d673
46d66b:	83 c8 ff             	or     $0xffffffff,%eax
46d66e:	e9 e9 00 00 00       	jmp    0x46d75c
46d673:	8b 15 94 80 4b 00    	mov    0x4b8094,%edx
46d679:	56                   	push   %esi
46d67a:	57                   	push   %edi
46d67b:	8b 3b                	mov    (%ebx),%edi
46d67d:	8b f2                	mov    %edx,%esi
46d67f:	8b 5b 04             	mov    0x4(%ebx),%ebx
46d682:	83 e6 1f             	and    $0x1f,%esi
46d685:	33 fa                	xor    %edx,%edi
46d687:	8b ce                	mov    %esi,%ecx
46d689:	33 da                	xor    %edx,%ebx
46d68b:	d3 cf                	ror    %cl,%edi
46d68d:	d3 cb                	ror    %cl,%ebx
46d68f:	85 ff                	test   %edi,%edi
46d691:	0f 84 c1 00 00 00    	je     0x46d758
46d697:	83 ff ff             	cmp    $0xffffffff,%edi
46d69a:	0f 84 b8 00 00 00    	je     0x46d758
46d6a0:	6a 20                	push   $0x20
46d6a2:	59                   	pop    %ecx
46d6a3:	2b ce                	sub    %esi,%ecx
46d6a5:	89 7d f0             	mov    %edi,-0x10(%ebp)
46d6a8:	33 c0                	xor    %eax,%eax
46d6aa:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46d6ad:	d3 c8                	ror    %cl,%eax
46d6af:	8b ce                	mov    %esi,%ecx
46d6b1:	8b 75 f8             	mov    -0x8(%ebp),%esi
46d6b4:	33 c2                	xor    %edx,%eax
46d6b6:	89 45 e8             	mov    %eax,-0x18(%ebp)
46d6b9:	83 eb 04             	sub    $0x4,%ebx
46d6bc:	3b df                	cmp    %edi,%ebx
46d6be:	72 60                	jb     0x46d720
46d6c0:	39 03                	cmp    %eax,(%ebx)
46d6c2:	74 f5                	je     0x46d6b9
46d6c4:	8b 33                	mov    (%ebx),%esi
46d6c6:	33 f2                	xor    %edx,%esi
46d6c8:	89 03                	mov    %eax,(%ebx)
46d6ca:	d3 ce                	ror    %cl,%esi
46d6cc:	8b ce                	mov    %esi,%ecx
46d6ce:	ff 15 54 43 49 00    	call   *0x494354
46d6d4:	ff d6                	call   *%esi
46d6d6:	8b 75 f8             	mov    -0x8(%ebp),%esi
46d6d9:	8b 15 94 80 4b 00    	mov    0x4b8094,%edx
46d6df:	8b ca                	mov    %edx,%ecx
46d6e1:	83 e1 1f             	and    $0x1f,%ecx
46d6e4:	8b 06                	mov    (%esi),%eax
46d6e6:	8b 00                	mov    (%eax),%eax
46d6e8:	8b 30                	mov    (%eax),%esi
46d6ea:	8b 40 04             	mov    0x4(%eax),%eax
46d6ed:	33 f2                	xor    %edx,%esi
46d6ef:	d3 ce                	ror    %cl,%esi
46d6f1:	33 c2                	xor    %edx,%eax
46d6f3:	d3 c8                	ror    %cl,%eax
46d6f5:	3b 75 f0             	cmp    -0x10(%ebp),%esi
46d6f8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46d6fb:	8b 75 f8             	mov    -0x8(%ebp),%esi
46d6fe:	89 45 f4             	mov    %eax,-0xc(%ebp)
46d701:	75 0b                	jne    0x46d70e
46d703:	3b 45 ec             	cmp    -0x14(%ebp),%eax
46d706:	8b 45 e8             	mov    -0x18(%ebp),%eax
46d709:	74 ae                	je     0x46d6b9
46d70b:	8b 45 f4             	mov    -0xc(%ebp),%eax
46d70e:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46d711:	8b fb                	mov    %ebx,%edi
46d713:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46d716:	8b d8                	mov    %eax,%ebx
46d718:	89 45 ec             	mov    %eax,-0x14(%ebp)
46d71b:	8b 45 e8             	mov    -0x18(%ebp),%eax
46d71e:	eb 99                	jmp    0x46d6b9
46d720:	83 ff ff             	cmp    $0xffffffff,%edi
46d723:	74 0d                	je     0x46d732
46d725:	57                   	push   %edi
46d726:	e8 0e 4c 00 00       	call   0x472339
46d72b:	8b 15 94 80 4b 00    	mov    0x4b8094,%edx
46d731:	59                   	pop    %ecx
46d732:	8b 06                	mov    (%esi),%eax
46d734:	83 e2 1f             	and    $0x1f,%edx
46d737:	6a 20                	push   $0x20
46d739:	59                   	pop    %ecx
46d73a:	2b ca                	sub    %edx,%ecx
46d73c:	33 d2                	xor    %edx,%edx
46d73e:	8b 00                	mov    (%eax),%eax
46d740:	d3 ca                	ror    %cl,%edx
46d742:	33 15 94 80 4b 00    	xor    0x4b8094,%edx
46d748:	89 10                	mov    %edx,(%eax)
46d74a:	8b 06                	mov    (%esi),%eax
46d74c:	8b 00                	mov    (%eax),%eax
46d74e:	89 50 04             	mov    %edx,0x4(%eax)
46d751:	8b 06                	mov    (%esi),%eax
46d753:	8b 00                	mov    (%eax),%eax
46d755:	89 50 08             	mov    %edx,0x8(%eax)
46d758:	5f                   	pop    %edi
46d759:	33 c0                	xor    %eax,%eax
46d75b:	5e                   	pop    %esi
46d75c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46d75f:	33 cd                	xor    %ebp,%ecx
46d761:	5b                   	pop    %ebx
46d762:	e8 9b 22 fd ff       	call   0x43fa02
46d767:	8b e5                	mov    %ebp,%esp
46d769:	5d                   	pop    %ebp
46d76a:	c3                   	ret
46d76b:	8b 01                	mov    (%ecx),%eax
46d76d:	83 21 00             	andl   $0x0,(%ecx)
46d770:	c3                   	ret
46d771:	8b ff                	mov    %edi,%edi
46d773:	56                   	push   %esi
46d774:	8b f1                	mov    %ecx,%esi
46d776:	ff 36                	push   (%esi)
46d778:	e8 bc 4b 00 00       	call   0x472339
46d77d:	83 26 00             	andl   $0x0,(%esi)
46d780:	59                   	pop    %ecx
46d781:	5e                   	pop    %esi
46d782:	c3                   	ret
46d783:	8b ff                	mov    %edi,%edi
46d785:	55                   	push   %ebp
46d786:	8b ec                	mov    %esp,%ebp
46d788:	ff 75 08             	push   0x8(%ebp)
46d78b:	68 b0 b8 4b 00       	push   $0x4bb8b0
46d790:	e8 74 00 00 00       	call   0x46d809
46d795:	59                   	pop    %ecx
46d796:	59                   	pop    %ecx
46d797:	5d                   	pop    %ebp
46d798:	c3                   	ret
46d799:	8b ff                	mov    %edi,%edi
46d79b:	55                   	push   %ebp
46d79c:	8b ec                	mov    %esp,%ebp
46d79e:	ff 75 08             	push   0x8(%ebp)
46d7a1:	68 a4 b8 4b 00       	push   $0x4bb8a4
46d7a6:	e8 5e 00 00 00       	call   0x46d809
46d7ab:	59                   	pop    %ecx
46d7ac:	59                   	pop    %ecx
46d7ad:	5d                   	pop    %ebp
46d7ae:	c3                   	ret
46d7af:	8b ff                	mov    %edi,%edi
46d7b1:	55                   	push   %ebp
46d7b2:	8b ec                	mov    %esp,%ebp
46d7b4:	51                   	push   %ecx
46d7b5:	8d 45 08             	lea    0x8(%ebp),%eax
46d7b8:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d7bb:	8d 45 fc             	lea    -0x4(%ebp),%eax
46d7be:	50                   	push   %eax
46d7bf:	6a 02                	push   $0x2
46d7c1:	e8 4a fc ff ff       	call   0x46d410
46d7c6:	59                   	pop    %ecx
46d7c7:	59                   	pop    %ecx
46d7c8:	8b e5                	mov    %ebp,%esp
46d7ca:	5d                   	pop    %ebp
46d7cb:	c3                   	ret
46d7cc:	8b ff                	mov    %edi,%edi
46d7ce:	55                   	push   %ebp
46d7cf:	8b ec                	mov    %esp,%ebp
46d7d1:	56                   	push   %esi
46d7d2:	8b 75 08             	mov    0x8(%ebp),%esi
46d7d5:	85 f6                	test   %esi,%esi
46d7d7:	75 05                	jne    0x46d7de
46d7d9:	83 c8 ff             	or     $0xffffffff,%eax
46d7dc:	eb 28                	jmp    0x46d806
46d7de:	8b 06                	mov    (%esi),%eax
46d7e0:	3b 46 08             	cmp    0x8(%esi),%eax
46d7e3:	75 1f                	jne    0x46d804
46d7e5:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46d7ea:	83 e0 1f             	and    $0x1f,%eax
46d7ed:	6a 20                	push   $0x20
46d7ef:	59                   	pop    %ecx
46d7f0:	2b c8                	sub    %eax,%ecx
46d7f2:	33 c0                	xor    %eax,%eax
46d7f4:	d3 c8                	ror    %cl,%eax
46d7f6:	33 05 94 80 4b 00    	xor    0x4b8094,%eax
46d7fc:	89 06                	mov    %eax,(%esi)
46d7fe:	89 46 04             	mov    %eax,0x4(%esi)
46d801:	89 46 08             	mov    %eax,0x8(%esi)
46d804:	33 c0                	xor    %eax,%eax
46d806:	5e                   	pop    %esi
46d807:	5d                   	pop    %ebp
46d808:	c3                   	ret
46d809:	8b ff                	mov    %edi,%edi
46d80b:	55                   	push   %ebp
46d80c:	8b ec                	mov    %esp,%ebp
46d80e:	51                   	push   %ecx
46d80f:	51                   	push   %ecx
46d810:	8d 45 08             	lea    0x8(%ebp),%eax
46d813:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d816:	8d 45 0c             	lea    0xc(%ebp),%eax
46d819:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d81c:	8d 45 f8             	lea    -0x8(%ebp),%eax
46d81f:	50                   	push   %eax
46d820:	6a 02                	push   $0x2
46d822:	e8 c1 fb ff ff       	call   0x46d3e8
46d827:	59                   	pop    %ecx
46d828:	59                   	pop    %ecx
46d829:	8b e5                	mov    %ebp,%esp
46d82b:	5d                   	pop    %ebp
46d82c:	c3                   	ret
46d82d:	68 30 82 4b 00       	push   $0x4b8230
46d832:	b9 14 bf 4b 00       	mov    $0x4bbf14,%ecx
46d837:	e8 30 01 00 00       	call   0x46d96c
46d83c:	b0 01                	mov    $0x1,%al
46d83e:	c3                   	ret
46d83f:	68 a4 b8 4b 00       	push   $0x4bb8a4
46d844:	e8 83 ff ff ff       	call   0x46d7cc
46d849:	c7 04 24 b0 b8 4b 00 	movl   $0x4bb8b0,(%esp)
46d850:	e8 77 ff ff ff       	call   0x46d7cc
46d855:	59                   	pop    %ecx
46d856:	b0 01                	mov    $0x1,%al
46d858:	c3                   	ret
46d859:	b0 01                	mov    $0x1,%al
46d85b:	c3                   	ret
46d85c:	b0 01                	mov    $0x1,%al
46d85e:	c3                   	ret
46d85f:	e8 43 fa ff ff       	call   0x46d2a7
46d864:	b0 01                	mov    $0x1,%al
46d866:	c3                   	ret
46d867:	b0 01                	mov    $0x1,%al
46d869:	c3                   	ret
46d86a:	b0 01                	mov    $0x1,%al
46d86c:	c3                   	ret
46d86d:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46d872:	56                   	push   %esi
46d873:	6a 20                	push   $0x20
46d875:	83 e0 1f             	and    $0x1f,%eax
46d878:	33 f6                	xor    %esi,%esi
46d87a:	59                   	pop    %ecx
46d87b:	2b c8                	sub    %eax,%ecx
46d87d:	d3 ce                	ror    %cl,%esi
46d87f:	33 35 94 80 4b 00    	xor    0x4b8094,%esi
46d885:	56                   	push   %esi
46d886:	e8 9d f3 fd ff       	call   0x44cc28
46d88b:	56                   	push   %esi
46d88c:	e8 c4 e3 ff ff       	call   0x46bc55
46d891:	56                   	push   %esi
46d892:	e8 9b df 00 00       	call   0x47b832
46d897:	56                   	push   %esi
46d898:	e8 9e 0b 00 00       	call   0x46e43b
46d89d:	56                   	push   %esi
46d89e:	e8 5a ea ff ff       	call   0x46c2fd
46d8a3:	83 c4 14             	add    $0x14,%esp
46d8a6:	b0 01                	mov    $0x1,%al
46d8a8:	5e                   	pop    %esi
46d8a9:	c3                   	ret
46d8aa:	6a 00                	push   $0x0
46d8ac:	e8 e1 77 fd ff       	call   0x445092
46d8b1:	59                   	pop    %ecx
46d8b2:	c3                   	ret
46d8b3:	8b ff                	mov    %edi,%edi
46d8b5:	55                   	push   %ebp
46d8b6:	8b ec                	mov    %esp,%ebp
46d8b8:	51                   	push   %ecx
46d8b9:	56                   	push   %esi
46d8ba:	68 04 c3 4b 00       	push   $0x4bc304
46d8bf:	8d 4d ff             	lea    -0x1(%ebp),%ecx
46d8c2:	e8 77 00 00 00       	call   0x46d93e
46d8c7:	ff 35 08 c2 4b 00    	push   0x4bc208
46d8cd:	e8 67 4a 00 00       	call   0x472339
46d8d2:	ff 35 0c c2 4b 00    	push   0x4bc20c
46d8d8:	33 f6                	xor    %esi,%esi
46d8da:	89 35 08 c2 4b 00    	mov    %esi,0x4bc208
46d8e0:	e8 54 4a 00 00       	call   0x472339
46d8e5:	ff 35 f0 be 4b 00    	push   0x4bbef0
46d8eb:	89 35 0c c2 4b 00    	mov    %esi,0x4bc20c
46d8f1:	e8 43 4a 00 00       	call   0x472339
46d8f6:	ff 35 f4 be 4b 00    	push   0x4bbef4
46d8fc:	89 35 f0 be 4b 00    	mov    %esi,0x4bbef0
46d902:	e8 32 4a 00 00       	call   0x472339
46d907:	83 c4 10             	add    $0x10,%esp
46d90a:	89 35 f4 be 4b 00    	mov    %esi,0x4bbef4
46d910:	b0 01                	mov    $0x1,%al
46d912:	5e                   	pop    %esi
46d913:	8b e5                	mov    %ebp,%esp
46d915:	5d                   	pop    %ebp
46d916:	c3                   	ret
46d917:	b0 01                	mov    $0x1,%al
46d919:	c3                   	ret
46d91a:	8b ff                	mov    %edi,%edi
46d91c:	55                   	push   %ebp
46d91d:	8b ec                	mov    %esp,%ebp
46d91f:	56                   	push   %esi
46d920:	8b f1                	mov    %ecx,%esi
46d922:	57                   	push   %edi
46d923:	8d 7e 04             	lea    0x4(%esi),%edi
46d926:	eb 0c                	jmp    0x46d934
46d928:	8b 4d 08             	mov    0x8(%ebp),%ecx
46d92b:	56                   	push   %esi
46d92c:	e8 0d 00 00 00       	call   0x46d93e
46d931:	83 c6 04             	add    $0x4,%esi
46d934:	3b f7                	cmp    %edi,%esi
46d936:	75 f0                	jne    0x46d928
46d938:	5f                   	pop    %edi
46d939:	5e                   	pop    %esi
46d93a:	5d                   	pop    %ebp
46d93b:	c2 04 00             	ret    $0x4
46d93e:	8b ff                	mov    %edi,%edi
46d940:	55                   	push   %ebp
46d941:	8b ec                	mov    %esp,%ebp
46d943:	56                   	push   %esi
46d944:	8b 75 08             	mov    0x8(%ebp),%esi
46d947:	83 c9 ff             	or     $0xffffffff,%ecx
46d94a:	8b 06                	mov    (%esi),%eax
46d94c:	f0 0f c1 08          	lock xadd %ecx,(%eax)
46d950:	75 15                	jne    0x46d967
46d952:	57                   	push   %edi
46d953:	bf e0 87 4b 00       	mov    $0x4b87e0,%edi
46d958:	39 3e                	cmp    %edi,(%esi)
46d95a:	74 0a                	je     0x46d966
46d95c:	ff 36                	push   (%esi)
46d95e:	e8 d6 49 00 00       	call   0x472339
46d963:	59                   	pop    %ecx
46d964:	89 3e                	mov    %edi,(%esi)
46d966:	5f                   	pop    %edi
46d967:	5e                   	pop    %esi
46d968:	5d                   	pop    %ebp