4764ff:	59                   	pop    %ecx
476500:	5e                   	pop    %esi
476501:	c3                   	ret
476502:	8b 11                	mov    (%ecx),%edx
476504:	56                   	push   %esi
476505:	be 00 20 00 00       	mov    $0x2000,%esi
47650a:	83 c2 0c             	add    $0xc,%edx
47650d:	8b 02                	mov    (%edx),%eax
47650f:	8b c8                	mov    %eax,%ecx
476511:	0b ce                	or     %esi,%ecx
476513:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
476517:	75 f6                	jne    0x47650f
476519:	c1 e8 0d             	shr    $0xd,%eax
47651c:	f7 d0                	not    %eax
47651e:	83 e0 01             	and    $0x1,%eax
476521:	5e                   	pop    %esi
476522:	c3                   	ret
476523:	8b ff                	mov    %edi,%edi
476525:	55                   	push   %ebp
476526:	8b ec                	mov    %esp,%ebp
476528:	83 ec 10             	sub    $0x10,%esp
47652b:	33 c0                	xor    %eax,%eax
47652d:	53                   	push   %ebx
47652e:	8b 5d 08             	mov    0x8(%ebp),%ebx
476531:	56                   	push   %esi
476532:	57                   	push   %edi
476533:	8d 7d f0             	lea    -0x10(%ebp),%edi
476536:	ab                   	stos   %eax,%es:(%edi)
476537:	8d 75 f0             	lea    -0x10(%ebp),%esi
47653a:	ab                   	stos   %eax,%es:(%edi)
47653b:	ab                   	stos   %eax,%es:(%edi)
47653c:	8b fb                	mov    %ebx,%edi
47653e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47653f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476540:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476541:	a1 10 bf 4b 00       	mov    0x4bbf10,%eax
476546:	8b 75 0c             	mov    0xc(%ebp),%esi
476549:	89 43 04             	mov    %eax,0x4(%ebx)
47654c:	eb 01                	jmp    0x47654f
47654e:	46                   	inc    %esi
47654f:	80 3e 20             	cmpb   $0x20,(%esi)
476552:	74 fa                	je     0x47654e
476554:	8a 06                	mov    (%esi),%al
476556:	33 c9                	xor    %ecx,%ecx
476558:	3c 61                	cmp    $0x61,%al
47655a:	74 1f                	je     0x47657b
47655c:	3c 72                	cmp    $0x72,%al
47655e:	74 10                	je     0x476570
476560:	3c 77                	cmp    $0x77,%al
476562:	0f 85 d4 01 00 00    	jne    0x47673c
476568:	c7 03 01 03 00 00    	movl   $0x301,(%ebx)
47656e:	eb 11                	jmp    0x476581
476570:	89 0b                	mov    %ecx,(%ebx)
476572:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
476579:	eb 0d                	jmp    0x476588
47657b:	c7 03 09 01 00 00    	movl   $0x109,(%ebx)
476581:	c7 43 04 02 00 00 00 	movl   $0x2,0x4(%ebx)
476588:	8a d1                	mov    %cl,%dl
47658a:	88 4d fd             	mov    %cl,-0x3(%ebp)
47658d:	8a e9                	mov    %cl,%ch
47658f:	88 4d fc             	mov    %cl,-0x4(%ebp)
476592:	46                   	inc    %esi
476593:	88 55 fe             	mov    %dl,-0x2(%ebp)
476596:	88 6d ff             	mov    %ch,-0x1(%ebp)
476599:	b1 01                	mov    $0x1,%cl
47659b:	8a 06                	mov    (%esi),%al
47659d:	84 c0                	test   %al,%al
47659f:	0f 84 e1 00 00 00    	je     0x476686
4765a5:	0f be c0             	movsbl %al,%eax
4765a8:	83 f8 53             	cmp    $0x53,%eax
4765ab:	7f 72                	jg     0x47661f
4765ad:	74 5d                	je     0x47660c
4765af:	83 e8 20             	sub    $0x20,%eax
4765b2:	0f 84 b8 00 00 00    	je     0x476670
4765b8:	83 e8 0b             	sub    $0xb,%eax
4765bb:	74 42                	je     0x4765ff
4765bd:	83 e8 01             	sub    $0x1,%eax
4765c0:	74 34                	je     0x4765f6
4765c2:	83 e8 18             	sub    $0x18,%eax
4765c5:	74 27                	je     0x4765ee
4765c7:	83 e8 0a             	sub    $0xa,%eax
4765ca:	74 15                	je     0x4765e1
4765cc:	83 e8 04             	sub    $0x4,%eax
4765cf:	0f 85 67 01 00 00    	jne    0x47673c
4765d5:	8a 6d ff             	mov    -0x1(%ebp),%ch
4765d8:	84 d2                	test   %dl,%dl
4765da:	75 1f                	jne    0x4765fb
4765dc:	83 0b 10             	orl    $0x10,(%ebx)
4765df:	eb 35                	jmp    0x476616
4765e1:	81 0b 80 00 00 00    	orl    $0x80,(%ebx)
4765e7:	b1 01                	mov    $0x1,%cl
4765e9:	e9 82 00 00 00       	jmp    0x476670
4765ee:	53                   	push   %ebx
4765ef:	e8 df 05 00 00       	call   0x476bd3
4765f4:	eb 74                	jmp    0x47666a
4765f6:	b5 01                	mov    $0x1,%ch
4765f8:	88 6d ff             	mov    %ch,-0x1(%ebp)
4765fb:	32 c9                	xor    %cl,%cl
4765fd:	eb 74                	jmp    0x476673
4765ff:	8d 45 fc             	lea    -0x4(%ebp),%eax
476602:	50                   	push   %eax
476603:	53                   	push   %ebx
476604:	e8 b6 06 00 00       	call   0x476cbf
476609:	59                   	pop    %ecx
47660a:	eb 5e                	jmp    0x47666a
47660c:	8a 6d ff             	mov    -0x1(%ebp),%ch
47660f:	84 d2                	test   %dl,%dl
476611:	75 e8                	jne    0x4765fb
476613:	83 0b 20             	orl    $0x20,(%ebx)
476616:	b2 01                	mov    $0x1,%dl
476618:	88 55 fe             	mov    %dl,-0x2(%ebp)
47661b:	8a ca                	mov    %dl,%cl
47661d:	eb 54                	jmp    0x476673
47661f:	83 e8 54             	sub    $0x54,%eax
476622:	74 40                	je     0x476664
476624:	83 e8 0e             	sub    $0xe,%eax
476627:	74 33                	je     0x47665c
476629:	83 e8 01             	sub    $0x1,%eax
47662c:	74 22                	je     0x476650
47662e:	83 e8 0b             	sub    $0xb,%eax
476631:	74 11                	je     0x476644
476633:	83 e8 06             	sub    $0x6,%eax
476636:	0f 85 00 01 00 00    	jne    0x47673c
47663c:	53                   	push   %ebx
47663d:	e8 b2 06 00 00       	call   0x476cf4
476642:	eb 26                	jmp    0x47666a
476644:	8d 45 fd             	lea    -0x3(%ebp),%eax
476647:	50                   	push   %eax
476648:	53                   	push   %ebx
476649:	e8 4f 06 00 00       	call   0x476c9d
47664e:	eb b9                	jmp    0x476609
476650:	8d 45 fd             	lea    -0x3(%ebp),%eax
476653:	50                   	push   %eax
476654:	53                   	push   %ebx
476655:	e8 21 06 00 00       	call   0x476c7b
47665a:	eb ad                	jmp    0x476609
47665c:	53                   	push   %ebx
47665d:	e8 f9 05 00 00       	call   0x476c5b
476662:	eb 06                	jmp    0x47666a
476664:	53                   	push   %ebx
476665:	e8 d2 05 00 00       	call   0x476c3c
47666a:	8a 55 fe             	mov    -0x2(%ebp),%dl
47666d:	59                   	pop    %ecx
47666e:	8a c8                	mov    %al,%cl
476670:	8a 6d ff             	mov    -0x1(%ebp),%ch
476673:	33 c0                	xor    %eax,%eax
476675:	84 c9                	test   %cl,%cl
476677:	0f 95 c0             	setne  %al
47667a:	03 f0                	add    %eax,%esi
47667c:	84 c9                	test   %cl,%cl
47667e:	0f 85 17 ff ff ff    	jne    0x47659b
476684:	eb 03                	jmp    0x476689
476686:	8a 6d ff             	mov    -0x1(%ebp),%ch
476689:	84 ed                	test   %ch,%ch
47668b:	74 01                	je     0x47668e
47668d:	46                   	inc    %esi
47668e:	80 3e 20             	cmpb   $0x20,(%esi)
476691:	74 fa                	je     0x47668d
476693:	84 ed                	test   %ch,%ch
476695:	75 12                	jne    0x4766a9
476697:	80 3e 00             	cmpb   $0x0,(%esi)
47669a:	0f 85 9c 00 00 00    	jne    0x47673c
4766a0:	c6 43 08 01          	movb   $0x1,0x8(%ebx)
4766a4:	e9 a3 00 00 00       	jmp    0x47674c
4766a9:	6a 03                	push   $0x3
4766ab:	68 b0 e9 49 00       	push   $0x49e9b0
4766b0:	56                   	push   %esi
4766b1:	e8 ea b1 ff ff       	call   0x4718a0
4766b6:	83 c4 0c             	add    $0xc,%esp
4766b9:	85 c0                	test   %eax,%eax
4766bb:	75 7f                	jne    0x47673c
4766bd:	6a 20                	push   $0x20
4766bf:	83 c6 03             	add    $0x3,%esi
4766c2:	58                   	pop    %eax
4766c3:	eb 01                	jmp    0x4766c6
4766c5:	46                   	inc    %esi
4766c6:	38 06                	cmp    %al,(%esi)
4766c8:	74 fb                	je     0x4766c5
4766ca:	80 3e 3d             	cmpb   $0x3d,(%esi)
4766cd:	75 6d                	jne    0x47673c
4766cf:	46                   	inc    %esi
4766d0:	38 06                	cmp    %al,(%esi)
4766d2:	74 fb                	je     0x4766cf
4766d4:	6a 05                	push   $0x5
4766d6:	68 b4 e9 49 00       	push   $0x49e9b4
4766db:	56                   	push   %esi
4766dc:	e8 26 cc 00 00       	call   0x483307
4766e1:	83 c4 0c             	add    $0xc,%esp
4766e4:	85 c0                	test   %eax,%eax
4766e6:	75 0b                	jne    0x4766f3
4766e8:	83 c6 05             	add    $0x5,%esi
4766eb:	81 0b 00 00 04 00    	orl    $0x40000,(%ebx)
4766f1:	eb 3f                	jmp    0x476732
4766f3:	6a 08                	push   $0x8
4766f5:	68 bc e9 49 00       	push   $0x49e9bc
4766fa:	56                   	push   %esi
4766fb:	e8 07 cc 00 00       	call   0x483307
476700:	83 c4 0c             	add    $0xc,%esp
476703:	85 c0                	test   %eax,%eax
476705:	75 0b                	jne    0x476712
476707:	83 c6 08             	add    $0x8,%esi
47670a:	81 0b 00 00 02 00    	orl    $0x20000,(%ebx)
476710:	eb 20                	jmp    0x476732
476712:	6a 07                	push   $0x7
476714:	68 c4 e9 49 00       	push   $0x49e9c4
476719:	56                   	push   %esi
47671a:	e8 e8 cb 00 00       	call   0x483307
47671f:	83 c4 0c             	add    $0xc,%esp
476722:	85 c0                	test   %eax,%eax
476724:	75 16                	jne    0x47673c
476726:	83 c6 07             	add    $0x7,%esi
476729:	81 0b 00 00 01 00    	orl    $0x10000,(%ebx)
47672f:	eb 01                	jmp    0x476732
476731:	46                   	inc    %esi
476732:	80 3e 20             	cmpb   $0x20,(%esi)
476735:	74 fa                	je     0x476731
476737:	e9 5b ff ff ff       	jmp    0x476697
47673c:	e8 ee 66 fd ff       	call   0x44ce2f
476741:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
476747:	e8 8a 65 fd ff       	call   0x44ccd6
47674c:	5f                   	pop    %edi
47674d:	5e                   	pop    %esi
47674e:	8b c3                	mov    %ebx,%eax
476750:	5b                   	pop    %ebx
476751:	8b e5                	mov    %ebp,%esp
476753:	5d                   	pop    %ebp
476754:	c3                   	ret
476755:	8b ff                	mov    %edi,%edi
476757:	55                   	push   %ebp
476758:	8b ec                	mov    %esp,%ebp
47675a:	83 ec 10             	sub    $0x10,%esp
47675d:	33 c0                	xor    %eax,%eax
47675f:	53                   	push   %ebx
476760:	8b 5d 08             	mov    0x8(%ebp),%ebx
476763:	56                   	push   %esi
476764:	57                   	push   %edi
476765:	8d 7d f0             	lea    -0x10(%ebp),%edi
476768:	ab                   	stos   %eax,%es:(%edi)
476769:	8d 75 f0             	lea    -0x10(%ebp),%esi
47676c:	6a 02                	push   $0x2
47676e:	59                   	pop    %ecx
47676f:	6a 20                	push   $0x20
476771:	ab                   	stos   %eax,%es:(%edi)
476772:	ab                   	stos   %eax,%es:(%edi)
476773:	8b fb                	mov    %ebx,%edi
476775:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476776:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476777:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476778:	a1 10 bf 4b 00       	mov    0x4bbf10,%eax
47677d:	8b 75 0c             	mov    0xc(%ebp),%esi
476780:	89 43 04             	mov    %eax,0x4(%ebx)
476783:	5f                   	pop    %edi
476784:	eb 02                	jmp    0x476788
476786:	03 f1                	add    %ecx,%esi
476788:	66 39 3e             	cmp    %di,(%esi)
47678b:	74 f9                	je     0x476786
47678d:	0f b7 06             	movzwl (%esi),%eax
476790:	33 d2                	xor    %edx,%edx
476792:	83 f8 61             	cmp    $0x61,%eax
476795:	74 21                	je     0x4767b8
476797:	83 f8 72             	cmp    $0x72,%eax
47679a:	74 11                	je     0x4767ad
47679c:	83 f8 77             	cmp    $0x77,%eax
47679f:	0f 85 db 01 00 00    	jne    0x476980
4767a5:	c7 03 01 03 00 00    	movl   $0x301,(%ebx)
4767ab:	eb 11                	jmp    0x4767be
4767ad:	89 13                	mov    %edx,(%ebx)
4767af:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
4767b6:	eb 09                	jmp    0x4767c1
4767b8:	c7 03 09 01 00 00    	movl   $0x109,(%ebx)
4767be:	89 4b 04             	mov    %ecx,0x4(%ebx)
4767c1:	03 f1                	add    %ecx,%esi
4767c3:	88 55 fd             	mov    %dl,-0x3(%ebp)
4767c6:	32 ed                	xor    %ch,%ch
4767c8:	88 55 fc             	mov    %dl,-0x4(%ebp)
4767cb:	88 55 fe             	mov    %dl,-0x2(%ebp)
4767ce:	b1 01                	mov    $0x1,%cl
4767d0:	88 6d ff             	mov    %ch,-0x1(%ebp)
4767d3:	0f b7 06             	movzwl (%esi),%eax
4767d6:	66 85 c0             	test   %ax,%ax
4767d9:	0f 84 dd 00 00 00    	je     0x4768bc
4767df:	83 f8 53             	cmp    $0x53,%eax
4767e2:	7f 70                	jg     0x476854
4767e4:	74 5c                	je     0x476842
4767e6:	2b c7                	sub    %edi,%eax
4767e8:	0f 84 b7 00 00 00    	je     0x4768a5
4767ee:	83 e8 0b             	sub    $0xb,%eax
4767f1:	74 42                	je     0x476835
4767f3:	83 e8 01             	sub    $0x1,%eax
4767f6:	74 34                	je     0x47682c
4767f8:	83 e8 18             	sub    $0x18,%eax
4767fb:	74 27                	je     0x476824
4767fd:	83 e8 0a             	sub    $0xa,%eax
476800:	74 15                	je     0x476817
476802:	83 e8 04             	sub    $0x4,%eax
476805:	0f 85 75 01 00 00    	jne    0x476980
47680b:	8a 6d ff             	mov    -0x1(%ebp),%ch
47680e:	84 d2                	test   %dl,%dl
476810:	75 1f                	jne    0x476831
476812:	83 0b 10             	orl    $0x10,(%ebx)
476815:	eb 34                	jmp    0x47684b
476817:	81 0b 80 00 00 00    	orl    $0x80,(%ebx)
47681d:	b1 01                	mov    $0x1,%cl
47681f:	e9 81 00 00 00       	jmp    0x4768a5
476824:	53                   	push   %ebx
476825:	e8 a9 03 00 00       	call   0x476bd3
47682a:	eb 73                	jmp    0x47689f
47682c:	b5 01                	mov    $0x1,%ch
47682e:	88 6d ff             	mov    %ch,-0x1(%ebp)
476831:	32 c9                	xor    %cl,%cl
476833:	eb 73                	jmp    0x4768a8
476835:	8d 45 fc             	lea    -0x4(%ebp),%eax
476838:	50                   	push   %eax
476839:	53                   	push   %ebx
47683a:	e8 80 04 00 00       	call   0x476cbf
47683f:	59                   	pop    %ecx
476840:	eb 5d                	jmp    0x47689f
476842:	8a 6d ff             	mov    -0x1(%ebp),%ch
476845:	84 d2                	test   %dl,%dl
476847:	75 e8                	jne    0x476831
476849:	09 3b                	or     %edi,(%ebx)
47684b:	b2 01                	mov    $0x1,%dl
47684d:	88 55 fe             	mov    %dl,-0x2(%ebp)
476850:	8a ca                	mov    %dl,%cl
476852:	eb 54                	jmp    0x4768a8
476854:	83 e8 54             	sub    $0x54,%eax
476857:	74 40                	je     0x476899
476859:	83 e8 0e             	sub    $0xe,%eax
47685c:	74 33                	je     0x476891
47685e:	83 e8 01             	sub    $0x1,%eax
476861:	74 22                	je     0x476885
476863:	83 e8 0b             	sub    $0xb,%eax
476866:	74 11                	je     0x476879
476868:	83 e8 06             	sub    $0x6,%eax
47686b:	0f 85 0f 01 00 00    	jne    0x476980
476871:	53                   	push   %ebx
476872:	e8 7d 04 00 00       	call   0x476cf4
476877:	eb 26                	jmp    0x47689f
476879:	8d 45 fd             	lea    -0x3(%ebp),%eax
47687c:	50                   	push   %eax
47687d:	53                   	push   %ebx
47687e:	e8 1a 04 00 00       	call   0x476c9d
476883:	eb ba                	jmp    0x47683f
476885:	8d 45 fd             	lea    -0x3(%ebp),%eax
476888:	50                   	push   %eax
476889:	53                   	push   %ebx
47688a:	e8 ec 03 00 00       	call   0x476c7b
47688f:	eb ae                	jmp    0x47683f
476891:	53                   	push   %ebx
476892:	e8 c4 03 00 00       	call   0x476c5b