4373f5:	83 c4 0c             	add    $0xc,%esp
4373f8:	85 c0                	test   %eax,%eax
4373fa:	74 3a                	je     0x437436
4373fc:	6a 10                	push   $0x10
4373fe:	68 a4 b4 40 00       	push   $0x40b4a4
437403:	ff 75 0c             	push   0xc(%ebp)
437406:	e8 5f ae fe ff       	call   0x42226a
43740b:	83 c4 0c             	add    $0xc,%esp
43740e:	85 c0                	test   %eax,%eax
437410:	75 05                	jne    0x437417
437412:	8d 46 04             	lea    0x4(%esi),%eax
437415:	eb 19                	jmp    0x437430
437417:	6a 10                	push   $0x10
437419:	68 08 6c 40 00       	push   $0x406c08
43741e:	ff 75 0c             	push   0xc(%ebp)
437421:	e8 44 ae fe ff       	call   0x42226a
437426:	83 c4 0c             	add    $0xc,%esp
437429:	85 c0                	test   %eax,%eax
43742b:	75 23                	jne    0x437450
43742d:	8d 46 08             	lea    0x8(%esi),%eax
437430:	f7 de                	neg    %esi
437432:	1b f6                	sbb    %esi,%esi
437434:	23 f0                	and    %eax,%esi
437436:	89 33                	mov    %esi,(%ebx)
437438:	85 f6                	test   %esi,%esi
43743a:	74 14                	je     0x437450
43743c:	8b 06                	mov    (%esi),%eax
43743e:	56                   	push   %esi
43743f:	8b 70 04             	mov    0x4(%eax),%esi
437442:	8b ce                	mov    %esi,%ecx
437444:	ff 15 c4 12 45 00    	call   *0x4512c4
43744a:	ff d6                	call   *%esi
43744c:	33 c0                	xor    %eax,%eax
43744e:	eb 05                	jmp    0x437455
437450:	b8 02 40 00 80       	mov    $0x80004002,%eax
437455:	5e                   	pop    %esi
437456:	5b                   	pop    %ebx
437457:	5d                   	pop    %ebp
437458:	c2 0c 00             	ret    $0xc
43745b:	cc                   	int3
43745c:	cc                   	int3
43745d:	cc                   	int3
43745e:	cc                   	int3
43745f:	cc                   	int3
437460:	6a 04                	push   $0x4
437462:	b8 7e 3c 42 00       	mov    $0x423c7e,%eax
437467:	e8 01 82 fe ff       	call   0x41f66d
43746c:	8b 75 08             	mov    0x8(%ebp),%esi
43746f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
437472:	ff 76 40             	push   0x40(%esi)
437475:	e8 8b c4 ff ff       	call   0x433905
43747a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43747e:	8d 7e 14             	lea    0x14(%esi),%edi
437481:	f0 ff 07             	lock incl (%edi)
437484:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
437488:	75 07                	jne    0x437491
43748a:	be 33 10 04 80       	mov    $0x80041033,%esi
43748f:	eb 1b                	jmp    0x4374ac
437491:	8b 46 38             	mov    0x38(%esi),%eax
437494:	ff 75 10             	push   0x10(%ebp)
437497:	ff 75 0c             	push   0xc(%ebp)
43749a:	8b 08                	mov    (%eax),%ecx
43749c:	50                   	push   %eax
43749d:	8b 71 14             	mov    0x14(%ecx),%esi
4374a0:	8b ce                	mov    %esi,%ecx
4374a2:	ff 15 c4 12 45 00    	call   *0x4512c4
4374a8:	ff d6                	call   *%esi
4374aa:	8b f0                	mov    %eax,%esi
4374ac:	f0 ff 0f             	lock decl (%edi)
4374af:	85 f6                	test   %esi,%esi
4374b1:	79 0f                	jns    0x4374c2
4374b3:	56                   	push   %esi
4374b4:	ff 15 a0 12 45 00    	call   *0x4512a0
4374ba:	8b c8                	mov    %eax,%ecx
4374bc:	ff 15 a4 12 45 00    	call   *0x4512a4
4374c2:	a1 00 f0 44 00       	mov    0x44f000,%eax
4374c7:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4374cc:	74 20                	je     0x4374ee
4374ce:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4374d2:	74 1a                	je     0x4374ee
4374d4:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4374d8:	72 14                	jb     0x4374ee
4374da:	56                   	push   %esi
4374db:	ff 70 14             	push   0x14(%eax)
4374de:	ba d4 b1 40 00       	mov    $0x40b1d4,%edx
4374e3:	ff 70 10             	push   0x10(%eax)
4374e6:	6a 0e                	push   $0xe
4374e8:	59                   	pop    %ecx
4374e9:	e8 d8 92 ff ff       	call   0x4307c6
4374ee:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4374f5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4374f9:	74 06                	je     0x437501
4374fb:	ff 15 64 30 45 00    	call   *0x453064
437501:	8b c6                	mov    %esi,%eax
437503:	e8 33 81 fe ff       	call   0x41f63b
437508:	c2 0c 00             	ret    $0xc
43750b:	cc                   	int3
43750c:	cc                   	int3
43750d:	cc                   	int3
43750e:	cc                   	int3
43750f:	cc                   	int3
437510:	8b ff                	mov    %edi,%edi
437512:	55                   	push   %ebp
437513:	8b ec                	mov    %esp,%ebp
437515:	83 ec 20             	sub    $0x20,%esp
437518:	a1 00 f0 44 00       	mov    0x44f000,%eax
43751d:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
437522:	74 1d                	je     0x437541
437524:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
437528:	74 17                	je     0x437541
43752a:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
43752e:	72 11                	jb     0x437541
437530:	ff 75 10             	push   0x10(%ebp)
437533:	ff 75 0c             	push   0xc(%ebp)
437536:	ff 70 14             	push   0x14(%eax)
437539:	ff 70 10             	push   0x10(%eax)
43753c:	e8 7e 08 00 00       	call   0x437dbf
437541:	53                   	push   %ebx
437542:	56                   	push   %esi
437543:	57                   	push   %edi
437544:	8b 7d 08             	mov    0x8(%ebp),%edi
437547:	8d 5f 14             	lea    0x14(%edi),%ebx
43754a:	f0 ff 03             	lock incl (%ebx)
43754d:	83 7f 10 01          	cmpl   $0x1,0x10(%edi)
437551:	75 0a                	jne    0x43755d
437553:	be 33 10 04 80       	mov    $0x80041033,%esi
437558:	e9 80 00 00 00       	jmp    0x4375dd
43755d:	51                   	push   %ecx
43755e:	8d 45 f8             	lea    -0x8(%ebp),%eax
437561:	8b cf                	mov    %edi,%ecx
437563:	50                   	push   %eax
437564:	8d 45 ec             	lea    -0x14(%ebp),%eax
437567:	50                   	push   %eax
437568:	8d 45 fc             	lea    -0x4(%ebp),%eax
43756b:	50                   	push   %eax
43756c:	8d 45 e0             	lea    -0x20(%ebp),%eax
43756f:	50                   	push   %eax
437570:	8d 45 f4             	lea    -0xc(%ebp),%eax
437573:	50                   	push   %eax
437574:	8d 45 f0             	lea    -0x10(%ebp),%eax
437577:	50                   	push   %eax
437578:	8d 45 e8             	lea    -0x18(%ebp),%eax
43757b:	50                   	push   %eax
43757c:	e8 24 cc ff ff       	call   0x4341a5
437581:	8b f0                	mov    %eax,%esi
437583:	85 f6                	test   %esi,%esi
437585:	78 56                	js     0x4375dd
437587:	8b 45 fc             	mov    -0x4(%ebp),%eax
43758a:	ff 75 10             	push   0x10(%ebp)
43758d:	ff 75 0c             	push   0xc(%ebp)
437590:	8b 08                	mov    (%eax),%ecx
437592:	50                   	push   %eax
437593:	8b 71 14             	mov    0x14(%ecx),%esi
437596:	8b ce                	mov    %esi,%ecx
437598:	ff 15 c4 12 45 00    	call   *0x4512c4
43759e:	ff d6                	call   *%esi
4375a0:	8b f0                	mov    %eax,%esi
4375a2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4375a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4375a8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4375ab:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4375ae:	8b 45 f0             	mov    -0x10(%ebp),%eax
4375b1:	89 45 e0             	mov    %eax,-0x20(%ebp)
4375b4:	ff 15 64 30 45 00    	call   *0x453064
4375ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4375bd:	85 c0                	test   %eax,%eax
4375bf:	74 0e                	je     0x4375cf
4375c1:	ff 75 ec             	push   -0x14(%ebp)
4375c4:	8d 4f 44             	lea    0x44(%edi),%ecx
4375c7:	33 d2                	xor    %edx,%edx
4375c9:	50                   	push   %eax
4375ca:	e8 bf f8 00 00       	call   0x446e8e
4375cf:	ff 75 e8             	push   -0x18(%ebp)
4375d2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4375d5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
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)