42e71f:	55                   	push   %ebp
42e720:	8b ec                	mov    %esp,%ebp
42e722:	83 ec 28             	sub    $0x28,%esp
42e725:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42e728:	56                   	push   %esi
42e729:	6a 00                	push   $0x0
42e72b:	e8 33 20 ff ff       	call   0x420763
42e730:	8d 45 d8             	lea    -0x28(%ebp),%eax
42e733:	50                   	push   %eax
42e734:	ff 75 08             	push   0x8(%ebp)
42e737:	e8 11 00 00 00       	call   0x42e74d
42e73c:	59                   	pop    %ecx
42e73d:	59                   	pop    %ecx
42e73e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42e741:	8b f0                	mov    %eax,%esi
42e743:	e8 63 20 ff ff       	call   0x4207ab
42e748:	8b c6                	mov    %esi,%eax
42e74a:	5e                   	pop    %esi
42e74b:	c9                   	leave
42e74c:	c3                   	ret
42e74d:	8b ff                	mov    %edi,%edi
42e74f:	55                   	push   %ebp
42e750:	8b ec                	mov    %esp,%ebp
42e752:	56                   	push   %esi
42e753:	57                   	push   %edi
42e754:	8b 7d 08             	mov    0x8(%ebp),%edi
42e757:	57                   	push   %edi
42e758:	e8 cd 5e 00 00       	call   0x43462a
42e75d:	59                   	pop    %ecx
42e75e:	83 f8 ff             	cmp    $0xffffffff,%eax
42e761:	75 04                	jne    0x42e767
42e763:	33 f6                	xor    %esi,%esi
42e765:	eb 4e                	jmp    0x42e7b5
42e767:	a1 38 5d 45 00       	mov    0x455d38,%eax
42e76c:	83 ff 01             	cmp    $0x1,%edi
42e76f:	75 09                	jne    0x42e77a
42e771:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
42e778:	75 0b                	jne    0x42e785
42e77a:	83 ff 02             	cmp    $0x2,%edi
42e77d:	75 1c                	jne    0x42e79b
42e77f:	f6 40 60 01          	testb  $0x1,0x60(%eax)
42e783:	74 16                	je     0x42e79b
42e785:	6a 02                	push   $0x2
42e787:	e8 9e 5e 00 00       	call   0x43462a
42e78c:	6a 01                	push   $0x1
42e78e:	8b f0                	mov    %eax,%esi
42e790:	e8 95 5e 00 00       	call   0x43462a
42e795:	59                   	pop    %ecx
42e796:	59                   	pop    %ecx
42e797:	3b c6                	cmp    %esi,%eax
42e799:	74 c8                	je     0x42e763
42e79b:	57                   	push   %edi
42e79c:	e8 89 5e 00 00       	call   0x43462a
42e7a1:	59                   	pop    %ecx
42e7a2:	50                   	push   %eax
42e7a3:	ff 15 68 f0 43 00    	call   *0x43f068
42e7a9:	85 c0                	test   %eax,%eax
42e7ab:	75 b6                	jne    0x42e763
42e7ad:	ff 15 60 f0 43 00    	call   *0x43f060
42e7b3:	8b f0                	mov    %eax,%esi
42e7b5:	57                   	push   %edi
42e7b6:	e8 de 5d 00 00       	call   0x434599
42e7bb:	59                   	pop    %ecx
42e7bc:	8b cf                	mov    %edi,%ecx
42e7be:	83 e7 3f             	and    $0x3f,%edi
42e7c1:	c1 f9 06             	sar    $0x6,%ecx
42e7c4:	6b d7 38             	imul   $0x38,%edi,%edx
42e7c7:	8b 0c 8d 38 5d 45 00 	mov    0x455d38(,%ecx,4),%ecx
42e7ce:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
42e7d3:	85 f6                	test   %esi,%esi
42e7d5:	74 10                	je     0x42e7e7
42e7d7:	ff 75 0c             	push   0xc(%ebp)
42e7da:	56                   	push   %esi
42e7db:	e8 29 7e ff ff       	call   0x426609
42e7e0:	59                   	pop    %ecx
42e7e1:	59                   	pop    %ecx
42e7e2:	83 c8 ff             	or     $0xffffffff,%eax
42e7e5:	eb 02                	jmp    0x42e7e9
42e7e7:	33 c0                	xor    %eax,%eax
42e7e9:	5f                   	pop    %edi
42e7ea:	5e                   	pop    %esi
42e7eb:	5d                   	pop    %ebp
42e7ec:	c3                   	ret
42e7ed:	8b ff                	mov    %edi,%edi
42e7ef:	55                   	push   %ebp
42e7f0:	8b ec                	mov    %esp,%ebp
42e7f2:	56                   	push   %esi
42e7f3:	8b 75 08             	mov    0x8(%ebp),%esi
42e7f6:	57                   	push   %edi
42e7f7:	8d 7e 0c             	lea    0xc(%esi),%edi
42e7fa:	8b 07                	mov    (%edi),%eax
42e7fc:	90                   	nop
42e7fd:	c1 e8 0d             	shr    $0xd,%eax
42e800:	a8 01                	test   $0x1,%al
42e802:	74 25                	je     0x42e829
42e804:	8b 07                	mov    (%edi),%eax
42e806:	90                   	nop
42e807:	c1 e8 06             	shr    $0x6,%eax
42e80a:	a8 01                	test   $0x1,%al
42e80c:	74 1b                	je     0x42e829
42e80e:	ff 76 04             	push   0x4(%esi)
42e811:	e8 61 dc ff ff       	call   0x42c477
42e816:	59                   	pop    %ecx
42e817:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
42e81c:	f0 21 07             	lock and %eax,(%edi)
42e81f:	33 c0                	xor    %eax,%eax
42e821:	89 46 04             	mov    %eax,0x4(%esi)
42e824:	89 06                	mov    %eax,(%esi)
42e826:	89 46 08             	mov    %eax,0x8(%esi)
42e829:	5f                   	pop    %edi
42e82a:	5e                   	pop    %esi
42e82b:	5d                   	pop    %ebp
42e82c:	c3                   	ret
42e82d:	6a 08                	push   $0x8
42e82f:	68 f0 25 45 00       	push   $0x4525f0
42e834:	e8 97 e0 fe ff       	call   0x41c8d0
42e839:	8b 45 08             	mov    0x8(%ebp),%eax
42e83c:	ff 30                	push   (%eax)
42e83e:	e8 99 96 ff ff       	call   0x427edc
42e843:	59                   	pop    %ecx
42e844:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42e848:	8b 75 0c             	mov    0xc(%ebp),%esi
42e84b:	ff 76 04             	push   0x4(%esi)
42e84e:	8b 06                	mov    (%esi),%eax
42e850:	ff 30                	push   (%eax)
42e852:	e8 5b 01 00 00       	call   0x42e9b2
42e857:	59                   	pop    %ecx
42e858:	59                   	pop    %ecx
42e859:	84 c0                	test   %al,%al
42e85b:	74 32                	je     0x42e88f
42e85d:	8b 46 08             	mov    0x8(%esi),%eax
42e860:	80 38 00             	cmpb   $0x0,(%eax)
42e863:	75 0e                	jne    0x42e873
42e865:	8b 06                	mov    (%esi),%eax
42e867:	8b 00                	mov    (%eax),%eax
42e869:	8b 40 0c             	mov    0xc(%eax),%eax
42e86c:	90                   	nop
42e86d:	d1 e8                	shr    $1,%eax
42e86f:	a8 01                	test   $0x1,%al
42e871:	74 1c                	je     0x42e88f
42e873:	8b 06                	mov    (%esi),%eax
42e875:	ff 30                	push   (%eax)
42e877:	e8 f3 01 00 00       	call   0x42ea6f
42e87c:	59                   	pop    %ecx
42e87d:	83 f8 ff             	cmp    $0xffffffff,%eax
42e880:	74 07                	je     0x42e889
42e882:	8b 46 04             	mov    0x4(%esi),%eax
42e885:	ff 00                	incl   (%eax)
42e887:	eb 06                	jmp    0x42e88f
42e889:	8b 46 0c             	mov    0xc(%esi),%eax
42e88c:	83 08 ff             	orl    $0xffffffff,(%eax)
42e88f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42e896:	e8 12 00 00 00       	call   0x42e8ad
42e89b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42e89e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42e8a5:	59                   	pop    %ecx
42e8a6:	5f                   	pop    %edi
42e8a7:	5e                   	pop    %esi
42e8a8:	5b                   	pop    %ebx
42e8a9:	c9                   	leave
42e8aa:	c2 0c 00             	ret    $0xc
42e8ad:	8b 45 10             	mov    0x10(%ebp),%eax
42e8b0:	ff 30                	push   (%eax)
42e8b2:	e8 39 96 ff ff       	call   0x427ef0
42e8b7:	59                   	pop    %ecx
42e8b8:	c3                   	ret
42e8b9:	6a 2c                	push   $0x2c
42e8bb:	68 10 26 45 00       	push   $0x452610
42e8c0:	e8 0b e0 fe ff       	call   0x41c8d0
42e8c5:	8b 45 08             	mov    0x8(%ebp),%eax
42e8c8:	ff 30                	push   (%eax)
42e8ca:	e8 f2 9b ff ff       	call   0x4284c1
42e8cf:	59                   	pop    %ecx
42e8d0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42e8d4:	8b 35 64 59 45 00    	mov    0x455964,%esi
42e8da:	a1 60 59 45 00       	mov    0x455960,%eax
42e8df:	8d 1c 86             	lea    (%esi,%eax,4),%ebx
42e8e2:	8b 7d 0c             	mov    0xc(%ebp),%edi
42e8e5:	89 75 d4             	mov    %esi,-0x2c(%ebp)
42e8e8:	3b f3                	cmp    %ebx,%esi
42e8ea:	74 4f                	je     0x42e93b
42e8ec:	8b 06                	mov    (%esi),%eax
42e8ee:	89 45 e0             	mov    %eax,-0x20(%ebp)
42e8f1:	ff 37                	push   (%edi)
42e8f3:	50                   	push   %eax
42e8f4:	e8 b9 00 00 00       	call   0x42e9b2
42e8f9:	59                   	pop    %ecx
42e8fa:	59                   	pop    %ecx
42e8fb:	84 c0                	test   %al,%al
42e8fd:	74 37                	je     0x42e936
42e8ff:	8b 57 08             	mov    0x8(%edi),%edx
42e902:	8b 4f 04             	mov    0x4(%edi),%ecx
42e905:	8b 07                	mov    (%edi),%eax
42e907:	8d 7d e0             	lea    -0x20(%ebp),%edi
42e90a:	89 7d c4             	mov    %edi,-0x3c(%ebp)
42e90d:	89 45 c8             	mov    %eax,-0x38(%ebp)
42e910:	89 4d cc             	mov    %ecx,-0x34(%ebp)
42e913:	89 55 d0             	mov    %edx,-0x30(%ebp)
42e916:	8b 45 e0             	mov    -0x20(%ebp),%eax
42e919:	89 45 dc             	mov    %eax,-0x24(%ebp)
42e91c:	89 45 d8             	mov    %eax,-0x28(%ebp)
42e91f:	8d 45 dc             	lea    -0x24(%ebp),%eax
42e922:	50                   	push   %eax
42e923:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42e926:	50                   	push   %eax
42e927:	8d 45 d8             	lea    -0x28(%ebp),%eax
42e92a:	50                   	push   %eax
42e92b:	8d 4d e7             	lea    -0x19(%ebp),%ecx
42e92e:	e8 fa fe ff ff       	call   0x42e82d
42e933:	8b 7d 0c             	mov    0xc(%ebp),%edi
42e936:	83 c6 04             	add    $0x4,%esi
42e939:	eb aa                	jmp    0x42e8e5
42e93b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42e942:	e8 12 00 00 00       	call   0x42e959
42e947:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42e94a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42e951:	59                   	pop    %ecx
42e952:	5f                   	pop    %edi
42e953:	5e                   	pop    %esi
42e954:	5b                   	pop    %ebx
42e955:	c9                   	leave
42e956:	c2 0c 00             	ret    $0xc
42e959:	8b 45 10             	mov    0x10(%ebp),%eax
42e95c:	ff 30                	push   (%eax)
42e95e:	e8 ae 9b ff ff       	call   0x428511
42e963:	59                   	pop    %ecx
42e964:	c3                   	ret
42e965:	8b ff                	mov    %edi,%edi
42e967:	55                   	push   %ebp
42e968:	8b ec                	mov    %esp,%ebp
42e96a:	83 ec 20             	sub    $0x20,%esp
42e96d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42e971:	8d 45 f8             	lea    -0x8(%ebp),%eax
42e974:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
42e978:	8d 4d ff             	lea    -0x1(%ebp),%ecx
42e97b:	89 45 e0             	mov    %eax,-0x20(%ebp)
42e97e:	8d 45 08             	lea    0x8(%ebp),%eax
42e981:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42e984:	8d 45 f4             	lea    -0xc(%ebp),%eax
42e987:	6a 08                	push   $0x8
42e989:	89 45 e8             	mov    %eax,-0x18(%ebp)
42e98c:	58                   	pop    %eax
42e98d:	89 45 f0             	mov    %eax,-0x10(%ebp)
42e990:	89 45 ec             	mov    %eax,-0x14(%ebp)
42e993:	8d 45 f0             	lea    -0x10(%ebp),%eax
42e996:	50                   	push   %eax
42e997:	8d 45 e0             	lea    -0x20(%ebp),%eax
42e99a:	50                   	push   %eax
42e99b:	8d 45 ec             	lea    -0x14(%ebp),%eax
42e99e:	50                   	push   %eax
42e99f:	e8 15 ff ff ff       	call   0x42e8b9
42e9a4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
42e9a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
42e9ab:	75 03                	jne    0x42e9b0
42e9ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e9b0:	c9                   	leave
42e9b1:	c3                   	ret
42e9b2:	8b ff                	mov    %edi,%edi
42e9b4:	55                   	push   %ebp
42e9b5:	8b ec                	mov    %esp,%ebp
42e9b7:	8b 45 08             	mov    0x8(%ebp),%eax
42e9ba:	85 c0                	test   %eax,%eax
42e9bc:	74 1d                	je     0x42e9db
42e9be:	8b 48 0c             	mov    0xc(%eax),%ecx
42e9c1:	90                   	nop
42e9c2:	8b c1                	mov    %ecx,%eax
42e9c4:	c1 e8 0d             	shr    $0xd,%eax
42e9c7:	a8 01                	test   $0x1,%al
42e9c9:	74 10                	je     0x42e9db
42e9cb:	51                   	push   %ecx
42e9cc:	e8 12 00 00 00       	call   0x42e9e3
42e9d1:	59                   	pop    %ecx
42e9d2:	84 c0                	test   %al,%al
42e9d4:	75 09                	jne    0x42e9df
42e9d6:	8b 45 0c             	mov    0xc(%ebp),%eax
42e9d9:	ff 00                	incl   (%eax)
42e9db:	32 c0                	xor    %al,%al
42e9dd:	5d                   	pop    %ebp
42e9de:	c3                   	ret
42e9df:	b0 01                	mov    $0x1,%al
42e9e1:	5d                   	pop    %ebp
42e9e2:	c3                   	ret
42e9e3:	8b ff                	mov    %edi,%edi
42e9e5:	55                   	push   %ebp
42e9e6:	8b ec                	mov    %esp,%ebp
42e9e8:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e9eb:	8b c1                	mov    %ecx,%eax
42e9ed:	24 03                	and    $0x3,%al
42e9ef:	3c 02                	cmp    $0x2,%al
42e9f1:	75 09                	jne    0x42e9fc
42e9f3:	f6 c1 c0             	test   $0xc0,%cl
42e9f6:	74 04                	je     0x42e9fc
42e9f8:	fe c8                	dec    %al
42e9fa:	5d                   	pop    %ebp
42e9fb:	c3                   	ret
42e9fc:	c1 e9 0b             	shr    $0xb,%ecx
42e9ff:	80 e1 01             	and    $0x1,%cl
42ea02:	8a c1                	mov    %cl,%al
42ea04:	5d                   	pop    %ebp
42ea05:	c3                   	ret
42ea06:	8b ff                	mov    %edi,%edi
42ea08:	55                   	push   %ebp
42ea09:	8b ec                	mov    %esp,%ebp
42ea0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
42ea0e:	53                   	push   %ebx
42ea0f:	56                   	push   %esi
42ea10:	57                   	push   %edi
42ea11:	8d 71 0c             	lea    0xc(%ecx),%esi
42ea14:	8b 16                	mov    (%esi),%edx
42ea16:	90                   	nop
42ea17:	8b c2                	mov    %edx,%eax
42ea19:	24 03                	and    $0x3,%al
42ea1b:	3c 02                	cmp    $0x2,%al
42ea1d:	75 49                	jne    0x42ea68
42ea1f:	f6 c2 c0             	test   $0xc0,%dl
42ea22:	74 44                	je     0x42ea68
42ea24:	8b 39                	mov    (%ecx),%edi
42ea26:	8b 59 04             	mov    0x4(%ecx),%ebx
42ea29:	2b fb                	sub    %ebx,%edi
42ea2b:	89 19                	mov    %ebx,(%ecx)
42ea2d:	83 61 08 00          	andl   $0x0,0x8(%ecx)
42ea31:	85 ff                	test   %edi,%edi
42ea33:	7e 33                	jle    0x42ea68
42ea35:	51                   	push   %ecx
42ea36:	e8 76 e9 ff ff       	call   0x42d3b1
42ea3b:	ff 75 0c             	push   0xc(%ebp)
42ea3e:	57                   	push   %edi
42ea3f:	53                   	push   %ebx
42ea40:	50                   	push   %eax
42ea41:	e8 2c b3 00 00       	call   0x439d72
42ea46:	83 c4 14             	add    $0x14,%esp
42ea49:	3b f8                	cmp    %eax,%edi
42ea4b:	74 0b                	je     0x42ea58
42ea4d:	6a 10                	push   $0x10
42ea4f:	58                   	pop    %eax
42ea50:	f0 09 06             	lock or %eax,(%esi)
42ea53:	83 c8 ff             	or     $0xffffffff,%eax
42ea56:	eb 12                	jmp    0x42ea6a
42ea58:	8b 06                	mov    (%esi),%eax
42ea5a:	90                   	nop
42ea5b:	c1 e8 02             	shr    $0x2,%eax
42ea5e:	a8 01                	test   $0x1,%al
42ea60:	74 06                	je     0x42ea68
42ea62:	6a fd                	push   $0xfffffffd
42ea64:	58                   	pop    %eax
42ea65:	f0 21 06             	lock and %eax,(%esi)
42ea68:	33 c0                	xor    %eax,%eax
42ea6a:	5f                   	pop    %edi
42ea6b:	5e                   	pop    %esi
42ea6c:	5b                   	pop    %ebx