600519:	75 0b                	jne    0x600526
60051b:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
60051f:	75 bb                	jne    0x6004dc
600521:	8d 41 01             	lea    0x1(%ecx),%eax
600524:	89 06                	mov    %eax,(%esi)
600526:	8b 02                	mov    (%edx),%eax
600528:	90                   	nop
600529:	8b 0e                	mov    (%esi),%ecx
60052b:	c1 e8 0c             	shr    $0xc,%eax
60052e:	49                   	dec    %ecx
60052f:	89 0e                	mov    %ecx,(%esi)
600531:	24 01                	and    $0x1,%al
600533:	74 0b                	je     0x600540
600535:	38 19                	cmp    %bl,(%ecx)
600537:	74 09                	je     0x600542
600539:	8d 41 01             	lea    0x1(%ecx),%eax
60053c:	89 06                	mov    %eax,(%esi)
60053e:	eb 9c                	jmp    0x6004dc
600540:	88 19                	mov    %bl,(%ecx)
600542:	ff 46 08             	incl   0x8(%esi)
600545:	6a f7                	push   $0xfffffff7
600547:	58                   	pop    %eax
600548:	f0 21 02             	lock and %eax,(%edx)
60054b:	33 c0                	xor    %eax,%eax
60054d:	40                   	inc    %eax
60054e:	f0 09 02             	lock or %eax,(%edx)
600551:	0f b6 c3             	movzbl %bl,%eax
600554:	eb 89                	jmp    0x6004df
600556:	6a 0c                	push   $0xc
600558:	68 30 1e 70 00       	push   $0x701e30
60055d:	e8 ae 1f fe ff       	call   0x5e2510
600562:	8b 75 0c             	mov    0xc(%ebp),%esi
600565:	85 f6                	test   %esi,%esi
600567:	75 15                	jne    0x60057e
600569:	e8 8b ca fe ff       	call   0x5ecff9
60056e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
600574:	e8 a6 c9 fe ff       	call   0x5ecf1f
600579:	83 c8 ff             	or     $0xffffffff,%eax
60057c:	eb 2d                	jmp    0x6005ab
60057e:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
600582:	56                   	push   %esi
600583:	e8 1a bc ff ff       	call   0x5fc1a2
600588:	59                   	pop    %ecx
600589:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
60058d:	56                   	push   %esi
60058e:	ff 75 08             	push   0x8(%ebp)
600591:	e8 c6 fe ff ff       	call   0x60045c
600596:	59                   	pop    %ecx
600597:	59                   	pop    %ecx
600598:	8b f8                	mov    %eax,%edi
60059a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
60059d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
6005a4:	e8 18 00 00 00       	call   0x6005c1
6005a9:	8b c7                	mov    %edi,%eax
6005ab:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6005ae:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6005b5:	59                   	pop    %ecx
6005b6:	5f                   	pop    %edi
6005b7:	5e                   	pop    %esi
6005b8:	5b                   	pop    %ebx
6005b9:	c9                   	leave
6005ba:	c3                   	ret
6005bb:	8b 75 0c             	mov    0xc(%ebp),%esi
6005be:	8b 7d e4             	mov    -0x1c(%ebp),%edi
6005c1:	56                   	push   %esi
6005c2:	e8 ef bb ff ff       	call   0x5fc1b6
6005c7:	59                   	pop    %ecx
6005c8:	c3                   	ret
6005c9:	8b ff                	mov    %edi,%edi
6005cb:	55                   	push   %ebp
6005cc:	8b ec                	mov    %esp,%ebp
6005ce:	83 ec 18             	sub    $0x18,%esp
6005d1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
6005d5:	75 0e                	jne    0x6005e5
6005d7:	ff 75 0c             	push   0xc(%ebp)
6005da:	6a 00                	push   $0x0
6005dc:	e8 a4 6d ff ff       	call   0x5f7385
6005e1:	59                   	pop    %ecx
6005e2:	59                   	pop    %ecx
6005e3:	c9                   	leave
6005e4:	c3                   	ret
6005e5:	33 c0                	xor    %eax,%eax
6005e7:	56                   	push   %esi
6005e8:	89 45 e8             	mov    %eax,-0x18(%ebp)
6005eb:	89 45 ec             	mov    %eax,-0x14(%ebp)
6005ee:	89 45 f0             	mov    %eax,-0x10(%ebp)
6005f1:	89 45 f4             	mov    %eax,-0xc(%ebp)
6005f4:	89 45 f8             	mov    %eax,-0x8(%ebp)
6005f7:	88 45 fc             	mov    %al,-0x4(%ebp)
6005fa:	e8 76 65 ff ff       	call   0x5f6b75
6005ff:	50                   	push   %eax
600600:	8d 45 e8             	lea    -0x18(%ebp),%eax
600603:	50                   	push   %eax
600604:	ff 75 08             	push   0x8(%ebp)
600607:	e8 4c 65 ff ff       	call   0x5f6b58
60060c:	83 c4 0c             	add    $0xc,%esp
60060f:	85 c0                	test   %eax,%eax
600611:	74 05                	je     0x600618
600613:	83 ce ff             	or     $0xffffffff,%esi
600616:	eb 0f                	jmp    0x600627
600618:	ff 75 0c             	push   0xc(%ebp)
60061b:	ff 75 f0             	push   -0x10(%ebp)
60061e:	e8 62 6d ff ff       	call   0x5f7385
600623:	59                   	pop    %ecx
600624:	59                   	pop    %ecx
600625:	8b f0                	mov    %eax,%esi
600627:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
60062b:	74 09                	je     0x600636
60062d:	ff 75 f0             	push   -0x10(%ebp)
600630:	e8 f3 41 00 00       	call   0x604828
600635:	59                   	pop    %ecx
600636:	8b c6                	mov    %esi,%eax
600638:	5e                   	pop    %esi
600639:	c9                   	leave
60063a:	c3                   	ret
60063b:	cc                   	int3
60063c:	cc                   	int3
60063d:	cc                   	int3
60063e:	cc                   	int3
60063f:	cc                   	int3
600640:	8b ff                	mov    %edi,%edi
600642:	56                   	push   %esi
600643:	57                   	push   %edi
600644:	bf 10 0d 73 00       	mov    $0x730d10,%edi
600649:	33 f6                	xor    %esi,%esi
60064b:	6a 00                	push   $0x0
60064d:	68 a0 0f 00 00       	push   $0xfa0
600652:	57                   	push   %edi
600653:	e8 ed 70 00 00       	call   0x607745
600658:	85 c0                	test   %eax,%eax
60065a:	74 18                	je     0x600674
60065c:	ff 05 60 0e 73 00    	incl   0x730e60
600662:	83 c6 18             	add    $0x18,%esi
600665:	83 c7 18             	add    $0x18,%edi
600668:	81 fe 50 01 00 00    	cmp    $0x150,%esi
60066e:	72 db                	jb     0x60064b
600670:	b0 01                	mov    $0x1,%al
600672:	eb 0a                	jmp    0x60067e
600674:	6a 00                	push   $0x0
600676:	e8 25 00 00 00       	call   0x6006a0
60067b:	59                   	pop    %ecx
60067c:	32 c0                	xor    %al,%al
60067e:	5f                   	pop    %edi
60067f:	5e                   	pop    %esi
600680:	c3                   	ret
600681:	8b ff                	mov    %edi,%edi
600683:	55                   	push   %ebp
600684:	8b ec                	mov    %esp,%ebp
600686:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
60068a:	05 10 0d 73 00       	add    $0x730d10,%eax
60068f:	50                   	push   %eax
600690:	ff 15 d4 22 68 00    	call   *0x6822d4
600696:	5d                   	pop    %ebp
600697:	c3                   	ret
600698:	cc                   	int3
600699:	cc                   	int3
60069a:	cc                   	int3
60069b:	cc                   	int3
60069c:	cc                   	int3
60069d:	cc                   	int3
60069e:	cc                   	int3
60069f:	cc                   	int3
6006a0:	8b ff                	mov    %edi,%edi
6006a2:	56                   	push   %esi
6006a3:	8b 35 60 0e 73 00    	mov    0x730e60,%esi
6006a9:	85 f6                	test   %esi,%esi
6006ab:	74 20                	je     0x6006cd
6006ad:	6b c6 18             	imul   $0x18,%esi,%eax
6006b0:	57                   	push   %edi
6006b1:	8d b8 f8 0c 73 00    	lea    0x730cf8(%eax),%edi
6006b7:	57                   	push   %edi
6006b8:	ff 15 78 21 68 00    	call   *0x682178
6006be:	ff 0d 60 0e 73 00    	decl   0x730e60
6006c4:	83 ef 18             	sub    $0x18,%edi
6006c7:	83 ee 01             	sub    $0x1,%esi
6006ca:	75 eb                	jne    0x6006b7
6006cc:	5f                   	pop    %edi
6006cd:	b0 01                	mov    $0x1,%al
6006cf:	5e                   	pop    %esi
6006d0:	c3                   	ret
6006d1:	8b ff                	mov    %edi,%edi
6006d3:	55                   	push   %ebp
6006d4:	8b ec                	mov    %esp,%ebp
6006d6:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
6006da:	05 10 0d 73 00       	add    $0x730d10,%eax
6006df:	50                   	push   %eax
6006e0:	ff 15 d8 22 68 00    	call   *0x6822d8
6006e6:	5d                   	pop    %ebp
6006e7:	c3                   	ret
6006e8:	e8 1c 72 00 00       	call   0x607909
6006ed:	6a 04                	push   $0x4
6006ef:	e8 8d ff ff ff       	call   0x600681
6006f4:	59                   	pop    %ecx
6006f5:	c3                   	ret
6006f6:	6a 04                	push   $0x4
6006f8:	e8 d4 ff ff ff       	call   0x6006d1
6006fd:	59                   	pop    %ecx
6006fe:	c3                   	ret
6006ff:	6a 0c                	push   $0xc
600701:	68 50 1e 70 00       	push   $0x701e50
600706:	e8 05 1e fe ff       	call   0x5e2510
60070b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
60070f:	8b 45 08             	mov    0x8(%ebp),%eax
600712:	ff 30                	push   (%eax)
600714:	e8 68 ff ff ff       	call   0x600681
600719:	59                   	pop    %ecx
60071a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
60071e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
600721:	e8 34 00 00 00       	call   0x60075a
600726:	8b f0                	mov    %eax,%esi
600728:	89 75 e4             	mov    %esi,-0x1c(%ebp)
60072b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
600732:	e8 17 00 00 00       	call   0x60074e
600737:	8b c6                	mov    %esi,%eax
600739:	8b 4d f0             	mov    -0x10(%ebp),%ecx
60073c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
600743:	59                   	pop    %ecx
600744:	5f                   	pop    %edi
600745:	5e                   	pop    %esi
600746:	5b                   	pop    %ebx
600747:	c9                   	leave
600748:	c2 0c 00             	ret    $0xc
60074b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
60074e:	8b 45 10             	mov    0x10(%ebp),%eax
600751:	ff 30                	push   (%eax)
600753:	e8 79 ff ff ff       	call   0x6006d1
600758:	59                   	pop    %ecx
600759:	c3                   	ret
60075a:	8b ff                	mov    %edi,%edi
60075c:	55                   	push   %ebp
60075d:	8b ec                	mov    %esp,%ebp
60075f:	83 ec 10             	sub    $0x10,%esp
600762:	53                   	push   %ebx
600763:	56                   	push   %esi
600764:	8b f1                	mov    %ecx,%esi
600766:	57                   	push   %edi
600767:	8b 46 04             	mov    0x4(%esi),%eax
60076a:	ff 30                	push   (%eax)
60076c:	8b 06                	mov    (%esi),%eax
60076e:	ff 30                	push   (%eax)
600770:	e8 49 01 00 00       	call   0x6008be
600775:	8b f8                	mov    %eax,%edi
600777:	59                   	pop    %ecx
600778:	59                   	pop    %ecx
600779:	85 ff                	test   %edi,%edi
60077b:	74 43                	je     0x6007c0
60077d:	e8 b7 3c 00 00       	call   0x604439
600782:	89 45 f8             	mov    %eax,-0x8(%ebp)
600785:	33 db                	xor    %ebx,%ebx
600787:	8b 48 4c             	mov    0x4c(%eax),%ecx
60078a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
60078d:	8b 48 48             	mov    0x48(%eax),%ecx
600790:	8d 45 f0             	lea    -0x10(%ebp),%eax
600793:	50                   	push   %eax
600794:	53                   	push   %ebx
600795:	57                   	push   %edi
600796:	53                   	push   %ebx
600797:	8d 45 fc             	lea    -0x4(%ebp),%eax
60079a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
60079d:	53                   	push   %ebx
60079e:	50                   	push   %eax
60079f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
6007a2:	e8 78 6f ff ff       	call   0x5f771f
6007a7:	83 c4 18             	add    $0x18,%esp
6007aa:	85 c0                	test   %eax,%eax
6007ac:	74 19                	je     0x6007c7
6007ae:	83 f8 16             	cmp    $0x16,%eax
6007b1:	0f 84 fc 00 00 00    	je     0x6008b3
6007b7:	83 f8 22             	cmp    $0x22,%eax
6007ba:	0f 84 f3 00 00 00    	je     0x6008b3
6007c0:	33 c0                	xor    %eax,%eax
6007c2:	5f                   	pop    %edi
6007c3:	5e                   	pop    %esi
6007c4:	5b                   	pop    %ebx
6007c5:	c9                   	leave
6007c6:	c3                   	ret
6007c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6007ca:	83 c0 04             	add    $0x4,%eax
6007cd:	50                   	push   %eax
6007ce:	e8 22 56 00 00       	call   0x605df5
6007d3:	8b d8                	mov    %eax,%ebx
6007d5:	59                   	pop    %ecx
6007d6:	85 db                	test   %ebx,%ebx
6007d8:	74 e6                	je     0x6007c0
6007da:	8d 4d f0             	lea    -0x10(%ebp),%ecx
6007dd:	51                   	push   %ecx
6007de:	6a ff                	push   $0xffffffff
6007e0:	57                   	push   %edi
6007e1:	ff 75 fc             	push   -0x4(%ebp)
6007e4:	8d 43 04             	lea    0x4(%ebx),%eax
6007e7:	50                   	push   %eax
6007e8:	6a 00                	push   $0x0
6007ea:	e8 30 6f ff ff       	call   0x5f771f
6007ef:	83 c4 18             	add    $0x18,%esp
6007f2:	85 c0                	test   %eax,%eax
6007f4:	74 1b                	je     0x600811
6007f6:	83 f8 16             	cmp    $0x16,%eax
6007f9:	0f 84 b2 00 00 00    	je     0x6008b1
6007ff:	83 f8 22             	cmp    $0x22,%eax
600802:	0f 84 a9 00 00 00    	je     0x6008b1
600808:	53                   	push   %ebx
600809:	e8 1a 40 00 00       	call   0x604828
60080e:	59                   	pop    %ecx
60080f:	eb af                	jmp    0x6007c0
600811:	8b 06                	mov    (%esi),%eax
600813:	83 c9 ff             	or     $0xffffffff,%ecx
600816:	8b 7d f0             	mov    -0x10(%ebp),%edi
600819:	8b 00                	mov    (%eax),%eax
60081b:	03 c0                	add    %eax,%eax
60081d:	8b 54 c7 24          	mov    0x24(%edi,%eax,8),%edx
600821:	85 d2                	test   %edx,%edx
600823:	74 26                	je     0x60084b
600825:	8b c1                	mov    %ecx,%eax
600827:	f0 0f c1 02          	lock xadd %eax,(%edx)
60082b:	75 1e                	jne    0x60084b
60082d:	8b 06                	mov    (%esi),%eax
60082f:	8b 00                	mov    (%eax),%eax
600831:	03 c0                	add    %eax,%eax
600833:	ff 74 c7 24          	push   0x24(%edi,%eax,8)
600837:	e8 ec 3f 00 00       	call   0x604828
60083c:	8b 06                	mov    (%esi),%eax
60083e:	59                   	pop    %ecx
60083f:	8b 00                	mov    (%eax),%eax
600841:	03 c0                	add    %eax,%eax
600843:	83 64 c7 24 00       	andl   $0x0,0x24(%edi,%eax,8)
600848:	83 c9 ff             	or     $0xffffffff,%ecx
60084b:	8b 45 f8             	mov    -0x8(%ebp),%eax
60084e:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
600855:	75 39                	jne    0x600890
600857:	f6 05 38 8e 72 00 01 	testb  $0x1,0x728e38
60085e:	75 30                	jne    0x600890
600860:	8b 06                	mov    (%esi),%eax
600862:	8b 00                	mov    (%eax),%eax
600864:	03 c0                	add    %eax,%eax
600866:	8b 44 c7 24          	mov    0x24(%edi,%eax,8),%eax
60086a:	85 c0                	test   %eax,%eax
60086c:	74 22                	je     0x600890
60086e:	f0 0f c1 08          	lock xadd %ecx,(%eax)
600872:	49                   	dec    %ecx
600873:	75 1b                	jne    0x600890
600875:	8b 06                	mov    (%esi),%eax
600877:	8b 00                	mov    (%eax),%eax
600879:	03 c0                	add    %eax,%eax
60087b:	ff 74 c7 24          	push   0x24(%edi,%eax,8)
60087f:	e8 a4 3f 00 00       	call   0x604828
600884:	8b 06                	mov    (%esi),%eax
600886:	59                   	pop    %ecx
600887:	8b 00                	mov    (%eax),%eax
600889:	03 c0                	add    %eax,%eax
60088b:	83 64 c7 24 00       	andl   $0x0,0x24(%edi,%eax,8)