420751:	2b c1                	sub    %ecx,%eax
420753:	5e                   	pop    %esi
420754:	d1 f8                	sar    $1,%eax
420756:	5b                   	pop    %ebx
420757:	8b e5                	mov    %ebp,%esp
420759:	5d                   	pop    %ebp
42075a:	c3                   	ret
42075b:	8b ff                	mov    %edi,%edi
42075d:	55                   	push   %ebp
42075e:	8b ec                	mov    %esp,%ebp
420760:	8b 45 10             	mov    0x10(%ebp),%eax
420763:	85 c0                	test   %eax,%eax
420765:	75 02                	jne    0x420769
420767:	5d                   	pop    %ebp
420768:	c3                   	ret
420769:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42076c:	8b 55 08             	mov    0x8(%ebp),%edx
42076f:	56                   	push   %esi
420770:	83 e8 01             	sub    $0x1,%eax
420773:	74 15                	je     0x42078a
420775:	0f b7 32             	movzwl (%edx),%esi
420778:	66 85 f6             	test   %si,%si
42077b:	74 0d                	je     0x42078a
42077d:	66 3b 31             	cmp    (%ecx),%si
420780:	75 08                	jne    0x42078a
420782:	83 c2 02             	add    $0x2,%edx
420785:	83 c1 02             	add    $0x2,%ecx
420788:	eb e6                	jmp    0x420770
42078a:	0f b7 02             	movzwl (%edx),%eax
42078d:	0f b7 09             	movzwl (%ecx),%ecx
420790:	2b c1                	sub    %ecx,%eax
420792:	5e                   	pop    %esi
420793:	5d                   	pop    %ebp
420794:	c3                   	ret
420795:	8b ff                	mov    %edi,%edi
420797:	55                   	push   %ebp
420798:	8b ec                	mov    %esp,%ebp
42079a:	8b 45 08             	mov    0x8(%ebp),%eax
42079d:	33 c9                	xor    %ecx,%ecx
42079f:	53                   	push   %ebx
4207a0:	56                   	push   %esi
4207a1:	57                   	push   %edi
4207a2:	66 39 08             	cmp    %cx,(%eax)
4207a5:	74 2c                	je     0x4207d3
4207a7:	8b 75 0c             	mov    0xc(%ebp),%esi
4207aa:	0f b7 3e             	movzwl (%esi),%edi
4207ad:	8b ce                	mov    %esi,%ecx
4207af:	66 85 ff             	test   %di,%di
4207b2:	74 15                	je     0x4207c9
4207b4:	0f b7 18             	movzwl (%eax),%ebx
4207b7:	8b d7                	mov    %edi,%edx
4207b9:	66 3b d3             	cmp    %bx,%dx
4207bc:	74 17                	je     0x4207d5
4207be:	83 c1 02             	add    $0x2,%ecx
4207c1:	0f b7 11             	movzwl (%ecx),%edx
4207c4:	66 85 d2             	test   %dx,%dx
4207c7:	75 f0                	jne    0x4207b9
4207c9:	83 c0 02             	add    $0x2,%eax
4207cc:	33 c9                	xor    %ecx,%ecx
4207ce:	66 39 08             	cmp    %cx,(%eax)
4207d1:	75 da                	jne    0x4207ad
4207d3:	33 c0                	xor    %eax,%eax
4207d5:	5f                   	pop    %edi
4207d6:	5e                   	pop    %esi
4207d7:	5b                   	pop    %ebx
4207d8:	5d                   	pop    %ebp
4207d9:	c3                   	ret
4207da:	8b ff                	mov    %edi,%edi
4207dc:	55                   	push   %ebp
4207dd:	8b ec                	mov    %esp,%ebp
4207df:	8b 45 08             	mov    0x8(%ebp),%eax
4207e2:	f0 ff 40 0c          	lock incl 0xc(%eax)
4207e6:	8b 48 7c             	mov    0x7c(%eax),%ecx
4207e9:	85 c9                	test   %ecx,%ecx
4207eb:	74 03                	je     0x4207f0
4207ed:	f0 ff 01             	lock incl (%ecx)
4207f0:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
4207f6:	85 c9                	test   %ecx,%ecx
4207f8:	74 03                	je     0x4207fd
4207fa:	f0 ff 01             	lock incl (%ecx)
4207fd:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
420803:	85 c9                	test   %ecx,%ecx
420805:	74 03                	je     0x42080a
420807:	f0 ff 01             	lock incl (%ecx)
42080a:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
420810:	85 c9                	test   %ecx,%ecx
420812:	74 03                	je     0x420817
420814:	f0 ff 01             	lock incl (%ecx)
420817:	56                   	push   %esi
420818:	6a 06                	push   $0x6
42081a:	8d 48 28             	lea    0x28(%eax),%ecx
42081d:	5e                   	pop    %esi
42081e:	81 79 f8 a0 bc 43 00 	cmpl   $0x43bca0,-0x8(%ecx)
420825:	74 09                	je     0x420830
420827:	8b 11                	mov    (%ecx),%edx
420829:	85 d2                	test   %edx,%edx
42082b:	74 03                	je     0x420830
42082d:	f0 ff 02             	lock incl (%edx)
420830:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
420834:	74 0a                	je     0x420840
420836:	8b 51 fc             	mov    -0x4(%ecx),%edx
420839:	85 d2                	test   %edx,%edx
42083b:	74 03                	je     0x420840
42083d:	f0 ff 02             	lock incl (%edx)
420840:	83 c1 10             	add    $0x10,%ecx
420843:	83 ee 01             	sub    $0x1,%esi
420846:	75 d6                	jne    0x42081e
420848:	ff b0 9c 00 00 00    	push   0x9c(%eax)
42084e:	e8 4e 01 00 00       	call   0x4209a1
420853:	59                   	pop    %ecx
420854:	5e                   	pop    %esi
420855:	5d                   	pop    %ebp
420856:	c3                   	ret
420857:	8b ff                	mov    %edi,%edi
420859:	55                   	push   %ebp
42085a:	8b ec                	mov    %esp,%ebp
42085c:	51                   	push   %ecx
42085d:	53                   	push   %ebx
42085e:	56                   	push   %esi
42085f:	8b 75 08             	mov    0x8(%ebp),%esi
420862:	57                   	push   %edi
420863:	8b 86 88 00 00 00    	mov    0x88(%esi),%eax
420869:	85 c0                	test   %eax,%eax
42086b:	74 6c                	je     0x4208d9
42086d:	3d 48 bb 43 00       	cmp    $0x43bb48,%eax
420872:	74 65                	je     0x4208d9
420874:	8b 46 7c             	mov    0x7c(%esi),%eax
420877:	85 c0                	test   %eax,%eax
420879:	74 5e                	je     0x4208d9
42087b:	83 38 00             	cmpl   $0x0,(%eax)
42087e:	75 59                	jne    0x4208d9
420880:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
420886:	85 c0                	test   %eax,%eax
420888:	74 18                	je     0x4208a2
42088a:	83 38 00             	cmpl   $0x0,(%eax)
42088d:	75 13                	jne    0x4208a2
42088f:	50                   	push   %eax
420890:	e8 7b 44 ff ff       	call   0x414d10
420895:	ff b6 88 00 00 00    	push   0x88(%esi)
42089b:	e8 10 f3 ff ff       	call   0x41fbb0
4208a0:	59                   	pop    %ecx
4208a1:	59                   	pop    %ecx
4208a2:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
4208a8:	85 c0                	test   %eax,%eax
4208aa:	74 18                	je     0x4208c4
4208ac:	83 38 00             	cmpl   $0x0,(%eax)
4208af:	75 13                	jne    0x4208c4
4208b1:	50                   	push   %eax
4208b2:	e8 59 44 ff ff       	call   0x414d10
4208b7:	ff b6 88 00 00 00    	push   0x88(%esi)
4208bd:	e8 a8 f7 ff ff       	call   0x42006a
4208c2:	59                   	pop    %ecx
4208c3:	59                   	pop    %ecx
4208c4:	ff 76 7c             	push   0x7c(%esi)
4208c7:	e8 44 44 ff ff       	call   0x414d10
4208cc:	ff b6 88 00 00 00    	push   0x88(%esi)
4208d2:	e8 39 44 ff ff       	call   0x414d10
4208d7:	59                   	pop    %ecx
4208d8:	59                   	pop    %ecx
4208d9:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4208df:	85 c0                	test   %eax,%eax
4208e1:	74 45                	je     0x420928
4208e3:	83 38 00             	cmpl   $0x0,(%eax)
4208e6:	75 40                	jne    0x420928
4208e8:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
4208ee:	2d fe 00 00 00       	sub    $0xfe,%eax
4208f3:	50                   	push   %eax
4208f4:	e8 17 44 ff ff       	call   0x414d10
4208f9:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
4208ff:	bf 80 00 00 00       	mov    $0x80,%edi
420904:	2b c7                	sub    %edi,%eax
420906:	50                   	push   %eax
420907:	e8 04 44 ff ff       	call   0x414d10
42090c:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
420912:	2b c7                	sub    %edi,%eax
420914:	50                   	push   %eax
420915:	e8 f6 43 ff ff       	call   0x414d10
42091a:	ff b6 8c 00 00 00    	push   0x8c(%esi)
420920:	e8 eb 43 ff ff       	call   0x414d10
420925:	83 c4 10             	add    $0x10,%esp
420928:	ff b6 9c 00 00 00    	push   0x9c(%esi)
42092e:	e8 97 00 00 00       	call   0x4209ca
420933:	59                   	pop    %ecx
420934:	6a 06                	push   $0x6
420936:	58                   	pop    %eax
420937:	8d 9e a0 00 00 00    	lea    0xa0(%esi),%ebx
42093d:	89 45 fc             	mov    %eax,-0x4(%ebp)
420940:	8d 7e 28             	lea    0x28(%esi),%edi
420943:	81 7f f8 a0 bc 43 00 	cmpl   $0x43bca0,-0x8(%edi)
42094a:	74 1d                	je     0x420969
42094c:	8b 07                	mov    (%edi),%eax
42094e:	85 c0                	test   %eax,%eax
420950:	74 14                	je     0x420966
420952:	83 38 00             	cmpl   $0x0,(%eax)
420955:	75 0f                	jne    0x420966
420957:	50                   	push   %eax
420958:	e8 b3 43 ff ff       	call   0x414d10
42095d:	ff 33                	push   (%ebx)
42095f:	e8 ac 43 ff ff       	call   0x414d10
420964:	59                   	pop    %ecx
420965:	59                   	pop    %ecx
420966:	8b 45 fc             	mov    -0x4(%ebp),%eax
420969:	83 7f f4 00          	cmpl   $0x0,-0xc(%edi)
42096d:	74 16                	je     0x420985
42096f:	8b 47 fc             	mov    -0x4(%edi),%eax
420972:	85 c0                	test   %eax,%eax
420974:	74 0c                	je     0x420982
420976:	83 38 00             	cmpl   $0x0,(%eax)
420979:	75 07                	jne    0x420982
42097b:	50                   	push   %eax
42097c:	e8 8f 43 ff ff       	call   0x414d10
420981:	59                   	pop    %ecx
420982:	8b 45 fc             	mov    -0x4(%ebp),%eax
420985:	83 c3 04             	add    $0x4,%ebx
420988:	83 c7 10             	add    $0x10,%edi
42098b:	83 e8 01             	sub    $0x1,%eax
42098e:	89 45 fc             	mov    %eax,-0x4(%ebp)
420991:	75 b0                	jne    0x420943
420993:	56                   	push   %esi
420994:	e8 77 43 ff ff       	call   0x414d10
420999:	59                   	pop    %ecx
42099a:	5f                   	pop    %edi
42099b:	5e                   	pop    %esi
42099c:	5b                   	pop    %ebx
42099d:	8b e5                	mov    %ebp,%esp
42099f:	5d                   	pop    %ebp
4209a0:	c3                   	ret
4209a1:	8b ff                	mov    %edi,%edi
4209a3:	55                   	push   %ebp
4209a4:	8b ec                	mov    %esp,%ebp
4209a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4209a9:	85 c9                	test   %ecx,%ecx
4209ab:	74 16                	je     0x4209c3
4209ad:	81 f9 c8 d0 42 00    	cmp    $0x42d0c8,%ecx
4209b3:	74 0e                	je     0x4209c3
4209b5:	33 c0                	xor    %eax,%eax
4209b7:	40                   	inc    %eax
4209b8:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
4209bf:	00
4209c0:	40                   	inc    %eax
4209c1:	5d                   	pop    %ebp
4209c2:	c3                   	ret
4209c3:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4209c8:	5d                   	pop    %ebp
4209c9:	c3                   	ret
4209ca:	8b ff                	mov    %edi,%edi
4209cc:	55                   	push   %ebp
4209cd:	8b ec                	mov    %esp,%ebp
4209cf:	56                   	push   %esi
4209d0:	8b 75 08             	mov    0x8(%ebp),%esi
4209d3:	85 f6                	test   %esi,%esi
4209d5:	74 20                	je     0x4209f7
4209d7:	81 fe c8 d0 42 00    	cmp    $0x42d0c8,%esi
4209dd:	74 18                	je     0x4209f7
4209df:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
4209e5:	85 c0                	test   %eax,%eax
4209e7:	75 0e                	jne    0x4209f7
4209e9:	56                   	push   %esi
4209ea:	e8 b9 fb ff ff       	call   0x4205a8
4209ef:	56                   	push   %esi
4209f0:	e8 1b 43 ff ff       	call   0x414d10
4209f5:	59                   	pop    %ecx
4209f6:	59                   	pop    %ecx
4209f7:	5e                   	pop    %esi
4209f8:	5d                   	pop    %ebp
4209f9:	c3                   	ret
4209fa:	8b ff                	mov    %edi,%edi
4209fc:	55                   	push   %ebp
4209fd:	8b ec                	mov    %esp,%ebp
4209ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
420a02:	85 c9                	test   %ecx,%ecx
420a04:	74 16                	je     0x420a1c
420a06:	81 f9 c8 d0 42 00    	cmp    $0x42d0c8,%ecx
420a0c:	74 0e                	je     0x420a1c
420a0e:	83 c8 ff             	or     $0xffffffff,%eax
420a11:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
420a18:	00
420a19:	48                   	dec    %eax
420a1a:	5d                   	pop    %ebp
420a1b:	c3                   	ret
420a1c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
420a21:	5d                   	pop    %ebp
420a22:	c3                   	ret
420a23:	8b ff                	mov    %edi,%edi
420a25:	55                   	push   %ebp
420a26:	8b ec                	mov    %esp,%ebp
420a28:	8b 45 08             	mov    0x8(%ebp),%eax
420a2b:	85 c0                	test   %eax,%eax
420a2d:	74 73                	je     0x420aa2
420a2f:	f0 ff 48 0c          	lock decl 0xc(%eax)
420a33:	8b 48 7c             	mov    0x7c(%eax),%ecx
420a36:	85 c9                	test   %ecx,%ecx
420a38:	74 03                	je     0x420a3d
420a3a:	f0 ff 09             	lock decl (%ecx)
420a3d:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
420a43:	85 c9                	test   %ecx,%ecx
420a45:	74 03                	je     0x420a4a
420a47:	f0 ff 09             	lock decl (%ecx)
420a4a:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
420a50:	85 c9                	test   %ecx,%ecx
420a52:	74 03                	je     0x420a57
420a54:	f0 ff 09             	lock decl (%ecx)
420a57:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
420a5d:	85 c9                	test   %ecx,%ecx
420a5f:	74 03                	je     0x420a64
420a61:	f0 ff 09             	lock decl (%ecx)
420a64:	56                   	push   %esi
420a65:	6a 06                	push   $0x6
420a67:	8d 48 28             	lea    0x28(%eax),%ecx
420a6a:	5e                   	pop    %esi
420a6b:	81 79 f8 a0 bc 43 00 	cmpl   $0x43bca0,-0x8(%ecx)
420a72:	74 09                	je     0x420a7d
420a74:	8b 11                	mov    (%ecx),%edx
420a76:	85 d2                	test   %edx,%edx
420a78:	74 03                	je     0x420a7d
420a7a:	f0 ff 0a             	lock decl (%edx)
420a7d:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
420a81:	74 0a                	je     0x420a8d
420a83:	8b 51 fc             	mov    -0x4(%ecx),%edx
420a86:	85 d2                	test   %edx,%edx
420a88:	74 03                	je     0x420a8d
420a8a:	f0 ff 0a             	lock decl (%edx)
420a8d:	83 c1 10             	add    $0x10,%ecx
420a90:	83 ee 01             	sub    $0x1,%esi
420a93:	75 d6                	jne    0x420a6b
420a95:	ff b0 9c 00 00 00    	push   0x9c(%eax)
420a9b:	e8 5a ff ff ff       	call   0x4209fa
420aa0:	59                   	pop    %ecx
420aa1:	5e                   	pop    %esi
420aa2:	5d                   	pop    %ebp
420aa3:	c3                   	ret
420aa4:	6a 0c                	push   $0xc
420aa6:	68 f0 82 43 00       	push   $0x4382f0
420aab:	e8 70 6b fe ff       	call   0x407620
420ab0:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
420ab4:	e8 a3 80 ff ff       	call   0x418b5c
420ab9:	8b f8                	mov    %eax,%edi
420abb:	8b 0d b0 bc 43 00    	mov    0x43bcb0,%ecx
420ac1:	85 8f 50 03 00 00    	test   %ecx,0x350(%edi)
420ac7:	74 07                	je     0x420ad0
420ac9:	8b 77 4c             	mov    0x4c(%edi),%esi
420acc:	85 f6                	test   %esi,%esi
420ace:	75 43                	jne    0x420b13
420ad0:	6a 04                	push   $0x4
420ad2:	e8 e7 38 ff ff       	call   0x4143be
420ad7:	59                   	pop    %ecx
420ad8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420adc:	ff 35 d0 9f 83 02    	push   0x2839fd0
420ae2:	8d 47 4c             	lea    0x4c(%edi),%eax
420ae5:	50                   	push   %eax