41c774:	85 c9                	test   %ecx,%ecx
41c776:	74 16                	je     0x41c78e
41c778:	81 f9 80 7d 42 00    	cmp    $0x427d80,%ecx
41c77e:	74 0e                	je     0x41c78e
41c780:	83 c8 ff             	or     $0xffffffff,%eax
41c783:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
41c78a:	00
41c78b:	48                   	dec    %eax
41c78c:	5d                   	pop    %ebp
41c78d:	c3                   	ret
41c78e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41c793:	5d                   	pop    %ebp
41c794:	c3                   	ret
41c795:	8b ff                	mov    %edi,%edi
41c797:	55                   	push   %ebp
41c798:	8b ec                	mov    %esp,%ebp
41c79a:	8b 45 08             	mov    0x8(%ebp),%eax
41c79d:	85 c0                	test   %eax,%eax
41c79f:	74 73                	je     0x41c814
41c7a1:	f0 ff 48 0c          	lock decl 0xc(%eax)
41c7a5:	8b 48 7c             	mov    0x7c(%eax),%ecx
41c7a8:	85 c9                	test   %ecx,%ecx
41c7aa:	74 03                	je     0x41c7af
41c7ac:	f0 ff 09             	lock decl (%ecx)
41c7af:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
41c7b5:	85 c9                	test   %ecx,%ecx
41c7b7:	74 03                	je     0x41c7bc
41c7b9:	f0 ff 09             	lock decl (%ecx)
41c7bc:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
41c7c2:	85 c9                	test   %ecx,%ecx
41c7c4:	74 03                	je     0x41c7c9
41c7c6:	f0 ff 09             	lock decl (%ecx)
41c7c9:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
41c7cf:	85 c9                	test   %ecx,%ecx
41c7d1:	74 03                	je     0x41c7d6
41c7d3:	f0 ff 09             	lock decl (%ecx)
41c7d6:	56                   	push   %esi
41c7d7:	6a 06                	push   $0x6
41c7d9:	8d 48 28             	lea    0x28(%eax),%ecx
41c7dc:	5e                   	pop    %esi
41c7dd:	81 79 f8 90 32 43 00 	cmpl   $0x433290,-0x8(%ecx)
41c7e4:	74 09                	je     0x41c7ef
41c7e6:	8b 11                	mov    (%ecx),%edx
41c7e8:	85 d2                	test   %edx,%edx
41c7ea:	74 03                	je     0x41c7ef
41c7ec:	f0 ff 0a             	lock decl (%edx)
41c7ef:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
41c7f3:	74 0a                	je     0x41c7ff
41c7f5:	8b 51 fc             	mov    -0x4(%ecx),%edx
41c7f8:	85 d2                	test   %edx,%edx
41c7fa:	74 03                	je     0x41c7ff
41c7fc:	f0 ff 0a             	lock decl (%edx)
41c7ff:	83 c1 10             	add    $0x10,%ecx
41c802:	83 ee 01             	sub    $0x1,%esi
41c805:	75 d6                	jne    0x41c7dd
41c807:	ff b0 9c 00 00 00    	push   0x9c(%eax)
41c80d:	e8 5a ff ff ff       	call   0x41c76c
41c812:	59                   	pop    %ecx
41c813:	5e                   	pop    %esi
41c814:	5d                   	pop    %ebp
41c815:	c3                   	ret
41c816:	6a 0c                	push   $0xc
41c818:	68 00 1a 43 00       	push   $0x431a00
41c81d:	e8 9e b7 fe ff       	call   0x407fc0
41c822:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41c826:	e8 a8 79 ff ff       	call   0x4141d3
41c82b:	8d 78 4c             	lea    0x4c(%eax),%edi
41c82e:	8b 0d a0 33 43 00    	mov    0x4333a0,%ecx
41c834:	85 88 50 03 00 00    	test   %ecx,0x350(%eax)
41c83a:	74 06                	je     0x41c842
41c83c:	8b 37                	mov    (%edi),%esi
41c83e:	85 f6                	test   %esi,%esi
41c840:	75 3d                	jne    0x41c87f
41c842:	6a 04                	push   $0x4
41c844:	e8 da 08 ff ff       	call   0x40d123
41c849:	59                   	pop    %ecx
41c84a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c84e:	ff 35 d8 4c 43 00    	push   0x434cd8
41c854:	57                   	push   %edi
41c855:	e8 3d 00 00 00       	call   0x41c897
41c85a:	59                   	pop    %ecx
41c85b:	59                   	pop    %ecx
41c85c:	8b f0                	mov    %eax,%esi
41c85e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41c861:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41c868:	e8 09 00 00 00       	call   0x41c876
41c86d:	85 f6                	test   %esi,%esi
41c86f:	74 20                	je     0x41c891
41c871:	eb 0c                	jmp    0x41c87f
41c873:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41c876:	6a 04                	push   $0x4
41c878:	e8 ee 08 ff ff       	call   0x40d16b
41c87d:	59                   	pop    %ecx
41c87e:	c3                   	ret
41c87f:	8b c6                	mov    %esi,%eax
41c881:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c884:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c88b:	59                   	pop    %ecx
41c88c:	5f                   	pop    %edi
41c88d:	5e                   	pop    %esi
41c88e:	5b                   	pop    %ebx
41c88f:	c9                   	leave
41c890:	c3                   	ret
41c891:	e8 78 25 ff ff       	call   0x40ee0e
41c896:	cc                   	int3
41c897:	8b ff                	mov    %edi,%edi
41c899:	55                   	push   %ebp
41c89a:	8b ec                	mov    %esp,%ebp
41c89c:	56                   	push   %esi
41c89d:	8b 75 0c             	mov    0xc(%ebp),%esi
41c8a0:	57                   	push   %edi
41c8a1:	85 f6                	test   %esi,%esi
41c8a3:	74 3c                	je     0x41c8e1
41c8a5:	8b 45 08             	mov    0x8(%ebp),%eax
41c8a8:	85 c0                	test   %eax,%eax
41c8aa:	74 35                	je     0x41c8e1
41c8ac:	8b 38                	mov    (%eax),%edi
41c8ae:	3b fe                	cmp    %esi,%edi
41c8b0:	75 04                	jne    0x41c8b6
41c8b2:	8b c6                	mov    %esi,%eax
41c8b4:	eb 2d                	jmp    0x41c8e3
41c8b6:	56                   	push   %esi
41c8b7:	89 30                	mov    %esi,(%eax)
41c8b9:	e8 8f fc ff ff       	call   0x41c54d
41c8be:	59                   	pop    %ecx
41c8bf:	85 ff                	test   %edi,%edi
41c8c1:	74 ef                	je     0x41c8b2
41c8c3:	57                   	push   %edi
41c8c4:	e8 cc fe ff ff       	call   0x41c795
41c8c9:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41c8cd:	59                   	pop    %ecx
41c8ce:	75 e2                	jne    0x41c8b2
41c8d0:	81 ff d0 31 43 00    	cmp    $0x4331d0,%edi
41c8d6:	74 da                	je     0x41c8b2
41c8d8:	57                   	push   %edi
41c8d9:	e8 ec fc ff ff       	call   0x41c5ca
41c8de:	59                   	pop    %ecx
41c8df:	eb d1                	jmp    0x41c8b2
41c8e1:	33 c0                	xor    %eax,%eax
41c8e3:	5f                   	pop    %edi
41c8e4:	5e                   	pop    %esi
41c8e5:	5d                   	pop    %ebp
41c8e6:	c3                   	ret
41c8e7:	8b ff                	mov    %edi,%edi
41c8e9:	55                   	push   %ebp
41c8ea:	8b ec                	mov    %esp,%ebp
41c8ec:	81 ec b0 00 00 00    	sub    $0xb0,%esp
41c8f2:	a1 14 30 43 00       	mov    0x433014,%eax
41c8f7:	33 c5                	xor    %ebp,%eax
41c8f9:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c8fc:	56                   	push   %esi
41c8fd:	8b 75 08             	mov    0x8(%ebp),%esi
41c900:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
41c906:	6a 55                	push   $0x55
41c908:	50                   	push   %eax
41c909:	81 4e 08 04 01 00 00 	orl    $0x104,0x8(%esi)
41c910:	e8 41 6d ff ff       	call   0x413656
41c915:	83 f8 01             	cmp    $0x1,%eax
41c918:	7e 3c                	jle    0x41c956
41c91a:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41c920:	57                   	push   %edi
41c921:	8d 51 02             	lea    0x2(%ecx),%edx
41c924:	33 ff                	xor    %edi,%edi
41c926:	66 8b 01             	mov    (%ecx),%ax
41c929:	83 c1 02             	add    $0x2,%ecx
41c92c:	66 3b c7             	cmp    %di,%ax
41c92f:	75 f5                	jne    0x41c926
41c931:	2b ca                	sub    %edx,%ecx
41c933:	d1 f9                	sar    $1,%ecx
41c935:	8d 41 01             	lea    0x1(%ecx),%eax
41c938:	50                   	push   %eax
41c939:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
41c93f:	50                   	push   %eax
41c940:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
41c946:	6a 55                	push   $0x55
41c948:	50                   	push   %eax
41c949:	e8 80 dd ff ff       	call   0x41a6ce
41c94e:	83 c4 10             	add    $0x10,%esp
41c951:	85 c0                	test   %eax,%eax
41c953:	75 0e                	jne    0x41c963
41c955:	5f                   	pop    %edi
41c956:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c959:	33 cd                	xor    %ebp,%ecx
41c95b:	5e                   	pop    %esi
41c95c:	e8 ab aa fe ff       	call   0x40740c
41c961:	c9                   	leave
41c962:	c3                   	ret
41c963:	57                   	push   %edi
41c964:	57                   	push   %edi
41c965:	57                   	push   %edi
41c966:	57                   	push   %edi
41c967:	57                   	push   %edi
41c968:	e8 41 07 ff ff       	call   0x40d0ae
41c96d:	cc                   	int3
41c96e:	8b ff                	mov    %edi,%edi
41c970:	55                   	push   %ebp
41c971:	8b ec                	mov    %esp,%ebp
41c973:	51                   	push   %ecx
41c974:	53                   	push   %ebx
41c975:	56                   	push   %esi
41c976:	8b 75 08             	mov    0x8(%ebp),%esi
41c979:	33 db                	xor    %ebx,%ebx
41c97b:	57                   	push   %edi
41c97c:	6a 02                	push   $0x2
41c97e:	5f                   	pop    %edi
41c97f:	8b 0e                	mov    (%esi),%ecx
41c981:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41c984:	8d 51 02             	lea    0x2(%ecx),%edx
41c987:	66 8b 01             	mov    (%ecx),%ax
41c98a:	03 cf                	add    %edi,%ecx
41c98c:	66 3b c3             	cmp    %bx,%ax
41c98f:	75 f6                	jne    0x41c987
41c991:	2b ca                	sub    %edx,%ecx
41c993:	33 c0                	xor    %eax,%eax
41c995:	8b 56 04             	mov    0x4(%esi),%edx
41c998:	d1 f9                	sar    $1,%ecx
41c99a:	83 f9 03             	cmp    $0x3,%ecx
41c99d:	0f 94 c0             	sete   %al
41c9a0:	8d 5a 02             	lea    0x2(%edx),%ebx
41c9a3:	89 46 10             	mov    %eax,0x10(%esi)
41c9a6:	66 8b 02             	mov    (%edx),%ax
41c9a9:	03 d7                	add    %edi,%edx
41c9ab:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
41c9af:	75 f5                	jne    0x41c9a6
41c9b1:	2b d3                	sub    %ebx,%edx
41c9b3:	33 c0                	xor    %eax,%eax
41c9b5:	d1 fa                	sar    $1,%edx
41c9b7:	83 fa 03             	cmp    $0x3,%edx
41c9ba:	0f 94 c0             	sete   %al
41c9bd:	89 46 14             	mov    %eax,0x14(%esi)
41c9c0:	83 f9 03             	cmp    $0x3,%ecx
41c9c3:	74 0a                	je     0x41c9cf
41c9c5:	ff 36                	push   (%esi)
41c9c7:	e8 94 00 00 00       	call   0x41ca60
41c9cc:	59                   	pop    %ecx
41c9cd:	8b f8                	mov    %eax,%edi
41c9cf:	33 db                	xor    %ebx,%ebx
41c9d1:	89 7e 0c             	mov    %edi,0xc(%esi)
41c9d4:	53                   	push   %ebx
41c9d5:	53                   	push   %ebx
41c9d6:	6a 03                	push   $0x3
41c9d8:	68 94 ca 41 00       	push   $0x41ca94
41c9dd:	e8 e2 6a ff ff       	call   0x4134c4
41c9e2:	8b 4e 08             	mov    0x8(%esi),%ecx
41c9e5:	f6 c1 07             	test   $0x7,%cl
41c9e8:	0f 95 c2             	setne  %dl
41c9eb:	0f ba e1 09          	bt     $0x9,%ecx
41c9ef:	0f 92 c0             	setb   %al
41c9f2:	22 d0                	and    %al,%dl
41c9f4:	0f ba e1 08          	bt     $0x8,%ecx
41c9f8:	0f 92 c0             	setb   %al
41c9fb:	84 d0                	test   %dl,%al
41c9fd:	75 03                	jne    0x41ca02
41c9ff:	89 5e 08             	mov    %ebx,0x8(%esi)
41ca02:	5f                   	pop    %edi
41ca03:	5e                   	pop    %esi
41ca04:	5b                   	pop    %ebx
41ca05:	c9                   	leave
41ca06:	c3                   	ret
41ca07:	8b ff                	mov    %edi,%edi
41ca09:	55                   	push   %ebp
41ca0a:	8b ec                	mov    %esp,%ebp
41ca0c:	53                   	push   %ebx
41ca0d:	56                   	push   %esi
41ca0e:	8b 75 08             	mov    0x8(%ebp),%esi
41ca11:	33 db                	xor    %ebx,%ebx
41ca13:	57                   	push   %edi
41ca14:	6a 02                	push   $0x2
41ca16:	5a                   	pop    %edx
41ca17:	8b 0e                	mov    (%esi),%ecx
41ca19:	8d 79 02             	lea    0x2(%ecx),%edi
41ca1c:	66 8b 01             	mov    (%ecx),%ax
41ca1f:	03 ca                	add    %edx,%ecx
41ca21:	66 3b c3             	cmp    %bx,%ax
41ca24:	75 f6                	jne    0x41ca1c
41ca26:	2b cf                	sub    %edi,%ecx
41ca28:	33 c0                	xor    %eax,%eax
41ca2a:	d1 f9                	sar    $1,%ecx
41ca2c:	83 f9 03             	cmp    $0x3,%ecx
41ca2f:	0f 94 c0             	sete   %al
41ca32:	89 46 10             	mov    %eax,0x10(%esi)
41ca35:	74 0a                	je     0x41ca41
41ca37:	ff 36                	push   (%esi)
41ca39:	e8 22 00 00 00       	call   0x41ca60
41ca3e:	59                   	pop    %ecx
41ca3f:	8b d0                	mov    %eax,%edx
41ca41:	53                   	push   %ebx
41ca42:	53                   	push   %ebx
41ca43:	6a 03                	push   $0x3
41ca45:	68 74 cd 41 00       	push   $0x41cd74
41ca4a:	89 56 0c             	mov    %edx,0xc(%esi)
41ca4d:	e8 72 6a ff ff       	call   0x4134c4
41ca52:	f6 46 08 04          	testb  $0x4,0x8(%esi)
41ca56:	75 03                	jne    0x41ca5b
41ca58:	89 5e 08             	mov    %ebx,0x8(%esi)
41ca5b:	5f                   	pop    %edi
41ca5c:	5e                   	pop    %esi
41ca5d:	5b                   	pop    %ebx
41ca5e:	5d                   	pop    %ebp
41ca5f:	c3                   	ret
41ca60:	8b ff                	mov    %edi,%edi
41ca62:	55                   	push   %ebp
41ca63:	8b ec                	mov    %esp,%ebp
41ca65:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ca68:	33 d2                	xor    %edx,%edx
41ca6a:	85 c9                	test   %ecx,%ecx
41ca6c:	75 04                	jne    0x41ca72
41ca6e:	33 c0                	xor    %eax,%eax
41ca70:	5d                   	pop    %ebp
41ca71:	c3                   	ret
41ca72:	0f b7 01             	movzwl (%ecx),%eax
41ca75:	83 c1 02             	add    $0x2,%ecx
41ca78:	66 83 f8 41          	cmp    $0x41,%ax
41ca7c:	72 06                	jb     0x41ca84
41ca7e:	66 83 f8 5a          	cmp    $0x5a,%ax
41ca82:	76 09                	jbe    0x41ca8d
41ca84:	83 c0 9f             	add    $0xffffff9f,%eax
41ca87:	66 83 f8 19          	cmp    $0x19,%ax
41ca8b:	77 03                	ja     0x41ca90
41ca8d:	42                   	inc    %edx
41ca8e:	eb e2                	jmp    0x41ca72
41ca90:	8b c2                	mov    %edx,%eax
41ca92:	5d                   	pop    %ebp
41ca93:	c3                   	ret
41ca94:	8b ff                	mov    %edi,%edi
41ca96:	55                   	push   %ebp
41ca97:	8b ec                	mov    %esp,%ebp
41ca99:	81 ec 88 00 00 00    	sub    $0x88,%esp
41ca9f:	a1 14 30 43 00       	mov    0x433014,%eax
41caa4:	33 c5                	xor    %ebp,%eax
41caa6:	89 45 fc             	mov    %eax,-0x4(%ebp)
41caa9:	56                   	push   %esi
41caaa:	57                   	push   %edi
41caab:	8b 7d 08             	mov    0x8(%ebp),%edi
41caae:	e8 20 77 ff ff       	call   0x4141d3
41cab3:	8b f0                	mov    %eax,%esi
41cab5:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
41cabb:	6a 40                	push   $0x40
41cabd:	50                   	push   %eax
41cabe:	8b 4e 64             	mov    0x64(%esi),%ecx
41cac1:	f7 d9                	neg    %ecx
41cac3:	1b c9                	sbb    %ecx,%ecx
41cac5:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
41cacb:	81 c1 02 10 00 00    	add    $0x1002,%ecx
41cad1:	51                   	push   %ecx
41cad2:	57                   	push   %edi
41cad3:	e8 3f 6b ff ff       	call   0x413617
41cad8:	85 c0                	test   %eax,%eax
41cada:	75 09                	jne    0x41cae5
41cadc:	21 46 58             	and    %eax,0x58(%esi)