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)
600890:	8b 4f 0c             	mov    0xc(%edi),%ecx
600893:	8d 43 04             	lea    0x4(%ebx),%eax
600896:	89 0b                	mov    %ecx,(%ebx)
600898:	8b 0e                	mov    (%esi),%ecx
60089a:	8b 09                	mov    (%ecx),%ecx
60089c:	03 c9                	add    %ecx,%ecx
60089e:	89 5c cf 24          	mov    %ebx,0x24(%edi,%ecx,8)
6008a2:	8b 0e                	mov    (%esi),%ecx
6008a4:	8b 09                	mov    (%ecx),%ecx
6008a6:	03 c9                	add    %ecx,%ecx
6008a8:	89 44 cf 1c          	mov    %eax,0x1c(%edi,%ecx,8)
6008ac:	e9 11 ff ff ff       	jmp    0x6007c2
6008b1:	33 db                	xor    %ebx,%ebx
6008b3:	53                   	push   %ebx
6008b4:	53                   	push   %ebx
6008b5:	53                   	push   %ebx
6008b6:	53                   	push   %ebx
6008b7:	53                   	push   %ebx
6008b8:	e8 8f c6 fe ff       	call   0x5ecf4c
6008bd:	cc                   	int3
6008be:	8b ff                	mov    %edi,%edi
6008c0:	55                   	push   %ebp
6008c1:	8b ec                	mov    %esp,%ebp
6008c3:	51                   	push   %ecx
6008c4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
6008c8:	75 0e                	jne    0x6008d8
6008ca:	6a 00                	push   $0x0
6008cc:	ff 75 08             	push   0x8(%ebp)
6008cf:	e8 7b 2a 00 00       	call   0x60334f
6008d4:	59                   	pop    %ecx
6008d5:	59                   	pop    %ecx
6008d6:	c9                   	leave
6008d7:	c3                   	ret
6008d8:	56                   	push   %esi
6008d9:	57                   	push   %edi
6008da:	68 ff ff ff 7f       	push   $0x7fffffff
6008df:	ff 75 0c             	push   0xc(%ebp)
6008e2:	33 ff                	xor    %edi,%edi
6008e4:	8d 45 fc             	lea    -0x4(%ebp),%eax
6008e7:	57                   	push   %edi
6008e8:	57                   	push   %edi
6008e9:	50                   	push   %eax
6008ea:	e8 97 61 ff ff       	call   0x5f6a86
6008ef:	83 c4 14             	add    $0x14,%esp
6008f2:	85 c0                	test   %eax,%eax
6008f4:	74 0a                	je     0x600900
6008f6:	83 f8 16             	cmp    $0x16,%eax
6008f9:	74 53                	je     0x60094e
6008fb:	83 f8 22             	cmp    $0x22,%eax
6008fe:	74 4e                	je     0x60094e
600900:	6a 02                	push   $0x2
600902:	ff 75 fc             	push   -0x4(%ebp)
600905:	e8 d2 51 00 00       	call   0x605adc
60090a:	8b f0                	mov    %eax,%esi
60090c:	59                   	pop    %ecx
60090d:	59                   	pop    %ecx
60090e:	85 f6                	test   %esi,%esi
600910:	74 2f                	je     0x600941
600912:	6a ff                	push   $0xffffffff
600914:	ff 75 0c             	push   0xc(%ebp)
600917:	ff 75 fc             	push   -0x4(%ebp)
60091a:	56                   	push   %esi
60091b:	57                   	push   %edi
60091c:	e8 65 61 ff ff       	call   0x5f6a86
600921:	83 c4 14             	add    $0x14,%esp
600924:	85 c0                	test   %eax,%eax
600926:	74 0c                	je     0x600934
600928:	83 f8 16             	cmp    $0x16,%eax
60092b:	74 21                	je     0x60094e
60092d:	83 f8 22             	cmp    $0x22,%eax
600930:	74 1c                	je     0x60094e
600932:	eb 0d                	jmp    0x600941
600934:	56                   	push   %esi
600935:	ff 75 08             	push   0x8(%ebp)
600938:	e8 12 2a 00 00       	call   0x60334f
60093d:	59                   	pop    %ecx
60093e:	59                   	pop    %ecx
60093f:	8b f8                	mov    %eax,%edi
600941:	56                   	push   %esi
600942:	e8 e1 3e 00 00       	call   0x604828
600947:	59                   	pop    %ecx
600948:	8b c7                	mov    %edi,%eax
60094a:	5f                   	pop    %edi
60094b:	5e                   	pop    %esi
60094c:	c9                   	leave
60094d:	c3                   	ret
60094e:	57                   	push   %edi
60094f:	57                   	push   %edi
600950:	57                   	push   %edi
600951:	57                   	push   %edi
600952:	57                   	push   %edi
600953:	e8 f4 c5 fe ff       	call   0x5ecf4c
600958:	cc                   	int3
600959:	8b ff                	mov    %edi,%edi
60095b:	55                   	push   %ebp
60095c:	8b ec                	mov    %esp,%ebp
60095e:	83 ec 14             	sub    $0x14,%esp
600961:	e8 a3 6f 00 00       	call   0x607909
600966:	8d 45 08             	lea    0x8(%ebp),%eax
600969:	89 45 ec             	mov    %eax,-0x14(%ebp)
60096c:	8d 4d ff             	lea    -0x1(%ebp),%ecx
60096f:	6a 04                	push   $0x4
600971:	8d 45 0c             	lea    0xc(%ebp),%eax
600974:	89 45 f0             	mov    %eax,-0x10(%ebp)
600977:	58                   	pop    %eax
600978:	89 45 f8             	mov    %eax,-0x8(%ebp)
60097b:	89 45 f4             	mov    %eax,-0xc(%ebp)
60097e:	8d 45 f8             	lea    -0x8(%ebp),%eax
600981:	50                   	push   %eax
600982:	8d 45 ec             	lea    -0x14(%ebp),%eax
600985:	50                   	push   %eax
600986:	8d 45 f4             	lea    -0xc(%ebp),%eax
600989:	50                   	push   %eax
60098a:	e8 70 fd ff ff       	call   0x6006ff
60098f:	c9                   	leave
600990:	c3                   	ret
600991:	8b ff                	mov    %edi,%edi
600993:	55                   	push   %ebp
600994:	8b ec                	mov    %esp,%ebp
600996:	51                   	push   %ecx
600997:	e8 9d 3a 00 00       	call   0x604439
60099c:	8b 48 4c             	mov    0x4c(%eax),%ecx
60099f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
6009a2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
6009a5:	51                   	push   %ecx
6009a6:	50                   	push   %eax
6009a7:	e8 22 3e 00 00       	call   0x6047ce
6009ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
6009af:	59                   	pop    %ecx
6009b0:	59                   	pop    %ecx
6009b1:	8b 00                	mov    (%eax),%eax
6009b3:	c9                   	leave
6009b4:	c3                   	ret
6009b5:	8b ff                	mov    %edi,%edi
6009b7:	55                   	push   %ebp
6009b8:	8b ec                	mov    %esp,%ebp
6009ba:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
6009be:	53                   	push   %ebx
6009bf:	57                   	push   %edi
6009c0:	74 3f                	je     0x600a01
6009c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
6009c5:	33 ff                	xor    %edi,%edi
6009c7:	8d 51 02             	lea    0x2(%ecx),%edx
6009ca:	66 8b 01             	mov    (%ecx),%ax
6009cd:	83 c1 02             	add    $0x2,%ecx
6009d0:	66 3b c7             	cmp    %di,%ax
6009d3:	75 f5                	jne    0x6009ca
6009d5:	2b ca                	sub    %edx,%ecx
6009d7:	d1 f9                	sar    $1,%ecx
6009d9:	8d 59 01             	lea    0x1(%ecx),%ebx
6009dc:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
6009df:	50                   	push   %eax
6009e0:	e8 cb dd fe ff       	call   0x5ee7b0
6009e5:	8b f8                	mov    %eax,%edi
6009e7:	59                   	pop    %ecx
6009e8:	85 ff                	test   %edi,%edi
6009ea:	74 15                	je     0x600a01
6009ec:	ff 75 08             	push   0x8(%ebp)
6009ef:	53                   	push   %ebx
6009f0:	57                   	push   %edi
6009f1:	e8 1e 5d ff ff       	call   0x5f6714
6009f6:	83 c4 0c             	add    $0xc,%esp
6009f9:	85 c0                	test   %eax,%eax
6009fb:	75 0a                	jne    0x600a07
6009fd:	8b c7                	mov    %edi,%eax
6009ff:	eb 02                	jmp    0x600a03
600a01:	33 c0                	xor    %eax,%eax
600a03:	5f                   	pop    %edi
600a04:	5b                   	pop    %ebx
600a05:	5d                   	pop    %ebp
600a06:	c3                   	ret
600a07:	33 c0                	xor    %eax,%eax
600a09:	50                   	push   %eax
600a0a:	50                   	push   %eax
600a0b:	50                   	push   %eax