4355fd:	f0 ff 07             	lock incl (%edi)
435600:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
435604:	75 07                	jne    0x43560d
435606:	be 33 10 04 80       	mov    $0x80041033,%esi
43560b:	eb 29                	jmp    0x435636
43560d:	ff 75 24             	push   0x24(%ebp)
435610:	8b 46 38             	mov    0x38(%esi),%eax
435613:	ff 75 20             	push   0x20(%ebp)
435616:	ff 75 1c             	push   0x1c(%ebp)
435619:	8b 30                	mov    (%eax),%esi
43561b:	ff 75 18             	push   0x18(%ebp)
43561e:	ff 75 14             	push   0x14(%ebp)
435621:	8b 4e 60             	mov    0x60(%esi),%ecx
435624:	ff 75 10             	push   0x10(%ebp)
435627:	ff 75 0c             	push   0xc(%ebp)
43562a:	50                   	push   %eax
43562b:	ff 15 c4 12 45 00    	call   *0x4512c4
435631:	ff 56 60             	call   *0x60(%esi)
435634:	8b f0                	mov    %eax,%esi
435636:	f0 ff 0f             	lock decl (%edi)
435639:	85 f6                	test   %esi,%esi
43563b:	79 0f                	jns    0x43564c
43563d:	56                   	push   %esi
43563e:	ff 15 a0 12 45 00    	call   *0x4512a0
435644:	8b c8                	mov    %eax,%ecx
435646:	ff 15 a4 12 45 00    	call   *0x4512a4
43564c:	a1 00 f0 44 00       	mov    0x44f000,%eax
435651:	3b c3                	cmp    %ebx,%eax
435653:	74 20                	je     0x435675
435655:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
435659:	74 1a                	je     0x435675
43565b:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43565f:	72 14                	jb     0x435675
435661:	56                   	push   %esi
435662:	ff 70 14             	push   0x14(%eax)
435665:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
43566a:	ff 70 10             	push   0x10(%eax)
43566d:	6a 34                	push   $0x34
43566f:	59                   	pop    %ecx
435670:	e8 51 b1 ff ff       	call   0x4307c6
435675:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43567c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
435680:	74 06                	je     0x435688
435682:	ff 15 64 30 45 00    	call   *0x453064
435688:	8b c6                	mov    %esi,%eax
43568a:	e8 ac 9f fe ff       	call   0x41f63b
43568f:	c2 20 00             	ret    $0x20
435692:	cc                   	int3
435693:	cc                   	int3
435694:	cc                   	int3
435695:	cc                   	int3
435696:	cc                   	int3
435697:	cc                   	int3
435698:	cc                   	int3
435699:	cc                   	int3
43569a:	cc                   	int3
43569b:	cc                   	int3
43569c:	cc                   	int3
43569d:	cc                   	int3
43569e:	cc                   	int3
43569f:	cc                   	int3
4356a0:	8b ff                	mov    %edi,%edi
4356a2:	55                   	push   %ebp
4356a3:	8b ec                	mov    %esp,%ebp
4356a5:	83 ec 20             	sub    $0x20,%esp
4356a8:	a1 00 f0 44 00       	mov    0x44f000,%eax
4356ad:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4356b2:	74 2e                	je     0x4356e2
4356b4:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4356b8:	74 28                	je     0x4356e2
4356ba:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
4356be:	72 22                	jb     0x4356e2
4356c0:	ff 75 18             	push   0x18(%ebp)
4356c3:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
4356c8:	ff 75 1c             	push   0x1c(%ebp)
4356cb:	ff 75 14             	push   0x14(%ebp)
4356ce:	ff 75 10             	push   0x10(%ebp)
4356d1:	ff 75 0c             	push   0xc(%ebp)
4356d4:	ff 70 14             	push   0x14(%eax)
4356d7:	ff 70 10             	push   0x10(%eax)
4356da:	6a 71                	push   $0x71
4356dc:	59                   	pop    %ecx
4356dd:	e8 c8 dc ff ff       	call   0x4333aa
4356e2:	53                   	push   %ebx
4356e3:	56                   	push   %esi
4356e4:	57                   	push   %edi
4356e5:	8b 7d 08             	mov    0x8(%ebp),%edi
4356e8:	8d 5f 14             	lea    0x14(%edi),%ebx
4356eb:	f0 ff 03             	lock incl (%ebx)
4356ee:	83 7f 10 01          	cmpl   $0x1,0x10(%edi)
4356f2:	75 0a                	jne    0x4356fe
4356f4:	be 33 10 04 80       	mov    $0x80041033,%esi
4356f9:	e9 8e 00 00 00       	jmp    0x43578c
4356fe:	51                   	push   %ecx
4356ff:	8d 45 f8             	lea    -0x8(%ebp),%eax
435702:	8b cf                	mov    %edi,%ecx
435704:	50                   	push   %eax
435705:	8d 45 ec             	lea    -0x14(%ebp),%eax
435708:	50                   	push   %eax
435709:	8d 45 fc             	lea    -0x4(%ebp),%eax
43570c:	50                   	push   %eax
43570d:	8d 45 e0             	lea    -0x20(%ebp),%eax
435710:	50                   	push   %eax
435711:	8d 45 f4             	lea    -0xc(%ebp),%eax
435714:	50                   	push   %eax
435715:	8d 45 f0             	lea    -0x10(%ebp),%eax
435718:	50                   	push   %eax
435719:	8d 45 e8             	lea    -0x18(%ebp),%eax
43571c:	50                   	push   %eax
43571d:	e8 83 ea ff ff       	call   0x4341a5
435722:	8b f0                	mov    %eax,%esi
435724:	85 f6                	test   %esi,%esi
435726:	78 64                	js     0x43578c
435728:	ff 75 24             	push   0x24(%ebp)
43572b:	8b 45 fc             	mov    -0x4(%ebp),%eax
43572e:	ff 75 20             	push   0x20(%ebp)
435731:	ff 75 1c             	push   0x1c(%ebp)
435734:	8b 30                	mov    (%eax),%esi
435736:	ff 75 18             	push   0x18(%ebp)
435739:	ff 75 14             	push   0x14(%ebp)
43573c:	8b 4e 60             	mov    0x60(%esi),%ecx
43573f:	ff 75 10             	push   0x10(%ebp)
435742:	ff 75 0c             	push   0xc(%ebp)
435745:	50                   	push   %eax
435746:	ff 15 c4 12 45 00    	call   *0x4512c4
43574c:	ff 56 60             	call   *0x60(%esi)
43574f:	8b f0                	mov    %eax,%esi
435751:	8b 45 f8             	mov    -0x8(%ebp),%eax
435754:	89 45 fc             	mov    %eax,-0x4(%ebp)
435757:	8b 45 f4             	mov    -0xc(%ebp),%eax
43575a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43575d:	8b 45 f0             	mov    -0x10(%ebp),%eax
435760:	89 45 e0             	mov    %eax,-0x20(%ebp)
435763:	ff 15 64 30 45 00    	call   *0x453064
435769:	8b 45 fc             	mov    -0x4(%ebp),%eax
43576c:	85 c0                	test   %eax,%eax
43576e:	74 0e                	je     0x43577e
435770:	ff 75 ec             	push   -0x14(%ebp)
435773:	8d 4f 44             	lea    0x44(%edi),%ecx
435776:	33 d2                	xor    %edx,%edx
435778:	50                   	push   %eax
435779:	e8 10 17 01 00       	call   0x446e8e
43577e:	ff 75 e8             	push   -0x18(%ebp)
435781:	8b 55 e4             	mov    -0x1c(%ebp),%edx
435784:	8b 4d e0             	mov    -0x20(%ebp),%ecx
435787:	e8 c6 95 fe ff       	call   0x41ed52
43578c:	f0 ff 0b             	lock decl (%ebx)
43578f:	85 f6                	test   %esi,%esi
435791:	79 0f                	jns    0x4357a2
435793:	56                   	push   %esi
435794:	ff 15 a0 12 45 00    	call   *0x4512a0
43579a:	8b c8                	mov    %eax,%ecx
43579c:	ff 15 a4 12 45 00    	call   *0x4512a4
4357a2:	a1 00 f0 44 00       	mov    0x44f000,%eax
4357a7:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4357ac:	74 20                	je     0x4357ce
4357ae:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4357b2:	74 1a                	je     0x4357ce
4357b4:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4357b8:	72 14                	jb     0x4357ce
4357ba:	56                   	push   %esi
4357bb:	ff 70 14             	push   0x14(%eax)
4357be:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
4357c3:	ff 70 10             	push   0x10(%eax)
4357c6:	6a 72                	push   $0x72
4357c8:	59                   	pop    %ecx
4357c9:	e8 f8 af ff ff       	call   0x4307c6
4357ce:	5f                   	pop    %edi
4357cf:	8b c6                	mov    %esi,%eax
4357d1:	5e                   	pop    %esi
4357d2:	5b                   	pop    %ebx
4357d3:	c9                   	leave
4357d4:	c2 20 00             	ret    $0x20
4357d7:	cc                   	int3
4357d8:	cc                   	int3
4357d9:	cc                   	int3
4357da:	cc                   	int3
4357db:	cc                   	int3
4357dc:	cc                   	int3
4357dd:	cc                   	int3
4357de:	cc                   	int3
4357df:	cc                   	int3
4357e0:	6a 04                	push   $0x4
4357e2:	b8 7e 3c 42 00       	mov    $0x423c7e,%eax
4357e7:	e8 81 9e fe ff       	call   0x41f66d
4357ec:	a1 00 f0 44 00       	mov    0x44f000,%eax
4357f1:	bb 00 f0 44 00       	mov    $0x44f000,%ebx
4357f6:	3b c3                	cmp    %ebx,%eax
4357f8:	74 31                	je     0x43582b
4357fa:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4357fe:	74 2b                	je     0x43582b
435800:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
435804:	72 25                	jb     0x43582b
435806:	ff 75 20             	push   0x20(%ebp)
435809:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
43580e:	ff 75 18             	push   0x18(%ebp)
435811:	ff 75 1c             	push   0x1c(%ebp)
435814:	ff 75 14             	push   0x14(%ebp)
435817:	ff 75 10             	push   0x10(%ebp)
43581a:	ff 75 0c             	push   0xc(%ebp)
43581d:	ff 70 14             	push   0x14(%eax)
435820:	ff 70 10             	push   0x10(%eax)
435823:	6a 35                	push   $0x35
435825:	59                   	pop    %ecx
435826:	e8 2d dc ff ff       	call   0x433458
43582b:	8b 75 08             	mov    0x8(%ebp),%esi
43582e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
435831:	ff 76 40             	push   0x40(%esi)
435834:	e8 cc e0 ff ff       	call   0x433905
435839:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43583d:	8d 7e 14             	lea    0x14(%esi),%edi
435840:	f0 ff 07             	lock incl (%edi)
435843:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
435847:	75 07                	jne    0x435850
435849:	be 33 10 04 80       	mov    $0x80041033,%esi
43584e:	eb 26                	jmp    0x435876
435850:	ff 75 20             	push   0x20(%ebp)
435853:	8b 46 38             	mov    0x38(%esi),%eax
435856:	ff 75 1c             	push   0x1c(%ebp)
435859:	ff 75 18             	push   0x18(%ebp)
43585c:	8b 30                	mov    (%eax),%esi
43585e:	ff 75 14             	push   0x14(%ebp)
435861:	ff 75 10             	push   0x10(%ebp)
435864:	8b 4e 64             	mov    0x64(%esi),%ecx
435867:	ff 75 0c             	push   0xc(%ebp)
43586a:	50                   	push   %eax
43586b:	ff 15 c4 12 45 00    	call   *0x4512c4
435871:	ff 56 64             	call   *0x64(%esi)
435874:	8b f0                	mov    %eax,%esi
435876:	f0 ff 0f             	lock decl (%edi)
435879:	85 f6                	test   %esi,%esi
43587b:	79 0f                	jns    0x43588c
43587d:	56                   	push   %esi
43587e:	ff 15 a0 12 45 00    	call   *0x4512a0
435884:	8b c8                	mov    %eax,%ecx
435886:	ff 15 a4 12 45 00    	call   *0x4512a4
43588c:	a1 00 f0 44 00       	mov    0x44f000,%eax
435891:	3b c3                	cmp    %ebx,%eax
435893:	74 20                	je     0x4358b5
435895:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
435899:	74 1a                	je     0x4358b5
43589b:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43589f:	72 14                	jb     0x4358b5
4358a1:	56                   	push   %esi
4358a2:	ff 70 14             	push   0x14(%eax)
4358a5:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
4358aa:	ff 70 10             	push   0x10(%eax)
4358ad:	6a 36                	push   $0x36
4358af:	59                   	pop    %ecx
4358b0:	e8 11 af ff ff       	call   0x4307c6
4358b5:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4358bc:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4358c0:	74 06                	je     0x4358c8
4358c2:	ff 15 64 30 45 00    	call   *0x453064
4358c8:	8b c6                	mov    %esi,%eax
4358ca:	e8 6c 9d fe ff       	call   0x41f63b
4358cf:	c2 1c 00             	ret    $0x1c
4358d2:	cc                   	int3
4358d3:	cc                   	int3
4358d4:	cc                   	int3
4358d5:	cc                   	int3
4358d6:	cc                   	int3
4358d7:	cc                   	int3
4358d8:	cc                   	int3
4358d9:	cc                   	int3
4358da:	cc                   	int3
4358db:	cc                   	int3
4358dc:	cc                   	int3
4358dd:	cc                   	int3
4358de:	cc                   	int3
4358df:	cc                   	int3
4358e0:	8b ff                	mov    %edi,%edi
4358e2:	55                   	push   %ebp
4358e3:	8b ec                	mov    %esp,%ebp
4358e5:	83 ec 20             	sub    $0x20,%esp
4358e8:	a1 00 f0 44 00       	mov    0x44f000,%eax
4358ed:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4358f2:	74 31                	je     0x435925
4358f4:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4358f8:	74 2b                	je     0x435925
4358fa:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
4358fe:	72 25                	jb     0x435925
435900:	ff 75 20             	push   0x20(%ebp)
435903:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
435908:	ff 75 18             	push   0x18(%ebp)
43590b:	ff 75 1c             	push   0x1c(%ebp)
43590e:	ff 75 14             	push   0x14(%ebp)
435911:	ff 75 10             	push   0x10(%ebp)
435914:	ff 75 0c             	push   0xc(%ebp)
435917:	ff 70 14             	push   0x14(%eax)
43591a:	ff 70 10             	push   0x10(%eax)
43591d:	6a 73                	push   $0x73
43591f:	59                   	pop    %ecx
435920:	e8 33 db ff ff       	call   0x433458
435925:	53                   	push   %ebx
435926:	56                   	push   %esi
435927:	57                   	push   %edi
435928:	8b 7d 08             	mov    0x8(%ebp),%edi
43592b:	8d 5f 14             	lea    0x14(%edi),%ebx
43592e:	f0 ff 03             	lock incl (%ebx)
435931:	83 7f 10 01          	cmpl   $0x1,0x10(%edi)
435935:	75 0a                	jne    0x435941
435937:	be 33 10 04 80       	mov    $0x80041033,%esi
43593c:	e9 8b 00 00 00       	jmp    0x4359cc
435941:	51                   	push   %ecx
435942:	8d 45 f8             	lea    -0x8(%ebp),%eax
435945:	8b cf                	mov    %edi,%ecx
435947:	50                   	push   %eax
435948:	8d 45 ec             	lea    -0x14(%ebp),%eax
43594b:	50                   	push   %eax
43594c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43594f:	50                   	push   %eax
435950:	8d 45 e0             	lea    -0x20(%ebp),%eax
435953:	50                   	push   %eax
435954:	8d 45 f4             	lea    -0xc(%ebp),%eax
435957:	50                   	push   %eax
435958:	8d 45 f0             	lea    -0x10(%ebp),%eax
43595b:	50                   	push   %eax
43595c:	8d 45 e8             	lea    -0x18(%ebp),%eax
43595f:	50                   	push   %eax
435960:	e8 40 e8 ff ff       	call   0x4341a5
435965:	8b f0                	mov    %eax,%esi
435967:	85 f6                	test   %esi,%esi
435969:	78 61                	js     0x4359cc
43596b:	ff 75 20             	push   0x20(%ebp)
43596e:	8b 45 fc             	mov    -0x4(%ebp),%eax
435971:	ff 75 1c             	push   0x1c(%ebp)
435974:	ff 75 18             	push   0x18(%ebp)
435977:	8b 30                	mov    (%eax),%esi
435979:	ff 75 14             	push   0x14(%ebp)
43597c:	ff 75 10             	push   0x10(%ebp)
43597f:	8b 4e 64             	mov    0x64(%esi),%ecx
435982:	ff 75 0c             	push   0xc(%ebp)
435985:	50                   	push   %eax
435986:	ff 15 c4 12 45 00    	call   *0x4512c4
43598c:	ff 56 64             	call   *0x64(%esi)
43598f:	8b f0                	mov    %eax,%esi
435991:	8b 45 f8             	mov    -0x8(%ebp),%eax
435994:	89 45 fc             	mov    %eax,-0x4(%ebp)
435997:	8b 45 f4             	mov    -0xc(%ebp),%eax
43599a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43599d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4359a0:	89 45 e0             	mov    %eax,-0x20(%ebp)
4359a3:	ff 15 64 30 45 00    	call   *0x453064
4359a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4359ac:	85 c0                	test   %eax,%eax
4359ae:	74 0e                	je     0x4359be
4359b0:	ff 75 ec             	push   -0x14(%ebp)
4359b3:	8d 4f 44             	lea    0x44(%edi),%ecx
4359b6:	33 d2                	xor    %edx,%edx