4375d8:	e8 75 77 fe ff       	call   0x41ed52
4375dd:	f0 ff 0b             	lock decl (%ebx)
4375e0:	85 f6                	test   %esi,%esi
4375e2:	79 0f                	jns    0x4375f3
4375e4:	56                   	push   %esi
4375e5:	ff 15 a0 12 45 00    	call   *0x4512a0
4375eb:	8b c8                	mov    %eax,%ecx
4375ed:	ff 15 a4 12 45 00    	call   *0x4512a4
4375f3:	a1 00 f0 44 00       	mov    0x44f000,%eax
4375f8:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4375fd:	74 20                	je     0x43761f
4375ff:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
437603:	74 1a                	je     0x43761f
437605:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
437609:	72 14                	jb     0x43761f
43760b:	56                   	push   %esi
43760c:	ff 70 14             	push   0x14(%eax)
43760f:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
437614:	ff 70 10             	push   0x10(%eax)
437617:	6a 4c                	push   $0x4c
437619:	59                   	pop    %ecx
43761a:	e8 a7 91 ff ff       	call   0x4307c6
43761f:	5f                   	pop    %edi
437620:	8b c6                	mov    %esi,%eax
437622:	5e                   	pop    %esi
437623:	5b                   	pop    %ebx
437624:	c9                   	leave
437625:	c2 0c 00             	ret    $0xc
437628:	cc                   	int3
437629:	cc                   	int3
43762a:	cc                   	int3
43762b:	cc                   	int3
43762c:	cc                   	int3
43762d:	cc                   	int3
43762e:	cc                   	int3
43762f:	cc                   	int3
437630:	8b ff                	mov    %edi,%edi
437632:	55                   	push   %ebp
437633:	8b ec                	mov    %esp,%ebp
437635:	53                   	push   %ebx
437636:	56                   	push   %esi
437637:	a1 00 f0 44 00       	mov    0x44f000,%eax
43763c:	bb 00 f0 44 00       	mov    $0x44f000,%ebx
437641:	3b c3                	cmp    %ebx,%eax
437643:	74 26                	je     0x43766b
437645:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
437649:	74 20                	je     0x43766b
43764b:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
43764f:	72 1a                	jb     0x43766b
437651:	ff 75 18             	push   0x18(%ebp)
437654:	ff 75 14             	push   0x14(%ebp)
437657:	ff 75 10             	push   0x10(%ebp)
43765a:	ff 75 0c             	push   0xc(%ebp)
43765d:	ff 70 14             	push   0x14(%eax)
437660:	ff 70 10             	push   0x10(%eax)
437663:	6a 43                	push   $0x43
437665:	59                   	pop    %ecx
437666:	e8 83 07 00 00       	call   0x437dee
43766b:	8b 45 08             	mov    0x8(%ebp),%eax
43766e:	57                   	push   %edi
43766f:	8d 78 10             	lea    0x10(%eax),%edi
437672:	f0 ff 07             	lock incl (%edi)
437675:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
437679:	75 07                	jne    0x437682
43767b:	be 33 10 04 80       	mov    $0x80041033,%esi
437680:	eb 34                	jmp    0x4376b6
437682:	8b 40 38             	mov    0x38(%eax),%eax
437685:	85 c0                	test   %eax,%eax
437687:	74 28                	je     0x4376b1
437689:	ff 75 24             	push   0x24(%ebp)
43768c:	8b 30                	mov    (%eax),%esi
43768e:	ff 75 20             	push   0x20(%ebp)
437691:	ff 75 1c             	push   0x1c(%ebp)
437694:	8b 4e 20             	mov    0x20(%esi),%ecx
437697:	ff 75 18             	push   0x18(%ebp)
43769a:	ff 75 14             	push   0x14(%ebp)
43769d:	ff 75 10             	push   0x10(%ebp)
4376a0:	ff 75 0c             	push   0xc(%ebp)
4376a3:	50                   	push   %eax
4376a4:	ff 15 c4 12 45 00    	call   *0x4512c4
4376aa:	ff 56 20             	call   *0x20(%esi)
4376ad:	8b f0                	mov    %eax,%esi
4376af:	eb 05                	jmp    0x4376b6
4376b1:	be 09 10 04 80       	mov    $0x80041009,%esi
4376b6:	f0 ff 0f             	lock decl (%edi)
4376b9:	5f                   	pop    %edi
4376ba:	85 f6                	test   %esi,%esi
4376bc:	79 0f                	jns    0x4376cd
4376be:	56                   	push   %esi
4376bf:	ff 15 a0 12 45 00    	call   *0x4512a0
4376c5:	8b c8                	mov    %eax,%ecx
4376c7:	ff 15 a4 12 45 00    	call   *0x4512a4
4376cd:	a1 00 f0 44 00       	mov    0x44f000,%eax
4376d2:	3b c3                	cmp    %ebx,%eax
4376d4:	74 20                	je     0x4376f6
4376d6:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4376da:	74 1a                	je     0x4376f6
4376dc:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4376e0:	72 14                	jb     0x4376f6
4376e2:	56                   	push   %esi
4376e3:	ff 70 14             	push   0x14(%eax)
4376e6:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
4376eb:	ff 70 10             	push   0x10(%eax)
4376ee:	6a 44                	push   $0x44
4376f0:	59                   	pop    %ecx
4376f1:	e8 d0 90 ff ff       	call   0x4307c6
4376f6:	8b c6                	mov    %esi,%eax
4376f8:	5e                   	pop    %esi
4376f9:	5b                   	pop    %ebx
4376fa:	5d                   	pop    %ebp
4376fb:	c2 20 00             	ret    $0x20
4376fe:	cc                   	int3
4376ff:	cc                   	int3
437700:	8b ff                	mov    %edi,%edi
437702:	55                   	push   %ebp
437703:	8b ec                	mov    %esp,%ebp
437705:	83 ec 1c             	sub    $0x1c,%esp
437708:	a1 00 f0 44 00       	mov    0x44f000,%eax
43770d:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
437712:	74 28                	je     0x43773c
437714:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
437718:	74 22                	je     0x43773c
43771a:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
43771e:	72 1c                	jb     0x43773c
437720:	ff 75 18             	push   0x18(%ebp)
437723:	b9 82 00 00 00       	mov    $0x82,%ecx
437728:	ff 75 14             	push   0x14(%ebp)
43772b:	ff 75 10             	push   0x10(%ebp)
43772e:	ff 75 0c             	push   0xc(%ebp)
437731:	ff 70 14             	push   0x14(%eax)
437734:	ff 70 10             	push   0x10(%eax)
437737:	e8 b2 06 00 00       	call   0x437dee
43773c:	8b 45 08             	mov    0x8(%ebp),%eax
43773f:	53                   	push   %ebx
437740:	56                   	push   %esi
437741:	57                   	push   %edi
437742:	8d 78 10             	lea    0x10(%eax),%edi
437745:	f0 ff 07             	lock incl (%edi)
437748:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
43774c:	75 07                	jne    0x437755
43774e:	be 33 10 04 80       	mov    $0x80041033,%esi
437753:	eb 7b                	jmp    0x4377d0
437755:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
437759:	74 70                	je     0x4377cb
43775b:	8d 58 fc             	lea    -0x4(%eax),%ebx
43775e:	51                   	push   %ecx
43775f:	8d 45 f8             	lea    -0x8(%ebp),%eax
437762:	8b cb                	mov    %ebx,%ecx
437764:	50                   	push   %eax
437765:	8d 45 f4             	lea    -0xc(%ebp),%eax
437768:	50                   	push   %eax
437769:	8d 45 fc             	lea    -0x4(%ebp),%eax
43776c:	50                   	push   %eax
43776d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437770:	50                   	push   %eax
437771:	8d 45 f0             	lea    -0x10(%ebp),%eax
437774:	50                   	push   %eax
437775:	8d 45 ec             	lea    -0x14(%ebp),%eax
437778:	50                   	push   %eax
437779:	8d 45 e8             	lea    -0x18(%ebp),%eax
43777c:	50                   	push   %eax
43777d:	e8 26 c9 ff ff       	call   0x4340a8
437782:	8b f0                	mov    %eax,%esi
437784:	85 f6                	test   %esi,%esi
437786:	78 48                	js     0x4377d0
437788:	ff 75 24             	push   0x24(%ebp)
43778b:	8b 45 fc             	mov    -0x4(%ebp),%eax
43778e:	ff 75 20             	push   0x20(%ebp)
437791:	ff 75 1c             	push   0x1c(%ebp)
437794:	8b 30                	mov    (%eax),%esi
437796:	ff 75 18             	push   0x18(%ebp)
437799:	ff 75 14             	push   0x14(%ebp)
43779c:	8b 4e 20             	mov    0x20(%esi),%ecx
43779f:	ff 75 10             	push   0x10(%ebp)
4377a2:	ff 75 0c             	push   0xc(%ebp)
4377a5:	50                   	push   %eax
4377a6:	ff 15 c4 12 45 00    	call   *0x4512c4
4377ac:	ff 56 20             	call   *0x20(%esi)
4377af:	ff 75 f8             	push   -0x8(%ebp)
4377b2:	8b f0                	mov    %eax,%esi
4377b4:	ff 75 f4             	push   -0xc(%ebp)
4377b7:	51                   	push   %ecx
4377b8:	51                   	push   %ecx
4377b9:	ff 75 f0             	push   -0x10(%ebp)
4377bc:	8b cb                	mov    %ebx,%ecx
4377be:	ff 75 ec             	push   -0x14(%ebp)
4377c1:	ff 75 e8             	push   -0x18(%ebp)
4377c4:	e8 92 dd ff ff       	call   0x43555b
4377c9:	eb 05                	jmp    0x4377d0
4377cb:	be 09 10 04 80       	mov    $0x80041009,%esi
4377d0:	f0 ff 0f             	lock decl (%edi)
4377d3:	85 f6                	test   %esi,%esi
4377d5:	79 0f                	jns    0x4377e6
4377d7:	56                   	push   %esi
4377d8:	ff 15 a0 12 45 00    	call   *0x4512a0
4377de:	8b c8                	mov    %eax,%ecx
4377e0:	ff 15 a4 12 45 00    	call   *0x4512a4
4377e6:	a1 00 f0 44 00       	mov    0x44f000,%eax
4377eb:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4377f0:	74 22                	je     0x437814
4377f2:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4377f6:	74 1c                	je     0x437814
4377f8:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4377fc:	72 16                	jb     0x437814
4377fe:	56                   	push   %esi
4377ff:	ff 70 14             	push   0x14(%eax)
437802:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
437807:	b9 83 00 00 00       	mov    $0x83,%ecx
43780c:	ff 70 10             	push   0x10(%eax)
43780f:	e8 b2 8f ff ff       	call   0x4307c6
437814:	5f                   	pop    %edi
437815:	8b c6                	mov    %esi,%eax
437817:	5e                   	pop    %esi
437818:	5b                   	pop    %ebx
437819:	c9                   	leave
43781a:	c2 20 00             	ret    $0x20
43781d:	cc                   	int3
43781e:	cc                   	int3
43781f:	cc                   	int3
437820:	6a 00                	push   $0x0
437822:	b8 fd 2c 42 00       	mov    $0x422cfd,%eax
437827:	e8 41 7e fe ff       	call   0x41f66d
43782c:	8b 75 08             	mov    0x8(%ebp),%esi
43782f:	83 cf ff             	or     $0xffffffff,%edi
437832:	f0 0f c1 7e 0c       	lock xadd %edi,0xc(%esi)
437837:	4f                   	dec    %edi
437838:	75 1b                	jne    0x437855
43783a:	85 f6                	test   %esi,%esi
43783c:	74 17                	je     0x437855
43783e:	8b ce                	mov    %esi,%ecx
437840:	e8 f5 c0 ff ff       	call   0x43393a
437845:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437849:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
43784f:	56                   	push   %esi
437850:	e8 d5 1f fe ff       	call   0x41982a
437855:	8b c7                	mov    %edi,%eax
437857:	e8 df 7d fe ff       	call   0x41f63b
43785c:	c2 04 00             	ret    $0x4
43785f:	cc                   	int3
437860:	6a 00                	push   $0x0
437862:	b8 fd 2c 42 00       	mov    $0x422cfd,%eax
437867:	e8 01 7e fe ff       	call   0x41f66d
43786c:	8b 75 08             	mov    0x8(%ebp),%esi
43786f:	83 cf ff             	or     $0xffffffff,%edi
437872:	f0 0f c1 7e 0c       	lock xadd %edi,0xc(%esi)
437877:	4f                   	dec    %edi
437878:	75 1b                	jne    0x437895
43787a:	85 f6                	test   %esi,%esi
43787c:	74 17                	je     0x437895
43787e:	8b ce                	mov    %esi,%ecx
437880:	e8 4e c1 ff ff       	call   0x4339d3
437885:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437889:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
43788f:	56                   	push   %esi
437890:	e8 95 1f fe ff       	call   0x41982a
437895:	8b c7                	mov    %edi,%eax
437897:	e8 9f 7d fe ff       	call   0x41f63b
43789c:	c2 04 00             	ret    $0x4
43789f:	cc                   	int3
4378a0:	8b ff                	mov    %edi,%edi
4378a2:	55                   	push   %ebp
4378a3:	8b ec                	mov    %esp,%ebp
4378a5:	53                   	push   %ebx
4378a6:	56                   	push   %esi
4378a7:	a1 00 f0 44 00       	mov    0x44f000,%eax
4378ac:	bb 00 f0 44 00       	mov    $0x44f000,%ebx
4378b1:	3b c3                	cmp    %ebx,%eax
4378b3:	74 23                	je     0x4378d8
4378b5:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4378b9:	74 1d                	je     0x4378d8
4378bb:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
4378bf:	72 17                	jb     0x4378d8
4378c1:	ff 75 18             	push   0x18(%ebp)
4378c4:	ff 75 14             	push   0x14(%ebp)
4378c7:	ff 75 10             	push   0x10(%ebp)
4378ca:	ff 70 14             	push   0x14(%eax)
4378cd:	ff 70 10             	push   0x10(%eax)
4378d0:	6a 3f                	push   $0x3f
4378d2:	59                   	pop    %ecx
4378d3:	e8 b3 04 00 00       	call   0x437d8b
4378d8:	8b 45 08             	mov    0x8(%ebp),%eax
4378db:	57                   	push   %edi
4378dc:	8d 78 10             	lea    0x10(%eax),%edi
4378df:	f0 ff 07             	lock incl (%edi)
4378e2:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
4378e6:	75 07                	jne    0x4378ef
4378e8:	be 33 10 04 80       	mov    $0x80041033,%esi
4378ed:	eb 2e                	jmp    0x43791d
4378ef:	8b 40 38             	mov    0x38(%eax),%eax
4378f2:	85 c0                	test   %eax,%eax
4378f4:	74 22                	je     0x437918
4378f6:	ff 75 1c             	push   0x1c(%ebp)
4378f9:	8b 30                	mov    (%eax),%esi
4378fb:	ff 75 18             	push   0x18(%ebp)
4378fe:	ff 75 14             	push   0x14(%ebp)
437901:	8b 4e 18             	mov    0x18(%esi),%ecx
437904:	ff 75 10             	push   0x10(%ebp)
437907:	ff 75 0c             	push   0xc(%ebp)
43790a:	50                   	push   %eax
43790b:	ff 15 c4 12 45 00    	call   *0x4512c4
437911:	ff 56 18             	call   *0x18(%esi)
437914:	8b f0                	mov    %eax,%esi
437916:	eb 05                	jmp    0x43791d
437918:	be 09 10 04 80       	mov    $0x80041009,%esi
43791d:	f0 ff 0f             	lock decl (%edi)
437920:	5f                   	pop    %edi
437921:	85 f6                	test   %esi,%esi
437923:	79 0f                	jns    0x437934
437925:	56                   	push   %esi
437926:	ff 15 a0 12 45 00    	call   *0x4512a0
43792c:	8b c8                	mov    %eax,%ecx
43792e:	ff 15 a4 12 45 00    	call   *0x4512a4
437934:	a1 00 f0 44 00       	mov    0x44f000,%eax
437939:	3b c3                	cmp    %ebx,%eax
43793b:	74 20                	je     0x43795d
43793d:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
437941:	74 1a                	je     0x43795d
437943:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
437947:	72 14                	jb     0x43795d
437949:	56                   	push   %esi
43794a:	ff 70 14             	push   0x14(%eax)
43794d:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
437952:	ff 70 10             	push   0x10(%eax)
437955:	6a 40                	push   $0x40
437957:	59                   	pop    %ecx
437958:	e8 69 8e ff ff       	call   0x4307c6
43795d:	8b c6                	mov    %esi,%eax
43795f:	5e                   	pop    %esi
437960:	5b                   	pop    %ebx
437961:	5d                   	pop    %ebp
437962:	c2 18 00             	ret    $0x18
437965:	cc                   	int3
437966:	cc                   	int3
437967:	cc                   	int3
437968:	cc                   	int3
437969:	cc                   	int3
43796a:	cc                   	int3
43796b:	cc                   	int3
43796c:	cc                   	int3
43796d:	cc                   	int3
43796e:	cc                   	int3
43796f:	cc                   	int3
437970:	8b ff                	mov    %edi,%edi
437972:	55                   	push   %ebp
437973:	8b ec                	mov    %esp,%ebp
437975:	83 ec 1c             	sub    $0x1c,%esp
437978:	a1 00 f0 44 00       	mov    0x44f000,%eax
43797d:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
437982:	74 23                	je     0x4379a7
437984:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)